반응형
Intro. Computer Vision
목차
1. 컴퓨터 비전을 배우는 이유
2. 컴퓨터 비전 문제를 해결하는 방법
3. 시스텀 설계
4. 인접 학문
1. 컴퓨터 비전(CV)을 배우는 이유
- 팽창하는 응용 : 오락, 교통, 보안, 산업 등 다양한 분야로 응용되고 있음
- 시각은 오감 중에서 가장 강력한 인지 기능
- CV는 컴퓨터를 이용하여 시각 기능을 갖는 기계장치를 만드는 기술 분야
2. 컴퓨터 비전 문제를 해결하는 방법
2.1 과학적 접근과 공학적 접근
Goal1. 사람의 시각에 맞먹는 인공 시각 만들기(for Science)
- 과학적 접근 방식으로, 사람 시각의 원리를 밝혀낸 다음 컴퓨터로 모방
- 뇌 과학의 주요 관심사로 지식 표현, 학습, 추론, 창작 같은 AI가 필수
- 역, 불량 문제와 다양한 변형 발생으로 인해 실현하기 어려움
Goal2. 한정된 범위에서 특정한 임무를 달성하는 인공시각 만들기(For Engineering)
- 공학적인 접근 방식으로, 특정 상황에서 특정 임무를 수행하는 실용 시스템 구축
- 성공적인 시스템으로 많은 응용 현장에서 사용하고 있으며 특정 분야에서 CV가 사람보다 뛰어나다
- 예:) 엔진 실린더 정밀 측정, 칩 검사
- 그러나, 실용적인 성능 달성의 어려움은 여전히 존재한다
- 여전히 역, 불량 문제와 다양한 변환 발생
- 영상은 숫자 배열 형태
2.2 계층적 처리
- 전처리(Preprocessing) : 주로 영상 처리
- 특징 추출(Feature Extraction) : 엣지, 선분, 영역, 텍스처, 지역 특징 등을 검출하고 특징 벡터 추출
- 해석 : 응용에 따라 다양한 형태
2.3 문제해결 도구
- 자료구조와 알고리즘
- Data Structure: Array, Tree, Graph, Heap, Hashing, Search Tree, etc.
- Algorithm: Greedy Search, Dynamic Programming, Branch and Bound
- 고속 처리가 주된 관심
- 수학
- 선형대수, 미적분학, 확률과 통계 등
- 최적화 문제 풀이
- 기계학습(Machine Learning)
- ML을 활용하는 사례 급증
- Neural Nertwork, SVM(Support Vector Machine), Random Forest, etc.
3. 시스텀 설계
순차 처리와 피드백
3.1 문제 이해
주어진 문제에 대해 직관적이고 철저한 이해 중요
- 합리적 제약 조건 수립 필요
- 예시: 얼굴 인식기
- 학습 데이터로 크기가 일정한 정면 얼굴 vs. 자연 영상 속의 얼굴 중 어떤 데이터가 더 적합한가?
- 전자는 제작이 쉽지만 응용 분야가 한정되어 있으며 보안 장치 활용에 가능하나, 사진 분류 응용에 적용 불가능함
3.2 데이터베이스(DataBase) 수집
데이터베이스
- 질적, 양적으로 우수해야 고성능 시스템 제작 가능
- DB = 학습 집합 + 테스트 집합
- 수집 방법
- 수작업(직접 수집)
- 인터넷에서 다운로드
- 영역별로 다양한 형태(img, mp4, text)의 DB가 존재
3.3 알고리즘 설계와 구현
- 알고리즘 선택의 중요성과 어려움
- 최적화(Optimization)와 직결되는 중요한 문제
- 새로운 알고리즘 개발 또는 기존 알고리즘 중에서 주어진 문제에 적합한 것 선택
- 선택 방법
- DB를 이용하여 성능 실험 진행(설계자의 경험, 직관이 중요)
- 성능 비교 분석 논문을 참조
- 프로그래밍
- openCV (국내 커뮤니티)
- Matlab이 제공하는 IPT(Image Processing Toolbox)
- 오픈소스
3.4 성능 평가
- 인식 성능 측정
- c = 맞는 샘플 수, r = 기각한 샘플 수, e = 틀린 샘플 수 (N = c + r + e)
- 정인식률 = c/N , 기각률 = r/N, 오류율 = e/N
- 이 방법의 경우, 부류가 심한 불균형일 때 부적절함
- 예로, 칩 검사헤서 불량률이 0.1%라면, 무조건 정상칩으로 인식하는 임의 짐작 분류기의 정인식률은 99.9%임
- 혼동 행렬(Confusion Matrix)
- 오류 경향을 세밀하게 분석하는데 사용하는 방식으로 부류가 2개인 경우의 혼동행렬은 아래와 같음
참 분류/분류 결과 실제로 참(Actually Positive) 실제로 거짓(Actually Negative) 예측 결과 참(Predicted Positive) TP(True Positive) FP(False Positive) 예측 결과 거짓(Predicted Negative) FN(False Negative) TN(True Negative) - 긍정률, 부정률, 재현률과 정확률, Fn-score 측정
- [참/거짓]긍정률 = [TP|FP]/[TP+FN|FP+TN]
- [참/거짓]부정률 = [TN|FN]/[FP+TN|FN+TP]
- 재현률(Recall) = 참 긍정률 = TP / TP+FN
- 정확률(Precision) = TP/ TP + FP
- $F_nscore = (1 + n^2) * (\frac{정확률*재현율}{n^2*정확률*재현율})$
- $F_1score = \frac{2*정확률*재현율}{정확률+재현율}$
- 오류 경향을 세밀하게 분석하는데 사용하는 방식으로 부류가 2개인 경우의 혼동행렬은 아래와 같음
4. 인접 학문
상호 협력이 강해지는 추세
반응형
'인공지능(AI) > 컴퓨터비전(CV)' 카테고리의 다른 글
[패턴인식] 에지 검출(1) : 에지 검출의 기초, 영교차 이론 (0) | 2021.10.24 |
---|---|
[패턴인식] 영상 처리(3) : 다해상도, 모폴로지, 컬러 (0) | 2021.10.24 |
[패턴인식] 영상 처리(2) : 이진영상, 영상 처리의 세가지 기본 연산 (2) | 2021.10.21 |
[패턴인식] 영상 처리(1) : 디지털 영상, 히스토그램 (0) | 2021.10.21 |
[논문리뷰] 적대적 생성 신경망 : Generative Adversarial Nets(GAN) (0) | 2020.09.17 |