Sep 21, 2009

NOTE 0909

1. KLT tracker, cvCalcOpticalFlowPyrLK is an implementation of this tracker without the affine consistency check. lkdemo.c is an example.
根据 statue 来判断哪些点 tracked,哪些点 lost.

2. stip detector
使用三层金字塔,空间上 factor 2 downsampling,在每层上采用固定的scale {sigma, tau}进行检测三维 Harris 角点度量的极值,实际上相当于空间的 scale 很多个。
如给出的可执行程序中,2 个 sigma, 2 个 tau, 因此共有 6 个 sigma。
描述的时候采用前面的 scale,分为 3x3x2,共18 个 local 立方体,HOG 为 4个bin,因此为72D feature.

cvExtractSURF
看看数据结构

cvFindHomography
perspective transformation between the object plane and image (view) plane
参见 learning OpenCV


graph segmentation by P. Felzenszwalb

加入 kvutil

Recognition by Association via Learning Per-exemplar Distances
4 kinds of features to describe region
Matlab code(matlab\dfuns\kv_dfuns.m)
color
shape
texture (整张图片先 filter bank 滤波,再统计 region 里面的 mean 和 std. filter bank 参见 piotr toolbox)
location

good sift implementation in Matlab and C
sift description in Custom Keypoints. both in this code and mylib kvutil.


region descriptor 一般来说都是图像 r = f(I),one or several responses in each pixel. then calculate statistics on the region.
比如 covariance matrix feature,Fast Human Detection from Videos Using Covariance Features
统计 region 上选定的 feature 的 covariance.





background subtraction
1. "Efficient adaptive density estimation per image pixel for the task of background subtraction"
Z. Zivkovic , F. van der Heijden

c 和 matlab 版本均可以
假如 kvutil
2. D:\vs\emvisi2
Making Background Subtraction Robust to Sudden Illumination Changes
效果貌似很好,编译好,但不知道怎么用

GIST:
The amount of perceptual and semantic information that observers comprehend within a glance (about 200 ms) refers to the gist of the scene (for a review, Oliva, 2005).
另一篇03ICCV论文,是比较简单的。 Matlab code, use filter bank to filter the image, and down sample the filtered output to wxw size, say that the number of fiters is N, then the length of feature is w*w*N*c, where c is number of channels



Mean shift and camshift
mean shift 用于在 kernel density estimation 找到最大值。是一个循环过程,因为 mean-shift vector 和 gradient 方向一致,所以采用 mean shift vector.

1. Choose a search window:
• its initial location;
• its type (uniform, polynomial, exponential, or Gaussian);
• its shape (symmetric or skewed, possibly rotated, rounded or rectangular);
• its size (extent at which it rolls off or is cut off ).
2. Compute the window’s (possibly weighted) center of mass.
3. Center the window at the center of mass.
4. Return to step 2 until the window stops moving (it always will).*

camshift: continuous adaptive mean shift
It diff ers from the meanshift in that the search window adjusts itself in size.

camshift 4 个步骤:
  1. Create a color histogram to represent the face
  2. Calculate a "face probability" for each pixel in the incoming video frames
  3. Shift the location of the face rectangle in each video frame
  4. Calculate the size and angle
参见 opoencv/sample, camshift demo
注意,例子中使用的是 cvCalcBackProject (单个 pixel 的颜色),区分 patch backprojection (patch 的 color histogram)

[1] learning opencv 中对于 mean shift, camshift

0 comments: