1. 引言
数据作为企业重要生产要素之一,在目前数据驱动决策的共识下,数据价值挖掘为数据终端使用者决策提供支持性作用。随着大数据时代的不断发展,数据在获取方面也面临着诸多问题,例如数据多源头、数据多模态、数据分散化与数据海量化等等,数据分散化使得各业务分立为“数据孤岛”,业务“信息孤岛”也因为数据的低流通而产生,而数据的多源多模特征导致数据难以在性质上实现有效集成与融合,更多则是单纯地体现为数量上汇集,若海量的数据只是集中,而不进行清洗或同特征数据融合,最后是由终端决策用户自主集成融合海量且不一的数据,一方面庞大的数据量加大了用户的决策压力,另一方面,用户对专业数据的处理与理解存在偏差,其最后决策将与实际情况有所出入,甚至相悖,严重浪费了数据的潜在价值,因此在获得源头数据后如何进行整合与管理也是目前不可忽视的一环。
综上所述,本文提出多源多模数据动态加载技术及数据管理平台建设,构建集数据采集、接入、清洗与融合的一体框架,最后在数据管理平台进行集成管理,用户无需切换即可实现对同一实体或同一主题的相关信息的全方面预览,实现不同类型的信息彼此之间相互印证,一方面摒除噪声数据的干扰,另一方面将已得信息与实际业务进行比较,在验证真实的同时明示两者差异,为业务纠偏与控制提供依据,因此,该技术框架能为终端决策用户挖掘数据价值,同时数据管理平台的建设能提供视图与决策便利,提高质量与效率。
2. 相关概念与研究进展
2.1. 多源数据及其融合
数据采集与传输过程中常伴随着噪音与数据失真的情况。噪声数据是指错误或偏离期望的数据,而数据失真则是原始数据经过计算机或人为处理造成的数据结果与真实情况出现偏误,这些均对数据分析造成了干扰,因此单一来源的数据在清洗之后,实际可用的数据量会有所减少,而低数据量情况下的决策更具有偶然性,因此在数据采集过程中更倾向于实现数据的多源获取。
多源是基于数据源头具有差异而进行辨析,多源数据也是因该差异而产生的数据,但多源数据可以是同一模态,也可以是不同模态,因为多源更强调的是来源的异质,例如不同地理位置的同一类型传感器数据则可划分为多源数据。
数据融合 [1] 是在一定条件下对来自不同来源的数据进行分析和综合的信息处理。其目的是消除数据冗余,并使用多个数据源进一步更正数据,并从每个数据源中完全过滤单个信息,可以明显提高数据的完整性、可靠性和准确性。多源数据融合概念首先源于20世纪70年代 [2] ,现如今各行业均涉及数据多源化并探索融合手段。工程建设行业系统复杂,涉及规划、设计、施工、运维等多个环节,数据多源在工程建设中主要体现在工程空间规划数据、地理信息系统数据、图纸和设计文档数据、工程量清单和成本数据、施工进度形象和产值报告数据、材料和设备数据、质量和安全记录、传感器和监控数据、项目管理信息、BIM (Building Information Modeling,建筑信息模型)、设施运维记录、能耗数据等。由于会涉及数据不同的格式、标准和质量,该多源数据主要挑战在于数据来源的多样性和数据的异构性。
2.2. 多模态数据及其融合
多模态不等价于多来源,多模态更强调数据的不同类型或形式,例如对同一场景状态采用文本与图像的不同表达,或单一模态传感器采集速度与流量等不同场景。尽管多模态数据在存储结构、表现形式、语义及其表达等方面表现不一,但它们之间也存在着某种联系,因此多模态融合主要关注于如何整合和分析不同类型的数据,以获取某一实体更全面的信息。工程建设行业通过对多模态数据的融合和分析,可实现更全面项目信息的获取,有助于改进项目设计、施工和维护等过程。
多模态数据融合是指将抽取自不同模态的数据融合成多模态表征,用以刻画某一实体的不同方面或对该实体同一方面进行相互论证,从而获得该实体较为全面的特征数据 [3] ,最早的多模态数据进行融合是对视听语音识别(ASVR),其目的是在于通过视觉模态用以提高语音识别的准确性,目前实现多模态融合的算法主要是有卡尔曼滤波法、神经网络方法、Bayes估计法和证据理论推理,而这四类融合算法均被要求具有鲁棒性和高容错性 [4] 。
随着人工智能的迅速发展,学术界基于多模态融合之上提出跨模态数据融合,跨模态数据融合是基于关系抽取而得到不同模态间的交互信息,再与数据自身结合,便得到相互独立的特征,相比于多模态,通过该融合方法得到的数据特征准确程度更高,同时也更具有完整性 [5] 。
随着时代的不断进步,互联网背景下多源多模数据具有混合并存、相辅相成与密不可分的特点,因此两者的区分判断其实也并非绝对,例如有些数据在底层来源存在差异性,但其是从不同方面来表达同一顶层语义 [5] 。
3. 多源多模数据动态加载技术框架
3.1. 数据采集
数据采集是指从客观世界选取对象、进行检测与获得原始数据的过程,采集方法的选择需要同时考虑数据源的物理性质与数据分析预期目标这两要素 [6] 。不同的采集方法得到不同的数据类型,由此也进一步显示出数据具有多源多模的特征。建筑工程数据主要可以从传感器、BIM、GIS、倾斜摄影技术、项目其他业务系统等方式采集得到。
3.1.1. 传感器
传感器常用于检测物理环境变量,并调转为可读数字信号,并通过有线或无线方式传输给数据中台以实现下一步处理。工程施工中的传感设备是将反映各施工状态的物理信息转化为计算机数据,从而实现信息收集的自动化。用于施工中的传感器主要有测温传感器、位移传感器、压力传感器、重量传感器、倾角传感器、回旋传感器、风速传感器等等。
3.1.2. BIM
BIM技术在工程各阶段的运用逐渐普遍化,相关技术人员可在BIM软件中实现工程设计构思与虚拟落地,其构成的数字三维环境为项目全过程、全部门提供“数字蓝图”。在工程实际中,BIM模型主要包括:Revit模型、CityEngine模型、3DMAX模型、C4D模型、Rhino模型、SketchUP模型、Blender模型等,并可以转化为IFC格式作为BIM技术实现集成的重要前提和标准化的基础。为准确了解工程实况,目前工程已实现BIM、GIS与倾斜摄影等技术的相互关联运用。
基于BIM三维视角,实现与施工进度或施工时间的结合,生成“3D + Time”的四维模型,通过颜色变化等方式实现项目在建、超前和逾期状况的直观可视 [7] ,有助于相关利益者的下一步决策。
3.1.3. GIS
地理信息科学(Geographic Information Science, GIS)技术又称地理信息系统,作为一种用来捕获、存储、分析和展示地理空间数据的技术,常被用来对各种资源、环境信息数据进行管理。GIS数据主要是依赖于卫星遥感、航空影像、地面调查等途径获取,构成项目重要基础数据之一。
GIS技术还能实现数据信息的动态收集,在与计算机技术结合下促进数据的进一步整合,形成项目地况的变化历程,有利于分析地况变化程度或规律,促进工程空间模型的完善。
3.1.4. 倾斜摄影技术
准确实况测量是工程建设的重要前提之一,但地区差异下地况也存在较大不同,同时还可能具有较高复杂性,因此工程测量的难度相对较高。为了确保工程测量的准确性,倾斜影像能实现多个角度观察项目建筑,极大地弥补了基于正射影像分析应用的不足,国内引进了倾斜摄影测量技术 [8] 。
工程项目在使用倾斜摄影采集数据时,选择大重叠度飞行、多线路飞行的观测方式,而且倾斜相机均配有POS系统,建立影像获取瞬间像点与对应物点之间所在的几何关系,确定被摄影物体的空间形状,能真实表达实景地理信息,输出直观可视化的倾斜摄影模型。
3.1.5. 项目业务系统
项目各业务系统具有内在联系,因此工程全过程数据采集也包括业务系统数据的上传。例如线上表单系统中的人工文本填报,人工上传业务或人员信息数据、上报项目进度与产值等等。人工还能实现文本之外的其他数据更新,如图片类数据,可以在业务状态等方面与传感器监测或倾斜摄影产生协助或互补效应。
3.2. 数据接入
完成数据采集后,将其接入存储平台以供后续处理,如项目业务中的表单数据可直接接入到数据库中,传感器数据则通过物联网平台接入到数据库中。
接入的数据根据结构不同可划分为结构化数据、半结构化数据、非结构化数据,并存储于相应的数据库中。数据结构类型见表1。
结构化数据是指遵循预先设定的架构数据,即关系数据,关系型数据库表就是最常见的结构化数据,这类数据便于分析、查询与存储 [9] 。结构化数据存储是基于构建关系数据的接入,包括MySQL、GAUSSDEB、SQL Server等关系型数据库,以及Teradata、Netezza、Vertica等MPP数据库。
半结构化数据是介于结构化和非结构化之间,具有一定结构模式,但不符合数据库表的关联结构模式,这类数据通常可存储在MongoDB、Elasticsearch等非关系型数据库中。半结构化数据的接入可通过接口引接实现,其中引接时需注意接口元数据的定义。此外,为了提升半结构化数据利用度与便利度,可以利用正则表达式或本体概念知识库来实现半结构化数据的结构化处理。
非结构化数据则是不具有固定结构模式。在实际应用中,80%的数据均为非结构化数据,这类数据中蕴含着巨大价值,但其内容也难以直观了解,只能整体存储并采用新技术进行挖掘 [10] 。非结构化数据接入主要是通过FTP、本地文件、HDFS、S3等传输和存储方式,因为非结构化数据本身无法直接提供信息,所以需要采用数据打标签方法,为非结构化数据生成特性标签,并对特性标签进行管理形成标签库。这个过程采用人工手打标签方法耗时、耗力,可以通过深度学习训练的多模态数据源打标签方法节约成本。
3.3. 数据清洗
数据清洗是指通过一系列处理步骤以提高数据质量和可靠性,包括去除数据中的噪声、异常值和缺失值等,因此数据清洗技术被视为数据质量提升的过程中的必要步骤,为后续数据分析提供了必要的基础。本文基于数据采集中源数据类型进行数据清洗。
3.3.1. 传感器数据清洗
传感器中的数据噪声主要来自于传感器本身的误差、信号传输过程中的干扰以及环境的干扰等因素。为了减小这些噪声对数据分析和应用的影响,需要采用合适的数据清洗算法。常见的数据清洗算法包括滑动平均、中值滤波和加权滤波等。
滑动平均又称移动平均,是通过计算一定时间段的数据平均值实现噪声的消除,移动平均下又可分类为简单移动平均(SMA)与加权移动平均(WMA),计算公式分别如下,
表示时间点t的简单移动平均值,
表示时间点t的数据,而n为时间段的长度。
(1)
加权移动平均计算公式如下,其中
表示时间点t的加权移动平均值,
表示时间点t的数据,
表示第i个数据点的权重,n为时间段的长度。
(2)
中值滤波是利用中值来代替数据中的异常值,能有效地消除突发的噪声干扰,加权滤波是根据数据的可靠性和权重对数据进行加权平均,以提高数据的准确性。
除传感器数据清洗外,数据校准也是其中的重要环节,数据校准是将实际值与标准值进行比较以确定误差,同时进行相应误差补偿。传感器节点在生产过程中存在着一定误差,因此需要进行校准才能得到准确的测量结果。数据校准主要包括静态与动态两种方式,其中静态校准是指在传感器节点不发生移动的情况下进行校准,常见的静态校准方法包括零点校准和灵敏度校准;动态校准则是在传感器节点发生移动的情况下进行校准,动态校准方法包括自适应校准与在线校准。
传感器数据清洗与数据校准是确保数据质量和可靠性的重要步骤。通过适用的清洗算法,实现测温传感器、位移传感器、压力传感器、重量传感器、倾角传感器、回旋传感器与风速传感器等数据噪声与异常值的去除,提高数据准确性,而通过数据校准主要消除上述传感器的节点误差。
3.3.2. 图片数据清洗
神经网络作为数学或计算模型,主要是模仿生物神经网络的结构和功能而实现。神经网络由大量人工神经元组成,根据不同连接方式可构建不同的网络,卷积神经网络(Convolutional Neural Network, CNN)便是其中之一。正是因为神经网络能够像人一样具有简单的决定与判断能力,因此CNN在图像和语音识别方面具有较好的表现,同时也在该领域被广泛应用。
CNN的结构可分为三个层次:卷积层、池化层与全连接层。卷积层主要是用于提取输入数据的局部特征,并进行数据特征提取和降维。卷积层的参数共享和稀疏连接的特性有助于减少神经网络的参数数量,促进模型的训练效率和泛化能力的进一步提高;池化层则用于降低特征图的维度,通过对输入数据局部区域进行池化操作,得到更小的特征图,从而进一步降低计算复杂度与内存消耗;全连接层中的各个神经元与前一层的全部神经元进行连接,其在CNN中从单个分类器角色,整合具有类别区分性的局部信息。
随着网络层数加深,计算量增加、过度拟合与梯度消失问题显著,有学者在CNN基础上进一步提出DnCNN (Denoising Convolutional Neural Network,用于去噪的卷积神经网络) [11] 。DnCNN是将网络学习过程中的输出直接改为残差,而非在神经网络层之间增加连接。DnCNN网络强调残差学习和批量标准化,能够避免梯度消失或梯度爆炸情况,减小误差,有力解决工程建设行业中图片数据中高斯去噪问题。
3.3.3. 文本数据清洗
文本数据是指由字符组成的数据,其通常不能直接进行数学运算,如英文字母、汉字等等。与传统数据库中的数据不同,文本数据具有非结构化、高维和语义差异等特点,这类数据清理主要包括以下步骤。
(一) 去除特殊字符。文本数据中通常包含各种特殊字符,其对于文本分析帮助甚微,为提高文本数据分析效率需将其去除。而去除特殊字符方法有正则表达式匹配、替换与使用字符串操作函数去除。
(二) 去除停用词。停用词是指在文本中具有较高出现频率,但对分析不存在实际意义的词语,例如“的”、“是”等词语。去除停用词可实现文本数据高维降维,有利于提高后续分析的效率与效果。而去除停用词常用的方法有停用词列表实现去除、机器学习算法自动识别去除。
(三) 大小写转换。文本数据分为中文与英文文本,而英文文本数据中的大小写通常不具有规范性,需进行转换与统一,通常是转换为全部大写或全部小写。
(四) 去除错误与拼写错误。文本中存在错误与拼写错误会干扰文本数据分析和应用。常用的解决方法有拼写检查纠正、语言模型纠正。
3.4. 数据融合
数据融合注重互补与冗余信息的优化,实现将多源多模数据进行有机组合,形成一个崭新且更为全面的数据集,而且该数据集具有内在一致性,能有效提高数据质量与基于数据进行决策的决策质量。目前数据融合已广泛应用于诸多领域,包括无线传感器网络、物体跟踪、目标检测和识别等等。项目多源多模数据融合包括通用模型融合、倾斜摄影模型融合、CAD图纸融合、影像数据融合与GIS数据融合等等,其中通用模型融合见图1,不同模态数据通过插件实现模态一致化,并实际应用于各类引擎,如Unity、Cesium与Forge,能够极大程度提升虚拟环境的渲染效果。
其中,倾斜摄影模型融合见图2。

Figure 2. Fusion of oblique photography models
图2. 倾斜摄影模型融合
4. 数据管理平台建设
4.1. 数据管理平台总体架构

Figure 3. Overall architecture diagram of data management platform
图3. 数据管理平台总体架构图
数据管理平台是以BIM、GIS、倾斜摄影等融合的基础空间数据为基础,融合工程建设信息、监测监控信息、运维信息、工程建设进度及其阶段信息、运维阶段的数据管理、查询与可视化等等,还提供了用户管理、权限管理、平台日志管理、系统监控等功能,确保平台正常运行,并保障用户数据的安全和可靠性。同时,该管理平台还可对工程核心数据进行实时监控与动态刷新,为决策人员提供了对整个平台的全面管理和监控功能,而平台风险点智能预警功能,则提醒相关人员发现风险点,有效缩短管理人员决策路径,提高决策效率。
数据管理平台主要包括项目数据采集层、数据接入层、数据中台层、数据应用层与数据用户层。平台总体架构见图3。
数据管理平台实现多维度采集数据,后按照数据结构分类接入至各自数据库存储,并在平台内部的数据中台层进行数据处理,进一步将多源多模数据根据业务主题进行分类与融合,实现项目各主题内容的多维度、多形式、更全面展示,最后数据融合结果通过数据应用层实现落地。数据的采集、接入、融合与应用逐步促进项目数据资产的累积与沉淀,终端用户根据累积数据进行业务决策,即数据平台构建了数据从项目感知数据到用户数据决策反作用于项目的闭环流程,通过数据服务化能大幅提高数据的流通能力、共享能力与赋能业务能力,挖掘与管理数据价值。
4.2. 数据管理平台技术架构
数据管理平台通过网页技术实现从多个数据源中获取格式和类型相异的数据,并能在网页中实现动态加载和展示,提供丰富的数据交互和可视化效果。该平台的动态加载与展示主要依赖于前端技术、数据接口、数据获取和处理、数据展示而实现。
项目前端使用了HTML、CSS和JavaScript来实现网页的结构、样式和交互。常用的前端框架如React、Vue等可以提供组件化的开发模式,方便管理和复用代码,模型显示采用WEBGL,OPENGL等技术,利用GPU进行图形渲染,能够快速处理复杂的3D图形数据。
为实现多源数据获取,项目使用后端技术提供数据接口。常见的后端技术有Node.js、Python、Java、C#等,项目使用这些技术搭建服务器并提供RESTfuL API接口。
在数据获取与处理方面,前端通过XMLHttpRequest、Fetch APl或者Axios等技术发起HTTP请求,从数据接口获取数据,同时对项目模型进行适当的处理和转换,行成前端支持的数据格式,便于数据管理平台实现进一步融合处理。
获取到融合数据后,项目使用JavaScript框架或原生JavaScript来操作DOM,实现数据在网页的动态加载。数据管理平台利用HTML、CSS进行可视化样式布局,以及JavaScript来处理交互逻辑,实现动态更新和加载。
4.3. 数据可视化平台
数字总览平台作为数据管理平台下设的二级可视化平台,提供了3D可视化、数据分析呈现、GIS地图等多元数据分析手段,并可联动子系统平台以实现可视化的集成展示。
数据总览平台基于子系统在使用过程中所产生的数据或综合数据主题,设计相应的数据主题页面,并全面、高维显示数据分析图表或相应的数据,同时对所需的数据栏提供自定义编辑工具。除此集成展示数据分析结果,总览平台还能与各子系统可视化平台进行信息交互与视图切换,信息交互实现多源多模信息关联分析,视图切换可实现对数据分析结果的多形式展示,且还能对同一主体或主题数据进行细节呈现,为管理者决策提供了支持性作用。
5. 结语
本文建立了一个集数据采集、数据接入、数据清洗与数据融合的一体化框架,形成了解决工程多源多模数据的动态加载技术。基于数据挖掘、数据分析的工程管理平台建设将成为工程智能信息化的发展方向,本文也对数字管理平台建设进行探讨,同时研究了该平台的总体架构与技术架构,梳理出项目数据资产沉淀路径,借助平台数据可视化功能,辅助终端用户实现数据决策。