2019-03-01 12:31:53

새로운 분야의 언어는 항상 낯설다. 처음 영상 처리 분야의 논문을 읽기 시작했을 때 많은 단어들은 나에게 외계어와 같았다. 영어라서 장벽이 있었던 것도 사실이지만, 그보다 더 큰 문제는 사전을 찾아서 뜻은 알아도 도대체 이 단어가 무엇을 의미하는 것인지 제대로 알기 힘든 경우가 많았다. 나같은 공대생에게 "current"라는 단어를 제시하면 "전류"가 먼저 생각날 것이다. 하지만 문과생에게는 "현재의, 지금의"라는 뜻으로 보일 가능성이 높다. 그러니까 어느 정도 그 분야에 대한 선지식이 없으면 영어를 잘해도 해석을 쉽사리 해내지 못한다. 


컴퓨터 비전 및 딥러닝 분야를 처음 접하는 사람들에게도 이런 경험이 많이 있을 것이다. 이미지 분류(image classification), 이미지 인식(image recognition), 물체 검출(object detection), 이미지 분할(image segmentation) 등의 단어를 처음 접할 때 아마도 분명하게 이해가 안될 것이다. 뭔가 알 것 같은데, 또 모르는 것 같기도 하다. 여러 자료를 확인하고 실제로 해본 이후에야 그 단어들의 뜻을 제대로 이해하는 경우가 많다. 


오늘은 이미지 분류와 물체 검출이 무엇을 의미하는지 또 그 차이점을 분명하게 집고 넘어가려고 한다. 



 이미지 분류(image classification


이미지 분류는 한 장의 이미지를 알고리즘에 입력해주면, 그 이미지가 어떤 클래스 라벨에 속하는지를 알려주는 것이다. 예를 들어, 어떤 이미지 인식용 알고리즘이 {펜, 휴대폰, 노트북}과 같이 3개 중 하나의 클래스 라벨을 가진 이미지들로 훈련되었다고 가정해보자. 그러면 이제 이 알고리즘은 이미지를 입력 받을 때마다 이 이미지가 셋 중 어떤 클래스 라벨에 속하는 지를 분류해낼 수 있다. 이미지를 보고 펜인지, 휴대폰인지, 노트북인지 말해줄 것이다. 설령 입력해준 이미지가 셋 중 아무 것도 아니라 할지라도 그나마 가까운 답을 이야기해 줄 것이다. 


그림1. 이미지 분류 예


그림1에서 사용된 입력 이미지에는 3개의 클래스 라벨인 노트북, 휴대폰, 펜이 모두 포함되어 있지만, 알고리즘은 가장 큰 비중을 차지하는 노트북을 클래스 라벨로 출력했다.


참고로 이미지 분류와 이미지 인식(image recognition)은 혼용되어 사용되곤 한다. 만약에 노트북을 분류해내는데 그치는 것이 아니라, 어느 브랜드, 어느 모델인지 까지 분류해낼 수 있다면 이미지 인식이라고 볼 수 있다. 



 위치 측정을 겸비한 이미지 분류(image classification with localization)


단순한 이미지 인식 알고리즘에 위치 측정 기능을 추가시킨 이미지 분류 알고리즘도 존재한다. 이러한 알고리즘은 이미지의 클래스 라벨이 무엇인지 분류해줄 뿐 아니라, 이미지 내에서 노트북이 어디에 있는지도 바운딩 박스로 알려준다.  


그림2. 위치 측정 겸비 이미지 분류 예


단순한 이미지 분류와 달리 노란색 바운딩 박스로 노트북의 위치도 추가적으로 알려줬음을 그림2에서 확인할 수 있다. 



▶ 물체 검출(object detection)


물체 검출은 이미지 내에서 알고리즘을 훈련시킬 때 사용된 클래스 라벨에 속하는 모든 물체를 검출하고, 그 위치들도 바운딩 박스로 알려준다. 만약 훈련된 클래스 라벨에 속하는 물체가 이미지 내에 없으면 아무 것도 검출해내지 않는다. 물체 검출은 객체 검출이라고 불리기도 한다. 


그림3. 객체 검출 예


그림3을 보면 노트북과 휴대폰과 펜을 검출해냈는데, 커피잔과 공책 등이 검출되지 않은 이유는 알고리즘을 훈련시킬 때 커피잔과 공책 등의 클래스 라벨을 가진 이미지들이 사용되지 않았기 때문이다. 훈련된 클래스 라벨에 대해서만 검출할 수 있다. 


물체 검출의 중요한 응용분야 중 하나는 바로 자율주행자동차(self-driving car)이다. 여러 카메라로 촬영되는 동영상 내에서 행인, 자동차, 표지판, 가로수, 신호등 등이 무엇이고 어디에 있는지를 끊임없이 확인해야하기 때문이다. 



▶ 글을 마무리하며...


글이 이해가 되셨거나 마음에 드셨다면, 공감을 눌러주세요.^^ 댓글은 언제나 환영합니다. 



<참고자료>

[1] https://hackernoon.com/micro-learnings-image-classification-vs-object-detection-the-difference-77110b592343 

[2] https://light-tree.tistory.com/75