




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第PAGE圖像語義分割的實現(xiàn)案例分析圖像分割的實現(xiàn)過程主要是進行模塊封裝,總共有四個模塊。圖像預(yù)處理模塊,圖像分割網(wǎng)絡(luò)實現(xiàn)模塊,訓(xùn)練結(jié)果收集模塊,模型訓(xùn)練模塊。圖像預(yù)處理模塊的作用是對圖像數(shù)據(jù)集進行圖像增強和歸一化處理。圖像分割實現(xiàn)網(wǎng)絡(luò)模塊是對分割網(wǎng)絡(luò)模型的實現(xiàn)過程的封裝。模型訓(xùn)練模塊。訓(xùn)練結(jié)果收集模塊中有對tensorflow中IoU函數(shù)的重寫,利用元組對評測指標IoU、損失值、正確率的存儲以及利用繪圖函數(shù)進行結(jié)果預(yù)測。模型訓(xùn)練模塊中調(diào)用模型進行預(yù)測,獲取損失值,根據(jù)損失值和所有可訓(xùn)練參數(shù)計算梯度,通過優(yōu)化器對梯度優(yōu)化,最后進行指標記錄。1.1圖像語義分割實現(xiàn)平臺Tensorflow框架是Goole一款開源框架,是基于“數(shù)據(jù)流圖”進行數(shù)據(jù)計算的編程模型。Tensorflow框架以數(shù)據(jù)進行驅(qū)動,其提升了并行計算的能力。因為其數(shù)據(jù)流圖的特點常用于神經(jīng)網(wǎng)絡(luò)和機器學(xué)習(xí)領(lǐng)域。利用tensorflow進行軟件開發(fā)的神經(jīng)網(wǎng)絡(luò),以張量表示數(shù)據(jù),以數(shù)據(jù)流圖搭建網(wǎng)絡(luò)結(jié)構(gòu),利用session進行數(shù)據(jù)計算,優(yōu)化權(quán)重參數(shù),通過迭代訓(xùn)練得到模型。具有面向?qū)ο筇攸c的keras是基于Tensorflow框架的python開源神經(jīng)網(wǎng)絡(luò)庫,支持卷積神經(jīng)網(wǎng)絡(luò)和循環(huán)神將網(wǎng)絡(luò)或者二者的結(jié)合,利用keras神經(jīng)網(wǎng)絡(luò)API可以簡短快速的將想法轉(zhuǎn)換為模型設(shè)計。1.2圖像預(yù)處理模塊1.2.1圖像和標簽的路徑讀取利用glob函數(shù)獲取測試集和訓(xùn)練集中的圖像路徑和標簽路徑。為了防止獲取的圖像路徑和標簽路徑亂序?qū)е骂A(yù)測結(jié)果不理想,利用split函數(shù)截取路徑名,獲取路徑編號,然后利用sort函數(shù)按照編號排序,使得圖像路徑和標簽路徑一一對應(yīng)。為了防止后面的模型訓(xùn)練和預(yù)測結(jié)果偏向于某一類,利用random隨機函數(shù)對圖像路徑進行亂序。根據(jù)路徑讀取圖像和標簽,彩色圖像的讀取需要解碼所以利用read_file函數(shù)和decode_png函數(shù)讀取彩色圖像,利用read_file函數(shù)讀取標簽。對圖像和標簽過程進行函數(shù)封裝,在加載圖像和標簽的過程中根據(jù)路徑讀取圖像和標簽。1.2.2數(shù)據(jù)增強為了防止過擬合和在訓(xùn)練途中數(shù)據(jù)的梯度消失導(dǎo)致結(jié)果不理想需要利用數(shù)據(jù)增強增加訓(xùn)練集中的圖像和標簽的數(shù)量。常見的數(shù)據(jù)增強的方法有隨機翻轉(zhuǎn)、隨機裁剪、尺度變換、平移變換、旋轉(zhuǎn)變換、添加髙斯噪聲等。本論文利用隨機翻轉(zhuǎn)和隨機裁剪進行數(shù)據(jù)增強。因為測試集中的圖像和標簽過大,在訓(xùn)練過程中可能會導(dǎo)致訓(xùn)練過程中顯存溢出,并且如果對過大的圖像和標簽進行裁剪那么保留的關(guān)鍵信息將會很少,需要對輸入模型的圖像和標簽進行縮放,將圖像尺寸壓縮為256*256。不過不能直接將圖像尺寸縮小為256*256,因為隨機裁剪圖像也會縮放圖像的大小。所以首先將圖像尺寸縮小為280*280,為了防止隨機裁剪過程中裁剪的位置不一致影響預(yù)測結(jié)果,需要利用concat函數(shù)將圖像和標簽在空間上進行疊加再根據(jù)隨機數(shù)判斷是否裁剪,然后再將圖像和標簽縮放為256*256,最后利用高維切片獲取隨即裁剪后的圖像和標簽。對隨機裁剪過程進行函數(shù)封裝,在加載圖像和標簽的過程中對圖像和標簽進行隨機裁剪。1.2.3彩色圖像預(yù)處理為了提高精度和使得訓(xùn)練網(wǎng)絡(luò)的收斂性加快,需要對彩色圖像做預(yù)處理,彩色圖像取值范圍[-1,1]。因為標簽是需要的分類數(shù)和彩色圖像的分類標準所以不需要對標簽做歸一化處理。對歸一化過程進行函數(shù)封裝,在加載圖像和標簽的過程中對圖像做歸一化處理。1.2.4圖像和標簽的數(shù)據(jù)加載封裝圖像和標簽加載過程,在此模塊中調(diào)用讀取圖像和標簽的函數(shù)封裝。對讀取的圖像和標簽使用隨機裁剪。設(shè)置隨機數(shù),根據(jù)隨機數(shù)判斷是否調(diào)用flip_left_right函數(shù)進行圖像和標簽的隨機翻轉(zhuǎn)。圖1.1隨機加載一張圖片和標簽1.2.5參數(shù)設(shè)置根據(jù)電腦自身顯存設(shè)置BUFFER_SIZE和BCTCH_SIZE。BUFFER_SIZE是在緩存中圖像的訓(xùn)練個數(shù),控制緩存大小,在緩存中進行迭代訓(xùn)練。同時BUFFER_SIZE也是一個亂序緩沖區(qū),它可以使得在訓(xùn)練的中獲取足夠的信息量。如果設(shè)置的BUFFER_SIZE超過顯存緩存那么在訓(xùn)練中途會報錯。BCTCH_SIZE是圖像每一次在緩存中進行替換的圖像數(shù)量。設(shè)置auto值,其作用是讓電腦根據(jù)cpu的核個數(shù)自動選擇讀取線程的個數(shù)。然后進行圖像加載和管道輸入。開始開始讀取圖像和標簽的路徑路徑讀取讀取圖像和標簽對圖像和標簽做圖像增強對圖像和標簽做歸一化處理返回圖像和標簽結(jié)束圖1.2圖像加載過程流程圖1.3圖像分割網(wǎng)絡(luò)實現(xiàn)模塊1.1.1U-Net網(wǎng)絡(luò)的實現(xiàn)U-Net[5]網(wǎng)絡(luò)的實現(xiàn)主要是通過自定義下采樣層和上采樣層,封裝下采樣層DownSample和上采樣層UpSample,然后在U-Net[5]模型的定義中調(diào)用封裝的下采樣層和封裝的上采樣層實現(xiàn)的。下采樣層用于特征提取獲取圖像信息,是卷積層、卷積層和池化層的堆疊。DownSample初始化,設(shè)置第一層卷積和第二層卷積參數(shù)并且第一層和第二層卷積參數(shù)相同,卷積需要輸入的參數(shù)由卷積和、卷積內(nèi)核大小、填充方式。卷積和參數(shù)需要在調(diào)用函數(shù)的時候進行設(shè)置。卷積內(nèi)核大小默認設(shè)置為3。因為輸入和輸出的圖像需要大小一致,設(shè)置填充方式為same。對封裝的下采樣層創(chuàng)建前向傳播過程,輸入?yún)?shù)一個是圖像,一個boolean值變量。因為U-Net[5]網(wǎng)絡(luò)第一層不需要進行下采樣,設(shè)置一個boolean值變量的作用是通過boolean值判斷是否進行下采樣,可以進行代碼復(fù)用。函數(shù)主體通過boolean值判斷是否對圖像進行下采樣,對圖像做第一層卷積,卷積激活,對圖像做第二層卷積卷積激活。卷積卷積卷積下采樣池化圖1.3下采樣層封裝上采樣層將縮小的圖像進行放大,由卷積層、卷積層和反卷積堆疊而成。UpSample初始化,卷積參數(shù)的設(shè)置和下采樣中的卷積參數(shù)一致,反卷積中的參數(shù)有輸出空間維數(shù)、卷積內(nèi)核、填充方式、卷積沿高度和寬度的步長膨脹寬度stride。輸出空間維數(shù)需要同下采樣層的空間維數(shù)一致,因為上采樣層和下采樣層需要進行concat;卷積內(nèi)核為3;填充方式same;因為圖像需要放大,設(shè)置stride值為2。對封裝的上采樣層創(chuàng)建前向傳播過程,輸入?yún)?shù)是圖像。函數(shù)主體是對圖像做第一層卷積卷積激活,對圖像做第二層卷積卷積激活,上采樣。卷積卷積卷積反卷積圖1.4上采樣層封裝Net模型的定義由DownSample和UpSample組合而成。在U-Net模型的初始中通過對DownSample和UpSample調(diào)用,實現(xiàn)上采樣和下采樣過程的層級設(shè)計,上采樣和下采樣過程通道數(shù)需要意義一一對應(yīng),因為上采樣過程需要利用concat獲取下采樣過程的特征信息。在模型的前向傳播中,調(diào)用初始化好的模塊,即可完成模型的定義。1.1.2FCN網(wǎng)絡(luò)的實現(xiàn)由于FCN[6]具有跳階結(jié)構(gòu),上采樣層的信息需要同下采樣信息在像素上直接相加從而獲得輸出。利用預(yù)訓(xùn)練網(wǎng)絡(luò)VGG[3]獲取下采樣信息,因為預(yù)訓(xùn)練網(wǎng)絡(luò)結(jié)構(gòu)同F(xiàn)CN[6]網(wǎng)絡(luò)沒有進行上采樣的網(wǎng)絡(luò)結(jié)構(gòu)一致。如何獲取中間層輸出?利用get_layer(層名).output方法獲取中間層,因為預(yù)訓(xùn)練網(wǎng)絡(luò)各個層之間線性性弱,可以通過通過中間層創(chuàng)建一個新的繼承預(yù)訓(xùn)練網(wǎng)絡(luò)網(wǎng)絡(luò)結(jié)構(gòu)的子模型,然后調(diào)用這個子模型獲取中間層輸出,用于跳階結(jié)構(gòu)。利用函數(shù)API創(chuàng)建子模型,inputs就是預(yù)訓(xùn)練網(wǎng)絡(luò),outputs就是需要的中間層,這個子模型會繼承預(yù)訓(xùn)練網(wǎng)絡(luò)結(jié)構(gòu)。因為存在多個下采樣層,需要獲得多個下采樣輸出,所以需要創(chuàng)建多輸出模型。將各層層名保存在列表中,通過列表表達式從層名列表中獲得各個中間層。和創(chuàng)建單輸出模型類似創(chuàng)建多輸出模型,不過outputs為中間層列表。不過由于多輸出模型繼承預(yù)訓(xùn)練網(wǎng)絡(luò),當(dāng)前模型不能訓(xùn)練。在每一次進行調(diào)節(jié)結(jié)構(gòu)之前需要對獲取的中間層輸出多進行一次卷積,這樣做的目的是為了進行特征提取,然后再進行add操作。1.1.3LinkNet網(wǎng)絡(luò)的實現(xiàn)LinkNet[7]網(wǎng)絡(luò)類似于U-Net[5]網(wǎng)絡(luò),主要是通過卷積和反卷積實現(xiàn)??紤]到代碼的復(fù)用性,定義卷積塊和反卷積塊,然后封裝編碼塊和解碼塊,最后調(diào)用編碼塊和解碼塊,進行模塊“組裝”形成LinkNet[7]網(wǎng)絡(luò)。卷積塊包括卷積層;數(shù)據(jù)歸一化層,激活層。在卷積層中定義卷積和個數(shù)。卷積核kernel_size。卷積沿高度和寬度的步長膨脹寬度strides,strides默認參數(shù)為1,經(jīng)歷一次卷積后,圖像大小不發(fā)生改變。填充方式默認為same填充。數(shù)據(jù)歸一化層,對輸入數(shù)據(jù)進行歸一化處理,防止在訓(xùn)練途中數(shù)據(jù)發(fā)生改變導(dǎo)致梯度消失或者梯度爆炸。激活層,用于卷積激活,為了使神經(jīng)網(wǎng)絡(luò)的擬合程度更高,激活函數(shù)常為非線性函數(shù)。這里的激活層利用線性函數(shù)relu激活,因為relu函數(shù)是分段函數(shù),經(jīng)過組合后的神經(jīng)網(wǎng)絡(luò)非線性。對輸入圖像進行卷積特征提取,然后對圖像做歸一化批處理,最后激活卷積。反卷積塊的封裝和卷積塊類似。不過反卷積塊是進行的反卷積,strides的默認參數(shù)為2,即每經(jīng)歷一次反卷積,圖像和標簽放大一次。因為模型的最后輸出是一個反卷積,所以不需要對反卷積進行激活,所以設(shè)置一個boolean值變量,用來判斷是否進行反卷積激活。編碼器模塊由一個縮放和一個沒有縮放殘差結(jié)構(gòu)組成。進行縮放的殘差結(jié)構(gòu):調(diào)用卷積模塊,設(shè)置strides為2,將圖像大小縮小1/2,再進行一次大小不發(fā)生改變的卷積,然后將第一次卷積結(jié)果同第二次卷積結(jié)果相加。沒有進行縮放的殘差結(jié)構(gòu):對輸入進行兩次大小不發(fā)生改變的卷積,將輸入和兩次卷積后的結(jié)果相加。解碼器模塊的主要的作用是對圖像進行放大,使得圖片的輸出和輸入大小一致,由卷積層、反卷積層和卷積層組成。通過調(diào)用卷積模塊和反卷積模塊完成。LinkNet網(wǎng)絡(luò)通過“組裝”編碼器模塊和解碼器模塊組成,編碼器和解碼器需要一一對應(yīng),因為解碼器輸出需要同對應(yīng)的編碼器輸出相加然后再進行解碼。1.1.4U-Net網(wǎng)絡(luò)的修改在U-Net[5]網(wǎng)絡(luò)中添加殘差網(wǎng)絡(luò),在下采樣中后的兩次卷積輸出直接加上下采樣結(jié)果。其網(wǎng)絡(luò)結(jié)構(gòu)如下。卷積卷積卷積下采樣add圖1.5U-Net網(wǎng)絡(luò)中添加殘差塊1.4訓(xùn)練結(jié)果收集模塊1.4.1語義分割的優(yōu)化器的選擇幾種常用的優(yōu)化器:SGD,Momentum,AdaGrad,RMSProp,Adam。隨機梯度下降算法SGD,每次只使用一個樣本來進行更新梯度,因為是一個樣本進行更新的原因,SGD速度比較快,能夠根據(jù)新的樣本實時更新模型,但是其梯度震蕩嚴重。動量Momentum,動量即矢量,具有方向,用來描述梯度。如果獲取到的梯度方向和前一時刻的梯度方向一致,那么梯度則會增強;如果獲取到的梯度方向和前一時刻的梯度方向不一致,那么梯度則會變?nèi)鮗10]。自適應(yīng)梯度算法AdaGrad,當(dāng)開始訓(xùn)練的時候?qū)W習(xí)率應(yīng)當(dāng)設(shè)置為比較大,因為此時離最優(yōu)點比較遠,當(dāng)訓(xùn)練快要結(jié)束的時候,應(yīng)該降低學(xué)習(xí)率,因為此刻離最優(yōu)點比較近。自適應(yīng)算法能夠根據(jù)自身狀態(tài)自動調(diào)節(jié)學(xué)習(xí)率。因為分母的大小主要由前t時刻的梯度的平方和決定,而梯度的平方和變化過快可能導(dǎo)致訓(xùn)練提前結(jié)束[10]。(1.1)gt是t時刻的模型的梯度。tgt2均方根傳播RMSProp,RMSProp是在AdaGrad的基礎(chǔ)上添加了一個衰減系數(shù)。這個衰減系數(shù)可以用來來控制獲取的歷史信息的多少,也可以認為是一種指數(shù)加權(quán)的方式,目的是消除梯度下降時候的梯度擺動。Adam優(yōu)化器可以看作是RMSProp和Momentum的結(jié)合,Adam優(yōu)化器考慮到了梯度的一階矩估計、二階矩估計,對兩者進行了綜合考慮后獲得的更新步長。其特點有收斂快,易調(diào)參,內(nèi)存需求少,可以自動調(diào)節(jié)學(xué)習(xí)率,不受梯度影響取值等。綜合條件比較下來Adam優(yōu)化器算是性能不錯的優(yōu)化器。所以本論文的優(yōu)化器選擇Adam1.4.2語義分割的評價指標因為標簽的取值范圍是[0,33]不是獨熱編碼所以使用的損失函數(shù)是SparseCategoricalCrossentropy。語義分割的一個重要評價標準交并比IoU。(1.2)因為預(yù)測輸出的結(jié)果是一個長度為34張量,但是MeanIoU方法需要的是一個數(shù)值,所以需要重寫MeanIoU方法,取預(yù)測輸出張量的最大值作為預(yù)測輸入結(jié)果,然后和真實值做比較獲取評測標準IoU。利用metrics()函數(shù)獲取語義分割的loss函數(shù)和acc函數(shù),用來獲取語義分割的損失值和準確率指標。因
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 讀書活動教學(xué)設(shè)計與實施方案
- 新高考語文非連續(xù)文本答題技巧
- 面向初級管理者的團隊溝通技巧培訓(xùn)教材
- 創(chuàng)新教育課堂觀課評價報告模板
- 醫(yī)院信息系統(tǒng)使用手冊及注意事項
- 污水處理廠設(shè)備安裝調(diào)試方案
- 跨國公司案例分析與策略制定
- 幼兒園線上教學(xué)活動設(shè)計方案
- 初中化學(xué)期末復(fù)習(xí)資料
- 中藥材種植基地建設(shè)方案
- 新聞記者職業(yè)資格《新聞采編實務(wù)》考試題庫(含答案)
- 常用公司員工請假條模板
- 河北美術(shù)版小學(xué)六年級上冊書法練習(xí)指導(dǎo)教案
- 高中化學(xué)-金屬鈉的性質(zhì)及應(yīng)用教學(xué)設(shè)計學(xué)情分析教材分析課后反思
- 工程量清單及招標控制價編制方案
- 04S519小型排水構(gòu)筑物(含隔油池)圖集
- 工程施工人員安全教育培訓(xùn)【共55張課件】
- 雙堿法脫硫操作專項規(guī)程
- 人教版七年級上學(xué)期英語第一次月考試卷(含答案解析)
- 仿生機器魚行業(yè)規(guī)模分析
- 胸悶病人的護理查房
評論
0/150
提交評論