Resize the image but Annotation box?

olxtar·2022년 6월 7일
0
post-thumbnail

Comment :
AIHub 안심존 치과질환 데이터의 Annotation Box 좌표값 검증 중에 그냥 떠오른 생각

보통 Raw 이미지 데이터의 사이즈는 다 다를 것이다 (Un-uniform)
그래서 torchvision.transforms.Resize(), torchvision.transforms.CenterCrop()등을 이용하여서 모두 동일한 사이즈로 맞추는데...

JSON 파일에 있는 Annotation Box의 좌표는?
좌표값을 바꿔주지 않으면 쌩판 다른 곳에 좌표가 찍힐것이다


\therefore 아래와 같이 상대좌표값을 만들어서 가지고 있으면 이미지 사이즈가 어떻게 변경되더라도 동일한 위치에 박스가 그려질 수 있다!

[!] 절대좌표와 상대좌표를 생각해보자 (단순히 수학적으로!)

ex)
원본 이미지 사이즈 : 100x100
원본 이미지 속 박스의 절대좌표 : (50, 50)
원본 이미지 속 박스의 상대좌표 : (0.5, 0.5)

변경된 이미지 사이즈 : 10x10
변경된 이미지 속 박스의 좌표여야할 값 : (5,5)

변경된 이미지 사이즈 * 상대좌표값 = (10 x 0.5, 10 x 0.5) = (5,5)



참고 : How to resize coordinates of bounding box in torchvision datasets?

참고 : [Stackoverflow] resizing image and tis bounding box

참고 : Specific format of Annotation

profile
예술과 기술

0개의 댓글