TensorFlow人工智慧入門教程之十三 RCNN 區域卷積網路(視訊偵測分析人臉偵測區域檢測 )...
這一章 我們介紹一個網路模型 比較有用常用 而且實用 ,被各大企業 創業公司經常 用到的 ,就是RCNN R 代表Region 區域,就是輸出是一個區域範圍以及值,這個在視訊分析 視訊偵測 顯著區域檢測 經常用到,比如人臉識別的face++ 還有視訊分析的video++ 做視訊廣告的 雲視鏈 優酷 等等 另外 在區域place 檢測 掃街景 當然不是微信那個騙人的掃街景,還有異常檢測 也常用到。還有國外很多公司 。
Region-based Convolutional Neural Networks RCNN
該網路由 RBG 大神 加州大學伯克利分校博士後 計算機 科學家 人工智慧深度學習科學家開發
大神主頁http://www.cs.berkeley.edu/~rbg/index.html
效果
主要有2個 特點 ,1 在原來的輸入是輸入的是bound box 有界的範圍,輸出的全連線層 區域 一個用於做softmax 計算出分類 一個 用來做bound box 計算範圍。正是這樣所以需要做標註。這個比較麻煩 在訓練時候。對資料的預處理 需要大量的時間。對於bound box 一般用歐式距離 highloss 來計算損失函式。其他同CNN 類似。不過這個 Rol pooling layer這個是最關鍵的的 部分。內部原理比較複雜,核心思想是引入了一個Region Proposal Networks(RPNs),這個網路產生的proposals作為Fast R-CNN的輸入。可以見下圖。詳細的可以看論文,其實這個網路 我知道怎麼訓練 怎麼用,而且網路論文也比較少,我知道的 也是怎麼使用 怎麼訓練自己的模型 而已。 所以本章 就是帶大家瞭解一下 RCNN 這種非常有用 比較常用的網路模型。
現在RGB 大神 已經有幾個開源的實現
http://arxiv.org/abs/1506.01497
http://arxiv.org/abs/1506.02640
這個是基於 caffe 實現的RCNN 不過沒關係,上一張我們講了 caffe 的訓練模型 可以轉成tensorflow模型來呼叫,而且支援跨平臺 。所以這一切都不是問題。
大部分時候我們使用Fast=RCNN 速度更快 200倍RCNN 而且基於caffe 的c++/python實現。
http://arxiv.org/abs/1504.08083 論文介紹地址。
網上有一些簡要敘述檔案 不過內部也不詳細,程式碼也很難看懂
http://zhangliliang.com/2015/05/17/paper-note-fast-rcnn/
下面來安裝使用 ,這個推薦用docker 來安裝
sudo docker pull karfai/fast-rcnn-cpu-notebook
sudo docker run -ti -p 8888:8888 karfai/fast-rcnn-cpu-notebook
進入 資料夾目錄
./data/scripts/fetch_fast_rcnn_models.sh
runtools/demo.py--cpu
即可
安裝方法 詳細的見http://www.cnblogs.com/louyihang-loves-baiyan/p/4885659.html
不過推薦使用docker 很快 而且不出問題,我個人一直使用docker安裝Fast-RCNN
夠快夠迅速,至於 怎麼訓練模型, 大家可以看看下載data 檔案 裡面怎麼標註的
還有demo.py 程式碼怎麼寫的
這個都在https://github.com/rbgirshick/fast-rcnn 這裡面。
還有就是這些標註的 有一些研究院 已經做好了一些 標註工具 ,可以很方便的標註,但是也需要人工 來標註,但是人臉比較特殊 ,可以用一些第三方的庫 dlib 來確定範圍,這些不需要標註。
localhost:8080 demo.py 之後
執行結果如下
轉載於:https://my.oschina.net/yilian/blog/673051