CN112560809A - 一种实时展示识别效果的方法及装置 - Google Patents
一种实时展示识别效果的方法及装置 Download PDFInfo
- Publication number
- CN112560809A CN112560809A CN202110188531.8A CN202110188531A CN112560809A CN 112560809 A CN112560809 A CN 112560809A CN 202110188531 A CN202110188531 A CN 202110188531A CN 112560809 A CN112560809 A CN 112560809A
- Authority
- CN
- China
- Prior art keywords
- target
- video
- recognition
- server
- identification result
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/94—Hardware or software architectures specially adapted for image or video understanding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/94—Hardware or software architectures specially adapted for image or video understanding
- G06V10/95—Hardware or software architectures specially adapted for image or video understanding structured as a network, e.g. client-server architectures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/04—Synchronising
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例涉及图像展示技术领域,公开一种实时展示识别效果的方法及装置,包括:从缓存队列中依次读取存储的目标标识结果;启动新进程并在新进程中采用视频解析组件读取目标标识结果以生成目标显示视频流;根据预设的第一视频推送协议将所述目标显示视频流推送至流媒体服务器处;将所述目标显示视频流推送至客户端以使所述客户端通过第二视频推送协议读取所述目标显示视频流进行实时的目标展示。本发明实施例中实时展示识别效果的方法通过采用多进程进行目标标识结果读取,能够实现快速的识别结果读取,并且通过采用视频流推送的方式将其推送至流媒体服务器,使得用户能够在客户端通过视频推送协议直接读取视频流进而显示实时的识别结果。
Description
技术领域
本发明涉及图像展示技术领域,具体涉及一种实时展示识别效果的方法及装置。
背景技术
目前,基于深度学习的目标检测的模型存储、识别、结果处理等识别流程都在同一台机器上完成,整个流程的模块耦合性高,单个机器运行整个流程负载严重,从而影响目标识别的效果和精确度。并且基于深度学习的目标检测识别结果图片不能实时的显示在web页面、手机端或小程序等浏览器上,其不能很方便的实时显示目标检测得到的识别效果。因此,设计一种能够实时对识别结果进行显示的方案成为本领域技术人员亟待解决的技术问题。
发明内容
针对所述缺陷,本发明实施例公开了一种实时展示识别效果的方法,其通过采用多进程进行目标标识结果读取,能够实现快速的识别结果读取,并且通过采用视频流推送的方式将其推送至流媒体服务器,使得用户能够在客户端通过视频推送协议直接读取视频流进而显示实时的识别结果。
本发明实施例第一方面公开了实时展示识别效果的,包括:
从缓存队列中依次读取存储的目标标识结果;
启动新进程并在新进程中采用视频解析组件读取所述目标标识结果以生成目标显示视频流;
根据预设的第一视频推送协议将所述目标显示视频流推送至流媒体服务器处;
将所述目标显示视频流推送至客户端以使所述客户端通过第二视频推送协议读取所述目标显示视频流进行实时的目标展示。
作为一种可选的实施方式,在本发明实施例第一方面中,所述缓存队列包括redis缓存队列;所述视频解析组件包括ffmpeg组件,所述第一视频推送协议包括rtmp协议;所述第二视频推送协议包括rtmp协议;所述流媒体服务器包括nginx-rtmp流媒体服务器。
作为一种可选的实施方式,在本发明实施例第一方面中,在所述从缓存队列中依次读取存储的目标标识结果之前,还包括:
接收用户选择的目标显示列表;
获取通过摄像头采集到的视频信息;
抽取所述视频信息中的视频图像帧,根据目标检测模型和所述目标显示列表对所述视频图像帧进行识别标识以得到目标标识结果;所述目标检测模型用于识别图像中的多个种类目标;
将所述目标标识结果存储于缓存队列中。
作为一种可选的实施方式,在本发明实施例第一方面中,所述抽取所述视频信息中的视频图像帧,根据目标检测模型和所述目标显示列表对所述视频图像帧进行识别标识以得到目标标识结果,包括:
抽取所述视频信息中的视频图像帧;
根据目标显示列表调用目标检测模型中相对应的目标识别模型,所述目标检测模型包括多个目标识别模型;
根据调用的目标识别模型对所述视频图像帧进行识别以得到目标识别结果;
对所述目标识别结果进行标识以得到目标标识结果。
作为一种可选的实施方式,在本发明实施例第一方面中,所述目标识别模型设置于第一服务器,所述视频解析组件以及第一视频推送协议设置于第二服务器,所述客户端通过第二视频推送协议读取所述目标显示视频流进行实时的目标展示设置于第三服务器,所述缓存队列以及缓存数据库设置于第四服务器,所述流媒体服务器设置于第五服务器。
作为一种可选的实施方式,在本发明实施例第一方面中,所述目标识别模型分别存储于相对应的图像服务器处;所述目标识别模型为基于yolov5构建完成的目标识别模型;
所述根据目标显示列表调用目标检测模型中相对应的目标识别模型,所述目标检测模型包括多个目标识别模型,根据调用的目标识别模型对所述视频图像帧进行识别以得到目标识别结果,包括:
根据目标显示列表获取对应的目标识别模型;
在映射表中检测与所述目标识别模型绑定的图像服务器,所述映射表记录了多个图像服务器与多个目标识别模型之间的绑定关系,每个图像服务器用于运行一个或者多个目标识别模型,每个目标识别模型是基于相应的训练图像以及所属训练图像对应的目标监督标签训练得到的;
若检测得到图像服务器,则将所述视频图像帧传输给相应的图像服务器,以通过在所述图像服务器中运行相应的目标识别模型对所述视频图像帧进行目标识别以得到目标识别结果。
作为一种可选的实施方式,在本发明实施例第一方面中,在所述接收用户选择的目标显示列表之前,包括:
根据列表加载程序加载redis缓存数据库中的预先存储的目标列表,所述目标列表包括多个目标数据;
对应的,在所述根据目标检测模型和所述目标显示列表对所述视频图像帧进行识别标识以得到目标标识结果之后,还包括:
将所述目标标识结果插入redis缓存队列;
在所述将所述目标标识结果插入redis缓存队列之后,还包括:
当检测到目标检测列表更新时,对目标标识结果进行更新显示。
本发明实施例第二方面公开一种实时展示识别效果的装置,包括:
第一读取模块:用于从缓存队列中依次读取存储的目标标识结果;
第二读取模块:用于启动新进程并在新进程中采用视频解析组件读取所述目标标识结果以生成目标显示视频流;
推送模块:用于根据预设的第一视频推送协议将所述目标显示视频流推送至流媒体服务器处;
展示模块:用于将所述目标显示视频流推送至客户端以使所述客户端通过第二视频推送协议读取所述目标显示视频流进行实时的目标展示。
本发明实施例第三方面公开一种电子设备,包括:存储有可执行程序代码的存储器;与所述存储器耦合的处理器;所述处理器调用所述存储器中存储的所述可执行程序代码,用于执行本发明实施例第一方面公开的实时展示识别效果的方法。
本发明实施例第四方面公开一种计算机可读存储介质,其存储计算机程序,其中,所述计算机程序使得计算机执行本发明实施例第一方面公开的实时展示识别效果的方法。
与现有技术相比,本发明实施例具有以下有益效果:
本发明实施例中实时展示识别效果的方法通过采用多进程进行目标标识结果读取,能够实现快速的识别结果读取,并且通过采用视频流推送的方式将其推送至流媒体服务器,使得用户能够在客户端通过视频推送协议直接读取视频流进而显示实时的识别结果;本发明实施例的方案能够使得用户在多个终端同时实时显示页面。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例公开的实时展示识别效果的方法的流程示意图;
图2是本发明实施例公开的目标标识结果获取的流程示意图;
图3是本发明实施例公开的进行识别标识的流程示意图;
图4是本发明实施例公开的目标识别模型调用的具体流程示意图;
图5是本发明实施例提供的一种实时展示识别效果的装置的结构示意图;
图6是本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书中的术语“第一”、“第二”、“第三”、“第四”等是用于区别不同的对象,而不是用于描述特定顺序。本发明实施例的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,示例性地,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
目前,基于深度学习的目标检测的模型存储、识别、结果处理等识别流程都在同一台机器上完成,整个流程的模块耦合性高,单个机器运行整个流程负载严重,从而影响目标识别的效果和精确度。并且基于深度学习的目标检测识别结果图片不能实时的显示在web页面、手机端或小程序等浏览器上,其不能很方便的实时显示目标检测得到的识别效果。基于此,本发明实施例公开了实时展示识别效果的方法、装置、电子设备及存储介质,其通过采用多进程进行目标标识结果读取,能够实现快速的识别结果读取,并且通过采用视频流推送的方式将其推送至流媒体服务器,使得用户能够在客户端通过视频推送协议直接读取视频流进而显示实时的识别结果;本发明实施例的方案能够使得用户在多个终端同时实时显示页面。
实施例一
请参阅图1,图1是本发明实施例公开的实时展示识别效果的方法的流程示意图。该方法适用于具有处理功能的手机、平板电脑等智能设备以及计算机、服务器等计算设备,甚至也可以是具有处理功能的图像采集装置。如图1所示,该基于实时展示识别效果的方法包括以下步骤:
S101:从缓存队列中依次读取存储的目标标识结果。
本步骤主要是为了读取得到的目标标识结果,这里的目标标识结果为对视频图像进行识别,然后进行框线标识之后的标识结果。
S102:启动新进程并在新进程中采用视频解析组件读取所述目标标识结果以生成目标显示视频流。
在本步骤中启动新进程来生成相应的目标显示视频流,采用新进程能够提升系统的稳定性减少进程崩溃的出现。并且当采用新进程时,可以将不同的进程放置于不同的服务器处。虽然单进程实现起来比较简单快速,省去了进程间通信的工作,单一性也使得部署和运营比较简单;但是多进程的优势在于任务的独立性,比如某个任务单独作为一个进程的话,崩溃只影响自身的服务,其他任务不受影响,如果是多个任务在同一个进程内部利用多个线程进行处理,某个线程发生了未处理的异常的话,则会导致整个进程崩溃。因此,在本步骤中采用新进程来进行视频解析处理。
S103:根据预设的第一视频推送协议将所述目标显示视频流推送至流媒体服务器处。
本步骤主要是将目标显示视频推送至流媒体服务器来进行视频数据流的分发。
S104:将所述目标显示视频流推送至客户端以使所述客户端通过第二视频推送协议读取所述目标显示视频流进行实时的目标展示。
最终可以将目标显示视频流推送至Web、手机、小程序等客户端通过rtmp协议读取视频从而显示实时的识别结果。本实施例的方案在更新显示的时候可以在多个客户端进行显示,而不是在单一的服务端进行显示。上述方式可以运用在巡检领域,因为巡检领域涉及到的检测内容多样,这样当在实际检测过程中发现有新的目标需要检测的时候,可以及时增加相应的模型,并且在进行模型切换的时候,无需重启模型即可实现不同目标识别检测的调用。
进一步的,所述缓存队列包括redis缓存队列;所述视频解析组件包括ffmpeg组件,所述第一视频推送协议包括rtmp协议;所述第二视频推送协议包括rtmp协议;所述流媒体服务器包括nginx-rtmp流媒体服务器。
本申请实施例中更为具体的,图2是本发明实施例公开的目标标识结果获取的流程示意图,如图2所示,目标标识结果通过如下步骤获取得到:
S100a:接收用户选择的目标显示列表。
在进行实施时,先提供相应的目标列表给用户来进行选择,比如给定的目标列表包括有人、车、植物、动物等选择,用户可以根据自己的实际需求来进行相应的选择。除了上述大品类的选择之外,还可以有更为细分的选择,比如可以提供狗、猫、鸡、鸭等品类来进行显示,抑或者是提供粤A、粤B、京A、沪A、湘A等城市车牌来给用户进行车辆信息的筛查。用户可以在目标列表中选择自己需要显示的信息,然后对其进行勾选,勾选完成之后,则可以获取到对应的目标显示列表;用户可以选择其中一种或者多种来进行显示。
S100b:获取通过摄像头采集到的视频信息。
本步骤主要是为了获取到后续数据比对的基础视频信息,后续进行图像识别分析时,主要依据的即是该摄像头采集到的视频信息。
S100c:抽取所述视频信息中的视频图像帧,根据目标检测模型和所述目标显示列表对所述视频图像帧进行识别标识以得到目标标识结果;所述目标检测模型用于识别图像中的多个种类目标。
本步骤需要先对视频信息进行图像帧抽取,然后对单个视频图像帧进行识别,根据预先构建完成的目标检测模型来对视频图像帧中出现的各个目标进行识别。本实施例中提及的目标检测模型内置有多种检测目标,其可以检测多种类的目标,比如可以检测狗和猫两种目标,这样则可以直接调用对应的目标识别模型来对相应的视频图像帧进行识别。
在进行识别的时候可以采用两种方式来进行,一种是采用目标检测模型对视频图像帧进行识别,这样进行识别的时候是对里面出现的所有的目标均进行识别,也即是通过目标检测模型检测到图像中所有出现的目标,然后再采用相应的标记程序对之前选定的内容进行标记;另一种是调用目标检测模块中的某个或者某几个目标识别模型来对相应的图像帧进行识别。
具体的,图3是本发明实施例公开的进行识别标识的流程示意图,如图3所示,所述抽取所述视频信息中的视频图像帧,根据目标检测模型和所述目标显示列表对所述视频图像帧进行识别标识以得到目标标识结果,包括:
S100c1:抽取所述视频信息中的视频图像帧;
S100c2:根据目标显示列表调用目标检测模型中相对应的目标识别模型,所述目标检测模型包括多个目标识别模型;
S100c3:根据调用的目标识别模型对所述视频图像帧进行识别以得到目标识别结果;
S100c4:对所述目标识别结果进行标识以得到目标标识结果;本步骤也即是需要调用目标检测模型中对应的目标识别模型来对视频图像帧进行识别,比如在目标检测模型中包括人识别模型、动物识别模型、植物识别模型、车辆识别模型等等,目标检测模型为上述多种模型的集合。当用户需要某个识别模型时,只需要调用相对应的模型即可,采用这种方式能够大大降低进行图像识别的计算压力,并且能够较好的进行资源的分配。并且当进行识别模型的部署的时候,也可以依据实际情况来进行相应的部署,比如当涉及到的识别模型计算量大的时候则可以为之匹配更好的计算能力更强的服务器,当涉及到的识别模型的计算量相对较小时,则可以采用计算能力一般的服务器;并且通过将不同的模型进行分立处理可以使得用户能够对不同的模型进行分布式处理。这样能够充分的使用多台机器的性能,进而降低机器的负载,从而提高目标检测模型的识别速度和识别精度。
更为具体的,图4是本发明实施例公开的目标识别模型调用的具体流程示意图,如图4所示,所述根据目标显示列表调用目标检测模型中相对应的目标识别模型,所述目标检测模型包括多个目标识别模型,根据调用的目标识别模型对所述视频图像帧进行识别以得到目标识别结果,包括:
S100c21:根据目标显示列表获取对应的目标识别模型;
S100c22:在映射表中检测与所述目标识别模型绑定的图像服务器,所述映射表记录了多个图像服务器与多个目标识别模型之间的绑定关系,每个图像服务器用于运行一个或者多个目标识别模型,每个目标识别模型是基于相应的训练图像以及所属训练图像对应的目标监督标签训练得到的;
S100c3a:若检测得到图像服务器,则将所述视频图像帧传输给相应的图像服务器,以通过在所述图像服务器中运行相应的目标识别模型对所述视频图像帧进行目标识别以得到目标识别结果。
上述即是具体的目标识别模型调用识别的具体步骤,通过将不同的模型分布在不同的图像服务器来处理能够更为有效实现对各个服务器的资源利用。
更为优选的,所述目标识别模型分别存储于相对应的图像服务器处;所述目标识别模型为基于yolov5构建完成的目标识别模型。具体的,yolov5具有以下显著的优点:使用Pytorch框架,对用户非常友好,能够方便地训练用户构建的数据集,相对于yolov4采用的Darknet框架,Pytorch框架更容易投入生产;代码易读,整合了大量的计算机视觉技术,非常有利于进行图像学习;yolov5不仅易于配置环境,模型训练也非常快速,并且批处理推理产生实时结果;yolov5模型能够直接对单个图像,批处理图像,视频甚至网络摄像头端口输入进行有效推理;能够轻松的将Pytorch权重文件转化为安卓使用的ONXX格式,然后可以转换为OPENCV的使用格式,或者通过CoreML转化为IOS格式,直接部署到手机应用端;最后yolov5高达140FPS的对象识别速度快,使用体验非常棒。
更为优选的,所述对所述目标识别结果进行标识以得到目标标识结果,包括:
将绘制完成的图框框选至所述目标识别结果处进行标识以得到目标标识结果。
通过目标识别模型已经识别到相应的目标,但是上述识别结果不仅需要机器知晓,而且需要用户知晓,因此,需要对得到的目标识别结果进行进一步标识以使得其在视觉上产生不同;进行标识时,可以采用方框标识或者是圆框标识或者是涂色标识的方式来进行,其目的是为了方便用户能够直接对图像进行观看。在本实施例中采用方框标识的方式来进行,并可以在方框处标识处相应的种类信息。
进一步的,在所述接收用户选择的目标显示列表之前,包括:
根据列表加载程序加载Redis缓存数据库中的预先存储的目标列表,所述目标列表包括多个目标数据;也即是在本实施例中采用redis的缓存机制来进行操作。
对应的,在所述根据目标检测模型和所述目标显示列表对所述视频图像帧进行识别标识以得到目标标识结果之后,还包括:
将所述目标标识结果插入redis缓存队列。
更为优选的,所述列表加载程序以及目标列表存储于第一服务器处,所述第一服务器与图像服务器不同。也即是通过上述内容来实现了不同程序在不同服务器进行处理的方式。
在本实施例中来进一步阐述这个过程:当一个请求到达服务器时,只是把业务数据在Redis上进行读写,而没有对数据库进行任何的操作,这样就能大大提高读写的速度,从而满足高速响应的需求。Redis是一个key-value存储系统,和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sortedset--有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。Redis是一个高性能的key-value数据库。redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部分场合可以对关系数据库起到很好的补充作用。它提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang等客户端,使用很方便。Redis支持主从同步。数据可以从主服务器向任意数量的从服务器上同步,从服务器可以是关联其他从服务器的主服务器。这使得Redis可执行单层树复制。存盘可以有意无意的对数据进行写操作。由于完全实现了发布/订阅机制,使得从数据库在任何地方同步树时,可订阅一个频道并接收主服务器完整的消息发布记录。同步对读取操作的可扩展性和数据冗余很有帮助。
S100d:将所述目标标识结果存储于缓存队列中。
具体的,上述流程如下:通过摄像头采集视频,然后用OpenCV以一帧帧的图片形式进行视频的读取,再调用训练好的AI目标检测模型识别图片,得到识别结果,从redis缓存数据库加载所需显示的目标列表,从识别结果中筛选出目标列表中的目标识别结果,将得到的目标识别结果以图框形式绘制在原图片上,将绘制好的图片插入redis缓存队列。在另一个程序中从缓存队列依次读取绘制图片,另起新进程采用ffmpeg读取图像帧,然后通过rtmp协议推送流到nginx-rtmp流媒体服务器,Web、手机、小程序等客户端通过rtmp协议读取视频从而显示实时的识别结果。
更为优选的,在所述将所述目标标识结果存储于缓存队列中之后,还包括:
当检测到目标检测列表更新时,对目标标识结果进行更新显示。
也即是在实施检测过程中,如果用户需要对检测目标进行切换,只需要切换相应的目标列表即可,当用户选择的目标显示列表有数据进行更新时,也即是比如少选了一个目标或者增加一个识别目标,则可以在识别端对目标标识结果进行更新;通过上述内容可以实现识别目标的快速检测切换,并且整个切换过程中无需进行模型重启,方便用户进行快速转换。在具体实施操作的时候,用户直接可以在客户端,比如app或者网页端或者小程序端进行相应的操作即可。
更为优选的,所述目标识别模型设置于第一服务器,所述视频解析组件以及第一视频推送协议设置于第二服务器,所述客户端通过第二视频推送协议读取所述目标显示视频流进行实时的目标展示设置于第三服务器,所述缓存队列以及缓存数据库设置于第四服务器,所述流媒体服务器设置于第五服务器。也即是上述展示识别效果流程中以分布式形式部署;模型存储、目标识别和图像处理在第一服务器,ffmpeg通过rtmp协议推流在第二服务器,客户端通过rtmp协议读取视频显示在第三服务器,redis缓存数据库在第四服务器,nginx-rtmp流媒体服务器在第五服务器。通过将不同的程序存储于不同的服务器实现分布式部署,进而实现方便快捷的信息推送。
现有的基于深度学习的目标检测应用范围越来越广,深度学习模型需要经过大量的训练才能达到良好的识别精度和识别效果,训练好后的深度学习模型如果修改、调整待检测的目标需要重新训练模型,这样浪费大量的训练时间以及人力物力。本申请实施例提供了一种进行模型检测切换的方法可以随时调节和更改目标检测的目标,即使模型在运行过程中也可以修改,不用重启模型也不会影响正常的使用。
一般情况下,基于深度学习的目标检测的模型存储、识别、结果处理等识别流程都在同一台机器上完成,整个流程的模块耦合性高,单个机器运行整个流程负载严重,从而影响目标识别的效果和精确度。本发明实施例提供了一种分布式基于yolov5的目标可调的AI实时识别及视频流显示方法可将模型存储、识别、结果处理、结果展示等模块分布式部署,充分使用多台机器的性能,降低机器的负载,从而提供模型的识别速度和识别精度。
本发明实施例中实时展示识别效果的方法通过采用多进程进行目标标识结果读取,能够实现快速的识别结果读取,并且通过采用视频流推送的方式将其推送至流媒体服务器,使得用户能够在客户端通过视频推送协议直接读取视频流进而显示实时的识别结果;本发明实施例的方案能够使得用户在多个终端同时实时显示页面。
实施例二
请参阅图5,图5是本发明实施例公开的实时展示识别效果的装置的结构示意图。如图5所示,该实时展示识别效果的装置可以包括:
第一读取模块21:用于从缓存队列中依次读取存储的目标标识结果;
第二读取模块22:用于启动新进程并在新进程中采用视频解析组件读取所述目标标识结果以生成目标显示视频流;
推送模块23:用于根据预设的第一视频推送协议将所述目标显示视频流推送至流媒体服务器处;
展示模块24:用于将所述目标显示视频流推送至客户端以使所述客户端通过第二视频推送协议读取所述目标显示视频流进行实时的目标展示。
进一步的,在第一读取模块之前,还包括:
接收模块:用于接收用户选择的目标显示列表;
获取模块:用于获取通过摄像头采集到的视频信息;
识别模块:用于抽取所述视频信息中的视频图像帧,根据目标检测模型和所述目标显示列表对所述视频图像帧进行识别标识以得到目标标识结果;所述目标检测模型用于识别图像中的多个种类目标;
存储模块:用于将所述目标标识结果存储于缓存队列中。
进一步的,所述识别模块包括:
抽取模块:用于抽取所述视频信息中的视频图像帧;
调用模块:用于根据目标显示列表调用目标检测模型中相对应的目标识别模型,所述目标检测模型包括多个目标识别模型;
图像识别模块:用于根据调用的目标识别模型对所述视频图像帧进行识别以得到目标识别结果;
标识模块:用于对所述目标识别结果进行标识以得到目标标识结果。
进一步的,所述目标识别模型分别存储于相对应的图像服务器处;所述目标识别模型为基于yolov5构建完成的目标识别模型;
所述调用模块包括:
列表获取模块;用于根据目标显示列表获取对应的目标识别模型;
映射模块:用于在映射表中检测与所述目标识别模型绑定的图像服务器,所述映射表记录了多个图像服务器与多个目标识别模型之间的绑定关系,每个图像服务器用于运行一个或者多个目标识别模型,每个目标识别模型是基于相应的训练图像以及所属训练图像对应的目标监督标签训练得到的;
所述图像识别模块包括:
若检测得到图像服务器,则将所述视频图像帧传输给相应的图像服务器,以通过在所述图像服务器中运行相应的目标识别模型对所述视频图像帧进行目标识别以得到目标识别结果。
本发明实施例中实时展示识别效果的装置通过采用多进程进行目标标识结果读取,能够实现快速的识别结果读取,并且通过采用视频流推送的方式将其推送至流媒体服务器,使得用户能够在客户端通过视频推送协议直接读取视频流进而显示实时的识别结果;本发明实施例的方案能够使得用户在多个终端同时实时显示页面。
实施例三
请参阅图6,图6是本发明实施例公开的一种电子设备的结构示意图。电子设备可以是计算机以及服务器等,当然,在一定情况下,还可以是手机、平板电脑以及监控终端等智能设备,以及具有处理功能的图像采集装置。如图6所示,该电子设备可以包括:
存储有可执行程序代码的存储器510;
与存储器510耦合的处理器520;
其中,处理器520调用存储器510中存储的可执行程序代码,执行实施例一中的实时展示识别效果的方法中的部分或全部步骤。
本发明实施例公开一种计算机可读存储介质,其存储计算机程序,其中,该计算机程序使得计算机执行实施例一中的实时展示识别效果的方法中的部分或全部步骤。
本发明实施例还公开一种计算机程序产品,其中,当计算机程序产品在计算机上运行时,使得计算机执行实施例一中的实时展示识别效果的方法中的部分或全部步骤。
本发明实施例还公开一种应用发布平台,其中,应用发布平台用于发布计算机程序产品,其中,当计算机程序产品在计算机上运行时,使得计算机执行实施例一中的实时展示识别效果的方法中的部分或全部步骤。
在本发明的各种实施例中,应理解,所述各过程的序号的大小并不意味着执行顺序的必然先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物单元,即可位于一个地方,或者也可以分布到多个网络单元上。可根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。所述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元若以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可获取的存储器中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或者部分,可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干请求用以使得一台计算机设备(可以为个人计算机、服务器或者网络设备等,具体可以是计算机设备中的处理器)执行本发明的各个实施例所述方法的部分或全部步骤。
在本发明所提供的实施例中,应理解,“与A对应的B”表示B与A相关联,根据A可以确定B。但还应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其他信息确定B。
本领域普通技术人员可以理解所述实施例的各种方法中的部分或全部步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质包括只读存储器(Read-OnlyMemory,ROM)、随机存储器(RandomAccessMemory,RAM)、可编程只读存储器(ProgrammableRead-onlyMemory,PROM)、可擦除可编程只读存储器(ErasableProgrammableRead-OnlyMemory,EPROM)、一次可编程只读存储器(One-timeProgrammableRead-OnlyMemory,OTPROM)、电子抹除式可复写只读存储器(Electrically-ErasableProgrammableRead-OnlyMemory,EEPROM)、只读光盘(CompactDiscRead-OnlyMemory,CD-ROM)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。
以上对本发明实施例公开的实时展示识别效果的方法、装置、电子设备及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种实时展示识别效果的方法,其特征在于,包括:
从缓存队列中依次读取存储的目标标识结果;
启动新进程并在新进程中采用视频解析组件读取所述目标标识结果以生成目标显示视频流;
根据预设的第一视频推送协议将所述目标显示视频流推送至流媒体服务器处;
将所述目标显示视频流推送至客户端以使所述客户端通过第二视频推送协议读取所述目标显示视频流进行实时的目标展示。
2.如权利要求1所述的实时展示识别效果的方法,其特征在于,所述缓存队列包括redis缓存队列;所述视频解析组件包括ffmpeg组件,所述第一视频推送协议包括rtmp协议;所述第二视频推送协议包括rtmp协议;所述流媒体服务器包括nginx-rtmp流媒体服务器。
3.如权利要求1或2所述的实时展示识别效果的方法,其特征在于,在所述从缓存队列中依次读取存储的目标标识结果之前,还包括:
接收用户选择的目标显示列表;
获取通过摄像头采集到的视频信息;
抽取所述视频信息中的视频图像帧,根据目标检测模型和所述目标显示列表对所述视频图像帧进行识别标识以得到目标标识结果;所述目标检测模型用于识别图像中的多个种类目标;
将所述目标标识结果存储于缓存队列中。
4.如权利要求3所述的实时展示识别效果的方法,其特征在于,所述抽取所述视频信息中的视频图像帧,根据目标检测模型和所述目标显示列表对所述视频图像帧进行识别标识以得到目标标识结果,包括:
抽取所述视频信息中的视频图像帧;
根据目标显示列表调用目标检测模型中相对应的目标识别模型,所述目标检测模型包括多个目标识别模型;
根据调用的目标识别模型对所述视频图像帧进行识别以得到目标识别结果;
对所述目标识别结果进行标识以得到目标标识结果。
5.如权利要求4所述的实时展示识别效果的方法,其特征在于,所述目标识别模型设置于第一服务器,所述视频解析组件以及第一视频推送协议设置于第二服务器,所述客户端通过第二视频推送协议读取所述目标显示视频流进行实时的目标展示设置于第三服务器,所述缓存队列以及缓存数据库设置于第四服务器,所述流媒体服务器设置于第五服务器。
6.如权利要求4所述的实时展示识别效果的方法,其特征在于,所述目标识别模型为基于yolov5构建完成的目标识别模型;
所述根据目标显示列表调用目标检测模型中相对应的目标识别模型,所述目标检测模型包括多个目标识别模型,根据调用的目标识别模型对所述视频图像帧进行识别以得到目标识别结果,包括:
根据目标显示列表获取对应的目标识别模型;
在映射表中检测与所述目标识别模型绑定的图像服务器,所述映射表记录了多个图像服务器与多个目标识别模型之间的绑定关系,每个图像服务器用于运行一个或者多个目标识别模型,每个目标识别模型是基于相应的训练图像以及所属训练图像对应的目标监督标签训练得到的;
若检测得到图像服务器,则将所述视频图像帧传输给相应的图像服务器,以通过在所述图像服务器中运行相应的目标识别模型对所述视频图像帧进行目标识别以得到目标识别结果。
7.如权利要求3所述的实时展示识别效果的方法,其特征在于,在所述接收用户选择的目标显示列表之前,包括:
根据列表加载程序加载redis缓存数据库中的预先存储的目标列表,所述目标列表包括多个目标数据;
对应的,在所述根据目标检测模型和所述目标显示列表对所述视频图像帧进行识别标识以得到目标标识结果之后,还包括:
将所述目标标识结果插入redis缓存队列;
在所述将所述目标标识结果存储于缓存队列中之后,还包括:
当检测到目标检测列表更新时,对目标标识结果进行更新显示。
8.一种实时展示识别效果的装置,其特征在于,包括:
第一读取模块:用于从缓存队列中依次读取存储的目标标识结果;
第二读取模块:用于启动新进程并在新进程中采用视频解析组件读取所述目标标识结果以生成目标显示视频流;
推送模块:用于根据预设的第一视频推送协议将所述目标显示视频流推送至流媒体服务器处;
展示模块:用于将所述目标显示视频流推送至客户端以使所述客户端通过第二视频推送协议读取所述目标显示视频流进行实时的目标展示。
9.一种电子设备,其特征在于,包括:存储有可执行程序代码的存储器;与所述存储器耦合的处理器;所述处理器调用所述存储器中存储的所述可执行程序代码,用于执行权利要求1至7任一项所述的实时展示识别效果的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储计算机程序,其中,所述计算机程序使得计算机执行权利要求1至7任一项所述的实时展示识别效果的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110188531.8A CN112560809A (zh) | 2021-02-19 | 2021-02-19 | 一种实时展示识别效果的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110188531.8A CN112560809A (zh) | 2021-02-19 | 2021-02-19 | 一种实时展示识别效果的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112560809A true CN112560809A (zh) | 2021-03-26 |
Family
ID=75034349
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110188531.8A Pending CN112560809A (zh) | 2021-02-19 | 2021-02-19 | 一种实时展示识别效果的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112560809A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117294903A (zh) * | 2023-10-25 | 2023-12-26 | 深蓝(深圳)感知科技有限公司 | 一种多路视频流关键帧标记及推流方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107527045A (zh) * | 2017-09-19 | 2017-12-29 | 桂林安维科技有限公司 | 一种面向多路视频的人体行为事件实时分析方法 |
CN109271534A (zh) * | 2018-10-19 | 2019-01-25 | 武汉斗鱼网络科技有限公司 | 一种直播数据识别框架、方法、服务器及存储介质 |
CN109670488A (zh) * | 2019-01-31 | 2019-04-23 | 湖北省基础地理信息中心(湖北省北斗卫星导航应用技术研究院) | 一种视频数据典型动态目标检测方法及系统 |
CN110188596A (zh) * | 2019-01-04 | 2019-08-30 | 北京大学 | 基于深度学习的监控视频行人实时检测、属性识别与跟踪方法及系统 |
CN111401310A (zh) * | 2020-04-08 | 2020-07-10 | 天津中科智能识别产业技术研究院有限公司 | 基于人工智能的厨房卫生安全监督管理方法 |
CN111814687A (zh) * | 2020-07-10 | 2020-10-23 | 苏州数智源信息技术有限公司 | 一种航班保障节点智能识别系统 |
-
2021
- 2021-02-19 CN CN202110188531.8A patent/CN112560809A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107527045A (zh) * | 2017-09-19 | 2017-12-29 | 桂林安维科技有限公司 | 一种面向多路视频的人体行为事件实时分析方法 |
CN109271534A (zh) * | 2018-10-19 | 2019-01-25 | 武汉斗鱼网络科技有限公司 | 一种直播数据识别框架、方法、服务器及存储介质 |
CN110188596A (zh) * | 2019-01-04 | 2019-08-30 | 北京大学 | 基于深度学习的监控视频行人实时检测、属性识别与跟踪方法及系统 |
CN109670488A (zh) * | 2019-01-31 | 2019-04-23 | 湖北省基础地理信息中心(湖北省北斗卫星导航应用技术研究院) | 一种视频数据典型动态目标检测方法及系统 |
CN111401310A (zh) * | 2020-04-08 | 2020-07-10 | 天津中科智能识别产业技术研究院有限公司 | 基于人工智能的厨房卫生安全监督管理方法 |
CN111814687A (zh) * | 2020-07-10 | 2020-10-23 | 苏州数智源信息技术有限公司 | 一种航班保障节点智能识别系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117294903A (zh) * | 2023-10-25 | 2023-12-26 | 深蓝(深圳)感知科技有限公司 | 一种多路视频流关键帧标记及推流方法 |
CN117294903B (zh) * | 2023-10-25 | 2024-07-19 | 深蓝(深圳)感知科技有限公司 | 一种多路视频流关键帧标记及推流方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107633541B (zh) | 一种图像特效的生成方法和装置 | |
CN105589783A (zh) | 应用程序卡顿问题数据获取方法及装置 | |
CN112487883B (zh) | 智能笔书写行为特征分析方法、装置及电子设备 | |
CN112487871B (zh) | 笔迹数据处理方法、装置及电子设备 | |
CN115086752B (zh) | 一种针对浏览器页面内容的录制方法、系统及存储介质 | |
CN106682910B (zh) | 一种信息处理方法、系统及相关设备 | |
CN112612690A (zh) | 一种用户界面信息处理方法、装置、电子设备及存储介质 | |
CN112560809A (zh) | 一种实时展示识别效果的方法及装置 | |
CN112346761B (zh) | 前端资源上线方法、设备、系统及存储介质 | |
CN111703278B (zh) | 香氛释放方法、装置、车端、云端、系统和存储介质 | |
CN103488508A (zh) | 一种浏览器的工作方法、浏览器及终端设备 | |
CN116193206B (zh) | 优质内容筛选方法、装置、终端设备及存储介质 | |
CN109286718A (zh) | 一种录屏方法、装置及电子设备 | |
CN115061785A (zh) | 信息下发方法、装置、存储介质及服务器 | |
CN112487875B (zh) | 笔迹图形化方法、装置及电子设备 | |
CN110618881B (zh) | 一种模拟消息队列的方法及系统 | |
CN114579908A (zh) | 内容发布方法、装置、电子设备及存储介质 | |
CN109165200B (zh) | 数据同步方法、装置、计算设备及计算机存储介质 | |
CN112394809A (zh) | 一种实现增强现实的方法、装置及通信设备 | |
CN116610308B (zh) | 代码管理方法及装置、电子设备及存储介质 | |
CN112118410B (zh) | 业务处理方法、装置、终端及存储介质 | |
CN117667604B (zh) | 追踪事件的数据监测方法、装置、电子设备及存储介质 | |
CN114116490A (zh) | 自动化测试方法、装置、计算机设备及存储介质 | |
CN118013057A (zh) | 稿件素材推荐方法和装置 | |
CN114630187A (zh) | 应用信号云计算处理的精确获客系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |