關于FCN的數據集著色說明

前方我們講解了《 FCN-數據篇》。里面包含了如何制作類似pascal voc的label。很大篇幅在談如何著色,如何轉化為索引圖像。 由于一些內容參考網上的資料,所以對里面的一些操作含義也有些糊涂。 其實網上的東西也不都對,很多人云亦云。所以需要我們仔細甄別。 其中我就發現了一個錯誤。我們來從頭談起。

  1. pascal voc數據集
    當我們從網上下載pascal voc2012的數據集,會發現SegmentationClass文件里的標注都是彩色圖像。

    這里寫圖片描述

    但是查看其屬性,發現其位深為8.

    這里寫圖片描述

一般情況下,彩色圖像都是rgb格式,所以應該是24位,但這里是8位,其實這表明圖像是索引格式。
里面8位存放的是索引值,區間范圍[0,255]。圖像應該還包含一個map,對應著每個索引的顏色。
我們用matlab 查看索引:

>> im=imread('H:\data\VOCtrainval_11-May-2012\VOCdevkit\VOC2012\SegmentationClass\2007_000346.png');
>> info=imfinfo('H:\data\VOCtrainval_11-May-2012\VOCdevkit\VOC2012\SegmentationClass\2007_000346.png');
>> info.Colormapans =0         0         00.5020         0         00    0.5020         00.5020    0.5020         00         0    0.50200.5020         0    0.50200    0.5020    0.50200.5020    0.5020    0.50200.2510         0         00.7529         0         00.2510    0.5020         00.7529    0.5020         00.2510         0    0.50200.7529         0    0.50200.2510    0.5020    0.50200.7529    0.5020    0.50200    0.2510         00.5020    0.2510         00    0.7529         00.5020    0.7529         00    0.2510    0.50200.5020    0.2510    0.50200    0.7529    0.50200.5020    0.7529    0.50200.2510    0.2510         00.7529    0.2510         00.2510    0.7529         00.7529    0.7529         00.2510    0.2510    0.50200.7529    0.2510    0.50200.2510    0.7529    0.50200.7529    0.7529    0.50200         0    0.25100.5020         0    0.25100    0.5020    0.25100.5020    0.5020    0.25100         0    0.75290.5020         0    0.75290    0.5020    0.75290.5020    0.5020    0.75290.2510         0    0.25100.7529         0    0.25100.2510    0.5020    0.25100.7529    0.5020    0.25100.2510         0    0.75290.7529         0    0.75290.2510    0.5020    0.75290.7529    0.5020    0.75290    0.2510    0.25100.5020    0.2510    0.25100    0.7529    0.25100.5020    0.7529    0.25100    0.2510    0.75290.5020    0.2510    0.75290    0.7529    0.75290.5020    0.7529    0.75290.2510    0.2510    0.25100.7529    0.2510    0.25100.2510    0.7529    0.25100.7529    0.7529    0.25100.2510    0.2510    0.75290.7529    0.2510    0.75290.2510    0.7529    0.75290.7529    0.7529    0.75290.1255         0         00.6275         0         00.1255    0.5020         00.6275    0.5020         00.1255         0    0.50200.6275         0    0.50200.1255    0.5020    0.50200.6275    0.5020    0.50200.3765         0         00.8784         0         00.3765    0.5020         00.8784    0.5020         00.3765         0    0.50200.8784         0    0.50200.3765    0.5020    0.50200.8784    0.5020    0.50200.1255    0.2510         00.6275    0.2510         00.1255    0.7529         00.6275    0.7529         00.1255    0.2510    0.50200.6275    0.2510    0.50200.1255    0.7529    0.50200.6275    0.7529    0.50200.3765    0.2510         00.8784    0.2510         00.3765    0.7529         00.8784    0.7529         00.3765    0.2510    0.50200.8784    0.2510    0.50200.3765    0.7529    0.50200.8784    0.7529    0.50200.1255         0    0.25100.6275         0    0.25100.1255    0.5020    0.25100.6275    0.5020    0.25100.1255         0    0.75290.6275         0    0.75290.1255    0.5020    0.75290.6275    0.5020    0.75290.3765         0    0.25100.8784         0    0.25100.3765    0.5020    0.25100.8784    0.5020    0.25100.3765         0    0.75290.8784         0    0.75290.3765    0.5020    0.75290.8784    0.5020    0.75290.1255    0.2510    0.25100.6275    0.2510    0.25100.1255    0.7529    0.25100.6275    0.7529    0.25100.1255    0.2510    0.75290.6275    0.2510    0.75290.1255    0.7529    0.75290.6275    0.7529    0.75290.3765    0.2510    0.25100.8784    0.2510    0.25100.3765    0.7529    0.25100.8784    0.7529    0.25100.3765    0.2510    0.75290.8784    0.2510    0.75290.3765    0.7529    0.75290.8784    0.7529    0.75290    0.1255         00.5020    0.1255         00    0.6275         00.5020    0.6275         00    0.1255    0.50200.5020    0.1255    0.50200    0.6275    0.50200.5020    0.6275    0.50200.2510    0.1255         00.7529    0.1255         00.2510    0.6275         00.7529    0.6275         00.2510    0.1255    0.50200.7529    0.1255    0.50200.2510    0.6275    0.50200.7529    0.6275    0.50200    0.3765         00.5020    0.3765         00    0.8784         00.5020    0.8784         00    0.3765    0.50200.5020    0.3765    0.50200    0.8784    0.50200.5020    0.8784    0.50200.2510    0.3765         00.7529    0.3765         00.2510    0.8784         00.7529    0.8784         00.2510    0.3765    0.50200.7529    0.3765    0.50200.2510    0.8784    0.50200.7529    0.8784    0.50200    0.1255    0.25100.5020    0.1255    0.25100    0.6275    0.25100.5020    0.6275    0.25100    0.1255    0.75290.5020    0.1255    0.75290    0.6275    0.75290.5020    0.6275    0.75290.2510    0.1255    0.25100.7529    0.1255    0.25100.2510    0.6275    0.25100.7529    0.6275    0.25100.2510    0.1255    0.75290.7529    0.1255    0.75290.2510    0.6275    0.75290.7529    0.6275    0.75290    0.3765    0.25100.5020    0.3765    0.25100    0.8784    0.25100.5020    0.8784    0.25100    0.3765    0.75290.5020    0.3765    0.75290    0.8784    0.75290.5020    0.8784    0.75290.2510    0.3765    0.25100.7529    0.3765    0.25100.2510    0.8784    0.25100.7529    0.8784    0.25100.2510    0.3765    0.75290.7529    0.3765    0.75290.2510    0.8784    0.75290.7529    0.8784    0.75290.1255    0.1255         00.6275    0.1255         00.1255    0.6275         00.6275    0.6275         00.1255    0.1255    0.50200.6275    0.1255    0.50200.1255    0.6275    0.50200.6275    0.6275    0.50200.3765    0.1255         00.8784    0.1255         00.3765    0.6275         00.8784    0.6275         00.3765    0.1255    0.50200.8784    0.1255    0.50200.3765    0.6275    0.50200.8784    0.6275    0.50200.1255    0.3765         00.6275    0.3765         00.1255    0.8784         00.6275    0.8784         00.1255    0.3765    0.50200.6275    0.3765    0.50200.1255    0.8784    0.50200.6275    0.8784    0.50200.3765    0.3765         00.8784    0.3765         00.3765    0.8784         00.8784    0.8784         00.3765    0.3765    0.50200.8784    0.3765    0.50200.3765    0.8784    0.50200.8784    0.8784    0.50200.1255    0.1255    0.25100.6275    0.1255    0.25100.1255    0.6275    0.25100.6275    0.6275    0.25100.1255    0.1255    0.75290.6275    0.1255    0.75290.1255    0.6275    0.75290.6275    0.6275    0.75290.3765    0.1255    0.25100.8784    0.1255    0.25100.3765    0.6275    0.25100.8784    0.6275    0.25100.3765    0.1255    0.75290.8784    0.1255    0.75290.3765    0.6275    0.75290.8784    0.6275    0.75290.1255    0.3765    0.25100.6275    0.3765    0.25100.1255    0.8784    0.25100.6275    0.8784    0.25100.1255    0.3765    0.75290.6275    0.3765    0.75290.1255    0.8784    0.75290.6275    0.8784    0.75290.3765    0.3765    0.25100.8784    0.3765    0.25100.3765    0.8784    0.25100.8784    0.8784    0.25100.3765    0.3765    0.75290.8784    0.3765    0.75290.3765    0.8784    0.75290.8784    0.8784    0.7529

或者

[im,map]=imread('H:\data\VOCtrainval_11-May-2012\VOCdevkit\VOC2012\SegmentationClass\2007_000346.png');

如果進一步地想要顯示索引圖像或者轉為rgb,可以:

[cdata,map] = imread( filename )         %讀索引圖像文件
if ~isempty( map )     rgb = ind2rgb( cdata, map );         %將索引圖像數據轉為RGB圖像數據
end 
imshow(rgb )
imshow(cdata,map) %這樣讀也可以

根據上面顯示的map,我們發現與《 FCN-數據篇》的pascal voc的colormap完全一致。
另外需要注意:cdata是從0開始,對應著map的第一行。

自定義數據

根據前面《 FCN-數據篇》 的生成
自定義數據的方法,包括:
1. 使用labelme標注圖像,生成灰度圖像
2. 將灰度標簽圖像轉化為rgb 24位圖像,根據pascal voc的colormap,使用函數label2rgb
3. 將24位png圖轉換為8位png圖。生成索引圖像

其中第3步很重要,先前網上的資料有誤。之前的代碼是:

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

這里也生成了一個map,當時我就很疑惑為什么這里還有一個map呢?
于是試驗了一下:

>> im=imread('G:\deeplearning\FCN_train-master\xxx.png');
>>  [a,map2]=rgb2ind(im,256);
>> map2map2 =0         0         00.5020         0         00         0    0.50200.5020         0    0.50200    0.5020         00.5020    0.5020         0

顯然這里的map與pascal voc的map不一致了,會導致很嚴重的問題。
因此正確的是:

>> im=imread('G:\deeplearning\FCN_train-master\xxx.png');
>> map=labelcolormap(256);
>> x=rgb2ind(im,map);
>> imshow(x,map)
>> imwrite(x,map,'test.png','png')

其中第二步就是生成pascal voc的colormap,可以在《 FCN-數據篇》 查找。

二分類標簽數據的制作

對于二分類問題而言,但我們標注好了圖像語義后,我們常常得到的是黑白灰度圖像。比如前景部分用255顯示,背景用0顯示。而且有可能24位,也可能是8位。

這時我們需要做兩件事:
1. 將圖像轉化為24位
2. 生成8位索引圖像
代碼如下:

root='H:\data\IrsData\iris_ground-truth\MICHE_subset\';
input_dir=strcat(root,'ground truth\');
output_dir=strcat(root,'temp\');
src_type='tiff';
files = dir([input_dir, '*.', src_type]);
n = length(files);for i = 1:n [filename, type] = strtok(files(i).name, '.');im_src = imread([input_dir, files(i).name]);info=imfinfo([input_dir, files(i).name]);if info.BitDepth==8  %轉化為24位rgbim_src=cat(3,im_src,im_src,im_src);end[x,map]=rgb2ind(im_src,2);newname=strcat(output_dir,filename,'.png');imwrite(x,map,newname,'png');end

至此生成的圖像時索引圖像,二分類,前景為白色,背景為黑色,索引值為0,1.

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/258579.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/258579.shtml
英文地址,請注明出處:http://en.pswp.cn/news/258579.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

mongobd python_Python操作MongoDB數據庫PyMongo庫使用方法

引用PyMongo復制代碼 代碼如下:>>> import pymongo創建連接Connection復制代碼 代碼如下:>>> import pymongo>>> conn pymongo.Connection(localhost,27017)或復制代碼 代碼如下:>>> from pymongo import Connection>>> conn C…

Android Property Animation動畫

3.0以前,android支持兩種動畫模式,tween animation,frame animation,在android3.0中又引入了一個新的動畫系統:property animation,這三種動畫模式在SDK中被稱為property animation,view animation,drawable animation…

angular實現select的ng-options

ng實現簡單的select <div ng-controller"ngSelect"><select ng-model"vm.selectVal" ng-options"o.title for o in vm.optionsData"><option value"">請選擇</option></select> </div> var app …

Ubuntu14.04下Mongodb數據庫可視化工具安裝部署步驟(圖文詳解)(博主推薦)

不多說&#xff0c;直接上干貨&#xff01; 前期博客 Ubuntu14.04下Mongodb&#xff08;離線安裝方式|非apt-get&#xff09;安裝部署步驟&#xff08;圖文詳解&#xff09;&#xff08;博主推薦&#xff09; Ubuntu14.04下Mongodb官網安裝部署步驟&#xff08;圖文詳解&#x…

deeplab運行指南

以下僅僅為一個總結&#xff0c;參考了網上的眾多資料&#xff0c;僅備忘記。 主要鏈接 deeplab主頁&#xff1a;http://liangchiehchen.com/projects/DeepLab.html官方代碼&#xff1a;https://bitbucket.org/aquariusjay/deeplab-public-ver2python 版caffe實現&#xff1a…

tensorboard使用_colab打不開tensorboard的解決辦法

2020.4.1更新&#xff1a;colab現在自帶tensorboard的魔術方法了&#xff0c;用這個命令就能展示tensorboard%load_ext tensorboard %tensorboard --logdir ./log/train# 加載一次后&#xff0c;如果要重新加載&#xff0c;就需要使用reload方法 %reload_ext tensorboard %tens…

構造函數為什么不能是虛函數 ( 轉載自C/C++程序員之家)

從存儲空間角度&#xff0c;虛函數對應一個指向vtable虛函數表的指針&#xff0c;這大家都知道&#xff0c;可是這個指向vtable的指針其實是存儲在對象的內存空間的。問題出來了&#xff0c;如果構造函數是虛的&#xff0c;就需要通過 vtable來調用&#xff0c;可是對象還沒有實…

小程序“自定義關鍵詞”功能的常見問答

我們知道小程序可以通過線下掃碼、公眾號、好友分享、長按小程序碼、搜索小程序名稱來找到&#xff0c;現在又多了一個新方式——小程序后臺新增自定義關鍵詞功能&#xff1a;已發布小程序的開發者&#xff0c;可提交最多10個與小程序業務相關的關鍵詞&#xff0c;幫助你的小程…

語義分割深度學習方法集錦

轉載&#xff1a;https://github.com/handong1587/handong1587.github.io/edit/master/_posts/deep_learning/2015-10-09-segmentation.md Papers Deep Joint Task Learning for Generic Object Extraction intro: NIPS 2014homepage: http://vision.sysu.edu.cn/projects/d…

員工培訓與開發實訓心得體會_公司新員工培訓心得體會800字范文

點擊藍字關注我們培訓是一次能夠快速提升我們的機會&#xff0c;而每個新員工也是通過培訓盡快的融入公司的。因此&#xff0c;我們要更加重視培訓一些!下面是小編為大家整理的公司新員工培訓心得體會&#xff0c;希望對大家有幫助。公司新員工培訓心得體會800字為了讓我們新進…

Nginx ab壓力測試

20-ab壓力測試及nginx性能統計模塊 優化的啟發&#xff0c;打開的文件太多 Nginx 錯誤日志顯示&#xff0c;打開文件數太多 系統層面 more /proc/sys/net/core/somaxconn 單個Nginx 測試index.html 沒優化前 [root/home/www]#ab -c 4000 -n 100000 http://test.demo.com/inde…

Code First02---CodeFirst配置實體與數據庫映射的兩種方式

Code First有兩種配置數據庫映射的方式&#xff0c;一種是使用數據屬性DataAnnotation&#xff0c;另一種是Fluent API.這兩種方式分別是什么呢&#xff1f;下面進行一一解釋&#xff1a;DataAnnotation的配置方式需要你給定義實體和值對象的類和類中的屬性加上與數據庫映射相關…

sigmoid函數的數值穩定性

在深度學習中&#xff0c;我們常常選用sigmoid函數作為激活函數。sigmoid函數的具體形式如下&#xff1a; f(x)11e?xf(x)=\frac{1}{1+e^{-x}}曲線表示為&#xff1a; 再畫大一點&#xff0c;取x區間更大一些&#xff0c;則為&#xff1a; 顯然從圖像上看&#xff0c;sigmoid函…

查看CentOS版本方法

有以下命令可以查看&#xff1a; # lsb_release -a LSB Version: :core-3.1-ia32:core-3.1-noarch:graphics-3.1-ia32:graphics-3.1-noarchDistributor ID: CentOSDescription: CentOS release 5.4 (Final)Release: 5.4Codename: Final這個命令適用于所有的li…

windows遠程連接ubuntu 黑屏_Windows跟Windows遠程連接傳輸文件

關注奕奇科技&#xff0c;學習更多小妙招電腦小知識&#xff0c;值得收藏我們一般在使用windows遠程連接時需要傳輸文件該怎么辦&#xff1f;我們可以插入U盤導入導出&#xff0c;但這樣很是麻煩而且如果身邊暫時沒有U盤的情況就要通過社交工具傳播文件&#xff0c;大的文件也更…

思維導圖分析http之前端組成

思維導圖分析http前端組成全文總覽本文分為三個部分&#xff1a;前端組成&#xff0c;http協議&#xff0c;http服務器應用程序。http的應用按照我自己的理解分為前端應用以及后端應用&#xff0c;所以我分別寫了前端組成以及http服務器應用程序兩章&#xff0c;中間穿插了一章…

Linux命令工具基礎02 文件及目錄管理

文件及目錄管理 文件管理不外乎文件或目錄的創建、刪除、查詢、移動&#xff0c;有mkdir/rm/mv 文件查詢是重點&#xff0c;用find來進行查詢&#xff1b;find的參數豐富&#xff0c;也非常強大&#xff1b; 查看文件內容是個大的話題&#xff0c;文本的處理有太多的工具供我們…

caffe 關于Deconvolution的初始化注意事項

對于fcn&#xff0c;經常要使用到Deconvolution進行上采樣。對于caffe使用者&#xff0c;使用Deconvolution上采樣&#xff0c;其參數往往直接給定&#xff0c;不需要通過學習獲得。 給定參數的方式很有意思&#xff0c;可以通過兩種方式實現&#xff0c;但是這兩種方式并非完…

多目標進化優化_SDIM 學術講座|分解多目標優化與帕累托多任務學習

分解多目標優化與帕累托多任務學習2020年11月4日晚&#xff0c;香港城市大學電腦學系講座教授、博士生導師、IEEE Fellow張青富教授應我院王振坤教授的邀請&#xff0c;在線舉辦了一場主題為“分解多目標優化與帕累托多任務學習”的學術講座。此次講座采用線上和線下兩種渠道&a…

hibernate(nested transactions not supported)異常

org.hibernate.TransactionException: nested transactions not supported錯誤的解決方法&#xff01; 原因&#xff1a;事務沒有提交&#xff0c;事務提交后正常 Transaction tx session.beginTransaction(); tx.commit(); //缺少這句話轉載于:https://www.cnblogs.com/lmq-1…