CN111815512A - 用于检测失真图像中的对象的方法、系统和设备 - Google Patents

用于检测失真图像中的对象的方法、系统和设备 Download PDF

Info

Publication number
CN111815512A
CN111815512A CN202010258329.3A CN202010258329A CN111815512A CN 111815512 A CN111815512 A CN 111815512A CN 202010258329 A CN202010258329 A CN 202010258329A CN 111815512 A CN111815512 A CN 111815512A
Authority
CN
China
Prior art keywords
sliding window
image
distorted image
distortion
distorted
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
Application number
CN202010258329.3A
Other languages
English (en)
Inventor
汉普斯·林瑟
袁嵩
约翰·佛波哥
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Axis AB
Original Assignee
Axis AB
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Axis AB filed Critical Axis AB
Publication of CN111815512A publication Critical patent/CN111815512A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/50Extraction of image or video features by performing operations within image blocks; by using histograms, e.g. histogram of oriented gradients [HoG]; by summing image-intensity values; Projection analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4023Scaling of whole images or parts thereof, e.g. expanding or contracting based on decimating pixels or lines of pixels; based on inserting pixels or lines of pixels
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4038Image mosaicing, e.g. composing plane images from plane sub-images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/50Image enhancement or restoration using two or more images, e.g. averaging or subtraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/168Segmentation; Edge detection involving transform domain methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/751Comparing pixel values or logical combinations thereof, or feature values having positional relevance, e.g. template matching
    • G06V10/7515Shifting the patterns to accommodate for positional errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/32Indexing scheme for image data processing or generation, in general involving image mosaicing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20021Dividing image into blocks, subimages or windows
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20112Image segmentation details
    • G06T2207/20132Image cropping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20212Image combination
    • G06T2207/20221Image fusion; Image merging

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Image Processing (AREA)
  • Studio Devices (AREA)
  • Analysing Materials By The Use Of Radiation (AREA)
  • Image Analysis (AREA)

Abstract

本发明涉及用于检测失真图像中的对象的方法、系统和设备。该方法包括:接收(S302)第一失真图像(600)的失真的数学表示的逆;其中,对象的检测包括:在第一失真图像(600)之上滑动(S304)滑动窗口(620),以及针对第一失真图像(600)中的多个位置中的每个位置(630、634、638):基于位置(630、634、638)处的失真的数学表示的逆来变换(S306)滑动窗口(620);以及在滑动窗口算法中使用(S308)变换后的滑动窗口(720、724、728)在第一失真图像(600)中的位置(630、634、638)处进行对象检测。

Description

用于检测失真图像中的对象的方法、系统和设备
技术领域
本发明涉及一种用于检测失真图像中的对象的方法、设备和系统。
背景技术
摄像机应用的重要领域是位置的监视。在监视应用中,通常使用各种不同的图像处理算法来处理被监视的位置的视频。例如,实现自动检测录制的视频中的运动的算法是很常见的。重要特征的另一示例是捕获的图像中的对象检测。然后,典型的方法是将所捕获的图像与参考数据库中的图像进行比较。当对象检测算法匹配所捕获的图像和参考数据库中的图像中的特征时,对象被检测到并且被识别出。
然而,这种算法存在几个问题。例如,对参考数据库中的图像有很高的要求。例如,这些图像必须反映各种各样的对象,同时以可识别的方式描绘对象。因此,对象通常在不同的光照条件下并且从各种各样的方向成像。因此,参考数据库通常包含大量的参考图像。
然而,所捕获的图像很少在理想的成像条件下被捕获。例如,所捕获的图像可能遭受低亮度或失真。存在一系列不同的图像失真源,例如使用广角镜头(例如鱼眼镜头和光学圆顶罩(optical dome))和用于提供全景图像的拼接技术。
无论失真源及其形状如何,在分析图像时失真都是一种挑战。例如,许多对象检测算法在应用于失真图像时会受到很大的影响,因为大多数算法都是被设计应用于非失真图像的。因此,处理器检测失真图像中的对象变得计算密集。
因此,存在对用于非理想图像中的对象检测的改进算法的需要。
发明内容
鉴于以上内容,本发明构思的目的是消除或至少减轻本领域中的上述缺陷或问题中的一个或多个。具体地,目的是提供一种用于检测失真图像中的对象的方法、系统和设备。
根据第一方面,提供了一种用于使用滑动窗口算法检测第一失真图像中的对象的方法。该方法包括:接收第一失真图像的失真的数学表示的逆;其中,对象的检测包括:在第一失真图像之上滑动滑动窗口以及针对第一失真图像中的多个位置中的每个位置:基于该位置处的失真的数学表示的逆来变换滑动窗口;以及在滑动窗口算法中使用变换后的滑动窗口在第一失真图像中的该位置处进行对象检测。
在本申请的上下文内,措词“失真图像”应被解释为具有失真视角的图像。在失真图像中,场景中的直线通常会一定程度地弯曲。相反,完美直线的图像具有与描绘的场景中的直线相对应的完美直线。在本申请的上下文内,讨论了两种类型的失真源:物理失真源和数字失真源。物理失真源的非限制性示例是广角镜头,包括鱼眼镜头(例如,f-theta镜头)、光学圆顶罩和不完美的直线镜头。镜头的不完美可能是由于制造不精确而造成的。数字失真源的非限制性示例是图像拼接算法,例如,用于从多个图像产生全景图像。失真图案可以是不规则的或规则的(诸如径向失真)。捕获的图像的失真图案可能是来自失真源中的一个或组合的结果。
在本申请的上下文内,措词“滑动窗口算法”应被解释为包括滑动窗口的对象检测算法。滑动窗口是最初具有预定宽度和预定高度的矩形区域,该矩形区域在图像上移动。将存在于由滑动窗口所限定的区域中的图像特征与参考特征的数据库进行比较,以便检测图像中的对象。滑动窗口中的特征检测图案可以基于参考特征的数据库。滑动窗口算法可以使用多个特征检测图案,使得第一滑动窗口包括第一特征检测图案,并且第二滑动窗口包括第二特征检测图案等。因此,滑动窗口算法可以通过使用多个不同的滑动窗口和特征检测图案来检测多个不同的特征。滑动窗口算法可以是基于卷积的算法。
在本申请的上下文内,措词“失真的数学表示”应被解释为图像变换的数学描述,当将该图像变换应用于直线图像时,会导致图像失真。要理解的是,前面提到的失真可以在数学上表示为多项式、矩阵或查找表。例如,数学表示可以是描述在捕获失真图像时使用的鱼眼镜头的传递函数的多项式/矩阵。查找表可以包括失真图像中的坐标,该坐标由直线(或非失真)图像中的坐标索引,反之亦然。
借助于本方法,滑动窗口算法可以用于检测诸如第一失真图像之类的失真图像中的对象。因此,与第一失真图像相关联的图像数据在使用滑动窗口算法进行对象检测之前不需要被变换/变形。因此,减少了与图像变换有关的计算成本。例如,可以减少或完全去除在对象检测之前将曲线图像变换成直线图像的需要。减少图像变换的需要可以由此减少与这种图像变换有关的任何不必要的图像裁剪。因此,可以将区域中的由于图像裁剪而被去除的图像特征包括在滑动窗口算法中,并且因此可以检测在这种区域中存在的对象。
进一步,由于不需要对第一失真图像进行变换/变形,因此不需要对与第一失真图像相关联的图像数据进行插值。由此,由于滑动窗口算法不需要包括在图像插值中生成的图像数据,因此可以减少与滑动窗口算法相关联的计算成本。插值的图像数据不包括在与捕获的图像相关联的图像数据中尚不存在的附加信息,因此在滑动窗口算法中包括在图像插值中生成的图像数据仅增加了计算成本,而实际图像信息没有相应的增加。
此外,由于不需要对第一失真图像进行变换,因此可以在图像处理管线的早期执行本方法。在图像处理管线的早期执行本方法,从而检测对象,可以允许将检测到的对象用作图像处理管线中后续步骤的输入,而不会延迟图像处理管线中的后续步骤,从而允许与图像处理管线相关的较短的处理时间。例如,检测到的对象可以用作输入,以用于计算由图像处理管线形成的视频流的编码器设置,和/或用于在由图像处理管线形成的视频流中绘制覆盖图,诸如边界框。与在图像处理管线的早期检测对象相关联的另一优点是,对于仅用于检测对象的分析摄像机,可以不需要执行图像处理管线中的后续步骤。因此,由于分析摄像机可以不需要输出视频流,因此可以减少分析摄像机的功耗。
变换滑动窗口的步骤可以包括变换滑动窗口的特征检测图案。
在本申请的上下文内,措词“特征检测图案”应被解释为滑动窗口算法用来检测特定特征的图案。要理解的是,滑动窗口算法可以包括多个不同的特征检测图案。例如,特征检测图案可以用于检测图像帧中的具有各种角度的边缘。特征检测图案还可以用于检测图像帧中的人、人的特定面部或诸如汽车、狗等的其他对象。
可以基于滑动窗口的位置处的失真的数学表示的逆来变换特征检测图案。
变换滑动窗口的特征检测图案的优点是,可以检测第一失真图像中的失真特征。因此,滑动窗口算法可以检测第一失真图像中的失真对象。
变换滑动窗口的特征检测图案的进一步的优点是,当第一失真图像的空间分辨率可以在第一失真图像上变化时,特征检测图案可以适合于第一失真图像的空间分辨率。例如,在低空间分辨率的区域中,可以在滑动窗口算法中使用较粗糙的特征检测图案,并且从而减少与滑动窗口算法相关联的计算成本。
在本申请的上下文内,措词“空间分辨率”应被理解为图像帧的空间分辨率。在通过例如广角镜头获取或来自多个图像帧拼接的失真图像中,图像的不同区域具有不同的空间分辨率。换句话说,图像帧的相同大小的区域会覆盖摄像机的视野(FOV)的不同大小的角度。空间分辨率可以在图像帧的像素级上指定,或者可以在像素子组级(例如在宏块级)上确定。空间分辨率可以表达为每个FOV角度的像素数量,也可以表达为每个像素的FOV角度数量。技术人员熟悉如何取决于应用而在这些表达之间进行互换。例如,在根据本申请的方法的实现中,可以优选使用这些表达中的一个。空间分辨率分布可以由例如指示像素或像素子组(例如宏块)的空间分辨率分布的表来表示。
变换滑动窗口的步骤可以包括变换滑动窗口的大小。
可以基于滑动窗口的位置处的失真的数学表示的逆来变换滑动窗口的大小。要理解的是,滑动窗口的高度可以独立于滑动窗口的宽度而变换。
变换滑动窗口的大小的优点是,当第一失真图像的空间分辨率可以在第一失真图像上变化时,滑动窗口的大小可以适应于第一失真图像的空间分辨率。由此,可以减少与滑动窗口的大小相关联的计算成本。
该方法还可以包括:使用变换后的滑动窗口作为在卷积神经网络的第一层中的内核。
在本申请的上下文内,措词“卷积神经网络”应被解释为用于图像分类的算法。可以在使用算法进行对象检测之前训练该算法。该训练导致与特定图像特征相关的卷积滤波器的数据库。当将卷积神经网络用于对象检测时,对输入图像执行多个卷积,其中,多个卷积中的每个卷积使用不同的卷积滤波器。换句话说,第一层是卷积层,该卷积层将卷积运算(使用变换后的内核)应用于输入(图像帧的图像数据),将结果传递到下一层。每个卷积导致与卷积滤波器相关联的图像特征图。然后,将从多个卷积得到的特征图用于形成最终输出。然后,最终输出可以用于检测输入图像中的对象。
与使用变换后的滑动窗口作为卷积神经网络的第一层中的内核相关联的优点是,可以不需要对第一失真图像进行图像变换。因此,可以减少与图像变换相关联的计算成本。
该方法可以进一步包括:针对第一失真图像中的多个位置中的每个位置,存储变换后的滑动窗口。
与针对第一失真图像中的多个位置中的每个位置存储变换后的滑动窗口相关联的优点是,可以在以后的时间使用变换后的滑动窗口。例如,变换后的滑动窗口可以在图像处理管线的后期用于附加计算。由于图像之间的失真相同,因此无需针对每个图像帧变换滑动窗口中的变换特征检测图案和/或滑动窗口的大小。针对第一失真图像中的多个位置中的每个位置存储变换后的滑动窗口,从而有助于在以与第一失真图像相同的方式捕获的其他失真图像中的对象检测中重用变换后的滑动窗口,这继而可以减少与多个失真图像中的对象检测相关联的计算时间和计算成本。
变换后的滑动窗口可以被存储在由第一失真图像中的多个位置中的位置索引的查找表中。
与将变换后的滑动窗口存储在第一失真图像中的多个位置中的位置索引的查找表中相关联的优点是,它可以允许简化变换后的滑动窗口的检索,并且从而减少相关联的计算成本。
在对多个失真图像进行该方法的情况下,在多个失真图像中的每一个中的对象的检测可以包括在第一失真图像中使用用于对象检测的变换后的滑动窗口。
由于可以针对多个失真图像执行一次滑动窗口的变换,因此可以减少与滑动窗口的变换相关联的计算成本,因为不需要针对多个失真图像中的每个失真图像变换滑动窗口。
进一步,由于可以针对多个失真图像中的一个失真图像执行滑动窗口的变换,因此与现有技术系统中的多个失真图像中的每个失真图像的变换相比,可以减少计算成本。换句话说,通过本方法可以减少与多个失真图像中的对象检测有关的计算成本。
该方法可以进一步包括将多个变换后的图像编码成变换后的视频流。
失真可以包括光学失真。光学失真可以包括桶形失真、枕形失真和/或髭形失真。光学失真可以包括成像光学器件的光轴和图像传感器之间的未对准。光学失真可以包括切向失真。
失真可以包括应用于图像数据的图像变换,从而形成失真图像。
图像变换可以包括图像滤波器。图像变换可以包括图像拼接。可以拼接多个主图像以形成全景图像。失真图像可以是形成的全景图像。本领域技术人员意识到,由于图像拼接,形成的全景图像可能包括失真特征。
与包括应用于图像数据的图像变换从而形成失真图像的失真相关联的优点是,在将滑动窗口算法应用于对象检测之前,可以过滤与图像数据相关联的失真图像。因此,可以在对象检测之前减少或去除图像数据中存在的某些特征。
与包括图像拼接的失真相关联的优点是,它可以允许本方法检测全景图像中的对象。
变换滑动窗口的步骤可以是硬件实现的。例如,特征检测图案的变换可以有利地在诸如图形处理单元(GPU)的硬件中执行。
根据第二方面,提供一种计算机程序产品。计算机程序产品包括具有指令适配器的计算机可读存储介质,以在由具有处理能力的设备执行时执行本方法。
计算机可读存储介质可以是非瞬态计算机可读存储介质。
该方法的上述特征在适用时也适用于第二方面。为了避免不必要的重复,请参考以上内容。
根据第三方面,提供了一种被设置用于使用滑动窗口算法来检测第一失真图像中的对象的设备。该设备包括:图像接收器,该图像接收器被设置用于接收第一失真图像;失真接收器,该失真接收器被设置用于接收第一失真图像的失真的数学表示的逆;以及至少一个处理器,至少一个处理器被设置成:在第一失真图像中的多个位置之上滑动滑动窗口,以及针对第一失真图像中的多个位置中的每个位置,基于该位置处的失真的数学表示的逆来变换滑动窗口;以及在滑动窗口算法中使用变换后的滑动窗口在第一失真图像中的位置处进行对象检测。
方法和/或计算机程序产品的上述特征在适用时也适用于该第三方面。为了避免不必要的重复,请参考以上内容。
设备可以进一步包括被配置用于针对失真图像中的多个位置中的每个位置存储变换后的滑动窗口的非瞬态存储介质。
设备可以是摄像机。
根据第四方面,提供了一种被设置用于使用滑动窗口算法来检测失真图像中的对象的系统。该系统包括:摄像机,该摄像机被设置用于捕获场景的失真图像;以及本设备;其中,设备的图像接收器被设置用于接收由摄像机捕获的场景的失真图像。
方法、计算机程序产品和/或设备的上述特征在适用时也适用于该第四方面。为了避免不必要的重复,请参考以上内容。
根据以下给出的详细描述,本公开的适用性的进一步的范围将变得显而易见。但是,应该理解,详细描述和特定示例虽然指示了本发明构思的优选变型,但是仅以说明的方式给出,因为根据该详细描述,本发明的范围内的各种改变和修改对于本领域技术人员而言是显而易见的。
因此,要理解的是,本发明构思不限于所描述的方法的具体步骤或所描述的系统的组成部分,因为这种方法和系统可以改变。还要理解,本文所使用的术语仅是为了描述具体实施例的目的,而不意在限制。必须注意的是,如说明书和所附权利要求书中所使用的,冠词“一”、“该”和“所述”意在意味着存在一个或多个元件,除非上下文另外明确指出。因此,例如,对“一单元”或“该单元”的引用可以包括多个设备等。此外,词语“包括”、“包含”和类似措词不排除其他元件或步骤。
附图说明
现在将参考示出本发明的实施例的附图来更详细地描述本发明的以上和其他方面。各图不应被认为将本发明限制于特定的实施例;相反,它们用于解释和理解本发明。
如图中所图示,为了说明性的目的,层和区域的大小被夸大了,并且因此被提供来图示本发明的实施例的一般结构。贯穿全文,相同的附图标记表示相同的元件。
图1A图示被设置用于使用滑动窗口算法来检测失真图像中的对象的设备。
图1B图示摄像机。
图2A图示包括直线的场景。
图2B图示图2A中的场景的失真图像。
图2C图示特征检测图案和多个变换后的滑动窗口。
图3是用于使用滑动窗口算法在第一失真图像中检测对象的方法的框图。
图4图示被设置用于检测失真图像中的对象的系统。
具体实施方式
现在将在下文中参考附图更全面地描述本发明构思,在附图中示出了本发明构思的当前优选变型。然而,本发明构思可以以许多不同的形式来实现,并且不应被解释为限于本文阐述的变型;相反,提供这些变型是为了透彻和完整,并将本发明构思的范围完全传达给技术人员。
当图像中的特征变形时,检测失真图像中的对象可能会出现问题。因此,一种解决方案是在应用对象检测算法之前校正失真图像。校正是将失真图像反转为线性投影图像的过程,为此,对象检测算法能更好地工作。但是,校正本身是计算量很大的操作,其不仅给处理器增加了负担,而且还占用了例如处理器中的宝贵资源,诸如时间、功率和带宽。此外,校正给摄像机系统中的定标器单元增加了负担,该定标器单元是有限的资源,并且因此也需要访问定标器的其他过程可能会受到影响。
发明人已经认识到,通过在滑动窗口算法中变换滑动窗口,可以直接在失真图像中检测对象。因此,利用本发明构思,在将滑动窗算法应用于对象检测之前,不需要校正失真图像。现在将参考图1至图4描述本发明构思。
图1A至图1B图示被设置用于使用滑动窗口算法来检测第一失真图像600中的对象的设备100。现在将结合图2A至图2C来解释设备的功能。
设备100包括图像接收器102。图像接收器102被设置用于接收第一失真图像(参见下面的图2B,附图标记600)。第一失真图像600可以是视频流中的帧。图像接收器102可以被设置成从图像传感器接收图像数据。图像接收器102可以是图像传感器。
设备100进一步包括失真接收器104。失真接收器104被设置用于接收第一失真图像600的失真的数学表示的逆。失真可以包括光学失真。可以使用准直器来确定光学失真。可以基于已知的平面目标的失真图像来确定失真。已知的平面目标可以包括变化图案和/或重复图案。例如,已知的平面目标可以包括已知几何形状的重复图案。重复图案可以是棋盘状图案。
失真可以包括应用于图像数据的图像变换,从而形成失真图像。图像变换可以与用于形成全景图像的图像的拼接相关联。在一些变型中,失真是光学失真和应用于所捕获的图像数据的图像变换的组合。
图像接收器102和失真接收器104可以是单个接收器。
设备100进一步包括至少一个处理器106。至少一个处理器106被设置成:在第一失真图像600中的多个位置之上滑动滑动窗口620,以及针对第一失真图像600中的多个位置中的每个位置630、634、638:基于在位置630、634、638处的失真的数学表示的逆来变换滑动窗口620;以及在滑动窗口算法中使用变换后的滑动窗口720、724、728在第一失真图像600中的位置630、634、638处进行对象检测。
滑动窗口620可以包括特征检测图案700。可以从与设备100进行通信的服务器(图中未示出)接收多个特征检测图案,或者可以将多个特征检测图案存储在设备100中。可以通过训练过程来预先确定多个特征检测图案。训练过程可以使用包括感兴趣的特征的多个图像。训练过程可以使用不包括感兴趣的特征的多个图像。例如,训练过程可以使用包括汽车的多个图像和不包括汽车的多个图像。
训练过程可以包括确定卷积神经网络(CNN)的内核的最优化技术,该卷积神经网络将最能匹配感兴趣的特征。在CNN中,第一层始终是使用滑动窗口算法和一组定义的内核的卷积层。在典型的CNN场景中,每个卷积层都有自己的卷积内核组,应该基于CNN的对象检测场景(感兴趣的特征,例如汽车、人等)为该卷积层训练权重。如上所述,对于失真图像,定义的内核可能并不总是足够的。使用本文描述的发明构思,可以基于失真的数学表示的逆和失真图像中的位置来变换CNN的卷积层的内核组的大小和/或特征检测图案。因此,可以将失真图像用作CNN的输入,并且可以替代地变换CNN的内核,特别是第一层的内核,但附加地/可替代地还用于CNN的其他卷积层。
至少一个处理器106可以进一步被设置成拼接从例如摄像机的图像传感器接收到的图像来形成全景图像。第一失真图像600可以是形成的全景图像。
设备100可以进一步包括如图1A中所例示的非瞬态存储介质108。非瞬态存储介质108可以被配置用于针对第一失真图像600中的多个位置中的每个位置630、634、638存储变换后的滑动窗口720、724、728。非瞬态存储介质108可以进一步被配置成存储由图像接收器102接收的失真图像。非瞬态存储介质108可以进一步被配置成存储与特定摄像机和/或摄像机模型有关的失真和/或失真的逆。在将失真存储在存储介质108中的情况下,可以使用至少一个处理器106来计算失真的逆。非瞬态存储介质108可以进一步被配置成存储多个特征检测图案。
设备100可以进一步包括如图1A中所例示的编码器110。编码器110可以被设置用于将变换后的图像编码为另一视频流。非瞬态存储介质108可以进一步被配置成存储该另一视频流。
设备100可以包括如图1A中所例示的数据总线112。图像接收器102、失真接收器104、至少一个处理器106、非瞬态存储介质108和/或编码器110可以经由数据总线112通信。
如图1B中所例示,设备100可以是摄像机200。摄像机200可包括如图1B中所例示的光学器件202。光学器件202可以是成像光学器件。成像光学器件可以是摄像机物镜。光学器件可以对场景500成像。设备100可以被设置成产生场景500的全景图像。至少一个处理器106可以进一步被设置成拼接图像以形成场景500的全景图像。
现在将参考图2A至图2C进一步描述本发明构思。图2A图示包括多个直线510、512、514、516、518的场景500。场景500的直线图像将再现直线510、512、514、516、518。然而,图像通常是失真的,这在图2B中被例示为桶形失真。图2B图示图2A中的场景500的失真图像600。如图2B中所例示,场景500中的直线510、512、514、516、518在失真图像600中表现为弯曲线610、612、614、616、618。如失真图像600中所例示,失真在失真图像600中变化。例如,在失真图像600的中心附近,场景500中的直线514被成像为失真图像600中的直线614。在失真图像600的边缘附近,场景500中的直线510、518被成像为失真图像600中的弯曲线610、618。换句话说,对于图2B中所例示的失真,在失真图像600的中心的失真较小,并且朝向失真图像600的边缘的失真较大。因此,失真的程度和形状取决于失真本身以及失真图像600中的位置630、634、638。
在图2B中,示出了滑动窗口620。为了正确地识别失真图像600中的特征,可以基于失真的逆和失真图像600中的位置630、634、638来变换特征检测图案700。在图2C中所示的示例中,特征检测图案700与直线相关联。例如,将特征检测图案700直接应用于失真图像600将无法正确地检测与失真图像600中的第一位置630处和第三位置638处的直线有关的特征。然而,例如,将特征检测图案700直接应用于失真图像600将正确地检测与失真图像600中的第二位置634处的直线有关的特征。因此,为了使滑动窗口算法正确地识别与特征检测图案700有关的特征,可以基于针对失真图像600中的每个位置630、634、638的失真的逆来变换滑动窗口620。这由三个变换后的滑动窗口720、724、728例示,三个变换后的滑动窗口720、724、728包括图2C中的针对失真图像600中的三个不同位置630、634、638的变换后的特征检测图案。因此,将在滑动窗口算法中的变换后的滑动窗口720、724、728应用于失真图像600将正确地识别与针对失真图像600中的每个位置630、634、638的特征检测图案700有关的特征。
要理解的是,场景500中的直线510、512、514、516、518在图2A中图示,图2B中的光学失真和图2C中的特征检测图案700仅是示例,并且本文对它们进行描述是为了解释本发明构思。要理解的是,可以使用不同的图像特征(例如,现实世界的对象)和不同的失真(例如,枕形失真、髭形失真(mustache distortion)和/或图像拼接)来解释本发明构思。
图3是用于使用滑动窗口算法来检测第一失真图像600中的对象的方法S300的框图。方法S300包括接收S302第一失真图像600的失真的数学表示的逆。
失真可以包括光学失真。光学失真可以包括桶形失真、枕形失真和/或髭形失真。光学失真可以包括成像光学器件的光轴和图像传感器之间的未对准。
失真可以包括应用于图像数据的图像变换,从而形成失真图像。图像变换可以包括图像拼接。图像拼接可以拼接多个主图像以形成全景图像。失真图像可能是全景图像。
要理解的是,失真图像可以包括光学失真和应用于图像数据的图像变换。
对象的检测包括在第一失真图像600之上滑动S304滑动窗口620,并且针对第一失真图像600中的多个位置中的每个位置630、634、638:基于位置630、634、638处的失真的数学表示的逆来变换S306滑动窗口620,并且在滑动窗口算法中使用S308变换后的滑动窗口720、724、728在第一失真图像600中的位置630、634、638处进行对象检测。
变换S306滑动窗口620的步骤可以包括变换S310滑动窗口620的特征检测图案700。
变换S306滑动窗口620的步骤可以包括变换S312滑动窗口620的大小。
变换S306滑动窗口620的步骤可以是硬件实现的。可以在专用集成电路(ASIC)中实现变换S306滑动窗口620的步骤。在其他变型中,变换S306滑动窗口620的步骤可以在设备100的至少一个处理器106中的软件中实现。
变换后的滑动窗口720、724、728可以被存储在由第一失真图像600中的多个位置中的位置630、634、638索引的查找表中。
方法S300可以进一步包括:使用S314变换后的滑动窗口720、724、728作为卷积神经网络的第一层中的内核。
方法S300可以进一步包括:针对第一失真图像600中的多个位置中的每个位置630、634、638,存储S316变换后的滑动窗口720、724、728。
在对多个失真图像执行方法S300的情况下,在多个失真图像中的每一个中的对象的检测可以包括使用用于第一失真图像600中的对象检测的变换后的滑动窗口720、724、728。多个失真图像可以是视频流。方法S300可以进一步包括将多个变换后的图像编码为变换后的视频流。
图4图示被设置用于使用滑动窗口算法检测失真图像中的对象的系统800。系统800包括摄像机810和本设备100,摄像机810被设置用于捕获场景500的失真图像;其中,设备100的图像接收器102被设置用于接收由摄像机810捕获的场景500(图2A)的失真图像。摄像机810可以包括成像光学器件812。设备100的图像接收器102可以被设置用于经由有线或无线通信接口接收场景500的失真图像。失真图像可以是第一失真图像600。系统800可以包括被设置成产生场景500的全景图像的多个摄像机。系统800可以被安装在单个组件中。
本领域技术人员认识到,本发明构思决不限于上述优选的变型。相反,在所附权利要求的范围内,许多修改和变化是可能的。
另外,通过研究附图、本公开和所附权利要求,本领域技术人员在实践所要求保护的发明时可以理解和影响对所公开的变型的变化。
上文公开的系统和方法可以被实现为软件、固件、硬件或其组合。在硬件实现中,上述描述中提及的功能单元之间的任务的划分不一定对应于物理单元的划分;相反,一个物理组件可以具有多个功能,并且一个任务可以由多个物理组件协同执行。一些组件或所有组件可被实现为由数字信号处理器或微处理器执行的软件,或被实现为硬件或被实现为专用集成电路。例如,滑动窗口的变换可以在GPU或专用集成电路ASIC中实现,而运行具有变换后的滑动窗口的滑动窗口算法可以在设备的中央处理器CPU上运行的软件中实现。

Claims (13)

1.一种用于使用滑动窗口算法检测第一失真图像(600)中的对象的方法(S300),所述方法(S300)包括:
接收(S302)所述第一失真图像(600)的失真的数学表示的逆;
其中,对象的所述检测包括:在所述第一失真图像(600)之上滑动(S304)滑动窗口(620),所述滑动窗口(620)包括特征检测图案(700),以及针对所述第一失真图像(600)中的多个位置中的每个位置(630、634、638):
基于所述位置(630、634、638)处的所述失真的所述数学表示的所述逆来变换(S306)所述滑动窗口(620),其中,变换(S306)所述滑动窗口(620)的步骤包括:变换(S310)所述滑动窗口(620)的所述特征检测图案(700),使得变换后的滑动窗口(720、724、726)的所述特征检测图案的最终失真与所述第一失真图像(600)的所述位置处的所述失真相对应;以及
在所述滑动窗口算法中使用(S308)包括变换后的所述特征检测图案的所述变换后的滑动窗口(720、724、728)。
2.根据权利要求1所述的方法(S300),其中,变换(S306)所述滑动窗口(620)的步骤包括变换(S312)所述滑动窗口(620)的大小。
3.根据权利要求1所述的方法(S300),所述方法(S300)进一步包括:针对所述第一失真图像(600)中的所述多个位置中的每个位置(630、634、638),存储(S316)所述变换后的滑动窗口(720、724、728)。
4.根据权利要求3所述的方法(S300),其中,所述变换后的滑动窗口(720、724、728)被存储在由所述第一失真图像(600)中的所述多个位置中的所述位置(630、634、638)索引的查找表中。
5.根据权利要求3所述的方法(S300),对多个失真图像执行,其中,所述多个失真图像中的每一个失真图像中的对象的所述检测包括:使用用于所述第一失真图像(600)中的对象检测的所述变换后的滑动窗口(720、724、728)。
6.根据权利要求1所述的方法(S300),其中,所述失真包括光学失真。
7.根据权利要求1所述的方法(S300),其中,所述失真包括应用于图像数据的图像变换,从而形成失真图像。
8.根据权利要求1所述的方法(S300),其中,变换所述滑动窗口(620)的步骤是硬件实现的。
9.一种计算机程序产品,所述计算机程序产品包括具有指令适配器的非瞬态计算机可读存储介质,以在由具有处理能力的设备执行时执行权利要求1所述的方法(S300)。
10.一种设备(100),被设置用于使用滑动窗口算法检测第一失真图像(600)中的对象,所述设备(100)包括:
图像接收器(102),所述图像接收器(102)被设置用于接收所述第一失真图像(600);
失真接收器(104),所述失真接收器(104)被设置用于接收所述第一失真图像(600)的失真的数学表示的逆;以及
至少一个处理器(106),所述至少一个处理器(106)被设置用于:
在所述失真图像(600)中的多个位置之上滑动滑动窗口(620),所述滑动窗口(620)包括特征检测图案(700),以及针对所述第一失真图像(600)中的多个位置中的每个位置(630、634、638):
基于所述位置(630、634、638)处的所述失真的所述数学表示的所述逆来变换所述滑动窗口(620),以及变换所述滑动窗口(620)的所述特征检测图案(700),使得变换后的滑动窗口(820、724、726)的所述特征检测图案的最终失真与所述第一失真图像(600)的所述失真相对应;以及
在所述滑动窗口算法中使用包括变换后的所述特征检测图案的所述变换后的滑动窗口(720、724、728)在所述第一失真图像(600)中的所述位置(630、634、638)处进行对象检测。
11.根据权利要求10所述的设备(100),进一步包括非瞬态存储介质(108),所述非瞬态存储介质(108)被配置用于针对所述失真图像(600)中的多个位置中的每个位置(630、634、638)存储所述变换后的滑动窗口(720、724、728)。
12.根据权利要求10所述的设备(100),其中,所述设备(100)是摄像机(200)。
13.一种系统(800),被设置用于使用滑动窗口算法检测失真图像中的对象,所述系统(800)包括:
摄像机(810),所述摄像机(810)被设置用于捕获场景(500)的失真图像;以及
根据权利要求10所述的设备(100);
其中,所述设备(100)的所述图像接收器(102)被设置用于接收由所述摄像机(810)捕获的所述场景(500)的所述失真图像。
CN202010258329.3A 2019-04-10 2020-04-03 用于检测失真图像中的对象的方法、系统和设备 Pending CN111815512A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP19168368.9 2019-04-10
EP19168368.9A EP3722991B1 (en) 2019-04-10 2019-04-10 Method, system, and device for detecting an object in a distorted image

Publications (1)

Publication Number Publication Date
CN111815512A true CN111815512A (zh) 2020-10-23

Family

ID=66217701

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010258329.3A Pending CN111815512A (zh) 2019-04-10 2020-04-03 用于检测失真图像中的对象的方法、系统和设备

Country Status (6)

Country Link
US (1) US11682190B2 (zh)
EP (1) EP3722991B1 (zh)
JP (1) JP2020194532A (zh)
KR (1) KR102598910B1 (zh)
CN (1) CN111815512A (zh)
TW (1) TW202042178A (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210264153A1 (en) * 2020-02-21 2021-08-26 CACI, Inc.- Federal Machine learning method and apparatus for detection and continuous feature comparison

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100002071A1 (en) * 2004-04-30 2010-01-07 Grandeye Ltd. Multiple View and Multiple Object Processing in Wide-Angle Video Camera
CN102104767A (zh) * 2009-10-16 2011-06-22 苹果公司 具有透视失真校正的脸部姿势改进
GB201806295D0 (en) * 2017-04-18 2018-05-30 Canon Kk Image processing apparatus, image processing method, and image capturing apparatus
CN109074632A (zh) * 2016-02-16 2018-12-21 6115187加拿大公司暨伊美景象公司 图像失真变换方法和设备

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7613357B2 (en) * 2005-09-20 2009-11-03 Gm Global Technology Operations, Inc. Method for warped image object recognition
US9373057B1 (en) 2013-11-01 2016-06-21 Google Inc. Training a neural network to detect objects in images
DE102014013967A1 (de) * 2014-09-19 2016-03-24 Audi Ag Head-up-Display für einen Kraftwagen, Kraftwagen mit einem Head-up-Display und Verfahren zum Anordnen eines Head-up-Displays in einem Kraftwagen
KR101904480B1 (ko) * 2014-12-26 2018-10-04 재단법인 다차원 스마트 아이티 융합시스템 연구단 카메라의 왜곡을 고려한 물체 인식 시스템 및 방법
US20160217164A1 (en) * 2015-01-28 2016-07-28 Numenta, Inc. Sparse distributed representation of spatial-temporal data
CN108700652B (zh) * 2015-12-09 2023-04-21 欧利景无线有限公司 用于无线事件检测和监控的方法、装置和系统
CN106228510B (zh) * 2016-08-11 2019-01-29 中国电子科技集团公司第三十八研究所 基于畸变程度分割的无人机载实时sar图像配准方法
CN106504233B (zh) * 2016-10-18 2019-04-09 国网山东省电力公司电力科学研究院 基于Faster R-CNN的无人机巡检图像电力小部件识别方法及系统
FR3062223B1 (fr) * 2017-01-25 2019-04-19 Valeo Schalter Und Sensoren Gmbh Detection d'obstacles dans l'environnement d'un vehicule automobile par traitement d'images
WO2018232754A1 (en) 2017-06-23 2018-12-27 Microsoft Technology Licensing, Llc. JOINT OBJECT DETECTION BASED ON COLLABORATIVE INFORMATION
CN107590438A (zh) * 2017-08-16 2018-01-16 中国地质大学(武汉) 一种智能辅助驾驶方法及系统
CN110675307B (zh) * 2019-08-19 2023-06-06 杭州电子科技大学 基于vslam的3d稀疏点云到2d栅格图的实现方法
CN111126306A (zh) * 2019-12-26 2020-05-08 江苏罗思韦尔电气有限公司 一种基于边缘特征及滑动窗的车道线检测方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100002071A1 (en) * 2004-04-30 2010-01-07 Grandeye Ltd. Multiple View and Multiple Object Processing in Wide-Angle Video Camera
CN102104767A (zh) * 2009-10-16 2011-06-22 苹果公司 具有透视失真校正的脸部姿势改进
CN109074632A (zh) * 2016-02-16 2018-12-21 6115187加拿大公司暨伊美景象公司 图像失真变换方法和设备
GB201806295D0 (en) * 2017-04-18 2018-05-30 Canon Kk Image processing apparatus, image processing method, and image capturing apparatus

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
KRISTOF VAN BEECK等: "Real-Time Vision-Based Pedestrian Detection in a Truck’s Blind Spot Zone Using a Warping Window Approach", 《INTERNATIONAL CONFERENCE ON FUTURE INFORMATION TECHNOLOGY;INTERNATIONAL CONFERENCE ON MULTIMEDIA AND UBIQUITOUS ENGINEERING;FX》, 31 January 2014 (2014-01-31), pages 1 - 16 *
YU-CHUAN SU等: "Learning Spherical Convolution for Fast Features from 360 Imagery", 《ADVANCES IN NEURAL INFORMATION PROCESSING SYSTEMS》, 2 August 2017 (2017-08-02) *

Also Published As

Publication number Publication date
US20200327691A1 (en) 2020-10-15
US11682190B2 (en) 2023-06-20
EP3722991A1 (en) 2020-10-14
KR20200119712A (ko) 2020-10-20
EP3722991C0 (en) 2024-05-29
KR102598910B1 (ko) 2023-11-03
TW202042178A (zh) 2020-11-16
EP3722991B1 (en) 2024-05-29
JP2020194532A (ja) 2020-12-03

Similar Documents

Publication Publication Date Title
JP7140580B2 (ja) ステレオ撮像装置
JP6330987B2 (ja) 画像処理装置、画像処理方法、及び記憶媒体
CN110874817B (zh) 图像拼接方法和装置、车载图像处理装置、设备、介质
US8797387B2 (en) Self calibrating stereo camera
US9836668B2 (en) Image processing device, image processing method, and storage medium
JP2013009050A (ja) 画像処理装置、画像処理方法
US11417080B2 (en) Object detection apparatus, object detection method, and computer-readable recording medium
CN111652937B (zh) 车载相机标定方法和装置
US9984444B2 (en) Apparatus for correcting image distortion of lens
CN109559353B (zh) 摄像模组标定方法、装置、电子设备及计算机可读存储介质
WO2018235300A1 (ja) 物体検知装置、物体検知方法、及びコンピュータ読み取り可能な記録媒体
CN108495066B (zh) 广角镜头的畸变矫正方法、装置及系统
EP3923241B1 (en) Aligning digital images
KR20190086964A (ko) 어안 렌즈 및 전방위 영상의 왜곡 제거를 위한 장치 및 방법
CN110598712B (zh) 物体位置识别方法、装置、计算机设备及存储介质
US11076092B2 (en) Image processing apparatus, image processing method, and image processing program
US11682190B2 (en) Method, system, and device for detecting an object in a distorted image
EP3193305B1 (en) Method and device for displaying a front-view of a vehicle's surrounding and respective vehicle
JP2018201146A (ja) 画像補正装置、画像補正方法、注目点認識装置、注目点認識方法及び異常検知システム
JP5148573B2 (ja) 画像処理システム、画像処理方法およびプログラム
CN111953982B (zh) 编码失真的图像帧的方法、设备和介质
JP6492603B2 (ja) 画像処理装置、システム、画像処理方法、およびプログラム
JP6579934B2 (ja) 画像処理装置、撮像装置、画像処理方法、プログラム、記憶媒体
EP4177823A1 (en) Producing an output image of a scene from a plurality of source images captured by different cameras
JP2012015982A (ja) 映像間のシフト量の決定方法

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