๐Ÿ”ณ

IoU(Intersection of Union), NMS(Non-Maximum Suppression)

Date
2020/08/31
Tags
Comp. Vision
Object Detection
Created by
Table of Contents
Object Detection์„ ๊ณต๋ถ€ํ•  ๋•Œ ๋“ฑ์žฅํ•˜๋Š” ๊ฐœ๋…์ธ IoU์™€ NMS์— ๋Œ€ํ•ด ์ •๋ฆฌํ•ด๋ณด์•˜๋‹ค. ๋‹ค๋ฅธ ๋ถ„์•ผ์—์„œ๋„ ์“ฐ์ด๋Š” ๊ฐœ๋…์ธ์ง€๋Š” ์•„์ง ๊ฒฌ๋ฌธ์ด ์ข์•„ ์ž˜ ๋ชจ๋ฅด๊ฒ ๋‹ค.

IoU(Intersection of Union)

์„ค๋ช… ๋!
IoU๋Š” ๋‘ ๊ฐœ์˜ Bounding Box์—์„œ ์ •์˜๋˜๋Š” ๊ฐœ๋…์œผ๋กœ, ์•„์ฃผ ๊ฐ„๋‹จํ•˜๋‹ค. ๋‘ ๋ฐ•์Šค์˜ ๊ต์ง‘ํ•ฉ์„ ๋‘ ๋ฐ•์Šค์˜ ํ•ฉ์ง‘ํ•ฉ์œผ๋กœ ๋‚˜๋ˆˆ ๊ฐ’์ด๋‹ค. ์ฆ‰, ํ•ฉ์ง‘ํ•ฉ ๋ถ„์˜ ๊ต์ง‘ํ•ฉ์ด๋‹ค.
IoU๊ฐ€ 0์ด๋ผ๋Š” ๊ฒƒ์€ ๊ต์ง‘ํ•ฉ์ด ์—†๋‹ค๋Š” ๊ฒƒ์ด๊ณ , 1์ด๋ผ๋Š” ๊ฒƒ์€ ๋‘ ๋ฐ•์Šค๊ฐ€ ์™„์ „ํžˆ ์ผ์น˜ํ•œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ์ฆ‰, ๋‘ ๋ฐ•์Šค๊ฐ€ ์–ผ๋งˆ๋‚˜ ๋งŽ์ด ๊ฒน์น˜๋Š”๊ฐ€๋ฅผ 0~1 ์‚ฌ์ด์˜ ๊ฐ’์œผ๋กœ ๋‚˜ํƒ€๋‚ธ ๊ฒƒ์ด๋‹ค.
์ด๋ฅผ ๋ชจ๋ธ ํ‰๊ฐ€์— ์‚ฌ์šฉํ•˜๋ฉด, ๋ชจ๋ธ์ด ์˜ˆ์ธกํ•œ Bbox(Predicted Bbox)์™€, ์‚ฌ๋žŒ์ด ์ธก์ •ํ•œ ์‹ค์ธก Bbox(Ground Truth Bbox, ์ •๋‹ต)์ด ์–ผ๋งˆ๋‚˜ ์ •ํ™•ํ•˜๊ฒŒ ๊ฒน์น˜๋Š”๊ฐ€๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์ง€ํ‘œ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด๋‹ค.
๊ทธ๋ฆฌ๊ณ , Detection Task์—์„œ ๊ฐœ๋ณ„ Object์˜ Detection ์˜ˆ์ธก ์„ฑ๊ณต ์—ฌ๋ถ€๋Š” ๋ณดํ†ต IoU ๊ฐ’์ด ๊ฒฐ์ •ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, PASCAL VOC ๊ฐ™์€ ๊ฒฝ์šฐ IOUโ‰ฅ0.5IOU\ge 0.5์ด๋ฉด ์˜ˆ์ธก ์„ฑ๊ณต์œผ๋กœ ๋ณด๊ณ , COCO ๊ฐ™์€ ๊ฒฝ์šฐ IOU ๊ธฐ์ค€์„ ์ ์  ๋†’์—ฌ๊ฐ€๋ฉด์„œ ์ง„ํ–‰ํ•œ๋‹ค.

NMS(Non-Maximum Suppression)

NMS๋Š” ์ผ์ข…์˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค. ๋ฌด์Šจ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ธ์ง€ ์„ค๋ช…ํ•˜๊ธฐ ์ „์— ๋ชฉ์ ์„ ๋จผ์ € ์„ค๋ช…ํ•˜์ž๋ฉด, NMS๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ์ด์œ ๋Š” ๋™์ผํ•œ ๋ฌผ์ฒด๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ์—ฌ๋Ÿฌ ๋ฐ•์Šค์˜ ์ค‘๋ณต์„ ์ œ๊ฑฐํ•˜๊ธฐ ์œ„ํ•จ์ด๋‹ค. (๋งŽ์€ Object Detection ๊ธฐ๋ฒ•๋“ค์€ Object๊ฐ€ ์žˆ์„ ๋งŒํ•œ ์œ„์น˜์— ๋งŽ์€ ๋ฐ•์Šค๋ฅผ ์น˜๋Š” ๊ฒฝํ–ฅ์ด ๊ฐ•ํ•˜๋‹ค.) NMS๋Š” Detect๋œ Object์˜ Bounding Box ์ค‘์— ๋น„์Šทํ•œ ์œ„์น˜์— ์žˆ๋Š” box๋ฅผ ์ œ๊ฑฐํ•˜๊ณ , ๊ฐ€์žฅ ์ ํ•ฉํ•œ(์ž˜ ๋“ค์–ด๋งž๋Š”) ๋ฐ•์Šค๋ฅผ ์„ ํƒํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค.
NMS๋ฅผ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์ „. ํ•˜๋‚˜์˜ ๋ฌผ์ฒด์— ์—ฌ๋Ÿฌ ๋ฐ•์Šค๊ฐ€ ์กด์žฌํ•œ๋‹ค.
NMS๋ฅผ ์ˆ˜ํ–‰ํ•œ ๊ฒฐ๊ณผ. ํ•˜๋‚˜์˜ ๋ฌผ์ฒด์— ์ด๋ฅผ ๊ฐ€์žฅ ์ž˜ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฐ•์Šค๋งŒ ๋‚จ๋Š”๋‹ค.
๊ณผ์ •์€ ๋งค์šฐ ๊ฐ„๋‹จํ•˜๋‹ค. ํŠน์ • ํด๋ž˜์Šค๋‚˜ ํŠน์ • ๋ฐ•์Šค๋“ค์— ๋Œ€ํ•ด์„œ ์ˆ˜ํ–‰ํ•˜๋Š” ์ž‘์—…์ด ์•„๋‹ˆ๋ผ, ํ•˜๋‚˜์˜ Detection ์žฅ๋ฉด์—์„œ ๋ชจ๋“  Bounding Box์— ๋Œ€ํ•ด ์ˆ˜ํ–‰ํ•˜๋Š” ์ž‘์—…์ž„์— ์œ ์˜ํ•˜์ž.
1.
์šฐ์„ , ํŠน์ • Confidence threshold ์ดํ•˜์˜ Bounding Box๋Š” ์ œ๊ฑฐํ•œ๋‹ค.
Remind: ๊ฐ Bounding Box๋Š” ๊ฐ๊ฐ ์ด ์ถ”์ธก์ด ์–ผ๋งˆ๋งŒํผ์˜ ํ™•์‹ ์„ ๊ฐ€์ง€๋Š”์ง€์— ๋Œ€ํ•œ Confidence score๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.
โ€ข
๋ชจ๋“  ๋ฐ•์Šค๋ฅผ ๋ณด๋ฉฐ, Confidence๊ฐ€ ์ผ์ • ์ˆ˜์ค€ ์ดํ•˜์ธ ๋ฐ•์Šค๋“ค์— ๋Œ€ํ•ด ์ผ์ฐจ์ ์œผ๋กœ ํ•„ํ„ฐ๋ง์„ ๊ฑฐ์น˜๋Š” ๊ฒƒ์ด๋‹ค.
2.
๋‚จ์€ Bounding Box๋“ค์„ Confidence score ๊ธฐ์ค€ ๋ชจ๋‘ ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌํ•œ๋‹ค.
3.
๋งจ ์•ž์—์„œ๋ถ€ํ„ฐ ๋ฐ•์Šค ํ•˜๋‚˜๋ฅผ ์žก๊ณ , ์ญ‰ ๋ณด๋ฉด์„œ ์ด ๋ฐ•์Šค์™€ IoU๊ฐ€ ํŠน์ • threshold ์ด์ƒ์ธ ๋ฐ•์Šค๋“ค์€ ๋ชจ๋‘ ์ œ๊ฑฐํ•œ๋‹ค.
โ€ข
์‰ฝ๊ฒŒ ๋– ์˜ฌ๋ฆฌ๋ฉด O(N2)O(N^2) ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค. 2์ค‘ for๋ฌธ!
โ€ข
IoU๊ฐ€ ์ผ์ • ์ˆ˜์ค€ ์ด์ƒ์ด๋ผ๋ฉด, ๋‘ ๋ฐ•์Šค๋Š” ์„œ๋กœ ๊ฐ™์€ ๋ฌผ์ฒด๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ๊ฒƒ์ด๋ผ๊ณ  ํŒ๋‹จํ•˜์—ฌ ์ƒ๋Œ€์ ์œผ๋กœ Confidence๊ฐ€ ๋‚ฎ์€ ๋ฐ•์Šค๋ฅผ ์ œ๊ฑฐํ•˜๋Š” ๊ฒƒ์ด๋‹ค.
๊ณผ์ • ์ค‘ Confidence threshold์™€ IoU threshold ๋‘ ๊ฐ’์ด ๋“ฑ์žฅํ–ˆ๋Š”๋ฐ, Confidense threshold๊ฐ€ ๋†’์„์ˆ˜๋ก, IoU threshold๊ฐ€ ๋‚ฎ์„์ˆ˜๋ก ๋” ๋งŽ์€ ๋ฐ•์Šค๊ฐ€ ์ œ๊ฑฐ๋œ๋‹ค. ์™œ์ธ์ง€๋Š” ์ƒ๊ฐํ•ด๋ณด๋ฉด ์•ˆ๋‹ค!
๋‹ค๋ฅธ ์˜ˆ์ œ๋กœ ํ•œ๋ฒˆ ๋” ๋ณด์ž. ์œ„์˜ ๊ทธ๋ฆผ์—์„œ ํ•˜์–€์ƒ‰/๋นจ๊ฐ„์ƒ‰ ๋ฐ•์Šค๋“ค์ด Detect๋˜์—ˆ๊ณ , ์—ฌ๊ธฐ์„œ NMS๋ฅผ ์ˆ˜ํ–‰ํ•œ๋‹ค๊ณ  ํ•ด ๋ณด์ž.
1.
Confidence threshold ์ดํ•˜์ธ Bbox๋“ค์„ ๋ชจ๋‘ ์ œ๊ฑฐํ•œ๋‹ค. ๊ฐ€๋ น threshold๊ฐ€ 0.4๋ผ๊ณ  ํ•˜๋ฉด, Confidence๊ฐ€ 0.4 ์ดํ•˜์ธ ๋ฐ•์Šค๋“ค์€ ๋ชจ๋‘ ์ œ๊ฑฐ๋œ๋‹ค. ๊ทธ๋ฆผ์—์„œ๋Š” ์ œ๊ฑฐ๋˜์—ˆ๋‹ค๊ณ  ์น˜์ž.
2.
๋ฐ•์Šค๋“ค์„ Confidence ๊ธฐ์ค€ ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌํ•œ๋‹ค. ์ˆœ์„œ๋Œ€๋กœ [0.9 ๋ฐ•์Šค, 0.8 ๋ฐ•์Šค, 0.7 ๋ฐ•์Šค, 0.65 ๋ฐ•์Šค, 0.6 ๋ฐ•์Šค(์™ผ์ชฝ), 0.6 ๋ฐ•์Šค(์˜ค๋ฅธ์ชฝ)] ์ด๋ ‡๊ฒŒ ๋  ๊ฒƒ์ด๋‹ค.
3.
์•ž์—์„œ๋ถ€ํ„ฐ N2N^2 ์•Œ๊ณ ๋ฆฌ์ฆ˜์ฒ˜๋Ÿผ ๋’ค์˜ ๋ฐ•์Šค๋“ค์„ ์ญ‰ ์‚ดํŽด๋ณด๋ฉด์„œ, ๋‘ ๋ฐ•์Šค์˜ IoU๋ฅผ ๊ณ„์‚ฐํ•ด์„œ threshold ์ด์ƒ์ด๋ฉด ํ•ด๋‹น ๋ฐ•์Šค๋ฅผ ์ œ๊ฑฐํ•œ๋‹ค.
โ€ข
0.9 ๋ฐ•์Šค๋ฅผ ๋จผ์ € ์žก๊ณ , ๋’ค์˜ ๋ฐ•์Šค๋“ค์„ ๋ณด์ž.
โ—ฆ
0.8 ๋ฐ•์Šค์™€๋Š” ๊ฒน์น˜์ง€ ์•Š๋Š”๋‹ค.
โ—ฆ
๋ณด๋‹ˆ๊นŒ 0.7 ๋ฐ•์Šค์™€ IoU๊ฐ€ threshold ์ด์ƒ์ด๋‹ค. ์ด ๋ฐ•์Šค๋Š” 0.9 ๋ฐ•์Šค์™€ ๊ฐ™์€ ๊ฒƒ์„ ๊ฐ€๋ฆฌํ‚จ๋‹ค๊ณ  ๊ฐ„์ฃผํ•˜๊ณ , ์ œ๊ฑฐํ•œ๋‹ค.
โ—ฆ
0.65 ๋ฐ•์Šค, 0.6 ๋ฐ•์Šค(์™ผ์ชฝ)๊ณผ๋Š” ๊ฒน์น˜์ง€ ์•Š๋Š”๋‹ค.
โ—ฆ
0.6 ๋ฐ•์Šค(์˜ค๋ฅธ์ชฝ)์™€ IoU๊ฐ€ ๋˜ threshold ์ด์ƒ์ด๋‹ค. ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์ œ๊ฑฐํ•œ๋‹ค.
โ€ข
์ด์ œ 0.8 ๋ฐ•์Šค๋ฅผ ๋ณด์ž.
โ—ฆ
...
๊ฒฐ๊ณผ์ ์œผ๋กœ ๊ทธ๋ฆผ์—์„œ ํ•˜์–€ ๋ฐ•์Šค๊ฐ€ NMS๋ฅผ ๋Œ๋ฆฌ๊ณ  ๋‚จ์€ ๋ฐ•์Šค์ด๊ณ , ๋นจ๊ฐ„ ๋ฐ•์Šค๋Š” NMS ๊ณผ์ •์—์„œ ์ œ๊ฑฐ๋œ ๋ฐ•์Šค์ด๋‹ค. ๋™์ผํ•œ ๋ฌผ์ฒด๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ๋ฐ•์Šค์˜ ์ค‘๋ณต์„ ์ œ๊ฑฐํ•œ ๊ฒƒ์ด๋‹ค.