科技时报 全球最新科技资讯专业发布平台

中星微AI刷新WIDER FACE人脸检测世界记录

2019-01-14 11:03:49已围观次来源:互联网编辑:夏雪

  摘要:近日,中星微AI自研的人脸检测算法VIM_FD,在世界数据规模最大的权威人脸检测平台 WIDER FACE的人脸检测竞赛一举夺得世界第一,彰显中星微AI在人脸识别领域的创新能力和先进性。

  近日,中星微AI自研的人脸检测算法VIM_FD,在世界数据规模最大的权威人脸检测平台 WIDER FACE的人脸检测竞赛一举夺得世界第一,彰显中星微AI在人脸识别领域的创新能力和先进性。这是中星微AI首次斩获人脸检测领域的世界第一的名次,也是中星微AI在检测领域,阶段性的重要研究成果。

  WIDER FACE是目前业界公开的数据规模最大(约40万人脸标注)、检测难度最高的人脸检测数据集之一。数据集中人脸尺寸大小变化、拍照角度引起的人脸姿态变化、人脸遮挡、化妆、光照等多种因素,给人脸检测带来了极大的挑战。近年来,WIDER FACE逐渐超过FDDB成为研究机构和公司争相挑战的业界标杆。

  中星微AI研发的VIM_FD算法以0.967的优异得分,依次超越了曾经的人脸检测霸主百度人脸检测深度学习算法PyramidBox(0.961),腾讯优图提出的DSFD 算法 (0.966),以及曾经的世界冠军华为云的人脸算法FDNet(0.959)

此照片是世界上人数最多的自拍合影,VIM_FD检测到其中890张人脸

WIDERFACE评测结果曲线图(转自WIDER FACE官网),其中第一排为验证集结果,第二排为测试集结果。

  中星微AI提出的VIM_FD人脸检测算法,采用了STC、STR模块设计思想,融合多层特征,以综合高层、低分辨率、强语义等信息来提高了边框定位的准确率,同时利用低层、高分辨率、弱语义信息来增强网络对小目标的处理能力。此外,还采用Attention机制来提供高语义意义和类感知的特征,激活和校准用于目标检测的特征图。值得一提的是同样的算法模型不经过任何调优,在FDDB Continuous Score评测指标下也全面领先国内外几乎所有的竞争对手和高校研究机构,证明了其优异的泛化能力。

VIM_FD算法框架

  中星微人工智能董事长张韵东表示“近年来推出的“星光智能系列”前端AI芯片,采用先进的模型训练,裁剪,压缩方法,在精度几乎不损失的前提下,能自动部署到前端嵌入式产品中,实现前端嵌入式深度学习人脸检测、前端嵌入式深度学习人脸关键点检测、前端嵌入式深度学习视频结构化、前端嵌入式深度学习行人再识别(reID)、前端嵌入式深度学习行人分割、前端嵌入式深度学习目标跟踪、前端嵌入式深度学习多类型目标跟踪等突破性前端人工智能技术,并实现大幅减轻运算服务器的压力以及主干网的传输压力。”

中星微人工智能董事长张韵东

  张总说明:“中星微AI考虑到不同场景的数据规模,导致单一处理器无法满足各场景的全部数据运算需求,多模计算,多核架构是AI处理器发展的一个趋势,多模计算包括三种场景模式:应对大数据场景的深度学习算法;应对小数据场景的传统智能算法;基于抽象逻辑思维的、用来处理逻辑推理程序的场景。为了支持多模计算,芯片本身就要通过多核来实现:应对于大数据的深度学习算法通过NPU来实现,应对于小数据的传统智能算法通过DSP来实现,应对于处理逻辑推理程序的场景通过CPU来实现。一枚芯片中三个核心功能,将多个处理器产生足够的数据分析互动,形成紧耦合强相关的闭合回路。来支持人工智能分析和运算。这就是后摩尔时代的集成电路发展趋势。”

  中星微AI在视频安防监控领域具有多年的应用经验,为国内外众多客户提供了视频安防监控芯片和技术支持,积累了丰富的应用经验,其新一代人工智能芯片方案在安防监控领域、前端智能化应用领域,和嵌入式应用领域不断领跑。

  未来,中星微AI还将继续深入聚焦人工智能技术与芯片研发的融合,厚积薄发,在产业层面实现更多突破。


window.onload = function (){ var oLi = document.getElementById("tab").getElementsByTagName("li"); var oUl = document.getElementById("ms-main").getElementsByTagName("div"); for(var i = 0; i < oLi.length; i++) { oLi[i].index = i; oLi[i].onmouseover = function () { for(var n = 0; n < oLi.length; n++) oLi[n].className=""; this.className = "cur"; for(var n = 0; n < oUl.length; n++) oUl[n].style.display = "none"; oUl[this.index].style.display = "block" } }}