UMatcher在Win平台的搭建测试以及问题解决
《UMatcher项目环境搭建与运行实践》记录了作者作为新手首次搭建AI模板匹配模型UMatcher的经历。文章详细描述了从环境配置到成功运行的全过程:初始遇到缺少requirements.txt和系统兼容性问题;通过调整.condarc配置文件和分离pip安装包解决环境搭建问题;最终成功实现图像和视频识别功能,并修正了原指令中的图片名称不匹配问题。作者分享了在Windows平台下的解决方案,包括
github上UMatcher项目:aemior/UMatcher: UMatcher: A modern template matching model
AI工具:Qwen3
UMatcher是我搭建虚拟环境并运行的第一个模型,作为这一领域的新人,从虚拟环境和bash命令学起,唯一的经验就是搭建了opencv但是没有具体测试运行,所以初识这小众的项目还是遇到了不少困难.本文会分享我从初识项目到成功运行图像识别以及视频识别的经历.
一.初识项目与环境初搭建
在github上打开下好的源文件,发现没有requirements.txt,这与我此前接触的项目不同,当我直接按照github上原作者的指示进行安装,我就遇到了PackageNotFound问题
其实是UMatcher用于安装的源文件umatcher_env.yml里有linux系统的包,问了ai这时我理解了UMatcher是适用于边缘设备部署的模型,而里面还有cuda等需要GPU的包,所以虚拟机上也无法实现,ai还给出一种基于docker的解决办法,但是我并没有学习尝试,感兴趣或有相关知识的读者可以尝试并帮我解惑.
二.修改配置文件的尝试
了解到win上可能不需要一些包或者有平替,我让ai帮我把yml文件修改为适配win平台的yml文件,于是就有了第一版的umatcher_env_win.yml(包含pip安装指令,此时还没有requirements)(这里和下文提到的所有文件都提供在压缩包中),与此同时,我参照ai提供的方案修改了.condarc文件,增加了几个频道还有清华源.
此时运行conda env create -f umatcher_env_win.yml命令时,出现大量报错,首先.condarc里经我测试是不能出现任何中文的(包括被注释的中文),删掉所有的无关符号后又有http网站返回404的问题(ai提供的网站),这时我直接抛弃了ai给我修改的.condarc版本,我直接修改为最基础的版本配合我的加速器去使用(没有加速器的可以配置使用清华源)
channels:
- conda-forge
- defaults
三.pip安装问题
此时再次进行安装,莫名其妙出现FileNotFoundError: [WinError 2] 系统找不到指定的文件。 failed CondaEnvException: Pip failed,似乎我的pip安装出问题了,我先检查了
ALLUSERSPROFILE
环境变量的情况
path环境变量情况
C:\ProgramData是否
被隐藏或权限不足
考虑到我系统本身pip可能出现问题,我还额外创建了一个非常纯净的环境测试到pip命令可以运行,说明我系统里pip是正常的
把原来配置文件yml中pip安装内容提出到requirements.txt里(目前为修改过的umatcher_env_win.yml与requirements.txt).准备后续手动运行pip指令安装txt里的库,但经过测试任然报同样错误,似乎conda还会自动读取安装yml中存在的pip包(即使yml中没有pip安装指令)
于是就有了排除删除了 pytorch
, torchvision
, opencv-python
等 pip
包的终极配置文件方案版本:umatcher_base.yml+手动pip安装requirements以及缺失的pip包.而我正是在这一步没有任何报错地成功创建了umatcher环境,接着手动pip安装requirements,此时如果检测我刚刚删掉的pytorch等pip包显示false或cpu版本非常正常,接下来只需要去官网拿到需要版本正确的包手动pip指令安装即可:
torch-2.1.0-cp311-cp311-win_amd64.whl(Links for torch)
torchvision-0.16.0-cp311-cp311-win_amd64.whl(Links for torchvision)
torchaudio-2.1.0-cp311-cp311-win_amd64.whl(Links for torchaudio)
(如提示你任然缺少某个包可以去网上寻找下载)
四.成功搭建并测试运行
(安装完可以用PyCharm进入环境看看是否有报错或者缺少库)
安装完后经测试,图片与视频的识别均正常,只有一点瑕疵
github上作者给出的桌面版图片识别指令:python scripts/detection_example.py --live_mode --template_img data/target_3.png --search_img data/target_3.png
其中文件名与我下载到的图片名(test_3.png)不符,所以我修改了此指令来适配运行
python scripts/detection_example.py --live_mode --template_img data/target_3.png --search_img data/test_3.png
等待一会会出现窗口让你框选出需要识别的物体,结果良好
项目内置了女孩跳舞视频来检测人脸可直接运行python scripts/tracking_example.py
具体可否替换识别对象以及原理我正在研究代码中
作为第一次实施项目的新人,文中说的不足之处请批评指正,也欢迎私信讨论
更多推荐
所有评论(0)