๐Ÿ”—

Training Region-based Object Detector with Online Hard Example Mining

Tags
Model Training
Created
2021/01/31 08:46
Publication
CVPR'16
Rate
3
Source
https://arxiv.org/abs/1604.03540
Summary
(์ƒ์„ธ ํŽ˜์ด์ง€ ์ฐธ๊ณ )

Reference

Hard example mining์ด๋ผ ํ•จ์€, ๋ชจ๋ธ์ด ์ž˜ ๋งž์ถฐ๋‚ด์ง€ ๋ชปํ•˜๋Š” ๋ฐ์ดํ„ฐ๋“ค์„ ์ง‘์ค‘์ ์œผ๋กœ ๋ชจ๋ธ์— ํ•™์Šต์‹œํ‚ด์œผ๋กœ์จ ๋ณด๋‹ค ํšจ์œจ์ ์ธ ํ•™์Šต์„ ๊พ€ํ•˜๋Š” ๋ฐฉ๋ฒ•๋ก ์ด๋‹ค. ์ฆ‰ ๋ชจ๋ธ์ด ์ด๋ฏธ ์ž˜ ์ถ”๋ก ํ•ด๋‚ด๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๊ณ„์†ํ•ด์„œ ํ•™์Šต์— ์‚ฌ์šฉํ•จ์œผ๋กœ์จ ๋ฐœ์ƒํ•˜๋Š” ๋น„ํšจ์œจ์„ ์ตœ์†Œํ™”ํ•˜๊ธฐ ์œ„ํ•ด, ๋ชจ๋ธ์ด ์–ด๋ ค์›Œํ•˜๋Š” ์œ ์˜๋ฏธํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ž˜ ๊ณจ๋ผ ๋ชจ๋ธ์— ๋จน์—ฌ์ฃผ๋Š” ๊ฒƒ์ด๋‹ค.
์ด๋Ÿฌํ•œ ๋ฐฉ๋ฒ•๋ก ์€ ๊ทธ๋‹ค์ง€ ์ƒˆ๋กœ์šด ๊ฒƒ์€ ์•„๋‹Œ๋ฐ, ๊ธฐ์กด์˜ bootstrapping์ด ์ด๋Ÿฌํ•œ hard example mining์˜ ๋Œ€ํ‘œ์ ์ธ ์˜ˆ์‹œ์ด๋‹ค. Boostrapping์€ ๋Œ€ํ‘œ์ ์œผ๋กœ SVM์˜ ํ•™์Šต์— ์ข…์ข… ์‚ฌ์šฉ๋˜๋˜ ๋ฐฉ๋ฒ•์ด์—ˆ๋Š”๋ฐ, ๊ฐ„๋‹จํ•˜๊ฒŒ ์„ค๋ช…ํ•˜์ž๋ฉด 1) ์ „์ฒด ๋ฐ์ดํ„ฐ์…‹์˜ subset์— ๋ชจ๋ธ์ด ์ˆ˜๋ ดํ•  ๋•Œ๊นŒ์ง€ ํ•™์Šต์‹œํ‚ค๊ณ , 2) ํ•™์Šต๋œ ๋ชจ๋ธ์„ ํ†ตํ•ด ์ถ”๋ก ํ•œ ๊ฒฐ๊ณผ์˜ loss๊ฐ€ ๋†’์€ ๋ฐ์ดํ„ฐ๋ฅผ ์œ„์ฃผ๋กœ subset์„ ์žฌํŽธ์„ฑํ•˜๊ณ , 3) ์ƒˆ๋กœ์šด subset์— ๋‹ค์‹œ ๋ชจ๋ธ์ด ์ˆ˜๋ ดํ•  ๋•Œ๊นŒ์ง€ ํ•™์Šต์‹œํ‚ค๋Š” ๊ฒƒ์„ ๋ฐ˜๋ณตํ•œ๋‹ค. (์ฐธ๊ณ ๋กœ ํ†ต๊ณ„ํ•™์—์„œ ์‚ฌ์šฉํ•˜๋Š” boostrapping๊ณผ๋Š” ๋ณ„๊ฐœ์˜ ๊ฐœ๋…์ด๋‹ค. ํ†ต๊ณ„ํ•™์˜ boostrapping์€ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ถ€์กฑํ•œ ์ƒํ™ฉ์—์„œ ์–ด๋– ํ•œ ์ง€ํ‘œ์˜ ๋ถˆํ™•์‹ค์„ฑ(๋ถ„์‚ฐ)์„ ํ‰๊ฐ€ํ•˜๊ธฐ ์œ„ํ•ด, ์ฃผ์–ด์ง„ ๋ฐ์ดํ„ฐ์…‹์—์„œ ์ž‘์€ ํฌ๊ธฐ์˜ subset๋“ค์„ ๋ฐ˜๋ณต์ ์œผ๋กœ samplingํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.)
ํ•˜์ง€๋งŒ ์ด๋Ÿฌํ•œ boostrapping์€ ๋”ฅ๋Ÿฌ๋‹ ํ”„๋ ˆ์ž„์›Œํฌ์— ์ง์ ‘์ ์œผ๋กœ ์ ์šฉํ•˜๊ธฐ์—๋Š” ์ ์ ˆํ•˜์ง€ ์•Š์€๋ฐ, ์ž‘์€ batch size์— ๋Œ€ํ•œ step-wise learning์„ ๋ฐ˜๋ณตํ•˜๋Š” ๋”ฅ๋Ÿฌ๋‹ ๋ชจ๋ธ์—์„œ ๋งค step๋งˆ๋‹ค ๋ฐ์ดํ„ฐ์…‹์„ ์žฌํŽธ์„ฑํ•˜๋Š” ๊ฒƒ์€ ๋”์šฑ ํฐ ๋น„ํšจ์œจ์„ ์•ผ๊ธฐํ•  ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋”ฅ๋Ÿฌ๋‹ ํ”„๋ ˆ์ž„์›Œํฌ - ํŠนํžˆ object detection task๋ฅผ ์œ„ํ•œ - ์— ๋งž์ถ”์–ด hard example mining์„ ๊ฐœ์กฐํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ๋ฐ”๋กœ OHEM(Online Hard Example Mining)์ด๋‹ค.
์ฐฉ์ƒ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค: RCNN ๊ณ„์—ด์˜ object detection model์€ ํ•™์Šต์— ํ•œ๋‘ ๊ฐœ์˜ ์ด๋ฏธ์ง€๋ฐ–์— ์‚ฌ์šฉํ•˜์ง€ ์•Š์ง€๋งŒ, ํ•˜๋‚˜์˜ ์ด๋ฏธ์ง€์— ์ˆ˜์ฒœ ๊ฐœ์˜ RoI(Region of Interest)๋“ค์ด ์กด์žฌํ•œ๋‹ค. ์ฆ‰ OHEM์€ ๊ฐ๊ฐ์˜ step์—์„œ ํ•™์Šต ์ด๋ฏธ์ง€๋กœ๋ถ€ํ„ฐ ๋„์ถœ๋œ RoI ์ค‘ hard example๋“ค์„ ๋ฝ‘์•„๋‚ด์–ด, ์ด๋“ค์„ ๋Œ€์ƒ์œผ๋กœ ๋ชจ๋ธ์„ ํ•™์Šตํ•œ๋‹ค. ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ •๋ฆฌํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.
โ€ข
์ด๋ฏธ์ง€ ๋‚ด์˜ ๋ชจ๋“  RoI๋“ค์— ๋Œ€ํ•ด forward propagation์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.
โ€ข
๊ฐ ์ด๋ฏธ์ง€๋ณ„๋กœ loss๊ฐ€ ๊ฐ€์žฅ ๋†’์€ $B/N$๊ฐœ์˜ RoI๋“ค์„ ๋ฝ‘๋Š”๋‹ค.
โ€ข
๋‹จ, ๊ฒน์น˜๋Š” RoI๊ฐ€ ํ•™์Šต์— ํฌํ•จ๋˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด NMS๋ฅผ ์ˆ˜ํ–‰ํ•œ๋‹ค.
โ€ข
์„ ์ •๋œ ์ด $B$๊ฐœ์˜ RoI๋“ค์„ ๋Œ€์ƒ์œผ๋กœ๋งŒ backward propagation์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.
Boostrapping์—์„œ๋Š” data batch์— ์ผ์ •ํ•œ hard/easy example์˜ ๋น„์œจ์„ ์œ ์ง€ํ•˜๋ ค ํ•˜๋Š”๋ฐ, OHEM์—์„œ๋Š” hard example๋“ค๋งŒ ๋ฝ‘๋Š”๋‹ค๋Š” ๊ฒƒ์ด ์ธ์ƒ์ ์ด๋‹ค. ํŽ˜์ดํผ์—์„œ๋Š” "์–ด์ฐจํ”ผ easy example ๋ฐ์ดํ„ฐ๋ฅผ ์ž˜ ๋ชป ๋งž์ถ”๊ฒŒ ๋˜๋ฉด, ๋‹ค์‹œ ์ด๋Ÿฌํ•œ example์ด ํ•™์Šต์— ํฌํ•จ๋  ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์—" ๋ฌธ์ œ๊ฐ€ ์—†์„ ๊ฒƒ์ด๋ผ๊ณ  ์ฃผ์žฅํ•œ๋‹ค.
์ด๋Ÿฌํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์—๋Š” ๋Œ€ํ‘œ์ ์œผ๋กœ ๋‘ ๊ฐ€์ง€๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ๋Š”๋ฐ, ์ฒซ ๋ฒˆ์งธ๋Š” easy RoI๋“ค์˜ loss๋ฅผ 0์œผ๋กœ ์„ค์ •ํ•˜์—ฌ back propagation์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์‰ฝ์ง€๋งŒ, ๋ชจ๋“  RoI๋ฅผ backward propagation์— ๋ถˆํ•„์š”ํ•˜๊ฒŒ ํฌํ•จํ•จ์œผ๋กœ์จ memory inefficiency๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. ๊ทธ๋ž˜์„œ ํŽ˜์ดํผ์—์„œ ์ œ์‹œํ•˜๋Š” ๋‘ ๋ฒˆ์งธ ๋ฐฉ๋ฒ•์€ 1) gradient๋ฅผ ๊ณ„์‚ฐํ•˜์ง€ ์•Š๋Š”(read-only) ๋ชจ๋ธ์„ ํฌํ•จํ•œ ๋‘ ๊ฐœ์˜ ๋ชจ๋ธ์„ ๋ณต์ œํ•œ ๋’ค, 2) ์ „์ฒด RoI์— ๋Œ€ํ•ด read-only ๋ชจ๋ธ๋กœ forward propagation์„ ์ˆ˜ํ–‰ํ•˜์—ฌ hard example์„ ์„ ์ •ํ•˜๊ณ , 3) hard RoI์— ๋Œ€ํ•ด์„œ ๋‘ ๋ฒˆ์งธ ๋ชจ๋ธ๋กœ forward/backward propagation์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์ฒซ ๋ฒˆ์งธ ์˜ต์…˜๋ณด๋‹ค ๋‘ ๋ฐฐ ์ด์ƒ ๋น ๋ฅด๋‹ค๊ณ  ํ•œ๋‹ค.
๋˜ํ•œ ํŽ˜์ดํผ์—์„œ๋Š” ์ „์ฒด RoI๋ฅผ ๋Œ€์ƒ์œผ๋กœ ํ•™์Šตํ•œ ๊ฒƒ๋ณด๋‹ค, ํ˜น์€ ๋งค์šฐ ํฐ BB๋ฅผ ๋Œ€์ƒ์œผ๋กœ ํ•™์Šตํ•œ ๊ฒƒ๋ณด๋‹ค ์ ์ ˆํ•œ BB๋ฅผ ์„ค์ •ํ•˜์—ฌ OHEM์œผ๋กœ ํ•™์Šตํ•˜๋Š” ๊ฒƒ์ด ์œ ์˜๋ฏธํ•˜๊ฒŒ ๋” ๋†’์€ ํ•™์Šต ์„ฑ๊ณผ๋ฅผ ๋ณด์—ฌ์คŒ์„ empiricalํ•˜๊ฒŒ ์ฆ๋ช…ํ•˜์˜€๋‹ค. ์–ด๋ ค์šด ๋ฐ์ดํ„ฐ๋งŒ์„ ๊ณจ๋ผ ๋ชจ๋ธ์— ๋จน์—ฌ์ฃผ๋Š” ๊ฒƒ์ด ํšจ๊ณผ๊ฐ€ ์žˆ์—ˆ๋˜ ๊ฒƒ์ด๋‹ค. ํ•˜์ง€๋งŒ RCNN ๊ณ„์—ด์˜ object detector๋ฅผ ๊ณ ๋ คํ•˜์—ฌ ๊ณ ์•ˆ๋œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค๋ฅธ task์— ์ง์ ‘์ ์œผ๋กœ generalizeํ•˜๊ธฐ๋Š” ์–ด๋ ค์›Œ๋ณด์ธ๋‹ค.
E.O.D.