赞
踩
现今,深度学习发展如此迅猛,在计算机视觉、自然语言处理、广告推荐及广告点击率预估等领域都取得巨大的突破。在计算机视觉领域中的目标检测被广泛的应用到实际生产生活中。例如:人脸检测、行人车辆检测、通用物体检测、文本检测等。以及在专属领域内的检测还有:瑕丝检测、违禁物品检测等。而目标检测也为后续的图像分类、图像分割、目标追踪提供了基础。
目标检测的定义:目标检测在图片数据中对可变数量的目标进行查找和分类。
目标检测存在的问题:通过目标检测来找到图像中需要查找的目标对象,就会存在的问题如下:
现今,目标检测的方法主要是分为:
主要用于人脸检测,其步骤为:
主要是用于行人检测。其步骤为:
主要是用在物体检测上,其步骤为:
NMS(非极大值抑制算法):
目的:为了消除多余的候选框,找到最佳的物体位置
设计思想:选取哪些邻域里分数最高的窗口,同时抑制分数低的窗口。
流程:
传统的目标检测方法,虽然能完成检测任务但是,通过传统的目标检测设计的特征,会存在很难设计,设计出来的特征往往存在着许多问题,也可能存在对于某些特征不适应、不鲁棒的现象。效率上,与深度学习的目标检测还存在着非常大的差距。另外,通过滑动窗口的方式,提取出目标候选框,对目标候选框镜像分类判定这样一种策略,在提取候选框这个步骤的时候就非常的繁琐,也是非常耗时非常慢的。
深度学习的目标检测算法区别于传统的的目标检测算法,采用了卷积神经网络来图像进行图像的特征提取。而深度学习的目标检测算法主要分为One-stage算法和Two-stage算法两大类别。也是当今目标检测任务的两大主流方法。
Two-stage是基于深度学习的一种,主要是通过一个完整的卷积神经网络来完成目标检测的过程。典型的代表就有2014年提出的RCNN算法以及Faster-RCNN系列算法。对于传统的目标检测算法。Two-stage算法不需要去训练分类器作为特征表示的这样一个过程。整个过程只需要通过一个A到B的卷积神经网络来完成,相对于传统的目标检测算法的精度和速度得到了非常大的提升。
相对于传统的目标检测而言,采用了更好的网络特征来挖掘一些更有代表性、更加鲁棒深度学习的策略来完成特征的提取。采用更加精准的RPN网络来完成区域的筛选和推荐。采用更加完善的ROI-pooling。样本处理的方法采用NMS非极大抑制的算法来对候选框进行筛选合并。同时也采用了更大的mini-batch策略来改进我们的目标检测网络。但是采用ROI-pooling可能存在一些问题,如果按照pooling层进行下采样的话,图片尺寸会按照整数倍进行下采样,使用卷积操作可能也会对图片产生一些损失。也就是如果使用卷积而不使用padding,这样会使我们的原始特征图像减小几个像素点,导致ROI-pooling进行抠图的时候会产生一点的偏差。
相对于Two-stage目标检测算法,One-stage目标检测算法使用CNN进行特征提取后,采用直接回归物体类别的概率和位置坐信息。相比于Two-stage目标检测算法,它的准确度要比较低,但是,训练模型的速度是非常快的。其主流的算法有:YOLOv1/v2/v3、SSD/DSSD、Ratina-Net。
在One-stage中,去掉了RPN网络,直接回归,通过S*S区域的网格,针对没个网络来划分预测当前这个网络为中心的目标区域的位置信息,给当前的网格设置置信度,判断是否存在目标的概率值,如果概率值接近为1,那么待检测目标的可能性就越高。另外,直接归回的方法还会检测出当前格子所属的目标类别的概率值。
从2012年卷积神经网络来代替传统手工这一特征的方式来完成目标检测任务,这是基于深度学习目标检测的一个标志性历程碑。以RPN网络代替原始的滑动窗口策略,标志着深度学习的目标检测方法彻底完成了端到端的过程。而整个过程也只需要一个网络就能完成目标的检测。这一一个结果就使得深度学习目标检测不仅在速度上取得了非常大的提升,而且在性能上也远超传统的目标检测算法。而且在后来的设计中,不采用提取候选框的策略,而是采用直接回归目标位置的策略,如SSD,YOLO算法来完成目标检测的定位,这意味着能够再一次提升检测算法的速度进行进一步的提升。而且还能保证proposal策略的检测精度。
基于深度学习的目标检测算法和传统的目标检测算法来说,不仅存在着精度上的优势,而且在算法的实现、算法的训练、算法的设计以及整个算法模型的落地,都是存在非常多的优势的。
深度学习的目标检测算法中以两种不同维度的算法为主,一种是One-stage,另一种是Two-stage,还有就是单任务和多任务作为区分。
强调去掉RPN网络,采用直接回归的策略来得到候选区域的位置坐标和类别。因此相对于Two-stage算法来说,One-stage算法它具有更快的速度,这是一个非常重要的优势,因为速度快是考量一个算法落地的重要因素,也意味着模型的大小、参数量、计算的复杂等等各方面因素都存在一定的优势。相对来说,速度快往往模型比较小,更加适合落地。比如说在一些嵌入式的设备中,计算的性能,内容的大小等等都是和服务端有关的。
Two-stage精度更高,它的检出率,也就是获取到的坐标的准确率更加接近我们实际要检测的坐标值。主要是因为Two-stage算法采用了RPN网络,去对候选区域做了推荐。而RPN网络的使用就能带来定位精度的提升。同样在检测目标的时候IOU的区域会更大,定位的精度会更高,能检测出更多的目标。此外,Two-stage算法还采用了anchor机制,anchor能够带来性能上的提升,在随后的One-stage算法中SSD、YOLO算法中也在此有所借鉴使用到。最后是共享计算量,设计网络的时候采用了参数共享的策略,意味着降低了参数的规模,变相的对模型进行了正则化,提高了模型的性能和泛化能力。
优点:最早使用CNN特征的深度学习目标检测模型
缺点:依旧沿用了传统的候选框区域推荐以及目标检测定位,耗时高、精度低
优点:考虑了任意尺度的输入图片,以及共享特征
缺点:依旧沿用了传统算法的框架,只不过对图像输入做了新的变化,耗时高、精度低
优点:引入了ROI-pooling完成对特征图的提取,并采用BBOX回归来完成候选框的定位和分类
缺点:采用selective search产生 region proposal
优点:RPN网络,将proposal提取的过程也通过一个网络来完成,这意味着Two-stage模型框架出来了,而且检测的精度相对较高
缺点:速度慢、训练时间长
优点:直接回归的方式来进行目标的定位,模型训练的速度快
缺点:边框定位不够精准,检出率低,小目标检测性能差
优点:anchor机制加上回归机制,将faster-RCNN和YOLO的优点都结合起来了,anchor机制带来速度上的提升,回归机制带来了速度上的提升,边框定位更加准确,检出率高,误报率比较少
缺点:训练时间相对比YOLO长,准确度比Faster-RCNN低
现在深度学习的目标检测主要是分为通用物体的目标检测和特定场景的目标检测。
人脸相关的生态环境下,有非常多的人脸衍生出来的产品,而人脸检测技术是所有人脸影像分析衍生应用的基础。在实际人脸识别行业市场规模是不断提升的,这也意味着舒服落地所带来的产出也越来也越大。
而且人脸识别领域中存在着便利性、准确性、安全级别、长期稳定性,识别设备成本较高的特点,相对于其他生物信息识别是非常高的。但是,人脸识别由于光照,遮挡等因素影响,人脸识别技术也有一定的技术瓶颈。
人脸检测、人脸验证、人脸跟踪、人脸属性识别、人脸行为分析、个人相册管理、机器人人机交互、社交平台等应用。
在人脸检测中,包含看约束环境和非约束环境,例如:
ADAS场景下的检测,主要划分的级别是L0到L4这5个级别:
导航、实时交通系统、电子警察、车联网、自适应巡航、车道偏移报警系统、车道保持系统、碰撞避免预警系统、夜视系统、自动泊车、交通标志识别、盲点检测、驾驶员疲劳探测、下坡控制系统
根据毛利分析,可以得出ADAS具有非常大的商业价值和研究价值。
百度、腾讯、华为、景池、滴滴、京东等都在针对无人驾驶相关领域的研究。
文本检测能够帮助完成自动化的任务,提高劳动和生产的效率,因此文本检测在行业中有着非常大的研究前景。
身份证识别、车牌识别、印刷文字识别、文档识别、自然语言场景下的文本识别,对图片信息进行理解标准。
腾讯、face++、网易、图谱科技、汉王科技、笔身智能等企业在文本检测领域都处于一个领先的地位。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。