Deformable Part Model 实现细节

Overview

Step 1. Compute filter responses to the feature pyramid

Each level of features (e.g. 46) is convolved with every stored part filters (e.g. 54), the result subsequently goes to the corresponding filter entry in model.symbols struct. Therefore each model.symbols{i}.score is a 1x46 cell.


Step 2. Apply deformation and structural rule

Deformation rule is applied first to each part filter (e.g. 54). New scores are saved to corresponding model.rules{i}.score, together with Ix and Iy


Structual rule is applied at last.

In current model, the number of structural rules equal to the number of component.

They are aggregated into one rule which is indicated by model.start.


Dynamic Prgramming is implemented during the realisation of structural rules


Step 3. Parse resulting scores to find optimal solution (can be multiple hypotheses)


Some Implementation Details

symbols <---> rules: 1-to1 correspondence

symbols 只有两种:terminal 和nonterminal

terminal symbol refers back to one entry in filters. In other words, terminal == filter


Run Time Variables

1. model.symbols{i}.score: 第i个filter对所有特征金字塔的响应。e.g. 1x46 cell。在filter_responses中被初次计算

2. model.rules{i}.[score | Ix | Iy]:应用第i条规则后的新的score值,以及位置信息。

3. model.scoretpt: TBD


function symbol_score

 - 对Deformatable Rule,只是简单的把新的score值放回symbols{i}.score中

 - 对Structure Rule,找出最大值(好像!)


你可能感兴趣的:(Deformable Part Model 实现细节)