三维几何建模系统和方法

文档序号:7612540阅读:367来源:国知局
专利名称:三维几何建模系统和方法
技术领域
本发明涉及一种三维几何建模系统和方法,尤其涉及应用于计算机辅助概念设计的基于计算机立体视觉的实时交互三维几何建模系统和方法。
背景技术
目前,在工业产品设计领域,后期的详细设计阶段所应用的计算机辅助设计(CAD)技术已经相当成熟。例如在汽车制造业,整个汽车车型设计流水线几乎全部是通过计算机辅助完成。然而,产品的概念设计还是通过手绘草图来实现。设计人员根据自己的创作意图手绘草图。客户从绘制好的数十张草图中选出若干符合需求的样式,结合一些个性化的要求回馈给设计人员。设计人员据此要求进一步细化草图。经过提交与反馈的多次反复,最终确定一款新车型的概念设计。显而易见,平面的手绘草图没有视觉直观性,不便于异地的协同设计,无法为下一步详细设计精确建模提供直接的数据。从国内外汽车工业发展来看,目前汽车市场趋于饱和,竞争日益激烈,汽车开发周期缩短至一年。这些新的挑战推动汽车制造业充分利用寻求更为快捷有效的设计方法以加快产品开发。在信息化程度越来越高的今天,设计人员希望能够通过自动化的辅助概念设计工具自由表达设计意图,并实现与其它工序的自动衔接,从而实现汽车设计流程的完全信息化。
因此,研究计算机辅助概念设计几何建模方法和装置,将人的几何设计概念,通过自然的人机交互方式输入到计算机系统,建立直观的三维几何造型。这样的装置和方法对汽车制造业具有重要的应用价值。
这样的一种自然的实时交互三维几何设计系统涉及三个技术领域,即三维几何建模技术、自然的实时人机交互技术以及支持自然实时交互几何设计的视觉计算技术。
在三维几何造型建模技术方面,曲面形状的设计和表达,既可以用常用的确定控制顶点的方法,如NURBS方法,也可以用曲面(或三维形体,或曲线)通过运动形式生成。曲面运动生成方法应用范围广泛,例如,细长条状的物体曲面的设计和表达;飞机外形也可以分解成条状曲面(实体)的并集。运动生成方法具有直观、简单的特点,使许多曲面造型工作得到简化,因而深受设计人员的喜爱。这种称为扫掠曲面的曲面形式,在许多场合比其它造型方法在效率和质量方面更符合要求,而不是局限于控制顶点的推拉这种静止物体的造型方法。
实时交互运动生成曲面的三维几何造型研究涉及人机交互理论及其实现方法。人机交互模型建立人对于运动物体的控制以达到建模的目的,是制约应用的关键因素之一。更好的人机交互技术使计算机易于使用,能够提高生产效率。华盛顿大学人机交互技术实验室的HMGR项目(Hand Motion Gesture Recognition System)研究手势识别,他们使用隐马尔可夫模型进行手势识别。通过该系统,交互用户界面设计者能够实现多通道输入系统,将三维空间中手的运动转换为手势符号形式,从而能够将语音输入、静态手势语等其他形势的输入结合起来。但该装置使用数据手套传感器,并且仅仅局限于简单的应用。
美国布朗大学研制的启发式三维绘制的交互界面,旨在提高手势交互界面的可用性,提高基于命令的建模系统的可用性。在该系统中,通过高亮度场景中的相关几何部件,用户向系统传达需要进行何种操作的线索。系统根据这种线索推测可能的用户操作,并且以缩略图的形式表示出来。用户通过点击缩略图的方法完成编辑操作。操作线索机制使用户指定场景中图形组件之间的几何关系。在操作模型可区分度较低的情况下可以使用多缩略图操作提示来解决问题。
专利申请号为00118340的日本专利,提供了一种对复杂手形图像进行手形手势识别的装置和识别方法以及程序记录媒体。
日本奈良科技学院建立了一种混合三维对象建模系统NIME(ImmersiveModeling Environment)。继承了传统二维GUI界面和三维浸入式建模环境的优点,该系统使用倾斜的背投式显示设备将二维/三维建模环境结合成一个整体。在显示器表面上,使用二维GUI界面建模交互。同时,使用场序立体成像和具有六个自由度的笔形输入装置,实现二维/三维建模环境的无缝转换。
实时交互运动生成曲面三维几何建模方法也涉及视觉计算理论与技术。视觉计算的研究目标是使计算机具有通过二维图像认知三维环境信息的能力,即三维物体形状重建、物体空间运动及其在空间的几何位置,是获取和研究客观世界物体扫掠运动及其运动包络,建立运动包络几何模型的重要理论工具。近十年来,实时稠密立体视差匹配已经成为现实。但是直到最近,真正能够实现实时处理的系统都需要像数字信号处理器(DSP)或者可编程门阵列(FPGA)这样的专用硬件支持。例如,J.Woodfill和Von Herzen的立体匹配系统采用16块Xilinx 4025FPGA,以每秒42帧的速度处理320*240像素的影像。而P.Corke和Dunn使用相似的算法,采用FPGA硬件实现,能够以每秒30帧的速度处理256*256像素影像。
专利申请号为03153504的中国专利使用相位和立体视觉技术,将光栅投射到物体表面上,进而实现物体三维表面轮廓测量。
在概念设计手绘草图识别工具方面,美国布朗大学计算机图形学研究组的手绘草图工具,结合纸笔草图和计算机CAD系统的一些特点,提供基于手势交互的粗略的3D多面体建模。该工具采用早期传统的2D界面概念,通过手绘草图这种形式,提供用户按照简单的放置规则草绘出各种三维基本元素的能力。
日本东京大学设计了基于手绘草图的交互自由曲面设计工具,目标是建立简单、快速的自由模型设计系统,如圆鼓鼓的小动物或者类似物体的模型设计。用户在屏幕上交互的绘制二维笔划,从二维侧影轮廓构造三维多边形表面。
德国Fraunfofer计算机图形学研究所的ARCADE研究项目使用虚拟设计桌面开展自由表面建模技术研究。用户站在虚拟设计桌面之前,使用数据手套手势实现自由表面的建模。ARCADE系统使用3D输入设备实现了有效和精确的建模能力。交互技术包括自由空间对象创建和基于其它对象的创建、隐式布尔操作、3D拾取和快速移动基于布局上下文的修改、离散操作、双手输入等。
申请号为00103458的专利公开了一种装置,用于字处理的过程中,用户用笔和编辑手势进行文字书写和文稿编辑。
从上面的实现系统可以看出,自然交互的三维几何建模工具所涉及的各方面的技术,在产品概念设计应用需求的推动下获得了广泛的研究,然而,上述系统的还存在许多问题需要加以解决。归纳起来,主要缺陷包括以下几个方面人机交互缺乏足够的自然性。无论是虚拟设计桌、数据手套、三维鼠标、触觉传感器,还是联机手绘草图识别装置,都需要用户穿戴、直接接触三维输入工具。这种通过复杂工具和直接的人机物理关联方式会给用户带来不便。非自然的设计工具会影响设计者创作思维灵感的即时捕获。说明这一问题最直接的证据之一就是,尽管手工绘制草图过程中需要反复尝试,但仍然是实际设计过程中最主要的设计工具。
几何造型交互的直接性不足。手绘草图需要将概念转换为二维模型,然后通过识别工具转换为三维模型。联机手绘草图系统将这两个过程通过设备约束在一起,反而加重了对设计者的束缚。基于数据手套的系统通过手的动作实现对于虚拟场景中模型的操作,设计者对于模型建立和修改都是通过间接的方式进行,当设计者试图改变模型的形状时,需要对控制点进行操作,以反馈设计者构思的概念模型。设计意图经常被数据手套等设计工具所约束和打断,造成设计过程的不连续性,影响设计效果。
应用范围和应用方式不够灵活。草图系统、笔式输入、数据手套、力反馈装置以及虚拟设计桌面等只能实现单一方式的外部输入。例如,设计者设计过程中可能会希望通过简单的方式获得某一具体实物的某侧影轮廓,由该轮廓建立起几何模型。现有系统使用专用设备,将用户直接引入概念设计过程,还存在较大的难度。
实现技术本身不够完善。手绘草图需要将二维模型转换为三维模型,存在识别错误率问题。由于手绘草图具有随意性和很大的自由度,样本收集十分困难,尤其是草图的语义更具有模糊性和不确定性,既无法完全以模板定义来枚举识别目标,也难以采用预定义字典库的方式来支持其语义解释;联机手绘草图提高了识别正确率,但实际使用过程中,几何设计交互过程常常被系统交互所打断,使用效率不高;数据手套等也存在着传感器使用的空间范围、定位分辨率等问题。
系统通用性不足。上述系统使用专用设备,因此价格昂贵。既提高了产品设计成本,又提高了训练成本和使用成本。这无疑提高了使用者进入的门槛,限制了应用范围。计算机的普及归因于成本的降低和通用性的提高。

发明内容
为了克服现有系统存在的问题而提出了本发明。本发明的目的是使用通用、方便、经济的物理装置,通过自然、实时交互方法,根据三维空间内双手或/及手持物体表面形状以及空间运动轨迹,运用基于运动的几何建模方法,完成三维几何形体的创建、修改和编辑,实现三维产品外形概念设计几何建模。
为了实现这一目的,本发明提供了一种三维几何建模方法,包括一、视频输入步骤,用于从分布于设计师周围的多个视频输入装置(101)采集视频流。
二、单视频流视觉分析步骤,使上述采集视频流步骤采集的多个视频流各自经过一个单视频流视觉分析处理,以检测视频流中的运动区域和非运动区域,估计运动物体运动的方向和速度并预测下一个运动位置以及计算运动物体的边缘轮廓并估计轮廓特征。
三、多视频流视觉分析步骤,用于接收上述若干单视频流视觉分析的处理结果,进行双目立体匹配,并基于所获得的轮廓和特征进行三维重建和物体运动轨迹拟合以及计算运动物体截面,并将所获得的物体模型、物体运动轨迹以及物体的截面轮廓提供给实时交互语义识别处理步骤。
四、实时交互语义识别步骤,用于对多视频视觉分析步骤的输出进行处理以获得人机交互语义,并利用预先存储在一个语义模型存储单元中的语义定义解释所获得的人机交互语义。
五、三维几何建模步骤,用于对多视频视觉分析步骤输出的物体模型、物体运动轨迹、物体截面轮廓以及实时交互语义识别步骤的输出进行处理,从而获得三维几何设计造型,并将处理结果存储到三维几何模型存储单元中。
六、三维模型绘制步骤,用于将三维几何模型存储单元中实时存储的三维几何模型绘制到视频输出装置上。
七、视频输出步骤,用于在视频输出装置上显示设计师所设计的三维几何造型。
此外,本分明还提供一种三维几何建模系统,包括一、多个视频输入装置,分布于设计师周围用于采集设计师设计动作的视频流。
二、对应于每个视频输入装置的单视频流视觉分析单元,使由上述视频输入装置采集的多个视频流各自经过一个所述单视频流视觉分析单元的处理,以检测视频流中的运动区域和非运动区域,估计运动物体运动的方向和速度并预测下一个运动位置以及计算运动物体的边缘轮廓并估计轮廓特征。
三、多视频流视觉分析单元,用于接收上述多个单视频流视觉分析单元的处理结果,进行双目立体匹配,并基于所获得的轮廓和特征进行三维重建和物体运动轨迹拟合,计算运动物体截面,并将所获得的物体模型、物体运动轨迹以及物体的截面轮廓提供给实时交互语义识别单元。
四、实时交互语义识别单元,用于对多视频视觉分析单元的输出进行处理以获得人机交互语义,并利用预先存储在一个语义模型存储单元中的语义定义解释所获得的人机交互语义。
五、三维几何建模单元,用于对多视频视觉分析单元的输出结果以及实时交互语义识别单元的输出进行综合处理,从而获得三维几何设计造型,并将处理结果存储到一个三维几何模型存储单元中。
六、三维模型绘制单元,用于以三维几何模型存储单元中实时存储的三维几何模型为输入,将几何模型绘制到视频输出装置上。
七、视频输出装置,用于显示设计师所设计的三维几何造型。
根据本发明的另一方面,提供一种单视频流视觉分析处理方法,包括影像分析方法,对从视频输入设备采集的视频信号进行处理,获得具有不同分辨率尺度和不同特征元素的特征视频流,为运动检测和立体匹配提供输入;实时运动检测方法,检测出视频流中的运动区域和非运动的背景区域;运动估计和预测方法,估计运动的方向和速度并预测下一个运动位置。轮廓计算方法,用于计算运动物体的边缘轮廓并估计轮廓特征。
根据本发明的又一方面,提供了一种多视频流视觉分析处理方法,包括立体匹配算法,使从两个视频运动检测输出的数据经过立体匹配和视差计算,得到运动物体的区域分割和运动物体深度信息;三维模型建立方法,通过立体匹配输出的深度数据建立三维立体模型;从轮廓恢复立体的方法,按照轮廓计算获得的轮廓描述数据,业已建立运动体三维模型及其主要投影特征,以及从轮廓恢复形状的算法,获得运动物体的三维外形;截面计算方法,按照轮廓数据和运动轨迹,建立相对于运动轨迹的截面轮廓;轨迹拟合方法,对于从运动估计和预测获得数据进行平滑处理,得到平滑的运动轨迹;根据本发明的第五方面,提供了一种实时交互语义识别方法,包括碰撞检测方法,按照运动物体的运动轨迹和外形轮廓确定语义类型为操作性语义,之后与业已建立的三维几何模型进行碰撞检测,确定碰撞发生的位置和方式;操作语义分析方法,按照碰撞检测的结果,确定语义的操作对象、操作类型等操作语义;交互语义分析方法,按照运动轨迹确定及截面轮廓获得的输入进行处理,得到交互语义的解析结果;语音语义分析方法,从语音分析获得交互语音的语义解析;根据本发明的第六方面,提供了一种三维几何建模方法,包括重复处理方法,用于消除视频影像中运动物体在运动过程中的重复、重叠性运动;运动处理方法,用于消除运动物体在运动过程中的发生的颤抖和抖动;包括计算方法,用于根据已经消除抖动和重复的运动轨迹和截面轮廓,计算出物体运动产生的包络面;造型编辑方法,用于对所建立的三维几何模型进行修改。
根据本发明的第七方面,提供一种视频输出设备包括显示装置,用于显示运动物体的几何模型、空间位置和姿态,以及显示业已建立的三维几何造型;根据本发明的第八方面,提供一种绘制方法,将三维几何设计模型绘制在显示装置上,将运动物体几何模型、相对位置和姿态绘制在显示装置上。
使用本系统或应用本方法进行产品外形概念设计将在以下方面产生有益的效果。
1通过使用廉价的、非专用的物理设备,降低产品设计成本,拓宽应用范围。
2自然的实时交互方式,便于将普通用户引入开放的概念设计循环过程,有利于消除产品外型几何设计中的被动性、片面性,将多方面的因素直接纳入产品的开发、设计、制造过程。
3基于视觉和通用设备的设计环境,便于引入环境特征。环境特征是影响产品设计的一个重要因素,包括微观层次的环境物理特征和宏观层次的社会文化特征。该发明的装置允许走出设计室,在产品的使用环境中进行概念设计,是实现良好环境特征引入的一种解决方法。
4支持三维可视化设计。概念设计的主要问题是将设计产品模型化。概念设计的建模方法包括从正规的定义到高层视觉表达。在目前使用较多的模型表达方式包括语言模型、几何模型、图形模型、对象模型、知识模型和图像模型,最接近人的思考和推理的模型是图像模型。该发明是将可视化思考模型用于设计实践的重要方法。
5直接的三维数字产品。该发明提供直接的三维数字产品作为系统输出,可以得到快捷的设计评价反馈。


图1是根据本发明第一具体实施例的三维几何建模系统100的结构的方框图;图2是根据本发明第一具体实施例的摄像机具体布局方式的示意图;图3是根据本发明第一具体实施例的单/多视频流视觉分析单元结构的方框图;图4是根据本发明第一具体实施例的多视频流视觉分析单元的操作流程图;图5示出了本发明的立体恢复操作的坐标系统;图6是根据本发明第一具体实施例的语义识别流程框图;图7是根据本发明第一具体实施例的三维几何建模流程图;图8是根据本发明第一具体实施例计算机系统的示意图;
图9是根据本发明第二具体实施例的三维几何建模系统200的结构方框图;图10是根据本发明第二具体实施例的语义识别流程框图;图11是根据本发明第三具体实施例的三维几何建模系统300的结构方框图;图12示出了根据本发明第三具体实施例的摄像机具体布局方式;图13是根据本发明第三具体实施例的多视频流视觉分析单元的操作流程图;图14是根据本发明第三具体实施例计算机系统的示意图。
图15示出了根据本发明第一具体实施例的交互手势模式举例具体实施方式
第一具体实施例图1是根据本发明第一具体实施例的三维几何建模系统100的结构的方框图。如图1所示,视频输入装置101可以是数字摄像机,用于摄取三维几何造型设计师的几何设计建模动作影像。在本实施例中,视频输入装置101由四个数字摄像机C01、C02、C03和C04组成,其具体布局方式在本发明的一个实施例中如图2所示,它们被分别放置在概念设计者右方、右前方、左前方和左方四个不同的位置,距离地面的高度和姿态以适合设计师手势表达为宜,即设计师的设计动作应该能够被摄像机完全摄录,并且不影响设计师的操作及其它活动。相应于每一个数字摄像机分别提供一个单视频流视觉分析单元104。每部数字摄像机通过通用接口按照公知的连接方式直接连接到该数字摄像机所对应的单视频流视觉分析单元104,由各单视频流视觉分析单元104分别对从其所对应的视频输入装置101采集的连续的视频流进行处理,检测视频流中的运动区域和非运动区域,估计物体运动的方向和速度并预测下一个运动位置,以及计算物体的边缘轮廓并估计轮廓特征,并将处理结果提供给多视频流视觉分析单元105。多视频流视觉分析单元105接收上述4个单视频流视觉分析单元104的处理输出,包括运动区域检测结果,运动物体的运动方向和速度,物体的轮廓及轮廓特征。之后,多视频流视觉分析单元105对输入数据进行处理,进行双目立体匹配,基于轮廓和特征进行三维重建和物体运动轨迹拟合,计算运动物体截面等。上述单视频流视觉分析单元105的处理产生的输出结果为物体模型,物体运动轨迹以及物体截面轮廓。将多视频流视觉分析单元105的处理结果提供给实时交互语义识别单元106作为输入。实时交互语义识别单元106用于对多视频视觉分析单元105的输出进行处理以获得人机交互语义,并利用预先存储在语义模型存储单元110中的语义定义解释所获得的人机交互语义。三维几何建模单元107对多视频视觉分析单元105的输出结果以及实时交互语义识别单元106的输出进行综合处理,从而获得三维几何设计造型。三维几何建模单元107的处理结果存储到三维几何模型存储单元111中。三维模型绘制单元108基于三维几何模型存储单元111中实时存储的三维几何模型,将几何模型绘制到视频输出装置109上。视频输出装置109用于显示物体的几何外形以及几何形体设计师所设计的三维几何造型。
下面将参考附图具体描述本实施例的三维几何建模系统的操作以及系统结构。系统由系统初始化、摄像机标定、物体模型建立、运动几何造型设计等几个基本工作状态组成。
<系统初始化>
首先描述系统的初始化工作状态。当三维造型设计师开启该三维几何建模系统100后,首先开始系统初始化过程。系统初始化包括系统初始参数装载与建立,背景影像统计模型建立。
系统初始化过程按照预定设置和当前系统配置,首先加载系统初始化工作环境参数,本实例中系统初始工作环境参数如表1所示。
表1实施例初始化参数表系统工作参数

用户表

模型表

摄像机参数表

摄像机表

第i摄像机参数表

摄像机布局参数表

第i摄像机布局参数表

初始化工作参数加载后,由视频输入装置101(C01,C02,C03和C04)对操作背景连续采集多幅图像,并将这些图像提供给各视频输入装置所对应的单视频流视觉分析单元104,由它通过处理这些图像建立初始背景的统计模型。例如在本实施例中,如图3所示,单视频流视觉分析单元104还包括一个影像分析单元1041用于对由视频输入装置101所采集的视频信号进行处理以获得背景的统计模型,即具有不同分辨率尺度和不同特征元素的特征视频流。
在本发明的一个具体实施例中的影像分析单元1041采用了下述建立背景统计模型的方法。对于系统中与每个摄像机Ci相对应的背景Bi,建立一个初始背景模型Mi。对Bi中的每一个像素点p,定义μp为该点颜色值的期望,σp2为颜色值分布的方差,有如下公式μp=1nΣt=1nhpt---(1)]]>σp2=1nΣt=1n(hpt-μp)2---(2)]]>其中,hpt是p点在第t帧影像上的颜色值。这样,每个点p的(μp,σp2)构成Bi的背景模型&Mgr;i={(μp,σp2)|p∈Bi}---(3)]]>另外,系统按照预定设置生成具有简单、规则几何表面的初始物体模型,例如,6长方体,球体等。通过修改系统设置,可以选择生成何种预定义的物体或者不生成任何初始物体。
<摄像机标定>
当首次使用该系统时或者摄像机的布局、位置和姿态发生改变,也或者更换了摄像机时,需要进行摄像机标定,即开始一个建立摄像机参数的摄像机标定工作过程。在该工作状态下,系统中的各摄像机将获取影像并按照本领域技术人员公知的摄像机标定方法计算出各摄像机的内部参数和外部参数。如果不是首次使用该系统并且没有改变摄像机的布局、位置和姿态,也没有更换摄像机则不需要进行建立摄像机参数的摄像机标定工作。
<物体模型建立>
上述摄像机标定工作过程结束后,设计师便可以使用本实施例所述系统在摄像机组前适当位置利用手或手持物体进行三维几何建模。根据手的外形或手持物体的几何外形所建立的几何模型称为物体三维模型,或简称为物体模型。物体模型是一种动态模型,随着手以及手持物体的空间位置、姿态、形状的变化而即时变化。本发明使用物体模型作为设计工具,进行三维几何造型设计。同时,简单手持物体模型本身也可以作为三维几何造型设计的初始模型。
<运动几何造型设计>
系统经历了初始化、摄像机标定、物体模型建立三个运行过程后,进入运动几何造型设计工作状态。设计师使用本实施例所述系统在摄像机组前适当位置利用手或手持物体,通过手或手持物体的外形及其运动,将自己的三维几何设计构思输入到三维几何建模系统100中以获得三维几何建模结果。所建立的三维几何模型按照规定的文件格式被实时存储到三维几何模型存储单元111中并被实时输出到诸如CRT或LCD显示器的视频输出装置109上。例如,可以通过存储介质,例如磁盘存储器进行存储,也可以通过计算机网络设备或可移动存储设备进行传输并存储。在一个具体实施例中,一个三维几何模型的格式可以以表2所示的格式进行存储。
表2三维几何模型数据结构模型表


对象列表

点数据结构

边数据结构


面数据结构

如表2所示,三维几何模型数据结构包括模型编码,模型标识,模型类型编码,模型类型标识,模型属性表,模型参数表,版本号,对象数量对象列表指针等数据项。其中,模型标识用于唯一标识该模型。模型类型编码用来表示该模型的类型。本实施例中,作为设计结果而生成的三维几何模型和作为设计工具而生成的物体模型使用相同的数据结构进行存储。因此,模型类型用来区分三维几何模型和物体模型。同时,为了设计方便,系统对预定义物体模型进行分类并赋予唯一的模型类型标识。模型属性表定义了几何模型所具备的属性,例如尺度属性,位置属性等。版本号用来表示几何模型数据结构的版本。一个模型可以有若干对象构成,对象列表描述对象的属性,包括对象类型,对象标识,父对象指针,子对象指针,几何数据存储结构等等。
设计师可以通过多种形式向计算机表达其概念设计的几何设计构思。
第一种方式通过设计师的手直接地进行三维几何设计。具体来说就是设计师通过手的运动包络以及手势表达三维几何设计构思。
第二种方式是通过手持物体进行三维几何形体设计。具体来说可以分为①设计师单纯通过手持物的外形表达要建立的三维几何设计构思,例如,设计者想设计一个圆球,他可以将一个圆球放置到摄像机前,系统将自动建立起该球的三维几何外形作为物体模型。然后,设计者通过下达命令将物体模型复制为三维几何模型输出;②设计师通过该手持物的外形及其运动联合表达运动包络三维几何模型,例如,设计者在摄像机前手持一个圆球,系统将自动建立起该球的三维几何外形作为物体模型。设计者手持该圆球做圆弧状空间运动,系统根据作为该球的三维几何外形的物体模型和该球的运动轨迹,建立一个由球的运动包络形成的三维几何设计模型,即一个空间圆弧形管子并进行输出。
第三种方式是对已建立的三维几何模型的编辑和修改。设计师使用手或/和手持物按照预定的交互语义模型对已有三维几何模型进行三维几何编辑,例如拉伸、扭曲等来生成新的三维几何模型。
当然,正如本领域技术人员容易理解的那样,设计师可以综合使用上述三种方式表达设计构思。
无论以上述何种方式或何种方式的组合,本实施例所述的三维几何建模系统都对通过多个摄像机获得的视频数据经由下述处理●单视频流视觉分析在该环节中,各单视频流视觉分析单元104分别对从其所对应的视频输入装置101采集的连续的视频流进行处理,检测视频流中的运动区域和非运动区域,估计物体运动的方向和速度并预测下一个运动位置,以及计算物体的边缘轮廓并估计轮廓特征,将处理结果提供给多视频流视觉分析单元105。具体而言,包括如下操作I.影像分析如图3所示,每个单视频流视觉分析单元104还包括一个影像分析单元1041,对于每一路视频输入装置101的输入,影像分析单元1041将进行如下步骤的处理。首先,从各个视频输入装置101中获取各个影像帧,然后,按照影像分辨率建立分层结构,输出分层的影像序列。
在本发明的一个实施例中的影像分析单元1041建立影像分层数据的实现方法是采用三级金字塔结构,对原始影像ML建立一组影像序列{ML,ML-1,ML-2},其中Mi-1是Mi降低一半分辨率后得到的图像。并且将ML称为金字塔底层,或高分辨率层;将ML-1称为金字塔中层,或中分辨率层;将ML-2称为金字塔顶层,或低分辨率层。影像金字塔数据结构如表3所示。
表3影像数据缓存队列描述


帧数据结构

在处理过程中,时间序列影像数据被依次存储在影像处理缓存队列中,队列长度是7个影像帧。队列使用静态循环表实现。
II.实时运动检测如图3所示,每个单视频流视觉分析单元104还包括一个运动检测单元1042,用于对每一路影像分析单元1041的处理结果进行实时运动检测。运动检测的目标是检测影像上的运动区域以及运动方向以获得准确的运动区域分割和运动区域边缘。实时运动检测单元在多分辨率影像层的中层影像上通过影像差分算法检测运动区域以及通过光流法获得运动方向。在本实施例中,运动检测单元1042对来自影像分析单元1041的分层数据处理结果进行如下操作a)背景消除对于每一个摄像机Ci在t时刻采集的影像Iit,按照下述方法进行前景区域提取设影像Iit中点p的颜色值为hp,通过以下公式将图像二值化dp=1|hp-μp|≤3σp0|hp-μp|>3σp---(4)]]>影像Iit中所有dp为零的点p构成前景区域Fi。
b)影像差分计算
差分影像Id(i,j)是二值图像d(i,j)d(i,j)=0|f1(i,j)-f2(i,j)|≤ϵ1other---(5)]]>其中,fk(i,j)是时间序列影像中前后相邻的两帧影像,ε是一个很小的正数。在差分影像中,数值是1的像素位置表明运动发生的地方。由此,利用该公式获得运动区域。
c)平面运动参数计算下面描述按照光流法计算投影平面上的运动速度c(u,v)的操作。基本计算步骤如下①对于一幅图像上所有的像素(i,j),估计光流初始值c(i,j)=0;②令k表示迭代次数,对于所有的像素(i,j),利用公式(6)、(7)计算数值uk(i,j)=u‾k-1(i,j)-fx(i,j)P(i,j)D(i,j)---(6)]]>vk(i,j)=v‾k-1(i,j)-fy(i,j)P(i,j)D(i,j)---(7)]]>其中,P(i,j)=fx(i,j)u+fy(i,j)v(8)D(i,j)=λ2+fx2(i,j)+fy2(i,j)---(9)]]>u和v表示u邻域和v邻域中的均值,该均值可以通过利用图像局部平滑算子计算得到。根据图像中噪声的大小对λ取值。当噪声较大时,取较小的值;当噪声较小时,取较大的值。
③当ΣiΣjE2(i,j)<ϵ---(10)]]>时,迭代过程终止;其中,E2(x,y)=(fxu+fyv+ft)2+λ(ux2+uy2+vx2+vy2)---(11)]]>III.轮廓计算如图3所示,所述单视频流视觉分析单元104还包括一个轮廓计算单元1043,其在运动物体区域上通过基于肤色的检测算法获得手的区域。除去手的区域,获得手持物体的区域。在此基础上计算出区域的边缘轮廓。在本实施例中,轮廓计算单元1043对来自运动检测单元1042的处理结果进行手边缘获取和精细轮廓检测操作a)手边缘获取操作在本实施例中,使用运动信息和皮肤颜色信息融合的策略进行手部区域的分割和轮廓检测。
首先描述基于运动信息的区域获取在这一过程中,摄像机处于静止状态,其拍摄的彩色图像序列是由R,G,B分量组成的彩色图像序列。在轮廓计算单元1043中,定义s=(x,y)表示图像平面空间坐标系,t表示时间坐标系,i表示RGB空间中任意一个分量。则Iti表示分量i在t时刻的亮度图像。利用t-Δt,t,t+Δt时刻连续3帧图像计算t时刻i分量运动图像dti为dti(s)=min(|Iti(s)-It-Δti(s)|,|Iti(s)-It+Δti(s)|)---(12)]]>i=r,g,b (13)综合(r,g,b)分量,可得彩色序列在t时刻的运动图像dt为dt(s)=max(dtr(s),dtg(s),dtb(s))---(14)]]>最后,对运动图像进行平滑和二值化处理,得到运动图像 接下来描述基于肤色检测的手区域识别我们都知道同种颜色在不同分布的光照下亮度不同,但是色彩的感觉基本上是保持恒定的。轮廓计算单元1043正是利用了人体皮肤颜色在Luv空间的分布以及亮度这一特征,在Luv色彩空间上进行肤色检测。轮廓计算单元1043的操作步骤如下①色彩空间转换。将RGB色彩空间转换为Luv色彩空间;②以前一帧肤色检测结果(或初始肤色特征)作为初值,采用移动平均算法对运动区域进行分割。将当前帧每个色元的密度分布函数作为一个概率密度函数。定义本区域的概率函数的均值与中心值之间的差为平均转移向量。平均转移向量总是沿着最大概率密度的方向,这样可以通过搜索找到最大密度的实际方向。具体的计算方法是设图像中像素点pi的色彩特征矢量xi可以定义为xi=(L,u,v)(15)其中,L,u,v是图像的相对亮度和u*、v*色度坐标。令x0表示p0点的色彩特征矢量,xi表示窗口内pi点的特征矢量。本实施例中窗口大小为7。通过下述两个步骤的迭代计算,获得密度梯度为零的点。
计算平均移动矢量mh,G(x)(x)mh,G(x)(x)=Σi=1nxig(||x-xih||2)Σi=1ng(||x-xih||2)-x---(16)]]>其中,h是色彩分辨率,g(x)是多元正态函数g(x)=(2π)-d/2exp(-12||x||2)---(17)]]>按mh,G(x)(x)平移核函数G(x)。其中,x是当前窗口中心特征矢量,mh,G(x)(x)是窗口内以G为权的加权平均与窗口中心的差。上述迭代过程必定收敛且按平滑的轨迹收敛于密度梯度为零的点。
③确定局部最大值点后,按照特征空间的局部结构确定与最大值点相联系的特征类,得到肤色在空间中的实际位置。综合基于肤色的检测结果和基于运动的检测结果,获得手的边缘轮廓。
b)精细轮廓检测如上所述,在多分辨率中层影像上的运动检测结果已经获得了较低分辨率的区域分割。下面将要描述本实施例的轮廓计算单元1043根据区域分割结果和轮廓检测步骤,在原始影像上进行轮廓计算以获得较为精确的物体轮廓的步骤。在本实施例中,运用S.M.Smith和J.M.Brady的边缘检测方法检测边缘,该方法使用5*5圆形窗口模板。具体步骤为①根据区域分割结果建立边缘检测区,该区域在边缘附近一定像素宽度内;②将窗口中心置于边缘检测区内的每一个像点位置上,计算窗口中心点r0与窗口内其它像素点r具有相近亮度的点的个数n(r0)以确定该像素是否是图像边缘点。利用下述公式(18)计算n(r0)n(r0)=Σrc(r,r0)---(18)]]>其中,c(r,r0)表示窗口内点r的亮度I(r)与窗口中心点r0的亮度I(r0)相似程度c(r,r0)=e-(|I(r)-I(r0)|t)6---(19)]]>其中,t表示亮度阈值。显然,当两点亮度之差小于t时,c(r,r0)=1。通过n(r0)可以计算出边缘的中心和方向,通过非极大值抑制细化边缘。
由此,轮廓计算单元1043获得了手以及手持物的边缘轮廓。
IV.运动估计和预测如图3所示,单视频流视觉分析单元104还包括一个运动估计和预测单元1044用于跟踪由轮廓计算单元1043计算的轮廓的运动轨迹。本发明的一个实施例使用基于目标轮廓的中心作为焦点,跟踪运动并获得时间离散的运动轨迹。运动跟踪的结果是一系列带有时间标签的轮廓中心的平面坐标,即四元组(x,y,t,i)来表示,其中,i用于表示摄像机。为了提高系统时间效率,本实施例使用卡尔曼滤波进行运动预测,预测结果作为运动检测装置的输入,提供下一帧运动检测的预先估计。
由此,已经描述了单视频流视觉分析单元104中的各部件及结构,以及其具体的操作。单视频流视觉分析单元的输出包括分辨率分层的影像序列,影像序列的轮廓特征序列以及运动空间点序列。单视频流视觉分析单元104的输出结果数据结构如表4所示。
表4单视频流分析输出数据结构描述

单视频分析输出序列包括摄像机标识,帧序列标识,时间标识,帧类型标识,影像数据属性表,点特征数据属性表,区域特征数据属性表,边缘特征数据属性表,原始影像数据指针,中分辨率影像数据指针,低分辨率影像数据指针,特征点数据表指针,特征结构数据表指针,运动区域数据表指针,背景区域数据表指针,运动区域边缘数据表等。其中,摄像机标识用于区分系统不同的摄像机。帧序列标识是该摄像机的帧序列编号。时间标识用于记录该影像帧的获取时间。各种特征数据的属性表描述了给类特征数据的长度等信息。各类数据指针给出了影像数据以及特征数据存储结构的地址。
●多视频流视觉分析下面将参考图3以及图4描述本实施例的多视频流视觉分析单元105,该单元接受所有四个单视频流视觉分析单元104的输出,并进行下述处理I.立体匹配四路视频输入设备可以两两组合出三组输入对。而本实施例的多视频流视觉分析单元105包括一个立体匹配单元1051,该单元使用三对输入对中的两对双视图输入构造双视图立体匹配,从而计算物体的三维空间坐标,即由立体匹配和摄影平面上的平面坐标(x,y)计算出相对于摄像机的深度坐标(z坐标),进而根据摄像机参数确定出物体三维空间坐标。通过双视图影像立体匹配可以实现深度重建。首先,在单元1051上述获得的影像上的非背景区域中确定一个目标点,以目标点为中心定义大小为m×n的模板窗口。为了在另一影像上寻找该目标点的匹配点,在另一影像上可能的匹配区域定义一个大小为(m+c)×(n+d)的灰度矩阵作为搜索窗口,通过块匹配算法实现影像匹配。块匹配算法就是在搜索窗口中移动模板窗口并按匹配测度计算出大小为(c+1)×(d+1)的相似度矩阵。相似度矩阵中最大(最小)值所对应的搜索窗口内的影像块就是模板窗口的最佳匹配。
本实施例的立体匹配单元1051使用如公式(20)所示的差绝对值和的计算公式来计算相似性测度ρ(i,j)=Σu=1mΣv-1n|I(u,v)-I′(u+i,v+j)|0≤i≤c,0≤j≤d---(20)]]>其中,I(u,v)和I′(u,v)两视图影像;m、n是匹配窗口的宽度和高度,c+m、d+n搜索区域的宽度和高度。具体实现时,可以通过逐次选择不同的阈值,获得比差绝对值和方法的朴素实现更为快速的实现方法。
本实施例的立体匹配单元1051在可能的目标边界区域使用移动式窗口,即,在输入影像上移动窗口的位置从而获得更多的覆盖区域,从中选出最佳匹配位置。而在其它区域使用标准窗口。
II.SFS&FBR(从轮廓恢复立体和基于特征的三维重建)如图3和图4所示,多视频流视觉分析单元105还包括一个SFS&FBR单元1052和物体模型存储单元1056。其中,SFS&FBR单元1052是从轮廓恢复立体和基于特征的三维重建单元,物体模型存储单元1056用于存储重建的物体模型。SFS&FBR单元1052用于按照单视频流视觉分析单元104的轮廓计算结果和已经建立的在物体模型存储单元1056中存储的物体模型,运用从轮廓恢复形状的方法以及基于特征的目标识别算法,恢复物体的表面形状。该单元进行基于空间变化的轮廓恢复形状操作,算法如下①对于空间点P,根据公式(24)、(25)计算影像上的点P′,(xh,yh)Px′=(P-C)·h→(P-C)·a→---(24)]]>Py′=(P-C)·v→(P-C)·a→---(25)]]>其中,h→=f·h→′+a→·xh---(26)]]>v→=f·v→′+a→·yh---(27)]]>P′是世界坐标系(X,Y,Z)中的点P在像平面坐标系的投影。C是世界坐标系原点到投影中心的向量, 是摄像机光轴方向的单位向量, 是像平面坐标系上水平方向的单位向量, 是像平面坐标系上垂直方向的单位向量。详细的坐标系统见图5,即W-XYZ世界坐标系和c-xy影像平面坐标系。
②如果P′位于影像上的背景区,则空间点P是被去除的点;否则,P被保留;③使用简单的空间八叉树算法,简化计算过程;④通过多视图轮廓剪裁,获得几个不同角度的重建结果;III.物体模型建立如图3和图4所示,多视频流视觉分析单元105还包括一个模型建立单元1053,用于在获得立体匹配后使用光束法解算出三维空间中目标的三维坐标。该单元的具体操作如下假设三维空间中一组点Xj被矩阵为Pi的一组摄像机所拍摄。用xji标记第i个空间点在第j个摄像机像平面上的坐标,则已知图像坐标xji的集合,求摄像机矩阵Pi和空间点Xj使得PiXj=Xji---(21)]]>如果对于Xj或者Pi不做进一步的约束,上述重构是一个射影重构,即Xj与真正的重构相差一个任意的三维射影变换。
由于噪声、匹配误差等因素,方程Xji=PiXj]]>不会完全满足。通常假定该类误差满足高斯分布,然后求出最大似然解。在此,需要估计射影矩阵 和真正投影到图像点 的空间点 即X^ji=P^iX^j---(22)]]>并且在每一帧图像中最小化重投影点和图像点之间的图像距离,即minΣP^j,WX^jd(P^iX^j,xji)---(23)]]>其中,d(x,y)是齐次点x和y之间的几何图像距离。通过调整每个摄像机中心和三维空间点之间的射线束来估计Xj和Pi的最大似然值。
上述方法所使用的初值是摄像机标定过程获得的投影矩阵参数、上一帧的估计值和初始三维重建估计值。并且,通过摄像机参数约束获得欧氏三维重建。
上述方法获得的三维模型表达是点云模型。接着将点云模型转化为细分表面表示的几何模型。由于该转换过程对于本领域的普通技术人员是公知的,因此在此不再赘述。
模型建立单元1053建立物体的立体模型,包括手的立体模型,具有简单几何外形的手持物体的立体模型。简单几何外形手持物体可以是一个具有一定形状的弹性钢条。简单几何外形手持物也可以是一个球体,一个长方体等,这些物体的截面形状被用来作为运动生成曲面的截面线。
按照操作控制命令,系统可以重建环境中静止物体的三维表面形状,重建结果是可以被交互编辑的物体模型,该结果被存储到物体模型存储单元1056中。表5描述了三维几何模型的数据文件格式。
表5三维几何模型数据文件格式

点数据结构

边数据结构

面数据结构

IV.轨迹拟合单视频流视觉分析单元104获得的运动速度和物体轮廓是物体空间运动在摄像机摄影平面上的投影,是基于摄像机像平面的运动轨迹坐标序列,因此这些平面坐标是时空离散的。如图3和图4所示,多视频流视觉分析单元105还包括一个轨迹拟合单元1055和一个运动轨迹存储单元1058,所述轨迹拟合单元1055使用空间分布的多个摄像机摄影平面和摄像机相对定向参数,通过空间坐标交会、曲线拟合估计出空间连续运动轨迹描述。输出空间点坐标序列并存储到所述运动轨迹存储单元1058中。该单元的操作如下a)基于摄影矩阵的空间点计算对于一组摄像机Ck,k=1,…,n,n是摄像机总数目。每个摄像机的绝对定位参数是Pi(x,y,z),绝对定向参数为Ri(α,β,γ)。已获得的各个摄像机像平面运动轨迹坐标序列中t时刻的平面坐标是s(x,y,t,i),其中,x,y是像平面坐标,t是时间,i是摄像机编号。由摄像机外部参数和内部参数唯一确定投影矩阵Mi。
Mi=m11im12im13im14im21im22im23im24im31im32im33im34i---(28)]]>同一时刻,空间点P(X,Y,Z)在每个像平面上的投影坐标s(x,y,t,i)满足方程(29)、(30)(xim31i-m11i)X+(xim32i-m12i)Y+(xim33i-m13i)Z=m14i-xim34i---(29)]]>(yim31i-m21i)X+(yi-m31i-m22i)Y+(yim33i-m23i)Z=m24i-yim34i---(30)]]>根据n个摄像机各自的投影矩阵和像平面坐标,可以构造出2n个上述方程,通过最小二乘法求解出空间点坐标(X,Y,Z)。
b)基于三角测量的空间点计算在获得多摄像机和摄像机定位定向参数的条件下,通过三角测量原理和最小二乘方法,可以确定手的空间位置。具体的操作方法可以是将三维空间内摄像机的位置和姿态投影到三个正交的坐标平面上。在每个平面上,分别计算空间点的各坐标分量。该方法不需要标定摄像机内部参数。
c)轨迹拟合采用三次基样条法进行轨迹拟合。并使用光顺条件确定样条拟合的边界条件。
V.截面计算如图3和图4所示,多视频流视觉分析单元105还包括一个截面计算单元1054和一个截面轮廓存储单元1057。所述界面计算单元1054根据由所述轨迹拟合单元1054所获得的连续运动轨迹确定轨迹上各影像帧处的法平面。物体在法平面上的投影就是各帧位置的运动物体截面轮廓线。
至此,已经描述了多视频流视觉分析单元105的主要数据处理单元1051、1052、1053、1054和1055的功能。单元105中还包括了三个数据存储单元,即物体模型存储单元1056、截面轮廓存储单元1057和运动轨迹存储单元1058。
物体模型存储单元1056是系统永久性存储单元,存储运动物体的三维几何模型。这里,永久性存储单元是指系统重新运行后,该存储单元存储的内容不变。在本实例中,物体模型的数据结构如表2所示。系统中所建立的全部物体模型都存储在物体模型存储单元1056中。在单元1056中,每个物体模型用一个模型表数据结构来存储。每个模型表中,存储了模型编号、模型标识、模型类型编号、模型类型标识、模型属性表、模型参数表、模型中对象的个数以及各个对象的存储表结构。对于刚性物体,每个物体对应于一个模型表。对于手和受约束的可变形物体,单元1056中将对每个物体及其该物体的基本变形存储几个模型表。对于简单物体,模型表中仅仅包含一个几何对象;对于复杂物体,模型表中用多个几何对象存储复杂物体的各个组成成分。模型属型表描述模型的基本属性和可扩展属性。模型参数表存储模型的基本参数。
截面轮廓存储单元1057是系统工作存储单元,存贮运动物体在其运动方向上的时间离散截面轮廓。本实施例中,使用循环队列存储有限长时间序列物体轮廓数据表。例如,可以存放当前工作时间之前连续数百帧的物体轮廓数据表。
运动轨迹存储单元1058是系统工作存储单元,存贮运动物体的空间运动时间离散轨迹。本实施例中,使用循环队列存储有限长时间序列物体运动轨迹数据表,轨迹数据包括物体几何中心的空间坐标和姿态。例如,可以存放对应于物体截面轮廓物体运动轨迹数据表。
●实时交互语义识别实时交互语义识别由实时交互语义识别单元106完成,如图1和图6所示。三维几何建模系统100的实时交互语义识别单元106接受多视频流视觉分析单元105的输出,并且从已经定义的语义模型存储单元110中读取语义模型,进行运动语义的分析与解释并输出三维造型命令。实时交互语义识别单元106包括一个碰撞检测单元1061,用于读取运动轨迹存储单元1058的运动轨迹,通过碰撞检测方法检测三维几何模型存储单元111中的三维几何设计模型和物体模型存储单元1056的物体模型之间的碰撞。碰撞检测结果将作为操作语义分析单元1062和交互语义分析单元1063的输入。实时交互语义识别单元106还包括交互语义分析单元1063和操作语义分析单元1062,它们根据碰撞检测单元1061的碰撞检测结果以及物体模型存储单元1056、运动轨迹存储单元1058、语义模型存储单元110所存储的数据获取运动物体对于三维几何模型的操作语义。语义分析结果输出三维造型命令,并存储在一个三维造型命令存储单元1065中。
实时交互语义识别单元106包含进行如下基本操作I.碰撞检测碰撞检测单元1061根据多视频流视觉分析单元105所建立的物体模型、截面轮廓和运动轨迹,通过碰撞检测方法检测三维几何设计模型和物体模型之间的碰撞结果。如前所述,物体模型、截面轮廓和运动轨迹分别存储于物体模型存储单元1056、截面轮廓存储单元1057和运动轨迹存储单元1058中。碰撞检测单元1061提供交互语义分析的上下文环境,同时为设计师对几何设计模型的操作与交互提供视觉反馈。
碰撞检测结果将直接提供给语义分析单元,具体的分析过程将在下文中具体描述。两物体之间的实时碰撞检测采用本领域技术人员所公知的AABB树算法实现,在此不再赘述。
II.操作语义分析单元操作语义分析单元1062用于解释操作性的语义。例如,“选择”操作语义、“取消”操作语义等,在本发明的一个实施例中,当手模型和三维设计模型发生碰撞接触并持续一定时间时,被判定为“选择”操作语义;在手模型和三维设计模型已经接触的情况下,持续接触并保持静止一段时间时,则判定为“取消选择”操作语义。语义解析结果取决于当前物体的姿态和预定的语义模型。为了保证操作的灵活性,操作方式可以包括几种类型对已经生成的模型的操作和对界面菜单和工具条的操作。
a)对界面菜单和工具条的操作该类界面操作有两种方式鼠标键盘方式和虚拟手方式。鼠标键盘方式即传统的平面图形界面方式。虚拟手方式类似于现有技术中触摸屏的操作,通过虚拟手的运动和点击对界面的菜单、工具条进行操作。当虚拟手运动到系统图形界面操作区域时,系统自动切换到界面命令操作模式,鼠标键盘方式和虚拟手方式通过响应即时输入自动切换。
b)对生成模型的操作常用的交互语义被设置成虚拟3D空间的浮动球。这些浮动球被称为操作球,每个球被定义为一种操作。当虚拟手抓获一个操作球后,表示虚拟手将开始该操作。按照操作上下文环境,操作球自动消隐、浮现并改变其在虚拟三维空间中的深度。最可能被选择的操作球将处于虚拟手最易抓获的位置。
虚拟空间操作、GUI界面操作和语音命令操作这三种操作通过上下文环境自动切换。当虚拟手运动到系统界面的菜单命令区时,自动切换为虚拟鼠标模式。当虚拟手运动到绘制区域时,变换为虚拟三维空间造型操作方式。
III.交互语义分析单元交互语义分析单元1063根据碰撞检测结果、物体模型存储单元1056和运动轨迹存储单元1058以及语义模型存储单元110确定交互语义。本实施例中,交互性语义通过静态交互手势来表达。交互语义分析单元1063对静态手势采用基于表观的识别方法进行语义分析。即根据预定义手势模板,按照模板匹配的方法进行手势语义分析。本实施例中,基于模板匹配的语义分析按照下述方法进行首先对边缘图像进行距离变换,即对二值图像进行距离变换以得到对应原边缘图像的等尺寸的距离映射图,此距离映射图中的每个“像素点”的新值为距离值,距离变换定义如下D(p)=min(de(p,q))q∈O (31)其中,de(p,q)表示像素点p,q间的欧氏距离,O为目标物体的元素集合。Euclidean距离变换de(p,q)的定义如下de(p,q)=(px-qx)2+(py-qy)2---(32)]]>为减小计算量,开方运算被省略,即使用公式(33)代替公式(32)de(p,q)=(px-qx)2+(py-qy)2(33)经过如上述距离变换后,形成的距离映射图中的每一个点的新值即为在原图像中距该点最近的物体像素点的距离。
本实施例使用单向Hausdorff距离h(M,I)进行模型匹配。M为选取的手势模板边缘像素集合,I为边缘提取后图像边缘像素点的集合。匹配识别时,先对边缘提取后的待识别图像实施Euclidean距离变换以得到距离映射图,然后在距离空间内,将模板在距离映射图上进行平移匹配。相应地,hj(M,I)(下标j为平移次数)取为模板中的边缘像素点在当前距离映射图上对应位置处的若干值中的最大者,它度量了模板在当前平移位置与边缘图像上对应像素点之间的最大不匹配度。基本形式的Hausdorff距离模板匹配的判别规则是取所有平移匹配中得到的上述hj(M,I)值中的最小值作为这个模板与该图像中有可能存在的该模板对应对象之间相似度的度量值。在平移匹配过程中,若出现几个模型与当前待识别图像的相似度很接近时,则再将边缘方向信息加入到平移匹配判别中,此时判断处于某一平移点q(以某一次平移中模板左下角的像素点为参考点)处,模板与边缘图像相应位置处是否匹配的条件是①设第j次平移匹配时,若模板中符合匹配要求的点与模板像素点总点数的比率为RjRj=maxq∈Q{n([m∈M|∃i∈I,||(m+q)-i||<τ,||Ang(m)-Ang(i)|<θ]/n(M)}---(34)]]>上式中,Q为模板在边缘图像上由若干次平移中模板左下角像素点形成的点集;n(·)为取集合中元素个数的操作;函数Ang(x)为求得的边缘像素点x的角度值;τ为给定的距离差阈值;θ为给定的方向弧度差阈值。
②取P(k)=max(Rj),其中k=1,2,…,是模板个数,J对某一个模板进行若干次平移的次数。
③取与max P(k)对应的模板所指示的手势为最终识别结果。
在本实施例采取了修正的Hausdorff距离进行模板匹配,即通过对若干次平移中得到的hi(M,I)的平均来得到模板相对于待识别图像的相似度,hi(M,I)=1Nhi(M,I)---(35)]]>其中,N为模板中的边缘像素点的个数。
按照上述方法,可以确定数种交互手势的基本语义。图15示出了交互语义手势的几种实例。
●三维几何建模如图7所示,三维集合建模系统100还包括一个三维几何建模单元107用于基于从多视频流视觉分析单元105获得运动与姿态识别,以及基于从实时交互语义识别单元106获得语义分析结果,即三维造型命令,通过重复处理单元1071、抖动处理单元1072、包络计算单元1073以及造型编辑单元1074,建立新的三维几何设计形体,并对已有的三维几何形体进行编辑替换,并实时读取并存储三位几何模型存储单元111。三维几何建模单元107包含如下处理步骤I.重复处理重复处理单元1071对物体运动过程中产生的重复动作进行处理,消除物体的重复、重叠性运动。
II.抖动处理抖动处理单元1072对物体的运动进行平滑、光顺处理,消除物体运动轨迹和姿态的微小抖动。
III.包络计算单元包络计算单元1073的基本功能是根据业已消除抖动和重复的运动轨迹和截面轮廓,求解出包络微分方程,然后利用龙格-库塔算法计算出物体运动产生的包络面。该单元输出物体运动产生的包络面。
IV.造型编辑单元造型编辑单元1074用包络计算单元1073产生的运动包络面替换现有的三维几何造型模型,并进行新旧面片的光滑连接处理。所述替换过程按照约束和修改规则处理拼接点和拼接面的连接与平滑,对所建立的三维几何模型进行修改。
●模型绘制与显示对三维几何模型的修改将激活模型绘制过程,并将绘制结果输出到显示装置109上。
由此,已经描述了根据本发明的第一具体实施例的技术方案。此外,如图8所示,本实施例的三维几何建模系统100可以由三台通用数字计算机构成,两台前端计算机1201、1202和一台后端计算机1203。每两部数字摄像机被连接到一台前端计算机(1201,1202)上,两台前端计算机1201和1202连接到后端计算机1203上,后端计算机1203和视频输出装置109相连。在前端计算机1201、1202中均提供有与其所连接的视频输入装置101相对应的单视频视觉分析单元104以及多视频视觉分析单元105中的立体匹配单元1051。在后端计算机1203中提供有除立体匹配单元1051之外的多视频视觉分析单元105的各个组建以及实时交互语义识别单元106,三维几何建模单元107,三维模型绘制单元108。计算机1203的存储系统提供有语义模型存储单元110和三维几何模型存储单元111。本发明的上述组建可以通过软件、固件以及集成电路等等来实现。
第二具体实施例如图9所示,根据本发明第二实施例的三维几何建模系统200还包括一个音频输入装置202和音频识别单元203。音频输入装置202可以是通用话筒和将自然语音转换为数字语音信号的声卡设备。本实施例中,音频输入装置设备作为辅助输入设备,提供多通道用户交互方式的辅助交互输入。在获得音频输入后,语音识别单元203进行语音识别,即实现将音频输入转换为受限语言的功能。语音识别单元203仅识别限于预先定义的语音模式,没有定义的语音输入将被丢弃。例如,可以使用Microsoft Speech 5.X微软语音识别引擎对基本语音进行识别。通过设置语音识别引擎中的基于XML文件的受限文法设置,可以使得系统仅仅识别文法中给出的语音命令,有效的提高识别率,限制其它可能导致系统异常行为的语音输入。
语音识别单元203识别出的语音提供给实时交互语义识别单元206。实时交互语义识别单元206除进行第一实施例的碰撞检测、操作和交互语义分析等操作外,还包括一个语音语义分析单元2064,对已经语音识别单元203识别的语音进行进行语义识别。每当从语音识别单元203获得经过识别的语音输入时,语音语义分析单元2064根据系统当前上下文环境对获得语音进行语义解释。下面示出了一个语义解析文件实例,其中以<O></O>为标记的语义解析文法是可选文法。用户可以根据具体的需要修改这个部分的内容,体现个性化人机交互的思想。<GRAMMAR LANGID=″804″>
<RULE NAME=″WithPara″TOPLEVEL=″ACTIVE″>
<P>
<O>
<L>
<P>请</P>
<P>我想</P>
</L>
</O>
<L>
<P PROPNAME=″TYPE_RULEREF″VALSTR=″CrePoint″>创建点</P>
<P PROPNAME=″TYPE_RULEREF″VALSTR=″CreLine″>创建线</P>
<P PROPNAME=″TYPE_RULEREF″VALSTR=″CreSurface″>创建面</P>
<P PROPNAME=″TYPE_RULEREF″VALSTR=″Delete″>删除</P>
<P PROPNAME=″TYPE_RULEREF″VALSTR=″Cancel″>撤销</P>
<P PROPNAME=″TYPE_RULEREF″VALSTR=″Done″>结束</P>
<P PROPNAME=″TYPE_RULEREF″VALSTR=″Edit″>编辑</P>
<P PROPNAME=″TYPE_RULEREF″VALSTR=″SelePoint″>选择点</P>
<P PROPNAME=″TYPE_RULEREF″VALSTR=″SeleLine″>选择线</P>
<P PROPNAME=″TYPE_RULEREF″VALSTR=″SeleSurface″>选择面</P>
<P PROPNAME=″TYPE_RULEREF″VALSTR=″zin″>缩小</P>
<P PROPNAME=″TYPE_RULEREF″VALSTR=″zout″>放大</P>
<P PROPNAME=″TYPE_RULEREF″VALSTR=″Translation″>平移</P>
<P PROPNAME=″TYPE_RULEREF″VALSTR=″X″>X坐标值</P>
<P PROPNAME=″TYPE_RULEREF″VALSTR=″Y″>Y坐标值</P>
<P PROPNAME=″TYPE_RULEREF″VALSTR=″Z″>Z坐标值</P>
</L>
<L>
<P VALSTR=“value”>Value</P>
</L></P>
</RULE></GRAMMAR>
同时,在实时交互语义识别单元206中进行的操作如图10所示。本实施例的实时交互语义识别单元206包括碰撞检测单元2061,操作语义分析单元2062,交互语义分析单元2063、语音语义分析单元2064以及三维造型命令存储单元2065。实时交互语义识别单元206的主要工作步骤如下碰撞检测单元2061读取运动轨迹存储单元2058的运动轨迹,通过碰撞检测方法检测三维几何设计存储单元211的三维几何设计模型和物体模型存储单元2056的物体模型之间的碰撞。碰撞检测结果将作为操作语义分析单元2062和交互语义分析单元2063的输入。交互语义分析单元2063和操作语义分析单元2062根据碰撞检测单元2061的碰撞检测结果以及物体模型存储单元2056、运动轨迹存储单元2058、语义模型存储单元210中存储的数据获取运动物体对于三维几何模型的操作语义,生成三维造型命令存储在三维造型命令存储单元2065中。语音语义分析单元2064从语音识别结果单元203中获取受限语言的语义识别结果,根据语义模型存储单元210的语义解析定义,获得语音语义的解释并生成三维造型命令存储在三维造型命令存储单元2065中。
在此,语音操作作为辅助交互通道,可以在系统人机交互过程中用作命令操作和绘制过程中的控制操作。
除上述描述之外,根据本发明的第二实施例与第一实施例相同获相似的部分所实施的技术方案是相同的。
第三具体实施例图11示出了应用本发明的三维几何建模系统300的第三具体实施例的结构图。图11所示的视频输入设备301是一种数字摄像机。本实施例中,视频输入设备301由六个数字摄像机组成;相对应于每个数字摄像机有一个单视频流视觉分析单元304,每部数字摄像机按照通常连接方式通过连接线直接连接到通用计算机设备接口,由单视频流视觉分析单元304处理。音频输入装置302是一个通用话筒和将自然语音转换为数字语音信号的声卡设备。与第一具体实施例不同,该实施例不仅采用了更多的摄像装置,而且连接方式也不同。具体来说,摄像机C01、C02以及C03位于和设计师手部运动等高的位置,摄像机C04、C05以及C06位于设计师上方。该配置由于增加了摄像机的数目,因而可以更好的避免运动过程可能造成的遮挡问题。另一个不同之处时是摄像机的连接方式的改变。如图13所示,6个摄像机平均分为两组,每组的三个摄像机连接成两个可供双视图匹配使用的影像输入对,提供给多视频流视觉分析单元305进行深度获取和立体匹配。
六个摄像装置被分别放置在概念设计者前方、左前方、右前方、上方、左上方和右上方六个不同的位置,其距离地面的高度和姿态以适合设计师手势表达为宜,即设计师的设计动作应该能够被摄像机完全摄录,并且不影响设计师的操作及其它活动。数字摄像机的一种具体布局实施方式由图12示出。
本实施例中,计算机系统由三台通用数字计算机构成,如图14所示。每两部摄像机被连接到一台前端计算机1901、1902上,两台前端计算机连接到一台后端计算机1903上,后端计算机和音频输入设备、显示设备相连。
本实施例的运行过程与第一具体实施例基本相同。当三维造型设计师开启该装置的计算机系统后,首先开始系统初始化过程。然后生成简单物体的三维几何模型。所不同的是,相对于第一具体实施例的多视频流视觉分析,本实施例的该多视频流视觉分析接受所有六个单视频流视觉分析的输出。其处理过程按照图14所示组合对视频输入进行处理。
以上描述了本发明的三位几何建模系统和方法的实现方式。虽然上面描述是参照本发明的特定实施例而进行的,但是应该理解在不脱离其精神的情况下可以进行各种修改。因此本公开实施例在所有方面都是示例性而不是限制性的,本发明的范围由所附权利要求而不是前面描述来表示,因此属于权利要求的等效含义和范围的所有变动均包括在其中。
权利要求
1.一种三维几何建模方法,包括视频输入步骤从分布于设计师周围的多个视频输入装置(101)采集视频流;单视频流视觉分析步骤使上述采集视频流步骤采集的多个视频流各自经过一个单视频流视觉分析处理,以检测视频流中的运动区域和非运动区域,估计运动物体运动的方向和速度并预测下一个运动位置以及计算运动物体的边缘轮廓并估计轮廓特征;多视频流视觉分析步骤接收上述若干单视频流视觉分析的处理结果,进行双目立体匹配,并基于所获得的轮廓和特征进行三维重建和物体运动轨迹拟合以及计算运动物体截面,并将所获得的物体模型、物体运动轨迹以及物体的截面轮廓提供给实时交互语义识别处理步骤;实时交互语义识别步骤对多视频视觉分析步骤的输出进行处理以获得人机交互语义,并利用预先存储在一个语义模型存储单元中的语义定义解释所获得的人机交互语义;三维几何建模步骤对多视频视觉分析步骤输出的物体模型、物体运动轨迹、物体截面轮廓以及实时交互语义识别步骤的输出进行处理,从而获得三维几何设计造型,并将处理结果存储到三维几何模型存储单元中;三维模型绘制步骤将三维几何模型存储单元中实时存储的三维几何模型绘制到视频输出装置上;视频输出步骤在视频输出装置上显示设计师所设计的三维几何造型。
2.根据权利要求1所述的三维几何建模方法,其特征在于,所述单视频流视觉分析步骤还包括影像分析步骤对其所对应的视频输入装置采集的视频信号进行处理,获得具有不同分辨率尺度和不同特征元素的特征视频流;实时运动检测步骤根据所述影像分析步骤所获得的特征视频流检测视频流中的运动区域以及运动方向以获得准确的运动区域分割和运动区域边缘;轮廓计算步骤在运动物体区域上通过基于肤色检测获得手的区域,除去手的区域获得手持物体的区域,从而计算出区域的边缘轮廓;运动估计和预测步骤估计运动物体运动的方向和速度并预测下一个运动位置。
3.根据权利要求1所述的三维几何建模方法,其特征在于,所述多视频流视觉分析步骤,包括立体匹配步骤接收来自两个所述单视频流视觉分析步骤中的运动检测步骤输出的运动检测结果,经过立体匹配和视差计算获得运动物体的区域分割和运动物体深度信息;SFS&FBR步骤按照所述单视频流视觉分析步骤中的轮廓计算步骤输出的轮廓,计算恢复物体的表面形状;轨迹拟合步骤使用空间分布的多个摄像机摄影平面和摄像机相对定向参数,通过空间坐标交会、曲线拟合估计出空间连续运动轨迹;截面计算步骤按照所述单视觉视频分析步骤中的轮廓计算步骤输出的轮廓数据和上述轨迹拟合步骤所获得的连续运动轨迹,计算运动物体的截面轮廓;物体模型建立步骤通过上述立体匹配步骤的结果所指示的深度信息数据建立物体模型。
4.根据权利要求1所述的三维几何建模方法,其特征在于,所述实时交互语义识别步骤还包括碰撞检测步骤根据多视频流视觉分析步骤所建立的物体模型、截面轮廓和运动轨迹,检测三维几何模型和物体模型之间的碰撞,确定碰撞发生的位置和方式;操作语义分析步骤按照碰撞检测的结果根据预定的语义模型确定语义的操作对象、操作类型等操作语义;交互语义分析步骤根据碰撞检测结果、所存储的物体模型和所存储的运动轨迹以及语义模型存储单元预先存储的语义模型,确定交互语义。
5.根据权利要求1所述的三维几何建模方法,其特征在于,所述三维几何建模步骤包括重复处理步骤对物体运动过程中产生的重复动作进行处理,消除物体的重复、重叠性运动;抖动处理步骤对物体的运动进行平滑、光顺处理,消除物体运动轨迹和姿态的微小抖动;包络计算步骤根据已经消除抖动和重复的运动轨迹和截面轮廓,计算出物体运动产生的包络面;造型编辑步骤对所建立的三维几何模型进行修改。
6.根据权利要求1所述的三维几何建模方法,其特征在于,所述方法还包括从语音输入装置输入语音命令的步骤;语音识别步骤根据预定的语音模型对从语音输入装置输入的语音命令进行识别;其中所述实时交互语义识别步骤还包括一个语音语义分析步骤对多视频视觉分析步骤的输出以及语音识别步骤的输出进行处理,获得人机交互语义,并将所获得的人机交互语义结果提供给三维几何建模步骤。
7.根据权利要求1所述的三维几何建模方法,其特征在于,所述视频输入装置的数量为4个,分别分布于设计师的右方、右前方、左前方和左方且置于适合设计师手势表达的位置。
8.根据权利要求1所述的三维几何建模方法,其特征在于,所述视频输入装置的数量为6个,分别分布于设计师的前方、左前方、右前方、上方、左上方和右上方且置于适合设计师手势表达的位置。
9.一种三维几何建模系统,包括多个视频输入装置分布于设计师周围用于采集设计师设计动作的视频流;多个单视频流视觉分析单元对应于每个视频输入装置,使由上述视频输入装置采集的多个视频流各自经过一个所述单视频流视觉分析单元的处理,以检测视频流中的运动区域和非运动区域,估计运动物体运动的方向和速度并预测下一个运动位置以及计算运动物体的边缘轮廓并估计轮廓特征;多视频流视觉分析单元用于接收上述多个单视频流视觉分析单元的处理结果,进行双目立体匹配,并基于所获得的轮廓和特征进行三维重建和物体运动轨迹拟合,计算运动物体截面,并将所获得的物体模型、物体运动轨迹以及物体的截面轮廓提供给实时交互语义识别单元;实时交互语义识别单元用于对多视频视觉分析单元的输出进行处理以获得人机交互语义,并利用预先存储在一个语义模型存储单元中的语义定义解释所获得的人机交互语义;三维几何建模单元用于对多视频视觉分析单元的输出结果以及实时交互语义识别单元的输出进行综合处理,从而获得三维几何设计造型,并将处理结果存储到一个三维几何模型存储单元中;三维模型绘制单元用于将三维几何模型存储单元中实时存储的三维几何模型绘制到视频输出装置上;视频输出装置用于显示设计师所设计的三维几何造型。
10.根据权利要求9所述的三维几何建模系统,其特征在于,所述单视频流视觉分析单元还包括影像分析单元用于对其所对应的视频输入装置采集的视频信号进行处理,获得具有不同分辨率尺度和不同特征元素的特征视频流;实时运动检测单元用于根据所述影像分析单元所获得的特征视频流检测视频流中的运动区域以及运动方向以获得准确的运动区域分割和运动区域边缘;轮廓计算单元用于在运动物体区域上通过基于肤色检测获得手的区域,除去手的区域获得手持物体的区域,从而计算出区域的边缘轮廓;运动估计和预测单元用于估计运动物体运动的方向和速度并预测下一个运动位置。
11.根据权利要求9所述的三维几何建模系统,其特征在于,所述多视频流视觉分析单元包括立体匹配单元用于接收两个所述单视频流视觉分析单元中的运动检测单元输出的运动检测结果,经过立体匹配和视差计算获得运动物体的区域分割和运动物体深度信息;SFS&FBR单元用于按照所述单视频流视觉分析单元中的轮廓计算单元输出的轮廓计算结果,恢复物体的表面形状;轨迹拟合单元用于使用空间分布的多个摄像机摄影平面和摄像机相对定向参数,通过空间坐标交会、曲线拟合估计出空间连续运动轨迹;截面计算单元用于按照所述单视频流视觉分析单元中的轮廓计算单元输出的轮廓数据和上述轨迹拟合单元所获得的连续运动轨迹,计算运动物体的截面轮廓;物体模型建立单元用于通过上述立体匹配单元的结果所指示的深度信息数据建立物体模型。
12.根据权利要求9所述的三维几何建模系统,其特征在于,所述实时交互语义识别单元还包括碰撞检测单元用于根据多视频流视觉分析单元所建立的物体模型、截面轮廓和运动轨迹,检测三维几何模型和物体模型之间的碰撞,确定碰撞发生的位置和方式;操作语义分析单元用于按照碰撞检测单元的检测结果根据预定的语义模型确定语义的操作对象、操作类型等操作语义;交互语义分析单元用于根据碰撞检测单元的结果、所存储的物体模型和所存储的运动轨迹以及语义模型存储单元预先存储的语义模型,确定交互语义。
13.根据权利要求9所述的三维几何建模系统,其特征在于,所述三维几何建模单元包括重复处理单元用于对物体运动过程中产生的重复动作进行处理,消除物体的重复、重叠性运动;抖动处理单元用于对物体的运动进行平滑、光顺处理,消除物体运动轨迹和姿态的微小抖动;包络计算单元用于根据已经消除抖动和重复的运动轨迹和截面轮廓,计算出物体运动产生的包络面;造型编辑单元用于对所建立的三维几何模型进行修改。
14.根据权利要求9所述的三维几何建模系统,其特征在于,所述系统还包括语音输入装置用于输入语音命令;语音识别单元用于根据预定的语音模型对从语音输入装置输入的语音命令进行识别;其中所述实时交互语义识别单元,用于对多视频视觉分析单元的输出以及语音识别单元的输出进行处理,获得人机交互语义,并将所获得的人机交互语义结果提供给三维几何建模单元。
15.根据权利要求9所述的三维几何建模系统,其特征在于,所述视频输入装置的数量为4个,分别分布于设计师的右方、右前方、左前方和左方且置于适合设计师手势表达的位置。
16.根据权利要求9所述的三维几何建模系统,其特征在于,所述视频输入装置的数量为6个,分别分布于设计师的前方、左前方、右前方、上方、左上方和右上方且置于适合设计师手势表达的位置。
全文摘要
本发明公开一种三维几何建模系统,包括若干视频输入装置,用于采集设计师设计动作的视频流;多个单视频流视觉分析单元,用于检测视频流中的运动区域和非运动区域,估计物体运动的方向和速度并预测下一个位置及计算运动物体的边缘轮廓并估计轮廓特征;多视频流视觉分析单元,用于进行双目立体匹配,进行三维重建、物体运动轨迹拟合及计算运动物体截面;实时交互语义识别单元,用于对多视频视觉分析单元的输出进行处理以获得人机交互语义;三维几何建模单元,用于获得三维几何设计造型;三维模型绘制单元,用于将几何模型绘制到视频输出装置上;视频输出装置,用于显示物体的几何外形以及几何形体设计师所设计的三维几何造型。
文档编号H04N13/00GK1747559SQ20051001227
公开日2006年3月15日 申请日期2005年7月29日 优先权日2005年7月29日
发明者汪国平, 王宇宙, 张凯, 葛文兵 申请人:北京大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1