인프런 커뮤니티 질문&답변

야간비행님의 프로필 이미지

작성한 질문수

[개정판] 딥러닝 컴퓨터 비전 완벽 가이드

Balloon 데이터를 이용한 Train 실습 - Balloon annotation을 COCO 포맷용 annotation으로 변환

mm_mask_rcnn_train_balloon에서 좌표에 0.5를 더하는 이유?

23.01.28 11:20 작성

·

276

0

mm_mask_rcnn_train_balloon.ipynb 실습 convert_balloon_to_coco() 함수 구현에서

 poly = [(x + 0.5, y + 0.5) for x, y in zip(px, py)]

위와 같이 원래 좌표에 0.5를 더하는 이유를 알고 싶습니다.

답변 1

1

권 철민님의 프로필 이미지
권 철민
지식공유자

2023. 01. 29. 12:37

안녕하십니까,

0.5를 안 더하셔도 상관없습니다.

다만 segmentation 시각화를 할때 원래 object보다 외곽선을 살짝 조~오끔 간격을 두면서 그리기 위해서 0.5를 더했을 뿐입니다.

감사합니다.

야간비행님의 프로필 이미지
야간비행
질문자

2023. 01. 29. 22:47

빠른 답변 감사합니다.

말씀하신 의도는 알겠습니다만, 단순히 외곽선의 표현을 위해 픽셀 값을 더 한다면 시각화 할 때 반영해야 할 텐데, 여기는 아예 학습 데이터에 반영되고 있다는 점에서 뭔가 이상하다고 생각이 드네요 ^^;;

게다가 원본 데이터가 정수 단위로 되어 있기 때문에 외곽선을 시각화 할때는 쪼~오끔 간격을 두고 그릴 생각이면 차라리 1을 더하는게 설득력이 있을 것 같구요.

참고하셨다고 하셨던 튜토리얼 코드에도 0.5를 더하게 되어 있는데 의도를 정확히 공감하기가 어려운데, 혹시 또 다른 의미는 없을까요?

질문이 쓸데없이 너무 집요해 보이네요 ^^;;

코드에서 0.5 더하기를 없애면 그만 이니까 크게 신경 쓰지 않으셔도 됩니다. 감사합니다.^^

권 철민님의 프로필 이미지
권 철민
지식공유자

2023. 01. 30. 18:26

네, 말씀하신 부분이 맞습니다.

그리고 잘 아시다 시피 0.5를 더한 부분이 큰 의미적인 부분은 없는것 같습니다. 학습 데이터를 정수가 아닌 소수형으로 바꾸고자 하는 의미도 일부 있는 것 같습니다만, 지극히 개인적인 뇌피셜 입니다.