강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của deeplearner
deeplearner

câu hỏi đã được viết

Việc triển khai bài viết học sâu được học thông qua việc triển khai YOLO với TensorFlow 2.0

loss function 관련 질문입니다

Viết

·

227

0

bounding box 관련 loss(coord loss)에서 x, y 부분에 대해서 질문이 있습니다.

논문에 보면 아래와 같은 문장이 나오는데요

We parametrize the bounding box x and y coordinates to be offsets of a particular grid cell location so they are also bounded between 0 and 1.

x, y 값이 이미지 전체 width, height에 대한 비율로 0에서 1사이 값이 되는게 아니고 하나의 cell 안에서의 상대적인 위치로 normalize 하는거 같은데요, 현재 코드는 image 전체의 width, height 기준으로 되어 있는 것 같습니다.

이 부분을 맞게 이해한건지 질문드립니다.

lossfunctionboundingbox딥러닝tensorflow

Câu trả lời 1

0

AISchool님의 프로필 이미지
AISchool
Người chia sẻ kiến thức

안녕하세요~. 반갑습니다.

현재 코드에서 coord_loss 적용시 cell size내에서 기준으로 normalize를 해주기위해서 cell_size를 반영해서 loss를 계산하고 있습니다. 아래 라인을 참조하세요~.

https://github.com/solaris33/YOLO-v1-tf2/blob/main/loss.py#L83

감사합니다~.

deeplearner님의 프로필 이미지
deeplearner
Người đặt câu hỏi

빠른 답변 감사드립니다.

추가질문이 있는데요,

편의를 위해서 input_width = 100으로 하고, 5x5로 gride cell을 나눈다고 가정해보겠습니다. 즉 cell_size = 5인 상황에서

pred_xcenter=70이었다고 하면,

tf.nn.l2_loss(object_exists_cell * best_box_mask * (pred_xcenter - xcenter) / (input_width / cell_size))

 이 식에서 l2_loss 안쪽에 있는 예측값인 pred_xcenter / (input_width / cell_size)를 계산하면

70 / (100/5) = 3.5 가 나오는데요 (object_exist_cell과 best_box_mask는 모두 0 또는 1의 값이므로 모두 1로 가정하였습니다)

0.5가 나와야 맞는거 아닌가요? [60,80)이 하나의 cell이므로 60 -> 0 이 되고 80 -> 1이 되게 normalize되어서 70은 0.5가 나와야 된다고 이해했는데요

3.5는 위의 논문에서 0에서 1사이값으로 parameterize 했다는 것에도 안맞는거 같아서 다시 질문드립니다.

AISchool님의 프로필 이미지
AISchool
Người chia sẻ kiến thức

안녕하세요~.
pred_xcenter를 단독으로 생각하시기보다는 정답인 xcenter와 같이 생각해보시면 좀더 직관적으로 이해가 되실 것 같습니다.
1. 위 말씀해주신 상황에서 pred_xcenter가 70인데 정답이 75였다면 5의 오차가 생기게됩니다.
2. 이때 그냥 input_width=100로 나눠서 loss를 반영해주면 5/100 = 0.05의 오차가 반영됩니다.
3. 하지만 이때 cell_size=5를 반영해서 적용해주게 되면 5/(100/5) = 0.25의 오차가 반영됩니다.
즉, 5라는 오차는 전체 이미지 기준으로는 0.05(5%)이지만, 하나의 cell_size 기준(=20)에서 5의 오차는 0.25(25%)의 오차이기 때문에 cell_size를 기준으로 오차가 loss로 적용되게 됩니다.

Hình ảnh hồ sơ của deeplearner
deeplearner

câu hỏi đã được viết

Đặt câu hỏi