분석시각화 대회 코드 공유 게시물은
내용 확인 후
좋아요(투표) 가능합니다.
반도체 소자 이상 탐지 AI 경진대회
[Private 15th, 0.98039] patchcore 논문 pytorch로 구현
공동작성자
patchcore 논문을 pytorch로 구현했고, private score 0.98039을 달성했습니다.
순수 patchcore 만으로는 작동이 잘 안되는데, 그 이유는 다음과 같습니다.
1. threshold를 구하지 못합니다.
2. 소자가 포함되지 않은 이미지는 오히려 anomaly score가 낮게 나옵니다.
해결한 방법은 다음과 같습니다.
1. K-Fold CV처럼 train.csv를 여러 개로 분할한 다음, 일부는 훈련에 사용하고 일부는 임계값을 구하는데 사용합니다.
2. 소자가 포함되지 않은 이미지는 AE를 사용하여 이상치로 분류합니다.
faiss라는 라이브러리를 사용하면 sampling을 효율적으로 할 수 있는 것 같지만, 그것까지는 구현하지 않았습니다.
즉 샘플링을 하지 않고 memory bank에 있는 모든 patch를 다 비교했습니다. 그래서 실행 시간은 대략 30분~1시간 30분 정도 됩니다...
또한 200개의 train 데이터와 100개의 test 데이터의 순서쌍을 모두 고려하다보니까 메모리를 많이 잡아먹습니다.
그래서 각각의 데이터를 따로 파일로 저장해서 필요하면 그때그때 불러쓰는 방식을 택했습니다.
데이콘(주) | 대표 김국진 | 699-81-01021
통신판매업 신고번호: 제 2021-서울영등포-1704호
서울특별시 영등포구 은행로 3 익스콘벤처타워 901호
이메일 dacon@dacon.io | 전화번호: 070-4102-0545
Copyright ⓒ DACON Inc. All rights reserved
대단하십니다