- 2019년 9월 24일 오후 5:48
- 조회수: 2585
REFERENCES
INFORMATION
- 2019년 9월 27일
- 오후 1시 ~
- 고려대학교 신공학관 218호
TOPIC
OVERVIEW
발표자 후기
이번 세미나는 object detection과 관련된 논문인 Faster R-CNN을 리뷰하는 시간을 가졌다.
Object detection은 1-stage detector와 2-stage detector 두개로 나누어져 있는데 Faster R-CNN은 그중에 2-stage detector에 해당한다.
그래서 이번주 세미나는 Object detection에 가장 기본이 되는 모델을 R-CNN을 설명하는것으로 시작했다. 최초로 CNN를 가지고 object detection을 하였다. CNN을 적용하였을때 월등히 좋은 성과를 보여주었지만 여전히 느리고 정확도도 잘 나오지 않았었다. 이러한 문제를 해결하기 위해 나온 모델이 Faster R-CNN이다. CNN에 image를 하나하나 넣는것이 아니라 CNN을 완료한 후 마지막에서 region proposal을 하기때문에 시간을 훨씬 절약할 수 있고 CNN은 gpu에서 돌릴 수 있으므로 Fast R-CNN보다 훨씬 빠른 성능을 가진다. 물론 Faster R-CNN보다 더 좋은 성능을 내는 알고리즘들이 존재하지만 그러한 알고리즘을 공부하기위해서 미리 공부해볼 수 있다는 점에서 재미있게 준비한것 같다.
이번 세미나를 준비하면서 느낀점은 논문을 읽는 것도 중요하지만 object detection처럼 자세한 설명이 안나와 있는것들은 현구형이 말한것 처럼 직접 데이터를 가지고 코드를 돌려보면서 이해하는것이 많은 도움이 될 것 같다. 처음으로 세미나를 발표해서 부족한점도 많고 긴장해서 자세히 설명을 못하였던것 같았는데도 열심히 들어준 DMQA연구실 모든 분들과 교수님에게 감사하다.
청취자 후기
금주 세미나는 object detection을 위한 Faster-RCNN에 대한 주제로 진행되었다. 세미나에서는 R-CNN, Fast R-CNN에 대해 간략하게 소개하고, Faster-RCNN의 특징과 장점에 대해 설명했다. Object detection은 크게 bounding box기반과 segmentation기반으로 나눌 수 있으며, 최근에는 bounding box보다는 segmentation을 주로 사용한다고 알고있다. 오늘 세미나에서 소개된 모델들은 bounding box기반 접근 방식으로, 제안되었을 당시 가장 좋은 성능을 나타냈던 모델들로 알고있다. Object detection이 어떤 방향으로 연구되어 왔는지를 알아보는 데 좋은 기준이 되는 것 같다. Object detection의 전반적인 내용에 대해 자세히 다뤘으면 더 좋은 내용이 되었을 것 같다.
금일 세미나는 진혁 오빠가 ‘Toward Real-Time Object Detection with Region Proposal Networks’라는 주제로 진행했다. 객체 탐지를 목적으로 하는 RCNN부터 Fast RCNN, Faster RCNN까지 세 논문을 다루며, 객체탐지 알고리즘의 흐름과 점차 개선되는 과정을 살펴볼 수 있었다. 먼저, 객체 탐지란 주어진 이미지에 어떠한 객체가 어디에 있는지를 산출하는 것을 목표로 한다. 이 때, '어떠한 객체'인지를 탐지하기 위해 분류 알고리즘이 사용되며, '어디에 있는 객체'인지를 탐지하기 위해서는 회귀 알고리즘이 사용된다. 따라서 단일 이미지가 입력값으로 사용될 때, 분류 알고리즘에 대한 이진 분류 값(2개의 산출물), 회귀 알고리즘으로 부터 도출된 중심점의 위치좌표(2개), 바운딩 박스 크기 좌표(2개)값이 최종 산출물이 되는 형태이다. 초기 제안된 RCNN은 타겟영역을 찾기 위해 region proposal을 찾는 과정에서 랜덤하게 후보군을 설정하고, pretrained CNN을 통해 변수 추출을 하는 모델 구조인데, 이런 경우 각 region proposal에 대해 CNN feedfoward연산이 매번 발생하고, 추가적인 분류기(SVM)를 가져야하는 한계점이 있다. 이러한 한계점을 보완한 Fast RCNN은 전체 이미지에 대해 먼저 CNN을 통한 변수 추출을 진행한 뒤에 region proposal을 찾도록 설계하여 conv연산 횟수를 줄여 속도측면에서 획기적인 개선을 가져왔다. 하지만 여전히 region proposal을 찾는데에는 비효율적인 selective search방법론을 사용한다는 것이 한계점이었고, 이러한 한계점을 개선하여 region proposal을 보다 합리적으로 제안하는 모델을 추가하여 적당한 후보군에 대해서만 탐색을 진행하는 알고리즘이 최종적으로 소개한 Faster RCNN이다. 평소에 객체 탐지에 대해서는 개략적인 목적에 대해서만 알고있었는데, 금일 세미나를 통해 실제 알고리즘 구현이 기술적으로는 어떻게 진행되는지에 대해서도 궁금해졌다. 또한 실제 알고리즘을 우리가 흔히 사용하는 앱으로 구현하기 위해서는 real time으로 예측이 이루어져야하기 때문에 이런 비전 연구들이 예측성능 뿐만 아니라 모델 구현 속도, 연산 효율성 관점이 굉장히 중요한 이슈라는 것이 흥미로웠다. 금일 첫 세미나 발표를 진행해준 진혁오빠의 바람처럼 오빠가 객체탐지에 꾸준히 관심을 갖고, 더불어 훌륭한 연구로 이루어지기길 응원한다.
Object detection란 이미지 내에서 객체를 찾아내고(localization) 객체의 클래스를 분류하는(classification) 복합 문제다. 이때 Localization은 회귀문제로서 객체가 포함된 bounding box 위치(모서리x,y좌표/높이/너비) 정보를 예측해야 한다. 이 단계에서 모델은 input 이미지에 하나의 객체만 있을 것으로 기대하지만 실제 대부분의 이미지는 여러 객체가 혼재 되어있다. 따라서, 원본 이미지의 일부분 중 객체가 있을 만한 부분만을 input으로 넣어주는 작업이 필요하다. Brute Force로 원본 이미지 전체를 훑으며 넣어주는 것은 시간 복잡도를 O(Width*Height//slide_size)로 증가시므로, 결국 ‘원본 이미지의 어떤 부분을 어떻게 선별(regional proposal)’해서 input으로 주느냐가 Object detection 의 주 병목 지점이라고 볼 수 있다. RCNN에서의 Regional Proposal은 원본 이미지 국소 특징을 색, 명암, 무늬 요소에 기반한 유사도로 여러 번의 segmentation 거쳐 최종 input region을 뽑아내는데 이는 굉장히 시간이 많이 걸리는 부분이다. 나아가 최종 분류/회귀 단계에서 SVM / NerualNet 두 모델을 같이 씀으로서 전체 모델이 복잡해지고 backpropagation으로 한 큐에 해결하지 못하는 아쉬움이 남게 된다. 이를 위해 Faster RCNN에서는 Regional Proposal을 CNN에 바로 넣어 난 뒤의 feature-map을 base로 사용하였고, 나아가 CNN 내부에서 regional proposal을 진행하여 fast RCNN보다 성능을 향상시켰다. 이러한 Regional Proposal Network layer 의 추가로 최종 “박스 위치정보/ 객체 클래스” 뿐만 아니라 RPN 내부의 “.regional candidate 위치정보/ 객체 여부” 에 대해 고려함으로써, 총 4개의 loss로 전 모델이 Neural Network 역전파로 한 큐에 학습을 할 수 있다. 마지막으로, 평소 computer vision에 별 관심을 두지 않아 CNN 정도만 알고 있었는데, 개인적으로 색다른 자료를 소개해준 진혁이에게 고맙다.
이번 세미나의 주요 내용은 object detection에 대한 개념 설명과 관련 논문인 Faster R-CNN을 리뷰하는 것이었습니다. 간단하게 이해한 것들을 정리해보면 Object detection의 개념과 목표는 input으로는 이미지 데이터를 받고 output들로는 ‘어떤’ 종류의 객체인지 분류해주는 것과 ‘어디에’ 위치하는지를 최대한 정확하게 출력하고자 하는 것입니다. 이러한 기법은 자율주행 자동차 분야나 OCR(Optional Character Recognition, 이미지에서 글자를 인식하여 출력하는 것) 분야 등 다양한 곳에서 중요하게 활용되고 있어 더욱 흥미롭게 들을 수 있었습니다.
Object detection에 대한 개념을 정립한 이후에는 이 문제를 해결하기 위한 알고리즘에 대해 알아보았습니다. 지난 여름에 진행한 한화-딥러닝 교육에서 배웠던 것과 같이, 2014년 전까지는 CNN을 활용하지 않고 HOG-like feature(histogram of oriented gradients)을 이용한 알고리즘으로 object detection 문제를 풀어내다가 CNN을 접목시킨 R-CNN의 등장으로 관련 분야에 획기적인 변화를 가져오게 되었습니다. CNN을 활용한 알고리즘의 성능이 기존의 것들보다 훨씬 뛰어났기 때문입니다. 또한 오늘 세미나에서 다룬 Faster R-CNN 또한 R-CNN을 기반으로 탄생한 알고리즘인 만큼 R-CNN에 대한 정확한 이해가 중요하다고 생각하였습니다. 감사하게도 금번 발표자분께서 R-CNN에 대한 개념과 한계점에 대해 잘 설명해주시고 Faster R-CNN으로 넘어가는 흐름을 잘 짚어주어 이해하는 데 큰 도움이 되었습니다. 주요한 내용은 다음과 같습니다.
1. R-CNN 알고리즘의 input은 이미지 데이터이고 output은 박스로 영역이 표시되는 Bounding Box(좌표)와 객체에 대한 라벨링 값입니다.
2. 박스의 위치를 찾는 데에는 selective search라는 알고리즘이 사용되었으며, 이 알고리즘을 간단하게 설명하면 수많은 박스를 만들어보고 객체가 있을 법한 후보(region proposal)을 제안하는 방식입니다. 앞서 설명한 input의 이미지 데이터에 region proposal이 적용되어 알고리즘에 제공되는 것입니다.
3. 객체 분류에는 SVM을 활용하여 나타내어 줍니다.
다만, R-CNN은 아래와 같은 몇가지 문제점을 가지고 있습니다. 첫째로, 매번 selective search를 통해 이미지에 대한 region proposal을 계산해주어야 했습니다. 둘째로 특징 추출, 객체 분류 그리고 회귀 모델을 통한 위치 찾기를 담당하는 3가지 모델이 제각각 진행되어 전체적인 알고리즘 수행 시간이 꽤 걸리는 부분이었습니다. 마지막으로 back propagation이 적용되기 어려워 전체적인 모델의 업데이트가 힘들었습니다. 이와 같은 문제점들을 해결하기 위해 나온 것이 바로 Fast R-CNN과 Faster R-CNN입니다. 주요한 아이디어는 아까 언급한 제각각의 모델들을 한 네트워크 안에 구성하여 한번에 처리되게 만드는 것과 region proposal을 CNN내부에서 진행하는 것입니다. 이러한 방법을 활용하여 효과적으로 알고리즘 수행 시간을 단축할 수 있었습니다.
이후에도 관련 논문들이 상당히 많이 나오고 있으며 object detection 분야의 엄청난 발전 또한 함께 이루어지고 있습니다. 이번 세미나를 통해 관련 분야에 대해 알고 이해할 수 있어서 뜻 깊은 시간이었습니다.
이번 세미나는 진혁이가 object detection을 주제로 발표하였다. 주 내용은 R-CNN을 시작으로 모델이 더 빠르고 정확한 학습을 위해 Faster R-CNN으로 어떻게 개선되어 왔는지에 대한 리뷰였다. 이미지에 단순 객체 종류만 타겟으로 레이블링 되어있고 CNN 모델이 이를 sliding window 방식으로 모든 영역에 대하여 학습하게 되면 비효율적으로 학습이 진행되게 된다. 그래서 물체가 존재할만한 영역을 빠르게 탐지하기 위해 selective search 기반의 region proposal을 적용하여 후보 영역을 찾고 해당 영역을 CNN으로 feature을 학습하는 모델이 R-CNN이다. R-CNN은 어떤 영역(위치)을 보고 분류하였는지에 대한 학습을 하게끔 bounding box regression과 SVM 분류기를 사용하여 class classification을 각각 수행하게 된다. 학습은 region proposal과 target의 loss를 감소하는 방향으로 이뤄진다. 이러한 복잡한 구조를 후보 영역을 랜덤 샘플링한 후 미니베치를 구성한 후 Multitask loss를 줄이는 방향으로 학습하게끔 과정을 단순화하여 속도를 상승시킨 알고리즘이 Fast R-CNN이다. Faster R-CNN은 reason proposal을 별도 알고리즘이 아닌 CNN 내부의 Network(RPN)를 설계하여 수행하게끔 만든 점이 기존 알고리즘과 가장 큰 차이점이다. RPN은 window에서 bounding box의 후보로 사용하는 anchor box에 객체가 존재하지 않는지에 대한 binary classification을 수행하고 bounding box regression으로 위치를 보정하게 된다. 여러 단계를 거치지 않고 end to end 구조로 프로세스를 단순화하자는 아이디어를 RPN으로 구체화 시킨 점이 흥미로웠다.
비전 쪽 연구나 프로젝트를 하지 않아서 object detection을 자세히 알지는 못했는데, 진혁이가 bounding box 기반의 object detection 알고리즘의 발전 흐름을 잘 정리해준 것 같다. 연구실에서 관련 프로젝트를 진행하고 있는 만큼 나도 관심을 갖고 공부를 좀 더 해봐야겠다는 생각을 했다. 또한 더 발전된 알고리즘인 segmentation 기반의 알고리즘들도 공부해보고 싶어졌다. 첫 세미나를 열심히 준비해서 잘 발표해준 진혁이에게 감사하다. 진혁이가 오늘 세미나를 좋은 기회로 삼아서 더 많은 관심을 갖고 좋은 연구를 했으면 하는 바람이다.
오늘 세미나의 주제는 object detection 중 R-CNN, Fast R-CNN, Faster R-CNN 이었다. Object detection은 이미지에서 정해진 물체(차량, 사람 등)을 박스 형태로 인식하고 인식된 부분을 이미지 상에서 표시해주는 방법론이다. R-CNN는 이미지 중 Region of interest(RoI)에 CNN을 통과시켜 나온 값들을 이용하는데, SVM으로 개체명 분류를 하고 regression을 통해 박스의 위치를 구한다. 개체명 분류만 하는 것 보다 박스의 위치를 찾는 것을 동시에 하였을 때 더 높은 정확도를 보였다. Fast R-CNN의 경우 CNN으로 축소된 Featuremap을 RoI로 사용하여 찾는 시간을 줄였고, SVM 대신 Softmax를 사용하는 것으로 CNN 업데이트의 효율성을 높혔다. Faster R-CNN의 경우 anchor Box라는 개념을 도입하여 object로 인식될 확률이 높은 부분만 계산을 하게 되어 더욱 빨라졌다. 최종적으로 R-CNN에 비해 탐색할 부분을 줄이고 softmax(분류)와 regression에서 각각 업데이트가 가능하게 되어 더 빠르고 좋은 방법론이 탄생했다.
object detection 분야는 패키지가 잘 되어 있어 쉽게 사용할 수 있는데 이론적으로 기초 모델부터 알 수 있었던 세미나였다. 비전 분야는 결과가 눈에 보이기 때문에 항상 흥미로워 보이는 것 같다. 연산 속도을 보고 빠른거 아닌가? 라는 생각도 들었는데 발표자가 말한 것 처럼 자율주행같이 real time으로 적용되야 하는 분야에서는 더 정확하고 빠른 알고리즘이 필요할 것 같다.
오늘 세미나는 Faster R-CNN 을 주제로 진행하였다.Object Detection 은 사진이나 영상 속에 있는 특정 클래스를 탐지하는 기술이다. 단순히 객체의 존재여부만 판단하는 것이 아니라 해당 객체가 어떤 위치에 존재하는지 까지도 확인이 가능하기 때문에 자율주행등 영상처리가 필요한 분야에서 필수적인 기술이다. 여러가지 방법론이 존재하지만 오늘 세미나에서는 Faster R-CNN 에 집중하여 진행되었다. 초기의 R CNN모델은 CNN 모델에 제안영역(RP) 를 추가한것으로 랜덤하게 추출된 제안영역을 기준으로 CNN feature 를 추출하고 이로부터 바운딩박스와 클래스를 예측하도록 학습된다. 하지만, 제안영역이 많고 예측작업이 시간이 많이 소요되어 실시간 영상처리에는 부족함이 있다. 이를 극복하기 위해 제안된 Fast R-CNN 에서는 CNN feature 과정을 RoI Pooling 으로 대체하고 예측부분도 기존의 SVM 대신에 FCN 으로 변경하여 성능과 속도를 개선하였다. 더욱 개선된 모델인 Faster R-CNN 은 RoI Pooling 에서 객체 존재여부를 확인하는 RP 네트워크를 추가하여 학습속도를 개선한 모델이다. 초기모델대비 250배 수준의 속도 개선을 이루긴했지만 0.2초 수준의 예측 속도는 실시간 영상처리에 부족함이 있어보인다. 오늘 세미나에서 다룬 R-CNN 들의 발전 과정과 각 방법론의 특징을 통하여 Faster R-CNN 방법론에 대해 잘 이해할수 있었다. 실생활과 밀접한 관계가 있는 분야인만큼 앞으로도 많은 발전이 있을것으로 생각되며 영상인식이 아닌 다른 도메인에서는 어떻게 적용될수 있을지 고민해볼수 있었던 유익한 세미나였다.
금일 세미나는 object detection 중에서'Toward Real-Time Object Detection with Region Proposal Networks’라는 주제로 진행되었다. 최초 RCNN 부터 시작하여 Fast RCNN , Faster RCNN 순서로 진행 되었고 각각의 단점을 극복하여 개선되는 과정을 알수 있었다. object detection 은 주어진 이미지에 어떠한 객체가 어디에 있는지를 찾고 이 객체의 클래스를 분류하는 것을 목표로 한다. 최초 RCNN 은 selective search 를 이용하여 후보 영역을 찾고 해당 영역을 CNN 으로 feature 학습 하는것이었다. 이는 어떤 위치를 보고 분류 하였는지 알 수 있게끔, bounding box regression 을 사용하고 SVM 분류기를 이용하여 클래스를 분류 하였다. 이는 selective search 에서 뽑아낸 2000개의 이미지를 CNN 모델로 들어감으로써 너무 느린 속도를 보여 주었다. 이를 개선 하기 위해 fast RCNN 이 개발 되었는데 처음부터 proposal 된 이미지를 CNN 거치는 것이 아니라 한번 전체 이미지를 CNN 으로 거친 후에 출력된 feature map 에서 객체 탐지를 하였고 클래스 분류를 softmax 로 변경 하였다. 출력된 feature map 에서 ROI(Regions of Interest) 를 적용하여 속도를 개선 시켰지만 여전히 bottleneck 문제가 있다. 그래서 개선 된 점이 RPN(Region Proposal Network) 도입이다. CNN 내부의 Network(RPN)를 설계하여 수행하게끔 만든 것이다. CNN 의 결과로 RPN 을 학습시키고 나온 PR 로 RPN 을 제외한 나머지를 학습시킨다. 그 이후 나온 모델에서 RPN 을 다시 학습 시키고 이를 또 RP 로 다시한번 모델을 학습 시킨다. 이러한 Regional Proposal Network layer 의 추가로 최종 “박스 위치정보/ 객체 클래스” 뿐만 아니라 RPN 내부의 “.regional candidate 위치정보/ 객체 여부” 에 대해 고려함으로써, 총 4개의 loss로 전 모델이 Neural Network 역전파로 한 큐에 학습한다. bounding box의 후보로 사용하는 anchor box 에 객체가 존재하지 않는지에 대한 binary classification 을 수행하고 bounding box regression 으로 위치를 보정한다.
Object detection 이 무었인지 알게 해준 진혁이에게 감사하다.
[세미나주제]
Faster RCNN
[세미나를 통해 얻은 지식]
- Object Detection을 위한 RCNN, Fast-RNN, Faster-RCNN이 개념
[세미나 Good Point]
- Object Detection을 위한 합성곱 신경망 기반 모델의 변화 과정 및 동작 방식의 차이 이해
[세미나 소감]
- 이미지 처리에 있어 CNN은 가장 많이 사용되는 모델입니다. 세미나를 통해서 기본적인 CNN의 동작 방식(Feature extraction, max pooling, Padding등)에 대한 기본적인 소개를 잘 해준듯 합니다. 이미지 처리에 있어 가장 기본적인 object detection에서 많이 사용되는 RCNN 계열 모델의 변화 과정을 R-CNN -> Fast R-CNN -> Faster R-CNN 순서대로 잘 설명해주었습니다. 해당 모델들은 모델 처리 순서를 바꾸기도 하고(R-CNN-> Fast R-CNN), 새로운 방식 제안(Faster R-CNN, Region Proposal Network)등으로 변화를 한것에 대해 이해 할 수 있었습니다.
[세미나 지식의 활용]
-현재 진행해보고 있는 폐기물 인식에 적용해 볼수 있지 않을까 싶습니다.
[추가 지식습득 혹은 연구 방향]
- 가장 기본적인 Object detection을 정확히 이해하고, 다음 과정으로 semantic segmentation등 다른 영역에 대한 학습을 진행해야 할 듯 합니다.
이번 세미나는 Object detection 중 R-CNN, Fast R-CNN, Faster R-CNN 의 순으로 진행 되었다. 이전에 Object Detection 코드를 구현할 때 내 얼굴을 인식하는데에만 집중하여 Bounding box를 그리는 데는 크게 신경쓰지 않았었는데, 이번 세미나를 통해 그 원리에 대해서 배울 수 있게 되었다. 가장 기본이 되는 R-CNN에서 더 빠르고 정확한 예측을 위해 Faster R-CNN까지 모델이 발달하게 되었는데, Faster R-CNN에서 객체 존재 여부를 확인 하는 Region Proposal Network 부분이 가장 흥미로웠다. 이전 모델들에 비해 속도는 많이 개선 되었지만, Object Detection은 영상 분야에서 많이 활용되기 때문에 실시간으로 사용되기에는 어려움이 있어 좀 더 개선이 필요해 보였다. Faster R-CNN 뿐 아니라 추후 나온 모델들에 대해서도 공부해 보면 좋을 것 같다.
금일 세미나에서는 Object Detection 분야의 Faster R-CNN 논문을 주제로 진행되었다. 특히 발표의 진행은 R-CNN부터 Faster R-CNN까지의 Region based CNN 발전 양상에 초점을 맞추었다. 발표 내용을 내가 이해한대로 요약하자면, (이미지를 모두 탐색하는 sliding window 방식에서 개선된) 물체가 있을 법한 영역을 빠른 속도로 찾아내는 Region proposal 알고리즘과 Image classification을 수행하는 CNN을 연결하여 높은 성능을 뽑아낸 것이 R-CNN이다. 하지만 R-CNN은 다소 복잡한 Stage를 가진 모델인데다가, Region proposal의 개수만큼 CNN 연산이 필요하기 때문에 속도가 느린 단점이 있었다. 그래서 Fast R-CNN에서는 기존에 이미지 하나 당 Region proposal의 수만큼 CNN 연산이 필요했던 것을 개선하기 위해, CNN을 거친 Feature map 단계에서 Region proposal을 적용함으로써 CNN 연산 수를 대폭 줄였다. 더 나아가, Faster R-CNN에서는 CNN 외부가 아닌 CNN 내부에 Region proposal을 생성하는 Network를 설계하여 이전 단계들보다 성능을 향상시켰다. 개별 논문으로 접했더라면 어렵게 다가왔을 것 같은 개념이었지만, 본 발표를 통해 R-CNN 연구 발전의 흐름을 일목요연하게 정리함으로써 더욱 이해하기 용이했다. 첫 세미나를 열심히 준비해서 해당 개념에 이해를 돕게 해 준 진혁에게 감사하다.
금일 세미나는 객체 탐지(Object Detection)의 대표적 알고리즘인 Faster-RCNN에 대한 내용으로 진혁이가 진행을 하였다. 객체 탐지는 이미지 내에 존재하는 찾고자 하는 객체를 사전에 정의하고, 해당 객체가 이미지 내에 있는지 없는지를 예측하는 것과 있다면 어떠한 좌표값을 가지는 경계 상자(Bounding Box)인지를 예측하는 컴퓨터 비전 문제이다. 객체 탐지 알고리즘의 입력 변수로는 RGB이미지이고, 출력 변수는 해당 RGB 이미지에 대해 어떠한 객체가 포함되어 있고 객체마다 경계상자 꼭지점 중, 왼쪽 상단의 X,Y 좌표와 상자의 너비와 높이이다. Faster-RCNN은 합성곱 연산(CNN)을 이용해 이미지를 요약 및 특징 추출(Feature Extraction)을 진행한다. 그 후, Region Proposal Network(RPN)을 이용해 범주에 관한 예측과 경계 상자에 대한 예측을 진행하고 이를 기반으로 입력 RGB 이미지와 동일한 형태로 변환을 진행하는 알고리즘이다. CNN의 경우는 COCO Dataset에 대해 사전 학습하여 이를 기반으로 전이 학습(Transfer Learning)을 이용해 가져와 사용한다. 또한 CNN은 학습 과정에서 학습이 되지 않고 고정이 되는 특징을 가지고 있다. 또한 RPN을 이용해 학습 속도, 추론(Inference) 속도가 기존 대비 굉장히 짧아진다는 특징을 가지고 있다. 앞서 설명한 특징들 떄문에 객체 탐지의 주요 알고리즘으로 인식되었고, 이를 증명하듯 인용횟수는 12,000건에 육박하고 있다. 객체 탐지를 연구하고자 하고, 이와 관련한 프로젝트를 진행하기 위해서는 반드시 읽어야 한다고 말해주고 싶은 논문임을 다시 한번 느끼게 되었다.
진혁이가 신입생 중 첫 세미나를 진행하면서 많이 긴장한것으로 알고있다. 하지만 세미나를 진행하면서 관심있었던 분야에 대해 많이 공부를 하였을 것으로 생각하고 있다. 또한 여러 사람들의 피드백을 반영하여, 자신이 알고 있는 것을 전달하기 위해 진혁이가 많은 노력을 진행할 것으로 믿고 있다. 또한 나 자신에게도 Region-based CNN(RCNN)과 관련한 부분에서 경계상자의 꼭지점과 너비, 높이를 어떻게 예측하는지에 대해 답할수 없는 부분이 있었는데 논문을 읽었지만 다시 한번 보면서 습득한 지식을 복습하는 과정을 가져야 겠다는 다짐을 하게 했다. 세미나를 준비하고, 객체 탐지에 관해 쉽게 설명해주기 위해 노력한 진혁이에게 감사를 표한다.
이번 세미나는 “Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks”라는 주제로 박진혁 연구원님께서 진행해주었다. R-CNN은 Region Convolution neural network의 약자로 이미지 분류에서 높은 성능을 나타내는 CNN을 활용해 물체의 위치 및 종류를 알아내는 기법으로 자율주행 등 앞으로 이미지 분류 분야에서 필수적으로 요구되는 기술이다. 오늘 세미나는 RCNN에서부터 Fast-RCNN, Faster-RCNN까지 RCNN이 발달한 전체적인 줄거리를 언급하여 기술의 발전을 볼 수 있었다. RCNN은 CNN에 Region of interest를 통과시켜 특징을 추출한 후 SVM을 이용해 분류하고 최종적으로 Regression을 통해 위치를 찾아내는데 시간이 오래 걸린다는 단점이 있었다. 이런 속도에 대한 단점을 극복한 모델이 Faster-RCNN이다. Faster-RCNN은 anchor box라는 개념을 도입하여 box 안에 객체 존재 여부를 분류하고 객체가 있을 확률이 높은 부분만 계산하는 방식으로 속도를 높일 수 있었다. 최근 CNN을 공부하며, 해당 객체의 특징 추출을 통해 이미지 인식에 대해서는 이해할 수 있었지만, 한 개 안에 여러 개의 이미지 분류 및 위치 탐색에 대한 목마름이 많이 생겼는데 이번 세미나를 통해 새로운 영역을 배울 수 있었다. 새로운 분야에 대한 눈을 뜨게 해주는 세미나를 해준 박진혁 연구원님께 감사하다는 말을 전한다.
이번 세미나는 R-CNN 계열의 object detection 내용이었다. Object detection은 관심 물체의 위치를 경계사각형 (bounding box)를 통해 탐지하는 행위로 다양한 분야에 적용되고 있다. 최신objection detection 알고리즘은 대부분 deep learning 알고리즘을 기반으로 하기 때문에 deep learning 알고리즘의 역사와 맥을 같이 하고 있다고 보면 된다.
오늘 진혁이의 세미나에서는 R-CNN, Faster R-CNN 등 특정 알고리즘 설명에 치중하려고 했으나 그것 보다는 object detection의 기본 개념과 여러 사례 등을 소개하는 시간을 가졌으면 더 좋았을 것 같다.
금일은 Object Detection 방법론 중 하나인 Faster R-CNN을 주제로 세미나가 진행되었다. 아직 Object Detection 영역에 대해서는 크게 공부를 진행해 본적이 없었기 때문에 꽤 관심 있게 세미나를 들을 수 있었다. 본 세미나는 먼저 CNN에 대한 소개가 진행 되었고, 이후 2013년에 발표 된 R-CNN에 대한 설명으로 진행되었다. R-CNN은 Region Proposal과 CNN이 결합된 알고리즘이다. 이미지 내에서 먼저 탐지할 영역들을 찾고 그 영역 별로 CNN을 적용하여 탐지 된 영역의 내용을 분류하는 것이 특징이다. 하지만 R-CNN은 탐지할 영역 모두 CNN에 들어가다 보니 시간이 매우 오래 걸리고, CNN을 업데이트 시키지 못한다는 단점이 존재한다. 그래서 이러한 단점을 극복하고자 나온 것이 Fast R-CNN이다. 해당 알고리즘은 이미지 전체를 CNN에 넣어서 나온 Feature Map에 대한 탐지를 통해 Object Detection을 수행하게 되고, CNN의 파라미터 또한 업데이트 가능하게 된다. 마지막으로 설명 들은 알고리즘은 Faster R-CNN이다. 해당 알고리즘은 미리 학습한 CNN의 결과로 Region Proposal Network(RPN)키는 것이 핵심이다. CNN은 미리 학습 시킨 이후 더 업데이트 하지 않고 RPN만을 업데이트 시키는 것이 핵심이다. 이번 세미나는 Object Detection에 대한 기본 흐름에 대해 알 수 있어서 좋았다. 개인적으로 차후에 Object Detection과 관련된 과제를 진행하게 될 때, 본 세미나에서 알게 된 기초 지식을 활용할 수 있을 것 같다. 처음이지만 열심히 준비해 준 진혁이에게 감사함을 표한다.
R-CNN, Fast R-CNN, Faster R-CNN 알고리즘을 이용한 Object detection 을 주제로 박진혁 연구원이 세미나를 진행해 주셨습니다.
각 알고리즘의 특징과 동작방식, Bounding box가 만들어지는 과정을 대략적으로나마 알수 있게 되어 좋았습니다.
사진 또는 영상 인식 분야는 앞으로 발전가능성이 무궁무진할 것으로 생각되고 해당 분야를 이용한 사업에 대해 고민해 볼 수 있는 유익한 세미나 였습니다.
추가적으로 Object detection 기술이 사용된 사례를 몇가지 소개해 주셨으면 더 좋은 세미나가 되었을것 같습니다.
수고해주신 박진혁 연구원께 감사드립니다.
금일 세미나는 Toward Real-Time Object Detection with Region Proposal Networks 주제로 진혁이가 발표했다. 물체 탐지는 사람, 차량, 건물 등 특정한 클래스에 속하는 객체를 영상에서 자동으로 찾는 영상처리 기술이며 CCTV, 자동차 자율 주행에 적용하고 있다. 이 때 영상 속 물체 탐지는 빠른 시간 안에 처리되어야 한다. 이번 세미나에는 많은 물체 탐지 모델 중 R-CNN, Fast R-CNN, Faster-RCNN 순으로 어떻게 발전되고 있는지 설명하였다. R-CNN은 물체 탐지 시 이미지 내에 영역 별로 CNN 모델을 적용하기 때문에 많은 시간이 걸리는 단점이 있다. 이를 보완한 모델이 Fast R-CNN이다. Fast R-CNN은 Region proposal 개념을 사용하여 시간을 단축시키고 성능 또한 개선했다. 하지만 실제로 적용하기에는 병목현상이 발생하는 단점이 있다. 여기서 더 보완한 모델은 Faster-RCNN이다. Faster-RCNN은 Region proposal network 개념을 도입하여 병목현상을 해소하고 물체 탐지를 위한 예측과 클래스 분류를 동시에 진행하여 시간 또한 단축시켰다. 오늘 세미나를 들으면서 배추밭 탐지 프로젝트를 진행하는데 필요한 개념들을 배우는 시간이었다. 추후 프로젝트 연구에는 시간 단축, 정확도를 높이는 물체 탐지 모델에 대해 연구하여 적용해볼 예정이다.
객체 탐지를 위한 RCNN, Fast-RCNN, Faster-RCNN에 대한 내용을 연구 순서대로 다루었다. 객체 탐지 분야가 워낙 추론 속도를 중요하게 생각하다보니 알고리즘의 발전도 연산 속도를 빠르게 하는 것에 초점이 맞춰져 있다. 세미나의 전체적인 순서와 흐름은 좋았지만 디테일한 부분들이 조금 부족했던 것이 아쉽다. 논문만 보는 것보단 코드를 함께 보는 게 이해가 훨씬 수월한 분야로 기억한다. 세그멘테이션 기능까지 결합하는 Mask-RCNN, Mask-X-RCNN 등 더 최신 모델도 살펴보면 발표자가 좋은 연구를 하는데 도움이 되리라 생각한다.
이번 세미나는 Object Detection의 기본적인 모델인 R-CNN, Fast R-CNN, Faster-RCNN으로 진행되었다. R-CNN은 Bounding Box를 Sliding window방식에서 Random하게 만들어 효율성을 높인 장점이 있으나, 시간적 비용과 복잡성을 해결하기 위해 Fast-RCNN 그리고 Faster-RCNN까지 발전하게 됨을 알 수 있었다. 이처럼 모델의 흐름과 어울리게 CNN부터 Faster-RCNN까지 모델의 장점과 단점을 잘 소개해 준 덕분에 R-CNN, Fast R-CNN, Faster-RCNN에 대한 전반적인 이해를 하기 좋았다. Faster-RCNN 이후에 많은 모델들이 공개되었는데 이러한 부분들도 공부하는 시간을 갖도록 해야겠다.