1. 程式人生 > 實用技巧 >TensorFlow人工智慧入門教程之十三 RCNN 區域卷積網路(視訊偵測分析人臉偵測區域檢測 )...

TensorFlow人工智慧入門教程之十三 RCNN 區域卷積網路(視訊偵測分析人臉偵測區域檢測 )...

2019獨角獸企業重金招聘Python工程師標準>>> hot3.png

這一章 我們介紹一個網路模型 比較有用常用 而且實用 ,被各大企業 創業公司經常 用到的 ,就是RCNN R 代表Region 區域,就是輸出是一個區域範圍以及值,這個在視訊分析 視訊偵測 顯著區域檢測 經常用到,比如人臉識別的face++ 還有視訊分析的video++ 做視訊廣告的 雲視鏈 優酷 等等 另外 在區域place 檢測 掃街景 當然不是微信那個騙人的掃街景,還有異常檢測 也常用到。還有國外很多公司 。

Region-based Convolutional Neural Networks RCNN

該網路由 RBG 大神 加州大學伯克利分校博士後 計算機 科學家 人工智慧深度學習科學家開發

RCNN和Fast-RCNN就是他的典型作品。科學技術終身成就獎 ,真正的大神之一

大神主頁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