基于S3C6410的3D图像构建系统研究

2016-03-22 14:17吴迪
电脑知识与技术 2016年1期
关键词:加速器嵌入式处理器

吴迪

摘要:本文提出了一种基于单摄像头的3D图像构建系统的解决方案。系统硬件以ARM11处理器S3C6410为数据处理核心,并配备CMOS图像采集单元和红外传感单元;以嵌入式Linux操作系统作为系统软/硬件管理调度和协调控制中心,并采用ARM11处理器自带的3D硬件加速器和OpenGL ES软件图形开发库相结合的方式实现3D加速,构建了3D快速建模系统。

关键词:嵌入式系统 ARM-Linux 3D构建技术

中图分类号:TP368 文献标识码:A 文章编号:1009-3044(2016)01-0208-02

Research on 3D Image Constructing System Based on S3C6410

WU Di

Abstract: In this paper, we propose a solution of 3D image constructing system based on single camera. We use ARM11 processor S3C6410 as the core of data processing which equipped with CMOS image capture unit and infrared sensor unit. In addition, we use Linux operation system as the core of management and coordination control platform for this system. By a combination of using 3D hardware accelerator in ARM11 processor and the graphics development library of OpenGL ES software it realizes 3D acceleration and constructs a rapid 3D modeling system.

Key words: Embedded System; ARM-Linux; 3D Constructing Technology

1 研究背景及意义

3D技术正悄悄改变着人们的生产、生活和娱乐方式,3D打印、3D游戏、3D全息投影、3D电影等多维技术正在走进我们的生活;在工业领域,3D技术已经嵌入到了工业设计、虚拟现实、电影电视、行为识别、航空检测领域等方面[1]。在过去由于技术的限制人们无法通过3D的方式记录当下复杂世界中万物的变化,而如今随着科学技术的飞速发展,人们迫切需要记录和重现现实世界的真实感观,3D图像构建技术正掀起一场汹涌浪潮。

因此,如何通过二维影像采集设备快速而准确地通过计算处理得到物体的有效三维数据信息,并通过3D技术重建物体得到3D实物已成为当下国内外最热门的研究项目。

2 研究现状与思路

国内外对于3D图像重构技术的研究已成为时下的热点问题。麻省理工学院媒体实验室Hiroshi Ishii教授设计了一个3D实时重建表面。它可以精细地复制一双运动着的手,而且3D的假手中还拖着一个小球,看上去和小球在真手上运动一样。此外,它还可以以远程的方式来复制模型、地图、物件等;微软研究院日前在官网上公布,他们正在研究一项在便携设备上使用3D图像重构技术的项目,基于3D扫描技术的便携设备支持用户利用设备上的RGB摄像捕捉,将物理实体转换成高质量3D模型,另外它还支持3D打印;深圳街景也采用3D重构技术,使用激光点云扫描结合360。实景影像的方式,对街道两旁的建筑等实景进行数据采集,再进行可视化的场景还原建模,即得到3D数据。

3D目标重构是摄像机成像的逆过程,主要有两种实现方法,包括主动方法和被动方法。主动方法是利用激光扫描仪对场景内目标进行扫描,以得到3D目标表面信息。被动方法的实现过程如下:首先,对多视环境进行拍摄,得到多视图像;然后,对多视图像进行特征提取,根据特征点间的相应关系进行匹配,得到特征点在3D空间的相应坐标;最后,对3D点进行连接,得到表示目标表面的网格。这种被动方法的重构过程能够自动完成,通过多视图像直接恢复目标表面颜色、形状和运动参数等信息,对硬件的限制较小,是3D目标重构的主要方法,其应用范围颇为广泛。除上述两种方法外,另外还有3种目标和场景建模方法,如下:

1)基于图像的绘制

该方法依赖准确的相机位置或者自动立体匹配直接从输入影像中创建3D环境中的视觉。其缺点是缺乏几何数据、需要大量的近距离空间影像、建模结果易受环境影响。

2)基于图像的建模

该方法利用场景图像来建立场景的几何模型,包括几何物体的空间形状、物体表面的材质属性以及反射模型、光源和物体相互作用产生的光照和阴影等。按照计算机图形学的渲染流程将模型送入渲染流水线,重新渲染出目标物体。其优点是数据量小,而且对于简单的场景可实现快速模型重建;缺点是难以对整个场景进行3D建模。

3)基于距离的建模

该方法直接获取目标的3D几何信息,能够直接得到光线或者图像投影。

该系统的研究思路是采用图像和距离相结合的方式构建3D快速建模系统,该方式符合复杂大型目标3D重建的工程需求[2]。

3 系统硬件架构

该系统选择具有ARM1176JZF-S内核的处理器S3C6410作为嵌入式硬件核心,它是具有32位RISC内核的低成本、低功耗、高性能的微处理器[3]。S3C6410内部采用哈佛结构、8级流水,并具有64/32-bit内部总线,其内部集成了多个功能强大的硬件加速器,如:3D图形加速器,能够实现移动图像处理、显示控制与图像缩放[4]。因此,在处理器的选型上该系统选择了具有3D引擎的ARM11处理器S3C6410作为硬件核心,基于ARM+Linux的硬/软件架构实现对系统大规模复杂应用程序的集成调度和协调控制。

该系统硬件设计由ARM11核心板和底板两方面构成。核心板的NAND Flash数据存储器采用三星公司的256MB的K9F2G08芯片,SDRAM电路采用两片512MB的K4X51163PE芯片实现。底板电路是基于外围功能单元的接口电路,包括电源、串口、红外发射电路、底板与核心板的接口电路以及LCD显示单元和CMOS图像传感单元。系统硬件设计方案图1所示。

图1 系统硬件架构

4 系统设计方案

该系统采用ARM11架构和CMOS摄像头,基于图像变换的思想设计实现3D图像构建系统[5]。ARM处理器控制红外发射器以一定的频率向外辐射红外线,同时控制CMOS摄像头接收从物体反射回来的信号。ARM处理器比对基准信号与接收信号并进行运算,得出在每个像素点上CMOS摄像头与被测物体之间的距离信息,并构成3D立体空间信息[6]。系统工作流程如图2所示:

图2 系统工作流程

由于仅采用软件方式实现3D图形加速不能够满足系统对图像处理的实时性要求,因此采用软/硬件相结合的方法加速图像处理,通过硬件图形加速器件实现由嵌入式软件实现的功能。在该方案中加入了硬件图形加速,选择S3C6410芯片内集成的多媒体3D加速器[7]。它可以应用GPU(Graphics Processing Unit,图形处理单元)来帮助处理器完成3D图形的显示工作。

软件方面采用软件优化的方式改善嵌入式系统中图形图像的处理性能,这里采用特定风格编写C代码并采用效率更高的汇编程序对图形图像的显示任务C程序进行重写。结合3D图形硬件加速,在软件部分添加了3D图形函数库OpenGL ES(OpenGL for Embedded Systems)图形函数库,它是OpenGL 3D API的子集,是针对嵌入式的3D图形标准,并支持硬件加速[8,9]。图形加速方案的实现原理为:OpenGL ES图形库为上层应用程序提供API,实现图形的简单处理,向下通过帧缓存驱动程序访问帧缓冲设备,配置图形加速的时序和模式寄存器,并调用加速驱动程序启动图像处理器的加速功能实现图形加速[10]。

EGL是OpenGL ES和底层Native平台视窗系统之间的接口,首先要创建EGL实例,然后配置OpenGL的运行环境,最后获取当前OpenGL ES画布并显示绘制结果。OpenGL ES创建流程如图3所示:

图3 OpenGL ES创建流程

5 结语

本文结合嵌入式处理器S3C6410支持3D硬件加速的自身特点,提出了一种3D图像构建系统的解决方案。该系统采用嵌入式处理器S3C6410+CMOS摄像头+红外发射单元的硬件架构,基于S3C6410片内3D硬件图形加速器与OpenGL ES 3D图形函数库,以软/硬件相结合的方式加速图像处理,采用图像和距离相结合的思想并基于图像变换方法实现3D图像构建。

参考文献:

[1] 覃琴,周丽霞.基于ARM和FPGA的3D打印机控制系统设计[J].伺服控制,2015(2):49-50.

[2] 张旭光.基于OpenGL的3D建模与编程[J].今日科苑,2008(14).

[3] 华清远见嵌入式培训中心.嵌入式 Linux 应用程序开发标准教程[M].北京:人民邮电出版社,2009.

[4] Mark Mitchell, Jeffrey Oldham, Alex Samuel. Advanced Linux Programming[M].America: New Riders Publishing, 2001.

[5] 颜无瑕, 刘传才. 三次透视投影变换图像拼接[J].光学精密工程,2015,23(9):2724-2731.

(下转第214页)

(上接第209页)

[6] 代寿刚. 基于ARM+FPGA的单摄像头3D重构系统设计[D].长春:吉林大学,2013.

[7] Ashley Stevens. 3D手机游戏图像加速器[J].中国集成电路,2003(8).

[8] 杨键,陈利学,龚捷.基于OpenGL的三维图形绘制和3D建模[J].软件导刊,2009(7).

[9] 吴斌.OpenGL编程实例与技巧[M]. 北京: 人民邮电出版社,1999.

[10] Richard S Wright, Jr Benjamin Lipchak. OpenGL超级宝典[M].3版.徐波,译. 北京:人民邮电出版社,2005.

猜你喜欢
加速器嵌入式处理器
莫比斯加速器众创办公空间
知识快餐店 科学加速器
全民小康路上的“加速器”
搭建基于Qt的嵌入式开发平台
嵌入式软PLC在电镀生产流程控制系统中的应用
Imagination的ClearCallTM VoIP应用现可支持Cavium的OCTEON® Ⅲ多核处理器
ADI推出新一代SigmaDSP处理器
Altera加入嵌入式视觉联盟
倍福 CX8091嵌入式控制器
AItera推出Nios II系列软核处理器