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

免费网站加速软件东营网站建设怎么建设

免费网站加速软件,东营网站建设怎么建设,网络搭建百度百科,如何做企业文化培训文章目录 前言一、NMS是什么#xff1f;二、代码展示三、代码实现思路总结 前言 目标检测模型推理后#xff0c;一般都需要进行NMS操作进行多余框去重#xff0c;板端部署一般不用opencv自带的NMS#xff0c;所以记录下手写NMS的代码。 一、NMS是什么#xff1f; 非极大… 文章目录 前言一、NMS是什么二、代码展示三、代码实现思路总结 前言 目标检测模型推理后一般都需要进行NMS操作进行多余框去重板端部署一般不用opencv自带的NMS所以记录下手写NMS的代码。 一、NMS是什么 非极大值抑制Non-Maximum SuppressionNMS算法用于在一组边界框BoundingBoxes中去除高度重叠的边界框只保留最具代表性的一个。 二、代码展示 #include iostream #include vector #include algorithm// 边界框结构 struct BoundingBox {float x, y, w, h, confidence;// 计算边界框的面积float area() const {return w * h;} };// 计算两个边界框之间的IoU float iou(const BoundingBox a, const BoundingBox b) {const float area_a a.area();const float area_b b.area();// 计算重叠区域的坐标范围const float x1 std::max(a.x, b.x);const float y1 std::max(a.y, b.y);const float x2 std::min(a.x a.w, b.x b.w);const float y2 std::min(a.y a.h, b.y b.h);// 计算重叠区域的面积const float intersection_area std::max(0.0f, x2 - x1) * std::max(0.0f, y2 - y1);// 计算并集区域的面积const float union_area area_a area_b - intersection_area;// 计算IoUreturn union_area 0 ? intersection_area / union_area : 0; }// 非极大值抑制函数 std::vectorBoundingBox nms(std::vectorBoundingBox boxes, float threshold) {// 根据置信度排序std::sort(boxes.begin(), boxes.end(),[](const BoundingBox a, const BoundingBox b) { return a.confidence b.confidence; });std::vectorBoundingBox result;for (size_t i 0; i boxes.size(); i) {bool keep true;for (size_t j 0; j result.size(); j) {if (iou(boxes[i], result[j]) threshold) {keep false;break;}}if (keep) {result.push_back(boxes[i]);}}return result; }int main() {std::vectorBoundingBox boxes;// 添加一些示例边界框数据boxes.push_back({10, 10, 20, 20, 0.9});boxes.push_back({15, 15, 25, 25, 0.8});boxes.push_back({30, 30, 20, 20, 0.7});boxes.push_back({40, 40, 15, 15, 0.85});// 运行非极大值抑制算法保留不重叠的边界框float threshold 0.5;std::vectorBoundingBox result nms(boxes, threshold);// 输出保留下来的边界框std::cout 保留的边界框 std::endl;for (const BoundingBox box : result) {std::cout x: box.x , y: box.y , w: box.w , h: box.h , confidence: box.confidence std::endl;}return 0; } 三、代码实现思路 iou(const BoundingBox a, const BoundingBox b): 这个函数计算两个边界框a和b之间的交并比IoUIntersection over Union。它首先计算每个边界框的面积然后计算它们的交集区域的坐标范围和面积。最后它将交集区域的面积除以并集区域的面积得到IoU值即重叠度。 nms(std::vectorBoundingBox boxes, float threshold): 这个函数实现了非极大值抑制算法。它接受一个包含边界框的向量 boxes 和一个阈值 threshold 作为参数。首先它按照边界框的置信度confidence对边界框进行降序排序以便首先处理置信度最高的边界框。 然后它遍历每个边界框并检查它是否应该被保留。对于每个边界框它将其与已经被保留的边界框进行比较计算它们之间的IoU。如果IoU大于阈值 threshold则说明两个边界框高度重叠当前边界框不被保留否则当前边界框被保留。 最终函数返回一个向量 result其中包含经过非极大值抑制后被保留下来的边界框。 总结 NMS通常用于目标检测中以去除重叠的检测结果只保留最具代表性的结果以提高检测的准确性。 如果阅读本文对你有用欢迎点赞收藏呀 2023年9月27日15:58:10
http://www.ho-use.cn/article/10816667.html

相关文章:

  • 网站建设最好的公司排名网站模板图
  • 漳州市住房和城乡建设局网站威海外贸建站
  • 绍兴市柯桥区建设局网站个人网站 备案 名称
  • 做网站要服务器和什么励志故事网站源码
  • 北京 成品网站无锡网站定制
  • 龙华建设局网站食品公司简介模板
  • 网站开发用户分析电商支付网站建设费进什么科目
  • 5118站长工具通过网站做国际贸易的成本
  • win7搭建网站服务器东莞培训网
  • 网站开发的图片做牛仔的时尚网站
  • 事业单位门户网站建设有网站源码怎么做网站
  • 南京网页网站制作美妆销售网站开发的目的
  • 游戏网站建设方案书网站开发销售提成
  • 网站建设总体规划包括哪些济南成之运维网络科技
  • 做的比较好的二手交易网站有哪些免费搭建个人网站的3种实用方法
  • 企业把网站关闭原因没有地址如何注册公司
  • 东莞企业网站建设多少钱湖州seo排名
  • 陕西省建设部官方网站网站建设应该学什么
  • 建设网站需求文档免费软件下载官方网站
  • 小创业公司网站怎么做企业网站推广的主要方法
  • 企业大型网站开发设计建站流程阿里做网站
  • 怎么让公司网站显示官网北京微网站建设设计服务
  • 福州网站建设公司哪个好威海建设集团网站
  • 网站建设 工作室做网站站长一年能赚多少钱
  • 网站pc端建设怎么做盗版电影网站吗
  • 厦门模板建站系统中国空间站朋友圈
  • 企业交易平台的网站制作多少钱把网站放到域名上
  • 什么是网站维护中湛江seo哪家好
  • html网站开发实用技术曲沃县建站塔山双喜
  • 服务器搭建网站环境厦门网站设计定制