北京大学前沿计算研究中心

作者:李沛卓

描述

我们通常看电影或者动漫时常常会遇到以下这种蒙皮不够饱满的情况,而且通常动画师在进行建模的时候会在这方面花费很大精力和时间,但是最终效果却依然不够理想,本文介绍的论文里就能很大限度的解决这个问题。

由北京大学、北京电影学院等高校和机构合作完成的这一成果中提出“神经融合形状技术”开发了一套神经网络,从形象中预测骨骼,用来生成具有指定结构的骨骼,并且精准绑定骨骼的蒙皮权重,更容易地用运动捕捉来制作动画。


文章目录

  • 描述
  • 概述
  • 神经融合形状技术
    • 神经融合形状技术总体架构
    • 一、包络变形分支
      • 1.包络变形分支架构图
      • 2.方法
    • 二、残余变形分支
      • 1.残余变形分支架构图
      • 2.方法
      • 3.推理过程
    • 三、实验
      • 1.技术框架
      • 2.实现细节
      • 3.数据
      • 4.实验
      • 5.实验小结
  • 总结

概述

我们的目标是用现有的动作捕捉数据来动画一个新设计的角色,并结合高质量的姿态相关变形。在这个问题公式中,需要预先定义角色的骨架结构,即骨骼层次结构和关节邻接,以等效于动作捕捉数据的骨骼结构。给定一个新的看不见的人物角色,我们使用深度神经网络生成参数,使关节与姿势特定的校正变形。我们网络的结构是受经典动画管道的启发,输出三个主要组件:索具、蒙皮和混合形状。自由度的数量和底层骨架结构的层次结构是预先定义的,并嵌入到网络中,以确保动画角色的动作捕捉兼容性。
  我们的框架包含两个主要分支:(i)学习姿态不变参数的包络变形分支(例如,索具和蒙皮),和(ii)学习与姿态相关的残余位移的残余变形分支。习得的骨架被绑定到使用估计蒙皮权重的输入几何。当结合关节旋转时,这定义了能够连接形状的包络变形。我们的神经混合形状的灵感来自SMPL [Loper et .2015],该模型提出了一种综合模型,使用混合形状表示为静止姿势中输入字符的附加位移基础,创建特殊的变形质量。
  我们的网络是训练具有相同关节结构的字符(例如,两足动物),但可能有不同的潜在变形模型。因此,没有真实情况提供给网络估计的索具、蒙皮和混合形状。我们使用间接监督,即不是直接监督变形参数(索具、蒙皮和混合形状),我们的网络通过观察关节顶点位置如何由一组关节旋转控制来推断它们。因此,网络学习使用预定义的包络模型来表示每个输入字符的清晰度,而不考虑在训练过程中使用的潜在变形模型。我们的间接监督能够学习任意数量的混合形状,我们使用它来生成比原始训练数据更少的混合形状,以及生成的混合形状的学习掩模。该网络预测了结构与姿态相关的紧凑和局部混合形状,而不需要监督这种混合形状。

神经融合形状技术

神经融合形状技术主要由两部分组成,一是包络变形分支(envelope deformation branch),二是补偿变形分支(residual deformation branch)


神经融合形状技术总体架构

以下是神经融合形状技术总体架构图。
方法概述. 从T-pose的角色模型和期望骨架层次结构上的关节旋转开始,我们的包络分支预测相应的蒙皮和索具参数,并使用差分包络变形输入角色。同时,残余变形分支使用输入网格进行预测N混合形状并使用关节旋转来预测相应的混合系数αi, 混合形状添加了残余变形,该变形以输入关节旋转为条件,从而产生高质量的位姿相关变形。注意,我们的系统使用任意网格连接处理输入人物角色,而不使用关节位置作为输入。

在接下来的章节中,我们将使用以下符号:V和F分别表示输入网格的顶点位置和连接性。W为输出蒙皮权矩阵,O是一个表示输出骨架的分层偏移集N表示混合形状的残余形状,用标量系数进行插值

一、包络变形分支

1.包络变形分支架构图

架构图如下(示例):
     包络变形分支。给定t位(V,F)和关节旋转(R)的网格。我们的网络通过观察连接字符的顶点位置,通过间接监督来推断蒙皮(W)和索具(O)参数。

2.方法

我们的包络变形分支遵循典型的装配和蒙皮动画工作流。我们的包络变形网络预测骨骼偏移量(每个关节与其父关节之间的偏移量) O使用指定的框架层次结构,其中包含J关节以及蒙皮权重矩阵W 。由于我们的网络不受皮肤矩阵的直接监督,我们的包络分支可以获得比标准LBS更好的变形质量。
  我们的网络学会了使用间接监督将预先定义的骨架拓扑结构安装到任何输入人物角色上。在训练过程中,网络仅由关节的顶点位置和相应的关节旋转来监督。该网络通过嵌入网络中估计的索具参数和蒙皮参数学习关节旋转与关节特征之间的关系。因此,有了足够多的例子,网络就能推断出输入人物角色的精确的索具和蒙皮参数。
  索具. 给定V和F,我们的目标是学习索具参数 特定骨架层次结构的J弥补。直觉上,每个O抵消 角色的装备可以从它周围的网格顶点推断出来。为了学习适合该任务的顶点表示,我们首先将v的边表示(类似于蒙皮块)通过几个MeshCNN块来获得学习的深度顶点表示 V和K通道。然后,输出蒙皮矩阵用于在深度顶点上应用基于池化的询问,它将 V 特征折叠成一个 使用相对蒙皮权重的 J 深度偏移集。
  表示对应于第 J的深层特征偏移量, 是将顶点i连接到偏移j的蒙皮权重。这个操作类似于基于注意力的池化,并确保每个偏移量仅作为顶点的函数计算绑定到它。鉴于深度补偿,我们预测显式骨架偏移量来构建索具。由于骨架拓扑结构在我们的网络中是固定的,我们可以利用连接性,这样每个偏移量仅由其对应的深度偏移量及其近邻来计算。因此,我们使用一块骨骼感知算子[Aberman et al. 2020]来预测显偏移量。
  表皮的训练。为了学习在训练中没有提供的蒙皮和索具参数,在每次迭代中我们注入一个由局部关节旋转描述的姿态R,它指导输入角色的变形以及预测的索具和蒙皮。我们用两个步骤来转换局部关节旋转和偏移到一个全局仿射每关节变换T它可以应用到输入顶点。首先,对于每个关节,我们累积局部仿射变换 沿着它的运动链(从根开始)通过正向运动层。然后,应用微分线性混合蒙皮(LBS)层,基于蒙皮矩阵计算每个顶点的全局变换一旦变换被计算出来,逐顶点仿射变换被应用于输入人物角色。

二、残余变形分支

1.残余变形分支架构图


  残余变形分支根据输入网格的连通性和输入关节的旋转预测混合形状和混合系数。该网络学习估计混合形状的任意网格连通性和混合系数,条件是关节旋转。

2.方法

残余变形分支是受混合形状的概念,并预测一组固定的残余形状由姿势依赖插值系数和输入人物角色添加到改善变形插图质量。在我们的例子中,两个形状及其系数的学习神经网络。在推理过程中,我们将输入角色输入到网络中一次,以接收剩余的混合形状,而每一帧的关节旋转都需要实时地动画角色的姿态相关变形。

3.推理过程

           给定一个新角色,我们可以提取皮肤,索契,并混合形状在我们的网络的单一向前通过。为了使角色动起来,我们只需要一个小网络来计算与姿态相关的混合形状系数。符合标准的骨骼动画模型,可以在标准动画软件中直接即插即用。
  剩余混合形状:给定输入顶点位置V和连通性F,残余分支从包络变形分支中预先训练的具有固定权重的蒙皮和几何块开始。然后输出剥皮W沿着通道维度连接到深顶点V然后结果被输入网络。深顶点和蒙皮的结合为混合形状网络提供了丰富的顶点及其与骨架关系的信息,这对混合形状的生成至关重要。与包络分支相似,我们使用这三个组件的边缘特征表示,它们通过网格卷积块,导致一组N剩余的形状。同时,我们提供一个小型神经网络包含J个MLP块,其中每个块都由单个关节调节旋转,并输出一系列姿态相关系数J。这些系数被用来插值累加并添加到输入顶点的残差形状:
    
  其中 mj 是一个二进制掩码,它指定了与关节 j 相关联的顶点。这个计算是通过挑选皮肤矩阵中与关节对应的两块骨头相关的所有非零项来完成的。该操作使我们能够在混合形状的结构中加强本地化,并避免与静态关节相关的顶点的不必要变形(类似于[Osman et .2020])。与包络分支相似,损失函数用式
计算为铰接人物角色与相应的真实值之间的差值。

三、实验

1.技术框架

我们的神经连接框架是使用PyTorch。并在NVIDIA GeForce GTX Titan Xp GPU (12gb)和Intel Core i7-6950X/3.0GHz, CPU (16gb RAM)上进行实验。
其中Python>=3.7; Pytorch>=1.5.0; Blender>=2.8。

2.实现细节

我们使用两个阶段的课程来训练网络。第一阶段训练包络分支,第二阶段确定包络网络权值并训练残余分支。在这个阶段,我们发现对于我们的特定训练数据集,我们可以通过为混合形状提供监督来提高性能。然而,由于SMPL的混合形状和我们的模型不共享相同的属性(混合形状的数量,每个混合形状的顶点数量),我们通过优化MLP网络使输出满足一些高质量的变形地面实况来提取我们的混合形状地面真相样本。然后提取的混合形状可用于直接监督残余形状的生成。我们使用Adam优化器(Kingma和Ba 2014)优化框架的参数。

3.数据

我们的网络在SMPL数据集上进行训练[Loper et .2015],该数据集包含10个形状(姿态无关)的混合形状和207个姿态相关的混合形状。这使得使用SMPL模型中提供的关节旋转可以生成各种不同形状的变形(例如,身高、体重、比例)和高质量的变形。由于SMPL形状代表了一个相对无毛的人物角色(即裸体和无毛的人类),我们在Multi Garment Network中引入了一个附加的裸体人类数据集[Bhatnagar et al.2019]。后者包含96个人物角色,使用SMPL网格连接。我们在96个穿着衣服的人中使用了80个进行训练(保留16个模型进行测试)。为了训练网络,我们从两个不同的分布(每个分支一个)抽样关节旋转。对于包络变形分支,单个接缝的分布为UN,即旋转轴从三维球体上均匀采样,旋转角度从均值和方差均为零的正态分布上采样 ,对于残余变形分支,旋转分布为UU,以便捕捉更大更夸张的变形。在每个分支中,我们对除根关节外的每个关节进行旋转采样。
  我们的网络假设输入字符具有一致的垂直和面向前方的方向。继SMPL之后[Loper et al. 2015],为了有效地学习混合形状,输入也应该是t位的,这对于获得高质量的变形很重要。此外,顶点位置在训练过程中进行空间对齐,从而使指尖处于固定高度(如SMPL模型)。在测试时,如果人物角色不属于SMPL分布,我们将其转换为相同的高度并缩放顶点,使两个极端的手尖顶点具有一定的距离,类似于原始SMPL模型中的距离没有模糊的影子混合形成的形状。
  正如MeshCNN [Hanocka等。2019]所述,我们的系统可以处理包含边界、自交叉或断开组件的输入。在非流形几何(非流形网格边或顶点)的情况下,这些应该简单地删除。一般情况下,需要有一个有意义的形状曲面来传播深度网格特征;所以在极端多边形的情况下,可以采用某种形式的重网格[research 2020]或四面体化[Hu等人2020]。
  测试数据。我们的测试集由三组组成。第一组是五个由专业动画师手工制作的两足角色。第二组是30个随机的SMPL字符,它们以不同的比例和形状采样,与我们训练的不同。第三组是为测试集保留的SMPL服装数据集的16个人物角色的随机子集。
  服装增加。我们还使用Bhatnagar et al.[2019]的数据集来放大我们的网络观察到的几何特征。由于该数据集中的形状具有与SMPL相同的连接性,我们可以分两步提取服装位移。首先,我们找到匹配穿衣人物角色表面的衣橱SMPL角色(通过对SMPL参数空间的优化),然后从合身的SMPL角色中减去穿衣人物特征,得到一组位移,这些位移用于通过添加服装来增加形状。这在训练数据中创造了各种几何变化,特别是关于皮肤w.r.t.角色骨骼的位置。我们展示了这种强化在消融研究中的重要性。
  网连通性增强。为了丰富网络训练的样本集,增强其对不同网格连通性的鲁棒性,我们通过在边缘上应用三种拓扑算子来增加数据样本:塌陷、分裂和翻转[Hoppe 1996;Botsch等,2010]。

4.实验

我们的框架可以生成高质量的索具与皮肤权重和混合形状的各种人物角色与任意连接。

  这里显示的测试角色来自三个测试数据组:SMPL数据集、服装数据集和由3D动画师手工制作的角色动画。这些角色动画都不会在训练中使用。为了可视化蒙皮权重,我们将骨架中的每一块骨头都关联到一个独特的颜色,然后将顶点的颜色作为绑定在蒙皮权重中的骨头颜色的加权平均值来计算。

  这里展示了由我们预测的骨架平台产生的变形质量。左边的基线变形是使用每个角色的LBS权重和真实蒙皮权重生成的,而我们的包络变形分支和残余变形分支生成的变形分别显示在图的中间和右边。值得注意的是,由于我们的包络分支是在高质量数据上训练的,我们已经可以使用LBS和包络模型计算的蒙皮权重生成比基线结果更好的网格变形。这种改善在图中可以很容易地看到,在图中中间的结果显示,臀部周围的体积损失显著减轻。利用我们的残余变形分支计算的混合形状,可以进一步提高变形质量。如图所示,在对膝关节和肘关节进行大幅度变换的情况下,仍然保留了膝关节和肘关节周围网格的体积。

5.实验小结

对于神经网络来说,一项具有挑战性的任务是在训练数据之外进行归纳和外推的能力,而训练数据总是只包含我们在测试时预期会遇到的真实世界数据的子集。通过使用我们的模型对Mixamo数据集[Adobe Systems Inc. 2018]中的角色动画,我们验证了我们的系统对自然状态下角色的健壮性,该模型在训练期间没有看到Mixamo角色。Mixamo是一个特别具有挑战性的集合,因为角色动画包含了非常不同的网格连接、身体比例和装饰的几何图形。虽然Mixamo已经包含了索具和蒙皮,但它不包含使用给定动作捕捉数据进行动画所需的骨骼结构,也没有混合形状或依赖于姿势的校正变形。为此,我们使用我们的系统来预测一个具有理想骨骼结构的平台,使Mixamo角色能够使用带有神经混合形状的动作捕捉运动。这个结果尤其显著,因为网格包含的顶点数量是我们训练网络的顶点数量的三倍。

  在图(a)中,我们看到了我们在Mixamo角色上的皮肤和装备的结果,我们预测的骨骼装备已经准备好使用给定的动作捕捉数据动画了。我们的神经混合形状在肌肉区域创建了校正变形,从而准确地保留了肌肉凸起,而原始的Mixamo数据集没有纳入高质量的变形,如图©和补充视频所示。此外,如图(b)所示,原来的Mixamo角色装备与动作捕捉的骨架结构不兼容,而我们的网络预测在同一角色上有一个动作捕捉的骨架。

  
  连通性和鲁棒性。在这个实验中,我们演示了使用网格连接性增强(边缘翻转、分裂、折叠)进行训练,从而得到一个对输入网格连接性变化健壮的系统。给定相同的输入角色,我们执行大量的连接性增强,以实现网格输入的变化。我们观察到网络估计的蒙皮和索具参数保持稳定,如图所示。我们还得出,相应的包络产生稳定的变形,这种输入连接变化,这可以在补充视频中看到。

  神经混合形状。在这个实验中,我们将学习到的与姿态相关的混合形状的校正效果可视化。对于一个给定的人物角色,我们给我们的网络添加3组关节旋转(相当于3个姿势),并将输出显示在图中。第一行展示了每个姿势的变形人物角色,而底部原始可视化的结果位移的大小(通过彩色地图),在同一人物角色的休息姿势上。可以看到,我们的神经混合形状置换了与弯曲关节(肘关节、膝关节和髋关节)对应的区域的顶点,从而使得这些区域的矫正变形。


  除了校正位移,我们还将学习到的混合系数可视化到特定运动的顶部,以便检查活动关节,如上图所示。对于每个姿势,每个关节都根据基于蒙皮矩阵与之关联的置换平均值着色。结果表明,当关节处于主动(弯曲)状态时,相应系数的激活程度较高。请参考补充视频看到完整的动画。


  此外,我们还进行了一项实验来评估 获得高质量姿态相关变形所需的混合形状交配。我们用不同数量的混合训练网络 形状N,发现9种混合形状足以获得高质量变形,无论是数量上还是质量上。如上图所示。


总结

我们提出了一种方法来训练神经网络,使用特定的、指定的骨架结构对输入人物角色网格进行装配和蒙皮,并自动生成神经混合形状,以增强基于姿态的关节变形质量,使其看起来更加接近真人关节形状。事实上,我们的框架包含了所需的骨架结构,这使得它可以使用现有的运动数据来制作动画,例如可用的动作捕捉库或之前设计的角色的遗留动画数据。整个过程与动画软件的典型工作流兼容。同时,学习的混合形状保证了高质量的输出变形,避免了通常的LBS陷阱,通常是学习各种变形效果并将其应用于未知的任意连接网格的强大手段。与许多现有的基于实例的方法不同,我们的系统只需要一个网格作为输入来计算骨架和神经混合形状,这使得它适用于大范围的场景。
  与深度学习范例中典型的情况一样,我们方法的输出受到训练数据集中存在的形变质量的限制。本文中显示的大多数结果都是使用类SMPL模型生成的示例进行训练的[Loper et al.2015;博等al.2019]。在我们的大多数实验中,生成的(钻机)平台会产生高质量的网格变形,但在某些情况下,当所选模型没有得到充分训练时,会产生工件(骨骼之间的衔接不够好)。幸运的是,我们的间接监督学习并不假设训练数据具有特定的基础模型,并且可以很容易地扩展到利用其他类型的示例来学习通用变形。对这里所示结果的直接改进是在生产平台上培训系统。我们也有兴趣探索未来从模拟学习二级动力学的可能性。
  我们的系统经过训练,可以生成具有指定骨架结构的(钻机)平台。改变骨架结构。例如,增加额外的连接点或改变连接性,则需要对整个网络进行再培训。在未来的工作中,这将是有趣的探索skeletonaware模型,如[Aberman et al.2020],提出了嵌入在操纵网络骨架结构支持任意平台使用相同的模型,以及放松一些假设我们对输入字符(歧管网,T-pose形状,等等)。自动适应和组合多个模板骨架结构的多组件字符[Miller等。2010;Bharaj等人2012]将是另一个值得探索的有趣问题。

  连通性增强消融。上面:没有连接增强的网络训练,下面:我们的网络训练了连接增强。左边是网络预测的蒙皮权重,右边是变形人物角色。可以看到,使用连接增强进行训练是在不同网格连接上推广神经混合形状的关键。

  服装增加消融。上:网络训练没有服装增强,下:我们的网络训练有服装增强。左边是网络预测的蒙皮权重,右边是变形字符。训练与服装增强是我们的系统能力的关键,以概括的角色创建的3D艺术家。

项目主页:
https://peizhuoli.github.io/neural-blend-shapes/
论文地址:
https://peizhuoli.github.io/neural-blend-shapes/papers/neural-blend-shapes-camera-ready.pdf

参考链接:
[1]https://peizhuoli.github.io/
[2]https://twitter.com/RanaHanocka/status/1391867020732424197?s=05
[3]https://mp.weixin.qq.com/s/IuvyNRJ6amJn5ya7fr8L6A
[4]https://mp.weixin.qq.com/s/uU1-DwHnU4pPMLtQZNQyVQ
[5]https://zhuanlan.zhihu.com/p/372506090
[6]http://cfcs.pku.edu.cn/english/news/240110.htm
参考视频:
[1]https://www.bilibili.com/video/BV17A41157rt/
[2]https://www.bilibili.com/video/BV13f4y1Y7Xs?spm_id_from=333.999.0.0
[3]https://www.youtube.com/watch?](https://www.youtube.com/watch?

Learning Skeletal Articulations with Neural Blend Shapes(使用神经混合形状学习骨骼关节)SIGGRAPH 2021顶刊解析相关推荐

  1. (2018)All-optical machine learning using diffractive deep neural networks

    "All-optical machine learning using diffractive deep neural networks",这篇Science上的文章发表于2018 ...

  2. 图形学笔记(十九)动画 —— 动画的历史、关键帧插值、物理仿真、质点弹簧系统、粒子系统、(反向IK)动力学、Rigging 绑定、Blend Shapes、动作捕捉

    图形学笔记(十八)光场.颜色和感知-- 光场相机(全光函数.光线和光场的定义).可见光谱.谱功率密度.颜色的生物学基础.Tristimulus Theory.同色异谱.加色与减色系统.颜色空间SPD ...

  3. Unity中Skinned Mesh Renderer Blend Shapes小试

    第一个应用:如何使用网格渲染器Blend Shapes Unity制作木棍剥皮 1. Intro 2.Modeling (Blender) 打开Blender 软件 调整视角 然后快捷键: Shift ...

  4. 【论文导读】- STFL: A Spatial-Temporal Federated Learning Framework for Graph Neural Networks

    文章目录 论文信息 摘要 Contributions Methodology Graph Generation Graph Neural Network 联邦学习 Experiment 数据集 Nod ...

  5. Machine Learning week 5 quiz: Neural Networks: Learning

    Neural Networks: Learning 5 试题 1. You are training a three layer neural network and would like to us ...

  6. 【论文阅读】Neural Transformation Learning for Deep Anomaly Detection Beyond Images 异常检测,可学习变换,时间序列,表格数据

    本博客系博主阅读论文之后根据自己理解所写,非逐字逐句翻译,预知详情,请参阅论文原文. 论文标题:Neural Transformation Learning for Deep Anomaly Dete ...

  7. Reinforcement Learning Enhanced Heterogeneous Graph Neural Network阅读笔记

    强化学习增强异质图神经网络 代码源:https://github.com/zhiqiangzhongddu/RL-HGNN 摘要 异构信息网络(HINs)涉及多种节点类型和关系类型,在许多实际应用中非 ...

  8. Machine Learning week 4 quiz: Neural Networks: Representation

    Neural Networks: Representation 5 试题 1. Which of the following statements are true? Check all that a ...

  9. 《Discriminative Unsupervised Feature Learning with Exemplar Convolutional Neural Networks》阅读笔记

    <Context Encoders: Feature Learning by Inpainting>阅读笔记 摘要 我们提出了一种基于上下文的像素预测驱动的无监督视觉特征学习算法.类似于自 ...

最新文章

  1. 流量低峰也烦人-lighttpd耗时长问题追查
  2. nyoj 720 项目安排(dp+二分优化)
  3. 图像处理技术之分辨率与压缩
  4. python执行linux和window的命令
  5. 后端服务接口都在测试什么?怎么测?
  6. Newtonsoft.Json 序列化和反序列化 以及时间格式 2
  7. Base64序列化和反序列化
  8. 基于STM32设计的酒驾报警系统
  9. mysql front连接_mysql server连接mysql-front方法
  10. 计算机考试表格中的透视图怎么弄,职称计算机考试:创建数据透视表
  11. 微信登录app提示服务器异常,微信登录异常怎么办?微信登录异常的原因以及解决方法...
  12. nets_comment_class.py-网易单曲评论-music-163
  13. Python输出[m,n]既能被3整除又能被7整除的数的个数
  14. 八皇后问题的进化(4)-python写的八皇后
  15. 【JZOJ】给水(water)
  16. ajax java首字母检索_AJAX的拼音首字母查找对应中文的portlet
  17. [激光原理与应用-17]:《激光原理与技术》-3- 激光的产生技术 与原理 - 微观粒子、能级、电子、光子、受激辐射
  18. SQL基础培训25-SQL开发思路畅谈与开发规范
  19. singer页面点击歌手singer是跳转到singer-detail的设置
  20. 中国信息化系统集成行业协会:企业信息化系统集成

热门文章

  1. 计算机网络无法连接共享打印机驱动,Windows无法共享您的打印机,Windows无法连接到打印机...
  2. 微信群机器人微云助手微小云微信群淘客助手如何设置好券直播淘宝联盟优惠券自动群发
  3. 其他状态(非Buff/Debuff、异常状态的状态)
  4. 一段简单的C/C++病毒源程序
  5. 文献阅读-FCER1G与透明细胞癌中巨噬细胞的浸润相关并且通过调节肿瘤免疫产生不良预后
  6. 访问学者申请美国J1签证英语要求有规定吗?
  7. 计算机组成原理之原码一位乘法过程
  8. strcpy()、strncpy()、strlcpy()、strncpy_s()函数
  9. 【2022最新】手把手教你拥有自己的服务器与网站(无需备案)
  10. 黑盒测试方法——边界值分析法