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.ymlrequirements.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

具体可否替换识别对象以及原理我正在研究代码中

作为第一次实施项目的新人,文中说的不足之处请批评指正,也欢迎私信讨论

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐