邊緣檢測數(shù)據(jù)集bsds500及評測

邊緣檢測相關(guān)論文所用到的評測代碼都是基于bsds500數(shù)據(jù)集的benchmarks娃循。

bsds500介紹

berkeley segmentation data set (bsds500)是伯克利大學(xué)computer vision group提供的數(shù)據(jù)集可以用來圖像分割物體邊緣檢測。該數(shù)據(jù)集包含200張訓(xùn)練圖笛质,100張驗證圖捞蚂,200張測試圖;所有真值用.mat文件保存敲霍,包含segmentation和boundaries丁存,每張圖片對應(yīng)真值有五個,為5個人標(biāo)注的真值柱嫌,訓(xùn)練時真值可采用平均值或者用來擴充數(shù)據(jù),評測代碼中會依次對這五個真值都做對比与学。
壓縮包中包含三個子文件:

  • bench用于評測自己方法的指標(biāo),主要為matlab的.m文件晕窑,核心文件correspondPixels.cc文件需要編譯卵佛,如果是Linux64位電腦則不需要編譯源文件,因為已有編譯好的correspondPixels.mexa64文件在里面疾牲。MATLAB工具必不可少衙解,如何編譯后面在講。
  • BSDS500為數(shù)據(jù)集內(nèi)容

數(shù)據(jù)集擴充

最近很多關(guān)于邊緣檢測的深度學(xué)習(xí)論文2019BDCN蚓峦、2017CRF、2015HED等都對bsds500的訓(xùn)練集和驗證集共300張圖片進行了數(shù)據(jù)擴充霍转,包括旋轉(zhuǎn)一汽、翻轉(zhuǎn)尺度縮放沾谓。HED擴充之后的數(shù)據(jù)集地址:http://vcl.ucsd.edu/hed/HED-BSDS.tar戳鹅,該數(shù)據(jù)集有1.3GB共28800張訓(xùn)練圖,該數(shù)據(jù)集未給出測試集真值枫虏,評測時仍需要用到之前bsds500中的真值隶债。

邊緣評測

評測可以直接使用伯克利BSDS500中的benchmarks評測∷蓝铮或者使用HED的評測腳本,考慮到相關(guān)邊緣檢測論文評測前都會對方法結(jié)果進行非極大值抑制虏两,推薦使用HED的評測腳本世剖,它包含了非極大值抑制代碼。地址:https://github.com/s9xie/hed_release-deprecated/tree/master/examples/eval祖凫。它的readme.txt為:

In our experiment, the evaluation pipeline is 
1. Store the edge prediction results in IPython Notebook to individual .mat files using scipy.io.savmat() function.
2. using nms_process.m to get NMS processed png files.
3. using EvalEdge.m to get the final evaluation results. 
4. To get the "late merging" results reported in the paper, run merge_res.m (simply add up nms processed files).

You still need to download Piotr's edge toolbox to make this work.
This is highly redundant, and for now we release these scripts so that the reported results can be exactly reproduced. (Numerical precision of edge map saved can affect the performance a little bit, e.g. directly save the png files before NMS)
We plan to port the NMS code and evaluation code to python very soon.
Contact s9xie(AT)eng.ucsd.edu for questions.

根據(jù)readme內(nèi)容酬凳,一步一步操作:
本電腦MATLAB為2015b

  1. 在Python中使用scipy.io.savmat()函數(shù)把每張待預(yù)測圖片保存成.mat格式,保存之后矩陣中元素的取值范圍要求為0到1售滤,代表像素點為邊緣的概率台诗,實際上為網(wǎng)絡(luò)sigmoid激活后輸出結(jié)果赐俗。
  2. 下載Edge Toolbox
    下載地址:https://github.com/pdollar/edges,使用之前需要Matlab Toolbox:https://pdollar.github.io/toolbox/
  • Matlab Toolbox說明:
    我選擇最新版3.50粱快,如果是64位的Windows/Linux/Mac則不需要編譯叔扼,否則請在Matlab中的命令行中執(zhí)行toolboxCompile,或者直接運行toolboxCompile.m文件瓜富。



    例如這是編譯好的三個文件:



    其中后綴mexa64代表Linux64位与柑,mexmaci64代表Mac64位,mexw64代表Windows64位丑念。
  • Edge Toolbox說明
    64位的Windows/Linux則不需要編譯结蟋,否則請在matlab的命令窗口編譯,使用時需要把對應(yīng)編譯好的edgesNmsMex文件放入到與nms_process.m同目錄下

同目錄下非常重要挠将,否則會導(dǎo)致無法找到對應(yīng)參數(shù)類型的edgesNmsMex函數(shù)

Please compile mex code from within Matlab (note: win64/linux64 binaries included):
  mex private/edgesNmsMex.cpp    -outdir private [OMPPARAMS]
Here [OMPPARAMS] are parameters for OpenMP and are OS and compiler dependent.
  Windows:  [OMPPARAMS] = '-DUSEOMP' 'OPTIMFLAGS="$OPTIMFLAGS' '/openmp"'
  Linux V1: [OMPPARAMS] = '-DUSEOMP' CFLAGS="\$CFLAGS -fopenmp" LDFLAGS="\$LDFLAGS -fopenmp"
  Linux V2: [OMPPARAMS] = '-DUSEOMP' CXXFLAGS="\$CXXFLAGS -fopenmp" LDFLAGS="\$LDFLAGS -fopenmp"
To compile without OpenMP simply omit [OMPPARAMS]; note that code will be single threaded in this case.
  1. 運行nms_process.m產(chǎn)生非極大值抑制后的邊緣結(jié)果
  2. 運行EvalEdge.m得到評測結(jié)果。

結(jié)束

最終給出我的文件夾內(nèi)容:


其中source為Edge Toolbox的內(nèi)容乳丰,toolbox為Matlab Toolbox的內(nèi)容内贮,這里已經(jīng)把編譯好的edgesNmsMex放到了與nms_process.m同目錄下。一定要記得添加路徑什燕,簡單粗暴直接:

具體評測相關(guān)內(nèi)容可參考HED:
https://github.com/s9xie/hed
非常感謝屎即!


本人已畢業(yè)許久事富,且不從事相關(guān)工作,如有問題還請自行解決5窭蕖<!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末仇穗,一起剝皮案震驚了整個濱河市戚绕,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌列肢,老刑警劉巖瓷马,帶你破解...
    沈念sama閱讀 218,755評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異片林,居然都是意外死亡,警方通過查閱死者的電腦和手機费封,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評論 3 395
  • 文/潘曉璐 我一進店門弓摘,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人韧献,你說我怎么就攤上這事¤嫡耄” “怎么了渊啰?”我有些...
    開封第一講書人閱讀 165,138評論 0 355
  • 文/不壞的土叔 我叫張陵,是天一觀的道長隧膏。 經(jīng)常有香客問我迈窟,道長忌栅,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,791評論 1 295
  • 正文 為了忘掉前任湖员,我火速辦了婚禮瑞驱,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘唤反。我一直安慰自己,他們只是感情好肠缨,可當(dāng)我...
    茶點故事閱讀 67,794評論 6 392
  • 文/花漫 我一把揭開白布盏阶。 她就那樣靜靜地躺著,像睡著了一般脑慧。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上闷袒,一...
    開封第一講書人閱讀 51,631評論 1 305
  • 那天,我揣著相機與錄音脾歇,去河邊找鬼淘捡。 笑死,一個胖子當(dāng)著我的面吹牛焦除,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播乌逐,決...
    沈念sama閱讀 40,362評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼浙踢,長吁一口氣:“原來是場噩夢啊……” “哼灿渴!你這毒婦竟也來了洛波?” 一聲冷哼從身側(cè)響起骚露,我...
    開封第一講書人閱讀 39,264評論 0 276
  • 序言:老撾萬榮一對情侶失蹤棘幸,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后误续,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,724評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡育瓜,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年爆雹,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片钙态。...
    茶點故事閱讀 40,040評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡册倒,死狀恐怖蚓挤,靈堂內(nèi)的尸體忽然破棺而出驻子,到底是詐尸還是另有隱情,我是刑警寧澤缤剧,帶...
    沈念sama閱讀 35,742評論 5 346
  • 正文 年R本政府宣布域慷,位于F島的核電站,受9級特大地震影響抵窒,放射性物質(zhì)發(fā)生泄漏叠骑。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,364評論 3 330
  • 文/蒙蒙 一宙枷、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧圃阳,春花似錦璧帝、人聲如沸富寿。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽变勇。三九已至恤左,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間戳气,已是汗流浹背巧鸭。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留呀袱,地道東北人。 一個月前我還...
    沈念sama閱讀 48,247評論 3 371
  • 正文 我出身青樓夜赵,卻偏偏與公主長得像乡革,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子婉宰,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,979評論 2 355