肖 尧,钟登华,余 佳,胡奕可,徐国鑫,陈秋同
(1.天津大学 水利工程智能建设与运维全国重点实验室,天津 300072;2.中国农业大学 水利与土木工程学院,北京 100083;3.陕西省引汉济渭工程建设有限公司,陕西 西安 710302)
隧洞工程是国家水网建设的重要构成,其施工进度制约着国家水安全保障规划的实施和水网经济带的构建[1-2]。准确获取施工活动时间信息是隧洞施工进度分析与决策的重要基础[3]。施工日志是记录施工过程的重要载体,从大量施工日志中提取施工活动时间是获取隧洞活动时间信息最常用的方式之一。该工作是一种知识抽取[4],其重复性高、作业量大。然而,当前主要依赖于人工阅读和手动统计[5]的提取方式,过程繁琐、可追溯性差,且效率低、易出错,难以兼顾提取的效率与准确性。因此,有必要提出一种针对隧洞施工日志中的活动时间信息智能高效提取的方法,进一步提升活动时间信息获取的效率、准确性和智能化水平[6]。
隧洞活动时间记录的一种常见形式是在施工日志中制作一个表格模板(下文称“时刻-活动表”),并在其中通过绘制横道图线段记录施工活动时间。提取此类活动时间信息的关键在于检测“时刻-活动表”中的手绘横道图线段并将其转换为施工活动时间信息。线段检测是计算机视觉中一个广泛研究的问题[7],目前国内外学者已经提出了诸多线段检测方法并在许多领域得到了应用。其中,霍夫变换(Hough Transform,HT)是最经典的传统线段检测方法之一[8],其原理是将笛卡尔坐标系下的直线映射到参数空间中的点,通过对参数空间检测局部峰值来检测图像中的直线。张培宣等[9]将霍夫变换应用于海冰厚度识别,从而自动获取海冰厚度参数。Matas等[10]提出了一种渐进概率霍夫变换方法,通过为图像边缘投票的方式检测边缘所在的直线,并优化了检测直线所需的计算量。Lu等[11]提出了一种并行霍夫变换方法,用于高清视频中的实时直线检测。除了霍夫变换外,Von等[12]为了提高线段识别的准确性和效率,提出了LSD(line segment detection)算法,基于梯度构建每个像素点的特征来表征其可能所处的直线,并通过聚类和筛选得到直线检测的结果。许承权等[13]利用LSD不受边缘检测结果影响的优点,将其应用于倾斜摄影直角相控点自动检测中。Cuneyt等[14]根据亥姆霍兹原理(Helmholtz principle)提出了线段检测器EDLines,该方法不用进行复杂的参数调整,且运行速度比LSD快了近10倍。邵云峰等[15]将该方法应用于输电线路异物智能检测中,通过将EDLines与线段融合算法结合,获得输电线边缘直线。Lu等[16]提出了CannyLines算法,该算法提高了边缘检测的效果,大大提升了检测结果的准确性,极少产生误检。然而,绘制横道图的施工日志是一个包含印刷文字、表格模板、手绘横道图和手写文字的图像,线段种类复杂繁多、相互交错。上述传统的线段检测方法仅能对图像中出现的所有线段进行检测,难以将手绘横道图从施工日志的其他复杂线段中区分出来。
随着人工智能的发展,将深度学习模型应用于线段检测领域已成为研究热点[17]。基于深度学习的线段检测模型主要依靠卷积神经网络(Convolutional Neural Network,CNN)提取图像中的线框(线段和交点)特征,再利用提取到的特征确定线段和交点之间的相互连接关系[14]。Huang等[7]首次提出线框解析(Wireframe Parsing)的概念,并训练两个分离的神经网络分别从图像中预测交点和线段的热力图,再通过启发式线框融合算法将两种热力图组合生成最终的线段预测结果。Xue等[18]提出了将线段检测问题转换为基于Attraction Field Map(AFM)的图像区域划分问题,该方法首先利用语义分割模型生成AFM,最后利用Squeeze模块将AFM转化为线段图。Zhou等[17]在此基础上首次提出了基于卷积神经网络的端到端线框解析模型LCNN,利用堆叠沙漏网络(Stacked Hourglass Network)提取特征并从交点热力图中生成候选线段进行预测。董斌智[19]在建筑平面图结构识别的多任务模型构建中,采用LCNN构建了识别表示建筑墙、门与窗等线段的线段识别模块。Xue等[20]在LCNN的基础上进行改进提出Holistically-Attracted Wireframe Parsing(HAWP)算法,增加了对线段热力图的利用,提高了算法的精度和效率。随后,Lin等[21]将霍夫变换与堆叠沙漏网络结合提出了HT-LCNN和HT-HAWP,将霍夫变换融入端到端训练的深度网络,实现全局线段信息提取并减少训练所需数据量。上述基于深度学习的线段检测算法广泛应用于检测复杂环境2D图像中的线段来实现3D人造环境重构。与传统算法相比,HT-LCNN能够通过挖掘图像中更加复杂、细节的特征,有针对性地提取图像中特定的线段对象,从而从复杂交错的线段中识别出记录施工活动时间的手绘横道图线段。然而,HT-LCNN方法大多针对场景图像中的结构线,对于隧洞施工日志而言,其大量表格模板、文字与待检测的手绘横道图特征相似,因此仍然容易受到干扰而出现识别错误。
综上所述,当前以手绘横道图形式记录的施工日志,其活动时间信息提取往往依赖于人工阅读与手动统计,存在效率低、易出错等问题。本研究提出基于改进HT-LCNN线段检测模型的隧洞施工活动时间信息智能提取方法。首先,基于单应性变换对存在倾斜、旋转、扭曲的施工日志图像进行预处理;其次,构建手绘横道图线段智能检测的改进HT-LCNN模型,通过在HT-LCNN中融入全局上下文注意力模块GCNet,提高网络对目标横道图线段的注意力,克服原始HT-LCNN方法容易受到施工日志中表格线和文字干扰的不足;最后,将所检测的横道图线段坐标自动转化为施工活动时间信息,实现对活动时间信息准确、高效、自动化提取。
针对采用手绘横道图记录施工活动的隧洞施工日志,本研究提出基于改进HT-LCNN线段检测模型的隧洞施工活动时间信息智能提取方法,研究框架如图1所示,主要包括三部分内容:
图1 研究框架
(1)基于单应性变换的数据预处理:针对存在倾斜、旋转与扭曲的原始施工日志图像进行基于单应性变换的预处理,统一时刻-活动表的位置、角度和尺寸,制作统一的数据集。
(2)基于改进HT-LCNN的手绘横道图线段智能检测:构建融合GCNet注意力机制的HT-LCNN网络,利用GCNet改进HT-LCNN的残差模块,建立和共享全局注意力图,获得目标线段在特征图和通道间长距离依赖关系,提高模型对目标线段的注意力,解决原始HT-LCNN方法易受到表格线段和文字干扰的问题,实现手绘横道图线段的智能高效检测。
(3)施工活动时间信息自动转换:在表格图像中建立“时刻-活动”坐标系,将检测到的手绘横道图线段转换为坐标系中的线段并自动判断其所属施工活动以及持续时间。
3.1 基于单应性变换的施工日志图像预处理在实际工程施工中,施工人员在纸质施工日志上记录施工过程,并在一个班次或一个施工阶段结束后,将其进行影像化作为内业资料用于施工活动时间统计、进度分析等工作。实际施工日志影像通常具有如下特点:
(1)图像畸变。纸质施工日志在打印和影像化过程中出现倾斜、旋转、扭曲的情况。
(2)手绘线段与表格模板相似。施工日志的记录使用的签字笔笔迹与印刷的表格模板相近。
(3)手绘线段不平直。手绘线段难以保证绘制的线段平直顺滑。
(4)手绘线段旁会有文字记录。手绘横道图旁通常有施工参数、突发事件处理过程等文字记录。
因此,要准确地提取所记录的活动时间信息,首先要对施工日志图像进行预处理,克服旋转、倾斜、扭曲、色差等问题。预处理的过程主要包含对隧洞施工日志图像进行单应性(Homograph)变换[22]与裁剪缩放,其流程如图2所示。
图2 施工日志图像预处理流程
3.2 手绘横道图线段检测的改进HT-LCNN模型提取施工日志记录的隧洞施工活动时间信息首先需要对手绘横道图线段进行检测。本文提出的改进HT-LCNN网络结构如图3所示。HT-LCNN(Hough Transform LCNN)是基于LCNN[17]模型的线段语义识别网络,采用HT-IHT模块替换原有LCNN的沙漏神经网络模块,为线条识别提供先验信息,减少训练所需数据数量。该方法以卷积神经网络为骨干网络提取输入图像特征并生成线段和交点热力图,并在此基础上产生候选的线段正样本和负样本,最后将生成候选线段通过LoI(Line of Interest)池化层对应到骨干网络输出特征图上,由此通过分类方法判断候选线条是否正确。模型主要包括骨干网络、交点建议模块、线段采样模块、线段校正模块四部分。针对施工日志中表格和文字的干扰,本文在HT-LCNN的基础上,利用全局上下文注意力模块(GCNet)建立和共享全局注意力图,在网络中引入全局信息以获得目标线段在特征图和通道间的长距离依赖关系,提高对手绘横道图线段的注意力,从而提高隧洞施工日志手绘线段检测精度。
图3 融合GCNet的HT-LCNN网络结构图
3.2.1 融合GCNet的骨干网络 在HT-LCNN原有骨干网络的基础上,加入如图3所示的融合GCNet[23]的残差模块(Residual Module),建立输入特征图各像素点之间长距离依赖关系和特征图通道间依赖关系,进一步区分待检测手绘线条特征与印刷线条特征。GCNet模块主要包含三个步骤:
(1)利用全局注意力池化实现上下文关系建模(Context Modeling),特征图上各位置共享同一注意力图(Attention Map),能够在保证精度的同时极大的减少了模型的计算量。
(2)捕捉特征图通道间依赖关系(Bottleneck Transform),通过卷积层先降维再升维的方式建立各通道之间依赖关系,同时能够使模型轻量化。
(3)特征融合(Aggregation),通过叠加的方式实现了支路与主路的特征融合。
GCNet模块的计算原理如式(1)所示:
(1)
式中:xin和xout分别为输入与输出特征张量,大小为H×W×C,H为图像高度,W为图像宽度,C为特征图通道数;Wk、Wv1和Wv2为1×1卷积运算;LN表示Layer Normalization层;ReLU表示激活函数层。
原始图像经过卷积层和残差模块提取特征后,输入HT-IHT模块[21]。该模块采用残差结构,支路通过HT-IHT变换提取特征后生成新的特征图,并与输入特征图相连生成输出特征图。
3.2.2 交点建议模块 原始图像经过骨干网络提取特征后,利用交点建议模块对特征图进行交点预测。交点建议模块首先将输入特征图(宽为W,高为H)等分为若干大小为Wb×Hb的单元,由神经网络预测每个单元是否包含线段交点及其在该单元内的相对位置,输出交点似然概率特征图Fjun和交点偏移图O,从而实现交点检测。对Fjun的预测采用softmax分类器,其损失Lossjamp采用平均二元交叉熵损失;对O的预测采用L2回归和偏移量为-0.5的sigmoid激活函数用于归一化,得到其损失Lossoff。交点预测损失Lossjunc为两种损失之和:
Lossjunc=λjmap×Lossjmap+λoff×Lossoff
(2)
式中λjmap、λoff分别为Fjun、O的损失权重,在本研究中分别设置为8和0.25。在初步预测完成后,采用非极大值抑制来移除正确预测周围的低分预测结果。
图4 静态采样器和动态采样器
静态采样器直接从图像真实标签中提取正样本和负样本,为模型在精度较低的初始阶段提供足够数量的正确样本。动态采样器使用交点建议模块的预测结果来采样线段,一方面能够扩充样本数量,另一方面由于所定义的动态正样本与负样本的端点均需要与真实值匹配,能够帮助模型提高对线段端点位置的学习效果。
(3)
为了避免人工量化,在得到线段内插点的特征值和特征向量之后,对其进行最大池化操作,然后拉平为1D张量。将该张量输入到一个两层的全连接层神经网络,输出一个logit值。线段预测损失计算采取二元交叉熵损失函数,由logit值与线段真实标签计算损失表示为Lossver。因此网络整体损失Loss可表示为:
Loss=Lossjunc+Lossver
(4)
3.3 施工活动时间信息转换方法前述改进的HT-LCNN模型对隧洞施工日志进行手绘横道图检测后的结果储存在大小为(n,m,l)的数组中,其中n表示检测到的手绘横道图线段数量,m=2为线段端点数,l=2表示端点坐标数。施工活动时间信息转换的实现流程如图5所示,具体步骤如下:
图5 施工活动时间信息转化流程图
(1)建立施工时刻-活动坐标系。如图6所示,以预处理后的图像为基础建立施工时刻-活动坐标系,其中X方向表示施工活动,A—O表示各项施工活动,Y方向表示施工时间(min),单位表格表示15 min。
图6 施工时刻-活动坐标系
(2)判断所识别线段方向。在图6中,X方向的线段表示各项施工活动间的衔接关系,其长度无实际意义;Y方向的线段表示不同类型的施工活动,其长度表示施工活动时间。因此在进行施工活动时间信息转换时,只需考虑Y方向线段。设第i条线段两端点坐标为ai、bi,其中,端点ai坐标为(xai,yai),端点bi坐标为(xbi,ybi)。当两端点位于表格同列表格时,可判断该线段为Y方向,因此设置方向阈值t,同时设置线段与X坐标夹角正切值阈值为h,则线段方向判别条件可以表示为:
(5)
式中:阈值t和h可根据实际应用情况进行调整,t通常不大于表格中一列的宽度,即记录活动的线段不会超出该列;h可以选择一个较大的值,例如tan85°。当判别式成立时,认为第i条线段表示某类型的施工活动。
(3)计算施工活动时间。对沿Y方向线选取起始端点坐标,根据端点的X坐标判断施工活动类型,端点的Y坐标判断所处时刻并按式(6)计算活动持续时间。
Tj=|yaj-ybj|
(6)
式中:T为施工活动持续时间,min;j为提取到的所有施工活动的索引,j=1,2,…,m,其中m表示提取到的所有施工活动数量。
以某长距离引水隧洞工程TBM施工日志为例,采用本文方法对施工活动时间信息进行智能提取。每页施工日志记录一个班次的TBM施工活动,一个班次为12 h,每日8∶00至20∶00为白班,20∶00至次日8∶00为夜班。表格每一行代表15 min,每一列代表TBM掘进及停机活动。本研究在该工程17个月的施工日志原始照片中将清晰度低和不完整图像排除,选取977张图像作为数据集图像。
表1 不同模型的手绘横道图检测性能对比
4.1 数据预处理对施工日志原始图像进行基于单应性变换的图像预处理,经过预处理后图像像素尺寸长为1024,宽为384;最后,对处理后的图像中的手绘横道图进行标注。在全部977张原始图像经过预处理后,选择750张图像作为训练集,并通过上下翻转、左右翻转和180°旋转的数据增强操作,最终得到包含3000张图像的训练集,原始图像中剩余的227张图像作为验证集。图7为数据集预处理结果示例,红色线段为手绘横道图标签。
4.2 基于改进HT-LCNN模型的手绘线段检测结果本案例搭建模型使用服务器为Intel©Xeon© Gold 6132 CPU,Quadro RTX8000显卡,Ubuntu16.04操作系统。模型在训练过程中,总训练轮数设置为27轮,单批训练和验证图像数量设置为8,学习率设置为0.001。
图8以2015年8月21日白班的施工日志为例,展示了基于改进HT-LCNN的施工日志手绘横道图线段的自动检测结果,如图中红色线段所示。局部放大图中标注了部分线段端点的归一化坐标值。由图可知,该模型在检测手绘线段时能够排除与其颜色、粗细相近的表格模板与印刷及手写文字的干扰,并对手绘线段中比较复杂的情况具有良好的识别效果,能够准确地检测到较短和不平直的线段。例如,图8中线段AB代表TBM施工中的换步活动,其持续时间短,故手绘线段较短;线段BC代表该活动与下一活动的衔接关系,其手绘线有明显的弯曲。对于检测目标AB与BC,模型能够准确地得到三个端点的位置,与施工日志记录的本意一致,既未漏识别点B,也没有将BC识别为多条线段。因此,该模型能够精准地检测出手绘横道图线段,从而确保后续步骤所转化的施工时间信息的准确性。
图8 改进HT-LCNN模型检测手绘横道图结果
4.3 施工活动时间信息提取结果本案例选取某长距离输水隧洞TBM施工从2015年3月至12月掘进报告,采用人工提取和本文方法提取两种方式,共采样279班次施工活动。施工日志中所列施工活动共15项,依次为:保养(A),掘进(B),换步(C),支护(D),仰拱施工(E),通风(F),供排水处理(G),刀盘检修(H),机械检修(I),液压检修(J),电气故障(K),机械润滑(L),皮带检修(M),材料运输(N),其他停机故障(O)。
人工提取时间根据施工日志记录,若所绘横道图线段旁有文字注明起止时刻,或端点落在表格线上,则以文字记录或表格线的时刻为准。例如,图8中活动D结束时刻旁有文字记录,则其结束时刻为8∶50;若无文字记录,则根据端点所在位置估读。部分提取结果对比如图9所示。
图9 部分人工提取和模型提取结果对比
在采样的全部施工活动对比结果中,两种提取方式的平均绝对误差为1.82 min,最大绝对误差为9 min,最小绝对误差为0,其中较大的绝对误差发生在持续时间较大的施工活动对比中。人工提取与模型提取之间的误差主要产生于如下2个方面:(1)由于时刻-活动表的最小单元格为15 min,手工绘制的横道图精度有限,线条的端点位置与实际记录时间可能存在一定偏差。(2)在对图像进行处理时,采用单应性变换尚不能完全解决由于纸张不平整所导致的文档图像变形,因此少数图像的表格尺寸存在不均匀的问题。本案例中基于改进HT-LCNN模型提取隧洞施工日志所记录的活动时间具有较高的精度,并且相比于过程繁琐、效率低、可追溯性差的人工统计方法,该方法能够在保证提取结果的准确性的同时,极大提高施工活动时间的提取统计效率。
本研究采用原始HT-LCNN模型、LCNN模型与本文所提出的改进HT-LCNN模型进行对比,并采用线段检测的AP值(Average Precision)[21]作为评价指标。设置预测结果分类分数阈值为Tpred,将分类分数score>Tpred的预测结果用于AP值计算。其中,为了保证结果的客观性,线段的正负样本采用另一种判断方式。如图10所示,预测线段与标注线段之间的端点距离分别为d1和d2,设置像素点距离阈值Tdis,当d1+d2 图10 预测线段正、负样本判断示意图 LCNN、HT-LCNN、改进的HT-LCNN模型在隧洞施工日志数据集手绘线条的识别性能上的对比结果如表1所示,三种模型在不同Tdis下的P-R曲线如图11所示,曲线与坐标轴所围成的面积越大,则模型性能越好。本案例中,用于测试的验证集共包含227张图像,真实标注手绘线段数目为7729条,分类分数阈值设置为Tpred=0.9,其中AP5、AP10、AP15分别表示在Tpred=0.9,对应Tdis=5、Tdis=10、Tdis=15三种情况下的AP值。由模型对比结果可知,在本案例中,改进的HT-LCNN较HT-LCNN和LCNN模型具有更高的准确性,且在不同的Tdis条件下都展现出更优的性能。 图11 Precision-recall曲线 此外,本研究还对改进的HT-LCNN模型与HT-LCNN模型在添加GCNet模块前后特征提取网络输出特征图情况进行对比。模型特征提取网络输出特征图大小为(256,256,96),对应C、H、W,沿着通道方向对特征图取均值,得到大小为(256,96)的特征图,再对特征图进行(0,1)范围内的标准化,最后利用OpenCV实现特征图彩色化以及与原始输入图像的融合。图12所示为两种模型的输入特征图对比,颜色映射关系如图中彩色条带所示。对比可知,改进的HT-LCNN模型对于前景(手绘横道图)和背景(表格模板和手写文字)的区分效果以及对手绘横道图交点处的激活效果比HT-LCNN更明显,即本文采用GCNet模块后能够降低表格模板等线段对检测手绘横道图的干扰,这一原理在前文检测精度的对比结果中也得到了印证。 图12 GCNet注意力模块对提取特征的影响 本文以采用手绘横道图记录隧洞施工过程的施工日志为研究对象,针对现有施工活动时间信息人工统计存在提取效率低、易出错的不足,提出了一种基于改进HT-LCNN线段检测模型的隧洞施工活动时间信息智能提取方法,得到了以下成果: (1)将隧洞施工日志中手绘横道图线段记录信息的提取转化为线段检测问题,提出基于改进HT-LCNN线段检测模型的隧洞施工活动时间信息智能提取方法,为实现施工活动信息的准确、高效、智能提取提供了新思路和新手段。 (2)针对隧洞施工日志图像存在的旋转、倾斜、扭曲等问题,采用单应性变换对原始图像进行预处理;进一步,构建了用于检测隧洞手绘横道图线段的改进HT-LCNN模型,通过将GCNet注意力模块与HT-LCNN残差模块融合,建立和共享全局注意力图,获得目标线段在特征图和通道间的长距离依赖关系,提高骨干网络提取目标线段特征的能力,进而降低表格模板与文字的干扰,提升了手绘横道图线段的检测精度;最后,建立了施工时刻-活动坐标系,根据所检测的手绘横道图线段的端点坐标位置特征,将其自动转化为施工活动时间信息。 (3)以某长距离输水隧洞TBM施工日志为例,采用本文所提出方法进行施工活动时间信息的智能提取。通过与LCNN、HT-LCNN两个模型的对比,本文方法的线段检测结果AP5、AP10和AP15均为最高,验证了本文方法在检测施工日志中手绘横道图线段任务上的优越性。与人工提取结果相比,基于本文方法所得结果的平均绝对误差为1.82 min,最大绝对误差为9 min,最小绝对误差为0 min,具有较高的提取精度。本文所提出的方法能够在保证提取精度的前提下,极大提高提取效率和自动化水平。 本文所提出的隧洞施工活动时间信息提取方法,不仅能够为同类工程的施工活动时间记录与提取提供新的思路与手段,而且能够为采用符号化、图形化方式记录信息的文档进行高效识别提供方法与思路借鉴。在未来的研究中,可以进一步研究提高提取准确率的方法,并深入研究对文档内手绘图形、手写文字与印刷文字等信息的综合全面提取与智能匹配技术,实现工程施工信息更加智能、高效的提取,提高工程建设的数字化、智能化管理水平。6 结论与展望