2022.05.11 입니다
1.2. 객체 탐지? ¶
- 컴퓨터 비전 분야에서 흔히 object detection이라고 불림
- 오래 전부터 연구되어 온 주제이며, 2012년 alexnet이란 딥러닝 네트워크가 등장하기 전까지도 많은 방법이 시도되어 왔음
- 이번 발표는 딥러닝 이후, 즉 r-cnn 이후를 중심으로 다룰 예정임
1.3. 이미지 분류 ¶
- 컴퓨터 비전의 가장 중요한 작업은, 당연하게도 이미지를 분류하는 작업이고, 객체 탐지 또한 이미지 분류 문제를 포함함
- 이미지 인식의 문제는 영상의 다양성에서 비롯됨. 사진이 찍힌 위치, 빛, 자세 등에 따라 컴퓨터는 같은 종류의 이미지를 아주 다르게 인식함
- 이를 해결하기 위해 데이터 기반의 방법론이 등장함. 가장 대표적인 것이 kNN 분류기이고, 이 분류기는 각각의 test 데이터의 주변에 어떤 클래스의 train 데이터가 가장 많은지를 판단해서 분류함. - 직관적인 분류기
- kNN보다 조금 더 효율적인 svm은, 데이터를 기반으로 선형 분류기를 만드는 방법임 (기본적으로 svm은 이진 분류기임)
- 다만 위의 두 방법 모두 raw-pixel을 사용하기 때문에 성능은 둘 다 그렇게 좋지 못함
1.4. 특징 추출 ¶
- 그래서, 분류 이전에 그 이미지의 특징을 추출하는 작업이 선행되어야 함. 딥러닝 이전에는 이미지의 gradient를 사용해 특징을 추출하기도 했음.
- 딥러닝 또한 결국은 특징을 추출하는 네트워크임. 이미지가 들어오면 특징 벡터를 출력하는 변환기, 또는 함수라고 봐야 함.
- 이미지 분류에서 좋은 성능을 보이는 딥러닝 네트워크인 cnn이 등장한 후, 이를 어떻게 객체 탐지로 일반화시킬 수 있을지에 대한 연구가 이어짐. 그 과정에서 최초로 나온 논문이 r-cnn이고, 머신러닝 기법과 딥러닝 기법을 동시에 활용해 객체를 탐지하는 방법을 제시함.
1.5. 객체 탐지 ¶
- 객체 탐지에서 수행해야 할 작업은 결국 두 가지임.
- 객체의 위치를 잡고,
- 그 위치의 객체가 무엇인지 판단
- 객체의 위치를 잡고,
- 위에서 계속 분류에 대한 이야기를 했으니, 이제 객체의 위치만 나오면 그 부분만 짤라서 cnn에 넣으면 특징 벡터가 나오고, 그럼 svm이든 kNN이든 분류기를 사용해 분류하면 됨
- 남은 건 객체가 어디있는지 찾는 문제이고, selective search나 sliding window 방법을 사용하면 해결할 수 있음.
- 그리고 2000개의 roi(regoin of interest) 중 괜찮은 것들로만 추리는 작업(non maximum suppression)이 이뤄지면 정말 끝임