YOLO_Online 將深度學習最火的目標檢測做成線上服務實戰乾貨經驗分享
阿新 • • 發佈:2018-12-22
第一次接觸 YOLO 這個目標檢測專案的時候,我就在想,怎麼樣能夠封裝一下讓普通人也能夠體驗深度學習最火的目標檢測專案,不需要關注技術細節,不需要裝很多軟體。只需要網頁就能體驗呢。
在踩了很多坑之後,終於實現了。
效果:
1.上傳檔案
2.選擇了一張很多狗的圖片
3.YOLO 一下
技術實現
- web 用了 Django 來做介面,就是上傳檔案,儲存檔案這個功能。
- YOLO 的實現用的是 keras-yolo3,直接匯入yolo 官方的權重即可。
- YOLO 和 web 的互動最後使用的是 socket。
tip0:
最理想的情況就是 YOLO 的模型和引數只加載一次,然後目標檢測就很快。
這個比較容易實現,py 程式碼中先載入模型,再寫處理邏輯。
tip1:
Django 中 Keras 初始化會有 bug,原計劃是直接在 Django 裡面用 keras,後來發現坑實在是太深了。
最後 Django 是負責拿檔案,然後用 socket 把檔名傳給 yolo。
tip2:
說好的線上服務,為什麼沒有上線呢?買了騰訊雲 1 CPU 2 G 記憶體,部署的時候發現 keras 根本起不來,直接被 Killed 。
解決,只好本地執行然後截圖了,這個服務對於硬體的要求還是挺高的。
tip3:
YOLO 的識別是需要一定的時間的,做成 web 的服務,上傳完檔案之後,並不能馬上識別出來,有一定的延遲。
解決,正在嘗試 web 端只負責接收圖片,然後 GPU 伺服器負責處理 YOLO 相關的任務,然後再把處理過的圖片返回到 web 端。
相關教程:
TensorFlow + Keras 實戰 YOLO v3 目標檢測圖文並茂教程
YOLO QQ 群(求土豪贊助一波伺服器啊)
群號:167122861