我将该类型的网络命名为“确定性神经网络”,它只为实现识别单一目标,拒绝识别其他目标。
训练后的模型很小,我这个项目的训练后的模型大小只有500kb不到,甚至我感觉可以让它只有200kb。
训练快速,训练的轮回数较少,训练的数据量较少。
本质是用神经网络来构造出目标对象,且只有一个目标对象
晶蝶模型只能捕捉静态的晶蝶
单目标识别训练模型的模型必须要有合适的大小,而且训练的次数也要有合适的次数。
基础思想:将是晶蝶的图片计算结果趋近于1,不是的趋近于0,模型最后输出一个值。
该项目使用开源计算机可视化库(opencv)来截取图片数据。使用其帧差法来追踪动态目标,将追踪的结果输入至网络进而追踪晶蝶。
使用的工具在临时文件中。
使用的开源计算机可视化库(opencv)版本为 opencv-python 4.5.1.48,opencv-contrib-python 4.5.1.48。最新版可能会出现部分相关代码无法正常使用,有能力可自行修正。
解压视频/test7.zip文件,这是用于测试的视频文件。
运行使用.py文件,如果在运行过程中想要退出,请按ESC键。
该项目使用到了 PIL、OpenCV、pyTorch,使用前请确保有安装相应类库
我会留一段视频在视频文件夹下,可以直接查看结果。
使用者也可以自行录制视频,但由于个人数据采取较为单一,所以我训练的只能在七天神像——风,蒙德 苍风高地附近效果好些。还有显示的晶蝶不要太小,否则可能识别不到。
以下为需要创建的文件夹
图片/测试/晶蝶
图片/测试/非晶蝶
图片/训练/晶蝶
图片/训练/非晶蝶
临时文件/图片截取.py: 使用开源计算机可视化库(opencv)的多目标追踪,来快速截取大量的晶蝶图片,使用时请记得修改图片保存路径,在第27行
临时文件/背景截取.py: 非常简单的截取视频的第一帧,然后切割,需要手动的把切割的图片放入非晶蝶文件夹中,而且不要忘记删除有晶蝶的图片。
临时文件/帧差法.py: 写代码时为了测试对运动物体的追踪而使用的文件,这意味的我的项目可能无法在角色运动时使用,因为会捕捉不到晶蝶。
训练.py: 训练模型的入口。
晶蝶模型类.py: 实现模型的代码,模型的网络结构。
项目效果一般般。
反过来说可以改进的空间很大(狗)
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。