yolov5初步实践

                                                目标检测(yolov5)

对于目标检测这一方面,我曾经学习了解过人体姿态估计的代码,对于人体运动目标的检测可以描述为:研究人员通过一定的技术手段,在一段由摄像头获取的视频图像序列中获取感兴趣的运动目标,然 后利用相关的算法,使得机器在后续的图像序列中能够找到这些目标,并能得到 该目标在这段视频图像序列中的位置变化等相关信息。最终的结果是这样的

人体姿态估计的理念有部分能够借鉴到目标检测上,比如目标位置的确定以及矩形框的选用。

       那么,关于目标检测,该如何去实现呢?由于自身能力有限,我选择到网上寻找答案,发现目前目标检测里最热门的是yolov5。yolov5是一种单阶段目标检测算法,该算法在YOLOv4的基础上添加了一些新的改进思路,使得其速度与精度都得到了极大的性能提升,具体包括:输入端的Mosaic数据增强、自适应锚框计算、自适应图片缩放操作;基准端的Focus结构与CSP结构;Neck端的SPP与FPN+PAN结构;输出端的损失函数GIOU_Loss以及预测框筛选的DIOU_nms。 除此之外,YOLOv5中的各种改进思路仍然可以应用到其它的目标检测算法中。

       关于yolov5的操作,我进行了以下几步:一、在https://github.com/ultralytics/yolov5中下载代码。二、阅读README,README里告诉了我如何做Inference。三、完善未安装的包,在命令行加入摄像头

四、运行在pycharm里detect.py ,会有以下识别视频:

这样,目标检测的初步运行就完成了。

       接下来,便是我们自己尝试数据的训练,coco128是一个是我选择用于练手的小型数据集,下载coco128,然后更改路径path: D:\data\detection\coco128,下一步我们要做的是数据的标注,我尝试了两种工具:labelimg和Labelme。Labelimg是矩形框标注工具,labelme是以点的形式标注数据的工具,另外这个工具标注完形成的文件是json后缀,我们需要通过代码编写把它转化为txt后缀供yolov5识别。代码我借鉴了csdn某up主的思路。

运行train.py即可开始训练。

这个训练建议在GPU环境下进行训练。这样速度快。

另外有一些本人关于数据标注的小发现,对于矩形框标注工具,涵括物体全部轮廓的数据在识别时精度更高;对于点标注工具,点越多,越贴合物体轮廓,识别精度更高。  

Json文件转换:(25条消息) json格式数据集转yolo txt格式_wlh156423的博客-CSDN博客_json转yolo格式                        

Yolov5源码:https://github.com/ultralytics/yolov5

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值