Image segmentation
(컴퓨터 시스템에서 메모리 영역을 분할하는 방법은 Memory segmentation 항목 참조)
컴퓨터 시각에서 분할은 디지털 영상을 여러 개의 픽셀 집합으로 나누는 과정을 말한다. 분할의 목적은 영상의 표현을 좀 더 의미있고 해석하기 쉬운 것으로 단순화하거나 변환하는 것이다. 영상 분할은 특히 영상에서 물체와 경계(선, 곡선)를 찾는데 사용된다.
영상 분할의 결과는 전체 영상을 집합적으로 포함하는 지역의 집합이거나, 영상으로부터 추출된 윤곽의 집합이다 (윤곽선 검출 참조). 지역에서 각각의 픽셀은 색, 밝기, 재질과 같은 어떤 특징이나 계산된 속성의 관점에서 유사하다. 인접한 지역은 동일한 특징의 관점에서 현저하게 다르다.
응용 분야
영상 분할의 실용적인 응용은 다음과 같다:
- 의료 영상
- 종양과 질병의 검출
- 혈관의 부피 측정
- 컴퓨터의 도움을 받은 수술
- 진단
- 치료 계획
- 해부학적 구조의 연구
일부 범용의 알고리즘과 기술이 영상 분할을 위해 개발되었다. 영상 분할 문제에서 일반적인 해법이 없기 때문에 이러한 기술들은 문제 영역의 영상 분할 문제를 효과적으로 해결하기 위해 영역의 지식과 종종 결합되어야 한다.
이미지 프로세싱
알고리즘들:
- Watershed (워터쉐드) - 영상 분할
- GrabCut (그랩컷) (Graph cuts) - 전경추출
- Background subtraction (배경 제거)/Foreground detection (전경 감지)
- 평균 이동 필터
- 거리 변환 (Distatnce Transformation)
- Labeling
- Flood fill (플러드 필) - 인접영역 색 채우기 (그림판의 색 채우기 같은거)
OpenCV 영상처리로 자주 사용하는 몇 가지 테크닉
K-Means Algorithm
cv2.kmeans를 사용한 경계영역 찾기
Contour Detection
cv2.findContours를 사용한 경계영역 찾기
만약 경계(Edge)가 흐릿할 경우 경계(Edge)를 강화하기 위한 보강 알고리즘을 사용한다 (Image Edge Enhancement)
- Laplace Operator (라플라스 연산자)
Morphological Transformations
경계를 찾기 힐들 경우 모폴로지연산을 사용하여 강제로 엣지를 만들기도 한다.
Thresholding
cv2.threshold를 사용한 마스크 처리
Color Detection
cv2.inRange를 사용한 색상 범위 처리
Deep learning
- Fully Convolutional Networks for Semantic Segmentation (FCN)
- ICNet for Real-Time Semantic Segmentation on High-Resolution Images (ICNet)
- Shape Based Detection and Top-Down Delineation Using Image Segments
- MaskLab
- Learning Features by Watching Objects Move
- OCRNet
- You Only Look At CoefficienTs (YOLACT)
- Detectron
- Detectron2
- mmdetection (mmdet)
- Segment Anything (facebook)
Video segmentation
Challenge
See also
- U-Net (unet, U-net)
- Deep learning
- CNN
- Object Recognition
- Dark Model Adaptation
- Opencv
- Image processing
Favorite site
- Wikipedia (en) Image segmentation
- A 2017 Guide to Semantic Segmentation with Deep Learning
- 이미지의 각 픽셀을 분류하는 Semantic Segmentation
- Semantic Image Segmentation with DeepLab in TensorFlow
- How to Automate Surveillance Easily with Deep Learning
- How to do Semantic Segmentation using Deep learning
- Deep learning based Object Detection and Instance Segmentation using Mask R-CNN in OpenCV (Python / C++)
- Youtube - Object detection to Instance segmentation: Learn to apply several algorithms...- Sujatha Subramanian
- [추천] bskyvision :: semantic segmentation의 목적과 대표 알고리즘 FCN의 원리
- Most Reliable Image Semantic Segmentation Service - 가장 보편적인 이미지 시맨틱 분할 서비스 - 영상 샘플 확인 가능