目标检测的相关知识

当你使用支付宝“刷脸支付”时,你是否好奇过你的手机是如何认出你的?这得益于计算机视觉的蓬勃发展。计算机视觉是一门教计算机如何“看”世界的学科。计算机视觉包含多个分支,其中图像分类、目标检测、图像分割、目标跟踪等是计算机视觉领域最重要的研究课题。本文将介绍目标检测的相关知识,并提供一些有趣的实例帮助理解。
一、什么是目标检测
目标检测,用通俗的语言来讲,就是通过编写程序,让计算机从一张图片中找出感兴趣的目标,并确定它们的位置和类别的方法。目标检测包含两个任务:(1)判定图像上有哪些目标物体,将它们进行分类。(2)判定图像中目标物体在哪里,并确定它们的准确位置。如图1-1所示,目标检测算法关注的是“猫”这一特定目标物体,图像中不但检测出了一只猫,还准确地框出了这只猫在图像中的位置。
二、目标检测中的核心问题
目标检测共有以下四个核心问题:(1)目标可能出现在图像的任何位置;(2)目标有各种不同的大小;(3)目标有各种不同的形状;(4)光照、遮挡等因素的干扰。如图2-1所示,在这幅图中,人脸被口罩所遮挡。
三、目标检测算法简介
首先我们来介绍深度学习方法。简单来说,深度学习就是把计算机要学习的东西看成一大堆数据,把这些数据丢进一个复杂的、包含多个层级的数据处理网络(深度神经网络),然后检查经过这个网络处理得到的结果是否符合要求——如果符合,就保留这个网络作为目标模型,如果不符合,就一次次地、锲而不舍地调整网络的参数设置,直到输出满足要求为止。
图3-1 深度学习体系[1]
随着深度学习的发展,目标检测领域也开始使用深度学习方法。基于深度学习的目标检测方法总共分为两类:一阶段目标检测算法和两阶段目标检测算法,如图所示。
图3-2 目标检测算法分类
一阶段目标检测算法可以实时检测,不需要产生候选区域,可以直接输出目标的位置和类别。最具代表性的一阶段目标检测算法有yolo系列算法。
yolov1(you only look once)算法在2016年首次提出,yolov1算法只进行一次预测,却能直接输出目标的位置和类别,比其他基于深度学习的目标检测方法速度更快,缺陷在于准确度不算很高。后续提出的yolov2与yolov3在yolov1基础上做了很大的改进,提升了目标检测的准确度,yolo系列算法在多个领域都得到了广泛的应用。图3-3是使用yolo系列算法进行目标检测的一个实例,仅仅使用了一个非常简单的卷积网络,就可以同时标出目标的位置和所属类别的可能性大小。
图3-30yolo算法检测系统[2]
两阶段目标检测算法将目标检测分为两个阶段:首先对原图进行处理,产生较多的候选框,在各个候选框内寻找目标的位置并分类。这种方法精度较高,但是速度较慢,不能实现实时目标检测。最具代表性的两阶段目标检测方法是r-cnn, fast-rcnn,faster-rcnn, fpn等。图3-4是两阶段目标检测算法r-cnn的检测系统图,它先在图像上产生大于2000个候选框,再通过一个卷积网络,最后得到目标的精确位置和目标的类别。
图3-4 r-cnn算法检测系统[3]
综上,一阶段目标检测算法适合对实时性要求较高、但对精度无过高要求的应用场景,而二阶段目标检测算法与此相反,适合对精度有较高要求,但不要求实时检测的应用场景。随着技术的发展,二阶段目标检测算法也越来越追求速度与精度的平衡。
✦  +
+
四、目标检测的应用场景
目标检测是计算机视觉最基本的问题之一,具有极为广泛的应用,下面简单介绍三种典型的应用场景,分别是人脸识别、智能交通和工业检测。
1.人脸识别
使用支付宝进行“刷脸支付”就是一种典型的人脸识别技术。人脸识别是基于人的面部特征进行身份识别的一种生物识别技术,通过采集含有人脸的图像或视频,对检测到的人脸进行识别。图是使用支付宝进行“刷脸支付”的示意图。
图4-1 刷脸支付示意图
人脸识别系统主要包括四个部分,分别为人脸图像检测、人脸图像预处理、人脸图像特征提取以及身份匹配与识别,流程如图所示。其中人脸图像检测是进行后续识别的基础,这就是目标检测在人脸识别中的应用。
图4-2人脸识别系统流程图
近年来,人脸识别技术已经取得了长足的发展,目前广泛应用于公安、交通、支付等多个实际场景。
2. 智能交通
自动驾驶技术是一种广为人知的智能交通应用。如图所示,自动驾驶技术中的目标检测主要包含对道路、车辆以及行人的检测,对交通标志物以及路旁物体的检测识别。主流的人工智能公司,如百度、华为、大疆等,都很重视自动驾驶方面的研发,目前已经初步实现了受限路况条件下的自动驾驶,但距离实现不受路况、天气等因素影响的自动驾驶(l4级别),还有相当长的一段距离。
图4-3 目标检测在自动驾驶中的应用
除了自动驾驶技术,目标检测也可以帮助解决道路拥堵问题。通过目标检测算法,对道路上的相机采集的视频图像进行分析,根据相应路段的车流量调整红绿灯的时间,可以避免大规模的拥堵。
目标检测也可以帮助公安部门追踪嫌疑人或嫌疑车辆。如图,通过目标检测算法,锁定嫌疑车辆的特征,可对他们进行全程轨迹追踪。
图4-4 目标检测在公安侦察方面的应用[6]
从根本上看,交通场景中各种具体应用的底层实现,都是以目标检测技术为基础的。
3.工业检测
在产品的生产过程中,由于原料、制造业工艺、环境等因素的影响,产品有可能产生各种各样的问题。其中一部分是外观缺陷,即人眼可识别的缺陷。在传统生产流程中,外观缺陷大多采用人工检测的方式进行识别,不仅消耗人力成本,也无法保障检测效果。图4-5是利用yolo算法对电路板外观缺陷进行检测的示意图,利用目标检测算法,可以准确地锁定 哪里产生了缺陷,产生了什么缺陷。
图4-5 yolo算法检测电路板的外观缺陷[7]
工业检测利用计算机视觉技术中的目标检测算法,把产品在生产过程中出现的裂纹、形变、部件丢失等外观缺陷检测出来,可以提升工厂的生产效率。


关于英特尔在自动驾驶领域的推进和进步
RADIO ENERGIE法国雷恩传感器
领邦仪器CEO:工业检测需要颠覆式创新
小米与中国联通联合推出小米WiFi6路由器
华为:120多家知名应用商加入HarmonyOS生态建设
目标检测的相关知识
AI自动驾驶前途无量,Waymo估值激增1000亿美元
群创宣布推出5.99寸折叠屏模板 摊开秒变7.8寸平板
电源电路图分享
短波红外传感器+半导体激光器扩展短波红外成像生态系统
LED电子显示屏,LED电子显示屏工作原理是什么?
太阳能电池基本特性与性能参数详解
一个SDSoC设计开发流程需要哪些步骤呢?
微软重大改变!Windows10将每年进行两次大更新!
配电网组成及特点/体系结构/SCADA系统
华为Mate9成首款搭载Alexa语音助手的安卓机
电机控制器中PSoC的探究与应用
如何在Linux使用unzip命令合并解压分卷文件
LeetCode 394:字符串解码
Verilog是编程语言吗