iou iof matrix_iof

本文介绍了Matrix IOF的概念,它是通过将裁剪后的ROI除以原始boxes来计算的。当存在全覆盖时,Matrix IOF保留信息。这个过程用于图像增强,通过裁剪大图生成小图来检测目标,尤其是对于小目标检测有增强效果。随机缩放比例(scale)设置在0.6到1.0之间,确保不会过度放大图像,主要有利于小目标的检测,对大目标检测效果有限。
摘要由CSDN通过智能技术生成

 

matrix_iof 的意思是裁剪后的roi除以boxes,有全覆盖的则留下。

roi是裁剪后的,boxes是原来的框。

    rect1 = [1, 1, 3, 5]
    # (top, left, bottom, right)
    rect2 = [1, 1, 3, 3]
    boxes = np.array([rect1])
    roi = np.array([rect2])
    #
    value = matrix_iof(boxes,roi)
    print(value)

    flag = (value >= 1)
    if not flag.any():
        print("no good")

增强的原理是,裁剪大图,变成小图,如果还有目标,则ok。

 

scale = random.uniform(0.6, 1.0)

是裁剪后的图还是比较大,这样就不会放大,增强小目标检测,对大目标检测没帮助。


import numpy as np

#相交面积除以a面积
def matrix_iof(a, b):
    """
    return 相交面积除以a面积
    &
torch.save(model.state_dict(), r'./saved_model/' + str(args.arch) + '_' + str(args.batch_size) + '_' + str(args.dataset) + '_' + str(args.epoch) + '.pth') # 计算GFLOPs flops = 0 for name, module in model.named_modules(): if isinstance(module, torch.nn.Conv2d): flops += module.weight.numel() * 2 * module.in_channels * module.out_channels * module.kernel_size[ 0] * module.kernel_size[1] / module.stride[0] / module.stride[1] elif isinstance(module, torch.nn.Linear): flops += module.weight.numel() * 2 * module.in_features start_event = torch.cuda.Event(enable_timing=True) end_event = torch.cuda.Event(enable_timing=True) start_event.record() with torch.no_grad(): output = UNet(args,3,1).to(device) end_event.record() torch.cuda.synchronize() elapsed_time_ms = start_event.elapsed_time(end_event) gflops = flops / (elapsed_time_ms * 10 ** 6) print("GFLOPs: {:.2f}".format(gflops)) return best_iou, aver_iou, aver_dice, aver_hd, aver_accuracy, aver_recall, aver_precision, aver_f1score, aver_memory, fps, parameters, gflops出现错误 best_iou,aver_iou,aver_dice,aver_hd, aver_accuracy, aver_recall, aver_precision, aver_f1score, aver_memory, FPS, parameters, gflops = val(model,best_iou,val_dataloader) File "D:/BaiduNetdiskDownload/0605_ghostv2unet _tunnelcrack/ghostunet++/UNET++/main.py", line 143, in val return best_iou, aver_iou, aver_dice, aver_hd, aver_accuracy, aver_recall, aver_precision, aver_f1score, aver_memory, fps, parameters, gflops UnboundLocalError: local variable 'gflops' referenced before assignment怎么修改
06-08
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI算法网奇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值