一种自适应层级的图像切分识别方法、装置及系统转让专利

申请号 : CN202010817355.5

文献号 : CN111738236B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 毛旷王跃锋任祖杰杨弢银燕龙曾令仿何水兵陈刚

申请人 : 之江实验室

摘要 :

本发明公开了一种自适应层级的图像切分识别方法、装置及系统,该方法包括:获取高清视频中某一帧的原始图像;对所述原始图像,进行图像切分,得到若干有像素重叠的图像切片;对子图像切片进行迭代切分并识别;最终对所有识别结果进行选择得到最终图像的识别结果。本发明解决了现有对高清图像物体识别存在的速度慢、小物体检出率低的问题,做到了高清图像中物体识别速度快、检出率高的效果。

权利要求 :

1.一种自适应层级的图像切分识别方法,其特征在于,包括:

获取图像步骤,用于获取高清视频中某一帧的原始图像;

切分步骤,用于对所述原始图像,进行M行N列的图像切分,得到M*N个相邻边有L像素重叠的图像切片,计算每个图像切片的左上角在原始图像的位置坐标;

预处理步骤,用于对所述M*N个图像切片进行预处理;

迭代切分步骤,用于对预处理后的每个图像切片进行物体识别,若识别到物体,根据每个图像切片的左上角在原始图像的位置坐标,计算识别物体在原始图像中的位置,然后对预处理前的该图像切片,进行M行N列的图像切分,得到M*N个相邻边有L1像素重叠的图像切片,对每个子图像切片进行预处理后,进行物体识别,计算识别物体在原始图像中的位置,不再对子图像切片继续切分;若未识别到物体,则对该图像切片切分成若干子图像切片,若被切分的子图像切片长宽都大于设定阈值时,计算每个子图像切片的左上角在原始图像的位置坐标,对每个子图像切片进行预处理,重复多次所述迭代切分步骤,否则该子图像切片切分识别结束;

识别结果合并步骤,用于对各图像切片中识别物体在原始图像中的位置进行两两比较,判断是否有相交,若有相交且相交区域大于等于设定阈值,保留其中一个识别物体,丢弃另一个识别物体,若有相交且相交区域小于设定阈值或者无相交,则同时保留两个识别物体,最后得到最终的识别结果。

2.根据权利要求1所述的一种自适应层级的图像切分识别方法,其特征在于,对L和L1的获取均采用如下步骤:标准化步骤,用于将未经过预处理的图像切片压缩为标准尺寸S*S;

重叠像素值获取步骤,用于对压缩后的图像进行物体识别,若识别到物体,则计算被识别物体中面积最小物体的长、宽中的最大值的像素值,该像素值作为该图像被切分时,不同图像切片相邻边的重叠像素值;若未识别到物体,则给定一个预设值作为重叠像素值。

3.根据权利要求1所述的一种自适应层级的图像切分识别方法,其特征在于,计算每个图像切片的左上角在原始图像的位置坐标,包括:若该图像切片是原始图像第1次切分得到的图像切片C_1,则记录该图像切片在原图中的左上角坐标为(X_1,Y_1);

若该图像切片是从图像切片C_1基础上进行再次切分得到的图像切片C_2,同时该图像切片在C_1中的左上角坐标为(X_2,Y_2),则计算图像切片C_2在原图中的左上角坐标为(X_

1+X_2,Y_1+Y_2);

若该图像切片是从图像切片C_n-1基础上进行再次切分得到的图像切片C_n,图像切片C_n-1在原图中的左上角坐标为(X_n-1,Y_n-1),同时图像切片C_n在C_n-1中的左上角坐标为(X_n,Y_n),则计算图像切片C_n在原图中的左上角坐标为(X_n-1+X_n,Y_n-1+Y_n)。

4.根据权利要求3所述的一种自适应层级的图像切分识别方法,其特征在于,识别物体在原始图像中的位置的计算,包括:被识别物体在其图像切片中围成的矩形的左上角和右下角坐标分别为(A_1,B_1)和(A_2,B_2);

若计算被识别物体所在图像切片左上角在原图的坐标为(X_i,Y_i);

则该被识别物体在原始图像中的所围成的矩形的坐标为(X_i+ A_1, Y_i+ B_1),(X_i+ A_2,Y_i+ B_2)。

5.一种自适应层级的图像切分识别装置,其特征在于,包括:

获取图像模块,用于获取高清视频中某一帧的原始图像;

切分模块,用于对所述原始图像,进行M行N列的图像切分,得到M*N个相邻边有L像素重叠的图像切片,计算每个图像切片的左上角在原始图像的位置坐标;

预处理模块,用于对所述M*N个图像切片进行预处理;

迭代切分模块,用于对预处理后的每个图像切片进行物体识别,若识别到物体,根据每个图像切片的左上角在原始图像的位置坐标,计算识别物体在原始图像中的位置,然后对预处理前的该图像切片,进行M行N列的图像切分,得到M*N个相邻边有L1像素重叠的图像切片,对每个子图像切片进行预处理后,进行物体识别,计算识别物体在原始图像中的位置,不再对子图像切片继续切分;若未识别到物体,则对该图像切片切分成若干子图像切片,若被切分的子图像切片长宽都大于设定阈值时,计算每个子图像切片的左上角在原始图像的位置坐标,对每个子图像切片进行预处理,重复多次所述迭代切分模块执行的步骤,否则该子图像切片切分识别结束;

识别结果合并模块,用于对各图像切片中识别物体在原始图像中的位置进行两两比较,判断是否有相交,若有相交且相交区域大于等于设定阈值,保留其中一个识别物体,丢弃另一个识别物体,若有相交且相交区域小于设定阈值或者无相交,则同时保留两个识别物体,最后得到最终的识别结果。

6.根据权利要求5所述的一种自适应层级的图像切分识别装置,其特征在于,对L和L1的获取均采用如下步骤:标准化步骤,用于将未经过预处理的图像切片压缩为标准尺寸S*S;

重叠像素值获取步骤,用于对压缩后的图像进行物体识别,若识别到物体,则计算被识别物体中面积最小物体的长、宽中的最大值的像素值,该像素值作为该图像被切分时,不同图像切片相邻边的重叠像素值;若未识别到物体,则给定一个预设值作为重叠像素值。

7.根据权利要求5所述的一种自适应层级的图像切分识别装置,其特征在于,计算每个图像切片的左上角在原始图像的位置坐标,包括:若该图像切片是原始图像第1次切分得到的图像切片C_1,则记录该图像切片在原图中的左上角坐标为(X_1,Y_1);

若该图像切片是从图像切片C_1基础上进行再次切分得到的图像切片C_2,同时该图像切片在C_1中的左上角坐标为(X_2,Y_2),则计算图像切片C_2在原图中的左上角坐标为(X_

1+X_2,Y_1+Y_2);

若该图像切片是从图像切片C_n-1基础上进行再次切分得到的图像切片C_n,图像切片C_n-1在原图中的左上角坐标为(X_n-1,Y_n-1),同时图像切片C_n在C_n-1中的左上角坐标为(X_n,Y_n),则计算图像切片C_n在原图中的左上角坐标为(X_n-1+X_n,Y_n-1+Y_n)。

8.根据权利要求7所述的一种自适应层级的图像切分识别装置,其特征在于,识别物体在原始图像中的位置的计算,包括:被识别物体在其图像切片中围成的矩形的左上角和右下角坐标分别为(A_1,B_1)和(A_2,B_2);

若计算被识别物体所在图像切片左上角在原图的坐标为(X_i,Y_i);

则该被识别物体在原始图像中的所围成的矩形的坐标为(X_i+ A_1, Y_i+ B_1),(X_i+ A_2,Y_i+ B_2)。

9.一种自适应层级的图像切分识别系统,其特征在于,包括:

一个或者多个摄像头,用于对场景进行高清视频的录制;

一台或多台管理服务器,用于执行获取图像步骤、切分步骤、迭代切分步骤以及识别结果合并步骤,其中,获取图像步骤,获取高清视频中某一帧的原始图像;

切分步骤,对所述原始图像,进行M行N列的图像切分,得到M*N个相邻边有L像素重叠的图像切片,计算每个图像切片的左上角在原始图像的位置坐标;

迭代切分步骤,将M*N个图像切片发送至一组识别服务器组进行预处理和识别,并将识别结果返回管理服务器,若识别到物体,根据每个图像切片的左上角在原始图像的位置坐标,计算识别物体在原始图像中的位置,然后对预处理前的该图像切片,进行M行N列的图像切分,得到M*N个相邻边有L1像素重叠的图像切片,将M*N个图像切片发送至一组识别服务器组进行预处理和识别,并将识别结果返回管理服务器,计算识别物体在原始图像中的位置,不再对子图像切片继续切分;若未识别到物体,则对该图像切片切分成若干子图像切片,若被切分的子图像切片长宽都大于设定阈值时,计算每个子图像切片的左上角在原始图像的位置坐标,对每个子图像切片进行预处理,重复多次所述迭代切分步骤,否则该子图像切片切分识别结束;

识别结果合并步骤,管理服务器对各识别服务器组返回的图像切片中识别物体在原始图像中的位置进行两两比较,判断是否有相交,若有相交且相交区域大于等于设定阈值,保留其中一个识别物体,丢弃另一个识别物体,若有相交且相交区域小于设定阈值或者无相交,则同时保留两个识别物体,最后得到最终的识别结果;

多组配置GPU的识别服务器组,每个识别服务器组包括多台识别服务器,每台识别服务器每次接收图像切片,并进行预处理,预处理后的图像切片进行物体识别,并各自返回识别结果至管理服务器。

说明书 :

一种自适应层级的图像切分识别方法、装置及系统

技术领域

[0001] 本发明涉及高清图像识别技术领域,尤其涉及一种自适应层级的图像切分识别方法、装置及系统。

背景技术

[0002] 在人口密集场所进行行人识别需要利用高清摄像头与物体识别技术,而传统的物体识别要求控制图像像素在一个比较小的尺寸以提升识别效率,适应识别设备的缓存要求。但是压缩图像至固定尺寸会导致丢失大量中小物体信息,尤其是对火车站、广场人口密集区域。利用4K与8K分辨率等高清视频采集设备进行监控,需要解决对视频流中高分辨率图像进行实时准确的物体识别。
[0003] 高分辨率视频流中的往往包含了大量物体信息,如一个安装在火车站内的摄像头,其覆盖的面积会非常大,其拍摄的图像中包含了大量从进到远的各类物体,对于远端的物体,在视频流的图像中占有的像素比较非常低。针对高分辨率图像的这个特点,对其中的物体进行全面、快速的识别主要存在三大挑战。
[0004] 首先是识别精度的问题,目前现有的物体识别算法如ssd接受的图片的分辨率比较低,如300*300,该类算法会对输入图片的分辨率进行压缩,以满足其接受的尺寸,但是高分辨率图像在经过resize等图像操作后,大量小物体由于像素占比低,在压缩过程中信息丢失明显,无法在识别过程中被检出。
[0005] 其次是识别速度问题,对于一些支持高分辨率图像识别的算法如faster rcnn等,高分辨率图像的识别过程中会产生大量的物体识别框用于判断物体的类别,然后传统算法无法高效利用发挥现代GPU的并行处理能力,在实际应用中,其识别速度无法令人接受;同时不同算法若想利用GPU并行化加速训练需要单独优化现有的算法,开发难度大。
[0006] 第三是GPU显存溢出的问题,高分辨率图像在物体识别过程中,产生的feature map占用显存的空间非常大,对于普通的GPU显存来说,处理高分辨率图片经常会出现显存溢出的问题,无法很好的应用。
[0007] 由于识别速度,识别精度以及识别所需要的显存占用问题,导致视频流中高分辨率图像的物体识别在漏检率,识别速度,显存管理等方面存在很大的限制,对于实际应用带来很大的挑战。现有技术主要通过以下方式解决:
[0008] 一种简单的处理技术通过固定网格对每帧的图像进行切分,把高清图像切分为更小的图像,对更小的图像进行单独识别。但是由于不同图像中物体尺寸各不相同,固定的切分方法无法适应不同图像中物体大小不一的情况,会造成部分较大物体的丢失;同时若图像切分过小,也会增加GPU的计算量。
[0009] 另一种处理技术首先通过对原始图像进行识别,然后对图像进行固定的网格切分,对与原始图像中识别到的物体且与物体出现在某些网格中,认为这些网格可能存在物体,从原图提取这些网格进行单独识别,丢弃其他网格。这个方法的问题在于,原图中位于视线远处的较小物体容易在原图识别中被丢失,这导致小物体将无法在图片切分中被检测出。

发明内容

[0010] 本发明实施例的目的是提供一种自适应层级的图像切分识别方法、装置及系统,以解决现有对高清图像中物体识别存在的速度慢,检出率低的问题,该方法与可以与现有任何的图像识别技术结合,利用多GPU并行能力进行识别加速。
[0011] 为了达到上述目的,本发明实施例所采用的技术方案如下:
[0012] 第一方面,本发明实施例提供一种自适应层级的图像切分识别方法,包括:
[0013] 获取图像步骤,用于获取高清视频中某一帧的原始图像;
[0014] 切分步骤,用于对所述原始图像,进行M行N列的图像切分,得到M*N个相邻边有L像素重叠的图像切片,计算每个图像切片的左上角在原始图像的位置坐标;
[0015] 预处理步骤,用于对所述M*N个图像切片进行预处理;
[0016] 迭代切分步骤,用于对预处理后的每个图像切片进行物体识别,若识别到物体,根据每个图像切片的左上角在原始图像的位置坐标,计算识别物体在原始图像中的位置,然后对预处理前的该图像切片,进行M行N列的图像切分,得到M*N个相邻边有L1像素重叠的图像切片,对每个子图像切片进行预处理里后,进行物体识别,计算识别物体在原始图像中的位置,不再对子图像切片继续切分;若未识别到物体,则对该图像切片切分成若干子图像切片,若被切分的子图像切片长宽都大于设定阈值时,计算每个图像切片的左上角在原始图像的位置坐标,对每个图像切片进行预处理,重复多次迭代切分步骤,否则该图像切片切分识别结束;
[0017] 识别结果合并步骤,用于对各图像切片中识别物体在原始图像中的位置进行两两比较,判断是否有相交,若有相交且相交区域大于等于设定阈值,保留其中一个识别物体,丢弃另一个识别物体,若有相交且相交区域小于设定阈值或者无相交,则同时保留两个识别物体,最后得到最终的识别结果。
[0018] 进一步地,对L和L1的获取均采用如下步骤:
[0019] 标准化步骤,用于将未经过预处理的图像切片压缩为标准尺寸S*S;
[0020] 重叠像素值获取步骤,用于对压缩后的图像进行物体识别,若识别到物体,则计算被识别物体中面积最小物体的长、宽中的最大值的像素值,该像素值作为该图像被切分时,不同图像切片相邻边的重叠像素值;若未识别到物体,则给定一个预设值作为重叠像素值。
[0021] 进一步地,计算每个图像切片的左上角在原始图像的位置坐标,包括:
[0022] 若该图像切片是原始图像第1次切分得到的图像切片C_1,则记录该图像切片在原图中的左上角坐标为(X_1,Y_1);
[0023] 若该图像切片是从图像切片C_1基础上进行再次切分得到的图像切片C_2,同时该图像切片在C_1中的左上角坐标为(X_2,Y_2),则计算图像切片C_2在原图中的左上角坐标为(X_1+X_2,Y_1+Y_2);
[0024] 若该图像切片是从图像切片C_n-1基础上进行再次切分得到的图像切片C_n,图像切片C_n-1在原图中的左上角坐标为(X_n-1,Y_n-1),同时图像切片C_n在C_n-1中的左上角坐标为(X_n,Y_n),则计算图像切片C_n在原图中的左上角坐标为(X_n-1+X_n,Y_n-1+Y_n)。
[0025] 进一步地,识别物体在原始图像中的位置的计算,包括:
[0026] 被识别物体在其图像切片中围成的矩形的左上角和右下角坐标分别为(A_1,B_1)和(A_2,B_2);
[0027] 若计算被识别物体所在图像切片左上角在原图的坐标为(X_i,Y_i);
[0028] 则该被识别物体在原始图像中的所围成的矩形的坐标为(X_i+ A_1, Y_i+ B_1), (X_i+ A_2,Y_i+ B_2)。
[0029] 第二方面,本发明实施例提供一种自适应层级的图像切分识别装置,包括:
[0030] 获取图像模块,用于获取高清视频中某一帧的原始图像;
[0031] 切分模块,用于对所述原始图像,进行M行N列的图像切分,得到M*N个相邻边有L像素重叠的图像切片,计算每个图像切片的左上角在原始图像的位置坐标;
[0032] 预处理模块,用于对所述M*N个图像切片进行预处理;
[0033] 迭代切分模块,用于对预处理后的每个图像切片进行物体识别,若识别到物体,根据每个图像切片的左上角在原始图像的位置坐标,计算识别物体在原始图像中的位置,然后对预处理前的该图像切片,进行M行N列的图像切分,得到M*N个相邻边有L1像素重叠的图像切片,对每个子图像切片进行预处理里后,进行物体识别,计算识别物体在原始图像中的位置,不再对子图像切片继续切分;若未识别到物体,则对该图像切片切分成若干子图像切片,若被切分的子图像切片长宽都大于设定阈值时,计算每个图像切片的左上角在原始图像的位置坐标,对每个图像切片进行预处理,重复多次迭代切分,否则该图像切片切分识别结束;
[0034] 识别结果合并模块,用于对各图像切片中识别物体在原始图像中的位置进行两两比较,判断是否有相交,若有相交且相交区域大于等于设定阈值,保留其中一个识别物体,丢弃另一个识别物体,若有相交且相交区域小于设定阈值或者无相交,则同时保留两个识别物体,最后得到最终的识别结果。
[0035] 第三方面,本发明实施例提供一种自适应层级的图像切分识别系统,包括:
[0036] 一个或者多个摄像头,用于对场景进行高清视频的录制;
[0037] 一台或多台管理服务器,用于执行获取图像步骤、切分步骤、迭代切分步骤以及识别结果合并步骤,其中,
[0038] 获取图像步骤,获取高清视频中某一帧的原始图像;
[0039] 切分步骤,对所述原始图像,进行M行N列的图像切分,得到M*N个相邻边有L像素重叠的图像切片,计算每个图像切片的左上角在原始图像的位置坐标;
[0040] 迭代切分步骤,将M*N个图像切片发送至一组识别服务器组进行预处理和识别,并将识别结果返回管理服务器,若识别到物体,根据每个图像切片的左上角在原始图像的位置坐标,计算识别物体在原始图像中的位置,然后对预处理前的该图像切片,进行M行N列的图像切分,得到M*N个相邻边有L1像素重叠的图像切片,将M*N个图像切片发送至一组识别服务器组进行预处理和识别,并将识别结果返回管理服务器,计算识别物体在原始图像中的位置,不再对子图像切片继续切分;若未识别到物体,则对该图像切片切分成若干子图像切片,若被切分的子图像切片长宽都大于设定阈值时,计算每个图像切片的左上角在原始图像的位置坐标,对每个图像切片进行预处理,重复多次迭代切分步骤,否则该图像切片切分识别结束;
[0041] 识别结果合并步骤,管理服务器对各识别服务器组返回的图像切片中识别物体在原始图像中的位置进行两两比较,判断是否有相交,若有相交且相交区域大于等于设定阈值,保留其中一个识别物体,丢弃另一个识别物体,若有相交且相交区域小于设定阈值或者无相交,则同时保留两个识别物体,最后得到最终的识别结果;
[0042] 多组配置GPU的识别服务器组,每个识别服务器组包括多台识别服务器,每台识别服务器每次接收图像切片,并进行预处理,预处理后的图像切片进行物体识别,并各自返回识别结果至管理服务器。
[0043] 根据以上技术方案,本发明的自适应层级的图像切分识别方法,通过对高清图像切分后进行识别,使得高清图像在不压缩前提下,识别速度大大提升;同时自适应的根据切分图像中是否识别到物体的情况,动态决定切分的次数,避免了对所有图像切片进行切分所带来计算量的增加;同时对分布了小物体的图像切片进行细粒度切分,提高了高清图像中小物体的检出率。解决了现有对高清图像物体识别存在的速度慢、小物体检出率低的问题,做到了高清图像中物体识别速度快、检出率高的效果。
[0044] 本发明的自适应层级的图像切分识别系统,通过把识别服务与切分服务的分离,避免任务之间流水线的等待;同时采取识别服务器组的形式,可以对每组图像切片进行同时识别,提高图像识别的速度。

附图说明

[0045] 此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0046] 图1为本发明实施例提供的一种自适应层级的图像切分识别方法的流程图;
[0047] 图2为本发明实施例中原始图像切分过程的示意图;
[0048] 图3 为本发明实施例中子图像切片切分过程的示意图;
[0049] 图4为本发明实施例中自适应层级的图像切分识别方法的识别结果;
[0050] 图5为本发明实施例提供的一种自适应层级的图像切分识别装置的框图;
[0051] 图6为本发明实施例提供的一种自适应层级的图像切分识别系统的结构图。

具体实施方式

[0052] 为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0053] 实施例1:
[0054] 图1为本发明实施例提供的一种自适应层级的图像切分识别方法的流程图;本实施例提供的一种自适应层级的图像切分识别方法,现结合实施例子对该方法进行说明,该方法包括如下步骤:
[0055] 获取图像步骤S101,获取高清视频中某一帧的原始图像;
[0056] 具体地,通过高清摄像头(拍摄的图片分辨率至少在1920*1080以上)拍摄某个场景的视频流,视频流数据通过有线网络或者无线网络如5G传输至管理服务器的内存中,管理服务器将以固定间隔如0.1s从视频流中取样一帧原始图像,该原始图像的尺寸为3840*2160,具体图像见图2。
[0057] 切分步骤S102,对所述原始图像,进行M行N列的图像切分,得到M*N个相邻边有L像素重叠的图像切片,计算每个图像切片的左上角在原始图像的位置坐标;
[0058] 具体地,对取样得到的该原始图像,进行2行2列的图像切分,同时各图像切片之间控制100像素重叠,如图2得到图像切片A、B、C、D,该像素重叠可以避免偏大的物体由于图像切分而被一分为二,导致无法被识别到,然后计算A、B、C、D的左上角在原始图像的位置坐标为(0,0),(1870,0),(0,1030),(1870,1030)。
[0059] 预处理步骤S103,对所述M*N个图像切片进行预处理;
[0060] 具体地,对A、B、C、D四个图像切片尺寸分别压缩至300*300像素,得到a、b、c、d四个预处理后的图像切片。
[0061] 迭代切分步骤S104,对预处理后的每个图像切片进行物体识别,若识别到物体,根据每个图像切片的左上角在原始图像的位置坐标,计算识别物体在原始图像中的位置,然后对预处理前的该图像切片,进行M行N列的图像切分,得到M*N个相邻边有L1像素重叠的图像切片,对每个子图像切片进行预处理里后,进行物体识别,计算识别物体在原始图像中的位置,不再对子图像切片继续切分;若未识别到物体,则对该图像切片切分成若干子图像切片,若被切分的子图像切片长宽都大于设定阈值时,计算每个图像切片的左上角在原始图像的位置坐标,对每个图像切片进行预处理,重复多次迭代切分步骤,否则该图像切片切分识别结束。
[0062] 具体地,对a、b、c、d进行物体识别,由于c,d图像切片中人物相对比较大,在压缩至300*300后已可以识别到部分人物,但仍然存在部分像素比较小的人物的丢失,因此以d为例,根据D的左上角在原始图像的位置坐标,计算D中已经被识别到的物体在原始图像中的位置,然后对D进行2行2列的图像切分,得到图像切片D1、D2、D3、D4,若d中识别的物体所构成的矩形在D中长宽最大值为50像素,则D1、D2、D3、D4互相的相邻边有50像素重叠,切分效果见图3,图中识别结果为d切片识别结果,然后对D1、D2、D3、D4预处理后进行物体识别,计算识别物体在原始图像中的位置,不再对子图像切片继续切分;
[0063] 由于a,b中人物像素尺寸较小,在高清图像预处理后,这些人物由于像素过小导致识别不到物体,以a为例子,由于A中未识别到物体,则对A进行2行2列的图像切分,A的尺寸为1980*1130,得到图像切片A1、A2、A3、A4,各切片之间相邻边重叠像素值为A长的10%即198,若A1、A2、A3、A4长宽都大于设定阈值时,计算每个图像切片的左上角在原始图像的位置坐标,对每个图像切片进行预处理,重复多次迭代切分步骤,否则该图像切片切分识别结束。
[0064] 为保证图像识别速度,传统的图像识别一般把被识别图像的尺寸压缩为300*300以内,因此对于1080p的图像采用2行2列的切分只需切分两次,长宽最小值即小于300,利用识别服务器组进行处理,其处理时间最长相当于做两次传统的300*300图像识别的时间,速度远远大于直接处理1080p的图像,同时对小物体检出率远远高于直接对1080p的图像压缩后进行物体识别;同时使用了自适应的图像重叠切分的方法,可感知图像中物体的大小决定下一层的切分方式,防止丢失物体。
[0065] 本实施例中,对L1的获取采用如下步骤:
[0066] 标准化步骤,将未经过预处理的图像切片压缩为标准尺寸S*S;
[0067] 重叠像素值获取步骤,对压缩后的图像进行物体识别,若识别到物体,则计算被识别物体中面积最小物体的长、宽中的最大值的像素值,该像素值作为该图像被切分时,不同图像切片相邻边的重叠像素值;若未识别到物体,则给定一个预设值作为重叠像素值。
[0068] 具体地,对3840*2160的原始图像进行预处理,压缩成300*300,由于4k的图像被压缩成300*300,导致图像中比较小的物体像素占比非常小,造成信息丢失,无法被识别到。
[0069] 对压缩后的图像进行物体识别,图2中部分像素点较大的人物可以被识别出来,以被识别物体中面积最小物体的长、宽中的最大值的像素值,此处为100像素,作为A、B、C、D相邻边的重叠像素值,该重叠像素见图2中不同区域划分所重叠的位置。
[0070] 对L获取步骤可以与L1相同,但由于需要对原图进行预处理后识别,为加快整个流水线的处理速度,L的获取也可以采取经验值,如图像宽的10%。
[0071] 本实施例中,计算每个图像切片的左上角在原始图像的位置坐标,包括:
[0072] 若该图像切片是原始图像第1次切分得到的图像切片C_1,则记录该图像切片在原图中的左上角坐标为(X_1,Y_1);
[0073] 若该图像切片是从图像切片C_1基础上进行再次切分得到的图像切片C_2,同时该图像切片在C_1中的左上角坐标为(X_2,Y_2),则计算图像切片C_2在原图中的左上角坐标为(X_1+X_2,Y_1+Y_2);
[0074] 若该图像切片是从图像切片C_n-1基础上进行再次切分得到的图像切片C_n,图像切片C_n-1在原图中的左上角坐标为(X_n-1,Y_n-1),同时图像切片C_n在C_n-1中的左上角坐标为(X_n,Y_n),则计算图像切片C_n在原图中的左上角坐标为(X_n-1+X_n,Y_n-1+Y_n)。
[0075] 本实施例中,识别物体在原始图像中的位置的计算,包括:
[0076] 被识别物体在其图像切片中围成的矩形的左上角和右下角坐标分别为(A_1,B_1)和(A_2,B_2);
[0077] 若计算被识别物体所在图像切片左上角在原图的坐标为(X_i,Y_i);
[0078] 则该被识别物体在原始图像中的所围成的矩形的坐标为(X_i+ A_1, Y_i+ B_1), (X_i+ A_2,Y_i+ B_2)。
[0079] 具体地,计算图3中图像切片D2的左上角在原图像的位置坐标,因为该图像是在D上第二次切分,D的左上角在原图中的坐标为(1870,1030),D2在D切片上的坐标为(960,0),则D2左上角在原图中的坐标为(2830,1030)。
[0080] 计算D2切片中识别到的物体在原图中的位置,若D2中识别到某物体的围成的矩形的左上角和右下角坐标分别为(100,100)和(200,200),D2左上角在原图中的坐标为(2830,1030)
[0081] ,则物体在原图中围成的矩形的左上角和右下角坐标分别为(2930,1130)和(3030,1230)。
[0082] 识别结果合并步骤S105,对各图像切片中识别物体在原始图像中的位置进行两两比较,判断是否有相交,若有相交且相交区域大于等于设定阈值,保留其中一个识别物体,丢弃另一个识别物体,若有相交且相交区域小于设定阈值或者无相交,则同时保留两个识别物体,最后得到最终的识别结果,如图4为高清图像的最终识别结果,由于没有对高清图像进行压缩,图中非常小的物体可以被成果识别出来;
[0083] 具体地,若对各图像切片中识别物体A,B在原始图像中的位置用矩形表示,其矩形A左上角坐标为(10,10),右下坐标为(20,20),其矩形面积为100像素,另一图像切片中识别到物体的矩形B左上角坐标为(12,12),右下坐标为(21,21),其矩形面积为81像素,同时矩形A与矩形B相交,且相交区域的面积为(20-12)*(20-12)=64像素,此处设相交区域面积阈值为相交矩形中面积较小的矩形的*75%,即面积较小矩形有75%的部分都在面积较大的矩阵内部,则保留A作为识别结果,丢弃B。
[0084] 实施例2:
[0085] 如图5所示,本实施例提供一种自适应层级的图像切分识别装置,该装置为实施例1所述的一种自适应层级的图像切分识别方法所对应的虚拟装置,该装置具备执行该方法相应的功能模块和有益效果。该装置包括:
[0086] 获取图像模块901,用于获取高清视频中某一帧的原始图像;
[0087] 切分模块902,用于对所述原始图像,进行M行N列的图像切分,得到M*N个相邻边有L像素重叠的图像切片,计算每个图像切片的左上角在原始图像的位置坐标;
[0088] 预处理模块903,用于对所述M*N个图像切片进行预处理;
[0089] 迭代切分模块904,用于对预处理后的每个图像切片进行物体识别,若识别到物体,根据每个图像切片的左上角在原始图像的位置坐标,计算识别物体在原始图像中的位置,然后对预处理前的该图像切片,进行M行N列的图像切分,得到M*N个相邻边有L1像素重叠的图像切片,对每个子图像切片进行预处理里后,进行物体识别,计算识别物体在原始图像中的位置,不再对子图像切片继续切分;若未识别到物体,则对该图像切片切分成若干子图像切片,若被切分的子图像切片长宽都大于设定阈值时,计算每个图像切片的左上角在原始图像的位置坐标,对每个图像切片进行预处理,重复多次迭代切分,否则该图像切片切分识别结束;
[0090] 识别结果合并模块905,用于对各图像切片中识别物体在原始图像中的位置进行两两比较,判断是否有相交,若有相交且相交区域大于等于设定阈值,保留其中一个识别物体,丢弃另一个识别物体,若有相交且相交区域小于设定阈值或者无相交,则同时保留两个识别物体,最后得到最终的识别结果。
[0091] 实施例3:
[0092] 本实施例还提供一种自适应层级的图像切分识别系统,见图6,包括:
[0093] 一个或者多个摄像头1,用于对场景进行高清视频的录制;摄像头使用的是至少1080p的摄像头,以获取高清的场景图像,对于4k摄像头拍摄的影响,由于清晰度高,对于识别结果提升的帮助会越大,但识别速度将慢于1080p的摄像头。
[0094] 一台或多台管理服务器2,用于执行获取图像步骤、切分步骤以及迭代切分步骤,其中,
[0095] 获取图像步骤,获取高清视频中某一帧的原始图像;该步骤中,摄像头通过有线网或者5G无限通讯协议与管理服务器进行通信,把实时高清视频传输至管理服务器,管理服务器根据采用率从视频流中对图像进行采样。
[0096] 切分步骤,对所述原始图像,进行M行N列的图像切分,得到M*N个相邻边有L像素重叠的图像切片,计算每个图像切片的左上角在原始图像的位置坐标;该步骤中,对图像的切分是在管理服务器内进行,对于切分行列数的设置可以根据原始图像的尺寸进行调整,合适的切分行列数可以降低迭代切分所需的迭代次数,加快识别速度;此处不同图像切片在原始图像的位置坐标存储在管理服务器中。
[0097] 迭代切分步骤,将M*N个图像切片发送至一组识别服务器组进行预处理和识别,并将识别结果返回管理服务器,若识别到物体,根据每个图像切片的左上角在原始图像的位置坐标,计算识别物体在原始图像中的位置,然后对预处理前的该图像切片,进行M行N列的图像切分,得到M*N个相邻边有L1像素重叠的图像切片,将M*N个图像切片发送至一组识别服务器组进行预处理和识别,并将识别结果返回管理服务器,计算识别物体在原始图像中的位置,不再对子图像切片继续切分;若未识别到物体,则对该图像切片切分成若干子图像切片,若被切分的子图像切片长宽都大于设定阈值时,计算每个图像切片的左上角在原始图像的位置坐标,对每个图像切片进行预处理,重复多次迭代切分步骤,否则该图像切片切分识别结束;该步骤中,一个图像切片S切分后的一组子图像切片S_1,..,S_t会从管理服务器发送至一个识别服务器组,识别服务器组中包含与子图像切片数量相同的t个配置了GPU的识别服务器,S_1,..,S_t可在同一时间进行物体识别,由于采用了识别服务器组进行并行识别,其识别时间与识别单张图像切片相同;识别结束后,每个识别服务器会将识别结果的矩阵坐标返回给管理服务器;管理服务器根据识别结果决定每个子图像切片下一步的处理;
[0098] 识别结果合并步骤,管理服务器对各识别服务器组返回的图像切片中识别物体在原始图像中的位置进行两两比较,判断是否有相交,若有相交且相交区域大于等于设定阈值,保留其中一个识别物体,丢弃另一个识别物体,若有相交且相交区域小于设定阈值或者无相交,则同时保留两个识别物体,最后得到最终的识别结果。
[0099] 多组配置GPU的识别服务器组3,每个识别服务器组包括多台识别服务器,每台识别服务器每次接收图像切片,并进行预处理,预处理后的图像切片进行物体识别,并各自返回识别结果至管理服务器。该步骤中,每个识别服务器组用于处理一组图像切片,但为了让GPU资源充分利用,每个识别服务器组可以同时接收多组图像切片的处理请求。
[0100] 本实施例中,识别服务器的数量与每次图像切分的图像切片数量相同。该设置是为了让一次切分的图像切片可以在同一时间被各台识别服务器同时处理,提高整体的处理速度。
[0101] 上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0102] 在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
[0103] 在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的设备实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
[0104] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0105] 另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0106] 所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
[0107] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。