CN109005399A - 一种3d数据加密、压缩方法及一种医疗信息交互系统 - Google Patents
一种3d数据加密、压缩方法及一种医疗信息交互系统 Download PDFInfo
- Publication number
- CN109005399A CN109005399A CN201810413903.0A CN201810413903A CN109005399A CN 109005399 A CN109005399 A CN 109005399A CN 201810413903 A CN201810413903 A CN 201810413903A CN 109005399 A CN109005399 A CN 109005399A
- Authority
- CN
- China
- Prior art keywords
- data
- max
- value
- group
- cutting
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H30/00—ICT specially adapted for the handling or processing of medical images
- G16H30/40—ICT specially adapted for the handling or processing of medical images for processing medical images, e.g. editing
Landscapes
- Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Theoretical Computer Science (AREA)
- Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
- Radiology & Medical Imaging (AREA)
- Epidemiology (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Primary Health Care (AREA)
- Public Health (AREA)
- Measuring And Recording Apparatus For Diagnosis (AREA)
- Apparatus For Radiation Diagnosis (AREA)
Abstract
本发明涉及3D图像显示应用领域,特别是一种3D数据加密、压缩方法及一种医疗信息交互系统。本发明提供的3D数据加密、压缩方法及医疗信息交互系统根据预设极值以及实际数据最大值,并结合随机函数来获取变换矩阵,加密效果更好;同时,本发明中预设极值的取值范围可以保证后续压缩过程中数据大小不产生溢出,进而保证后续数据压缩时,即有效减少数据量,同时又能够保证压缩后的数据精度满足医疗诊断使用。
Description
技术领域
本发明涉及3D图像显示应用领域,特别是一种3D数据加密、压缩方法及一种医疗信息交互系统。
背景技术
目前国内医院内的大型医疗设备多为进口产品,这些进口医疗设备的信息采集过程中,本身默认包含3D图像数据,但是在实际应用中,大多数医院只需应用其产生的二维图像,究其原因,一是在现行面对面的诊疗方式中,二维图像即可满足诊疗需求,二是国内没有专业的三维图像显示系统,不能将进口医疗设备采集的3D图像数据很好的显示,而国外配套的本地3D显示系统价格昂贵(动辄几十万元),在面对面诊疗方式对3D显示需求不强烈的情况下,该价格不为广大医院所接受。
但是随着时代的发展,远程诊疗的需求越来越大,而与面对面诊疗方式相比,二维图像的展示效果不能很好的满足远程诊疗的需求,由此,如何将医疗设备所采集的3D图像数据进行远程输送并进行3D展示便成了远程诊疗领域亟需解决的技术难题。
同时,在进行3D图像数据传输时,医疗设备采集的原始3D数据数据量过大,造成传输困难,如何提供一种既能有效压缩数据量,又能保证压缩后的数据满足远程诊疗需求的数据压缩方案亦是领域研究热点
发明内容
本发明的发明目的在于针对现有医疗设备采集的原始3D数据数据量过大,造成传输困难,需要一种可以很好的实现远程快速传输,且又能满足远程诊疗需求的3D数据加密、压缩方法3D化医疗信息交互系统。
一种3D数据加密、压缩方法,包括如下步骤
将3D图像数据按照任意原则分为N组的步骤,N为1以上自然数;将数据分组可以采用任意原则,分组越多,加密效果越好。
根据各组数据最大值分别生成与各组数据对应的[R,T,S]变换矩阵的步骤;即,每组数据对应一个[R,T,S]变换矩阵;其中,R为旋转参数,T为平移参数,S为缩放参数。
将各组数据根据对应的[R,T,S]变换矩阵进行几何变换加密的步骤;
对加密后的数据进行压缩的步骤。
进一步的,根据各组数据最大值分别生成与各组数据对应的变换矩阵[R,T,S]的步骤中,包括
将各组数据分别排序,并筛选出各组数据X,Y,Z方向上最大值Xm,Ym,Zm的步骤;
分别在Co×Xm与Max之间,Co×Ym与Max之间,Co×Zm与Max之间随机获取对应的Randx,Randy,Randz值,其中,Co为旋转系数,其取值通常取Max为预设极值,其取值为2.3~5之间的任意值,Max值的选择与最终压缩后的数据的数据精度相关联;旋转系数Co的取值以及预设极值Max的取值范围可以保证有效实现数据的加密的前提下,保证加密后的数据满足后续数据压缩时不会发生溢出。
分别根据公式Sx=Randx/(Co×Xm),Sy=Randy/(Co×Ym),Sz=Randz/(Co×Zm)获取各组数据X,Y,Z方向上Sx、Sy、Sz值;
分别根据公式Tx=Max-Randx,Ty=Max-Randy,Tz=Max-Randz,计算各组数据X,Y,Z方向上的Tx、Ty、Tz值;
Rx、Ry、Rz为在之间的随机取值,从而获得各组数据X,Y,Z方向上的变换矩阵[Rx,Tx,Sx]、[Ry,Ty,Sy]及[Rz,Tz,Sz]。
进一步的,在获取Randx,Randy,Randz值的步骤中,
如,Co×Xm≥Max,此时,实际上无法实现在在Co×Xm与Max获得随机值,这种情况下,我们选择在Xm与Max之间随机获取Randx值;同样的,
如,Co×Ym≥Max,则,在Ym与Max之间随机获取Randy值;
如,Co×Zm≥Max,则,在Zm与Max之间随机获取Randz值。
进一步的,在上述情况下,即,在Co×Xm≥Max,时,根据公式Sx=Randx/Xm获取Sx值,在Co×Ym≥Max时,根据公式Sy=Randy/Ym获取Sy值,在Co×Zm≥Max时,根据公式Sz=Randz/Zm获取Sz值。
进一步的,对加密后的数据压缩的步骤具体包括:
将待压缩数据×A,并使用int()函数取整,A表示压缩系数。
进一步的,所述压缩系数式中Prmin表示最小精度,值得注意的是,本申请中进行的数据压缩是有损压缩,取整操作会将小于最小精度的数据抛弃,这是因为,实际操作中,医疗设备采集的3D数据精度非常之高,而在医疗人员借助相关数据进行诊疗时,实际上并不需要过度细致的数据,如涉及人体的小于0.05mm(或者0.1mm、0.01mm)的数据,对医疗人员来说,是观察不到,也没有实际意义的。在数据压缩时将相应的数据抛弃完全不影响医疗人员对相关数据的使用。通常经过本方法进行的压缩可以将医疗设备原始采集的4字节3D数据压缩为2字节数据存储,从而直接缩小一半的数据量。
进一步的,对加密后的数据压缩的步骤还包括:
对使用int()函数取整后的数据采用无损压缩算法压缩,无损压缩可以进一步的将数据至原数据的80%左右,结合前述的有损压缩步骤,整体上可以将医疗设备采集的原始3D数据压缩至只有40%左右,压缩效果非常明显。
本发明同时针对现有远程诊疗过程中,二维图像不能很好的满足诊疗需求,提供一种可以很好的实现远程快速传输,且又能满足远程诊疗需求的3D化医疗信息交互系统。该医疗信息交互系统,包括数据压缩加密模块、云模块、模型解剖模块、模块标注模块以及模型显示模块;
所述数据压缩加密模块应用如上所述的方法将来自医疗设备的3D图像数据进行加密、压缩;
所述云模块用于接收所述数据压缩加密模块加密压缩后的3D图像数据并储存;
所述模型解剖模块用于实现对3D图像进行任意的剖切,并形成剖切面;
所述模型显示模块用于3D图像进行显示。
所述模型解剖模块采用如下步骤对模型解剖:
加载3D模型并确定视角;
以视角方向为剖切面平面法线,确定剖切面;
通过输入设备在剖切面上设置剖切线;
根据剖切线,为剖切面生成剖切检测着色图,在剖切检测着色图中,将剖切线设置为检测色,将剖切线两侧的剖切面分别设置为不同颜色;
遍历3D模型所有的三角面片,计算三角面片中的每一个栅格点在剖切面上投影位置,进而根据栅格点位置以及该栅格点的投影位置确定剖面线;
对已经渲染好剖面线的剖平面进行填充。上述步骤完全应对GPU渲染,通过GPU的进发运算,可以在毫秒级别完成渲染。
进一步的,确定剖面线的步骤中,包括如下步骤:
遍历3D模型所有的三角面片,计算三角面片中的每一个栅格点在剖切面上投影u,v位置的步骤;
根据该投影u,v位置为各个栅格点标记颜色的步骤;
选取颜色为检测色的栅格点,计算各栅格点在剖平面上位置的步骤;所述剖平面指同时经过所述剖切线和剖切面法线的平面。
进一步的,计算各栅格点在剖平面上位置的步骤具体为:
计算选取的各栅格点到剖切面的距离并记为u′值;
计算各栅格点在剖切面投影u,v位置对应的剖切线长度浮点值图中的L值,并记为v′;
所述剖切线长度浮点值图,由,剖切线上各点距离剖切线起点的长度L组成。
进一步的,所述对已经渲染好剖面线的剖平面进行填充的步骤中,
对已经渲染好剖面线的剖平面渲染图进行全图扫描,利用填充算法对剖面线形成的3D模型剖面区域进行指定填充。
进一步的,所述填充算法为种子填充算法、扫描线填充算法中的一种或多种。
进一步的,包括用户选择剖面隐藏侧的步骤;显示时不显示所述3D模型的隐藏侧。
进一步的,不显示所述3D模型的隐藏侧的具体方法为:
同时计算3D模型各栅格点投影到剖切线平面上的u,v值;
在剖切检测着色图中,根据该u,v值对应的颜色判断该点是否属于隐藏侧;
如是则该点不绘制。
综上所述,由于采用了上述技术方案,本发明的有益效果是:本发明提供的3D数据加密、压缩方法及医疗信息交互系统根据预设极值以及实际数据最大值,并结合随机函数来获取变换矩阵,加密效果更好;同时,本发明中预设极值的取值范围可以保证后续压缩过程中数据大小不产生溢出,进而保证后续数据压缩时,即有效减少数据量,同时又能够保证压缩后的数据精度满足医疗诊断使用。
附图说明
图1是本发明中提供的医疗信息交互系统结构原理图。
图2是本发明中提供的医疗信息交互系统显示结构示例图。
图3是本发明提供的3D模型的剖面实时生成方法切割示例图。
图4是本发明提供的3D模型剖面渲染示例图。
附图标记:91-剖切面,92-剖切线,93-3D模型,94-剖平面,95-剖面线
具体实施方式
下面结合附图,对本发明作详细的说明。
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
实施例1:本实施例提供一种3D数据加密、压缩方法,包括如下步骤
S100:将3D图像数据按照任意原则分为N组,N为1以上自然数,即可以将数据整体视为1组,也可以分为2组、3组、5组,乃至20组、100组。理论上,可以将数据按照任意原则分成任意组别,划分组别越多,划分原则越随意,则之后加密效果越好。本实施例中,将3D数据中的三角面片的3个顶点分别列为一组,从而将原始3D数据分为3组。
S200:将3组数据分别排序,从而分别获取各组数据X、Y、Z方向的最大值Xm,Ym,Zm;分别根据各组数据X、Y、Z方向的最大值Xm,Ym,Zm生成与各组数据对应的[R,T,S]变换矩阵;即,3组数据每组数据对应一个变换矩阵[R,T,S];其中,R为旋转参数,T为平移参数,S为缩放参数。
具体的,本步骤中,包括,
S210:将3组数据分别排序,并筛选出各组数据X,Y,Z方向上最大值Xm,Ym,Zm的步骤;
S220:分别在Co×Xm与Max之间,Co×Ym与Max之间,Co×Zm与Max之间随机获取对应的Randx,Randy,Randz值,其中,Co为旋转系数,其取值为Max为预设极值,其取值为2.3~5之间的任意值,用户可根据需要设置该值,Max值的选择与最终压缩后的数据的数据精度相关联;旋转系数Co的取值以及预设极值Max的取值范围可以保证有效实现数据加密的前提下,保证加密后的数据在后续数据压缩时不会发生溢出。本实施例中,Max=3000mm,取值为3000mm(即3m)的原因之一是在医疗领域,由于人的身高限制,并不会出现大于人体身高的长度数据;Max取值为3000的另一个原因是该值会影响数据压缩时所保留的最小精度数据,具体见步骤S410。
即在与3000mm之间随机获取对应的Randx值,在与3000之间随机获取对应的Randy值,与3000之间随机获取对应的Randz值。
S230:分别根据公式Sx=Randx/(Co×Xm),Sy=Randy/(Co×Ym),Sz=Randz/(Co×Zm)获取各组数据X,Y,Z方向上Sx、Sy、Sz值;本实施中,根据获取各组数据X,Y,Z方向上Sx、Sy、Sz值。
S240:分别根据公式Tx=3000-Randx,Ty=3000-Randy,Tz=3000-Randz,计算各组数据X,Y,Z方向上的Tx、Ty、Tz值。
S250:Rx、Ry、Rz为在之间的随机取值,从而获得3组数据X,Y,Z方向上的变换矩阵[Rx,Tx,Sx]、[Ry,Ty,Sy]及[Rz,Tz,Sz],即,每组数据都有其自身对应的X,Y,Z方向上的变换矩阵[Rx,Tx,Sx]、[Ry,Ty,Sy]及[Rz,Tz,Sz]。
应注意的是,S230、S240、S250并没有固定执行顺序。
S300:将各组数据根据对应的[R,T,S]变换矩阵进行几何变换加密的步骤;
S400:对加密后的数据进行压缩的步骤。具体的,包括
S410:将待压缩数据×A,并使用int()函数取整,A表示压缩系数。所述压缩系数式中Prmin表示最小精度,本实施例中,值得注意的是,本申请中进行的数据压缩是有损压缩,本步骤中的取整操作会将数据中小于0.05mm数据抛弃,这是因为,实际操作中,医疗设备采集的3D数据精度非常之高,而在医疗人员借助相关数据进行诊疗时,实际上并不需要过度细致的数据,如医疗设备采集的人体的小于0.05mm的数据,对医疗人员来说,是观察不到,也没有实际意义的。在数据压缩时将相应的数据抛弃完全不影响医疗人员对相关数据的使用。本步骤通过将医疗设备原始采集的4字节3D数据压缩为2字节数据存储,并通过压缩系数调整抛弃小精度数据,从而直接缩小一半的数据量。
S420:对S410处理后的数据采用无损压缩算法进一步压缩,无损压缩算法通常可以进一步的将数据至原数据的80%左右,结合S410中有损压缩步骤,整体上可以将医疗设备采集的原始3D数据压缩至只有40%左右,压缩效果非常明显。
实施例2:本实施例同样提供一种3D数据加密、压缩方法,但与实施例1不同的是,在S200中,个别情况下,各组数据中X、Y、Z方向上的最大值乘以旋转系数后回超过预设极值,即Co×Xm≥Max,或,Co×Ym≥Max,或,Co×Zm≥Max的情况,此时,同样以如实施例1般将数据分成三组,则,S200具体包含如下步骤:
S210:将3组数据分别排序,并筛选出各组数据X,Y,Z方向上最大值Xm,Ym,Zm的步骤;
S221:如,Co×Xm≥Max,即,此时,实际上无法实现在在与3000之间获得随机值,这种情况下,我们选择在Xm与Max(3000mm)之间随机获取Randx值;同样的,
如,则,在Ym与3000之间随机获取Randy值;
如,则,在Zm与3000之间随机获取Randz值。
S231:在时,根据公式Sx=Randx/Xm获取Sx值,在时,根据公式Sy=Randy/Ym获取Sy值,在时,根据公式Sz=Randz/Zm获取Sz值。
S240:分别根据公式Tx=3000-Randx,Ty=3000-Randy,Tz=3000-Randz,计算各组数据X,Y,Z方向上的Tx、Ty、Tz值。
S250:Rx、Ry、Rz为在之间的随机取值,从而获得3组数据X,Y,Z方向上的变换矩阵[Rx,Tx,Sx]、[Ry,Ty,Sy]及[Rz,Tz,Sz],即,每组数据都有其自身对应的X,Y,Z方向上的变换矩阵[Rx,Tx,Sx]、[Ry,Ty,Sy]及[Rz,Tz,Sz]。
应注意的是,S231、S240、S250同样没有固定执行顺序。
实施例3:如图1所示,本实施例针对现有远程诊疗过程中,二维图像不能很好的满足诊疗需求,提供一种可以很好的实现远程快速传输,且又能满足远程诊疗需求的3D化医疗信息交互系统。该医疗信息交互系统,包括数据压缩加密模块1、云模块2、模型解剖模块3、模块标注模块4以及模型显示模块5;
所述云模块2用于接收所述数据压缩加密模块加密压缩后的3D图像数据并储存;
所述模型解剖模块3用于实现对3D图像进行任意的剖切,并形成剖切面;
所述模型显示模块5用于3D图像进行显示。
所述数据压缩加密模块1应用如实施例1所述方法将来自医疗设备的3D图像数据进行加密、压缩;具体的,
数据加密、压缩方法,包括如下步骤
S100:将3D图像数据按照任意原则分为N组,N为1以上自然数,本实施例中,将数据整体视为1组。
S200:将3D数据排序,从而获取3D数据X、Y、Z方向的最大值Xm,Ym,Zm;根据3D数据X、Y、Z方向的最大值Xm,Ym,Zm生成几何变换矩阵[R,T,S];其中,R为旋转参数,T为平移参数,S为缩放参数。
具体的,本步骤中,包括,
S210:将3D数据排序,得出X,Y,Z方向上最大值Xm,Ym,Zm;
S220:分别在Co×Xm与Max之间,Co×Ym与Max之间,Co×Zm与Max之间随机获取对应的Randx,Randy,Randz值,其中,Max为预设极值,本实施例中,Max=2500mm,取值为2500mm(即2.5m)的原因之一是在医疗领域,由于人的身高限制,并不会出现大于人体身高的长度数据;Max取值为2500的另一个原因是该值会影响数据压缩时所保留的最小精度数据,具体见步骤S410。
即在与2500mm之间随机获取对应的Randx值,在与2500之间随机获取对应的Randy值,与2500之间随机获取对应的Randz值。
S230:分别根据公式Sx=Randx/(Co×Xm),Sy=Randy/(Co×Ym),Sz=Randz/(Co×Zm)获取各组数据X,Y,Z方向上Sx、Sy、Sz值;本实施中,根据获取各组数据X,Y,Z方向上Sx、Sy、Sz值。
S240:分别根据公式Tx=2500-Randx,Ty=2500-Randy,Tz=2500-Randz,计算各组数据X,Y,Z方向上的Tx、Ty、Tz值。
S250:Rx、Ry、Rz为在之间的随机取值,从而获得3组数据X,Y,Z方向上的变换矩阵[Rx,Tx,Sx]、[Ry,Ty,Sy]及[Rz,Tz,Sz],即,每组数据都有其自身对应的X,Y,Z方向上的变换矩阵[Rx,Tx,Sx]、[Ry,Ty,Sy]及[Rz,Tz,Sz]。
应注意的是,S230、S240、S250并没有固定执行顺序。
S300:将各组数据根据对应的[R,T,S]变换矩阵进行几何变换加密的步骤;
S400:对加密后的数据进行压缩的步骤。具体的,包括
S410:将待压缩数据×A,并使用int()函数取整,A表示压缩系数。所述压缩系数式中Prmin表示最小精度,本实施例中,值得注意的是,本申请中进行的数据压缩是有损压缩,本步骤中的取整操作会将数据中小于0.04mm数据抛弃,这是因为,实际操作中,医疗设备采集的3D数据精度非常之高,而在医疗人员借助相关数据进行诊疗时,实际上并不需要过度细致的数据,如医疗设备采集的人体的小于0.04mm的数据,对医疗人员来说,是观察不到,也没有实际意义的。在数据压缩时将相应的数据抛弃完全不影响医疗人员对相关数据的使用。本步骤通过将医疗设备原始采集的4字节3D数据压缩为2字节数据存储,并通过压缩系数调整抛弃小精度数据,从而直接缩小一半的数据量。
S420:对S410处理后的数据采用无损压缩算法进一步压缩,无损压缩算法通常可以进一步的将数据至原数据的80%左右,结合S410中有损压缩步骤,整体上可以将医疗设备采集的原始3D数据压缩至只有40%左右,压缩效果非常明显。
具体应用中,系统通过病案模式,创建一个医疗交互主题,由用户导入从医疗设备上采集的3D模型数据,通过专用接口导入到系统平台,系统对导入的3D模型数据采用如上所述的步骤加压加密处理,对病患隐私进行保护。
比如,系统可以根据病人的病例(包括但不限于3D数据),建立一个病案,从本地导入由医疗设备生成的3D模型数据,作为病案的3D信息模型。导入后,模型数据被自动加密加压,并在系统平台中保存加密加压后的数据和对应密钥。
随后,进入具体病人的3D病案后,如图2所示,在具体的显示模块中,可以包括病案区、工具区、3D显示窗口、信息编辑窗口以及信息显示区;另外一些实施例中,除3D显示窗口外,其他几个区域可以选择显示或不显示;3D显示窗口用于显示病患病灶的3D模型,几个窗口相对位置也是可调的;用户(一般为医生)可以通过模块标注模块4对3D模型进行标注;例如,通过点击工具区启动模块标注模块4,进入标注状态;具体的,一些实施例中,标注行为可以分为两步,第一步是创建(或选择之前已经有的)3D标注,第二步是输入信息(含文字、图片、语音以及视频)。
而在创建3D标注点时,用户点击工具区创建3D标注时,系统为之自动生成一条编号,并可以为之命名。在编辑窗口(3D显示窗口)可以旋转和缩放3D模型视角,调整到希望的位置,按下记录按钮,系统将记录下当前视角位置。需要进行3D涂抹时,点击工具区的3D涂抹工具,启动3D涂抹模块,用户在当前需要的区域进行任意涂抹,系统通过3D涂抹模块完成模型的涂抹显示;需要绘制辅助3D要素(辅助方块,辅助平面,辅助线)时,通过工具栏(工具区)选择创建辅助3D要素,并设置和编辑该要素,并可以位置命名。系统可以自动生成一个3D空间标记点,用户不需要时可以设置为隐藏,可以通过键盘及鼠标调整该空间标记点位置。保存当前标注点并结束创建(不需要时,可以取消保存并结束创建)。
而在添加标注信息时,用户可以选择一个3D标注点(默认为当前标记点),为其添加信息;通过信息编辑窗口输入文字信息;还可以选择并导入(本地或系统云平台中的)图片信息;用户可以通过话筒录制音频信息(或直接插入已经录制好的音频);通过摄像头录制视频信息(或直接插入已经录制好的视频);完毕后点击发送,信息被发送到系统云平台。
系统推送标注和信息后,在信息条目区形成一条信息内容(语音,视频显示为一个播放标记),点击该信息内容,在模型窗口中显示出该信息内容锚定的标注点,并将窗口切换到标注点创建时的视角,并同步显示对方用户的涂抹模型。点击模型窗口的标记显示按钮,将在模型中显示当前所有的标记点,并显示标记序号和标记名称,点击其中的一个标记点将在信息显示区按时间顺序显示输入过的信息。(可以在信息编辑窗口,对该标记追加信息描述)。
实施例4:本实施同样提供一种3D化医疗信息交互系统,本实施例与实施例3的不同点仅仅在于,本实施例中的模型解剖模块3采用如下方法对3D模型进行实施解剖,具体如图3、图4所示,包括:
S10:加载3D模型3并确定视角;
S20:以视角方向为剖切面平面法线,确定剖切面91;
S30:通过输入设备(如鼠标、键盘或者触屏)在剖切面91上设置剖切线92的步骤;
S40:根据剖切线,为剖切面91生成剖切检测着色图的步骤,在剖切检测着色图中,将剖切面91中,沿剖切线92的方向定为v方向,将垂直与剖切线92的方向定为u方向,将剖切线2设置为检测色,将剖切线92两侧的剖切面91位置分别设置为不同颜色,并将颜色和剖切面91上的u,v位置对应储存,在具体实施例中,该部分由GPU进行加速完成;一些实施例中,还生成剖期限长度浮点值图,具体的,从剖切线起点开始,沿剖切线逐点计算该点离剖切线起点的长度L(剖切线线上长度),进而生成一张剖切线长度浮点值图(用浮点数记录图片的一种图片格式),将长度值逐点记录在浮点图中。
S50:包括遍历3D模型所有的三角面片,计算三角面片中的每一个栅格点在剖切面91上投影位置,进而根据栅格点位置以及该栅格点的投影位置确定剖面线95的步骤;根据定义,剖平面94为同时经过剖切线92和剖切面91法线的平面,图3、图4中S方向即表示剖切面1法线方向;我们将剖平面94中,沿剖切面91法线的方向定义为u′方向,将垂直剖切面91法线(与剖切线2平行的方向)定义为v′方向;获取剖面线94的具体步骤为,遍历3D模型93所有的三角面片,计算三角面片中的每一个栅格点在剖切面91上投影u,v位置,进而根据该投影u,v位置为各个栅格点标记颜色,即,如果投影u,v位置在剖切线92上,则说明该栅格点位于剖平面94上,此时该栅格点应标记为检测色,如果投影位置位于剖切线92一侧,则说明该栅格点不在剖平面94上,将其标记为投影位置对应的剖切检测着色图中的颜色;所有点遍历完成后,检测各栅格点颜色是否为检测色,如果不是,则说明该点不在剖平面94中,忽略该点。如果是检测色,则说明该点是剖面线的组成部分,确定其在剖平面4中的位置u′,v′,其中,该点到剖切面1的距离为u′,该点在剖切面91投影u,v位置(实际上该点的u,v位置已经确定在剖切线92上)对应的剖切线长度浮点值图中的L值为v′;所有的栅格点就计算完成后,既完成了剖面线94的渲染生成。该过程设计完全应对GPU渲染,通过GPU的进发运算,可以在毫秒级别完成渲染,。
S60:对已经渲染好剖面线的剖平面94进行填充。具体的,对已经渲染好剖面线的剖平面94进行填充的具体方式为:对已经渲染好剖面线的剖面渲染图进行全图扫描,利用填充算法对剖面线形成的3D模型剖面95区域进行指定填充。所述填充算法为种子填充算法、扫描线填充算法中的一种或多种。
S70:用户选择剖面隐藏侧,通常,3D模型相对于剖切线与基准点同侧则为隐藏侧,显示时不显示所述3D模型的隐藏侧,具体的,同时计算3D模型各栅格点投影到剖切线平面上的u,v值,在剖切检测着色图中,根据该u,v值对应的颜色判断该点是否属于隐藏侧,如是则该点不绘制。不是则进行绘制,从而完成一个包含剖面的完整剖切模型绘制。
现有技术中想实现对物体3D模型(图像)的剖面显示,一种是需要美术人员事先做好能够显示的剖面的模型和美术资源并存入资源库,这种情况下,使用者只能选择资源库中已经存在的剖面进行显示,而无法任意的对3D模型(图像)进行剖面切割和显示;除此之外,如果没有事先做好剖面模型又想要实现对3D模型的实时随意切割,则需要CPU对3D面片与剖面进行精确的相交计算,该计算运算量巨大,通常需要数秒才能完成;而本系统对3D模型的剖面实时生成,根据GPU工作特性设置特殊的剖面渲染步骤,从而实现在不预设剖面模型的前提下,让用户对3D模型任意实时的切割,且新生成剖面速度在毫秒级。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种3D数据加密、压缩方法,其特征在于,包括如下步骤
将3D图像数据按照任意原则分为N组的步骤,N为1以上自然数;
根据各组数据最大值分别生成与各组数据对应的变换矩阵[R,T,S]的步骤;
将各组数据根据对应的[R,T,S]变换矩阵进行几何变换加密的步骤;
对加密后的数据进行压缩的步骤。
2.如权利要求1所述的方法,其特征在于,根据各组数据最大值分别生成与各组数据对应的[R,T,S]变换矩阵的步骤中,包括
将各组数据分别排序,并筛选出各组数据X,Y,Z方向上最大值Xm,Ym,Zm的步骤;
分别在Co×Xm与Max之间,Co×Ym与Max之间,Co×Zm与Max之间随机获取对应的Randx,Randy,Randz值,其中,Co为旋转系数,Max为预设极值,其取值为2.3~5之间的任意值;
分别根据公式Sx=Randx/(Co×Xm),Sy=Randy/(Co×Ym),Sz=Randz/(Co×Zm)获取各组数据X,Y,Z方向上Sx、Sy、Sz值;
分别根据公式Tx=Max-Randx,Ty=Max-Randy,Tz=Max-Randz,计算各组数据X,Y,Z方向上的Tx、Ty、Tz值;
Rx、Ry、Rz为在之间的随机取值,从而获得各组数据X,Y,Z方向上的变换矩阵[Rx,Tx,Sx]、[Ry,Ty,Sy]及[Rz,Tz,Sz]。
3.如权利要求2所述的方法,其特征在于,在获取Randx,Randy,Randz值的步骤中,
如,Co×Xm≥Max,则,在Xm与Max之间随机获取Randx;
如,Co×Ym≥Max,则,在Ym与Max之间随机获取Randy;
如,Co×Zm≥Max,则,在Zm与Max之间随机获取Randz。
4.如权利要求5所述的方法,其特征在于,
如Co×Xm≥Max,则,根据公式Sx=Randx/Xm获取Sx;
如Co×Ym≥Max,则,根据公式Sy=Randy/Ym获取Sy;
如Co×Zm≥Max,则,根据公式Sz=Randz/Zm获取Sz值。
5.如权利要求1至4任一项所述的方法,其特征在于,对加密后的数据压缩的步骤具体包括:
将待压缩数据×A,并使用int( )函数取整,A表示压缩系数。
6.如权利要求5所的方法,其特征在于,所述压缩系数式中Prmm表示最小精度,
7.如权利要求5所述的方法,其特征在于,对加密后的数据压缩的步骤还包括:
对使用int( )函数取整后的数据采用无损压缩算法压缩。
8.一种医疗信息交互系统,其特征在于,包括数据压缩加密模块、云模块、模型解剖模块、模块标注模块以及模型显示模块;
所述数据压缩加密模块应用如权利要求1至7任一项所述的方法将自医疗设备的3D图像数据进行加密、压缩;
所述云模块用于接收所述数据加密压缩模块压缩加密后的3D图像数据并储存;
所述模型解剖模块用于对3D图像进行任意剖切,并形成剖切面;
所述模型显示模块用于3D图像进行显示。
9.如权利要求8所述的系统,其特征在于,所述模型解剖模块采用如下步骤对模型解剖:
加载3D模型并确定视角;
以视角方向为剖切面平面法线,确定剖切面;
通过输入设备在剖切面上设置剖切线;
根据剖切线,为剖切面生成剖切检测着色图,在剖切检测着色图中,将剖切线设置为检测色,将剖切线两侧的剖切面分别设置为不同颜色;
遍历3D模型所有的三角面片,计算三角面片中的每一个栅格点在剖切面上投影位置,进而根据栅格点位置以及该栅格点的投影位置确定剖面线;
对已经渲染好剖面线的剖平面进行填充。
10.如权利要求9所述的系统,其特征在于,确定剖面线的步骤中,包括如下步骤:
遍历3D模型所有的三角面片,计算三角面片中的每一个栅格点在剖切面上投影u,v位置的步骤;
根据该投影u,v位置为各个栅格点标记颜色的步骤;
选取颜色为检测色的栅格点,计算各栅格点在剖平面上位置的步骤;所述剖平面指同时经过所述剖切线和剖切面法线的平面。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810413903.0A CN109005399A (zh) | 2018-05-03 | 2018-05-03 | 一种3d数据加密、压缩方法及一种医疗信息交互系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810413903.0A CN109005399A (zh) | 2018-05-03 | 2018-05-03 | 一种3d数据加密、压缩方法及一种医疗信息交互系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109005399A true CN109005399A (zh) | 2018-12-14 |
Family
ID=64573216
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810413903.0A Pending CN109005399A (zh) | 2018-05-03 | 2018-05-03 | 一种3d数据加密、压缩方法及一种医疗信息交互系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109005399A (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101373543A (zh) * | 2008-09-28 | 2009-02-25 | 武汉大学 | 三维网格模型的快速剖切方法 |
CN101441780A (zh) * | 2008-11-05 | 2009-05-27 | 武汉大学 | 三维网格模型的剖切方法 |
CN101894359A (zh) * | 2010-07-13 | 2010-11-24 | 北京信息科技大学 | 图像置乱加密方法 |
CN104063833A (zh) * | 2013-03-21 | 2014-09-24 | 中国水利水电科学研究院 | 一种图像加密、读取方法及装置 |
CN105574917A (zh) * | 2015-12-18 | 2016-05-11 | 成都君乾信息技术有限公司 | 一种用于3d模型的法线贴图重构处理系统及处理方法 |
CN105654538A (zh) * | 2015-12-24 | 2016-06-08 | 成都君乾信息技术有限公司 | 一种用于3d模型的贴图数据重构处理系统及处理方法 |
CN106301760A (zh) * | 2016-08-04 | 2017-01-04 | 北京电子科技学院 | 一种基于混沌映射的3d点云模型加密方法 |
US20170169606A1 (en) * | 2014-02-11 | 2017-06-15 | Alcatel Lucent | Method for encrypting or decrypting a 3d object |
CN107896144A (zh) * | 2017-11-08 | 2018-04-10 | 中共中央办公厅电子科技学院 | 一种基于混沌映射的3d纹理模型加密方法 |
-
2018
- 2018-05-03 CN CN201810413903.0A patent/CN109005399A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101373543A (zh) * | 2008-09-28 | 2009-02-25 | 武汉大学 | 三维网格模型的快速剖切方法 |
CN101441780A (zh) * | 2008-11-05 | 2009-05-27 | 武汉大学 | 三维网格模型的剖切方法 |
CN101894359A (zh) * | 2010-07-13 | 2010-11-24 | 北京信息科技大学 | 图像置乱加密方法 |
CN104063833A (zh) * | 2013-03-21 | 2014-09-24 | 中国水利水电科学研究院 | 一种图像加密、读取方法及装置 |
US20170169606A1 (en) * | 2014-02-11 | 2017-06-15 | Alcatel Lucent | Method for encrypting or decrypting a 3d object |
CN105574917A (zh) * | 2015-12-18 | 2016-05-11 | 成都君乾信息技术有限公司 | 一种用于3d模型的法线贴图重构处理系统及处理方法 |
CN105654538A (zh) * | 2015-12-24 | 2016-06-08 | 成都君乾信息技术有限公司 | 一种用于3d模型的贴图数据重构处理系统及处理方法 |
CN106301760A (zh) * | 2016-08-04 | 2017-01-04 | 北京电子科技学院 | 一种基于混沌映射的3d点云模型加密方法 |
CN107896144A (zh) * | 2017-11-08 | 2018-04-10 | 中共中央办公厅电子科技学院 | 一种基于混沌映射的3d纹理模型加密方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107137225B (zh) | 个性化头面部穴位识别模型建立、定位的方法和系统 | |
CN103208133B (zh) | 一种图像中人脸胖瘦的调整方法 | |
CN112819947A (zh) | 三维人脸的重建方法、装置、电子设备以及存储介质 | |
US7171029B2 (en) | Method and apparatus for generating models of individuals | |
CN104658030B (zh) | 二次图像混合的方法和装置 | |
EP3992919A1 (en) | Three-dimensional facial model generation method and apparatus, device, and medium | |
US20210097730A1 (en) | Face Image Generation With Pose And Expression Control | |
KR20150114138A (ko) | 가상 성형 sns 서비스 방법 및 장치 | |
CN110021445A (zh) | 一种基于vr模型的医疗系统 | |
CN109035415B (zh) | 虚拟模型的处理方法、装置、设备和计算机可读存储介质 | |
CN107194995A (zh) | 一种快速构建真实三维人物模型的方法 | |
CN108388889A (zh) | 用于分析人脸图像的方法和装置 | |
CN107452074A (zh) | 一种图像处理方法及系统 | |
Jani et al. | Virtual reality and its transformation in forensic education and research practices | |
CN111179411A (zh) | 基于社交平台的可视化面部美容整形仿真模拟方法及系统、设备 | |
Abate et al. | FACES: 3D FAcial reConstruction from anciEnt Skulls using content based image retrieval | |
CN117711611A (zh) | 一种基于场景融合和mr的MDT远程会诊系统及方法 | |
CN113110733A (zh) | 一种基于远程双工的虚拟现场交互方法及系统 | |
CN109492540A (zh) | 一种图像中的人脸交换方法、装置及电子设备 | |
CN108830915A (zh) | 口腔影像3d模拟动画实现方法及装置 | |
CN109005399A (zh) | 一种3d数据加密、压缩方法及一种医疗信息交互系统 | |
Xu et al. | Affect-preserving privacy protection of video | |
WO2020173054A1 (zh) | Vrds 4d医学影像处理方法及产品 | |
CN109173187A (zh) | 基于虚拟现实的认知康复训练的控制系统、方法及装置 | |
CN113435273B (zh) | 数据增广方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20181214 |
|
WD01 | Invention patent application deemed withdrawn after publication |