一眼揪出你有没有超速!世界第一物件侦测技术:YOLOv4

一眼揪出你有没有超速!世界第一物件侦测技术:YOLOv4

“只要让我看一眼,我就知道这是什么!”(You Only Look Once,YOLO)YOLO,是目前当红的 AI 物件侦测演算法。中研院资讯科学研究所所长廖弘源及博士后研究员王建尧,与俄罗斯学者博科夫斯基(Alexey Bochkovskiy)共同研发最新的 YOLO 第四版(简称 YOLOv4),一举成为目前全世界最快、最高精准度的物件侦测系统,引爆全球 AI 技术社群,已改写物件侦测演算法的发展。究竟,他们对演算法动了哪些手脚?又是什么样的契机,开启这项研究?

产业出难题,学界来解题

故事是从产学合作开始。前几年,科技部提出“产学共创”机制:产业出题、学界解题,中研院合作对象义隆电子,出了一个考题给资讯所:如何增进十字路口的交通分析?也就是即时侦测车流量、车速等等。当时义隆电子已在十字路口架设监视器,包括全景摄影机及单一方向枪型摄影机,接下来最需要的,就是辨识车辆的物件侦测技术。

“但我们需要的不只是辨识车辆”,王建尧说。马路运行中的车速度很快,物件辨识必须非常即时,短时间内就能辨识出车辆,并能持续关注,计算车速。换句话说,这个技术对物件的侦测必须“快、狠、准”。此外,因为影像资料不断产生,如果把资料都上传云端运算,不但比较耗时,也会给云端电脑带来太大负担,因此这个侦测技术还得做到一件事──计算量必须够小,小到可装在十字路口监视器上的小型计算器, 即可完成物件侦测的任务。

要做到交通路况的即时分析,必须有一种速度快、能精准辨识,但又可应用在生活小型计算器的物件侦测技术。

YOLOv4 演算法就做到不可能的任务!它是目前世界最快、最精准的物件侦测演算法,又能小到放在十字路口的监视器内,已实际应用于如“智慧城市交通车流解决方案计划”,即时侦测车辆、停等车列、车速等等 。

物件辨识的阿基里斯腱:梯度消失问题

怎么办到的?首先,王建尧着手研究着名物件侦测系统 YOLOv3 ,“我们想找出建立物件侦测系统时,哪个步骤最关键?如果改善,效率和精确度会提升最多?”廖弘源强调:“虽然是工程问题,但我们要把科学思考带进来。”

先来认识物件侦测技术。它是卷积神经网络(Convolutional Neural Network, 简称CNN),具许多网络层,每层负责抽取某些图像特征。一个输入的影像通过层层层层层层……分析,最后找出最有可能的答案。理论上,层数越多,判断结果应该越精确。

一眼揪出你有没有超速!世界第一物件侦测技术:YOLOv4 AI与大数据 图2张

▲ 先教电脑定义每个影像的值,再透过神经网络的层层非线性函数运算,判断影像最可能为哪个数字,信心水准比值最高者为答案。(Source:李宏毅)

训练卷积神经网络的方法是:先倒入大量已标记正确答案的学习材料(如标记好各种车辆的图片),让机器学习如何判断。每次机器判断结果与正确答案不符,就将这个资讯回馈到前面网络层,调整每层参数,以期下次达到更准确的判断。

那么,哪步改善后可大幅提升表现?王建尧找到的关键是:学习的回馈过程。当卷积神经网络的网络层数愈多,在训练阶段因回馈计算方式,每回传一层就会损失一些资讯,越前面的网络层学到的东西越少,称为“梯度消失问题”(vanishing gradient problem)。

为了解决梯度消失问题,前人曾经提出 ResNet、DenseNet 等卷积神经网络,简单来说,即是将后面资料备份后往前“跳级”传递。以 ResNet 为例,可想像成“含水传话”,从最后一个人往前传,愈前面的人资讯愈缺失。但如果最后一层开始,每层都备份录音,再把录音跳过一层直接往前传,那么前面所有层都可接收资讯,前面网络层就不会学不到东西。

一眼揪出你有没有超速!世界第一物件侦测技术:YOLOv4 AI与大数据 图3张

▲ 上图为原始的卷积神经网络(CNN),假设只有 3 层,资料回传过程会逐层递减,称为梯度消失问题。下图为改良版 ResNet,从最后一层开始,每层都备份,再把备份越过一层“跳级”传递,前面网络层就能接收到后面的资讯。(Source:王建尧)

然而 ResNet 有太多重复拷贝,不但浪费计算量,且不同层的参数学习重复多余的资讯,换句话说,每层能学到的东西都差不多。“是否有更好的方式,不改参数量,让机器运算变快,省下来的资源(参数)还能让机器多学一点,提高精确度?”廖弘源说。

不只最快,还要最精准

2019 年年初,廖弘源与王建尧团队首先研发出局部残差网络 PRNet(partial residual networks,PRNet),将资讯“分流”,减少无谓计算量,使运算速度增加两倍。“一开始做出 PRNet,我还是觉得效果不够好。虽然减少计算量,大幅加快计算速度,但正确率和原本相比并没有提升太多。”廖弘源自信的说:“我觉得这样没什么意思,因为我们的目标,是做出全世界最好的物件侦测技术!”

2019 年 11 月,在 PRNet 的基础上,紧接着研发出跨阶段局部网络 CSPNet(cross stage partial network,CSPNet),利用分割─分流─合并路径,成功做到大幅减少计算量,又增加学习多元性的目标。

从 PRNet 与 CSPNet,一步步把物件侦测计算量减低,但学习却更多元,因此也得到更高精确度。

一眼揪出你有没有超速!世界第一物件侦测技术:YOLOv4 AI与大数据 图4张

▲ 以上为 CSPNet 简化结构的一部分,三色箭头代表机器学习过程,后面资料如何回馈往前传。设计重点在于资讯分流与多了过渡层(Transtion),让回馈的学习资讯在分流后产生差异,提高每网络层参数的利用率,目标是让机器学到更多样东西,提高判断精确度。另一方面因资料分流的关系,有部分直接往后传,不经过分析计算,使整个计算量变少,运算速度也因此加快。(Source:王建尧)

“我们发表 CSPNet 之后,吸引了 YOLO 技术的维护者博科夫斯基(Alexey Bochkovskiy)的注意”,廖弘源说。他们很快与博科夫斯基(Alexey Bochkovskiy)展开合作,将 CSPNet 用于开发新一代 YOLO,并于今年 4 月发表 YOLOv4,成为目前全世界最快、最准的物件侦测技术,引爆全球 AI 社群。廖弘源笑说:“我们 4 月发表的论文,短短不到 3 个月,阅读次数就超过 1,400 次,比我以往发表的任何论文都多。”关键技术正是 CSPNet。

此外,由于 YOLOv4 技术开源,各式各样的应用也如雨后春笋般快速出现。举例来说,YOLOv4 可即时侦测人们的社交距离,或是快速判断路上行人有没有戴口罩。

▲计算社交距离。

YOLO v4 甚至能辨识并捕捉滑雪中的人,廖弘源进一步解释:“滑雪的人姿势以及运动轨迹都不断变换,甚至可能抛物线飞起,侦测难度相当高,但 YOLOv4 都能关注非常精准。”

▲捕捉滑雪运动的人。

带学生的第一要求:把科学带进来

中研院资讯所所长廖弘源长期研究多媒体视讯处理,从鸡尾酒浮水印到脸部资料库、数位化影片修补等,再到这次 YOLOv4 物件侦测技术,研究成果卓越。每项成果背后,都是廖弘源带领资讯所前后届学生一起努力的成果。

想在廖弘源的实验室工作,可不是件轻松的事。他说:“做研究,不该只想着工程问题,应该本着科学家的精神,找出最具科学价值的关键下手。”许多学生一到廖弘源的实验室,必须将过去狭隘、僵化的工程解题模式打掉重练,重新以科学看待问题。例如本次 YOLOv4 的成功关键,即在于一开始问了个好问题,找到最值得改善的环节。

不论面对何种问题,我的第一个要求,就是把科学带进来。

尽管治学甚严,个性海派的廖弘源和学生也有亦师亦友的关系。他喜欢和学生一起找出好的研究议题后,一起埋首投入研究工作的热血感,也喜欢在研究遭遇瓶颈时,与学生一起“大吃一顿解忧愁”。如今学生遍布国际级知名公司与研究单位,持续发挥“廖式思考”的深刻影响力,开发更多如 YOLOv4 顶尖的科研成果。

虽然团队屡屡创造具商机的研究成果,但廖弘源对奖项或是申请专利等却看得很淡。“我的目的本来就不是赚钱,”廖弘源说:“我只希望我们对世界的好奇与探索,能真正转化为对人类的贡献。”

一眼揪出你有没有超速!世界第一物件侦测技术:YOLOv4 AI与大数据 图5张

▲ 左起为义隆电子叶仪皓董事长、中研院周美吟副院长、中研院资讯所廖弘源特聘研究员、中研院资讯所王建尧博士后研究员、科技部前瞻司杨琇雅司长、台大人工智慧研究中心陈信希主任、杜维洲执行长。(Source:中研院秘书处)

  • Enrich Variety of Layer-wise Learning Information by Gradient Combination
  • CSPNet: A New Backbone that can Enhance Learning Capability of CNN.
  • YOLOv4: Optimal Speed and Accuracy of Object Detection

(作者:郭雅欣、黄晓君;本文由 研之有物 授权转载;首图来源:pixabay)

   特别声明    本页内容仅供参考,版权终归原著者所有,若有侵权,请联系我们删除。