2 분 소요

강의 5

  • Computational imaging

    • Computational photography
    • 일반적으로 U-Net architectures 사용
  • Training data in computational imaging

    • Image denoising

      • 기본적인 noise 가정 => gaussion noise 사용 ( y = x + n) => 수학적으로 단순명료, 평균값 활용하기 좋음
      • Gaussian noise 활용 => 합성데이터 만들기
      • 단순히 더하거나, simulator 만들기
    • super resolution

      • Collect high-resolution natural images
      • 그에 상응하는 low-resolution 이미지들을 down-sampling을 통해 생성한다
      • 이때 Down-sampling(e.g. bicubic interpolation) 은 카메라 operation과 정확히 부합하진않음 => GAP 발생
      • RealSR
        • thin lense => 확대 parameter를 대략적으로 알면서 확대된 이미지와 원본 resolution 이미지를 확보할 수 있게 됨
        • 다른 focal length로 HR & LR image 도출하고 Iterative registration을 통해 Aligned LR image 확보
        • Iterative registration
          • Ground-truth image를 affine transform하고 LR image와 비교해서 affine-transformed image 생성
          • center crop해서 ground-truth image와 비교하며 L1 optimization 수행
          • 이를 통해 affine transform의 parameter를 수정해나감 => 이를 반복적으로 수행하며 더욱 정교한 데이터 생성
          • 최종목표: 두 이미지간의 최적 일치를 이루는 변환 매개변수를 찾는 것
        • RealSR을 이용한 모델이 다른 모델들에 비해 훨씬 원본과 유사한 결과 도출
    • Image deblurring

      • Acquiring realistic data by using high frame-rate camera(예시. GoPro)
      • Long exposure frame = short exposure frames의 합
      • sharp image를 accumulation해서 blurr image 생성
      • CRT라는 nonlinear 함수 사용
      • sharp frame averaging 해서 생성한 블러이미지가 훨씬 정교하게 만들어짐
      • RealBlur dataset => Ground truth image와 굉장히 유사
    • Video motion magnification

      • 변위를 안다고 하더라도 증폭된 위치에다가 배치하는 것은 쉽지않은 문제

      • real data pair가 없으므로 합성데이터 활용

      • 두 프레임 이용하여 magnification factor 알파가 적용된 cnn을 거쳐 나온

        수정된 프레임과 ground-truth간의 L1 loss를 계산하여 두 이미지간의 차이 최소화하도록 학습

    • Deep image restoration

      • Fixation problem

        • On-demand learning
      • 합성데이터를 간단한 level로 만들고 테스트를 해보고 나서 어느정도 성능이 나오는지 보고

        점차적으로 복잡도를 늘려가는 방식이 practical한 합성데이터 process 만들 수 있음

  • Advanced loss functions

    • L2 or L1 loss functions => perceptually well-aligned 되어있지 않다

      => L1과 L2 손실 함수가 계산하는 수치적 차이가 사람의 시각적 인식과 항상 일치하지 않음

    • L2 or L1 동일한 오차여도 Ground-truth image와 비슷한 것과 전혀 다른 이미지가 존재

    • Adversarial loss

      • Generative adversarial networks (GAN)
        • generator에서 생성한 fake data가 discriminator를 속이려는 방향으로 학습 (fake를 real로 판단하게)
      • L1, L2 loss 이용 => Discriminator 사용 (GAN 연구의 Key point)
      • Real data와 비슷한 형태의 출력을 만들게끔 유도
      • Pixel-wise MSE loss와 Adversarial loss 같이 사용
    • Adversarial Loss

      • pre-trained networks가 필요하지 않음 => 다양한 어플리케이션에 적용하기 용이
    • Perceptual Loss

      • pre-trained networks 요구 => 준비해야하는 단점
      • training 데이터의 양에 대해 효율적으로 학습
    • Perceptual Loss

      • Pre-trained classifiers filter가 인간의 시각인지와 유사하다는 그런 관찰에서부터 시작
      • filter를 학습된 base로 생각
      • VGG-16과 같은 Pre-trained network를 사용할 때 같이 학습하지 않고 fix해놓고 사용, Loss를 측정하는데만 사용됨
      • Feature reconstruction loss
        • Transfromed image와 Content target을 Pre-trained loss network를 통해 Loss를 계산
        • backpropagation gradient를 Pre-trained network를 학습시키지않는 형태로 transformed image에 흘려주게 됨
      • Style reconstruction loss
        • Style target을 활용
        • Gram matrix 형태로 feature를 transform해서 loss 계산
  • Extension to video

    • Flickering problem => 프레임마다 독립적으로 프로세싱해서 시간축으로 일관되지않고 번쩍이는 문제
    • Video processing
      • Temporal losses
        • short-term temporal loss => 인접한 두개의 컨텐츠가 유사해야한다는 형태로 학습
        • Long-term temporal loss => 장거리로도 consistent해야된다는 조건 걸어줌
          • 첫번째 outframe을 기준으로 잡고 consistency 측정
        • Overall loss = perceptual loss + short-term temporal loss + long-term temporal loss
        • 이를 통해 비디오 프로세싱을 스무딩해주는 모델 도출 가능

업데이트:

댓글남기기