1. 程式人生 > >U-net使用, 影象分割(邊緣檢測)

U-net使用, 影象分割(邊緣檢測)

轉載: http://blog.csdn.net/qq_18293213/article/details/72423592

U-Net: Convolutional Networks for Biomedical Image Segmentation

    通過閱讀這篇論文了解到在醫學影象領域還是有這樣一個網路存在, 它是用於獲得影象的邊緣. 文中說是FCN的延伸, 

    U-net這篇論文的作者是參加一個ISBI的競賽, 獲得了不錯的效果,然後將其的成果分享給大家,以供大家學習.http://brainiac2.mit.edu/isbi_challenge/ 這是ISBI的官網.
    1 這篇論文使用的網路結構:  

   

網路結構如圖所示, 藍色代表卷積和啟用函式, 灰色代表複製, 紅色代表下采樣, 綠色代表上取樣然後在卷積, conv 1X1代表核為1X1的卷積操作, 可以看出這個網路沒有全連線,只有卷積和下采樣. 這也是一個端到端的影象, 即輸入是一幅影象, 輸出也是一副影象. 好神奇. 

    2 ISBI 競賽是一個關於細胞分割的競賽, 或者說是細胞邊緣檢測的競賽, 這個比賽官方只提供了30張訓練影象, 30張測試影象. 資料量非常少, 怎麼辦? 我們可以做資料增強, 資料增強之後資料還不是很多, 沒問題, U-net適用於小資料集(這個不是很準確,也沒有官方的說明).

    3 做這個問題的思路, 大約一個多月以前看到交大某位大神的部落格,他的博文地址

http://blog.csdn.NET/u012931582/article/details/70215756 , 我也是根據他的程式碼來改的,還沒達到大神的能力.

    (1) 官方提供的是一個tif檔案的資料,將30張512X512的圖片壓縮(暫時理解為壓縮吧)或者堆疊在一起,一開始我還以為就一張訓練影象,一張label, 一張測試影象,還把我苦惱了一段時間(汗). 首先要安裝libtiff這個Python包,目前只能在python2上安裝成功,(pip install libtiff), python3沒有安裝成功,又把我苦惱了一段時間.安裝之後就可以將這看似一張的影象,轉換為30張512x512的影象.方法大致如下:

[python] view plain copy  print?
  1. from libtiff import *  
  2. imgstack = TIFF3D.read_image('train-volume.tif')  
  3. for i in range(imgstack.shape[0]):  
  4.     savepath = '../../deform/tarin/' + str(i) + '.tif'
  5.     img = TIFF.open(savepath, 'w')  
  6.     img.write_image(imgstack[i])  

同樣的方法,我們也可以將label(影象),和測試集分開來.這樣訓練集,測試集,label(GroundTruth), 都有了.但是資料量太少,怎麼辦?資料增強把,參考http://lib.csdn.net/article/machinelearning/32736 ,這是使用keras實現資料增強的例子(data augmentation).資料增強的時候要注意,因為你的訓練集中的每一個影象和label是一一對應的,所以你的每一張訓練影象是怎樣扭曲加噪聲,label就要怎樣扭曲加噪聲,大神給我提供了一個思路,就是把

label當做訓練影象的一個通道,這樣他們就可以進行同樣的資料增強了.

    (2)資料增強之後就可以進行訓練網路了,將訓練集,label,測試集生成一個npy檔案,然後送入U-net就可以了.然後對在測試集上進行測試,跑的特別慢.結果如下:

 

 程式碼詳見:https://github.com/silencemao/detect-cell-edge-use-unet

相關推薦

U-net使用, 影象分割(邊緣檢測)

轉載: http://blog.csdn.net/qq_18293213/article/details/72423592 U-Net: Convolutional Networks for Biomedical Image Segmentation     通過閱

全卷積網路:從影象級理解到畫素級理解-FCN影象分割邊緣檢測

作者:果果是枚開心果 連結:https://zhuanlan.zhihu.com/p/20872103 來源:知乎 著作權歸作者所有。商業轉載請聯絡作者獲得授權,非商業轉載請註明出處。卷積神經網路(CNN):影象級語義理解的利器 自2012年AlexNet提出並重新整理了當年ImageNet物體分類競賽的世

U-NET語義分割方法解讀

2014年,加州大學伯克利分校的Long等人提出的 全卷積網路(FCN) ,推廣了原有的CNN結構, 在不帶有全連線層的情況下能進行密集預測。 這種結構的提出使得分割圖譜可以生成任意大小的影象,且與影象塊分類方法相比,也提高了處理速度。在後來,幾乎所有關於語義

opencv影象處理-------邊緣檢測演算法

利用Canny邊緣檢測運算元進行邊緣檢測的原理及OpenCV程式碼實現   Canny運算元是John Canny在1986年發表的論文中首次提出的邊緣檢測運算元,該運算元檢測效能比較好,應用廣泛。 Canny運算元進行邊緣檢測的原理和步驟如下: ⑴消除噪聲。邊緣檢測的演算

0032-使用OpenCV對影象邊緣檢測(Canny、Sobel、Laplace)

邊緣檢測是影象處理和計算機視覺中的基本問題,邊緣檢測的目的是標識數字影象中亮度變化明顯的點。影象屬性中的顯著變化通常反映了屬性的重要事件和變化。 這些包括(i)深度上的不連續、(ii)表面方向不連續、(iii)物質屬性變化和(iv)場景照明變化。 邊緣檢測是影象處理和計算機視覺中,尤其是特徵提取中的

基於ROS使用OpenCV進行影象邊緣檢測

1 硬體 攝像頭:1個; USB資料線:1個; 1.1 準備 這裡需要使用usb-cam軟體包: $ cd ~/catkin_ws/src $ git clone https://github.com/bosch-ros-pkg/usb_cam.git $

c#影象處理-邊緣檢測

//邊緣檢測 public Bitmap cn(Bitmap x) { Color c1 = new Color(); Color c2 = new Color();

南開大學提出最新邊緣檢測影象分割演算法,精度重新整理記錄(附開源地址)

  作者 | 劉雲、程明明、胡曉偉、邊佳旺等 譯者 | 劉暢 整理 | Jane 出品 | AI科技大本營 近日,南開大學媒體計算實驗室提出的最新邊緣檢測和影象過分割(可用於生成超畫素)被 IEEE PAMI 錄用。研究的第一作者也發微博稱:“這是第一個

深度學習(七)U-Net原理以及keras程式碼實現醫學影象眼球血管分割

原文作者:aircraft 原文連結:https://www.cnblogs.com/DOMLX/p/9780786.html 全卷積神經網路 醫學影象分割框架 醫學影象分割主要有兩種框架,一個是基於CNN的,另一個就是基於FCN的。這裡都是通過網路來進行語義分割。 那麼什麼是語義分割?可

目標檢測定位與分割論文閱讀心得總結:FCN U-Net R-CNN FR-CNN Faster R-CNN Mask R-CNN

   目前,基於區域的方法主要分為兩類:任務解耦和的RCNN[1]和任務高度耦合的FCN[2]。 RCNN是將任務分解,目標檢測、定位與分割依次逐一進行,前者決定後者的輸入,因此稱為任務解耦和。而

邊緣檢測影象分割

void sobel (unsignedchar* des, constunsignedchar* src, int width, int height) { for (int y=0; y<height; y++) for (int x=0; x<width; x++)

全卷積神經網路影象分割(U-net)-keras實現

最近在研究全卷積神經網路在影象分割方面的應用,因為自己是做醫學影象處理方面的工作,所以就把一個基於FCN(全卷積神經網路)的神經網路用 keras 實現了,並且用了一個醫學影象的資料集進行了影象分割。 全卷積神經網路 大名鼎鼎的FCN就不多做介紹了,這裡有一篇很好的博文 http://www.c

基於 keras的全卷積網路u-net端到端醫學影象多型別影象分割(一)

有醫院的朋友,需要幫忙完成一個影象分割的任務,提供了一些資料,看了下資料,灰度圖,覺得設計特徵再做分割太麻煩。直接整神經網路吧。不用費神設計特徵,省事,畢竟只是幫個忙而已。 1. 查詢方案 顯然,這個任務,早有前人做過無數次了,這麼熱點的領域,簡直一搜一大把。搜尋結

全卷機神經網路影象分割(U-net)-keras實現

全卷積神經網路 醫學影象分割框架 醫學影象分割主要有兩種框架,一個是基於CNN的,另一個就是基於FCN的。 基於CNN 的框架 這個想法也很簡單,就是對影象的每一個畫素點進行分類,在每一個畫素點上取一個patch,當做一幅影象,輸入神經網路進行訓練,舉個例子:

U-net:執行你的第一個U-net進行影象分割

Unet進行影象分割 注意:本文執行環境為:python3.5、tensorflow 1.4.0 資料準備 原始資料:首先準備資料,參考資料來自於 ISBI 挑戰的資料集。資料可以在 這裡

U-Net:用於生物醫學影象分割的卷積網路

轉自:http://baijiahao.baidu.com/s?id=1600400677130320639&wfr=spider&for=pc摘要眾所周知,成功地訓練一個深度網路需要大量的已標註資料集。本文提出了一種新的網路結構和訓練方法,依靠資料增強將有效

影象分割演算法簡介及常用邊緣檢測演算法

                                                                              影象分割演算法概述及常用邊緣檢測演算法 一、概述  用計算機進行數字影象處理的目的有兩個,一是產生更適合人類視覺觀察和

醫學影象分割--U-Net: Convolutional Networks for Biomedical Image Segmentation

這裡我們將 FCN 修改為 U-Net,主要是上取樣階段,我們同樣也有許多特徵通道,這樣網路可以傳遞更多的 context 資訊到 higher resolution 網路層 in the upsampling part we have also a

深度學習圖像分割——U-net網絡

之間 https 實際應用 度量 amp 很多 增加 黃色 填充 寫在前面: 一直沒有整理的習慣,導致很多東西會有所遺忘,遺漏。借著這個機會,養成一個習慣。 對現有東西做一個整理、記錄,對新事物去探索、分享。 因此博客主要內容為我做過的,所學的整理記錄以及新的算法、網絡框架