深度學習的出現,某種程度上改變了咱們對計算機視覺的定義。而PaddlePaddle是百度開源的深度學習框架,它是如何支持百度視覺技術,有哪些工程實踐,這篇文章將由百度視覺技術部主任研發架構師劉國翌爲你們解答。算法
如下爲劉國翌老師演講實錄安全
百度AI視覺能力網絡
百度內部大規模應用計算機視覺的技術分爲四個方面,第一是圖像識別,包含圖像分類、文字識別、人臉識別等。第二是圖像檢索,包含圖文、相同圖片、類似圖片和商品圖片檢索。第三是視頻理解,主要涉及視頻分類、目標追蹤、人體姿態跟蹤,應用在商業、監控、安全、新零售等領域,。第四是機器人視覺,包括嵌入式視覺、SLAM、深度傳感器。這是百度計算機視覺總體的劃分,除機器人視覺大量應用深度學習技術,其他三個技術是從傳統的機器視覺的方法逐漸過渡到如今最流行的深度學習的過程,是逐步替代的。架構
其中,圖像識別是百度應用最普遍也是最重要的技術,包括無人車、推薦、圖像配圖等等。它的基礎能力包含通用分類、文字識別、圖像檢索、細粒度識別、圖像審覈、視頻內容分析六大能力。框架
圖一:百度識圖基礎能力機器學習
基於PaddlePaddle,如何實現視覺模型研發函數
如今市場上有各類各樣的不一樣的框架,不一樣框架的使用會帶來模型研發、訓練不一樣實現的問題。所以,百度內部趨向於使用同一種框架和流程,把全部的算法研發經驗,包括數據處理流程都往一個方向去努力。性能
其中,PaddlePaddle是提供基礎的平臺或架構,它爲咱們提供了符合論文實現標準的算子的實現。同時,PaddlePaddle復現使用單卡進行訓練,來保證單機單卡以及多機多卡效率互有分工。所以,基於PaddlePaddle,實現了訓練的標準化和自動化以及最底層的訓練框架。學習
PaddlePaddle訓練平臺中的Paddle Cloud是公司級的平臺,它的數據讀取能夠實現從數據倉庫和HDFS、AFS直讀,你們經過這個平臺去共享復現方案以及下降模型復現和訓練的門檻。測試
目前,PaddlePaddle中已發佈的視覺模型有:
•圖像分類:image_classification
•人臉檢測:face_detection
•OCR識別:ocr_recognition
•目標檢測:object_detection
•圖像分割:ICNet
•模型轉換:image_classification/caffe2fluid
同時,還在開發中的模型以下:
•圖像特徵學習
•OCR 檢測
•定點化訓練
•視頻分類
•GAN
圖二:圖像分類模型的論文結果復現
這是咱們在圖像分類模型復現的結果,咱們在研發過程當中使用的一些數據集,經過提升社區提交代碼文檔和質量的要求,全部代碼進行持續的集成測試,保證隨着版本的迭代,使得穩定性和正確性能保持。
PaddlePaddle涉及大量的基礎算法和優化算法,裏面任何一部分的修改都有可能形成潛在的錯誤,爲保證這些修改能持續獲得驗證,一方面在公司內部持續使用,另外一方面咱們會有專門的QA團隊來保證持續迭代的功能,固然,咱們也會有專門的團隊來負責PaddlePaddle訓練模型以後的預測優化。全部這些經過分工協做,視覺模型研發及相應預測的優化,更可能是接近真正的使用場景。除復現大量經典的模型,咱們本身也作一些自研的模型研發,如人臉檢測,大規模分類以及視覺識別方面,在公開數據作到世界領先水平。將來會逐步把這些模型開放出來,跟你們一塊兒去改進和升級這些算法。
工程示例:OCR PaddlePaddle v1 遷移到PaddlePaddle Fluid
OCR長期適用比較老的版本進行模型識別訓練,指望使用最新PaddlePaddle Fluid進行研發,並統一到Paddle Cloud集羣訓練,應用最新的模型預測優化。所以成立PaddlePaddle vision聯合項目組,模型研發和對齊並進行訓練遷移和預測遷移。
模型遷移主要有四個步驟:
•完成C++端OP開發。
•完成模型網絡配置,驗證前向網絡
•與舊版本Paddle對齊模型訓練指標。
•對比多種優化方法和學習率動態調整策略。
最終試驗的效果是識別率能夠跟之前的版本打平,通過優化,能夠有提高的空間。
模型訓練主要有兩個方面的提升:第一實現Fluid框架訓練OCR英文識別模型。與舊版本PaddlePaddle訓練出的模型相比精度相對提高1%;第二在Paddle Cloud上實現afs數據分發,實現Paddle Cloud進行單機單卡,單機多卡訓練OCR識別模型。
以上這些工做和PaddlePaddle技術團隊一塊兒完成,不只實現了PaddlePaddle的升級,也實現了本身整個訓練方式的升級。
總體實現迭代以後影響面大概是1500萬文本圖像的識別,流量獲得了升級。歸納來講,咱們是基於PaddlePaddle開發了一個流程:首先是基線算法採用公開數據集,實現公開的算法並在社區上提交代碼和文檔,以保證基線模型的正確性,以及跟其餘分發的圖像對比。第二是代碼通過反覆review,提升了代碼和文檔的質量,也經過社區的反饋,實現了技術的積累以及相應的問題解決。第三基於PaddlePaddle框架,實現了統一的集羣訓練方式,實現了標準化、自動化去作機器學習,且一些高級的訓練特性,能夠快速集成到框架中去。第四預測框架經過專業專門的團隊,進行優化,能夠達到世界領先水平。同時,獨立的訓練QA測試,保證訓練結果隨版本迭代是可復現的。
實錄結束
劉國翌,百度視覺技術部主任研發架構師,百度AI技術部識圖技術負責人,負責研發基於圖像檢索、大規模圖像分類和垂類識別技術的識圖系統,知足手機拍照場景下的以圖搜圖、以圖搜信息的用戶需求,組織研發並建設了百度視覺技術開放平臺,開放百度的各項視覺能力。