CN110738148A - 基于异构平台的云端目标检测算法 - Google Patents
基于异构平台的云端目标检测算法 Download PDFInfo
- Publication number
- CN110738148A CN110738148A CN201910934614.XA CN201910934614A CN110738148A CN 110738148 A CN110738148 A CN 110738148A CN 201910934614 A CN201910934614 A CN 201910934614A CN 110738148 A CN110738148 A CN 110738148A
- Authority
- CN
- China
- Prior art keywords
- detection
- image
- object detection
- heterogeneous platform
- detection algorithm
- 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
- G06V10/95—Hardware or software architectures specially adapted for image or video understanding structured as a network, e.g. client-server architectures
-
- 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/955—Hardware or software architectures specially adapted for image or video understanding using specific electronic processors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/07—Target detection
Abstract
本发明涉及一种基于异构平台的云端目标检测算法,包括以下步骤:a.通过直梯的轿厢相机按抓图条件获取轿厢内的图像数据;b.将图像数据按节点信息和抓图条件写入消息管理模块,并将图像数据存入云存储器;c.消费消息管理模块的消息将图像数据从云存储器中读取出并传给CPU服务器做批量预处理;d.至少一个GPU服务器对预处理后的图像进行推理得到检测框和检测类别并传递给数据平台;每个GPU服务器部署有目标检测模型,预处理后的图像的分辨率大于目标检测模型的检测网络所需的输入分辨率。本发明的CPU预处理后的数据可以复用,因此针对多个检测服务无需进行多次预处理,从而提高检测速度。
Description
技术领域
本发明涉及计算机视觉领域,尤其涉及一种基于异构平台的云端目标检测算法。
背景技术
互联网行业,随着信息化的普及,数据量暴增使得人们对存储空间有了新的要求,随着机器学习、人工只能、无人驾驶、工业仿真等领域的崛起,通用CPU在处理海量数据、图片遇到了瓶颈,如并行度不高、带宽不够、时延高等。越来越多的场景开始引入GPU、FPGA等应对多元化计算需求。
异构计算主要是不同类型的指令集和体系架构的计算单元组成的系统计算方式。例如在人工智能领域,AI意味着计算力的超高要求,目前以GPU为代表的异构计算已成为加速AI创新的新一代计算架构。GPU有更高的并行度和计算效率,通过“CPU+GPU”组合,相比传统的CPU并行计算有更高的效率和低延时计算性能,能更好的服务个性化计算需求。
现有技术中对于不同数据源的单一检测服务,采用多线程的方式对图像进行批量处理,可提高检测速度,但对于同样的数据源(即同一张图像)的多个检测服务,其处理流程仍需要对同一图像进行多次预处理,从而浪费大量的时间。
发明内容
本发明的目的在于将异构平台资源优化,使得CPU预处理后的数据可以复用,从而提高检测速度。
为实现上述目的,本发明提供一种基于异构平台的云端目标检测算法,包括以下步骤:
a.通过直梯的轿厢相机按抓图条件获取轿厢内的图像数据;
b.将所述图像数据按节点信息和所述抓图条件写入消息管理模块,并将所述图像数据存入云存储器;
c.消费所述消息管理模块的消息将所述图像数据从所述云存储器中读取出并传给CPU服务器做批量预处理;
d.至少一个GPU服务器对预处理后的图像进行推理得到检测框和检测类别并传递给数据平台;
每个所述GPU服务器部署有目标检测模型,所述预处理后的图像的分辨率大于所述目标检测模型的检测网络所需的输入分辨率。
根据本发明的一个方面,在所述步骤(c)中,所述预处理包括:多个线程同时做解码、尺度变换、减均值、类型转换、补边和编码。
根据本发明的一个方面,在所述步骤(c)中,所述检测服务包括:人数统计、人体检测和宠物检测。
根据本发明的一个方面,针对同一图像的多个检测服务,用单个所述CPU服务器做解码、尺度变换和编码成输入网络分辨率图像存储于所述消息管理模块。
根据本发明的一个方面,在所述步骤(d)中,针对不同的检测服务,所述CPU服务器通过带宽将数据传输给各个所述GPU服务器,然后各个所述GPU服务器通过消费所述消息管理模块的信息进行数据读取,最后完成图像检测。
根据本发明的一个方面,每个所述目标检测模型所用的检测网络针对各个检测服务的输入分辨率相同。
根据本发明的一个方面,所述解码过程采用NEON指令集优化,按图像的较长边进行等比例压缩;
所述类型转换步骤将图像转换为float类型数据;
所述编码过程将所述经过补灰边的float类型数据编码成图像。
根据本发明的一个方面,在所述步骤(a)中,所述抓图条件包括有无行人乘梯、开关门、轿厢每次起停、运行速度和楼层信息。
根据本发明的一个方面,在所述步骤(b)中,所述节点信息包括抓图时间节点和抓图地点。
根据本发明的一个方面,在所述步骤(d)中,所述目标检测模型的检测网络为经过通道裁剪和主干网络替换的yolov3网络。
根据本发明的一个方面,所述推理过程通过TensorRT加速。
根据本发明的一个方面,所述消息管理模块为kafka集群。
根据本发明的一个方案,利用CPU服务器和GPU服务器构成异构,由CPU服务器做批量的预处理,而GPU服务器直接做推理,从而解放GPU服务器的CPU资源,可以避免GPU空闲,从而提高检测速度。同时数据复用可以减少GPU服务器的资源消耗,整体上大幅提高了云端目标检测算法性能。
根据本发明的一个方案,GPU服务器的推理过程通过TensorRT加速,可进一步提高系统的检测速度。
根据本发明的一个方案,对于数据源相同的检测服务,CPU服务器预处理后的数据可以复用,并且统一多个检测服务的输入网络分辨率,无需对同一图像进行多次预处理,从而提高检测速度。
附图说明
图1是示意性表示根据本发明的一种实施方式的异构平台系统流程图;
图2是示意性表示根据本发明的一种实施方式的异构平台处理流程图;
图3是示意性表示根据本发明的一种实施方式的异构资源优化示意图。
具体实施方式
为了更清楚地说明本发明实施方式或现有技术中的技术方案,下面将对实施方式中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是本发明的一些实施方式,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
在针对本发明的实施方式进行描述时,术语“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”所表达的方位或位置关系是基于相关附图所示的方位或位置关系,其仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此上述术语不能理解为对本发明的限制。
下面结合附图和具体实施方式对本发明作详细地描述,实施方式不能在此一一赘述,但本发明的实施方式并不因此限定于以下实施方式。
图1是示意性表示根据本发明的一种实施方式的异构平台系统流程图。如图1所示,本发明的基于异构平台的云端目标检测算法包括以下步骤:
a.通过直梯的轿厢相机1按抓图条件从实时流中抓取轿厢内的图像数据2。其中抓图条件包括有无行人乘梯、开关门、轿厢每次起停、运行速度和楼层信息。
b.将图像数据2按节点信息和抓图条件写入消息管理模块3,并将图像数据2存入云存储器4。其中,节点信息包括抓图时间节点和抓图地点(即电梯ID),而消息管理模块3为kafka集群,kafka集群进行消息管理,消息对应到云存储器4中数据的位置。
c.根据条件信息消费消息管理模块3的消息将图像数据2从云存储器4中读取出并传给CPU服务器5做批量预处理,得到可用于多个检测服务的图像。由于前端相机采集的图像为720P,而检测网络的输入分辨率大小为416*416。如果GPU服务器5使用CPU核单线程解码一张720P图片并尺度变换到416*416,预处理部分大概需要120ms,而用GPU服务器6推理一张416*416的图像大概需要20ms,大部分资源计算在CPU服务器5,而GPU服务器6在空闲等待。因此将预处理部分移到一台多核的高性能CPU服务器5上,通过多线程的方式进行处理。修改单图循环处理为批图处理。图2是示意性表示根据本发明的一种实施方式的异构平台处理流程图。如图2所示,预处理步骤包括:同时输入一批图像,分给多个(8个)线程做并行解码,解码过程采用NEON指令集优化,然后按图像的较长边进行等比例压缩到416(尺度变换),然后进行减均值操作,类型转换将图像转换为float类型数据,补灰边成416*416,再将float类型数据编码成图像,通过带宽传输给GPU服务器6,由于预处理后图像较小,需要的带宽并不高。GPU服务器6接收到图片后进行解码操作,解码通过CPU核进行处理,因为图像较小,解码速度很快,解码完,数据传送到GPU核进行推理。
d.至少一个GPU服务器6对预处理后的图像进行推理得到检测框和检测类别并传递给数据平台7。GPU服务器6上部署有目标检测模型,目标检测模型使用了经过通道裁剪和主干网络替换的yolov3检测网络,从而降低了目标检测模型计算量。并且推理过程通过TensorRT加速,平均每张图推理时间2.3ms左右。整体上,通过异构处理方式,处理性能达到435fps(即每秒钟处理720P图像435张),对比优化前220fps,提升一倍左右。
检测服务包括:人数统计、人体检测和宠物检测等,因此需要多个GPU服务器6。每一个GPU服务器6的CPU核可将预处理后的图像分辨率处理到检测网络所需的输入分辨率,而这个GPU服务器6的CPU核处理能力相比高性能CPU服务器5弱,因此本发明使用CPU服务器5先把720P的原始图像降至540P(此分辨率数值为举例说明,还可降至其他大于输入分辨率的数值),然后各个GPU服务器6再用各自的CPU核把540P处理到输入分辨率,相比直接处理原图到输入分辨率能快很多。而只要保证CPU服务器5预处理后的图像的分辨率大于检测网络所需的输入分辨率即可使得CPU服务器5编码后的数据可以复用,因此对于一些检测服务,如果处理的数据源相同(即图像相同),则没有必要对图像进行多次预处理,况且这部分计算量较大,消耗资源多。统一每个GPU服务器6中的检测网络针对每个检测服务的输入网络分辨率,用单个CPU服务器5做解码、尺度变换和编码成输入网络分辨率图像(即图像分辨率为检测网络所需的输入分辨率)存储于消息管理模块3。若GPU服务器6中的检测网络的输入分辨率不统一,则CPU服务器5预处理后的图像分辨率应大于这些输入分辨率中最大的一个,否则该检测网络不能接收到该数据。针对不同的检测服务,CPU服务器5通过带宽将数据传输给各个GPU服务器6,然后各个GPU服务器6通过消费消息管理模块3的信息来获取各自的数据,最后检测图像后返回信息给数据平台7。
以上所述仅为本发明的一个实施方式而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (12)
1.一种基于异构平台的云端目标检测算法,其特征在于,包括以下步骤:
a.通过直梯的轿厢相机(1)按抓图条件获取轿厢内的图像数据(2);
b.将所述图像数据(2)按节点信息和所述抓图条件写入消息管理模块(3),并将所述图像数据(2)存入云存储器(4);
c.消费所述消息管理模块(3)的消息将所述图像数据(2)从所述云存储器(4)中读取出并传给CPU服务器(5)做批量预处理;
d.至少一个GPU服务器(6)对预处理后的图像进行推理得到检测框和检测类别并传递给数据平台(7);
每个所述GPU服务器(6)部署有目标检测模型,所述预处理后的图像的分辨率大于所述目标检测模型的检测网络所需的输入分辨率。
2.根据权利要求1所述的基于异构平台的云端目标检测算法,其特征在于,在所述步骤(c)中,所述预处理包括:多个线程同时做解码、尺度变换、减均值、类型转换、补边和编码。
3.根据权利要求2所述的基于异构平台的云端目标检测算法,其特征在于,在所述步骤(c)中,所述检测服务包括:人数统计、人体检测和宠物检测。
4.根据权利要求3所述的基于异构平台的云端目标检测算法,其特征在于,针对同一图像的多个检测服务,用单个所述CPU服务器(5)做解码、尺度变换和编码成输入网络分辨率图像存储于所述消息管理模块(3)。
5.根据权利要求4所述的基于异构平台的云端目标检测算法,其特征在于,在所述步骤(d)中,针对不同的检测服务,所述CPU服务器(5)通过带宽将数据传输给各个所述GPU服务器(6),然后各个所述GPU服务器(6)通过消费所述消息管理模块(3)的信息进行数据读取,最后完成图像检测。
6.根据权利要求5所述的基于异构平台的云端目标检测算法,其特征在于,每个所述目标检测模型所用的检测网络针对各个检测服务的输入分辨率相同。
7.根据权利要求6所述的基于异构平台的云端目标检测算法,其特征在于,所述解码过程采用NEON指令集优化,按图像的较长边进行等比例压缩;
所述类型转换步骤将图像转换为float类型数据;
所述编码过程将所述经过补灰边的float类型数据编码成图像。
8.根据权利要求7所述的基于异构平台的云端目标检测算法,其特征在于,在所述步骤(a)中,所述抓图条件包括有无行人乘梯、开关门、轿厢每次起停、运行速度和楼层信息。
9.根据权利要求8所述的基于异构平台的云端目标检测算法,其特征在于,在所述步骤(b)中,所述节点信息包括抓图时间节点和抓图地点。
10.根据权利要求9所述的基于异构平台的云端目标检测算法,其特征在于,在所述步骤(d)中,所述目标检测模型的检测网络为经过通道裁剪和主干网络替换的yolov3网络。
11.根据权利要求10所述的基于异构平台的云端目标检测算法,其特征在于,所述推理过程通过TensorRT加速。
12.根据权利要求11所述的基于异构平台的云端目标检测算法,其特征在于,所述消息管理模块(3)为kafka集群。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910934614.XA CN110738148A (zh) | 2019-09-29 | 2019-09-29 | 基于异构平台的云端目标检测算法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910934614.XA CN110738148A (zh) | 2019-09-29 | 2019-09-29 | 基于异构平台的云端目标检测算法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110738148A true CN110738148A (zh) | 2020-01-31 |
Family
ID=69269795
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910934614.XA Pending CN110738148A (zh) | 2019-09-29 | 2019-09-29 | 基于异构平台的云端目标检测算法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110738148A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111414994A (zh) * | 2020-03-03 | 2020-07-14 | 哈尔滨工业大学 | 一种基于FPGA的Yolov3网络计算加速系统及其加速方法 |
CN111488197A (zh) * | 2020-04-14 | 2020-08-04 | 浙江新再灵科技股份有限公司 | 基于云服务器的深度学习模型部署方法及部署系统 |
WO2021237608A1 (zh) * | 2020-05-28 | 2021-12-02 | 京东方科技集团股份有限公司 | 基于异构平台的目标检测方法、终端设备和存储介质 |
CN114553865A (zh) * | 2022-01-12 | 2022-05-27 | 中国电子科技集团公司第十研究所 | 异构混合云系统架构设计方法 |
WO2023024457A1 (zh) * | 2021-08-24 | 2023-03-02 | 上海商汤智能科技有限公司 | 神经网络的训练方法、装置、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108829515A (zh) * | 2018-05-29 | 2018-11-16 | 中国科学院计算技术研究所 | 一种云端平台计算系统及其应用方法 |
CN109686035A (zh) * | 2018-12-27 | 2019-04-26 | 福建小电科技有限公司 | 一种基于大数据的电动车充电站消防预警系统 |
CN109682378A (zh) * | 2018-12-20 | 2019-04-26 | 南京航空航天大学 | 一种完全基于视觉信息的无人机室内定位与多目标跟踪方法 |
CN109712127A (zh) * | 2018-12-21 | 2019-05-03 | 云南电网有限责任公司电力科学研究院 | 一种用于机巡视频流的输电线路故障检测方法 |
CN109858389A (zh) * | 2019-01-10 | 2019-06-07 | 浙江新再灵科技股份有限公司 | 基于深度学习的直梯人数统计方法及系统 |
-
2019
- 2019-09-29 CN CN201910934614.XA patent/CN110738148A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108829515A (zh) * | 2018-05-29 | 2018-11-16 | 中国科学院计算技术研究所 | 一种云端平台计算系统及其应用方法 |
CN109682378A (zh) * | 2018-12-20 | 2019-04-26 | 南京航空航天大学 | 一种完全基于视觉信息的无人机室内定位与多目标跟踪方法 |
CN109712127A (zh) * | 2018-12-21 | 2019-05-03 | 云南电网有限责任公司电力科学研究院 | 一种用于机巡视频流的输电线路故障检测方法 |
CN109686035A (zh) * | 2018-12-27 | 2019-04-26 | 福建小电科技有限公司 | 一种基于大数据的电动车充电站消防预警系统 |
CN109858389A (zh) * | 2019-01-10 | 2019-06-07 | 浙江新再灵科技股份有限公司 | 基于深度学习的直梯人数统计方法及系统 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111414994A (zh) * | 2020-03-03 | 2020-07-14 | 哈尔滨工业大学 | 一种基于FPGA的Yolov3网络计算加速系统及其加速方法 |
CN111488197A (zh) * | 2020-04-14 | 2020-08-04 | 浙江新再灵科技股份有限公司 | 基于云服务器的深度学习模型部署方法及部署系统 |
WO2021237608A1 (zh) * | 2020-05-28 | 2021-12-02 | 京东方科技集团股份有限公司 | 基于异构平台的目标检测方法、终端设备和存储介质 |
WO2023024457A1 (zh) * | 2021-08-24 | 2023-03-02 | 上海商汤智能科技有限公司 | 神经网络的训练方法、装置、电子设备及存储介质 |
CN114553865A (zh) * | 2022-01-12 | 2022-05-27 | 中国电子科技集团公司第十研究所 | 异构混合云系统架构设计方法 |
CN114553865B (zh) * | 2022-01-12 | 2023-05-12 | 中国电子科技集团公司第十研究所 | 异构混合云系统架构设计方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110738148A (zh) | 基于异构平台的云端目标检测算法 | |
CN105554591A (zh) | 视频分析方法和设备 | |
US11967150B2 (en) | Parallel video processing systems | |
CN113012023A (zh) | 基于众核处理器的视频分析加速方法及系统 | |
CN116980569A (zh) | 一种基于云计算的安全监控系统及方法 | |
CN114972763A (zh) | 激光雷达点云分割方法、装置、设备及存储介质 | |
CN114821408A (zh) | 基于旋转目标检测的包裹位置实时检测方法、装置、设备和介质 | |
CN114237787A (zh) | 一种云桌面图像传输方法和装置 | |
Lu et al. | Dynamic offloading on a hybrid edge–cloud architecture for multiobject tracking | |
CN114039279A (zh) | 轨道交通站内的控制柜监控方法及系统 | |
CN115588150A (zh) | 基于改进YOLOv5-L的宠物犬视频目标检测方法及系统 | |
CN109587484A (zh) | 基于双片dsp的多模式hevc视频编码器设计方法 | |
CN114066713A (zh) | 基于小波变换提升图像处理效率的系统及方法 | |
CN112925741B (zh) | 异构计算方法和系统 | |
EP4231644A1 (en) | Video frame compression method and apparatus, and video frame decompression method and apparatus | |
CN117372933B (zh) | 图像去冗方法、装置及电子设备 | |
CN112073731B (zh) | 图像解码方法、装置、计算机可读存储介质和电子设备 | |
CN111368732B (zh) | 用于检测车道线的方法和装置 | |
CN111104553B (zh) | 一种高效运动互补神经网络系统 | |
RU2773420C1 (ru) | Способ обработки изображений, способ и устройство обучения | |
WO2022213843A1 (zh) | 一种图像处理方法、训练方法及装置 | |
CN117636201A (zh) | 一种基于边缘计算的摄像头物体检测方法及系统 | |
CN117765149A (zh) | 一种基于视椎体行动预测的大规模场景实时交互渲染方法 | |
CN116778581A (zh) | 一种基于改进YOLOv7模型的考场异常行为检测方法 | |
CN115147697A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200131 |