TIL 2023-03-16

곽태욱·2023년 3월 16일
0

Faster R-CNN

https://youtu.be/jqNCdjOB15s

R-CNN

객체 탐지 신경망이다. 입력된 이미지에서 픽셀 단위로 유사성을 구해 합쳐나가는 방식으로 selective search를 수행한다. 그럼 이미지 상에서 객체일 법한 영역이 여러 개 나오는데, 이를 모두 동일한 크기로 만들어 CNN에 넣어줘서 나온 feature map을 기존에 준비된 여러 SVM에 넣어 클래스를 구분한다. 동시에 feature map을 bounding box regressor에 넣어줘 객체 영역의 정확도를 높여준다. Bounding box regressor는 사전에 여러 클래스에 대해 객체 영역의 너비.높이.중심 데이터로 학습하기 때문에, 특정 객체 영역의 클래스가 정해지면 해당 영역의 정확도를 좀 더 개선해준다.

근데 입력된 이미지의 픽셀 단위 유사성을 계산하는 알고리즘이 CPU 상에서 동작하기 때문에 1번 객체를 탐지하는데 초단위로 걸린다는 단점이 있다.

Fast R-CNN

R-CNN의 속도를 개선한 모델이다. R-CNN과 비슷하게 입력 이미지의 각 픽셀에 대해 인접 픽셀과의 유사도를 계산해 유사한 픽셀 영역을 하나로 합치는 selective search 알고리즘을 사용해 bounding box 후보를 구한다.

하지만 Fast R-CNN은 R-CNN과 bounding box를 추리는 과정에서 차이를 보인다. Fast R-CNN은 bounding box를 추릴 때 입력 이미지를 CNN에 거쳐 생성된 feature map에서 진행한다. R-CNN은 bounding box 후보를 매번 CNN에 넣어 확인한 반면, Fast R-CNN은 CNN보다 크기가 작은 feature map으로 bounding box 후보를 추리기 때문에 연산 속도가 빠르다는 장점이 있다.

그리고 Fast R-CNN은 객체 영역의 클래스를 찾아내기 위해 SVM이 아니라 softmax 함수를 사용한다. softmax 함수를 거쳐 나온 결과값 중 가장 확률이 높은 클래스를 해당 객체 영역의 클래스로 본다.

Faster R-CNN

Faster R-CNN does not use selective search algorithm. Instead, it chooses bounding boxes using Window Sliding method. The window sliding gets bounding boxes sliding several size of windows from top to bottom, from left to right, and identifies bounding boxes using the pre-trained classifier whether it's object or not. Then label the several kind of bounding boxes returned from the window sliding method using the softmax function, and increase accuracy of width, height, x coordinate, y coordinate of bounding boxes using the regressor.

profile
이유와 방법을 알려주는 메모장 겸 블로그. 블로그 내용에 대한 토의나 질문은 언제나 환영합니다.

0개의 댓글