## Yolo v1 1. 沒有使用anchor. 2. 每個cell負責預測2個bbox. 3. 輸出:==(7 x 7 x (B x 5 + C))==  5. 損失函數:  4. 網路架構:  ## Yolo v2 1. 有使用anchor. (mAP降低,但是recall提高). 2. 網路都為捲積網路. 3. 輸出:==(13, 13, K, 5 + C)==. 4. 改進: * ==**Batch Normalization**==: 可增加2%mAP. * ==**High Resolution Classifie**==: 多尺度訓練網路,每10個epoch後隨機將圖片.resize到320x320、352x352、...608x608,最後下採樣32倍,強制網路去學習多種尺度的圖片. 可增加4%mAP. * ==**Anchor**==: 使用k-means預先找出適當的bbox. 下降了0.3mAP,但是recall提高7%. 5. 損失函數:  6. 網路架構:  ## Yolo v3 1. 改進: * ==從3個不同大小的feature map去預測物體,在較前面的feature map用較小的anchor box,在最後面的feature map用較大的anchor box==. * ==骨幹網路加入殘差==. 2. 網路架構:  ## Yolo v4 1. 改進: * ==CSP網路:== 融合高低尺度特徵  * ==Weighted-Residual-Connections (WRC):== 一般殘差網路: 加權殘差網路: * ==Mish-activation:== 函數較平滑,梯度不會劇烈變化  * ==Cross mini-Batch Normalization (CmBN):== 一般的Batch Normalization適合用在batch size較大時,一旦batch size太小反而會造成訓練不穩定,通過跌代紀錄前幾個batch的均值和方差,來推估更正確的的均值和方差. * ==使用CIou來計算位置損失:== 原本計算損失方式是直接利用預測的x、y、w、h來去計算l2 loss,這樣變成將每個變數都是獨立的,並沒有考量到物體的完整性. 而純粹利用Iou的話,在沒有與真實框重疊的情況下沒辦法提供損失. + GIou:   + 傾向於先增大預測框的大小,造成訓練緩慢  + 若預測框剛好在目標框內部,此時 GIOU loss 與 IOU loss 的值一樣,無法區分相對位置。  + DIou:加入距離懲罰,可以加速收斂   * ==DropBlock:== 以區塊的方式進行dropout,強制網路學習特定部分的特徵  * ==Mosaic:== 一次讀取4張照片各自進行裁切和resize後拼接在一起  * ==Self-adversarial-training (SAT):== 分為兩次反向傳播,第一次反向傳播時不更改任和網路權重,**只更改圖像**,之後再將改變後的圖像輸入給網路進行訓練,這樣的效果類似於把原本網路注重的地方進行更改,強制網路關注其他的細節  * ==網路架構:==  ## Yolo v5 1. ==Focus layer:==  2. ==改成GIou loss== 3. ==Backbone的激活函數又改回relu== 4. ==使用PyTorch:== 支持半精度運算,加快推論速度 5. ==自適應圖片縮放:== 在訓練時一樣按照長寬比縮放圖片後,再對圖片進行padding.  在推論時padding scale最小的邊.   6. ==網路架構:==  ## Yolo v6 1. ==引入RepVGG結構==(https://arxiv.org/abs/2101.03697)   3. ==使用Anchor-free== 5. ==Decoupled head==  7. ==使用TAL代替SimOTA== 9. ==SIoU 损失== 10. ==分類Loss使用VFL== 11. ==概率Loss使用DFL== 12. ==self-distillation==
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up