问题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 done123
解释一下${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} done123
2.不保持比例缩放:
for file in *.jpg do convert -resize 600x600! ${file} ${file} done123
问题4 :如何生成groundtruth 图片?
1) 安装 labelme (https://github.com/wkentaro/labelme)
//Ubuntu 14.04 / Ubuntu 16.04// Python2 //sudo apt-get install python-qt4 # PyQt4sudo apt-get install python-pyqt5 # PyQt5sudo pip install labelme // Python3sudo apt-get install python3-pyqt5 # PyQt5sudo pip3 install labelme12345678
2) labelme 标注,保存生成.json 文件
3)生成dataset 文件夹:
labelme_json_to_dataset 你的路径/你的json文件名.json //这里的文件名根据自己的实际情况更改1
即可得到一个文件夹,有四个文件,*.png, info.yaml , label.png, label_viz.png。 其中label.png即是我们要的label_data.
这是一个bug:lableme 标注的图片,标签与颜色不一致,如下图,没有找到解决办法,有办法的同学请私信我:
把彩色图片转化为灰度图:convert image.jpg -colorspace Gray image-bw.jpg
先写到这里。。。
热门评论
您好,我也遇到了问题4,标签名称和颜色对不上。请问这个问题您解决了吗?