**
問題1: 語義分割的groundtruth是一個灰度圖片,如何把它作爲label來用?**
1)可製作兩個lmdb文件,一個Data項是原始圖像,Label可爲0,另一個Data項爲分割後的標註圖像,Label爲0。使用中caffe是支持多個lmdb輸入的。
2)將原始圖像(如3通道),標註圖像(1通道),合在一起成4通道,然後寫在一個lmdb中,然後導入後使用Slice層將其切開。這種方法就不能直接使用現有的convert_imageset來轉換了,可參考其實現自己寫一下。
這個問題沒有徹底解決,對image 和label 生成兩個lmdb,我沒有找到如何使用的方法,待後續了。。。
問題2:如何批量把.jpg 轉化爲 .png 或者其他格式?
使用imagemagic 即可解決:用linux腳本處理
for file in *.png
do convert $file ${file%%.*}.jpg
done
解釋一下${file%%.*}
的用法:${name%%word}
從name的尾部開始刪除與word匹配的最長部分,然後返回剩餘部分
當然也可以寫成一行:for file in *.png; do convert $file ${file%%.*}.jpg;done
問題3:如何批量修改圖片大小?
方法類似於問題2
1.保持比例縮放
for file in *.jpg
do convert -resize 600x600 ${file} ${file}
done
2.不保持比例縮放:
for file in *.jpg
do convert -resize 600x600! ${file} ${file}
done
問題4 :如何生成groundtruth 圖片?
1) 安裝 labelme (https://github.com/wkentaro/labelme)
//Ubuntu 14.04 / Ubuntu 16.04
// Python2
//sudo apt-get install python-qt4 # PyQt4
sudo apt-get install python-pyqt5 # PyQt5
sudo pip install labelme
// Python3
sudo apt-get install python3-pyqt5 # PyQt5
sudo pip3 install labelme
2) labelme 標註,保存生成.json 文件
3)生成dataset 文件夾:
labelme_json_to_dataset 你的路徑/你的json文件名.json //這裏的文件名根據自己的實際情況更改
即可得到一個文件夾,有四個文件,*.png, info.yaml , label.png, label_viz.png。 其中label.png即是我們要的label_data.
這是一個bug:lableme 標註的圖片,標籤與顏色不一致,如下圖,沒有找到解決辦法,有辦法的同學請私信我:
把彩色圖片轉化爲灰度圖:convert image.jpg -colorspace Gray image-bw.jpg
先寫到這裏。。。