APP下载

基于深度学习的CFD软件界面高精度识别

2023-10-10韦振宇罗祉婧郑荻凡曾泽楷钟汉斌

河南科技 2023年17期
关键词:字符卷积界面

韦振宇 罗祉婧 郑荻凡 曾泽楷 钟汉斌

(1.西安石油大学化学化工学院,陕西 西安 710065;2.西安石油大学西安市高碳资源低碳化利用重点实验室,陕西 西安 710065)

0 引言

计算流体力学(Computational Fluid Dynamics,CFD)通过计算机编程对化工反应器内的复杂流动行为进行数值模拟。相较于试验研究,CFD 模拟具有投资少、结果全面的优点,且不受测试手段的限制,但对工业规模反应器的CFD 模拟或多参数的CFD 优化,仍需大量时间。近年来,随着人工智能技术的快速发展,深度学习已逐步应用于CFD模拟中,能有效提高CFD 的模拟效率。例如,Ouyang等[1]提出一种基于CFD 和人工神经网络(artificial neural network,ANN)的混合模拟过程,根据固相动量和体积分数的误差来完成CFD 模拟和ANN 预测的切换,从而使CFD 模拟节省了40%的时间。Xie等[2]基于卷积神经网络(Conventional Neural Network,CNN)和长短期记忆神经网络(Long Short-Term Memory,LSTM)来建立预测模型,能很好地预测液-固流化床中的混合和分离行为,与原来的CFD-DEM 模拟相比,该模型节约了90%~95%的计算时间。虽然已有的研究在不同程度上均加快了CFD模拟的计算过程,但CFD模拟的工况设置及结果处理仍需大量的人工操作,且对个人经验的依赖较大。因此,通过人工智能来实现CFD模拟操作的智能化是提高研究人员工作效率的关键。

要实现CFD模拟的智能化,就要先解决CFD软件界面的高精度识别问题,为后续自动化和智能化操作奠定基础。目前,CNN 和LSTM 被广泛用于文字识别中。例如,江杨心[3]基于CNN 和LSTM 来构建中文发票识别模型,该模型的准确率达到88.2%。吴雪等[4]基于数据增强的卷积神经网络构建4 层火灾识别模型,该模型包括3 层卷积池化层和1 层全连接层,并对数据增强后的数据集进行仿真。在经过2 000 次迭代训练后,该模型在测试集上的准确率为92.51%。苏云涛等[5]利用LSTM 算法建立了复杂环境下的车牌识别[6]模型,通过实际采集到的车牌数据对该模型进行验证,试验结果表明,该模型的识别准确率高、运行效率快。以上这些研究均体现出文字识别应用具有广泛性[6-11]。而在化工方面,虽有相关流体识别[12]及图像重构[13]等的研究成果,但缺乏对CFD软件界面文字识别的研究。

因此,本研究基于卷积神经网络和双向长短期记忆神经网络,建立CFD 软件界面识别模型,生成符合CFD模拟实际操作场景的数据集,并将其用于对模型的训练中,最终通过数据增强、再训练等技术实现对CFD模拟软件界面的有效识别。

1 模型搭建及配置

1.1 CRNN网络

基于深度学习的文本识别的步骤如下,即预处理、特征提取、序列建模、预测转录。其中,较为典型的网络是CRNN 网络[3],如图1 所示。CRNN 网络由卷积神经网络(Conventional Neural Network,CNN)、双向长短期记忆神经网络(Bi-directional Long Short-Term Memory Network,Bi-LSTM)及连接时序分类器(Connectionist Temporal Classification,CTC)组成。

图1 CRNN网络结构

在CRNN 网络中,CNN 层用于提取文本特征序列。由于文本任务中的卷积网络关注更多的是图像的局部信息,缺乏长依赖的联系能力,只依靠卷积网络,难以挖掘出文本之间的上下文联系。因此,可在CRNN 网络结构中的CNN 层后接入Bi-LSTM,用来增强文本的上下文联系,还能有效解决长序列训练过程中梯度消失和梯度爆炸问题。为有效解决对同一字符可能多次预测的问题,同时提高预测精度,CRNN 网络通过接入含有独特合并序列机制的CTC 来去除重复字符,通过CTC 引入blank字符,能有效避免合并本身存在的字符。

1.2 训练配置

本研究在飞桨(PaddlePaddle)深度学习框架的基础上对模型进行训练。模型的CNN部分以MobiletNetV3 网络为骨干,其优势在于模型体积小,对网络训练和推理所需的计算资源更少。模型具体配置见表1。设置模型最大迭代次数为500、批处理大小为64、初始学习率为0.000 5。采用Cosine学习率衰减策略可逐步减少学习率大小,从而使模型能尽快收敛。同时,使用自适应动量估计(Adaptive moment estimation,Adam)对模型进行优化,并采用L2正则化防止模型过拟合。

表1 训练配置

1.3 数据集建立

在数据集建立过程中,创建自定义数据集CFDataSet,创建流程如图2 所示。首先,根据CFD 软件界面内容及配置文件来确定界面内容的组成形式,并建立相应的字体文件和配套的字典文件。其次,从字典文件中随机抽取出相应长度的字符串,并将其导入到PIL 库中,在相应尺寸及背景下生成带有字体样式的文本图片,试验中共生成约250 000 个文本图片及相应文本标签。最后,根据划分比例来随机抽取相应数量的文本图片及标签,并移动到单独文件夹中,据此生成训练集、验证集、测试集,并将其用于对模型的训练及测试中。

图2 图片生成流程

此外,对该模型的训练还会用到公开数据集ICDAR2015(Incidental Scene Text Challenge)。其训练集的样本数量为1 000、测试集的样本数量为500。由于采集到的数据集中的字符区域形状多为任意四边形,在模型训练中加入ICDAR2015 公开数据集,能有效增强输入数据的多样性,提高模型的泛化能力。

1.4 数据增强

在加入ICDAR2015 公开数据集丰富数据的同时,利用数据增强技术对自建数据集CFDataSet 进行扩充,对原始图片进行变换处理(如随机裁剪、颜色干扰、随机噪声、模糊等),可增强图片的多样性。该方法能有效解决模型训练易出现的过拟合问题,从而增强模型的泛化能力。本研究采取的数据增强手段如图3 所示。①图片模糊。随机使用高斯滤波、均值滤波、中值滤波对图片进行模糊处理。②随机裁剪。随机裁剪掉原始图片部分边界。③图片扭曲。对原始图片的线条进行一定程度的弯曲畸变。④仿射变换。对原始图片进行旋转、缩放、平移、剪切。

图3 数据增强手段

2 试验结果与分析

为突出PaddleOCR 处理图片的能力,同时也可让试验更具参照性。首先,对开源Tesseract 识别引擎与PaddleOCR 识别CFD 界面内容的效果进行对比。其次,利用飞桨开发的识别框架PaddleOCR 来建立模型,并对其进行训练。试验结果表明,利用PaddleOCR 识别套件开发出的模型能实现对CFD界面的高精度识别。

2.1 Tesseract与PaddleOCR效果对比

2.1.1 文本检测。以CFD 界面区域为例,对Tesseract 与PaddleOCR 的直接识别效果进行对比,结果如图4 所示。图4(a)为CFD 界面,图4(b)为Tesseract 检测结果,图4(c)为PaddleOCR 采用DBnet 网络的检测结果。通过对比Tesseract 与PaddleOCR的直接识别效果可知,Tesseract检测级别为字符级,PaddleOCR 检测级别为单词级别检测过程。字符级别的检测要求是将每一个字符都单独分割出来,对检测要求更高,如果一个字符未被检测出或连续几个字符未被分割开,会对识别精度产生较大的影响。PaddleOCR 只是将单词区域检测出来,对检测精度的要求不高。但从图4(c)的检测效果来看,“Solution”和“Results”对象未被检测出,这是因为PaddleOCR 基础模型并未根据实际应用情况进行微调整,说明PaddleOCR模型有待改进。

图4 Tesseract与PaddleOCR检测对比

2.1.2 文本识别。由于软件界面的内容丰富,在识别过程中,Tesseract 和PaddleOCR 均出现对图标符号误识别的情况,但PaddleOCR 对图标符号的处理会更好。Tesseract 与PaddleOCR 的识别对比如图5 所示。此外,因Tesseract 存在不少弊端,尤其是对深色背景及分辨率不高的图片识别时,Tesseract的错误率更高,这是因为在文字检测过程中,字符未被完全检测出,导致识别错误率高,甚至无识别内容。虽然其有配套的校正工具jTessBoxEditor,但其对文字的校正过程过于烦琐,且效率不高,导致对深色背景及分辨率不高的图片几乎无法校正。“Parallel”深色图片的校正过程如图6 所示。校正后的识别结果为“ee ey”,可见其校正并未改善识别结果。因此,Tesseract 未被应用于CFD 软件界面的识别中。而在PaddleOCR 检测识别中,即使存在着少量的遗漏情况,但通过大量图片训练,也能轻易改善这种情况,从而实现高精度识别目标。

图5 Tesseract与PaddleOCR识别对比

图6 Tesseract校正及结果

2.2 PaddleOCR训练模型对比

在PaddleOCR 训练模型中,使用预训练模型en-number-mobile-v2.0可加快训练进程,这是飞桨团队公开的英文识别模型。同时,在3 种数据集模式下,即公开数据集ICDAR2015、自建数据集(CFDataSet)及二者的组合,分别对PaddleOCR 模型进行训练,并对得到的三种模型(CFD-m-1、CFD-m-2、CFD-m-3)进行评估,结果见表2。

表2 PaddleOCR训练模型对比

由表2 可知,基于ICDAR2015 数据集训练得到的模型(CFD-m-1),因训练场景不适合实际应用场景,且训练容量较少,导致其对CFD 界面几乎无法识别。基于CFD 界面所建立的数据集(CFData-Set),用其训练出的模型CFD-m-2 对CFD 界面的识别效果明显提高。同时,CFDataSet、ICDAR2015数据集融合训练所得到的模型(CFD-m-3),因训练数据复杂度更高、模型泛化能力更强,识别精度也得到进一步提高。后续需要继续增强数据集的容量及复杂度,并优化模型参数,从而改善模型的识别效果。

3 结语

本研究基于CFD 软件界面内容创建了多尺寸、多背景、多字体的数据集,并利用数据增强技术来增强数据集的多样性,能有效防止模型出现过拟合的问题。基于自建数据集和公开数据集训练得到的模型,因数据集在内容及组成形式丰富且复杂,模型泛化能力更强,可明显提高CFD模拟软件界面的识别精度。本研究初步实现了对CFD 模拟软件界面的高精度识别,为实现CFD模拟操作的智能化奠定重要基础。

猜你喜欢

字符卷积界面
寻找更强的字符映射管理器
基于3D-Winograd的快速卷积算法设计及FPGA实现
国企党委前置研究的“四个界面”
字符代表几
一种USB接口字符液晶控制器设计
从滤波器理解卷积
消失的殖民村庄和神秘字符
基于傅里叶域卷积表示的目标跟踪算法
基于FANUC PICTURE的虚拟轴坐标显示界面开发方法研究
人机交互界面发展趋势研究