히스토그램처럼 균일한 간격으로 주어진 데이터에서 피크 값의 위치를 찾기 위해서는 먼저 노이즈 제거를 위해 몇 번의 smoothing 과정을 적용해야 한다 (구체적인 방법은 필요에 따라 다양하다). smoothing 과정을 거친 히스토그램에서 피크 위치를 찾는 것은 쉬운 작업이다. 그런데 경우에 따라 그 위치를 sub-order까지 구해야 필요가 생긴다. 예를 들면, 실수 값 데이터 시퀀스 대한 히스토그램을 만들려면 먼저 정수로 양자화시켜야 가능하다. 이 양자화된 정보를 담고 있는 히스토그램에서 피크의 위치를 찾으려 할 때 양자화 과정에서 잃어버린 정밀도를 복원하려면 interpolation을 써야 한다. 간단하게 parabolic 근사로 피크의 위치를 찾는 경우를 생각하자. 이 방법은 수학적으로 단순하지만 영상처리 알고리즘에서 많이 이용이 되고 있다. 데이터 시퀀스가 균일한 간격에서 주어졌으므로 계산은 $-1, 0, 1$의 세 군데 위치에서 중앙 근방에 피크가 나타나는지를 고려하면 된다. 세 점에서 히스토그램 값이 각각 $h_m, h_0, h_p$일 때 이들을 지나는 이차 곡선의 피크 위치를 찾자. 주어진 이차 곡선을

$$y = a  (x - c)^2 + b$$

꼴로 쓰면 $c$가 0에서 벗어난 정도를 나타낸다.

$$(-1, h_m) \quad \rightarrow \quad h_m = a(-1-c)^2 +b; \\(0, h_0) \quad \rightarrow \quad h_0 = a c^2 +b; \\ (+1, h_p) \quad \rightarrow \quad h_m = a(+1-c)^2 +b; $$ 이므로 $$h_m - h_p = 4ac, \\ h_m + h_p -2 h_0=2 a,\\ \therefore ~c = \frac { h_m - h_p}{2(h_m + h_p -2 h_0 )}$$

아래 코드는 피크의 위치가 중앙점에서 벗어난 정도를 준다.

bool parabolicInterpolate(double hm, double h0, double hp, double *c) {
      double a = hm + hp - 2 * h0;
      if (a >= 0) return false; // not a parabola(a==0), not convex up(a>0);
      *c = 0.5 * (hm - hp) / a;
      if (*c < -0.5 || *c > 0.5) return false; //  too far;
      return true;
}
728x90

'Image Recognition > Fundamental' 카테고리의 다른 글

Least Squares Fitting of Circles  (0) 2020.11.11
Integer Sqrt  (0) 2020.11.11
Histogram Matching  (0) 2012.11.03
삼각형의 외접원: 외접원의 중심 2  (9) 2012.10.20
삼각형의 외접원: 외접원의 중심  (0) 2012.10.19
Posted by helloktk
,

  1. Shooting Methods for 2-Point Boundary Value Problems  
    Jonathan Thornburg,  Max Planck Institut für Gravitationsphysik, Berlin, Germany
  2. Two Point Boundary Value Problems. Solution Methods.  
    R.D. Poshusta, Chemistry Dept., Washington State University, Pullman, WA
  3. The Shooting Method  
    Reza Fotouhi-Chahouki, Dept. of Mechanical Engineering, Univ. of Saskatchewan, Canada
  4. The Shooting Method for 2-Point BVP's  
    J. R. White, Chemical & Nuclear Engineering Dept., University of Massachusetts, Lowell, MA
  5. A Overview of the Shooting Method  
    Adept Scientific plc, Herts, SG6 1ZA, UK
  6. The Shooting Method  
    Juan Restrepo, Math. Dept, Univ. of Arizona, Tucson, AZ
  7. The Shooting Method, Nonlinear Case  
    Juan Restrepo, Math. Dept, Univ. of Arizona, Tucson, AZ
  8. Boundary Value Problems ... Shooting Method  
    Paul Heckbert, Computer Science Dept., Carnegie Mellon University, Pittsburgh PA
  9. Boundary Value problems ... Shooting methods  
    Jun Ni, Department of Mechanical Engineering, Department of Civil Engineering, The University of Iowa
  10. Shooting Method   
    Heinrich Kirchauer, Institute for Microelectronics, Technical University of Vienna
  11. Shooting  
    E. Bruce Pitman, Math. Depat. State University of New York, Buffalo, NY
  12. Shooting method     
    Stuart Dalziel, University of Cambridge, Cambridge, England    
728x90
Posted by helloktk
,