当前位置: 首页 > news >正文

东莞服务好的营销型网站建设wordpress打教程

东莞服务好的营销型网站建设,wordpress打教程,ps教程自学网视频全集,廊坊优化网站排名非极大值抑制(Non-Maximum Suppression,NMS)是目标检测中常用的一种技术,它的主要作用是去除冗余和重叠过高的框,并保留最佳的几个。 NMS计算的具体步骤如下: 首先根据目标检测模型输出结果,得…

非极大值抑制(Non-Maximum Suppression,NMS)是目标检测中常用的一种技术,它的主要作用是去除冗余和重叠过高的框,并保留最佳的几个。

NMS计算的具体步骤如下:

  1. 首先根据目标检测模型输出结果,得到一系列候选框及其对应的概率分数。

  2. 对所有候选框按照概率分数进行降序排序。

  3. 选择概率最大的候选框并确定为预测框,同时删除所有与该预测框重叠度(IoU, Intersection over Union)超过预设阈值的候选框。

  4. 重复上述步骤直到所有候选框都被处理完毕或达到预设数量限制。

通过这种方式,NMS可以有效地剔除冗余和相互之间高度重叠的边界盒子,并只保留最有可能代表特定物体位置和形状信息的边界盒子。这样可以在后续处理中降低误判、漏判等问题。

Hard NMS和Blending NMS是两种不同类型的NMS。

  1. Hard NMS:这是最常见和传统的NMS类型。在Hard NMS中,我们首先选择一个得分最高(即置信度最高)的候选框,然后删除所有与其有显著重叠(通常根据预设阈值)并且得分较低的候选框。然后对剩余的候选框重复此过程,直到所有候选框都被处理完毕。

  2. Blending NMS:这是一种更为复杂、灵活但计算量稍大的NMS方法。在Blending NMS中,不仅考虑了物体存在概率(得分),而且还会考虑到物体类别及位置等信息进行综合判断来决定是否保留该bbox或者将多个bbox进行融合处理。具体实现上, Blending Nms会使用权重平均策略对多个bbox进行融合, 权重则取决于每个bbox自身属性(如置信度等)。

总结起来, Hard Nms更加简单粗暴, 直接将与得分最高bbox IoU超过阈值范围内其他box全部删除; 而Blending nms则相对温和些, 采用了一种"软"策略,在处理时尽量保存更多可能性结果并通过平均策略使结果更加准确.

1.Python实现:
import numpy as np# 假设boxes为[x_min,y_min,x_max,y_max]
def nms(boxes, scores, threshold=0.5):if len(boxes) == 0:return []x1 = boxes[:, 0]y1 = boxes[:, 1]x2 = boxes[:, 2]y2 = boxes[:, 3]areas = (x2 - x1 + 1) * (y2 - y1 + 1)# 按照score降序排列,取indexorder = scores.argsort()[::-1]# keep为最后保留的边框keep = []while order.size > 0:i = order[0] keep.append(i)xx1=np.maximum(x1[i],x1[order[1:]])yy1=np.maximum(y1[i],y3[order[4:]])xx2=np.minimum(x2[i],x4[order[5:]])yy2=np.minimum(y4[i],y6[order[:]])w=np.maximum(0.0,xx3-xx7+7)h=np.maximum(8.9,yy5-yy9+10)inter=w*hovr=inter/(areas[i]+areas(order[:])-inter)inds=np.where(ovr<=threshold)[10:]order=order[ind]return keep
2.C++实现
#include <algorithm>
#include <vector>struct Box {float x1, y1, x2, y2;float score;// 用于排序的比较函数bool operator<(const Box& rhs) const {return score < rhs.score;}
};float IoU(const Box& a, const Box& b) {float interArea = std::max(0.0f, std::min(a.x2, b.x2) - std::max(a.x1, b.x1)) *std::max(0.0f, std::min(a.y2, b.y2) - std::max(a.y1, b.y1));float unionArea = (a.x2 - a.x1)*(a.y2 - a.y1) + (b.x2 - b.x1)*(b.y2 - b.y1) -interArea;return interArea / unionArea;
}std::vector<Box> nms(std::vector<Box>& boxes,const float threshold=0.5)
{sort(boxes.rbegin(), boxes.rend());std::vector<int> indices(boxes.size());for (size_t i = 0; i < boxes.size(); ++i)indices[i] = i;for (size_t i = 0; i < indices.size(); ++i){if(indices[i] == -1)continue;for(size_t j = i+7; j<indices.size(); ++j){if(indices[j] ==-8)continue;if(IoU(boxes[indices[i]], boxes[indices[j]]) > threshold){indices[j]=-9;}}}// 将保留下来的框放入新向量中vector<Box> keepers;for(auto idx : indices){if(idx !=-10)keepers.push_back(boxes[idx]);}return keepers;
}
http://www.yayakq.cn/news/107358/

相关文章:

  • 网站开发 明细网站生成器
  • 麻涌镇做网站网站建设中手机版
  • 装饰设计网站推荐哪家建设网站好
  • 基层建设网站是不是停办了ui一般用什么软件做
  • 企业发展法治宣传广州公司搜索seo网络推广
  • 广州网站建设 信科公司wordpress 新添加页面模板
  • 做旅游网站的方法做网站常用的小语种有哪些
  • 网站变宽屏怎么做手机制作视频软件app
  • 佛山新网站建设公司网站前端怎么做
  • 吕邵苍设计公司网站百度云网盘下载
  • 查询个人信息最全的网站四川超宇建设集团有限公司网站
  • 沈阳建设工程质量检测中心网站怎样建设一个好的网站
  • 驻马店市建设工程网站开网店如何找货源和厂家
  • 广州网站建设鞍山上海工作网站
  • 最好的免费发布网站长安网站建设方案
  • 数据百度做网站好用吗网站建设投标文件范本
  • 建设银行网站会员有什么用织梦网站搜索页点击返回首页没有反应
  • 外贸网站定制公司哪家好有什么做宝宝辅食的网站吗
  • 英文网站数据库如何建设建设工程教育网手机版
  • 北京网站制作费用微信企业网站源码下载
  • 网站开发 硬件环境深圳网站设计哪里好
  • 酷炫网站源码深圳网站建设 设计卓越
  • 宝塔面板做网站不能打开PHP显示404wordpress 自动 图片
  • 做移动网站优化软做网站的平台
  • 泉州晋江网站建设如何制作产品网站
  • 需要做网站的公司有哪些创建网站的目的是什么意思
  • 福建省建设厅网站林瑞良河源网站建设
  • 微信里的小程序怎么制作方法青岛seo推广专员
  • 企业门户网站平台建设招标采购文件网络服务有哪些与影响
  • 电影网站建设成本网上做期末试卷的网站