自從去年TensorFlow Object Detection API發布以來,谷歌團隊不斷擴充其性能,除了通過神經架構搜索和實例分割來提高模型的學習能力,還用如Open Images 等不斷出現的新數據集來訓練模型。它在世界范圍內被用于各種各樣的任務中,從城市街頭中的異常行為檢測,到茂密叢林里的植物識別都有著它的身影。
近日,為了不斷擴充和壯大這一API的能力,谷歌又為目標檢測API進行了升級,最新的能力包括以下幾個方面:
支持通過谷歌云TPUs來對模型訓練進行加速;
通過加速推理和基于TF-Lite格式的模型導出來提升移動端的部署能力;
加入了很多新的架構,包括:
RetinaNet;
MobileNet版本的RetinaNet;
新型的SSD架構PoolingPyramidNetwork,縮小了三倍的大小。
同時還給出了每一個模型在coco數據集上的預訓練權重供用戶使用。
通過云TPUs加速訓練
用戶常常需要在大量的時間去調節一個模型的超參數,如果可以大幅節省訓練時間將十分有意義。所以這次推出的基于SSD架構的模型都針對TPUs進行了優化設計,利用強大的云服務你可以很快的訓練出符合要求的網絡。舉個例子,希望將基于ResNet-50的RetinaNet在coco數據集上訓練到35%mAP,通過TPUs云服務只需要不到3個半小時就夠了。
通過量化和TF-Lite加速推理
為了更好的支持移動和嵌入式設備中低延時的需求,其中的模型提供了對于Tensorflow-lite的原生支持,這使得設備端的機器學習模型可以以更小的容量和更低的延時實現良好的表現。除此之外,新API還加入了模型量化以及對于檢測的原生操作。其中模型量化基于Jacob的論文和Krishnamoorthi的白皮書實現。
為了在有限大小下保證性能,工程師們不僅量化了權重,同時對激活也進行了量化,實現了速度(大小)和精度的平衡。下圖展現了優化后的模型在Pixel2的CPU上所測量得到的延時、模型大小和mAP值。可以發現,模型得到了大幅壓縮,速度幾乎提升了一倍(>15fps),而精度只有略微下降。
如果你想上手試試的話,Tensorflow團隊提供了一個詳細的教程。
https://medium.com/tensorflow/training-and-serving-a-realtime-mobile-object-detector-in-30-minutes-with-cloud-tpus-b78971cf1193
通過訓練你甚至可以做出一個檢測家里小貓小狗的app安裝在自己手機上和朋友們分享。你可以通過colab來完成訓練,或者也可以用為開發者提供的docker來完成開發。
通過手把手的教程你就可以做出一個很有趣的app,最終訓練完成就會看到你的好伙伴被檢測出來啦:
下面是在訓練過程中的主要步驟:
環境搭建(安轉相應的庫和依賴文件,可以使用dockerfile完成一鍵安裝)
云配置(配置TPUs、存儲服務,基于gcloud和gsutil)
安裝Tensorflow + Object Detection
配置數據庫(轉換為TFRecoard來加速數據IO)并上傳存儲
使用checkpoint來進行遷移學習加速訓練
在云端訓練量化模型
導出模型、在移動端上部署并運行。
TensorFlow團隊希望通過更高效的API將高水平的視覺模型帶給更多希望解決檢測問題的人使用,并為用戶提供從模型訓練到移動端部署的順滑體驗。
-
谷歌
+關注
關注
27文章
6176瀏覽量
105677 -
數據集
+關注
關注
4文章
1208瀏覽量
24749 -
tensorflow
+關注
關注
13文章
329瀏覽量
60562
原文標題:TensorFlow 物體檢測API全面升級,快來解鎖新姿勢
文章出處:【微信號:thejiangmen,微信公眾號:將門創投】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論