CenterNet 算法原理与土星云 SE110S 系列边缘部署实践

 一、引言

目标检测是计算机视觉中应用最广、落地最深的任务之一,其目标是从图像中同时完成"定位"与"分类":画出每个目标的位置,并判断它是什么。围绕这一任务,检测器经历了多次范式演进:R-CNN 开创的两阶段范式先提取候选区域、再逐区域分类回归,精度高但速度慢;YOLO、SSD 引领的单阶段范式跳过候选区域,一步输出定位与分类,速度大幅提升;而以 Anchor 为核心的稠密预测,则在特征图上预置大量不同尺度、不同长宽比的先验框,依靠回归与分类网络在这些框上进行筛选。Anchor 机制虽然有效,却也带来了先验框尺寸设计、正负样本匹配、NMS 后处理等一系列工程难题,成为部署阶段绕不开的负担。

2019 年,CenterNet(论文标题 Objects as Points)给出了颠覆性答案:目标检测本质上就是"关键点估计"——不再枚举候选框,而是把每个目标看作其边界框中心的一个点,直接预测目标中心点的热力图,再用极小的后处理还原出边界框。与同为 Anchor-Free 的 CornerNet 相比,CornerNet 需要同时检测目标的左上角与右下角两个角点,还要对两个角点的嵌入向量做配对;CenterNet 只检测一个中心点,表达更简洁,也不存在角点配对问题,后处理进一步简化。

凭借简洁架构与无 Anchor、无 NMS 的干净推理流程,CenterNet 迅速成为 Anchor-Free 检测器的代表作,并被广泛应用于实时视频分析、工业质检、自动驾驶感知等场景。本文从算法原理、使用场景与部署实践三个角度,结合开源示例 sophon-demo 的 CenterNet 例程,介绍如何在土星云 SE110S 系列边缘计算微服务器(SE110S-WA32 / SE110S-WB16 / SE110S-WC8)上完成模型转换、量化与部署。

二、CenterNet 算法原理

2.1 核心思想:Objects as Points

传统 Anchor 类检测器需在特征图上密集铺设不同尺度、长宽比的先验框,训练时还要做复杂的正负样本匹配;CenterNet 则认为,一个目标只需一个"中心点"即可完整表达。给定宽 W、高 H 的输入图像,经主干网络下采样 R 倍(通常 R=4)后,网络输出三类信息:

  1. 热力图(Heatmap):C×H/R×W/R,C 为类别数,表示每个位置存在某类目标中心的概率;
  2. 中心点偏移(Offset):2×H/R×W/R,用于修正下采样带来的中心点量化误差;
  3. 目标尺寸(Size):2×H/R×W/R,表示目标边界框的宽和高。

训练时,每个标注框的中心会被渲染成高斯核形状的真值热力图:中心处响应最高,越靠近中心响应越接近 1,越远离中心则逐渐衰减为 0。这样设计的好处是,网络不仅学到"哪里有目标",还通过高斯半径隐式表达了目标的大致范围,让靠近中心但略有偏差的预测也能获得合理的监督信号,训练更稳定。

推理时,只需在热力图上做 3×3 最大池化提取局部峰值,保留超过阈值的峰值点作为目标中心,再叠加偏移、结合尺寸预测即可还原出边界框。整个过程无需 Anchor 与 NMS,后处理极简,非常契合边缘端实时推理。

2.2 网络结构

主干网络常见三种选择:Hourglass-104、DLA-34 和 ResNet-18/50。Hourglass 精度最高但计算量大;DLA-34 精度与速度平衡最好,是官方默认配置,例程使用的 ctdet_coco_dlav0_1x 正是 DLA 变体;ResNet 适合追求极致速度的轻量场景。

以 DLA-34 为例,网络先通过多次下采样逐步提取从低层细节到高层语义的多尺度特征,再利用上采样与跳跃连接把高分辨率细节与深层语义融合,最终输出与原图 1/4 分辨率对齐的高分辨率特征图。三个预测头共享这份主干特征,通过 3×3 卷积与 1×1 卷积分别输出热力图、偏移和尺寸。由于多个任务共用一套特征,网络整体参数量与计算量比"检测头彼此独立"的方案更小,结构清晰,易于移植和量化。

2.3 损失函数

训练采用多任务联合损失:热力图分支使用改进的 Focal Loss(论文中取 α=2、β=4),对大量背景像素的梯度进行惩罚衰减,抑制其对训练的干扰,同时缓解中心点附近"近正样本"带来的误判;偏移与尺寸分支使用 L1 Loss;总损失为三者加权求和,默认权重分别为 1、1、0.1。其中尺寸损失的权重最小,主要用于平衡各分支损失的量级,避免数值较大的宽高预测主导梯度。

2.4 优点与局限

CenterNet 优点突出:结构简单,训练与推理管线干净,无 Anchor、无 NMS,推理延迟低,部署友好;同一框架还可扩展出 3D 目标检测、人体姿态估计、实例分割等任务,只需在输出端增加相应分支,通用性远强于专用检测器。

局限同样明显:当多个同类目标中心过近甚至重叠时(如密集人群、拥挤货架),热力图峰值容易合并导致漏检;对小尺度目标的召回相对 Anchor 类方法偏弱,通常需要提高输入分辨率或加强数据增强来缓解。因此在实际项目中,应根据目标密度与尺度分布,在精度与算力开销之间做合理权衡。

三、典型使用场景

CenterNet 的轻量化结构与极简后处理,使其特别适合对实时性和部署成本敏感的以下场景:

  1. 实时视频分析:安防监控、智慧交通中的人车物检测,几乎为零的后处理开销使其能轻松支撑多路视频流实时分析。
  2. 工业质检:产线上工件定位与缺陷识别,配合边缘设备本地闭环处理,无需回传云端,兼顾时延与数据安全。
  3. 自动驾驶与机器人感知:3D 版本可输出目标的中心点、尺寸与朝向角,用于车辆、行人等障碍物的检测与避障。
  4. 医学影像与遥感:对细胞、病灶、目标地物做中心点检测,小样本、标注稀疏条件下也能取得不错效果。
  5. 边缘计算部署:模型结构简单、支持 INT8 量化、后处理轻量,天然适合低功耗边缘硬件,这正是本文部署实践的重点。

四、在土星云 SE110S 系列上的部署实践

4.1 平台简介

土星云 SE110S 系列是面向工业现场设计的边缘计算微服务器,采用无风扇全金属导冷散热,支持 -20℃~+60℃ 宽温工作与 IP40 防尘防水,可在粉尘、震动、强电磁干扰环境中 7×24 小时稳定运行,适合无人值守的室外机柜、厂房产线等恶劣环境。三个型号覆盖入门到高端的算力梯度,关键规格对比如下:

表1 土星云 SE110S 系列关键规格对比

型号

处理器

INT8算力

内存/存储

视频解码

典型功耗

主控芯片

SE110S-WA32

8核ARM A53 @2.3GHz

32 TOPS

16GB / 64GB

1080p@800fps

约 20W

BM1684X

SE110S-WB16

8 核 ARM A53 @1.6GHz

16 TOPS

8GB / 32GB

1080p@480fps

低功耗

BM1688

SE110S-WC8

6 核 ARM A53 @1.6GHz

7.2 TOPS

8GB / 32GB

1080p@480fps

约 13W

CV186AH

其中 WA32 适合作多路视频并发分析的中心节点,WB16 是中小型项目性价比之选,WC8 适合单点轻量末端场景。三者均基于 Linux 生态,兼容主流深度学习框架的模型移植,并支持远程运维与算法升级,便于在分散点位统一管理。

4.2 部署整体流程

CenterNet 在 SE110S 系列上的部署遵循"训练 → 导出 → 编译 → 推理"的标准流水线:先在 PC 端完成模型训练与格式转换,再通过工具链编译出设备可执行的模型文件,最后将模型文件拷入设备运行。具体分四步:

第一步:模型训练与导出。 基于 PyTorch 训练得到权重文件(例程提供 ctdet_coco_dlav0_1x.pth),再按官方指导导出为 ONNX 模型,例程提供 batch=1 与 batch=4 两种版本便于多 batch 推理。

第二步:模型编译。 使用 TPU-MLIR 工具链将 ONNX 模型编译为可在边缘设备上直接运行的 BModel,支持 FP32、FP16、INT8 三种精度,按目标平台(bm1684x、bm1688 等)指定编译参数即可。例程 scripts 目录提供了 gen_fp32bmodel_mlir.sh、gen_fp16bmodel_mlir.sh、gen_int8bmodel_mlir.sh 三个一键脚本,开箱即用;编译完成后还可用 bmrt_test 工具验证 BModel 的可加载性与理论推理耗时。

第三步:INT8 量化。 以 coco128 子集作为量化校准数据,并参考例程提供的 dlav0_qtable 保留最后几层(如 relu、conv)不量化,可将 INT8 精度损失控制在极小范围。量化后的模型体积更小、推理更快,是边缘部署的首选精度。

第四步:推理运行。 在设备上使用 Python 例程(BMCV 或 OpenCV 预处理)或 C++ 例程(sail 接口)加载 BModel,完成解码、预处理、推理、后处理全流程并输出检测框;再用 eval_coco.py 脚本在 COCO 测试集上自动评估精度(AP)。其中 BMCV 预处理借助硬件加速,耗时远低于 OpenCV 方案,适合追求极致端到端时延的场合。由于后处理仅需取峰值并还原边界框,输出结果可直接对接抓拍记录、告警联动等业务系统,集成成本低。

4.3 精度与性能表现

官方例程在 COCO val2017 随机抽取的 1000 张子集上完成了精度与性能测试:

  1. 精度方面:INT8 相对 FP32 的精度损失很小,AP@IoU=0.5:0.95 下降约 0.01 以内;FP16 与 FP32 精度几乎一致。也就是说,在边缘设备上优先选用 FP16 或 INT8 模型,几乎不损失检测效果。
  2. 性能方面:单张图片理论推理耗时:BM1684X 平台 INT8 约 4.4ms、FP16 约 9.2ms;BM1688 平台 INT8 双核约 15.1ms、单核约 21.9ms。叠加解码、预处理与后处理后,端到端时延仍足以支撑实时多路视频分析。若追求更高吞吐,可使用 batch=4 的 INT8 模型,多 batch 推理可进一步摊薄单帧开销,更适合多路视频并发场景。需要说明的是,性能数据会受 SDK 版本、图片分辨率与画面中目标数量的影响,实际项目建议按现场数据复测。

4.4 型号选型建议

  1. SE110S-WA32:32 TOPS 算力 + 32 路 1080p 硬件解码,适合智慧园区、交通卡口等多路并发的中心级节点,INT8 模型可近乎实时地处理多路视频流;
  2. SE110S-WB16:16 TOPS 混合精度算力,适合中小规模项目,兼顾成本与性能,可平滑承载单路到多路的检测任务;
  3. SE110S-WC8:7.2 TOPS 超低功耗(典型功耗约 13W),适合机柜内、杆塔旁等单点轻量部署,配合 INT8 轻量模型即可完成常规检测任务。

选型时可按"路数 × 单路帧率 ÷ 单帧推理耗时"估算所需算力,再预留 30% 左右的余量,避免设备长期满载运行影响稳定性与寿命。

五、总结

CenterNet 用"关键点"重新诠释了目标检测,以极简架构实现精度与速度的出色平衡,其无 Anchor、无 NMS 与 INT8 友好的特性,使其成为边缘计算场景的理想选择。结合土星云 SE110S 系列,开发者只需完成模型导出、编译、量化、推理四步,即可将 CenterNet 快速落地到工业现场,实现低延迟、高可靠、全天候的实时检测。从 32 TOPS 的 WA32 到 16 TOPS 的 WB16,再到 7.2 TOPS 的 WC8,总有一款与你的业务规模和场景需求精准匹配。 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值