system: [SYSTEM]

user: 2. 系统设计 本文提出的系统以Xilinx公司推出的ZYNQ-7000系列ZYBO开发板为核心，选取FLIR Lepton LWIR 摄像头来采集远红外图像，使用Raspberry Pi 3作为传输接口将FLIR Lepton LWIR采集的图像通过LAN传输到ZYBO中。系统总体设计如图1所示。 为方便阐述，本文将系统分为三个功能模块：图像采集模块、图像传输模块以及图像处理模块。下文将详细阐述每个模块的设计。 2.1. 图像采集模块 图像采集模块由FLIR Lepton LWIR与Raspberry Pi 3组成。FLIR Lepton LWIR作为一款低成本远红外摄像头，在实际应用领域有很大的潜力。该摄像头的主要参数如表1所示。 FLIR Lepton LWIR传感器的结构图如图2所示。 FLIR Lepton LWIR相机的镜头将红外线聚焦到80 × 60的热探测器阵列上，每个探测器单元是一个氧化钒微测热辐射计，其温度的变化受入射光通量的影响。每个微测热辐射计的电阻变化量与温度的变 Table 1 FLIR Lepton LWIR main parameter Overview Figure Scene Dynamic Range 0˚C~120˚C Spectral range Longwave infrared， 8 μm to 14 μm Array format 80 × 60， progressive scan Pixel size 17 μm Thermal sensitivity <50 mK (0.050˚C) Video data interface Video over SPI Input supply voltage (nominal) 2.8 V， 1.2 V， 2.5 V to 3.1 V IO 表1. FLIR Lepton LWIR主要参数 图1. 远红外图像处理系统设计示意图 图2. FLIR Lepton LWIR传感器结构图 化成一定的比例。氧化钒提供高温度系数的电阻和低噪声，所以其有极好的热灵敏性、稳定的均匀性。微辐射热计阵列覆盖在读出集成电路(ROIC)上，这构成完整的焦平面阵列(FPA)。在每一帧中，ROIC通过施加一个偏置电压，并将产生的电流集成到一个称为集成周期的有限时间内，来感知每个探测器的电阻。FPA的串行流由一个芯片(SoC)设备接收，该系统提供信号处理和输出格式。 FLIR Lepton LWIR提供VoSPI协议数据接口，我们通过SPI端口将其与Raspberry Pi 3相连。连接方式如图3所示。 FLIR Lepton LWIR使用SPI模式3 (CPOL = 1，CPHA = 1)，空闲时SCK为高电平。数据由FLIR Lepton LWIR在SCK的下降沿建立，并由主控制器在上升沿采样。数据首先以高位顺序传送最高有效字节。时 图3. FLIR Lepton LWIR与Raspberry Pi 3连接示意图 钟频率的最大值为20MHz， 始终频率的最小值是所要接受的每一帧数据位数的函数。每一帧数据的位数由使用者自己设定(video format mode， telemetry mode)。默认模式下(Raw14 mode， telemetry disabled)，每一帧有60个视频包，每个宽为1312，每秒将近25.9帧。因此时钟频率的最小值为2 MHz。 2.2. 图像传输模块 Raspberry Pi 3与ZYBO开发板之间的通信使用的是TCP套接字，通过LAN实现红外图像的稳定传输。 套接字是在网络上运行的两个程序之间双向通信链路的一个端点。本文中使用流式套接字，其使用的是TCP协议。TCP套接字能提供面向链接、可靠的数据传输服务，其能保证数据能够实现无差错、无重复发送，并按顺序接收。一个套接字被绑定到一个端口号，这样TCP层就可以识别要发送数据的应用程序。端点是IP地址和端口号的组合。每个TCP连接都可以由它的两个端点唯一标识。这样就可以在主机和服务器之间建立多个连接。本文中的网络通信采用的是客户机/服务器机制。在服务器端，服务器创建一个套接字，并将该套接字与本地地址/端口绑定，绑定成功后就等待、监听来自客户端的套接字的连接请求。当服务器捕捉到一个连接服务请求时，接受并生成一个新的套接字，并通过这个新的套接字与客户端通信。在客户端，客户端同样需要创建一个套接字，将套接字同本地地址/端口绑定，并指定服务器端的地址和端口号，之后向服务器发出连接请求。当请求被服务器接受后，同过套接字与服务器端通信 [ 4 ] 。 系统上电后，Raspberry Pi 3作为服务器，等待客户端的ZYBO的请求。当建立稳定的连接后，Raspberry Pi 3同过编写好的软件初始化FLIR Lepton LWIR，接收SPI的红外图像数据并将之传输给ZYBO。ZYBO的ARM部分运行Linux系统并运行客户端软件，在接收Raspberry Pi 3传输的图像数据后，将其从ARM部分传输到FPGA部分进行图像处理。 Raspberry Pi 3在系统中作为“SPI转LAN”的适配器，在网络传输时作为服务器发送采集的红外图像数据。上电后其运行的服务器软件的主要流程为： 1) 打开SPI端口、打开并绑定套接字，让客户端能连接服务器。 2) 在初始化套接字后，等待客户端的请求并连接客户端。 3) 建立与客户端的连接后，接收SPI传输的红外图像数据。 4) 将采集的图像数据分割为4份缓冲区，每份1200字节。每次传输15行的图像数据，为防止冻结或错误，我们检查是否所有的数据包都被发送，否则将关闭软件，结束传输，等待重新传输。 2.3. 图像处理模块 ZYBO开发板作为项目的核心，其ARM部分安装Xilinx系统用于接收Raspberry Pi 3传输的热红外图像，将其传输到FPGA部分并将处理后的图像数据显示。ZYBO开发板上ARM和FPGA的数据传输通路则由Xillybus提供的IP核实现，该IP核为FIFO的传输结构。只需编写图像处理的IP核，并将其与Xillybus的IP核连接即可。图像处理的IP核则通过Xilinx公司的Vivado、Vivado HLS软件进行编写，具体流程如下：首先使用Vivado HLS软件，根据设计的算法，编写超分辨率重建的IP核并进行测试；之后，将设计的IP核导入Vivado， 与Xillybus提供的IP核进行连接，生成配置ZYBO开发板的FPGA部分的.bit文件，将所需系统文件导入SD卡启动ZYBO；然后，编写软件，接收Raspberry Pi 3通过LAN传输的图像数据；最后，将接收的图像数据通过Xillybus提供的IP，从ARM端传输到FPGA的图像处理的IP上，将处理完的图像数据显示(图4)。 由前文可知，通过FLIR Lepton LWIR获取的图像分辨率仅有80 × 60，此分辨率距离实际应用还存在一定的差距。然而近些年随着图像超分辨率重建研究的发展，该方法也逐渐应用于远红外图像以提升图像分辨率。本文选择以压缩感知理论(Compressed Sensing)为基础的字典学习方法来实现图像超分辨率重建。 1) 超分辨率模型 低分辨率图像由高分辨率图像经过相对运动、光学模糊、下采样或添加噪声等处理得到。在实际应用中主要表现为数字图像采集过程中的图像分辨率下降，一般视觉上体现为图像模糊、噪声与变形 [ 5 ] 。 图4. ZYBO内部逻辑图 设第N帧低分辨率图像序列为 { V k | k = 1 ， 2 ， 3 ， ⋯ ， N } (1) 每帧中的图像大小为 L = I h × I v (2) 利用超分辨率图像重建，拟获得大小为 H = r h I h × r v I v (3) 的高分辨率图像I。式中， r h 、 r v 分别表示水平和竖直方向的分辨率提高系数，则超分辨率的通用退化数学模型 [ 6 ] 表示为： V k = D k B k H k I + η k ，     k = 1 ， 2 ， 3 ， ⋯ ， N (4) 式中， V k ∈ R L 表示第k帧低分辨率图像； I k ∈ R H 表示原高分辨率图像； H k 表示 V k 相对于I的运动变形矩阵； B k 表示光学模糊矩阵； D k 表示下采样矩阵； η k 表示系统引入的加性且均值为零的高斯白噪声。 2) 压缩感知理论 在获取数字图像过程中，我们首先需要对现实世界中的模拟信号进行采样，将连续信号离散化。传统采样流程基于奈奎斯特采样定理(Nyquist Sampling Theory)，即当采样频率 f sample 大于信号中最高频率 f max 的2倍时( f sample > 2 f max )，采样之后的数字信号完整地保留了原始信号中的信息。而由Candes、Tao [ 7 ] 和Donoho [ 8 ] 等人提出的压缩感知是一种不同于传统奈奎斯特采样定理的新型采样方法，能够在采样的过程中同时实现数据的压缩 [ 9 ] (图5，图6)。 假设 φ i 是 R N 空间中的一组基向量，由 φ i 组成的基矩阵为 Ψ = [ φ 1 ， φ 2 ， ⋯ ， φ N ] (5) 则 R N 空间中的任意信号x都可以由基向量 φ i 或基矩阵Ψ表示为： x = ∑ i = 1 N α i φ i 或 x = Ψ α (6) 其中，x和a是同一信号在时域和Ψ域的不同表达。若a的非零元比N小很多，或元素经排列后呈指数衰减，则称x是稀疏或可压缩的。 压缩感知理论指出，对于稀疏信号或者可压缩信号，可以用一个与稀疏基不相关的测量矩阵得到信号的低维投影，然后使用适当的重建算法，就可以由少量的测量值近乎完美地恢复原始信号。 图5. 传统采样流程图 图6. 压缩感知采样流程图 3) 图像超分辨重建 单帧图像超分辨率重建要求：对于给定的低分辨率原图像Y，重建出一张同场景的高分辨率图像X。其最根本的限制就是重建出来的图像X应与原图像Y保持一致。由此，我们可以近似将超分辨率重建过程用以下过程描述： Y = B D X (7) 其中，B表示模糊滤波，D表示下采样运算符。而通过单帧图像Y得到高分辨率图像X则等同于求(7)式的逆过程。问题在于，满足于本式的X的解有无穷多个，这显然不符合重建要求。本文中，我们选择通过对区域进行预先稀疏处理来解决这个问题。 原图像Χ中的区域χ可以表示为一个高分辨率区域字典 D h 中的稀疏线性组合，这里的 D h 由高分辨率训练图像提取得到。上述过程可表示为： χ ≈ D h α ， α ∈ ℝ K 且 ‖ α ‖ 0 ≪ K (8) 式中，a表示高分辨率字典 D h 中的稀疏线性组合； ℝ K 表示有K个原型信号原子的冗余字典； ‖ α ‖ 0 ≪ K 表示a中仅存在非常少的非零数据，即a是稀疏的。 4) 重建流程 为了凸显超分辨率重建过程中预处理的必要性，我们将这个过程设计为两步。首先，对原图像X进行预先稀疏处理，找到每个区域的稀疏表示，由此可得出邻近区域的相关性；之后，利用超分辨率重建要求中的(7)式对第一步得到的结果进行改良。在这个过程中，我们利用本地模型对重建后可能丢失的高频部分进行补全，再利用全局模型对整个过程可能造成的伪影进行校正 [ 10 ] 。