๐Paper Review
[paper review]U-Net: Convolutional Networks for Biomedical Image Segmentation
date
Sep 7, 2022
slug
paper-review-u-net
author
status
Public
tags
DeepLearning
summary
type
Post
thumbnail
category
๐Paper Review
updatedAt
Jul 9, 2023 12:18 PM
1. introduction2. Architecture of U-net : contraction path + expansive path3. Training : objective function4. experiments
1. introduction
- image classification
- AlexNet, VGG16๊ณผ ๊ฐ์ ๋คํธ์ํฌ๋ image classification์ ์ฌ์ฉ๋๋ ๋คํธ์ํฌ์ด๋ค. ์ผ๋ฐ์ ์ธ CNN ๋ถ๋ฅ ๋ชจ๋ธ์ ๋ณดํต single classification task์ ์ฌ์ฉ๋๋ค.
- ํ์ง๋ง, biomedical image processing ๋ถ์ผ์์๋ ํ ์ด๋ฏธ์ง ๋ด์ ๋ชจ๋ pixel์ classification์ ํ๋ semantic segmentation task๊ฐ ์ค์ํ๊ฒ ์ฌ๊ฒจ์ง๋ค.
- Semantic Segmentation
๊ทธ๋ฆผ 1 : sematic segmentation ๋ก ๋ถ๋ฅํ๋ค.
์) ์์ดํฐ์ ์ธ๋ฌผ์ฌ์ง ๋ชจ๋ ๋ฑ์์ ํ์ํ ์์
, โ์ธ๋ฌผ ์ฌ์ง ๋ชจ๋๋ ์ฌ๋์ ๊ฐ์กฐํจ. ์ฌ๊ธฐ์ semantic segmentation์ ํ์ตํ ๋ชจ๋ธ๋ก ์นด๋ฉ๋ผ์ ๋ด๊ธด ์ด๋ฏธ์ง์์ ์ฌ๋์ ํ์
ํ๊ณ ๋๋จธ์ง ๊ฐ์ฒด๋ค์ ํ๋ฆฟํ๊ฒ ์ฒ๋ฆฌํจ.
ย
๊ทธ๋ฆผ 2 : ์ฌ๋ฌผ ์ธ์ํ๋ ๋ฐฉ๋ฒ์๋ ๋ค์ํ ์ ํ์ด ์กด์ฌํ๋ค. segmentation์ ๊ฐ ํฝ์
๋ง๋ค ํด๋์ค(class)๋ฅผ ํ ๋นํ๋ ์์
์ ์๋ฏธํ๋ค.
- semantic segmentation ์ ์ : ์ด๋ฏธ์ง ๋ด์ ์๋ ๋ฌผ์ฒด(object)๋ค์ ์๋ฏธ ์๋(semantic) ๋จ์๋ก ๋ถํ (segmentation)ํ๋ ์์ ์ ์๋ฏธํ๋ค.
- ์ผ๋ฐ์ ์ธ ๋ถ๋ฅ(classification)์์๋ ๋จ์ผ ์ด๋ฏธ์ง๋ฅผ ํ๋์ ํด๋์ค๋ก ๋ถ๋ฅํ๋ค.
- ๋ถํ (segmentation)์์๋ ๊ฐ ํฝ์ ๋ง๋ค ํ๋์ ํด๋์ค
ย
ํด๋น ๋
ผ๋ฌธ์ ์ด๋ฌํ semantic segmentation์ ์๋ฃ์ฉ biomedical image ๋ถ์์ ์ฌ์ฉํ ๋ชจ๋ธ u-net์ ์๊ฐํ ๋
ผ๋ฌธ์ด๋ค. ์ข์ธก ๊ทธ๋ฆผ์ผ๋ก ๋ถํฐ ์ธํฌ๋ฅผ ๊ตฌ๋ถํ์ฌ ์ฐ์ธก๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ๋ํ๋ด๋ ๊ฒ์ด u-net์ด๋ค.
ย
2. Architecture of U-net : contraction path + expansive path
u-net์ ๋คํธ์ํฌ ๋ชจ์์ด u์ ํํ๋ฅผ ๊ฐ์ง๊ณ ์์ด์ u-net์ผ๋ก ์ด๋ฆ์ด ๋ถ์ฌ์ก๋ค.
๋นจ๊ฐ์์ผ๋ก ๋ฐ์ค์น ๋ถ๋ถ์ด contracting path ๋ถ๋ถ, ์ฐ์ธก ํ๋์ ๋ฐ์ค์น ๋ถ๋ถ์ด expansive path ์ด๋ค.
- contraction path
- 2*2 max pooling ์ฌ์ฉ : ํด์๋(๋๋น์ ๋์ด) 2๋ฐฐ ๊ฐ์
- conv ์ฐ์ฐ์ผ๋ก ์ฑ๋ ํฌ๊ธฐ๋ 2๋ฐฐ ์ฆ๊ฐ
- ์ผ๋ฐ์ ์ธ CNN๋ชจ๋ธ์ฒ๋ผ ๋ค์์ ํ์์ ๋ฐ๋ณต
- conv ์ฐ์ฐ๋ค โ ReLU โ max pooling
์ผ๋ฐ์ ์ธ convolution ์ฐ์ฐ์ด ์งํ๋๋ค. ๊ฐ contracting path์ step๋ง๋ค 3*3 convolution์ ๋ ์ฐจ๋ก์ฉ ๋ฐ๋ณตํ๋ค. ์ฐ์ฐ๋ง๋ค ํจ๋ฉ์ด ์์ผ๋ฏ๋ก feature map์ด ์กฐ๊ธ์ฉ ์ค์ด๋ ๋ค. (convolution ์ฐ์ฐ์ ํ์ฑํจ์์ธ ReLU๋ ํฌํจํจ)
๊ฐ contracting path๋ง๋ค 2*2 max-pooling ์ฐ์ฐ์ ์ํํด์ค์ผ๋ก์จ feature map ํฌ๊ธฐ๊ฐ ์ ๋ฐ์ผ๋ก ์ค์ด๋ ๋ค.
๊ฐ step์์ down sampling์ ํด์ฃผ๋ฉด์ ์ฑ๋์ ์๊ฐ 2๋ฐฐ์ฉ ๋์ด๋๋ค.
์ ๋ฆฌ)
ย
- expanding path
- 2*2 convolution(up-convolution) ์ฌ์ฉ : ํด์๋(๋๋น์ ๋์ด) 2๋ฐฐ ์ฆ๊ฐ
- conv ์ฐ์ฐ์ผ๋ก ์ฑ๋ ํฌ๊ธฐ๋ 2๋ฐฐ ๊ฐ์
- ์์ถ ๊ฒฝ๋ก(contracting path)์์ ์ฒ๋ฆฌ๋ feature์ฑ๋ ๋ ๋ฒจ์์ ์ฐ๊ฒฐ(concatenation map)์ ์๋ผ๋ด์ด(cropping) ๊ฐ์ ธ์ ์ํ
๊ฐ expanding step๋ง๋ค 2*2 up convolution์ ์ํํ๋ค. ๊ทธ๋ ๊ฒ ํด์ค์ผ๋ก์จ feature map์ ํฌ๊ธฐ๊ฐ 2๋ฐฐ์ฉ ๋์ด๋๊ฒ ๋๋ค.
expanding step๋ง๋ค 3*3 convolution์ ๋ ์ฐจ๋ก์ฉ ๋ฐ๋ณตํ๋ค. (ํ์ฑํจ์๋ ReLU)
์ด ๊ตฌ๊ฐ์์๋ ํจ๋ฉ์ด ์์ผ๋ฏ๋ก feature map์ด ์กฐ๊ธ์ฉ ์ค์ด๋ค๊ฒ ๋๋ค. ๊ทธ๋ฆฌ๊ณ up-sampling ๋ง๋ค ์ฑ๋์ ์๊ฐ ์ ๋ฐ์ฉ ์ค์ด๋ค๊ฒ ๋๋ค.
expansive path์์ ๋งค์นญ๋๋ contracting path ๋ถ๋ถ์ ์ด๋ฏธ์ง๋ฅผ ์ฐ์ฐํ๋ค. ๊ทธ๋ฆผ์์๋ ํ์ ํ์ดํ๋ฅผ ๋ํ๋ด๊ณ ์ด๊ฒ์ concatenationg์ด๋ผ๊ณ ํ๋ค.
์ด๋ฌํ ์ฐ์ฐ์ ํ๋ ์ด์ ๋ semantic segmantation์์๋ ์์น์ ๋ณด๊ฐ ์ค์ํ๊ณ , ๊ทธ ์์น์ ๋ณด์ ์์ค์ ๋ฐฉ์งํ๊ธฐ ์ํด ์ด์ ์ฐ์ฐํ๋ ๊ฐ์ ๋ํด์ค๋ค. ์ด๊ฒ์ skip connection์ด๋ผ๊ณ ๋ ํ๋ค.
์ ๋ฆฌ)
ย
3. Training : objective function
์ธํฌ(cell)๋ฅผ ๋ช
ํํ ๊ตฌ๋ถํ๊ธฐ ์ํด ์์ ๋ถ๋ฆฌ ๊ฒฝ๊ณ๋ฅผ ํ์ตํ๋ค.
์ด๊ธฐ weight ๊ฐ = 10
: ํฝ์
x์ ์์น์์ ๊ฐ์ฅ ๊ฐ๊น์ด ๊ฒฝ๊ณ์ ๊ฑฐ๋ฆฌ
: ํฝ์
x์ ์์น์์ ๋ ๋ฒ์งธ๋ก ๊ฐ๊น์ด ๊ฒฝ๊ณ์ ๊ฑฐ๋ฆฌ
: ํ์คํธ์ฐจ 5 pixel
ํด๋น ์์์ ์ฆ, ํ์ต ๋ฐ์ดํฐ์ x ํฝ์
์ด๋ x์ ์์น์ ํด๋นํ๋ ํด๋์ค์ ๋น๋์์ ์ํด ๊ฒฐ์ ๋๋ ์์ด๋ค.
๋ง์ฝ, background๋ผ๋ฉด ์๋์ ์ผ๋ก ํฝ์
์๊ฐ ๋ง์ ํ
๋ ํด๋น ๊ฐ์ ๋งค์ฐ ์์ ๊ฒ์ด๋ค. ๋ค์ ๋ณด์ด๋ ์ ํฝ์
x์ ์์น์์ ๊ฐ์ฅ ๊ฐ๊น์ด ๊ฒฝ๊ณ์ ๊ฑฐ๋ฆฌ๋ฅผ ๋ํ๋ด๋ฉฐ, ๋ค์ ๋ ํฝ์
x์ ์์น์์ ๋ ๋ฒ์งธ๋ก ๊ฐ๊น์ด ๊ฒฝ๊ณ์์ ๊ฑฐ๋ฆฌ๋ฅผ ๋ํ๋ธ๋ค.
- energy function = cross entropy
u-net์ segmentation์ ์ํ ๋คํธ์ํฌ์ด๋ฏ๋ก,ํฝ์
๋จ์๋ก softmax๋ฅผ ์ฌ์ฉํ๋ค.
ํ๋์ : weight map -ํฝ์
๋ณ๋ก ๊ฐ์ค์น๋ฅผ ๋ถ๊ณผํ๋ค.
๋
ธ๋์ : softMax์์ ๋์จ ์ ๋ต ๋ ์ด๋ธ
์ฐ๋์ : feature map์ ์๋ ๊ฐ ํฝ์
softmax ํจ์๋ถํฐ ๋ณด๋ฉด K๋ ํด๋์ค ์ต์ข
์ ์ผ๋ก cross entropy์ธ energy function์ ๊ตฌํ ์ ์๋ค.
ย
๋ฐ๋ผ์, energy function์ ๋ณด์ด์๋ ๋
ธ๋์์์ feature map์ ํฝ์
๋จ์๋ก softmax๋ฅผ ์ํํ๋ค. ์ด๋ก์ ๋ถ๋ถ์ ๋ณด๋ฉด x๋ feature map์ ์๋ ๊ฐ ํฝ์
์ ์๋ฏธํ๋ค. ๊ทธ๋ฆฌ๊ณ w(X)๏ปฟ๋ ํฝ์
๋ณ๋ก ๊ฐ์ค์น๋ฅผ ๋ถ๊ณผํ๋ ์ญํ ๋ก ์์์ ๊ณ์ฐํ ๊ฐ์ ๋์
ํ๋ค.
- data augmentation
์๋ฃ ๋ฐ์ดํฐ์์๋ ํ์ต ๋ฐ์ดํฐ์ ์๊ฐ ์ ์ ๊ฒฝ์ฐ๊ฐ ๋ง์ผ๋ฏ๋ก, data augmentation์ด ํ์ํ๋ค.
๋ณธ ๋
ผ๋ฌธ์์๋ ์ผ๋ฐ์ ์ธ data augmention ๊ธฐ์ ์ ์ฌ์ฉํ๋ค. ๋ค์ํ ๊ตฌ์ฑ์ ๋ฐ์ดํฐ ์
์ผ๋ก ๋ง๋ค์ด์ฃผ๋ ๊ฒฌ๊ณ ํ ์ฑ์ง์ ๊ฐ์ง๋ ๋ชจ๋ธ๋ก ํ์ต๋๋ค.
ํ๋ฏธ๊ฒฝ ๋ฑ์ผ๋ก ์ดฌ์ํ๋ ์ฌ์ง๋ค์ ์์์ด ๋ค์ํ์ง ์๊ณ ํ์๋น๊น๋ก ์ด๋ฃจ์ด์ ธ ์๊ณ ๊ฐ์ฒด ๊ฐ ๊ตฌ๋ณ๋ ์ ๋ช
ํ์ง ์๊ธฐ ๋๋ฌธ์ data augmentation์ ์ด์ฉํด ํ๋ถํ ๋ฐ์ดํฐ์
์ ๋ง๋๋ ๊ฒ์ด ๋์ฑ ํ์ํ๋ค.
์ธํฌ์์๋ deformation ์ฆ, ๊ธฐํํ์์ด ํํ๊ธฐ ๋๋ฌธ์ ์ด๋ฌํ random elastic deformation์ ์ฌ์ฉํด ๋ ์ข์ ์ฑ๋ฅ์ ๋ด์๋ค.
ย
- overlap-tile strategy
ย
ํ์ง๋ง, ์์ ๋งํ๋ ํ์ต๊ณผ์ ์์์ ๋ฌธ์ ๊ฐ ์๋ค. input image์ ํฌ๊ธฐ์ ouput image์ ํฌ๊ธฐ๊ฐ ๋ค๋ฅด๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ์ค์ segmentation๋๋ ๋ถ๋ถ์ input image์ ์ผ๋ถ๋ง ๋๋ค๋ ๊ฒ์ด๋ค.
์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด input data๋ฅผ ๋ฃ์ ๋ ๋
ผ๋ฌธ์์ overlap-tile ๊ธฐ๋ฒ์ ์ฌ์ฉํ์๋ค.
์ ๊ทธ๋ฆผ์์ bule tile๊ณผ yellow tile์์ overlap์ ํ์ธํ ์ ์๊ณ , blue area์ ๊ธฐ๋ฐํ์ฌ yellow area์ segmentation์ ์์ธกํ์์ ํ์ธํ ์ ์๋ค.
๊ทธ๋ฆฌ๊ณ missing data๋ mirroring์ ํตํด ๋ณด๊ฐํ์๋ค. (ํ๋ ์ฌ๊ฐํ ์์ ๋น ๋ถ๋ถ์ ์ธ์ ํ ๋ถ๋ถ์ ๊ฑฐ์ธ์ฒ๋ผ ๋ณต์ฌํด ์ฑ์ ๋ค.)
์ด ๋ถ๋ถ์ mirroring ๊ธฐ๋ฒ์ ์ด์ฉํด missing context๋ถ๋ถ์ ์ฑ์์ฃผ์๋ค.
- dataset
ํ์ต๋ฐ์ดํฐ๋ ์์ ๊ทธ๋ฆผ์ฒ๋ผ ์ข์ธก์ ๋ณด์ด๋ ๊ฒ์ด input ์ด๋ฏธ์ง, ์ฐ์ธก ์ด๋ฏธ์ง๊ฐ ๋ผ๋ฒจ์ด๋ค.
30๊ฐ์ ์ด๋ฏธ์ง ์ค 24๊ฐ๋ ํ์ต๋ฐ์ดํฐ 3๊ฐ๋ ๊ฒ์ฆ๋ฐ์ดํฐ ๋๋จธ์ง 3๊ฐ๋ ํ
์คํธ๋ฐ์ดํฐ๋ก ์ฌ์ฉํ์๋ค. input data์ size๋ 512*512์ด๋ค.
ํด๋น ๋ฐ์ดํฐ ์
์ ํ์ฉํ์ฌ ํ๋ฏธ๊ฒฝ์ผ๋ก ์ฐ์ ์ธํฌ๋ฅผ segmentationํ์๋ค.
ย
4. experiments
3๊ฐ์ง ๊ธฐ์ค(warping error, rand error, pixel error)์์ u-net์ด rank 1์ ์ฐจ์งํ ๊ฒ์ ํ์ธํ ์ ์์.
u-net์ ๋ค์ํ biomedical segmentation applications์์ ์์ฃผ ์ข์ ์ฑ๋ฅ์ ๋ณด์ฌ์คฌ๋ค. ์ ์๋ ์๊น Data Augmentation ์์ ์๊ฐํด ๋๋ ธ๋ elastic deformation์ด Data augmentation ๋๋ถ์ ์ ์ ์ฌ์ด์ฆ์ ๋ฐ์ดํฐ์
๋ง ์๊ตฌํ๊ณ , ๋
ผ๋ฌธ์์ ์ฝ 10์๊ฐ ์ ๋ ํ์ต ์๊ฐ์ด ์์๋์๋ค.
ย
๋ง์ง๋ง์ผ๋ก u-net๊ตฌ์กฐ๊ฐ ๋ค์ํ task์ ์ฝ๊ฒ ์์ฉ๋ ์ ์์ ๊ฑฐ๋ผ ํ์ ํ๋ค๊ณ ๋งํ๋ฉฐ ๋
ผ๋ฌธ์ ๋๋๋ค.