ism模型python算法_高大上的YOLOV3对象检测算法,使用python也可轻松实现

继续我们的目标检测算法的分享,前期我们介绍了SSD目标检测算法的python实现以及Faster-RCNN目标检测算法的python实现以及yolo目标检测算法的darknet的window环境安装,本期我们简单介绍一下如何使用python来进行YOLOV3的对象检测算法

52cbcf83e0734309a9ef319bd88f6801

YOLOV3对象检测

YOLOV3的基础知识大家可以参考往期文章,本期重点介绍如何使用python来实现

图片识别

1、初始化模型

14-16 行:

模型的初始化依然使用cv下的DNN模型来加载模型,需要注意的是CV的版本需要大于3.4.2

5-8行:

初始化模型在coco上的label以便后期图片识别使用

10-12行:

初始化图片显示方框的颜色

a7fd3ca74bb2409e8ee53378563c62f4

初始化模型

2、加载图片,进行图片识别

输入识别的图片进行图片识别,这部分代码跟往期的SSD 以及RCNN目标检测算法类似

19-20行:输入图片,获取图片的长度与宽度

25-29行:计算图片的blob值,输入神经网络,进行前向反馈预测图片

只不过net.forward里面是ln, 神经网络的所有out层

ab6563d91f8b47b090ebc24e9d26b18e

图片识别

3、遍历所有的out层,获取检测图片的label与置信度

遍历out层,获取检测到的label值以及置信度,检测到这里YOLOV3以及把所有的检测计算完成,但是由于yolov3对重叠图片或者靠的比较近的图片检测存在一定的问题,使用YOLOV3使用非最大值抑制来抑制弱的重叠边界

727a560e32734ef7a48c7f6d211b2567

遍历图片

竟然把墨镜识别了手机,体现了YOLOV3在重叠图片识别的缺点

5debecd25af64ba2a1a477dbaa2cea25

4、应用非最大值抑制来抑制弱的重叠边界,显示图片

56: 使用非最大值抑制来抑制弱的重叠边界

58-59行:遍历所有图片

61-62行:提取检测图片的BOX

64-68行:显示图片信息

70-71行:显示图片

5a4e802cee7c49c6bd30ee268d97654a

显示图片

利用python来实现YOLOV3,与SSD 以及RCNN代码有很多类似的地方,大家可以参考往期的文章进行对比学习,把代码执行一遍

8b96acf905164b8e89ef881785aba112

图片识别

视频识别

进行视频识别的思路:从视频中提取图片,进行图片识别,识别完成后,再把识别的结果实时体现在视频中,这部分代码结合前期的视频识别,大家可以参考多进程视频实时识别篇,因为没有多进程,检测速度很慢,视频看着比较卡

1、初始化模型以及视频流

4226155041a247cba7f0cfcc94a7ed60

初始化

2、从视频中提取图片,进行图片的blob值计算,进行神经网络的预测

17c832d23b6d42f5a6f9d8853a248544

提取图片进行识别

3、提取检测到图片的置信度以及ID值

a84dbd68465a4f77bd6deff99a150690

提取图片信息

4、应用非最大值抑制来抑制弱的重叠边界,显示图片

cc55e07a32ec4023adf01e01356fa7f1

检测图片

5、关闭资源,显示图片处理信息

263a2fbfd38f452abafcb3562a855762

每个目标检测算法都有自己的优缺点,个人感觉,在精度要求不是太高的情况下SSD检测算法可以实现较快的速度实现,毕竟精度差不多的情况下,我们希望速度越快越好

650f3052-1de9-443c-8c82-d012d4b50c02

截图视频图片

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值