← 返回 2026-03-03

雌性萨能奶山羊的单目网格重建与体尺测量 Monocular Mesh Recovery and Body Measurement of Female Saanen Goats

Bo Jin, Shichao Zhao, Jin Lyu, Bin Zhang, Tao Yu, Liang An, Yebin Liu, Meili Wang 📅 2026-02-23 👍 0 2026-07-13 08:35
3D重建 RGBD视觉 动物体尺测量 参数化形状模型 精准畜牧养殖

首个雌性萨能奶山羊物种专属参数化3D模型与单视图自动体尺测量框架

前置知识

SMAL 参数化动物模型

SMAL(Skinned Multi-Animal Linear)是一种借鉴人体SMPL思路的四足动物线性蒙皮模型,最初由Zuffi等人基于41个动物玩具的3D扫描构建。其核心思想是用低维形状参数 $\beta \in \mathbb{R}^{|\beta|}$ 控制整体体型、姿态参数 $\theta$ 控制关节旋转,再通过线性混合蒙皮(LBS)从模板网格 $\bar{T}$ 变形得到任意实例。SMAL的形状空间由玩具扫描PCA得到,因此对真实家畜特别是山羊缺乏物种专属先验。

本文正是在SMAL对山羊建模能力不足这一痛点上展开,了解SMAL的形状空间局限有助于理解为什么必须为萨能山羊重建一个独立的SaanenGoat模型。

线性混合蒙皮 LBS

Linear Blend Skinning 是三维角色动画的基础变形公式,定义顶点 $v_s$ 经姿态变换后的世界坐标 $v = \mathrm{LBS}(v_s, \theta; W, J_r)$,其中 $W \in \mathbb{R}^{N\times M}$ 是皮肤权重矩阵,将每个模板顶点与 $M$ 个骨骼关节关联,$J_r$ 是关节回归器。每个顶点的世界位置是其绑定关节位置经旋转平移后按权重插值的结果。

SaanenGoat 与 SMAL 都遵循 LBS 框架,本文还在此之上加入了顶点位移场 $\Delta V$ 以逼近真实扫描网格,并引入逆LBS(Inverse LBS)把任意姿态归一化到T-pose以构建形状空间。

多视角 DynamicFusion

DynamicFusion(Newcombe 等 2015)原本面向单目深度相机,实时融合非刚性形变场景的体素TSDF场,使重建网格随时间形变并保持时序一致。本文的创新在于将其扩展到8路RGBD同步输入——先通过棋盘格PnP标定获得相机初值,再用时序约束ICP精化位姿,最后融合各视角下带噪声的点云序列得到几何准确、拓扑完整的羊体扫描。

这是数据集得以建立的算法核心。没有高质量的融合扫描,就无法标注32个解剖关键点,更无法用SVD求刚体变换把模板注册到真羊身上。

PCA 形状空间构建

对48只归一化到T-pose的羊体模型计算与平均模板 $\bar{T}$ 的顶点差 $\Delta D_m = D_m - \bar{T}$,堆叠成差分矩阵 $\tilde{D}$ 后做主成分分析,得到 $K=48$ 个正交形状基向量 $S_i$。任意新形状可表示为 $BS(\beta) = \sum_{i=1}^{K}\beta_i S_i$,即形变是模板顶点加权和。

形状空间决定了模型能表达多少体型变异,也是为什么必须采集大量个体(55只)才能构建出低秩且具代表性的参数模型的原因。

Chamfer 距离与体尺MAE

Chamfer距离定义为 $\mathrm{CD} = \frac{1}{|P_1|}\sum_{p\in P_1}\min_{q\in P_2}\|p-q\|_2$,衡量两个点集之间的平均最近邻距离,本文中以毫米为单位。Mesh-to-Scan 则是把重建网格顶点投到扫描点云上的最近距离。体尺MAE(Mean Absolute Error)则直接衡量预测体尺(如体长、胸围)与人工皮尺实测的绝对偏差。

实验章节几乎所有对比都围绕这两个度量展开,理解它们的物理含义才能体会10.65mm vs 36.72mm这种数量级差异在畜牧测量中的实际意义。

研究动机

萨能奶山羊(Saanen dairy goat)的体型指标与产奶量高度相关,国际上正在推进精准畜牧管理,但当前3D视觉落地面临两个核心障碍:第一,缺乏真实山羊物种的高质量3D数据。现有方法如 SMAL 是基于41个动物玩具扫描构建的玩具统计模型,对真实萨能山羊体型偏差显著;VAREN 等高保真系统依赖的激光扫描对羊这类不易驯服的活体动物成本高、可行性差。第二,缺少能精细表征乳房等关键生理结构的参数化模型。传统点云分割方法(如 Jin et al. 2024 用的 PointStack)虽然能避免人工接触,但只能输出局部测量,无法支持对乳房这种非刚性、对称性弱结构的精准几何估计,而体尺测量恰恰是评估母羊泌乳潜力的关键。

本文的目标是本文要建立一个端到端的、从硬件采集到算法建模再到应用测量的完整链路。具体包括三点:(1)构建业内首个真实农场环境下的8视角同步RGBD视频数据集 FemaleSaanenGoat,覆盖55只6–18月龄雌性萨能山羊、约3200个高质量3D扫描;(2)基于扫描学习出首个物种专属的萨能山羊参数化模型 SaanenGoat,包含41个骨骼关节、13815个顶点,特别针对乳房区域增加关节控制;(3)把模型集成到 SMALify 框架并新增3D几何约束与生物力学正则项,实现单视图RGBD输入下的高精度网格重建及6项关键体尺(体长、体高、胸宽、胸围、髋宽、髋高)的自动测量。

与已有工作不同的是,本文的独特切入角度是把'物种专属3D数据采集 + 真实扫描驱动的参数化建模 + 单视图测量落地'三件事作为一个整体来设计,而不是把现有SMAL模型套到山羊头上或在点云上做后处理。具体地,作者通过搭建轻量走廊式8相机阵列让活体羊能自然通过,从而获得动态RGBD序列;再利用多视角DynamicFusion克服乳房等不规则、快速运动区域的重建难题;最后才在此基础上学习出带乳房先验的SaanenGoat模板。这一'采集-融合-建模-落地'垂直一体化思路在以往动物3D视觉文献中没有先例。

核心方法

整篇文章的方法分四步走:第一步是数据采集与融合。作者搭建走廊式8相机阵列(1个俯视+7个环绕Azure Kinect DK),通过光电传感器触发、30fps同步录制30秒RGBD视频序列;用棋盘格PnP初标定相机位姿后,再用时序约束ICP精化;用Track Anything获取前景掩膜后,将DynamicFusion从单目扩展到8视角融合得到带噪声但拓扑一致的形变网格,再做半径滤波得到平滑表面。第二步是模板注册与参数学习。作者购买了一款带骨骼绑定的商业萨能山羊3D模型作为初模板,调整关节位置、增加乳房控制关节后用Loop细分提升分辨率,得到13815顶点/41关节的精细模板;对每只扫描羊手工标注32个解剖关键点后,先做刚体SVD对齐 $\{R,t\}=\arg\min_{R,t}\sum_{i=1}^{n}\|R v_i^S + t - v_i^T\|_2^2$,再联合多种损失(缩放、关键点、对应、碰撞、姿态正则)做位姿优化;接着用基于解剖分区(躯体、头、四肢)的位移场 $\Delta V$ 做形状拟合,损失包括 $L_{\text{vertex}}$、$L_{\text{smooth}}$、$L_{\text{normal}}$、$L_{\text{edge}}$。第三步构建形状空间,对48只归一化到T-pose的羊做PCA,得到 $K=48$ 个形状基 $S_i$,形变公式为 $v_s = \bar{T} + B\beta^T$。第四步是单目重建,扩展 SMALify 框架,用MMPose检测2D关键点,引入深度约束 $L_{\text{depth}}$、轮廓法向约束 $L_{\text{normal}}$ 与生物力学正则 $L_{\text{reg}}$ 优化姿态与形状参数,得到与输入RGBD一致的3D网格并按解剖关键点自动计算6项体尺。

核心创新点有三处:(1)多视角融合的'真实数据驱动'建模路线,区别于SMAL基于玩具、VAREN基于死体的路线,关键证据是把SMAL的平均模型与本文平均模板叠加可见明显的解剖学差异;(2)把乳房作为独立解剖区域增加专属骨骼关节并引入碰撞损失 $L_{\text{collision}}$,避免蒙皮过程中乳房与四肢穿插,这是通用四足模型从未考虑过的细节;(3)把SMALify从'仅2D约束'升级到'2D+3D深度+法向+生物力学'四重约束,使单视图重建的空间尺度与几何一致性大幅提升,本质是把单目估计从'先验拟合'推向'多模态融合'。

方法步骤详情

方法步骤在实现层面可拆解为六个清晰阶段:(a)硬件采集阶段——8台Azure Kinect DK俯视+环绕布局,光电触发,1280×720 RGB + 640×480 深度,30fps录制30秒,每只羊得到约900帧同步RGBD序列;(b)位姿标定阶段——先用棋盘格PnP得到相机外参初值 $R_0, t_0$,再对每帧用时序约束ICP把所有视角深度图对齐到统一世界坐标系,使融合残差最小化;(c)融合重建阶段——扩展DynamicFusion到8视角,对齐后的体素TSDF按非刚性形变规则迭代,得到带噪声但完整的形变网格,再以半径滤波抑制毛刺,输出约3200个高质量扫描;(d)模板注册阶段——手工标32个关键点后,先做尺度归一化下的SVD刚体对齐 $\{R,t\}$,再用损失 $\mathcal{L}_{\text{total}}=\lambda_1 L_{\text{scale}}+\lambda_2 L_{\text{landmark}}+\lambda_3 L_{\text{correspondence}}+\lambda_4 L_{\text{collision}}+\lambda_5 L_{\text{pose reg}}$(权重分别为0.1、0.1、0.2、0.1、0.15)联合优化位姿参数;(e)形状学习阶段——对每只羊在姿态归一化基础上拟合顶点位移场,按躯体/头/四肢三区优化($\lambda=0.2$,$w_{vc}=0.5$、$w_s=0.1$、$w_e=0.1$、$w_n=0.1$),归一化到T-pose后做PCA得到48个形状基 $S_i$;(f)单目推理阶段——MMPose提取2D关键点,初始化 $\theta, \beta$,迭代最小化 $\mathcal{L}_{\text{total}}=\lambda_{\text{sil}} L_{\text{sil}}+\lambda_{\text{kp}} L_{\text{kp}}+\lambda_{\text{depth}} L_{\text{depth}}+\lambda_{\text{normal}} L_{\text{normal}}+\lambda_{\text{reg}} L_{\text{reg}}$(权重分别为0.1、0.02、0.002、0.002、0.01),输出重建网格后按解剖关键点计算6项体尺。

技术新颖性

技术新颖性体现在三个层面。第一是数据层面的'轻量走廊式8视角同步采集系统',相对VAREN的死体激光扫描系统,本文方案在活体自然状态下获取非刚性形变数据,相对传统单目DynamicFusion则解决了深度遮挡和运动模糊问题。第二是建模层面的'物种专属+乳房关节扩展'方案,区别于SMAL的41玩具平均模板,本文模板经两次精修并Loop细分到13815顶点,专门为乳房增加额外关节,使形变能贴合真实羊体解剖;作者还刻意不施加对称约束,承认乳房和肺部的解剖不对称性,这一点与传统对称SMPL假设形成鲜明对比。第三是优化层面的'单目深度+法向+生物力学'三重约束,是对SMALify框架的实质性扩展,使其在保持像素级2D一致性的同时获得真实尺度信息,这一点在主流动物单目重建文献中并不多见。

Data Processing Pipeline. We capture RGBD data of Saanen dairy goats using top-view and seven surrounding cameras.
Figure 2: Data Processing Pipeline. We capture RGBD data of Saanen dairy goats using top-view and seven surrounding cameras.
Comparison between the average model of our SaanenGoat (top) and the SMAL (bottom).
Figure 4: Comparison between the average model of our SaanenGoat (top) and the SMAL (bottom).
Visualization of the shape space for Saanen goats.
Figure 5: Visualization of the shape space for Saanen goats.
The methodology for body size measurement.
Figure 7: The methodology for body size measurement.

实验结果

实验从四个维度展开。其一是扫描注册实验,In-Shape测试集上(5类姿态、5只羊、300帧)SaanenGoat的Chamfer距离为10.65±0.62mm,Mesh-to-Scan为7.02±0.46mm,相对SMAL的36.72±4.76mm与31.53±3.31mm,误差分别下降71.0%与77.7%;相对SMAL+的31.18±3.26mm与25.14±2.79mm也分别下降65.8%与72.1%。在更具挑战的Out-Shape测试集(7只训练未见过的羊、350帧)上,SaanenGoat的Chamfer距离为15.30±1.83mm,仍比SMAL的39.68±5.14mm低61.4%,比SMAL+的32.46±3.75mm低52.9%,证明形状空间对未见个体具备良好泛化能力。其二是体尺测量对比,作者在20只人工皮尺实测的羊上比较,SaanenGoat的总体MAE为1.90cm,相对SMAL的4.89cm和SMAL+的3.48cm提升显著;6项具体测量中,体长MAE=21.9mm、体高=16.8mm、胸宽=14.6mm、胸围=15.5mm、髋高=13.1mm、髋宽=13.4mm,MAPE分别为2.81%、2.35%、6.81%、1.64%、1.77%、5.79%,其中胸围误差相对最大但仍处于临床可接受范围。其三是与三视角PointStack点云分割方法的对比(表3),在所有6项体尺的MAE指标上本文全面胜出,胸围提升最大(15.5mm vs 28.5mm,下降45.6%),MAPE在5/6项上也占优。其四是单目重建实验(表4),在20只有真值扫描的羊上测试,SaanenGoat的Chamfer距离为26.58±3.17mm,比SMAL的89.88±9.04mm低70.4%,比SMAL+的76.16±8.34mm低65.1%,对应的Mesh-to-Scan为19.66±1.74mm。视觉对比上,Fig.6的距离误差热力图显示SaanenGoat整体蓝绿色调占优而SMAL/SMAL+出现明显红色高误差区域,Fig.9的定性结果也证实SaanenGoat网格与RGBD输入轮廓贴合最紧,AniMer则因山羊不在其物种空间内产生明显错位。

Fitting Results on the In-Shape testset.
Table 1: Fitting Results on the In-Shape testset.
Out-Shape testset results.
Table 2: Out-Shape testset results.
Comparison with improved PointStack-based body dimension measurements derived from tri-view point cloud data.
Table 3: Comparison with improved PointStack-based body dimension measurements derived from tri-view point cloud data.
Comparison of monocular recovery results between ours and SMAL as well as SMAL+ models.
Table 4: Comparison of monocular recovery results between ours and SMAL as well as SMAL+ models.
Comparison of model fitting performance on scanned goat data: ground truth mesh, SMAL, SMAL+, and SaanenGoat fittings with corresponding distance error maps.
Figure 6: Comparison of model fitting performance on scanned goat data: ground truth mesh, SMAL, SMAL+, and SaanenGoat fittings with corresponding distance error maps.
Body measurement comparison between SMAL, SMAL+, and our SaanenGoat model.
Figure 8: Body measurement comparison between SMAL, SMAL+, and our SaanenGoat model.
Monocular 3D goat mesh recovery results.
Figure 9: Monocular 3D goat mesh recovery results.
MAE results for body measurements: comparison between single-view SaanenGoat reconstructions and SMAL/SMAL+ baseline models.
Figure 10: MAE results for body measurements: comparison between single-view SaanenGoat reconstructions and SMAL/SMAL+ baseline models.
查看结构化数据
任务指标本文基线提升
In-Shape 扫描注册 Chamfer Distance (mm) ↓ 10.65 ± 0.62 SMAL 36.72 ± 4.76;SMAL+ 31.18 ± 3.26 相对 SMAL 下降 71.0%,相对 SMAL+ 下降 65.8%
In-Shape 扫描注册 Mesh-to-Scan (mm) ↓ 7.02 ± 0.46 SMAL 31.53 ± 3.31;SMAL+ 25.14 ± 2.79 相对 SMAL 下降 77.7%,相对 SMAL+ 下降 72.1%
Out-Shape 跨个体泛化 Chamfer Distance (mm) ↓ 15.30 ± 1.83 SMAL 39.68 ± 5.14;SMAL+ 32.46 ± 3.75 相对 SMAL 下降 61.4%,相对 SMAL+ 下降 52.9%
Out-Shape 跨个体泛化 Mesh-to-Scan (mm) ↓ 11.29 ± 1.76 SMAL 33.71 ± 4.35;SMAL+ 26.32 ± 2.87 相对 SMAL 下降 66.5%,相对 SMAL+ 下降 57.1%
六项体尺综合测量 平均 MAE (cm) ↓ 1.90 SMAL 4.89;SMAL+ 3.48 相对 SMAL 下降 61.1%,相对 SMAL+ 下降 45.4%
单目 RGBD 网格重建 Chamfer Distance (mm) ↓ 26.58 ± 3.17 SMAL 89.88 ± 9.04;SMAL+ 76.16 ± 8.34 相对 SMAL 下降 70.4%,相对 SMAL+ 下降 65.1%
胸围测量(vs PointStack 三视角) MAE (mm) ↓ 15.5 PointStack 28.5 下降 45.6%,MAPE 由 3.08% 降至 1.64%

局限与改进

作者在文末明确指出三项局限:第一是物种专属约束限制了模型对其他山羊品种(如波尔山羊、安哥拉山羊)的泛化能力,原因是训练形状空间仅来自萨能山羊;第二是乳房等被自身躯干或四肢遮挡时重建精度会下降,因为单目深度本身就缺乏被遮挡区域的几何信号;第三是羊毛厚度会影响模型与表面的贴合关系,不同季节剪毛状态下的几何偏差尚未充分考虑。审稿视角还可补充两点:其一是8视角同步采集系统本身要求羊只在长30秒内连续经过走廊并保持自然姿态,对极端活泼或极度紧张的个体可能不适用;其二是单目推理阶段仍依赖MMPose的2D关键点检测,在羊体毛色多变、关键点遮挡(如低头吃草)场景下鲁棒性尚未充分验证。

独立分析的弱点

独立审视后还可指出四点改进空间:(1)形状空间仅用48只羊的扫描构建,相对SMAL的41个玩具扫描量级相当但对长期生产部署偏小,应扩大至100只以上以覆盖更多体型变异;(2)8视角相机阵列在大型农场部署成本仍较高,建议研究2–3视角的轻量替代方案,例如用NeRF或Gaussian Splatting替代传统DynamicFusion;(3)单目重建的损失项权重($\lambda_{\text{depth}}=0.002$、$\lambda_{\text{normal}}=0.002$)相对2D项($\lambda_{\text{sil}}=0.1$、$\lambda_{\text{kp}}=0.02$)小了一个量级,意味着深度信息在优化中影响有限,可考虑自适应权重或在线重加权策略;(4)缺乏在线更新机制,当出现新品种、新饲养环境时无法增量学习,需要重建整条流水线。每个弱点都有明确的工程化或算法化改进方向。

未来方向

作者提出的未来工作集中在三点:开发遮挡感知的乳房重建算法以处理自遮挡、扩展数据集至多个山羊品种、研究多模态感知以应对羊毛厚度变化。基于成果还可延伸的方向包括:(a)把模型部署到嵌入式设备(如Jetson)实现牧场边的实时体尺推算,结合自动体重秤形成综合生长监测;(b)将体尺时间序列与产奶量、繁殖记录关联,建立基因-表型预测模型,辅助萨能山羊的精准育种;(c)将8视角RGBD扩展为RGBD+热成像或RGBD+结构光的多模态融合,应对夜间和户外场景;(d)借鉴 SMAL++ 或 BITE 等近期工作的自监督先验学习思路,减少对手工关键点标注的依赖,将32个关键点的标注成本降至接近零。

复现评估

复现性总体良好。代码与数据集已在 GitHub 开源(github.com/bojin-nwafu/Female-Saanen-Goats),包含 FemaleSaanenGoat 数据集、扫描结果、SaanenGoat 模型权重及测量脚本。论文明确给出了完整的网络架构(基于 SMALify)、损失项与权重($\lambda_1$–$\lambda_5$、$\lambda$、$w_{vc}$/$w_s$/$w_e$/$w_n$、$\lambda_{\text{sil}}$/$\lambda_{\text{kp}}$/$\lambda_{\text{depth}}$/$\lambda_{\text{normal}}$/$\lambda_{\text{reg}}$)、形状基维度($K=48$,13815顶点/41关节)、PCA 流程与 PnP+ICP 标定参数。硬件方面,单张 NVIDIA RTX 3090 即可完成全部训练与推理,DynamicFusion 阶段不涉及重型 GPU。复现难度主要在于硬件门槛——8台 Azure Kinect DK、走廊式触发装置与对应的多视角同步时序对齐需要专业搭建,对小型实验室不够友好;此外,模板依赖外部商业资产(free3d 上的萨能山羊 rigged 模型),版权与可获得性可能影响完整复现。