自动化学报
ACTA AUTOMATICA SINICA
1997年 第23卷 第5期 Vol.23 No.5 1997



广义线性八元树表示及物体的
广义三维重建1）
刘成君　戴汝为
摘　要　提出物体的广义线性八元树表示法，推广线性八元树的构造方法完成物体的广义三维重建――广义线性八元树表示，从而为物体三维重建降低约束、增加灵活性。
关键词　线性八元树，广义线性八元树，三维重建.
GENERALIZED LINEAR OCTREE AND THE
GENERALIZED 3D RECONSTRUCTION
LIU CHENGJUN　　DAI RUWEI
(AI Lab.Institute of Automation,Chinese Academy of Sciences,Beijing 100080)
Abstract　The generalized linear octree representation is presented in this paper.It is an extension of the linear octree construction method,and is for generalized reconstruction of 3D objects.With the generalized linear octree representation,constraints are lessened and flexibility is improved in 3D object reconstruction.
Key words　Linear octree,generalized linear octree,generalized 3D reconstruction.
1　引　言
　　八元树表示法是一种紧凑、简洁的三维物体表示法，近年来这种表示法被广泛地应用到计算机视觉的研究领域.广义八元树［1］是八元树概念的推广，它的各个八分体是其面分别平行于给定观察方向的平行六面体.线性八元树［2］是较八元树更加简洁的表示形式.它只编码黑结点(对应物体点)，编码中隐含了每个结点到根的路径和各结点的相邻信息。
　　本文提出的广义线性八元树是对八元树概念的进一步推广.它既保持了线性八元树低时空复杂度的优点，也具有不受观察方向和视图个数限制的灵活性.因此，利用广义线性八元树重建三维物体，可以方便地通过增加观察方向计算出更加精确的物体三维表示.从而为物体的三维重建降低约束、增加灵活性.本文推导出由初始视图计算广义视图的计算公式，并利用数字图象线性变换的离散技术，保证变换后广义视图的质量不受破坏.由于广义视图能够保持八元树生成的规则性要求，推广线性八元树的构造方法［2］，直接在广义坐标系下利用广义线性八元树完成对物体的三维重建.
2　广义线性八元树表示法
　　广义线性八元树编码的各结点不再是正方体，而是其面分别平行于给定观察方向的平行六面体.在用体积交技术构造物体的常规八元树表示时，要求该表示形式具有一种规则性约束，这一规则性约束表现在用三个平面分八分体为子八分体时，三个平面应该分别与直角坐标轴平行.仔细分析这一约束条件不难发现，这种规则性约束是由初始视图的正交性以及初始视图是在直角坐标系下获取的等条件决定的.这时，利用三视图分别按照各坐标轴的方向扫射体积形成伪八元树表示，再将三个伪八元树取交完成常规八元树的构造.但是，用来构造广义线性八元树的初始视图是从任意观察方向投影到图象平面得到的直角坐标系下的二维图象，用来平分各平行六面体的平面不再与直角坐标轴平行，故无法由初始视图直接构造广义线性八元树.为了使广义线性八元树的构造满足相应的规则性约束，需要将初始视图投影到由其它两个视方向决定的平面上，形成广义视图，并用由观察方向规定的广义坐标系替换直角坐标系，在广义坐标系下完成物体的三维重建.
　　设P1，P2，P3和V1，V2，V3分别代表直角坐标轴和广义坐标轴的单位向量，f1(x,y)是从V3观察方向投影到xoy平面上的初始视图，点p(x,y)是f1(x,y)上的任意一个物体点，点p′(α，β)是点P在αοβ平面上的投影点，如图1所示。令P点在oαβγ坐标系下的坐标为(α，β，γ)，则有
［P1P2V3］(x,y,0)T=［V1V2V3］(α，β，γ)T.
(1)
由于V1，V2，V3是非共面的三个不同的观察方向，故｜V1,V2,V3｜≠0.令

(2)
其中a,b,c,d,eij∈R.由式(1)，(2)可得

(3)
由式(3)可得初始视图f1(x,y)对应的广义视图g1(α，β)为

(4)
其中a,b,c,d由式(2)确定.同理可求f2(y,z)，f3(x,z)对应的广义视图g2(β，γ),g3(α,γ).

图1　广义坐标系οαβγ和广义视图g1(α，β)
　　由式(4)可知，从初始视图计算广义视图需要进行线性变换.但是图象象素的离散性质导致广义视图的计算经常出现不如意的孔洞，破坏了广义视图的质量，给后续的处理和识别过程带来困难.数字图象线性变换的离散实现方法请参见文献［3］.
3　物体的广义三维重建
　　物体的广义三维重建过程实质上就是广义线性八元树的构造过程.计算出广义视图，广义线性八元树的构造便具有了与常规八元树相同的规则性约束，因此，由广义视图重建物体的三维表示便可以借鉴现有的八元树构造方法.本文推广文献［2］中线性八元树构造方法完成物体的广义线性八元树构造.由于篇幅的限制，这里只将主要步骤总结如下：
　　1)由广义视图生成广义线性四元树.首先利用二元数组转换成0-四分形的算法，将广义视图转换成0-四分形集合.然后对0-四分形集合进行两次#-积运算得到广义线性四元树表示.
　　2)由广义线性四元树生成广义线性伪八元树.在广义坐标系下，利用广义线性四元树按照相应的观察方向扫射体积，生成广义线性伪八元树表示.
　　3)由广义线性伪八元树计算广义线性八元树.利用体积交技术，将三个广义线性伪八元树取交，得到物体的三维重建结果――广义线性八元树表示.
　　用广义线性八元树重建的三维物体是在由视方向规定的广义坐标系下的广义三维表示，并没有直观的解释，为了完成识别任务，还需要对所得的重建结果进行归一化处理和不变量计算.有了物体的广义线性八元树表示，归一化处理和不变量的计算可以直接在广义坐标系下进行，而不需要将其转换到直角坐标系.详细内容请参见文献［4，5］.
3　实验结果
　　图2是由三个非共面的观察方向获取的三幅初始视图，利用本文提出的广义视图的计算方法以及线性变换的离散实现方法，计算出三幅广义视图.然后，根据广义线性八元树的构造方法，重建物体的广义三维表示.

图2　物体三维重建的结果――广义线性八元树表示
1)　国家攀登计划和自然科学基金资助项目.
作者单位：中国科学院自动化研究所人工智能实验室　北京　100080
参考文献
［1］　Chien C H,Aggarwal J K.Identification of 3D objects from multiple silhouettes using quadtrees/octrees.Computer Vision,Graphics,and Image Processing,1986,36：256―273.
［2］　张田文，李仲荣.利用标准线性四元――八元树由正交三轮廓图识别三维客体.电子科学学刊，1990，7：337―343.
［3］　刘成君.物体三维表示和重建、归一化和识别的研究［博士论文］.北京：中国科学院自动化研究所，1996.
［4］　刘成君，戴汝为.三维物体空间取向归一化的一种新方法.计算机学报，1996，19(4)：308―312.
［5］　刘成君，戴汝为.主轴方法和矩方法相融合的三维物体归一化和识别.自动化学报，1996，22(6)：672―680.
收稿日期　1995-06-26
