CN116310388A - 图像处理方法、可读介质和电子设备 - Google Patents
图像处理方法、可读介质和电子设备 Download PDFInfo
- Publication number
- CN116310388A CN116310388A CN202310310222.2A CN202310310222A CN116310388A CN 116310388 A CN116310388 A CN 116310388A CN 202310310222 A CN202310310222 A CN 202310310222A CN 116310388 A CN116310388 A CN 116310388A
- Authority
- CN
- China
- Prior art keywords
- region
- interest
- position information
- unit
- width
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 15
- 238000007667 floating Methods 0.000 claims abstract description 61
- 238000000034 method Methods 0.000 claims abstract description 56
- 238000010586 diagram Methods 0.000 claims description 36
- 230000015654 memory Effects 0.000 claims description 32
- 238000013139 quantization Methods 0.000 claims description 28
- 238000003062 neural network model Methods 0.000 abstract description 24
- 238000013473 artificial intelligence Methods 0.000 abstract description 5
- 210000004027 cell Anatomy 0.000 description 49
- 238000004364 calculation method Methods 0.000 description 15
- 238000001514 detection method Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 4
- 238000011176 pooling Methods 0.000 description 4
- 238000013527 convolutional neural network Methods 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000003190 augmentative effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 210000004460 N cell Anatomy 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
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/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
-
- 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/20—Image preprocessing
- G06V10/25—Determination of region of interest [ROI] or a volume of interest [VOI]
-
- 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/20—Image preprocessing
- G06V10/26—Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
- G06V10/267—Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion by performing operations on regions, e.g. growing, shrinking or watersheds
-
- 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/20—Image preprocessing
- G06V10/28—Quantising the image, e.g. histogram thresholding for discrimination between background and foreground patterns
-
- 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/40—Extraction of image or video features
- G06V10/42—Global feature extraction by analysis of the whole pattern, e.g. using frequency domain transformations or autocorrelation
- G06V10/422—Global feature extraction by analysis of the whole pattern, e.g. using frequency domain transformations or autocorrelation for representing the structure of the pattern or shape of an object therefor
-
- 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/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- 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/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/766—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using regression, e.g. by projecting features on hyperplanes
-
- 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/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Image Analysis (AREA)
Abstract
本申请涉及人工智能技术领域,公开了一种图像处理方法、可读介质和电子设备。该方法包括:获取待识别图像特征图;获取待识别图像上的感兴趣区域的浮点区域位置信息,并将浮点单元位置信息量化为定点区域位置信息;基于感兴趣区域的定点区域位置信息,得到感兴趣区域所包括的感兴趣单元的浮点单元位置信息;对浮点单元位置信息进行量化,得到定点单元位置信息;基于定点单元位置信息,获取对应的感兴趣单元的特征值;基于感兴趣区域中的感兴趣单元的特征值,得到感兴趣区域的区域特征图,得到待识别图像的识别结果。通过将待识别图像中的感兴趣区域的位置信息以及感兴趣区域的各个单元的位置信息进行量化,可以提高神经网络模型的运行速度。
Description
技术领域
本申请涉及人工智能技术领域,特别涉及一种图像处理方法、可读介质和电子设备。
背景技术
随着人工智能(artificial intelligence,AI)技术的发展,深度学习以深度神经网络(deep neural network,DNN)作为模型,在许多人工智能的关键领域取得了十分显著的成果,如图像识别、目标检测、增强学习、语义分析等。
以图像识别为例,在神经网络模型计算过程中,神经网络模型对输入的待处理图像通常采用浮点计算。然而,浮点计算需要大量的计算成本、占用大量的内存,进而影响神经网络模型的运行速度。为了提高神经网络模型的运行速度,需要将神经网络模型进行量化,得到定点运算的神经网络模型,再由电子设备来运行,实现对输入神经网络模型的待处理图像的处理。
发明内容
本申请的目的在于提供一种图像处理处理方法、可读介质和电子设备。
本申请的第一方面提供了一种图像处理方法,包括:获取待识别图像特征图;获取待识别图像上的感兴趣区域的浮点区域位置信息,并将浮点单元位置信息量化为定点区域位置信息;基于感兴趣区域的定点区域位置信息,得到感兴趣区域所包括的感兴趣单元的浮点单元位置信息;对浮点单元位置信息进行量化,得到定点单元位置信息;基于定点单元位置信息,获取对应的感兴趣单元的特征值;基于感兴趣区域中的感兴趣单元的特征值,得到感兴趣区域的区域特征图;基于区域特征图,得到待识别图像的识别结果。
在上述第一方面的一种可能的实现中,浮点区域位置信息包括感兴趣区域的多个顶点的位置坐标。
在上述第一方面的一种可能的实现中,获取待识别图像上的感兴趣区域的浮点区域位置信息,并将浮点单元位置信息量化为定点区域位置信息,包括:获取待识别图像上的感兴趣区域的浮点区域位置信息;确定量化参数,并基于量化参数对浮点区域位置信息进行量化,得到定点区域位置信息。
在上述第一方面的一种可能的实现中,基于感兴趣区域的定点区域位置信息,得到感兴趣区域所包括的感兴趣单元的浮点单元位置信息,包括:确定区域特征图的尺寸信息,并基于区域特征图的尺寸信息和定点区域位置信息将感兴趣区域划分为多个感兴趣单元;确定各个感兴趣单元的浮点单元位置信息。
在上述第一方面的一种可能的实现中,确定区域特征图的尺寸信息,并基于区域特征图的尺寸信息和定点区域位置信息将感兴趣区域划分为多个感兴趣单元,包括:确定感兴趣区域的第一尺寸信息和区域特征图的第二尺寸信息,其中,第一尺寸信息包括感兴趣区域的宽度和高度,第二尺寸信息包括区域特征图的宽度和高度;基于感兴趣区域的高度和区域特征图的高度确定高度缩放系数,基于感兴趣区域的宽度和区域特征图的宽度确定宽度缩放系数,其中,高度缩放系数表示感兴趣区域的高度与区域特征图的高度的比例,宽度缩放系数表示感兴趣区域的宽度与区域特征图的宽度的比例;基于高度缩放系数和宽度缩放系数、感兴趣区域的定点区域位置信息和区域特征图的尺寸信息,将感兴趣区域划分为多个感兴趣单元。
在上述第一方面的一种可能的实现中,基于高度缩放系数和宽度缩放系数、感兴趣区域的定点区域位置信息和区域特征图的尺寸信息,将感兴趣区域划分为多个感兴趣单元,包括:基于感兴趣区域的左上角的顶点的位置坐标,确定感兴趣区域的左上角的顶点在待识别图像中的位置;基于区域特征图的尺寸信息、高度缩放系数和宽度缩放系数,确定各个感兴趣单元的高度信息和宽度信息;基于感兴趣区域的左上角的顶点在待识别图像中的位置,和各个感兴趣单元的高度信息和宽度信息,确定各个感兴趣单元在待识别图像中的浮点单元位置信息,其中,浮点单元位置信息包括感兴趣单元的多个边界的位置信息。
在上述第一方面的一种可能的实现中,基于感兴趣区域的高度和区域特征图的高度确定高度缩放系数,基于感兴趣区域的宽度和区域特征图的宽度确定宽度缩放系数,包括:分别对感兴趣区域的高度和宽度扩大预设比例,得到第一高度和第一宽度;确定第一高度与区域特征图的高度的整除结果,得到高度整除结果;确定第一宽度与区域特征图的宽度的整除结果,得到宽度整除结果;分别对高度整除结果和宽度整除结果缩小预设比例,得到高度缩放系数和宽度缩放系数。
在上述第一方面的一种可能的实现中,对浮点单元位置信息进行量化,得到定点单元位置信息,包括:基于量化参数对浮点单元位置信息进进行量化,得到定点单元位置信息。
在上述第一方面的一种可能的实现中,基于定点单元位置信息,获取对应的感兴趣单元的特征值,包括:确定定点单元位置信息对应的待识别图像中的像素点;获取各个待识别图像中的像素点对应特征图中的特征值,作为感兴趣单元的位置特征值;基于定点单元位置信息,以及感兴趣单元的位置特征值,确定感兴趣单元的单元特征值。
在上述第一方面的一种可能的实现中,基于定点单元位置信息,以及感兴趣单元的位置特征值,确定感兴趣单元的单元特征值,包括:基于感兴趣单元的位置特征值确定各个感兴趣单元的第一插值系数和第二插值系数;基于感兴趣单元的第一插值系数、第二插值系数和位置特征值,确定感兴趣单元的单元特征值。
在上述第一方面的一种可能的实现中,基于感兴趣单元的位置特征值确定各个单元的第一插值系数和第二插值系数,包括:确定定点单元位置信息对应的二进制数的位数n;其中,定点单元位置信息对应的二进制数的位数与定点区域位置信息对应的二进制数的位数相等;确定感兴趣单元的左边界的位置信息对应的二进制数的后n位,作为第一插值系数;确定感兴趣单元的上边界的位置信息对应的二进制数的后n位,作为第二插值系数。
本申请的第二方面提供了一种可读介质,可读介质上存储有指令,该指令在电子设备上执行时使电子设备执行第一方面中的任意一种方法。
本申请的第三方面提供了一种电子设备,包括:存储器,用于存储由电子设备的一个或多个处理器执行的指令,以及处理器,是电子设备的处理器之一,用于执行第一方面中的任意一种方法。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a根据本申请的实施例示出了一种目标检测模型的结构示意图;
图1b根据本申请的实施例示出了一种图像识别过程的示意图;
图2a根据本申请的实施例示出了一种待识别图像和上待识别图像的感兴趣区域的示意图;
图2b根据本申请的实施例示出了一种待识别图像的特征图的示意图;
图3a根据本申请的实施例示出了一种确定待识别图像上的感兴趣区域的区域特征图的方法的示意图;
图3b根据本申请的实施例示出了一种特征图和特征图上的感兴趣区域的示意图;
图3c根据本申请的实施例示出了一种特征图和特征图上的感兴趣区域的示意图;
图3d根据本申请的实施例示出了一种感兴趣区域划分为多个单元的示意图;
图3e根据本申请的实施例示出了另一种感兴趣区域划分为多个单元的示意图;
图4a根据本申请的实施例示出了一种确定待识别图像上的感兴趣区域的区域特征图的方法的示意图;
图4b根据本申请的实施例示出了一种将待识别图像上的感兴趣区域划分为多个单元的示意图;
图4c根据本申请的实施例示出了一种双线性插值的示意图;
图5根据本申请的实施例示出了一种图像处理方法的实施流程示意图;
图6a根据本申请的实施例示出了一种待识别图像的示意图;
图6b根据本申请的实施例示出了一种待识别图像的特征图的示意图;
图6c根据本申请的实施例示出了一种感兴趣区域的左上角顶点的量化位置信息的示意图;
图6d根据本申请的实施例示出了一种各个单元的左上角顶点和左上角顶点的有效量化位置信息以及第一个单元的上边界的量化位置信息和左边界的量化位置信息的示意图;
图6e根据本申请的实施例示出了一种x方向插值系数和y方向插值系数的示意图;
图7根据本申请的一些实施例示出了一种电子设备100的结构示意图。
具体实施方式
本申请的说明性实施例包括但不限于一种图像处理方法、可读介质和电子设备。
如前所述,在神经网络模型计算过程中,神经网络模型对输入的待处理图像通常采用浮点计算。然而,浮点计算需要大量的计算成本、占用大量的内存,进而影响神经网络模型的运行速度。为了提高神经网络模型的运行速度,通常需要将神经网络模型进行量化,得到定点运算的神经网络模型,再由电子设备来运行,实现对输入神经网络模型的待处理图像的处理。
例如,以目标检测模型10为例,图1a示出了一种目标检测模型的结构示意图。如图1a所示,目标检测模型10包括主干网络11、区域建议网络12和感兴趣区域的头部网络13。其中,主干网络11通过多个卷积核对输入图像进行特征提取,得到多个特征图;区域建议网络12用于生成主干网络11的输出特征图对应的候选边界框,并基于输出特征图对候选边界框进行调整运算,得到感兴趣区域(region of interest,ROI);感兴趣区域的头部网络13用于完成感兴趣区域的特征池化与分类回归,得到图像处理结果、计算损失。
具体地,下面基于图1a所示的目标检测模型,对神经网络模型的图像识别过程进行详细描述。
具体地,图1b示出了一种图像识别过程的示意图。具体地,如图1b所示,目标检测模型10的图像识别过程包括:
S101:获取待识别图像。
具体地,主干网络11的获取输入神经网络模型的待识别图像。例如,参考图2a中的待处理图像S,待处理图像S的高度和宽度均为512(即,待处理图像包括512×512个像素点)。
S102:生成特征图。
具体地,主干网络11通过多个卷积核对待识别图像进行特征提取,得到多个待识别图像的多个通道的特征图,例如,彩色图片的RGB三个通道的特征图。例如,参考图2b中的特征图F,特征图F的高度和宽度均为16(即,特征图F包括16×16个特征值/特征向量)。
S103:确定待识别图像上的感兴趣区域。
具体地,区域建议网络12获取根据主干网络11输出的特征图生成候选边界框,通过softmax函数判断候选边界框属于前景还是背景,再利用proposal算子获得待识别图像上的感兴趣区域。
例如,参考图2a,图2a示出了待识别图像S上的感兴趣区域B1,感兴趣区域B1的高度为168.5、宽度为200.5。
S104:确定待识别图像上的感兴趣区域的区域特征图。
具体地,感兴趣区域的头部网络13基于待识别图像上的感兴趣区域和特征图,确定待识别图像上的感兴趣区域的区域特征图。
S105:对待处理图像进行识别。
具体地,感兴趣区域的头部网络13基于区域特征图,确定待识别图像上的感兴趣区域中的目标对象的类别和位置信息。
其中,在一些实施例中,上述S104步骤中的确定待识别图像上的感兴趣区域的区域特征图的方法可以参考图3a。具体地,图3a示出了一种确定待识别图像上的感兴趣区域的区域特征图的方法的示意图。具体地,如图3a所示,该方法包括:
S301:确定特征图上的感兴趣区域。
具体地,将待识别图像上的感兴趣区域映射到特征图上,得到特征图上的感兴趣区域。例如,图3b示出了图2a所示的待识别图像S的特征图F,如图3b所示,图2a所示的待识别图像S的感兴趣区域B1,在特征图F上的对应感兴趣区域为B2,其中,感兴趣区域B2的高度为5.265625、宽度为6.265625。
S302:对特征图上的感兴趣区域的边界框进行量化。
具体地,在一些实施例中,可以对感兴趣区域的位置信息(左上角顶点和右上角顶点)进行量化,例如将图3b所示的特征图F上的感兴趣区域B2(高度为5.265625、宽度为6.265625)的位置信息,量化为图3c所示感兴趣区域B3的位置信息,得到高度为5、宽度为6的感兴趣区域B3。
S303:将特征图上的感兴趣区域划分为感兴趣单元。
由于待识别图像中的感兴趣区域的大小是根据感兴趣区域中的目标对象的大小来确定的,但是,后续输入目标检测模型的全连接层的感兴趣区域的区域特征图的尺寸需简要为目标特征图的尺寸,因此,为了使得各个感兴趣区域的特征图的尺寸均为目标特征图的尺寸,根据区域特征图的尺寸的大小,将所有感兴趣区域进行划分为大小统一的更小的感兴趣单元,其中,各个感兴趣区域中的感兴趣单元的数量与区域特征图中的特征值的数量相同。
例如,以一个感兴趣区域为例,对于图3c所示的待识别图像的特征图F,其中的感兴趣区域B3的尺寸为高度为5、宽度为6,区域特征图的尺寸为高度为2、宽度为2,因此,将感兴趣区域B3划分为4(2×2)个感兴趣单元。例如图3d示出了将图3c所示的感兴趣区域B3划分为4个单元的示意图,其中,各个单元的宽度为3,高度为2.5。
S304:对各个感兴趣单元的边界进行量化。
为了使得各个感兴趣单元的顶点(左上角顶点、左下角顶点、右上角顶点和右下角顶点)的位置信息与待处理图像的特征图中的特征值的位置信息对应,需要对各个感兴趣单元的边界进行量化,以使得,各个感兴趣单元的顶点的位置信息与待处理图像的特征图中的特征值的位置信息对应。
例如,图3e示出的对图3d所示的4个感兴趣单元的边界进行量化的结果示意图,如图3e所示,对图3d中的各个宽度为3,高度为2.5的感兴趣单元的边界进行量化,得到4个量化后的感兴趣单元,尺寸分别为:高度为2、宽度为3,高度为2、宽度为3,高度为3,宽度为3,高度为3,宽度为3。
S305:通过池化确定各个感兴趣单元的特征值。
可以理解,为了得到各个感兴趣单元的特征值,可以通过最大池化或平均池化等方式,确定待识别图像的特征图中的各个感兴趣区域的各个感兴趣单元中的特征值的最大值/平均值,作为待识别图像的特征图中的各个感兴趣区域的各个感兴趣单元的特征值,各个感兴趣区域的各个感兴趣单元的特征值映射为区域特征图中对应位置的特征值。
例如,图3e示出了一种将图3e所示的感兴趣区域B3中的各个量化后的感兴趣单元中的特征值与区域特征图T中的特征值的映射关系示意图,如图3e所示,将感兴趣区域B3中,各个感兴趣单元中的最大特征值映射为区域特征图T中对应位置的特征值。
然而,上述方法中,由于计算特征图中的感兴趣区域各个单元的特征值/特征向量的过程中对特征图上的感兴趣区域的边界框进行了一次量化,又对进行量化后的各个感兴趣区域的各个感兴趣单元的边界进行了一次量化,在特征图上的两次量化得到的感兴趣区域与输入神经网络模型的待识别图像中的感兴趣区域的位置的偏差较大,可能会影响最终得到的目标特征的准确度,进而影响待识别图像中感兴趣区域中的目标对象的识别结果。
为了解决上述问题,在本申请另一些实施例中,在待识别图像中确定出感兴趣区域和感兴趣区域的浮点区域位置信息之后,直接在待识别图像而不是待识别图像的特征图上,将待识别图像上的感兴趣区域划分为多个感兴趣单元。然后,从待识别图像的特征图中,确认出各个感兴趣单元的浮点单元位置信息(如左上角顶点、左下角顶点、右上角顶点和右下角顶点的坐标信息)所对应的像素点的特征值(下文称为位置特征值)。然后,基于各感兴趣单元的位置特征值,拟合出感兴趣单元的特征值(下文称为单元特征值)。从而得到待识别图像的感兴趣区域的区域特征图。
可以理解,由于双线性插值的方法通过待识别图像中的多个像素点的特征值来对各个感兴趣单元的单元特征值进行拟合,拟合得到的特征值不是某一个像素点的特征值,更能够反映感兴趣单元的图像特征,故可以对感兴趣单元的单元特征值进行拟合,从而提高感兴趣单元的单元特征值的准确性。
上述方法中,直接在待识别图像中确定出感兴趣区域和感兴趣区域的浮点区域位置信息之后,将待识别图像上的感兴趣区域划分为多个感兴趣单元,确定各个感兴趣单元的浮点单元位置信息,基于浮点运算确定感兴趣单元的单元特征值,避免了在特征图上进行两次量化造成的感兴趣区域的位置的偏差。
例如,图4a示出了一种确定待识别图像上的感兴趣区域的区域特征图的方法的示意图。图4a所示的方法,对上述S104步骤中的确定待识别图像上的感兴趣区域的区域特征图的方法进行了改进。具体地,如图4a所示,该方法包括:
S401:将待识别图像上的感兴趣区域划分为多个单元。
例如,在本申请的一些实施例中,根据区域特征图的尺寸信息(宽度w和高度h),将待识别图像上的感兴趣区域划分为N(w×h)个感兴趣单元。例如,以一个感兴趣区域为例,图4b示出了将图2a所示的感兴趣单元B1划分为4个单元的示意图,如图4b所示,各个感兴趣单元的宽度均为50.125,高度均为42.125。
S402:确定各个感兴趣单元的4个顶点的位置信息,并获取4个顶点对应的特征值。
例如,在本申请的一些实施例中,确定各个感兴趣单元的4个顶点的位置信息,在待处理图像的特征图中,找到各个感兴趣单元的4个顶点的位置信息对应的像素点对应的特征值,作为各个感兴趣单元的4个顶点的特征值。
S403:基于各个感兴趣单元的4个顶点的位置信息和对应的特征值,确定各个感兴趣单元对应的目标特征。
例如,在本申请的一些实施例中,基于各个感兴趣单元的4个顶点的特征值和各个感兴趣单元的位置信息,根据双线性插值的方法,对各个感兴趣单元的特征值进行拟合,将拟合得到的特征值作为各个感兴趣单元的特征值,并将该拟合得到的特征值映射为区域特征图对应位置的目标特征。
例如,以一个感兴趣单元为例,图4c示出了一种双线性插值的示意图。Q11、Q12、Q21、Q22表示感兴趣单元的4个顶点,其中,Q11的坐标为(x1,y1),Q12的坐标为(x1,y2),Q21的坐标为(x2,y1),Q22的坐标为(x2,y2),R1、R2表示插值点,R1的坐标为(x,y1),R2的坐标为(x,y2),P表示目标点,即代表各个感兴趣单元拟合得到的特征值对应的点(例如可以是中心点),P的坐标为(x,y)。P点对应的特征值可以通过公式(1)确定。
f(x,y)=Q12*(1-xlerp)*(1-ylerp)+Q22*xlerp*(1-ylerp)+Q11*(1-xlerp)*ylerpQ21*xlerp*ylerp (1)
其中,f(x,y)表示点P对应的特征值,Q11为点Q11对应的特征值,Q12为点Q12对应的特征值,Q21为点Q21对应的特征值,Q22为点Q22对应的特征值, 表示点P与x方向最近的像素点在x方向的距离与上下两个像素点之间的距离的比值(x方向插值系数),ylerp表示点P与y方向最近的像素点在y方向的距离与左右两个像素点之间的距离的比值(y方向插值系数)。
上述方法中,通过直接在待识别图像上对待识别图像上的感兴趣区域按照区域特征图的尺寸进行划分,得到多个单元,并拟合得到各个单元的特征值作为区域特征图对应位置的特征值,避免了在特征图上进行两次量化造成的感兴趣区域的位置的偏差。但是,上述方法的计算过程中,均采用浮点计算,例如各个数据的二进制数的位数为32位,仍然需要消耗大量的计算成本,占用NPU的大量硬件资源,影响了电子设备运行神经网络模型的速度;并且,不适用于部分不支持浮点运算的NPU运行神经网络模型处理图像的场景。
为了解决上述问题,本申请另外实施例提出了一种图像处理方法,可以在采用如图4a所示的方法进行图像识别的过程中,将待识别图像中感兴趣区域的浮点区域位置信息和感兴趣区域中的感兴趣单元的浮点单元位置信息进行量化,得到感兴趣区域的定点区域位置信息和感兴趣区域中的感兴趣单元的定点单元位置信息后,进行后续处理。从而区域特征图通过定点运算确定各个感兴趣单元的单元特征值,定点运算的过程中,可以减小内存空间的占用,进而可以提高运算过程的运行速度。
例如,对图2a所示的待识别图像S中的感兴趣区域B1的位置信息进行量化,例如是确定感兴趣区域B1的高度和宽度的二进制位数为16位。根据区域特征图的尺寸信息,对将量化后的感兴趣区域B1进行划分,得到多个感兴趣单元,例如图4b所示的将感兴趣区域B1进行划分得到4个感兴趣单元。对各个感兴趣单元的位置信息(各个顶点的位置信息)进行量化,例如是确定各个感兴趣单元的高度和宽度的二进制位数为16位。从待处理图像的特征图中获取量化后的各个感兴趣单元的各个顶点的定点位置信息对应的特征值,根据双线性插值的方法确定各个感兴趣单元的单元特征值。
可以理解,通过对区域特征图中对应的感兴趣区域的位置信息进行量化,和对各个感兴趣单元的位置信息进行量化,例如确定各个数据的二进制数的位数为16位,相对于浮点计算,减小了内存空间的占用,可以提高运算过程的运行速度。
在一些实施例中,电子设备确定感兴趣区域的浮点区域位置信息;确定量化参数,并基于量化参数对感兴趣区域的浮点区域位置信息进行量化,得到定点区域位置信息;确定区域特征图的尺寸信息,并基于区域特征图的尺寸信息和定点区域位置信息将感兴趣区域划分为多个单元;确定各个单元的的定点单元位置信息(例如左边界、右边界、上边界和下边界的位置信息),并获取各个单元的定点单元位置信息对应特征图中的特征值,作为位置特征值;基于各个单元的的定点单元位置信息,以及各个位置特征值,确定各个单元的单元特征值。
在一些实施例中,电子设备确定待处理图像尺寸信息,基于待处理图像尺寸信息和感兴趣区域的量化位置信息,确定感兴趣区域的尺寸信息;确定区域特征图的尺寸信息,基于感兴趣区域的尺寸信息和区域特征图的尺寸信息确定高度缩放系数和宽度缩放系数;基于高度缩放系数和宽度缩放系数、感兴趣区域的量化位置信息和区域特征图的尺寸信息,将感兴趣区域划分为N个单元;其中N等于区域特征图中的目标特征的数量。
在一些实施例中,电子设备分别确定各个单元的上边界、下边界、左边界和右边界的定点单元位置信息;基于各个单元的上边界、下边界、左边界和右边界的定点单元位置信息确定各个单元的左上角顶点、左下角顶点、右上角顶点和右下角顶点的定点位置信息;对应于左上角顶点、左下角顶点、右上角顶点和右下角顶点的定点位置信息不是待识别图像中的像素点的位置信息,则按照取整规则,对对应的定点单元位置信息进行取整操作,使得对应的位置信息为待识别图像中的像素点的位置信息。
在一些实施例中,电子设备基于各个单元的定点单元位置信息确定插值系数,其中插值系数包括第一插值系数(x方向插值系数)和第二插值系数(y方向插值系数)。
在一些实施例中,电子设备获取各个单元的定点单元位置信息对应特征图中的位置特征值,基于位置特征值和插值系数确定各个单元的单元特征值。
可以理解,本申请实施例提供的图像处理方法,可以应用于能够运行神经网络模型的任意电子设备,包括但不限于手机、可穿戴设备(如智能手表等)、平板电脑、桌面型、膝上型、手持计算机、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本,以及蜂窝电话、个人数字助理(personal digital assistant,PDA)、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备等,本申请实施例对电子设备的具体类型不做任何限制。
可以理解本申请中将目标检测模型作为待识别图像输入的模型的实例进行解释。可以理解,其他能够用于处理图像数据的模型,诸如卷积神经网络(convolutional neuralnetwork,CNN)、递归神经网络(recursive neural network,RNN)等神经网络模型,也可以适用于本申请的实施例的技术方案。
为了更清楚地说明本申请实施例提供的技术方案,下面结合附图对本申请的技术方案进行说明。
图5根据本申请的实施例示出了一种图像处理方法的实施流程示意图。可以理解,图5所示流程的各步骤执行主体均为电子设备100。为了简化描述,以下在介绍图5所示流程各步骤时将不再重复描述各步骤的执行主体。如图5所示,该流程包括但不限于以下步骤:
S501:获取待识别图像,对待识别图像进行特征提取,得到特征图。
在一些实施例中,电子设备100确定输入神经网络模型的待识别图像的尺寸信息,确定特征图的缩放步长,通过多个卷积核对待处理图像进行特征提取,得到待识别图像的特征图,其中,特征图的尺寸与待识别图像的尺寸信息的比值为缩放步长。
例如,参考图6a,图6a示出了一个待识别图像的示意图,待识别图像S的宽度和高度均为128,即待识别图像包括128×128个像素点。假设特征图的缩放步长为8,参考图6b,图6b示出了一个待识别图像的特征图的示意图,特征图F的宽度和高度均为16,即特征图F中包括16×16个特征值。
S502:确定待识别图像上的感兴趣区域和感兴趣区域的定点区域位置信息。
在一些实施例中,电子设备100确定待识别图像中感兴趣区域和待识别图像中感兴趣区域的浮点区域位置信息,例如待识别图像中感兴趣区域的左上角顶点和右下角顶点的坐标。可以理解,感兴趣区域的浮点区域位置信息为经过proposal算子输出的浮点范围为0~1.0的数据。
在一些实施例中,电子设备100基于量化参数对感兴趣区域的浮点区域位置信息(例如左上角顶点和右下角顶点的坐标)进行量化,得到定点区域位置信息,并确定感兴趣区域在待识别图像中的位置信息。
例如,在一些实施例中,感兴趣区域的浮点区域位置信息是区域建议网络输出的归一化的参数,其浮点数范围为0至1.0的区间。电子设备100确定量化参数scale为215,基于量化参数scale将感兴趣区域的浮点区域位置信息转化为16位(bit)的定点区域位置信息。
示例性地,感兴趣区域的左上角顶点的定点区域位置信息为(x0_q,y0_q),感兴趣区域的右下角顶点的定点区域位置信息为(x1_q,y1_q)。
感兴趣区域的左上角顶点在待识别图像中的位置信息为(x0_q*(image_width-1),y0_q*(image_height-1)),感兴趣区域的右下角顶点在待识别图像中的位置信息为(x1_q*(image_width-1),y1_q*(image_height-1)),其中,image_width表示待识别图像的宽度,image_height表示待识别图像的高度。
例如,图6c示出了感兴趣区域B1的左上角顶点的定点区域位置信息为(x0_q,y0_q),感兴趣区域的右下角顶点的定点区域位置信息为(x1_q,y1_q)。
S503:确定区域特征图的尺寸信息,并基于区域特征图的尺寸信息和定点区域位置信息将感兴趣区域划分为多个感兴趣单元。
在一些实施例中,电子设备100确定区域特征图的尺寸信息(区域特征图的高度和宽度),基于区域特征图的尺寸信息和定点区域位置信息将感兴趣区域划分为N个感兴趣单元。
在一些实施例中,电子设备100根据待识别图像中的感兴趣区域的尺寸信息和区域特征图的宽度(resize_width)和高度(resize_height),确定高度缩放系数(height_scale_q)和宽度缩放系数(width_scale_q)。然后,电子设备100基于高度缩放系数和宽度缩放系数,区域特征图的高度和宽度,以及感兴趣区域在待识别图像中的位置信息,将感兴趣区域划分为N个感兴趣单元,并确定各个感兴趣单元的定点单元位置信息(左上角顶点的坐标)。可以理解,N=image_height×resize_width。例如图6c示出了感兴趣区域的尺寸信息,高度(y1_q-y0_q)*(image_height-1)和宽度(x1_q-x0_q)*(image_width-1)。
在一些实施例中,高度缩放系数height_scale_q可以通过感兴趣区域的高度和区域特征图的高度确定。通过对待识别图像中的感兴趣区域的高度扩大预设比例,例如乘以28(或者,对感兴趣区域的高度的二进制数进行向左移位8位的操作)后,对区域特征图的高度进行取整除的操作,再将取整除的结果除以28(或者,对取整除的结果的二进制数进行向右移位8位的操作)。
可以理解,对待识别图像中的感兴趣区域的高度乘以28后,将取整除的结果除以28,并没有改变高度缩放系数的位数,通过这种方式可以提高高度缩放系数的精度。
示例性地,高度缩放系数height_scale_q可以通过以下代码确定。
height_scale_q=((y1_q-y0_q)*(image_height-1)*256//(resize_height-1))>>8
其中,(y1_q-y0_q)*(image_height-1)表示感兴趣区域的高度,y1_q表示感兴趣区域右下角顶点y方向的定点区域位置信息,y0_q表示感兴趣区域左上角顶点y方向的定点区域位置信息,image_height表示待识别图像的高度,resize_height表示区域特征图的高度。
在一些实施例中,宽度缩放系数width_scale_q可以通过感兴趣区域的宽度和区域特征图的宽度确定。通过对待识别图像中的感兴趣区域的宽度扩大预设比例,例如乘以28(或者,对感兴趣区域的宽度的二进制数进行向左移位8位的操作)后,对区域特征图的宽度进行取整除的操作,再将取整除的结果除以28(或者,对取整除的结果的二进制数进行向右移位8位的操作)。
可以理解,对待识别图像中的感兴趣区域的宽度乘以28后,将取整除的结果除以28,并没有改变宽度缩放系数的位数,通过这种方式可以提高宽度缩放系数的精度。
示例性地,宽度缩放系数width_scale_q可以通过以下代码确定。
width_scale_q=((x1_q-x0_q)*(image_width-1)*256//(resize_width-1))>>8
其中,(x1_q-x0_q)*(image_width-1)表示感兴趣区域的宽度,x1_q表示感兴趣区域右下角顶点x方向的定点区域位置信息,x0_q表示感兴趣区域左上角顶点x方向的定点区域位置信息,image_width表示待识别图像的宽度,resize_width表示区域特征图的宽度。
在一些实施例中,N个感兴趣单元的左上角顶点的定点单元位置信息可以通过以下代码确定。
x_q=(image_width-1)*x0_q+torch.arange(0,resize_width,device=out.device)*width_scale_qy_q=(image_height-1)*y0_q+torch.arange(0,resize_height,device=out.device)*height_scale_q
其中,x_q表示N个感兴趣单元的左上角顶点的x方向的定点单元位置信息的集合,image_width表示待识别图像的宽度,x0_q表示感兴趣区域左上角顶点x方向的定点区域位置信息,resize_width表示区域特征图的宽度,width_scale_q表示区域特征图的宽度,y_q表示N个感兴趣单元的左上角顶点的y方向的定点单元位置信息的集合,image_height表示待识别图像的高度,y0_q表示感兴趣区域左上角顶点y方向的定点区域位置信息,resize_height表示区域特征图的高度,height_scale_q表示高度缩放系数,x0_q*(image_width-1)表示感兴趣区域的左上角顶点在待识别图像中x方向的位置信息,y0_q*(image_height-1)表示感兴趣区域的左上角顶点在待识别图像中y方向的位置信息。
可以理解,上述过程为对各个感兴趣区域进行划分,得到各个的感兴趣单元的浮点单元位置信息,基于量化参数对浮点单元位置信息进行量化,得到定点单元位置信息。
在一些实施例中,电子设备100确定各个感兴趣单元的左上角的顶点的定点单元位置信息后,对各个感兴趣单元的左上角的顶点的定点单元位置信息进行钳位操作,即,从N个感兴趣单元的左上角顶点的x方向的定点单元位置信息的集合和N个感兴趣单元的左上角顶点的y方向的定点单元位置信息的集合中,分别去除超出待识别图像的宽度和高度的定点单元位置信息,得到N个感兴趣单元的左上角顶点的有效定点单元位置信息,作为定点单元位置信息。
示例性地,N个感兴趣单元的左上角顶点的有效定点单元位置信息可以通过以下代码确定。
xx_q=torch.clamp(x_q,0,(image_width-1)*qmax)
yy_q=torch.clamp(y_q,0,(image_height-1)*qmax)
其中,xx_q表示N个感兴趣单元的左上角顶点的x方向的有效定点单元位置信息的集合,x_q表示N个感兴趣单元的左上角顶点的x方向的定点单元位置信息的集合,image_width表示待识别图像的宽度,yy_q表示N个感兴趣单元的左上角顶点的y方向的定点单元量化位置信息的集合,y_q表示N个感兴趣单元的左上角顶点的y方向的定点单元位置的集合,image_height表示待识别图像的高度,qmax表示待识别图像的尺寸量化参数。可以理解,待识别图像的尺寸量化参数qmax等于量化参数scale。
例如,图6d示出了各个感兴趣单元的左上角顶点和左上角顶点的定点单元位置信息(xx_q,yy_q)。
S504:确定各个感兴趣单元的各个边界的定点单元位置信息,并获取各个感兴趣单元的位置特征值。
在一些实施例中,电子设备100首先确定各个感兴趣单元的各个边界(例如上边界、下边界、左边界和右边界)的定点单元位置信息,根据各个感兴趣单元的上边界、下边界、左边界和右边界的定点单元位置信息确定各个感兴趣单元的左上角顶点、左下角顶点、右上角顶点和右下角顶点的定点单元位置信息。然后,电子设备100根据各个感兴趣单元的左上角顶点、左下角顶点、右上角顶点和右下角顶点的定点单元位置信息获取特征图中对应的特征值,作为各个感兴趣单元的位置特征值。
示例性地,各个感兴趣单元的上边界、下边界、左边界和右边界的定点单元位置信息可以通过以下代码确定。
top_y_index_q=yy_q>>qvalue
bottom_y_index_q=(yy_q+qmax)>>qvalue
left_x_index_q=(xx_q+qmax)>>qvalue
right_x_index_q=(xx_q+qmax)>>qvalue
其中,top_y_index_q表示各个感兴趣单元上边界的定点单元位置信息的集合,bottom_y_index_q表示各个感兴趣单元左下边界的定点单元位置信息的集合,left_x_index_q表示各个感兴趣单元左边界的定点单元位置信息的集合,right_x_index表示各个感兴趣单元右边界的定点单元位置信息的集合,qmax=1*scale。
可以理解,qvalue对应为定点单元位置信息yy_q和xx_q的位数,即量化参数scale(215)的指数,例如qvalue可以为15。
可以理解,进行“>>qvalue”右移qvalue位的操作是为了将定点单元位置信息进行与待识别图像的尺寸信息的位数匹配,即将各个感兴趣单元的左上角顶点、左下角顶点、右上角顶点和右下角顶点对应到待识别图像的像素点。
在一些实施例中,若进行“>>qvalue”右移qvalue位的操作后,各个边界的定点单元位置信息不为整数,即不对应待识别图像上的像素点,则对各个边界的定点单元位置信息进行取整操作,以使得各个顶点对应待识别图像上的像素点。示例性地,取整规则可以是:对上边界和左边界的量化位置信息进行向下取整(floor)的操作,对下边界和右边界的量化位置信息进行向上取整(ceil)的操作。
例如,图6d示出了第一个感兴趣单元的上边界的定点单元位置信息top_y_index_q和左边界的定点单元位置信息left_x_index_q。
示例性地,各个感兴趣单元的左上角顶点、左下角顶点、右上角顶点和右下角顶点的单元位置特征值可以通过以下代码确定。
top_left=feature[0,top_y_index_q[idxh],left_x_index_q[idxw],:]#Q12
top_right=feature[0,top_y_index_q[idxh],right_x_index_q[idxw],:]#Q22
bottom_left=feature[0,bottom_y_index_q[idxh],left_x_index_q[idxw],:]#Q11
bottom_right=feature[0,bottom_y_index_q[idxh],right_x_index_q[idxw],:]#Q21
其中,top_left表示感兴趣单元的左上角顶点(Q12)的位置特征值,top_right表示感兴趣单元的右上角顶点(Q22)的位置特征值,bottom_left表示感兴趣单元的左下角顶点(Q11)的位置特征值,bottom_right表示感兴趣单元的右下角顶点(Q21)的位置特征值,idxw大于0小于resize_width,idxh大于0小于resize_height。
S505:基于各个感兴趣单元的定点单元位置信息和位置特征值,确定各个感兴趣单元的单元特征值。
在一些实施例中,电子设备100首先基于各个感兴趣单元的左上角顶点、左下角顶点、右上角顶点和右下角顶点的定点单元位置信息确定各个感兴趣单元的插值系数。其中,插值系数包括x方向插值系数和y方向插值系数。然后,电子设备100基于各个感兴趣单元的插值系数和各个感兴趣单元的左上角顶点、左下角顶点、右上角顶点和右下角顶点的位置特征值,确定各个感兴趣单元的单元特征值。各个感兴趣单元的单元特征值的确定可以参考上述公式(1)。
示例性地,各个感兴趣单元的插值系数可以通过以下代码确定。
x_lerp_q=(xx_q&0x7fff).reshape(resize_width,1).repeat(1,channel)
y_lerp_q=(yy_q&0x7fff).reshape(resize_height,1).repeat(1,channel)
其中,x_lerp_q表示x方向插值系数,y_lerp_q表示y方向插值系数。
可以理解, 即xlerp表示目标点(单元特征值对应的点)到上边界的距离,ylerp表示目标点到左边界的距离,例如,图6e示出了x方向插值系数x_lerp_q和y方向插值系数y_lerp_q。由于xx_q和yy_q是浮点数范围0~1.0的浮点数量化后的定点单元位置信息,x_lerp_q即为xx_q的小数部分,y_lerp_q即为yy_q的小数部分,再将x_lerp_q和y_lerp_q乘以量化参数scale进行量化(即左移qvalue位)。则x_lerp_q和y_lerp_q可以通过对定点单元位置信息xx_q和yy_q分别和qvalue位均为1的数进行按位与运算确定,即,确定分别确定定点单元位置信息xx_q和yy_q的后qvalue位为x_lerp_q和y_lerp_q。
示例性地,N个感兴趣单元的单元特征值可以通过以下代码确定。
xy_q=y_lerp_q[idxh,:]*x_lerp_q[idxw,:]>>qvalue
fourpoint_sum=(top_left+bottom_right-top_right-bottom_left)*xy_q
top=(top_left<<qvalue)+((top_right-top_left)*x_lerp_q[idxw,:])
bottom=(bottom_left-top_left)*y_lerp_q[idxh,:]
data_q=(fourpoint_sum+top+bottom)>>qvalue
resize_feature[boxidx,idxh,idxw,:]=data_q
其中,对应于公式1中的变量,xy_q表示x_lerp_q*y_lerp_q;top_left表示Q12;bottom_right表示Q21;top_right表示Q22;bottom_left表示Q11;fourpoint_sum表示(Q12+Q21-Q22-Q11)*x_lerp_q*y_lerp_q;top表示Q12+(Q22-Q12)*x_lerp_q;bottom表示(Q11-Q12)*y_lerp_q;data_q表示f(x,y)。
可以理解,“xy_q=y_lerp_q[idxh,:]*x_lerp_q[idxw,:]>>qvalue”中,右移qvalue位可以有效防止后续计算过程中的溢出。
可以理解,“top=(top_left<<qvalue)+((top_right-top_left)*x_lerp_q[idxw,:]))”中“top_left<<qvalue”是为了使得加法运算时,加号左右两边的数据的位数相等。例如,top_left和top_right的位数均为A,x_lerp_q的位数为B,则加号右边的(top_right-top_left)*x_lerp_q[idxw,:])的计算结果的位数为A+B,加号左边的top_left的位数为A,要使得加号两边的位数相等,应该对top_left的位数进行扩大,即左移B位。其中,qvalue表示定点单元位置信息的位数,x_lerp_q的位数B与感兴趣区域的定点区域位置信息的位数相等。
可以理解,“data_q=(fourpoint_sum+top+bottom)>>qvalue”是因为在先前计算的过程中进行了左移,需要将结果的位数恢复。
S506:基于单元特征值对待识别图像进行识别,并确定识别结果。
在一些实施例中,电子设备100基于得到的区域特征图中的单元特征值对待识别图像进行识别,并将识别结果输出。
可以理解,在另一些实施例中,根据实际需求,上述图5所示的各步骤可以组合、删除或者替换为其他利于实现本申请目的的步骤等,例如可以将上述步骤S502与步骤S503组合为一个步骤,本申请在此不做限制。
下面结合图4c所示的双线性插值的示意图,介绍公式(1)的确定过程。
以一个感兴趣单元为例,参考图4c可知,Q11、Q12、Q21、Q22为一个感兴趣单元的四个顶点,R1、R2表示插值点,P表示目标点,x1表示Q11、Q12在x方向的位置信息,x表示R1、P、R2在x方向的位置信息,x2表示Q21、Q22在x方向的位置信息,y1表示Q11、Q21在y方向的位置信息,y表示P在y方向的位置信息,y2表示Q12、Q22在y方向的位置信息。
首先,进行x方向的插值,得到R1、R2两个点,R1对应的特征值可以参考公式(2),R2对应的特征值可以参考公式(3)。
其中,R1表示点R1对应的特征值,f()表示特征值函数,Q11、Q12、Q21、Q22为感兴趣单元的四个顶点,R1、R2表示插值点,x1表示Q11、Q12在x方向的位置信息,x表示R1、R2在x方向的位置信息,x2表示Q21、Q22在x方向的位置信息,y1表示Q11、Q21在y方向的位置信息,y2表示Q12、Q22在y方向的位置信息。
然后,进行y方向的插值,得到目标点P,P对应的特征值可以参考公式(4)。
其中,f()表示特征值函数,Q11、Q12、Q21、Q22为感兴趣单元的四个顶点,x1表示Q11、Q12在x方向的位置信息,x表示目标点P在x方向的位置信息,x2表示Q21、Q22在x方向的位置信息,y1表示Q11、Q21在y方向的位置信息,y表示目标点在y方向的位置信息,y2表示Q12、Q22在y方向的位置信息。
将上述公式(4)化简,可以得到上述公式(1):f(x,y)=Q12*(1-xlerp)*(1-ylerp)+Q22*xlerp*(1-ylerp)+Q11*(1-xlerp)*ylerp+Q21*xlerp*ylerp。
其中,f(x,y)表示目标点的特征值,Q11为点Q11对应的特征值,Q12为点Q12对应的特征值,Q21为点Q21对应的特征值,Q22为点Q22对应的特征值, 表示目标点与x方向最近的特征点在x方向的距离与上下特征点之间的距离的比值(x方向插值系数),ylerp表示目标点与y方向最近的特征点在y方向的距离与左右特征点之间的距离的比值(y方向插值系数)。
可以理解,双线性插值的方法也可以通过先在y方向插值,再在x方向插值确定目标点。
进一步地,图7根据本申请的一些实施例示出了一种电子设备100的结构示意图。如图7所示,电子设备100包括一个或多个处理器101、系统内存102、非易失性存储器(non-volatile memory,NVM)103、通信接口104、输入/输出(I/O)设备105、以及用于耦接处理器101、系统内存102、非易失性存储器103、通信接口104和输入/输出(I/O)设备105的系统控制逻辑106。其中:
处理器101可以用于控制电子设备执行本申请的图像处理方法,其中,处理器101可以包括多个处理单元。
系统内存102是易失性存储器,例如随机存取存储器(random-access memory,RAM),双倍数据率同步动态随机存取存储器(double data rate synchronous dynamicrandom access memory,DDR SDRAM)等。系统内存用于临时存储数据和/或指令。
非易失性存储器103可以包括用于存储数据和/或指令的一个或多个有形的、非暂时性的计算机可读介质。在一些实施例中,非易失性存储器103可以包括闪存等任意合适的非易失性存储器和/或任意合适的非易失性存储设备,例如硬盘驱动器(hard disk drive,HDD)、光盘(compact disc,CD)、数字通用光盘(digital versatile disc,DVD)、固态硬盘(solid-state drive,SSD)等。在一些实施例中,非易失性存储器103也可以是可移动存储介质,例如安全数字(secure digital,SD)存储卡等。
特别地,系统内存102和非易失性存储器103可以分别包括:指令107的临时副本和永久副本。指令107可以包括:由处理器101执行时使电子设备100实现本申请各实施例提供的图像处理方法。
通信接口104可以包括收发器,用于为电子设备100提供有线或无线通信接口,进而通过一个或多个网络与任意其他合适的设备进行通信。在一些实施例中,通信接口104可以集成于电子设备100的其他组件,例如通信接口104可以集成于处理器101中。在一些实施例中,电子设备100可以通过通信接口104和其他设备通信,例如,电子设备100可以通过通信接口104从其他电子设备获取待运行的图像处理方法。
输入/输出(I/O)设备105可以包括输入设备如键盘、鼠标等,输出设备如显示器等,用户可以通过输入/输出(I/O)设备105与电子设备100进行交互。
系统控制逻辑106可以包括任意合适的接口控制器,以电子设备100的其他模块提供任意合适的接口。例如在一些实施例中,系统控制逻辑106可以包括一个或多个存储器控制器,以提供连接到系统内存102和非易失性存储器103的接口。
在一些实施例中,处理器101中的至少一个可以与用于系统控制逻辑106的一个或多个控制器的逻辑封装在一起,以形成系统封装(system in package,SiP)。在另一些实施例中,处理器101中的至少一个还可以与用于系统控制逻辑106的一个或多个控制器的逻辑集成在同一芯片上,以形成片上系统(system on chip,SoC)。
可以理解,图7所示的电子设备100的结构只是一种示例,在另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者切分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
本申请公开的机制的各实施例可以被实现在硬件、软件、固件或这些实现方法的组合中。本申请的实施例可实现为在可编程系统上执行的计算机程序或程序代码,该可编程系统包括至少一个处理器、存储系统(包括易失性和非易失性存储器和/或存储元件)、至少一个输入设备以及至少一个输出设备。
可将程序代码应用于输入指令,以执行本申请描述的各功能并生成输出信息。可以按已知方式将输出信息应用于一个或多个输出设备。为了本申请的目的,处理系统包括具有诸如例如数字信号处理器(digital signal processor,DSP)、微控制器、专用集成电路(application specific integrated circuit,ASIC)或微处理器之类的处理器的任何系统。
程序代码可以用高级程序化语言或面向对象的编程语言来实现,以便与处理系统通信。在需要时,也可用汇编语言或机器语言来实现程序代码。事实上,本申请中描述的机制不限于任何特定编程语言的范围。在任一情形下,该语言可以是编译语言或解释语言。
在一些情况下,所公开的实施例可以以硬件、固件、软件或其任何组合来实现。所公开的实施例还可以被实现为由一个或多个暂时或非暂时性机器可读(例如,计算机可读)存储介质承载或存储在其上的指令,其可以由一个或多个处理器读取和执行。例如,指令可以通过网络或通过其他计算机可读介质分发。因此,机器可读介质可以包括用于以机器(例如,计算机)可读的形式存储或传输信息的任何机制,包括但不限于,软盘、光盘、光碟、只读存储器(CD-ROMs)、磁光盘、只读存储器(read-only memory,ROM)、随机存取存储器(randomaccess memory,RAM)、可擦除可编程只读存储器(erasable programmable read-onlymemory,EPROM)、电可擦除可编程只读存储器(electrically erasable programmableread-only memory,EEPROM)、磁卡或光卡、闪存、或用于利用因特网以电、光、声或其他形式的传播信号来传输信息(例如,载波、红外信号数字信号等)的有形的机器可读存储器。因此,机器可读介质包括适合于以机器(例如计算机)可读的形式存储或传输电子指令或信息的任何类型的机器可读介质。
在附图中,可以以特定布置和/或顺序示出一些结构或方法特征。然而,应该理解,可能不需要这样的特定布置和/或排序。而是,在一些实施例中,这些特征可以以不同于说明性附图中所示的方式和/或顺序来布置。另外,在特定图中包括结构或方法特征并不意味着暗示在所有实施例中都需要这样的特征,并且在一些实施例中,可以不包括这些特征或者可以与其他特征组合。
需要说明的是,本申请各设备实施例中提到的各单元/模块都是逻辑单元/模块,在物理上,一个逻辑单元/模块可以是一个物理单元/模块,也可以是一个物理单元/模块的一部分,还可以以多个物理单元/模块的组合实现,这些逻辑单元/模块本身的物理实现方式并不是最重要的,这些逻辑单元/模块所实现的功能的组合才是解决本申请所提出的技术问题的关键。此外,为了突出本申请的创新部分,本申请上述各设备实施例并没有将与解决本申请所提出的技术问题关系不太密切的单元/模块引入,这并不表明上述设备实施例并不存在其它的单元/模块。
需要说明的是,在本专利的示例和说明书中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
虽然通过参照本申请的某些优选实施例,已经对本申请进行了图示和描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作各种改变,而不偏离本申请的精神和范围。
Claims (13)
1.一种图像处理处理方法,其特征在于,包括:
获取待识别图像特征图;
获取所述待识别图像上的感兴趣区域的浮点区域位置信息,并将所述浮点单元位置信息量化为定点区域位置信息;
基于所述感兴趣区域的定点区域位置信息,得到所述感兴趣区域所包括的感兴趣单元的浮点单元位置信息;
对所述浮点单元位置信息进行量化,得到定点单元位置信息;
基于所述定点单元位置信息,获取对应的感兴趣单元的特征值;
基于感兴趣区域中的所述感兴趣单元的特征值,得到所述感兴趣区域的区域特征图;
基于所述区域特征图,得到所述待识别图像的识别结果。
2.根据权利要求1所述的方法,其特征在于,所述浮点区域位置信息包括所述感兴趣区域的多个顶点的位置坐标。
3.根据权利要求1所述的方法,其特征在于,所述获取所述待识别图像上的感兴趣区域的浮点区域位置信息,并将所述浮点单元位置信息量化为定点区域位置信息,包括:
获取所述待识别图像上的感兴趣区域的浮点区域位置信息;
确定量化参数,并基于量化参数对所述浮点区域位置信息进行量化,得到定点区域位置信息。
4.根据权利要求2所述的方法,其特征在于,所述基于所述感兴趣区域的定点区域位置信息,得到所述感兴趣区域所包括的感兴趣单元的浮点单元位置信息,包括:
确定区域特征图的尺寸信息,并基于所述区域特征图的尺寸信息和所述定点区域位置信息将所述感兴趣区域划分为多个感兴趣单元;
确定各个所述感兴趣单元的浮点单元位置信息。
5.根据权利要求4所述的方法,其特征在于,所述确定区域特征图的尺寸信息,并基于所述区域特征图的尺寸信息和所述定点区域位置信息将所述感兴趣区域划分为多个感兴趣单元,包括:
确定所述感兴趣区域的第一尺寸信息和所述区域特征图的第二尺寸信息,其中,所述第一尺寸信息包括所述感兴趣区域的宽度和高度,所述第二尺寸信息包括所述区域特征图的宽度和高度;
基于所述感兴趣区域的高度和所述区域特征图的高度确定高度缩放系数,基于所述感兴趣区域的宽度和所述区域特征图的宽度确定宽度缩放系数,其中,所述高度缩放系数表示所述感兴趣区域的高度与所述区域特征图的高度的比例,所述宽度缩放系数表示所述感兴趣区域的宽度与所述区域特征图的宽度的比例;
基于所述高度缩放系数和所述宽度缩放系数、所述感兴趣区域的定点区域位置信息和所述区域特征图的尺寸信息,将所述感兴趣区域划分为多个感兴趣单元。
6.根据权利要求5所述的方法,其特征在于,所述基于所述高度缩放系数和所述宽度缩放系数、所述感兴趣区域的定点区域位置信息和所述区域特征图的尺寸信息,将所述感兴趣区域划分为多个感兴趣单元,包括:
基于所述感兴趣区域的左上角的顶点的位置坐标,确定所述感兴趣区域的左上角的顶点在所述待识别图像中的位置;
基于所述区域特征图的尺寸信息、所述高度缩放系数和所述宽度缩放系数,确定各个所述感兴趣单元的高度信息和宽度信息;
基于所述感兴趣区域的左上角的顶点在所述待识别图像中的位置,和各个所述感兴趣单元的高度信息和宽度信息,确定各个所述感兴趣单元在所述待识别图像中的浮点单元位置信息,其中,所述浮点单元位置信息包括所述感兴趣单元的多个边界的位置信息。
7.根据权利要求5所述的方法,其特征在于,所述基于所述感兴趣区域的高度和所述区域特征图的高度确定高度缩放系数,并基于所述感兴趣区域的宽度和所述区域特征图的宽度确定宽度缩放系数,包括:
分别对所述感兴趣区域的高度和宽度扩大预设比例,得到第一高度和第一宽度;
确定所述第一高度与所述区域特征图的高度的整除结果,得到高度整除结果;
确定所述第一宽度与所述区域特征图的宽度的整除结果,得到宽度整除结果;
分别对所述高度整除结果和所述宽度整除结果缩小预设比例,得到高度缩放系数和宽度缩放系数。
8.根据权利要求2所述的方法,其特征在于,所述对所述浮点单元位置信息进行量化,得到定点单元位置信息,包括:
基于所述量化参数对所述浮点单元位置信息进进行量化,得到定点单元位置信息。
9.根据权利要求1所述的方法,其特征在于,所述基于所述定点单元位置信息,获取对应的感兴趣单元的特征值,包括:
确定所述定点单元位置信息对应的所述待识别图像中的像素点;
获取各个所述待识别图像中的像素点对应所述特征图中的特征值,作为所述感兴趣单元的位置特征值;
基于定点单元位置信息,以及所述感兴趣单元的位置特征值,确定所述感兴趣单元的单元特征值。
10.根据权利要求9所述的方法,其特征在于,所述基于定点单元位置信息,以及所述感兴趣单元的位置特征值,确定所述感兴趣单元的单元特征值,包括:
基于所述感兴趣单元的位置特征值确定各个所述感兴趣单元的第一插值系数和第二插值系数;
基于所述感兴趣单元的所述第一插值系数、所述第二插值系数和位置特征值,确定所述感兴趣单元的单元特征值。
11.根据权利要求10所述的方法,其特征在于,所述基于所述感兴趣单元的位置特征值确定各个所述感兴趣单元的第一插值系数和第二插值系数,包括:
确定所述定点单元位置信息对应的二进制数的位数n;
其中,所述定点单元位置信息对应的二进制数的位数与所述定点区域位置信息对应的二进制数的位数相等;
确定所述感兴趣单元的左边界的位置信息对应的二进制数的后n位,作为所述第一插值系数;
确定所述感兴趣单元的上边界的位置信息对应的二进制数的后n位,作为所述第二插值系数。
12.一种可读介质,其特征在于,所述可读介质上存储有指令,该指令在电子设备上执行时使电子设备执行权利要求1至11中任一项所述的方法。
13.一种电子设备,其特征在于,包括:
存储器,用于存储由电子设备的一个或多个处理器执行的指令,以及
处理器,是电子设备的处理器之一,用于执行权利要求1至11中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310310222.2A CN116310388A (zh) | 2023-03-27 | 2023-03-27 | 图像处理方法、可读介质和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310310222.2A CN116310388A (zh) | 2023-03-27 | 2023-03-27 | 图像处理方法、可读介质和电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116310388A true CN116310388A (zh) | 2023-06-23 |
Family
ID=86797636
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310310222.2A Pending CN116310388A (zh) | 2023-03-27 | 2023-03-27 | 图像处理方法、可读介质和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116310388A (zh) |
-
2023
- 2023-03-27 CN CN202310310222.2A patent/CN116310388A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111860502B (zh) | 图片表格的识别方法、装置、电子设备及存储介质 | |
CN110503097A (zh) | 图像处理模型的训练方法、装置及存储介质 | |
TW202011264A (zh) | 資訊的檢測方法、裝置及設備 | |
CN110909791A (zh) | 一种相似图像识别方法及计算设备 | |
US10846889B2 (en) | Color handle generation for digital image color gradients using machine learning | |
CN113869138A (zh) | 多尺度目标检测方法、装置及计算机可读存储介质 | |
CN107909537B (zh) | 一种基于卷积神经网络的图像处理方法及移动终端 | |
US20230153965A1 (en) | Image processing method and related device | |
WO2024001360A1 (zh) | 绿幕抠图方法、装置及电子设备 | |
CN111192279B (zh) | 基于边缘检测的物体分割方法、电子终端及存储介质 | |
CN108960012A (zh) | 特征点检测方法、装置及电子设备 | |
US9171227B2 (en) | Apparatus and method extracting feature information of a source image | |
CN107808394A (zh) | 一种基于卷积神经网络的图像处理方法及移动终端 | |
CN110717405A (zh) | 人脸特征点定位方法、装置、介质及电子设备 | |
CN113506305B (zh) | 三维点云数据的图像增强方法、语义分割方法及装置 | |
CN107871162B (zh) | 一种基于卷积神经网络的图像处理方法及移动终端 | |
CN113516739B (zh) | 一种动画处理方法、装置、存储介质及电子设备 | |
CN116310388A (zh) | 图像处理方法、可读介质和电子设备 | |
WO2020077535A1 (zh) | 图像语义分割方法、计算机设备和存储介质 | |
CN116341630A (zh) | 神经网络处理 | |
CN116246064A (zh) | 一种多尺度空间特征增强方法及装置 | |
TWM623309U (zh) | 英文字體影像辨識系統 | |
CN112508831A (zh) | 一种超声宽景图像生成方法、装置、设备及存储介质 | |
JP5083162B2 (ja) | 画像データ判定装置、画像データ判定システム、及びプログラム | |
KR102504007B1 (ko) | 분할 이미지를 통해 컨텍스트 벡터를 생성하는 컨텍스트 벡터 추출 모듈 및 이의 동작 방법 |
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 |