「快、狠、準」的物件偵測技術:YOLOv4

某動畫男主角駕駛著機器人,透過「敵機偵測儀器」快速分析戰場上的敵人,並動態鎖定敵機快速殲滅🚀💥🔥

科幻片中的景象,如今有了AI技術加持,中研院與俄羅斯學者博科夫斯基打造出了目前全球最『快速、精準』的物件偵測技術:YOLOv4
感覺不遠的未來就能實現了!

影一:駕駛著自由鋼彈的煌・大和 (@矢立肇、富野由悠季/SUNRISE INC.)

過往的卷積神經網路(圖一)(Convolutional Neural Network, 簡稱CNN)是一種物件偵測技術,透過許多的網路層,每一層抽取些許影像的特徵,透過逐層的分析,最後預測出最可能的答案,理論上層數越多,預測結果越精準。
圖一:卷積神經網路示意圖(@研之有物@李宏毅)

但因為每一次機械學習的預測結果與正確答案不相符時,就會將這些資訊反饋到前面的網路層,透過逐層的調整參數,以達到每一次的訓練都能更加準確。

但在訓練過程中,因為不斷反饋的計算方式,每一次回傳就會損失一些資訊,導致整個模型最前端的網路層學習到的東西越少,這簡稱『梯度消失問題』(vanishing gradient problem)

過去為了解決梯度消失問題,有人提出ResNet、DenseNet 等等卷積神經網路,將後面資料反饋時備份後往前「 #跳級」傳遞,如 (圖二)。
圖二:ResNet示意圖(@研之有物@王建堯)

然而ResNet卻因太多重複的拷貝資料,浪費計算資源,拖慢訓練速度,於是推出了「跨階段局部網路」CSPNet(cross stage partial network, CSPNet)
透過分割-分流-合併的路徑,進而達到大幅減少計算量,又能增加模型學習的多元性的目標。

透過(圖三) ,目標影像在最初被分割後進行分流,一部分進入卷積網路,一部份在最後過度層(Transition)前合併。
圖三:CSPNet 結構示意圖(@研之有物@王建堯)

最終因為資料分流的因素,一部份不納入卷積訓練,「不經過卷積計算,使整個計算量變少」運算速度也因此加快。

基於「快、狠、準」的模型,可以將這個偵測技術架設於小型攝影計算器,即可完成物件偵測任務。

這個開放的程式碼,各式應用都如雨後春筍般出現,舉例:YOLOv4可以即時偵測人們社交距離(影二:YOLOv4社交距離分析 https://youtu.be/mHXwPVur3Sk (@中研院資訊所)),或是判斷行人是否戴口罩,以及即時偵測高速的車流(影三:YOLOv4車流即時分析 https://youtu.be/siIggu-g6Eg  (@中研院資訊所))

#也許不遠的未來我們也能借助AI之力成為縱橫戰場的新人類呢!
#等我專精AI技術就要來開鋼彈了!


撰文:許楷翊


參考文獻:
Wang, C. Y., Mark Liao, H. Y., Wu, Y. H., Chen, P. Y., Hsieh, J. W., & Yeh, I. H. (2020). CSPNet: A new backbone that can enhance learning capability of cnn. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition Workshops (pp. 390-391).
------
Bochkovskiy, A., Wang, C. Y., & Liao, H. Y. M. (2020). YOLOv4: Optimal Speed and Accuracy of Object Detection. arXiv preprint arXiv:2004.10934.
------
He, K., Zhang, X., Ren, S., & Sun, J. (2016). Deep residual learning for image recognition. In Proceedings of the IEEE conference on computer vision and pattern recognition (pp. 770-778).
------
中央研究院-研之有物

留言