96SEO 2026-02-20 03:30 34
。

我们已经为加载图像中的狗和猫定义了真实边界框#xff0c;其中第一个
元素是类别#xff08;0代表狗#xff0c;1代表猫#xff09;#xff0c;其余四个元素是左上角和右下角的(x,
下面通过一个具体的例子来说明锚框标签。
我们已经为加载图像中的狗和猫定义了真实边界框其中第一个
元素是类别0代表狗1代表猫其余四个元素是左上角和右下角的(x,
使用上面定义的multibox_target函数我们可以根据狗和猫的真实边界框标注这些锚框的分类和偏移量。
在这个例子中背景、狗和猫的类索引分别为0、1和2。
下面我们为锚框和真实边界框样本添加一个维度。
multibox_target(anchors.unsqueeze(dim0),ground_truth.unsqueeze(dim0))
返回的结果中有三个元素都是张量格式。
第三个元素包含标记的输入锚框的类别。
在预测时我们先为图像生成多个锚框再为这些锚框一一预测类别和偏移量。
一个预测好的边界框则根据
其中某个带有预测偏移量的锚框而生成。
下面我们实现了offset_inverse函数该函数将锚框和偏移量预测
d2l.box_corner_to_center(anchors)pred_bbox_xy
d2l.box_center_to_corner(pred_bbox)return
当有许多锚框时可能会输出许多相似的具有明显重叠的预测边界框都围绕着同一目标。
为了简化输出我
suppressionNMS合并属于同一目标的类似的预测边界框。
以下是非极大值抑制的工作原理。
对于一个预测边界框B目标检测模型会计算每个类别的预测概率。
假设最大的预测概率为p则该概率所对应的类别B即为预测的类别。
具体来说我们将p称为预测边界框B的置信度confidence。
在同一张图像中所有预测的非背景边界框都按置信度降序排序以生成列表L。
然后
选取置信度最高的预测边界框B1作为基准然后将所有与B1的IoU超过预定阈值ϵ的非基准预测
边界框从L中移除。
这时L保留了置信度最高的预测边界框去除了与其太过相似的其他预测边界框。
简而言之那些具有非极大值置信度的边界框被抑制了。
从L中选取置信度第二高的预测边界框B2作为又一个基准然后将所有与B2的IoU大于ϵ的非基准预测
边界框从L中移除。
重复上述过程直到L中的所有预测边界框都曾被用作基准。
此时L中任意一对预测边界框的IoU都小于阈值ϵ因此没有一对边界框过于相似。
输出列表L中的所有预测边界框。
担心。
我们将在实现之后马上用一个具体的例子来展示它是如何工作的。
nms_threshold0.5,pos_threshold0.009999999):device,
combined.unique(return_countsTrue)non_keep
predicted_bb[all_id_sorted]below_min_idx
pos_threshold)class_id[below_min_idx]
torch.cat((class_id.unsqueeze(1),conf.unsqueeze(1),
dim1)out.append(pred_info)return
现在让我们将上述算法应用到一个带有四个锚框的具体示例中。
为简单起见我们假设预测的偏移量都是零
这意味着预测的边界框即是锚框。
对于背景、狗和猫其中的每个类我们还定义了它的预测概率。
我们可以看到返回结果的形状是批量大小锚框的数量6。
最内层维度中的六个元素提供了同一预测
边界框的输出信息。
第一个元素是预测的类索引从0开始0代表狗1代表猫值‐1表示背景或在非极大
值抑制中被移除了。
第二个元素是预测的边界框的置信度。
其余四个元素分别是预测边界框左上角和右下角
multibox_detection(cls_probs.unsqueeze(dim0),offset_preds.unsqueeze(dim0),anchors.unsqueeze(dim0),nms_threshold0.5)
可以将置信度较低的预测边界框移除从而减少此算法中的计算量。
我们也可以对非极大值抑制的输出结果进行后处理。
例如只保留置信度更高的结果作为最终输出。
以图像的每个像素为中心生成不同形状的锚框。
交并比IoU也被称为杰卡德系数用于衡量两个边界框的相似性。
它是相交面积与相并面积的比率。
在训练集中我们需要给每个锚框两种类型的标签。
一个是与锚框中目标检测的类别另一个是锚框真实相对于边界框的偏移量。
预测期间可以使用非极大值抑制NMS来移除类似的预测边界框从而简化输出。
我们以输入图像的每个像素为中心生成了多个锚框。
基本而言这些锚框代表了图像不同区域
的样本。
然而如果为每个像素都生成的锚框我们最终可能会得到太多需要计算的锚框。
想象一个
输入图像如果以每个像素为中心生成五个形状不同的锚框就需要在图像上标记和预测超过200万个锚框
减少图像上的锚框数量并不困难。
比如我们可以在输入图像中均匀采样一小部分像素并以它们为中心生
成锚框。
此外在不同尺度下我们可以生成不同数量和不同大小的锚框。
直观地说比起较大的目标较小的目标在图像上出现的可能性更多样。
例如1
2图像上。
因此当使用较小的锚框检测较小的物体时我们可以采样更多的区域而对于较大的
d2l.plt.imread(../img/catdog.jpg)
在特征图fmap上生成锚框anchors每个单位像素作为锚框的中心。
由于锚框中的(x,
y)轴坐标值anchors已经被除以特征图fmap的宽度和高度因此这些值介
由于锚框anchors的中心分布于特征图fmap上的所有单位因此这些中心必须根据其相对空间位置在任何输入图像上均匀分布。
更具体地说给定特征图的宽度和高度fmap_w和fmap_h以下函数将均匀地对任
何输入图像中fmap_h行和fmap_w列中的像素进行采样。
以这些均匀采样的像素为中心将会生成大小为s假
h))d2l.show_bboxes(d2l.plt.imshow(img).axes,
首先让我们考虑探测小目标。
为了在显示时更容易分辨在这里具有不同中心的锚框不会重叠锚框的尺
度设置为0.15特征图的高度和宽度设置为4。
我们可以看到图像上4行和4列的锚框的中心是均匀分布的。
然后我们将特征图的高度和宽度减小一半然后使用较大的锚框来检测较大的目标。
当尺度设置为0.4时
最后我们进一步将特征图的高度和宽度减小一半然后将锚框的尺度增加到0.8。
此时锚框的中心即是图
可以生成不同尺寸的锚框来检测不同尺寸的目标。
通过定义特征图的形状我们
使用输入图像在某个感受野区域内的信息来预测输入图像上与该区域位置相近的锚框类别和偏
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback