一种基于抄表数据智能识别的数据录入方法及装置
技术领域
本发明涉及数据处理技术领域,具体涉及一种基于抄表数据智能识别的数据录入方法及装置。
背景技术
目前,新建小区都安装有智能水表和智能电表,表的度数可以直接在后台读取,省时省力。但是燃气表和老旧小区的水表和电表依旧需要抄表员去采集度数,费时,费力。
发明内容
针对上述现有技术存在的问题,本发明提供了一种基于抄表数据智能识别的数据录入方法,旨在实现自动识别各类表具读数,同时按照指定的格式生成表格,达到减轻抄表员工作负担的目的,具体的,所述方法应用于抄表手持终端,包括如下步骤:
基于摄像头采集的人脸图像进行识别对比,获取抄表员的身份信息;
基于二维码扫描设备获取的二维码信息进行识别,获取表具的标识信息;
根据抄表员选择的表具类型调取表具识别方法,对表具边框进行定位、对图像中的读数区域定位和识别,获取表具的读数;
通过表单自动生成方法,将获取的抄表员的身份信息、表具的标识信息和表具的抄表读数填入电子表单对应位置进行显示;
接收抄表员的初始预设格式电子表单信息确认指令,固化数据并上传到后台服务器。
作为上述方案的进一步要求,所述根据抄表员选择的表具类型调取对应的表具识别方法,对表具边框进行定位包括:
基于边界框(Edge Boxes)方法算法获取图像中表具的候选边框位置;
基于训练完成的卷积神经网络对候选边框进行分类,过滤掉不包含表具区域的候选边框;
基于非极大值抑制算法对候选边框进行进一步筛选,过滤掉重合面积满足预设阈值中边框分值较小的边框,获取表具定位边框。
作为上述方案的进一步要求,所述根据抄表员选择的表具类型调取对应的表具识别方法,对图像中的读数区域定位和识别包括:
基于表具类型和表具定位框位置,获取表具读数区域默认识别框位置;
对默认识别框位置内的图像进行阈值分割获取文字特征;
基于阈值分割图像进行图像的行投影和列投影获取文字行的上下边界和单个文字字符的左右边界;
对上下左右边界内的单个读数区域通过与预先设定的数字模板进行匹配对比,匹配度最高的数字模板中的数字为识别结果。
作为上述方案的进一步要求,所述对上下左右边界内的单个读数区域通过与预先设定的数字模板进行匹配对比之前,还包括:
将单个读数字符区域进行行投影,若行投影获得的线段个数大于1,则发出单个读数字符不完整告警信息;
否则,判断行投影的长度与默认识别框的高度差值是否大于第一预设阈值,若是,则发出单个读数字符不完整告警信息。
作为上述方案的进一步要求,所述表单自动生成方法,包括:
基于不同表具的电子表单格式配置电子表单模板的不同数据的位置以及对应的表单控件;
将每个表单控件绑定数据库表中对应数据种类的更新事件,以自动获取识别到的抄表员的身份信息、表具的标识信息和表具的抄表读数。
作为上述方案的进一步要求,所述每个表单控件还绑定用户的输入数据以获取抄表员的修改编辑数据。
作为上述方案的进一步要求,所述表具的标识信息包括表类编号,户主房号信息。
基于上述基于抄表数据智能识别的数据录入方法,本发明还提供了一种基于抄表数据智能识别的数据采集装置,包括:
抄表员身份信息获取单元,用于基于摄像头采集的人脸图像进行识别对比,获取抄表员的身份信息;
表具标识获取单元,用于基于二维码扫描设备获取的二维码信息进行识别,获取表具的标识信息;
表具读数获取单元,用于根据抄表员选择的表具类型调取表具识别方法,对表具边框进行定位、对图像中的读数区域定位和识别,获取表具的读数;
表具读数表单模拟生成单元,用于通过表单自动生成方法,将获取的抄表员的身份信息、表具的标识信息和表具的抄表读数填入电子表单对应位置进行显示;
表单生成单元,用于接收抄表员的初始预设格式电子表单信息确认指令,固化数据并上传到后台服务器。
基于上述基于抄表数据智能识别的数据录入方法,本发明还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述基于抄表数据智能识别的数据录入方法的步骤。
基于上述基于抄表数据智能识别的数据录入方法,本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述基于抄表数据智能识别的数据录入方法的步骤。
本发明的一种基于抄表数据智能识别的数据录入方法及装置,具备如下有益效果:
1.本发明通过边界框(Edge Boxes)算法获取表具候选边框,又经过卷积神经网络进行候选边框的分类过滤,最后经过非极大值抑制算法进一步删除候选边框,获取唯一表具定位边框,基于该唯一表具定位边框,进行边框内读数区域读数的识别,通过对于表具边框区域的确定,避免了对倾斜表具图像的校正过程,而且基于该表具区域的确定,以及表具类型可以直接获取默认读数区域的位置,避免了再一次进行读数区域的识别检测过程,提高燃气表和老旧小区的水表和电表的表具读数识别速度。
2.本发明通过边界框(Edge Boxes)算法获取表具候选边框,该算法能够快速且有效地检测目标区域位置,满足实时采集表具图像并进行读数识别问题的准确性及实时性的需求。
3.本发明通过在对读数区域读数识别之前先对读数完整性进行判断,避免对非完整读数的识别判断过程,降低了表具读数识别错误率。
附图说明
图1为本发明的一种基于抄表数据智能识别的数据录入方法的整体流程框图;
图2为本发明的一种基于抄表数据智能识别的数据录入方法中,获取表具定位边框区域的方法流程框图;
图3为本发明的一种基于抄表数据智能识别的数据录入方法中,对于读数区域读数的识别方法流程框图;
图4为本发明的一种基于抄表数据智能识别的数据采集装置的结构框图。
具体实施方式
下面结合具体实施例对本发明的技术方案进一步说明。
本发明的一种基于抄表数据智能识别的数据录入方法,应用于抄表手持终端,包括如下步骤:
基于摄像头采集的人脸图像进行识别对比,获取抄表员的身份信息;该步骤中,抄表员通多终端设备进行人脸扫描登录数据采集系统,若登录失败,则不能进行数据,并发出告警信息。
在通过人脸识别登录到数据采集系统后,基于二维码扫描设备获取的二维码信息进行识别,获取表具的标识信息,该属性信息包括表类编号,户主房号等具体信息,用于标明该表具的身份标识,当对扫描到的二维码信息进行解析后,将解析的数据到数据库进行匹配,得到该表具的历史数据记录,尤其获取上一次数据采集时的记录,并将该上一次的记录数据传输到表单自动生成方法,用于填充到生成的表单中;
根据抄表员选择的表具类型调取表具识别方法,对表具边框进行定位、对图像中的读数区域定位和识别,获取表具的读数;
该步骤中,对于表具边框进行定位的方法具体包括:
基于边界框(Edge Boxes)算法获取图像中表具的候选边框位置;
Edge Boxes算法的方法包括:基于结构化边缘检测算子获取图像中的边缘;
计算每个边缘点的大小和方向,并利用非极大值抑制算法获取相对稀疏的候选区边缘图像;
计算候选区边缘图像中两两相邻边缘点间的方向差,将两两边缘点间的方向角度差的和大于90°的边缘点组合为一条边缘si,并计算两两边缘间的相似度a(si,sj),重复该步骤,获取边缘集合S和相似度集合a(si,sj为区域i,j)。
以预设滑动窗口(预设滑动窗口的滑动步长设为l,两滑动窗口的IOU=α)扫描图像,计算滑动窗口b内各边缘的权值wb(si),边缘的权值wb(si)为:
当边缘段si被滑动窗口b完全包含时,wb(si)=1;
当边缘段si与滑动窗口b没有交集时,wb(si)=0;
当边缘段s
i不完全被滑动窗口b包含时,
其中T表示一条路径由t
1=s
j∈S
b到t
|T|=s
i的路径;
基于边缘的权值计算该滑动窗口b的得分SCOREb,滑动窗口的得分SCOREb为:
其中mi是边缘段的边缘强度,bw,bn分别是滑动窗口的宽和长,k是平衡系数,用以平衡大小滑动窗口包含的边缘段数量的差异,优选的k=1.5;
将得分高于预设阈值H的滑动窗口b添加至候选表具边框区域集合R中;
基于上述步骤得到的多个表具边框区域中,包括包含表具图像的和不包含表具图像的,基于训练完成的卷积神经网络对候选边框进行分类,过滤掉不包含表具区域的候选边框,由此得到了包含表具区域的多个候选边框;
该卷积神经网络训练过程中,以采集的多个表具图像为原始训练数据,并将该表具图像经过边界框(Edge Boxes)算法获取图像中表具的候选边框位置,对所有的候选边框进行标注,标注类型包括包含表具图像和不包含表具图像两类,基于标注数据输入到搭建完成的初始卷积神经网络模型,以tanh函数作为激活函数,采用2个全连接层和dropout层防止训练过拟合,输出层采用SoftMax层,用于输出候选边框是否包含表具图像的结果,并将该输出结构与标注数据进行对比,通过预设损失函数衡量两者的差距,当差距足够小满足预设条件时停止训练过程,当差距不满足预设条件时,将差距数据反向传播修正网络的参数,其中修正网络的参数采用随机梯度下降算法。
经过上述卷积神经网络对候选边框的过滤删除后,基于非极大值抑制算法对候选边框进行进一步筛选,过滤掉重合面积满足预设阈值中边框分值较小的边框,获取唯一的一个优选的表具定位边框,具体的,将包含包含表具区域的多个候选边框的SCOREb从大到小进行排序,固定第1个候选边框,计算第1个候选边框与后面所有候选边框的面积的交并比,将交并比大于第二预设阈值的候选边框删除,基于删除后的所有候选框,固定第2个候选边框,计算第2个候选边框与后面所有候选边框的面积的交并比,将交并比大于第二预设阈值的候选边框删除,依次类推,直至只剩下一个候选边框作为表具定位边框区域。
考虑到表具安装时,会因为工作环境和人为因素使得摄像头产生一定的倾斜,为了更好的识别表具读数字符,在识别前先对表具边框进行定位,使得检测框大小和倾斜方向与实际的表具方向匹配,从而更准确的定位表具读数部分进行读数识别,避免了对倾斜表具图像进行校正处理。
Edge Boxes算法能够快速且有效地检测目标区域位置,满足实时采集表具图像并进行读数识别问题的准确性及实时性的需求。
对表具边框进行定位后,获取图像中表具的读数区域位置,具体的方法为:
基于表具类型和表具定位框位置,获取表具读数区域默认识别框位置,该读数区域默认识别框位置是根据表具类型和表具的标识信息预设的读数区域位置;
对默认识别框位置内的图像进行阈值分割获取文字特征,该步骤中阈值分割采用二值化方法,由于表具读数中,读数颜色为白色,非读数部分为黑色,将识别框内的像素值大于150的像素赋予像素值为0,将像素值小于等于150的像素赋予像素值为255;
然后,对于读数区域进行分割获取单个读数区域,具体的基于阈值分割图像进行图像的行投影和列投影获取文字行的上下边界和单个文字字符的左右边界;该步骤中,基于默认识别框位置图像的行投影,该行投影为将每一行的像素值叠加计算,基于叠加值出现波峰波谷的位置获取读数区域的上下边界,进一步缩小读数区域的上下边界,该上下边界位于默认识别框的上下边界内,基于默认识别框位置图像的列投影,该列投影为将每一列的像素值叠加计算,基于叠加值出现波峰波谷的位置获取读数区域的左右边界;
对于每个读数的上下左右边界形成每个读数的识别区域,基于该识别区域先对读数的完整性进行判断,对于读数不完整造成无法确定读数值的情况进行判断,具体的,将每个读数区域进行水平投影,投影到垂直方向上,当垂直方向上的线段个数大于1,则表明单个读数标识出现断裂,发出单个读数字符不完整告警信息;否则,继续进行判断,判断行投影的长度与默认识别框的高度差值是否大于第一预设阈值,若是,则发出单个读数字符不完整告警信息。
在读数完整的情况下,对上下左右边界内的单个读数区域通过与预先设定的数字模板进行匹配对比,匹配度最高的数字模板中的数字为识别结果。
然后将识别结果输入表单自动生成方法中,通过表单自动生成方法,将获取的抄表员的身份信息、表具的标识信息和表具的抄表读数填入电子表单对应位置进行显示,具体的,基于不同表具的电子表单格式配置电子表单模板的不同数据的位置以及对应的表单控件;
将每个表单控件绑定数据库表中对应数据种类的更新事件,以自动获取识别到的抄表员的身份信息、表具的标识信息和表具的抄表读数,个表单控件还绑定用户的输入数据以获取抄表员的修改编辑数据。
即在表具识别方法获得每个识别数据后,基于上一次采集的读数数据计算产生的费用,同时将识别数据和费用数据传递到表单自动生成方法填入电子表单中进行显示,在数据自动复制到对应的表单控件进行显示后,抄表员进行信息确认,接收抄表员的初始预设格式电子表单信息确认指令后,固化数据并上传到后台服务器。
基于上述基于抄表数据智能识别的数据录入方法,本发明实施例还提供了一种基于抄表数据智能识别的数据采集装置,包括:
抄表员身份信息获取单元,用于基于摄像头采集的人脸图像进行识别对比,获取抄表员的身份信息;
表具标识获取单元,用于基于二维码扫描设备获取的二维码信息进行识别,获取表具的标识信息;
表具读数获取单元,用于根据抄表员选择的表具类型调取表具识别方法,对表具边框进行定位、对图像中的读数区域定位和识别,获取表具的读数;
表具读数表单模拟生成单元,用于通过表单自动生成方法,将获取的抄表员的身份信息、表具的标识信息和表具的抄表读数填入电子表单对应位置进行显示;
表单生成单元,用于接收抄表员的初始预设格式电子表单信息确认指令,固化数据并上传到后台服务器。
基于上述基于抄表数据智能识别的数据录入方法,本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行所述计算机程序时实现上述基于抄表数据智能识别的数据录入方法的步骤。
基于上述基于抄表数据智能识别的数据录入方法,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述基于抄表数据智能识别的数据录入方法的步骤。
本发明不局限于上述具体的实施方式,本领域的普通技术人员从上述构思出发,不经过创造性的劳动,所做出的种种变换,均落在本发明的保护范围之内。