整理讀研期間用過、改進過、寫過的代碼

整理讀研期間用過、改進過、寫過的代碼

本人研究生期間一我的鼓搗目標檢測,接觸過一些開源代碼和本身寫的個別小工具,分享出來,若是你以爲有用,但願你點個贊,謝謝!python

1. faster rcnn

官方matlab版 這版代碼很差用,緣由有3:git

  • 不支持新版cuda和cudnn,須要本身改caffe代碼。
  • matcaffe調試不方便,每每不知所措的caffe就崩潰了,錯誤信息不許確。
  • 不適合在企業裏使用,依賴於圖形界面

py-faster-rcnn 這版代碼用的廣,緣由:github

  • 用python
  • 用了end2end方式訓練和測試,方便訓練和部署

缺點:不支持新版cuda和cudnn以及較新版caffe。我作了改動來支持新版caffe+cuda+cudnn,還能夠支持在windows上訓練和測試。代碼地址:https://github.com/zchrissirhcz/py-faster-rcnn ,注意選擇rbg和rgb-windows兩個分支。算法

mxnet官方版的faster rcnn 在mxnet項目的github倉庫地址中便可找到。我主要從Deformable ConvNets裏抽取了windows下編譯cython模塊的腳本,方便在windows下使用,代碼:https://github.com/zchrissirhcz/incubator-mxnet/tree/rcnn-windows 。 (注意:mxnet比caffe幾乎省了一半的顯存,訓練時間也每每大量減小,另外它的example很是豐富和全面,建議新人使用mxnet。pytorch缺少本身官方的detection相關的代碼重現,噱頭過大,不推薦使用)windows

2. Piotr Dollar's Matlab Toolbox

這個是研究行人檢測用的工具箱。Dollar是這個領域的大佬,ICF、ACF算法和Caltech Pedestrian detection benchmark都用這個工具箱。框架

優勢: 用這個工具箱跑出來官方結果,直接貼論文裏用。 缺點: Dollar的matlab代碼過於緊湊,一開始很不習慣,包括很是多的縮寫須要靠猜想,以及多行代碼擠在一行。ide

一般須要下載這幾個代碼; Dollar's Toolbox Matlab evaluation/labeling code (3.2.1)工具

以及Caltech的行人數據集。學習

Caltech行人檢測主頁:http://www.vision.caltech.edu/Image_Datasets/CaltechPedestrians/測試

行人檢測state-of-the-art算法列表:http://www.vision.caltech.edu/Image_Datasets/CaltechPedestrians/files/algorithms.pdf

3. BSDS500邊緣檢測benchmark

這一個benchmark包括了分割和邊緣檢測兩項任務。我作過的是邊緣檢測的測評。

強烈建議使用RCF邊緣檢測算法的做者liuyun給出的輔助邊緣檢測評測繪圖的代碼:https://github.com/yun-liu/plot-edge-pr-curves ,以及我所提的一個issue中列舉的邊緣檢測評測步驟:https://github.com/yun-liu/rcf/issues/22

4. UnitBox人臉檢測

UnitBox是Face++發表的論文,提出用IoU Loss取代迴歸loss。官方做者沒有給出代碼實現。

網友復現過一個tensorflow版本的,通過測試可使用:https://github.com/zhimingluo/UnitBox_TF 須要準備widerface人臉數據集。

5. 交通標誌檢測相關

復現過一個Neural Computing 2016的一篇文章。主要是考慮算法的實現、可用性的問題,精度和流程可能和論文對不上。基於Caffe。

代碼見:https://github.com/zchrissirhcz/NC16_traffic_sign

6. 檢索-哈希 相關

用pycaffe重現了cvpr 2015年的一個workshop文章。精度徹底一致。

代碼:https://github.com/zchrissirhcz/py-caffe-cvprw15

7. 皮膚癌圖像分類

基於Caffe深度學習框架和VisualDL可視化工具,實現了一個baseline版本的分類器,AP值能排名top4.

代碼:https://github.com/zchrissirhcz/skin_lesion_classification

8. 復現一篇行人檢測的水文

ICIA2016的一篇文章,用一個古老的k-means改進算法進行聚類,來消除誤檢。

代碼:https://github.com/zchrissirhcz/dfp

9. 復現一篇自動調整學習率的文章

文章提出的方法是Cyclical-Learning-Rates。屢次重複實驗,我的以爲論文的精度沒法復現。基於Caffe和VisualDL。

代碼: https://github.com/zchrissirhcz/Cyclical-Learing-Rates

10. Pascal VOC數據集標註查看工具

是爲了作detection任務時可以查看人工標註框的位置,以及方面早些發現錯誤的標註。基於python+tkinter。

代碼:https://github.com/zchrissirhcz/imageset-viewer

11. Caffe用於移動端的輕量級推理框架

我在github上看到的,而後貢獻了在windows下進行構建的腳本。

代碼:https://github.com/zchrissirhcz/caffe-mobile

12. DSSD

是SSD的改進版代碼。可是做者沒有把代碼放到一個利於搜索的地方。我把它fork過來而且設定了默認顯示的爲DSSD分支。

代碼:https://github.com/zchrissirhcz/caffe-dssd

相關文章
相關標籤/搜索