iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 25
0

這幾天一直有在看YOLO,並且試著把YOLO做出來,但是比想像中困難多了,從data的處理到loss function我都不太會寫,常常寫到很迷茫,然後有在網路上找別人的code來看,可怕的是看不懂別人的code...發現自己程度真的很差,連開始訓練都不行...我想真的從頭來再看一次原理吧,然後好好思考怎麼做...加油!

YOLO是一種object detection的方法,比起region proposal的R-CNN那類的方法速度快上許多,但是犧牲了一些準確度.
RCNN V.S YOLO在Pascal 2007 mAP = 66:69. Speed = 0.5FPS:45FPS
可以發現YOLO速度是多令人驚豔.

YOLO將影像分成7x7方格(cell),每一方格都會預測boxes(2個)和confidences.
confidence公式:https://ithelp.ithome.com.tw/upload/images/20191010/20121109qVyKwe24vv.jpg
IOU定義:
https://ithelp.ithome.com.tw/upload/images/20191010/20121109YcSAVs9Uqf.jpg
7x7方格:
https://ithelp.ithome.com.tw/upload/images/20191010/20121109IVZOj02lrf.jpg
https://ithelp.ithome.com.tw/upload/images/20191010/20121109aneyR6aXRt.jpg
同時每一個方格也會預測一個Class probability.
https://ithelp.ithome.com.tw/upload/images/20191010/20121109BAdCJEebQ1.jpg
結合boxes prediction和class prediction
https://ithelp.ithome.com.tw/upload/images/20191010/20121109woiw8OmK1Y.jpg
使用NMS 與 threshold選出最好的box
https://ithelp.ithome.com.tw/upload/images/20191010/20121109s6PPu2wCBU.jpg
因此每一個cell predict 2個boxes,每一個box包含x y w h + confidence共5個number.
output為:7x7cell x (2 boxes x 5number + 16class) = 7x7x26 = 1274

Training流程圖:
https://ithelp.ithome.com.tw/upload/images/20191010/20121109BtTn8s4l8U.jpg

Loss function:
https://ithelp.ithome.com.tw/upload/images/20191010/20121109HYRZQ2JXPo.jpg

大致上細節如此,但究竟該怎麼寫成code實做出來是我目前碰到的難題之一,需要再想看看,或者請教人。加油不要放棄!


上一篇
Image Equalization
下一篇
Python Basic
系列文
初心者的自我挑戰30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言