visual genome dataset은 문제가 많다. . API 지원도 2023년부로 중단되었다.
relationship의 index가 밀리는 문제
이거 때문에 학습이 잘 안 됐었는데 뒤쪽으로 갈 수록 VG-SGG.h5에서 얻은 vg-sgg['img_to_first_rel'][img_idx]와 vg_sgg['img_to_last_rel'][img_idx]의 relation list와 img_idx가 안 맞기 시작해서 나중엔 4개까지 차이가 난다.
이거 때문에 학습이 잘 안 되어서 고민이 많았는데, 이런 식이다.
하나의 relationship의 두 개의 bounding box를 그리라고 한 건데, 뭘 그린 box인지 알 수 없다. 각각 label은 813158 cup과 813164 plate로 출력된다. 위치 상 bounding box를 잘못 그린 것 같지는 않으므로 이게 맞는 이미지를 찾아보면 이 이미지의 index보다 4개 전에 있다.
이 이미지는
img idx : 77257 img data {'width': 500, 'url': 'https://cs.stanford.edu/people/rak248/VG_100K/2342046.jpg', 'height': 375, 'image_id': 2342046, 'coco_id': None, 'flickr_id': 8991582172}
인데, 이 이미지의 4번째 전 이미지인 2342041 이미지를 확인해보면(2342043.jpg는 데이터셋에 없다)
와 같이 위의 bounding box에 맞는 이미지이다.
그런데 이게 다 4칸씩 밀린 게 아니라 앞쪽은 괜찮다. 왜 그런가 봤더니,
corrupted image가 있다. 이 이미지들은 왜인지는 알 수 없으나 relation을 매길 때 빠져있다.
이걸 만드는 코드에서 빼놨는데, 다른 이미지들보다 크기가 작으나 왜 corrupted인지는 알 수 없다. corrupted image들은 다음과 같다 :
Figure 4. corrupted images : 좌측부터 1592.jpg, 1722.jpg, 4616.jpg, 4617.jpg
따라서 img_idx가 이 이미지들보다 뒤쪽이면 relation을 계산할 때 그만큼 빼 주어야 하는 과정이 좀 더 필요하다.
위와 같이 해결할 수 있다.
잘 그려지는 것을 볼 수 있다.
References
Footnotes
'DL·ML' 카테고리의 다른 글
[GNN] GNN Model (0) | 2023.11.07 |
---|---|
[DL] RLHF (Reinforcement Learning from Human Feedback) (0) | 2023.11.02 |
[GNN] GCN을 이용한 Image Captioning 구현 (0) | 2023.08.24 |
[DL] Vision Transformer (ViT) (0) | 2023.08.17 |
[GNN] GCN을 이용한 Image Captioning (0) | 2023.08.14 |