CN117891073A - 一种应用于arhud的新型畸变校正方法 - Google Patents
一种应用于arhud的新型畸变校正方法 Download PDFInfo
- Publication number
- CN117891073A CN117891073A CN202311701708.5A CN202311701708A CN117891073A CN 117891073 A CN117891073 A CN 117891073A CN 202311701708 A CN202311701708 A CN 202311701708A CN 117891073 A CN117891073 A CN 117891073A
- Authority
- CN
- China
- Prior art keywords
- distortion correction
- data
- arhud
- mesh
- vertex
- 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
- 238000012937 correction Methods 0.000 title claims abstract description 45
- 238000000034 method Methods 0.000 title claims abstract description 30
- 230000000694 effects Effects 0.000 claims description 13
- 230000008859 change Effects 0.000 claims description 3
- 230000008676 import Effects 0.000 claims description 3
- 238000013507 mapping Methods 0.000 claims description 3
- 238000010606 normalization Methods 0.000 claims 1
- 238000009877 rendering Methods 0.000 abstract description 3
- 238000012545 processing Methods 0.000 abstract description 2
- 230000009466 transformation Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 8
- 230000006872 improvement Effects 0.000 description 6
- 239000011159 matrix material Substances 0.000 description 5
- 238000013178 mathematical model Methods 0.000 description 2
- 241000826860 Trapezium Species 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012887 quadratic function Methods 0.000 description 1
Landscapes
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种应用于ARHUD的新型畸变校正方法,采用了3D建模技术,将这个显示屏分成若干小块,通过更改此模型的顶点数据,对此模型的外观进行扭曲,从而实现图形的畸变校正功能,为了最终输出至显示屏上,我们对整体的显示的框架做了调整,使Client图形绘制端将内容绘制至Off‑Screen Buffer离屏缓存中,最终通过图形畸变校正模块的二次处理,将最终的渲染数据渲染至窗口以实现图形畸变校正功能,大大降低了产品的硬件成本,但从性能表现上来说,完全降低了CPU端的消耗,对于GPU端,由于功能十分简单,并不会增加GPU的负载,此方案还大大降低了ARHUD的产品成本,使ARHUD的使用场景更加广泛。
Description
技术领域
本发明属于车载仪表技术领域,具体涉及一种应用于ARHUD的新型畸变校正方法。
背景技术
随着车载仪表的飞速发展,ARHUD产品逐渐成为车辆与终端用户交互的主要接口。越来越多的信息,尤其是导航信息将会使用现实增强的方式,通过ARHUD,最终呈现给终端用户。
综上所述,ARHUD产品将在未来扮演十分重要的作用。众所周知,ARHUD是将显示信息投影至车载挡风玻璃,那么如何通过图形畸变校正算法将图形进行畸变,从而消除在投影过程中,车载挡风玻璃对原始图像的影响将成为非常重要的课题。图1为ARHUD在实车上的真实显示效果。目前大部分公司采用如下方案应对上述需求:
将ARHUD的显示分为若干网格体,通过每一个网格体的基准位置以及畸变校正后的位置,算出图形畸变校正所需的矩阵,然后将网格体里的所有数据与矩阵相乘,从而得到最终的显示结果。具体的原理如图3所示。
由于此方法需要软件逐点进行扫描,故对CPU的消耗极大。为了解决性能问题,大部分公司会采用专用WarpingIC,通过硬件加速的方法从根本上解决性能问题。
由于上述方案采用了WarpingIC这种专用芯片,导致产品的成本极具增加,对于终端用户并不十分友好。除此之外,WarpingIC并不十分稳定,故有时会因为硬件故障导致ARHUD显示异常。
发明内容
为了实现上述目的,本发明采用的技术方案为,一种应用于AR HUD的新型图形畸变校正方法,采用OpenGL的方式,将屏幕输出作为图像纹理贴在3D网格体上,通过更改3D网格的顶点坐标从而实现图像的畸变校正功能。此发明不仅可以通过更改输入的顶点数据来对图像进行畸变校正,也可以采用OpenGL顶点着色器的方式,根据客户的参数输入,对各种畸变校正算法进行数学建模,对网格体顶点进行动态调节,从而实现图像的动态畸变校正功能,本发明的技术方案如下:一种应用于ARHUD的新型畸变校正方法,方法包括:
将渲染的图片存至OffScreenBuffer中,作为图片送入图形畸变校正模块中;
图形畸变校正模块模块通过OpenGL,将传入的图片数据作为纹理图案Texture,将其渲染至3DMesh中从而实现界面的显示。
作为本发明的一种改进,方法包括3DMesh根据客户所提供的Warping数据(图像的畸变矫正数据)的参考点数将图形分为多个网格体。
基于上述技术方案,此种实现方便日后对每一个网格体的顶点数据进行修正,从而实现ARHUD的畸变校正功能。只需要客户端将标定完成后的畸变校正数据通过配置文件的方式导入至软件系统中,并配置好网格体的个数即可,并不需要额外的工作量。
作为本发明的一种改进,方法包括客户端将标定完成后的畸变校正数据通过配置文件的方式导入至软件系统中,并配置好网格体的个数。
作为本发明的一种改进,方法包括根据客户所配置网格点个数动态的生成网格体的顶点索引,并将其传至OpenGL中,OpenGL会根据传入的网格体顶点索引,对相应的网格体进行绘制,从而得到最终的显示结果。
作为本发明的一种改进,方法包括根据客户所提供的Warping数据(图像的畸变矫正数据),对网格体的顶点数据进行修复更改,根据数据对网格体的顶点数据进行修复更改,从而实现图像的畸变校正。
作为本发明的一种改进,方法还包括根据按键的输入以及当前客户所选择的畸变校正模式,通过客户所提供的变换特征所得到的不同的图形畸变算法对网格体数据进行校正。
相对于现有技术,本发明的有益效果为:本发明所提出的应用于ARHUD的新型图形畸变矫正系统是在不增加硬件成本的情况下,通过软件的方式实现图形畸变矫正功能,与现有技术相比,大大降低了产品的硬件成本,但从性能表现上来说,完全降低了CPU端的消耗,对于GPU端,由于功能十分简单,并不会增加GPU的负载。除此之外,此方案还大大降低了ARHUD的产品成本,使ARHUD的使用场景更加广泛。
附图说明
图1为ARHUD在实车上的真实显示效果;
图2为没有任何变换的标准3D网格体数据;
图3为现有技术中畸变矫正图示;
图4为本实施例中每个交点的x坐标数据图;
图5为每个交点按照顺时针排序所形成的交点的序列图;
图6为3D Plane的基础坐标映射;
图7为ARHUD畸变的最终呈现的效果;
图8为ARHUD供应商所提供的畸变数据;
图9为客户所提供的关于ARHUD手动畸变矫正的需求;
图10为本实施例中错切变换效果图;
图11为本实施例中透视变换效果图;
图12为本实施例中缓冲变换效果图;
图13为本实施例中微笑变换效果图。
具体实施方式
下面结合附图和具体实施方式,进一步阐明本发明,应理解下述具体实施方式仅用于说明本发明而不用于限制本发明的范围。
实施例:如图1所示,本发明实施例提供了一种应用于ARHUD的新型图形畸变矫正方案,克服了现有技术中存在的产品成本高的问题。根据客户所提供的Warping数据以及所需支持的图形畸变算法,通过构建3D网格体的方法,实时更改3D网格体的顶点数据,从而实现畸变矫正功能。此方案使用GPU来实现畸变矫正算法,并不需要像之前的算法那样,添加专用芯片来实现图像的畸变校正功能。当前的方案,与之前的方案相比,降低了产品的成本,增加了产品的稳定性。
该发明采用动态构建3D网格体的方式实现已于ARHUD的图形畸变矫正功能,下文中我会重点阐述3D网格体的构建,如何通过客户所提供的数据动态改变3D网格体的顶点数据以及如何采集应用端所绘制的图形,并将其输出至最终的显示屏进行显示。
下文将对如何实现上述功能进行详细阐述。
首先第一步是根据实车标定数据将整个图像分为若干个网格,类似于棋盘格。将棋盘格中交点的坐标予以保存,并将其根据顺时针的顺序进行排序。
如图4所示,其中数据为每个交点的x坐标。图5中展示了每个交点按照顺时针排序所形成的交点的序列。
根据图4与图5所展示的数据,我们发现这其实就是OpenGL所需要的顶点数据以及顶点的索引数据。我们可以通过OpenGL的相应接口将图4中的数据作为网格体的顶点数据,图5中的数据作为网格体的顶点索引传入OpenGL中从而实现对于2D网格体的绘制。对于图形的畸变校正功能,只需根据图形标定后的数据对于上述网格体顶点的位置进行实时更改即可。
既然我们有了网格体数据,那我们就需要实现如何将网格数据作为画布,将图片显示在网格体上。为了解决上述问题,我们需要采用2D纹理映射进行实现。其原理十分简单,就是将图片拆成和上述网格体相同的若干等分,然后与顶点位置一一对应即可。
对于AR HUD而言,显示内容需根据外部信号所改变。那么也就是说步骤3中所提到的2D纹理贴图并不是简单的静态图片,而是需要根据外部的信号进行实时变化。
下文中我们将着重阐述如何获取所绘制的图片。
以Android作为示例,根据Graphics组件的生产者和消费者模型。
创建虚拟屏作为生产者,并将虚拟屏作为Client的绘制窗口。
创建消费者,此时消费者通过上述模型就可以获取Off-ScreenBuffer的数据。
将获取的Off-ScreenBuffer数据经过Warping算法处理,得到最终的渲染数据。
创建本地显示窗口,渲染数据渲染至该窗口,通过显示框架最终显示出来。上文中阐述了如何获取输入数据,如何生成3D网格体,如何将输入数据和3D网格体进行关联,从而实现图形畸变矫正功能。下文重点阐述根据上文中所提到的方法,如何根据客户的需求手动更改3D网格体的顶点数据,从而实现手动图形校正的功能。
如图2所示,此为一个没有任何变换的标准3D网格体数据。对于图10中所述的图形变换,下文中会对其实现的数学模型进行一一阐述。
Trapezium:此数学模型为标准的摄像机投影模型,其变换矩阵为下式所示:
其中x,y,z为输入的坐标,x′,y′,z′,w′为最终的输出坐标,θ为透视变换的观察角度,znear为近裁剪面,Zfar为近裁剪面,aspect为投影平面宽高比。
注:上述为齐次坐标系,转换为笛卡尔坐标系时,我们需要做如下操作:
x″=x′/w′
y″=y′/w′
其中x′,y′为笛卡尔坐标系中的屏幕坐标,x″,y″为最终的屏幕坐标,ShearX为横切幅度。Shear:其水平方向的变换矩阵如下所示:
其中x,y为当前的屏幕坐标,x′,y′为变换后的屏幕坐标,ShearX为横切幅度。
其竖直方向的变换矩阵为:
其中x,y为当前的屏幕坐标,x′,y′为变换后的屏幕坐标,ShearY为纵切幅度。
Cushion:此种变换类似于鱼眼摄像头的畸变的效果。以水平方向为例,其变换公式如下所示:
y′=y*(x2+y2)*factor
其中x,y为当前的屏幕坐标,y′为变换后的屏幕坐标,factor为其弯曲的幅度。
Smile:从图10中具体的变换效果,以水平方向为例,我们不难发现,其y方向的变化与值存在某种二次函数关系。根据客户所提供的数据,我们可以得到其变换公式如下所示。
y′=y′+factor*x2
其中x为当前的屏幕坐标,y′为变换后的屏幕坐标,factor为其弯曲的幅度。
具体的实现效果如图10、11、12、13所示。从中我们不难发现其实现的具体效果与客户所期望的效果完全一致。
需要说明的是,以上内容仅仅说明了本发明的技术思想,不能以此限定本发明的保护范围,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰均落入本发明权利要求书的保护范围之内。
Claims (8)
1.一种应用于ARHUD的新型畸变校正方法,其特征在于,方法包括
将渲染的图片存至OffScreenBuffer中,作为图片送入图形畸变校正模块中;
图形畸变校正模块通过OpenGL,将传入的图片数据作为纹理图案Texture,将其渲染至3D网格体中从而实现界面的显示。
2.根据权利要求1所述的一种应用于ARHUD的新型畸变校正方法,其特征在于,方法包括客户端将标定完成后的畸变校正数据通过配置文件的方式导入至软件系统中,并配置好网格体的个数。
3.根据权利要求1所述的一种应用于ARHUD的新型畸变校正方法,其特征在于,方法包括根据客户所配置网格体个数动态的生成网格体的顶点索引,并将其传至OpenGL中,OpenGL根据传入的网格体顶点索引,对相应的网格体进行绘制,从而得到最终的网格体的显示效果。
4.根据权利要求3所述一种应用于ARHUD的新型畸变校正方法,其特征在于,方法包括根据客户所提供的Warping的数据,对网格体的顶点数据进行修复更改。
5.根据权利要求5所述的一种应用于ARHUD的新型畸变校正方法,其特征在于,方法还包括根据按键的输入以及当前客户所选择的畸变校正模式,通过校正算法对网格体数据进行校正。
6.根据权利要求1所述的一种应用于ARHUD的新型畸变校正方法,其特征在于,方法包括采用OpenGL通过GPU构建3D网格体,并设置纹理与顶点的映射关系。
7.根据权利要求4所述的一种应用于ARHUD的新型畸变校正方法,其特征在于,用户所提供的Warping数据与3D网格体的顶点数据进行数据映射步骤包括:根据坐标归一化的理论,以屏幕中心为原点,将屏幕划分为(-1,1)的单位矩形,将归一化后的数据直接作为3D网格体的顶点坐标。
8.根据权利要求5所述的一种应用于ARHUD的新型畸变校正方法,其特征在于,根据客户所提供的Warping算法实现手动Tuning的功能步骤包括:将客户所提供的畸变后的顶点数据替换原有的顶点数据,此数据在ARHUD标定完成后只做一次,不需要在软件运行过程中动态更改。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311701708.5A CN117891073A (zh) | 2023-12-12 | 2023-12-12 | 一种应用于arhud的新型畸变校正方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311701708.5A CN117891073A (zh) | 2023-12-12 | 2023-12-12 | 一种应用于arhud的新型畸变校正方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117891073A true CN117891073A (zh) | 2024-04-16 |
Family
ID=90645695
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311701708.5A Pending CN117891073A (zh) | 2023-12-12 | 2023-12-12 | 一种应用于arhud的新型畸变校正方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117891073A (zh) |
-
2023
- 2023-12-12 CN CN202311701708.5A patent/CN117891073A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6650327B1 (en) | Display system having floating point rasterization and floating point framebuffering | |
US4975976A (en) | Image transformation method and device | |
Theoharis et al. | Graphics and visualization: principles & algorithms | |
US20080024510A1 (en) | Texture engine, graphics processing unit and video processing method thereof | |
JP2006244426A (ja) | テクスチャ処理装置、描画処理装置、およびテクスチャ処理方法 | |
CN101149841A (zh) | 三维应用程序中的凸面镜效果的模拟方法 | |
CN114092575B (zh) | 数字地球实时着色方法和装置 | |
CN116363290A (zh) | 一种用于大规模场景三维重建的纹理贴图生成方法 | |
CN117274527B (zh) | 一种发电机设备三维可视化模型数据集构建方法 | |
US6982719B2 (en) | Switching sample buffer context in response to sample requests for real-time sample filtering and video generation | |
JP3035571B2 (ja) | 画像処理装置 | |
US6850244B2 (en) | Apparatus and method for gradient mapping in a graphics processing system | |
CN117891073A (zh) | 一种应用于arhud的新型畸变校正方法 | |
US11869123B2 (en) | Anti-aliasing two-dimensional vector graphics using a compressed vertex buffer | |
US7372461B2 (en) | Image processing apparatus and method of same | |
JP4060375B2 (ja) | スポットライト特性形成方法及びこれを用いた画像処理装置 | |
US6188409B1 (en) | 3D graphics device | |
Timokhin et al. | Reliable GPU-based methods and algorithms of implementation dynamic relief shadows in virtual environment systems | |
JP3712015B2 (ja) | 画像作成装置および方法 | |
CN117152334B (zh) | 一种基于电波、气象云图大数据实现的三维仿真模拟方法 | |
JP2952585B1 (ja) | 画像生成方法 | |
JP2000030081A (ja) | 凹凸ポリゴンの描画方法および三次元描画装置 | |
JP2000322596A (ja) | 画像生成装置及び記録媒体 | |
CLINE | COMPUTER GRAPHICS HARDWARE | |
JPH0573259A (ja) | 画像シエーデイング方法及び画像処理装置 |
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 |