Digital image processing
디지털 화상 처리 또는 디지털 영상 처리는 컴퓨터 알고리즘을 사용하여 디지털 이미지에 대한 화상 처리를 수행하는 것이다. 디지털 신호 처리의 하위분야로, 디지털 영상 처리는 아날로그 영상 처리에 비해 많은 장점이 있다. 입력 자료에 더욱 광범위한 알고리즘을 적용 가능하게 하고, 처리 도중 발생하는 소음과 신호 왜곡과 같은 문제들을 방지할 수 있다.
기초 수학
통계학
- Robust Parameter Estimation - 데이터 중 Outlier 가 있어도 처리 가능하다면 이를 Robust 하다고 한다.
- Random sample consensus (RANSAC) - 표본중 이상점 (Outlier)이 끼었을 때 최소자승법 (least square method)모델이 틀어지는 현상을 막기 위한 방법.
- 중앙값 절대 편차 (Median absolute deviation)
Geometry
- Region of interest (관심영역) (ROI)
- Bounding box (Minimum bounding box)
영상 보정 (Image Calibration)
- 떨림 보정 (Degrees of freedom)
- 영상 흔들림 방지 (Image stabilization) - (IS; 이미지 안정화)
- 라벨 풀기 (Unwrap labels) - 예컨데, 와인 병의 라벨 문구를 평면으로 펼치는 방법
- 카메라 보정 (Camera Calibration)
영상 변환 (Image Transformation)
Distortion
Distortion (optics) - "상의 일그러짐"에 대한 내용
기하학적 변환
- 확대/축소/회전
- 호모그래피 (Homography) - 카메라에서 2D 이미지 추출과 같이 영상의 기하학적 변환 및 투영
- 아핀 공간 (Affine space)
- 원근 변환 (Perspective Transform)
- cv2.warpPolar - 이미지를 극좌표 또는 반대수 좌표 공간으로 다시 매핑합니다.
- cv2.createThinPlateSplineShapeTransformer - 원형 반구 형태 (반구 형태의 CCTV를 상상하면 좋을듯) 12
Color grading (컬러 그레이딩; 색상 보정)
명도/대비 등의 색 보정과 색 사상, 색조화, 양자화 혹은 다른 색 공간으로의 색 변환
- 가우시안 블러 (Gaussian blur) - 이미지 블러링 (뭉개기)
- 가이드 필터 (Guided filter) - 가장자리를 보존하는 스무딩 라이트 필터입니다.
Image Filtering
- Linear Filter
- Box blur (Box Filter)
- cv2.boxFilter
- cv2.filter2D
- cv2.sepFilter2D
디지털 합성/광학 합성/영상 합성
둘 이상의 영상을 결합하는 것. 필름에서 쓰이는 매트 바인드 등
모자이크 (Pixelized) - 검열
- Bayer filter (베이어 필터) - (내가 모자이크 (Mosaic) 필터라고 불렀다)
- 모자이크 벗기기 (Demosaicing)
노이즈 감쇄 (Noise reduction) (Denoising)
- Dehazing (Single Image Dehazing; 헤이즈 (hazy)라 불리는 흐릿함, 연기, 안개 등을 제거하는 방법)
- OpenCV: Periodic Noise Removing Filter - 주기적 노이즈 제거 필터
내삽, Bayer filter (베이어 필터)를 이용한 Raw 이미지 형식 복구
Feature Detection and Description (특징 추출 및 설명자)
- Features from accelerated segment test (FAST)
- Speeded up robust features (SURF)
- Harris Corner Detector (해리스 코너 검출기)
- Oriented FAST and rotated BRIEF (ORB)
- Descriptor Matchers (설명자 매칭) (Feature matching)
- Fast Library for Approximate Nearest Neighbors (FLANN)
- Brute-Force Matching
- Accelerated-KAZE Features (AKAZE)
Image registration (영상 정합)
둘 이상의 영상을 맞추는 것
- Jaccard index (자카드 인덱스) (Jaccard distance; IoU) - 영역 기반의 유사도 계산
- Template matching (템플릿 매칭) - 템플릿이 되는 이미지와 유사한 이미지를 검색한다.
- Image stitching - Panorama Image (파노라마 이미지)
형태학 필터링 (에지와 코너 감지)
- Morphological Transformations (모폴로지 변환) - (Mathematical morphology) - 영상 침식과 팽창
- Convex hull (컨벡스 헐) - 최외곽선 검출
- Hough transform (허프 변환) - 영상에 있는 점들이 이루는 직선들 중 가장 많이 겹치는 부분을 추출. 주로 선(Line) 이나 원(Circle) 따위를 감지할 때 사용.
- Canny edge detector (캐니 에지 검출기) - 외곽선 추출
- 소벨 (Sobel operator)
- 샤르 (Scharr)
- 라플라시안 (Laplacian)
- Contours (외곽선) - 이미지 경계선 추출.
- Connected Components (연결 성분) - 영상상의 유사 성분을 찾고는다. 객체 추출시 사용할 수 있다.
객체 인식 (Object Recognition)
객체 탐지 (Object detection) 와 동일.
- Cascading classifiers (케스케이드 분류기) - 필터를 사용하여 객체를 인식.
영상 분할 (Image segmentation)
- Watershed (워터쉐드) - 영상 분할
- cv2.watershed
- cv2.grabCut
- 배경 차분
- cv2.accumulateWeighted - 이동 평균 계산을 위한 가중치 누적 함수
- cv2.absdiff - 정적 배경 차분
- cv2.pyrMeanShiftFiltering
- cv2.distanceTransform(src, distanceType, maskSize)
- cv2.floodFill
- 수학에서 그래디언트 구조 텐서(2차 모멘트 행렬, 2차 모멘트 텐서, 관성 텐서 등이라고도 함)는 함수의 그래디언트에서 파생된 행렬입니다.
- 이는 특정 지점 근처에서 그라데이션의 주요 방향과 해당 방향이 일관성 있는 정도(일관성)를 요약합니다.
- 그래디언트 구조 텐서는 2D/3D 이미지 분할, 동작 감지, 적응 필터링, 로컬 이미지 특징 감지 등을 위한 이미지 처리 및 컴퓨터 비전에 널리 사용됩니다.
Wide dynamic range (WDR)
다수의 영상을 합쳐 HDR (High Dynamic Range) 영상 만들기
기하학적 해싱을 이용한 2차원 물체 인식
중심추적 및 상관추적
- 움직임 추정 (Motion estimation) (Visual tracking; Video Segmentation)
- Blob tracking with (Blob detection)
- Kalman filter (칼만 필터) - 객체의 이전 상태를 사용하여 다음 상태를 예측 (e.g. 마우스 포인터 추적)
- OpenCV APIs
Fragmentation grouping (파편화 해소)
여러 조각난 객체 따위를 그룹핑하여 하나의 객체로 묶어준다.
- Non-Maximum Suppression (비-최대 억제) - 중첩된 IoU들 중 가장 점수가 높은 IoU만 남기고 제거하는 방법. yolo에서 사용됨
빛 (Light) 의 특성.
- Glare-free/Anti-Glare/Anti-Reflection - 영상 처리에서의 반사광/눈부심 제거
3D Reconstruction
3차원 주석 데이터에 비의존적으로 3차원 모델을 재구성 하는 방법들
Machine Learning OpenCV
- ANN_MLP
- DTrees
- Boost
- RTrees
- EM - 기댓값 최대화 (Expectation Maximizaion)
- KNearest
- LogisticRegression
- NormalBayesClassifier
- SVM
- SVMSDG - 통계적 그래디언트 하향 (Stochastic Gradient Descent) SVM.
응용 분야
- Computer vision (컴퓨터 비전) (Vision Inspection System; Vision Inspection; Machine vision)
- 그림 순서 정렬 (sorting)
- 증강 현실
- 안면 인식 시스템 (Facial recognition system)
- 특징 검출
- 차선 이탈 검출
- 비광학적 영상
- 의료 영상 처리
- 현미경 영상 처리
- 형태 영상 처리
- 원격 탐사
- 화재감지 (Fire Detection)
- 영상 복원 (Image restoration)
- 콘크리트 균열 탐지 (Concrete Cracks Detection)
- 보행자 검출 (Pedestrian detection) (Human detection)
- 교통 신호(표지판) 인식 (Traffic Signs Recognition)
- 지문 인식 (Fingerprint Recognition) (Fingerprint)
- 차량 번호판 인식 (License Plate Recognition)
- Car Counting (차량 카운팅) (Vehicle Counting)
- Lane Detection (차선 감지)
Libraries
Terms
- Glitch (글리치)
- 시스템의 일시적인 오류를 일컫는 말이다. 간혹 TV화면이 수신되지 않아 화면이 뭉게지는 현상을 상상하면 된다.
Documentation
- 일반논문-10-15-2-10: 가중 컬러 중심 이동을 이용한 물체 추적 알고리즘
- Object_Tracking_Algorithm_Using_Weighted_Color_Centroids_Shifting.pdf 3
- http://ksbe-jbe.org/bbs/download.php?bo_table=m21&wr_id=367&no=0&ei=9MzRU-OwMIa6uATCiIGACA
- NTHU Rain Removal Project - 영상 상의 비(Rain) 제거
-
NTHU_Rain_Removal_Project.pdf - http://www.ee.nthu.edu.tw/cwlin/Rain_Removal/Rain_Removal.htm
- Adaptive Airlight Detection for Dark Channel Prior-based Haze Removal (Dark Channel Prior 기반 안개제거를 위한 적응형 대기광 검출)
- https://www.kics.or.kr/storage/paper/event/summer/publish/9D-9.pdf
-
Adaptive_Airlight_Detection_for_Dark_Channel_Prior-based_Haze_Removal.pdf
- Retinex algorithm (영상의 밝기 조정)
- https://flowergom.wordpress.com/2011/11/01/retinex-algorithm/
- http://kipl.tistory.com/33
- Enhancement of Haze Removal using Transmission Rate Compensation (전달량 보정을 통한 영상의 안개제거 개선)
- http://society.kisti.re.kr/sv/SV_svpsbs03V.do?method=download&cn1=JAKO201311637858548
-
BSGHC3_2013_v18n2_159.pdf
See also
- OpenCV:Category - 스크린샷과 함께 보는 OpenCV 카테고리 정렬.
- OpenCV
- Digital image (image)
- libvips - 메모리를 적게쓰면서 매우 빠른 이미지프로세싱 라이브러리
Favorite site
References
-
Thin-Plate_Spline_Shape_Transform_Example.jpeg ↩
-
Texture Mapping using multiple quads with getPerspectiveTransform / warpPerspective - OpenCV ↩
-
기존 깨진 파일 이름: 가중_컬러_중심_이동을_이용한_물체_추적_알고리즘.pdf ↩