Running saliency explanation with Yolo
OD ์ฐ๊ตฌ๋ ๋ฌผ์ฒด ์์ธก์ ํ๋ 2012๋ CNN์ดํ Object Detection Task์์ ๋ฌผ์ฒด ํ์ง๋ฅผ ์ํ ์ฐ๊ตฌ๋ก ์งํ๋์๋ค. ์ ๊ฒฝ๋ง์ ํ์ฉํ ๋ฐฉ์์ ํฌ๊ฒ candidate sampling ์ ์ฌ๋ถ๋ก one-stage ์ two-stage ๋ก ๋๋๋ค. ๋ ๊ฐ์ง ๋ฐฉ์ ์ค ์จ๋ผ์ธ์์ ๋์ฑ ๋น ๋ฅด๊ฒ ์์ธกํ๋ฉฐ ์ ๊ฒฝ๋ง ์์ฌ๊ฒฐ์ ์ ์ค๋ช ํ๊ธฐ์ ์ ํฉํ ๋ฐฉ์์ one-stage ์ด๋ค. ๋ํ์ ์ธ one-stage์ธ YOLO๋ 2014๋ YOLOv1 ์ ์์์ผ๋ก 2023๋ YOLOv8๊น์ง ๋ชจ๋ธ์ด ๋์๋ค.
YOLO Architecture๋ ์ ์ฒด์ ์ธ ํ๋ ์์ํฌ ๋ณํ๋ ์ ์ผ๋ ๊ฐ ๋ชจ๋ธ๋ณ๋ก output ์ ํํ๊ฐ ์ผ์นํ์ง ์๋๋ค. ์ด๋ฌํ output-ํํ์ ๋น์ ํํ๋ ์ค๋ช ์๊ณ ๋ฆฌ์ฆ์ ์ค๊ณํ๋๋ฐ ๊ณ ๋ ค๋์ด์ผ ํ๋ค. ์๋ํ๋ฉด, ์์ฌ๊ฒฐ์ ์ ์ค๋ช ํ๋ ์ธ๊ณต์ง๋ฅ์ด ๋ฌด์์ ์์ฌ๊ฒฐ์ ์ผ๋ก ์นญํ๋์ง์ ๋ฐ๋ผ์ ์ค๋ช ์ด ๋ฌ๋ผ์ง๊ธฐ ๋๋ฌธ์ด๋ค. YOLOv3์ YOLOv8์ ๊ฒฝ์ฐ ๋ชจ๋ธ์ ์์ํ์ ๋ค์๊ณผ ๊ฐ์ ํํ๋ก ๋์ด์๋ค.
๋ชจ๋ธ | ์์ํ ํํ | Anchor Box |
---|---|---|
YOLOv5 | [batch_size, number_of_anchors, 4 + 1 + number_of_classes] | Anchor Box |
YOLOv8 | [batch_size, number_of_anchors, 4 + number_of_classes] | Anchor Box Free |
์ถ๋ ฅ๊ฐ์ ํํ๊ฐ ๋ค๋ฅผ์ง๋ผ๋, XAI๊ธฐ์ ์ค ์ผ๋ถ๋ ๋ชจ๋ธ์ ์์ฌ๊ฒฐ์ ์ ์ค๋ช ํ๋๋ฐ ์ ์ฉ๋ ์ ์๋ค. ์ธ๊ณต์ง๋ฅ ์ค๋ช ๊ธฐ์ XAI๋ ๋ชจ๋ธ์ ํ์ ์ ํฌ๊ฒ ๋ณํํ์ง ์๋ model-agnostic ํ saliency map ํน์ CAM๊ธฐ๋ฐ์ด ์ ํฉํ๋ค. ์ด๋ ์์ผ๋ก๋ OD ๊ด๋ จ ๋ชจ๋ธ์ด ๊ฐ์ ๋๋ ์ฌ์ฉ๊ฐ๋ฅํ XAI๊ธฐ์ ์ ์ ์ฉ์ด ์ฅ๋ ค๋๊ธฐ ๋๋ฌธ์ด๋ค. ์ต๊ทผ์๋ ViT๋ชจ๋ธ์ ํ์ฉํ OD ์ฐ๊ตฌ๋ ์งํ๋์๋๋ฐ, ์ด ๋ชจ๋ธ์ ๋ํด์ Saliency Map๊ณผ CAM์ ์ ํฉํ์ง ์์ผ๋ฉฐ, Transformer์ ํนํ๋ XAI๊ธฐ์ (attention, Transformer LRP)์ ๊ฐ์ ๊ธฐ์ ์ ๋ํ ์ค๋ช ์๊ณ ๋ฆฌ์ฆ ์ฐ๊ตฌ๊ฐ ํ์ํ๋ค.
X-ray์์ ์ค๋ช ์ด ํ์ํ ์ด์ ๋ ๋๋ถ๋ถ์ ๊ฐ์ฒด๊ฐ overlapping๋์ด ์๊ธฐ ๋๋ฌธ์ด๋ค. object detection ๋ชจ๋ธ์ ๋๋ถ๋ถ ๋ฌผ์ฒด์ ๋ํ bounding-box์ ๋ ์ด๋ธ์ ์ ๊ณตํด์ฃผ๋ฉฐ, ๊ฐ์ฒด๊ฐ ๊ฒน์ณ์์ ๊ฒฝ์ฐ ๋ฌผ์ฒด์ ์ธ์์ ๋ค์ค ๊ฐ์ฒด์ด๋ค. ์ด์ ๋ํ ๋์ฑ ์ผ๋ก XAI๊ธฐ์ ์ ์์ฌ๊ฒฐ์ ์ ๋ํด์ attribution map์ ์ ๊ณตํ์ฌ ์์ฌ๊ฒฐ์ ์ ๋ณด์กฐํ๋ ์ญํ ์ ํ ์ ์๋ค. ์ด๋ฌํ ํ๊ณ๋ฅผ ๊ฐ์ ํ๊ธฐ ์ํด์ ๋ค์ค ์์ ์ ๋ํ ๋ฌผ์ฒดํ์ง๊ฐ ๊ฐ๋ฅํ๋ฉฐ, ์ด ๊ฒฝ์ฐ๋ ์ค๋ช ์ ์ ๊ณตํ๋ฉด ๊ฐ์์ ์ ์ฅ์์ ๋ฌผ์ฒด ํ์ง์ ๋ํ ๊ฒฝํ์ ๋ฐํ์ผ๋ก ์์ฌ๊ฒฐ์ ์ ๋ณด์ขํ ์ ์๋ค.
ํ์ต๋ฐ์ดํฐ๋ Robotflow์์ ์ ๊ณตํ๋ ์ธ ์ข ๋ฅ์ ์ํ๋ฌผ X-Ray๋ฐ์ดํฐ SIXRay, Threat, Prohibited๋ฅผ ์ฌ์ฉํ ์๋ค. ์๋ ํ๋ ์ธ ์ข ๋ฅ์ ๋ฐ์ดํฐ์ ๋ํ ํ์ต, ํ๊ฐ, ํ ์คํธ ๋ฐ์ดํฐ์ ์๋ ๋ค์๊ณผ ๊ฐ๋ค.
Data | train | valid | test |
---|---|---|---|
SIXRay | 5819 | 1662 | 831 |
Threat | 2518 | 298 | 152 |
Prohibited | 8685 | 1660 | 797 |
YOLO ๋ชจ๋ธ์ ํ์ต์ 50 Epoch์ ์งํํ์๋ค. YOLO ๋ชจ๋ธ์ ์ธ๊ฐ์ง ๋ฐ์ดํฐ์ ๋ํ ์ฑ๋ฅ์ ์๋ ํ์ ๊ฐ๋ค. ์ฑ๋ฅ์งํ๋ mAP50 (mean Average Precision), mAP50-95(0.5๋ถํฐ 0.95๊น์ง)์ธก์ ์ ์ฌ์ฉํ์๋ค.
Data | YOLOv5 mAP50 | YOLOv8 mAP50 | YOLOv5 mAP50-95 | YOLOv8 mAP50-95 |
---|---|---|---|---|
SIXRay | 88.07 | 88.84 | 61.22 | 62.37 |
Threat | 96.98 | 96.91 | 85.91 | 85.27 |
Prohibited | 88.57 | 90.07 | 63.38 | 65.27 |
์๋ ๊ทธ๋ฆผ์ SIXRay ๋ฐ์ดํฐ์ Threat ๋ฐ์ดํฐ์ ๋ํ saliency map ์์๋ฅผ ๋ณด์ฌ์ค๋ค.
(XAI๊ฐ ๊ฐ์ฒด ํ์ง์ ์ค์๋ถ์๋ฅผ ๋ณด์ฌ์ค๋ค.)
์ํ๋ฌผ์ ์ด๋ค ๋ถ๋ถ์ด ์์ธก์ ์์ฉํ์๋์ง ๋ณด์ฌ์ค๋ค. XAI ๊ธฐ์ ์ด ๋ ์น์ ๋จธ๋ฆฌ ๋ถ๋ถ์ ๊ฐ์กฐํ๊ธฐ ๋๋ฌธ์, ๊ด์ฐฐ์๋ ํด๋น ๋ถ๋ถ์ ๊ณ ๋ คํ ์ ์๋ค.
(XAI๊ฐ ๊ฐ์ฒด ํ์ง์ ์ค์๋ถ์๋ฅผ ๋ณด์ฌ์ค๋ค.)
๊ฐ์ฒด ํ์ง๋ ์ด๋ฃจ์ด์ง์ง ์์๋ค. ๋ฌผ์ฒด์ ํ์ ์ด ๋ฎ์๊ธฐ ๋๋ฌธ์ด๋ค. XAI๊ฒฐ๊ณผ ์๋์ชฝ ๋ฌผ์ฒด์ ๊ธฐ์ฌ๊ฐ ์กด์ฌํ๊ธฐ์ ๊ด์ฐฐ์๋ ํด๋น ๋ฌผ์ฒด๋ฅผ ์ฌ๊ณ ๋ คํ ์ ์๋ค.
(XAI๊ฐ ๊ฐ์ฒด ํ์ง์ ์ค์๋ถ์๋ฅผ ๋ณด์ฌ์ค๋ค.)
์นผ๋ก ์์ธกํ ๊ทผ๊ฑฐ๋ ์นผ๋ ๊ณผ ์์ก์ด ์ค๊ฐ ๋ถ๋ถ์ด ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ด๋ค. XAI ์ ๋ณด๋ฅผ ๋ฐํ์ผ๋ก ๊ด์ฐฐ์๋ ํด๋น ๋ถ๋ถ์ ์ง์ค์ ์ผ๋ก ๊ณ ๋ คํ ์ ์๋ค. (์์ก์ด ๋ถ๋ถ์ ๊ธฐ์ฌ๋๋ ์๋ฆฌ๊ฒ์ ๋๋ถ๋ถ์ผ๋ก ๋ฐ์ํ ๊ฒ์ด๋ค.)
(์๋ฆฌ๊ฒ์ bounding box ๊ธฐ์ฌ)
๋ชจ๋ธ์ ๋ฌผ์ฒด์ bounding box๋ฅผ ์ถ์ ํ๋๋ก ํ์ต๋์๋ค. ํ์ฐฝ์ ๋๋ถ๋ถ์ ๋ฌผ์ฒด๋ฅผ ํ์งํ๋ ๊ฒ๊ณผ ๋ฌผ์ฒด์ bounding box๋ฅผ ๊ฒฐ์ ํ๋ ์ญํ ์ ํ์๋ค.
์ฐ๊ตฌ๊ฒฐ๊ณผ ๊ฐ์ฒด ํ์ง์ ๋ํด์ ์ธ๊ณต์ง๋ฅ ์ค๋ช ๊ธฐ์ ์ด ๋ชจ๋ธ์ ์์ฌ๊ฒฐ์ ์ ๋ํ ์ ๋ณด๋ฅผ ์ ๊ณตํ์ฌ, ๊ด์ฐฐ์๊ฐ ์ ๋ ฅ ์ด๋ฏธ์ง, ์์ฌ๊ฒฐ์ , ์์ฌ๊ฒฐ์ ํด์์ผ๋ก ๋ ์ข์ ์์ฌ๊ฒฐ์ ์ ๋ณด์ผ ๊ฐ๋ฅ์ฑ์ ๋ณด์๋ค. ํ์ฌ ํ๊ณ๋ ์ค๋ช ๊ธฐ์ ์ ์ ํ๋๊ฐ ๋ถ์์ ํ๋ฉฐ, ๊ณ ๋ํ๋์ง ์๋ ๊ฒฝ์ฐ, ์๋ชป๋ ์์ฌ๊ฒฐ์ ์ค๋ช ์ ์ค ์ ์๋ค.
ํ์ฌ ์์ค๋ณด๋ค ํด์ ์์ค์ ๋์ด๊ธฐ ์ํด์๋ 1) ๊ณ ๋ํ๋ XAI๊ธฐ์ ์ ์ฌ์ฉํ์ฌ ์ํ๋ฌผ์ฒด ํ์ง์ ์ ํฉํ ์ค๋ช ์ ์ ๊ณตํ๊ณ , 2) ๋ค์ค๋ฌผ์ฒดํ์ง์ ์ ํฉํ XAI ๊ธฐ์ ์ ๊ฐ๋ฐํด์ผ ํ๋ค. ์ค๋ช ๊ธฐ์ ์ ์ ์ฑ์ ํ๊ฐ ๋ฐ object detection์ ๋ํด์ ์ ํฉํ ์ค๋ช ๊ธฐ์ ์ด ํ์ํ๋ค.