社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  机器学习算法

深度学习中目标检测

小白学视觉 • 4 年前 • 349 次点击  

点击上方小白学视觉”,选择加"星标"或“置顶

重磅干货,第一时间送达

本文转自|AI算法与图像处理

该部分内容出自书《21个项目玩转深度学习:基于TensorFlow的实践详解》,有需要的同志可以关注我的公众号,加入下发的群,在群公告中有附网盘,可以自取(仅供学习使用)。如果失效可以联系或者在公众号留言!!!






深度学习中目标检测的原理


R-CNN 的全称是 Region-CNN它可以说是第一个成功地将深度学习应用到目标检测上的算法 后面将要学习的 Fast R-CNN Faster R-CNN 全部都是建立在 R-CNN 基础上的


传统的目标检测方法大多以图像识别为基础 一般可以在图片上使用穷

举法选出所高物体可能出现的区域框,对这些区域框提取特征并使用圄像识

别万法分类, 得到所高分类成功的区域后 通过非极大值抑制( Non-maximum suppression )输出结果


R-CNN遵循传统目标检测的思路 同样采用提取框 对每个框提取特 图像分类、 非极大值抑制四个步骤进行目标检测 只不过在提取特征这一步,将传统的特征(如 SIFT HOG 特征等)换成了深度卷积网络提取特征 R-CNN 的整体框架如图 5-2 所示


对比:

对于原始图像 首先使用 SelectiveSearch 搜寻可能存在物体的区域
Selective Search 可以从图像中启发式地搜索出可能包含物体的区域 相比穷举而言, Selective Search 可以减少一部分计算量 下一步,将取出的可能含
高物体的区域送入 CNN 中提取特征 CNN 通常是接受一个固定大小的图像,而取出的区域大小却各高不同 对此, R-CNN的做法是将区域缩放到统一大小 再使用 CNN提取特征 提取出特征后使用 SVM 进行分类,最后通过非极大值抑制输出结果


R-CNN的训练、可以分成下面四步:

1)在数据集上训练 CNN R-CNN 论文中使用的 CNN 网络是 AlexNet,数据集为 ImageNet

2)在目标检测的数据集上,对训练好的 CNN司做微调

3)用 Selective Search 搜索候选区域,统一使用微调后的 CNN对这些区域提取特征,并将提取到的特征存储起来

4)使用存储起来的特征 ,训练 SVM 分类器


尽管 R-CNN 的识别框架与传统方法区别不是很大,但是得益于 CNN 异的特征提取能力, R-CNN 的效果还是比传统方法好很多 如在 VOC 2007数据集上,传统方法最高的平均精确度 mAP ( mean Average Precision )为40%左右,而 R-CNN mAP 达到了 58.5%

R-CNN 的缺点是计算量太大 在一张图片中,通过 Selective Search

到的有效区域往往在 1000 个以上,这意昧着要重复计算 1000 多次神经网络 非常耗时 。另外,在训练、阶段,还需要把所有特征保存起来 ,再通过 SVM进行训练,这也是非常耗时且麻烦的Fast R-CNN FasterR-CNN 在一定程度上改进了 R-CNN 计算量大的缺点,不仅速度变快不少,识别准确率也得到了提高


具体的实现书中有详细说明

下面放上一些检测的代码

Faster –RCNN的检测效果


下载1:OpenCV-Contrib扩展模块中文版教程
在「小白学视觉」公众号后台回复:扩展模块中文教程即可下载全网第一份OpenCV扩展模块教程中文版,涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理等二十多章内容。

下载2:Python视觉实战项目52讲
小白学视觉公众号后台回复:Python视觉实战项目即可下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别等31个视觉实战项目,助力快速学校计算机视觉。

下载3:OpenCV实战项目20讲
小白学视觉公众号后台回复:OpenCV实战项目20讲即可下载含有20个基于OpenCV实现20个实战项目,实现OpenCV学习进阶。

交流群


欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~


Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/116555
 
349 次点击