detection_layer
forward_detection_layer
ํจ์ ์ด๋ฆ: forward_detection_layer
์ ๋ ฅ
detection_layer ๊ตฌ์กฐ์ฒด l
network ๊ตฌ์กฐ์ฒด net
๋์
detection_layer ๊ตฌ์กฐ์ฒด๋ ๊ฐ์ฒด ํ์ง์ ํ์ํ ๋ค์ํ ๋งค๊ฐ๋ณ์์ ๋ฐ์ดํฐ๋ฅผ ํฌํจํ๋ฉฐ, network ๊ตฌ์กฐ์ฒด๋ ๋ ์ด์ด์ ๋ํ ์ ๋ ฅ ๋ฐ์ดํฐ๋ฅผ ํฌํจํฉ๋๋ค.
ํจ์๋ ๋จผ์ ๋ช ๊ฐ์ง ๋ณ์๋ฅผ ์ด๊ธฐํํ๊ณ , net์์ ์ ๋ ฅ ๋ฐ์ดํฐ๋ฅผ ๋ ์ด์ด์ ์ถ๋ ฅ ๋ฐ์ดํฐ๋ก ๋ณต์ฌํฉ๋๋ค.
๋ง์ฝ l์ softmax ๋งค๊ฐ๋ณ์๊ฐ true์ธ ๊ฒฝ์ฐ, ํจ์๋ ๊ฐ ์ด๋ฏธ์ง์ ๊ฐ ์์น์ ๋ํ ์ถ๋ ฅ ๋ฐ์ดํฐ์ softmax ํ์ฑํ ํจ์๋ฅผ ์ ์ฉํฉ๋๋ค.
๋ง์ฝ ๋คํธ์ํฌ๊ฐ ํ์ต ์ค์ธ ๊ฒฝ์ฐ(net.train์ด true), ํจ์๋ ์ถ๋ ฅ ๋ฐ์ดํฐ์ ground-truth ์ด๋ ธํ ์ด์ ์ ์ฌ์ฉํ์ฌ detection layer์ ์์ค์ ๊ณ์ฐํฉ๋๋ค. ๊ตฌ์ฒด์ ์ผ๋ก, ๊ฐ ์ด๋ฏธ์ง์ ๊ฐ ์์น์์ ๊ฐ์ฒด์ ๊ด๋ จ๋ ์์ค๊ณผ ๊ฐ์ฒด์ ๋ฌด๊ดํ ์์ค, ์์ธก๋ ๊ฒฝ๊ณ ์์์ ๊ด๋ จ๋ ์์ค, ์์ธก๋ ํด๋์ค์ ๊ด๋ จ๋ ์์ค์ ๊ณ์ฐํฉ๋๋ค. ์ด๋ฌํ ์์ค์ ๋์ ๋์ด l.cost์ ์ ์ฅ๋ฉ๋๋ค. ํจ์๋ ๋ํ ์ถ๋ ฅ ๋ฐ์ดํฐ์ ๋ํ ์์ค์ ๊ทธ๋๋์ธํธ๋ฅผ ๊ณ์ฐํ๊ณ l.delta์ ์ ์ฅํฉ๋๋ค.
์์ค๊ณผ ๊ทธ๋๋์ธํธ๋ฅผ ๊ณ์ฐํ ํ, ํจ์๋ ํ๋ จ ๊ณผ์ ์ ๋ชจ๋ํฐ๋งํ๊ธฐ ์ํด ์์ค๊ณผ ๊ด๋ จ๋ ์ฌ๋ฌ ํต๊ณ(ํ๊ท objectness ์ ์ ๋ฐ ํ๊ท ์นดํ ๊ณ ๋ฆฌ ์ ์ ๋ฑ)๋ฅผ ์ ๋ฐ์ดํธํฉ๋๋ค.
๋ง์ง๋ง์ผ๋ก, ํจ์๋ ๊ฐ์ ๋ฐํํฉ๋๋ค.
์ค๋ช
๊ฐ์ฒด ํ์ง์ฉ ์ ๊ฒฝ๋ง์์ detection layer์ forward pass๋ฅผ ์ํํ๋ ํจ์์ ๋๋ค.
ํจ์๋ detection_layer ๊ตฌ์กฐ์ฒด์ network ๊ตฌ์กฐ์ฒด๋ฅผ ์ ๋ ฅ์ผ๋ก ๋ฐ์ต๋๋ค.
ํจ์๋ detection_layer ๊ตฌ์กฐ์ฒด์ ๋งค๊ฐ๋ณ์์ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ์ฌ ์ถ๋ ฅ ๋ฐ์ดํฐ๋ฅผ ๊ณ์ฐํ๊ณ , ๋คํธ์ํฌ๊ฐ ํ๋ จ ์ค์ธ ๊ฒฝ์ฐ ์์ค๊ณผ ๊ทธ๋๋์ธํธ๋ฅผ ๊ณ์ฐํฉ๋๋ค.
์์ค๊ณผ ๊ทธ๋๋์ธํธ๋ฅผ ๊ณ์ฐํ ํ, ํจ์๋ ํต๊ณ๋ฅผ ์ ๋ฐ์ดํธํ๊ณ ๊ฐ์ ๋ฐํํฉ๋๋ค.
backward_detection_layer
ํจ์ ์ด๋ฆ: backward_detection_layer
์ ๋ ฅ:
const detection_layer l: detection_layer ๊ตฌ์กฐ์ฒด ๋ณ์๋ก, detection layer์ ์ค์ ๊ณผ ์ํ๋ฅผ ์ ์ฅํฉ๋๋ค.
network net: neural network๋ฅผ ๋ํ๋ด๋ ๊ตฌ์กฐ์ฒด ๋ณ์๋ก, detection layer๊ฐ ์ํ network์ ์ํ๋ฅผ ์ ์ฅํฉ๋๋ค.
๋์:
detection layer์ backward propagation์ ์ํํฉ๋๋ค.
axpy_cpu ํจ์๋ฅผ ์ฌ์ฉํ์ฌ, detection layer์ delta ๊ฐ๊ณผ network์ delta ๊ฐ์ ๋ํฉ๋๋ค.
์ค๋ช :
detection layer๋ ์ ๋ ฅ ์ด๋ฏธ์ง์์ object detection์ ์ํํ๋ ๋ ์ด์ด์ ๋๋ค.
backward_detection_layer ํจ์๋ ์ด๋ฌํ detection layer์ backward propagation์ ์ํํฉ๋๋ค.
backward propagation์ gradient๋ฅผ ์ญ๋ฐฉํฅ์ผ๋ก ์ ํํ์ฌ, ๊ฐ๊ฐ์ ๊ฐ์ค์น(weight)์ bias์ ๋ํ gradient๋ฅผ ๊ณ์ฐํฉ๋๋ค.
axpy_cpu ํจ์๋ BLAS ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํจ์๋ก, ๋ฒกํฐ ๋ง์ ์ฐ์ฐ์ ์ํํฉ๋๋ค.
l.delta์ net.delta๋ ๊ฐ๊ฐ detection layer์ network์ gradient ๊ฐ์ ์ ์ฅํ๋ ๋ฐฐ์ด์ ๋๋ค.
backward_detection_layer ํจ์๋ l.delta์ net.delta๋ฅผ ๋ํ์ฌ, network์ delta ๊ฐ์ ๊ฐฑ์ ํฉ๋๋ค.
make_detection_layer
ํจ์ ์ด๋ฆ: make_detection_layer
์ ๋ ฅ:
batch: ๋ฐฐ์น ํฌ๊ธฐ
inputs: ์ ๋ ฅ๊ฐ ํฌ๊ธฐ
n: anchor box ๊ฐ์
side: feature map ํฌ๊ธฐ
classes: ๋ถ๋ฅํ ํด๋์ค ์
coords: ๊ฐ anchor box์ ์ขํ ๊ฐ์
rescore:
๋์:
detection_layer ๊ตฌ์กฐ์ฒด๋ฅผ ์ด๊ธฐํํ๊ณ , ์ ๋ ฅ๊ฐ์ ๋ํ ํ์ํ ์ ๋ณด๋ฅผ ์ค์ ํจ
cost, output, delta๋ฅผ ํ ๋นํ๊ณ , truths์ outputs์ ์ค์ ํจ
forward์ backward ํจ์๋ฅผ ์ค์ ํจ
"Detection Layer"๋ผ๋ ๋ฉ์์ง๋ฅผ ์ถ๋ ฅํจ
์ค๋ช :
make_detection_layer ํจ์๋ detection_layer ๊ตฌ์กฐ์ฒด๋ฅผ ์ด๊ธฐํํ๊ณ , ์ ๋ ฅ๊ฐ์ ๋ํ ํ์ํ ์ ๋ณด๋ฅผ ์ค์ ํ ํ, ์ด๊ธฐํ๋ ๊ตฌ์กฐ์ฒด๋ฅผ ๋ฐํํฉ๋๋ค. ์ด ํจ์๋ YOLO ์ ๊ฒฝ๋ง์์ ์ฌ์ฉ๋๋ detection layer๋ฅผ ์์ฑํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.
batch๋ ํ ๋ฒ์ ์ฒ๋ฆฌํ ๋ฐ์ดํฐ์ ๊ฐ์์ด๋ฉฐ, inputs๋ ์ด์ ๋ ์ด์ด์ ์ถ๋ ฅ๊ฐ์ ํฌ๊ธฐ์ ๋๋ค. n์ anchor box์ ๊ฐ์์ด๊ณ , side๋ feature map์ ๊ฐ๋ก, ์ธ๋ก ํฌ๊ธฐ์ ๋๋ค. classes๋ ๋ถ๋ฅํ ํด๋์ค์ ๊ฐ์์ด๋ฉฐ, coords๋ ๊ฐ anchor box์ ์ขํ ๊ฐ์์ ๋๋ค. rescore๋ YOLOv2์์ ์ฌ์ฉ๋๋ ๊ฐ์ผ๋ก, bbox์ ์ ํ๋๋ฅผ ์ธก์ ํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.
์ด ํจ์๋ detection_layer ๊ตฌ์กฐ์ฒด๋ฅผ ์ด๊ธฐํํ๊ณ , ์ ๋ ฅ๊ฐ์ ๋ํ ํ์ํ ์ ๋ณด๋ฅผ ์ค์ ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ cost, output, delta๋ฅผ ํ ๋นํ๊ณ , truths์ outputs์ ์ค์ ํฉ๋๋ค. ๋ง์ง๋ง์ผ๋ก forward์ backward ํจ์๋ฅผ ์ค์ ํ๊ณ , "Detection Layer"๋ผ๋ ๋ฉ์์ง๋ฅผ ์ถ๋ ฅํฉ๋๋ค.
get_detection_detections
ํจ์ ์ด๋ฆ: get_detection_detections
์ ๋ ฅ:
layer l: YOLO ๋คํธ์ํฌ์์ ์ถ๋ ฅ ๋ ์ด์ด
int w: ์ ๋ ฅ ์ด๋ฏธ์ง์ ๋๋น
int h: ์ ๋ ฅ ์ด๋ฏธ์ง์ ๋์ด
float thresh: objectness score์ ์ต์ ์๊ณ๊ฐ
detection *dets: ๊ฐ ๊ฒ์ถ ๊ฐ์ฒด์ ์ ๋ณด๋ฅผ ์ ์ฅํ detection ๊ตฌ์กฐ์ฒด ๋ฐฐ์ด
๋์:
YOLO ๋คํธ์ํฌ ์ถ๋ ฅ๊ฐ์ ๋ฐ์์ ๊ฐ์ฒด ๊ฒ์ถ ์ํ
๊ฐ์ฒด ๊ฒ์ถ ๊ฒฐ๊ณผ๋ฅผ detection ๊ตฌ์กฐ์ฒด ๋ฐฐ์ด dets์ ์ ์ฅ
์ค๋ช :
YOLO ๋คํธ์ํฌ์์ ์ถ๋ ฅ ๋ ์ด์ด์ ์ถ๋ ฅ๊ฐ(predictions)์ ๋ฐ์์, ๊ฐ์ฒด ๊ฒ์ถ ์ํ
l.side๋ ์ถ๋ ฅ ๋ ์ด์ด์ ๊ฐ๋ก ์ธ๋ก ํฌ๊ธฐ, l.n์ ๊ฐ ์ ๋ง๋ค ์์ธกํ bounding box์ ๊ฐ์, l.classes๋ ํด๋์ค ๊ฐ์
๋ ์ด์ด์ ์ถ๋ ฅ๊ฐ์ ์ด์ฉํ์ฌ bounding box์ objectness score, ํด๋์ค ํ๋ฅ ๊ฐ ๊ณ์ฐ
๊ณ์ฐํ ์ ๋ณด๋ฅผ detection ๊ตฌ์กฐ์ฒด ๋ฐฐ์ด dets์ ์ ์ฅํ๊ณ ๋ฐํ
Last updated
Was this helpful?