개체 제안 알고리즘은 이미지에서 개체의 가능한 위치를 찾는 데 사용됩니다.
개체 제안 알고리즘은 이미지 내의 여러 영역을 제안합니다. 이러한 영역은 이미지 내의 개체에 대한 가능한 위치로 제안됩니다.
객체 제안 알고리즘은 크게 세 가지 유형으로 분류됩니다.
- 선택적 검색: 선택적 검색 알고리즘은 이미지에 있는 개별 픽셀을 기반으로 다양한 크기와 색상의 영역을 만듭니다. 이러한 각 영역은 개체가 존재할 가능성이 있는 영역으로 제안됩니다.
- Edge Boxes: Edge Boxes 알고리즘은 이미지 내의 경계 또는 가장자리를 찾아 개체 위치 가능성이 높은 영역으로 제안합니다. 이를 위해 에지 정보를 사용하기 때문에 속도가 빠르고 특히 작은 물체 감지에 강하다.
- RPN(Region Proposal Networks): RPN 알고리즘은 딥 러닝을 기반으로 개체 제안을 수행합니다. CNN(Convolutional Neural Network)을 통해 입력 이미지를 전달한 후 이 알고리즘은 각 위치에서 개체의 확률과 위치를 예측합니다. 이를 바탕으로 확률이 높은 객체 영역을 제안합니다.
각각의 알고리즘은 장단점이 있으며, 사용할 문제나 상황에 따라 적절한 알고리즘을 선택하여 사용한다. 일반적으로 RPN 알고리즘은 최근 객체 감지에서 가장 강력한 알고리즘으로 인식되고 있다.
CNN은 Convolutional Neural Network의 약자로 이미지 분류 및 객체 인식과 같은 작업에 사용되는 딥 러닝 모델입니다.
CNN의 개체 감지 작업은 두 가지 주요 단계로 나눌 수 있습니다.
1. 지역 제안
먼저 이미지 내에 존재하는 개체의 가능한 위치를 찾습니다. 이를 지역 제안 단계라고 합니다. 이미지에서 2,000개 이상의 점을 찾은 후 일반적으로 개체를 포함할 가능성이 있는 100개 이하의 점을 선택합니다.
이를 위해 일반적으로 R-CNN, Fast R-CNN 및 Faster R-CNN과 같은 알고리즘이 사용됩니다. 이러한 알고리즘은 이미지의 각 위치에 개체가 있는지 여부를 예측하는 데 사용됩니다. 이 시점에서 범위 제안 필드라고 하는 이미지의 각 위치를 나타내는 필드가 생성됩니다.
2. 물체 감지
다음은 영역 제안 상자에 존재하는 객체를 인식하는 단계입니다. 이것을 객체 감지 단계라고 합니다. CNN 모델이 사용됩니다.
CNN 모델은 이미지를 입력으로 받아 여러 층의 컨볼루션을 통해 기능 맵으로 변환합니다. 이 특징 맵은 이미지에 존재하는 다양한 특징을 추출하고 이를 기반으로 객체 인식을 수행한다.
개체 감지 단계에서 각 지역 제안 상자는 CNN 모델에 대한 입력으로 사용됩니다. 특징 맵으로 변환되면 CNN 모델은 여러 계층의 감지를 통해 개체의 확률과 위치를 예측합니다. 그러면 영역 제안 상자에 있는 개체가 감지됩니다.
따라서 CNN의 핵심 원리는 이미지의 각 위치에서 서로 다른 특징을 추출하여 객체를 인식하는 것입니다. 이를 위해 Region Proposal Box와 Detection Layer를 이용하여 object detection을 수행한다.