- 安装conda
https://docs.anaconda.com/free/miniconda/ - conda环境安装
conda env create -f environment.yml & conda activate matcher
- 在根目录的 static 文件夹创建文件夹foo,并将图片放入 foo 文件夹中
mkdir -p static/foo
- 体验
- 提取图片特征
python fast_build.py
--debug 开启debug --force 强制覆盖数据集
- 对图片集匹配并寻找最匹配的图
python fast_match.py
--debug 开启debug
--show 显示匹配图
注意: 存储之后的数据集的特征检测模式必须和匹配时候设置的相同!
- 检测耗时情况
python -m line_profiler fast_build.lprof
python -m line_profiler fast_match.lprof
- 安装pip包
pip install --no-cache-dir -r requirements.txt
- 运行fast_build.py 或 fast_match.py 快速体验
- 运行本地服务
python -m server.app
- 安装docker
桌面版:https://www.docker.com/products/docker-desktop
服务器版:https://docs.docker.com/engine/install/#server
- 打镜像
docker build -t matcher_flask:v1 .
- 运行容器
docker run --rm -d -p 5000:5000 matcher_flask:v1
- | 时间(ms) | 存储(M) | 图片 | 测试次数 |
---|---|---|---|---|
SIFT | 1680 ~ 1770 | 12 | 4 | 10 |
ORB | 172 ~ 179 | 8.5 | 4 | 10 |
- | 时间(ms) | 图片 | 测试次数 | 精确度 |
---|---|---|---|---|
BF | 87 ~ 89 | 4 | 10 | 较FLANN好 |
FLANN | 135 ~ 147 | 4 | 10 | - |
以上是在SIFT特征的KNN匹配情况, FLANN在其他情况未知错误待处理!
conda env export --no-builds > environment.yml
pip freeze > requirements.txt
- 图片的特征提取并持久化存储与获取
- 增加server包
- docker容器化
- 本地服务部署, 图片集放OSS存储
- 功能 toB
- upload上传的图片使用buffer, imread读取buffer直接提取