YOLO ๊ตฌํ์ผ๋ก ๋ฐฐ์ฐ๋ ๋ฅ๋ฌ๋ ๋ ผ๋ฌธ ๊ตฌํ with TensorFlow 2.0
YOLO(You Only Look Once) ๋ ผ๋ฌธ์ TensorFlow 2.0์ ์ด์ฉํด์ ๋ฐ๋ฐ๋ฅ๋ถํฐ ๊ตฌํํด๋ณด๋ฉฐ ๋ฅ๋ฌ๋ ๋ ผ๋ฌธ ๊ตฌํ ๋ฅ๋ ฅ์ ๋ฐฐ์ธ ์ ์๋ ๊ฐ์์ ๋๋ค.
์๊ฐ์ 501๋ช
๋์ด๋ ์ค๊ธ์ด์
์๊ฐ๊ธฐํ ๋ฌด์ ํ
- ๋ฏธํด๊ฒฐ
MNS ์ง๋ฌธ
์น์ 3 YOLO ๋ชจ๋ธ ๋ฆฌ๋ทฐ 10:54์ด์ ๋ง์ํ์๋ ๋ถ๋ถ์ [ํด๋์ค๋ณ softmax ๊ฒฐ๊ณผ] * [grid cell์ object๊ฐ ์กด์ฌํ ํ๋ฅ ] ์ ๊ณฑํด์ [ํ๋์ ๋ฐ์ด๋ฉ ๋ฐ์ค ์ขํ์ ๋งคํ๋๋ ๊ฒฐ๊ณผ]๋ฅผ ์ค๋ช ํ์๋ ๋ถ๋ถ์ด๊ณ ,์น์ 3 Non-Maximu
๋ฅ๋ฌ๋tensorflow์ธ์
ใป
0
304
1
- ๋ฏธํด๊ฒฐ
model.py์ Activation Function
GlobalAveragePooling2D()์์ InceptionV3์ ๋ค์ฐจ์ Feature Map์ 1์ฐจ์ ์ค์นผ๋ผ๋ก ์ฐจ์๋ณํ ํด์ฃผ๋๋ฐ, ์ฌ๊ธฐ์ GlobalAve
๋ฅ๋ฌ๋tensorflow๋ฐํ๊ฑฐ์ธ
ใป
0
511
1
- ๋ฏธํด๊ฒฐ
์ฝ๋ฉ์์ train.py ์คํ ์ ์ค๋ฅ
์ด์ํ๊ฒฝColab (ํ๋ก GPU ๋ฒ์ ์ฌ์ฉ)<img src="https://cdn.inflearn.com/public/files/posts/1b686ad0-953d-4dc7-b6fb-34c35edb76ce/image.
๋ฅ๋ฌ๋tensorflow๋ฐํ๊ฑฐ์ธ
ใป
0
684
1
- ๋ฏธํด๊ฒฐ
object_exists_cell_i ๊ณ์ฐ์
object_exists_cell_i, object_exists_cell_j = int(cell_size * ycenter / input_height), int(cell_size *
๋ฅ๋ฌ๋๋ฅ๋ฌ๋tensorflow๋ฐํ๊ฑฐ์ธ
ใป
0
436
0
- ๋ฏธํด๊ฒฐ
๋ฐ์ดํฐ์ ๋ณ๊ฒฝ์ ๋ํ ์ง๋ฌธ
๊ฐ์ ์๋ดค์ต๋๋ค๊ฐ์์์๋ psrcal voc ์ ๊ณ ์์ด ์ฌ์ง์ ๋ฐ์ดํฐ์ ์ผ๋ก ์ด์ฉํ์ จ๋๋ฐ์ด ๋ฐ์ดํฐ์ ์ ๋ค๋ฅธ ๋ฐ์ดํฐ๋ก ๋ฐ๊ฟ์ ํ์ต์ ์ํค๊ณ ์ถ์ต๋๋ค๋จ์ํ ์ฝ๋ ์์ ๋ง ํ๋ฉด ๋๋์? ์์ ์ ํ๋ค๋ฉด ์ด๋ป๊ฒ ์์ ์ ํด์ผ ํ ๊น์?
tensorflow๋ฅ๋ฌ๋์ด์ฐ์
ใป
0
252
0
- ๋ฏธํด๊ฒฐ
reshape ํ ํ 7*7*30
<span style="background-color: #
tensorflow๋ฅ๋ฌ๋๊น์ ํธ
ใป
0
274
1
- ๋ฏธํด๊ฒฐ
์์ฑํ ์ฝ๋์ ์ ์๊ถ๊ณผ ๊นํ ์ ๋ก๋ ๊ฐ๋ฅ์ ๋ฌด์ ๋ํ ์ง๋ฌธ
์๋ ํ์ธ์. ์ด๋ฒ์ ์๋ก ์ด ๊ฐ์๋ฅผ ์๊ฐ์ ์ฒญํ์ต๋๋ค. ์ด ๊ฐ์์์ ์์ฑํ ์๋ก ์ฝ๋๋ฅผ ๊ฐ์ธ ํฌํธํด๋ฆฌ์ค ์์ฑ์ ์ํด์ ๊นํ์ ์ฌ๋ฆฌ๋ ํ์๊ฐ ํ์ฉ๋๋์ง ๋ฌป๊ณ ์ถ์ต๋๋ค. ์ด์ ์ ์ธํ๋ฐ์ ๋ฌผ์ด๋ดค๋๋ฐ
๋ฅ๋ฌ๋tensorflowRokiePlayer
ใป
0
300
1
- ๋ฏธํด๊ฒฐ
Train์ bounding box์ ๊ฐ์ ์ค์ ๊ด๋ จ
์๋ ํ์ธ์ ๊ฐ์ฌ๋! ๊ฐ์ ์ ๋ณด๊ณ ์์ต๋๋ค. ๋ค๋ฆ์ด ์๋๋ผ ๊ฐ์๋ฅผ ๋ณด๋ฉด์ ๊ณต๋ถ๋ฅผ ํ๋ค๊ฐ ์๋ฌธ์ ์ด ์๊ฒจ ์ง๋ฌธ๋๋ฆฝ๋๋ค. ์ด๋ฒ YOLOv1์์ Bounding box์ ๊ฐ์๋ฅผ 2๋ก ์ง์ ํ๋๋ฐ, Object Detectio
๋ฅ๋ฌ๋tensorflow๊น์ฑ์
ใป
0
406
1
- ๋ฏธํด๊ฒฐ
backbone network์ ๋ํด์ ์ง๋ฌธ ์์ต๋๋ค.
๋ ผ๋ฌธ์์๋ backbone network๋ก darknet์
tensorflow๋ฅ๋ฌ๋hibernation
ใป
0
276
1
- ๋ฏธํด๊ฒฐ
one_hot๊ณผ C๊ฐ์ ๋ํด์ ์ง๋ฌธ ๋๋ฆฝ๋๋ค.
<p cid="n27" mdtype="paragraph"
๋ฅ๋ฌ๋tensorflowhibernation
ใป
0
300
1
- ๋ฏธํด๊ฒฐ
class_loss์ ๋ํด์ ์ง๋ฌธ ์์ต๋๋ค.
<span md-inline="plain" class="m
๋ฅ๋ฌ๋tensorflowhibernation
ใป
0
292
1
- ๋ฏธํด๊ฒฐ
์ง๋ฌธ์์ด์ ๊ธ ์ฌ๋ฆฝ๋๋ค.
dataset.py์์ dataset์ load ํ filter๋ฅผ ํตํด ํน์ label์ data๋ง ํํฐ๋ง ํ๋ ๊ณผ์ ์์ filter์ ์ธ์๋ก predicateํจ์๋ฅผ ์ ์ํ ๋ predicate์ ์ธ์๋ก ๋ฐ๋ x๋ dataset์ผ๋ก ์ดํดํ
๋ฅ๋ฌ๋tensorflowhibernation
ใป
0
287
1
- ๋ฏธํด๊ฒฐ
์๋ ํ์ญ๋๊น ๊ฐ์ ์ ๋ณด๊ณ ์์ต๋๋ค
<img src="https://cdn.inflearn.com/public/files/posts/be75e08a-a400-4033-a51d-958d6bda9983/์คํฌ๋ฆฐ์ท 2021-07-01 ์คํ 8.43.08.png" width="1680" height="392
๋ฅ๋ฌ๋tensorflow์ฐ๋์ด
ใป
0
418
5
- ๋ฏธํด๊ฒฐ
๋ ๊ฐ์ง ์ง๋ฌธ ๋๋ฆฝ๋๋ค.
TensorFlow 2.0์ ์ด์ฉํ YOLO ๋ ผ๋ฌธ ๊ตฌํ chapter์ 'train.py - train_step ์ ์ & for-loop์ ์ด์ฉํ gradient descent ์ํ & ํ๋ผ๋ฏธํฐ ๋ฐ ํ ์๋ณด๋(TensorBoard) ๋ก๊ทธ
๋ฅ๋ฌ๋tensorflowhibernation
ใป
0
248
1
- ๋ฏธํด๊ฒฐ
loss.py ์ loss์ ์ฌ์ฉ๋ tf.nn.l2_loss ์ ๋ํด์ ์ง๋ฌธ ๋๋ฆฝ๋๋ค.
<p cid="n9" mdtype="paragraph" class="md-end-block md-p md-focus" style="box-sizing: border-box; line-height: inherit; orphans: 4; margin: 0.8em 0px;
tensorflow๋ฅ๋ฌ๋hibernation
ใป
0
434
1
- ๋ฏธํด๊ฒฐ
loss function ๊ด๋ จ ์ง๋ฌธ์ ๋๋ค
bounding box ๊ด๋ จ loss(coord loss)์์ x, y ๋ถ๋ถ์ ๋ํด์ ์ง๋ฌธ์ด ์์ต๋๋ค. ๋ ผ๋ฌธ์ ๋ณด๋ฉด ์๋์ ๊ฐ์ ๋ฌธ์ฅ์ด ๋์ค๋๋ฐ์ We parametrize the bounding box x and y coordinates
lossfunctionboundingbox๋ฅ๋ฌ๋tensorflow๋ฅ๋ฌ๋
ใป
0
219
1
- ๋ฏธํด๊ฒฐ
loss function ๊ด๋ จ
loss function ๊ตฌํํ ๋ถ๋ถ์์ ์ง๋ฌธ๋๋ฆฝ๋๋ค. no object loss์ ๋ํ flag(1objij)๋ฅผ 1-object_exists_cell๋ก ๊ตฌํํ์ ๊ฑธ๋ก ์ดํดํ๋๋ฐ์<br /
tensorflow๋ฅ๋ฌ๋๊น๋ฒ์
ใป
0
208
1
- ๋ฏธํด๊ฒฐ
NMS ๊ตฌํ ๊ด๋ จ ์ง๋ฌธ์์ต๋๋ค.
์๋ ํ์ธ์. ๊ฐ์ ํด์ฃผ์ ๋ด์ฉ์ ๋ฃ๊ณ ์ฝ๋๋ฅผ ํ์ฉํด์ Pascal voc 20class๋ค์ ํ์ตํ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋์ model์ ํ์ฉํ prediction์ ํด๋ณด๋ ค๊ณ ํ๋๋ฐ ์ฝ๋์์ NMS๋ฅผ ์ฌ์ฉํ์ง ์๋๊ตฐ์.... ๊ฐ์ธ์ ์ผ๋ก ์ฝ๋๋ฅผ ๋ง๋ค์ด
tensorflow๋ฅ๋ฌ๋๊น๋ฏผ์ค
ใป
0
218
1
- ๋ฏธํด๊ฒฐ
confidence๊ฐ ๊ฐ์ฅ ํฐ ๊ฐ์ผ๋ก IOU ๋น๊ต ์ดํ ๊ณผ์ ์ ๋ํด
์๋ ํ์ธ์. ์ข์ ๊ฐ์ ์ ๋ณด๊ณ ์์ต๋๋ค. confidence ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌ ์ดํ ๊ฐ์ฅ ํฐ ๊ฐ์ผ๋ก ๊ทธ๋ณด๋ค ์์ ๊ฐ๋ค์ IOU ๊ณ์ฐ์ผ๋ก ๊ฑธ๋ฌ๋ธ ์ดํ, ๋จ์ ๊ฐ๋ค ์ค ๋๋ฒ์งธ๋ก ํฐ ๊ฐ์ผ๋ก ์ฌ์ฐจ IOU ๊ณ์ฐ์ ํ๋ ์ด์ ๊ฐ ๊ถ๊ธํฉ๋๋ค. <p
tensorflow๋ฅ๋ฌ๋๊น๋ฏผ์ค
ใป
0
344
1
- ๋ฏธํด๊ฒฐ
confidence <= 0.6 ์ดํ์ Bounding Box ์ ๊ฑฐ์์ confidence๋ class probability๊ฐ ๊ณฑํด์ง ๊ฐ์ธ์ง์?
NMS ์๊ณ ๋ฆฌ์ฆ ๋์ ๊ณผ์ ์์ confidence <= 0.6 ์ดํ์ Bounding Box๋ฅผ ์ ๊ฑฐํ๋ค๊ณ ํ ๋, confidence <=0.6 ์ดํ๋ class๋ณ์ธ์ง ์๋๋ฉด bounding box confidence๊ฐ 0.6์ดํ์ธ Bound
๋ฅ๋ฌ๋tensorflownurirnd
ใป
0
306
3






