基于深度双边格的实时图像增强算法的研究与实现毕业论文
2020-07-01 20:51:34
摘 要
性能是移动图像处理算法的重要因素和指标。如今手机或者其他移动设备生成的图像和视频的分辨率越来越高,这给图像处理算法带来了巨大的处理压力,仅专业程序员通过代码优化才勉强解决大分辨率图像处理的效率问题。尽管计算机系统的设计试图高效的运行复杂图像处理算法,但它们需要编程人员的专业知识,其运行时成本仍然随着流水线复杂性的增长而增长。此外,因为图像增强的质量评价具有一定的主观性,在图像增强调整过程中学习颜色改变规律模型。
毕业设计讨论了增强图像的方法。引入了双边网格处理和局部仿射变换相结合的新型神经网络架构。利用输入/输出图像对,训练卷积神经网络来预测双边网格节点的局部仿射模型的系数。在运行时,神经网络模型需要输入低分辨率图像,在双边空间中计算出一组仿射变换,然后把这些经过线性插值返回至全分辨率图像。
所讨论的算法可以生成质量与高质量的图像增强效果图片,而且可以在嵌入式设备上实时运行。所讨论算法传递Google Pixel手机上的全屏分辨率1920ⅹ1080图像仅需要14毫秒,从而实现50帧/秒的实时取景器效果。
关键词:深度学习 双边格 实时图像增强
Research and implementation of deep bilateral learning for real-time image enhancement
Abstract
Performance is an important factor and indicator for image processing algorithms for mobile devices. Nowadays, the resolution of images and video generated by mobile phones or other mobile devices is getting higher and higher, which brings huge processing pressure to image processing algorithms. Only professional programmers can barely solve the problem of high-resolution image processing efficiency through code optimization. Although computer systems are designed to efficiently run complex image processing algorithms, they require the expertise of programmers, and their runtime costs continue to grow with the complexity of the pipeline. In addition, because the quality evaluation of image enhancement has a certain degree of subjectivity, a color change law model is learned during image enhancement adjustment.
Graduation design discusses ways to enhance image. A new neural network architecture combining bilateral grid processing and local affine transformation was introduced. Using input/output image pairs, a convolutional neural network is trained to predict the coefficients of the local affine model of bilateral mesh nodes. At runtime, the neural network model needs to input low-resolution images, compute a set of affine transformations in bilateral space, and then return these to a full-resolution image after linear interpolation.
The discussed algorithm can generate quality and high quality image enhancement effect pictures, and it can run on embedded devices in real time. The algorithm in question delivers a full-screen resolution of 1920x1080 on a Google Pixel phone in only 14 milliseconds, achieving a real-time viewfinder effect of 50 frames per second.
Keywords: deep learning; bilateral grid; real-time image enhancement
目 录
摘 要 1
Abstract 2
第一章 绪论 1
1.1基于深度双边格的实时图像增强算法的研究背景 1
基于GAN的方法1.2基于深度双边格的实时图像增强算法的研究意义 3
1.3目前的相关研究工作 4
1.4双边格的发展方向概况 5
1.5基于深度双边格的实时图像增强算法的相关研究 7
1.6本毕业设计论文的结构 8
第二章 相关基础知识 9
2.1机器学习开源软件库TensorFlow 9
2.2 TensorFlow在Ubuntu系统中环境的搭建 9
第三章 需求分析 16
3.1低分辨率预测双边系数 17
3.1.1 低级特征 17
3.1.2 局部特征路径 18
3.1.3 全局特征路径 18
3.1.4 融合和线性预测 19
3.2图像特征作为双边网格 19
3.3使用可训练的切片图层进行上采样 20
3.4全分辨率图像插值生成 22
3.4.1 导向图辅助网络 22
3.4.2 组合产生最后结果 24
3.5训练 25
第四章 系统详细设计 26
4.1 Tensoflow核心函数设计 26
4.2 各个功能模块的代码设计 31
4.3 代码运行顺序 34
第五章 结果和性能评估 36
5.1图像操作处理 36
5.2性能 38
5.3讨论和局限 40
参考文献 I
致谢 I
第一章 绪论
1.1基于深度双边格的实时图像增强算法的研究背景
分辨率高的现代相机和移动设备生成的图像和视频,给图像处理算法带来了巨大的性能压力。许多学者对此进行了研究,它们的思路可分为三类:
一、优化计算机系统设计,试图促进高性能可执行文件的实现。(1)James Hegarty等人提出一种用于图像处理的语言和编译器Darkroom。 Darkroom语言的语义允许把程序直接编译到行缓冲管道中,所有中间值都在本地行缓冲区中存储,消除了与片外DRAM不必要的通信。优化了行缓冲流水线的调度策略,以最小化整数线性程序的缓冲。最后,给定一条最优化的流水线,Darkroom综合ASIC或FPGA的硬件描述或者快速CPU代码。最后评估一系列应用的Darkroom实现,包括摄像机流水线,低级特征检测算法和去模糊。对于许多应用,在250毫瓦(在45纳米铸造工艺中仿真)的0.5毫米ASIC硅片上可达到了千兆像素/秒性能。(2)Halide图像处理语言是一种图像处理算法并行运行的语言系统。Halide程序员只需要提供将图像处理管道映射到并行机器的高级策略,Halide编译器生成与时钟周期依赖的特定代码。但是,为复杂的图像处理流水线设计高性能调度需要大量现代硬件体系结构和代码优化技术方面的知识。为此Ravi Teja Mullapudi等人提供了一种用于自动生成Halide程序的高性能算法。解决方案是扩展了Halide编译器中已有的函数边界分析,以自动执行局部增强和并行性增强的全局程序转换。该算法不需要复杂的自动调整,并且可以在几秒钟内为大量图像处理基准生成Halide语言编写的程序代码,通常优于由专业Halide开发人员在服务器和移动CPU以及GPU上手动创作的时间表。(3)Jonathan Ragan-Kelley等人认为使用现有编程工具编写高性能图像处理代码需要牺牲可读性,可移植性和模块特征。它们认为这是将计算定义为算法,与关于存储和计算顺序的决策混为一谈的结果。它们将后两个问题称为时间表,包括平铺,融合,重新计算与存储,矢量化和并行性的选择。并且提出了一种前馈成像流水线的表示方法,将算法从其时间表中分离出来,在不牺牲代码清晰度的情况下实现高性能。这种解耦简化了算法规范:图像和中间缓冲区变成无限整数域的函数,没有明确的存储或边界条件。渲染管道是功能的组成部分。程序员分别指定组成算法的各种函数的调度策略,这使得它们能够在不更改算法代码的情况下有效地探索不同的优化。编译器针对SIMD单元,多个内核和复杂的内存层次结构。证明了可以处理相机原始管道,双边网格,快速局部拉普拉斯滤波和图像分割等算法。
二、通过使用远程服务器来加速“黑盒”图像处理操作,通过使用低分辨率输出逼近高分辨率的等效图像。(1)图像云处理通常被认为是解决移动设备有限的计算能力和电池寿命问题的解决方案:它允许复杂的算法在强大的服务器上运行,而且几乎可以提供无限的能量供应。但是,这忽略了上传输入和下载输出图像的时间和能量成本。当考虑到传输开销时,在远程服务器上处理图像变得不那么有吸引力,许多应用程序不能从云处理中受益。为此,Michael Gharbi等人提出的目标是在保留图像整体内容的图像增强功能下进行更改。核心思想是,在这种情况下,服务器可以计算并传输从输入到输出的编码转换。在相同的质量下,编解码库比JPEG图像更紧凑:这减少了客户端的下载。此外,编解码库可以从高度压缩的输入计算,这显著减少了上传到服务器的数据。客户通过将编解码库应用到其本地高质量输入来重建输出的高保真图像。通过剖析本地和云计算的能耗和延迟,证明了手机编解码库的实用性:基于变换编解码库的流水线运行速度快2-4倍,能耗比本地或朴素云计算少2-7倍。(2)Jiawen Chen提出了一种算法来加速大量的图像处理操作。给定低分辨率参考输入和输出对,通过拟合将输入映射到输出的局部曲线来对运算符进行建模。然后可以通过在全分辨率输入上评估这些低分辨率曲线来生成全分辨率输出。通过将输入嵌入至双边网格,然后求解3D阵列的仿射矩阵,该阵列将输入颜色最佳地映射到每个x,y位置的输出颜色。运行该算法的成本降低到以极低的分辨率运行原始算法的成本。
相关图片展示: