faster rcnn 目标检测测SSD相对于YOLO与faster-RCNN做了哪些改进?效果如何

966,690 八月 独立访问用户
语言 & 开发
架构 & 设计
文化 & 方法
您目前处于:
CVaaS计算机视觉即服务 ——从算法,应用到服务的技术演变
CVaaS计算机视觉即服务 ——从算法,应用到服务的技术演变
0&他的粉丝
日. 估计阅读时间:
智能化运维、Serverless、DevOps......2017年有哪些最新运维技术趋势?!
相关厂商内容
我的分享总体来说会更偏应用性,因为我们主要就是做 CV 应用。
1. 计算机视觉的算法应用案例
1.1 图片内容识别
首先,给大家介绍一个很常见而非常有应用前景的算法应用案例:识别一个图片或者画面、视频里面可能有什么东西?例如如图:
(点击放大图像)
要实现这样识别算法,当前我们可以结合深度学习的目标检测算法,例如有 R-CNN,SPP-Net,Fast R-CNN,Faster R-CNN,以及在 PASCAL VOC、MS COCO、ILSVRC 数据集上取得领先的基于 Faster R-CNN 的 ResNet 等。
以上的方法都可以归纳为一个基本都流程:proposal 候选框 + 分类器,只是有的候选框从原图就定位了,而有的 bounding box 候选框则是通过 feature map 来定位。而这样的流程在运行速度上会存在着比较大的局限。当然,大家也在不断的往更快的速度去优化。
而我们今天先不讨论上述的方法,而是讨论两个运行速度更快的目标检测模型。
第一个是,YOLO(You Only Look Once),YOLO 是一个可以一次性预测多个 Box 位置和类别的卷积神经网络,能够实现端到端的目标检测和识别,其最大的优势就是速度快。目标检测的本质其实也是回归,因此一个实现回归功能的 CNN 并不需要复杂的设计过程。
YOLO 没有选择滑窗或提取 proposal 的方式训练网络,而是直接选用整图训练模型。这样做的好处在于可以更好的区分目标和背景区域,相比之下,采用 proposal(选定候选集) 训练方式的 Fast-R-CNN 常常把背景区域误检为特定目标。
(点击放大图像)
YOLO 的设计理念遵循端到端训练和实时检测。YOLO 将输入图像划分为 S*S 个网络,如果一个物体的中心落在某网格 (cell) 内,则相应网格负责检测该物体。
在训练和测试时,每个网络预测 B 个候选区域,每个候选区域对应 5 个预测参数,分别是候选区域 (bounding box) 的中心点坐标 (x,y), 宽高 (w,h) 和置信度评分。
这里的置信度评分:
(Pr(Object)*IOU(pred|truth))
综合反映基于当前模型候选区域内存在目标的可能性 Pr(Object) 和候选区域 (bounding box) 预测目标位置的准确性 IOU(pred|truth)。
如果候选区域内不存在物体,则 Pr(Object)=0。如果存在物体,则根据预测的候选区域 (bounding box) 和真实的区域 (bounding box) 计算 IOU,同时会预测存在物体的情况下该物体属于某一类的后验概率 Pr(Class_i|Object)。
假定一共有 C 类物体,那么每一个网格只预测一次 C 类物体的条件类概率 Pr(Class_i|Object), i=1,2,...,C; 每一个网格预测 B 个候选区域 (bounding box) 的位置。即这 B 个候选区域 (bounding box) 共享一套条件类概率 Pr(Class_i|Object), i=1,2,…,C。
基于计算得到的 Pr(Class_i|Object),在测试时可以计算某个候选区域 (bounding box) 类相关置信度:
(点击放大图像)
如果将输入图像划分为 7*7 网格(S=7),每个网格预测 2 个 bounding box (B=2),有 20 类待检测的目标(C=20),则相当于最终预测一个长度为 S*S*(B*5+C)=7*7*30 的向量,从而完成检测和识别任务。
第二个同样是目标检测的算法,SSD(Single Shot MultiBox Dectector)。这是另一个基于深度学习的物体检测模型,他的特点主要是检测的速度在能保证精度下保持非常快的速度,除此之外,该物体检测算法在大目标的检测下有比较好的效果。
(点击放大图像)
而我们发现,往往我们的照片中,大目标比比皆是。SSD 比原先最快的 YOLO: You Only Look Once 方法,还要快,还要精确。保证速度的同时,其结果的 mAP 可与使用 region proposals 技术的方法(如 Faster R-CNN)相媲美。
SSD 方法的核心就是预测物体,以及其归属类别的得分;同时,在 feature map 上使用小的卷积核,去预测一系列候选区域的位置。
SSD 为了得到高精度的检测结果,在不同层次的 feature maps 上去 预测物体类别和物体位置。
SSD 这些改进设计,能够在当输入分辨率较低的图像时,保证检测的精度。同时,这个整体端到端的设计,训练也变得简单。在检测速度、检测精度之间取得较好的平衡。
1.2. 电子相册
然而,以上的仅仅是一个照片内容识别的算法,还没有真正的成为到了一个解决实际问题的应用,接下来,我们将讲解的就是利用这样的识别技术,我们进一步可以解决的问题就是:
在印刷行业或者快照行业,会陆续推出一项产品——电子相册。
而电子相册从技术层面主要是要解决两个问题,1. 照片裁剪,2. 相框的匹配。
(点击放大图像)
而当前,这些工作都是人工去完成,随着日益增长的电子图片的需求量,制作电子相册的人力成本越来越大,而这个时候,利用之前所述的内容识别算法,我们可以帮助电脑自动实现图片的裁剪,因为自动裁剪最大的担忧可能是担心把照片内的人裁剪掉了。
另一方面,我们进而可以结合图片场景分类和人脸识别等算法技术,使用标签匹配方法去自动匹配与照片本身更搭配的相框。
2. 利用计算机视觉技术实现行业升级
如上,我们就以快照印刷行业的电子相册作为一个行业应用的例子,但其实还有很多行业内容其他的应用例子不胜枚举。
算法本身我们可以做出很多技术,例如使用物体检测我们可以实现内容识别、除此之外我们还实现场景分类、人脸的识别、颜色的分类、人物表情等等。
而技术项目的组合,可以帮助我们是去实现更多行业内的目前人工完成的工作,例如实现自动裁剪、通过根据图片的内容、场景的分类、人脸信息等,匹配出合适的相框作为推荐,根据不同颜色的印刷材料做不同的印刷批次排序等等。
于是,一个简单的印刷快照行业的升级,我们可以归纳为如图:
(点击放大图像)
而由图中,我们可以看到,技术和应用本质上是完全可以分开做横向拓展的,于是我们可以看到同样的技术可以用在不同的行业,也可以有很多不同行业特定的算法技术,如图:
(点击放大图像)
3. CVaaS 计算机视觉即服务的理念介绍
CVaaS 是我概括出来的一个词语,第一次介绍给大家,意思就是计算机视觉算法即服务的意思,在过往,我们可能听说过,IaaS(Infrastructure as a Service),PaaS(Platform as a Service),SaaS(Software as a Service), 大家都把不同层次的标准化模块变成一种服务在提供。
而 CVaaS 就是 Computer Vision as a Service, 我们把 CV 的部分标准化成为了一种服务,而每一个行业可以在这里找到自己行业需要的和图像处理、视频处理、计算机视觉相关的算法服务,然后他们可以整合这些算法服务成为他们需要的应用。
(点击放大图像)
而 CV 算法更接近于一种平台运行的服务,提供运算性能的横向拓展,提供运算的底层开发环境,甚至乎直接提供可开发测试的 sandbox, 所以,CVaaS 也是 PaaS 的一种。
各行各业都有他需要的和 AI 取代的工作,从而提升行业的效率,正如李开复老师说的,50% 的工作会被 AI 取代,而评判的标准就是“五秒钟准则”。
“五秒钟准则”:一项本来由人从事的工作,如果人可以在 5 秒钟以内对工作中需要思考和决策的问题做出相应的决定,那么这项工作就非常大的可能被人工智能技术全部或部分取代。
而 CVaaS 的目的,就是让各行各业可以以最快的形式和方式完成这要的一些工作的转变。
例如,在零售行业,我们选择可以选择人脸识别做 VIP 识别,选择行人识别做客流统计,选择性别、年龄识别做顾客分类或者顾客肖像。
在安防行业,我们选择动作 (打架) 识别、行人跟踪、姿态识别等做安全的防范和预警。
再例如,在房地产领域做场景图片的分类 (例如哪些图片是卧室,客厅,厨房),优质 (封面) 图片的挑选;印刷行业根据图片的内容做自动裁剪;等等。
(点击放大图像)
4. CVaaS 平台的设计
极市 CVaaS 平台主要面向三个群体,具有算法服务开发能力的开发者,需要使用算法服务的行业用户以及海量和我们对接的硬件厂商。对于开发者,平台设计基于 Gitlab 的代码 (SDK) 管理,版本管理,Gitlab 是目前比较流行的开源类 Github 代码管理平台。
开发者可以提交自己认为满意的版本,对于不想提供源码的,可以提供 SDK 即可。对自己的算法的数据输入端,使用平台提供的输入 SDK 对接,可以对自己的算法进行场景使用和介绍做详细的描述,就想我们去 APP Store 提交一个 APP 一样。
此外,开发者拥有自己的管理后台,每天可以查询到自己的算法被使用和应用的情况,以及最新的收入。
我们也知道,对于 CV 或者 AI 类算法,最重要的莫过于数据集,所以,在平台设计中,我们增加了海量测试数据的模块,可以提供给不同应用的开发者测试集。
而每一个算法服务的运行,则基于 docker 的隔离运行,docker 用来隔离应用还是很方便的,一来本身的操作较为简单,二来资源占用也比虚拟机要小得多,三来也较为安全,因为像数据库这样的应用不会再全局暴露端口,同时应用间的通信通过加密和端口转发,更加安全。
基于海量硬件与我们系统的无缝链接,每一个在平台上的算法应用,即可面向近百万摄像机用户的使用可能。
5. 总结与展望
所有平台的设计最终都是为了服务社会和个人,而 AI 作为当前的与社会紧密相同的技术,我们希望使得更多不同的行业用更轻松简单的方法与技术相结合,而我们这些懂技术的人,也可以有更多的方式去贡献我们的能力,这个就是我们极视角和我们的产品“极市”的初衷。
Q1: “我是一位机器学习爱好者,对机器学习平台比较感兴趣,也希望能够参与开源社区,看到您是 Tensorflow Contributor 感觉很厉害,请问我应该如何努力才能也成为 Tensorflow Contributor。”
罗韵:开源社区其实有非常多非常优秀的项目,一开始如果能力不够,可以从看别人的代码开始,如果渐渐能读懂别人的代码,一般成熟的开源项目都有开发计划的,而且是公开的,有些功能是专门公开给社区去实现的,那就可以自己去实现,还有一种情况就是你发现了项目本身存在的问题或者 bug,然后你去完善好。
Q2: “请师从港科大哪位大牛呀?是杨强教授吗?”
罗韵:是的。
Q3:“对工作一段时间的软件工程专硕来说,如何申请名校深度学习的 PHD?没有论文,本硕名校,BAT 工作背景。”
罗韵:首先先确定你是有耐心和恒心愿意去读 PhD,毕竟也是好几年光阴,其次就是我觉得还是个人需要有自己的一点点小成果或者做出一点可以打动导师的东西,最后就是,工作中的积累也是很有用的,个人愚见,这个问题因人而异的。
Q4: “如何在嵌入式平台,比如 ARM Cortex A73 四核平台上部署机器视觉,应用到图像识别分类?”
罗韵:这个问题有点太泛了,具体还要看图像识别分类,做的是什么分类,分多少类,整体的项目程序的复杂度等,一般如果部署成功了,很多时候也要看具体场景的要求,例如场景要求实时,但是速度上就是无法支持,这个也是其中一些难点所在。
Q5:“对美女讲师提到的 CVaas 蛮好奇的~ 请问这个有什么优势吗”
罗韵:优势有几个方面,第一,作为一个 CVaaS 其实就是一个连接技术与需求的桥梁,所以,我们首先已经拥有了大量的场景的硬件(摄像头)作为用户,所以,在这里的所有 Service 都不基本不用担心是否有人使用的问题,只要是好的 CV Service,都有对应的潜在用户。
第二,你的运算能力方面和运维都有我们整个平台作为支持,开发者可以更加关注算法的研发。
第三,我们目前应该是拥有着最大量的一线数据可以做算法测试。
Q6:“想知道你们新零售的解决方案”
罗韵:这个,今天没有说到,但是这个确实是我们公司的其中一个产品,新零售的解决方案,主要解决三个核心问题,全自动采集数据 + 构建数据分析框架 + 业务驱动的数据分析。
Q7:“请问什么样的算法可以放到你们平台呢?你们平台的模式是什么样的”
罗韵:作为开发者,不用太担心什么算法可以放到我们平台,我们底层会对算法做自动测试与审核,审核通过了,自然就是被使用的。
Q9:“对于成为 contributor 一题,请罗老师给女生,特别是零基础却要半路转行到此领域的不年轻的女生一点指导建议或者鼓励。谢谢。”
罗韵:嗯!加油!可以从写项目文档开始其实,很多入门的开源社区的新手都是先从帮项目写文档开始的,当然,写之前就意味着你要先慢慢理解每一个 sample/demo。
Q10:“您公司开发的产品,智能客流系统,有没有已经成功的运营实例,效果怎么样”
罗韵:我们官网上展示出来的客户名单,国内外的知名零售连锁品牌都有是我们客户,太多,我这里就不一一罗列,运营效果,我觉得还是市场说的算,目前我们的客户增长率就是最好的证明。
Q11:“在终端相册应用中,您怎么看待图像语义理解 Vs. 物体检测 & 分类给用户搜索带来的体验的差异化?”
罗韵:两个技术没有冲突,其实都是可以应用的,物体检测主要是用于对图像做自动裁剪比较多,图像语义理解更多的是为了还要做搜索或者推荐,如果是以搜索为主要任务的话,做检测后加上语义理解会更好。
罗韵,极视角科技联合创始人,香港科技大学人工智能 PhD candidate,TensorFlow contributor。实现过基于云端的计算机视觉分析系统和企业早期计算机视觉的算法研发。接触过接近百种人工智能算法的应用,覆盖行业包括零售、交通、安防、公共资源、环境、金融、医疗、娱乐等,对 AI 算法的应用化场景了解丰富,目标是让未来的 AI 产品可以和 APP Store 里面的应用一样丰富。著有知乎专栏人工智能应用系列(/ai4application)。
感谢对本文的审校。
给InfoQ中文站投稿或者参与内容翻译工作,请邮件至。也欢迎大家通过新浪微博(,),微信(微信号:)关注我们。
Author Contacted
告诉我们您的想法
允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p
当有人回复此评论时请E-mail通知我
允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p
当有人回复此评论时请E-mail通知我
允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p
当有人回复此评论时请E-mail通知我
赞助商链接
InfoQ每周精要
订阅InfoQ每周精要,加入拥有25万多名资深开发者的庞大技术社区。
架构 & 设计
文化 & 方法
<及所有内容,版权所有 &#169;
C4Media Inc.
服务器由 提供, 我们最信赖的ISP伙伴。
北京创新网媒广告有限公司
京ICP备号-7
找回密码....
InfoQ账号使用的E-mail
关注你最喜爱的话题和作者
快速浏览网站内你所感兴趣话题的精选内容。
内容自由定制
选择想要阅读的主题和喜爱的作者定制自己的新闻源。
设置通知机制以获取内容更新对您而言是否重要
注意:如果要修改您的邮箱,我们将会发送确认邮件到您原来的邮箱。
使用现有的公司名称
修改公司名称为:
公司性质:
使用现有的公司性质
修改公司性质为:
使用现有的公司规模
修改公司规模为:
使用现在的国家
使用现在的省份
Subscribe to our newsletter?
Subscribe to our industry email notices?
我们发现您在使用ad blocker。
我们理解您使用ad blocker的初衷,但为了保证InfoQ能够继续以免费方式为您服务,我们需要您的支持。InfoQ绝不会在未经您许可的情况下将您的数据提供给第三方。我们仅将其用于向读者发送相关广告内容。请您将InfoQ添加至白名单,感谢您的理解与支持。目标检测中SSD为什么比YOLO还要快? - 知乎98被浏览6725分享邀请回答3添加评论分享收藏感谢收起12 条评论分享收藏感谢收起查看更多回答1135人阅读
深度学习(4)
从传统方法到R-CNN
从R-CNN到SPP
Fast R-CNN
Faster R-CNN
14年以来的目标检测方法(以R-CNN框架为基础或对其改进)
各方法性能对比
分类,定位,检测三种视觉任务的简单对比
一般的目标检测方法
从传统方法到R-CNN
R-CNN的三大步骤:得到候选区域,用cnn提取特征,训练分类器(后两步放在一个网络中,用softmax做分类器也可以)
从R-CNN到SPP
R-CNN必须限制输入图像大小(全连接层要求)
SPP的两大优势:可变输入大小 &#43; 各patch块之间卷积计算是共享的
SPP的缺陷:multi-stage,训练和测试都比较慢
Fast R-CNN
Fast R-CNN通过ROI pooling(一层的SPP),multi-task等改进大大提高速度
Fast R-CNN的优势与弱势
Faster R-CNN
Faster R-CNN对于Fast R-CNN的改进在于把region proposal的步骤换成一个CNN网络(RPN)
Faster R-CNN的两个base model: ZF,VGG16 (base model的中间conv输出即为要输入到RPN的那个feature map)
Faster R-CNN的锚点anchor box
Faster R-CNN的损失函数
Faster R-CNN的四步训练
从Faster R-CNN到YOLO
YOLO的pipeline
YOLO的网络结构
YOLO的模型(最右图为网络输出的tensor)
YOLO的损失函数
YOLO的优势和劣势
SSD的pipeline和关键技术
SSD的网络结构
SSD的多尺度特征图
SSD的default box
SSD的default box与faster r-cnn的anchor box的对比
SSD的训练样本与groundTruth的匹配策略 &#43; 损失函数
SSD的default box和尺度选择
从R-CNN → SPP&→&Fast R-CNN&→&Faster R-CNN&→&YOLO&→&SSD整体在准确率和速度上都在提高
Girshick, R., Donahue, J., Darrell, T., Malik, J.: Rich feature hierarchies for accurate object detection and semantic segmentation. In: CVPR. (2014)
He, K., Zhang, X., Ren, S., Sun, J.: Spatial pyramid pooling in deep convolutional networks for visual recognition. In: ECCV. (2014)
Fast R-CNN
Girshick, R.: Fast R-CNN. In: ICCV. (2015)
Faster R-CNN
Ren, S., He, K., Girshick, R., Sun, J.: Faster R-CNN: Towards real-time object detection with region proposal networks. In: NIPS. (2015)
Redmon, J., Divvala, S., Girshick, R., Farhadi, A.: You only look once: Unified, real-time object detection. In: CVPR. (2016)
W. Liu, D. Anguelov, D. Erhan, C. Szegedy, and S. Reed. SSD: Single shot multibox detector. arXiv:v2, 2015
Object detection methods (codes)
https://handong1587.github.io/deep_learning//object-detection.html#r-cnn
所有目标检测方法的中文总结(博客)
http://46aae4d1e9798941cef698./cosmosshadow/article/details//venus024/p/5717766.html
Faster RCNN的论文阅读
/blog/sloanqin/article/p-5994844.html
YOLO的论文阅读
http://blog.csdn.net/tangwei2014/article/details/http://blog.csdn.net/cv_family_z/article/details/
R-FCN的论文阅读
http://blog.csdn.net/u/article/details/
SSD的论文阅读
/view//kf/802.html/articles/c15a.htmlhttp://blog.csdn.net/u/article/details/
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:260306次
积分:3192
积分:3192
排名:第10979名
原创:49篇
转载:110篇
评论:28条
(5)(1)(1)(5)(2)(7)(1)(4)(8)(16)(13)(4)(13)(12)(9)(43)(15)

我要回帖

更多关于 faster rcnn 人脸检测 的文章

 

随机推荐