caffe:制作数据集遇到的问题

**

问题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

先写到这里。。。


猜你喜欢

转载自blog.csdn.net/qq_34650787/article/details/80434355