本发明涉及一种视觉问答技术领域,特别是涉及一种视觉问答方法、系统及服务器。
背景技术:
目前电力系统的输电设备巡检方式大致可以分为人工巡检和无人机巡检两种。其中无人机巡检由于其成本低、效率高、细节精等特点,得到越来越多的应用。
但是,无人机巡检所获得的大量输电设备航拍图像数据,由于缺少针对输电设备航拍图像的公共数据集,导致计算机不能直接读取和标注图片信息,从而缺乏标注数据对模型进行监督训练,很难高质量完成输电设备外观缺陷检测任务。
技术实现要素:
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种视觉问答方法、系统及服务器,用于解决现有技术中缺少针对输电设备航拍图像的公共数据集,很难高质量完成电输电设备外观缺陷检测任务的问题。
本发明的第一方面提供一种视觉问答方法,包括:获取输电设备的图像数据,所述图像数据包括视频数据和图片数据;
预处理所述图像数据,得到原始数据集;
对所述原始数据集依次进行视觉问答标注和语义分割标注,得到视觉问答数据集;
将所述视觉问答数据集输入视觉问答模型进行训练,得到训练后的视觉问答模型;
输入问题文本和图片到所述训练后的视觉问答模型,得到视觉问答结果。
于本发明的一实施例中,所述预处理所述图像数据,得到原始数据集的步骤包括:
提取所述视频数据的视频关键帧,将所述视频关键帧和所述图片数据合并,得到原始数据集。
于本发明的一实施例中,所述提取所述视频数据的视频关键帧的步骤包括:
遍历所述视频数据的每一镜头,以及每一镜头的每一帧,得到每一帧的rgb平均值,并保存在一个向量中;
统计所述向量的最大值、最小值和均值,将与所述均值最接近的rgb平均值所对应的帧选为关键帧。
于本发明的一实施例中,所述对所述原始数据集进行视觉问答标注和语义分割标注的步骤包括:
对所述原始数据集的每一张图片提出多个问题并标注正确答案;其中,各所述问题分别与各图片的局部或整体相关联;
在各图片上选出与各正确答案相对应的区域,并在区域边沿绘制边界框,建立各图片的文本问答与语义分割之间的图文链接;其中,所述区域根据所述图片数据的对象分为多类,每个类别用不同颜色和索引值表示。
于本发明的一实施例中,所述将所述视觉问答数据集输入视觉问答模型进行训练,得到训练后的视觉问答模型的步骤包括:
步骤一、给定所述视觉问答数据集中的一个问答对,问题嵌入向量wq和答案嵌入向量wa,将两者拼接成为文本特征向量w;
步骤二、在视觉问答数据集中,提取与所述问答对相对应的一张图片,提取该图片每个区域的视觉语义(v′,z),其中,v′为区域特征,z为区域位置;将区域特征v′和区域位置z拼接成位置敏感区域特征向量,通过线性投影将其转化为视觉特征向量v;其中,所述视觉特征向量与所述单词嵌入向量的维数相同;
步骤三、在视觉问答数据集中,提取上述图片对应的图文链接,重复步骤二,提取图文链接特征,得到图文链接向量l;
步骤四、将单词嵌入向量w,图文链接向量l,视觉特征向量v组成三元组(w,l,v)作为整体输入到多层感知器模型中,完成一张图片的训练;
步骤五、重复步骤一到步骤四,直至完成所述视觉问答数据集中所有图片的训练。
于本发明的一实施例中,还包括,在视觉问答标注前对所述原始数据集进行数据清洗,所述数据清洗的步骤包括:
判断所述原始数据集中的图片是否因雾气导致模糊,若是,对其进行暗通道去雾并提高图片清晰度,得到处理后的图片;
对所述处理后的图片进行人工检验,剔除不合格图片;其中,所述不合格图片包括模糊、重复度高、光照大或阴影大的图片。
于本发明的一实施例中,还包括:得到视觉问答数据集后,对所述视觉问答数据集进行水平翻转和像素值加噪声两种方式的数据扩增。
于本发明的一实施例中,还包括:对所述数据扩增后的视觉问答数据集进行再次数据清洗,所述再次数据清洗的步骤包括:
剔除数据扩增中产生的异常数据,并剔除标注错误或不准确的图片。
本发明的第二方面还提供一种视觉问答系统,包括:
数据获取模块,用于获取输电设备的图像数据,所述图像数据包括视频数据和图片数据;
数据处理模块,用于对所述原始数据集依次进行视觉问答标注和语义分割标注,得到视觉问答数据集;
数据训练模块,用于对所述视觉问答数据集进行训练,得到训练后的视觉问答模型。。
本发明的第三方面还提供一种服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如本发明第一方面的一种视觉问答方法中任意一项所述的方法。
如上所述,本发明的一种视觉问答方法、系统及服务器,具有以下有益效果:
本发明对获取的输电设备的图像数据进行视觉问答标注和语义分割标注,得到视觉问答数据集,从而建立了图像数据的语义分割与文本问答之间的图文链接;根据该视觉问答数据集训练得到的视觉问答模型,以图文链接作为锚点,将输入的图片与文本在语义上对齐,提高了视觉问答模型的性能,获得了更加准确的视觉问答结果。
附图说明
图1显示为本发明的实施例中公开的视觉问答方法工作流程示意图。
图2显示为本发明的实施例中公开的预处理图像数据的工作流程示意图。
图3显示为本发明的实施例中公开的建立视觉问答数据集的工作流程示意图。
图4显示为本发明的实施例中公开的提出问题的类别列表。
图5显示为本发明的实施例中公开的图片数据对象的类别列表。
图6显示为本发明的实施例中公开的训练视觉问答模型的示意图。
图7显示为本发明的实施例中公开的视觉问答方法工作流程框图。
图8显示为本发明的实施例中公开的视觉问答系统的结构框图。
图9显示为本发明的实施例中公开的服务器的示意图。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
请参阅图1,本发明的实施例提供一种视觉问答方法,用于检测输电设备的外观缺陷,具体如下:
步骤101,获取输电设备的图像数据,其中,图像数据包括视频数据和图片数据。
具体的说,本实施方式中的视频数据是使用搭载rtk模块的无人机dji飞行平台获得,图片数据是使用定点摄像机采集的单类别输电设备静态图片数据。
需要说明的是,输电设备的图像数据应包含天空、山地、草地等多种自然环境下的不同角度、不同姿态的输电设备目标,以构建一个完备的、有代表性的数据集。
图像数据的采集与过滤标准,主要考虑以下三个方面:
1)图片分辨率:本实施方式的应用场景定位为电力巡检场景,真实巡检中无人机采用的摄像头往往为4500万像素甚至更高,选用分辨率与之接近的拍摄设备以获取贴近现实采集环境的输电设备数据;
2)拍摄光线、距离、角度:为了能有效应对复杂多变的成像环境,提高鲁棒性,本实施方式对拍摄光线、距离和角度不做过多限制。采集过程中选择在不同天气、时间或场地进行拍摄,以保证不同光照强度下都有充足的样本量,可分别在夜晚、阴雨天和晴天采集数据;同时兼顾多距离拍摄条件,采用定点拍摄方式,对近距离(1~5m)和远距离(5~40m)的输电设备进行采集作业;此外,为了避免自然场景过于相似,还需经常调整拍摄位置和角度,以获取多个角度的拍摄样本;
3)各类电力设备数据量:大规模、多样化的电力设备数据集是有效训练识别模型并且增强其泛化力的关键。数据集中各类电力设备应保持充足的样本数,考虑到电力设备种类繁多,电力设备种类进行划分与整理。其中,对于比较常见的电力设备,或是比较容易发生电力外观缺陷的电力设备(如:绝缘子、导线、螺栓等),期望这些种类都有3000幅以上的样本量。对于其他种类(如:引流板,蝶形板,空光缆等),保证1200~1800幅采集量即可。
步骤102,预处理图像数据,得到原始数据集。
请参阅图2,预处理图像数据的步骤包括:
步骤201,提取视频数据的视频关键帧,其中,提取视频数据的视频关键帧的步骤包括:
遍历视频数据的每一镜头,以及每一镜头的每一帧,得到每一帧的rgb平均值,并保存在一个向量中;
统计向量的最大值、最小值和均值,将与均值最接近的rgb平均值所对应的帧选为关键帧。
进一步说明,判断是否遍历视频数据的每一镜头的步骤包括:
遍历视频数据的每一帧fn,选择第一帧f1、第二帧f2;
遍历视频数据的16*16非重叠块bn,选择第一块b1、第二块b2;
应理解,上述第一帧、第二帧可以是所述视频数据中的任意两帧;上述第一块、第二块可以是所述视频数据中的任意两个非重叠快。
对非重叠块b1和非重叠块b2进行小波变换处理,得到小波变换块,小波变换处理的公式为:
fij(x,y)=x(x,y)fij(x,y)x-1(x,y);
其中,x,y表示横纵坐标,fij(x,y)表示视频数据中任意两帧的二维信号,x(x,y)表示变换矩阵,x-1(x,y)表示变换矩阵的逆;
计算两个小波变换块之间的距离l2ij,其计算公式为:
其中,m和n表示第m、n块小波变换块。
重复上述步骤,获得所述视频数据中任意两个非重叠快之间的距离;
将任意两个非重叠快之间的距离保存在向量中,并计算其平均距离值;将平均距离值与st镜头阈值相比较,若小于st镜头阈值,则认为这些小波变换块对应的帧属于同一个镜头;否则,重新计算两个非重叠快之间的距离。
应理解,st镜头阈值为拍摄设备的技术参数,为固定值。
步骤202,将视频关键帧和图片数据合并,得到原始数据集。
步骤103,对原始数据集依次进行视觉问答标注和语义分割标注,得到视觉问答数据集。
请参阅图3,为达到更好的效果,可在视觉问答标注前对原始数据集进行数据清洗,并在得到视觉问答数据集进行数据扩增和再次数据清洗,以下进行详细说明:
步骤301,对原始数据集进行数据清洗,数据清洗步骤包括:
采用灰度图检测算法判断图片数据是否因雾气导致模糊,若是,对其进行暗通道去雾和自适应伽玛校正处理,以提高图片数据的清晰度和对比度,得到处理后的图片数据;
对处理后的图片数据进行人工检验,剔除不合格图片;其中,不合格图片包括模糊、重复度高、光照大或阴影大的图片,从而避免出现无效标注,浪费人力和时间的情况。
步骤302,对原始数据集进行视觉问答标注,视觉问答标注的步骤包括:
对原始数据集的每一张图片提出多个问题并标注正确答案;其中,各问题分别与各图片的局部或整体相关联,所有选定的问题都可以从图像内容中得到回答,而不需要额外的领域特定推理或上下文。
请参阅图4,需要说明的是,本实施方式中的问题可分为5类,包括:目标检测类问题、简单计数类问题、复杂计数类问题、整体缺陷检测类问题及具体缺陷检测类问题。问题的提问方式只有3种:how,what,is。在简单计数问题中,只会简单的询问目标在图像中出现的数量;在复杂计数问题中,会针对某种具有缺陷的目标数量进行提问;整体缺陷检测类问题,只会简单的询问目标是否存在外观缺陷。在具体缺陷检测类问题,会询问目标发生缺陷的具体类型。图4中给出了一些问题示例和可能的答案,实际应用中,可根据需要设定问题和相应的答案。
步骤303,将视觉问答标注后的原始数据集进行语义分割标注,语义分割标注的步骤包括:
在经过视觉问答标注的各图片上选出与各正确答案相对应的区域,并在区域边沿绘制边界框,建立各图片的文本问答与语义分割之间的图文链接;其中,区域根据图片数据的对象分为多类,每个类别用不同颜色和索引值表示。
请参阅图5,本实施方式中,将图片数据的对象分为7类,包括:背景、表面缺陷(破损/啃咬/锈蚀)、玻璃绝缘子、复合绝缘子、导/地/线/缆、线路金具(防震锤,螺栓,线夹,均压环,蝶形板等)、杆塔,用以辅助语义分割标注的操作。
步骤304,原始数据集经过上述数据清洗、视觉问答标注和语义分割标注的处理后,得到视觉问答数据集。
应理解,该视觉问答数据集中包括原始数据集中的原始图片、问题和各问题对应的正确答案形成的问答对、以及经处理后携带有图文链接的图片。
步骤305,在得到视觉问答数据集后,还可对视觉问答数据集进行水平翻转和像素值加噪声两种方式的数据扩增,具体来说:
水平翻转,是将视觉问答数据集中的图片统一到256×256大小,从中随机提取224×224的图像块及各所述图像块的水平映射,并依据这些提取的图像块对后续输入的视觉问答模型进行训练,使训练集的规模增加了2048倍。
像素值加噪声,是改变视觉问答数据集的图片的rgb通道的灰度,具体而言,在视觉问答数据集的图片的rgb像素值上使用pca(principalcomponentanalysis,主成分分析),添加多个采用pca找到的主成分,大小与相应的特征值成比例,乘以一个随机值,该随机值属于均值为o、标准差为0.1的高斯分布。因此,在每个图像的rgb像素
其中,pi和λi分别是3x3的rgb协方差矩阵的第i个特征向量和第i个的特征值,而αi是随机值。对于一张特定图像中的所有像素,每个αi只会被抽取一次,直到这张图片再次用于训练时,才会重新提取随机变量。
采用上述方案,一方面可以防止后期分割模型使用数据集进行学习时发生过拟合现象;另一方面,采用数据扩增可以有效增加模型的泛化能力。
步骤306,为保证数据扩增后的视觉问答数据集符合实际,还可进行再次数据清洗,剔除数据扩增中产生的异常数据,并剔除标注错误或不准确的图片,清洗步骤与步骤301相同,此处不再赘述。
步骤104,将视觉问答数据集输入视觉问答模型进行训练,得到训练后的视觉问答模型。
具体的说,将视觉问答数据集输入视觉问答模型中进行训练,训练过程中,神经网络的参数会随之变化,最终得到训练后的视觉问答模型;应理解,视觉问答模型可根据需要进行选择,本实施例中以多层感知器模型为例,结合图6和图7详细说明:
步骤一,给定视觉问答数据集中的一个问答对,通过lstm、glove或bert等方法分别获得问题嵌入向量wq和答案嵌入向量wa,将两者拼接成为文本特征向量w;
步骤二,在视觉问答数据集中,提取与上述问答对相对应的一张图片,该图片含有k个目标区域,通过faster-rcnn等目标检测方法提取每个区域的视觉语义(v′,z);其中,区域特征
步骤三、在视觉问答数据集中,提取上述图片对应的图文链接,重复步骤二,提取图文链接特征,将图文链接特征转化成与单词嵌入相同的向量维数,获得图文链接向量l;图文链接向量l可视作一种人工注意力机制的方法,它相较整张图片包含更小的目标对象,却包含与问题相关的更高浓度的语义信息;
步骤四,将所得单词嵌入向量w、图文链接向量l和视觉特征向量v组成三元组(w,l,v)作为整体输入到多层感知器模型中,完成一张图片的训练;
步骤五、重复步骤一到步骤四,直至完成视觉问答数据集中所有图片的训练,训练结束。
采用上述方案,不仅能获得文本特征向量w和视觉特征向量v,还能获得图文链接l,将三者结合输入到训练模型中,可通过图文链接作为锚点,实现图片与文本在语义上的对齐的目的,以此提升相关视觉问答模型性能,获得了更加准确的视觉问答结果。
步骤105,输入问题文本和图片到训练后的视觉问答模型,得到视觉问答结果。
可见,本实施方式对获取的输电设备的图像数据进行视觉问答标注和语义分割标注,得到视觉问答数据集,从而建立了图像数据的语义分割与文本问答之间的图文链接;根据该视觉问答数据集训练得到的视觉问答模型,以图文链接作为锚点,将输入的图片与文本在语义上对齐,提高了视觉问答模型的性能,获得了更加准确的视觉问答结果。
请参阅图8,本发明的另一实施例公开了一种视觉问答系统,用于检测输电设备的外观缺陷,包括:
数据获取模块,用于获取输电设备的图像数据,其中,图像数据包括视频数据和图片数据。
数据处理模块,用于对原始数据集依次进行视觉问答标注和语义分割标注,得到视觉问答数据集;
其中,数据处理模块包括:清洗单元、标注单元和扩增单元。
清洗单元,用于对原始数据集进行清洗,去除不合格的图片;
标注单元,分别对数据集进行视觉问答标注和语义分割标注;
扩增单元,采用水平翻转和像素值加噪声两种形式对标注数据集进行扩增。
数据训练模块,用于对所述视觉问答数据集进行训练,得到训练后的视觉问答模型,得到视觉问答数据集。
请参阅图9,本发明的另一实施例公开了一种服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行所述程序时实现上述第一实施方式中所述方法的任意一项。
其中,存储器和处理器采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器和存储器的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器。
处理器负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器可以被用于存储处理器在执行操作时所使用的数据。
综上所述,本发明对获取的输电设备的图像数据进行视觉问答标注和语义分割标注,得到视觉问答数据集,从而建立了图像数据的语义分割与文本问答之间的图文链接;根据该视觉问答数据集训练得到的视觉问答模型,以图文链接作为锚点,将输入的图片与文本在语义上对齐,提高了视觉问答模型的性能,获得了更加准确的视觉问答结果。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
1.一种视觉问答方法,其特征在于,包括:
获取输电设备的图像数据,所述图像数据包括视频数据和图片数据;
预处理所述图像数据,得到原始数据集;
对所述原始数据集依次进行视觉问答标注和语义分割标注,得到视觉问答数据集;
对所述视觉问答数据集进行训练,得到视觉问答模型;
输入问题文本和图片到所述视觉问答模型,得到视觉问答结果。
2.根据权利要求1所述的视觉问答方法,其特征在于:所述预处理所述图像数据,得到原始数据集的步骤包括:
提取所述视频数据的视频关键帧,将所述视频关键帧和所述图片数据合并,得到原始数据集。
3.根据权利要求2所述的视觉问答方法,其特征在于:所述提取所述视频数据的视频关键帧的步骤包括:
遍历所述视频数据的每一镜头,以及每一镜头的每一帧,得到每一帧的rgb平均值,并保存在一个向量中;
统计所述向量的最大值、最小值和均值,将与所述均值最接近的rgb平均值所对应的帧选为关键帧。
4.根据权利要求1所述的视觉问答方法,其特征在于:所述对所述原始数据集进行视觉问答标注和语义分割标注的步骤包括:
对所述原始数据集的每一张图片提出多个问题并标注正确答案;其中,各所述问题分别与各图片的局部或整体相关联;
在各图片上选出与各正确答案相对应的区域,并在区域边沿绘制边界框,建立各图片的文本问答与语义分割之间的图文链接;其中,所述区域根据所述图片数据的对象分为多类,每个类别用不同颜色和索引值表示。
5.根据权利要求4所述的视觉问答方法,其特征在于,所述将所述视觉问答数据集输入视觉问答模型进行训练,得到训练后的视觉问答模型的步骤包括:
步骤一、给定所述视觉问答数据集中的一个问答对,获得问题嵌入向量wq和答案嵌入向量ωα,将两者拼接成为文本特征向量ω;
步骤二、在视觉问答数据集中,提取与所述问答对相对应的一张图片,提取该图片每个区域的视觉语义(υ’,z),其中,υ′为区域特征,z为区域位置;将区域特征υ′和区域位置z拼接成位置敏感区域特征向量,通过线性投影将其转化为视觉特征向量υ;其中,所述视觉特征向量与所述单词嵌入向量的维数相同;
步骤三、在视觉问答数据集中,提取上述图片对应的图文链接,重复步骤二,提取图文链接特征,得到图文链接向量ι;
步骤四、将单词嵌入向量ω,图文链接向量ι,视觉特征向量υ组成三元组(ω,ι,υ)作为整体输入到多层感知器模型中,完成一张图片的训练;
步骤五、重复步骤一到步骤四,直至完成所述视觉问答数据集中所有图片的训练。
6.根据权利要求1所述的视觉问答方法,其特征在于,还包括,在视觉问答标注前对所述原始数据集进行数据清洗,所述数据清洗的步骤包括:
判断所述原始数据集中的图片是否因雾气导致模糊,若是,对其进行暗通道去雾并提高图片清晰度,得到处理后的图片;
对所述处理后的图片进行人工检验,剔除不合格图片;其中,所述不合格图片包括模糊、重复度高、光照大或阴影大的图片。
7.根据权利要求6所述的视觉问答方法,其特征在于,还包括:得到视觉问答数据集后,对所述视觉问答数据集进行水平翻转和像素值加噪声两种方式的数据扩增。
8.根据权利要求7所述的视觉问答方法,其特征在于,还包括:对所述数据扩增后的视觉问答数据集进行再次数据清洗,所述再次数据清洗的步骤包括:
剔除数据扩增中产生的异常数据,并剔除标注错误或不准确的图片。
9.一种视觉问答系统,其特征在于,包括:
数据获取模块,用于获取输电设备的图像数据,所述图像数据包括视频数据和图片数据;
数据处理模块,用于对所述原始数据集依次进行视觉问答标注和语义分割标注,得到视觉问答数据集;
数据训练模块,用于对所述视觉问答数据集进行训练,得到训练后的视觉问答模型。
10.一种服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于:所述处理器执行所述程序时实现权利要求1-8中任意一项所述的视觉问答方法。
技术总结