Skip to content

Commit 7da7881

Browse files
tink2123heavengate
authored andcommitted
Detailed coordinate description for yolov3 loss (#17007)
* Detailed coordinate description for yolov3 loss test=develop * modified api.spec test=develop * modified loss name * fix api.spec test=develop * polish description test=develop * modified api.spec test=develop
1 parent 7330cd6 commit 7da7881

File tree

3 files changed

+11
-9
lines changed

3 files changed

+11
-9
lines changed

paddle/fluid/API.spec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -358,7 +358,7 @@ paddle.fluid.layers.generate_mask_labels (ArgSpec(args=['im_info', 'gt_classes',
358358
paddle.fluid.layers.iou_similarity (ArgSpec(args=['x', 'y', 'name'], varargs=None, keywords=None, defaults=(None,)), ('document', '587845f60c5d97ffdf2dfd21da52eca1'))
359359
paddle.fluid.layers.box_coder (ArgSpec(args=['prior_box', 'prior_box_var', 'target_box', 'code_type', 'box_normalized', 'name', 'axis'], varargs=None, keywords=None, defaults=('encode_center_size', True, None, 0)), ('document', '032d0f4b7d8f6235ee5d91e473344f0e'))
360360
paddle.fluid.layers.polygon_box_transform (ArgSpec(args=['input', 'name'], varargs=None, keywords=None, defaults=(None,)), ('document', '0e5ac2507723a0b5adec473f9556799b'))
361-
paddle.fluid.layers.yolov3_loss (ArgSpec(args=['x', 'gt_box', 'gt_label', 'anchors', 'anchor_mask', 'class_num', 'ignore_thresh', 'downsample_ratio', 'gt_score', 'use_label_smooth', 'name'], varargs=None, keywords=None, defaults=(None, True, None)), ('document', '4d170807a13d33925d1049d2892832bf'))
361+
paddle.fluid.layers.yolov3_loss (ArgSpec(args=['x', 'gt_box', 'gt_label', 'anchors', 'anchor_mask', 'class_num', 'ignore_thresh', 'downsample_ratio', 'gt_score', 'use_label_smooth', 'name'], varargs=None, keywords=None, defaults=(None, True, None)), ('document', 'eb62b1ff7cc981f3483a62321a491f2e'))
362362
paddle.fluid.layers.yolo_box (ArgSpec(args=['x', 'img_size', 'anchors', 'class_num', 'conf_thresh', 'downsample_ratio', 'name'], varargs=None, keywords=None, defaults=(None,)), ('document', '5566169a5ab993d177792c023c7fb340'))
363363
paddle.fluid.layers.box_clip (ArgSpec(args=['input', 'im_info', 'name'], varargs=None, keywords=None, defaults=(None,)), ('document', '397e9e02b451d99c56e20f268fa03f2e'))
364364
paddle.fluid.layers.multiclass_nms (ArgSpec(args=['bboxes', 'scores', 'score_threshold', 'nms_top_k', 'keep_top_k', 'nms_threshold', 'normalized', 'nms_eta', 'background_label', 'name'], varargs=None, keywords=None, defaults=(0.3, True, 1.0, 0, None)), ('document', 'ca7d1107b6c5d2d6d8221039a220fde0'))

paddle/fluid/operators/detection/yolov3_loss_op.cc

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -202,13 +202,13 @@ class Yolov3LossOpMaker : public framework::OpProtoAndCheckerMaker {
202202
the max IoU should be 1, and if the anchor box has IoU bigger than ignore
203203
thresh, the confidence score loss of this anchor box will be ignored.
204204
205-
Therefore, the yolov3 loss consist of three major parts, box location loss,
206-
confidence score loss, and classification loss. The L1 loss is used for
207-
box coordinates (w, h), and sigmoid cross entropy loss is used for box
208-
coordinates (x, y), confidence score loss and classification loss.
205+
Therefore, the yolov3 loss consists of three major parts: box location loss,
206+
objectness loss and classification loss. The L1 loss is used for
207+
box coordinates (w, h), sigmoid cross entropy loss is used for box
208+
coordinates (x, y), objectness loss and classification loss.
209209
210-
Each groud truth box find a best matching anchor box in all anchors,
211-
prediction of this anchor box will incur all three parts of losses, and
210+
Each groud truth box finds a best matching anchor box in all anchors.
211+
Prediction of this anchor box will incur all three parts of losses, and
212212
prediction of anchor boxes with no GT box matched will only incur objectness
213213
loss.
214214

python/paddle/fluid/layers/detection.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -525,8 +525,10 @@ def yolov3_loss(x,
525525
Args:
526526
x (Variable): ${x_comment}
527527
gt_box (Variable): groud truth boxes, should be in shape of [N, B, 4],
528-
in the third dimenstion, x, y, w, h should be stored
529-
and x, y, w, h should be relative value of input image.
528+
in the third dimenstion, x, y, w, h should be stored.
529+
x,y is the center cordinate of boxes, w, h are the
530+
width and height, x, y, w, h should be divided by
531+
input image height to scale to [0, 1].
530532
N is the batch number and B is the max box number in
531533
an image.
532534
gt_label (Variable): class id of ground truth boxes, shoud be in shape

0 commit comments

Comments
 (0)