实时物体识别方法、装置以及计算机设备与流程

文档序号:18705440发布日期:2019-09-17 23:37阅读:195来源:国知局
本发明涉及实时物体识别
技术领域
:,尤其涉及一种实时物体识别方法、装置、计算机设备及计算机可读存储介质。
背景技术
::在日常生活中,经常会遇到这样的场景,看到某个没见过的但是很有趣的东西时,想要了解其名字或者种类。基于这样的需要,目前有很多企业提供用于解决物体识别的移动终端应用app。这种物体识别app在进行物体识别时,需要连接到识别服务器,然后将拍摄的视频流或者视频画面发送到识别服务器,然后识别服务器根据预设的识别模型对所述视频流或者视频画面进行识别,然后将识别结果返回到该终端应用app。然而通过将实时的视频流或者视频画面不断地传送到识别服务器并接收识别服务器反馈的识别结果,这一过程需要耗费很多传输带宽。而且,在移动网络信号较差的区域,识别的过程将要耗费更长的时间,效率低下。技术实现要素:有鉴于此,本发明提出一种实时物体识别方法、装置、计算机设备及计算机可读存储介质,能够通过javascript组件加载最新版本物体识别模型到终端设备的浏览器物体识别页面,接着,获取摄像头拍摄的视频画面并显示到浏览器页面的视频窗口;然后再接收用户的物体识别执行指令后降低所述视频画面的播放帧率,再截取当前视频窗口的视频图像;最后根据所述最新版本物体识别模型对所述视频图像进行识别并将识别结果显示到所述视频窗口的预设位置。通过以上方式,能够将识别模型加载到终端并在获取视频画面时降低帧率,从而在带宽较低,网速较慢的情况下也能够在终端设备实现快速实时物体识别。首先,为实现上述目的,本发明提供一种实时物体识别方法,所述方法包括:监控到开启浏览器物体识别页面之后,通过javascript组件加载最新版本物体识别模型;获取摄像头拍摄的视频画面并显示到浏览器页面的视频窗口;接收用户的物体识别执行指令,降低所述视频画面的播放帧率,截取当前视频窗口的视频图像;根据所述最新版本物体识别模型对所述视频图像进行识别;将识别结果显示到所述视频窗口的预设位置。可选地,所述“加载最新版本的物体识别模型”的步骤包括:获取服务器上的最新版本物体识别模型的第一版本号;将所述第一版本号与所述浏览器的javascript组件所包括的物体识别模型的第二版本号进行比对;当所述第一版本号高于所述第二版本号时,则从所述服务器端下载所述最新版本物体识别模型替换所述浏览器的javascript组件所包括的物体识别模型并进行加载;否则,直接加载所述javascript组件中的物体识别模型。可选地,所述物体识别模型采用mobilenetv2结构,所述“根据所述最新版本物体识别模型对所述视频图像进行识别”步骤之前还包括:对所述视频图像进行格式处理,所述格式处理包括:尺寸和颜色处理,以及归一化处理。可选地,所述“将识别结果显示到所述视频窗口的预设位置”的步骤还包括:获取所述物体识别模型对所述视频图像的目标物体的识别相似度,并作为所述目标物体的识别概率;将大于预设阈值的识别概率的所有物体名称及对应的识别概率通过文字控件显示出来到所述视频窗口预设位置。此外,为实现上述目的,本发明还提供一种实时物体识别装置,所述装置包括:加载模块,用于监控到开启浏览器物体识别页面之后,通过javascript组件加载最新版本物体识别模型;显示模块,用于获取摄像头拍摄的视频画面并显示到浏览器页面的视频窗口;截取模块,用于接收用户的物体识别执行指令,降低所述视频画面的播放帧率,截取当前视频窗口的视频图像;识别模块,用于根据所述最新版本物体识别模型对所述视频图像进行识别;所述显示模块,用于将识别结果显示到所述视频窗口的预设位置。可选地,所述加载模块还用于:获取服务器上的最新版本物体识别模型的第一版本号;将所述第一版本号与所述浏览器的javascript组件所包括的物体识别模型的第二版本号进行比对;当所述第一版本号高于所述第二版本号时,则从所述服务器端下载所述最新版本物体识别模型替换所述浏览器的javascript组件所包括的物体识别模型并进行加载;否则,直接加载所述javascript组件中的物体识别模型。可选地,所述物体识别模型采用mobilenetv2结构,所述识别模块还用于:对所述视频图像进行格式处理,所述格式处理包括:尺寸和颜色处理,以及归一化处理。可选地,所述显示模块,还用于获取所述物体识别模型对所述视频图像的目标物体的识别相似度,并作为所述目标物体的识别概率;将大于预设阈值的识别概率的所有物体名称及对应的识别概率通过文字控件显示出来到所述视频窗口预设位置。进一步地,本发明还提出一种计算机设备,所述计算机设备包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上述的实时物体识别方法的步骤。进一步地,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序可被至少一个处理器执行,以使所述至少一个处理器执行如上述的实时物体识别方法的步骤。相较于现有技术,本发明所提出的实时物体识别方法、装置、计算机设备及计算机可读存储介质,能够通过javascript组件加载最新版本物体识别模型到终端设备的浏览器物体识别页面,接着,获取摄像头拍摄的视频画面并显示到浏览器页面的视频窗口;然后再接收用户的物体识别执行指令后降低所述视频画面的播放帧率,再截取当前视频窗口的视频图像;最后根据所述最新版本物体识别模型对所述视频图像进行识别并将识别结果显示到所述视频窗口的预设位置。通过以上方式,能够将识别模型加载到终端并在获取视频画面时降低帧率,从而在带宽较低,网速较慢的情况下也能够在终端设备实现快速实时物体识别。附图说明图1是本发明计算机设备一可选的硬件架构的示意图;图2是本发明实时物体识别装置一实施例的程序模块示意图;图3是本发明实时物体识别方法一实施例的流程示意图。附图标记:计算机设备1存储器11处理器12网络接口13实时物体识别装置200加载模块201显示模块202截取模块203识别模块204本发明目的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。参阅图1所示,是本发明计算机设备1一可选的硬件架构的示意图。本实施例中,所述计算机设备1可包括,但不仅限于,可通过系统总线相互通信连接存储器11、处理器12、网络接口13。所述计算机设备1通过网络接口13连接网络(图1未标出),通过网络连接到其他终端设备如摄像单元,门禁设备,移动终端(mobileterminal)、移动电话(mobiletelephone)、用户设备(userequipment,ue)、手机(handset)及便携设备(portableequipment),pc端等。所述网络可以是企业内部网(intranet)、互联网(internet)、全球移动通讯系统(globalsystemofmobilecommunication,gsm)、宽带码分多址(widebandcodedivisionmultipleaccess,wcdma)、4g网络、5g网络、蓝牙(bluetooth)、wi-fi、通话网络等无线或有线网络。需要指出的是,图1仅示出了具有组件11-13的计算机设备1,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,所述存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器11可以是所述计算机设备1的内部存储单元,例如该计算机设备1的硬盘或内存。在另一些实施例中,所述存储器11也可以是所述计算机设备1的外部存储设备,例如该计算机设备1配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。当然,所述存储器11还可以既包括所述计算机设备1的内部存储单元也包括其外部存储设备。本实施例中,所述存储器11通常用于存储安装于所述计算机设备1的操作系统和各类应用软件,例如实时物体识别装置200的程序代码等。此外,所述存储器11还可以用于暂时地存储已经输出或者将要输出的各类数据。所述处理器12在一些实施例中可以是中央处理器(centralprocessingunit,cpu)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器12通常用于控制所述计算机设备1的总体操作,例如执行数据交互或者通信相关的控制和处理等。本实施例中,所述处理器12用于运行所述存储器11中存储的程序代码或者处理数据,例如运行所述的实时物体识别装置200等。所述网络接口13可包括无线网络接口或有线网络接口,该网络接口13通常用于在所述计算机设备1与其他终端设备如摄像单元,门禁设备,移动终端、移动电话、用户设备、手机及便携设备,pc端等之间建立通信连接。本实施例中,所述计算机设备1内安装并运行有实时物体识别装置200时,当所述实时物体识别装置200运行时,能够通过javascript组件加载最新版本物体识别模型到终端设备的浏览器物体识别页面,接着,获取摄像头拍摄的视频画面并显示到浏览器页面的视频窗口;然后再接收用户的物体识别执行指令后降低所述视频画面的播放帧率,再截取当前视频窗口的视频图像;最后根据所述最新版本物体识别模型对所述视频图像进行识别并将识别结果显示到所述视频窗口的预设位置。通过以上方式,能够将识别模型加载到终端并在获取视频画面时降低帧率,从而在带宽较低,网速较慢的情况下也能够在终端设备实现快速实时物体识别。至此,己经详细介绍了本发明各个实施例的应用环境和相关设备的硬件结构和功能。下面,将基于上述应用环境和相关设备,提出本发明的各个实施例。首先,本发明提出一种实时物体识别装置200。参阅图2所示,是本发明实时物体识别装置200一实施例的程序模块图。本实施例中,所述实时物体识别装置200包括一系列的存储于存储器11上的计算机程序指令,当该计算机程序指令被处理器12执行时,可以实现本发明各实施例的实时物体识别功能。在一些实施例中,基于该计算机程序指令各部分所实现的特定的操作,实时物体识别装置200可以被划分为一个或多个模块。例如,在图2中,所述实时物体识别装置200可以被分割成加载模块201、显示模块202、截取模块203和识别模块204。其中:所述加载模块201,用于监控到开启浏览器物体识别页面之后,通过javascript组件加载最新版本物体识别模型。所述显示模块202,用于获取摄像头拍摄的视频画面并显示到浏览器页面的视频窗口。具体地,随着科技的进步和浏览器技术的发展,使得基于html5技术规范的浏览器技术能够移植并广泛应用到移动终端。而基于html5规范的浏览器上一般都能够通过嵌套javascript脚本对所述浏览器进行功能添加,例如,将待添加的功能作为对象存储到所述浏览器的架构中,或者浏览器的缓存区,当需要调用时,启动javascript脚本执行调用所述对象的功能。对于基于html5技术规范的浏览器架构,以及利用javascript脚本执行调用对象功能的技术属于现有技术手段,这里不做赘述。在本实施例中,用户通过在所述浏览器上输入预设的url地址,从而启动物体识别功能,开启浏览器物体识别页面。所述加载模块201监控到开启浏览器物体识别页面之后,通过javascript组件加载最新版本物体识别模型。于此同时,所述显示模块202获取摄像头拍摄的视频画面并显示到浏览器页面的视频窗口。在本实施例中,所述加载模块201首先获取服务器上的最新版本物体识别模型的第一版本号,然后将所述第一版本号与所述终端的浏览器已下载的javascript组件所包括的物体识别模型的第二版本号进行比对;当所述第一版本号高于所述第二版本号时,则从所述服务器端下载所述最新版本物体识别模型替换所述浏览器的javascript组件所包括的物体识别模型并进行加载;否则,直接加载所述javascript组件中的物体识别模型。其中,如果所述浏览器上并未下载任何版本的物体识别模型,那么所述加载模块201则直接从所述服务器端下载最新版本物体识别模型并进行加载。其中,所述物体识别模型是通过对不同物体类别的图像样本进行训练和学习而产生的,能够对相应的不同物体类别进行识别。所述显示模块202则在监控到开启浏览器物体识别页面之后调用摄像单元,将所述待识别物体显示到所述物体识别页面的视频窗口。所述截取模块203,用于接收用户的物体识别执行指令,降低所述视频画面的播放帧率,截取当前视频窗口的视频图像。具体地,所述显示模块202通过摄像单元将所述待识别物体显示到所述视频窗口之后,所述截取模块203则会在接收到用户的物体识别执行指令之后降低所述视频画面的播放帧率,截取当前视频窗口的视频图像。其中,由于图像识别过程会消耗终端的存储资源和cpu的资源,而将视频流数据进行显示的过程也需要消耗这些硬件资源,因此,为了提升后续识别过程的速度,所述截取模块203在截取当前视频窗口的视频图像之后则降低视频窗口的视频画面的播放帧率。所述识别模块204,用于根据所述最新版本物体识别模型对所述视频图像进行识别。在本实施例中,所述物体识别模型采用mobilenetv2结构,所述识别模块还用于:对所述视频图像进行格式处理,所述格式处理包括:尺寸和颜色处理,以及归一化处理。具体地,所述识别模块204在根据所述物体识别模型对所述视频图像进行识别之前还会将所述视频图像进行预处理,一方面是因为所述物体识别模型对输入图像的尺寸和颜色等会有要求,这个主要根据所述物体识别模型的输入要求来进行,比如对于mobilenetv2的识别模型,输入图像的尺寸需要是224*224*3,也就是长224,宽224,3通道(彩色,如果要求黑白一般为单通道);另一方面需要进行归一化处理,即对所述视频图像的数据进行标准化的操作,比如将像素值从0~225的范围映射到0~1或-1~1的范围,从而避免特异值对模型的影响。接着,所述浏览器将预处理后的视频图像输入到所述物体识别模型进行识别。通过图像识别模型对图像进行识别,比较现有的手段,这里不再对识别的过程进行描述。最后,所述识别模块204在对所述视频图像识别完成之后,将所述视频画面的播放帧率进行复原。所述显示模块202,用于将识别结果显示到所述视频窗口的预设位置。在本实施例中,所述显示模块202还会获取所述物体识别模型对所述视频图像的目标物体的识别相似度,并作为所述目标物体的识别概率;将大于预设阈值的识别概率的所有物体名称及对应的识别概率通过文字控件显示出来到所述视频窗口预设位置。由于所述物体识别模型用于对各个物体进行识别,然而,由于不同的物体之间可能存在相似或者相像的特征值。因此,在本实施例中,所述识别模块204根据所述物体识别模型在对视频图像进行识别时,能够将所述图像属于这一物体类别的概率大于预设的第一阈值的所有的物体类别全部列举出来,并将每一种物体类别对应的相似概率列举出来。例如,当待识别的物体跟所述物体识别模型中的a,b,c都有点相似,其中,与a,b,c相似度分别为95%,60%,20%。因此,所述识别模块204对所述待识别物体进行识别之后,则会判定出识别结果为:95%概率为a,60%概率为b,20%概率为c。当然,如果预设的第一阈值为30%,那么判定出的识别结果中的95%概率为a,60%概率为b才会被列举出来,而判定结果20%概率为c则不会列举出来。然后,所述显示模块202则调用显示控件将所述显示结果显示到所述视频窗口的预设位置,例如,正上方位置。从上文可知,所述计算机设备1能够通过javascript组件加载最新版本物体识别模型到终端设备的浏览器物体识别页面,接着,获取摄像头拍摄的视频画面并显示到浏览器页面的视频窗口;然后再接收用户的物体识别执行指令后降低所述视频画面的播放帧率,再截取当前视频窗口的视频图像;最后根据所述最新版本物体识别模型对所述视频图像进行识别并将识别结果显示到所述视频窗口的预设位置。通过以上方式,能够将识别模型加载到终端并在获取视频画面时降低帧率,从而在带宽较低,网速较慢的情况下也能够在终端设备实现快速实时物体识别。此外,本发明还提出一种实时物体识别方法,所述方法应用于计算机设备。参阅图3所示,是本发明实时物体识别方法一实施例的流程示意图。在本实施例中,根据不同的需求,图3所示的流程图中的步骤的执行顺序可以改变,某些步骤可以省略。步骤s500,监控到开启浏览器物体识别页面之后,通过javascript组件加载最新版本物体识别模型。步骤s502,获取摄像头拍摄的视频画面并显示到浏览器页面的视频窗口。具体地,随着科技的进步和浏览器技术的发展,使得基于html5技术规范的浏览器技术能够移植并广泛应用到移动终端等计算机设备。而基于html5规范的浏览器上一般都能够通过嵌套javascript脚本对所述浏览器进行功能添加,例如,将待添加的功能作为对象存储到所述浏览器的架构中,或者浏览器的缓存区,当需要调用时,启动javascript脚本执行调用所述对象的功能。对于基于html5技术规范的浏览器架构,以及利用javascript脚本执行调用对象功能的技术属于现有技术手段,这里不做赘述。在本实施例中,用户通过在所述浏览器上输入预设的url地址,从而启动物体识别功能,开启浏览器物体识别页面。所述计算机设备监控到开启浏览器物体识别页面之后,通过javascript组件加载最新版本物体识别模型。于此同时,所述计算机设备获取摄像头拍摄的视频画面并显示到浏览器页面的视频窗口。在本实施例中,所述计算机设备首先获取服务器上的最新版本物体识别模型的第一版本号,然后将所述第一版本号与所述终端的浏览器已下载的javascript组件所包括的物体识别模型的第二版本号进行比对;当所述第一版本号高于所述第二版本号时,则从所述服务器端下载所述最新版本物体识别模型替换所述浏览器的javascript组件所包括的物体识别模型并进行加载;否则,直接加载所述javascript组件中的物体识别模型。其中,如果所述浏览器上并未下载任何版本的物体识别模型,那么所述计算机设备则直接从所述服务器端下载最新版本物体识别模型并进行加载。其中,所述物体识别模型是通过对不同物体类别的图像样本进行训练和学习而产生的,能够对相应的不同物体类别进行识别。所述计算机设备则在监控到开启浏览器物体识别页面之后调用摄像单元,将所述待识别物体显示到所述物体识别页面的视频窗口。步骤s504,接收用户的物体识别执行指令,降低所述视频画面的播放帧率,截取当前视频窗口的视频图像。具体地,所述计算机设备通过摄像单元将所述待识别物体显示到所述视频窗口之后,所述计算机设备则会在接收到用户的物体识别执行指令之后降低所述视频画面的播放帧率,截取当前视频窗口的视频图像。其中,由于图像识别过程会消耗终端的存储资源和cpu的资源,而将视频流数据进行显示的过程也需要消耗这些硬件资源,因此,为了提升后续识别过程的速度,所述计算机设备在截取当前视频窗口的视频图像之后则降低视频窗口的视频画面的播放帧率。步骤s506,根据所述最新版本物体识别模型对所述视频图像进行识别,并将识别结果显示到所述视频窗口的预设位置。在本实施例中,所述物体识别模型采用mobilenetv2结构,所述识别模块还用于:对所述视频图像进行格式处理,所述格式处理包括:尺寸和颜色处理,以及归一化处理。具体地,所述计算机设备在根据所述物体识别模型对所述视频图像进行识别之前还会将所述视频图像进行预处理,一方面是因为所述物体识别模型对输入图像的尺寸和颜色等会有要求,这个主要根据所述物体识别模型的输入要求来进行,比如对于mobilenetv2的识别模型,输入图像的尺寸需要是224*224*3,也就是长224,宽224,3通道(彩色,如果要求黑白一般为单通道);另一方面需要进行归一化处理,即对所述视频图像的数据进行标准化的操作,比如将像素值从0~225的范围映射到0~1或-1~1的范围,从而避免特异值对模型的影响。接着,所述浏览器将预处理后的视频图像输入到所述物体识别模型进行识别。通过图像识别模型对图像进行识别,比较现有的手段,这里不再对识别的过程进行描述。最后,所述计算机设备在对所述视频图像识别完成之后,将所述视频画面的播放帧率进行复原。在本实施例中,所述计算机设备还会获取所述物体识别模型对所述视频图像的目标物体的识别相似度,并作为所述目标物体的识别概率;将大于预设阈值的识别概率的所有物体名称及对应的识别概率通过文字控件显示出来到所述视频窗口预设位置。由于所述物体识别模型用于对各个物体进行识别,然而,由于不同的物体之间可能存在相似或者相像的特征值。因此,在本实施例中,所述计算机设备根据所述物体识别模型在对视频图像进行识别时,能够将所述图像属于这一物体类别的概率大于预设的第一阈值的所有的物体类别全部列举出来,并将每一种物体类别对应的相似概率列举出来。例如,当待识别的物体跟所述物体识别模型中的a,b,c都有点相似,其中,与a,b,c相似度分别为95%,60%,20%。因此,所述计算机设备对所述待识别物体进行识别之后,则会判定出识别结果为:95%概率为a,60%概率为b,20%概率为c。当然,如果预设的第一阈值为30%,那么判定出的识别结果中的95%概率为a,60%概率为b才会被列举出来,而判定结果20%概率为c则不会列举出来。然后,所述计算机设备则调用显示控件将所述显示结果显示到所述视频窗口的预设位置,例如,正上方位置。本实施例所提出的实时物体识别方法能够通过javascript组件加载最新版本物体识别模型到终端设备的浏览器物体识别页面,接着,获取摄像头拍摄的视频画面并显示到浏览器页面的视频窗口;然后再接收用户的物体识别执行指令后降低所述视频画面的播放帧率,再截取当前视频窗口的视频图像;最后根据所述最新版本物体识别模型对所述视频图像进行识别并将识别结果显示到所述视频窗口的预设位置。通过以上方式,能够将识别模型加载到终端并在获取视频画面时降低帧率,从而在带宽较低,网速较慢的情况下也能够在终端设备实现快速实时物体识别。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的
技术领域
:,均同理包括在本发明的专利保护范围内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1