1. 程式人生 > >windows下的純c++版 Faster R-CNN

windows下的純c++版 Faster R-CNN

     效果如下圖:

同時版本經過大幅度效能優化,在GeForce GTX TITAN X顯示卡上,對於VGG16模型的速度是16.6fps左右。

*****************************分割線********************************

我的上一篇部落格 純C++版的Faster-Rcnn(通過caffe自定義RPN層實現) 是在windows下caffe的基礎上,通過自定義RPN層取代python層,實現純c++版的windows faster-rcnn,具體可以看上一篇部落格,它的毛病是,在速度方面遠不如python版,不太符合工程需要,比如我最近的專案中,需要對連續的視訊幀進行目標檢測,那樣對效率要求就很高。

         這個版本,參照的是D-X-Y大神github上的純c++版的faster-rcnn,https://github.com/D-X-Y/caffe-faster-rcnn,不過是在linux平臺上,我把它移植到微軟的windows-caffe版本下,但是由於D-X-Y的版本,因為需要支援faster-rcnn,所以修改了caffe的原始碼(比如在blob.hpp裡就加了點程式碼),同時添加了很多的程式碼檔案以支援faster-rcnn,所以一個移植的方法,就是把D-X-Y的版本中的程式碼,全部替換掉微軟的版本,然後按照微軟的caffe版本,用vs2013進行編譯,只要編譯libcaffe就好了(我記得移植這個過程,花了七八個小時吧,因為兩個版本的不相容,不斷地嘗試,不斷地改錯,編譯一次才知道錯誤在哪,改正後又會不斷的出現問題),因為都是哪裡有錯改正繼續試,所以具體編譯過程我也沒有記錄下來。

    具體編譯安裝過程,請看github上的readme,其實跟windows下編譯caffe一樣的。

    編譯完後,再配置VS2013,然後就可以在VS中像使用OpenCV一樣使用Faster R-CNN了!具體步驟github上也說明了:我把第三方庫都打包好了,只要把bin、include、lib配置到VS2013的對應路徑就成。

    OK了,有需要的夥伴可以配置跑一下,對於有工程需要(特別是c++環境)的朋友,還是很有幫助的。

   如果覺得好用,不介意star下我的github,謝啦~