高级检索

ISSN1001-3806CN51-1125/TN 网站地图

留言板

尊敬的读者、作者、审稿人, 关于本刊的投稿、审稿、编辑和出版的任何问题, 您可以本页添加留言。我们将尽快给您答复。谢谢您的支持!

姓名
邮箱
手机号码
标题
留言内容
验证码

基于FPGA的仿造数码迷彩生成系统研究

杜向坤 牛春晖 王晨 刘鑫

引用本文:
Citation:

基于FPGA的仿造数码迷彩生成系统研究

    通讯作者: 牛春晖, niuchunhui@bistu.edu.cn
  • 基金项目:

    企业横向基金资助项目 GXTC19630439

    北京市自然科学基金资助项目 4224094

  • 中图分类号: E951.4

Research on imitation digital camouflage generation system based on FPGA

    Corresponding author: NIU Chunhui, niuchunhui@bistu.edu.cn ;
  • CLC number: E951.4

  • 摘要: 为了解决传统仿造数码迷彩生成算法开发平台灵活性不足的问题,提出了一种基于现场可编程门阵列(FPGA)的仿造数码迷彩生成算法。采用直方图统计提取主要颜色信息,将背景图像马赛克化获得颜色分布信息,依据色差进行主色替换得到仿造数码迷彩的方法,取得了不同主色数量、色差计算权重、颜色量化数量下的数据。结果表明, 颜色量化为3600种后,提取出4种主色作为仿造数码迷彩主色,根据色差主色替换时色彩权重3 ∶6 ∶1,生成的仿造数码迷彩具有良好的伪装效果,且基于FPGA实现该算法时系统占用资源少,处理800 pixels×480 pixels分辨率的单帧彩色图像所需时间仅为22.21 ms,满足动态场景下生成仿造数码迷彩的实时性需求。该研究为主动伪装技术提供了参考。
  • 图 1  基于FPGA的仿造数码迷彩生成系统总体框架图

    Figure 1.  FPGA-based imitation digital camouflage generation system frame

    图 2  仿造数码迷彩生成算法实现流程图

    Figure 2.  Imitation digital camouflage generation process

    图 3  FPGA实现RGBHSV

    Figure 3.  RGB to HSV on FPGA

    图 4  进行颜色直方图统计的双口RAM模块

    Figure 4.  Dual-port RAM module for color histogram statistics

    图 5  双口RAM时序图

    Figure 5.  Dual-port RAM time series diagram

    图 6  4×4模板生成示意图

    Figure 6.  4×4 template generation process

    图 7  主色替换模块结构

    Figure 7.  Structure of dominant color replaces module

    Figure 8.  Comparison of results for different main color quantities

    图 9  色差计算权重不同结果对比

    Figure 9.  Comparison of results for different chromatic aberration weights

    图 10  颜色量化数量不同结果对比

    Figure 10.  Comparison of results for different color quantifications

    图 11  边缘检测结果对比

    Figure 11.  Comparison of edge detection results

    表 1  不同数量主色SSIM以及颜色相似度得分

    Table 1.  SSIM and color similarity score of different main color

    dominant color SSIM color similarity
    3 0.5444 0.5031
    4 0.5482 0.5328
    6 0.5433 0.5420
    下载: 导出CSV

    表 2  不同色差权重SSIM以及颜色相似度得分

    Table 2.  SSIM and color similarity score of different chromatic aberration weights

    chromatic aberration weights(RGB) SSIM color similarity
    1 ∶1 ∶1 0.6138 0.4968
    2 ∶1 ∶4 0.6262 0.4718
    3 ∶4 ∶2 0.6190 0.4820
    3 ∶6 ∶1 0.6032 0.5704
    4 ∶8 ∶1 0.6098 0.5264
    下载: 导出CSV

    表 3  量化颜色不同SSIM以及颜色相似度得分

    Table 3.  SSIM and color similarity score of different color quantifications

    image number color quantifications SSIM color similarity
    1 300 0.8410 0.4662
    900 0.8786 0.5089
    3600 0.9195 0.5834
    8100 0.9266 0.6217
    2 300 0.7162 0.4745
    900 0.7218 0.5083
    3600 0.7242 0.5387
    8100 0.7324 0.5480
    下载: 导出CSV

    表 4  不同平台算法处理时间对比

    Table 4.  Processing times for different platforms

    platform resolution/pixels processing time/ms
    PC 800×480 1352.3
    640×480 1128.2
    FPGA 800×480 22.21
    640×480 16.53
    下载: 导出CSV

    表 5  FPGA资源占用情况

    Table 5.  FPGA resource usage

    resource utilization available utilization/%
    look up table 4335 20800 20.85
    block memory 30 50 60
    digital signal processing 5 90 5.55
    下载: 导出CSV
  • [1] 颜云辉, 王展, 董德威. 军事伪装技术的发展现状与趋势[J]. 中国机械工程, 2012, 23(17): 2136-2141.

    YAN Y H, WANG Zh, DONG D W. Current actuality and development tendency of military camouflage technology[J]. China Mechanical Engineering, 2012, 23(17): 2136-2141(in Chinese).
    [2]

    NONAKA T, MATSUDA M, HASE T. Color mixture model based on spatial frequency response of color vision[C]//2006 IEEE International Conference on Systems, Man and Cybernetics. Taipei, China: IEEE Press, 2006: 278-282.
    [3] 喻钧, 杨武侠, 胡志毅, 等. 数码迷彩的生成算法研究[J]. 光电工程, 2010, 37(11): 110-114.

    YU J, YANG W X, HU Zh Y, et al. Research of digital camouflage generation algorithm[J]. Opto-Electronic Engineering, 2010, 37(11): 110-114 (in Chinese).
    [4]

    XUE F, XU S, LUO Y T, et al. Design of digital camouflage by recursive overlapping of pattern templates[J]. Neurocomputing, 2016, 172: 262-270. doi: 10.1016/j.neucom.2014.12.108
    [5]

    GAN Y Y, LIU C T, HE Z X, et al. Digital camouflage pattern design based on the biased random walk[J]. Modelling and Simulation in Engineering, 2022, 2022: 1-12.
    [6]

    PEI H N, WU M, HUANG X Q, et al. Maneuvering target oriented digital camouflage image generation method[J]. Displays, 2023, 76: 102365. doi: 10.1016/j.displa.2022.102365
    [7]

    BIAN P, JIN Y, ZHANG N. Fuzzy c-means clustering based digital camouflage pattern design and its evaluation[C]//IEEE 10th International Conference on Signal Processing Proceedings. Beijing, China: IEEE Press, 2010: 1017-1020.
    [8] 冉建国, 刘珩, 张月. 基于pix2pix的数码迷彩方案研究[J]. 指挥控制与仿真, 2022, 44(3): 116-121.

    RAN J G, LIU H, ZHANG Y. Research on digital camouflage scheme based on pix2pix[J]. Command Control & Simulation, 2022, 44(3): 116-121(in Chinese).
    [9] 白万民, 郝阳, 喻钧. 基于分水岭方法的数码迷彩设计[J]. 计算机与数字工程, 2012, 40(8): 110-113.

    BAI W M, HAO Y, YU J. Design of digital camouflage based on watershed method[J]. Computer & Digital Engineering, 2012, 40(8): 110-113(in Chinese).
    [10] 滕旭, 张晖, 杨春明, 等. 基于循环一致性对抗网络的数码迷彩伪装生成方法[J]. 计算机应用, 2020, 40(2): 566-570.

    TENG X, ZHANG H, YANG Ch M, et al. Digital camouflage ge-neration method based on cycle-consistent adversarial network[J]. Journal of Computer Applications, 2020, 40(2): 566-570 (in Chinese).
    [11]

    CHERNOV V, ALANDER J, BOCHKO V. Integer-based accurate conversion between RGB and HSV color spaces[J]. Computers & Electrical Engineering, 2015, 46: 328-337.
    [12] 袁奋杰, 周晓, 丁军, 等. 基于FPGA的RGBHSV色空间转换算法实现[J]. 电子器件, 2010, 33(4): 493- 497.

    YUAN F J, ZHOU X, DING J, et al. Design of RGB and HSV color space conversion based on FPGA[J]. Chinese Journal of Electron Devices, 2010, 33(4): 493- 497(in Chinese).
    [13] 黄雁华, 武文远, 龚艳春, 等. 量化颜色直方图的改进与应用[J]. 光电技术应用, 2011, 26(4): 76-80.

    HUANG Y H, WU W Y, GONG Y Ch, et al. Improvement and application of color histogram[J]. Electro-Optic Technology Application, 2011, 26(4): 76-80(in Chinese).
    [14] 吴厚航. FPGA数字图像采集与处理[M]. 北京: 清华大学出版社, 2020: 198-208.

    WU H H. Digital image acquisition and processing with FPGA[M]. Beijing: Tsinghua University Press, 2020: 198-208(in Chinese).
    [15] 牟新刚, 周晓, 郑晓亮. 基于FPGA的数字图像处理原理及应用[M]. 北京: 电子工业出版社, 2017: 227-243.

    MOU X G, ZHOU X, ZHENG X L. The principle and application of digital image processing based on FPGA[M]. Beijing: Publishing House of Electronics Industry, 2017: 227-243(in Chinese).
    [16] 李贵俊, 刘正熙, 游志胜, 等. 一种基于色差和彩色归一化的车身颜色识别算法[J]. 计算机应用, 2004, 24(9): 47- 49.

    LI G J, LIU Zh X, YOU Zh Sh, et al. Car-body color recognition algorithm based on color difference and color normalization[J]. Journal of Computer Applications, 2004, 24(9): 47- 49(in Ch-inese).
    [17]

    WANG Z, BOVIK A C, SHEIKH H R, et al. Image quality assessment: From error visibility to structural similarity[J]. IEEE Transactions on Image Processing, 2004, 13(4): 600-612.
    [18] 喻钧, 代军, 胡志毅, 等. 数字迷彩的伪装效果评价[J]. 西安工业大学学报, 2016, 36(7): 528-532.

    YU J, DAI J, HU Zh Y, et al. Digital camouflage effect evaluation[J]. Journal of Xi`an Technological University, 2016, 36(7): 528-532(in Chinese).
    [19] 李胜水, 钱元兴, 崔宝生, 等. 陆军设备变形迷彩图册: GJB 4004—2000[S]. 北京: 中国人民解放军总设备部, 2000.

    LI Sh Sh, QIAN Y X, CUI B Sh, et al. The volume of distortion pattern painting for army equipment: GJB 4004—2000[S]. Beijing: Central Military Commission of the People's Republic of China, 2000(in Chinese).
    [20] 喻钧, 双晓. 仿造数码迷彩的设计方法[J]. 应用科学学报, 2012, 30(4): 331-334.

    YU J, SHUANG X. Design of imitation digital camouflage[J]. Journal of Applied Sciences, 2012, 30(4): 331-334(in Chinese).
  • [1] 孙颖馨 . 基于FPGA红外成像光谱数据处理系统研究. 激光技术, 2019, 43(6): 763-767. doi: 10.7510/jgjs.issn.1001-3806.2019.06.006
    [2] 荣微王玉诏 . 基于直方图统计的云/气溶胶层次查找算法研究. 激光技术, 2015, 39(6): 820-823. doi: 10.7510/jgjs.issn.1001-3806.2015.06.019
    [3] 李一芒盛磊陈云善 . 高速激光光斑检测系统的设计与实现. 激光技术, 2015, 39(4): 533-536. doi: 10.7510/jgjs.issn.1001-3806.2015.04.023
    [4] 时颖句爱松乐燕芬 . 基于FPGA的外差干涉信号处理方法. 激光技术, 2012, 36(2): 221-224. doi: 10.3969/j.issn.1001-3806.2012.02.020
    [5] 邱小倩乐燕芬王静 . 基于FPGA的插频式外差干涉信号处理方法. 激光技术, 2011, 35(2): 199-201,205. doi: 10.3969/j.issn.1001-3806.2011.02.016
    [6] 吴家洲刘君施佳文张胜 . 激光焊缝图像分割与颜色识别方法研究. 激光技术, 2023, 47(5): 723-728. doi: 10.7510/jgjs.issn.1001-3806.2023.05.022
    [7] 何易德朱斌姜湖海刘书信李黎明胡绍云 . 红外图像多尺度统计和应用先验去模糊模型. 激光技术, 2023, 47(3): 360-365. doi: 10.7510/jgjs.issn.1001-3806.2023.03.012
    [8] 李芮李晓王志斌黄艳飞王耀利张瑞 . 阵列探测器在成像光谱偏振探测技术中的应用. 激光技术, 2014, 38(6): 822-825. doi: 10.7510/jgjs.issn.1001-3806.2014.06.021
    [9] 李文龙戈海龙任远成巍 . 图像处理技术在激光熔池温度检测的应用. 激光技术, 2018, 42(5): 599-604. doi: 10.7510/jgjs.issn.1001-3806.2018.05.004
    [10] 张海庄姚梅雷萍李鹏曾庆平 . 远场激光光斑图像处理方法研究. 激光技术, 2013, 37(4): 460-463. doi: 10.7510/jgjs.issn.1001-3806.2013.04.010
    [11] 蔡旭明李笑刘玉县何春华林俊杰 . 基于灰度直方图的激光光斑中心定位算法. 激光技术, 2023, 47(2): 273-279. doi: 10.7510/jgjs.issn.1001-3806.2023.02.018
    [12] 王宗俐常佳蒋晓阳李冰寒 . 基于直方图均衡的空间需求优化方法. 激光技术, 2012, 36(3): 307-311.
    [13] 汤敏王惠南 . 激光扫描共聚焦显微镜图像的计算机处理. 激光技术, 2007, 31(5): 558-560.
    [14] 张羽鹏王开福 . LabVIEW和MATLAB在电子散斑干涉图像处理中的应用. 激光技术, 2009, 33(6): 582-585,589. doi: 10.3969/j.issn.1001-3806.2009.06.007
    [15] 冯煦张瑞瑛周萍李松 . 大功率半导体线激光图像处理方法研究. 激光技术, 2010, 34(5): 624-627. doi: 10.3969/j.issn.1001-3806.2010.O5.013
    [16] 顾国庆王开福燕新九 . 基于同态滤波的电子散斑干涉图像处理. 激光技术, 2010, 34(6): 750-752,797. doi: 10.3969/j.issn.1001-3806.2010.06.009
    [17] 苏平牛燕雄李大乾牛海莎李易难张超 . 基于面阵CCD的激光告警系统的图像采集与处理. 激光技术, 2013, 37(3): 394-399. doi: 10.7510/jgjs.issn.1001-3806.2013.03.028
    [18] 刘逸飞苏亚姚晓天崔省伟杨丽君周聪聪何松 . OCT无创血糖检测图像处理最优化方法研究. 激光技术, 2023, 47(2): 178-184. doi: 10.7510/jgjs.issn.1001-3806.2023.02.004
    [19] 孟宇帆张丽君何长涛肖婧阳宁静冯国英韩敬华 . 基于图像处理的激光清洗飞机蒙皮特性和机制研究. 激光技术, 2024, 48(3): 303-311. doi: 10.7510/jgjs.issn.1001-3806.2024.03.002
    [20] 刘阳吕晓琪张明李菁谷宇 . 基于RGBC-Y颜色空间的白细胞分割. 激光技术, 2019, 43(4): 506-510. doi: 10.7510/jgjs.issn.1001-3806.2019.04.013
  • 加载中
图(11) / 表(5)
计量
  • 文章访问数:  1367
  • HTML全文浏览量:  52
  • PDF下载量:  0
  • 被引次数: 0
出版历程
  • 收稿日期:  2023-10-10
  • 录用日期:  2023-11-28
  • 刊出日期:  2024-09-25

基于FPGA的仿造数码迷彩生成系统研究

    通讯作者: 牛春晖, niuchunhui@bistu.edu.cn
  • 北京信息科技大学 仪器科学与光电工程学院,北京 100192,中国
基金项目:  企业横向基金资助项目 GXTC19630439北京市自然科学基金资助项目 4224094

摘要: 为了解决传统仿造数码迷彩生成算法开发平台灵活性不足的问题,提出了一种基于现场可编程门阵列(FPGA)的仿造数码迷彩生成算法。采用直方图统计提取主要颜色信息,将背景图像马赛克化获得颜色分布信息,依据色差进行主色替换得到仿造数码迷彩的方法,取得了不同主色数量、色差计算权重、颜色量化数量下的数据。结果表明, 颜色量化为3600种后,提取出4种主色作为仿造数码迷彩主色,根据色差主色替换时色彩权重3 ∶6 ∶1,生成的仿造数码迷彩具有良好的伪装效果,且基于FPGA实现该算法时系统占用资源少,处理800 pixels×480 pixels分辨率的单帧彩色图像所需时间仅为22.21 ms,满足动态场景下生成仿造数码迷彩的实时性需求。该研究为主动伪装技术提供了参考。

English Abstract

    • 迷彩作为常用的伪装方式,是对抗侦察探测、隐藏自身军事力量的重要手段,对国家安防具有重要意义。传统的迷彩一般由条纹和大斑点组成,由于不同颜色斑块间色差明显且边界平滑,不同色块间没有过渡区域,在观察时可以明显区分出边界,导致伪装效果降低,在高分辨的航空和卫星成像侦察时已无法起到很好的伪装效果[1]。为躲避高精度侦查从而研制出数码迷彩,数码迷彩利用空间混色原理[2],将斑块“马赛克化”,使伪装目标边界模糊、破碎,能更好地融入背景之中,增强了伪装效果。

      数码迷彩的应用主要通过伪装网、伪装布、迷彩服等方式对被伪装目标遮盖,这种情况下,应用背景变化时无法改变数码迷彩图案及颜色,所以传统数码迷彩在设计上主要考虑应用背景的整体颜色,并根据使用场景主要颜色的不同分为了林地迷彩、海洋迷彩、沙漠迷彩等。例如YU等人提出了一种主色提取后通过随机填充法生成数码迷彩的算法[3];XUE等人设计了一种迷彩纹理制作算法,以模板空间分布为指导,将不同尺寸斑点模板通过贪婪算法迭代重叠组合生成一个大的迷彩纹理[4]。此类算法通过主色随机填充的方式生成数码迷彩,其纹理没有考虑具体应用场景,在复杂背景环境下的伪装效果较差,因此仿造数码迷彩应运而生。

      相较于传统数码迷彩,仿造数码迷彩通过对背景纹理提取[5-8],使迷彩颜色分布符合背景颜色分布,具有更好的伪装效果,例如BAI等人用分水岭算法对背景切割确定大致图案后生形成仿造迷彩[9];TENG等人使用密集链接卷积网络对背景图像特征进行提取,并用于数码迷彩生成[10]。目前,国内对仿造数码迷彩的研究主要通过计算机平台实现,由于计算机固有的体积大、携带不便的劣势导致无法应用于小型、快速的场合。近年来,随着电致变色材料和柔性显示屏的出现,使得主动伪装技术的实现成为了可能,这需要仿造迷彩的生成系统具有更小的尺寸和更快的生成速度以适应主动变色伪装的复杂应用场景。为了解决计算机系统体积大、数码迷彩生成速度较慢的问题,本文中使用现场可编程门阵列(field-programmable gate array,FPGA)进行算法处理作为解决方案。FPGA是一种轻量化硬件平台,具有速度快、集成度高、可靠性强等优点。并行流水线结构使其在图像处理时具有极高的实时性,随着FPGA内部资源越来越丰富,利用FPGA对图像进行实时处理逐渐成为一个新的发展趋势。

      本文作者在已有基于个人计算机(personal computer,PC)的仿造数码迷彩生成算法基础上,实现了基于FPGA的仿造数码迷彩实时生成算法。在算法设计部分,通过对主色数量、色差计算权重、颜色量化数量等参数变化后对比,获得常用场景下最优结果参数。硬件部分以软件算法为基础,对其进行FPGA映射,并针对数据输入输出对相应设备进行驱动设计。最后通过对系统进行逻辑功能仿真,确保系统完成仿造数码迷彩生成的同时具有良好的实时性。

    • 本文中使用Xilinx公司的XC7A35T-2FGG484芯片为核心的开发板作为硬件平台,图像传感器采用OmniVision公司的互补式金属氧化物半导体(complementary metal oxide semiconductor,CMOS)摄像头OV5640,图像显示设备使用兼容视频图形阵列(video graphics array,VGA)接口的薄膜晶体管(thin film transistor,TFT)电容屏。

      本系统处理流程包括图像采集、图像处理、图像显示3个部分,系统整体架构如图 1所示。图像采集部分包括外部CMOS摄像头、FPGA内部串行摄像机控制总线(serial camera control bus,SCCB)模块、数据转换模块以及相机初始化模块。图像输入使用OV5640摄像头,通过相机初始化模块向CMOS摄像头内部寄存器写入不同数值以控制输出格式及输出窗口大小。SCCB模块负责摄像头与FPGA之间通信控制。图像传感器采集位宽为8 bit,因此通过数据转换模块将每两个数据组合成16 bit的RGB565数据用于后续图像处理。

      图  1  基于FPGA的仿造数码迷彩生成系统总体框架图

      Figure 1.  FPGA-based imitation digital camouflage generation system frame

      图像处理部分包括主色提取、颜色分布信息获取、仿造数码迷彩生成模块。主色提取模块负责从背景环境中提取出颜色主要信息,目前主流的主色提取方法有两种:一种是基于直方图统计方式,另一种使用均值聚类的方法。由于均值聚类方法需要进行大量空间距离计算,会占用FPGA大量的运算资源,考虑到图像处理1帧的数据量较大,最终本文中使用颜色直方图统计的方式进行主色提取。颜色分布信息获取模块通过马赛克化的方式获得迷彩斑点尺寸内的颜色均值,通过仿造数码迷彩生成模块以主色替换斑点颜色均值,得到最终的仿造数码迷彩。

      图像显示部分包括FPGA外部显示设备和FPGA内部VGA时序模块。VGA时序模块通过正确描述VGA时序协议,生成行场同步信号,以此驱动外部TFT显示屏显示仿造数码迷彩。

    • 仿造数码迷彩生成算法包括主色提取、颜色分布信息获取、仿造数码迷彩生成3个部分,流程如图 2所示。

      图  2  仿造数码迷彩生成算法实现流程图

      Figure 2.  Imitation digital camouflage generation process

      主色提取部分包括颜色空间转换、颜色量化、直方图法提取主色、主色还原RGB数据4个模块。输入图像先进行图像预处理(颜色空间转换和颜色量化),颜色空间转换后的图像数据更符合人眼视觉,并通过颜色量化对数据降维,减少后续计算量。预处理后的数据使用直方图统计得到量化后的主色,还原回RGB数据用于后续处理。

      颜色分布信息获取部分包括确定斑块尺寸、马赛克化获得斑点块平均颜色两部分。伪装斑点块尺寸根据伪装距离确定,以该尺寸对原图像马赛克化获得背景颜色分布信息。

      仿造数码迷彩生成部分将主色提取到的颜色,通过色差计算,以色差最小的主色替换背景马赛克化后每一个斑块的颜色,得到最终的仿造数码迷彩并输出。

    • 图像传感器采集到的图像数据属于RGB颜色空间。RGB颜色空间使用R(红色),G(绿色),B(蓝色)3个通道表示颜色特征,这种颜色模型能够精准地帮助电子显示设备表示颜色,但不符合人眼视觉特性。HSV模型使用色调(H),饱和度(S),亮度(V)3种特征表示颜色,更符合人类的视觉机制,能直观展示颜色对人眼的影响[11]。因此进行后续主色提取处理前先将图像数据转为HSV模型,在主色提取完成后再将色彩空间转回RGB空间。

      RGB空间转换到HSV计算如式(1)~式(3)所示[12]:

      $ H=\left\{\begin{array}{l} 0^{\circ}, (\max =\min ) \\ 60^{\circ} \times \frac{g-b}{\max -\min }+0^{\circ}, (\max =r, g \geqslant b) \\ 60^{\circ} \times \frac{g-b}{\max -\min }+360^{\circ}, (\max =r, g<b) \\ 60^{\circ} \times \frac{b-r}{\max -\min }+120^{\circ}, (\max =g) \\ 60^{\circ} \times \frac{r-g}{\max -\min }+240^{\circ}, (\max =b) \end{array}\right. $

      (1)

      $ S=\left\{\begin{array}{l} 0, (\max =0) \\ \frac{\max -\min }{\max }, (\text { otherwise }) \end{array}\right. $

      (2)

      $ V=\max $

      (3)

      式中:rgb是经过归一化后的颜色分量,取值范围0~1,三者中的最大值和最小值分别为max,min。得到的结果:H取值范围为0°~360°;SV的取值范围为0~1。

      实际使用FPGA处理时,带浮点数的除法计算会占用大量硬件资源,因此硬件语言VERILOG中除法默认只取其整数部分作为结果。为防止结果在0~1之间的计算自动截断得为0导致后续数据无法处理,采用放大的思路进行计算,考虑到准确性和实时性,使用1个字节作为放大倍数,将转换过程中所有的数据都统一到0~255。FPGA处理减法时,数据通常无符号位,针对会出现负号的情况,在计算前先比较数据大小,根据两数大小确定正负符号,得到正数结果,在后续计算中根据正负符号进行加减,优化后流程如图 3所示。

      图  3  FPGA实现RGBHSV

      Figure 3.  RGB to HSV on FPGA

      图 3中,RGB 3路8 bit数据输入后,对比得到最大值和最小值,计算出SV,计算S时通过放大8位得到取值范围0~255的输出。计算H时也存在结果为0~1之间的除法,因此先计算出分子与固定系数60相乘的结果,通过判断最大值确定后续计算公式。以最大值为g时为例,除法部分结果M(计算过程中的中间变量)取值为0~60,比较br的大小,确定M正负,得到最终结果H

    • 对转换完成的HSV数据进行颜色量化主要有两个原因:一是数值相近的颜色在最后显示时无明显差异,通过颜色量化可以有效整合颜色特性,将差异不大的颜色区域归为1类;二是若不进行颜色量化,可能出现的颜色数量过多,需要大量的计算和存储资源,会导致FPGA片上资源不够,算法无法实现。经过调研,为不使颜色区分度明显的颜色种类合为1种,量化种类至少应为300种以上[13],本文中设计了不同量化数量并进行测试,验证不同量化数量在不同背景下的最终实现效果。

      量化区间的设置与颜色最终量化数量相关。以300种为例,对HSV进行均匀量化,H量化为12种,SV分别量化为5种。

      使用FPGA实现时,FPGA除法默认不计算小数,直接得到结果整数部分,因此通过除以区间大小得到区间位置。颜色直方图统计时只统计1个参量,将3个参量统一量化为1个参量W, 由于人眼对色调最敏感,以H作为权重最大的部分,使相同色调的颜色体现在直方图统计上位置相邻,参量W由下式得到:

      $ W=25 h+5 s+5 v $

      (4)

      对于式(4),W最终取值范围为0~299,颜色被量化为300个整数值;HSV量化后的数据以hsv表示;Whsv分量一一对应,唯一的W值对应唯一的hsv组合。

      在FPGA中除法运算默认不涉及浮点数,根据符号使用的不同,“/”得到结果的商,“%”得到余数。h分量还原时如式(5)所示,商为h分量;余数部分再除以5得到的商为s分量,如式(6)所示;剩余的余数部分为v分量,如式(7)所示:

      $ h=W / 25 $

      (5)

      $ s=(W \% 25) / 5 $

      (6)

      $ v=(W \% 25) \% 5 $

      (7)

      要还原为量化前的HSV数据, 将hsv分量乘以区间数值并加1个中位数,以H为例,如下式所示:

      $ H=h \times \frac{360}{m}+\frac{360}{2 m} $

      (8)

      式中:m为量化区间数量;360/m计算得到量化区间大小;360/(2m)为量化区间中位数,本文中还原时选用还原区间的中间颜色表示该区间的颜色值。

    • 对量化完成的颜色参量W进行直方图统计,直方图统计通过对参数进行数目统计,记录每一参数出现的次数,统计完成后选择出现次数最多几种颜色作为背景图像的主色。

      FPGA使用双口内部随机存取存储器(random access memory, RAM)实现直方图统计功能[14]。RAM可以按照地址进行随机读取,以300种量化颜色为例,地址位0~299对应300种量化颜色,地址位存储的数据为该地址所代表颜色的出现次数。每当一个图像信号输入,将数据写入双口RAM中进行统计,场同步信号下降说明1帧统计完成,用于直方图统计的RAM输入输出,如图 4所示。

      图  4  进行颜色直方图统计的双口RAM模块

      Figure 4.  Dual-port RAM module for color histogram statistics

      对于图 4中的输入图像信号,即量化后颜色数据data_low,其数据有效信号datavalid作为写入指令。当写入指令有效,以data_low值为地址,读出RAM中的数据,加1后存入相同地址中,使用RAM的读写通道A完成统计。RAM的B读写通道用于读出数据和RAM清零, 1帧数据统计完成后,通过遍历的方式读取出统计完成的数据,并将RAM清零,统计的时序图如图 5所示。

      图  5  双口RAM时序图

      Figure 5.  Dual-port RAM time series diagram

      场同步信号VSYNC为高时,1帧图像正在输入,通过RAM的A通道进行直方图统计,B通道空闲。图 5中data_low数据3第1次出现时,读出RAM中存储数据为0,加1后将结果1写入RAM;data_low 3第2次出现,dout读出RAM中存储数据为1,加1后将结果2写入RAM,直到场同步信号拉低,1帧统计完成。

      场同步信号拉低后,生成用于读取数据的addrb和web,addrb从0~299遍历所有地址,每读取1个地址的数据后向同地址写dinb,dinb恒为0,实现RAM清零。最后将统计出的直方图数据分为多次寻找最大值,每次找到最大值后该地址数据清零,直到找出需要数量的最大值。

    • 当观察者观察较远数码迷彩伪装物体时,由于人眼视觉的角度区分能力只有约1′(0.017°),相邻的不同颜色迷彩斑点会在观察者眼中产生混色现象,使不同颜色斑点间边界模糊、变形,增加了伪装效果。因此当斑块在眼睛的视场中对应不到1′的弧对应的张角时,人眼分辨不出这个斑块。当观察者在D m外进行观察,该方块大小d计算如下式所示[2]

      $ d=D \times \tan 0.017 $

      (9)

      式中:tan 0.017≈0.00029。根据上述公式,可以得到在不同距离观察时迷彩单元的最小尺寸,后续以4 pixel×4 pixel作斑点尺寸。

    • 确定斑点尺寸后,以尺寸为模板,参考均值滤波的思路[15],对同一模板内颜色取均值,并用这个均值表示该模板大小内的所有像素点的颜色值, 通过模板窗口的移动遍历1帧图像,最终得到能表示背景颜色分布特征的马赛克化图案。

      以4 pixel×4 pixel的模板为例,先获得需要处理的模板内的数据。使用FPGA内部的RAM对输入数据行缓存,在同一时钟得到相邻的4行数据,再通过4组寄存器存储生成4×4的模板,对模板中16个数据的RGB分量相加求均值获得该模板的颜色平均值,模板生成操作如图 6所示。

      图  6  4×4模板生成示意图

      Figure 6.  4×4 template generation process

      当模板遍历完1帧800 pixel×480 pixel图像,得到200× 120个马赛克块的颜色数据,使用FPGA片上RAM完成存储,省去与外部存储器进行数据交换所耗费的时间。图 6中,马赛克数据在RAM中的存储地址与1帧图像的行计数X与列计数Y关联,对于图像中位置为(XY)的点,颜色信息存储在RAM中的地址为(Y/4-1)+200×[(X/4)-1],图像显示时可根据此关系读取RAM中地址生成1帧图像的颜色数据。

    • 对于马赛克化图案,每一个斑块颜色分别与不同主色进行色差计算,选择色差最小的主色作为该斑块颜色,1张图片替换完成后得到最终的仿造数码迷彩图。

      色差计算在RGB颜色空间进行,计算两颜色的空间距离得到色差值,由于RGB颜色模型不是均匀的颜色空间,按照空间距离得到的色差并不完全符合人眼视觉,在实际应用中往往采取给不同颜色分量加上一定权值的方法,RGB色差计算公式如下式所示[16]

      $ \begin{gathered} C= \\ \sqrt{w_r\left(r_1-r_2\right)^2+w_g\left(g_1-g_2\right)^2+w_b\left(b_1-b_2\right)^2} \end{gathered} $

      (10)

      式中:r1g1b1分别为RAM中存储的当前斑块的三通道颜色值;r2g2b2分别为主色的三通道颜色值;wr, wgwb为不同颜色分量的加权值,通常是固定常数。主色替换时使用不同权值对相同图片进行处理,根据生成仿造迷彩的效果判断该参数对最终结果的影响。

      FPGA实现过程中,以4种主色为例。将存储在RAM中的模板颜色数据读出,并计算与4种主色的色差C1C2C3C4,分为两组比较大小。当C1>C2时,比较器输出布尔值为1,复用器根据比较值结果选择较小的C2作为输出。C3C4通过相同方式比较获得较小值,两组比较后的数据再进行1次比较,得到4个色差数据中的最小值。将色差对应的主色值写入RAM替换原本模板颜色数据,主色替换模块结构如图 7所示。

      图  7  主色替换模块结构

      Figure 7.  Structure of dominant color replaces module

    • 本文中采用衡量图像结构相似度(structure similarity index measure, SSIM)算法[17]作为生成数码迷彩的结构性评价指标,颜色特征相似度算法[18]作为颜色评价指标。

      SSIM算法从亮度、对比度和结构3个方面进行对两幅图像进行相似度评估,计算如下式所示:

      $ S_{\mathrm{SSIM}}(x, y)=\frac{\left(2 \mu_x \mu_y+N_1\right)\left(2 \sigma_{x y}+N_2\right)}{\left(\mu_x^2+\mu_y{ }^2+N_1\right)\left(\sigma_x{ }^2+\sigma_y{ }^2+N_2\right)} $

      (11)

      式中:μxμy分别代表xy的平均值;σxσy分别代表xy的标准差;σxy代表xy的协方差;N1N2为常数,避免分母为0时带来的系统错误。SSSIM(x, y)最终取值0~1,SSSIM(x, y)越大,两图结构差异性越小。

      颜色特征相似度算法使用相关性计算公式计算两幅图像RGB颜色直方图,得到相似度数据,相关性计算公式如下式所示:

      $ \begin{aligned} & T\left(\boldsymbol{H}_1, \boldsymbol{H}_2\right)= \\ & \frac{\sum\left[\left(H_1(i)-\mu_1\right)\left(H_2(i)-\mu_2\right)\right]}{\sqrt{\sum\left[( H _ { 1 } ( i ) - \mu _ { 1 } ] ^ { 2 } \sum \left[\left(H_2(i)-\mu_2\right]^2\right.\right.}} \end{aligned} $

      (12)

      式中:H1H2分别代表两幅图像的直方图;i代表颜色直方图的横坐标,即颜色值;H1(i)和H2(i)表示在该颜色下,两直方图对应颜色的统计数量;μ1μ2分别为两个直方图的均值;颜色相似度T(H1, H2)取值0~1, 颜色相似度越大,两图颜色差异性越小。

      将生成的仿造数码迷彩和原始背景图进行相似度计算,相似度越高说明生成的迷彩效果越好。在保证其余参数相同的情况下,本文中通过分别改变生成数码迷彩时的主色数量、色差计算颜色权重、颜色量化数量,对结果与原图像的相似度进行对比,得到最适合常用环境下的参数。

    • 针对常见的林地背景,在其余参数不变的情况下,生成数码迷彩时使用不同数量的主色,结果如图 8如所示。表 1为不同数量主色得到的数码迷彩与原图对比后的SSIM以及颜色相似度得分。根据表 1中数据可知,当主色数量增加,颜色相似度得分逐步增加,4种主色与6种主色的颜色相似度差距不大。4种主色时SSIM得分最高,但优势不明显,根据陆军设备变形迷彩图册GJB 4004—2000[19],4种主色已可以满足常用场景的伪装需求,最终本文中仿造迷彩生成算法使用4种主色。

      Figure 8.  Comparison of results for different main color quantities

      表 1  不同数量主色SSIM以及颜色相似度得分

      Table 1.  SSIM and color similarity score of different main color

      dominant color SSIM color similarity
      3 0.5444 0.5031
      4 0.5482 0.5328
      6 0.5433 0.5420
    • 色差计算颜色权重对比结果如图 9所示。图 9中主色数量与颜色量化数量相同,通过肉眼直接观察,不同色差权重对结果的影响在主观上并不明显,从表 2中的SSIM得分可以发现,色彩权重的改变对最终结果的SSIM得分变化幅度在0.3以内,可以认为色彩权重的改变对最终的颜色的整体结构性影响较小。但在颜色相似度指标上,色差权重比为3∶6∶1时的颜色相似度相比其余权重分配时具有明显优势,可以认为此色彩权重下图像整体颜色与原图像相似度最高,最终本文中色差权重选择为3∶6∶1。

      图  9  色差计算权重不同结果对比

      Figure 9.  Comparison of results for different chromatic aberration weights

      表 2  不同色差权重SSIM以及颜色相似度得分

      Table 2.  SSIM and color similarity score of different chromatic aberration weights

      chromatic aberration weights(RGB) SSIM color similarity
      1 ∶1 ∶1 0.6138 0.4968
      2 ∶1 ∶4 0.6262 0.4718
      3 ∶4 ∶2 0.6190 0.4820
      3 ∶6 ∶1 0.6032 0.5704
      4 ∶8 ∶1 0.6098 0.5264
    • 颜色量化数量对比结果如图 10所示。图 10中,当颜色量化数量不同时,整体迷彩结果会有较大不同,300种量化颜色方案将H分量分为12种,SV分量分为各5组;900种量化颜色方案将H分量分为36种,SV分量分为各5组;3600种量化颜色方案将H分量分为36种,SV分量分为各10组;8100种量化颜色方案将H分量分为36种,SV分量分为各15组。

      图  10  颜色量化数量不同结果对比

      Figure 10.  Comparison of results for different color quantifications

      表 3为量化颜色不同时SSIM以及颜色相似度得分。可以看出,随着量化颜色数量的增加,SSIM得分和颜色相似度都随之增加,生成的迷彩效果越好。其中3600种量化颜色增加到8100种量化颜色,SSIM和颜色相似度得分明显小于从300种增加到3600种,使用了更多的资源,生成迷彩却没有明显的性能提升,综合考虑FPGA内部资源使用,最终本文中颜色量化数量选择为3600种。

      表 3  量化颜色不同SSIM以及颜色相似度得分

      Table 3.  SSIM and color similarity score of different color quantifications

      image number color quantifications SSIM color similarity
      1 300 0.8410 0.4662
      900 0.8786 0.5089
      3600 0.9195 0.5834
      8100 0.9266 0.6217
      2 300 0.7162 0.4745
      900 0.7218 0.5083
      3600 0.7242 0.5387
      8100 0.7324 0.5480
    • 本文中采用Canny算子边缘检测的方法,对设计出的迷彩图案的伪装效果进行评估[20]。对一张图片的部分区域分别使用一般数码迷彩以及本文中仿造数码迷彩遮盖,用Canny算子分别对原图以及两种情况下图像进行边缘检测,观察伪装前后的数码迷彩纹理特点,结果如图 11所示。

      图  11  边缘检测结果对比

      Figure 11.  Comparison of edge detection results

      根据图 11a图 11b对比可以发现,使用一般数码迷彩遮盖后,通过边缘检测可以明显检测出遮盖区域。图 11c中的仿造数码迷彩使用颜色量化数量3600种,色差权重比3∶6∶1,4种主色生成,白色框住部分为伪装区域,边缘检测结果明显好于一般数码迷彩遮盖,同时边缘检测结果与原始图片结果相似,不能明显分辨出伪装区域,说明本文中系统生成的仿造迷彩具有良好的伪装效果。

    • 为验证系统的实时性,将本文中的算法在PC平台通过Python实现,对比不同平台下该算法处理的时间,结果如表 4所示。实验结果表明,FPGA图像处理速度远高于PC平台,拥有较高的实时性。

      表 4  不同平台算法处理时间对比

      Table 4.  Processing times for different platforms

      platform resolution/pixels processing time/ms
      PC 800×480 1352.3
      640×480 1128.2
      FPGA 800×480 22.21
      640×480 16.53

      将本文中算法经过vivado2018.3综合仿真后,资源使用情况如表 5所示。

      表 5  FPGA资源占用情况

      Table 5.  FPGA resource usage

      resource utilization available utilization/%
      look up table 4335 20800 20.85
      block memory 30 50 60
      digital signal processing 5 90 5.55

      表 5中,除了片上存储RAM以外,其余资源使用量占所用芯片资源总量的比例小于30%,RAM资源使用量较大是因为没有使用外部存储器,但使用量仍小于70%,片上资源足够本文中算法所需,即能够使用FPGA实现。

    • 本文作者在现有仿造数码迷彩生成算法的基础上,设计并验证了一种基于FPGA的仿造数码迷彩生成算法。通过对不同主色数量、色差计算权重、颜色量化数量的结果进行测试,实验结果表明,提取出4种主色,主色替换时色彩权重3 ∶6 ∶1,量化颜色3600种时系统生成仿造数码迷彩在不同场景下都具有良好的效果;并集成图像传感器、FPGA芯片以及显示设备实现了仿造数码迷彩生成系统,该系统生成的仿造数码迷彩相比于一般数码迷彩具有良好的伪装效果,且处理时间远远小于使用PC机进行处理,更适合面对复杂场景的实时性处理要求的便携式系统。在图像分辨率800 pizels×480 pizels的情况下,1帧处理时间为22.21 ms,满足伪装效果的同时具有较高的实时性,验证了系统的实用性,对后续主动伪装的研究奠定了基础。

参考文献 (20)

目录

    /

    返回文章
    返回