在深度学习未爆发之前,传统目标检测算法是分阶段进行的,如2010年的DPM算法,流程如下所示:

59aae4e3718ed9dba287a245b3f84b4e.png
图1 传统目标检测流程

1.区域选择

区域选择阶段采用滑动窗口对图像遍历产生候选区。由于无法穷举所有可能性,通过设置不同尺度、不同长宽比的滑动窗口来减小搜索的次数。虽然约束了搜索规则来减小滑动窗口的数量,但是时间复杂度仍然很高,冗余窗口太多,导致后续的特征提取工作量大大增加和总的分类速度变慢。

2.特征提取

特征提取使用SIFT、HOG、LBP算子。但是在实际图像中,检测目标的形态是多种多样的,光照条件复杂,背景千变万化,传统算子很难适应如此复杂的条件,导致提取的特征很差。特征如果提取不好,会导致后续分类器的分类效果不好。

3.分类器

对图中每个类分别训练一个相应的二分类器(LinearSVM或Adaboost)。将前面每个候选区域提取到的特征传递给每一个分类器,综合判断进行分类。

综上所述,影响传统目标检测算法效率的主要问题在于区域选择和提取特征这两个阶段。一是基于滑动窗口的区域选择策略没有针对性,导致窗口冗余;二是传统算子对于多样性的变化很难适应。

4.后处理

见目标检测中通用概念。

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐