전체 글

전체 글

    [논문 리뷰] Towards Total Recall in Industrial Anomaly Detection

    [논문 리뷰] Towards Total Recall in Industrial Anomaly Detection

    Introduction 최근에 이상탐지 흐름 중 하나는 ImageNet classification 모델을 튜닝없이 사용하여 target distribution에 대한 common deep representation을 학습하는 것이다. fine grained defect segmentation은 high resolution feature를 사용하고 반면에 full image-level anomaly detection(structural deviation)은 higher abstraction level을 주로 사용한다. 이 방법의 단점은 Imagenet으로 학습된 모델의 higher level feature는 inudstrial environment에서 요구하는 abstrac feature와 유사하지 않다는..

    U-Net: Convolutional Networks for Biomedical Image Segmentation

    U-Net: Convolutional Networks for Biomedical Image Segmentation

    본 논문은 Image Segmentaion을 위한 논문이다. 기존의 FCN(Fully Convolutional Network)를 발전시킨 모델이다. Abstract Data augmentation을 사용 Symmeteric path(constracting path, expanding path)을 통하여 정확한 localization 가능 Introduction U-Net은 FCN을 계승한 모델인데 주요 차이점은 아래와 같다. Upsampling: U shape의 대칭형의 구조를 갖고 있음 (propagate context information to higher resolution layers) Overlap-tile strategy: tile(patch)단위로 image를 모델에 넣어서 segmentat..

    Patch SVDD

    Patch SVDD

    Abstract 이상탐지 분야에서 오랫동안 사용되왔던 알고리즘인 SVDD (Support Vector Data Description)를 patch-based 기반으로 바꾼 것. Introuduction 이상탐지 분야에서 전통적으로 kernel function을 사용한 OC-SVM, SVDD와 같은 방식들이 있었는데 이전 연구 중 하나인 Deep SVDD는 neural network를 사용해 data-dependent한 표현을 뽑아냈다. Patch SVDD는 Deep SVDD를 patch-wise 방식으로 바꾼 것이고 patch들의 높은 분산과 self-supervised 학습 방식에 기인해서 의미 있는 결과물을 만들었다. 아래 그림은 Patch SVDD 모델을 통해서 나온 이미지 내에서 이상치 부분을 나..

    DFR: Deep Feature Reconstruction for Unsupervised Anomaly Segmentation

    DFR: Deep Feature Reconstruction for Unsupervised Anomaly Segmentation

    Abstract Anomalies가 매우 작은 영역에 위치하는 경우 이를 검출하기가 매우 어렵다. 이 논문에서는 다양한 공간적 정보를 표현할 수 있는 multi-scale regional feature generator를 만들어서 문제를 해결한다. 이후 convolutional autoencoder를 사용한 feature reconstruction을 통해 anomalous region을 검출한다. Method A. Hierarchical Image Feature Generation pre-trained CNN(VGG19)을 가져와서 input image에 대한 rich hierarchical discriminative feature를 생성한다. L개의 convolutional layer가 있으면 이와 같..

    [Explainable Deep One-Class Classification]  논문 정리

    [Explainable Deep One-Class Classification] 논문 정리

    Abstract One-class classification은 정상 샘플들의 분포를 학습해서 비정상 샘플들이 들어오면 학습된 분포 밖으로 맵핑 되도록 하는 것이 목적이다. 분포를 학습하기 위해서 highly non-linear 변환이 발생하는데 이로 인해서 이미지의 어느 부분이 이상이라고 해석하는 것이 어려워진다. 본 논문에서 제안하는 Fully Convolutional Data Description (FCDD) 모델을 사용하면 좋은 이상 검출 성능 뿐만 아니라 합리적인 설명력을 갖게 된다. 또한, 학습 과정에서 소수의 (5개 미만) 비정상 데이터를 결합하여 성능을 상당히 향상시킬 수 있다. 마지막으로, Deep one-class classification 모델이 워터마크와 같은 supurious ima..

    도커에서 아나콘다 가상환경 생성 시 conda init 에러

    도커에서 아나콘다 가상환경 생성 시 conda init 에러

    도커 환경에서 딥러닝을 돌리는 중 가상환경을 만들 일이 있었다. conda create [name] 명령어로 가상환경까지는 생성했지만 conda activate [name]로 가상환경을 활성화하려 할 때 다음과 같은 에러가 발생했다. conda init bash 명렁어를 실행하였으나 no action taken 라는 내용이 뜨면서 해결이 되지 않았다. 구글링 결과 아나콘다를 다운받은 후 source ~./bashrc 명령어를 실행하라고 나와있다. 실행 후 conda activate를 다시 해본 결과 정상적으로 작동했다. bashrc 파일에 어떤 내용이 들어있는지 궁금해서 ls 명렁어로 확인해 봤다. 맨 마지막 부분을 보면 conda를 initialize 해주는 부분이 있다. 이 부분 때문에 문제가 해결된..

    프로그램 백그라운드에서 실행 (fg, bg, jobs, kill)

    프로그램 백그라운드에서 실행 (fg, bg, jobs, kill)

    터미널에서 딥러닝을 돌리면 로그값이 화면에 출력이 되는데 모델을 훈련하는 데에 상당한 시간이 걸린다. 터미널에서 다른 작업을 하고 싶을 때가 있어 모델을 훈련을 백그라운드에서 실행하고 싶었다. 현재 작업 상태 확인 백그라운드에서 실행되고 있는 프로그램들을 확인할 때는 $ jobs 백그라운드에서 작업 실행 명렁어 뒤에 '&'만 붙어주면 된다. $ [linux 명령어] & Foreground에서 실행되고 있는 프로그램 멈추기 'ctrl z'를 누르면 현재 터미널에서 실행되고 있는 프로그램이 멈춘다. 멈춘 프로그램 백그라운드에서 실행 $ bg %[number] 백그라운드에서 실행되는 프로그램 Foreground로 옮기기 $ fg %[number] 작업 끝내기 $ kill %[number]