Anúncio
Anúncio

Mais conteúdo relacionado

Apresentações para você(20)

Similar a AnoGAN을 이용한 철강 소재 결함 검출 AI(20)

Anúncio

Último(20)

AnoGAN을 이용한 철강 소재 결함 검출 AI

  1. AnoGAN을 이용한 철강 소재 결함 검출 4기 인턴 2팀 IRONY
  2. 2 개요 배경 및 동기 관련 연구 데이터 수집 및 생성 구현 및 결과 모델 개선 연구 기대효과 및 보완사항
  3. 개요
  4. 개요 프로젝트 소개 AnoGAN을 이용한 철강 소재 결함 검출 Unsupervised Anomaly Detection Using AnoGAN 5 AnoGAN 결함 결함 시각화 정상 Data
  5. 배경 및 동기
  6. 배경 및 동기 제조업 현장을 Smart Factory화 하기 위한 움직임 1. 스마트공장 설비 투자자금 2조원 조성 2. 22년까지 스마트 산업단지 10개 조성 3. 중소기업 스마트공장 3만개 보급 4. 산업재해 30% 경감시켜 안전한 일자리 조성 5. 스마트 공장 전문인력 10만명 양성을 약속합니다. 중소기업이 스마트공장을 구축하는 데 필요한 정책이 필요합니다. 중소기업에 적합한 스마트 공장 구축 프로세스가 필요합니다. 성균관대학교 스마트팩토리융합학과 정종필 교수 문재인 대통령 정부의 비전은 스마트 제조혁신으로 중소기업 제조강국을 실현하는 것입니다. 어떤 지원이 필요하겠습니까 교수님? 7
  7. 배경 및 동기 국내 제조업 기업의 결함 검출 방식 현황과 한계 8 현황 한계 대기업 ▪ Machine Vision 방법 사용 ▪ *SDD로 표면 결함 평점 부여 및 기 준 평점과 비교 + 육안검사 ▪ 부분적으로 자체 개발 AI 모델 사용 (CNN모델) Vision의 경우 주로 CNN 사용 → 결함에 대한 학습이 별도로 필요함 (Supervised Learning) → 학습되지 않은 결함 검출 불가 중소기업 ▪ 예상량이 많은 경우만 검출장비 구매 ▪ 생산량 적은 제품 → 육안검사 ▪ 비파괴검사 비파괴검사 → 제품 하나당 검사시간 20~30분 소요 *SDD(Surface Detect Detector, 표면 결함 검출기)
  8. 배경 및 동기 Why AnoGAN ? Smart Factory로의 전환 : 결함 검출 AI 필요 1. AI가 결함이 예상되는 제품을 1차 분류 → 작업시간 단축 2. 작업자의 미숙련/피로로 인한 오검 및 미검 방지 3. 결함이 의심되는 부분을 AI가 제안 9 대기업 중소기업 Supervised 학습 모델(CNN)의 한계 극복 1. 결함 데이터의 학습 없이 결함 검출 2. 새로운 유형의 결함도 검출 AnoGAN 결함에 대한 학습 필요 X 결함 부분 시각화
  9. 관련 연구
  10. 관련 연구 관련 연구 논문 11 Generative Adversarial Nets (Ian J. Goodfellow, Jean Pouget-Abadie 外 / 2014 .6.10) ▪ 정답을 알려주지 않아도 스스로 학습하는 비지도 학습 모델 GAN 발표 ▪ 생성 모델과 분류 모델이 등장하고 서로 적대적으로 경쟁하며 학습하는 구조 Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks (Alec Radford, Luke Metz, Soumith Chintala 外 / 2015.11.19) ▪ Fully Connected Layer가 아닌 Convolution Layer를 활용, GAN의 성능을 높임 ▪ 안정적인 학습을 하는 GAN구조에 대한 가이드라인 제시 Unsupervised Anomaly Detection with GANs to Guide Marker Discovery (Thomas Schlegl, Philipp Seeböck 外 / 2017.3.17) ▪ 비정상 Data의 학습 없이 정상 Data만으로 학습시킨 GAN 모델 이용 ▪ Query Data에 대하여 정상 여부는 물론 비정상 시 비정상 영역을 찾아내고자 함 ▪ *본 프로젝트에서 구현한 모델의 바탕이 됨
  11. 데이터 수집 및 생성
  12. 데이터 수집 및 생성 데이터 수집 방법 – 목적과 상황에 따라 두 가지로 사용 13 웹캠 이용 이미지 추출하는 코드로 웹캠 촬영 동시에 데이터 생성 이미지 패치 이미지의 크기와 생성수를 설정해서 이미지 패치 추출하는 코드로 데이터 생성
  13. 데이터 수집 및 생성 14 ▪ 시도① : 황동철판, 스텐인리스 / 웹캠 이용 구매한 황동철판, 스테인리스를 웹캠을 움직이며 데이터 수집 강판 크기가 작아 강판 밖 배경이 들어오는 문제 발생 Training 데이터 수집 - 안정된 데이터 생성을 위한 다양한 시도
  14. 데이터 수집 및 생성 15 ▪ 시도② : 큰 스테인리스 강판 / 웹캠 400mmx600mm크기의 큰 강판을 구매하여 웹캠으로 데이터 수집 ‘비침’문제 발생 ▶ 블랙보드와 암실박스로 해결 시도 ▶ 어두운 경우‘초점 흐림’+ ‘명암 차이 발생’➔ 명암 차이가 anomaly로 검출되는 문제 발생 Training 데이터 수집 - 안정된 데이터 생성을 위한 다양한 시도
  15. 데이터 수집 및 생성 16 ▪ 시도③ : 큰 스테인리스 강판 / 스캐너 명암 차이를 해결하기 위해 스캐너로 강판 전체 촬영 후 코드로 이미지 패치 추출 700x700, 1000x1000, 2000x2000 등 다양한 크기로 10,000 장 이상 추출 Generation 시 ‘checkerboard’문제 발생 Training 데이터 수집 - 안정된 데이터 생성을 위한 다양한 시도
  16. 데이터 수집 및 생성 17 ▪ 시도④ : 자동차 강판 제조사로부터 획득한 후판 / 웹캠 웹캠을 천천히 움직이며 데이터 수집 여전히‘명암 차이 발생’시 anomaly로 검출되는 문제 발생 Training 데이터 수집 - 안정된 데이터 생성을 위한 다양한 시도
  17. 데이터 수집 및 생성 안정된 Training을 위한 다양한 Training 데이터 수집 18 ▪ 시도⑤ : 자동차 강판 제조사로부터 획득한 후판 / 적외선 카메라 적외선 카메라를 이용해 명암 문제를 해결하고자 시도 적외선 빛이 비치는 문제 발생
  18. 데이터 수집 및 생성 19 명암을 최소화하는 각도에서 휴대폰으로 데이터 수집, 1000x1000으로 이미지 패치 추출 1000장 만으로도 Generation 성능 확보 및 Test 성능 증가 ▪ 시도⑥ : 자동차 강판 제조사로부터 획득한 후판 / 휴대폰 (확정) Training 데이터 수집 - 안정된 데이터 생성을 위한 다양한 시도
  19. 데이터 수집 및 생성 후판 결함 샘플 견학 (연와흠, 이물흠, 크랙) 보안상 사진 촬영이 불가하여 기록으로 대체 20 ▪ 포항 제철 공고 방문 Test 데이터 수집 [ 직접 작성한 기록물 ]
  20. 데이터 수집 및 생성 이물흠① 21 Test (결함 데이터) 이물흠② 연와흠 크랙 Test 데이터 수집 ▪ 4가지 유형의 결함 데이터 제작 후판 결함 샘플과 유사하게 결함 제작
  21. 구현 및 결과
  22. 구현 및 결과 Generative vs Discriminator 서로 간의 적대적인 관계 속에서 두 신경망은 서로의 능력이 발전하게 되고 결과적으로 fake data와 real data를 구별할 수 없게 되는 구조 Architecture Generator가 생성한 fake data를 real data와 Classify 하기 위해 노력 Discriminator를 최대한 속이려고 노력 GAN (Generative Adversarial Network) 23
  23. *Random noise : z, Real image : x, Fake image: G(z) 구현 및 결과 Discriminator V의 최대값을 갖기 위해 D(x)=1 , D(G(z))=0이 되도록 노력 Generator V의 최소값을 갖기 위해 D(G(z))=1이 되도록 노력 Minimax two-player game or minimax problem GAN (Generative Adversarial Network) 24
  24. 구현 및 결과 ▪ Generator는 원 데이터의 확률분포를 알아내려고 노력하며, 학습이 종료된 후에는 원 데이터의 확률 분포를 따르는 데이터 생성 ▪ 결과적으로, Adversarial Loss를 통해 optimization을 해서 Probability Distribution는 Pg =Pdata 로 만드는 것이 GAN의 목표 Probability Distribution GAN (Generative Adversarial Network) 25
  25. 구현 및 결과 AnoGAN 특징 26 Unsupervised learning ▪ 정상 데이터만으로 학습을 진행한 뒤, 정상 데이터를 생성하도록 학습 ▪ 결함(anomaly) 이미지가 들어올 경우 제대로 생성하지 못한다는 점에 착안하여 결함 검출 ▪ 결함 이미지가 전혀 없이 학습 가능 Visualization ▪ Residual Loss(생성한 이미지와 쿼리 이미지의 차이)를 이용해 시각화 가능 ▪ 결함이 어느 부분에 있는지를 알 수 있음 AnoGAN의 특징
  26. 구현 및 결과 ▪ (a) 비정상 데이터를 확보하기 쉽지 않기 때문에 정상 데이터만으로 학습하여 비정상 데이터 분류 ▪ (b) 정상 데이터로 학습한 latent space에서 벗어난 image를 찾아냄 Architecture AnoGAN (Anomaly Generative Adversarial Network) 27
  27. 구현 및 결과 ▪ Residual Loss Query image 와 Generated Image의 차이 LR( 𝑧 𝑟) = ∑|x − G(𝑧 𝑟)| ▪ Discrimination Loss Discriminator 중간 층인 Feature map에서의 Query Image 와 Generated Image의 차이 LD(𝑧 𝑟) = ∑ ║f(x) − f(G(𝑧 𝑟)) ║ ▪ Anomaly Loss L(𝑧 𝑟) = (1 − λ) · LR(𝑧 𝑟) + λ · LD(𝑧 𝑟). ▪ Anomaly Score at query image x (R(x)= LR(𝑧 𝑟) , D(x)= LD(𝑧 𝑟) ) A(x) = (1 − λ) · R(x) + λ · D(x) Loss Function 28 · 𝑧 : latent space · x : query image · 𝑟 : 1,2,3… AnoGAN (Anomaly Generative Adversarial Network)
  28. 구현 및 결과 Latent Space 29 Z 가 다음과 같은 분포라고 가정 시 ▪ 비정상 데이터와 가장 가까운 정상 데이터를 만드는 latent vector를 찾아냄 ▪ 찾아낸 latent vector z로 generate한 image와 query image 의 anomaly score를 기준으로 정상, 비정상 분류 Latent Space Mapping i) 임의의 값 𝑧1에서 시작하여 loss ft’n을 최소화하도록 update ii) 주어진 Γ번째 iteration 후 𝑧Γ이 allowable range안에 들어왔는지 여부에 따라 정상, 비정상 구분 AnoGAN (Anomaly Generative Adversarial Network)
  29. 구현 및 결과 30 개발환경 Version 0.4.1Version 16.04
  30. 구현 및 결과 31 ▪ 내장된 이미지가 아닌 폴더에 있는 이미지를 가져와 전처리 ▪ Anomaly Score를 기준으로 정상, 비정상(결함) 분류 ▪ Residual Loss를 이용해 결함 부분 시각화 ▪ 최신 *Pytorch 코드 사용, 속도 및 성능을 향상 - layer 구성 시 nn.Sequential 사용 - 데이터 전처리 시 transform.Compose 사용 *Pytorch? 파이썬 기반의 오픈 소스 머신러닝 라이브러리 AnoGAN (Anomaly Generative Adversarial Network) 우리가 구현한 AnoGAN모델 Architecture Parameters 기준 Training image 1000 Test image 10 Image size 64 x 64 x 1 Learning rate 0.00001 Latent vector size 100 x 1 Batch size 64 Epoch 100 Lambda 0.1 Anomaly score 기준 500 Threshold 50
  31. 구현 및 결과 32 ▪ Generator의 Loss가 줄어들지 않고 Discriminator의 Loss만 낮은 현상 발생 같이 학습을 해도 Generator의 학습력이 낮다고 판단 ➔ Generator를 1 epoch당 4번 학습하여 Discriminator와의 균형 확보 AnoGAN (Anomaly Generative Adversarial Network) 학습 안정화를 위한 시도 ①
  32. 구현 및 결과 33 ▪ Overconfidence 방지를 위한 Label Smoothing 안정된 Generator의 성능을 위해서 Positive Label을 1 → 0.9로 Smoothing “Improved Techniques for Training GANs (Tim Salimans, Ian Goodfellow 外, 2016)” 참고 AnoGAN (Anomaly Generative Adversarial Network) 학습 안정화를 위한 시도 ②
  33. 구현 및 결과 34 모델 실행 영상 https://www.youtube.com/watch?v=xO6KwWIDIsw&feature=youtu.be
  34. 구현 및 결과 35 결과 : Normal Normal – (anomaly score: 70.41) Normal – (anomaly score: 201.8)
  35. 구현 및 결과 36 결과 : Anomaly 이물흠② Anomaly – (anomaly score: 568.0) 이물흠① Anomaly – (anomaly score: 928.0) 연와흠 Anomaly – (anomaly score: 1.278e+03) 크랙 Anomaly – (anomaly score: 848.4)
  36. 모델 개선 연구
  37. 특징 모델 개선 연구 Adversarially Learned One-Class Classifier for Novelty Detection ▪ Refinement와 Detector를 정의하여 Adversarial Learning을 수행 ▪ Autoencoder 방식으로 이미지를 생성하고 Detector에서 비정상을 탐지 38 장점 한계 ▪ 철강 이미지를 노이즈처럼 인식 → 정상 이미지와 결함 이미지를 Reconstruction한 이미지 간 차이 미미 ▪ Inference에 걸리는 시간 감소 Submitted on 2018.02.25 / Last revised on 2018.05.24
  38. 모델 개선 연구 39 Adversarially Learned One-Class Classifier for Novelty Detection 구조 논문에서의 결과
  39. 모델 개선 연구 40 Adversarially Learned One-Class Classifier for Novelty Detection Generator network losses Discriminator network losses
  40. 모델 개선 연구 41 Adversarially Learned One-Class Classifier for Novelty Detection Reconstruction loss를 이용해 정상과 결함 데이터를 구분할 수는 있지만 Reconstructed Image에서 시각상으로 많은 차이를 보이지 못함
  41. 특징 모델 개선 연구 Deep One-Class Classification ▪ 기존의 Anomaly Detection문제의 Objective Function을 개선한 DeepSVDD를 제안 ▪ Decision Boundary를 Training을 통해서 찾아냄 42 장점 한계 ▪ 적은 성능 개선 ▪ 기존의 GAN Loss를 활용하지 않음 ▪ 모델에서 정상과 결함을 나누는 기준을 제시 Submitted on 2018.01.16
  42. 특징 모델 개선 연구 GANomaly: Semi-Supervised Anomaly Detection via Adversarial Training ▪ 3개의 Loss Function을 정의하였고, 이를 이용해서 Training 진행 ▪ Model Training과 Inference 과정을 같이 수행함 43 장점 한계 ▪ Training 과정에 Test 데이터셋을 필요로 함 → Unsupervised가 아닌 Semi-Supervised → 프로젝트 적용 모델로 적합하지 않음 ▪ 정상과 결함 구분에 개선된 성능을 보임 Submitted on 2018.05.17 / Last revised on 2018.11.13
  43. 기대효과 및 보완사항
  44. 기대효과 및 보완 사항 기대효과 45 기대효과 활용 분야 기존 머신 비전 기술 검사의 한계(미검, 오검, 육안검사) 극복 ▪ 철강, 섬유, 가죽, 부품 등 불량 검출 프로세스가 진행되는 제조업 ▪ 의료 질병 진단 이상 발견 ▪ 모조품 구별 등 Smart Factory와 같은 지능형 생산 시스템 발전에 기여 빠른 불량 패턴 분석으로 공정 최적화 연속 공정에서의 대량 불량률 획기적 감소 기대 제조업 중소 기업에 보급화
  45. 기대효과 및 보완 사항 보완 사항 46 ▪ 결함 검출 AI로 범용화 철강 소재 뿐만 아니라 결함 검출을 요구하는 어느 산업 분야에도 사용 ▪ 특수 광학 장치를 이용한 데이터 수집으로 데이터 질 향상 데이터 수집의 한계를 극복하기 위해 특수 카메라 구입 ▪ 중소기업과의 협업을 통한 진행 실제 불량 검출 및 검사 프로세스에 적용 및 실제 데이터 확보 가능
  46. 감 사 합 니 다 4기 인턴 2팀 IRONY
Anúncio