안녕하세요~


이번글에서는 Object Detection과 CNN의 관계에 대해서 알아보도록 할거에요. CNN분야가 발전하면서 classification 영역에 엄청난 영향을 미친것처럼 동시에 Object detection 영역에도 굉장한 영향을 미치게 되었어요. 그래서 딥러닝 영역에서는 보통 CNN이 발전하는것에 맞춰 더 좋은 Object detection 모델이 제시되는 방향으로 전개되고 있답니다.



<사진1>


먼저 딥러닝 분야에서 사용되는 Object detection 분야에 두 개의 main stream에 대해서 설명드리면 자연스럽게 CNN과 Object detection 모델간의 관계를 파악하실 수 있으실거에요.




<1. Region Proposal -> CNN>


첫 번째 main stream은 Region Proposal로 candidate bounding box를 검출한 후에 해당 candidate bounding box에 대해서 CNN을 적용시키는 방법이에요.


Region Proposal이라는 것은 말 그대로 영역을 제안하는 기술인데, 이때 영역이라고 함은 bounding box를 의미해요. 그래서 일단 이미지가 들어오면 객체가 될 것 같은 후보 영역들 (candidate bounding box)를 선별하게되고, 해당 candidate bounding box에 대해서 classification 작업을 수행하게되요.


<사진2>



<2. Region Proposal + CNN>


Object detection 모델의 또 다른 main stream은 region proposal과 classification(by using CNN) 작업을 동시에 수행하는거에요. 


앞선 방식(Region Proposal -> CNN)에서는 Region Proposal 이 먼저 진행되야지만 classification 작업이 진행됐어요.


하지만 여기에서는 하나의 이미지가 들어오면 병렬적으로 두 작업(A작업, B작업)이 수행되는데요. A작업은 Region Proposal 방식을 통해 candidate bounding box를 선별해주는 것이고, B작업은 CNN을 거쳐 나온 feature map에 대해 classification을 진행하는거에요. 그런다음 마지막 단계에서 A작업의 결과와 B작업 의 결과를 동시에 반영하여 detection을 하게되는거랍니다. 




앞서 언급한 두 개의 main stream의 자세한 알고리즘은 object detection 모델을 소개하면서 차근차근 설명해드릴거에요.


아래 그림은 Object Detection 모델이 변천한 과정들이에요. 보통 Object detection 모델에 대해서 공부할 때는 빨간색으로 표시된 부분의 모델들에 대해서 공부하게 되요 (아직까지는 이 모델들이 좋은 성능을 보이고 있어서 다른 모델들보다 중요다고 판단을 하기때문인거같아요). 


<사진n>


앞으로 소개해드릴 Object detection 모델 순서는 아래와 같이 구성해봤어요.


RCNN -> SPP-Net -> Fast RCNN -> Faster RCNN -> YOLO V1 -> SSD -> YOLO V2 -> YOLO V3



R-FCN, Mask R-CNN을 다루지 않는 이유는 나중에 Segmentation 파트에서 좀 더 자세하게 다룰 예정이기 때문이에요.


그럼 다음 글에서 뵙도록 할게요~



[사진 래퍼런스]

사진1

https://medium.com/@nikasa1889/the-modern-history-of-object-recognition-infographic-aea18517c318

사진2

https://woosikyang.github.io/fast-rcnn.html

사진n

https://hoya012.github.io/blog/Tutorials-of-Object-Detection-Using-Deep-Learning-what-is-object-detection/

'Deep Learning for Computer Vision > Object Detection (OD)' 카테고리의 다른 글

6. SPP Net  (2) 2020.02.05
5. RCNN  (0) 2020.02.05
4. DPM (Deformable Part Model)  (0) 2020.02.04
2-3. Object Detection 모델 평가지표 (FPS)  (6) 2020.02.04
1. Object detection이 뭔가요?  (0) 2020.02.03

안녕하세요~


이번글에서는 Object Detection의 또 다른 성능지표인 FPS에 대해서 알아보도록 할게요.



<1. FPS>


FPS란 Frame Per Second라고 이야기 하는데요. 초당 frame 수라고 번역할 수 있겠네요. 예를들어, 1초당 9개의 frame이 내 눈앞에서 지나갔을 때와, 6개의 frame이 지나갔을때를 보면 frame이 더 많을 수록 움직임이 끊기지 않고 좀 더 자연스러워 보일거에요.



<사진1>






<2. Object Detection FPS>


영상(Video)이라는 것은 무수한 image들의 연속적인 집합이에요. 즉, 순차적인 이미지들이 모여서 하나의 영상을 구성하는거에요.


Object Detection에서의 FPS라는건 초당 detection하는 비율을 의미해요. 만약 초당 20개의 frame에 대해서 detection을 수행하게되면 20 fps이고, 초당 30개의 frame에 대해 detection을 수행하게 되면 30 fps가되요.


하나의 frame을 detection하는데 까지 걸리는 시간을 inference time이라고 해요. 그런데 만약 Object Detection 모델이 너무 방대해서 inference time이 길어지게 된다면 어떻게 될까요? 예를들어, 하나의 frame을 detection하는데 0.1초가 걸린다면 10 fps가 될거에요. 



우리가 Real Time이라고 느끼는 fps는 30 fps에요. 즉, 초당 연속적인 frame을 30개 이상 처리할 수 있으면 끊기지 않는 자연스러운 영상으로 인식하게 되는거에요. 


<알고리즘A 모델의 inference time이 더 길기 때문에 detection이 real-time으로 되지 않는것 처럼 보이는거에요>



그렇기 때문에 Object Detection 모델의 성능을 평가할때 (m)AP의 개념도 중요하게 쓰이지만 inference time도 못지않게 중요한 지표로 사용되고 있어요. (만약 자율주행자동차에 inference time시간낮은 오래걸리는 Object Detection 모델을 쓴다고 생각해보세요;; 하나의 frame을 처리하고 있는데 어떤 물체가 갑자기 뛰어든다면이에 대해서  detection을 못할 확률이 매우커지겠죠?)




2-1~2-3 까지 Object detection 모델을 평가할때 쓰이는 중요한 성능지표들에 대해서 알아보았어요. 다음글 부터는 차례대로 Object Detection history에 대해서 설명드리려고 합니다.




[사진 래퍼런스]

사진1

https://helpx.adobe.com/kr/animate/using/time.html

'Deep Learning for Computer Vision > Object Detection (OD)' 카테고리의 다른 글

6. SPP Net  (2) 2020.02.05
5. RCNN  (0) 2020.02.05
4. DPM (Deformable Part Model)  (0) 2020.02.04
3. Object Detection과 CNN의 관계  (2) 2020.02.04
1. Object detection이 뭔가요?  (0) 2020.02.03

안녕하세요


이번 chapter에서는 Object detection에 대해서 알아보고 관련된 대표적인 모델들을 알아볼 거에요~


먼저 Object Detection(객체검출)이란 개념에 대해서 알아볼까요?







<1. Object Detection 이란>


CNN (Convolutional Neural Network) 모델이 하는일은 이미지를 classification (분류)하는 것이었어요. 그래서 어떤 이미지가 들어오면 해당 이미지 내의 객체들이 무엇인지 알려주었어요.


Object detection에서는 classification 뿐만 아니라 localization이라는 개념도 포함되어 있어요 (Object detection = classification + localization). Localization이란 객체라고 판단되는 곳에 직사각형(bounding box)를 그려주는거에요. 

<사진1>


만약 어떤 이미지를 입력했을때 그 결과가 해당 객체를 localization(bounding box) 해주고, 해당 box안에 있는 객체가 무엇인지 classification까지 해준다면 그것을 우리는 Object Detection(객체검출)이라고 해요. 



<사진1>






<2. Object detection 응용>



1) 자율주행


Object Detection을 이용한다면 자율주행도 가능해질 수 있을거에요. Object detection을 자동차에 적용하면 자동차는 '눈'을 갖을 수 있게되요. 그렇기 때문에 화면에 보이는 객체가 무엇인지 분별하여 주행을 상황에 맞게 할 수 있게될거에요. 






2) 군사목적


인공지능을 군사적 목적으로 사용하는것을 막고자 여러 노력들이 이루어지고 있지만 반대로 우리가 모르는 곳에서는 이러한 목적으로 연구를 비밀리에 진행하는곳이 많을거에요. 왜냐하면 인류 역사에서 전쟁을 지속적으로 있어왔고 전쟁을 이기기 위한 핵심은 기술이기 때문이에요. 혹여나 공격을 하지 않는다고 하더라도 방어를 위한 시스템은 구축해놔야 하기 때문에 object detection 기술은 유용하게 쓰일 수 있어요.


Object detection 기술이 있다면 미사일을 요격할 수 있는 확률도 올라가겠죠? 







3) 스포츠 분야


또한 스포츠 분야에서는 이러한 object detection을 통해 실시간으로 선수들의 상태나 능력치 등을 살펴볼 수 있고, 경기가 지속될 수록 데이터가 쌓여서 전술패턴도 분석하기 용이할거에요.







지금까지 Object Detection의 개념과 응용사례들을 알아봤어요!


다음글에서는 "딥러닝에서 Object Detection 모델을 학습시킬 때 어떤 데이터로 학습시키는지, Object Detection 모델은 어떻게 성능평가를 하게 되는지"에 대해서 알아보도록 하겠습니다~ 






[사진 래퍼런스]

사진1

https://adeshpande3.github.io/A-Beginner%27s-Guide-To-Understanding-Convolutional-Neural-Networks-Part-2/

사진2

https://mikail0205.github.io/computer%20science/2018/05/20/CS231n-Computer-Vision/




'Deep Learning for Computer Vision > Object Detection (OD)' 카테고리의 다른 글

6. SPP Net  (2) 2020.02.05
5. RCNN  (0) 2020.02.05
4. DPM (Deformable Part Model)  (0) 2020.02.04
3. Object Detection과 CNN의 관계  (2) 2020.02.04
2-3. Object Detection 모델 평가지표 (FPS)  (6) 2020.02.04

+ Recent posts