컴퓨터 비전은 주로 이미지나 영상을 다루는 인공지능의 한 분야로서 컴퓨터가 시각적인 세계를 해석하고 이해하는 방법을 학습하는 분야입니다. 컴퓨터 비전은 일반적으로 다음과 같은 작업들이 컴퓨터 비전 비전 분야로 다뤄집니다.
- 이미지 분류(Image Classification)
- 객체 탐지(Object Detection)
- 이미지 분할(Image Segmentation)
- 이미지 생성(Image Generation)
- 자세 추정(Pose Estimation)
큰 맥락에서 이미지의 특성을 파악하고 그 특성을 토대로 각 목적에 맞는 작업이 이루어집니다. 대표적으로 이미지 분류
, 객체 탐지
, 이미지 생성 모델
에 대해 알아보도록 하겠습니다.
컴퓨터 비전은 1960년대부터 컴퓨터 과학의 한 분야로 연구됐는데요. 인공지능의 한 분야로서 성장하게 된 배경에 결정적인 역할을 한 모델이 있습니다. 바로, 이미지 인식(Image Recognition)을 위한 CNN입니다.
🤔 Translation Invariance
특정 공간 위치와 관계없이 이미지 내의 패턴이나 특징을 인식하는 능력을 의미합니다.CNN
은 지역적인 특징(패턴)을 파악해 나가며 전체적으로 일반화합니다.
이미지 전체 영역을 슬라이딩하며 부분적인 특성을 파악하게 되면, 이미지 내에서 그 특징이 이동하더라도 해당 특징을 동일한 것으로 식별하고 추출할 수 있습니다.
2012년에 열린 ImageNet Large Scale Visual Recognition Challenge(ILSVRC)라는 이미지 분류 및 객체 검출 대회에서 Alex Krizhevsky가 설계한 AlexNet이 우승했습니다.
AlexNet은 심층 합성곱 신경망으로 기존의 모든 전통적인 방법보다 뛰어난 성능을 보이며 딥러닝 시대의 시작을 알렸습니다.
이후 매년 ILSVRC 대회가 열릴 때마다 새로운 CNN 아키텍처가 제시되었는데요. 그중 꼭 기억해야 할 모델 중 하나가 제시된 ResNet(2015)
입니다.
이전까지는 합성곱 신경망을 여러 개 쌓아 깊은 신경망을 구성하여 성능을 끌어올렸었는데 어느 순간부터 층을 쌓아도 성능이 감소하기 시작했습니다.
신경망이 깊어지면서 과적합 문제가 발생하며 성능이 하락 한 것입니다. 이 문제를 해결하고자 연구자들은 ResNet 아키텍처를 제안했습니다.
ResNet은 잔차 학습의 개념을 도입하여 수백 개의 층을 구성하여 신경망 훈련을 진행할 수 있었습니다. 아래는 잔차 블록의 식과 구조도입니다.
부분은 아래 구조도에서 더 자세하게 확인해볼 수 있습니다.
2-Stage 방식
: 물체의 위치를 찾은 뒤 분류1-Stage 방식
: 위치 탐색, 분류를 한번에 해결2-Stage 방식
R-CNN
은 CNN을 기반으로 객체 탐지Selective Search
알고리즘을 통해 이미지에서 약 2천 개의 잠재적인 Bounding Box(Region Proposal)
를 생성함CNN
을 통해 내부의 객체를 식별함출처: Rich feature hierarchies for accurate object detection and semantic segmentation (Girshick, 2013)
R-CNN
은Fast R-CNN
과Faster R-CNN
으로 진화하면서 모델의 속도와 효율성이 개선되었음- 특히
Faster R-CNN
은 전체 이미지 합성곱 특징을 객체 탐지 네트워크와 공유함으로써 거의 비용이 들지 않는 지역 제안을 가능하게 하는Region Proposal Network(RPN)
을 도입함.
실시간(Real-time)
객체 탐지 가능RPN
없이, 입력 이미지를 그리드 셀(Grid Cell)
로 나누고 곧바로 Bounding Box와 클래스 확률을 예측함.
- 이 Grid Cell은 다양한 종횡비를 갖는 Anchor Box를 가짐
7 × 7 Grid
에서 각각 2개씩 Anchor Box를 사용한다면 총 98개의 Anchor Box가 있는 것임
YOLO의 특징 중 하나는 다양한 크기의 객체를 동시에 탐지할 수 있다는 것
예를 들어, 작은 강아지를 품에 안고 있는 사람 이미지가 있다면 한 Grid Cell에서는 큰 객체인 사람을 탐지하고 다른 Grid Cell에서는 작은 강아지를 탐지하는 식입니다.
출처: You Only Look Once: Unified, Real-Time Object Detection (Redmon, 2015)
이미지 생성은 최근 Text-to-Image
태스크와 함께 매우 전망 있는 연구 분야로 부상하고 있습니다. 이미지 생성에 대표적인 2가지 모델이 바로 GAN
과 Diffusion
입니다.
GAN(Generative Adversarial Networks)
은 2014년에 등장한 모델로 이미지 생성 분야를 혁신적으로 바꿔놓았습니다. GAN은 주로 두 가지 주요 구성요소인 생성자와 식별자로 구성됩니다.
출처: 위키피디아 커먼즈
생성자(Generator)
가우시안 분포(Gaussian Distribution)
와 같은 일반적인 분포에서 임의의 노이즈를 입력받음식별자(Discriminator)
이진 분류(Binary Classification)
문제를 해결해가는 것생성자와 식별자는 생성자가 식별자를 속이려고 하고, 식별자가 실제와 가짜를 정확하게 분류하려고 하는 적대적인(Adversarial)
프레임워크에서 함께 훈련됩니다.
시간이 지남에 따라 생성자는 더 실제같은 이미지를 생성할 수 있게 됩니다.
- 2014년 DCGAN(Deep Convolutional GAN): 학습 과정의 안정성이 크게 개선
- 이후 CycleGAN, StarGAN, StyleGAN 등장
그중에서도 지금까지도 중요하게 활용되고 있는 모델이 바로 StyleGAN입니다. StyleGAN은 하나의 이미지에 특정 스타일의 이미지를 더욱 세밀하게 생성하는 Style Transfer 분야에 자주 활용됩니다.
순방향 전파(Forward Process)
과정과 역방향 전파(Inverse Process)
로 이루어짐❐ 원본 이미지 데이터에 점진적으로 노이즈가 추가하는 과정
❐ 순방향 전파는 여러 단계로 나뉘는데 직전에 입력된 데이터에 의존하는 마르코프 체인(Markov Chain)을 방식으로 연산
❐ 노이즈를 점진적으로 제거하고 원래 데이터를 재구성하는 방법을 학습 (앞서 노이즈를 추가하는 과정과 반대로) -> 이미지 생성 능력 학습
❐ 간단한 사전 확률 분포에서 시작하여 역방향 전파 과정을 실행하면 새로운 이미지 생성 가능
Diffusion 모델의 초기 버전은 생성 시간이 오래 걸리는 문제가 있었지만, 2020년 이후 Denoising Diffusion Probabilistic Models(DDPM) 모델이 이 문제를 개선했습니다.
최근에는 정교한 생성 능력으로 지금까지도 활발하게 활용되고 있습니다.
[출처 | 딥다이브 Code.zip 매거진]