DPM是非常具有代表性的目标检测算法,熟悉dpm的原理并至精通,对于DPM的训练与识别优化,算法改进具有重要的意义:
这里先简单开头一个段子,后续将以理解的形式,发出帖子:
dpm大致流程:
// 初始化模型beta (beta为模型参数向量,由根滤波器、部件滤波器、形变系数等组成)
for(int i = 0; i < max_iterations; i++) // 外层循环采用坐标下降类似算法,在Z(p), model beta两个大层次变量之间循序渐进坐标下降,达到最优收敛(警惕坐标下降导致的局部最优)
{
(1)// 遍历所有正样本,为每个正样本找到最优(分数最高)的位置
(2)// 难例挖掘hard examples data-mining, 在train another new model(beta)与更新难例cache之间重复进行
// train采用gradient descent算法
}