嵌入式图像处理平台设计及实现
【摘要】:自上世纪50年代以来,随着计算机的快速发展,数字图像处理的相关应用也很快在计算机上实现,目前随着半导体行业的不断发展,计算机的处理性能也在不断地提升,在这期间出现了大量的基于计算机平台的图像处理相关算法。早期德州仪器TI生产的DSP数字信号处理器是专门针对数字信号设计的一种处理器类型,例如TI公司达芬奇系列的多核多媒体处理器TMS320DM6467T,该芯片使用采用了ARM核心以及DSP核心集成在一个芯片上的架构,通过将图像处理中大量的矩阵运算在DSP中的乘法器等硬件资源上加速,从而大大提升了嵌入式平台在特定场景下的处理速度。随着当今半导体技术以及嵌入式平台的飞速发展,基于DSP平台的处理性能已经不能满足高分辨率以及高色彩度空间的实时图像处理需求。随着嵌入式对图像处理的性能的需求不断提升,基于多核心的专业图形图像处理器已经得到了广泛的应用,也就是Graphics Processing Unit(GPU)。本文所使用的嵌入式图像处理平台就是英伟达NVIDIA公司推出的基于GPU的图像处理平台Jetson Nano,基于此平台,本文主要完成了以下几部分内容的工作:(1)搭建基于Jetson Nano平台的基础开发环境,安装Opencv、pycuda、jupyter notebook等软件的开发环境,选择合适的电源、摄像头CCD模块以及设备网卡等外围模块。制作Jetson Nano软件镜像,安装内网映射功能以供远程操作设备等。(2)在PC计算机上实现了若干基本图像算法逻辑,验证了算法的正确性并对算法进行了基本的优化,对完成验证仿真的图像算法进行嵌入式平台移植工作,让算法运行在Jetson Nano的ARM核心上。(3)对运行在Ubuntu Linux系统上的算法进行下一步的移植工作,对部分能够实现GPU加速运算的算法进行GPU设备的移植,最大化算法的实时性能,并与ARM核心端的运行效率进行对比,同时还进行了多种编程语言(python、C++)的对比,测试不同编程语言在时间效率上的差异等工作。(4)在完成基本算法的GPU加速运算之后,对目标跟踪算法中涉及的基本的算法模块进行封装以及联调,实现目标跟踪算法的逻辑功能,并进一步在算法底层优化相关算法设计部分,提高算法的实时性。