2019年已經過去了三分之一,人工智慧的話題仿佛正在被人遺忘在角落,大家開始談論的是5G,是物聯網,是遊戲和電商。
圖1 2017年至今幾個關鍵技術的百度指數
我們已經經歷了幾個人工智慧爆發的大型事件,之前所造成的影響力仿佛要被新的熱點所取代了,但是正像當年的雲計算和大數據剛剛開始興起大家的興起的時候,現在的雲計算已經真正的變成了基礎建設,像磚,沙子和水泥一樣影響著各種高科技產業。
圖2 幾個人工智慧技術的關鍵點
新型的技術已經讓人們習以為常,有些技術和應用在被大家使用習慣以後,就仿佛大家已經使用的理所當然了。
目前的大家生活中的每一方面都或多或少的使用了人工智慧相關的領域的技術,搜尋引擎,語音文本,機器人,甚至現在的物聯網技術中,人工智慧都是佔到很大的比例。
其中開車的朋友們最常見到的應該就是智能導航和進出各種地方的車牌識別了。
車牌識別是怎樣的一種技術實現方法呢?我們可以通過一個實驗告訴大家,來百度雲智學院在線實驗平臺,和我們一起看看
地址:https://dwz.cn/vJpnSEBf
該實驗需要實驗點數:請微信聯繫雲智小助手:bdyunzhi
我們將使用PaddlePaddle來構建一個faster-rcnn網絡,實現不同果蔬的檢測。讓我們一步步跟隨內容完成訓練,加深對faster-rcnn 算法理論內容的理解並串聯各個知識點,收穫對物體檢測的整體把握吧!
你將學會
什麼是物體檢測物體檢測有哪些方法pascalvoc數據集的構成coco 數據集的構成如何用paddle搭建faster-rcnn網絡如何利用利用faster-rcnn算法實現物體檢測
隨著人們物質生活水平的提高,去大型商場購物已經成為生活中不可或缺的一部分。每逢節假日,購物的人數就會大量增加,以此造成了排隊結帳等諸多困擾。如果此時能有無人售貨裝置,則會節省大量時間。
本次實驗就是以此為背景,通過目標檢測算法來實現不同蔬菜水果的檢測,後續再配上計價環節,就可以實現無人售貨等功能。
- 物體檢測及發展
2.1 - 什麼是物體檢測?
計算機視覺是深度學習技術最早實現突破性成就的領域。隨著2012年深度學習算法AlexNet贏得圖像分類比賽冠軍,深度學習開始受到學術界廣泛的關注。計算機視覺主要有5大任務:
圖像分類(Image Classification)物體檢測(Object Dection)目標跟蹤語義分割(Semantic Segmentation)實例分割 [參考連結]:https://www.tinymind.cn/articles/120
除了這5大任務之外,還有一些其他任務,比如圖像生成、圖像標註、風格遷移、視頻處理等。下圖列出了常見CV任務的對比:
物體檢測是計算機視覺中的經典問題之一,其任務是用框去標出圖像中物體的位置,並給出物體的類別。從傳統的人工設計特徵加淺層分類器的框架,到基於深度學習的端到端的檢測框架,物體檢測一步步變得愈加成熟。
2.2 - 物體檢測算法的發展
物體檢測算法的演變分為兩個階段:
一個就是基於傳統特徵的解決方法;另外一個就是深度學習算法。
在2013年之前主流檢測算法是傳統的特徵優化檢測方法。但是,在2013年之後,整個學術界和工業界都逐漸利用深度學習來做檢測。
基於深度學習的早期的物體檢測,大都使用滑動窗口的方式進行窗口提取,這種方式本質是窮舉法 R-CNN。後來提出Selective Search 等區域窗口提取算法,對於給定的圖像,不需要再使用一個滑動窗口進行圖像掃描,而是採用某種方式「提取」出一些候選窗口,在獲得對待檢測目標可接受的召回率的前提下,候選窗口的數量可以控制在幾千個或者幾百個。
後來,又出現了SPP,其主要思想是去掉了原始圖像上的crop/warp等操作,換成了在卷積特徵上的空間金字塔池化層。那麼為什麼要引入SPP層呢?其實主要原因是CNN的全連接層要求輸入圖片是大小一致的,而實際中的輸入圖片往往大小不一,如果直接縮放到同一尺寸,很可能有的物體會充滿整個圖片,而有的物體可能只能佔到圖片的一角。SPP對整圖提取固定維度的特徵,首先把圖片均分成4份,每份提取相同維度的特徵,再把圖片均分為16份,以此類推。可以看出,無論圖片大小如何,提取出來的維度數據都是一致的,這樣就可以統一送至全連接層。
實際上,儘管R-CNN 和SPP在檢測方面有了較大的進步,但是其帶來的重複計算問題讓人頭疼,而 Fast R-CNN 的出現正是為了解決這些問題。Fast R-CNN使用一個簡化的SPP層 —— RoI(Region of Interesting) Pooling層,其操作與SPP類似,同時它的訓練和測試是不再分多步,不再需要額外的硬碟來存儲中間層的特徵,梯度也能夠通過RoI Pooling層直接傳播。Fast R-CNN還使用SVD分解全連接層的參數矩陣,壓縮為兩個規模小很多的全連接層。
Fast R-CNN使用Selective Search來進行區域提取,速度依然不夠快。Faster R-CNN則直接利用RPN (Region Proposal Networks)網絡來計算候選框。RPN以一張任意大小的圖片為輸入,輸出一批矩形區域,每個區域對應一個目標分數和位置信息。從 R-CNN 到 Faster R-CNN ,這是一個化零為整的過程,其之所以能夠成功,一方面得益於CNN強大的非線性建模能力,能夠學習出契合各種不同子任務的特徵,另一方面也是因為人們認識和思考檢測問題的角度在不斷發生改變,打破舊有滑動窗口的框架,將檢測看成一個回歸問題,不同任務之間的耦合。
除了R-CNN、Fast R-CNN 和 Faster R-CNN等兩階段檢測算法外,還有YOLO 、SSD 等一階段檢測算法——將物體檢測看作一個回歸問題。
剩下的部分,內容還很多,限於篇幅限制,請大家申請雲智學院的實驗帳號後,在實驗裡體驗下。