Anchor Base 和 Anchor Free

2023-11-15

1 概念

1.1 什么是Anchor

Anchor也叫做锚,其实是一组预设的边界框用于在训练时学习真实的边框位置相对于预设边框的偏移。通俗点说就是预先设置目标可能存在的大概位置,然后再在这些预设边框的基础上进行精细化的调整。而它的本质就是为了解决标签分配的问题。
锚作为一系列先验框信息,其生成涉及以下几个部分:

  • 用网络提取特征图的点来定位边框的位置;
  • 用锚的尺寸来设定边框的大小;
  • 用锚的长宽比来设定边框的形状;
    通过设置不同尺度,不同大小的先验框,就有更高的概率出现对于目标物体有良好匹配度的先验框约束。
    在这里插入图片描述

目标检测算法一般可分为anchor-based、anchor-free、两者融合类。
三者的区别就在于有没有利用anchor提取候选目标框

1.2 如何使用Anchor

在传统的图像处理时期,要想检测出图像中的目标,通常先提取图像特征,然后编码成一串串特征描述子送入机器学习的分类器中进行判别。比如HOG特征提取器通过滑窗+金字塔的方式逐个抠图,这种基于区域的方式在深度学习中得到了延续。
在这里插入图片描述

anchor(也被称为anchor box)是在训练之前,在训练集上利用k-means等方法聚类出来的一组矩形框,代表数据集中目标主要分布的长宽尺度。
在两阶段的目标检测分支中,暴力滑窗获得区域的思想逐步演化出锚的概念,从Faster RCNN网络开始正式基于anchor回归坐标,通过RPN的策略生成候选框。
在单阶段的目标检测分支中,从SSD到YOLOv2,v3,v4,v5都延续着基于anchor做回归的路线。
这里小伙伴们会发现怎么把YOLOv1漏了?
YOLOv1只有区域划分的思想而没有锚框的概念,虽然将图片网格化后在每个网格中预测目标,但是尺度的回归是在整个图像中,所以该网络出来时检测精度相比同期作品低了一大截,这也是为什么YOLO的后期版本均加入了锚框的思想,在锚框的约束下使模型的精准度和召回率都有了质的提升。

2 Anchor Free与Anchor Base

2.1 Anchor Free

代表算法:CornerNet、ExtremeNet、CenterNet、FCOS等;
Anchor-Free即无先验锚框,直接通过预测具体的点得到锚框。
基于Anchor-Free的目标检测算法有两种方式:

  1. 关键点检测方法,通过定位目标物体的几个关键点来限定它的搜索空间;
  2. 通过目标物体的中心点来定位,然后预测中心到边界的距离。
    最直接的好处就是不用在训练之前对当前训练数据聚类出多个宽高的anchor参数了。

2.1.1 基于关键点的检测算法

此类方法将目标检测问题转换成关键点定位组合来解决,下面介绍几种关键点检测算法:
CornerNet直接预测每个点是左上、右下角点的概率,通过左上右下角点配对提取目标框。
整个网络如下图所示:输入图像通过串联多个Hourglass模块做特征提取,然后输出两个分支,即左上角点预测分支和右下角点预测分支;每个分支模型经过Corner Pooling后输出三个部分:

  • Heatmaps:预测角点位置
  • Embeddings:预测的角点分组
  • Offsets:微调预测框
    在这里插入图片描述

Grid R-CNN算法基于RPN找到候选区域,对每个ROI特征独立的提取特征图。将特征图传到全卷积网络层里面输出概率的热度图,用于定位与目标物对齐的边界框的网格点;借助网格点通过特征图级别的融合,最终确定目标物的准确边界框。
在这里插入图片描述

ExtremeNet算法通过串联多个Hourglass模块对每个目标预测5个关键点(上、下、左、右四个极点和一个中心点),如果五个关键点是几何对齐的,也就是说将不同热度图的极点进行组合,判断组合的几何中心是否符合中心点热图上的值的要求,再将它们分组到一个外接框中。
在这里插入图片描述

2.1.2 基于目标中心的检测算法

此类方法在构建模型时将其看作一个点,即目标框的中心点。检测器在回归中心点的同时得到它的相关属性。下面我们介绍几种基于目标中心的检测算法:

YOLO作为早期的一种anchor-free的算法,将目标检测作为一个空间分离的边界框和相关的类概率回归问题,可以直接从整张图片预测出边界框和分类分数。

但是它最后采用全连接层直接对边界框进行预测,由于图片中存在不同尺度和长宽比(scales and ratios)的物体,使得YOLO在训练过程中学习适应不同物体的形状比较困难。
在这里插入图片描述

上面我们也提到YOLO由于在网络中没有预先假设框的大小和宽高比,所以在训练的过程中它除了知道每个网络输出几个检测框外,其他预设框的任何信息都一无所知。

CenterNet只需要提取目标的中心点,无需对关键点分组和后处理。这篇文章的网络结构较为清晰,从开源的代码中可以看到,采用编解码的方式提取特征(Resnet/DLA/Hourglass),输出端分为三块:

  • Heatmap:预测中心点的位置;
  • wh:对应中心点的宽高;
  • reg:对应中心点的偏移;
    在这里插入图片描述

那么目标检测领域为什么又考虑去掉anchor呢?

  1. 预先设定的anchor尺寸需要根据数据集的不同做改变,可以人工设置或对数据集聚类得到;
  2. anchor的数量相比目标的个数多很多,造成正负样本的不均衡现象;
    当然为了解决去掉anchor后目标尺度变化,类别不平衡等的问题,FPN,PAN,Focal loss等技术起到了很好的作用,通过FPN,PAN对不同层级特征的融合使得预测时使用的特征图中就包含了不同尺度的目标特征,这样就不需要用不同尺度的anchor来锁定目标尺寸再进行回归。而Focal loss对正负样本求损失时的加权也在一定程度上缓解了不平衡问题。

Anchor Free类算法归纳

  1. 基于多关键点联合表达的方法:
    1. CornerNet/CornerNet-lite:左上角点+右下角点
    2. ExtremeNet:上下左右4个极值点+中心点
    3. CenterNet:Keypoint Triplets for Object Detection:左上角点+右下角点+中心点
    4. RepPoints:9个学习到的自适应跳动的采样点
    5. FoveaBox:中心点+左上角点+右下角点
    6. PLN:4个角点+中心点
  2. 基于单中心点预测的方法:
    1. CenterNet:Objects as Points:中心点+宽度+高度
    2. CSP:中心点+高度(作者预设了目标宽高比固定,根据高度计算出宽度)
    3. FCOS:中心点+到框的2个距离

2.2 Anchor Base

代表算法:Faster R-CNN、SSD、Yolo(2、3、4、5)等;
Anchor-Base即有先验锚框,先通过一定量的数据做聚类等方法得到一些锚框尺度与大小,然后结合先验锚框与预测偏移量得到预测锚框。
前几年目标检测领域一直被基于锚的检测器所统治,此类算法的流程可以分为三步:

  1. 在图像或者点云空间预设大量的anchor(2D/3D);
  2. 回归目标相对于anchor的四个偏移量;
  3. 用对应的anchor和回归的偏移量修正精确的目标位置;

2.2.1 基于单阶段的检测算法

在图像上滑动可能的锚点,然后直接对框进行分类。这两年单阶段的检测方法不断的扩充YOLO家族,常见的就有YOLOv1—v5,Complex-YOLO,YOLO3D,YOLO-Lite,Poly-YOLO,YOLOP等等,GitHub上一搜能有小几十个变形。

整体框架一般分为BackBone,Neck,Head三大块,基础特征部分其实ResNet-50就挺好了,或者采用CSP/C3等模块级联提取特征。Neck部分各个网络也都差不多,采用FPN或者PAN来融合高低层特征图信息。Head部分主要针对任务而定,如果做二维框检测就回归中心点,宽高,类别等信息;如果做三维框检测可以增加朝向角或者掩码图等等。

2.2.2 基于两阶段的检测算法

对每个潜在的框重新计算图像特征,然后将这些特征进行分类。这两年两阶段的新方法出现的比较少,在2D,3D或者前融合领域出现的两阶段检测算法还是依托于Faster-RCNN的理念。

两阶段检测算法主要还是RCNN系列,包括RCNN,Fast-RCNN,Faster-RCNN,Mask-RCNN等。其中RCNN和Fast-RCNN之间过渡了一个SPPNet。之后在Faster-RCNN框架的基础上出现了特征金字塔。然后Mask-RCNN融合了Faster-RCNN架构、ResNet和FPN,以及FCN里的分割方法来提升mAP。

下图是在网上找到的一张两阶段检测网络发展历程,从细分市场的角度描述的挺详细的,供小伙伴们对应学习:
在这里插入图片描述

Faster R-CNN-设置了3种尺度3种宽高ratio一共9个anchor提取候选框
在这里插入图片描述

2.3 融合方法

融合方法(融合anchor-based和anchor-free分支的方法)
代表算法:FSAF、SFace、GA-RPN等;
在这里插入图片描述

FSAF-既有根据先验设定的anchor-based分支,也有anchor-free分支增强对异常ratio目标的检测能力

3 扩展

3.1 Anchor Free 和 Anchor Base 区别几何

这个问题首先需要回答为什么要有 anchor。在深度学习时代,物体检测问题通常都被建模成对一些候选区域进行分类和回归的问题。在单阶段检测器中,这些候选区域就是通过滑窗方式产生的 anchor;在两阶段检测器中,候选区域是 RPN 生成的 proposal,但是 RPN 本身仍然是对滑窗方式产生的 anchor 进行分类和回归。

  1. Feature Selective Anchor-Free Module for Single-Shot Object Detection
  2. FCOS: Fully Convolutional One-Stage Object Detection
  3. FoveaBox: Beyond Anchor-based Object Detector
  4. High-level Semantic Feature Detection: A New Perspective for Pedestrian Detection

而在上面几篇论文的 anchor-free 方法中,是通过另外一种手段来解决检测问题的。同样分为两个子问题,即确定物体中心和对四条边框的预测。预测物体中心时,具体实现既可以像 1、3 那样定义一个 hard 的中心区域,将中心预测融入到类别预测的 target 里面,也可以像 2、4 那样预测一个 soft 的 centerness score。对于四条边框的预测,则比较一致,都是预测该像素点到 ground truth 框的四条边距离,不过会使用一些 trick 来限制 regress 的范围。

3.2 为什么 anchor-free 能卷土重来

anchor-free 的方法能够在精度上媲美 anchor-based 的方法,最大的功劳我觉得应该归于 FPN,其次归于 Focal Loss。(内心OS:RetinaNet 赛高)。在每个位置只预测一个框的情况下,FPN 的结构对尺度起到了很好的弥补,FocalLoss 则是对中心区域的预测有很大帮助。当然把方法调 work 并不是这么容易的事情,相信有些细节会有很大影响,例如对重叠区域的处理,对回归范围的限制,如何将 target assign 给不同的 FPN level,head 是否 share 参数等等。

3.3 Anchor Free 和 Single Anchor

上面提到的 anchor-free 和每个位置有一个正方形 anchor 在形式上可以是等价的,也就是利用 FCN 的结构对 feature map 的每个位置预测一个框(包括位置和类别)。但 anchor-free 仍然是有意义的,我们也可以称之为 anchor-prior-free。另外这两者虽然形式上等价,但是实际操作中还是有区别的。在 anchor-based 的方法中,虽然每个位置可能只有一个 anchor,但预测的对象是基于这个 anchor 来匹配的,而在 anchor-free 的方法中,通常是基于这个点来匹配的。

3.4 Anchor Free 的局限性

虽然上面几种方法的精度都能够与 RetinaNet 相媲美,但也没有明显优势(或许速度上有),离两阶段和级联方法相差仍然较远。和 anchor-based 的单阶段检测器一样,instance-level 的 feature representation 是不如两阶段检测器的,在 head 上面的花样也会比较少一些。顺便吐槽一下,上面的少数 paper 为了达到更好看的结果,在实验上隐藏了一些细节或者有一些不公平的比较。

3.5 Anchor Free 的其他套路

anchor-free 除了上面说的分别确定中心点和边框之外,还有另一种 bottom-up 的套路,以 CornerNet 为代表。如果说上面的 anchor-free 的方法还残存着区域分类回归的思想的话,这种套路已经跳出了这个思路,转而解决关键点定位组合的问题。

4 展望

anchor-free 的方法由于网络结构简单,对于工业应用来说可能更加友好。对于方法本身的发展,我感觉一个是新的 instance segmentation pipeline,因为 anchor-free 天生和 segmentation 更加接近。一个是向两阶段或者级联检测器靠拢,进一步提高性能,如果能在不使用 RoI Pooling 的情况下解决 feature align 问题的话,还是比较有看头的。另外还有一个是新的后处理方法,同时也期待看到 anchor-free 的灵活性带来新的方法和思路。

引用

  1. 目标检测中的anchor-base与anchor-free
  2. 什么是anchor-based 和anchor free?
  3. anchor base,anchor free和基于分割的图像检测
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Anchor Base 和 Anchor Free 的相关文章

  • 用CHAT写一份标题为职业教育教师教学能力提升培训总结

    CHAT回复 标题 职业教育教师教学能力提升培训总结 一 活动概述 本次由学校组织的职业教育教师教学能力提升培训于8月15日至8月20日顺利进行 来自全校的60位职业教育教师参与了此次培训 主讲人为享有盛名的教育专家马丁先生 二 培训内容与
  • Soul App:年轻人的社交状态,还有多少种可能?

    查尔斯 狄更斯在 双城记 的开篇写下 这是最好的时代 这是最坏的时代 这是智慧的时代 这是愚蠢的时代 这是信仰的时期 这是怀疑的时期 人们面前有着各样事物 人们面前一无所有 既然万事万物都和狄更斯所说般 好坏参半 那又何必执着于过去 苦恼于
  • 让CHAT介绍下V2ray

    CHAT回复 V2Ray是一个网络工具 主要用于科学上网和保护用户的网络安全 它的名字源自Vmess Ray 光线 通过使用新的网络协议 为用户提供稳定且灵活的代理服务 下面是一些V2Ray的主要特性 1 多协议支持 V2Ray 提供了大量
  • 用CHAT分析高校体育智慧教学体系构建与探索研究现状

    CHAT回复 现阶段 高校体育智慧教学体系的构建与探索研究还处于初级阶段 但全球数字化转型大潮的推动下 一些较为前沿的研究和实践已经开始出现 1 教学平台的建设 很多高校已经开始尝试使用在线教育平台进行体育教学 把传统的面对面授课模式转变为
  • 打造完美人像,PixCake像素蛋糕助您一键修图

    您是否曾经为自己的人像照片需要进行繁琐的修图而感到困扰 是否曾经想要打造出完美的自拍照 却不知道该如何下手 现在 我们为您推荐一款强大的人像处理技术修图软件 PixCake像素蛋糕 PixCake像素蛋糕是一款基于AI人像处理技术的修图软件
  • 明日 15:00 | NeurIPS 2023 Spotlight 论文

    点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入 哔哩哔哩直播通道 扫码关注AITIME哔哩哔哩官方账号预约直播 1月17日 15 00 16 00 讲者介绍 黄若孜 腾讯AI LAB游戏AI研究员 2020年复旦大学硕士毕业后
  • 基于opencv的大米计数统计(详细处理流程+代码)

    在我每周的标准作业清单中 有一项是编写计算机视觉算法来计算该图像中米粒的数量 因此 当我的一个好朋友M给我发了一张纸上的扁豆照片 显然是受到上述转发的启发 请我帮他数一下谷物的数量时 它勾起了我怀旧的回忆 因此 我在我的旧硬盘上寻找很久以前
  • 毕业设计:基于卷积神经网络的图像分类系统 python人工智能

    目录 前言 设计思路 一 课题背景与意义 二 算法理论原理 2 1 卷积神经网络 2 2 SVM算法 三 检测的实现 最后 前言 大四是整个大学期间最忙碌的时光 一边要忙着备考或实习为毕业后面临的就业升学做准备 一边要为毕业设计耗费大量精力
  • 2024 人工智能与大数据专业毕业设计(论文)选题指导

    目录 前言 毕设选题 选题迷茫 选题的重要性 更多选题指导 最后 前言 大四是整个大学期间最忙碌的时光 一边要忙着备考或实习为毕业后面临的就业升学做准备 一边要为毕业设计耗费大量精力 近几年各个学校要求的毕设项目越来越难 有不少课题是研究生
  • 如何快速申请GPT账号?

    详情点击链接 如何快速申请GPT账号 一OpenAI 1 最新大模型GPT 4 Turbo 2 最新发布的高级数据分析 AI画图 图像识别 文档API 3 GPT Store 4 从0到1创建自己的GPT应用 5 模型Gemini以及大模型
  • 手把手教你用 Stable Diffusion 写好提示词

    Stable Diffusion 技术把 AI 图像生成提高到了一个全新高度 文生图 Text to image 生成质量很大程度上取决于你的提示词 Prompt 好不好 前面文章写了一篇文章 一份保姆级的 Stable Diffusion
  • 做大模型也有1年多了,聊聊这段时间的感悟!

    自ChatGPT问世以来 做大模型也有1年多了 今天给大家分享这一年后的感悟 过去一年应该是AI圈最万千瞩目的一年了 大家对大模型 OpenAI ChatGPT AI Native Agent这些词投入了太多的关注 以至于有一年的时间好像经
  • 机器学习算法实战案例:LSTM实现多变量多步负荷预测

    文章目录 1 数据处理 1 1 数据集简介 1 2 数据集处理 2 模型训练与预测 2
  • CorelDRAW2024官方中文版重磅发布更新

    35年专注于矢量设计始于1988年并不断推陈出新 致力为全球设计工作者提供更高效的设计工具 CorelDRAW 滋养并见证了一代设计师的成长 在最短的时间内交付作品 CorelDRAW的智能高效会让你一见钟情 CorelDRAW 全称 Co
  • 3D点云检测神技 | UFO来了!让PointPillars、PV-RCNN统统涨点!

    作者 AI驾驶员 编辑 智驾实验室 点击下方 卡片 关注 自动驾驶之心 公众号 ADAS巨卷干货 即可获取 点击进入 自动驾驶之心 3D目标检测 技术交流群 本文只做学术分享 如有侵权 联系删文 在这篇论文中提出了一个关于在3D点云中检测未
  • 史上最全自动驾驶岗位介绍

    作者 自动驾驶转型者 编辑 汽车人 原文链接 https zhuanlan zhihu com p 353480028 点击下方 卡片 关注 自动驾驶之心 公众号 ADAS巨卷干货 即可获取 点击进入 自动驾驶之心 求职交流 技术交流群 本
  • 考虑光伏出力利用率的电动汽车充电站能量调度策略研究(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码 数据
  • 基于节点电价的电网对电动汽车接纳能力评估模型研究(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码 数据
  • GPT4+Python近红外光谱数据分析及机器学习与深度学习建模

    详情点击链接 GPT4 Python近红外光谱数据分析及机器学习与深度学习建模 第一 GPT4 入门基础 1 ChatGPT概述 GPT 1 GPT 2 GPT 3 GPT 3 5 GPT 4模型的演变 2 ChatGPT对话初体验 注册与
  • 考虑光伏出力利用率的电动汽车充电站能量调度策略研究(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码 数据

随机推荐

  • Centos搭建frp实现内外网穿透并配置多客户端

    下载linux和windows客户端 下载地址 https github com fatedier frp releases centos部署frps 将frp 0 41 0 linux amd64 tar gz上传至 usr local目
  • IDEA运行同一个程序打开多个Run运行控制台

    1 这里以版本是 2021 1 2 为例 2 运行当前程序时 点击右上角小三角 在显示的编辑配置处点击 3 进入配置界面 勾选允许多个实例 4 最后点击上图的 应用 或 确定 即可 5 测试 多次运行同一个程序显示的效果如下
  • 【echart】常用术语

    类目轴 类目轴 坐标轴的展示信息为 春 夏 秋 冬 等等类似的字符串 坐标刻度值不是属于数据连贯 类目轴就是横坐标标签类型为类目 type category 的坐标轴 非类目轴 坐标轴展示信息为数据连贯 time 时间戳连贯 value 数
  • mount.nfs: mount(2): Invalid argument,mount,nfs:an incorrect mount option was specified 这种报错可能是什么原因导...

    这个错误通常表明在挂载 NFS Network File System 共享时出现了问题 NFS 允许将远程服务器上的文件系统挂载到本地计算机上 这样就可以像访问本地文件系统一样访问远程文件系统 具体来说 mount nfs mount 2
  • Android 应用(5)——android10.0升级webview浏览器内核版本

    参考链接 https www jianshu com p a673718ef80a https www freesion com article 7856574309 webview资源链接 https www apkmirror com
  • [0x7FFE1E17E050] ANOMALY: meaningless REX prefix used cmd窗口activate报错

    前情概要 window cmd窗口下 激活conda虚拟环境 conda activate dl 提示先conda activate 执行conda activate 提示 0x7FFE1E17E050 ANOMALY meaningles
  • 网络应用技术师技能考试试题(上)

    作者 小刘在C站 个人主页
  • 2020李宏毅机器学习课程作业——Homework1:Linear Regression

    一 作业获取途径 课程网址 http speech ee ntu edu tw tlkagk courses ML20 html B站视频地址 https www bilibili com video BV1JE411g7XF from s
  • slf4j简介说明

    转自 slf4j简介说明 下文讲述slf4j的简介说明 如下所示 SLF4J简介 SLF4J是用于日志记录系统的简单外观 允许最终用户在部署时插入所需的日志记录系统 Simple Logging Facade for Java SLF4J
  • 四、Arthas

    四 Arthas 1 安装 卸载 1 Arthas支持在Linux Unix Mac等平台上一键安装 请复制以下内容 并粘贴到命令行中 敲回车执行即可 curl L https arthas aliyun com install sh sh
  • 深度解析Vue Router原理:实战指南与实用技巧

    大家好 欢迎来到程序视点 今天跟大家简单聊聊Router的实现原理 以及我们如何去实现这样一个插件 Vue Router 是Vue js官方的路由管理器 它和 Vue js 的核心深度集成 让构建单页面应用变得易如反掌 关于Vue Rout
  • 【计算机视觉

    文章目录 一 检测相关 10篇 1 1 Self Training and Multi Task Learning for Limited Data Evaluation Study on Object Detection 1 2 OTAS
  • Exception in thread "main" java.io.FileNotFoundException: xxx.xxx (系统找不到指定的路径。) Java错误

    该情况为读取文件路径错误 src里的代码 在我们的直观感觉可以用相对路径 xxx 然而有时候行 有时候不行 作者确实都经历过 因此要加上以src为起始的路径 例如代码在src P1里 读取的文件在src P1 a里 写 a xxx要碰运气
  • 北京大学肖臻老师《区块链技术与应用》公开课笔记【01-课程简介】

    北大肖臻老师 区块链技术与应用 点击这里 全系列文章链接 点击这里 该系列文章中如有任何侵权内容请及时与我个人联系删除或修改 一 区块链的本质是什么 有人说区块链是下一代的价值互联网 也有人说它是世界上最慢的数据库 区块链出生以来就饱受争议
  • docker从入门到实战

    Docker Docker 基础 Docker 容器与镜像的概念 容器 Container 容器是一种可执行的虚拟化环境 它包含了应用程序以及运行此应用程序所需的所有依赖项 包括软件 库 配置等 容器只存在于主机操作系统的内存中 不占用独立
  • vue中函数回调传值

    在业务开发中 有时候会碰到一种情况 组件内部会触发一些事件用来请求新的数据 数据请求到后将新的数据继续在组件内进行处理 这个场景我们有三种方式可以实现它 将数据请求写在组件内部 缺点不好维护 违反了单项数据流的原则 通常我们可以通过this
  • js验证邮箱的正则表达式

    最近小小研究了一下正则表达式 觉得写正则表达式还挺有意思的 先想推荐一个网址 把正则表达式的基本语法都总结了 很不错 https msdn microsoft com zh cn library ae5bf541 v vs 100 aspx
  • SiliconLab GSDK 4.2.2 创建 Z3Gateway 工程

    如题 在SSv5的My Product选项下 需要添加Linux 32 Bit 否则在Example Projects Demos中无法查找到zigbeegateway相关的demo My Product 中的内容添加成功后 再次搜索Exa
  • 剑指 Offer 29. 顺时针打印矩阵(java+python)

    输入一个矩阵 按照从外向里以顺时针的顺序依次打印出每一个数字 示例 1 输入 matrix 1 2 3 4 5 6 7 8 9 输出 1 2 3 6 9 8 7 4 5 示例 2 输入 matrix 1 2 3 4 5 6 7 8 9 10
  • Anchor Base 和 Anchor Free

    1 概念 1 1 什么是Anchor Anchor也叫做锚 其实是一组预设的边界框用于在训练时学习真实的边框位置相对于预设边框的偏移 通俗点说就是预先设置目标可能存在的大概位置 然后再在这些预设边框的基础上进行精细化的调整 而它的本质就是为