【Faster RCNN】RPN中bbox的回归操作

代码来自

github: https://github.com/smallcorgi/Faster-RCNN_TF

# ex_roi 用来回归的anchor
# gt_roi 每个anchor对应的ground truth
# 在进行回归前,保证每个需要回归的anchor都有一个gtbox作为回归的目标
def bbox_transform(ex_rois, gt_rois):
    #计算dx,dy时,使用的是anchor和gtbox的中心点,比如中心点x方向距离/anchor的w
    #计算dw,dh时,使用的是对数log形式 np.log(gt_widths / ex_widths)
    ex_widths = ex_rois[:, 2] - ex_rois[:, 0] + 1.0
    ex_heights = ex_rois[:, 3] - ex_rois[:, 1] + 1.0
    ex_ctr_x = ex_rois[:, 0] + 0.5 * ex_widths
    ex_ctr_y = ex_rois[:, 1] + 0.5 * ex_heights

    gt_widths = gt_rois[:, 2] - gt_rois[:, 0] + 1.0
    gt_heights = gt_rois[:, 3] - gt_rois[:, 1] + 1.0
    gt_ctr_x = gt_rois[:, 0] + 0.5 * gt_widths
    gt_ctr_y = gt_rois[:, 1] + 0.5 * gt_heights

    targets_dx = (gt_ctr_x - ex_ctr_x) / ex_widths
    targets_dy = (gt_ctr_y - ex_ctr_y) / ex_heights
    targets_dw = np.log(gt_widths / ex_widths)
    targets_dh = np.log(gt_heights / ex_heights)

    targets = np.vstack(
        (targets_dx, targets_dy, targets_dw, targets_dh)).transpose()
    return targets

 

要训练自己的数据集使用Faster R-CNN模型,你需要进行以下步骤: 1. 首先,你需要准备好自己的数据集,并将其转换为Pascal VOC格式。确保你的数据集包含图像和相应的标注文件。 2. 接下来,你需要下载Faster R-CNN模型的预训练权重文件。你可以在models/pascal_voc/ZF/faster_rcnn_alt_opt文件夹下找到5个文件,分别为stage1_rpn_train.pt、stage1_fast_rcnn_train.pt、stage2_rpn_train.pt、stage2_fast_rcnn_train.pt和fast_rcnn_test.pt。\[1\] 3. 在训练之前,你需要修改一些文件的格式和参数。首先,将output/faster_rcnn_alt_opt/voc_2007_trainval的最终模型ZF_faster_rcnn_final.caffemodel拷贝到data/faster_rcnn_models文件夹,并删除以前生成的类似的模型文件。\[2\] 4. 接下来,你需要修改stage1_fast_rcnn_train.pt和stage2_fast_rcnn_train.pt文件的参数。将num_class参数设置为2(识别1类+背景1类),将cls_score的num_output参数设置为2,将bbox_pred的num_output参数设置为8。这是为了适应你的自定义数据集。\[3\] 5. 最后,你可以开始训练你的自定义数据集。使用修改后的模型文件和数据集进行训练,可以使用相应的训练脚本或命令来启动训练过程。 请注意,以上步骤仅为训练自己的数据集所需的一般步骤。具体的操作可能会因你使用的框架或工具而有所不同。建议你参考相关的文档或教程以获取更详细的指导。 #### 引用[.reference_title] - *1* *2* *3* [faster rcnn 训练自己的数据](https://blog.csdn.net/hanpengpeng329826/article/details/64905021)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值