brunch

You can make anything
by writing

C.S.Lewis

by 에이아이스쿨 Jan 14. 2023

Semantic Segmentation과 U-Net

Semantic Image Segmentation 문제영역과 U-Net

컴퓨터 비전의 대표 문제영역 중에 하나인 Semantic Image Segmentation과 Semantic Image Segmentation을 위한 대표적인 딥러닝 모델인 U-Net 모델에 대해 살펴봅시다.


Semantic Image Segmentation 문제영역 소개

Semantic Image Segmentation은 컴퓨터 비전의 주요 문제영역 중에 하나로 이미지를 여러 개의 구역으로 나누어 각 구역을 픽셀별로 다른 클래스로 분류하는 기술입니다. 

이미지를 분할하면 각 구역에는 특정 클래스에 해당하는 오브젝트가 포함될 수 있습니다. 예를 들어, 이미지에 공원, 건물, 길, 나무 등이 있을 경우 각각을 픽셀별로 구분하여 분류할 수 있습니다. Semantic Image Segmentation은 컴퓨터 비전 응용 프로그램에서 중요한 역할을 하며, 자율 주행 자동차, 로봇, 의료 이미지 분석 등에 다양한 분야에 사용됩니다.


Semantic Image Segmentation의 예시


Semantic Image Segmentation의 다양한 용용 분야

Semantic Image Segmentation은 다음과 같이 다양한 분야에 응용될 수 있습니다.


자율 주행 자동차 : 자율 주행 자동차는 자동차에 달린 카메라 시스템이 인식한 이미지를 기반으로 주변 환경을 인식하고 이를 기반으로 주행을 수행합니다. Semantic Image Segmentation을 사용하면 주변 환경에 존재하는 물체를 구분하여 자동차를 안전하게 운전할 수 있습니다.


자율주행차에 응용된 Semantic Image Segmentation 기술 [1]


의료 영상 분석 : 의료 이미지를 분석하는 데에도 Semantic Image Segmentation 기술을 사용합니다. 예를 들어, CT 이미지나 MRI 이미지를 분석하여 악성 종양을 인식하는 데 사용될 수 있습니다. 아래 그림은 MRI로 촬영한 뇌 이미지에서 종양이 있는 부분(Brain Tumor)을 Semantic Image Segmentation 기술로 자동으로 찾아내는 예시입니다.

Semantic Image Segmentation을 이용한 Brain Tumor Segmentation


위성 영상 분석 : 위성 영상은 인공위성을 이용하여 촬영한 이미지로, 이를 분석하는데 Semantic Image Segmentation 기술을 사용하면 이미지 내에 건물, 길, 공원, 바다 등을 구분하여 분석할 수 있습니다. 이를 이용해서 군사시설 분석이나 주차장 내에 차량의 대수를 파악해서 매장의 활성도 조사 또는 지형을 분석하여 재난 대비에 활용할 수 있습니다.

Semantic Image Segmentation을 이용한 위성 영상 분석 [2]


불량 검출(Defection Detection) : 불량 검출(Defect Detection)은 생산라인에서 생산된 제품 중에서 불량 제품을 검출하는 것을 말합니다. 이를 위해 생산라인에서 촬영된 제품 이미지를 Semantic Image Segmentation 기술을 이용하여 분석합니다. 이미지를 분석하면서 각 제품의 특성을 분석하고, 이를 기반으로 불량 제품을 검출할 수 있습니다. 이렇게 검출된 불량 제품은 바로 교체나 수리를 할 수 있어 생산라인의 생산 효율을 높일 수 있습니다.

Semantic Image Segmentation을 이용한 불량 검출(Defect Detection) [3]


U-Net 모델

U-Net 모델은 U-net: Convolutional networks for biomedical image segmentation라는 논문으로 2015년에 제안된 Semantic Image Segmentation을 위한 대표적인 딥러닝 모델입니다. U-Net은 이미지를 인코딩-디코딩하는 구조를 가지며 인코딩 단계에서는 이미지를 축소시키며 디코딩 단계에서는 이미지를 확대시킵니다. 이러한 구조를 통해 입력 이미지에서 특징을 추출하고, 디코딩 단계에서는 이 특징을 이용해 원본 이미지의 Semantic Image Segmentation 결과를 출력합니다. 따라서 뉴럴 네트워크가 U자 모양의 구조를 취하며 이에 기반하여 U-Net이라고 이름 붙여졌습니다.

U-Net Architectre [4]


U-NET 모델은 세포 이미지 분류를 위한 ISBI-2012 (International Symposium on Biomedical Imaging) 의료 영상 분석 데이터셋에 대해 State-of-the-art(SOTA) 성능을 보여주었습니다.

ISBI-2012 데이터셋 예시

U-Net 모델을 활용할 경우, 의료 영상 분석 및 다양한 Semantic Image Segmentation 문제를 해결할 수 있습니다.


[1] https://developer.nvidia.com/blog/speeding-up-semantic-segmentation-matlab-nvidia-ngc/

[2] https://medium.com/gsi-technology/a-beginners-guide-to-segmentation-in-satellite-images-9c00d2028d52

[3] https://github.com/Charmve/Surface-Defect-Detection

[4] Ronneberger, Olaf, Philipp Fischer, and Thomas Brox. "U-net: Convolutional networks for biomedical image segmentation." International Conference on Medical image computing and computer-assisted intervention. Springer, Cham, 2015.



작가의 이전글 딥러닝 논문구현 참고 - Papers With Code
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari