[发明专利]平均二次误差度量方法有效

专利信息
申请号: 201410711955.8 申请日: 2014-11-28
公开(公告)号: CN104463861A 公开(公告)日: 2015-03-25
发明(设计)人: 俞蔚 申请(专利权)人: 杭州科澜信息技术有限公司
主分类号: G06T7/00 分类号: G06T7/00
代理公司: 浙江永鼎律师事务所 33233 代理人: 王梨华;陈丽霞
地址: 310012 浙江省杭州市*** 国省代码: 浙江;33
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明涉及计算机图形学领域,公开了一种平均二次误差度量方法,包括收集模型中所有顶点和更新所有三角面的向量,具体为:依据QEM算法将顶点误差定义为顶点到与顶点相邻的所有三角面的距离平方之和;将顶点误差的计算移到GPU端;定义像素值,将行向量转化为像素值并放入ColorBuffer中;从ColorBuffer中获取像素值并还原成平均二次误差矩阵;依据顶点误差的计算公式可得到平均二次误差的计算公式。本发明提供平均二次误差度量方法,采用QEM算法,通过将顶点误差的计算移到GPU端并从ColorBuffer中获取像素值并还原成平均二次误差矩阵,大大缩短了二次误差度量中初始化阶段所需时间。
搜索关键词: 平均 二次 误差 度量 方法
【主权项】:
平均二次误差度量方法,其特征在于:包括:依据QEM算法,将顶点误差Δ(ν)定义为顶点到与顶点相邻的所有三角面的距离平方之和,Δ(ν)按下列公式进行计算:<mrow><mi>&Delta;</mi><mrow><mo>(</mo><mi>v</mi><mo>)</mo></mrow><mo>=</mo><mi>&Delta;</mi><mrow><mo>(</mo><msup><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>v</mi><mi>x</mi></msub></mtd><mtd><msub><mi>v</mi><mi>y</mi></msub></mtd><mtd><msub><mi>v</mi><mi>z</mi></msub></mtd><mtd><mn>1</mn></mtd></mtr></mtable></mfenced><mi>T</mi></msup><mo>)</mo></mrow><mo>=</mo><munder><mi>&Sigma;</mi><mrow><mi>p</mi><mo>&Element;</mo><mi>planes</mi><mrow><mo>(</mo><mi>v</mi><mo>)</mo></mrow></mrow></munder><msup><mrow><mo>(</mo><msup><mi>p</mi><mi>T</mi></msup><mi>v</mi><mo>)</mo></mrow><mn>2</mn></msup><mo>,</mo></mrow>其中:p代表ax+by+cz+d=0的三角面,p=[a b c d]T,且a2+b2+c2=1;将顶点误差Δ(ν)的计算移到GPU端,由此将顶点误差Δ(ν)计算公式变换为下列公式:<mrow><mi>&Delta;</mi><mrow><mo>(</mo><mi>v</mi><mo>)</mo></mrow><mo>=</mo><munder><mi>&Sigma;</mi><mrow><mi>p</mi><mo>&Element;</mo><mi>planes</mi><mrow><mo>(</mo><mi>v</mi><mo>)</mo></mrow></mrow></munder><mrow><mo>(</mo><msup><mi>v</mi><mi>T</mi></msup><mi>p</mi><mo>)</mo></mrow><mrow><mo>(</mo><msup><mi>p</mi><mi>T</mi></msup><mi>v</mi><mo>)</mo></mrow><mo>=</mo><munder><mi>&Sigma;</mi><mrow><mi>p</mi><mo>&Element;</mo><mi>planes</mi><mrow><mo>(</mo><mi>v</mi><mo>)</mo></mrow></mrow></munder><msup><mi>v</mi><mi>T</mi></msup><mrow><mo>(</mo><msup><mi>pp</mi><mi>T</mi></msup><mo>)</mo></mrow><mi>v</mi><mo>=</mo><msup><mi>v</mi><mi>T</mi></msup><mrow><mo>(</mo><munder><mi>&Sigma;</mi><mrow><mi>p</mi><mo>&Element;</mo><mi>planes</mi></mrow></munder><msub><mi>K</mi><mi>p</mi></msub><mo>)</mo></mrow><mi>v</mi><mo>,</mo></mrow>其中:Kp为矩阵,且<mrow><msub><mi>K</mi><mi>p</mi></msub><mo>=</mo><msup><mi>pp</mi><mi>T</mi></msup><mo>=</mo><mfenced open='[' close=']'><mtable><mtr><mtd><msup><mi>a</mi><mn>2</mn></msup></mtd><mtd><mi>ab</mi></mtd><mtd><mi>ac</mi></mtd><mtd><mi>ad</mi></mtd></mtr><mtr><mtd><mi>ab</mi></mtd><mtd><msup><mi>b</mi><mn>2</mn></msup></mtd><mtd><mi>bc</mi></mtd><mtd><mi>bd</mi></mtd></mtr><mtr><mtd><mi>ac</mi></mtd><mtd><mi>bc</mi></mtd><mtd><msup><mi>c</mi><mn>2</mn></msup></mtd><mtd><mi>cd</mi></mtd></mtr><mtr><mtd><mi>ad</mi></mtd><mtd><mi>bd</mi></mtd><mtd><mi>cd</mi></mtd><mtd><msup><mi>d</mi><mn>2</mn></msup></mtd></mtr></mtable></mfenced><mo>;</mo></mrow>若模型数据的顶点数为n,三角面数为m,在收集顶点时需要记录与顶点相邻的三角面数的最大值为MaxNum,且MaxNum=max{Num(planes(ν1)),Num(planes(ν2)),Num(planes(ν3)),…,Num(planes(νn))},并定义Maxd2=max{dp12,dp22,dp32,…,dpm2},为了统一表达顶点误差,将所有顶点的相邻三角面数都扩充为MaxNum,不足的三角面以[0 0 0 0]T来表达;若Maxd2≥1,由此将顶点误差Δ(ν)计算公式变换为下列公式:<mrow><mfenced open='' close=''><mtable><mtr><mtd><mi>&Delta;</mi><mrow><mo>(</mo><mi>v</mi><mo>)</mo></mrow><mo>=</mo><mrow><mo>(</mo><mi>MaxNum</mi><mo>)</mo></mrow><mrow><mo>(</mo><msup><mi>Maxd</mi><mn>2</mn></msup><mo>)</mo></mrow><mfrac><mrow><mi>&Delta;</mi><mrow><mo>(</mo><mi>v</mi><mo>)</mo></mrow></mrow><mrow><mrow><mo>(</mo><mi>MaxNum</mi><mo>)</mo></mrow><mrow><mo>(</mo><msup><mi>Maxd</mi><mn>2</mn></msup><mo>)</mo></mrow></mrow></mfrac></mtd></mtr><mtr><mtd><mo>=</mo><mrow><mo>(</mo><mi>MaxNum</mi><mo>)</mo></mrow><mrow><mo>(</mo><msup><mi>Maxd</mi><mn>2</mn></msup><mo>)</mo></mrow><mfrac><mrow><msup><mi>v</mi><mi>T</mi></msup><mrow><mo>(</mo><munder><mi>&Sigma;</mi><mrow><mi>p</mi><mo>&Element;</mo><mi>planes</mi><mrow><mo>(</mo><mi>v</mi><mo>)</mo></mrow></mrow></munder><msup><mi>pp</mi><mi>T</mi></msup><mo>)</mo></mrow><mi>v</mi></mrow><mrow><mrow><mo>(</mo><mi>MaxNum</mi><mo>)</mo></mrow><mrow><mo>(</mo><msup><mi>Maxd</mi><mn>2</mn></msup><mo>)</mo></mrow></mrow></mfrac></mtd></mtr><mtr><mtd><mo>=</mo><mrow><mo>(</mo><mi>MaxNum</mi><mo>)</mo></mrow><mrow><mo>(</mo><msup><mi>Maxd</mi><mn>2</mn></msup><mo>)</mo></mrow><mfrac><mrow><msup><mi>v</mi><mi>T</mi></msup><mrow><mo>(</mo><munderover><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>MaxNum</mi></munderover><mi>p</mi><msub><mrow><mo>(</mo><mi>v</mi><mo>)</mo></mrow><mi>k</mi></msub><mi>p</mi><msup><msub><mrow><mo>(</mo><mi>v</mi><mo>)</mo></mrow><mi>k</mi></msub><mi>T</mi></msup><mo>)</mo></mrow><mi>v</mi></mrow><mrow><mrow><mo>(</mo><mi>MaxNum</mi><mo>)</mo></mrow><mrow><mo>(</mo><msup><mi>Maxd</mi><mn>2</mn></msup><mo>)</mo></mrow></mrow></mfrac></mtd></mtr><mtr><mtd><mo>=</mo><mrow><mo>(</mo><mi>MaxNum</mi><mo>)</mo></mrow><mrow><mo>(</mo><msup><mi>Maxd</mi><mn>2</mn></msup><mo>)</mo></mrow><mrow><mo>(</mo><msup><mi>v</mi><mi>T</mi></msup><mrow><mo>(</mo><mfrac><mn>1</mn><mi>MaxNum</mi></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>MaxNum</mi></munderover><mrow><mo>(</mo><mfrac><mrow><mi>p</mi><msub><mrow><mo>(</mo><mi>v</mi><mo>)</mo></mrow><mi>k</mi></msub></mrow><mi>Maxd</mi></mfrac><mo>)</mo></mrow><msup><mrow><mo>(</mo><mfrac><mrow><mi>p</mi><msub><mrow><mo>(</mo><mi>v</mi><mo>)</mo></mrow><mi>k</mi></msub></mrow><mi>Maxd</mi></mfrac><mo>)</mo></mrow><mi>T</mi></msup><mo>)</mo></mrow><mi>v</mi><mo>)</mo></mrow></mtd></mtr></mtable></mfenced><mo>,</mo></mrow>且定义<mrow><msup><mi>p</mi><mo>&prime;</mo></msup><mrow><mo>(</mo><mi>v</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><mi>p</mi><mrow><mo>(</mo><mi>v</mi><mo>)</mo></mrow></mrow><mi>Maxd</mi></mfrac><mo>,</mo></mrow>其中Q′(ν)为平均二次误差矩阵,由此可得Δ(ν)=(MaxNum)(Maxd2)(νTQ′(ν)ν);若Maxd2<1,p′(ν)=p(ν),由此可得Δ(ν)=(MaxNum)(νTQ′(ν)ν);定义像素值为c(ν),Q′(ν)=[q(ν)0 q(ν)1 q(ν)2 q(ν)3]T,其中q(ν)i为行向量且0≤i≤3,c(ν)按下列公式计算:其中I=[1 1 1 1]T,将Q′(ν)中的行向量转化为像素值并放入ColorBuffer中;从ColorBuffer中获取像素值并还原成平均二次误差矩阵,按如下计算公式:Q′(ν)=[2c(ν)0‑I 2c(ν)1‑I 2c(ν)2‑I 2c(ν)3‑I]T;定义平均二次误差为Δ′(ν),依据顶点误差Δ(ν)的计算公式可得到下列平均二次误差Δ′(ν)的计算公式:<mrow><msup><mi>&Delta;</mi><mo>&prime;</mo></msup><mrow><mo>(</mo><mi>v</mi><mo>)</mo></mrow><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><mfrac><mrow><mi>&Delta;</mi><mrow><mo>(</mo><mi>v</mi><mo>)</mo></mrow></mrow><mrow><mrow><mo>(</mo><mi>MaxNum</mi><mo>)</mo></mrow><mrow><mo>(</mo><msup><mi>Maxd</mi><mn>2</mn></msup><mo>)</mo></mrow></mrow></mfrac></mtd><mtd><msup><mi>Maxd</mi><mn>2</mn></msup><mo>&GreaterEqual;</mo><mn>1</mn></mtd></mtr><mtr><mtd><mfrac><mrow><mi>&Delta;</mi><mrow><mo>(</mo><mi>v</mi><mo>)</mo></mrow></mrow><mrow><mo>(</mo><mi>MaxNum</mi><mo>)</mo></mrow></mfrac></mtd><mtd><msup><mi>Maxd</mi><mn>2</mn></msup><mo>&lt;</mo><mn>1</mn></mtd></mtr></mtable></mfenced><mo>.</mo></mrow>
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州科澜信息技术有限公司,未经杭州科澜信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201410711955.8/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top