CN113422904A - 图像数据处理方法、介质及电子设备 - Google Patents
图像数据处理方法、介质及电子设备 Download PDFInfo
- Publication number
- CN113422904A CN113422904A CN202110687841.4A CN202110687841A CN113422904A CN 113422904 A CN113422904 A CN 113422904A CN 202110687841 A CN202110687841 A CN 202110687841A CN 113422904 A CN113422904 A CN 113422904A
- Authority
- CN
- China
- Prior art keywords
- image data
- data
- buffer
- image
- processor
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/80—Camera processing pipelines; Components thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Image Analysis (AREA)
Abstract
本申请涉及数据处理领域,公开了一种图像数据处理方法、介质及电子设备。该方法应用于电子设备,电子设备包括缓冲器和处理器,方法包括:缓冲器按行对接收到的第一图像数据进行存储,处理器从缓冲器读存储的第一图像数据;缓冲器在判断出处理器从缓冲器读存储的第一图像数据的过程中存在丢失的图像数据的情况下,缓冲器对丢失的图像数据进行数据补充操作,得到补充的图像数据;缓冲器向处理器发送补充的图像数据。以提高图像数据的完整性,从而在一定程度上,可以进一步提高神经网络模型图像识别准确度。
Description
技术领域
本申请涉及通用图像数据处理技术领域,特别涉及一种图像数据处理方法、介质及电子设备。
背景技术
图像识别,是指利用计算机对图像进行处理、分析和理解,以识别各种不同模式的目标和对象的技术,是应用深度学习算法的一种实践应用。现阶段图像识别技术可以应用在各种场景中,例如人脸识别与商品识别,人脸识别主要运用在安全检查、身份核验与移动支付中;商品识别主要运用在商品流通过程中,特别是无人货架、智能零售柜等无人零售领域。
图像的传统识别流程分为四个步骤:图像采集→图像预处理→特征提取→图像识别。通常,图像信号处理器(image signal processor,ISP)会对输入的待处理图像进行图像预处理,即对输入的原始图像进行图像处理,然后将处理后的图像数据依次传输到神经网络处理器(neural-network processing unit,NPU)进行特征提取和图像识别,在从ISP到NPU的实时数据流中,ISP的输出数据会使用缓冲器,ISP以行对齐格式将数据实时写入此缓冲器,NPU读取来自该专用缓冲器的实时数据。
但是,但是一般缓冲器的存储空间大小是固定的,而且在缓冲器所在的芯片内部,一般不会配置很大的缓冲器存储空间。ISP实时向缓冲器写数据,NPU实时从缓冲器读数据,如果ISP写入到缓冲器的数据缓冲器溢出,NPU就读取不到该丢失的行数据,发生数据丢失,影响NPU做AI((Artificial Intelligence))推理的精度,NPU图像识别准确度降低。
发明内容
本申请实施例提供了一种图像数据处理方法、介质及电子设备。
第一方面,本申请实施例提供了一种图像数据处理方法,应用于电子设备,所述电子设备包括缓冲器和处理器,所述方法包括:
所述缓冲器按行对接收到的第一图像数据进行存储,并对丢失的行数据进行标记,所述处理器从所述缓冲器读存储的所述第一图像数据;
所述缓冲器在判断有数据丢失标记的行的情况下,对丢失的图像数据进行数据补充操作,得到补充的图像数据;
所述缓冲器向所述处理器发送所述补充的图像数据。
本申请实施例中,缓冲器可以为具有图像数据缓存和丢失的图像数据补充功能的硬件存储区和硬件逻辑单元。第一图像数据可以为具体实施例中指出的图像数据A2或者图像数据A1中的第M行数据,第一图像数据可以包括图像中的像素点的像素值,例如灰度图像中的每个像素点的像素值,或者彩色图像中的每个像素点的R、G、B像素值。可以理解,补充的图像数据可以为数据A3。
可以理解,处理器可以为具有图像算法处理功能或神经网络模型推理功能的处理器,例如,神经网络处理器。
若处理器为图像信号处理器,则丢失的行数据是指图像信号处理器向缓冲器写数据和神经网络处理器从缓冲器读取的速度不匹配时,例如,ISP向缓冲器写入数据的写入速度大于NPU103读取写入的数据的读取速度,图像信号处理器未写入缓冲器的部分数据。
在本申请实施例中,通过对丢失的图像数据进行补充操作,可以提高图像的连续性和完整性,从而在一定程度上,可以进一步提高后续AI图像处理的精度,如物体识别精度、或者图像识别准确度。
在上述第一方面的一种可能的实现中,上述方法还包括:所述缓冲器根据所述处理器的不同图像处理任务类型,对所述丢失的图像数据进行不同的数据补充操作。
可以理解,所述图像处理任务类型包括分类任务、定位任务、检测任务和分割任务中的至少一种。
本申请实施例中,第一图像数据可以包括图像中的像素点的像素值,处理器根据对图像数据的完整度的不同要求,选择不同的数据补充方法,在提高图像数据完整度的基础上,还可以进一步提高NPU图像算法处理的精度,例如图像识别准确度。
在上述第一方面的一种可能的实现中,上述方法还包括:所述图像处理任务类型包括分类任务、定位任务、检测任务和分割任务中的至少一种。
在上述第一方面的一种可能的实现中,上述方法还包括:所述缓冲器在所述图像处理任务类型为分类任务、定位任务或者检测任务的情况下,将预设值作为补充的图像像素值。
可以理解,预设值可以为0至255中的任意一个数值。
在上述第一方面的一种可能的实现中,上述方法还包括:所述预设值为0或者255。
在上述第一方面的一种可能的实现中,上述方法还包括:所述缓冲器在所述图像处理任务类型为分割任务的情况下的补充操作包括:
所述缓冲器获取与丢失的第H行图像数据相邻的第H-1行数据和第H+1行数据;
所述缓冲器将第H-1行数据和第H+1行数据相同列的数据的平均值作为所述丢失的第H行图像数据的补充图像数据。
本申请实施例中,丢失的行数据即待补充图像数据,所述补充操作即将待补充图像数据的上下相邻行对应的同列图像数据求和后平均,得到补充数据,即对上下相邻行数据对应的同一列图像数据进行加权处理得到,权重值为0.5。
H为自然数,若H为5,所述缓冲器获取与待补充的第5行图像数据相邻的第4行数据和第6行数据;
所述缓冲器将第4行数据和第5行数据相同列的数据的平均值作为所述待补充的第5行图像数据的补充图像数据。
在上述第一方面的一种可能的实现中,上述方法还包括:所述缓冲器在所述图像处理任务类型为分割任务的情况下的补充操作包括:
所述缓冲器获取与丢失的图像数据相邻的多个图像数据,并将所述相邻的多个图像数据的平均值作为所述丢失的图像数据的补充图像数据。
可以理解,所述补充操作为缓冲器获取与待补充的图像数据相邻的图像数据,将与待补充的图像数据相邻的图像数据求和后的平均值作为补充数据,即将待补充图像数据的前一行和后一行对应的同一列的图像数据以及前一行和后一行对应的前一列的图像数据的平均值,作为补充值。
在上述第一方面的一种可能的实现中,上述方法还包括:所述处理器为神经网络处理器。
在上述第一方面的一种可能的实现中,上述方法还包括:所述电子设备还包括图像信号处理器,所述缓冲器从所述图像信号处理器获取所述第一图像数据。
在上述第一方面的一种可能的实现中,上述方法还包括:所述缓冲器在判断出丢失的行数据在预设行数之内的情况下,对丢失的图像数据进行数据补充操作,得到补充的图像数据。
可以理解,如果丢失行数据过多(如大于10行),会对后面神经网络处理器推理精度有比较大的影响,直接抛弃该帧图像数据,接受下一帧图像数据。
第二方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,所述指令在电子设备上执行时使电子设备执行第一方面任一种可能实现的图像数据处理方法。
第三方面,本申请实施例提供了一种电子设备,所述电子设备包括缓冲器和处理器,所述方法包括:
所述缓冲器用于按行对接收到的第一图像数据进行存储,并对丢失的行数据进行标记,所述处理器用于从所述缓冲器读存储的所述第一图像数据;
所述缓冲器用于在判断有数据丢失标记的行情况下,对丢失的图像数据进行数据补充操作,得到补充的图像数据;
所述缓冲器用于向所述处理器发送所述补充的图像数据。
附图说明
图1是图像识别中分类、定位、检测和分割任务的结果示意图;
图2根据本申请的一些实施例,示出了一种图像数据处理方法的应用场景示意图;
图3A根据本申请的一些实施例,示出了一种适用于本申请实施例的电子设备100的结构示意图;
图3B根据本申请的一些实施例,示出了一种缓冲器102读写数据的示意图;
图4根据本申请的一些实施例,示出了一种图像数据处理过程中图像信号缓冲器102判断数据是否溢出的流程示意图;
图5根据本申请的一些实施例,示出了一种图像数据处理过程中图像信号缓冲器102补充溢出的数据的流程示意图;
图6根据本申请的一些实施例,示出了一种图像数据溢出的示意图;
图7根据本申请的一些实施例,示出了一种对图5中丢失的行数据进行全零补充后的结果示意图;
图8根据本申请的一些实施例,示出了一种对图5中丢失的行数据进行全255补充后的结果示意图;
图9根据本申请的一些实施例,示出了一种对图5中丢失的行数据进行插值补充后的结果示意图;
图10根据本申请的一些实施例,示出了一种对图5中丢失的行数据进行另一种插值补充后的结果示意图;
图11根据本申请的一些实施例,示出了一种图像数据处理方法的流程示意图;
图12根据本申请的一些实施例,示出了一种缓冲器的结构示意图。
具体实施方式
本申请的说明性实施例包括但不限于图像数据处理方法、介质和电子设备。
下面先介绍一下本申请相关的术语。
计算机视觉中关于图像识别有四大类任务:
(1)分类-Classification:解决“是什么?”的问题,即给定一张图片或一段视频判断里面包含什么类别的目标。图1是图像识别中分类、定位、检测和分割任务的结果示意图,如图1中的(a)图片所示,该张图片中包括单个目标,电子设备识别出该图片中包含动物,或者包含猫科动物等。
(2)定位-Location:解决“在哪里?”的问题,即定位出这个目标的位置。如图1中的(b)图片所示,该张图片中包括单个目标,电子设备将该图片中的猫框选后,得到该猫的检测框b1。
(3)检测-Detection:解决“在哪里?是什么?”的问题,即定位出这个目标的位置并且知道目标物是什么。目标检测(Object Detection)的任务是找出图像中所有感兴趣的目标(物体),确定它们的类别和位置,如图1中的(c)图片所示,该张图片中包括多个目标,例如猫、狗、草木等,电子设备将该图片中的猫、狗、草木框选后,得到草木的检测框c1、狗的检测框c2、猫的检测框c3和c4。
(4)分割-Segmentation:分为实例的分割(instance)和语义分割(semantic),解决“每一个像素属于哪个目标物或场景”的问题。如图1中的(d)图片所示,该张图片中包括多个目标,例如猫、狗、玩具鸭子、盆、树木等,电子设备将该图片中分别属于猫、狗、草木的区域框选后,得到草木的分割区域d1、狗的分割区域d2、猫的分割区域d3和d4。
下面将结合附图和文字描述对本申请实施例做进一步描述。
本申请的图像处理方法适用于各种图像处理场景,例如人脸识别和物品识别,人脸识别主要运用在安全检查、身份核验与移动支付中;物品识别包括植物识别、动物识别、汽车识别、食物识别、商品识别等,其中商品主要运用在商品流通过程中,特别是无人货架、智能零售柜等无人零售领域等。下面以图像识别为例,介绍本申请技术方案。
图2根据本申请的一些实施例,示出了一种图像数据处理方法的应用场景示意图,如图2所示,该应用场景包括电子设备100和待识别图像A。
在该应用场景中,用户可以利用电子设备100的图像识别功能,识别出拍摄到的待识别图像A中对象的种类,例如,若待识别图像A中有一个动物:小猫,则电子设备100可以识别出该动物为猫,并在显示界面显示识别信息:”识别结果为小猫!”。
通常,电子设备100通过神经网络模型对图像进行识别,如前所述,电子设备100的图像信号处理器按行输出图像数据到缓冲器,同时神经网络处理器从缓冲器按行读取数据进行图像处理,但是,由于图像信号处理器向缓冲器写数据和神经网络处理器向缓冲器读数据的速度并不一定匹配,存储缓冲器存满溢出导致图像信号处理器写入数据丢失的问题,影响图像的完整性和后面神经网络处理器推理的精度,导致如图像识别准确度下降的问题。
故在本申请实施例公开的图像数据处理方法中,通过对丢失的图像行数据进行数据拟合补充,将由于读写速度不一致导致的溢出的图像数据补充完成,然后发送给神经网络处理器进行分类、定位、检测、分割等图像处理,从而提高图像数据的完整性,在一定程度上,进一步提高神经网络处理器推理精度,提高图像识别准确度。
适用于本申请的电子设备100可以为具有图像处理功能的各种设备,例如手机、手表、电脑、服务器等,但并不限于此。
图3A根据本申请的一些实施例,示出了一种适用于本申请实施例的电子设备100的结构示意图,如图3A所示,该电子设备100至少包括图像信号处理器(image signalprocessor,ISP)101、缓冲器(buffer)102、神经网络处理器(neural-network processingunit,NPU)103、摄像头104、显示器105、中央处理器106和总线107。
摄像头104与图像信号处理器(image signal processor,ISP)101连接,图像信号处理器(image signal processor,ISP)101和缓冲器(buffer)102连接,缓冲器(buffer)102和神经网络处理器(neural-network processing unit,NPU)103连接,ISP101、NPU103、显示器105、中央处理器106接入总线107。即总线107用于耦接ISP 101、缓冲器102、NPU103、CPU 105、显示器106。总线107可以是高级高性能总线(advanced high-performancebus,AHB),也可以是其他类型的数据总线。
图3B根据本申请的一些实施例,示出了一种缓冲器102读写数据的示意图。
下面基于图3A和图3B的结构,示例性详细介绍一下缓冲器102存在数据丢失的问题的示意图,
假设,缓冲器102中设置10行的FIFO(先进先出)缓冲存储空间,一边ISP101向缓冲器102一行一行写数据,另一边NPU 103从缓冲器102一行一行读数据,若ISP 101写入数据的速度和NPU 103读出数据的速度差不多,不会出现缓冲器102溢出情况。若某时刻由于系统负载的变化,导致NPU 103读出数据的速度慢于ISP 101写入数据的速度,则会出现缓冲器102溢出的情况。如ISP 101写到第5行,NPU 103正在读第5行的数据,但第6行的数据还没有被NPU 103读出,这时就会发生缓冲器102存在溢出的情况,缓冲器102写逻辑会将新到的ISP一行(例如预期存入的第6行)或者几行(例如预期存入的第6、7行)数据丢失,这样的情况下数据送给NPU 103做神经网络模型推理,影响推理精度,例如,使图像识别准确度降低。
为了解决该问题,本申请实施例提出的缓冲器102用于存储经图像信号处理器101处理后的图像数据,并在需要存储的图像数据中的部分图像数据丢失的情况下,即将丢失的图像数据补充后,发送给神经网络处理(neural-network processing unit,NPU)103进行分类、定位、检测、分割等图像识别处理。可以理解,缓冲器102将溢出的图像数据补充后,发送给神经网络模型进行分类、定位、检测、分割等图像识别处理,以提高图像数据的完整度,从而在一定程度上,可以进一步提高神经网络模型图像识别准确度。
下面将具体介绍适用于本申请的电子设备100中,缓冲器102与其他部件之间的关系。
摄像头104用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。在一些实施例中,电子设备100可以包括1个或N个摄像头104,N为大于1的正整数。电子设备100可以通过ISP,摄像头104,视频编解码器,GPU,显示器105以及应用处理器等实现拍摄功能。在本申请实施例中,摄像头104可以用于获取待识别图像A。
图像信号处理器101,又称影像处理器。在摄像头104成像的整个环节中,它负责接收感光元件(Sensor)的原始信号数据,并对原始信号数据进行处理。ISP的内部包含多个图像算法处理模块,例如扣暗电流(去掉底电流噪声),线性化(解决数据非线性问题),shading(解决镜头带来的亮度衰减与颜色变化),去坏点(去掉sensor中坏点数据),去噪(去除噪声),demosaic(raw数据转为RGB数据),3A(自动白平衡,自动对焦,自动曝光),gamma(亮度映射曲线,优化局部与整体对比度),旋转(角度变化),锐化(调整锐度),缩放(放大缩小),色彩空间转换(转换到不同色彩空间进处理),颜色增强(可选,调整颜色),肤色增强(可选,优化肤色表现)等。
神经网络处理器(neural-network processing unit,NPU)103用于并接收缓冲器102发送的用于图像识别的图像数据,并利用自身存储的神经网络模型进行神经网络推理,例如图像识别网络,用于实现图1中的分类、定位、检测和分割的功能。
显示器105用于显示图像、文字、视频等。显示器105包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emitting diode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light emitting diode的,AMOLED),柔性发光二极管(flex light-emitting diode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dotlight emitting diodes,QLED)等。电子设备100通过GPU,显示器105,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示器105和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。本申请实施例中,显示器105用于显示图像识别结果,例如,在显示界面显示识别信息:“识别结果为小猫!”。
中央处理器106(Central Processing Unit,CPU)可以包括一个或多个处理单元,例如,可以包括图像处理器GPU(Graphics Processing Unit)、数字信号处理器DSP(Digital Signal Processor)、微处理器MCU(Micro-programmed Control Unit)、AI(Artificial Intelligence,人工智能)处理器或可编程逻辑器件FPGA(FieldProgrammable GateArray)等的处理模块或处理电路。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
可以理解的是,本发明实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
图4根据本申请的一些实施例,示出了一种图像数据处理过程中图像信号缓冲器102判断数据是否溢出的流程示意图,如图4所示,该方法包括:
步骤401:图像信号处理器101从摄像头104获取图像数据A1。
可以理解,图像数据A1包括至少一帧图像的图像数据,并且每一帧图像的图像数据包括至少一行行数据。图像数据可以包括图像中的像素点的像素值,例如灰度图像中的每个像素点的像素值,彩色图像中的每个像素点的R、G、B像素值等。
可以理解,在一些实施例中,图像信号处理器101可以将获取到的图像数据A1经过如上述去噪(去除噪声),demosaic(raw数据转为RGB数据),3A(自动白平衡,自动对焦,自动曝光),gamma(亮度映射曲线,优化局部与整体对比度),旋转(角度变化),锐化(调整锐度),缩放(放大缩小),色彩空间转换(转换到不同色彩空间进处理),颜色增强(可选,调整颜色),肤色增强(可选,优化肤色表现)等至少一种或者多种方式处理得到图像数据A1,发送给缓冲器102。
步骤402:图像信号处理器101按行向缓冲器102发送整帧图像数据A2中的第N行数据。
可以理解,图像数据A2可以是图像数据A1中一帧图像的数据,缓冲器102按行将接收的数据存在FIFO(先进先出)的存储阵列。
步骤403:缓冲器102按行接收第N行数据,并根据读写控制逻辑判断缓冲器102存储区域是否溢出,若是,则转至步骤405:在溢出的对应行做标记,并丢失溢出的数据。若否,则转至步骤404。
可以理解,缓冲器102根据读写逻辑控制判断接收第N行数据的过程中是否有数据丢失,丢失的数据是指图像信号处理器101向缓冲器102写数据和神经网络处理器103从缓冲器102读取的速度不匹配时,例如,ISP101向缓冲器102写入数据的写入速度大于NPU103读取写入的数据的读取速度,图像信号处理器101未写入缓冲器102的部分数据。
步骤404:缓冲器102按行将接收的第N行数据存入缓冲器102的存储区域。
步骤406:缓冲器102判断整帧图像数据A2是否接收和写入完成。若是,则结束,若否,则缓冲器102开始接收第N+1行数据写入。
对应于图4,图5根据本申请的一些实施例,示出了一种图像数据处理过程中图像信号缓冲器102补充溢出的数据的流程示意图,如图5所示,该方法包括:
步骤501:神经网络处理器103按行从缓冲器102读取第M行数据。
M为自然数,且第M行数据可以图像数据流中的某一行数据,例如是上述第0行数据至第N行数据中的某一行数据。
步骤502:缓冲器102判断丢失的标记行数是否大于设定值。若是,则转至步骤503:缓冲器102丢失整帧图像数据A2中,清空缓冲器102,通知图像信号处理器101和神经网络处理器103,同步到下一帧数据。若否,则转至步骤504。
可以理解的是,当丢失的行数据太多的时候,图像数据中会存在过多的补充数据,容易影响推理精度,例如,使图像识别准确度降低。因此,只有当丢失的行数据在预设行数之内,才对丢失的行数据进行数据补充操作,例如,小于等于10行,或者小于等于3行。
而当丢失的行数据大于预设行数的情况下,则丢失整帧图像数据A2中,通知图像信号处理器101和神经网络处理器103,等到下一帧数据开始存储。
步骤504:缓冲器102读出数据的过程中判断是否遇到行丢失标记。若否,则神经网络处理器103按行从缓冲器102读取第M行数据。若是,则执行步骤505。
步骤505:神经网络处理器103通知缓冲器102对应地补充丢失的数据A3,缓冲器102向神经网络处理器103发送数据A3。
可以理解,对于一个w宽、h高的图像(像素图),在水平方向,有h行,每一行有w个像素;在垂直方向,有w列,每一列有h个像素,整个图形有w*h个像素。我们把这个像素叫做图像像素。下面以5宽、4高的图像(像素图)为例进行说明,该5宽、4高的图像(像素图)表示在水平方向,有4行,每一行有5个像素;在垂直方向,有5列,每一列有4像素,整个图像有20个像素。
例如,图6根据本申请的一些实施例,示出了一种图像数据溢出的示意图,如图6所示,以缓冲器102向神经网络处理器103发送的图像数据流中部分图像数据为例,例如可以是整帧图像数据A2中的部分图像数据,若L1行图像数据、L2行图像数据、L3行图像数据和L4行图像数据为缓冲器102当前时间存储的图像数据,D1为缓冲器102标记的丢失行。
在某些情况下出现缓冲器102溢出,如ISP101向缓冲器102写入数据的速度大于NPU103读取速度时会出现写入数据溢出的情况,D1就是标记的丢失行,此外,丢失行还以有其他形式的标记,但不限于此。
缓冲器102可以依次向神经网络处理器103发送当前时间存储的L1行图像数据、L2行图像数据、L3行图像数据。在缓冲器102读到该标记时进行实时计算并补充得到数据A3,然后将数据A3发送给神经网络处理器103。
针对溢出数据的情况,缓冲器102采用某种数据后处理机制,可以保证对以后的AI推理没有实质性影响。例如,如果缓冲器102数据溢出,将丢失一行或几行数据,数据丢失处理可以是:如果丢失一行数据,对该行进行全零、全255补充,或用插值补充这一行数据;如果丢失几行数据(如10行以内),其他行采用类似的全零、全255、插值方式补充;如果丢失行数据过多(如大于10行),会对后面神经网络处理器推理精度有比较大的影响,直接抛弃该帧图像数据,接受下一帧图像数据。
即缓冲器102可以通过如下方式对D1行进行数据补充操作,得到数据A3。数据后处理机制至少包括以下三种方式:
(1)全零补充方式
例如,图7根据本申请的一些实施例,示出了一种对图5中丢失的行数据进行全零补充后的结果示意图;如图7所示,将D1行的5个像素的像素值进行全零补充。
(2)全255补充方式
例如,图8根据本申请的一些实施例,示出了一种对图5中丢失的行数据进行全255补充后的结果示意图;如图8所示,将D1行的5个像素的像素值进行全255补充。
(3)插值补充方式,即相邻像素值进行加权平均处理得到。
在一些实施例中,其中一种插值补充方式为,将待补充图像数据的上下相邻行对应的同列图像数据求和后平均,得到补充数据,即对上下相邻行数据对应的同一列图像数据进行加权处理得到,权重值为0.5。
例如,图9根据本申请的一些实施例,示出了一种对图5中丢失的行数据进行插值补充后的结果示意图;如图9所示,缓冲器102将D1行的5个像素中的每个像素的上下相邻行像素值求和平均,得到补充数据。具体地,缓冲器102根据D1行的5个像素中每个像素的存储地址找到上下相邻行像素的存储地址对应的像素值后,求和平均后,得到5个像素对应的补充数据。
例如,D1行的第一列像素的像素值38为L3行的第一列像素的像素值25和L4行的第一列像素的像素值51求和后平均得到的。
D1行的第二列像素的像素值60为L3行的第二列像素的像素值76和L4行的第二列像素的像素值43求和后平均得到的。
D1行的第三列像素的像素值92为L3行的第三列像素的像素值155和L4行的第三列像素的像素值29求和后平均得到的。
D1行的第四列像素的像素值128为L3行的第四列像素的像素值167和L4行的第四列像素的像素值88求和后平均得到的。
D1行的第四列像素的像素值132为L3行的第四列像素的像素值190和L4行的第四列像素的像素值74求和后平均得到的。
在另外一些实施例中,上述插值补充方式为:将周围相邻图像数据求和后的平均值作为补充数据,即将待补充图像数据的前一行和后一行对应的同一列的图像数据以及前一行和后一行对应的前一列的图像数据的平均值,作为补充值。若待补充图像数据是有G个数据进行加权处理得到,权重值为1/G。
例如,图10根据本申请的一些实施例,示出了一种对图5中丢失的行数据进行另一种插值补充后的结果示意图;如图10所示,缓冲器102将D1行的5个像素中的每个像素的周围相邻行像素值求和后平均,得到补充数据。具体地,缓冲器102根据D1行的5个像素中每个像素的存储地址找到周围相邻行像素的存储地址对应的像素值后,求和平均后,得到5个像素对应的补充数据。
例如,D1行的第一列像素的像素值38为L3行的第一列像素的像素值25和L4行的第一列像素的像素值51求和后平均得到的。
D1行的第二列像素的像素值47为L3行的第一列像素的像素值25、L3行的第二列像素的像素值76、L4行的第一列像素的像素值51、L4行的第二列像素的像素值43以及D1行的第一列像素的像素值38求和后平均得到的。
D1行的第三列像素的像素值70为L3行的第二列像素的像素值76、L3行的第三列像素的像素值155、L4行的第二列像素的像素值43、L4行的第三列像素的像素值29以及D1行的第二列像素的像素值47求和后平均得到的。
D1行的第四列像素的像素值102为L3行的第三列像素的像素值155、L3行的第四列像素的像素值167、L4行的第三列像素的像素值29、L4行的第四列像素的像素值88以及D1行的第三列像素的像素值70求和后平均得到的。
D1行的第四列像素的像素值124为L3行的第四列像素的像素值167、L3行的第四列像素的像素值190、L4行的第四列像素的像素值88、L4行的第四列像素的像素值74以及D1行的第四列像素的像素值102求和后平均得到的。
步骤506:缓冲器102向神经网络处理器103发送第M行数据。
步骤507:缓冲器102判断整帧图像数据A2是否已经读出和发送完成,若是,则结束,若否,则转至步骤508。
步骤508:缓冲器102开始接收第M+1行数据读出,然后继续执行步骤501,直至结束。
可以理解,神经网络处理器103接收到缓冲器102发送的整帧图像数据A2,便可以利用该整帧图像数据A2进行图像识别操作了。
此外,可以理解的是,在其他一些实施例中,神经网络处理器103还可以接收图像数据A1,利用图像数据A1进行图像识别操作。
实施例二
实施例二与实施例一不同的是,缓冲器102在判断出存在溢出的图像数据的情况下,会根据图像识别的任务类型,例如分类、定位、检测和分割任务,确定补充操作的方式,以提高图像数据的完整度,从而在一定程度上,可以进一步提高NPU算法处理精度,例如图像识别准确度。
对应于图4,图11根据本申请的一些实施例,示出了一种图像数据处理方法的流程示意图,如图11所示,该方法包括:
步骤1101至步骤1104分别与步骤501至步骤504的技术手段相同,在此不再赘述。
步骤1005:神经网络处理器103通知缓冲器102根据图像处理的任务类型对应地补充丢失的数据,得到数据A3,缓冲器102向神经网络处理器103发送数据A3。
在补充数据的方式中,由于分割-Segmentation解决“每一个像素属于哪个目标物或场景”的问题,对图像数据的完整度的要求较高,可以采用与周围相邻像素值进行插值补充方式,图像识别中的分类、定位、检测任务对图像数据的完整度没有这么高,可以采用全零补充方式或全255补充方式。补0或者补255是最简单的方法,不需要运算,在降低计算量的同时保证图像像素值的完整性。且实验证明,通过用补充丢失数据的这类后处理,对后续的神经网络推理没有实质性影响。如此,神经网络处理器103根据对图像数据的完整度的不同要求,根据表示图像识别的任务类型的标识信息,选择不同的补充数据方式,在提高图像数据的完整度的基础上,还可以进一步提高NPU算法处理精度,例如图像识别准确度。
例如,对于分类、定位、检测阶段,缓冲器102可以将丢失的行数据进行全零补充操作或全255补充操作得到数据A3,将该数据A3发送给神经网络处理器103。
而对于分割阶段,缓冲器102可以将丢失的行数据与周围相邻像素值进行插值补充操作(同上述插值补充方式)得到数据A3,并将该数据A3发送给神经网络处理器103。
此外,若对于神经网络模型,只具有图像分类、定位或检测功能,缓冲器102可以将丢失的行数据进行全零补充操作或全255补充操作得到数据A3,并将该数据A3发送给神经网络处理器103,神经网络处理器103在执行图像分类、定位或检测功能的情况下,便可以使用数据A3。
若对于神经网络模型,只具有图像分割功能,缓冲器102可以将丢失的行数据与周围相邻像素值进行插值补充操作得到数据A3,将该数据A3发送给神经网络处理器103,神经网络处理器103在执行图像分割功能的情况下,便可以使用数据A3。
步骤1106至步骤1108分别与步骤506至步骤508的技术手段相同,在此不再赘述。
图12根据本申请的一些实施例,示出了一种缓冲器的结构示意图,如图12所示,缓冲器102包括写控制逻辑模块1021、存储单元1022、读控制逻辑模块1023、AXI接口1024、AXI总线1025、AXI接口1026、AXI总线1027。
其中,存储单元1022用于存储数据,写控制逻辑模块1021用于控制存储单元1022通过AXI接口1024和AXI总线1025接收其他设备或部件发送的数据并将其写入到存储单元1022中,读控制逻辑1023用于通过AXI接口1026和AXI总线1027控制其他设备或部件从存储单元1022中读数据。
在本申请的一些实施例中,例如,写控制逻辑模块1021按行接收第N行数据,并根据读写控制逻辑判断存储单元1022是否溢出,若是,则在溢出的对应行做标记,并丢失溢出的数据。若否,则按行将接收的第N行数据存入缓冲器102的存储区域。
写控制逻辑模块1021判断整帧图像数据A2是否接收和写入完成。若是,则结束,若否,则写控制逻辑模块1021开始接收第N+1行数据写入,直至结束。
在一些实施例中,对应于上述写控制逻辑模块1021的写入过程,读控制逻辑模块1023的读出过程可以包括如下执行步骤:
读控制逻辑模块1023判断丢失的标记行数是否大于设定值。若是,则读控制逻辑模块1023丢失整帧图像数据A2中,清空缓冲器102,通知图像信号处理器101和神经网络处理器103,同步到下一帧数据。若否,则读控制逻辑模块1023在读出数据的过程中判断是否遇到行丢失标记。若否,则神经网络处理器103按行从读控制逻辑模块1023读取第M行数据。若是,则神经网络处理器103通知读控制逻辑模块1023对应地补充丢失的数据,,得到数据A3,读控制逻辑模块1023向神经网络处理器103发送数据A3。读控制逻辑模块1023向神经网络处理器103发送第M行数据。读控制逻辑模块1023判断整帧图像数据A2是否已经读出和发送完成,若是,则结束,若否,则读控制逻辑模块1023开始接收第M+1行数据读出,然后继续执行上述步骤,直至结束。
在另一些实施例中,对应于上述写控制逻辑模块1021的写入过程,读控制逻辑模块1023的读出过程可以包括如下执行步骤:
读控制逻辑模块1023判断丢失的标记行数是否大于设定值。若是,则读控制逻辑模块1023丢失整帧图像数据A2中,清空缓冲器102,通知图像信号处理器101和神经网络处理器103,同步到下一帧数据。若否,则读控制逻辑模块1023在读出数据的过程中判断是否遇到行丢失标记。若否,则神经网络处理器103按行从读控制逻辑模块1023读取第M行数据。若是,则神经网络处理器103通知读控制逻辑模块1023根据图像处理的任务类型对应地补充丢失的数据,得到数据A3,读控制逻辑模块1023向神经网络处理器103发送数据A3。读控制逻辑模块1023向神经网络处理器103发送第M行数据。读控制逻辑模块1023判断整帧图像数据A2是否已经读出和发送完成,若是,则结束,若否,则读控制逻辑模块1023开始接收第M+1行数据读出,然后继续执行上述步骤,直至结束。
本申请公开的机制的各实施例可以被实现在硬件、软件、固件或这些实现方法的组合中。本申请的实施例可实现为在可编程系统上执行的计算机程序或程序代码,该可编程系统包括至少一个处理器1404、存储系统(包括易失性和非易失性存储器和/或存储元件)、至少一个输入设备以及至少一个输出设备。
可将程序代码应用于输入指令,以执行本申请描述的各功能并生成输出信息。可以按已知方式将输出信息应用于一个或多个输出设备。为了本申请的目的,处理系统包括具有诸如例如数字信号处理器1404(DSP)、微控制器、专用集成电路(ASIC)或微处理器1404之类的处理器1404的任何系统。
程序代码可以用高级程序化语言或面向对象的编程语言来实现,以便与处理系统通信。在需要时,也可用汇编语言或机器语言来实现程序代码。事实上,本申请中描述的机制不限于任何特定编程语言的范围。在任一情形下,该语言可以是编译语言或解释语言。
在一些情况下,所公开的实施例可以以硬件、固件、软件或其任何组合来实现。所公开的实施例还可以被实现为由一个或多个暂时或非暂时性机器可读(例如,计算机可读)存储介质承载或存储在其上的指令,其可以由一个或多个处理器1404读取和执行。例如,指令可以通过网络或通过其他计算机可读介质分发。因此,机器可读介质可以包括用于以机器(例如,计算机)可读的形式存储或传输信息的任何机制,包括但不限于,软盘、光盘、光碟、只读存储器(CD-ROMs)、磁光盘、只读存储器(ROM)、随机存取存储器(RAM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、磁卡或光卡、闪存、或用于利用因特网以电、光、声或其他形式的传播信号来传输信息(例如,载波、红外信号数字信号等)的有形的机器可读存储器。因此,机器可读介质包括适合于以机器(例如,计算机)可读的形式存储或传输电子指令或信息的任何类型的机器可读介质。
在附图中,可以以特定布置和/或顺序示出一些结构或方法特征。然而,应该理解,可能不需要这样的特定布置和/或排序。而是,在一些实施例中,这些特征可以以不同于说明性附图中所示的方式和/或顺序来布置。另外,在特定图中包括结构或方法特征并不意味着暗示在所有实施例中都需要这样的特征,并且在一些实施例中,可以不包括这些特征或者可以与其他特征组合。
需要说明的是,本申请各设备实施例中提到的各单元/模块都是逻辑单元/模块,在物理上,一个逻辑单元/模块可以是一个物理单元/模块,也可以是一个物理单元/模块的一部分,还可以以多个物理单元/模块的组合实现,这些逻辑单元/模块本身的物理实现方式并不是最重要的,这些逻辑单元/模块所实现的功能的组合才是解决本申请所提出的技术问题的关键。此外,为了突出本申请的创新部分,本申请上述各设备实施例并没有将与解决本申请所提出的技术问题关系不太密切的单元/模块引入,这并不表明上述设备实施例并不存在其它的单元/模块。
需要说明的是,在本专利的示例和说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
虽然通过参照本申请的某些优选实施例,已经对本申请进行了图示和描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作各种改变,而不偏离本申请的精神和范围。
Claims (12)
1.一种图像数据处理方法,应用于电子设备,其特征在于,所述电子设备包括缓冲器和处理器,所述方法包括:
所述缓冲器按行对接收到的第一图像数据进行存储,并对丢失的行数据进行标记,所述处理器从所述缓冲器读存储的所述第一图像数据;
所述缓冲器在判断有数据丢失标记的行的情况下,对丢失的图像数据进行数据补充操作,得到补充的图像数据;
所述缓冲器向所述处理器发送所述补充的图像数据。
2.根据权利要求1所述的方法,其特征在于,所述缓冲器根据所述处理器的不同图像处理任务类型,对所述丢失的图像数据进行不同的数据补充操作。
3.根据权利要求2所述的方法,其特征在于,所述图像处理任务类型包括分类任务、定位任务、检测任务和分割任务中的至少一种。
4.根据权利要求3所述的方法,其特征在于,所述缓冲器在所述图像处理任务类型为分类任务、定位任务或者检测任务的情况下,将预设值作为补充的图像数据。
5.根据权利要求4所述的方法,其特征在于,所述预设值为0或者255。
6.根据权利要求1所述的方法,其特征在于,所述缓冲器在所述图像处理任务类型为分割任务的情况下的补充操作包括:
所述缓冲器获取与丢失的第H行图像数据相邻的第H-1行数据和第H+1行数据;
所述缓冲器将第H-1行数据和第H+1行数据相同列的数据的平均值作为所述丢失的第H行图像数据的补充图像数据。
7.根据权利要求1所述的方法,其特征在于,所述缓冲器在所述图像处理任务类型为分割任务的情况下的补充操作包括:
所述缓冲器获取与丢失的图像数据相邻的多个图像数据,并将所述相邻的多个图像数据的平均值作为所述丢失的图像数据的补充图像数据。
8.根据权利要求1所述的方法,其特征在于,所述处理器为神经网络处理器。
9.根据权利要求1所述的方法,其特征在于,所述电子设备还包括图像信号处理器,所述缓冲器从所述图像信号处理器获取所述第一图像数据。
10.根据权利要求1所述的方法,其特征在于,所述缓冲器在判断出丢失的行数据在预设行数之内的情况下,对丢失的图像数据进行数据补充操作,得到补充的图像数据。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有指令,所述指令在电子设备上执行时使电子设备执行权利要求1至10中任一项所述的图像数据处理方法。
12.一种电子设备,其特征在于,所述电子设备包括缓冲器和处理器,所述方法包括:
所述缓冲器用于按行对接收到的第一图像数据进行存储,并对丢失的行数据进行标记,所述处理器用于从所述缓冲器读存储的所述第一图像数据;
所述缓冲器用于在判断有数据丢失标记的行情况下,对丢失的图像数据进行数据补充操作,得到补充的图像数据;
所述缓冲器用于向所述处理器发送所述补充的图像数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110687841.4A CN113422904A (zh) | 2021-06-21 | 2021-06-21 | 图像数据处理方法、介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110687841.4A CN113422904A (zh) | 2021-06-21 | 2021-06-21 | 图像数据处理方法、介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113422904A true CN113422904A (zh) | 2021-09-21 |
Family
ID=77789623
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110687841.4A Pending CN113422904A (zh) | 2021-06-21 | 2021-06-21 | 图像数据处理方法、介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113422904A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101883282A (zh) * | 2007-05-17 | 2010-11-10 | 索尼株式会社 | 信息处理设备和方法 |
US20120081580A1 (en) * | 2010-09-30 | 2012-04-05 | Apple Inc. | Overflow control techniques for image signal processing |
US20130235149A1 (en) * | 2012-03-08 | 2013-09-12 | Ricoh Company, Limited | Image capturing apparatus |
CN108521824A (zh) * | 2017-08-31 | 2018-09-11 | 深圳市大疆创新科技有限公司 | 图像处理装置、方法及相关电路 |
CN108765339A (zh) * | 2018-05-29 | 2018-11-06 | 上海大学 | 一种网络化视觉倒立摆系统图像信息丢失修复方法 |
CN110830385A (zh) * | 2019-09-25 | 2020-02-21 | 上海数荃数据科技有限公司 | 一种捕包处理方法、网络设备、服务器及存储介质 |
-
2021
- 2021-06-21 CN CN202110687841.4A patent/CN113422904A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101883282A (zh) * | 2007-05-17 | 2010-11-10 | 索尼株式会社 | 信息处理设备和方法 |
US20120081580A1 (en) * | 2010-09-30 | 2012-04-05 | Apple Inc. | Overflow control techniques for image signal processing |
US20130235149A1 (en) * | 2012-03-08 | 2013-09-12 | Ricoh Company, Limited | Image capturing apparatus |
CN108521824A (zh) * | 2017-08-31 | 2018-09-11 | 深圳市大疆创新科技有限公司 | 图像处理装置、方法及相关电路 |
CN108765339A (zh) * | 2018-05-29 | 2018-11-06 | 上海大学 | 一种网络化视觉倒立摆系统图像信息丢失修复方法 |
CN110830385A (zh) * | 2019-09-25 | 2020-02-21 | 上海数荃数据科技有限公司 | 一种捕包处理方法、网络设备、服务器及存储介质 |
Non-Patent Citations (1)
Title |
---|
郭柳柳等: "基于FPGA高速图像数据的存储及显示设计", 《电子技术应用》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110334635B (zh) | 主体追踪方法、装置、电子设备和计算机可读存储介质 | |
WO2020259118A1 (en) | Method and device for image processing, method and device for training object detection model | |
CN110149482B (zh) | 对焦方法、装置、电子设备和计算机可读存储介质 | |
WO2020192483A1 (zh) | 图像显示方法和设备 | |
WO2020238560A1 (zh) | 视频目标跟踪方法、装置、计算机设备及存储介质 | |
CN110248096B (zh) | 对焦方法和装置、电子设备、计算机可读存储介质 | |
US10872420B2 (en) | Electronic device and method for automatic human segmentation in image | |
CN108765278B (zh) | 一种图像处理方法、移动终端及计算机可读存储介质 | |
CN108961302B (zh) | 图像处理方法、装置、移动终端及计算机可读存储介质 | |
US20190236393A1 (en) | Method of controlling image acquisition and other related tools | |
CN110660090B (zh) | 主体检测方法和装置、电子设备、计算机可读存储介质 | |
US10867390B2 (en) | Computer vision processing | |
US11417007B2 (en) | Electronic apparatus and method for controlling thereof | |
CN107959798B (zh) | 视频数据实时处理方法及装置、计算设备 | |
CN109005367B (zh) | 一种高动态范围图像的生成方法、移动终端及存储介质 | |
CN112819858B (zh) | 基于视频增强的目标跟踪方法、装置、设备及存储介质 | |
KR20200047389A (ko) | 이미지 내의 동작 정보에 기초한 동적 이미지 캡처 방법 및 장치 | |
CN110490196A (zh) | 主体检测方法和装置、电子设备、计算机可读存储介质 | |
CN110378934B (zh) | 主体检测方法、装置、电子设备和计算机可读存储介质 | |
US20230131589A1 (en) | Method and electronic device for segmenting objects in scene | |
CN116740375A (zh) | 一种图像特征提取方法、系统及介质 | |
CN116403200A (zh) | 基于硬件加速的车牌实时识别系统 | |
CN113422904A (zh) | 图像数据处理方法、介质及电子设备 | |
CN110880003A (zh) | 一种图像匹配方法、装置、存储介质及汽车 | |
CN115249269A (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: 20210921 |