提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
转帖|行业资讯|编辑:郝浩|2017-04-05 10:25:13.000|阅读 712 次
概述:物体检测一向是比较热门的研究方向,它经历了传统的人工设计特征+浅层分类器的框架,到基于大数据和深度神经网络的End-To-End的物体检测框架的发展,然而许多人其实并未系统的了解过物体检测算法的整个发展内容。
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
在传统视觉领域,物体检测是一个非常热门的研究方向。受70年代落后的技术条件和有限应用场景的影响,物体检测直到上个世纪90年代才开始逐渐走入正轨。物体检测对于人眼来说并不困难,通过对图片中不同颜色、纹理、边缘模块的感知很容易定位出目标物体,但对于计算机来说,面对的是RGB像素矩阵,很难从图像中直接得到狗和猫这样的抽象概念并定位其位置,再加上物体姿态、光照和复杂背景混杂在一起,使得物体检测更加困难。
检测算法里面通常包含三个部分,第一个是检测窗口的选择, 第二个是特征的设计,第三个是分类器的设计。随着2001年Viola Jones提出基于Adaboost的人脸检测方法以来,物体检测算法经历了传统的人工设计特征+浅层分类器的框架,到基于大数据和深度神经网络的End-To-End的物体检测框架,物体检测一步步变得愈加成熟。
在2001年,一篇基于Haar+Adaboost的检测方法在学术界和工业界引起了非常大的轰动,它第一次把检测做到实时,并且在当时的技术限制下,检测性能也做的非常亮眼。纵观2012年之前的物体检测算法,可以归结为三个方面的持续优化:
拿人脸检测举例,当给出一张图片时,我们需要框出人脸的位置以及人脸的大小,那么最简单的方法就是暴力搜索候选框,把图像中所有可能出现框的位置从左往右、从上往下遍历一次。并且通过缩放一组图片尺寸,得到图像金字塔来进行多尺度搜索。
但是这种方法往往计算量很大并且效率不高,在实际应用中并不可取。人脸具有很强的先验知识,比如人脸肤色YCbCr空间呈现很紧凑的高斯分布,通过肤色检测可以去除很大一部分候选区域,仅留下极小部分的区域作为人脸检测搜索范围。由于肤色的提取非常快,只是利用一些颜色分布的信息,把每个像素判断一下,整体速度提升很多。但肤色提取只是用到简单的颜色先验,如果遇到和肤色很像的,比如黄色的桌子,很有可能被误判成人脸的候选检测区域。
进一步提高精度衍生出如Selective Search或EdgeBox等proposal提取的方法,基于颜色聚类、边缘聚类的方法来快速把不是所需物体的区域给去除,相对于肤色提取精度更高,极大地减少了后续特征提取和分类计算的时间消耗。
在传统的检测中,Haar由于提取速度快,能够表达物体多种边缘变化信息,并且可以利用积分图快速计算,得到广泛的应用;LBP更多的表达物体的纹理信息,对均匀变化的光照有很好的地适应性;HOG通过对物体边缘使用直方图统计来进行编码,特征表达能力更强,在物体检测、跟踪、识别都有广泛的应用。传统特征设计往往需要研究人员经验驱动,更新周期往往较长,通过对不同的特征进行组合调优,从不同维度描述物体可以进一步提升检测精度,如ACF检测,组合了20种不同的特征表达。
传统的分类器包含Adaboost、SVM、Decision Tree等。
一个弱分类器往往判断精度不高,通过Adaboost自适应地挑选分类精度高的弱分类器并将它们加权起来,从而提升检测性能。比如说,人脸检测中一个候选窗口需要判断是否为人脸,其中一些弱分类器为颜色直方图分量(如红黄蓝三种颜色),如果黄色分量大于100,那我就认为这块可能是人脸的候选区域,这就是个非常简单的弱分类器。可是,单个这么弱的分类器判断是很不准的,那么我们就需要引入另外一些分量做辅助。比如再引入红色分量大于150,将几个条件叠加起来,就组成了一个比较强的分类器。
这里弱分类器的设计往往就是确定颜色判断的阈值,为什么会选择100呢?其实这是我们需要学习得到的阈值,学习得到,当阈值设定为100时,分类的精度是最高的。另外,为什么要选择红黄蓝三种颜色?同样,因为它们分类的精度更高。通过不断进行特征挑选并学习弱分类器,最终组合提升为Adaboost强分类器。
SVM通过最大化分类间隔得到分类平面的支持向量,在线性可分的小数据集上有不错的分类精度,另外通过引入核函数将低维映射到高维,从而线性可分,在检测场景被广泛使用。
比如线性SVM分类器就是一些支持向量,将物体表示为一些特征向量,实际当中学到的分类器就是一些系数向量,这些系数向量和特征向量做一个加权的话可以得到分类分数,对分数进行阈值判断,就可以判断是否是某一类。
决策树是一种树形结构,其中每个内部节点表示一个属性上的测试,每个分支代表一个测试输出,每个叶子节点代表一种类别。
用从树根到树叶的二叉树来举个简单例子。假如从树根进来有个二分类,我们需要区分它是人脸或者是非人脸,左边是非人脸,右边是人脸。当我进入第一个二叉树分类器节点判断,如果是非人脸的话直接输出结果,如果是人脸候选的话进入下一层再做进一步的分类。通过学习每个节点的分类器来构造决策树,最终形成一个强分类器。
通过对决策树进行Ensemble,组合成随机森林更好的提高分类或者回归精度。假设刚刚提到的决策树是一棵树,那么现在我想学十棵树,每个树采用不同的输入或者分类准则,从不同维度来做分类。以十棵树的分类结果进行投票,8个树认为这个框是人脸,2个认为是非人脸,最终输出为人脸。投票策略可以更好地降低分类误差,在实际场景中得到广泛应用。
众所周知,检测算法的演变分为两个阶段,一个就是基于传统特征的解决方法,另外一个就是深度学习算法。在2013年之前传统方法还算是主流,大家都是基于传统的feature优化检测方法。然而,在2013年之后,,整个学术界和工业界都逐渐利用深度学习来做检测。
实际上,这是由于深度学习在分类上超越了很多传统的方法,在2012年的ImageNet上,Hinton两个学生就曾用ConvNet获得了冠军。与传统方法相比,深度学习在分类精度上提高很多。起先,深度学习只是在分类上有非常明显的提升,之后也带动了检测这一块。从物体分类到物体检测,利用了深度学习比较强的feature的表达能力,可以进一步提高检测的精度。
检测方面有两个比较典型的公开测试集,PASCAL VOC和COCO。从这两个测试集上可以看到传统的检测方法和深度学习的检测方法在精度上的差别非常的大。传统的物体检测方法因为其特征比较弱,所以每类都需要训练一个检测器。每个检测器都是针对特定的物体训练,如果有20类的话,就需要跑20次前向预测,相当于单次检测的20倍,作为一个2C端产品,时间消耗和精度性能使得传统方法检测的应用场景不是很多。
目前最新的检测都是基于深度学习的方法,最开始的RCNN,它算是深度学习应用到检测里的鼻祖,从起初它平均49.6的精度记录,到如今已然提升了快40个点。而在传统的方法中SVM-HOG,它的精度才到了31.5,和深度学习相比低了很多。
值得注意的是,传统检测方法随着数据量增大检测性能会趋于饱和,也就是说随着数据量的增大,检测性能会逐渐提高,但到了一定程度之后数据量的提高带来的性能增益非常少。而深度学习的方法则不同,当符合实际场景分布的数据越来越多时,其检测性能会越来越好。
深度学习的物体检测
深度学习早期的物体检测,大都使用滑动窗口的方式进行窗口提取,这种方式本质是穷举法 R-CNN。后来提出Selective Search等Proposal窗口提取算法,对于给定的图像,不需要再使用一个滑动窗口进行图像扫描,而是采用某种方式“提取”出一些候选窗口,在获得对待检测目标可接受的召回率的前提下,候选窗口的数量可以控制在几千个或者几百个。
之后又出现了SPP,其主要思想是去掉了原始图像上的crop/warp等操作,换成了在卷积特征上的空间金字塔池化层。那么为什么要引入SPP层呢?其实主要原因是CNN的全连接层要求输入图片是大小一致的,而实际中的输入图片往往大小不一,如果直接缩放到同一尺寸,很可能有的物体会充满整个图片,而有的物体可能只能占到图片的一角。SPP对整图提取固定维度的特征,首先把图片均分成4份,每份提取相同维度的特征,再把图片均分为16份,以此类推。可以看出,无论图片大小如何,提取出来的维度数据都是一致的,这样就可以统一送至全连接层。
实际上,尽管R-CNN 和SPP在检测方面有了较大的进步,但是其带来的重复计算问题让人头疼,而 Fast R-CNN 的出现正是为了解决这些问题。 Fast R-CNN使用一个简化的SPP层 —— RoI(Region of Interesting) Pooling层,其操作与SPP类似,同时它的训练和测试是不再分多步,不再需要额外的硬盘来存储中间层的特征,梯度也能够通过RoI Pooling层直接传播。Fast R-CNN还使用SVD分解全连接层的参数矩阵,压缩为两个规模小很多的全连接层。
Fast R-CNN使用Selective Search来进行区域提取,速度依然不够快。Faster R-CNN则直接利用RPN(Region Proposal Networks)网络来计算候选框。RPN以一张任意大小的图片为输入,输出一批矩形区域,每个区域对应一个目标分数和位置信息。从 R-CNN 到 Faster R-CNN,这是一个化零为整的过程,其之所以能够成功,一方面得益于CNN强大的非线性建模能力,能够学习出契合各种不同子任务的特征,另一方面也是因为人们认识和思考检测问题的角度在不断发生改变,打破旧有滑动窗口的框架,将检测看成一个回归问题,不同任务之间的耦合。
R-CNN到Faster R-CNN都是一些通用的检测器。深度学习中还有许多特定物体检测的方法,如Cascade CNN等,随着技术的发展,深度学习的检测越来越成熟。
尽管深度学习已经使得检测性能提升了一大截,但其实依旧存在许多难点。主要难点就是复杂光照情况(过暗、过曝)以及非刚性物体形变(如人体、手势的各种姿态)、低分辨率和模糊图片的检测场景。
众所周知,目前大多数检测算法还是静态图的检测,而海量视频数据已然出现了,未来检测数据支持的类别肯定越来越多,涵盖的面越来越广,检测技术在这方面也需要继续发展。基于视频时序连续性的物体检测和像素级的实例检测将是未来重点突破的方向。
本文来自公众号:阅面科技(ID:readsense),作者:童志军
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn
通过提供强大的3D CAD数据访问工具并适用于桌面、移动和Web的高级环境3D可视化发动机,HOOPS在提升造船设计和制造流程的效率方面发挥了重要作用。
HOOPS Luminate在汽车行业中的应用具有广泛的潜力和深远的影响。它通过提供高效的3D可视化、虚拟装配与拆解、性能分析、客户定制等功能,帮助汽车制造商在设计、生产和销售过程中提升效率、降低成本并提高产品质量。
在不断发展的软件开发世界中,使工具和框架与最新的平台版本保持同步至关重要,欢迎查阅~
全球航运业对国际贸易至关重要,全球 90% 以上的商品通过海运运输。准确监控和控制这些集装箱的移动对于维持高效的供应链至关重要。手动输入集装箱号码是这一程序的关键部分,它带来了相当大的挑战,例如人为错误和效率低下。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@pclwef.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢