A brief history of Computer vision and Deep learning

simple cell
특정 방향과 위치의 선에만 반응함
기본적인 선과 가장자리 탐지
complex cell
특정 뱡향의 선에 반응
움직임에 반응
위치 민감도 낮음
움직임과 패턴 감지
계층적 정보 처리
시각 정보는 뇌에서 단순한 특징에서 복잡한 특징으로 점차 처리됨
CV에서의 계층적 특징 추출과 유사

(경계선을 추출하고, 물체를 인식하는 것)
3D 물체 인식
2D이미지에서 3D 물체를 인식하고 재구성하는 방법을 연구
기하학적인 모델링을 통해 물체의 형태와 구조 분석
물체의 경계선, 모서리, 꼭지점 등을 식별하는 데 중점을 둠
영상처리 및 패턴인식
이미지에서 중요한 특징을 추출하고 이를 기반으로 물체를 식별하는 기술 연구
패턴인식과 특징 추출의 초기 단계 형성(CV 알고리즘 발전에 기반)
컴퓨터 비전 및 3D 그래픽 연구의 초석
3D 모델링, 로봇 비전, CAD 등 기술 발전에 기여
후속 연구로 가시성 검사, 모서리 검출, 3D 재구성 기법 등이 발전

초기 스케치
이미지의 기본적인 구조를 분석하는 단계
밝기 변화(에지), 코너, 윤곽선 등 저수준 특징 추출
예: 소벨 필터, 라플라시안 필터

2.5D 스케치
깊이와 표면 정보를 포함하는 단계
관찰자의 시점에서 명암, 그림자, 표면 기울기 등을 통해 3D 구조를 일부 유추
예: 광원의 방향에 따른 명암 차이 분석, 스테레어 비전
3D 모델 표현
완전한 3D 형태로 객체를 인식하는 단계
물체의 기하학적 구조와 공간적 관계를 명확히 표현
예: 물체의 3D모델을 생성하고 이를 기반으로 물체를 식별하는 작업
계층적 처리
시각 정보는 저수준에서 고수준으로 계층적으로 처리됨
계산적 접근
시각 정보 처리를 계산 문제로 보았으며, 각 단계에서 수행해야 할 계산적 작업을 명확히 정의
정의
축(axis)과 단면(cross-section)으로 정의
축은 곡선 or 직선일 수 있으며, 단면은 축을 따라 변화할 수 있는 2D 형태
ex) 원통: 축이 직선이고 단면이 원형인 gc의 특수한 경우
특징
다양한 형태의 3D 물체를 표현
단면의 크기, 모양, 방향이 축을 따라 변할 수 있기 때무넹 복잡한 물체도 단순화 하여 표현
3D 객체 인식을 위한 기하학적 표현 모델을 최초로 체계화
복잡한 3D 물체를 단순한 기하학적 요소로 표현하는 방법을 제공 (특히 물체 인식 및 재구성에 유용)

기본 아이디어
복잡한 객체를 더 단순한 부분들의 조합으로 표현
복잡한 이미지를 작은 특징 요소로 나누어 분석
객체를 기본 구성 요소와 연결 관계로 모델링하여 변형이 가능하도록 함
ex) 사람의 몸통, 팔, 머리, 다리 등 구성요소로 분해하고, 이들 사이의 공각적 관계를 정의
수학적 모델
객체->그래프 구조로 표현
노드 - 객체의 주요 구성 요소
에지 - 구성 요소 간의 관계
에너지를 최소화하는 방식으로 객체 인식 수행

에지를 정확하고 안정적으로 검출하는 알고리즘 개발
오늘날까지 가장 널리 사용되는 에지 검출 알고리즘 중 하나
에지 검출 객체 경계를 찾는 핵심 과정, 이미지 내에서 픽셀 강도의 급격한 변화(gradient)를 분석하여 검출
특징 및 장점
컴퓨터 비전에서 오늘날까지도 가장 널리 사용되는 에지 검출의 표준 알고리즘
노이즈에 강하고 정확한 에지 검출 가능
에지의 연속성을 유지하여 끊어짐 방지
다양한 이미지 처리 응용 분야에서 사용(ex) 객체 검출, 의료 영상, 자율주행 등)

단일 2D이미지에서 3D객체를 인식하는 문제를 해결하는 방법 제안
3D 객체 인식 문제를 해결하려는 과정에서 발전한 결과가 이후 SIFT 알고리즘으로 이어짐
연구의 주요 내용
1. 지역 특징 기반 인식
기본의 템플릿 매칭이나 전역 특징 기반 방식과 달리, 지역 특징을 기반으로 객체를 인식하는 접근법 제안
2. 변환 불변 특징
객체가 다양한 방향, 크기, 조명 조건에도 인식될 수 있도록 변환에 강한 특징을 찾는 방법 연구
3. SIFT (Scale-Invariant Feature Transform) 초기 개념 제공
1987년 논문에서 지역 특징 기반 인식 개념 제시 -> 이후 Scale-Space Theory와 Difference of Gaussian(DoG)을 활용하여 특징점을 검출하는 방식으로 발전 -> SIFT 개발
SIFT는 객체 인식, 이미지 검색, 로봇비전 등에서 널리 사용됨
(SIFT - 아래 그림은 크기가 다른 동일한 객체 이미지임. 크기가 다르다고 해서 같은 부분을 보았을 때 서로 특징이 다르지 않음-크기가 달라도 같은 부분을 보면 동일한 특징을 가지고있음)

스케일 축을 따라서 생성되는 공간으로 어떤 대상을 볼 때 하나의 스케일 또는 현재의 스케일 만을 보는 것이 아니라 대상이 가질 수 있는 다양한 스케일의 범위를 한꺼번에 표현하는 공간
이미지 분석에서 객체나 특징을 다양한 스케일(크기)에서 다룰 수 있도록 하는 이론
작은 디테일부터 큰 구조까지 모든 수준에서 이미지의 특징을 효과적으로 분석할 수 있도록 도와줌
이미지의 다양한 크기에서 의미있는 정보를 얻을 수 있도록 함

(시그마가 커질수록 저해상도)
스케일과 해상도의 관계
scale: 이미지 안에서의 객체 크기
해상도: 이미지의 픽셀수나 밀도
해상도가 작아지면 작은 스케일의 객체가 안보일 수 있음
반대로 해상도가 커지면 더 많은 스케일들(작거나 큰 특징들)을 뚜렷하게 관측할 수 있음

그래프 기반 이미지 분할 : 배경과 객체 분할 방법
단순히 컷을 최소화하는 것이 아니라 균형 있는 분할을 목표로 함

다양한 스케일에서 특징점을 검출하고 매칭하는 알고리즘

실시간 얼굴 검출 알고리즘
조명 변화, 얼굴 크기 변화에도 강함
간단한 연산 방식으로 다양한 기기에서 사용 가능
얼굴 정면만 정확하게 검출 가능(측면은 어려움)
특징 기반 방식이라 딥러닝보다 정확도 낮음

2003년 공개한 이미지 데이터셋
정면 뷰의 객체가 많고, 배경이 상대적으로 단순하여 초기 객체 인식 연구에 적합

객체 인식, 검출, 분할을 다루는 대회
객체 분류(Classfication): 여러 객체 클래스에 대한 이미지 분류
객체 검출(Detection): 이미지에서 객체를 찾고, 해당 객체를 바운딩 박스로 정확하게 검출
객체 분할(Segmentation): 이미지의 각 픽셀이 어느 객체에 속하는지 파악. 객체의 경계를 픽셀 단위로 정확히 분리

✔️ 첫번째 인공신경망
✔️ 주로 2진분류 문제를 해결하는데 사용(선형 분류기)
✔️ 신경세포 모델링, 이를 위한 학습 알고리즘 제시
✔️ 딥러닝 학습의 근간

➡️ 입력 -> 입력과 가중치 곱함 -> 다 더해서 처리 -> 선형 분류 -> 출력
선형 분류기


✔️ 퍼셉트론은 XOR 문제를 해결할 수 없음
퍼셉트론은 선형 분류기이기 때문에, XOR처럼 비 선형적인 문제는 해결 불가함
단일 계층의 퍼셉트론은 복잡한 패턴을 학습할 수 없음
✔️ 다층 퍼셉트론(MLP)도 학습할 방법 없음
다층 퍼셉트론(은닉층이 있는 네트워크)이 XOR 문제를 해결할 수 있다는 것이 이론적으로는 가능했지만 당시에는 효과적인 알고리즘인 역전파 알고리즘이 없었음
✔️ 연구자들은 퍼셉트론이 AI의 핵심 기술이 될 수 없다 판단, 신경망 연구 거의 중단 (AI 겨울 시기 발생)
✔️ 1980년대 역전파 알고리즘이 등장하며 신경망 연구가 부활
✔️ 오늘날의 딥러닝(CNN, RNN, Transformer 등)이 발전하는 기초가 됨

✅ 이미지 인식을 위한 다층 신경망 모델
✔️ 1959년 Hubel&Wiesel이 고양이 시각 피질의 S(단순),C(복잡) 세포 구조를 발견
✔️ 이를 기반으로 후쿠시마가 뇌의 시각 정보 처리 방식을 모방하여 네오코그니토론을 개발
✔️ CNN 구조의 기본 개념(합성곱 계층+풀링 계층)을 처음으로 제안
✔️ 이미지 패턴을 인식하는 과정에서 단순한 특징(선, 모서리) -> 복잡한 특징(형태, 객체)으로 점진적으로 변환
✔️ 이를 위해 계층적 신경망 구조를 설계
| 특징 | 1980년 네오코그니트론 | 1989년 이후 CNN |
|---|---|---|
| 학습 방식 | 비지도 학습 | 주로 지도 학습 |
| 주요 계층 | S-계층, C-계층 | Convolution, Pooling, FullConnected |
| 가중치 최적화 | 고정필터 | 경사 하강법 |
| 활용사례 | 숫자/문자 인식 | 이미지분류, 객체 탐지 등 립러닝 전반 |

✔️ 인공신경망에서 가중치를 업데이트 하는 방법
✔️ 주어진 입력 데이터에 대해 신경망의 출력과 실제 값 사이의 오차를 최소화하도록 출력 오차를 입력 방향으로 전파하면서 가중치를 조금씩 조정하여 신경망이 점점 더 좋은 예측을 하도록 학습하는 알고리즘

✔️ 순전파
입력 데이터를 네트워크에 전달하여 출력을 계산
(입력층 - 은닉층 - 출력층)
각 층에서 활성함수(ex: LeLU, Sigmoid, Softmax)를 적용
오차 계산: 최종 출력값과 실제값의 차이를 손실함수로 계산(ex) MSE)

✔️ 역전파
오차를 출력층에서 입력층 방향으로 역전파
(출력층 - 은닉층 - 입력층)
미분을 이용하여 각 가중치의 변화량(gradient)을 계산 (가중치에 대한 편미분)
경사하강법을 사용하여 가중치 업데이트

✔️ 다층 신경망의 학습 가능
✔️ 비교적 효율적으로 가중치를 조정하여 최적화 수행
✔️ Vanishing Gradient 문제
깊은 신경망에서 초기층의 기울기가 매우 작아져 학습이 어려워지는 문제
미분을 할수록 기울기가 계속 작아짐
✔️ Local Minimum 문제
비선형 최적화 과정에서 전역 최적점이 아닌 지역 최적점에 빠질 수 있음

✔️ ReLU 활성화 함수 사용 : Vanishing Gradient 완화
✔️ Adam, RMSProp 등 다양한 Optimizer 적용
✔️ CNN을 문서 인식에 적용
✔️ 편지 인식 문제를 해결하기 위해 CNN 사용
✔️ CNN을 상용 애플리케이션, 특히 문서 인식에 적용한 첫 주요 사례

✔️ 딥러닝 이전에는 전통적인 머신러닝 기법(SVM, Ramdom Forest)이 주류
이유
1. 딥러닝 학습 데이터 부족
-> 이미지넷 덕분에 해결
2. 컴퓨팅 파워 부족
-> GPU 덕분에 해결
3. 기존 네트워크는 얕아서 성능이 낮음


✔️ 2012년 ILSVRC에서 우승한 CNN모델 -> 머신러닝에서 딥러닝 시대로 전환
(2위보다 10% 이상 높은 성능(Top-5 오류율 16.4))
Top-5 오류율 - 모델이 예측한 상위 5개 클래스 중 정답이 포함되지 않을 확률
✔️ 기존 LeNet-5의 개념을 확장하여 더 깊고 더 강력한 CNN 모델 완성
✔️ ReLU 사용: 빠른 학습 속도, 과적합방지 효과
✔️ Drop out 도입: Dropout(일부 뉴런 비활성화)으로 일반화 성능 향상
✔️ GPU 활용: 2개의 NVIDIA GTX 580 GPU로 병렬 연산 수행
✔️ Overlapping Max Pooling 사용
✔️ 2014년 VGG -> 더 깊고 규칙적인 구조
✔️ 2015 CoogLeNet -> 연산 최적화
✔️ 2015 ResNet -> Residual Learning 도입으로 초깊은 네트워크 기능


(좌- 네오코그니트론, 우-알렉스넷)


