본문 바로가기

Upstage AI Lab 3기

Computer Vision Basic, Advanced, Generation

Computer Vision Basic

컴퓨터 비전이란? 컴퓨터 비전은 컴퓨터가 이미지나 비디오로부터 유용한 정보를 추출하는 기술입니다. 이를 통해 자율주행, 의료 영상 분석, 얼굴 인식 등 다양한 분야에서 활용됩니다.

고전 컴퓨터 비전 고전 컴퓨터 비전에서는 주로 이미지 처리 기법과 특징 추출 방법을 사용합니다. 예를 들어, 엣지 검출, 코너 검출, SIFT, SURF 등이 있습니다.

CNN 기반 Backbone

  • AlexNet: 2012년에 발표된 모델로, 딥러닝을 이용한 이미지 분류의 가능성을 보여주었습니다. 5개의 합성곱 층과 3개의 완전 연결 층으로 구성되어 있습니다.
  • VGG: 2014년에 발표된 모델로, 깊은 네트워크 구조를 통해 성능을 향상시켰습니다. VGG16과 VGG19는 각각 16개와 19개의 층을 가지고 있습니다.
  • ResNet: 2015년에 발표된 모델로, 잔차 연결을 통해 매우 깊은 네트워크를 학습할 수 있게 했습니다. ResNet50, ResNet101 등 다양한 변형이 있습니다.
  • EfficientNet: 2019년에 발표된 모델로, 네트워크의 크기, 깊이, 해상도를 동시에 최적화하여 효율성을 극대화했습니다. EfficientNet-B0부터 B7까지 다양한 크기의 모델이 있습니다.

이미지 분류, 객체 검출, 의미론적 분할

  • 이미지 분류: 이미지를 특정 클래스에 할당하는 작업입니다. 예를 들어, 고양이와 개를 구분하는 작업입니다.
  • 객체 검출: 이미지 내의 객체를 찾아내고, 그 위치를 지정하는 작업입니다. 예를 들어, 이미지에서 사람, 자동차, 신호등 등을 찾아내는 작업입니다.
  • 의미론적 분할: 이미지의 각 픽셀을 특정 클래스에 할당하는 작업입니다. 예를 들어, 도로, 보도, 하늘 등을 구분하는 작업입니다.

Computer Vision Advanced

CNN 기반 Backbone과 Transformer 기반 Backbone

  • CNN 기반 Backbone: AlexNet, VGG, ResNet, EfficientNet 등.
  • Transformer 기반 Backbone: Vision Transformer(ViT), Swin Transformer 등. ViT는 이미지를 패치로 나누어 각 패치를 토큰으로 처리하며, Swin Transformer는 계층적 구조를 통해 다양한 크기의 패치를 처리합니다.

객체 검출과 의미론적 분할

  • CNN 기반: Faster R-CNN, YOLO, Mask R-CNN 등. Faster R-CNN은 Region Proposal Network(RPN)을 사용하여 객체를 검출하고, YOLO는 단일 네트워크를 통해 실시간 객체 검출을 수행합니다. Mask R-CNN은 객체 검출과 함께 객체의 마스크를 예측합니다.
  • Transformer 기반: DETR, Swin Transformer 등. DETR은 Transformer를 사용하여 객체 검출을 수행하며, Swin Transformer는 계층적 구조를 통해 객체 검출과 의미론적 분할을 동시에 수행합니다.
    • Transformer 기반 모델의 장/단점

      장점

      1. 병렬 처리 가능:
        • Transformer 모델은 RNN과 달리 순차적으로 데이터를 처리하지 않고, 병렬 처리가 가능합니다. 이는 학습 속도를 크게 향상시킵니다.
      2. 장거리 의존성 처리:
        • Self-Attention 메커니즘을 통해 문장 내의 단어들 간의 장거리 의존성을 효과적으로 처리할 수 있습니다. 이는 RNN이나 LSTM이 어려움을 겪는 부분을 해결합니다.
      3. 다양한 데이터 유형 처리:
        • Transformer는 텍스트뿐만 아니라 이미지, 비디오 등 다양한 데이터 유형에 적용될 수 있습니다. 예를 들어, Vision Transformer(ViT)는 이미지를 패치로 나누어 처리합니다.
      4. 확장성:
        • 모델의 크기와 데이터셋을 쉽게 확장할 수 있어, 대규모 언어 모델(LLM)이나 이미지 모델을 구축하는 데 유리합니다.

      단점

      1. 높은 계산 비용:
        • Self-Attention 메커니즘은 계산 비용이 높아, 대규모 데이터셋을 처리할 때 많은 자원이 필요합니다.
      2. 데이터 요구량:
        • Transformer 모델은 대규모 데이터셋을 필요로 하며, 충분한 데이터를 확보하지 못하면 성능이 저하될 수 있습니다.
      3. 복잡한 구조:
        • 모델의 구조가 복잡하여, 이해하고 구현하는 데 시간이 많이 걸릴 수 있습니다.
      4. 메모리 사용량:
        • 병렬 처리를 위해 많은 메모리를 사용하므로, 하드웨어 요구사항이 높습니다.

       

       

Generation

생성모델의 발전과정 생성모델은 데이터를 생성하는 모델로, GAN(Generative Adversarial Network), VAE(Variational Autoencoder), Diffusion Model 등이 있습니다.

판별모델과 생성모델의 차이

  • 판별모델: 주어진 데이터가 특정 클래스에 속하는지 여부를 판단합니다.
  • 생성모델: 새로운 데이터를 생성합니다.

생성 모델의 활용 사례

  • 이미지 생성: 새로운 이미지를 생성하거나 기존 이미지를 변형합니다. 예를 들어, 얼굴 이미지를 생성하거나 스타일을 변환하는 작업입니다.
  • 텍스트 생성: 새로운 텍스트를 생성합니다. 예를 들어, 소설의 다음 문장을 생성하는 작업입니다.
  • 데이터 증강: 학습 데이터를 늘리기 위해 사용됩니다. 예를 들어, 이미지 회전, 크기 조정 등을 통해 데이터를 증강합니다.

오토인코더와 변분오토인코더

  • 오토인코더: 입력 데이터를 압축하고 다시 복원하는 모델입니다. 주로 데이터의 차원 축소나 노이즈 제거에 사용됩니다.
  • 변분오토인코더: 오토인코더의 확장으로, 데이터의 잠재 공간을 확률적으로 모델링합니다. 이를 통해 더 다양한 데이터를 생성할 수 있습니다.

적대적 생성 신경망(GAN) GAN은 두 개의 네트워크(생성자와 판별자)가 서로 경쟁하며 학습하는 모델입니다. 생성자는 가짜 데이터를 생성하고, 판별자는 진짜 데이터와 가짜 데이터를 구분합니다. 이를 통해 매우 현실적인 데이터를 생성할 수 있습니다.

 

확산모델 확산모델은 데이터의 확산 과정을 모델링하여 새로운 데이터를 생성합니다. 최근에는 개인화된 데이터 생성에도 활용되고 있습니다. 예를 들어, 특정 사용자의 스타일에 맞춘 이미지를 생성하는 작업입니다.