超细电子内镜高清影像插值算法研究及其FPGA实现

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《工业控制计算机》2018年第31卷第11期
图2FPGA 实现色彩插值
的结构框图
医用电子内镜是结合了传统内镜、现代电脑和微电子等技术发展出来的医疗仪器[1]。

如今随着微创手术的发展,人们希望手术创口更小,术后恢复速度更快,所以医用电子内镜也朝着超细化的方向发展[2]。

一方面,超细电子内镜为了缩减镜头尺寸,通常使用单一的CCD /CMOS 传感器。

用彩色滤波矩阵来同时获取红、绿、蓝三原色[3],每个像素点均只采集三原色中的一种,这样一幅图像仅包含原始色彩信息的1/3,会产生较大的色彩失真;另一方面,超细电子内镜的分辨率均较低,如Covi D 等研制的微创手术电子内镜摄像模具,内镜尺寸为5.0mm×8.2mm×7.0mm ,分辨率仅达到640×480[4]。

徐忠等采用尺寸为2.4mm×2.7mm 的微型CMOS 图像传感器,设计了一种医用超细电子内镜系统,但分辨率仅有648×488[5]。

图像分辨率较低会导致拍摄的图像质量较差,影响医生的观看效果与诊断。

针对超细电子内镜存在的色彩失真和分辨率较低的问题,本文结合改进的Hamilton &Adams 色彩插值算法和双三次插值提出了一种基于FPGA 的彩色视频实时插值算法。

同时设计了相关实验,证明了算法的有效性。

1算法设计及FPGA 实现1.1色彩插值算法的设计
色彩插值算法的目的是重建Bayer 格式数据中缺失的像素的红、绿、蓝通道。

传统的Hibbard 等方法虽然易于实现、复杂度低,但是效果较差。

而且是在不同颜色通道内单独计算各自的像素值,忽略了不同通道间的相关性。

本文采用了一种改进的Hamilton &Adams 算法进行色彩重建[6]。

图1即为Bayer 格式图像。

以下描述为改进的H&A 色彩插值算法的计算流程,首先对5×5像素模板中心待插值
点B13缺失的绿色值进行重建。

1)计算5×5模板中心待插值点的水平梯度和竖直梯度:
H =G 14-G 12+2×B 13-B 11-B 15V =G 18-G 8+2×B 13-B 11-B 15
(1)
其中,H 为水平梯度,V 为竖直梯度,R 、G 、B 分别为红、绿、蓝三种像素值,G 14中的角标14表示该点在图1中5×5像素模板的位置,式(1)及后续公式中像素点表示方法相同。

2)计算待插值点对角线上的色差差异:
K H =∑
(R ,R′)∈4∗4
K H R -K H
R′K V =

(R ,R′)∈4∗4
K V
R -K V
R′
(2)
其中,K H 、K V 为水平方向与竖直方向上的色差差异,R 为待插值点对角线上相邻的4个像素点,K 为对角线上4个点中每个点的色差值。

3)计算更新后的水平梯度和竖直梯度:△H=H+K H
△V=V+K V
(3)
4)根据梯度方向判断边缘方向并进行插值:当△H <△V 时,处于水平边缘:
G 13=(G 12+G 14)/2+(2×B 13-B 11-B 15)/4
(4)当△H >△V 时,处于竖直边缘:
G 13=(G 8+G 18)/2+(2×B 13-B 3-B 23)/4
(5)当△H =△V 时,处于平坦边缘:
G 13=(G 12+G 14+G 8+G 18)/4+(4×B 13-B 3-B 23-B 11-B 15)/8
(6)
再对5×5像素模板中心待插值点B 13缺失的红色值进行重建,通过计算B 13两条对角线的梯度值选择插值方向,计算过程与步骤1)、步骤4)相同。

其他点缺失的蓝色值计算方法与该红色值计算相同。

1.2FPGA 实现
根据上节描述的改进的色彩插值算法,本文提出了一种硬件实现结构,满足实时处理的需求。

FPGA 实现结构框图如图2所示,主要包括行缓存模块、状态转移模块、绿色插值模块、红/蓝插值模块以及绿色通道缓存模块。

其中,行缓存模块的作用是生成算法所需的5×5模板。

绿色通道插值模块的作用是根据获得的
超细电子内镜高清影像插值算法研究及其FPGA 实现


吴焕迪
岑星星(上海大学通信与信息工程学院,上海200444)
High Definition Interpolation Algorithm for Ultra-thin Electronic Endoscope on FPGA
摘要:超细电子内镜在支气管、肠道等人体内部组织器官的检查诊断中有优越的作用,与传统内镜相比,具有损伤小、疼痛轻、恢复快的优势。

但超细电子内镜存在着成像色彩失真、分辨率低等问题。

结合改进的Hamilton &Adams 色彩插值算法和双三次插值提出了一种基于FPGA 的彩色视频实时插值算法。

通过人眼观察及客观评价两种方式表明,该算法能够更好地重建视频影像的色彩信息,同时实现1920×1080分辨率和60帧频的高清视频实时显示。

关键词:超细电子内镜,色彩插值,缩放插值,FPGA
Abstract 押This paper proposes a color real-time interpolation based on FPGA熏
constants of improved Hamilton &Adams
algorithm and bicubic interpolation.Experiments show that proposed algorithm can reconstruct the color information of video image better熏and achieve 1920×1080resolution and frame rate 60HD video real-time display.
Keywords 押ultra-thin electronic endoscope熏color interpolation熏scaling
interpolation熏FPGA
图1色彩插值算法示意图
105
超细电子内镜高清影像插值算法研究及其FPGA 实现
5×5模板,重建缺失的绿色像素,并将重建后的结果传输到缓存模块中。

红/蓝通道插值模块是根据重建得到的绿色像素以及原始的红、蓝像素,重建缺失的红、蓝像素。

1.3缩放插值算法的设计
缩放插值常用于图像的缩放处理,最常用的方法是最近邻、双线性以及Winscale 等[7-8],上述方法计算复杂度低易于实现,但存在边缘模糊等问题。

为了获得更好的图像质量通常采用更高阶的模型,例如双三次卷积插值。

式(8)为双三次卷积插值的一般形式,可以看到双三次卷积插值是一个二维的方法,为了降低复杂性,通常将其分解为两个一维的计算过程,如图3所示。

K C (s )=(α+2)s 3
-(α+3)s 2
+10≤s <1αs 3-5αs 2+8αs
-4α1≤s <2
otherwise
⎧⎩⏐
⎨⏐(7)
图3a 双三次卷积插值分解为两次一维插值b 竖直方向插值过程
图3中Q 为待插值点,A i ,j 为相邻的4×4个已知像素点。


先计算竖直方向,根据虚拟像素点P j 和已知像素点间的距离计算P j 的值。

再由四个虚拟像素点水平插值得到待插值点Q 。

两次计算的公式表示为:
P j =v i ×A i ,j +v i+1×A i+1,j +v i+1×A i+1,j +V i+1×A i+1,j (8)
Q=h j ∗P j +h j+1∗P j+1+h j+2∗P j+2+h j+3∗P j+3
(9)其中,v i 、h j 分别为竖直方向与水平方向的插值系数。

根据式(8)可知,每个插值系数的计算均需要14次乘法和10次加法,所以这里采用一次多项式逼近式(8)的方法,生成插值系数。

根据Chung-chi Lin 等人的研究表明[9],当α=-0.853时效果最好。

为了便于在硬件上实现,选用α=-0.84375。

据此,可以表示出竖直方向插值系数:
νi (1+s ν)=-0.375s ν
0≤s ν<1/3
-0.1875+0.1875s ν1/3≤s ν<1
{
νi+1(s ν)=
1-0.625s ν
0≤s ν<1/3
1.1875+1.1875s ν
1/3≤s ν<1
{
νi+2(1-s ν)=1.1875s ν
0≤s ν<1/3
0.375+0.625s ν1/3≤s ν<1
{νi+3(2-s ν)=
-0.1875s ν
0≤s ν<1/3
-0.375+0.375s ν1/3≤s ν<1
{
(10)
其中,s v 是A i +1,j 与虚拟待插值点P j 之间的距离,水平方向插值系数计算与竖直方向相同。

通过上述优化,将算法简化便于FPGA 设计与实现,原先复杂的系数生成部分被简化到只需要4
个乘法器和4个加法器,大大减少了硬件资源消耗。

1.4FPGA 实现
根据上节描述的缩放插值算法,本文提出一种硬件实现结构框图。

如图4所示,包括数据缓存模块、权重系数生成模块、竖直插值模块以及水平插值模块。

其中,数据缓存模块的作用是输出4×4个像素。

权重系数生成模块作用是生成插值系数,竖直、水平插值模块作用是完成插值计算。

2验证实验结果与讨论
为了评价算法性能,本文设计了两组实验,对算法处理后的图像进行评估,包括色彩插值和缩放插值后的图像质量。

算法在MATLAB 中验证,并在Alter 的Cyclone IV 为核心的FPGA 板上实现。

2.1色彩插值实验
为评价色彩插值的重建效果以及视觉效果,设计了相关实验。

主观评价主要通过人眼观察,采用ISO 分辨率测试卡作为对象,观察色彩重建后图像色彩失真情况。

图5为色彩重建后的图像,对比图5a 、b 可以看到,在黑圈标识处以及下方的刻度线等区域,改进的H&A 算法有效的减少了重建后的色彩失真。

图5
图像色彩重建结果
客观评价方法采用更符合人眼视觉特征的CIELAB 色彩空间。

计算原始图像和重建图像的欧氏距离△E ab ∗
,距离越小则代表
重建后的色彩失真越小。

表1为不同算法色彩的欧氏距离。

从表1中可以看出,改进的H&A 算法的欧氏距离大多在4以下,说明重建后图像的颜色差异更小,且更符合人眼的视觉特征。

表1不同色彩插值算法的欧氏距离
2.2缩放插值实验
为了评价图像缩放算法的性能,客观评价方法采用Wang Zhou 等提出的SSIM [10]对插值后的视频进行评价,表2为不同插值算法的评价结果。

从表中可以看出,本文采用的方法SSIM 值更高,说明插值前后图像的失真更小,视频质量更高。


且简化后的双三次卷积插值计算复杂度较低,需要的硬件资源少,能够实时将采集到的视频影像插值生成高分辨率的视频影像。

3结束语
经过系统验证,文中算法能够更好的重建色彩信息,并且能
(下转第108页
)
图4FPGA 实现缩放插值
的结构框图
表2不同缩放插值方法的视频
质量评价对比106
动力电池管理系统云服务的构架设计
(上接第106页)
够实时将前端采集到的720×576分辨率的内镜视频图像放大到1920×1080分辨率。

参考文献
[1]De P G熏Clarizia R熏Cadente C熏et pliance and diag⁃
nostic efficacy of mini-hysteroscopy versus traditional hys⁃teroscopy in infertility investigation眼J演.Eur J Obstet Gynecol Reprod Biol熏2007熏135穴1雪押83-87
[2]Chen J熏Wang L Q熏Meng Z B熏et al.Color correction for high-
definition electronic endoscope眼J演.J.Innovative Opt Health Sci熏2012熏5穴4雪押1510-1519
[3]Lukac R熏Smolka B熏Martin K熏et al.Vector filtering for color
imaging眼J演.IEEE Signal Processing Magazine熏2005熏22穴1雪押74-86 [4]Covi D熏Cavallotti C熏Vatteroni M熏et al.Miniaturized digital cam⁃
era system for disposable endoscopic applications眼J演.Sens Actuators熏A熏2009熏162穴2雪押291-296
[5]徐忠,刘洪英,皮喜田,等.医用超细内镜系统研究[J].中国生物医学
工程学报,2014,33(1):107-111
[6]Adams J E熏Hamilton J F.Adaptive color plane interpolation
in single sensor color electronic camera押US5652621眼P演.1997 [7]Lehmann T M熏Gonner C熏Spitzer K.Survey押interpolation meth⁃
ods in medical image processing眼J演.IEEE Transactions on Medical Imaging熏1999熏18穴11雪押1049-1075
[8]Kim C H熏Seong S M熏Lee J A熏et al.Winscale押An image-
scaling algorithm using an area pixel model眼J演.IEEE Trans⁃actions on circuits and systems for video technology熏2003熏13穴6雪押549-553
[9]Lin C C熏Sheu M H熏Chiang H K熏et al.The efficient VLSI design
of BI-CUBIC convolution interpolation for digital image pro⁃cessing眼C演//IEEE International Symposium on Circuits and Systems.IEEE熏2008押480-483
[10]Tong Y熏Hu W熏Yang D熏et al.Review on the video quality
assessment methods眼J演.Journal of Computer-Aided Design &Computer Graphics熏2006[收稿日期:2018.5.21]
云端服务器体系为典型的C/S的分布式结构,分为前端、客户端和后端。

为了节省研发开支,提高开发和项目完工的效率,解决方案选择大量的使用开源的中间件来做二次开发。

本文对中间件的功能描述均来自开源中国社区https押//www.oschi⁃/,图2中的小图标是各个中间件的标识。

3.1操作系统
操作系统中目前最大量使用的是Windous和Linux。

选用Linux,除了开源、免费之外,具有UNIX基因的强大的网络功能和开放的平台性,运行安全、对内存和文件的管理能力强、占用内存小、命令行操作高效等优势,也是选择的考量因素。

而编程语言的选择,考虑本系统的交互性特点,使用较之其他语言,简单性、安全性、动态性和跨平台性特点明显的JavaScript。

3.2数据库
云端拥有一个功能强大的核心数据库,用来存储数据并参与统计运算。

必须能够提供性能与数据稳定性之间的精细调控。

RethinkDB数据库,针对实时应用进行优化。

它的特点是能够处理一些要求快速的服务启动,在数据量超出内存大小后还能保持较高的性能,处理各种不稳定的读写压力,处理大量数据等的服务负载。

数据库选用RethinkDB,可以在不大规模提高现有的硬件条件下,提供更好的实时应用负载能力。

3.3服务器
后端软件位于云服务的核心位置,其性能的优劣决定了整个系统运行的使用体验。

最重要的是必须在技术上可靠、快速和可扩展。

DeepStream是一个强大的消息队列,可以在浏览器、智能手机、后端和物联网之间同步实时数据。

本系统选用DeepStream,并以DeepStream为枢纽,驱动百万级的数据同步和消息传递。

DeepStream提供了多种语言的API,使得BMS 云的应用层开发变得更加容易。

可直接在浏览器使用的JavaScript包可以为监控大屏幕提供支持。

3.4代理服务器
电池BMS采样数据通过反向代理服务器进入Deep⁃Stream,再到达数据库RethinkDB。

这样的设计可以保证系统的不间断运转。

要选用一款占用内存少,并发能力强的反向代理服务器,Nginx是比较好的选择。

Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like协议下发行。

国内多家门户网站都在使用。

因此本系统也选用Nginx来实现代理服务器。

RethinkD+Nginx+DeepStream组合开发,实现了基础数据层。

而支撑数据应用层开发平台的则是由RethinkDB+Node.JS 组成。

3.5应用程序运行环境
各种功能的应用程序,都要有一个开发和运行的平台,本系统所选用的开发语言是JS,因此选用了基于ChromeV8引擎的JavaScript运行环境Node.js。

它使用了一个事件驱动、非阻塞式I/O的模型,使其轻量又高效。

Node.js的包管理器npm,是全球最大的开源库生态系统,能够很方便地使用JavaScript开发出各种对数据的统计应用功能。

3.6数据查询和服务
云服务的应用中,最基本的功能是提供对任意的BMS属性进行查询。

由Facebook开发、用于API的查询语言的GraphQL 成为最佳选择。

GraphQL每天都为Fackbook接收、处理着上百亿的请求,为Fackbook提供了强大的基础数据平台的支持。

它既是一种用于API的查询语言,也是一个满足数据查询的运行服务。

它使得云服务中的应用可以使用统一的规范准确地获得它需要的数据,而且没有任何冗余。

3.7其他应用服务程序
BMS云服务提供的前端和客户端的应用的界面程序,也可以找到开源的中间件进行二次开发,使的开发的过程简单又快速且可靠。

可视化方面中间件选用库D3.js,响应式前端的框架选择Vue.js。

D3.js是一个JavaScript的函数库,用它来做数据可视化。

它可帮助使用HTML、SVG和CSS将数据变为现实。

Vue.js是一套构建用户界面的渐进式框架。

它采用自底向上增量开发的设计。

它的核心库只关注视图层,非常容易与其它库或已有项目整合。

将来也很容易将网页应用转换为手机应用。

源结束语
这是一个架构简单,功能丰富的轻量级BMS云端服务系统,具有很强的负荷能力,很好的可扩展性。

可用于实时监控万级以上的BMS设备。

同时可满足部分实时数据分析的需求,快速查询特征量并及时作出反馈。

达到系统的设计目标:实时了解电池状态、动态配置电池、优化电池使用方案、通过数据挖掘改进电池及管理技术。

未来通过在DeepStream数据管道上加入更多的模块可实现更为复杂的业务需求,并保证升级的平滑性。

当用户数量增加时,也可以通过增加DeepStream节点实现更大的同时连接数量。

[收稿日期:2018.7.30]
108。

相关文档
最新文档