작성
·
172
0
안녕하세요
https://www.inflearn.com/questions/231229 이전에 남긴 질문에서 내용을 보완해서 남겨봤습니다
이상 탐지 기술에 사용한 것은 위 논문과 같으며 https://arxiv.org/abs/2011.08785 결론적으로는 pretrained 모델을 통과한 피처맵 레이어를 3개를 뽑습니다. 그리고 3개의 레이어는 여러 개의 필터가 있으니, 여러 개가 concat한 상황에서 여기서 랜덤하게 뽑고, 뽑은 것에 대해서 마할노비스 거리를 구해서 결국엔 score map이라는 것을 구하게 됩니다
추론 단계에서 똑같이 테스트 이미지에 대해서 score map을 구하고 훈련에서 구한 score map과 비교해 편차가 있는 것에 대해서 이상탐지를 찾아내는 과정입니다
그런데 이게 클래스 하나씩 테스트하면 잘 동작을 하는데, 만일 여러 클래스를 한 번에 입력으로 넣어서 score_map을 구하게 되면 기존 결과를 보여드렸듯이 나오게 됩니다. 즉, 클래스마다 score_map 평균이 다르게 됩니다. 물론 해결방법이 없으면 score_map을 원론적으로 고쳐야 하는데, 지금은 후처리가 가능하게끔 생각해보고 싶습니다
문제점을 요약하면, 각 스코어가 대략적으로 저렇게 클래스마다 분포되어 있습니다
그런데, 이를 표준화나 정규화를 하면, 예를 들어 표준화를 하면 제가 기대했던 것은 평균이 0으로 오고, threshold를 구할 수 있을 것이라고 예상했는데, 표준화를 구하는 식에 편차가 들어가 있다보니까 서로의 클래스 범위가 편차가 다르다보니 표준화를 해도 이게 적용이 되어서 맨 마지막 사진과 같이 크게 의미가 없어져서요
혹시 클래스마다 픽셀간의 편차를 같게 해주는 방법이 있을까요?
내용이 부족하면 더 추가해보겠습니다
답변 1
0
안녕하십니까,
클래스마다 픽셀간의 편차를 같게 해준다는 말의 의미를 잘 모르겠습니다.
문자 그대로 표준편차를 정규화 시킨다면, 그룹 A의 표준 편차가 10, 그룹 B의 표준 편차가 100, 그룹 C의 표준 편차가 200 ... 이런 식으로 여러개의 표준 편차가 있다면 이들의 표준 편차를 z 변환(또는 MinMax scaling)하는게 말 그대로 정규화 인데, 이런 정규화를 원하시는건 아닌것 같습니다만...
현재로서는 하고자 하시는 방향을 제가 잘 이해하지 못해서 드릴 수 있는 답변이 이정도 인것 같습니다.
네 선생님 답변 감사합니다! 다행히 분류를 할 수 있을 것 같아서 이를 이용해보려고 합니다