๊ธฐ์กด์ ์ด๋ฏธ์ง ์ธ์
์ฌ๊ธฐ ์ด ์ฌ์ง์ class๋ก ๋ถ๋ฅํ๋ค๋ฉด ์ฌ๋๊ณผ ์๋์ฐจ ์ด ๋๊ฐ์ง๋ก ๋จ์ํ๊ฒ ๋ถ๋ฅ๋ฅผ ํด๋ณผ ์ ์์ต๋๋ค.
๊ธฐ์กด์ ์ด๋ฏธ์ง๋ฅผ ๋ถ๋ฅํ๋ค๊ณ ํ๋ฉด ๊ฐ๋จํ๊ฒ ๊ทธ ๊ฐ์ฒด๊ฐ ๋ฌด์์ธ์ง ์๋ ค์ฃผ์์ต๋๋ค.
object detection์ ๊ฒน์ณ์ ธ ์๋ ๋์๋ค๊ณผ ๋ฐฐ๊ฒฝ์ผ๋ก ๊ตฌ์ฑ๋ ๋ณต์กํ ์ด๋ฏธ์ง๋ฅผ ๋ณด๊ณ , ๋จ์ํ ๋ถ๋ฅ(classify)ํ ๋ฟ ์๋๋ผ ์๋ก์ ๊ด๊ณ๊น์ง ๊ณ ๋ คํ๋ ๊ฒ์ ๋๋ค.
"๊ฐ์ฒด๊ฐ ๋ฌด์์ธ์ง"๋ง ๋ถ๋ฅํ๋๊ฒ ์๋๋ผ "๊ฐ์ฒด๊ฐ ์ด๋์ ์๋์ง"๊น์ง ์๋ ค์ฃผ๋ ๊ฒ์ ๋๋ค.
objec detection์ ๋ฐฉ๋ฒ 3๊ฐ์ง
- Classification, Object Detection, Segmentation
- Single Object
- Classification: Image Category Recognition (e.g. ๊ฐ์์ง, ๊ณ ์์ด)
- Classification + Localization : Object Bounding Box Recognition
- ๋๋ณด๊ธฐ
๊ฐ์ฒด๋ฅผ ๋ถ๋ฅํ๊ณ , bounding box๋ก Regression์ ํตํด ๊ฐ์ฒด์ ์ขํ๊ฐ ์ด๋์ ์๋์ง ์ฐพ์ ๊ฐ์ฒด๊ฐ ์ด๋์ ์๋์ง๋ํ๋ด ์ค๋๋ค.์ด๋ ํ ๊ฐ์ ๊ฐ์ฒด์๋ง ์ ์ฉ๋๋ค๋ ์ ์ด Object Detection๊ณผ ์ฐจ์ด์
- ๋๋ณด๊ธฐ
- Multiple Object
- Object Detection: Classification + Localization
- Segmentation: Pixel Category Recognition
- semantic segmentation: ๊ฐ ํด๋นํ๋ pixel์ ๊ฐ์ง๊ณ class๋ก ๋ถ๋ฅํ๋ ๋ฐฉ๋ฒ
- instance segmentation: instance๊น์ง ๊ตฌ๋ถํ๋ ๋ฐฉ๋ฒ์ ๋๋ค. ์ฆ, edge ์ค๊ณฝ์ ์ ๋ณด๊ณ ๋์ผํ ๊ฐ์ฒด์ด์ง๋ง (๊ณ ์์ด 1, 2,..) ์ด๋ฐ์์ผ๋ก instance๋ฅผ ๊ตฌ๋ถํด ์ค๋๋ค.
Object Detection: ๊ธฐ์กด Classification ์ multiple ๊ฐ์ฒด๋ฅผ ์ธ์งํ๊ณ , ์ด์ ๋ํ ์์น๊น์ง ์ ์ ์๋ ๋ฐฉ๋ฒ์ ๋๋ค.
objec detection
- Multi-Labeled Classification + Bounding Box Regression(Localization)
- ์ฌ๋ฌ๊ฐ์ ๊ฐ์ฒด์ label์ ๋ถ์ฌ Classification, ๊ฐ์ฒด๊ฐ ๋ฌด์์ธ์ง ํ๋จ
- Regression์ ํตํ Bounding Box์ ์ขํ๋ฅผ ํตํด ๊ฐ์ฒด๊ฐ ์ด๋์ ์๋์ง Localization ํ๋จ
์ด๋ฏธ์ง ์ธ์์ ์์ด: Classification
1. CNN(convolution neural netwotk)
-
~2012, classification
2012๋ ๊น์ง๋ง ํด๋ ์ด๋ฏธ์ง ๋ถ๋ฅ ๋ถ์ผ์ ์์ด์ ๋น์ฐํ๊ฒ ์ฌ์ฉ๋๋ ๊ฒ์ CNN์ด์์ต๋๋ค.
CNN ์ด๋ฏธ์ง ๋ถ๋ฅํ๋ ๋ฐฉ๋ฒ์ ๊ฐ๋จํ๊ฒ ๋ณด๋ฉด, ์ด๋ฏธ์ง๋ฅผ ์ ๋ ฅ ๋ฐ์ ํ, convolution layer ๋์์ ๋ณด๋ฉด ์ปค๋์ด ์ด๋ฏธ์ง๋ฅผ ์ง๋๊ฐ๋ฉด์ ์ฐ์ฐ์ ์ํํ๊ณ , ์ด๋ฅผ ํตํด, feature map์ ์์ฑํฉ๋๋ค. ์ฆ, feature๋ฅผ ์ถ์ถํ๊ณ fully connted layer์์ ์ด๋ฏธ์ง๋ฅผ ๋ถ๋ฅํ๋ค๊ณ ์๊ฐํ์๋ฉด ๋ฉ๋๋ค.
2. CNN์ Object Detection ์ ๊ทผ
- Classification: class(๊ณ ์์ด: 0.9, ๊ฐ์์ง:0.1, …)
- multi-Localization(Regression): Region of Interest์ object์ ์์น
- Regression: object์ bounding box์ ์ขํ ์์ธก
- Bounding Box๋ฅผ ๋ค์ํ Object ์ข ๋ฅ์ ๋ํ์ฌ ์ฐพ์์ค์ผ ํจ
๊ทธ๋ฐ๋ฐ ์ด ๋ฐฉ๋ฒ์ Object Detection ๋ถ์ผ์ ๋ฐ๋ก ์ ์ฉ๋์ง๋ ๋ชปํ๋๋ฐ์.
์๋ํ๋ฉด ํ๋์ ์ด๋ฏธ์ง์์ ํ๋ฅ ์ ์ผ๋ก ๊ณ ์์ด, ๊ฐ์์ง, ์ด๋ ๊ฒ ๋ถ๋ฅ๋ฅผ ํด ์ฃผ๋ ๊ฒ์ด์ง, ๋ช๊ฐ์ object ๊ฐ ์๋์ง ํ์คํ์ง ์์ ์ํ์์๋ regression์ ์ ์ฉํ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค. ์ด๋ฏธ์ง ๋ด์ Region of Interest์ object์ ์์น๋ฅผ ์๋ ค์ฃผ๊ธฐ ์ํ Bounding Box๋ฅผ ๊ทธ๋ ค์ค์ผ ํ๊ณ , ๋ค์์ Bounding Box๋ฅผ ๋ค์ํ Object ์ข ๋ฅ์ ๋ํ์ฌ ์ฐพ์์ค์ผ ํ๊ธฐ ๋๋ฌธ์ ์ด๋ฏธ์ง ๋ถ๋ฅ ๋ณด๋ค๋ ํจ์ฌ ๋ณต์กํ ๋ฌธ์ ์ ๋๋ค.)
๋ฐ๋ผ์ ์ด๋ฌํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด object๊ฐ ์์๋งํ ์์ญ์ ๋ณด๋๋ก ํ๋ ๋ฐฉ๋ฒ์ธ Region proposal ๋ฐฉ๋ฒ์ด ์ ์๋์์ต๋๋ค.
์ด๋ฏธ์ง ์ธ์ ๋ฐฉ๋ฒ: Region Proposal
- Sliding Window: ๋ชจ๋ object์ ๋์ผํ ํฌ๊ธฐ(๋์ผํ ์๋์ฐ ํฌ๊ธฐ, ๋น์จ)๋ก Object ์ถ์ถ
- Selective Search: ์ ์ฌํ (Color, Texture, Enclosed, ..) Pixel ๊ณ ๋ คํด Object ์์น ํ์
- greedy ์๊ณ ๋ฆฌ์ฆ์ ์ด์ฉํ์ฌ Region์ ๊ณ์ธต์ ๊ทธ๋ฃนํ ๋ฐฉ๋ฒ์ผ๋ก ๊ณ์ฐ
์ด object detection์ ํ๊ธฐ ์ํด Region proposal ์ ํ๋ ๋ํ์ ์ธ ๋ฐฉ๋ฒ์ window sliding, seletiv search ์๊ณ ๋ฆฌ์ฆ์ด ์์ต๋๋ค.
window sliding ์๊ณ ๋ฆฌ์ฆ์ ์ด๊ฒ์ CNN์ convolution layer์์ ์ปค๋์ด ์ด๋ฏธ์ง๋ฅผ ์ง๋๊ฐ๋ ๊ฒ์ ์๊ฐํด ๋ณผ ์ ์์ต๋๋ค. ๋ง ๊ทธ๋๋ก ๋์ผํ ํฌ๊ธฐ์ ,window๋ฅผ ์ง๋๊ฐ๋ฉด์ object๊ฐ ์์ ๋ฒํ ์์ญ์ ์ถ์ถํด ๋ด๋ ๊ฒ์ ๋๋ค. (๊ธฐ์กด์ CNN์์ ์ด๋ฏธ์ง๋ฅผ ์ธ์ํ๋ ๋ฐฉ๋ฒ์ด๊ธฐ๋ ํฉ๋๋ค.)
๋ค์์ผ๋ก selective search ์๊ณ ๋ฆฌ์ฆ์ด ๋์์ต๋๋ค.
์ด ์๊ณ ๋ฆฌ์ฆ์ object detection์์ ์ฒ์์ผ๋ก CNN์ ์ฌ์ฉํ R-CNN์ ๋ฐฉ๋ฒ์ผ๋ก ์ฌ์ฉ๋๊ธฐ๋ ํ์์ต๋๋ค
bounding box๋ฅผ ๊ทธ๋ฆด๋ ์ ์ฌํ ํฝ์ ์ ๊ณ ๋ คํด ์ถ์ถํ๋ ๋ฐฉ๋ฒ์ ๋๋ค. ๊ธฐ์กด์ window sliding๊ณผ ๋ค๋ฅด๊ฒ ์ ์ฌํ ํฝ์ ๋ผ๋ฆฌ ๊ทธ๋ฃนํํ๊ณ ๊ทธ ๋ค์ ํฝ์ ๋ณด๋ค ๋ ํฌ๊ฒ mergeํ์ฌ Region proposal์ ํด์ฃผ๋ ๋ฐฉ๋ฒ์ ๋๋ค.
bounding boxes ์ถ์ถ
์ฌ๋ฌ ๊ฐ์ bounding boxes๊ฐ ์์ฑ๋ ๊ฒฝ์ฐ ์ฃผ๋ก ์ฌ์ฉ๋๋ ์๊ณ ๋ฆฌ์ฆ
- NMS(Non-Maximum Supression)
-
object detector์ด ์์ธกํ ์ฌ๋ฌ ๊ฐ์ bounding box -> ์ค๋ณต์ ๊ฑฐ
-
IoU(Intersection-over-Union)๊ฐ ํน์ threshold ์ด์
-
๊ฒน์น๋ confidence box ์ค์์ ๊ฐ์ฅ ๋์ ๊ฒ๋ง ๋จ๊ธฐ๋ ์์
-
๊ทธ๋ ๊ฒ object๊ฐ ์์๋ฒํ ์์ญ์ ๋ค ์ถ์ถํ๋ค๋ฉด, ๋ง์ง๋ง์ผ๋ก object detection ์๊ณ ๋ฆฌ์ฆ์ ์ฌ๋ฌ ๊ฐ์ bounding boxes๋ฅผ ์์ฑํด ์ค๋๋ค.
์ด bounding boxes ์ถ์ํ์ฌ ์ฐ์ฐ๋์ ์ค์ด๊ณ , mAP(์ฑ๋ฅ์งํ)๋ ์ฌ๋ฆฌ๊ธฐ ์ํด์ NMS ๊ธฐ๋ฒ์ ์ ์ฉํด object detection์ ์ํํด ์ค๋๋ค. ๊ฐ๋จํ๊ฒ ๊ทธ๋ฆผ์ ํตํด ๋ณด๋ฉด object detector์ด ์์ธกํ bounding box ์ค์์ ์ ํํ bounding box๋ฅผ ์ ํํด์ผํฉ๋๋ค. ์ด๋ ์ ์ฉํ๋ ๊ธฐ๋ฒ์ด๋ผ๊ณ ๋ณด์๋ฉด ๋ฉ๋๋ค.
NMS๋ IoU๊ฐ ํน์ threshold์ด์์์ ์ํํ๊ฒ ๋๋๋ฐ, IoU๋ ์ ์ฒด ๋ฐ์ค ์์ญ ์ค ๊ฒน์น๋ ๋ถ๋ถ์ ๋น์จ์ ๋งํฉ๋๋ค. (IoU: ๊ฐ๋จํ๊ฒ ํฉ์งํฉ ์ค ๊ต์งํฉ์ด๋ผ๊ณ ์๊ฐ)
1. bounding box์ confidence score ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌํ ํ์ (line.2)
2. ๊ฐ์ฅ confidence score๊ฐ ๋์ bounding box์ IoU๊ฐ ์ผ์ ์ด์์ธ boundingbox๋ ๋์ผํ ๋ฌผ์ฒด๋ฅผ detectํ๋ค๊ณ ํ๋จํ์ฌ ์ง์ด๋ค.
3. ๊ทธ๋ ๊ฒ ์ต์ข ์ ์ผ๋ก object๊ฐ ์์๋ฒํ ์์ญ์ bounding box๋ฅผ ์ถ์ถํด ๋ ๋๋ค.
Object Detection์ ๋ฐ์ ๊ณผ์
- 2012๋ AlexNet์ ๋ฑ์ฅ๋ถํฐ object detection์๋ ๋ง์ ๋ชจ๋ธ๋ค์ด ๋ฑ์ฅํ๊ฒ ๋์์ต๋๋ค.
- ํฌ๊ฒ classification๊ณผ regression์ ์์ฐจ์ ์ผ๋ก ์ํํ๋ 2stage์ CNN ๊ณ์ด๊ณผ ์ด๋ฅผ ๋์์ ์ํํ๋ 1stage์ Yolo, SSD ๊ณ์ด๋ก ๋๋ ์ ์์ต๋๋ค.
์ด ์ธ์๋ object detection์ ์ฌ์ฉ๋๋ ๊ธฐ๋ฒ๋ค์ object detection์ ๋ฐ์ ๊ณผ์ ์ ํตํด์ ๋ ์ดํด ๋ณผ ์ ์์ต๋๋ค.
๋ค์ ํฌ์คํฐ๋ถํฐ ๋ณธ๊ฒฉ์ ์ผ๋ก R-CNN์ ๋ ผ๋ฌธ ๋ฐ ์์ฝ์ผ๋ก Object Detection๋ฅผ ์์ํด๋ณด๊ฒ ์ต๋๋ค! ๐
'๐ AI & Bigdata > Computer Vision' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[CV] Face Recognition, ์ผ๊ตด ๋๋๋งํฌ ๊ฒ์ถ dlib (0) | 2023.02.14 |
---|---|
[CV] Face recognition ์ด๋? (0) | 2023.02.14 |
[CV] Object Detection, COCO- How to train Detectron2 with Custom COCO Datasets (0) | 2022.08.09 |
[CV] Object Detection, COCO dataset ๋ง๋ค๊ธฐ (0) | 2022.08.09 |
[CV] Object Detection, R-CNN๊ณ์ด ๊ฐ๋จ ์ ๋ฆฌ: R-CNN, Fast, Faster (0) | 2022.08.08 |