软硬件环境
ubuntu 18.04 64bit
NVIDIA GTX 1070Ti 8G
anaconda with python 3.6
opencv 3.4.3
cuda 9.0
YOLO v3
前言
下图是近年来物体检测领域算法的演化,是目前公认的比较准确的物体检测算法,已经发展到了第三个版本。关于(实现YOLO检测的开源项目)的基本情况,参考之前的博文 https://blog.xugaoxiang.com/ai/darknet.html,里面有比较详细的阐述。
准备工作
下载检测需要用到的配置文件、weights模型文件及物体类型class文件
YOLO的基本原理
一般来讲,物体检测由两部分组成,物体定位()和物体识别()。下面以图片为例来讲的实现原理
将图片分割成大小的网格单元, 以一张像素大小的图片为例,会有1024个网格单元,模型会在每个上预测
每个有可能会被预测出多个,大部分最后都会被清除,因为它们的相似度太低。这里有个算法叫,翻译过来叫非极大值抑制,可参考论文Efficient-Non-Maximum-Suppression, NMS算法是用来提取相似度最高的
python代码
及以上的版本已经支持,同时也支持使用其他常见深度学习框架的模型,如、、等。
测试程序输出
参考资料
https://github.com/pjreddie/darknet/wiki/YOLO:-Real-Time-Object-Detection
https://docs.opencv.org/3.4.3/da/d9d/tutorial_dnn_yolo.html
https://blog.xugaoxiang.com/ai/darknet.html
领取专属 10元无门槛券
私享最新 技术干货