為影象分類任務準備影象資料集

Caffe 具有針對影象分類任務定製的內建輸入層(即,每個輸入影象的單個整數標籤)。此輸入 Data 層構建在 lmdbleveldb 資料結構上。為了使用 Data 層,必須用所有訓練資料構建資料結構。

Caffe’s tihuan 的快速指南 3

建立

你必須做的第一件事是建立 caffe 和 caffe 的工具(convert_imageset 是這些工具之一)。
在安裝了 caffe 和 make 之後,確保你也執行了 make tools
驗證是否在 $CAFFE_ROOT/build/tools 中建立了二進位制檔案 convert_imageset

準備資料

影象: 將所有影象放在一個資料夾中(我在這裡稱之為/path/to/jpegs/)。
標籤: 建立一個文字檔案(例如,/path/to/labels/train.txt),每個輸入影象有一行<path / to / file>。例如:

img_0000.jpeg 1
img_0001.jpeg 0
img_0002.jpeg 0

在這個例子中,第一個影象標記為 1,而另外兩個影象標記為 0

轉換資料集

在 shell 中執行二進位制檔案

~$ GLOG_logtostderr=1 $CAFFE_ROOT/build/tools/convert_imageset \
    --resize_height=200 --resize_width=200 --shuffle  \
    /path/to/jpegs/ \
    /path/to/labels/train.txt \
    /path/to/lmdb/train_lmdb

命令列解釋:

  • 呼叫 convert_imageset 之前GLOG_logtostderr 標誌設定為 1 表示將日誌訊息重定向到 stderr 的日誌記錄機制。
  • --resize_height--resize_width所有輸入影象調整為相同尺寸 200x200
  • --shuffle 隨機更改影象的順序,並不保留/path/to/labels/train.txt 檔案中的順序。
  • 以下是 images 資料夾,標籤文字檔案和輸出名稱的路徑。請注意,在呼叫 convert_imageset 之前,輸出名稱不應該存在,否則你將收到可怕的錯誤訊息。

其他可能有用的標誌:

  • --backend - 允許你在 lmdb 資料集或 levelDB 之間進行選擇。
  • --gray - 將所有影象轉換為灰度。
  • --encoded--encoded_type - 將資料以編碼(jpg / png)壓縮形式儲存在資料庫中。
  • --help - 顯示一些幫助,檢視來自 tools / convert_imageset.cpp 的 Flags 下的所有相關標誌 **

你可以檢視 $CAFFE_ROOT/examples/imagenet/convert_imagenet.sh 以獲取如何使用 convert_imageset 的示例。

有關更多資訊,請參閱此主題