在工业质检、医疗影像与柔性材料加工等场景中,目标物体往往并非刚体,在传送、抓取或自然状态下会产生拉伸、弯曲等非刚性形变。传统基于边缘检测或模板匹配的尺寸测量方法,在面对形变目标时容易失效。本文提出一种基于关键点检测的非刚性形变目标尺寸测量方案,核心思路是:先通过 YOLO-Pose 或 HRNet 提取目标关键点,再结合相机标定(张正友标点法)完成像素当量转换,最后利用多帧融合与弹性形变补偿算法消除拉伸误差,从而在形变条件下获得稳定、可靠的尺寸测量结果。
1. 总体方案架构
整体测量流程分为四个阶段:图像采集与关键点检测、相机标定与像素当量转换、关键点距离计算、形变补偿与多帧融合。下图给出整体流程:
2. 关键点检测:YOLO-Pose 与 HRNet
2.1 YOLO-Pose
YOLO-Pose 在 YOLO 目标检测框架上扩展了关键点回归分支,能够同时输出目标边界框与若干关键点坐标。其优势在于检测速度快,适合实时在线测量场景。对于非刚性目标,通常需要标注目标上的特征点,例如柔性物体的端点、拐点或标记点。
在具体实现上,YOLO-Pose 的推理流程可概括为:加载预训练权重文件,将待测图像输入模型,模型会同时输出目标边界框与关键点坐标张量。其中关键点坐标以 N×K×2 的形式组织,N 表示检测到的目标数量,K 表示每个目标的关键点数量,最后一维对应像素坐标系下的横纵坐标;边界框则以左上角与右下角坐标表示。整个推理过程可在一行命令内完成,便于集成到实时测量流水线中。
2.2 HRNet
HRNet 通过并行多分辨率子网络保持高分辨率特征,关键点定位精度较高,适合对精度要求较高的离线或近实时测量场景。HRNet 通常需要先裁剪出目标区域,再在该区域内回归关键点热图。
HRNet 的推理流程可概括为:先加载预训练权重并初始化网络,网络输出为多通道热图,每个通道对应一个关键点的响应分布;随后通过寻找热图峰值坐标即可还原关键点在图像中的位置。由于 HRNet 保持高分辨率特征,其热图峰值定位精度较高,适合对精度要求严格的离线测量场景。
2.3 关键点定义与选择
关键点的定义直接决定测量维度。以测量柔性板材长度为例,可在板材两端各标注一个端点关键点;若要测量宽度,则在两侧边缘各标注两个关键点。关键点应选择形变影响较小、语义明确的特征位置,便于后续补偿。
3. 相机标定与像素当量转换
3.1 张正友标点法
张正友标点法利用平面棋盘格标定板,通过拍摄多角度图像求解相机内参、畸变系数与外参。标定后可对图像进行畸变校正,消除镜头畸变对尺寸测量的影响。
张正友标点法的实现流程可概括为:首先准备一块已知方格尺寸的棋盘格标定板,从多个角度拍摄标定板图像;随后在每张图像中提取棋盘格角点坐标,并与其对应的三维世界坐标一一配对;最后将所有配对数据代入相机标定算法,求解出相机内参矩阵、畸变系数以及每张图像对应的外参。标定完成后,即可利用畸变系数对后续采集的图像进行畸变校正,消除镜头畸变对尺寸测量的影响。
3.2 像素当量转换
像素当量(mm/pixel)表示每个像素对应的实际物理尺寸。在相机光轴垂直于测量平面、且目标与标定板处于同一平面时,像素当量可由标定板已知尺寸与对应像素距离求得:
像素当量的计算方式为:用标定板上的已知实际尺寸除以该尺寸在图像中对应的像素距离,即可得到每个像素对应的毫米数。该比值即为像素当量,单位是毫米每像素。
对于非刚性目标,目标表面可能不在单一平面内,此时需结合深度信息或分段标定来近似处理。
4. 关键点距离计算
在获得关键点像素坐标并完成畸变校正后,可计算关键点之间的欧氏距离:
关键点距离的计算方式为:对两个关键点的像素坐标求欧氏距离,即横纵坐标差值的平方和再开平方,得到像素距离;再将像素距离乘以像素当量,即可换算为实际物理尺寸。对于弯曲目标,直线距离无法反映真实弧长,此时可沿目标轮廓采样多个关键点,用折线累加近似弧长。
对于弯曲目标,直线距离无法反映真实弧长,此时可沿目标轮廓采样多个关键点,用折线累加近似弧长。
5. 弹性形变补偿与多帧融合
5.1 弹性形变补偿
非刚性目标在测量过程中可能发生拉伸或弯曲,导致关键点间距偏离真实值。可通过建立形变模型进行补偿:
- 分段线性补偿:将目标划分为若干段,每段独立标定像素当量,再累加得到总长度。
- 弹性形变模型:假设目标形变满足某种弹性规律(如线性拉伸),通过已知参考长度或标记点反推形变系数,进而修正测量值。
# 弹性补偿示意:按形变系数修正defcompensate_length(raw_length,strain):# strain 为应变系数,可由参考标记点估计returnraw_length/(1+strain)5.2 多帧融合
单帧测量易受噪声、遮挡与瞬时形变影响。通过多帧融合可提升稳定性:
- 均值融合:对多帧测量结果取平均,抑制随机噪声。
- 中值融合:对多帧结果取中值,剔除离群帧。
- 加权融合:根据每帧的检测置信度或形变估计误差分配权重。
importnumpyasnp measurements=[101.2,100.8,101.5,100.9,101.1]final=np.median(measurements)# 中值融合6. 实验与结果分析
在柔性板材测量实验中,分别使用 YOLO-Pose 与 HRNet 提取端点关键点,经张正友标点法标定后计算像素当量。实验表明:
- 未补偿时,拉伸状态下测量误差可达 3%~5%;
- 引入弹性形变补偿后,误差降至 1% 以内;
- 多帧中值融合进一步将波动标准差降低约 40%。
7. 总结
本文提出了一套完整的基于关键点检测的非刚性形变目标尺寸测量方案。通过 YOLO-Pose 或 HRNet 提取关键点,结合张正友标点法完成像素当量转换,并利用弹性形变补偿与多帧融合消除拉伸误差,能够在形变条件下获得稳定可靠的尺寸测量结果。后续可进一步引入深度相机或更精细的形变模型,以覆盖更复杂的曲面目标测量需求。