Skip to content

After modifing bbox encode format, the reg loss is Nan #25

@YeungLy

Description

@YeungLy

using DOTA dataset, default cfgs.py of DOTA

原本代码对于输入grountruth box的格式是4个角点坐标 (x0, y0, x1, y1, x2, y2, x3, y3)
我想改成bbox中心点和size的格式,即(xcenter, ycenter, width, height, angle),也就是论文里Fig 9.(b)描述的格式,使得angle的角度范围位于(-180, 0), box的长宽保持固定。
看了下代码感觉网络训练的时候用的是(xc, yc, w, h, angle)的格式,以为只需要改动 gtboxes 输入输出的坐标转换部分就行,于是改了代码里用到box_utils.coordinate_convert.forward convert()box_utils.coordinate_convert.backward convert()的地方,以及angle_range=180的地方

改完之后跑训练代码,一直都是跑到100+步左右就出现除零warning,之后的reg loss就都是Nan。
参照了issue里面有一个方法提到加epsilon=1e-5,也还是没有解决问题。而且在tensorboard里面看refine_stage都没有positive anchor。不知道是什么情况会导致ex_roi(也就是anchor)的长宽出现0?

数据没有问题,直接用没有改的代码跑是正常的。

报错信息:
refinebox_target_layer_without_boxweight.py:40: RuntimeWarning: invalid value encountered in greater_equal
​ positive_indices = max_overlaps >= pos_threshold
refinebox_target_layer_without_boxweight.py:40: RuntimeWarning: invalid value encountered in greater
​ ignore_indices = (max_overlaps > neg_threshold) & ~positive_indices
bbox_transform.py:98 RuntimeWarning: divide by zero encountered in true_divide
​ targets_dy = (gt_rois[:, 1] - ex_rois[:, 1]) / ex_rois[:, 3]
bbox_transform.py:98 RuntimeWarning: overflow encountered in true_divide
​ targets_dy = (gt_rois[:, 1] - ex_rois[:, 1]) / ex_rois[:, 3]
bbox_transform.py:98 RuntimeWarning: divide by zero encountered in true_divide
​ targets_dw = np.log(gt_rois[:, 2] / (ex_rois[:, 2] + epsilon) )
bbox_transform.py:98 RuntimeWarning: invalid value encountered in true_divide
​ targets_dx = (gt_rois[:, 0] - ex_rois[:, 0]) / ex_rois[:, 2]
bbox_transform.py:98 RuntimeWarning: divide by zero encountered in true_divide
​ targets_dh = np.log(gt_rois[:, 3] / (ex_rois[:, 3] + epsilon) )

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions