새소식

반응형
AI/ML*DL Study

ML(Machine Learning) 짧은 Review

  • -
반응형

이미지 프로세싱 쪽을 공부하다보면 자연스럽게 머신러닝을 접하게 됩니다.

 

특히 요즘처럼 스마트폰 카메라와 AI를 적용한 어플리케이션들이 나오면서 관심이 있는 분들은 관련 기술분야를 찾다보면 더 빠르게 접하셨을 겁니다. 

 

이번 글은 이미지 프로세싱쪽을 개발하면서 봤었던 머신러닝 몇가지를 리뷰해보고자 합니다. 

 

1) Face Detection 알고리즘 "Haar like-features"

"Haar like-features"는 SW교육에 많이 활용했던 Face Detection 알고리즘 입니다.

[Viola2001] P. Viola and M. J. Jones, "Rapid Object Detection using a Boosted Cascade of Simple Features," In Proc. of CVPR 2001.

 

그림에서 보이는 A,B,C,D와 같은 얼굴의 명암비 정보를 가지고 있는 여러 개의 검출기를 순차적으로 사용하여 사람의 얼굴위치를 찾아냅니다.

처음에는 간단한 검출기를 적용하고 점점 더 어려운 검출기를 적용하게 됩니다.(Cascade)

 

쉽게 이해하자면, 사람의 얼굴에는 눈, 코, 입, 이마 등 각 부위의 굴곡에 따라 각각 특정 명암이 생기게 됩니다. 이런 얼굴의 명암비 정보를 ML로 학습하여 얼굴의 위치를 찾아내는 것이죠. 

 

심플한 만큼 빠르고 성능도 괜찬은 편이지만, 동양인의 경우 실제 성능보다 떨어질 수도 있습니다. 아무래도 서양인의 얼굴 명암비를 기준으로 데이터셋이 구성되어있다보니 상대적으로 얼굴의 콧대,눈덩이 이런 부분이 차이가 나겠죠?

그리고 가장 큰 단점은 명암비로 얼굴을 찾는 방식이다 보니 빛에 영향을 많이 받는 알고리즘입니다. 어두운곳에서는 명확히 성능이 떨어지죠, 그렇지만 상황과 조건에 따라서는 괜찬은 성능을 발휘하는 알고리즘이라고 생각합니다. 

 

 

2) HOG(Histogram of Oriented Gradient)와 SVM(Support Vector Machine) 

2013년도에 현대자동차에서 주관하는 자율주행자동차경진대회(AVC)대회에 참여했던적이 있었습니다. 그때 HOG와 SVM을 사용해야 될일이 있어서 학부생때 열심히 공부했던 생각이 납니다. 

 

HOG와 SVM은 객체검출을 할때 많이 사용했던 방법중 하나 입니다.

[Dalal2005] N. Dalal and B. Triggs, "Histograms of oriented gradients for human detection," In Proc. of CVPR 2005.

HOG 같은 경우는 어떤 물체 영상이 갖는 지역적인 gradient(edge 방향) 분포(histogram) 특성을 추출하여 물체를 식별하는 방법인데, 보행자 뿐만 아니라 승용차, 트럭 등 다양한 물체 검출에 적용할 수 있는 일반적인 방법입니다.

 

위 그림에 대한 설명을 간단하게 드리자면

1. Image nxn씩 영역 추출 -> 2.영역에 대한 기울기(Gradients) 계산 -> 3. 기울기(Gradients)의 히스토그램

이렇게 한 객체에 대한 기울기 정보들을 수집하게 됩니다. 

사람이나 집이 가지는 기울기 Histogram의 정보는 다를겁니다. SVM을 이용해서 입력되는 정보에서 수집된 히스토그램 정보와 비교하여 사람이나, 자동차 등을 검출하게 됩니다.

 

 

반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.