Bounding Box 마다의 Augmentation에 회전을 사용하면 Box가 커졌으므로, 차이가 있는지 비교해 보았다
개요
요 전날 Aumentation의 라이브러리인 imgaug를 이용해 Bounding Box마다의 Augmentation을 행하고 있었을 때, rotate(회전)를 사용하면 Bounding Box가 커지는 것을 알았기 때문에, 확실히 어노테이션한 것과 차이가 있는지 비교해 보았습니다.
한 일
LabelImg 을 사용하여 주석.
imgaug 을 사용하여 Bounding Box 당 이미지를 Aumentation.
데이터 정보
학습은 Kaggle의 Datasets에서 Blood Cell Images JPEGImages에 저장된 백혈구 이미지를 사용했습니다.
백혈구는 기본적으로 다음 5종류로 분류됩니다. 이번에는이 5 종류의 분류, 검출을 실시하고 있습니다.
백혈구 이름
이미지
확장 전 매수
호중구(NEUT)
205장
림프구(LYM)
32장
단구(MON)
16장
호산구 (EOS)
50장
호염기구 (BAS)
7장
(정말로 이 분류에서 옳은지 수상한 이미지는 깎거나, 매수가 적은 호염기구는 주워 온 이미지를 몇 장인가 추가하고 있습니다)
Augmentation
이번에는 화상이 각 500장씩이 되도록, 이하의 종류의 Aumentation을 실시했습니다.
seq = iaa.SomeOf(4, [iaa.Affine(rotate=(-45, 45)),
iaa.Fliplr(0.5),
iaa.Flipud(0.5),
iaa.GaussianBlur(sigma=(0.0, 1.0)),
iaa.ContrastNormalization((1, 1.5), per_channel=0.7),
iaa.Dropout(p=(0, 0.03))
])
이런 느낌이 들었습니다.
확장 전
다시 주석이 달린 이미지
다시 주석이 달린 이미지
가장 오른쪽이 Bounding Box마다 Aumentation한 이미지입니다만, 회전시킨 경우, Bounding Box가 커지고 있는 것을 알 수 있습니다.
결과
테스트 이미지는 위와 같이 Kaggle의 Datasets에서 Blood Cell Images의 TEST_SIMPLE에 저장된 이미지를 사용했습니다.
분류 결과는 동일했지만 일부 이미지에서는 Bounding Box에 약간이지만 차이가 보였습니다.
왼쪽이 재어노테이션한 학습용 데이터를 이용한 경우, 오른쪽이 재어노테이션하지 않은 학습용 데이터를 이용한 경우입니다.
위의 이미지는 왼쪽의 Bounding Box에 비해 오른쪽의 Bounding Box는 조금 작아지고(Bounding Box에서 백혈구가 튀어나와 있다), 아래의 이미지는 반대로 Bounding Box가 커져 있었습니다.
요약
이번 결과에서는 Bounding Box에 약간의 차이는 있었습니다만, 분류나 Bounding Box의 위치에는 문제는 없었기 때문에, 개인적으로는 그다지 신경쓰지 않아도 좋을까라고 느꼈습니다.
Reference
이 문제에 관하여(Bounding Box 마다의 Augmentation에 회전을 사용하면 Box가 커졌으므로, 차이가 있는지 비교해 보았다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/yuuhi-s/items/9a437c6cb67f81c06850텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)