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

深圳做网站比较好的公司关键词竞价排名是什么意思

深圳做网站比较好的公司,关键词竞价排名是什么意思,滨江网站制作,信息门户网站怎么做文章目录 前言一、为何要使用先验框二、K-Means聚类算法核心思想三、代码实现总结 前言 本文用于学习记录yolov2当中所使用到的K-Means聚类算法提取先验框。 提示:以下是本篇文章正文内容,下面案例可供参考 一、为何要使用先验框 先验框是在训练神经网…

文章目录

  • 前言
  • 一、为何要使用先验框
  • 二、K-Means聚类算法核心思想
  • 三、代码实现
  • 总结


前言

本文用于学习记录yolov2当中所使用到的K-Means聚类算法提取先验框。


提示:以下是本篇文章正文内容,下面案例可供参考

一、为何要使用先验框

先验框是在训练神经网络之前定义的框,用于知道yolo网络学习如何预测目标的位置和类别。yolov2中的先验框是基于训练数据集中的目标边界框而来,代表了不同目标的不同尺寸和比例。采用先验框可以使得模型快速收敛,加快训练所需时间。

二、K-Means聚类算法核心思想

  • 初始化聚类中心,可以随机选取边界框作为初始化先验框。
  • 计算每个数据中的边界框到每个聚类先验框的距离1-IOU(box1,box2)。
  • 将每个边界框分配到距离最近的聚类中心。
  • 更新聚类中心(使用分配给它的所有边界框的平均值或者中位数等)。
  • 重复以上步骤,直到聚类中心不在发生显著变化或者达到预定的迭代次数。

三、代码实现

import numpy as npdef iou(box, clusters):"""计算单个边界框与所有聚类中心的 IoU。:param box: 单个边界框的宽高 [w, h]:param clusters: K 个聚类中心的宽高数组,形状 (K, 2):return: IoU 值数组,形状 (K,)"""x = np.minimum(clusters[:, 0], box[0])y = np.minimum(clusters[:, 1], box[1])intersection = x * ybox_area = box[0] * box[1]cluster_area = clusters[:, 0] * clusters[:, 1]return intersection / (box_area + cluster_area - intersection)def kmeans(boxes, k, max_iter=100):rows = boxes.shape[0]distances = np.empty((rows, k))last_clusters = np.zeros((rows,))# 随机初始化聚类中心clusters = boxes[np.random.choice(rows, k, replace=False)]while True:# 计算距离矩阵for row in range(rows):distances[row] = 1 - iou(boxes[row], clusters)# 分配样本到最近簇nearest_clusters = np.argmin(distances, axis=1)# 终止条件:簇分配不再变化if (last_clusters == nearest_clusters).all():breaklast_clusters = nearest_clusters# 更新簇中心(取中位数)for cluster in range(k):clusters[cluster] = np.median(boxes[nearest_clusters == cluster], axis=0)return clustersdef convert_anchors(clusters, input_size=416, downsample=32):"""将聚类结果转换为绝对尺寸。:param clusters: 聚类中心数组,形状 (K, 2):param input_size: 输入图像尺寸(如 416):param downsample: 下采样倍率(如 32)"""return clusters * (input_size / downsample)def avg_iou(boxes, clusters):return np.mean([np.max(iou(boxes[i], clusters)) for i in range(boxes.shape[0])])boxes = np.array([[100,80],[120,110],[150,130],[200,180],[300,250],[100,60],[60,80],[80,90],[90,100],[100,500]]
)clusters = kmeans(boxes, 2)
print(avg_iou(boxes, clusters))

总结

本文记录的yolov2当中使用的K-Means聚类算法思想及其代码实现,便于以后使用该算法用于回顾。

http://www.dtcms.com/wzjs/81710.html

相关文章:

  • 邢台移动网站建设报价html简单网页设计作品
  • 价格低的跑车杭州seo优化公司
  • 青岛网络平台宁波优化seo是什么
  • 简述网站开发具体流程图优化用户体验
  • 网站建设规划设计公司百度指数免费添加
  • 下单的网站建设教程新发布的新闻
  • 沈阳企业网站排名优化seo有哪些作用
  • 石家庄站内换乘示意图百度快速收录账号购买
  • 网站建设免费建站优化设计四年级上册语文答案
  • 永州市建设局网站营销型企业网站案例
  • 别人的抖音网站是怎么做的百度站长平台有哪些功能
  • 怎么用html5做自适应网站申京效率值联盟第一
  • b2b电商网站开发免费创建网站平台
  • 推广型网站制作公司百度app下载最新版
  • 宠物网站建设方案书怎样创建自己的网站
  • 织梦做中英文网站seo网站推广优化就找微源优化
  • 创意网站 模板google关键词挖掘工具
  • 玄武营销型网站制作厂家软文推广名词解释
  • 如何用电子邮箱做网站google应用商店
  • 网站后台图片做链接怎么去推广自己的店铺
  • 做最好的在线中文绅士本子阅读网站中国国家数据统计网
  • 企业网站建设的主要内容seo常用优化技巧
  • 崇仁网站建设推广费用搜索引擎优化是什么意思
  • 做服装在哪个网站找网站优化排名哪家好
  • 做网站banner是什么意思天津seo技术教程
  • 020网站建设和维护费用线上推广方案模板
  • 自己建设网站服务器天津百度seo推广
  • iis限制网站带宽网店
  • 国内知名网站2022年可以打开的网址
  • 小说网站系统怎么做semir是什么意思