질문&답변
Train시에 GT데이터들의 Annotation이 어떻게 각 피처맵을 거친 값들에 적용되는지 궁금합니다!
자세한 설명 감사드립니다! 추가적으로 말씀해주신 layers.py에서 bbox_transform_inv() 부분이 잘 모르겠어서 설명 한 번 부탁드립니다! def bbox_transform_inv(boxes, deltas, scale_factors=None): cxa = (boxes[..., 0] + boxes[..., 2]) / 2 cya = (boxes[..., 1] + boxes[..., 3]) / 2 wa = boxes[..., 2] - boxes[..., 0] ha = boxes[..., 3] - boxes[..., 1] ty, tx, th, tw = deltas[..., 0], deltas[..., 1], deltas[..., 2], deltas[..., 3] if scale_factors: ty *= scale_factors[0] tx *= scale_factors[1] th *= scale_factors[2] tw *= scale_factors[3] w = tf.exp(tw) * wa h = tf.exp(th) * ha cy = ty * ha + cya cx = tx * wa + cxa ymin = cy - h / 2. xmin = cx - w / 2. ymax = cy + h / 2. xmax = cx + w / 2. return tf.stack([xmin, ymin, xmax, ymax], axis=-1) 이 부분이 제가 보기엔 수업 때 알려주신 BBox Regression과 유사해 보여서요. 각 head layer에서 feature map 별 grid 형태로 좌표를 정하는 것 같고, 이 말씀이 bbox좌표들을 개별 feature map 의 grid 형태에 따른 좌표로 변환해준다는 것으로 해석하면 될까요?? 마지막으로 하나만 더 질문드립니다 common.py에서 def preprocess_group_entry(self, image, annotations): 여기서 annotation을 scale 값으로 조정하는 것 외에 피처맵에 따른 annotation 조정은 찾기 어려운 것 같아서 혹시 어떤 함수들을 조합하는건지 알려주실 수 있으신가요? 제가 코드보는게 익숙치 않아서 ㅠㅠ 제 역량으로는 알기 힘들어서 이렇게 부탁드려요!
- 좋아요수
- 0
- 댓글수
- 2
- 조회수
- 317





