BIM lightweight application scheme of rail transit based on WebGL
-
摘要: 为了解决轨道交通建筑信息模型(BIM,Building Information Model)在Web端的渲染需求,提出了基于WebGL(Web Graphics Library)技术、JSON(JavaScript Object Notation)文件格式、FastDFS存储技术3者相结合的轨道交通BIM在Web端的轻量化应用方案。通过Revit的二次开发,提取Revit自有的BIM表面模型数据,将其使用JSON的方式存储;针对完整BIM对应的JSON格式文件较大的问题,提出了多个JSON格式文件代替一个JSON格式文件的存储方案;使用FastDFS文件服务器,将这些JSON格式文件存储;利用WebGL分级渲染FastDFS中的JSON格式文件。所提方案实现了轨道交通各专业BIM Web端显示。试验结果表明,BIM轻量化显示方案拥有非常好的通用性,对轨道交通的大模型兼容性好,保证了原始BIM数据精确,实现了各专业BIM的交互。
-
关键词:
- 轨道交通BIM /
- 轻量化显示 /
- WebGL渲染 /
- JSON格式文件 /
- FastDFS存储技术
Abstract: In order to meet the requirements of Building Information Modeling(BIM) rendering on the Web side, this paper proposed a lightweight application scheme based on WebGL (Web Graphics Library) technology, JavaScript Object Notation (JSON) file format, and FastDFS storage technology. Through the secondary development of Revit, the BIM surface model data owned by Revit was extracted and stored in JSON format. Aiming at the problem of large JSON format file corresponding to the complete BIM model, a storage scheme of multiple JSON format files instead of one JSON format file was proposed; FastDFS file server was used to store these JSON format files; WebGL was applied to render hierarchically JSON format files in FastDFS. The scheme implemented the Web display of various professional BIM of rail transit. The test results show that this scheme has very good universality, good compatibility with the large model of rail transit, ensures the accuracy of the original BIM data, and implements the interaction of various professional BIM. -
截至2021年底,全国铁路运营总里程达到15万km,其中,高速铁路的运营里程达到4万km[1]。全国铁路机车配属2.17万台,其中,内燃机车0.78万台,电力机车1.39万台[1]。随着我国铁路行业的快速发展,机车车辆信息的管理愈发重要。在铁路机务站段,机车车号是机车出入库及检修的唯一标识,因此,对机车车号的定位检测是铁路机务部门生产管理的重要环节。
目前,我国铁路机车车号的定位检测主要依靠射频识别系统(RFID,Radio Frequency Identification System)。近年来,图像识别技术因其识别准确性、可靠性较高,且设备易安装等优点在铁路站段得到了广泛应用。基于图像识别的铁路机车车号检测方法包括基于人工提取特征的检测方法[2],基于深度学习的目标检测方法。人工提取特征的检测方法主要依据机车的整体颜色、机车车号特征、位置大小进行定位,但机车车号定位准确性易受到环境、光照、视频采集位置等因素的干扰,该方法适应性较差。基于深度学习的目标检测方法包括两阶段模型和单阶段模型2种检测算法,其中,两阶段模型检测算法主要有R-CNN(Region-Convolutional Neural Networks)[3]、Fast R-CNN[4]、Faster R-CNN[5]、Mask R-CNN[6];单阶段模型检测算法以YOLO(You Only Look Once)系列和SSD(Single Shot MultiBox Detector)为代表[7-10],将目标检测直接转化为分类和回归问题,检测速度较快。科研人员相继对图像识别技术在目标定位检测中的应用进行了研究,Jamtsho等人[11]提出在车牌定位前,用YOLO算法对车辆进行检测,提高了检测精度;赵伟等人[12]提出将车牌区域放大的方法,提高了复杂环境下车牌定位的检测精度,对有遮挡及不同光线下的车牌可实现定位检测;艾曼[13]采用Faster R-CNN算法实现了车牌定位检测,有效提高了车牌定位检测精度。
由于铁路机车车号场景存在车型、背景和拍摄角度的差别,且定位检测会受到光线、天气及机车行进速度的影响,因此,传统机车车号检测算法无法有效地进行定位检测,非限制场景下的铁路机车车号定位检测是亟需解决的难题。
本文以HXD1C型、HXD1D型、SS7E型、SS3型、DF型机车车号为研究对象,提出了基于YOLOv4-tiny模型的机车车号定位检测方法,利用空洞卷积替换标准卷积,扩大特征层感受野,提高模型的泛化能力。
1 相关技术
1.1 YOLOv4-tiny模型
YOLOv4-tiny模型是在YOLOv4模型基础上提出的轻量级检测模型,其参数量是YOLOv4模型的1/10,具有更快的检测速度,但准确度会有所下降。YOLOv4-tiny的物体检测速度在移动终端上可达到20帧/s。
YOLOv4-tiny模型网络结构如图1所示[14],其主干特征提取网络采用了CSPDarknet53-tiny网络。假设输入图像像素大小为608×608,通道数为3,经主干特征提取网络计算后,利用特征金字塔分别对主干特征提取网络的输出进行32次下采样和16次下采样,得到2种大小不同的特征图。其中,32次下采样的特征图通过上采样及卷积运算后与16次下采样特征图连接生成新的特征图,再根据该特征图进行目标检测,提高检测速度。
1.2 空洞卷积
为扩大卷积核的尺寸来获取更大的感受野,Yu等人[15]提出了空洞卷积,在卷积中添加间隔,使得在不改变分辨率且不增加参数的情况下,增大感受野,从而获得更多的细节信息。标准卷积与空洞卷积的区别如图2所示。图2(a)中标准卷积的扩张率为1,感受野大小为3×3;图2(b)为扩张率为2的空洞卷积,感受野大小为5×5,较标准卷积的感受野更大,增大检测分辨率。
2 铁路机车车号定位检测模型
由于YOLOv4-tiny模型的主干特征提取网络采用轻量化的CSPDarknet53-tiny网络,特征层输出只有19×19和38×38两种检测维度,虽然定位检测速度较快,但降低了模型定位的准确率。YOLOv4-tiny模型使用标准卷积,使得其感受野受到较大限制,无法获取更多的细节信息。
因此,为提升YOLOv4-tiny模型在非限定场景下的机车车号定位检测能力,更好地平衡性能和预测速度,本文设计的铁路机车车号定位检测模型(简称:本文模型)是在YOLOv4-tiny模型中增加了多层次空洞卷积融合模块,如图3所示。多层次空洞卷积融合模块将输入的特征图分别经过2个空洞卷积和1个标准卷积的运算,提高了卷积运算的感受野,获得比标准卷积更有效的特征层,通过特征融合将3个经不同卷积计算后的特征层进行连接,再经过一个标准卷积层来还原通道数,最后与CSPDarknet53-tiny主干特征提取网络进行关联。铁路机车车号定位检测模型的参数量仅为20 M。
3 模型试验与效果
本文试验硬件配置为AMD EPYC 7543处理器、80 GB内存、NVIDIA RTX3090显卡;软件运行环境为64 bit Ubuntu 18.04 操作系统、CUDA 10.2、Python 3.6,深度学习框架为Tensorflow 1.15。
3.1 数据集建立
目前,主流的车号数据集主要集中在传统的汽车车号图库方面,尚无专用的铁路机车车号数据集。因此,本文创建了铁路机车车号数据集(RLND ,Railway Locomotive Number Dataset)。RLND主要车型包括HXD1C、HXD1D、SS7E、SS3、DF,涵盖了机车正面、侧面及司机室的车号数据,如图4所示。数据集图片数量如表1所示,其中,机车正面车号图片550张、司机室车号图片500张、机车侧面车号图片450张,共1500张机车车号图片。
表 1 数据集图片数量数据集 图片数量 机车正面车号图片 司机室车号图片 机车侧面车号图片 训练集 1200 440 400 360 验证集 300 110 100 90 本文使用LabelImg工具,对 1500 张不同车型的机车车号图片样本进行了标注,同时,生成了对应的可扩展标记语言(XML,Extensible Markup Language)标签文件,用于记录机车车号区域的大小及位置,如图5所示。
3.2 数据增强
YOLOv4-tiny属于轻量级目标检测模型,检测速度较快,但网络结构较简单,为防止RLND对本文模型训练时造成的欠拟合及过拟合问题,采用Albumentations数据增强工具,对标注后的图像进行模糊、旋转、拼接、裁剪及空间变换。采用数据增强参数(Mosaic)方法,将4张机车车号图片拼接成1张图片,如图6所示,以生成更多训练样本,扩充检测场景,有效解决机车车号图片数据样本少的问题。同时,在训练中采用正则化权重衰退方法,控制参数的的取值范围,从而减小模型的复杂度,实现抑制过拟合的目的。
3.3 模型训练
本文模型训练的设定参数为:初始学习率为0.001、权重衰减为0.1、批量训练值为24、训练轮数为300轮。当模型训练至50轮时,将学习率设为0.0001;当模型训练至100轮时,其精度基本达到平稳状态。图7为训练过程中本文模型的损失函数曲线,横坐标代表训练轮数,纵坐标代表训练过程中的损失值。
由图7可看出,本模型的损失值在第100轮训练后下降至1,随着训练轮数增加至200以上,损失值下降到0.9左右,基本趋于稳定。
3.4 模型性能评价指标
为评估模型性能,本文采用精确率(Precision)、召回率(Recall)、平均精度均值(mAP)和运算速度(FPS)4个指标对本文模型的性能进行评估。精确率和召回率用于定量分析模型的错检率和漏检率,其计算公式分别如公式(1)和公式(2)所示。
$$ P = \frac{{TP}}{{TP + FP}} $$ (1) $$ R = \frac{{TP}}{{TP + FN}} $$ (2) 其中,TP为目标被正确检测的数量;FN为目标被错误检测的数量;FP为目标未被检测出的数量;P为精确率;R为召回率。精确率和召回率的值越高,表明检测中的错检率和漏检率越低。
平均精度均值是由不同召回率下的平均精度(AP)取均值得到的,计算公式为
$$A={\int _0^1} P(R) d R $$ (3) $$m=\frac{A_{1}+A_{2}+A_{3}}{3} $$ (4) 其中,P(R)曲线表示精确率和召回率的关系;A为平均精度;A1、A2、A3分别为机车正面车号、机车侧面车号、机车司机室车号的定位检测的平均精度;m为机车车号定位检测平均精度均值。
基于数据增强后的RLND,对本文模型进行了验证,为保证模型各类检测目标精确度的统一性,将可视化的分数阈值统一设置为0.5,模型对机车正面车号定位检测的精确率和召回率结果分别如图8、图9所示,精确率为100%,召回率为77.78%。表2为YOLOv4-tiny模型和本文模型的平均精度均值、检测速率对比。由表2可知,本文模型在进行机车车号的定位检测时,能在不降低检测速度的情况下,显著提升机车车号定位检测精度。
表 2 车号检测结果对比模型 平均精度均值/% 检测速率/(帧·s−1) YOLOv4-tiny模型 91.2 48 本文模型 99.44 50 3.5 试验效果
利用本文模型对非限制场景下的机车车号图像进行定位检测,定位检测场景主要包括自然光、强光、夜晚、大角度倾斜拍摄等,定位检测结果如图10所示。图10中,第1列为机车侧面车号图片,图片角度较大;第2列为机车司机室车号图片,机车车号目标较小,背景信息复杂;第3列为机车正面车号图片,机车车号目标较小,存在灯光照明影响。针对上述情况,本文模型均能准确定位检测出机车车号。试验结果证明,本文模型具有良好的泛化性和鲁棒性。
4 结束语
铁路机车车号定位检测是铁路机务部门生产管理的重要环节,本文提出了一种针对非限制场景的轻量级铁路机车车号定位检测方法:基于YOLOv4-tiny模型进行了改进优化,增加空洞卷积融合模块。建立了RLND,利用该数据集进行试验,试验结果表明,所提方法能够较好地完成非限制场景下的铁路机车车号定位检测,平均精确率为99.44%,扩大了图像检测的感受野,显著提高了检测精度。
-
表 1 常见文件服务器性能对比
文件服务器 性能 HDFS 支持大文件存储,不适合小文件存储 GlusterFS 支持多种数据类型,较适合大文件存储 mogileFS 支持多节点冗余,支持自动复制文件 FastDFS 支持多种数据类型,适用于海量小文件模式 表 2 JSON示例与JSON格式文件对应关系
JSON示例字段 JSON格式文件对应字段 VertexCoords 顶点集 VertexIndices 顶点索引集 Normals 法线集 NormalsIndices 法线索引集 Center 构件几何中心 Transparency、Color 材质 ID 唯一编号 -
[1] 王 浩. 基于达索平台的铁路隧道BIM建模效率提高的方法 [J]. 铁路计算机应用,2019,28(6):42-45. DOI: 10.3969/j.issn.1005-8451.2019.06.010 [2] SEPASGOZAR S M E, HUI F K P, SHIROWZHAN S, et al. Lean practices using building information modeling (BIM) and digital twinning for sustainable construction [J]. Sustainability, 2020, 13(1): 161. DOI: 10.3390/su13010161
[3] 刘北胜,尹逊霄,郭 歌,等. 铁路工程BIM协同设计与构件共享研究 [J]. 铁路计算机应用,2020,29(12):25-28. DOI: 10.3969/j.issn.1005-8451.2020.12.006 [4] LEE J, ANJOS E, SATTI S R. SJSON: a succinct representation for JSON documents [J]. Information Systems, 2020(97): 101686.
[5] AFSARIA K, EASTMANA C M, CASTRO-LACOUTURE D. JavaScript object notation(JSON) data serialization for IFC schema in web-based BIM data exchange [J]. Automation in Construction, 2017(77): 24-51.
[6] 赵 菲. 基于WebGL的古建筑BIM模型轻量化研究与实现[D]. 西安: 西安建筑科技大学, 2018. [7] 高 喆. 基于WebGL的建筑信息模型展示系统研究[D]. 北京: 北京建筑大学, 2018. [8] 张建平,张 洋,张 新. 基于IFC的BIM三维几何建模及模型转换 [J]. 土木建筑工程信息技术,2009,1(1):40-46. DOI: 10.3969/j.issn.1674-7461.2009.01.007 [9] 吴学明,梁礼绘,严 磊,等. 基于WebGL的高速公路BIM模型轻量化方法研究 [J]. 工程管理学报,2020,34(5):69-74. [10] 刘文杰. 基于HDFS的大数据文件传输实验设计 [J]. 实验室研究与探索,2019,38(12):132-134,215. DOI: 10.3969/j.issn.1006-7167.2019.12.030 [11] 周凡夫,管海兵,朱二周. GlusterFS缓存机制研究 [J]. 计算机应用与软件,2012,29(7):76-77,80. DOI: 10.3969/j.issn.1000-386X.2012.07.024 [12] PAREKH A, GAUR U K, GARG V . Analytical modelling of distributed file systems (GlusterFS and CephFS)[M]// VARDE P V, PRAKASH R V, VINOD G. Reliability, safety and hazard assessment for risk-based technologies: proceedings of ICRESH 2019. Berlin: Springer, 2020.
[13] BARDIS G, KOUMPOUROS Y, SIDERIS N, et al. WebGL enabled smart avatar warping for body weight animated evolution [J]. Entertainment Computing, 2019(32): 100324.
-
期刊类型引用(1)
1. 张慧飞,姜汇川,刘宁,李洪. 基于YOLOv5s模型的地铁列车车顶关键部件检测算法研究. 铁路计算机应用. 2024(12): 1-7 . 本站查看
其他类型引用(1)