<=iou_threshold).reshape(-1)B = B[box_iou_idx+1]return torch.tensor(keep,device=boxes.device)"""使用非极大值抑制来预测边界框"""def multibox_detection(cls_probs,offset_preds,anchors,nms_threshold=0.5,pos_threshold=0.009999999):#@savedevice,batch_size = cls_probs.device,cls_probs.shape[0]anchors = anchors.squeeze(0)num_classes,num_anchors = cls_probs.shape[1],cls_probs.shape[2]#存储批量样本中预测的一些信息out = []for i in range(batch_size):cls_prob = cls_probs[i]offset_pred = offset_preds[i].reshape(-1,4)conf,class_id = torch.max(cls_prob[1:],dim=0)#根据anchors和锚框偏移量得到预测真实边界框的值predict_bb = offset_inverse(anchors,offset_pred)#根据nms去除一些重合比较大的预测真实边界框,保留重合率不大的预测真实边界框keep = nms(predict_bb,conf,nms_threshold)# 找到所有的non_keep索引,并将类设置为背景-1anchors_idx = torch.arange(num_anchors,device=device,dtype=torch.long)idx = torch.cat((keep,anchors_idx))uniques,counts = idx.unique(return_counts=True)non_keep = uniques[counts==1]class_id[non_keep] = -1anchors_all_id = torch.cat((keep,non_keep))# pos_threshold是一个用于非背景预测的阈值,将低于pos_threshold阈值的预测真实边界框的类别设置为背景类-1below_min_idx = (conf
1、生成多个锚框
2、根据交并比,将真实框分配给锚框
3、对分配好的,标注类别和偏移量
4、根据偏移量,留下最准确的边界框,并显示出来
- 7月6日什么节日;7月6日什么节日?
- 九日君棕乳棉枕,3月6日和男友同房,9号开始出现乳白色酸
- 8月8日美股成交额前20:礼来业绩超预期股价创新高 股票成交量创历史之最吗
- 2017年8月天猫三七品牌销量排行榜 TOP10 中国十大三七粉品牌
- 2023年台风达维8月25日高清云图汇总 10号台风卫星云图今日更新
- 出生日期加怀*月份推算男女,生日1989.12.9日生日2018.12.16日怀*是男是女
- 浙大企业家宁波·舟山同学会换届大会胜利召开,邬志祥当选为会长 中国十大杰出策划人
- 固定资产投资增速连续六年位居全省前列东方加快建设现代化西南部中心城市 投资规模历史之最
- 骚白挑战世界纪录333连胜破吉尼斯世界纪录 333吉尼斯记录
- 奥维睿沃:海信系电视上半年增长22.3%持续领跑,站稳全球第二 世界十大液晶电视品牌