[출처 : CS231n 강의자료]
최근 센서의 증가로 시각적 데이터들이 엄청나게 쏟아지고 있습니다. 이러한 시각적 데이터를 컴퓨터가 이해하고 분석할 수 있도록 알고리즘을 개발하는 연구를 컴퓨터 비전이라고 합니다. 컴퓨터 비전은 다양한 분야와 연결되어 있고, 여러 분야에서 활발히 연구가 이루어지고 있습니다.
시각은 대부분의 생물에게 가장 중요한 감각기관 중 하나이며, 사람 역시 시각에 들어오는 정보를 처리하기 위해서 약 50% 이상의 뉴런들을 활용합니다. 일찍이 학자들은 시각의 중요성을 깨닫고 다양한 방면으로 연구를 진행했습니다. 그리고 이러한 연구들이 오늘날 Computer Vision 연구에 큰 영향을 미치게 됩니다.
Hubel과 Wiesel은 생물의 시각적 매커니즘에 대한 연구로, 시각 정보 처리가 인간과 유사한 고양이의 뇌에 전극을 꽂고 실험을 했습니다. 실험 결과, 고양이의 시각 피질은 테두리가 움직일 때 크게 흥분하는 것을 알 수 있었습니다. 최종적으로 이들은 '시각은 테두리와 같은 단순한 구조부터 시작해서 점점 복잡한 요소들을 처리하며, 마지막엔 input을 실제로 인식할 수 있다.'라고 결론을 내렸습니다.
[출처 : CS231n 강의자료]
이 시기에 들어서면서 본격적으로 시각으로 보이는 입체적인 물체들을 단조롭게 표현하고 재구성하는 연구를 시작합니다.
또한 MIT에서는 시각체계를 구성해서 컴퓨터가 이미지를 인식하게끔 만드는 Summer Vision Project를 진행하기도 했습니다.
[출처 : CS231n 강의자료]
MIT의 과학자 David Marr는 'VISION'이라는 책을 저술하면서 컴퓨터 비전 연구를 어떻게 진행해야하는지 방향성을 제시했습니다.
[출처 : CS231n 강의자료]
그는 이미지가 3D 표현에 도달하기 까지는 여러 단계를 거쳐야 한다고 말합니다. 우선 이미지가 들어오게 되면 모서리, 가장자리, 꼭지점 등을 파악하는 Primal Sketch를 지나게 됩니다. 이 후, 표면 정보, 레이어, 깊이 정보 등을 파악하는 '2 1/2_D Sketch'에서 여러 정보들을 종합한 뒤에 최종적으로 3D 모델을 만들 수 있습니다. 이 방식은 굉장히 이상적인 사고 방식으로 지난 수 십년간 컴퓨터 비전 연구의 근간이 됐습니다.
학자들은 객체 인식 문제를 해결하기 위해서, 시각적 세계를 단순하게 재구성하거나 인식하는 방법 등 여러 시도를 했으나 현실적으로 많은 발전은 없었습니다. 이 때부터 학자들은 객체 인식을 하기 전에 객체 분할을 하는 것이 도움이 될 것이라고 생각하고 객체 분할에 대해서 연구를 시작했습니다.
[출처 : CS231n 강의자료]
이 시기에는 머신러닝 기법들이 큰 성장을 이뤘습니다. SVM, Boosting, 초기 Neural Network 기법이 크게 발전했습니다. 그 중 Vision에서 가장 큰 기여을 한 연구는 AdaBoost를 사용한 실시간 얼굴인식이었습니다.
이 시기 가장 영향력 있는 연구는 Feature를 기반으로 한 객체 인식 알고리즘이었습니다. 대표적인 연구가 David Lowe의 SIFT였습니다. 일반적으로 이미지는 카메라의 각도, 조명, 시점 등의 영향으로 객체의 변형이 일어날 수 있습니다. 하지만 이러한 변화에도 변하지 않는 Feature들이 있습니다. 이 Feature들을 찾아 객체들을 매칭하는 방법이 SIFT입니다.
[출처 : CS231n 강의자료]
인터넷과 디지털 카페라 기술의 성장으로 Computer Vision을 연구하기 좋은 환경이 만들어지고 있었다. 또한 Feature의 중요성을 발견하면서 이전에 미뤄뒀던 객체 인식문제를 다시 언급했다. 객체 인식에 대한 문제를 해결해보고자 사람들은 좋은 데이터셋을 모으기 시작했다. 그런 의도로 만들어진 데이터셋이 바로 PASCAL Visual Object Challenge와 ImageNet이다.
[출처 : CS231n 강의자료]
ImageNet은 기존의 머신러닝에서의 Overfitting 문제( 데이터 부족 및 시각 데이터의 복잡함 )에 대한 해결과 일반화 능력을 높이기 위해 만들어진 가장 큰 이미지 데이터셋입니다. 총 22K의 카테고리와 14M 개의 이미지이며 이 데이터 셋을 가지고 ILSVRC(ImageNet Large Scale Visual Recognition Challenge)를 개최합니다.
[출처 : CS231n 강의자료]
대회 결과 에러율은 점점 줄어드는 것을 확인할 수 있습니다. 여기서 주목해야할 시점은 2012년도로 처음으로 CNN이 나온 해입니다. 그 당시 에러율은 전년도보다 10%나 줄어든 것을 볼 수 있습니다. 하지만 CNN은 갑자기 나온 알고리즘이 아닙니다. 이미 1998년도부터 제안된 알고리즘이었지만, 양질의 데이터 부족과 컴퓨터 연산 능력의 부족이라는 한계가 존재했던 것입니다.
[출처 : CS231n 강의자료]
하지만 최근 GPU의 개발과 양질의 데이터셋이 만들어지면서 CNN은 Computer Vision의 여러 분야에서 그 성능을 인정 받게 됩니다.