前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >中星微夺冠国际人工智能算法竞赛,目标检测一步法精度速度双赢

中星微夺冠国际人工智能算法竞赛,目标检测一步法精度速度双赢

作者头像
新智元
发布2018-05-29 16:27:06
6180
发布2018-05-29 16:27:06
举报
文章被收录于专栏:新智元新智元

新智元推荐

来源:Pascal2

【新智元导读】日前,中星微把实际安防项目经验应用到PASCAL VOC数据集,并成功在一步法(one-stage)算法中取得了第一名的好成绩。中星微人工智能芯片技术公司董事长兼总经理张韵东表示:“中星微首次将安防监控应用经验与国际算法竞赛数据集相结合,使得嵌入式前端设备也能达到与云端智能相媲美的效果,取得了可喜可贺的成绩,但这只是一个的开始,相信未来会带来更多更精彩的内容。”

目标检测是机器视觉中一个最重要和最早研究领域之一,也是一切机器视觉任务基础,因此在目标检测算法方面,国际巨头公司和科研机构纷纷进入这个领域,是兵家必争之地,竞争非常激烈,也是目前在实际场景应用最成功的领域,包括安防监控、自动驾驶等多个领域。

日前,中星微把实际安防项目经验应用到PASCAL VOC数据集,并成功在一步法(one-stage)算法中取得了第一名的好成绩,获得87.2% mAP精度,超越了大部分两步法(two-stage)的算法,也证明了一步法(one-stage)可以做到精度和速度双赢。

什么是目标检测?

目标检测就是判断给一副图像上是否存在感兴趣的物体,如果存在,就给出所有感兴趣物体的类别和位置(What and Where)。PASCAL VOC是由利兹大学、苏黎世联邦理工学院、爱丁堡大学、微软、牛津大学等组织的一个视觉识别竞赛,包含了物体分类、目标检测、图像分割等任务,对计算机视觉的发展具有深远而巨大的影响。其中,目标检测任务囊括了车、人、猫、狗等20类常见目标,训练样本较少、场景变化多端,非常具有挑战性。

图二

图三

两步法检测法和一步法检测法

目前主流的目标检测算法主要是基于深度学习模型,其可以分成两大类:

1)两步法(two-stage)检测算法,其将检测问题划分为两个阶段,首先产生候选区域(region proposals),然后对候选区域分类(一般还需要对位置精修),这类算法的典型代表是基于region proposal的R-CNN系算法,如R-CNN,Fast R-CNN,Faster R-CNN等;

2)一步法(one-stage)检测算法,其不需要region proposal阶段,直接产生物体的类别概率和位置坐标值,比较典型的算法如YOLO和SSD。目标检测模型的主要性能指标是检测准确度和速度,对于准确度,目标检测要考虑物体的定位准确性,而不单单是分类准确度。

一般情况下,两步法(two-stage)算法在准确度上有优势,而一步法(one-stage)算法在速度上有优势。但在工业界应用中,一定要考虑速度和精度的平衡,特别是前端智能应用中,受到计算资源的限制,一般都会选择一步法(one-stage)的算法,基础网络尽量选择轻量级的网络,比如MobileNet等。

中星微2016年6月成功研发了神经网络处理器NPU(Neural-network Processing Unit),此NPU集成到星光智能一号VC0758芯片中,成为中国首款嵌入式神经网络处理器SOC芯片,针对前端智能的应用,中星微一直致力于研发可部署到端上的轻量级深度学习算法。

经过几年的研发积累,把实际安防项目经验应用到PASCAL VOC数据集,并成功在一步法(one-stage)算法中取得了第一名的好成绩。中星微VIM_SSD网络,基于SSD深度学习目标检测算法的架构,融合多种机制和策略,并对网络进行了大量的优化。基础网络采用VGG16,并未使用ResNet-101, ResNet-152等更复杂的网络,保证精度的情况下速度更快;同时整个网络为全卷积网络,可以自如调节检测目标的分辨率和使用场景,更容易在实际系统中部署。

下表是目前PASCAL VOC竞赛前十名,可以看出,下面算法中大部分应用了更复杂的基础网络ResNet-101和ResNet-152,并使用了两步法。

图四

制约前端智能发展的限制条件

中星微人工智能芯片技术公司研发副总艾国表示:“最近几年,随着深度学习方法的复兴和快速发展,算法方面取得了巨大的进展和突破,但前端智能的发展较为落后,其主要原因受限于前端的计算资源,因此搭载轻量级深度神经网络是前端智能发展必由之路,中星微一直致力于研发能够和NPU紧密结合的轻量级深度神经网络,和可快速编译、移植和部署的嵌入式智能应用方案。”

机制和策略

VIM_SSD采用了如下主要的机制和策略:1)使用FPN,融合多层特征。2)使用inception结构,提供多种感受野。3)使用SE结构,增强有用特征,抑制无用特征。4)加入基于框的语义监督,增强提取到特征的语义信息。

图五

FPN是指将深层特征经过放大,融合到低层特征中,以增强低层特征的语义信息。我们在这个基础上,将融合后的特征做了一些处理,以使其适应检测任务。我们观察到网络的anchor box并不全是1:1的,还可以有1:2,1:3,2:1,3:1,但是已有网络的卷积核都是MxM。我们引入inception+SE结构,一方面在其中加入1x3,3x1的卷积核,使其能够更好地提取非正方形的特征,另一方面引入SE模块,让网络为每种长宽比的目标自动选择相应的特征。

语义分割方面,在很多文章中已经有证明,它对目标检测是有促进作用的。但是由于数据标注难度大,在实际项目部署过程中比较困难,所以我们采用基于框的语义信息,对网络语义特征提取进行监督。

VIM_SSD作者之一杨敏表示:“我们从2016年开始研究轻量级深度神经网络,并在多个实际项目中使用和部署,这次主要是想把项目积累的经验和方法在公开数据集上做一次尝试,也是对过去工作一次阶段性总结。”

中星微人工智能芯片技术公司董事长兼总经理张韵东表示:“中星微首次将安防监控应用经验与国际算法竞赛数据集相结合,使得嵌入式前端设备也能达到与云端智能相媲美的效果,取得了可喜可贺的成绩,但这只是一个的开始,相信未来会带来更多更精彩的内容。”

数据来源:

http://host.robots.ox.ac.uk:8080/leaderboard/displaylb.php?cls=mean&challengeid=11&compid=4&submid=17258

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-05-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 新智元 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档