前面的文章概略描述物件侦测技术对推动产业智能化至关重要,近年核心技术也由传统做法提升为深度学习,带来更多突破。
接下来我们要面对这些技术转化为产品时会遭遇怎样的问题?如何克服?特别是过去几年有幸协助开发各式应用,看到了这当中的一些盲点。
最关键的问题是正确率。正确率的描述非常笼统,一般我们会更细分为precision(P)以及recall(R),前者代表所回报的物件中有多少比例是正确的,比如说画面中框列了10辆车子,有几辆是对的;后者代表实际的物件标的中找到多少比例,例如画面中有10辆车子,实际框列了几台。
如果P跟R都是100%的话代表这是完美的系统(没有误判、没有缺漏),一般无法达到,所以在开发过程中为了理解各个技术元件或是比较各方法间的效能,我们会画出所谓的PR curve,呈现不同情境下的P跟R。
一般而言,PR curve底下的面积越大时,代表系统的效能越好(也就是P跟R可以在较高的情境下共存)。
我们很难设计单一演算法P跟R都是完美无缺。一般在检测环境(AOI、自驾时)中比较在乎recall,所以会刻意将所有可能物件挑出,但是会造成P下降(多了假警报),解决方法是接续使用其他演算法再进行过滤,剔除误判,或是利用其他信号源再确认,比如说使用雷达信号标定可能物件之后,再使用摄影机辨认是否为车辆。
在某些应用中比较在乎precision,可以牺牲recall。例如查找系统中。寻找大量照片时,因为使用者不清楚有多少真实标的(例如:狗)存在,我们只需将有把握的标的呈现出来,并按照信心度排序,就能满足使用者的需要。一般推荐系统也是采用这样的策略,确保使用者的满意度。
物件侦测正确率不高是什麽原因?在产品开发上我们当然建议使用开源软件,降低开发时间。但即使是最前瞻的研究成果,在产品使用上还是有很多问题,其中最关键,也是大家通常忽略的是所谓「anchor」的设定。
大部分的物件侦测演算法都会使用anchor,代表几组不同长宽比的矩形,类似于物件外框的模板,用来标定物件外框。因为这些演算法(通常是学术界所开始的)都测试在公开数据集,所以anchor的设定一般都是优化这些数据集中的物件,而其中的物件大小、长宽比例、视角等与实际场域中差异相当大,所以正确率无法提升。
例如公开数据集内的人大都是站立的,而实际场域中姿态变化较多。尤其是在AOI检测上更会遇到这样的状况,通常瑕疵的长宽比跟一般常见物件的比例是不同的,或是光学文字识别(OCR)时得先框出文字范围,再行识别,而这些文字区间的长宽比差异甚大。
解决anchor在实际场域上的限制,可以试着修改或是增减需要的anchor种类。不过另一种常见的作法是直接使用anchor-free的策略(如FCOS),不使用缺省模板,在侦测时,以某个基准点,往外推估可能物件的长宽,在实际使用上有不错的效能。
公开数据集中物件样貌与场域中有很大的差异(例如人脸数据库中大都未配戴眼镜),所以实际场域的数据还是得收集,当然越多对产品效能越好。
之前我们大都使用国外的数据标注服务,近来国内社福企业结合身障人士提供类似服务,几次合作下来,也呈现不错的工作品质。另在时间与成本考量下,有其他方法可以善用未标注的数据,可以参考之前的文章。
除了使用公开数据集外,也可以善用网络公开信息(在未侵权的情形下)收集数据。例如之前曾经看过的案例是利用美国购车(新车、二手车)网站上各种车辆的完整分类、各角度的照片等,用来增益车辆侦测的数据。
降低耗能、效率提升绝对是必要的,特别是在深度学习技术结合低耗电智能芯片呈现极佳的产业机会。有许多方法在之前文章都已经提过,混搭使用之后在各个情境下都可以达到产品的要求,可以做为参考。我们也观察到智能技术逐渐由云端落地到多样的终端产品上,智能化的资通讯设备绝对是我们产业再提升的机会。
徐宏民(Winston Hsu)现任富智捷(MobileDrive)技术长暨副总经理以及台大信息工程学系教授。哥伦比亚大学电机博士,专精于机器学习、大规模影像视讯查找与识别。为讯连科技研发团队创始成员,慧景科技(thingnario)共同创始人,NVIDIA AI Lab计划主持人;曾任IBM华生研究中心客座研究员、美国微软研究院客座研究员。习惯从学术及产业界的角度检验技术发展的机会;十余年产学合作及新创经验。曾获2018 IBM Research Pat Goldberg Memorial Best Paper Award 、2018伪装人脸识别冠军、杰出信息人才奖、吴大猷先生纪念奖等国内外研究奖项。