一、运行环境
硬件:GPU :RTX4060、CPU: inteli9-13900HX
软件:Pycharm+Pytorch
python版本 3.10.13
conda版本:23.11.0
cuda版本:12.3
pytorch版本:2.0.1+cu118
基本库安装:
(1)numpy 1.26.2
(2)opencv-python 4.8.1.78
(3)pipinstall pybase64
(4)pipinstall glob2
(5)pipinstall shutilwhich
(6)pipinstall tqdm
(7)pipinstall pillow
(如果报错以下问题:ImportError:DLLloadfailed while importing _imaging: 找不到指
定的模块,解决方法:先卸载pillow库:pip uninstall pillow,再下载 pillow库:pip install pillow)
(8)pipinstall pyyaml
(9)cd到ultralytics-main 文件夹下 执行 pipinstallultralytics
二、耗时
训练耗时及占用内存:
CPU:一次46分10秒,占用内存3G((对于训练1700张
图片)
GPU:一次2分15秒,占用内存0.8G (对于训练1700张
图片)
模型推理耗时:
CPU:图片预处理耗时 2.5ms 推理耗平均时300.6ms 后处理
耗时 30.2ms
GPU:图片预处理耗时 1.8ms 推理耗时19ms 后处理耗时
5.5ms
三、开发思路
本方法主要集中在数据集的处理
1.模型选择
前期我们将侧重点放在模型的选择上,希望找到一个轻量化,速度快,更加精准的模型。由于yolov8-seg轻量化,且速度较快,所以我们最终选择了此模型,通过我们自己的方法来提高模型精度。
2.数据处理
对于训练集的处理,我们开始是将原来训练集的25张图
片进行处理,通过代码进行旋转60度,90度,120度,180
度。之后在进行原图背景的更换,在网络上面找取背景图片通过代码将原图的物体放在新的背景里面,同时对背景进行旋转60度,90度,120度,180度。同时还有原图亮度的调节。于是生成了1700张训练的图片数据集,对原来的数据集进行了扩增。再进行训练。
3.代码运行
这时使用的是我们已经训练好的权重,可以直接用来推理。
这是从头开始训练,上面是将hik给我们的标志转为json格式下面是将json格式的文件转为txt格式的代码。(最下面的predict是用来直接预测的)
数据集存放位置
在此文件添加标注名称后,通过上述文件改变标注格式,进行训练。
训练完成后使用predict进行预测。
四、总结
我们的解题方法,主要是在数据集处理这个方向努力,通过扩增数据集来提升精度。根据结果来说是有效的,但是相应的扩增数据集带来的问题就是运行时间增长。我们之后也会通过其他的思路来尝试解题,找出更快更精准的解。
五、鸣谢
感谢我们的每一位成员,感谢海康威视的工作人员,感谢给我们支持和鼓励的家人们,老师们,同学们。