一种进行物体类别识别的人工智能系统及方法与流程

文档序号:31711522发布日期:2022-10-04 19:21阅读:200来源:国知局
一种进行物体类别识别的人工智能系统及方法与流程

1.本技术实施例涉及但不限于人工智能领域,尤其涉及一种进行物体类别识别的人工智能系统及方法。


背景技术:

2.随着ai(artificial intelligence,人工智能)技术的发展与广泛应用,对不同场景下的ai计算提出了越来越大的挑战。ai计算的应用从一开始的云端逐渐扩展到边缘端嵌入式系统。
3.目前对物体识别与检测方法有以下三种:
4.第一种方法是使用复杂的图像处理算法,分析处理图像采样数据,识别以及检测图像中的物体类别;
5.第二种方法是基于ai服务器、ai处理器或gpu(graphics processing unit,图形处理器)等专用硬件,通过强大的硬件ai计算能力来推理图像中的物体类别;
6.第三种方法是基于高端的边缘端芯片,内嵌ai算法来识别以及检测图像中的物体类别。
7.其中,第一种和第二种方法不利于在边缘端移动设备中应用,第三种方法需要使用价格较昂贵的高端芯片,高成本也不利于在追求小而价廉的边缘端移动设备中应用。


技术实现要素:

8.本技术提供了一种进行物体类别识别的人工智能系统,可以实现低成本、高性能的物体识别,包括:
9.可编程逻辑器件,用于采集原始图像数据,对所述原始图像数据进行预处理;通过用于进行物体类别识别的人工智能ai模型,对预处理后获得的图像数据中的物体的类别进行识别,得出初步识别结果;
10.处理芯片,用于获取所述可编程逻辑器件得出的初步识别结果;对所述初步识别结果进行优化处理,得出并输出最终识别结果。
11.本技术实施例还提供一种进行物体类别识别的方法,应用于前述的进行物体类别识别的人工智能系统中,所述方法包括:
12.可编程逻辑器件采集原始图像数据,对所述原始图像数据进行预处理;通过用于进行物体类别识别的人工智能ai模型对所述图像数据中的物体的类别进行识别,得出初步识别结果;
13.处理芯片获取所述可编程逻辑器件得出的初步识别结果;对所述初步识别结果进行优化处理,得出并输出最终识别结果。
14.本技术实施例的人工智能系统通过处理芯片和可编程逻辑器件的相互配合,共同完成使用ai模型进行物体类别识别这一功能,可以充分利用处理芯片和可编程逻辑器件各自的优势,仅需较少逻辑资源和有限数据计算能力,就可以实现对于图像数据中物体类别
的识别,具有低功耗、低延时、低成本、高性能和易扩展等优点,适合在ai边缘端移动设备中使用。
15.在阅读并理解了附图和详细描述后,可以明白其他方面。
附图说明
16.附图用来提供对本技术技术方案的理解,并且构成说明书的一部分,与本技术实施例一起用于解释本技术的技术方案,并不构成对本技术技术方案的限制。
17.图1为本技术实施例的进行物体类别识别的人工智能系统的示意图;
18.图2为一种实施方式中采用片上系统实现ai系统的示意图;
19.图3为本技术实施例的进行物体类别识别的方法的流程示意图;
20.图4为示例中进行物体类别识别的流程示意图;
21.图5为示例中进行物体类别识别的ai系统的结构示意图;
22.图6为示例中图像采集模块的示意图;
23.图7为示例中ai多物体检测模型的示意图。
具体实施方式
24.本技术描述了多个实施例,但是该描述是示例性的,而不是限制性的,并且对于本领域的普通技术人员来说显而易见的是,在本技术所描述的实施例包含的范围内可以有更多的实施例和实现方案。尽管在附图中示出了许多可能的特征组合,并在具体实施方式中进行了讨论,但是所公开的特征的许多其它组合方式也是可能的。除非特意加以限制的情况以外,任何实施例的任何特征或元件可以与任何其它实施例中的任何其他特征或元件结合使用,或可以替代任何其它实施例中的任何其他特征或元件。
25.本技术包括并设想了与本领域普通技术人员已知的特征和元件的组合。本技术已经公开的实施例、特征和元件也可以与任何常规特征或元件组合,以形成由所附权利要求限定的独特的发明方案。任何实施例的任何特征或元件也可以与来自其它发明方案的特征或元件组合,以形成另一个由所附权利要求限定的独特的发明方案。因此,应当理解,在本技术中示出和/或讨论的任何特征可以单独地或以任何适当的组合来实现。因此,除了根据所附权利要求及其等同替换所做的限制以外,实施例不受其它限制。此外,可以在所附权利要求的保护范围内进行各种修改和改变。
26.此外,在描述具有代表性的实施例时,说明书可能已经将方法和/或过程呈现为特定的步骤序列。然而,在该方法或过程不依赖于本文所述步骤的特定顺序的程度上,该方法或过程不应限于所述的特定顺序的步骤。如本领域普通技术人员将理解的,其它的步骤顺序也是可能的。因此,说明书中阐述的步骤的特定顺序不应被解释为对所附权利要求的限制。此外,针对该方法和/或过程的权利要求不应限于按照所写顺序执行它们的步骤,本领域技术人员可以容易地理解,这些顺序可以变化,并且仍然保持在本技术实施例的精神和范围内。
27.实施例一
28.如图1所示,本实施例提供一种进行物体类别识别的人工智能系统,包括:
29.可编程逻辑器件11,用于采集原始图像数据,对所述原始图像数据进行预处理;通
过用于进行物体类别识别的人工智能ai模型,对预处理后获得的图像数据中的物体的类别进行识别,得出初步识别结果;
30.处理芯片12,用于获取所述可编程逻辑器件得出的初步识别结果;对所述初步识别结果进行优化处理,得出并输出最终识别结果。
31.本实施例的人工智能系统可以采用轻量级和低功耗的器件实现物体类别识别,解决了边缘端移动设备中使用ai方法识别图像中物体类别的高复杂、高功耗、高成本的问题,本实施例的人工智能系统通过使用中低端的轻量化系统装载用于进行物体类别识别的ai模型,降低了全系统功耗,降低了成本,提高了ai边缘端识别物体类别的性价比和效率。
32.本实施例中,物体可以是图像中的任何对象,例如可以包括但不限于动物、植物、人、交通工具、自然环境、建筑物等。例如,对于图像中某一动物,可以输出的最终识别结果为猫。物体类别还可以进一步细化,根据所使用的ai模型确定。本实施例中,物体可以是根据ai模型能识别的任何物体。
33.本实施例中,初步识别结果可以是识别出的图像数据中某一物体的至少一个类别,最终识别结果可以是从初步识别结果中该物体对应的所有类别中确定出精准度最高的类别。例如,对图像数据中物体a的初步识别结果为{猫,狗,鸡},然后对该初步识别结果进行优化处理后,得出最终识别结果为{狗}。
34.本实施例中,物体类别的最终识别结果可以是将图像数据中所有物体的类别一次性输出,例如,图像数据中包含3个物体,物体a、物体b和物体c,可以一次性输出物体a、b和c的最终识别结果(如最终识别结果如下:物体a的类别为鸡,物体b的类别为汽车,物体c的类别为男童)。也可以分多次输出最终识别结果,每次输出图像数据中至少一个物体的类别。例如可以分成两次输出,其中一次输出物体a的最终识别结果,另一次输出物体b和c的最终识别结果);或者分成三次输出,每次输出一个物体的最终识别结果。上述输出最终识别结果的方式为示例性说明,在其它实施例中,可以根据图像数据中的物体的数量、所采用的ai模型采用不同的输出方式,本技术对此不进行限制。此外,本技术对最终识别结果的表述形式也不进行限制。
35.本实施例中,用于进行物体类别识别的ai模型可以是预先训练好的。本实施例中的用于进行物体类别识别的ai模型可以是任一个可以从图像数据中识别、检测出物体类别特征的ai模型,可以预先通过机器学习的方法得到。物体类别的初步识别结果可以看成是将图像数据输入所述用于进行物体类别识别的ai模型时,该ai模型的输出结果。
36.本实施例中的用于进行物体类别识别的ai模型可以是任一个物体类别识别领域所采用的ai模型,本技术对此不作限制。
37.一些示例性的实施例中,所述的人工智能系统还包括:
38.共享存储器,用于保存所述可编程逻辑器件发送的预处理后获得的图像数据,以及保存所述可编程逻辑器件发送的初步识别结果;
39.所述可编程逻辑器件通过并行总线连接所述共享存储器;所述处理芯片12通过系统总线连接所述共享存储器;
40.可编程逻辑器件,还用于将预处理后获得的图像数据发送至所述共享存储器;将得出的初步识别结果发送至所述共享存储器;
41.所述处理芯片,还用于从所述共享存储器读取图像数据并发送给所述可编程逻辑
器件,以及读取所述初步识别结果。
42.其它实施例中,可以采用其它形式的存储器,还可以将共享存储器包含在可编程逻辑器件中或者处理芯片中。
43.一些示例性的实施例中,所述可编程逻辑器件可以但不限于为fpga(field programmable gate array,现场可编程门阵列),所述处理芯片可以但不限于为mcu(micro control unit,微控制单元)。
44.本实施例中,所述进行物体类别识别的ai系统可以是一个片上系统。
45.本实施例中,前文所描述的可编程逻辑器件、处理芯片进行的操作可以但不限于分别在fpga内核、mcu内核完成。
46.本实施例可以通过一个fpga与mcu片上系统实现ai系统;mcu与fpga片上系统是指将fpga、mcu、存储器、外部设备等与fpga内核连接起来,构成一个mcu控制器加fpga内核的片上系统。基于fpga可编程的特点,该架构具有良好的扩展性。
47.本实施例的一种实施方式中,ai系统以如图2所示的轻量级mcu和低功耗fpga的soc(system on chip,片上系统)为载体,fpga和mcu之间通过共享存储器进行数据交互,实现物体类别识别。
48.一些示例性的实施例中,所述可编程逻辑器件包括:
49.图像采集模块,用于通过摄像头或者高清多媒体接口hdmi设备获取原始图像数据,对所述原始图像数据进行预处理,并将所述预处理后获得的图像数据发送至所述共享存储器;
50.推理模块,接收所述处理芯片发送的图像数据,通过用于进行物体类别识别的人工智能ai模型,对所述图像数据中的物体的类别进行识别,得出初步识别结果。
51.一些示例性的实施例中,所述图像采集模块包括:
52.开关控制器,用于选择摄像头输入的原始图像数据或高清多媒体接口hdmi设备输入的原始图像数据;
53.图像预处理子摸块,用于对接收到原始图像数据进行预处理,将预处理后的图像数据通过并行总线发送至所述共享存储器,其中,所述预处理包括以下处理中的一种或者多种:图像裁剪处理、灰度处理、特征值提取处理。
54.一些示例性的实施例中,所述图像预处理子摸块包括以下单元中的一种或者多种:
55.灰度处理单元,用于对所述原始图像数据进行灰度二值化处理,转为灰度图像;
56.裁剪处理单元,用于将所述原始图像数据裁剪成预定大小的图像;
57.特征值提取处理单元,用于提取所述原始图像数据中预定特征的取值。
58.一些示例性的实施例中,所述处理芯片包括:
59.读取模块,用于从所述共享存储器读取图像数据,将读取到的图像数据发送给可编程逻辑器件的推理模块;
60.优化模块,用于从所述共享存储器读取初步识别结果,并对所述初步识别结果进行优化处理,得出最终识别结果;
61.输出模块,输出所述最终识别结果。
62.一些示例性的实施例中,所述初步识别结果包括所述图像数据中至少一个物体对
应的初步识别子结果,所述初步识别子结果包括至少一个类别;
63.所述优化模块对所述初步识别结果进行优化处理,得出最终识别结果包括:所述优化模块通过softmax运算,得出所述初步识别结果中每个初步识别子结果包括的所有类别的分值,根据每个初步识别子结果包括的所有类别的分值得出最终识别结果。
64.本实施例中,类别的分值可以是概率值,选择概率值最高的类别作为物体的类别。假设,图像数据中包含3个物体,物体a、物体b和物体c,针对该图像数据的初步识别结果可以包括物体a、物体b和物体c中至少一个物体的类别。
65.例如,初步识别结果包括物体a的初步识别子结果和物体b的初步识别子结果,最终识别结果包括物体a的最终识别子结果和物体b的最终识别子结果。物体a的初步识别子结果为{猫,狗,兔},该初步识别子结果中,物体a对应三个类别,然后对这个初步识别子结果进行优化处理,得出物体a的最终识别子结果。本实施例中,可以通过softmax运算分别得出猫、狗、兔对应的概率值,假设为{0.071,0.815,0.114},则类别狗对应的分值最高,可以得出物体a的最终初步识别子结果为{狗}。以类似方法得出物体b的最终识别子结果,然后将物体a和物体b对应的最终识别子结果结合起来作为最终识别结果。
66.一些示例性的实施例中,所述用于进行物体类别识别的人工智能ai模型为在云端通过样本数据训练得到的物体类别识别模型;其中,所述样本数据为标注有物体类别特征的图像数据。
67.其它实施例中,所述ai模型不限于来自于云端,比如可以是其它设备训练好或下载好后输入给ai系统,或保存在指定位置供ai系统自行读取。
68.如图3所示,本实施例还提供一种进行物体类别识别的方法,应用于前述任一项所述的进行物体类别识别的人工智能系统中,所述方法包括:
69.步骤s101、可编程逻辑器件采集原始图像数据,对所述原始图像数据进行预处理;
70.步骤s102、可编程逻辑器件通过用于进行物体类别识别的人工智能ai模型对所述图像数据中的物体的类别进行识别,得出初步识别结果;
71.步骤s103、处理芯片获取所述可编程逻辑器件得出的初步识别结果;对所述初步识别结果进行优化处理,得出并输出最终识别结果。
72.上述步骤中,步骤s101、步骤s102以及步骤s103可以并行执行,比如处理芯片在对初步识别结果进行优化处理时,可编程逻辑器件可以并行采集原始图像数据、对原始图像数据进行预处理,还可以并行对获取到的图像数据进行识别,得出初步识别结果。
73.下面通过具体示例进一步说明本技术的进行物体类别识别的人工智能系统。
74.本示例是一种边缘端嵌入式系统中的物体识别ai系统,该ai系统基于轻量化mcu(如cortex-m系列处理器)与中低端fpga(极小逻辑资源的小器件)soc实现。例如,可以采用高云小蜜蜂gw1nsr-4c芯片,该芯片为4k fpga逻辑资源,cortex-m3 mcu内核,内嵌psram的低功耗小器件。
75.该ai系统可以识别与检测出图像中的动物、人物、车辆等多种类别的物体。该ai系统包括前端的图像采集模块,以及后端的ai多物体检测模型推理模块(相当于前述的推理模块)、数据读取模块(相当于前述的读取模块)、ai多物体检测模型推理优化模块(相当于前述的优化模块)和结果输出模块(相当于前述的输出模块)。
76.本示例中,所述ai系统进行物体类别识别的流程如图4所示,在云端根据物体类别
数据源进行物体类别识别ai模型的训练,得到用于进行物体类别识别的ai多物体检测模型(相当于前述用于进行物体类别识别的人工智能ai模型)。ai系统中的图像采集模块从摄像头或hdmi接口设备获取所采集的原始图像数据,然后对原始图像数据进行预处理。数据读取模块将从共享存储器读取到的预处理后的图像数据发送给ai多物体检测模型推理模块,ai多物体检测模型推理模块根据接收到的图像数据和ai多物体检测模型,得到物体类别的初步识别结果。ai多物体检测模型推理优化模块对初步识别结果进行优化处理后,得出最终识别结果。结果输出模块输出最终识别结果。
77.ai系统中各模块的工作过程如图4中的实线箭头所示,各模块输入、输出的数据的流通路径如图4中的虚线箭头所示,图像采集模块将预处理后获得的图像数据保存到共享存储器中,供数据读取模块读取使用;ai多物体检测模型推理模块得到的初步识别结果保存到共享存储器,供ai多物体检测模型推理优化模块读取使用。
78.本示例中,所述ai系统的结构如图5所示,soc中包含fpga内核、mcu内核以及共享存储器,通过图像采集模块外接摄像头、hdmi接口设备。mcu内核通过系统总线连接共享存储器,fpga内核通过并行总线连接共享存储器。
79.下面分别介绍本示例中的五个模块:
80.1、图像采集模块
81.如图6所示,该系统可以前置有摄像头或hdmi接口输入,因此图像采集模块包括摄像头和hdmi接口两路图像输入,一路摄像头输入适用于现场图像采集,一路hdmi接口输入适用于远程图像采集。本示例中,可以根据不同应用场景,通过开关控制器来切换图像输入方式。
82.图像采集模块可以位于fpga内核,使用fpga逻辑资源实现,摄像头或hdmi接口采集输入的原始图像数据通过fpga端口输入图像采集模块,图像采集模块可以包括图像预处理子模块,图像预处理子模块对采集到的原始图像数据进行图像裁剪、灰度化和特征值提取等图像处理,得出ai多物体检测模型推理模块所需的图像数据。
83.图像采集模块输出的图像数据,通过并行总线存储到片内共享存储器。同时,该共享存储器通过总线系统与mcu内核连接,mcu内核可以实时从该共享存储器读取预处理后的图像数据,mcu通过系统总线,将预处理后的图像数据传输到位于fpga内核的ai多物体检测模型推理模块,执行ai多物体检测模型推理。
84.上述共享存储器,为mcu内核与fpga内核共享,mcu内核和fpga内核可以直接访问,实时读写数据。
85.2、ai多物体检测模型推理模块
86.图像采集模块预处理后的图像数据,作为ai多物体检测模型推理模块的输入。ai多物体检测模型推理模块位于fpga内核,使用fpga逻辑资源实现conv2d、depthwiseconv2d、averagepooling2d和fully connected等运算,通过fpga强大的硬件并行处理能力,加速ai多物体检测模型的推理与预测。
87.ai多物体检测模型推理模块中,可以基于预先训练好的ai多物体检测模型,来推理图像数据,预测出图像数据中多种物体的类别,从而实现多种物体综合识别与检测。
88.ai多物体检测模型推理模块完成推理预测后,得出初始识别结果,并将初始识别结果存储到共享存储器中,以使位于mcu内核的ai多物体检测模型推理优化模块可以通过
系统总线从共享存储器中读取该初始识别结果,从而将初始识别结果作为ai多物体检测模型推理优化模块的输入。
89.本示例中,如图7所示,ai多物体检测模型可以包括普通卷积运算(conv2d)、深度卷积运算(depthwiseconv2d)、全连接运算(fullyconnected)、平均池化层运算(averagepooling2d)和柔性最大值传输运算(softmax)共31层运算模式,以及一个输入图像数据层和一个输出结果数据层。
90.在云端,通过机器学习,ai多物体检测模型学习大量包括动物、人物、汽车等数据源,训练出可以准确用于物体类别识别的ai多物体检测模型。
91.3、数据读取模块
92.数据读取模块可以位于mcu内核,用于从共享存储器中读取图像数据,该图像数据为图像采集模块进行预处理后的获得的图像数据。数据读取模块读取到图像数据后,将图像数据发送给ai多物体检测模型推理模块,以使ai多物体检测模型推理模块对该图像数据进行推理和预测。
93.4、ai多物体检测模型推理优化模块
94.ai多物体检测模型推理优化模块,用来提高ai多物体检测推理结果的准确性。该模块位于mcu内核,mcu内核通过系统总线,从共享存储器中读取ai多物体检测模型推理模块的初步识别结果,加载到mcu内核的数据存储器中。ai多物体检测模型推理模块的初步识别结果作为ai多物体检测模型推理优化模块的输入,通过执行softmax运算,分化推理结果中不同物体的分值,塑造该物体分值的极性,得出最终识别结果,从而可以提高ai多物体检测模型推理结果的极性。
95.5、结果输出模块
96.结果输出模块可以位于mcu内核,用于输出ai多物体检测模型推理优化模块得出的最终识别结果。
97.本示例的ai系统面向微控制器单元的机器学习,只有几毫瓦的功率,可以应用于纽扣电池驱动的设备、野外监测设备或地下矿井等恶劣条件下的设备。例如,可以在用于野生动物监测的设备上运行ai多物体检测模型,用以监测某种野生动物的数量等。
98.上述ai系统以极小的逻辑资源和低成本的mcu+fpga soc芯片为载体,实现多种物体类别的识别与检测。该系统具有低功耗、低延时、低成本、高性能的特点,适用于在边缘端移动设备应用领域,扩展了ai应用范围,降低了ai模型推理以及多物体识别与检测的复杂性。
99.本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非
易失性、可移除和不可移除介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术、cd-rom、数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1