按任务步骤推进,观察传统目标检测器如何从训练样本、窗口特征和级联分类器得到最终检测框。
用传统机器学习检测器找出图像中的单个目标区域。
当一张图里目标位置和大小都不确定时,只能回答“这个裁好的小窗口是不是目标”,没法直接说“目标在图的哪里”。检测任务需要把整张图拆成许多局部窗口,再逐个判断。
常用的处理办法是:用一个从左到右、从上到下扫过整张图,把每个窗口裁出来交给分类器;为每个窗口提取 Haar、HOG 或 LBP 等特征,把像素转成更稳定的数字;对重叠的检测框做,只保留最有代表性的结果;再用结构先快速排除明显不是目标的窗口,把精细判断留给少数可疑窗口。
拖动滑动窗口,比较当前窗口在原图的位置、提取出的特征响应和分类器输出;切换不同特征或级联阶段,观察哪些窗口被保留、哪些被过滤,理解整张图检测其实是很多局部判断的组合。
训练样本让分类器学会区分目标和背景;检测时,滑动窗口逐个检查图像位置, 每个窗口先提取 Haar 特征,再经过级联分类器过滤,最终保留候选检测框。
目标检测任务从原图开始,后续步骤会解释窗口怎样被判断为目标或背景。
从原图提取一个窗口区域,通过特征提取和分类器判定来判断是否包含目标。
每个窗口先被转换成可计算的特征值,分类器不直接理解“图像”,只读取这些数值。
多个级联阶段逐级过滤窗口,前级快速拒绝大量背景,后级只处理少量疑似目标。
HOG、Haar、LBP 是把窗口变成特征向量的方法;SVM、Cascade 是读取特征并判断目标/背景的分类器; 滑动窗口负责把这个判断过程应用到整张图。