目标检测一直是计算机视觉的基础问题,在 2010 年左右就开始停滞不前了。自 2013 年一篇论文的发表,目标检测从原始的传统手工提取特征方法变成了基于卷积神经网络的特征提取,从此一发不可收拾。

本文将跟着历史的潮流,简要地探讨「目标检测」算法的两种思想和这些思想引申出的算法,主要涉及那些主流算法,no bells and whistles.

概述 Overview

在深度学习正式介入之前,传统的「目标检测」方法都是 区域选择、提取特征、分类回归 三部曲,这样就有两个难以解决的问题;其一是区域选择的策略效果差、时间复杂度高;其二是手工提取的特征鲁棒性较差。

云计算时代来临后,「目标检测」算法大家族主要划分为两大派系,一个是 R-CNN 系两刀流,另一个则是以 YOLO 为代表的一刀流派。下面分别解释一下 两刀流 和 一刀流。

两刀流

顾名思义,两刀解决问题:

1、生成可能区域(Region Proposal) & CNN 提取特征
2、放入分类器分类并修正位置

这些算法等离不开 Region Proposal ,即是优点也是缺点,主要代表人物就是 R-CNN 系。

一刀流

顾名思义,一刀解决问题,直接对预测的目标物体进行回归。
回归解决问题简单快速,但是太粗暴了,主要代表人物是 YOLO 和 SSD 。

无论 两刀流 还是 一刀流,他们都是在同一个天平下选取一个平衡点、或者选取一个极端—— 要么准,要么快。

两刀流的天平主要倾向准,一刀流的天平主要倾向快。

但最后万剑归宗,大家也找到了自己的平衡,平衡点的有略微的不同。

接下来我们花开两朵各表一支,一朵 两刀流 的前世今生,另一朵 一刀流 的发展历史。

两刀流 R-CNN

R-CNN 其实是一个很大的家族,自从 rbg 大神发表那篇论文,子孙无数、桃李满天下。在此,我们只探讨 R-CNN 直系亲属,他们的发展顺序如下:

R-CNN -> SPP Net -> Fast R-CNN -> Faster R-CNN -> Mask R-CNN