摘" 要: 水下光学成像探测技术是水下探测技术的重要组成部分,但水下环境错综复杂,直接或间接影响到水下图像采集过程和成像质量。文中基于LabVIEW软件设计水下图像采集存储和图像增强程序,利用LabVIEW视觉与运动采集组件和存储模块进行水下图像采集存储,利用NI视觉重构器和IMAQ视觉系统模块完成水下图像的增强,从而改善水下图像的对比度、RGB亮度及伽马校正,增强水下图像成像效果。经过多次测试验证,该程序具有性能稳定,水下图像存储及增强效果显著的特点,为水下图像采集存储、增强提供了新思路。
关键词: 水下光学成像; LabVIEW程序设计; 图像采集; 图像增强; NI视觉重构器; IMAQ视觉系统模块
中图分类号: TN911.73⁃34; P715.9" " " " " " " " " " "文献标识码: A" " " " " " " " 文章编号: 1004⁃373X(2024)05⁃0065⁃05
Design and verification of program for underwater
image acquisition, storage and enhancement
CHEN Xiangzi1, 2, LIU Boyan2, JIANG Gaoqing2, YUN Ziping2
(1. Yazhou Bay Innovation Institute, Hainan Tropical Ocean University, Sanya 572099, China;
2. College of Marine Science and Technology, Hainan Tropical Ocean University, Sanya 572099, China)
Abstract: Underwater optical imaging detection technology is an important part of underwater detection technology. However, the underwater environment is complicated, which directly or indirectly affects the underwater image acquisition process and image quality. The underwater image acquisition and storage and image enhancement program is designed based on LabVIEW (laboratory virtual instrument engineering workbench). LabVIEW vision and motion acquisition components and storage modules are used for underwater image acquisition and storage. The underwater image is enhanced by NI visual reconstructor and IMAQ visual system modules, so as to improve the contrast, RGB brightness and gamma correction of underwater image, and enhance the imaging effect of the underwater image. Many tests have shown that the proposed program has stable performance, remarkable effect of underwater image storage and enhancement. Therefore, it can provide a new idea for underwater image acquisition, storage and enhancement.
Keywords: underwater optical imaging; LabVIEW program design; image acquisition; image enhancement; NI visual reconstructor; IMAQ visual system module
0" 引" 言
在海洋水下探测技术领域,除了水声探测,光学探测也发挥着重要作用[1]。由于水下成像环境要比大气成像的环境复杂,同时由于电子设备硬件的不完善和水中载体产生的散射与吸收等因素,使得电子图像设备所采集到的电子图片容易出现颜色丢失、细节隐约、对比度降低以及色彩畸变等问题,低质量的水下图像不能满足深海探测、水下考古、水下机器人、水中实时监控等实际应用的要求[2]。
目前,水下摄像设备向着高清晰度、高帧率的方向发展,水下图像所需要的存储空间也越来越大,对于存储技术的要求也逐渐提高。目前在水下探测工作中,对于水下图像的存储有两种方法:一种是将硬盘存储模块放入水下图像采集设备中,水下图像采集设备将采集的图像直接存入硬盘中;另一种是通过网络串口将水下图像采集设备与岸基端直接连接,科研人员可以直接在计算机上存储图像[3]。但由于海洋环境的复杂性,并不是任何设备都适合通过网络串口连接的方式与岸基端通信,因此采集到的水下图像一般是直接存储在水下设备中。
在图像增强方面,研究人员提出了多种水下成像图片的各种综合性算法。文献[4]提出了一种水下图像生成对抗网络,该网络依据机载图像和相应的深度图生成现实的水下图像,然后将所生成的水下图像作为单个水下图像端到端网络的训练集,从而实现单个水下图像的实时颜色校正。文献[5]提出一种基于Tetrolet变换的增强方法,通过在不改变图像结构的情况下调整颜色空间的比例来增强图像细节部分的信息量。文献[6]通过颜色校正和光照调整来提高水下图像的质量,提出了UCCIA(Underwater Color Correction and Illumination Adjustment)方法,利用简单的色彩校正方法解决色偏问题,然后根据Retinex理论调整光照输入,解决照度不均问题。在成像模型的基础上,水中图像强调需要建立与水中图像相应的适当劣化模型,反向构建劣化模型,将劣化图像恢复为理想状态。文献[7]提出了基于透射率优化的恢复方法,在水下成像模型的基础上,为了能够改善图像的对比度,对水中模型进行逆解,使用最小信息损失理论和波导滤波获得透射率,最后利用白平衡校正颜色,以获得清晰、高质量的复原图像。
1" 程序设计理论
1.1" LabVIEW软件介绍
LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是一款使用图形化编程语言G编写的程序开发软件。LabVIEW最早被设计用于测量测试,它具有与数据采集卡通信的所有功能。LabVIEW由于其强大的性能而被业界、学术界以及研究实验室等研究单位所认可,作为数据收集和控制软件的标准。每一个VI(Virtual Instrument)程序都有两个基本窗口:前面板和程序框图。前面板主要是程序交互式界面,用户可以使用计算机调控字符串与路径、数据容器、图形和开关等控件输入指令;程序框图是程序的源代码界面,是可执行的程序,框图的构成包括程序执行结构、内置函数、数值、应用控制结构和图表生成等,用户将需要使用的程序框图连接起来便可以形成它们之间的数据交互,实现相应功能[8]。
1.2" 图像存储方式
水下图像存储属于图像存储的一种,不仅受硬件方面影响,而且水下图像的格式也会影响存储。目前主要使用的图像格式有以下几种:
1) BMP(Bitmap)格式。一种不用进行压缩转换,Windows操作系统就可以使用的图片格式。它的优势在于不需要硬件设备的支持,可以直接被Windows操作系统所识别,兼容性强,但以BMP格式保存的图片,不能将图片进行压缩,这使得图像所需要的存储空间很大,不适用于大量且连续的图像存储。
2) JPEG(Joint Photographic Experts Group)格式。指联合图像专家组,是目前使用量最大的一种图片存储格式,它的优势在于可以将图片进行压缩,将所采集图像的主要特征进行保存,对其他多余的图像数据进行压缩。它的出现大大减小了图像存储所占据的空间,但是,JEPG格式的图像在进行编辑和存储过程中,原图像的成像效果会降低,而且成像颜色不多,或者成像颜色相近的区域效果很差。
3) PNG(Portable Network Graphic)格式。该格式是在2003年提出的最新的图像格式,PNG格式的图像优势在于它在将采集图像进行压缩保存的过程中,对所采集图像的损耗十分小,比起JEPG格式的损耗要小,而且支持对图像进行透明化处理,但是,由于PNG格式图像的格式很新,目前的程序并不是都能用它进行保存。
1.3" 图像增强原理
依据图像特性的水下图像增强主要包括颜色校正、亮度变化和对比度增强,其计算结果并不依赖于任何物理模型,具有广泛的应用领域。如图1所示,对水下图像进行强化的方法可分为四种类型[9⁃10]。
1) 基于空间域增强。通过直接调整图像的密度值,解决水下图像对比度低的问题。该方法可以使图像在不影响视觉质量的情况下获得更高的对比度。图像的增强方法主要包括直方图均衡化、自适应直方图均衡化和限制对比度自适应直方图均衡化等。
2) 基于频域增强。将空间域图像转化为频域图像,并采用同构滤波或小波变换等数字方法提高图像的清晰度。采用准同态滤波将图像灰度变换与频率滤波相结合,以此来解决水下照明不均匀的问题。
3) 基于图像融合增强。指对同一水下场景的多个图像进行融合。将不同来源、不同时间拍摄的多张图像通过图像处理技术得到一幅清晰完整的图像,根据所获取的多个图像中目标和背景像素值的差异,计算出最后结果。该融合方法可以补充多个图像之间的信息,从而丰富图像信息,提高图像的清晰度[11]。
4) 基于Retinex理论增强。以三色理论和颜色恒常性理论为基础,模拟人类视觉对颜色和亮度感知不均而产生的一种亮度暗理论。Retinex可以平衡动态范围压缩、边缘增强和颜色恒常,可以对不同类型的图像进行自适应增强。
2" 程序设计
2.1" 设计思路
基于LabVIEW图形化编程设计水下图像采集存储、增强一体化程序,遵循方便采集、可靠性强的原则。通过该程序建立水下相机与计算机的动态交互,实现水下图像实时采集存储和增强功能,最终根据需求可以从多角度增强水下图像的成像效果。同时,要求程序操作界面友好,具有良好的可操作性。
2.2" 水下图像采集存储程序设计
基于程序设计思路,该程序应具有图像采集、存储及停止程序运行的功能。
程序框图面板整体采用While循环,重复执行图像采集与保存。首先选择Open Camera组件和Configure Grab组件,进行水下相机的初始化设定,识别水下图像并对图像进行采集,选择IMAQ Create组件,设置图像数据缓存区域,以此来保证图片正常存储。选择IMAQ Dispose组件,利用该组件进行缓存区域的缓存数据删除释放。其次选择I/O组件连接Open Camera组件,确保水下相机可以被调用,将I/O组件与Grab2组件进行连接,实现水下图像实时显示。选择创建路径组件,实现图片保存的路径创建,使其显示在前面板中。选择前面板中DBL组件连接十进制数字符串转换组件,设好字符串,使水下图像以相应图像格式存储。使用FOR循环,设置总数为1,实现水下图像保存的循环次数为1。最后将停止按扭与While循环连接,当按下停止时,完成一次程序循环运行,然后设置条件结构,实现当拍照组件为真事件时,运行图片保存程序,反之不保存。选择Close Camera组件实现相机的关闭功能并整理程序框图及前面板界面。整理后的程序框图及前面板界面如图2、图3所示。
2.3" 图像增强程序设计
基于程序设计思路,实现水下图像导入、显示及RBG亮度、对比度与伽马校正,且可以单独对RGB每个颜色平面进行调节。
如图4所示,图像增强程序采用While循环为主体框架,控制程序启动或退出,条件结构实现要使用调节的方法进行筛选,枚举控件则对条件结构进行筛选控制。程序框图内采用Readfile2组件实现水下图像导入及读取,将该数据输入到Copy组件,对数据进行复制,将复制的数据传输至ColorBCGLookup组件,创建属性节点实现对水下图像的对比度、亮度、伽马校正处理。在此基础上,使用Creat组件作为导入的图像构建图像缓冲区。为了能够让导入的图像长时间显示在屏幕上,给予程序一个延时时间,最后整理程序框图及前面板界面。整理后的前面板界面如图5所示。
3" 实验结果
3.1" 水下图像采集和存储
将水下相机与计算机连接,进行设备状态调试。首先将水下相机连接计算机后,放置在测试水池中,其次完成水下相机初始设定,在Measurement amp; Automation Explorer选项中选择“Devices and interfaces”,完成水下相机设定,确保水下相机可以正常运行。返回前面板界面,在摄像头选择中选择“cam1”,之后点击运行,程序正常运行。如图6所示,在前面板上可以清晰显示水下图像,点击拍照按键,在前面板图片显示组件下方的图片路径名的框中成功显示图片存储路径,在计算机相应路径下发现图片成功保存。最后点击停止按钮,程序停止运行。
重复上述步骤,并依次按照顺序选择图片号,循环实验进行保存,结果显示水下图像均可正常保存,同时如图7所示,在计算机上成功显示所采集的水下图片,至此水下图像采集存储程序测试完成。
3.2" 水下图像增强
选择水下图像采集和存储程序得到的图像进行增强处理,原图如图8所示。将枚举控件调节至ALL,分别对原图进行亮度调节、对比度调节及伽马调节,增强效果如图9所示。当调高亮度时,图像明亮程度整体有所提升,但色彩还原度不高;当提高对比度时,图像色彩相较于原图更加鲜明,但图像整体亮度有所缺失;当提高图像伽马值时,图像中间色调灰阶的亮度值明显提高。
将枚举控件分别调至[R]、[G]、[B],调节图像中的[R]、[G]、[B]数值,增强效果如图10所示。
如图11a)原图所示,选择图像中的任意一点进行颜色分析,例如原图中标记处,原图[R]数值为107,调节[R]数值后为146,原图中[G]数值为125,调节[G]数值后为186,原图中[B]数值为101,调节[B]数值后为161。颜色分析结果如图11b)~图11d)所示,水下图像达到预期的增强效果。
4" 结" 语
本文基于LabVIEW设计水下图像采集存储和增强程序,具备水下图像的采集存储、图像增强功能,并经过测试,程序正常运行且达到预期的水下图像存储及增强效果,实现从图像亮度、对比度、RGB值多角度对水下图像的增强,采用LabVIEW软件设计的水下图像采集存储和增强程序具有性能稳定、成本低廉等特点。虽然本文完成了水下图像存储和图像增强程序的设计,但是从计算机视觉系统的开发和水下图像处理领域来看,它仍然具有很大的研究和改进空间,比如目前两个程序之间采用单独处理图像信息的方式进行交互,在今后的实验测试中,将针对不同的水下环境和测试要求对程序进一步完善和改进。
注:本文通讯作者为贠子平。
参考文献
[1] 全向前,陈祥子,全永前,等.深海光学照明与成像系统分析及进展[J].中国光学,2018,11(2):153⁃165.
[2] LU H, LI Y, SERIKAWA S. Computer vision for ocean observing [C]// Artificial Intelligence and Computer Vision. Heidelberg, Germany: Springer, 2017: 1⁃16.
[3] 吕耀文,王建立,曹景太,等.移动便携图像存储系统的设计[J].液晶与显示,2012,27(5):697⁃702.
[4] LI J, SKINNER K A, EUSTICE R M, et al. Water GAN: Unsupervised generative net work to enable real⁃time color correction of monocular underwater images [J]. IEEE robotics and automation letters, 2017, 3(1): 387⁃394.
[5] 沈瑜,党建武,王阳萍,等.基于Tetrolet变换的彩色水下图像清晰化算法[J].光学学报,2017,37(9):89⁃100.
[6] ZHANG W H, LI G, YING Z Q. A new underwater image enhancing method via color correction and illumination adjustment [C]// 2017 IEEE Visual Communications and Image Processing (VCIP). New York: IEEE, 2017: 1⁃4.
[7] 李向春,张浩,刘晓燕,等.基于透射率优化和颜色修正的水下图像增强方法[J].山东科学,2019,32(2):7⁃14.
[8] TRAVIS J, KRING J. LabVIEW大学实用教程[M].乔瑞萍,译.3版.北京:电子工业出版社,2008.
[9] ZHANG Y M, LI Y L, GU X L, et al. Laser spot image acquisition and processing based on LabVIEW [J]. Optik, 2019, 185: 505⁃509.
[10] 刘希军,魏麟,朱新宇,等.基于LabVIEW的平面度检测系统设计[J].仪表技术与传感器,2018(5):62⁃65.
[11] DING Z Q, ZHANG R Y, KAN Z. Quality and safety inspection of food and agricultural products by LabVIEW IMAQ vision [J]. Food analytical methods, 2014, 8(2): 290⁃301.
[12] 郭继昌,李重仪,郭春乐,等.水下图像增强和复原方法研究进展[J].中国图象图形学报,2017,22(3):273⁃287.
[13] 孙飞飞.水下图像增强和复原方法研究[D].青岛:中国海洋大学,2011.