2018-01-17 15:23:26

컴퓨터 비전을 연구하다보면 검출, 인식, 추적이란 단어들을 종종 접하곤 한다. 그러나 이 단어들의 차이가 명확히 이해가 안되어 웹서핑을 하며 정리를 해보았다. 그 중 가장 괜찮았던 정보는 역시 다크프로그래머님의 글[1]! 세 용어의 의미를 다음와 같이 나의 언어로 정리해보았다. 



검출(detection)이란 영상에서 대상(object)을 찾는 것이다. 사람의 얼굴을 찾든지, 보행자를 찾든지, 강아지를 찾든지, 자동차를 찾든지... 아래 그림1은 보행자 검출을 보여준다. 보행자 자체를 찾는 것이 목표지 그 사람이 정확히 누구인지 알아내는 것은 아니다. 


그림1. 검출 예(보행자 검출), 출처[2]


인식(recognition)이란 찾은 대상이 무엇인지 식별하는 것이다. 사람의 얼굴을 찾았다면 이 사람이 도대체 누구인지, 강아지를 찾았다면 쉐퍼드, 치와와, 골든리트리버, 시베리안 허스키인지, 자동차를 찾았다면 어느 회사 어떤 모델인지...

그림2는 얼굴 인식의 예를 보여준다. 얼굴을 찾아냄과 함께 누구인지도 알려준다. 


그림2. 얼굴 인식 예. 출처[3]


추적(tracking)이란 비디오 영상에서 특정 대상의 위치 변화를 추적하는 것이다. 영화에서 보면 특정 사람이나, 특정 자동차의 움직임를 계속해서 추적하는 어떤 프로그램들을 볼 수 있다. 바로 추적 기술이 사용된 것이다. 특정 대상에 대한 추적이 이뤄지려면 일단 검출과 인식의 과정이 선행되는 경우가 대부분일 것이다. 만약 현대의 소나타를 추적하려면, 일단 영상에서 자동차를 검출한 다음, 인식 과정을 거쳐서 소나타를 찾아내야지 그 다음부터 추적이 진행될 수 있다. 그림3은 추적의 예를 보여준다(동영상의 일부분 캡쳐, 계속해서 저 차를 추적한다). 


그림3. 자동차 추적의 예. 출처[4]


간단한 설명이지만, 누군가에게 도움이 되길 기대하며 글을 마친다. 제가 잘못 이해하고 있다면 꼭 피드백 해주시기 바랍니다! 




<참고 자료>

[1] http://darkpgmr.tistory.com/136?category=460965

[2] https://m.blog.naver.com/PostView.nhn?blogId=laonple&logNo=220912243990&proxyReferer=https%3A%2F%2Fwww.google.co.kr%2F

[3] http://www.dqindia.com/necs-video-face-recognition-technology-bags-first-rank-in-nist-testing/

[4] http://www.consortium.ri.cmu.edu/projTracking.php