zhaoweicai / cascade-rcnn

Caffe implementation of multiple popular object detection frameworks
1.04k stars 293 forks source link

some problem about extra loss #70

Closed Yuwenger closed 5 years ago

Yuwenger commented 5 years ago

I add an extra task of segmentation at net res101-15s-800-fpn-cascade, got seg-loss always decline sharply to 0,and at the same time the detection task is well done.So what's wrong with my task? the output loss like this as follows , loss-seg1 is loss of segmentation: 1211 11:29:41.315107 311983 caffe.cpp:254] Starting Optimization I1211 11:29:41.315124 311983 solver.cpp:273] Solving ResNet-101 I1211 11:29:41.315132 311983 solver.cpp:274] Learning Rate Policy: multistep I1211 11:29:42.455559 311983 solver.cpp:219] Iteration 0 (-3.06886e-33 iter/s, 1.1403s/1 iters), loss = 7.37448 I1211 11:29:42.455632 311983 solver.cpp:238] Train net output #0: bbox_iou = 0.533698 I1211 11:29:42.455642 311983 solver.cpp:238] Train net output #1: bbox_iou_2nd = -1 I1211 11:29:42.455649 311983 solver.cpp:238] Train net output #2: bbox_iou_3rd = -1 I1211 11:29:42.455657 311983 solver.cpp:238] Train net output #3: bbox_iou_pre = 0.545175 I1211 11:29:42.455662 311983 solver.cpp:238] Train net output #4: bbox_iou_pre_2nd = -1 I1211 11:29:42.455668 311983 solver.cpp:238] Train net output #5: bbox_iou_pre_3rd = -1 I1211 11:29:42.455675 311983 solver.cpp:238] Train net output #6: cls_accuracy = 0.0800781 I1211 11:29:42.455683 311983 solver.cpp:238] Train net output #7: cls_accuracy_2nd = 0.0078125 I1211 11:29:42.455690 311983 solver.cpp:238] Train net output #8: cls_accuracy_3rd = 0.00195312 I1211 11:29:42.455701 311983 solver.cpp:238] Train net output #9: loss-seg1 = 2.57808 (* 0.1 = 0.257808 loss) I1211 11:29:42.455713 311983 solver.cpp:238] Train net output #10: loss_bbox = 0.0460456 (* 1 = 0.0460456 loss) I1211 11:29:42.455724 311983 solver.cpp:238] Train net output #11: loss_bbox_2nd = 3.32749e-05 (* 0.5 = 1.66374e-05 loss) I1211 11:29:42.455731 311983 solver.cpp:238] Train net output #12: loss_bbox_3rd = 0.000125523 (* 0.25 = 3.13808e-05 loss) I1211 11:29:42.455739 311983 solver.cpp:238] Train net output #13: loss_cls = 2.55823 (* 1 = 2.55823 loss) I1211 11:29:42.455746 311983 solver.cpp:238] Train net output #14: loss_cls_2nd = 4.77735 (* 0.5 = 2.38867 loss) I1211 11:29:42.455754 311983 solver.cpp:238] Train net output #15: loss_cls_3rd = 5.53925 (* 0.25 = 1.38481 loss) I1211 11:29:42.455760 311983 solver.cpp:238] Train net output #16: rpn_fpn2_accuracy = 0.38835 I1211 11:29:42.455781 311983 solver.cpp:238] Train net output #17: rpn_fpn2_accuracy = -1 I1211 11:29:42.455787 311983 solver.cpp:238] Train net output #18: rpn_fpn2_bboxiou = -1 I1211 11:29:42.455796 311983 solver.cpp:238] Train net output #19: rpn_fpn2_loss = 0.805359 (* 0.25 = 0.20134 loss) I1211 11:29:42.455808 311983 solver.cpp:238] Train net output #20: rpn_fpn2_loss = 0 (* 0.25 = 0 loss) I1211 11:29:42.455816 311983 solver.cpp:238] Train net output #21: rpn_fpn3_accuracy = 0.2807 I1211 11:29:42.455821 311983 solver.cpp:238] Train net output #22: rpn_fpn3_accuracy = -1 I1211 11:29:42.455832 311983 solver.cpp:238] Train net output #23: rpn_fpn3_bboxiou = -1 I1211 11:29:42.455842 311983 solver.cpp:238] Train net output #24: rpn_fpn3_loss = 0.787759 (* 0.25 = 0.19694 loss) I1211 11:29:42.455852 311983 solver.cpp:238] Train net output #25: rpn_fpn3_loss = 0 (* 0.25 = 0 loss) I1211 11:29:42.455859 311983 solver.cpp:238] Train net output #26: rpn_fpn4_accuracy = 0.456133 I1211 11:29:42.455865 311983 solver.cpp:238] Train net output #27: rpn_fpn4_accuracy = -1 I1211 11:29:42.455870 311983 solver.cpp:238] Train net output #28: rpn_fpn4_bboxiou = -1 I1211 11:29:42.455878 311983 solver.cpp:238] Train net output #29: rpn_fpn4_loss = 0.676324 (* 0.25 = 0.169081 loss) I1211 11:29:42.455884 311983 solver.cpp:238] Train net output #30: rpn_fpn4_loss = 0 (* 0.25 = 0 loss) I1211 11:29:42.455891 311983 solver.cpp:238] Train net output #31: rpn_fpn5_accuracy = 0.577586 I1211 11:29:42.455898 311983 solver.cpp:238] Train net output #32: rpn_fpn5_accuracy = 0 I1211 11:29:42.455921 311983 solver.cpp:238] Train net output #33: rpn_fpn5_bboxiou = 0.747389 I1211 11:29:42.455931 311983 solver.cpp:238] Train net output #34: rpn_fpn5_loss = 0.682334 (* 0.25 = 0.170583 loss) I1211 11:29:42.455940 311983 solver.cpp:238] Train net output #35: rpn_fpn5_loss = 0.00366986 (* 0.25 = 0.000917466 loss) I1211 11:29:42.455963 311983 sgd_solver.cpp:105] Iteration 0, lr = 0.001 I1211 11:29:42.978440 311983 solver.cpp:219] Iteration 1 (1.91289 iter/s, 0.52277s/1 iters), loss = 4.18125 I1211 11:29:42.978505 311983 solver.cpp:238] Train net output #0: bbox_iou = 0.561625 I1211 11:29:42.978515 311983 solver.cpp:238] Train net output #1: bbox_iou_2nd = -1 I1211 11:29:42.978523 311983 solver.cpp:238] Train net output #2: bbox_iou_3rd = -1 I1211 11:29:42.978529 311983 solver.cpp:238] Train net output #3: bbox_iou_pre = 0.526271 I1211 11:29:42.978535 311983 solver.cpp:238] Train net output #4: bbox_iou_pre_2nd = -1 I1211 11:29:42.978541 311983 solver.cpp:238] Train net output #5: bbox_iou_pre_3rd = -1 I1211 11:29:42.978549 311983 solver.cpp:238] Train net output #6: cls_accuracy = 0.990234 I1211 11:29:42.978555 311983 solver.cpp:238] Train net output #7: cls_accuracy_2nd = 0.998047 I1211 11:29:42.978562 311983 solver.cpp:238] Train net output #8: cls_accuracy_3rd = 0.998047 I1211 11:29:42.978575 311983 solver.cpp:238] Train net output #9: loss-seg1 = 3.57796e-12 (* 0.1 = 3.57796e-13 loss) I1211 11:29:42.978585 311983 solver.cpp:238] Train net output #10: loss_bbox = 0.029296 (* 1 = 0.029296 loss) I1211 11:29:42.978593 311983 solver.cpp:238] Train net output #11: loss_bbox_2nd = 5.49038e-05 (* 0.5 = 2.74519e-05 loss) I1211 11:29:42.978605 311983 solver.cpp:238] Train net output #12: loss_bbox_3rd = 9.01831e-05 (* 0.25 = 2.25458e-05 loss) I1211 11:29:42.978615 311983 solver.cpp:238] Train net output #13: loss_cls = 0.219218 (* 1 = 0.219218 loss) I1211 11:29:42.978621 311983 solver.cpp:238] Train net output #14: loss_cls_2nd = 0.0426511 (* 0.5 = 0.0213256 loss) I1211 11:29:42.978629 311983 solver.cpp:238] Train net output #15: loss_cls_3rd = 0.0471542 (* 0.25 = 0.0117885 loss) I1211 11:29:42.978636 311983 solver.cpp:238] Train net output #16: rpn_fpn2_accuracy = 0.397167 I1211 11:29:42.978642 311983 solver.cpp:238] Train net output #17: rpn_fpn2_accuracy = -1 I1211 11:29:42.978648 311983 solver.cpp:238] Train net output #18: rpn_fpn2_bboxiou = -1 I1211 11:29:42.978665 311983 solver.cpp:238] Train net output #19: rpn_fpn2_loss = 0.770539 (* 0.25 = 0.192635 loss) I1211 11:29:42.978674 311983 solver.cpp:238] Train net output #20: rpn_fpn2_loss = 0 (* 0.25 = 0 loss) I1211 11:29:42.978682 311983 solver.cpp:238] Train net output #21: rpn_fpn3_accuracy = 0.442067 I1211 11:29:42.978688 311983 solver.cpp:238] Train net output #22: rpn_fpn3_accuracy = -1 I1211 11:29:42.978695 311983 solver.cpp:238] Train net output #23: rpn_fpn3_bboxiou = -1 I1211 11:29:42.978706 311983 solver.cpp:238] Train net output #24: rpn_fpn3_loss = 0.705484 (* 0.25 = 0.176371 loss) I1211 11:29:42.978713 311983 solver.cpp:238] Train net output #25: rpn_fpn3_loss = 0 (* 0.25 = 0 loss) I1211 11:29:42.978719 311983 solver.cpp:238] Train net output #26: rpn_fpn4_accuracy = 0.467333 I1211 11:29:42.978725 311983 solver.cpp:238] Train net output #27: rpn_fpn4_accuracy = -1 I1211 11:29:42.978731 311983 solver.cpp:238] Train net output #28: rpn_fpn4_bboxiou = -1 I1211 11:29:42.978739 311983 solver.cpp:238] Train net output #29: rpn_fpn4_loss = 0.705333 (* 0.25 = 0.176333 loss) I1211 11:29:42.978746 311983 solver.cpp:238] Train net output #30: rpn_fpn4_loss = 0 (* 0.25 = 0 loss) I1211 11:29:42.978770 311983 solver.cpp:238] Train net output #31: rpn_fpn5_accuracy = 0.578848 I1211 11:29:42.978776 311983 solver.cpp:238] Train net output #32: rpn_fpn5_accuracy = 0 I1211 11:29:42.978783 311983 solver.cpp:238] Train net output #33: rpn_fpn5_bboxiou = 0.78305 I1211 11:29:42.978812 311983 solver.cpp:238] Train net output #34: rpn_fpn5_loss = 0.642216 (* 0.25 = 0.160554 loss) I1211 11:29:42.978819 311983 solver.cpp:238] Train net output #35: rpn_fpn5_loss = 0.00177215 (* 0.25 = 0.000443038 loss) I1211 11:29:42.978829 311983 sgd_solver.cpp:105] Iteration 1, lr = 0.001 I1211 11:29:43.415665 311983 solver.cpp:219] Iteration 2 (2.28771 iter/s, 0.437119s/1 iters), loss = 3.27681 I1211 11:29:43.415719 311983 solver.cpp:238] Train net output #0: bbox_iou = 0.585819 I1211 11:29:43.415746 311983 solver.cpp:238] Train net output #1: bbox_iou_2nd = 0.655582 I1211 11:29:43.415753 311983 solver.cpp:238] Train net output #2: bbox_iou_3rd = -1 I1211 11:29:43.415760 311983 solver.cpp:238] Train net output #3: bbox_iou_pre = 0.535987 I1211 11:29:43.415771 311983 solver.cpp:238] Train net output #4: bbox_iou_pre_2nd = 0.642826 I1211 11:29:43.415776 311983 solver.cpp:238] Train net output #5: bbox_iou_pre_3rd = -1 I1211 11:29:43.415782 311983 solver.cpp:238] Train net output #6: cls_accuracy = 0.984375 I1211 11:29:43.415789 311983 solver.cpp:238] Train net output #7: cls_accuracy_2nd = 0.992188 I1211 11:29:43.415796 311983 solver.cpp:238] Train net output #8: cls_accuracy_3rd = 0.998047 I1211 11:29:43.415807 311983 solver.cpp:238] Train net output #9: loss-seg1 = 8.67718e-20 (* 0.1 = 8.67718e-21 loss) I1211 11:29:43.415815 311983 solver.cpp:238] Train net output #10: loss_bbox = 0.0362014 (* 1 = 0.0362014 loss) I1211 11:29:43.415823 311983 solver.cpp:238] Train net output #11: loss_bbox_2nd = 0.0247153 (* 0.5 = 0.0123577 loss) I1211 11:29:43.415834 311983 solver.cpp:238] Train net output #12: loss_bbox_3rd = 0.000345883 (* 0.25 = 8.64708e-05 loss) I1211 11:29:43.415843 311983 solver.cpp:238] Train net output #13: loss_cls = 0.583764 (* 1 = 0.583764 loss) I1211 11:29:43.415849 311983 solver.cpp:238] Train net output #14: loss_cls_2nd = 0.357646 (* 0.5 = 0.178823 loss) I1211 11:29:43.415858 311983 solver.cpp:238] Train net output #15: loss_cls_3rd = 0.0923428 (* 0.25 = 0.0230857 loss) I1211 11:29:43.415866 311983 solver.cpp:238] Train net output #16: rpn_fpn2_accuracy = 0.52755

zhaoweicai commented 5 years ago

I have no experience of segmentation task with this codebase. If you want to work on segmentation, it is highly recommended to use the code of Detectron-Cascade-RCNN.