본문 바로가기
728x90
반응형
SMALL

Visual Intelligence73

[Image Segmentation] Custom Cost (Loss) Function Focal Loss Focal loss는 one-stage object detection에서 object와 background의 클래스간 불균형이 극도로 심한 상황을 해결하기 위해 제안되었다. Focal Loss 작동 원리는 Focusing parameter에서 r은 일반적으로 0 ~ 5 사이의 값이다. 즉, 잘못 분류된 examples의 중요도를 상대적으로 높이는 역할을 한다. 감마 (gamma)값이 커질수록 가중치 규제가 강하게 들어간다. ALPHA = 0.8 GAMMA = 2 def FocalLoss(targets, inputs, alpha=ALPHA, gamma=GAMMA): inputs = K.flatten(inputs) targets = K.flatten(targets) BCE = K.bina.. 2022. 12. 15.
[Image Segmentation] 주목 메커니즘 (Attention Module) 주목 메커니즘 (Attention Module) 주목 메커니즘 (Attention Mechanism)은 중요도가 높은 특정 벡터에 더욱 집중하도록 도와주는 기법으로 RNN의 seq2seq에 처음 도입되었다. CNN에서 주목 기법은 주로 Visual Question Answering 또는 Image Captioning처럼 multi-modal간의 관계를 이용한 feature selection에 많이 사용되었다. 가장 대표적인 논문인 “Show, Attend and Tell: Neural Image Caption Generation with Visual Attention” 에서는 아래의 그림과 같이 어떤 부분을 보고 문장을 생성했는지 효과적으로 시각화했는지 보여주었다. 주목 메커니즘은 장기 의존성 문제를 효.. 2022. 12. 15.
[Image Segmentation] U-Net (2) 위성 이미지 분할 국제 학회 ISPRS에서 제공한 데이터셋으로 5cm 해상도의 독일 포츠담 위성 이미지가 포함되어 있다. 이 이미지에는 이미지의 적외선 및 높이 윤곽선에 대한 추가 데이터가 제공된다. 이미지와 관련된 레이블은 다음과 같이 있다. •건물 •초목 •나무 •택시 •질서가 없는 사물 •불투과 사물 총 38개의 이미지가 6,000 × 6,000 크기의 패치로 제공된다. http://www2.ispr.org/commission/comm3/wg4/data-request-form2.html 페이지로 이동해 필요한 양식 내용을 채운다. 양식을 채운 후에는 양식 중에서 관심있는 데이터셋 체크하는 부분에서 Potsdam을 선택한 다음 관심있는 영역에 서 Semantic Labeling을 체크하고 넘어간다. .. 2022. 12. 15.
[Image Segmentation] U-Net (1) U-Net U-Net은 의료영상 분할 분야에서 처음 제안된 네트워크로 End-to-End 방식이다. U-Net은 FCN (Fully Convolutional Network)을 기반으로 구성되어 있으며 의료 이미지 특상 적은 데이터를 가지고도 더욱 정확한 Segmentation을 하기 위해 일부 수정을 했다. 각각의 파란색 박스는 멀티 채널 피쳐맵을 의미한다. 채널 수는 박스위에 표시되어 있다. U-Net은 가운데를 기준으로 왼쪽을 Contracting path, 오른쪽을 Expanding path라 부른다. Contracting path는 이미지의 문맥 (context)를 추출할 수 있도록 도와주는 역할을 한다. Expanding path는 피쳐맵을 업 샘플링하고 이를 contracting path에서 .. 2022. 12. 15.
이미지 분할 (Image Segmentation) 이미지 분할 (Image Segmentation) 이미지 분할 (Image Segmentation)이란 디지털 영상을 여러 개의 픽셀 집합으로 나누는 과정을 의미한다. 이미지 분할의 목적은 영상을 조금 더 해석하기 쉽게 단순화하는 것으로 이를 통해 해당 이미지에서 관심 영역 (region of interest)을 추출할 수 있다. 이미지 분할 종류에는 시맨틱 분할 (Semantic Segmentation)과 인스턴스 분할 (Instance Segmentation)이 있다. 시맨틱 분할이란 클래스 별로 사물을 검출하는 방법으로 같은 사물은 같은 색으로 구분되며 픽셀 단위로 레이블을 예측한다. 반면, 인스턴스 분할은 동일한 클래스일지라도 서로 다른 사물이면 다른 인스턴스로 구별하여 표시하는 방 법으로 모든 .. 2022. 12. 15.
[Generative Model] SRGAN SRGAN 단일 이미지 초해상화 (Single Image Super Resolution)는 컴퓨터 비전 연구 분야의 한 갈래로 저해상도 (Low Resolution, LR) 영상으로부터 고해상도 (High Resolution, HR) 영상을 생성하는 기술이다. 일반적으로, 저해상도 영상으로부터 고해상도 영상을 복원하는 문제는 부적절하게 정립된 역 문제 (ill-posed inverse problem)로 정의된다. 기존에는 보간법 (Interpolation) 혹은 선형 매핑 (Linear Mapping) 을 사용한 로컬 패치 (local patch) 기반의 초해상화 기법들이 널리 연구되었다. 그러나 이러한 기법들은 비교적 매끄러운 효과를 주거나 선형적인 특징만을 살리기 때문에 복잡하고 비선형적인 고주파 세.. 2022. 12. 14.
[Generative Model] CycleGAN 이미지 대 이미지 변환 GAN 어플리케이션 분야 중 하나는 이미지 대 이미지 변환이다. 비디오, 이미지는 물론 앞서 설명한 Style Transfer에서도 GAN이 엄청난 성공을 거두었다. 실제로 GAN은 새로운 종류의 애플리케이션을 가능하게 하기 때문에 딥러닝 연구에서의 선두에 있다. 시각적 효과가 두드러진 탓에 성공한 GAN 모델은 유튜브와 트위터 등 SNS에 많이 등장한다. 이런 종류의 변환을 구현하려면 생성자의 입력이 사진이어야 한다. 생성자가 이미지에서부터 시작하기 때문이다. 다른 말로 하면, 한 도메인의 이미지를 다른 도메인의 이미지로 매핑한다. 이전에 생성자에게 주입한 잠재 벡터는 해석이 불가능했다. 이제, 이 벡터를 입력 영상으로 대체한다. CycleGAN (Cycle-Consistent .. 2022. 12. 13.
[Generative Model] DCGAN (CIFAR-10) 데이터 로드 from keras.layers import Input, Dense, Reshape, Flatten, Dropout from keras.layers import BatchNormalization, Activation, ZeroPadding2D from keras.layers.advanced_activations import LeakyReLU from keras.layers.convolutional import UpSampling2D, Conv2D, Conv2DTranspose from keras.models import Sequential, Model from keras.optimizers import Adam,SGD from keras import initializers import os .. 2022. 12. 13.
[Generative Model] DCGAN DCGAN Ian Goodfellow가 GAN을 발표한 이후로 많은 분야에 GAN이 적용하여 연구가 되었지만 복잡한 영상에서는 좋은 이미지를 생성하지 못하였고 항상 불안정한 구조로 인한 문제가 따라붙었다. 그래서 이후 GAN을 다룬 논문들을 보면 공통적으로 이러한 부분에 대한 어려움에 대해 토로하고 있고, NIPS 2016 에서 Tutorial이나 workshop 세션에서도 큰 주제가 되었던 부분이 바로 이 "GAN의 안정화"였다. Minimax problem을 풀어야하는 GAN은 어쩔 수 없이 태생적으로 불안정할 수밖에 없는데 이는 fixed solution으로 수렴하는 것이 보장되어 보이지만, 실제 적용에서는 이론적 가정이 깨지면서 생기는 불안정한 구조적 단점을 보이곤 했다. 이후 나온 여러 논문들이.. 2022. 12. 9.
[Generative Model] GAN (MNIST) 데이터 로드 import os import numpy as np import matplotlib.pyplot as plt from tqdm import tqdm from keras.layers import Input from keras.models import Model, Sequential from keras.layers.core import Dense, Dropout from keras.layers import LeakyReLU from keras.datasets import mnist from keras.optimizers import Adam from keras import initializers # Keras 가 Tensorflow를 벡엔드로 사용할 수 있도록 설정 os.environ["KERA.. 2022. 12. 9.
728x90
반응형
LIST