一种智能摄像表的云识别服务处理平台及方法与流程

文档序号:15979944发布日期:2018-11-17 00:12阅读:177来源:国知局

本发明涉及云计算与移动互联网技术领域,具体的说,是涉及一种智能摄像表的云识别服务处理平台及方法。

背景技术

随着智慧城市的推进,远程抄表系统与技术越来越受到人们的关注。远程抄表系统一方面可以大大减少能源运营单位和管理部门在水、电、气、热等不同类型能源数据的采集上的人力与物力的投入,同时也促进了这些数据在后续大数据智能分析和数据挖掘中的有效利用。智能摄像表利用图像采集终端(如智能手机、采集硬件设备等)获取仪表读数图像,并利用高性能识别模型进行自动识别,是一种新型的远程抄表模式。

智能摄像表具有(1)成本低廉;(2)即装即用:无需拆装现有计量表和管道;(3)可扩展性好:方便不同类型和规格的计量表接入;(4)采集的图像数据客观准确等特点,具有广泛应用前景。然而,智能摄像表的高性能识别模型通常涉及大量的复杂运算和存储,需要高性能的硬件计算资源,才能适应仪表图像的高性能实时识别处理。

云计算技术作为一种全新的数据存储与管理机制,借助于分布式计算机、网络计算、并行计算等技术,将it资源进行动态组合与扩展延伸,为用户提供更为便捷的数据信息服务,因此得到广泛应用。

由于云识别服务器要适应大规模的仪表图像采集终端的数据上传和并发访问,单机系统往往难以满足实际应用的需要,因此其在大规模仪表图像的实时处理方面受到限制。

上述缺陷,值得解决。



技术实现要素:

为了克服现有的技术的不足,本发明提供一种智能摄像表的云识别服务处理平台及方法,实现了智能摄像表的识别服务,具有稳定、安全等特性,可以广泛应用于智能摄像表的识别处理服务中。

本发明技术方案如下所述:

一方面,一种智能摄像表的云识别服务处理平台,其特征在于,包括客户端和服务器:

所述客户端包括硬件客户端、移动客户端以及网页客户端,所述客户端通过https协议向所述服务器发送仪表图像以及用户身份验证信息;

所述服务器分为主服务器和从服务器,所述主服务器接收仪表图像以及用户身份验证信息,转发给所述从服务器,并将所述从服务器返回的结果返回给用户,并存入数据库;所述从服务器接收所述主服务器转发的仪表图像以及用户身份验证信息,对用户信息进行验证,对仪表图像进行识别,将识别后的信息发回所述主服务器。

根据上述方案的本发明,其特征在于,所述硬件客户端为智能摄像表,所述智能摄像表安装于仪表表面,所述智能摄像表对所述仪表的表盘进行拍照,并上传仪表图像及仪表信息。

根据上述方案的本发明,其特征在于,所述移动客户端和所述网页客户端通过移动终端对仪表表盘进行拍照,并上传仪表图像及仪表信息。

根据上述方案的本发明,其特征在于,所述服务器包括nginx负载均衡模块、uwsgi网关模块、django服务器模块、识别引擎模块以及数据库模块:

所述nginx负载均衡模块用于所述主服务器,将所述主服务器接收到的仪表图像以及用户身份验证信息转发给所述从服务器;

所述uwsgi网关模块作为所述django服务器模块的网关,当所述uwsgi网关模块接收到来自所述nginx负载均衡模块的请求后,根据请求的url调用所述django服务器模块的内部服务接口,执行相应处理操作;

所述django服务器模块根据请求的url调用相应的服务接口,完成数据识别与处理;

所述识别引擎模块以监听特定tcp端口的形式常驻内存,接收所述django服务器模块发送的仪表图像数据,并返回仪表图像的检测与识别结果;

所述数据库模块保存用户身份信息,仪表图像识别信息。

进一步的,还包括supervisor进程监控服务模块,所述supervisor进程监控服务模块用于监控所述服务器内部各个功能模块之间的运行状态,当功能模块出现崩溃时,则重新启动相应功能模块。

进一步的,所述django服务器模进行数据识别与处理的过程中:当涉及到所述识别引擎模块的调用时,所述django服务器模进会将请求通过tcp协议转发给所述识别引擎模块,以获取识别结果;当涉及到所述数据库模块的操作时,则会直接对所述数据库模块进行查询和写入等操作。

另一方面,一种智能摄像表的云识别服务处理方法,其特征在于,包括以下步骤:

s1:用户向系统管理人员申请身份id,系统数据库中记录该身份id;

s2:用户通过客户端向主服务器发送仪表图像以及身份验证信息;

s3:所述主服务器接收到用户请求后,经过nginx负载均衡模块的负载均衡,将数据发送给从服务器;

s4:所述从服务器接收到数据后,经uwsgi网关模块发送给django服务器模块;

s5:所述django服务器模块接收到数据后,对用户身份id进行验证;

s6:识别引擎模块接收到数据后,对仪表图像进行识别,将识别结果返回给所述django服务器模块;

s7:所述django服务器模块将所述识别引擎模块返回的识别结果记录在本地数据库模块中,并把识别结果返回给所述主服务器;

s8:所述主服务器接收到所述从服务器返回的识别结果后,将识别结果记录在所述主服务器的数据库中,并返回给所述客户端。

根据上述方案的本发明,其特征在于,所述客户端包括硬件客户端、移动客户端以及网页客户端。

根据上述方案的本发明,其特征在于,在步骤s1中,所述客户端采用https协议向所述主服务器发送仪表图像以及身份验证信息。

根据上述方案的本发明,其特征在于,在所述步骤s5进行验证身份id的过程中:若用户身份验证错误,则返回身份错误信息;若用户身份验证正确,则根据仪表类型选择不同的识别引擎模块,将仪表图像数据通过tcp协议发送至对应识别引擎模块监听的端口。

根据上述方案的本发明,其特征在于,在云识别服务处理过程中,各个功能模块使用supervisor进程监控服务模块对运行状态进行监控,当服务出现崩溃时,所述supervisor进程监控服务模块立即重新启动相应服务。

根据上述方案的本发明,其有益效果在于,本发明通过将智能摄像表采集的仪表图像上传到云识别服务器,利用云识别服务器提供的强大计算和存储资源,提供仪表读数的在线云识别服务:

(1)在一个平台内可以实现水电气热等不同类型和规格的计量表数据的检测与识别,具有统一接口,方便各种计量表的接入;

(2)可以支持多种仪表图像采集模式,包括硬件客户端、移动客户端以及网页客户端等,适应性更为广泛;

(3)可以满足智能摄像表对仪表图像的高性能实时识别处理的需要;

(4)云识别服务器提供的大数据存储能力,也为大量仪表图像及读数的存储,以及后续的数据分析和挖掘,提供了有力支撑。本发明满足智能摄像表的大规模图像高性能实时识别处理的需要,在水、电、气、热等不同计量表读数的自动抄表中具有广泛应用。

附图说明

图1为本发明的结构示意图。

图2为本发明中nginx负载均衡模块配置的示意图。

图3为本发明中uwsgi网关配置的示意图。

图4为本发明中supervisor模块监控uwsgi模块配置的示意图。

具体实施方式

下面结合附图以及实施方式对本发明进行进一步的描述:

如图1所示,一种智能摄像表的云识别服务处理平台,包括客户端和服务器。客户端通过https协议向服务器发送仪表图像以及用户身份验证信息;服务器对请求内容进行身份验证及图像识别并返回结果。客户端与服务器之间采用https协议进行通信,服务器的各个模块、进程之间采用基于tcp/ip协议的通信方式。

优选的,客户端包括硬件客户端、移动客户端以及网页客户端。其中:

(1)硬件客户端:为智能摄像表,智能摄像表安装于仪表表面,智能摄像表对仪表的表盘进行拍照,并上传仪表图像及仪表信息。

(2)移动客户端:即通过移动终端对仪表表盘进行拍照,并上传仪表图像及仪表信息。移动终端包括智能手机、平板电脑等,其支持ios、android操作系统平台。

(3)网页客户端:即通过移动终端对仪表表盘进行拍照,并上传仪表图像及仪表信息。网页客户端内置图像采集软件,实现仪表读数图像的采集、上传及识别结果显示。

优选的,服务器按照功能分为主服务器和从服务器,具体的:主服务器接收仪表图像以及用户身份验证信息,转发给从服务器,并将从服务器返回的结果返回给用户,并存入数据库;从服务器接收主服务器转发的仪表图像以及用户身份验证信息,对用户信息进行验证,对仪表图像进行识别,将识别后的信息发回主服务器。

服务器内部架构包括nginx负载均衡模块、uwsgi网关模块、django服务器模块、识别引擎模块、supervisor进程监控服务模块以及数据库模块,这些模块相互配合,共同完成智能摄像表采集图像的识别处理服务。其中:

(1)nginx负载均衡模块用于主服务器,将主服务器接收到的仪表图像以及用户身份验证信息转发给从服务器。其将发送到固定ip主服务器的用户请求信息转发到不同的从服务器集群中,从服务器可以视需求增减,减轻主服务器压力,同时增强系统整体稳定性和负载能力;对于静态文件的请求,直接由nginx负载均衡模块负责返回,而对于动态请求(如水表数据的检测和识别请求),则发送至uwsgi网关模块进行具体调度。

(2)uwsgi网关模块作为django服务器模块的网关,当uwsgi网关模块接收到来自nginx负载均衡模块的请求后,根据请求的url调用django服务器模块的内部服务接口,将请求转发至django服务器模块,执行相应处理操作;将从django服务器模块返回的信息发送至nginx负载均衡模块,返回给请求的用户。

(3)django服务器模块为后台事务处理模块,其根据用户请求的url调用相应的服务接口,调度具体识别算法模块、读写数据库信息,进行异常处理,返回识别结果等。

其具体处理步骤为:当涉及到识别引擎模块的调用时,django服务器模进会将请求通过tcp协议转发给识别引擎模块,以获取识别结果;当涉及到数据库模块的操作时,则会直接对数据库模块进行查询和写入等操作。

(4)识别引擎模块以监听特定tcp端口的形式常驻内存,根据用户请求,调用算法模块,进行水表图像的读数区域检测和读数识别,接收django服务器模块发送的仪表图像数据,并返回仪表图像的检测与识别结果。

(5)supervisor进程监控服务模块用于监控服务器内部各个功能模块之间的运行状态,当功能模块出现崩溃时,则重新启动相应功能模块,保证系统稳定性。

(6)数据库模块(mysql数据库)保存用户身份信息,仪表图像识别信息,以备后续查看。

上述智能摄像表的云识别服务处理平台的具体处理方法,包括以下步骤:

1、用户向系统管理人员申请身份id,如id为:“scut#dlvc”,系统数据库中记录该身份id。

2、用户通过客户端(包括硬件客户端、移动客户端以及网页客户端)对家用水表图像进行拍摄,并采用https协议通过post方式向主服务器发送经过base64编码后的水表图像数据以及身份id。

3、主服务器接收到用户请求后,经过nginx负载均衡模块的负载均衡,将数据发送给从服务器。

如图2所示的nginx负载均衡模块配置,在本实施例的nginx负载均衡模块中,1台主服务器监听端口为2345,4台从服务器监听端口均为1234,主服务器ip地址为:127.0.0.1,各从服务器ip地址分别为:111.11.111.111、111.11.111.112、111.11.111.113和111.11.111.114。

4、从服务器接收到数据后,经uwsgi网关模块发送给django服务器模块。

如图3所示的uwsgi网关模块配置,其中uwsgi网关模块开启4个线程,最多同时处理128个请求,并通过监听/dev/shm/water*.sock文件接收数据。

5、django服务器模块接收到数据后,对用户身份id进行验证。具体的:若用户身份验证错误,则返回身份错误信息;若用户身份验证正确,则根据仪表类型选择不同的识别引擎模块,将仪表图像数据通过tcp协议发送至对应识别引擎模块监听的端口。

在本实施例中,用户身份id:“scut#dlvc”存在于系统数据库中,验证通过;根据仪表类型选择适用于水表的识别算法模块,将水表图像数据通过tcp协议发送至对应算法模块监听的端口,如6789端口。

6、识别引擎模块接收到数据后,对仪表图像进行识别,将识别结果返回给django服务器模块。

在本实施例中,识别引擎模块从6789端口接收到数据后,对要识别的仪表图像进行读数框的定位和读数的识别:读数框的定位结果为从矩形框的左上角(坐标原点)开始顺时针的点(x、y)坐标;读数框不一定是水平矩形框,可以是倾斜的有角度的矩形框,如:“18,19,223,19,223,58,18,58”;读数的识别结果如:“12258”。后识别引擎模块将识别结果通过6789端口返回给django服务器模块。

7、django服务器模块将识别引擎模块返回的识别结果记录在本地数据库模块中,并把识别结果返回给主服务器。

8、主服务器接收到从服务器返回的识别结果后,将识别结果记录在主服务器的mysql数据库中,并返回给客户端。

在云识别服务处理过程中,各个功能模块使用supervisor进程监控服务模块对运行状态进行监控,当服务出现崩溃时,supervisor进程监控服务模块立即重新启动相应服务。

如图4所示的supervisor进程监控服务模块配置,command为启动uwsgi模块的linux命令,uwsgi模块输出记录在/water/water_log.uwsgi.log文件中,uwsgi模块错误日志记录在/water/water_log.uwsgi_error.log文件中;autostart配置当supervisor模块启动时自动启动uwsgi模块,autorestart配置当supervisor模块出错崩溃时自动重新启动uwsgi模块。

在本发明中:(1)客户端在发送请求数据的过程中使用https协议;(2)在服务器中采用uwsgi网关+django模块方式监听用户请求;(3)在服务器集群中使用了nginx实现负载均衡;(4)在服务器集群中使用主从服务器的方式同步数据;(5)对以上各模块使用supervisor进行监控;(6)使用mysql数据库存储数据。

云计算技术作为一种全新的数据存储与管理机制,借助于分布式计算机、网络计算、并行计算等技术,将it资源进行动态组合与扩展延伸,为用户提供更为便捷的数据信息服务。本发明通过将智能摄像表采集的仪表图像上传到云识别服务器,利用云识别服务器提供的强大计算和存储资源,提供仪表读数的在线云识别服务:一方面可以满足智能摄像表对仪表图像的高性能实时识别处理的需要。另一方面,云识别服务器提供的大数据存储能力,也为大量仪表图像及读数的存储,以及后续的数据分析和挖掘,提供了有力支撑。

本发明适用于水表的检测识别,是一个通用的检测识别云服务框架,基于不同的算法模块可较为方便的提供不同的服务。所持有的特殊效果是针对水表图像进行检测识别,而非仅仅进行数据传输和备份,同时也较易简单的迁移至电表、燃气表等的检测和识别。

应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。

上面结合附图对本发明专利进行了示例性的描述,显然本发明专利的实现并不受上述方式的限制,只要采用了本发明专利的方法构思和技术方案进行的各种改进,或未经改进将本发明专利的构思和技术方案直接应用于其它场合的,均在本发明的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1