Windows Caffe 版本的SSD實現

2021-09-01 15:40:30 字數 1801 閱讀 6382

本部落格參考自

修改commonsettings.props,如下圖:

注意:

在caffe-master\src\caffe下新建3rdparty資料夾,裡面新增hungarian.cpp

在caffe-master\include\caffe下新建3rdparty資料夾,裡面新增hungarian.hpp

編譯即可

在caffe\data\voc0712目錄下進行解壓,變成voc2007和voc2012兩個資料夾。

在caffe根目錄下新建get_image_size的bat檔案:

執行bat檔案,在caffe\data\voc0712目錄下生成test_name_size.txt檔案

複製data\voc0712的create_data.bat到caffe根目錄下,在create_data.bat中修改如下root_dir為你的caffe路徑(我的caffe路徑如下圖所示)。

執行bat檔案,在data\voc0712下生成trainval_lmdb和test_lmdb檔案

在ssd目錄下新建個目錄train,用於存放訓練檔案和caffemodel等。

在train目錄下新建powershell檔案ssd_pascal_new.ps1:

進行訓練,前面的cnn部分是之間用vgg的權重的。將solver.prototxt裡面的solver_mode改為gpu(如果你安裝的caffe是gpu版本的話)。

我用的是gtx1060訓練,訓練了一晚上23000次。

新建測試檔案:

其中d:\ssd\train\test\test.txt 檔案為測試影象的路徑,內容如下:

這個只能顯示座標,置信度等資訊,沒法看到上的標註,為了在opencv顯示顯示其**結果和儲存結果,我們對ssd_detect.cpp原始碼做如下改動(added注釋的中間部分):

首先在main函式中增加乙個labelname字串陣列,在model_file=argv[1]這一行之上:

然後,

即可得到如下效果:

連線好攝像頭,即可實時檢測。

主要難點在於caffe配置,各種坑需要去填,要根據報錯資訊挨個debug,心塞。

Android版本與Linux核心版本的關係

android版本與linux核心版本的關係 英文名 中文名 android版本 linux核心版本no 無1.1 cupcake 紙杯蛋糕 1.52.6.27 donut 甜甜圈1.6 2.6.29 eclair 鬆餅2.0 2.6.29 eclair 鬆餅2.1 2.6.29 froyo 凍酸奶...

程式的Debug 版本和Release 版本

當建立新的專案工作空間時,visual c 自動建立可產生兩種應用程式版本的配置。一種稱作debug 版本,該版本包括幫助使用者除錯程式的資訊。使用程式的debug 版本,可以在出現問題時單步執行 以檢查程式中的資料值。另一種稱作release 版本,它不包括除錯資訊,但開啟了編譯器的 優化選項,以...

Linux 核心版本,Ubuntu版本的檢視

檢視核心版本 1 cat proc version root a cat proc version linux version 2.6.18 194.el5 mockbuild x86 007.build.bos.redhat.com gcc version 4.1.2 20080704 red h...