분석시각화 대회 코드 공유 게시물은
내용 확인 후
좋아요(투표) 가능합니다.
[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 데이터의 순서쌍을 모두 고려하다보니까 메모리를 많이 잡아먹습니다.
그래서 각각의 데이터를 따로 파일로 저장해서 필요하면 그때그때 불러쓰는 방식을 택했습니다.
DACON Co.,Ltd | CEO Kookjin Kim | 699-81-01021
Mail-order-sales Registration Number: 2021-서울영등포-1704
Business Providing Employment Information Number: J1204020250004
#901, Eunhaeng-ro 3, Yeongdeungpo-gu, Seoul 07237
E-mail dacon@dacon.io |
Tel. 070-4102-0545
Copyright ⓒ DACON Inc. All rights reserved
대단하십니다