1.本发明涉及运行资源分配技术领域,尤其涉及一种摄像头运行资源分配方法、装置、电子设备及存储介质。
背景技术:2.随着视联网及看家业务的发展,越来越多的家庭在多个房间分别配备看家摄像头。
3.当前平台向用户持续分析并推送多个无差别码流的实时动态画面,对网络带宽、平台服务资源如算力存储等及移动端设备性能要求较高,一方面消耗大量资源,另一方面还会造成视频流卡顿。
4.当前对于各个看家摄像头的每个视频流,无差异配置同样的算力、存储、网络带宽等服务器资源,造成同一时间部分视频流资源冗余浪费,部分视频流资源匮乏,同一视频流部分时间资源冗余浪费,部分时间资源匮乏。这种向用户持续分析并推送多个无差别码流的实时动态画面的方式,对网络带宽、平台服务资源如算力存储等及移动端设备性能要求较高,一方面消耗大量资源,另一方面还会造成视频流卡顿。
技术实现要素:5.本发明提供了一种摄像头运行资源分配方法、装置、电子设备及存储介质,用于解决现有的运行资源分配方式资源消耗大,且容易造成视频流卡顿的技术问题。
6.本发明提供了一种摄像头运行资源分配方法,应用于服务器,所述服务器与多个摄像头通信;所述方法包括:
7.接收各所述摄像头发送的视频流;
8.确定所述视频流中的前景对象变动信息;
9.根据所述前景对象变动信息确定画面异常信息及所述画面异常信息对应的异常程度;
10.根据所述画面异常信息及对应的异常程度确定运行资源需求量;
11.根据所述运行资源需求量为所述摄像头分配运行资源。
12.可选地,所述确定所述视频流中的前景对象变动情况的步骤,包括:
13.对所述视频流进行解码,得到解码视频流;
14.识别所述解码视频流中的前景对象;
15.采集所有所述前景对象的变动情况,生成前景对象变动信息。
16.可选地,所述根据所述前景对象变动信息确定画面异常信息及所述画面异常信息对应的异常程度的步骤,包括:
17.确定各前景对象的类型;
18.根据所述前景对象变动信息,确定各类型的前景对象的运行模式;
19.根据各类型的前景对象的运行模式,确定用户习惯;
20.根据各类型的前景对象的运行模型和所述用户习惯,匹配画面异常信息及所述画面异常信息对应的异常程度。
21.可选地,所述根据所述画面异常信息及对应的异常程度确定运行资源需求量的步骤,包括:
22.获取所述画面异常信息中的所述运行模式在所述异常程度下的第一历史资源数据;
23.根据所述第一历史资源数据确定第一运行资源需求量;
24.获取所述画面异常信息中的所述用户习惯在所述异常程度下的第二历史资源数据;
25.根据所述第二历史资源数据确定第二运行资源需求量;
26.根据所述第一运行资源需求量和所述第二运行资源需求量,生成运行资源需求量。
27.本发明还提供了一种摄像头运行资源分配装置,应用于服务器,所述服务器与多个摄像头通信;所述装置包括:
28.视频流接收模块,用于接收各所述摄像头发送的视频流;
29.前景对象变动信息确定模块,用于确定所述视频流中的前景对象变动信息;
30.画面异常信息和异常程度确定模块,用于根据所述前景对象变动信息确定画面异常信息及所述画面异常信息对应的异常程度;
31.运行资源需求量确定模块,用于根据所述画面异常信息及对应的异常程度确定运行资源需求量;
32.运行资源分配模块,用于根据所述运行资源需求量为所述摄像头分配运行资源。
33.可选地,所述前景对象变动信息确定模块,包括:
34.解码子模块,用于对所述视频流进行解码,得到解码视频流;
35.前景对象识别子模块,用于识别所述解码视频流中的前景对象;
36.前景对象变动信息采集子模块,用于采集所有所述前景对象的变动情况,生成前景对象变动信息。
37.可选地,所述画面异常信息和异常程度确定模块,包括:
38.类型确定子模块,用于确定各前景对象的类型;
39.运行模式确定子模块,用于根据所述前景对象变动信息,确定各类型的前景对象的运行模式;
40.用户习惯确定子模块,用于根据各类型的前景对象的运行模式,确定用户习惯;
41.画面异常信息和异常程度确定子模块,用于根据各类型的前景对象的运行模型和所述用户习惯,匹配画面异常信息及所述画面异常信息对应的异常程度。
42.可选地,所述运行资源需求量确定模块,包括:
43.第一历史资源数据获取子模块,用于获取所述画面异常信息中的所述运行模式在所述异常程度下的第一历史资源数据;
44.第一运行资源需求量确定子模块,用于根据所述第一历史资源数据确定第一运行资源需求量;
45.第二历史资源数据获取子模块,用于获取所述画面异常信息中的所述用户习惯在
所述异常程度下的第二历史资源数据;
46.第二运行资源需求量确定子模块,用于根据所述第二历史资源数据确定第二运行资源需求量;
47.运行资源需求量生成子模块,用于根据所述第一运行资源需求量和所述第二运行资源需求量,生成运行资源需求量。
48.本发明还提供了一种电子设备,所述设备包括处理器以及存储器:
49.所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
50.所述处理器用于根据所述程序代码中的指令执行如上任一项所述的摄像头运行资源分配方法。
51.本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行如上任一项所述的摄像头运行资源分配方法。
52.从以上技术方案可以看出,本发明具有以下优点:本发明公开了一种摄像头运行资源分配方法,应用于与多个摄像头通信的服务器,包括:接收各摄像头发送的视频流;确定视频流中的前景对象变动信息;根据前景对象变动信息确定画面异常信息及画面异常信息对应的异常程度;根据画面异常信息及对应的异常程度确定运行资源需求量;根据运行资源需求量为摄像头分配运行资源。本发明通过建立异常画面信息、异常程度与运行资源需求量的关联关系,来为摄像头分配运行资源。从而提高资源分配的合理性,减少资源浪费,且避免运行资源分配不足导致的视频流卡顿。
附图说明
53.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
54.图1为本发明实施例提供的一种摄像头运行资源分配方法的步骤流程图;
55.图2为本发明另一实施例提供的一种摄像头运行资源分配方法的步骤流程图;
56.图3为本发明实施例提供的一种摄像头运行资源分配装置的结构框图。
具体实施方式
57.本发明实施例提供了一种摄像头运行资源分配方法、装置、电子设备及存储介质,用于解决现有的运行资源分配方式资源消耗大,且容易造成视频流卡顿的技术问题。
58.为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
59.请参阅图1,图1为本发明实施例提供的一种摄像头运行资源分配方法的步骤流程图。
60.本发明提供的一种摄像头运行资源分配方法,应用于服务器,服务器与多个摄像
头通信;方法可以包括以下步骤:
61.步骤101,接收各摄像头发送的视频流;
62.服务器是计算机的一种,其比普通计算机运行更快、负载更高、价格更贵。服务器在网络中为其它客户机(如pc、智能手机、atm等终端,本发明实施例选择摄像头作为客户机)提供计算或者应用服务。服务器具有高速的cpu运算能力、长时间的可靠运行、强大的i/o外部数据吞吐能力以及更好的拓展性。根据服务器所提供的服务,一般来说服务器都具备承担响应服务请求、承担服务、保障服务的能力。
63.摄像头又称为电脑相机、电脑眼、电子眼等,是一种视频输入设备。
64.视频流是指视频数据的传输,例如,他能够被作为一个稳定的和连续的流通过网络处理。因为流动,客户机浏览器或插件能够在整个文件被传输完成前显示多媒体数据。
65.在本发明实施例中,一个服务器可以与多个摄像头通信连接,以为多个摄像头分别提供资源。摄像头可以将采集到的视频数据以视频流的方式发送给服务器。
66.步骤102,确定视频流中的前景对象变动信息;
67.在本发明实施例中,视频流是由多帧图像所构成的数据流,根据时间的不同,视频流中的不同对象可能会发生位置、体态等方面的变化,这些发生变化的对象,即为前景对象。而长时间保持不变的对象,则为背景对象。通过识别视频流中的前景对象,并采集视频流中各前景对象的变动情况,可以生成整个视频流的前景对象变动信息。
68.步骤103,根据前景对象变动信息确定画面异常信息及画面异常信息对应的异常程度;
69.画面异常信息,可以是用户自定义的某些行为特征,比如小狗扒门、短时间内大量人员往来等。同一个画面异常信息可以设置不同的异常程度。
70.画面异常信息的产生,往往会导致摄像头额外的资源消耗,通过监测画面异常信息是否发生,可以提前为摄像头分配额外的资源,从而保证摄像头正常的视频采集操作。
71.画面异常信息的监测,可以通过对前景对象变动信息进行分析来获取,当前景对象变动信息中,某个或某些对象的变动情况属于异常的行为特征(如小狗扒门),则可以判定视频流中存在画面异常信息。根据前景对象变动信息,还可以判断画面异常信息的异常程度。具体的异常程度的设定可以根据画面异常信息的具体情况自由设定,本发明对此不作具体限制。
72.步骤104,根据画面异常信息及对应的异常程度确定运行资源需求量;
73.在本发明实施例中,可以建立画面异常信息及对应的异常程度与服务器资源之间的映射模型,当获取到视频流中的画面异常信息和对应的异常程度时,可以根据模型匹配相应的运行资源需求量。
74.在一个示例中,可以根据历史数据中各种类型的画面异常信息和对应的异常程度的对运行资源的消耗量,来建立映射模型。
75.接着采用实时获取的异常画面信息及对应的异常程度,从映射模型中匹配得到相应的运行资源需求量。
76.需要说明的是,为了使得模型输出的运行资源需求量趋于最佳,在匹配到相应的运行资源需求量后,可以结合实际的运行资源消耗量不断地自适应调整映射模型。
77.步骤105,根据运行资源需求量为摄像头分配运行资源。
78.在匹配到运行资源需求量后,服务器可以为摄像头分配相应的运行资源。其中,根据视频采集的需要,运行资源可以包括但不限于算力资源、带宽资源、存储资源等。
79.本发明通过建立异常画面信息、异常程度与运行资源需求量的关联关系,来为摄像头分配运行资源。从而提高资源分配的合理性,减少资源浪费,且避免运行资源分配不足导致的视频流卡顿。
80.请参阅图2,图2为本发明另一实施例提供的一种摄像头运行资源分配方法的步骤流程图。具体可以包括以下步骤:
81.步骤201,接收各摄像头发送的视频流;
82.步骤201与步骤101相同,具体可以参考步骤101的描述,此处不再赘述。
83.步骤202,对视频流进行解码,得到解码视频流;
84.解码是指受传者将接收到的符号或代码还原为信息的过程,与编码过程相对应。在计算机网络中,网络通过通信网将计算机互联以实现资源共享和数据传输,当使用的通信网信号形式和传输设备的信号形式不一样时,就必须进行信号形式的转换,一般将发送方进行的信号形式转换为编码,接收方进行的信号形式的转换成为解码。
85.在本发明实施例中,在获取到摄像头发送的视频流后,可以对视频流进行解码,得到解码视频流。
86.步骤203,识别解码视频流中的前景对象;
87.在完成对视频流的解码后,可以通过精细化像素级分割识别出解码视频流中的前景对象,然后对解码视频流进行深度过滤去干扰,剔除掉无需再分析的背景区域。
88.步骤204,采集所有前景对象的变动情况,生成前景对象变动信息;
89.采集所有的前景对象的变动情况,可以得到整个视频流的前景对象变动信息。
90.步骤205,根据前景对象变动信息确定画面异常信息及画面异常信息对应的异常程度;
91.画面异常信息的监测,可以通过对前景对象变动信息进行分析来获取,当前景对象变动信息中,某个或某些对象的变动情况属于异常的行为特征(如小狗扒门),则可以判定视频流中存在画面异常信息。根据前景对象变动信息,还可以判断画面异常信息的异常程度。具体的异常程度的设定可以根据画面异常信息的具体情况自由设定,本发明对此不作具体限制。
92.在一个示例中,根据前景对象变动信息确定画面异常信息及画面异常信息对应的异常程度的步骤,可以包括以下子步骤:
93.s51,确定各前景对象的类型;
94.s52,根据前景对象变动信息,确定各类型的前景对象的运行模式;
95.s53,根据各类型的前景对象的运行模式,确定用户习惯;
96.s54,根据各类型的前景对象的运行模型和用户习惯,匹配画面异常信息及画面异常信息对应的异常程度。
97.在本发明实施例中,前景对象可以是人、物、宠物等不同的类型,不同的前景对象会有不同的行为逻辑,因此可以根据历史数据,归纳不同类型的前景对象的行为逻辑,得到不同前景对象的运行模式,如人的走动、蹦跳、摔倒等可以分别设置为不同的运行模式。在分析得到各前景对象的类型后,可以获取历史数据中该类型的前景对象频繁出现的运行模
式,将其作为该类型前景对象的运行模式(无需一一分析该类型的每个前景对象的运行模式,以减少资源损耗)。在获取到前景对象的运行模式后,可以根据历史资源消耗数据和该类型前景对象的数量,大致分析得到该类型前景对象的资源消耗量。
98.其中,前景对象的运行模式,可以通过对摄像头的历史数据进行自适应学习来得到,本领域技术人员可以通过任何自适应学习方式来生成运行模式,本发明实施例对此不作具体限定。
99.在获取到各前景对象的运行模式后,可以根据各前景对象的运行模式,分析视频流中是否出现触发用户习惯的场景,或者视频流的采集时间是否符合用户习惯出现的情况(如用户每天5点会做特定的事情,在接下来的时间里用户会基于该特定的事情做一系列相关的行为,这一系列相关的行为即为用户习惯)。如小狗扒门时,主人就会出现等。不同的用户习惯会产生不同的资源消耗。其中,用户习惯可以通过对摄像头的历史数据进行自适应学习来得到,本领域技术人员可以通过任何自适应学习方式来生成用户习惯,本发明实施例对此不作具体限定。
100.在获取到各类型的前景对象的运行模型和用户习惯后,可以根据映射模型匹配画面异常信息及画面异常信息对应的异常程度。
101.步骤206,根据画面异常信息及对应的异常程度确定运行资源需求量;
102.在本发明实施例中,可以建立画面异常信息及对应的异常程度与服务器资源之间的映射模型,当获取到视频流中的画面异常信息和对应的异常程度时,可以根据模型匹配相应的运行资源需求量。
103.在一个示例中,可以根据历史数据中各种类型的画面异常信息和对应的异常程度的对运行资源的消耗量,来建立映射模型。
104.接着采用实时获取的异常画面信息及对应的异常程度,从映射模型中匹配得到相应的运行资源需求量。
105.在一个示例中,根据画面异常信息及对应的异常程度确定运行资源需求量的步骤,可以包括以下子步骤:
106.s61,获取画面异常信息中的运行模式在异常程度下的第一历史资源数据;
107.s62,根据第一历史资源数据确定第一运行资源需求量;
108.s63,获取画面异常信息中的用户习惯在异常程度下的第二历史资源数据;
109.s64,根据第二历史资源数据确定第二运行资源需求量;
110.s65,根据第一运行资源需求量和第二运行资源需求量,生成运行资源需求量。
111.在本发明实施例中,映射模型可以根据运行模式匹配对应的第一运行资源需求量。第一运行资源需求量是映射模型在自适应学习过程中,根据异常程度下该摄像头的第一历史资源数据学习得到的。第一历史资源数据,是运行模式在不同时刻采集得到的视频流中的实际资源消耗量。
112.映射模型还可以根据用户习惯匹配对应的第二运行资源需求量。第二运行资源需求量是映射模型在自适应学习过程中,根据异常程度下该摄像头的第二历史资源数据学习得到的。第二历史资源数据,是用户习惯在不同时刻采集得到的视频流中的实际资源消耗量。
113.步骤207,根据运行资源需求量为摄像头分配运行资源。
114.在匹配到运行资源需求量后,服务器可以为摄像头分配相应的运行资源。其中,根据视频采集的需要,运行资源可以包括但不限于算力资源、带宽资源、存储资源等。
115.本发明通过建立异常画面信息、异常程度与运行资源需求量的关联关系,来为摄像头分配运行资源。从而提高资源分配的合理性,减少资源浪费,且避免运行资源分配不足导致的视频流卡顿。
116.请参阅图3,图3为本发明实施例提供的一种摄像头运行资源分配装置的结构框图。
117.本发明实施例提供了一种摄像头运行资源分配装置,应用于服务器,服务器与多个摄像头通信;装置包括:
118.视频流接收模块301,用于接收各摄像头发送的视频流;
119.前景对象变动信息确定模块302,用于确定视频流中的前景对象变动信息;
120.画面异常信息和异常程度确定模块303,用于根据前景对象变动信息确定画面异常信息及画面异常信息对应的异常程度;
121.运行资源需求量确定模块304,用于根据画面异常信息及对应的异常程度确定运行资源需求量;
122.运行资源分配模块305,用于根据运行资源需求量为摄像头分配运行资源。
123.在本发明实施例中,前景对象变动信息确定模块302,包括:
124.解码子模块,用于对视频流进行解码,得到解码视频流;
125.前景对象识别子模块,用于识别解码视频流中的前景对象;
126.前景对象变动信息采集子模块,用于采集所有前景对象的变动情况,生成前景对象变动信息。
127.在本发明实施例中,画面异常信息和异常程度确定模块303,包括:
128.类型确定子模块,用于确定各前景对象的类型;
129.运行模式确定子模块,用于根据前景对象变动信息,确定各类型的前景对象的运行模式;
130.用户习惯确定子模块,用于根据各类型的前景对象的运行模式,确定用户习惯;
131.画面异常信息和异常程度确定子模块,用于根据各类型的前景对象的运行模型和用户习惯,匹配画面异常信息及画面异常信息对应的异常程度。
132.在本发明实施例中,运行资源需求量确定模块304,包括:
133.第一历史资源数据获取子模块,用于获取画面异常信息中的运行模式在异常程度下的第一历史资源数据;
134.第一运行资源需求量确定子模块,用于根据第一历史资源数据确定第一运行资源需求量;
135.第二历史资源数据获取子模块,用于获取画面异常信息中的用户习惯在异常程度下的第二历史资源数据;
136.第二运行资源需求量确定子模块,用于根据第二历史资源数据确定第二运行资源需求量;
137.运行资源需求量生成子模块,用于根据第一运行资源需求量和第二运行资源需求量,生成运行资源需求量。
138.本发明实施例还提供了一种电子设备,设备包括处理器以及存储器:
139.存储器用于存储程序代码,并将程序代码传输给处理器;
140.处理器用于根据程序代码中的指令执行本发明实施例的摄像头运行资源分配方法。
141.本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质用于存储程序代码,程序代码用于执行本发明实施例的摄像头运行资源分配方法。
142.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
143.本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
144.本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
145.本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
146.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
147.这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
148.尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
149.最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要
素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
150.以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。