图像分析装置以及图像分析系统

文档序号:950257 发布日期:2020-10-30 浏览:1次 >En<

阅读说明:本技术 图像分析装置以及图像分析系统 (Image analysis device and image analysis system ) 是由 宇野礼于 土田安纩 于 2020-04-01 设计创作,主要内容包括:在图像分析装置及图像分析系统中,即使在针对从某相机输入的图像的物体识别的种类与针对从其他相机输入的图像的物体识别的种类不同的情况下也为与这些物体识别和物体检测对应的神经网络模型各自的推理处理分配适当的推理用处理器。根据人工智能推理实例中所含的物体检测用神经网络模型及物体识别用神经网络模型各自的推理时间和使用频度,来进行多个芯片(推理用处理器)当中的用于上述各神经网络模型的推理处理的芯片的分配(S3、S5、S9、S13、S16及S19)。由此,在针对从某相机输入的图像的物体识别的种类与针对从其他相机输入的图像的物体识别的种类不同的情况下也为与这些物体识别和物体检测对应的神经网络模型各自的推理处理分配适当的芯片。(In the image analysis device and the image analysis system, even when the type of object recognition for an image input from a certain camera is different from the type of object recognition for an image input from another camera, an appropriate processor for inference is assigned to each inference process of the neural network models corresponding to the object recognition and the object detection. The distribution of the chips used for the inference process of each of the plurality of chips (inference processors) is performed based on the inference time and the use frequency of each of the object detection neural network model and the object recognition neural network model included in the example of artificial intelligence inference (S3, S5, S9, S13, S16, and S19). Thus, even when the type of object recognition for an image input from a certain camera is different from the type of object recognition for an image input from another camera, an appropriate chip is assigned to each of the inference processes of the neural network models corresponding to the object recognition and the object detection.)

图像分析装置以及图像分析系统

技术领域

本发明涉及图像分析装置以及图像分析系统。

背景技术

从以往,已知如下装置或系统:利用物体检测用神经网络等来对以监视相机等相机拍摄出的帧图像中摄入的人等物体进行检测,并利用物体识别用神经网络来进行检测出的物体的识别(例如,参照专利文献1)。

在先技术文献

专利文献

专利文献1:JP特开2017-224925号公报

发明内容

(发明要解决的课题)

然而,在上述那样利用神经网络进行物体的检测及识别的装置或系统(以下,简称为“进行物体的检测以及识别的装置”)中,物体检测和物体识别均是需要大量计算机资源的处理。而且,识别1个帧图像中的全部物体所需的时间取决于帧中所含的(检测)物体数。

故而,检测到许多物体的帧图像中的物体的识别需要长时间,因此会发生所谓掉帧的问题,即,无法对在物体多的帧图像之后一段期间所输入的帧图像中的物体进行识别(发生识别遗漏)。

作为针对上述问题的既有的应对方法,存在如下方法:使得能将物体检测处理用的线程与物体识别处理用的线程分割开来进行并行处理,另外,为了使物体识别处理高速化,在物体识别用神经网络的推理处理中分配大量GPU(Graphics Processing Unit)等推理用处理器。

然而,在进行上述物体的检测及识别的装置或系统针对来自1台相机的输入图像进行物体检测以及物体识别的情况下,对输入图像进行的物体检测和物体识别的种类是确定的,因此能以上述既有的方法来应对,但在针对来自多个相机的输入图像进行物体检测以及物体识别的情况下,对来自各相机的输入图像进行的物体检测以及物体识别的种类全部相同的情况少,因此无法以上述方法应对。更具体而言,在进行物体的检测以及识别的装置或系统针对来自多个相机的输入图像进行物体检测以及物体识别,且针对从某相机输入的图像的物体识别的种类与针对从其他相机输入的图像的物体识别的种类不同的情况下,若向与全部种类的物体识别对应的神经网络(的推理处理)分配大量的GPU,则成本变得太高。因此,需要考虑与多个种类的物体识别以及物体检测对应的各神经网络模型的处理时间(推理时间)和使用频度,按上述各神经网络模型的每一个来为这些神经网络模型各自的推理处理分配适当的推理用处理器。

本发明用于解决上述课题,其目的在于,提供一种图像分析装置以及图像分析系统,即使在针对从多个相机当中的某相机输入的图像的物体识别的种类与针对从其他相机输入的图像的物体识别的种类不同的情况下,也能按与这些物体识别和物体检测各自对应的神经网络模型的每一个,来为这些神经网络模型各自的推理处理分配适当的推理用处理器。

(用于解决课题的技术方案)

为了解决上述课题,本发明的第一形态的图像分析装置与多个相机连接,具备:图像分析部,使用包含学习完成物体检测用神经网络模型和1种以上的学习完成物体识别用神经网络模型在内的图像分析程序的各实例,来对从所述多个相机的每个相机输入的图像进行分析,所述学习完成物体检测用神经网络模型用于对在从所述相机的每一个输入的图像中摄入的物体进行检测,所述1种以上的学习完成物体识别用神经网络模型用于对由所述学习完成物体检测用神经网络模型检测出的物体进行识别;多个推理用处理器,用于进行所述学习完成物体检测用神经网络模型以及所述学习完成物体识别用神经网络模型中的推理处理;以及处理器分配部,根据所述图像分析程序的各实例中所含的所述学习完成物体检测用神经网络模型以及所述学习完成物体识别用神经网络模型的各自的推理处理所需的推理时间和使用频度,来进行所述多个推理用处理器当中的、用于所述学习完成物体检测用神经网络模型中的推理处理以及各所述学习完成物体识别用神经网络模型中的推理处理的推理用处理器的分配。

可以是,在该图像分析装置中,所述处理器分配部根据各所述学习完成物体识别用神经网络模型中的推理处理所需的推理时间以及所述学习完成物体识别用神经网络模型的各自的使用频度,来估计所述学习完成物体识别用神经网络模型的各自的推理处理所需的推理用处理器的数量。

可以是,在该图像分析装置中,所述处理器分配部根据所述学习完成物体检测用神经网络模型中的推理处理所需的推理时间以及基于所述学习完成物体检测用神经网络模型的作为物体检测的对象的图像的输入源的相机的台数,来估计所述学习完成物体检测用神经网络模型的推理处理所需的推理用处理器的数量。

可以是,在该图像分析装置中,所述处理器分配部根据各所述学习完成物体识别用神经网络模型中的推理处理所需的推理时间、所述学习完成物体识别用神经网络模型的各自的使用频度、以及各所述学习完成物体识别用神经网络模型在给定时间内进行推理处理的目标帧数,来估计所述学习完成物体识别用神经网络模型的各自的推理处理所需的推理用处理器的数量。

可以是,在该图像分析装置中,所述处理器分配部根据所述学习完成物体检测用神经网络模型中的推理处理所需的推理时间、基于所述学习完成物体检测用神经网络模型的作为物体检测的对象的图像的输入源的相机的台数、以及所述学习完成物体检测用神经网络模型在给定时间内进行推理处理的目标帧数,来估计所述学习完成物体检测用神经网络模型的推理处理所需的推理用处理器的数量。

可以是,该图像分析装置还具备图像蓄积部,所述图像蓄积部对从各所述相机输入的图像进行蓄积,针对在一个时间点,所述处理器分配部未能分配所述推理用处理器的所述学习完成物体检测用神经网络模型或所述学习完成物体识别用神经网络模型的推理处理,其后,在所述处理器分配部变得能够为对应的学习完成物体检测用神经网络模型或所述学习完成物体识别用神经网络模型的推理处理分配所述推理用处理器后,所述图像分析装置根据所述图像蓄积部中所蓄积的过去的图像,来非实时地进行对应的学习完成物体检测用神经网络模型或所述学习完成物体识别用神经网络模型的推理处理。

可以是,在该图像分析装置中,与所述图像分析装置连接的相机被分类为多个相机组,与所述多个相机组分别对应的所述图像分析程序是利用彼此不同的所述学习完成物体检测用神经网络模型以及所述学习完成物体识别用神经网络模型的组合而构成的。

本发明的第二形态的图像分析系统具备:多个图像分析装置;多个相机,与所述图像分析装置分别连接;以及管理服务器,进行包含所述图像分析程序到所述图像分析装置的安装在内的所述图像分析装置以及所述相机的管理。各所述图像分析装置具备:图像分析电路,使用包含学习完成物体检测用神经网络模型和1种以上的学习完成物体识别用神经网络模型在内的图像分析程序的各实例,来对从所述多个相机的每个相机输入的图像进行分析,所述学习完成物体检测用神经网络模型用于对在从所述相机的每一个输入的图像中摄入的物体进行检测,所述1种以上的学习完成物体识别用神经网络模型用于对由所述学习完成物体检测用神经网络模型检测出的物体进行识别;多个推理用处理器,用于进行所述学习完成物体检测用神经网络模型以及所述学习完成物体识别用神经网络模型中的推理处理;以及处理器分配电路,根据所述图像分析程序的各实例中所含的所述学习完成物体检测用神经网络模型以及所述学习完成物体识别用神经网络模型的各自的推理处理所需的推理时间和使用频度,来进行所述多个推理用处理器当中的、用于所述学习完成物体检测用神经网络模型中的推理处理以及各所述学习完成物体识别用神经网络模型中的推理处理的推理用处理器的分配。

优选地,在该图像分析系统中,与所述多个图像分析装置连接的相机被分类为多个相机组,与所述多个相机组分别对应的所述图像分析程序是利用彼此不同的所述学习完成物体检测用神经网络模型以及所述学习完成物体识别用神经网络模型的组合而构成的。

(发明效果)

根据本发明的第一形态的图像分析装置,根据图像分析程序的各实例中所含的学习完成物体检测用神经网络模型以及学习完成物体识别用神经网络模型的各自的推理时间和使用频度,来进行了多个推理用处理器当中的、用于上述(实例中所含的)学习完成物体检测用神经网络模型中的推理处理以及上述(实例中所含的)各个学习完成物体识别用神经网络模型中的推理处理的推理用处理器的分配。由此,即使在针对从多个相机当中的某相机输入的图像的物体识别的种类与针对从其他相机输入的图像的物体识别的种类不同的情况下,也能考虑与多种物体识别以及物体检测对应的各神经网络模型的处理时间(推理时间)和使用频度,按与这些物体识别和物体检测各自对应的神经网络模型的每一个,来为这些神经网络模型各自的推理处理分配适当的推理用处理器。因此,能使用有限数量的推理用处理器来进行针对从多个相机的每一个输入的图像的高效的物体识别。

另外,根据本发明的第二形态的图像分析系统,在上述效果的基础上,还能使用管理服务器来进行包含图像分析程序到图像分析装置的安装在内的图像分析装置的管理。

附图说明

图1是表示包含本发明的一实施方式的分析盒的图像分析系统的概略构成的方框结构图。

图2是表示同分析盒的概略的硬件构成的框图。

图3是同分析盒中的CPU的功能方框结构图。

图4是同分析盒中的主要的软件的构成图。

图5是同分析盒中的各物体识别用NN模型的推理处理所需的芯片数的计算方法的说明图。

图6是同分析盒中的人工智能(AI)推理实例与GPU服务器之间的通信的说明图。

图7是上述GPU服务器所进行的向芯片分配NN模型的分配处理的流程图。

图8是图像分析系统中的相机组和应用组的说明图。

图9是表示上述应用组的一例的说明图。

图10是图9中的矢量化模型所进行的矢量化处理的说明图。

图11是表示店铺内的各相机及各分析盒与管理服务器的连接的框图。

图12是表示与图像分析系统内的各分析盒连接的相机的管理的单位的例子的说明图。

具体实施方式

以下,参照附图来说明使本发明具体化的实施方式的图像分析装置以及图像分析系统。图1是表示包含作为本实施方式的图像分析装置的分析盒1在内的图像分析系统10的概略的构成的方框结构图。在本实施方式中,针对分析盒1以及与该分析盒1连接的网络相机(IP(Internet Protocol)相机)2配置于连锁店等店铺S内的情况的例子进行说明。如图1所示,图像分析系统10具备配置在店铺S内的、分析盒1、多个网络相机2(以下,简称为“相机2”)、集线器3和路由器5、以及云端C上的AI分析服务器6以及管理服务器7。上述多个相机2和分析盒1配置于多个店铺,因此图像分析系统10具备多个分析盒1、以及与这些分析盒1各自连接的多个相机2。

上述网络相机2带IP地址,能与网络直接连接。如图1所示,分析盒1经由LAN(LocalArea Network)4和集线器3与多个相机2连接,对从这些相机2各自输入的图像进行分析。具体而言,进行针对从相机2各自输入的图像的物体检测处理、以及针对通过该物体检测处理而检测出的物体的图像的物体识别处理。

另外,如图1所示,分析盒1经由集线器3和路由器5与云端C上的AI分析服务器6以及管理服务器7连接。AI分析服务器6根据来自分析盒1的物体识别结果,例如对各店铺内的人物的行动进行分析,并将分析结果的信息变换成营销、防盗等各种用途的应用所容易使用的数据进行输出。

上述管理服务器7进行配置于各店铺的多个分析盒1以及与这些分析盒1连接的相机2的管理。具体而言,管理服务器7进行向各店铺的分析盒1安装应用包、与这些分析盒1连接的相机2的启动以及停止等的控制。此外,该应用包相当于技术方案中的“图像分析程序”,图9的应用51是该应用包的一例。关于该应用包的细节将后述,该应用包是包含学习完成物体检测用神经网络模型、1种以上的学习完成物体识别用神经网络模型、以及记载有这些神经网络模型的使用方法(处理的顺序)的控制用脚本在内的打包程序。

接下来,参照图2来说明分析盒1的硬件构成。分析盒1具备:CPU11,进行装置整体的控制以及各种运算;硬盘12,存放各种数据、程序;RAM(Random Access Memory)13;作为DNN推理用处理器的推理芯片(以下,简称为“芯片”)14a~14h;以及通信控制IC15。CPU11是一般的通用CPU、或者被设计成提高用于同时处理多个视频流的并行处理性能的CPU。另外,在存放于硬盘12的数据中包含对从各个相机2输入的视频流(的数据)进行解码后的视频数据(帧图像的数据),在存放于硬盘12的程序中,除了上述应用包以外,还包含图4的说明中描述的VMS21、分析盒OS24以及GPU服务器25的程序。

上述(推理)芯片14a~14h优选是针对DNN(Deep Neural Networks)推理进行优化后的处理器(推理专用芯片),但也可以是用于一般用途的通用的GPU(GraphicsProcessing Unit)或其他处理器。另外,上述各芯片14a~14h可以是在1个插件式计算机上集成(搭载)有多个芯片(推理用处理器)的器件。另外,可以在1个分析盒1搭载多个种类的芯片。例如,可以在1个分析盒1搭载4个A公司制的推理专用芯片、8个B公司制的推理专用芯片以及1个C公司制的GPGPU。其中,在后述的学习完成物体识别用神经网络模型、学习完成物体检测用神经网络模型中的推理处理所需的芯片数的估计处理的说明中,为了简化说明,针对在1个分析盒1搭载同种类的多个芯片的情况的例子进行说明。

如图2所示,上述(推理)芯片14a~14h通过PCI Express或USB而与CPU11连接。此外,芯片14a~14h当中,可以一部分的芯片通过PCI Express与CPU11连接,其他芯片通过USB与CPU11连接。

另外,上述通信控制IC15具有对Ethernet规格的LAN进行连接的连接用的端口即LAN端口16。

图3表示上述分析盒1中的CPU11的功能块。分析盒1具备图像分析部18和处理器分配部19来作为功能块。

上述图像分析部18使用包含用于对从相机2的每一个输入的图像中摄入的物体进行检测的学习完成物体检测用神经网络模型(以下,称为“物体检测用NN模型”)和用于对由该物体检测用NN模型检测出的物体进行识别的1种以上的学习完成物体识别用神经网络模型(以下,称为“物体识别用NN模型”)在内的应用包的各实例(图4所示的AI推理实例23a~23c),来分析从相机2的每一个输入的图像。另外,处理器分配部19根据应用包的各实例中所含的物体检测用NN模型以及物体识别用NN模型的各自的推理处理所需的推理时间和使用频度,来进行多个芯片14a~14h当中的用于物体检测用NN模型中的推理处理以及物体识别用NN模型的各自的推理处理的芯片(推理用处理器)的分配。上述图像分析部18的功能主要是通过由分析盒1的CPU11执行图4所示的AI推理实例23a~23c(的程序)来实现的。另外,处理器分配部19的功能通过由分析盒1的CPU11执行图4所示的GPU服务器25(的程序)来实现。

接下来,参照图4来说明分析盒1中的主要的软件构成。如图4所示,分析盒1中的主要的软件是VMS(Video Management System)21、AI推理实例23a~23c、分析盒OS24以及GPU服务器25。在图4中,示出了各软件的进程。VMS21对从相机2a~2c经由集线器3而输入的视频流进行解码,将解码后的帧图像(的数据)存储至存储装置22,并经由分析盒1内的总线而输出至AI推理实例23a~23c。该VMS21与存储装置22一起构成VMS服务器20。

另外,上述AI推理实例23a~23c各自是上述应用包(相当于图9的应用51)的实例。AI推理实例23a、23b、23c分别进行针对从各相机2a、2b、2c输入的图像的物体检测、物体识别。如此划分针对从各相机2a、2b、2c输入的图像的物体识别处理用的AI推理实例是由于,按相机2a、2b、2c的每一个,要使用的应用包(所含的物体检测用NN模型、物体识别用NN模型)的种类有可能不同。

另外,上述分析盒OS24进行分析盒1内的AI推理实例23a~23c等的应用的控制,而且进行与管理服务器7的收发。另外,上述GPU服务器25所进行的主要的处理是如下处理:在各AI推理实例23a~23c的启动时,根据各AI推理实例23a~23c中所含的物体检测用NN模型以及物体识别用NN模型的各自的推理处理所需的推理时间和使用频度,来进行多个芯片14a~14h(参照图2)当中的、用于物体检测用NN模型中的推理处理以及物体识别用NN模型的各自的推理处理的芯片的分配。其中,各AI推理实例23a~23c中所含的物体检测用NN模型以及物体识别用NN模型的各自的使用频度还能根据时间段而变动,因此GPU服务器25能根据时间段来变更用于物体检测用NN模型中的推理处理以及物体识别用NN模型的各自的推理处理的芯片的分配。

接下来,讲述GPU服务器25向芯片14a~14h分配物体检测用NN模型以及物体识别用NN模型的每一个的情况的基本方针。

1.虽然能进行分配至各芯片14a~14h的NN模型(物体检测用NN模型或物体识别用NN模型)的更换,但NN模型的更换耗费时间(的成本),因此尽量不更换。此外,上述NN模型的更换所要的时间根据芯片而不同。另外,一般而言,既有向(推理)芯片只分配1个NN模型的情况,也有能分配多个NN模型的情况。

2.向各芯片14a~14h分配各NN模型,以正好应对店铺内的分析要求(物体识别的要求)。具体而言,设为下述的2-1以及2-2。

2-1.以当前的芯片构成(芯片的种类和数量)能进行全部识别对象物的识别的帧速率,向能进行针对来自全部相机的图像的物体检测的最低限度的芯片分配物体检测用NN模型。此外,最低限度的芯片是指从数量以及性能的观点来看的最低限度的芯片。

2-2.根据(分类等的)识别的推理时间(物体识别用NN模型的推理处理所需的推理时间)和该识别的必要性(使用频度以及优先级),将各物体识别用NN模型分配给适当的数量的芯片。

2-3.在上述2-1以及2-2时刻变化的情况下,考虑上述1的NN模型的更换所要的时间(的成本),进行最低限度的NN模型的更换(交换)即可。

3.针对优先级不太高的识别处理,可以推迟(可以不实时做完)。即,可以在空闲的时间段,根据来自VMS服务器20(参照图4)的帧图像(的数据)来进行上述识别处理。

遵照上述基本方针来向各芯片14a~14h分配各NN模型的结果是,若芯片的分配适当,则GPU服务器25的行为非常简单,仅仅是向分配给物体检测用NN模型的芯片输入对从相机2a~2c输入的视频流进行解码后的帧图像(的数据),对识别对象物进行检测,并使检测出的全部识别对象物流入分配给物体识别用NN模型的芯片。

接下来,说明GPU服务器25向芯片分配NN模型的方式的例子。在该分配方式的例子中,求取作为物体检测结果的识别对象物以何种程度出来(检测出)以及向这些识别对象物应用物体识别用NN模型的时间为何种程度,并从这些计算结果反算,来计算向物体识别用NN模型分配的芯片数。进行这样的芯片的分配方式的理由是,根据作为物体检测结果的识别对象物的数量、以及应用于这些识别对象物的物体识别用NN模型的种类,使物体检测的帧速率恒定的情况下的、各物体识别用NN模型中的推理处理所需的芯片数不同。

针对上述点,参照图5进行说明。在图5中,物体检测用NN模型34是能检测人和脸两者的NN模型。如图5所示,物体检测用NN模型34在从第1个帧图像33中检测出1-1这样的人以及1-2这样的人、且从第2个帧图像33中检测出2-1这样的脸时,针对这两个帧图像,将用于进行针对人的分类等的物体识别处理的第一物体识别用NN模型36使用2次,将用于进行针对脸的(性别、年龄估计等的)物体识别处理的第二物体识别用NN模型37使用1次。在此,在上述第一物体识别用NN模型36和第二物体识别用NN模型37中,物体识别的推理处理所需的推理时间不同,因此第一物体识别用NN模型36和第二物体识别用NN模型37的各自的推理处理所需的芯片数根据作为物体检测结果的识别对象物的数量、以及应用于这些识别对象物的物体识别用NN模型的推理时间而不同。即,根据作为物体检测结果的识别对象物的数量、以及应用于这些识别对象物的物体识别用NN模型的种类,使物体检测的帧速率恒定的情况下的各物体识别用NN模型中的推理处理所需的芯片数不同。

其中,作为针对各帧图像33的物体检测的结果的识别对象物的数量、以及对这些识别对象物进行各物体识别用NN模型的推理处理的时间根据时间段而不同。例如,在傍晚繁忙的时间段与过午闲暇的时间段,识别对象物的数量不同,因此针对这些识别对象物的物体识别处理所需的时间不同。因此,预想到该状况,在分析盒1的启动时,需要向各芯片分配各NN模型(例如,物体检测用NN模型34、第一物体识别用NN模型36以及第二物体识别用NN模型37),使得能以最低限度的NN模型的更换(变更)次数(向各芯片分配各NN模型(物体检测用NN模型以及各物体识别用NN模型)的分配方式的变更次数)进行应对。

上述管理服务器7(参照图1)由管理者以简易的过程(通过进行在后述的“需要芯片数估计”处理中使用的模型性能、相机台数、目标性能等的输入处理)将想要实施的分析(物体识别)所需的各NN模型分配给各芯片。具体而言,在管理者从管理服务器7进行模型性能、相机台数、目标性能等的输入时,管理服务器7将该输入的信息发送至分析盒1,分析盒1的CPU11根据接收到的输入信息,使用GPU服务器25(参照图4)来将分析所需的各NN模型分配给各芯片。

接下来,具体说明上述GPU服务器25向芯片分配NN模型的分配方式的例子,但在此之前,参照图6来说明上述AI推理实例23(图4中的AI推理实例23a~23c的总称)与GPU服务器25之间的通信。AI推理实例23(的进程)与GPU服务器25(的进程)之间的进程间通信例如使用共享内存(shared memory)、套接字(socket)、有名管道(fifo)等来进行。在图6中,示出了使用fifo的情况的例子。在图6中,记载了已向各芯片14a~14h分配各NN模型后的处理。此外,在图6中的进程间通信中,AI推理实例23侧的收发处理准确地讲,通过AI推理实例23内的脚本(相当于图9中的应用51中的脚本55)来进行。

在图6中,AI推理实例23a中含有模型ID1的物体检测用NN模型和模型ID2的物体识别用NN模型,AI推理实例23b中含有模型ID1的物体检测用NN模型和模型ID3的物体识别用NN模型。在此,参照图6,说明在已向各芯片14a~14h分配各NN模型后在AI推理实例23a、23b与GPU服务器25之间进行的处理。

首先,如图6所示,在AI推理实例23a将要执行的NN模型为模型ID1这样的信息、以及在基于NN模型的推理处理中使用的帧(图像)数据发送给GPU服务器25时,GPU服务器25将接收到的帧数据纳入(输入)至与模型ID1的物体检测用NN模型对应的第一推理线程41a中的推理数据用队列42a。推理数据用队列42a将所输入的帧数据按输入顺序输出至分配给模型ID1的物体检测用NN模型的芯片14a~14c。然后,通过这些推理用的芯片14a~14c来进行针对所输入的帧(图像)数据的物体检测。其后,GPU服务器25的第一推理线程41a将上述物体检测的结果返回给AI推理实例23a。

AI推理实例23a在从第一推理线程41a接收到上述物体检测结果时,将要执行的NN模型是模型ID2这样的信息与基于接收到的物体检测结果的识别对象物(例如,人、脸)的帧数据一起发送至GPU服务器25。GPU服务器25将接收到的帧数据纳入(输入)至与模型ID2的物体识别用NN模型对应的第二推理线程41b中的推理数据用队列42b。推理数据用队列42b将所输入的识别对象物的帧数据按输入顺序输出至分配给模型ID2的物体识别用NN模型的芯片14d。然后,通过这些推理用的芯片14d来进行针对所输入的帧(图像)数据的物体识别。其后,GPU服务器25的第二推理线程41b将上述物体识别的结果返回给AI推理实例23a。

AI推理实例23b所进行的处理也基本上与AI推理实例23a所进行的处理同样,但在对识别对象物的帧数据进行的物体识别处理的NN模型是模型ID3的NN模型这点上不同。此外,如图6所示,在GPU服务器25,进行与各NN模型对应的推理处理的线程被划分为各个线程(第一推理线程41a、第二推理线程41b以及第三推理线程41c),另外,这些推理线程41a~41c具有各自的推理数据用队列42a~42c。

接下来,参照图7来更具体地说明上述参照图5所说明的向芯片分配NN模型的分配方式的例子。此外,在以下的说明中,记载了GPU服务器25进行处理,但更准确而言,图3中的处理器分配部19进行向芯片分配NN模型的分配处理。即,CPU11与GPU服务器25(这样的软件)协同动作,来进行向芯片分配NN模型的分配处理。

图7是GPU服务器25(准确地讲,处理器分配部19)所进行的向芯片分配NN模型的分配处理的流程图。该分配处理是按每给定时间(例如,一小时一次)作为基于定时器的批处理而执行的。在开始图7的流程图所示的处理前,GPU服务器25获取针对有可能使用的全部AI推理实例23中所含的全部NN模型的模型ID、模型路径、模型性能(值)、NN模型自身的优先级以及AI推理实例23自身的优先级的信息。在此,上述模型路径是指硬盘12(参照图2)中的对应的NN模型的(示出至存在存放目标文件的地点为止的路径)路径。另外,上述优先级是根据(在应用51(参照图9)的登记时由管理者登记的信息)该NN模型自身的优先级×该AI推理实例23自身的优先级(以未怎么摄入人的相机的优先级低这样的基准为基础的与该相机对应的AI推理实例23的优先级)来计算的。

然后,GPU服务器25进行以下的(1)~(3)的处理。

(1)根据上述获取到的各信息(模型ID、模型路径、模型性能(值)、NN模型自身的优先级以及AI推理实例23自身的优先级的信息),针对全部AI推理实例23中所含的全部NN模型,生成(模型ID、模型路径、模型性能(值)、优先级)的参数组,从而得到参数组的列表,并创建将该列表以优先级顺序进行重排后的列表L=(l1,l2,……,lN)。

(2)将该时间点的NN模型到芯片的分配进行复位(解除)。

(3)针对上述列表L的各要素li,从排头起(从优先级高的要素起)依次执行图7的S1以后的处理,进行NN模型到芯片的分配。

在此,在上述优先级为负值的情况(=对该NN模型自身的优先级设定负值的情况)下,在以下的处理中允许不将该NN模型分配给芯片。而且,在不将该NN模型分配给芯片的情况下,基于该NN模型的推理处理如段落(0036)所记载,使用VMS服务器20中所蓄积的帧图像,推迟处理。

另外,上述AI推理实例23的优先级根据该AI推理实例23(所含的全部NN模型)的过去的推理量的实绩进行计算。例如,既可以根据前一时间的该AI推理实例23的推理时间的累计值来计算该AI推理实例23的优先级,也可以根据过去一个月左右的各周几/各时间段的该AI推理实例23的推理时间的累计值来预测下一时间的该AI推理实例23的推理时间,并对其进行优先级化。

若开始针对上述(3)的列表L中的某要素li(所对应的NN模型)的芯片分配处理(S1中为“是”),则GPU服务器25针对相应的NN模型,确定是否已进行向该NN模型的芯片的分配。具体而言,GPU服务器25通过确认在自进程所管理的模型ID数组(GPU服务器25的程序中的数组)中是否存放有(是否存在)上述要素li的(参数组中所含的)模型ID,从而确认是否已进行针对与该模型ID对应的NN模型的芯片的分配(S2)。在其结果是在上述模型ID数组中还未存放上述模型ID的情况下(S2中为“否”),估计与该模型ID对应的NN模型的推理处理所需的芯片数(S3)。关于该需要芯片数估计处理的细节将后述。

接下来,在图2所示的(推理)芯片14a~14h当中剩余有(NN模型)还未分配的芯片的情况下(S4中为“是”),GPU服务器25从该未分配的芯片之中选择上述S3中估计为需要的芯片数的芯片,并将这些芯片分配至与上述S2中判定为还未存放的模型ID对应的NN模型(S5)。然后,GPU服务器25将上述S2中判定为还未存放的模型ID追加(存放)至上述模型ID数组(S6)。

上述S5的芯片的分配处理的结果是,通过该分配处理而被分配了芯片的NN模型能在分析盒1中使用(成为“真(True)”的状态)(S7)。在图7中,“真”是对相应的NN模型分配了最低1个以上的芯片,是指能使用该NN模型的状态。与之相对,“假(False)”是对相应的NN模型连一个芯片也未分配,是指不能使用该NN模型的状态。在“假”的情况下,基于该NN模型的推理处理如段落(0036)所记载,将推迟处理。

在上述S4的判定处理中,在未剩余有未分配的芯片的情况下(S4中为“否”),GPU服务器25判定上述要素li的优先级是否为0以上且能否从其他推理线程(相当于图6的第一推理线程41a~41c)调用芯片(S8)。在上述要素li的优先级为0以上且能从其他推理线程调用芯片的情况下(S8中为“是”),GPU服务器25从其他推理线程调用芯片,并将所调用的芯片分配至与上述S2中判定为还未存放的模型ID对应的NN模型(S9)。然后,GPU服务器25将上述S2中判定为还未存放的模型ID追加至上述模型ID数组(S10)。此外,关于从上述其他推理线程调用芯片的处理的具体的内容将后述。

调用分配上述S9的芯片的处理的结果是,通过该分配处理被分配了芯片的NN模型能在分析盒1中使用(成为“真”的状态)(S11)。其中,在上述S8的判定的结果是在上述要素li的优先级小于0(负的)情况下、或不能从其他推理线程调用芯片的情况下(S8中为“否”),在分析盒1中不能使用上述S2中判定为还未存放的模型ID(成为“假”的状态)(S12)。此外,在上述S8的判定中判定为上述要素li的优先级小于0(负)的情况下,不尝试从上述其他推理线程调用芯片,而返回“假”的值(成为“假”的状态)。在成为该“假”的状态的情况下,已经未剩余未分配的芯片,而且此后的要素li的优先级仅为负,或者成为不能从其他推理线程调用芯片的状态(芯片分配完毕的NN模型的数量已与芯片数相同)。因此,在此,结束针对列表L中的各要素的芯片分配处理。

在上述S2的判定处理中,在针对相应的要素li的NN模型,已进行了向该NN模型的芯片的分配的情况(在上述模型ID数组中已存放有上述要素li的模型ID的情况)下(S2中为“是”),虽然分配给芯片的NN模型的数量不会增加,但相应的NN模型的实例将会增加。故而,GPU服务器25针对相应的NN模型进行与上述S3同样的需要芯片数的估计处理(S13)。

在上述S13的估计处理中,与最初进行针对相应的NN模型的需要芯片数估计处理(S3的估计处理)时相比,相应的NN模型的实例数增加,因此作为物体检测用NN模型以及物体识别用NN模型的需要芯片数估计的基础的相机台数、作为物体识别用NN模型的需要芯片数估计的基础的各相机中摄入的平均人数(平均的识别对象物数)将增加。故而,GPU服务器25从上述S13的估计处理中求出的需要芯片数观察,判定是否需要追加向相应的NN模型分配的芯片(S14)。

在上述S14的判定的结果是需要追加向相应的NN模型分配的芯片的情况下(S14中为“是”),在剩余有(对NN模型)未分配的芯片时(S15中为“是”),GPU服务器25从该未分配的芯片之中选择要追加的需要的个数的芯片,并向上述S14中判定为需要追加的NN模型追加分配这些芯片(S16)。其结果是,成为向相应的NN模型分配有2个以上的芯片的状态,因此相应的NN模型当然成为上述“真”的状态(S17)。

与之相对,在S15的判定的结果是未剩余未分配的芯片的情况下(S15中为“否”),GPU服务器25判定上述要素li的优先级是否为0以上且能否从其他推理线程调用芯片(S18)。在上述要素li的优先级为0以上且能从其他推理线程调用芯片的情况下(S18中为“是”),GPU服务器25从其他推理线程调用芯片,并将所调用的芯片追加分配至在上述S14中判定为需要追加的NN模型(S19)。此外,在上述S14中判定为需要追加的NN模型所对应的线程若不从其他推理线程调用芯片则会成为后述的识别率最低的线程的情况下,GPU服务器25进行上述S19的追加分配处理(从其他推理线程调用芯片的芯片调用处理),但在即使不从其他推理线程调用芯片也不会成为识别率最低的线程的情况下,GPU服务器25不必非要进行从其他推理线程调用芯片的调用处理。

在进行了上述S19的追加分配处理的情况下,成为向相应的NN模型分配了2个以上的芯片的状态,因此相应的NN模型当然成为上述“真”的状态(S20)。另外,在上述S18的判定的结果是上述要素li的优先级小于0(负)情况下,或者不能从其他推理线程调用芯片的情况下(S18中为“否”),不能向相应的NN模型进行芯片的追加分配。但是,即使在该情况下,根据上述S2的判定结果(“已向相应的NN模型进行芯片的分配”这样的判定结果),也应该向与相应的模型ID对应的NN模型进行了芯片的分配,因此针对相应的NN模型,当然成为上述“真”的状态(S21)。

在上述说明中,在针对优先级为0以上的NN模型的芯片的分配处理全部结束后,只要是还剩余有未分配芯片的情况(S4中为“是”,以及S15中为“是”),即使是优先级为负的NN模型,也分配芯片。但是,不限于此,在即使未剩余有未分配芯片的情况下,在存在后述的充分超过目标性能而有余力的NN模型的线程时,也可以将分配给该NN模型的芯片调用分配给优先级为负的NN模型。

在上述S14的判定的结果是无需追加向相应的NN模型分配的芯片的情况下(S14中为“否”),即,即使相应的NN模型的实例增加,当前的分配芯片数也足够的情况下,相应的NN模型当然成为上述“真”的状态(S22)。

接下来,针对上述S3以及S13的需要芯片数估计处理的细节进行说明。该需要芯片数估计处理根据作为对象的NN模型是物体检测用NN模型还是物体识别用NN模型,而内容存在差异。其中,无论NN模型是哪种模型,GPU服务器25(处理器分配部19)都根据各NN模型的推理处理所需的推理时间和使用频度,来估计各NN模型的推理处理所需的推理用处理器的数量。另外,在以下的需要芯片数估计处理的说明中,为了简化描述,针对1个分析盒1搭载同种类的多个芯片的情况的例子进行说明。

首先,说明针对物体检测用NN模型的需要芯片数估计处理。在该情况下,GPU服务器25(处理器分配部19)根据基于该物体检测用NN模型的作为物体检测的对象的图像的输入源的相机的台数K、该物体检测用NN模型的模型性能T(该物体检测用NN模型的推理处理所需的推理时间(秒))、以及该物体检测用NN模型的目标性能F(该物体检测用NN模型在给定时间内(1秒钟)进行推理处理的目标帧数(FPS(frame per second)),通过以下的式子来估计该物体检测用NN模型的推理处理所需的芯片数(必要性能)。

·必要性能(芯片数)=K*F*T

例如,若设相机台数K=3(台),模型性能T=0.05(秒),目标性能F=6(FPS),则该物体检测用NN模型的必要性能(推理处理所需的芯片数)通过以下的式子来计算。

必要性能(芯片数)=3*6*0.05=0.9

因此,在上述例子的情况下,需要1个芯片。作为用于估计需要芯片数的基准值,需要上述目标性能F。另外,该目标性能F在与其他(NN模型所对应的)线程之间比较性能、资源的充裕程度时也需要。

接下来,说明针对物体识别用NN模型的需要芯片数估计处理。在该情况下,GPU服务器25(处理器分配部19)根据基于该物体识别用NN模型的作为物体识别的对象的图像的输入源的各相机中摄入的平均人数N1,N2,……(即,该物体识别用NN模型的使用频度)、该物体识别用NN模型的模型性能T(该物体识别用NN模型的推理处理所需的推理时间(秒))、以及该物体识别用NN模型的目标性能F(该物体识别用NN模型在给定时间内进行推理处理的目标帧数(FPS)),通过以下的式子来估计该物体识别用NN模型的推理处理所需的芯片数(必要性能)。

·必要性能(芯片数)=sum(N1,N2,……)*F*T

(其中,sum(N1,N2,……)表示N1,N2,……的总和(合计))

例如,若向该物体识别用NN模型的图像的输入源的相机为3台,各相机摄入的平均人数为5人、2人、3人,模型性能T=0.03秒,目标性能F=6FPS,则该物体识别用NN模型的必要性能(推理处理所需的芯片数)通过以下的式子进行计算。

必要性能(芯片数)=(5+2+3)*6*0.03=1.8

因此,在上述例子的情况下,需要2个芯片。与物体检测用NN模型的情况同样,作为用于估计需要芯片数的基准值,需要上述目标性能F。另外,该目标性能F在与其他(NN模型所对应的)线程之间比较性能、资源的充裕程度时也需要。

接下来,更详细地说明在上述S8、S9、S18以及S19的说明中已描述的从其他推理线程调用芯片的调用处理。在说明具体的芯片的调用处理的过程之前,讲述从其他推理线程调用芯片时的基本原则。在上述S4以及S15中,未剩余未分配的芯片,在从其他推理线程(相应的NN模型)调用芯片时,在一次中不变更多个芯片的分配,而应仅变更1个芯片的分配。这是由于,在一次中变更多个芯片的分配的情况下,分配给物体检测用NN模型(线程)的芯片数发生增减的可能性一定程度变高,而在分配给物体检测用NN模型(线程)的芯片数发生了增减的情况下,数据(主要是识别对象物的帧数据)向物体检测处理之后进行物体识别处理的物体识别用NN模型(线程)流入的流入量会大幅增减,因此需要再次估计(重估)针对各NN模型(的线程)的需要芯片数。

接下来,针对从其他推理线程调用芯片的处理的具体的过程进行说明。

1.首先,列举被分配了多个芯片的NN模型的线程。

2.若在上述1列举的线程当中存在后述的数据损失率为0的线程,则重新列举这些线程。与之相对,在上述1列举的线程当中不存在数据损失率为0的线程的情况下,将上述1列举的线程首先按优先级的升顺进行排序,在优先级相同的NN模型的线程存在多个的情况下,针对它们,进而按后述的识别率从大到小的顺序(识别率的降序)进行排序。

3.在上述2中存在数据损失率为0的线程的情况下,从已列举的数据损失率为0的线程当中的最上位(最初)的线程释放1个芯片。此外,准确地讲,在数据损失率为0的线程存在多个的情况下,优选从优先级最低(使用了NN模型)的线程释放1个芯片。另外,在上述2中,在没有数据损失率为0的线程而以识别率的降序进行了排序的情况下,从最上位(最初)的线程释放1个芯片。

4.将上述3所释放的芯片分配至需要芯片的(NN模型的)线程(未分配芯片的NN模型的线程或识别率最低的线程)。

接下来,说明上述数据损失率。该数据损失率是指,向与物体检测用NN模型以及物体识别用NN模型各自对应的各线程流入的数据当中的、未被检测或识别而丢弃的数据的比例。

另外,在将上述识别率R以上述目标性能Fa(FPS)和实际性能Fr(FPS)进行表征时,如下所示。

R=Fr/Fa

在上述式中,实际性能Fr表示相应的(NN模型的)线程在给定时间内(1秒钟)进行了推理处理的数据数(帧数)的实测值。该实际性能Fr仅在上述数据损失率>0时有意义。这是由于,在数据损失率=0的情况下,相应的线程在给定时间内(1秒钟)能推理的数据数(帧数)为上述实测值(即,实际性能Fr)以上。另外,上述式中的目标性能Fa与上述物体检测用NN模型以及物体识别用NN模型的目标性能F实质相同,表征与各NN模型对应的线程在给定时间内(1秒钟)进行推理处理的目标帧数(FPS)。

接下来,参照图8以及图9来说明上述图像分析系统10中的应用组(以下,称为“应用组”)。如图8所示,与图像分析系统10内的各分析盒1连接的相机2(相机2a~2d等)被分类为多个相机组(第一相机组、第二相机组等)。与这些相机组分别对应的应用51(参照图9:技术方案中的“图像分析程序”)利用彼此不同的NN模型(物体检测用NN模型以及物体识别用NN模型)的组合而构成。图8中的各应用组24a、24b分别由相同种类的应用51的实例(AI推理实例)构成。即,属于第一应用组24a的AI推理实例23a、23b(对来自属于第一相机组的入口的相机2a和出口的相机2b的图像进行处理的2个AI推理实例)是彼此相同种类的应用51的实例,属于第二应用组24b的各AI推理实例(对来自配置于店铺内的通路的各处的相机2c、2d等的图像进行处理的AI推理实例23c、23d等)是彼此相同种类的应用51的实例。

图9示出上述应用组的一例。图9中的出入口脸识别应用组50如图8中的第一应用组24a所示,是对来自位于各店铺的入口的相机2a和位于出口的相机2b的图像进行处理的AI推理实例23的组。图9中的应用51是相当于上述AI推理实例23a、23b的类(class)的应用程序,是包含人物和脸检测模型52、矢量化模型53、脸识别模型54以及脚本55在内的打包程序。人物和脸检测模型52是对从位于各店铺的入口的相机2a和位于出口的相机2b获取到的图像中所含的人和脸进行检测的物体检测用NN模型。矢量化模型53是对由人物和脸检测模型52检测出的人的图像进行矢量化处理的物体识别用NN模型。脸识别模型54是根据由人物和脸检测模型52检测出的脸来对检测出的人的性别、年龄进行估计的物体识别用NN模型。脚本55是对上述人物和脸检测模型52、矢量化模型53、脸识别模型54的处理过程等进行描述的控制用的简易的程序。

此外,在上述图7中说明的各NN模型到芯片的分配处理中使用的各NN模型自身的优先级的登记按如下方式进行。即,若管理者从管理服务器7进行上述应用51(参照图9)中所含的各NN模型52~54(自身)的优先级的输入,则管理服务器7登记所输入的各NN模型的每一个的优先级。在从图11中说明的管理服务器7向分析盒1下载各应用时,该各NN模型的每一个的优先级的信息从管理服务器7向分析盒1进行发送。

另一方面,相当于图8中的第二应用组24b的AI推理实例23c、23d等(对来自配置于店铺内的通路的各处的相机2c、2d等的图像进行处理的AI推理实例)的类(class)的应用51例如是包含对人进行检测的物体检测用NN模型、根据由该物体检测用NN模型检测出的人的图像来判别持有购物篮的人的物体识别用NN模型、根据由上述物体检测用NN模型检测出的人的图像来判别负责卖场的店员的物体识别用NN模型、以及脚本55在内的打包程序。

GPU服务器25(处理器分配部19)通过进行上述图7的说明中描述的针对列表L的各要素li的处理,从而向物体检测用NN模型以及物体识别用NN模型各自分配芯片14a、14b等,以使尽量不发生数据损失(未经识别而被丢弃的数据)而能进行物体检测以及物体识别。GPU服务器25(处理器分配部19)向各NN模型进行芯片14a、14b等的分配,以使能在将物体检测的帧速率保持恒定的同时(不使物体检测的帧速率下降),最大限度地进行优先级高的物体识别处理。在此,如图9所示,CPU11使用VMS服务器20(参照图4)中存放的帧图像,在后进行来不及实时处理的物体识别处理。另外,如上所述,将物体检测的帧速率保持恒定是为了保持采用了分析盒1的物体识别结果的AI分析服务器6所执行的处理(分析等)的精度。

在此,参照图10来说明上述图9中的矢量化模型53进行的矢量化处理。图3所示的CPU11的图像分析部18使用AI推理实例中所含的矢量化模型53(参照图9)来进行以下的矢量化处理。即,图像分析部18如图10所示,将人物和脸检测模型52针对由各相机2a、2b拍摄出的帧图像33a、33b所检测出的人的图像57a、57b输入至矢量化模型53(的DNN模型),从而矢量化模型53如图10所示,将上述帧图像33a、33b变换成矢量V1、V3进行输出。这些矢量V1、V3例如是128维的矢量。

若将从在由相机2a拍摄出的帧图像33a中检测出的人的图像57a求出的矢量V1、以及从在由相机2b拍摄出的帧图像33b中检测出的人的图像57b求出的矢量V3输入至Dist函数,则在上述图像57a中摄入的人58a与图像57b中摄入的人58b相同的情况下,Dist函数的输出值小于给定的值(例如,15)。与之相对,在图10所示的例子的情况下,Dist函数的输出值(32)为给定值(15)以上,因此图像57a中摄入的人58a与图像57b中摄入的人58b将称为不同的人。在此,上述Dist函数是求取所输入的矢量间的距离的函数。

因此,CPU11的图像分析部18针对在由各相机2a、2b拍摄出的帧图像中检测出的某人的图像当中的至少一个该人的图像(例如,图10中的人的图像57a、57b)进行上述矢量化处理,从而能判定相机2a摄入的人与相机2b摄入的人是否为相同的人。

图11是表示管理服务器7、店铺内的各分析盒1和各相机2的连接的图。在该图11中,仅示出了管理服务器7与某店铺S内的各分析盒1a、1b以及各相机2a~2f的连接。另外,为了使分析盒1a、1b内的各应用51a~51c与各相机2a~2f的对应关系易懂,将各应用51a~51c与各相机2a~2f之间以虚线和实线相连。在对管理服务器7、各分析盒1a、1b以及各相机2a~2f进行连接时,首先,需要在管理服务器7登记要连接的分析盒1a、1b,并在此基础上将店铺S内的各相机2a~2f登记至分析盒1a、1b的任一个。然后,在进行上述各相机2a~2f到各分析盒1a、1b的登记时,进行用于建立各相机2a~2f与各应用51(第一应用51a、第二应用52b以及第三应用52c)的对应关系(即,各相机与上述应用组(参照图8以及图9)的对应关系)的应用的选择处理、其他设定处理。

此时,若针对各相机2a~2f而选择出的应用51是已安装于分析盒1(分析盒1a或分析盒1b)的应用,则仅进行相应的相机2与选择出的应用51的关联建立。与之相对,若选择出的应用51是还未安装于相应的分析盒1的新的应用51,则分析盒1(的CPU11)从管理服务器7下载该应用51进行安装后,进行该应用51与相应的相机2的关联建立。

此外,在图11中,分析盒1a的第一应用51a与相机2a建立关联,分析盒1a的第二应用51b与相机2b建立关联。另外,分析盒1b的第一应用51a与相机2c、2d建立关联,分析盒1b的第三应用51c与相机2e、2f建立关联。

上述各应用51a~51c与图8中的各应用组对应。另外,与分析盒1a、1b连接的相机2a~2f被分类为与上述各应用51a~51c对应的3个相机组。具体而言,图11所示的相机2a~2f被分类为与第一应用51a建立了关联的相机2a、2c、2d、与第二应用51b建立了关联的相机2b、以及与第三应用51c建立了关联的相机2e、2f这3个相机组。

虽然在上述图11中,针对1个店铺S内的各相机2a~2f与各应用51a~51c的对应关系进行了说明,但与图像分析系统10内的全部分析盒1连接的相机被分类为与各应用51对应的相机组,与这些相机组分别对应的应用51利用彼此不同的物体检测用NN模型以及物体识别用NN模型的组合而构成。

此外,虽然在上述图8、图9以及图11等的说明中,示出了管理服务器7以应用51为单位来管理图像分析系统10内的相机2的情况的例子,但管理服务器7对相机2进行管理的单位不限于此。图12示出管理服务器7对与图像分析系统10内的各分析盒1连接的相机2进行管理的单位的例子。管理服务器7能以区域为单位(A区域组61a、B区域组61b),以店为单位(A店组62a~D店组62d),以应用为单位(出入口脸识别应用组63a(相当于图9中的出入口脸识别应用组50)、或以盗窃检测应用组63b)等为单位(组)来管理图像分析系统10内的相机2。图12中的各组相当于上述相机组。管理者在变更相机2的管理的单位时,从管理服务器7进行以组为单位的切换操作。

虽然管理服务器7既能将各相机2以组为单位进行管理,也能单独管理,但考虑到管理的效率性,优选以组为单位进行管理。管理服务器7以组为单位来管理与各分析盒1连接的相机2,从而管理服务器7例如能对管理组内的相机2的各分析盒1统一发送已更新的应用51,并能对组内的相机2一起指示启动、停止。

如上所述,根据本实施方式的分析盒1,根据各AI推理实例23中所含的NN模型(物体检测用NN模型以及物体识别用NN模型)的各自的推理时间和使用频度,来进行了多个芯片当中的用于上述(各AI推理实例23中所含的)物体检测用NN模型以及物体识别用NN模型的各自的推理处理的芯片14的分配。由此,即使在针对从多个相机2当中的某相机2输入的图像的物体识别的种类与针对从其他相机输入的图像的物体识别的种类不同的情况下,也能考虑与多种物体识别以及物体检测对应的各NN模型的处理时间(推理时间)和使用频度,按与这些物体识别和物体检测各自对应的NN模型的每一个,来为这些NN模型各自的推理处理分配适当的芯片14。因此,能使用有限数量的芯片14,来进行针对从多个相机2各自输入的图像的高效的物体识别。

另外,根据本实施方式的分析盒1,根据物体识别用NN模型各自的推理处理所需的推理时间以及物体识别用NN模型各自的使用频度,来估计了物体识别用NN模型各自的推理处理所需的芯片14的数量。由此,即使在针对从多个相机2当中的某相机2输入的图像的物体识别的种类与针对从其他相机输入的图像的物体识别的种类不同的情况下,也能考虑与多种物体识别对应的各NN模型的处理时间(推理时间)和使用频度,按与这些物体识别各自对应的NN模型的每一个,来为这些NN模型各自的推理处理分配适当的数量的芯片14。

另外,根据本实施方式的分析盒1,根据物体检测用NN模型中的推理处理所需的推理时间、以及基于物体检测用NN模型的作为物体检测的对象的图像的输入源的相机2的台数,来估计了物体检测用NN模型的推理处理所需的芯片14的数量。在此,物体检测用NN模型的使用频度根据基于该物体检测用NN模型的作为物体检测的对象的图像的输入源的相机2的台数而不同,因此如上所述,通过根据基于物体检测用NN模型的作为物体检测的对象的图像的输入源的相机2的台数以及物体检测用NN模型中的推理处理所需的推理时间来估计物体检测用NN模型的推理处理所需的芯片14的数量,能向该物体检测用NN模型分配适当的数量的芯片14。

另外,根据本实施方式的分析盒1,根据物体识别用NN模型各自的推理处理所需的推理时间、物体识别用NN模型各自的使用频度、以及物体识别用NN模型各自在给定时间内进行推理处理的目标帧数,来估计了物体识别用NN模型各自的推理处理所需的芯片14的数量。在此,例如,通过根据物体识别用NN模型各自所进行的物体识别处理的优先级来变更上述目标帧数,从而能在上述记载的效果的基础上,还考虑物体识别用NN模型各自所进行的物体识别处理的优先级,来为这些NN模型各自的推理处理分配适当的数量的芯片14。

另外,根据本实施方式的分析盒1,根据物体检测用NN模型中的推理处理所需的推理时间、基于物体检测用NN模型的作为物体检测的对象的图像的输入源的相机2的台数、以及物体检测用NN模型在给定时间内进行推理处理的目标帧数,估计了物体检测用NN模型的推理处理所需的芯片14的数量。在此,例如,通过根据物体检测用NN模型各自所进行的物体检测处理的优先级(与物体识别用NN模型各自所进行的物体识别处理、其他种类的物体检测用NN模型所进行的物体检测处理进行比较的优先级)来变更上述目标帧数,能在上述记载的效果的基础上,考虑该物体检测用NN模型所进行的物体检测处理的优先级,来为该物体检测用NN模型的物体检测处理分配适当的数量的芯片14。

另外,根据本实施方式的分析盒1,还具备对从相机2的每一个输入的图像进行蓄积的VMS服务器20(的存储装置22),针对在一个时间点处理器分配部19未能分配推理用的芯片14的物体检测用NN模型或物体识别用NN模型的推理处理,其后,在处理器分配部19变得能为对应的物体检测用NN模型或物体识别用NN模型的推理处理分配芯片14后,CPU11根据VMS服务器20中蓄积的过去的图像,来非实时地进行相应的物体检测用NN模型或物体识别用NN模型的推理处理。由此,即使在某时间点,处理器分配部19未能为某物体检测用NN模型或物体识别用NN模型的推理处理分配推理用的芯片14的情况下,CPU11也能根据VMS服务器20中蓄积的过去的图像,在后追加进行相应的物体检测用NN模型或物体识别用NN模型的推理处理。

另外,根据本实施方式的图像分析系统10,在上述效果的基础上,还能使用管理服务器7来进行包含将应用51安装至分析盒1的安装在内的分析盒1的管理。

变形例:

此外,本发明不限于上述各实施方式的构成,能在不变更发明的主旨的范围内进行各种变形。接下来,说明本发明的变形例。

变形例1:

在上述实施方式中,示出了处理器分配部19(GPU服务器25)估计各NN模型(物体检测用NN模型以及物体识别用NN模型的每一个)的推理处理所需的芯片14(推理用处理器)的数量并将估计出的数量的芯片14分配给各NN模型(的推理处理)的情况的例子。但是,在1个分析盒搭载有多个种类的芯片(推理用处理器)、且这些芯片由不同性能的芯片构成的情况下,处理器分配部还可以决定用于各NN模型的推理处理的芯片的种类和数量,并将决定出的种类和数量的芯片分配给各NN模型,也可以仅决定用于各NN模型的推理处理的芯片的种类,并将决定出的种类的芯片分配给各NN模型。

变形例2:

在上述实施方式中的物体检测用NN模型的需要芯片数估计处理中,处理器分配部19(GPU服务器25)根据基于物体检测用NN模型的作为物体检测的对象的图像的输入源的相机的台数K、物体检测用NN模型的模型性能T(该物体检测用NN模型的推理处理所需的推理时间)、以及该物体检测用NN模型的目标性能F(该物体检测用NN模型在给定时间内进行推理处理的目标帧数),估计了该物体检测用NN模型的推理处理所需的芯片数(必要性能)。但是,不限于此,例如,处理器分配部19可以仅根据上述图像的输入源的相机的台数K、以及物体检测用NN模型的模型性能T,来估计物体检测用NN模型的推理处理所需的芯片数。

另外,在上述实施方式中的物体识别用NN模型的需要芯片数估计处理中,处理器分配部19(GPU服务器25)根据基于物体识别用NN模型的作为物体识别的对象的图像的输入源的各相机摄入的平均人数N1,N2,……(即,该物体识别用NN模型的使用频度)、该物体识别用NN模型的模型性能T(该物体识别用NN模型的推理处理所需的推理时间(秒))、以及该物体识别用NN模型的目标性能F(该物体识别用NN模型在给定时间内进行推理处理的目标帧数),估计了该物体识别用NN模型的推理处理所需的芯片数。但是,不限于此,例如,处理器分配部19可以仅根据上述图像的输入源的各相机摄入的平均人数N1,N2,……、以及物体识别用NN模型的模型性能T,来估计物体识别用NN模型的推理处理所需的芯片数。

变形例3:

虽然在上述实施方式中示出了图像分析系统10在云端C上具备AI分析服务器6和管理服务器7的情况的例子,但图像分析系统的构成不限于此,例如也可以在云端上仅具备管理服务器。

(标号说明)

1 分析盒(图像分析装置)

2 网络相机(相机)

7 管理服务器

10 图像分析系统

14a~14h 芯片(推理用处理器)

18 图像分析部

19 处理器分配部

20 VMS服务器

22 存储装置(图像蓄积部)

23、23a、23b、23c AI推理实例(图像分析程序的实例)

32 解码器

51 应用(图像分析程序)

K 相机的台数

T 模型性能(各个学习完成物体识别用神经网络模型中的推理处理所需的推理时间、以及学习完成物体检测用神经网络模型中的推理处理所需的推理时间)

F 目标性能(学习完成物体识别用神经网络模型各自在给定时间内进行推理处理的目标帧数、以及学习完成物体检测用神经网络模型在给定时间内进行推理处理的目标帧数)。

26页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:光学字符识别方法、装置、电子设备及存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!