全卷积 FCN 数据标签制作
原文:http://www.echojb.com/image/2017/06/06/417204.html
一 全卷积神经网络
深度学习图像分割(FCN)训练自己的模型大致可以以下三步:
1.为自己的数据制作label;
2.将自己的数据分为train,val和test集;
3.仿照voc_lyaers.py编写自己的输入数据层。
其中主要是如何制作自己的数据label困扰着大家。
二 图像标签制作
第一步:使用github开源软件进行标注
地址:https://github.com/wkentaro/labelme
第二步:为标注出来的label.png进行着色
首先需要对照VOC分割的颜色进行着色,一定要保证颜色的准确性。Matlab代码:
function cmap = labelcolormap(N) if nargin==0 N=256 end cmap = zeros(N,3); for i=1:N id = i-1; r=0;g=0;b=0; for j=0:7 r = bitor(r, bitshift(bitget(id,1),7 - j)); g = bitor(g, bitshift(bitget(id,2),7 - j)); b = bitor(b, bitshift(bitget(id,3),7 - j)); id = bitshift(id,-3); end cmap(i,1)=r; cmap(i,2)=g; cmap(i,3)=b; end cmap = cmap / 255;
对应的颜色类别:
类别名称 R G B background 0 0 0 背景 aeroplane 128 0 0 飞机 bicycle 0 128 0 bird 128 128 0 boat 0 0 128 bottle 128 0 128 瓶子 bus 0 128 128 大巴 car 128 128 128 cat 64 0 0 猫 chair 192 0 0 cow 64 128 0 diningtable 192 128 0 餐桌 dog 64 0 128 horse 192 0 128 motorbike 64 128 128 person 192 128 128 pottedplant 0 64 0 盆栽 sheep 128 64 0 sofa 0 192 0 train 128 192 0 tvmonitor 0 64 128 显示器
然后使用python 的skimage库进行颜色填充,具体函数是skimage.color.label2rgb(),这部分代码以及颜色调整我已经完成了,由于代码太长就不贴出来了,有需要的可以私信我。
第三步:最关键的一步
需要注意的是,label文件要是gray格式,不然会出错:scores层输出与label的数据尺寸不一致,通道问题导致的,看下面的输出是否与VOC输出一致。
In [23]: img = PIL.Image.open('F:/DL/000001_json/test/dstfcn.png') In [24]: np.unique(img) Out[24]: array([0, 1, 2], dtype=uint8)
其中涉及到如何把24位png图转换为8位png图,直接上代码:
dirs=dir('F:/xxx/*.png'); for n=1:numel(dirs) strname=strcat('F:/xxx/',dirs(n).name); img=imread(strname); [x,map]=rgb2ind(img,256); newname=strcat('F:/xxx/',dirs(n).name); imwrite(x,map,newname,'png'); end
三 FCN模型训练
待续…
全卷积 FCN 数据标签制作相关推荐
- 旋转标注框数据标签制作-roLabelImg
一.roLabelImg简介 roLabelImg是基于labelImg改进的,也是用来标注为VOC格式的数据,但是在labelImg的基础上增加了能够使标注的框进行旋转的功能. 网址:https:/ ...
- 全卷积神经网络(FCN)论文笔记
全卷积神经网络(FCN)论文笔记 Fully Convolutional Networks for Semantic Segmentation Abstract 卷积网络是一种功能强大的视觉模型,可以 ...
- FCN全卷积网络模型——高分辨率遥感影像地物识别
FCN全卷积网络模型--高分辨率遥感影像地物识别 这是一篇操作日记 win10与ubuntu的caffe安装过程独立,只是两次不同系统下的演习,真正实验在ubuntu下完成. 操作空间 win10 1 ...
- 【CV语义分割】全卷积神经网络FCN(更新ing)
学习总结 (1)paper<Fully Convolutional Networks for Semantic Segmentation> (2)论文翻译可以参考:https://www. ...
- 全卷积网络(FCN)实战:使用FCN实现语义分割
全卷积网络(FCN)实战:使用FCN实现语义分割 FCN对图像进行像素级的分类,从而解决了语义级别的图像分割(semantic segmentation)问题.与经典的CNN在卷积层之后使用全连接层得 ...
- 全卷积网络FCN详细讲解(超级详细哦)
原文链接:https://blog.csdn.net/qq_41760767/article/details/97521397?depth_1-utm_source=distribute.pc_rel ...
- 全卷积神经网络( FCN ):语义分割深度模型先驱
语义分割 简单地说,分割就是抠图.语义分割,就是按图像中物体表达的含义进行抠图. 现在ps已经集成很多自动分割的功能,相比旧版本软件,新软件提高了美工人员的抠图和美图的效率. 如果我们能在更复杂的环境 ...
- 全卷积网络FCN详解
转载自: 点击打开链接 背景 CNN能够对图片进行分类,可是怎么样才能识别图片中特定部分的物体,在2015年之前还是一个世界难题.神经网络大神Jonathan Long发表了<Fully Co ...
- 全卷积网络FCN与卷积神经网络CNN的区别
背景 CNN能够对图片进行分类,可是怎么样才能识别图片中特定部分的物体,在2015年之前还是一个世界难题.神经网络大神Jonathan Long发表了<Fully Convolutional N ...
- 卷积神经网络( CNN)与全卷积神经网络(FCN)
目录 卷积神经网络(CNN) 卷积层 卷积层尺寸的计算原理 标准卷积计算举例 1 x 1 卷积计算举例 全连接层计算举例 附:TensorFlow 中卷积层的简单实现 激励层 池化层 池化层的作用 输 ...
最新文章
- ASP.NET页面进行GZIP压缩优化的几款压缩模块的使用简介及应用测试!(附源码)
- redis 学习(18)-- AOF
- 百米路由器2登陆地址_腾达无线路由器怎么安装,真的不错
- lia人是什么意思_69年属鸡人终身灾难是什么意思
- Git添加为远程仓库
- [转载] python循环中break、continue 、exit() 、pass的区别
- Kali Linux工具文档翻译计划
- 2499元起!红米K20 Pro发布 吊打855友商旗舰?
- Prim算法的C语言程序
- Harmony OS — Switch开关状态
- Flex与Servlet之间数据的交互
- 谷歌翻译插件对大陆停止服务及其解决方案
- 从键盘上键入1~7的数字,输出对应星期以及英文缩写
- 【Java】我的世界Java版外挂制作 [3] - Killaura FastBow
- API是什么意思,具体是什么?
- C++11特性及其它常用特性
- 零基础开发--歌曲管理系统
- SAP那些事-职业篇-10-顾问最重要的思维方式
- php mysql数据库常用sql语句命令集合
- WP-春秋云镜-Unauthorized靶场完全通关指南