728x90

연결요소 connected component

- 특정 픽셀 주위에 연결된 픽셀들

- 4 연결성 : 중앙 픽셀을 포함한 상하좌우 픽셀들의 모임

- 8 연결성 : 중앙 픽셀과 주위 픽셀들의 모임

https://scc.ustc.edu.cn/zlsc/sugon/intel/ipp/ipp_manual/IPPI/ippi_ch14/ch14_flood_fill_functions.htm

 

 

 

 

 

범람채움 알고리즘 floodfill algorithm

- 시작점으로부터 일정 규칙에따라 연결 요소들을 채우는 알고리즘

https://www.wikiwand.com/en/Flood_fill

 

 

 

 

 

 

 

모폴로지 연산 morphorlogy operation

- 침식 errosion 연산 : 마스크를 컨볼루션하여 기존 영상을 깍아내는 연산

- 팽창 dilation 연산 : 마스크를 컨볼루션하여 기존 영상을 팽창 시키는 연산 

 

- 열기 opening 연산 : 침식 후 팽창

- 닫기 closing 연산 : 팽창 후 침식 -> 번호판 검출시 사각 영역을 추출하기 위해서 사용되기도 함 

 

 

모폴로지 morphology 

- 이진 모폴로지 : 이진 영상에서 수행하는 모폴로지

- 명암 모폴로지 : 명암 영상에서 수행되는 모폴로지

 

 

 

 

 

 

 

 

 

번호판 검출 과정 예시

1. 입력 영상으로부터 에지검출

2. 정규화 및 임계치 이진화

3. 수평수직 팽창

4. 수평 침식

5. 번호판 영역 검출

 

300x250
728x90

영역 연산

- 윈도우(=마스크 = 커널)와 입력 영상의 곱합 => 상관 correlation

- 뒤집은 윈도우와 입력 영상의 곱합 => 컨볼루션 convolution

https://kionkim.github.io/2018/06/08/Convolution_arithmetic/

 

가우시안 스무딩

- 가우시안 마스크(필터)를 이용한 영상 스무딩

- 분산 값에 따른 레나 이미지의 가우시안 스무딩 결과

https://codingcoding.tistory.com/24

 

기하학적 연산 geometry opearation

- 동차 좌표 homogeneous coordinate와 동차 행렬 homogeneous matrix을 이용하여 기하학적 변환(연산)이 수행된다.

- 동차 좌표

- 동차 행렬

 

 

기하학적 연산과 변환 정리

- 기하학적 연산 : 평행 이동 translation, 회전 rotation, 크기변환 scaling, 기울이기 shearing, 원근 homography

https://stackoverflow.com/questions/45637472/opencv-transformationmatrix-affine-vs-perspective-warping

 

- 강체 변환 rigid transform : 평행이동 + 회전

- 닮음 변환 similarity transform : 평행이동 + 회전 + 크기 변환

- 어파인 변환 Affine Transform : 평행이동 + 회전 + 크기 변환 + 기울임

- 원근 변환 perspective transform : 평행이동 + 히전 + 크기 변환 + 기울임 + 원근

 

기하학적 연산과 관련 변환들

 

 

원근 변환 예시

- 기울어진 STOP 표지판을 정면에서 보는것 처럼 원근 변환을 수행

https://www.programmersought.com/article/30023581/

300x250
728x90

이미지 프로세스 image process

- 입력 영상을 처리하여 새로운 영상을 만드는 과정

- 점 연산, 영역 연산, 기하 연산 등 존재

- 점 연산 point operation : 픽셀 값만 보고 새로운 값을 정하는 연산

- 영역 연산 area operation : 이웃 픽셀들을 참고하여 새 값을 구하는 연산

- 기하 연산 geometric operation : 기하학적 특징에 따라 값이 정해지는 연산

 

 

 

점 연산

- 선형 연산 : 특정 픽셀을 밝거나 어둡게, 곱하는 등 선형 연산을 수행하는 점 연산

https://snscud.tistory.com/27

- 비선형 연산 : ex. 감마 값에 따라 색상 조절하는 점 연산(감마연산)

 

http://www.tv4u.co.kr/guide/content.asp?idx=1483

 

 

 

300x250
728x90

이진 영상

- 일반적인 흑백 영상은 명암으로, 컬러 영상은 3채널에 대한 값들로 이루어짐

- 이진 영상은 0,1로 이루어진 영상

 

이진화

- 영상을 0, 1로만 이루어진 영상으로 만드는 연산

- 임계치를 이용한 이진화

 => 특정 명암 위는 1, 아래는 0으로 이진화(아래의 영상의 임계치 T = 128)

http://blog.daum.net/monorail_/26

 

 

오츄 알고리즘

- 최적의 임계치를 찾아 이진 영상을 만드는 알고리즘

 => 오츄 알고리즘에서 최적 임계치 : 명암 분포가 균일(작도록)하도록하는 임계치

https://medipixel.github.io/post/2019-06-07-image-thresholding/

 

 

 

 

300x250
728x90

이미지 획득에서 카메라와 눈 비교

카메라
렌즈 수정체
CCD 센서 망막

 

핀홀 카메라 모델

- 카메라가 영상을 얻는 원리를 간단하게 나타낸 수학적 모델

- 빛이 핀홀 카메라의 작은 구멍으로 들어가 이미지 평면, CCD 상에 맺힘

 => 빛 통과 -> 샘플링 -> 양자화 -> 디지털 영상

https://twlab.tistory.com/category/?page=6

 

 

영상의 표현

- 2차원 행렬로 표현 -> f(x, y)

- 픽셀 : 영상의 한 점

- 해상도 : 영상의 크기

- 흑백 영상 : 명암만으로 표현하는 영상(0 ~ 255)

- 컬러 영상 : R채널, G 채널, B채널을 동시에 나타내는 영상

 

 

 

 

히스토그램

- 각 명암 값들의 빈도수를 정리한 그래프

- 히스토그램이 좌측(0)에 치우쳐지면 어둡고, 우측(255)에 치우쳐지면 밝은 영상

https://curian7752.tistory.com/entry/%ED%8E%8CHistogram%EC%9D%84-%EC%9D%B4%EC%9A%A9%ED%95%9C-%EC%98%81%EC%83%81%EC%B2%98%EB%A6%AC-Histogram

 

히스토그램 평활화 histogram equalization

- 한쪽으로 치중된 명암을 균일하게 해주는 연산

- 좌측 영상이 원본, 우측 영상이 히스토그램 평활화 수행 후 영상

https://kjin2sm.tistory.com/161

 

 

 

히스토그램 역투영 histogram backprojection

- 특정 색상 분포 만으로 물체를 검출하는 방법 -> 명암이 아니라 색상 공간을 사용

- 히스토그램 역투영을 이용한 얼굴 검출

 1. 얼굴 모델의 색상에 큰 가중치를 주고, 나머지 영역들은 낮춤

 2. 얼굴 모델과 비슷한 영역들만 밝고 나머지는 어두워짐

 

 

원본 영상
얼굴 모델로 검출한 결과

 

 

300x250
728x90

영상 처리 응용 분야

- 자율 주행

- 수술 로봇

- 군사 로봇

- 탐사선 등

 

 

 

 

 

 

영상 처리 목표

1. 사람과 비슷한 인공 시각

- 어느 영상이든 사람의 인지능력을 사용하는 것 처럼 컴퓨터가 모방

 => 학습, 추론 등 인공지능 관련 문제가 해결되지 않는 이상 불가능

 

 

* 영상 처리의 어려움

- 역문제 : 입력 영상은 3차원 공간을 2차원으로 투영한 것. 영상 처리는 2차원 영상에서 3차원 공간을 이해해야함

 => 사람은 영상으로 공간 정보를 추론 할수 있으나 컴퓨터는 힘듬

- 불량 문제 : 답이 유일하지 않음 -> 영역 분할시 답이 다양함

- 변형 발생 : 기하학적 변환, 광도 변환 등이 동시에 발생

- 잡음

 

2. 특정 용도의 인공 시각
- 번호판 검출의 경우 : 직사각형 모양 찾기, 글자 인식

 => 사람의 인지 기능을 가진 인공 시각보다는 쉬움

 

 

 

 

 

 

 

 

컴퓨터 비전 처리 프로세스

1. 입력 영상

----------------------------------- 저급 영상 ---------------------------------

2. 전처리(영상처리) : 입력 영상을 목적에 알맞게 변환. ex) 노이즈 제거

3. 특징추출 feature extraction

 - 특징 : 에지, 선분, 원, 코너, 텍스처 -> 이들로 특징 벡터 만듬

 - 사용 특징 예시 : 얼굴 인식(Haar like), 사람 탐지(Histogram Of Gradient), 물체 인식 및 추적(SURF)

----------------------------------- 저급 영상 ---------------------------------

----------------------------------- 고급 영상 ---------------------------------

4. 해석

- 인식 : classification 수행

- 자율 주행 : 주행 방향 안내

* 데이터 베이스 생성 -> 분류기 학습 -> 후처리 -> 성능 개선

----------------------------------- 고급 영상 ---------------------------------

5. 고급 묘사

 

 

 

 

 

 

 

 

자료구조

- 기본 : 배열, 트리, 그래프

- 속도 개선 목적 : 힙, 해싱, 탐색 트리 

- 추출 특징 및 기하학 요소 : 벡터, 행렬

 

활용 알고리즘

- 탐욕 방법, 동적 프로그래밍, 한정 분기

- 고속 매칭 : kd트리, 해싱 활용

 

수학적 기반

- 선형 대수 : 행렬 연산

- 미분 : 변화크기 측정

- 확률 : 의사 결정 및 분류

 

문제 풀이과정

1. 최적화 문제로 정리

- 비용 함수 정의

2. 수치적 방법으로 최적회 찾음

 

기계 학습 도구

- Neural Network, SVM, Adaboost, Markov Random Field

 

 

 

 

 

 

 

 

 

 

 

 

 

설계 과정

1. 문제 파악

- 문제를 풀기 위해 제약과 범위 설정 필요

- 얼굴 인식의 경우 : 정면만? 옆면도?

 

2. DB 수집

- 얼굴 인식기의 경우 얼굴 데이터베이스 구축 필요

- 예시

    PASCAL VOC : 물체 인식 성능 데이터베이스 제공, 물체 종류와 위치 표시 

    버클리 데이터베이스 : 차량 번호판 글씨 제공

 

3. 알고리즘 설계, 구현

- 환경, 제약에 따라 결과 변화가 심함

- 많은 알고리즘 개발 -> 문제에 적절한 알고리즘을 선정 필요

 => 손찾기 : 손 모델 매칭, 지역 특징 활용, 영역 분할 아고리즘 등 다양한 경우의 수 사용 가능

 

* 좋은 알고리즘 찾는 방법

 - 다양한 알고리즘을 사용해봄 -> 휴리스틱.

 - 통찰 + 경험을 통해 시행착오 줄일 수 있음

 - 데이터베이스와 성능 지표로 여러 알고리즘 성능 비교

 

4. 성능 평가

 - TP True Positive 참 긍정 

 - TN True Negative 참 거짓

 - FP False Positive 부정 긍정

 - FN False Negative 부정 거짓

 - 정확률 precision : TP/(TP + FP) -> 찾은것(TP, FP) 중에 올바른것(TP) 비율

 - 재현율 recall : TP/(TP + FN) -> 찾아야하는 것(TP, FN)들 중에서 맞게 찾은(TP) 비율

 - 강건함 robust : 환경 변화에도 성능을 유지하는 정도

 

 

 

 

 

 

 

 

학문 분류

- 영상 처리 : 입력 영상을 노이즈 제거나 왜곡 개선 등 적합하게 처리

- 컴퓨터 그래픽스 : 고급 정보로 새 영상 생성, 합성

- 컴퓨터 비전 : 입력 영상을 분석하여 고급 정보 출력

- 패턴 인식 : 특징 추출기로 특징 추출 -> 특징 벡터 생성, 분류기로 특징 벡터를 분류

영상 영상, 패턴
영상처리 컴퓨터 그래픽스 컴퓨터 비전 패턴인식
      분류

 

 

 

 

 

 

300x250

+ Recent posts