CN108701348A - 处理图像的方法、集成电路、处理器、系统和可移动设备 - Google Patents
处理图像的方法、集成电路、处理器、系统和可移动设备 Download PDFInfo
- Publication number
- CN108701348A CN108701348A CN201780005452.0A CN201780005452A CN108701348A CN 108701348 A CN108701348 A CN 108701348A CN 201780005452 A CN201780005452 A CN 201780005452A CN 108701348 A CN108701348 A CN 108701348A
- Authority
- CN
- China
- Prior art keywords
- image
- data block
- integrated circuit
- memory
- storage space
- 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
- 238000000034 method Methods 0.000 title claims abstract description 56
- 238000012545 processing Methods 0.000 claims abstract description 85
- 230000015654 memory Effects 0.000 claims abstract description 65
- 238000004364 calculation method Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 11
- 230000003287 optical effect Effects 0.000 description 10
- 238000013461 design Methods 0.000 description 7
- 239000013598 vector Substances 0.000 description 4
- RZVHIXYEVGDQDX-UHFFFAOYSA-N 9,10-anthraquinone Chemical compound C1=CC=C2C(=O)C3=CC=CC=C3C(=O)C2=C1 RZVHIXYEVGDQDX-UHFFFAOYSA-N 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000009432 framing Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 239000013603 viral vector Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
Abstract
公开了一种处理图像的方法、集成电路、处理器、计算机系统和可移动设备。该方法包括:获取第一图像的第一特征点对应的第一数据块;将该第一数据块存储到内存中连续的第一存储空间中,并记录该第一特征点与该第一存储空间的对应关系。本发明实施例的技术方案,能够提高处理效率。
Description
版权申明
本专利文件披露的内容包含受版权保护的材料。该版权为版权所有人所有。版权所有人不反对任何人复制专利与商标局的官方记录和档案中所存在的该专利文件或者该专利披露。
技术领域
本发明涉及信息技术领域,并且更具体地,涉及一种处理图像的方法、集成电路、处理器、计算机系统和可移动设备。
背景技术
目前在现场可编程门阵列(Field-Programmable Gate Array,FPGA),或专用集成电路(Application Specific Integrated Circuit,ASIC)等的设计上,内存,例如双倍速率同步动态随机存储器(Double Data RateSynchronous Dynamic Random AccessMemoryDDRSDRAM)的带宽越来越成为系统设计的瓶颈。因此,尽可能的降低每个设备访问内存的带宽,对系统性能的提升很有益处。
例如,图像处理算法在处理图像时,可能会需要从内存中读取图像的数据,如果采取随机访问读取,那么内存的带宽可能会占用很多,影响处理效率,在系统上也影响其他设备抢占内存的带宽,进而影响整个系统的性能。
因此,如何提高处理效率成为芯片设计中一个亟待解决的技术问题。
发明内容
本发明实施例提供了一种处理图像的方法、集成电路、处理器、计算机系统和可移动设备,能够提高处理效率。
第一方面,提供了一种处理图像的方法,包括:获取第一图像的第一特征点对应的第一数据块;将该第一数据块存储到内存中连续的第一存储空间中,并记录该第一特征点与该第一存储空间的对应关系。
第二方面,提供了一种集成电路,包括:处理单元和缓存;其中,该处理单元,用于从该缓存中获取第一图像的第一特征点对应的第一数据块;将该第一数据块存储到内存中连续的第一存储空间中,并记录该第一特征点与该第一存储空间的对应关系。
第三方面,提供了一种处理器,包括上述第二方面的集成电路。
第四方面,提供了一种计算机系统,包括上述第二方面的集成电路或者第三方面的处理器,以及内存。
第五方面,提供了一种计算机系统,包括:存储器,用于存储计算机可执行指令;处理器,用于访问所述存储器,并执行所述计算机可执行指令,以进行上述第一方面的方法中的操作。
第六方面,提供了一种可移动设备,包括:上述第二方面的集成电路;或者,上述第三方面的处理器;或者,上述第四或第五方面的的计算机系统。
第七方面,提供了一种计算机存储介质,该计算机存储介质中存储有程序代码,该程序代码可以用于指示执行上述第一方面的方法。
本发明实施例的技术方案,将特征点对应的数据块在内存中连续存储,并记录特征点与存储空间的对应关系。这样,在需要读取特征点对应的数据块时,可以根据该对应关系将该数据块从存储空间中连续读取,相对于随机访问读取,可以提高读取效率,从而能够提高处理效率。
附图说明
图1是应用本发明实施例的技术方案的架构图。
图2是本发明实施例的可移动设备的示意性架构图。
图3是本发明实施例的处理图像的方法的示意性流程图。
图4是本发明实施例的集成电路的示意性框图。
图5是本发明一个实施例的计算机系统的示意性框图。
图6是本发明另一个实施例的计算机系统的示意性框图。
具体实施方式
下面将结合附图,对本发明实施例中的技术方案进行描述。
应理解,本文中的具体的例子只是为了帮助本领域技术人员更好地理解本发明实施例,而非限制本发明实施例的范围。
还应理解,在本发明的各种实施例中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
还应理解,本说明书中描述的各种实施方式,既可以单独实施,也可以组合实施,本发明实施例对此并不限定。
本发明实施例的技术方案可以应用于各种图像处理算法,例如Kanade-Lucas-Tomasi(KLT)算法、brief算法或者orb算法等,但本发明实施例对此并不限定。
图像处理算法在处理图像时,会涉及到特征点的处理。本发明实施例的技术方案将特征点对应的数据块存储到内存中连续的存储空间中,并记录特征点与存储空间的对应关系,这样可以从内存中连续读取该数据块,提高读取效率,从而能够提高处理效率。
在一些可能的设计中,获取特征点的方式可以由图像处理算法决定,例如harris角点算法、FAST(features from accelerated segment test)算法来检测特征点等等,本发明实施例对此并不限定。
在一些可能的设计中,特征点的数据块可以包括图像处理算法针对该特征点选取图像的像素的最小像素区域所对应的数据。也就是说,特征点的数据块包括处理该特征点所需的所有像素所对应的数据。其中,最小像素区域可以是处理该特征点所需的像素的最小矩形像素区域,所述最小矩形像素区域是根据图像处理算法和预定的值而确定的,例如处理KLT算法时,可以根据精度需求可以选择3*3、5*5等等不同大小的方形区域,也可以是3*5、5*3等等不同大小的矩形区域,当然,最小像素区域也可以是非矩形区域,例如,可以是距离特征点距离为N的像素的集合,也可以是离散的像素集合,这里不做限定。
图1是应用本发明实施例的技术方案的架构图。
如图1所示,系统100包括处理器110和外部存储器120。在一些实施例中,该处理器110可以是计算设备中的处理器,也可以是可移动设备(例如无人机)中的处理器。该处理器110可以为任意种类的处理器,本发明实施例对此不做限定。在一些实施例中,该处理器110可以为由内部存储器112和处理单元114组成。该内部存储器112可以为缓存,例如,行缓存(line buffer),但本发明实施例对此并不限定。在一些实施例中,该处理器110可以通过电路实现。在一些实施例中,该处理器110可以为通用处理器。在一些实施例中,该处理器110可以为芯片,例如FPGA或ASIC等。该外部存储器120可以为内存,例如,DDRSDRAM,但本发明实施例对此并不限定。
该外部存储器120可以存储图像的全部像素。该内部存储器112可以存储图像的一部分像素。在一些实施例中,该处理器110在处理图像时,从该外部存储器120中将图像的一部分像素读取到该内部存储器112中进行处理。
在一些设计中,可移动设备,也可以称为移动设备,可以采用本发明实施例的技术方案。该可移动设备可以是无人机、无人驾驶船、自动驾驶车辆或机器人等,但本发明实施例对此并不限定。
图2是本发明实施例的可移动设备200的示意性架构图。
如图2所示,可移动设备200可以包括动力系统210、控制系统220、传感系统230和处理系统240。
动力系统210用于为该可移动设备200提供动力。
以无人机为例,无人机的动力系统可以包括电子调速器(简称为电调)、螺旋桨以及与螺旋桨相对应的电机。电机连接在电子调速器与螺旋桨之间,电机和螺旋桨设置在对应的机臂上;电子调速器用于接收控制系统产生的驱动信号,并根据驱动信号提供驱动电流给电机,以控制电机的转速。电机用于驱动螺旋桨旋转,从而为无人机的飞行提供动力。
传感系统230可以用于测量可移动设备200的姿态信息,即可移动设备200在空间的位置信息和状态信息,例如,三维位置、三维角度、三维速度、三维加速度和三维角速度等。传感系统230例如可以包括陀螺仪、电子罗盘、惯性测量单元(Inertial MeasurementUnit,IMU)、视觉传感器、全球定位系统(Global Positioning System,GPS)、气压计、空速计等传感器中的至少一种。
在本发明实施例中,传感系统230还可用于采集图像,即传感系统230包括用于采集图像的传感器,例如相机等。
控制系统220用于控制可移动设备200的移动。控制系统220可以按照预先设置的程序指令对可移动设备200进行控制。例如,控制系统220可以根据传感系统230测量的可移动设备200的姿态信息控制可移动设备200的移动。控制系统220也可以根据来自遥控器的控制信号对可移动设备200进行控制。例如,对于无人机,控制系统220可以为飞行控制系统(飞控),或者为飞控中的控制电路。
处理系统240可以处理传感系统230采集的图像。例如,处理系统240可以为图像信号处理(Image Signal Processing,ISP)类芯片。
处理系统240可以为图1中的系统100,或者,处理系统240可以包括图1中的系统100。
应理解,上述对于可移动设备200的各组成部件的划分和命名仅仅是示例性的,并不应理解为对本发明实施例的限制。
还应理解,可移动设备200还可以包括图2中未示出的其他部件,本发明实施例对此并不限定。
图3示出了本发明一个实施例的处理图像的方法300的示意性流程图。该方法300可以由图1所示的系统100或处理器110执行;或者由图2所示的可移动设备200执行。具体地,在由可移动设备200执行时,可以由图2中的处理系统240执行。
310,获取第一图像的第一特征点对应的第一数据块。
特征点为图像处理的对象。在处理图像时,针对一个特征点,可能会需要与特征点相关的多个像素,例如,特征点附近的多个像素。在本发明实施例中,包括该多个像素的数据块(block)为特征点对应的数据块。
可选地,在本发明一个实施例中,该第一数据块包括图像处理算法针对该第一特征点选取该第一图像的像素的最小矩形像素区域。
该最小矩形像素区域也称为选取像素的窗口。该第一数据块可以为该最小矩形像素区域,也可以大于该最小矩形像素区域,也就是说,该第一数据块中包括了图像处理算法处理该第一特征点所需的所有像素。
可选地,在本发明一个实施例中,可以读取该第一图像的多行像素,获取该多行像素中,该第一特征点对应的该第一数据块。
具体而言,在读取图像的过程中,一次将图像的多行像素读取到缓存中,在这个过程中,获取该多行像素中的相应数据块进行后续操作;然后再读取图像的一行或多行像素覆盖掉最先进入到缓存的数据,获取新读取的多行像素中的相应数据块,以此类推,直至处理完整个图像。
在本发明实施例中,该第一图像可以为原始图像;也可以为图像处理过程中的中间图像,例如,该第一图像可以为图像金字塔中的一层,特别的,可以是金字塔图像中的最底层图像。
举例来说,对于KLT算法,在处理过程中一般需要构建图像的图像金字塔。上述第一图像可以为图像金字塔中的一层,在这种情况下,因为在生成图像金字塔时,需要读取图像数据,该读取的图像数据可以同时按照上述方法存储特征点对应的数据块,在获得金字塔图像的同时获取该数据块,进一步的,金字塔的每一层之间的特征点具有特定的联系,根据一层的特征点可以得到金字塔图像其他层的特征点位置,在获取部分或者整个金字塔的过程中,可以通知得到金字塔不同层的特征点对应的数据块。而且不需要增加额外的读取时间,这种方式不仅针对KLT算法,针对所有的图像处理都适用。
320,将该第一数据块存储到内存中连续的第一存储空间中,并记录该第一特征点与该第一存储空间的对应关系。
在本发明实施例中,将特征点对应的数据块在内存中连续存储,即一个数据块存储到一个连续的存储空间中,同时记录特征点与存储空间的对应关系。这样,在需要读取某一特征点对应的数据块时,可以根据该对应关系将该数据块从该存储空间中连续读取,相对于随机访问读取,可以提高读取效率,从而能够提高处理效率。
可选地,在本发明一个实施例中,该对应关系可以为该第一特征点与该第一存储空间的起始地址的对应关系。
这样,在处理该第一特征点时,可以从该起始地址连续读取出该第一数据块。
应理解,该对应关系也可以为其他形式的对应关系,本发明实施例对此并不限定。
可选地,在本发明一个实施例中,可以将该第一图像的多个特征点对应的数据块按顺序存储到该内存中。
具体而言,对于该第一图像的多个特征点,可以按顺序,例如,光栅扫描顺序,光栅为该特征点进行图像处理的过程中,所需要窗口,用于框定部分像素进行计算,即先横向再纵向的顺序,先后存储相应的数据块,其中,每个数据块存储到内存中一个连续的存储空间中。应理解,上述顺序也可以为其他顺序,本发明实施例对此并不限定。
可选地,多个特征点的数据块在内存中可以占据连续的存储空间,即多个数据块可以相邻存储,但本发明实施例对此并不限定。
可选地,在本发明一个实施例中,在需要处理该第一特征点时,可以根据该对应关系,从该第一存储空间中读取该第一数据块。
由于特征点的数据块已连续存储在了内存中,在利用算法处理图像时,按照处理顺序,需要读取某一特征点的数据块时,可以根据记录的对应关系,确定该数据块的存储地址,根据该存储地址,连续读取该数据块。
可选地,在本发明一个实施例中,可以根据第二图像的特征点处理顺序,确定需要处理该第一特征点;根据该对应关系,从该第一存储空间中读取该第一数据块。
具体而言,特征点处理顺序,即选择特征点的先后顺序,可以是该第一图像的特征点处理顺序,也可以是其他图像的特征点处理顺序。
例如,对于KLT算法,在I图像和J图像的特征点匹配处理中,第一图像和第二图像分别表示I图像和J图像的金字塔中的对应层。在该层的处理中,既可以按照第一图像的特征点处理顺序选择特征点,也可以按照第二图像的特征点处理顺序选择特征点。若按照第二图像的特征点处理顺序选择特征点,例如,选择的特征点对应第一图像中的该第一特征点,则在需要读取该第一图像中的该第一数据块时,可以根据记录的对应关系,确定该第一数据块的存储地址,根据该存储地址,连续读取该第一数据块。
可选地,对于该第二图像,也可以采用前述方案存储特征点的数据块。可选地,该第二图像的特征点处理顺序可以与存储顺序相同,这样,若按照该第二图像的特征点处理顺序选择特征点,该第二图像的各数据块可以按存储顺序读取,对于该第一图像中的数据块,可按照前述方式读取。
应理解,该第二图像也可以采用其他方式存储到内存,本发明实施例对此并不限定。不管该第二图像采用何种方式存储,都可以根据该第二图像确定处理顺序,当按照处理顺序确定需要处理第一图像的特征点时,再采用前述方式读取第一图像相应特征点的数据块。
还应理解,第一图像和第二图像也不限定于KLT算法中。对于其他算法,也可以根据第二图像确定处理顺序,当按照处理顺序确定需要处理第一图像的特征点时,再采用前述方式读取第一图像相应特征点的数据块。
可选的,对于第二图像中的特征点也可以不存储特征点数据块,而是按照顺序进行排序,例如,从左到右,从上到下,以便于在第二图像进入缓存时,从上到下依次读取的过程中可以遍历所有第二图像中的特征点,然后遍历的所有第二图像中的特征点都根据对应的第一图像特征点的存储地址,读取第一特征点对应的数据块进行计算。
可选的,第二图像可以按照上述方式将特征点对应的数据块进行向存储空间中连续的存储,后续在读取时可以按照存储顺序读取。
可选地,第一图像特征点对应的数据块的存储也可以用于其他计算,如orb、brief计算等。
本发明实施例的技术方案,通过将特征点对应的数据块在内存中连续存储,可以减少内存访问的次数,提高读取效率和处理效率;另外,还可以降低对其他设备抢占内存的带宽的影响,从而提升整个系统的性能。
下面以KLT算法为例,详细描述本发明实施例的技术方案。应理解,这只是为了帮助本领域技术人员更好地理解本发明实施例,而非限制本发明实施例的范围。
KLT算法中跟踪特征点的伪代码如下所示:
For a point u in Image I,find corresponding location v in Image J(对于图像I的点u,在图像J中寻找对应的位置v)
Build pyramids for Images I and J(为图像I和J建立金字塔):
Initialization of pyramidal guess(初始化金字塔猜测):
for L=Lm down to 0with step of-1(L从Lm开始依次-1直到0)
Identify pixel location of point uin image IL(在图像IL中确定点u的像素位置):
uL=[pxpy]T=u/2L
Calculate derivative of IL with respect to x(计算IL对x的导数):
Calculate derivative of IL with respect to y(计算IL对y的导数):
Calculate spatial gradient matrix G(计算空间梯度矩阵G):
Initialization of iterative L-K optical flow computation(初始化迭代L-K光流计算):
for k=1 to K with step of 1(or until‖ηk‖<accuracy threshold)(k从1开始依次加1直到K,或者直到‖ηk‖<精度阈值)
Calculate image difference(计算图像差):
Calculate image mismatch vector(计算图像失配矢量):
Calculate optical flow using L-K optical flow computation(采用L-K光流计算法计算光流):
Obtain the pixel displacement guess for next iteration(为下一迭代获取像素位移猜测):
end of for-loop on k(对于k的for循环结束)
Identify optical flow at Layer L(确定层L上的光流):
Identify pyramidal guess for next Layer L-1(为下一层L-1确定金字塔猜测):
end of for-loop on L(对于L的for循环结束)
Identify final optical flow vector(确定最终光流矢量):
d=g0+d0
Identify location of point on J(确定J上点的位置):
v=u+d
Solution:The corresponding point is at location v on image J(解答:对应点在图像J上的位置v)
从上可以看到,KLT算法的关键的实现步骤为2个for循环,一个for循环实现G的计算,另外一个for循环实现dL的计算,从而进行下一层KLT算法的运算。计算G以及δIk、都需要数据块的读取。当图像的点数增多即图像尺寸变大时,内存的读取就是系统性能的瓶颈。
在本发明实施例中,在金字塔I构建的过程中或者是I数据的读取过程中,将需要的数据块按照顺序存储到内存中,其中,每个数据块存储到内存中一个连续的存储空间中。可选地,对于图像J也做类似处理。
举例来说,金字塔的数据在创建过程中,需要按顺序读入原始数据,因此可以使用一个行缓存(line buffer),例如该line buffer可以缓存图像20行的数据,根据已知的特征点的位置,将对应的数据块,例如19x19的像素区域的像素从line buffer中读取后,再按顺序写入到内存中,同时建立该特征点对应的数据块在内存中写入的起始地址。金字塔各层的数据块的存储,均可采用此方案。可选地,若金字塔某一层的大小已很小,则可以存储到缓存中,而不用存储到内存中。
在进行KLT算法计算时,对于每一层,可以按照图像J的该层中的特征点的顺序依次处理特征点。这样,图像J的该层中的数据块可以按照存储顺序读取,对应的图像I的该层中的数据块可以根据记录的对应关系,确定存储地址,根据该存储地址实现数据块的读取。图像J的该层中的数据块也可以按照图像J的读取顺序进行读取,即按照从左到右,从上到下的顺序进行读取,例如,图像J上有多个特征点,从左到右从上到下第一个特征点为特征点1J,其对应的图像I中的特征点1I,当需要计算图像I的该层中特征点1I的G时,根据该特征点对应的内存中的起始地址,就可以连续的读取出相应的数据块,然而再进行后续的运算(例如第二个for循环)。
这样,图像I和图像J的相应层中的数据块都能较快地读取,从而能够提高算法的处理效率。
上文详细描述了本发明实施例的处理图像的方法,下面将描述本发明实施例的集成电路、处理器、计算机系统和可移动设备。应理解,本发明实施例的集成电路、处理器、计算机系统和可移动设备可以执行前述本发明实施例的各种方法,即以下各种产品的具体工作过程,可以参考前述方法实施例中的对应过程。
图4示出了本发明实施例的集成电路400的示意性框图。如图4所示,该集成电路400可以包括:处理单元410和缓存420。
该处理单元410,用于从该缓存420中获取第一图像的第一特征点对应的第一数据块;
将该第一数据块存储到内存中连续的第一存储空间中,并记录该第一特征点与该第一存储空间的对应关系。
可选地,在本发明一个实施例中,该处理单元410用于:
将该第一图像的多行像素读取到该缓存420中,从该缓存420中获取该多行像素中,该第一特征点对应的该第一数据块。
可选地,在本发明一个实施例中,该对应关系为该第一特征点与该第一存储空间的起始地址的对应关系。
可选地,在本发明一个实施例中,该处理单元410用于:
将该第一图像的多个特征点对应的数据块按顺序存储到该内存420中。
可选地,在本发明一个实施例中,该顺序为光栅扫描顺序。
可选地,在本发明一个实施例中,该第一图像为图像金字塔中的一层;
该处理单元410用于:
在生成该图像金字塔时,获取该第一数据块。
可选地,在本发明一个实施例中,该第一数据块包括图像处理算法针对该第一特征点选取该第一图像的像素的最小矩形像素区域。
可选地,在本发明一个实施例中,该处理单元410还用于:
在需要处理该第一特征点时,根据该对应关系,从该第一存储空间中读取该第一数据块。
可选地,在本发明一个实施例中,该处理单元410还用于:
根据第二图像的特征点处理顺序,确定需要处理该第一特征点;
根据该对应关系,从该第一存储空间中读取该第一数据块。
可选地,在本发明一个实施例中,该集成电路400可以为FPGA或ASIC。
应理解,在上述本发明各种实施例的集成电路中,控制单元可以由电路实现,该电路可以是统一的一个电路,也可以是由几个电路组成的电路。本发明实施例对电路的具体实现形式不做限定。
还应理解,本发明实施例中的各种单元或模块可以集成在一个芯片中,也可以分布在不同的芯片中。
本发明实施例还提供了一种处理器,该处理器可以包括上述本发明各种实施例的集成电路。
本发明实施例还提供了一种计算机系统,该计算机系统可以包括上述本发明实施例的处理器,以及内存。
图5示出了本发明另一个实施例的计算机系统500的示意性框图。
如图5所示,该计算机系统500可以包括前述本发明实施例的集成电路400;以及内存510。
图6示出了本发明又一个实施例的计算机系统600的示意性框图。
如图6所示,该计算机系统600可以包括处理器610和存储器620。
应理解,计算机系统中还可以包括其他计算机系统中通常所包括的部件,例如,输入输出设备、通信接口等,本发明实施例对此并不限定。
存储器620用于存储计算机可执行指令。
存储器620可以是各种种类的存储器,例如可以包括高速随机存取存储器(RandomAccess Memory,RAM),还可以包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器,本发明实施例对此并不限定。
处理器610用于访问该存储器620,并执行该计算机可执行指令,以进行上述本发明各种实施例的处理图像的方法中的操作。
处理器610可以包括微处理器,现场可编程门阵列(Field-Programmable GateArray,FPGA),中央处理器(Central Processing unit,CPU),图形处理器(GraphicsProcessing Unit,GPU)等,本发明实施例对此并不限定。
本发明实施例还提供了一种可移动设备,该可移动设备可以包括上述本发明各种实施例的集成电路、处理器或者计算机系统。
本发明实施例的集成电路、处理器、计算机系统和可移动设备可对应于本发明实施例的处理图像的方法的执行主体,并且集成电路、处理器、计算机系统和可移动设备中的各个模块的上述和其它操作和/或功能分别为了实现前述各个方法的相应流程,为了简洁,在此不再赘述。
本发明实施例还提供了一种计算机存储介质,该计算机存储介质中存储有程序代码,该程序代码可以用于指示执行上述本发明实施例的处理图像的方法。
应理解,在本发明实施例中,术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系。例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (22)
1.一种处理图像的方法,其特征在于,包括:
获取第一图像的第一特征点对应的第一数据块;
将所述第一数据块存储到内存中连续的第一存储空间中,并记录所述第一特征点与所述第一存储空间的对应关系。
2.根据权利要求1所述的方法,其特征在于,所述获取第一图像的第一特征点对应的第一数据块,包括:
读取所述第一图像的多行像素,获取所述多行像素中,所述第一特征点对应的所述第一数据块。
3.根据权利要求1或2所述的方法,其特征在于,所述对应关系为所述第一特征点与所述第一存储空间的起始地址的对应关系。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述将所述第一数据块存储到内存中连续的第一存储空间中,包括:
将所述第一图像的多个特征点对应的数据块按顺序存储到所述内存中。
5.根据权利要求4所述的方法,其特征在于,所述顺序为光栅扫描顺序。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述第一图像为图像金字塔中的一层;
所述获取第一图像的第一特征点对应的第一数据块,包括:
在生成所述图像金字塔时,获取所述第一数据块。
7.根据权利要求1至6任一项所述的方法,其特征在于,所述第一数据块包括图像处理算法针对所述第一特征点选取所述第一图像的像素的最小矩形像素区域。
8.根据权利要求1至7任一项所述的方法,其特征在于,所述方法还包括:
在需要处理所述第一特征点时,根据所述对应关系,从所述第一存储空间中读取所述第一数据块。
9.根据权利要求1至7任一项所述的方法,其特征在于,所述方法还包括:
根据第二图像的特征点处理顺序,确定需要处理所述第一特征点;
根据所述对应关系,从所述第一存储空间中读取所述第一数据块。
10.一种集成电路,其特征在于,包括:处理单元和缓存;
其中,所述处理单元,用于从所述缓存中获取第一图像的第一特征点对应的第一数据块;
将所述第一数据块存储到内存中连续的第一存储空间中,并记录所述第一特征点与所述第一存储空间的对应关系。
11.根据权利要求10所述的集成电路,其特征在于,所述处理单元用于:
将所述第一图像的多行像素读取到所述缓存中,从所述缓存中获取所述多行像素中,所述第一特征点对应的所述第一数据块。
12.根据权利要求10或11所述的集成电路,其特征在于,所述对应关系为所述第一特征点与所述第一存储空间的起始地址的对应关系。
13.根据权利要求10至12任一项所述的集成电路,其特征在于,所述处理单元用于:
将所述第一图像的多个特征点对应的数据块按顺序存储到所述内存中。
14.根据权利要求13所述的集成电路,其特征在于,所述顺序为光栅扫描顺序。
15.根据权利要求10至14任一项所述的集成电路,其特征在于,所述第一图像为图像金字塔中的一层;
所述处理单元用于:
在生成所述图像金字塔时,获取所述第一数据块。
16.根据权利要求10至15任一项所述的集成电路,其特征在于,所述第一数据块包括图像处理算法针对所述第一特征点选取所述第一图像的像素的最小矩形像素区域。
17.根据权利要求10至16任一项所述的集成电路,其特征在于,所述处理单元还用于:
在需要处理所述第一特征点时,根据所述对应关系,从所述第一存储空间中读取所述第一数据块。
18.根据权利要求10至16任一项所述的集成电路,其特征在于,所述处理单元还用于:
根据第二图像的特征点处理顺序,确定需要处理所述第一特征点;
根据所述对应关系,从所述第一存储空间中读取所述第一数据块。
19.一种处理器,其特征在于,包括根据权利要求10至18中任一项所述的集成电路。
20.一种计算机系统,其特征在于,包括:
根据权利要求10至18中任一项所述的集成电路或者根据权利要求19所述的处理器;以及
内存。
21.一种计算机系统,其特征在于,包括:
存储器,用于存储计算机可执行指令;
处理器,用于访问所述存储器,并执行所述计算机可执行指令,以进行根据权利要求1至9中任一项所述的方法中的操作。
22.一种可移动设备,其特征在于,包括:
根据权利要求10至18中任一项所述的集成电路;或者,
根据权利要求19所述的处理器;或者,
根据权利要求20或21所述的计算机系统。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2017/100061 WO2019041271A1 (zh) | 2017-08-31 | 2017-08-31 | 处理图像的方法、集成电路、处理器、系统和可移动设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108701348A true CN108701348A (zh) | 2018-10-23 |
Family
ID=63844089
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780005452.0A Pending CN108701348A (zh) | 2017-08-31 | 2017-08-31 | 处理图像的方法、集成电路、处理器、系统和可移动设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN108701348A (zh) |
WO (1) | WO2019041271A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111459879A (zh) * | 2020-06-02 | 2020-07-28 | 浙江欣奕华智能科技有限公司 | 一种数据处理方法和片上系统 |
WO2022241729A1 (zh) * | 2021-05-20 | 2022-11-24 | 深圳市大疆创新科技有限公司 | 一种图像处理方法、装置、可移动平台及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040119716A1 (en) * | 2002-12-20 | 2004-06-24 | Chang Joon Park | Apparatus and method for high-speed marker-free motion capture |
CN101022553A (zh) * | 2007-03-28 | 2007-08-22 | 华为技术有限公司 | 图像数据的存取和解码方法及解码装置 |
CN106095588A (zh) * | 2016-06-28 | 2016-11-09 | 北京大学深圳研究生院 | 基于gpgpu平台的cdvs提取过程加速方法 |
CN106796728A (zh) * | 2016-11-16 | 2017-05-31 | 深圳市大疆创新科技有限公司 | 生成三维点云的方法、装置、计算机系统和移动设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4735693B2 (ja) * | 2008-09-22 | 2011-07-27 | ソニー株式会社 | 画像処理装置、撮像装置、画像処理方法およびプログラム |
TWI446276B (zh) * | 2011-09-14 | 2014-07-21 | Ind Tech Res Inst | 影像特徵描述處理裝置及影像特徵描述處理方法 |
-
2017
- 2017-08-31 CN CN201780005452.0A patent/CN108701348A/zh active Pending
- 2017-08-31 WO PCT/CN2017/100061 patent/WO2019041271A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040119716A1 (en) * | 2002-12-20 | 2004-06-24 | Chang Joon Park | Apparatus and method for high-speed marker-free motion capture |
CN101022553A (zh) * | 2007-03-28 | 2007-08-22 | 华为技术有限公司 | 图像数据的存取和解码方法及解码装置 |
CN106095588A (zh) * | 2016-06-28 | 2016-11-09 | 北京大学深圳研究生院 | 基于gpgpu平台的cdvs提取过程加速方法 |
CN106796728A (zh) * | 2016-11-16 | 2017-05-31 | 深圳市大疆创新科技有限公司 | 生成三维点云的方法、装置、计算机系统和移动设备 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111459879A (zh) * | 2020-06-02 | 2020-07-28 | 浙江欣奕华智能科技有限公司 | 一种数据处理方法和片上系统 |
WO2022241729A1 (zh) * | 2021-05-20 | 2022-11-24 | 深圳市大疆创新科技有限公司 | 一种图像处理方法、装置、可移动平台及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2019041271A1 (zh) | 2019-03-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10621446B2 (en) | Handling perspective magnification in optical flow processing | |
CN108074267B (zh) | 交点检测装置及方法、摄像头校正系统及方法及记录介质 | |
US11182908B2 (en) | Dense optical flow processing in a computer vision system | |
CN111862179A (zh) | 三维对象建模方法与设备、图像处理装置及介质 | |
CN110296717B (zh) | 一种事件数据流的处理方法及计算设备 | |
CN110782531A (zh) | 处理三维点云数据的方法和计算设备 | |
WO2018137132A1 (en) | Method and system for feature tracking using image pyramids | |
KR102559203B1 (ko) | 포즈 정보를 출력하는 방법 및 장치 | |
CN110892373A (zh) | 数据存取的方法、处理器、计算机系统和可移动设备 | |
CN108701348A (zh) | 处理图像的方法、集成电路、处理器、系统和可移动设备 | |
Huttunen et al. | A monocular camera gyroscope | |
CN110651475B (zh) | 用于致密光学流的阶层式数据组织 | |
CN109658507A (zh) | 信息处理方法及装置、电子设备 | |
US20200134771A1 (en) | Image processing method, chip, processor, system, and mobile device | |
CN108369725A (zh) | 处理图像的方法、芯片、处理器、计算机系统和移动设备 | |
CN112184810A (zh) | 相对位姿的估计方法、装置、电子设备及介质 | |
CN112150522A (zh) | 遥感图像的配准方法、装置、设备、存储介质及系统 | |
CN115294280A (zh) | 三维重建方法、装置、设备、存储介质和程序产品 | |
CN111161357B (zh) | 信息处理方法及装置、增强现实设备和可读存储介质 | |
US11227166B2 (en) | Method and device for evaluating images, operating assistance method, and operating device | |
CN110945566A (zh) | 图像配准的方法、装置、计算机系统和可移动设备 | |
US11954835B2 (en) | Methods, devices, apparatuses, and media for image fusion utilizing images and LiDAR point clouds | |
CN115223110B (zh) | 目标检测方法、装置、计算机设备和存储介质 | |
US20200294315A1 (en) | Method and system for node vectorisation | |
CN117593492A (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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20181023 |
|
WD01 | Invention patent application deemed withdrawn after publication |