CN118057451A - 电子装置和操作电子装置的方法 - Google Patents

电子装置和操作电子装置的方法 Download PDF

Info

Publication number
CN118057451A
CN118057451A CN202310554076.8A CN202310554076A CN118057451A CN 118057451 A CN118057451 A CN 118057451A CN 202310554076 A CN202310554076 A CN 202310554076A CN 118057451 A CN118057451 A CN 118057451A
Authority
CN
China
Prior art keywords
camera
change
images
estimated
electronic device
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
CN202310554076.8A
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN118057451A publication Critical patent/CN118057451A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • G06T7/248Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/269Analysis of motion using gradient-based 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
    • 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
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • 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/44Local 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
    • G06V10/443Local 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 by matching or filtering
    • 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/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Image Analysis (AREA)
  • Navigation (AREA)

Abstract

公开电子装置和操作电子装置的方法。所述操作电子装置的方法包括:获得由同一相机在不同的相应时间点拍摄的单目图像;基于神经网络估计与所述图像被拍摄的时间点之间的时间对应的相机的位置变化;以及基于估计的相机的位置变化并基于所述图像来估计相机的位置和/或方向。

Description

电子装置和操作电子装置的方法
本申请要求于2022年11月18日在韩国知识产权局提交的第10-2022-0155458号韩国专利申请的权益,所述韩国专利申请的全部公开出于所有目的通过引用包含于此。
技术领域
以下描述涉及具有相机姿态估计的装置和方法。
背景技术
同时定位和映射(SLAM)算法在同时执行定位和映射的同时估计位置和方向。作为与SLAM中的定位相关的基本技术的视觉惯性里程计(VIO)可以使用相机和惯性传感器(例如,惯性测量单元(IMU))来估计位置、速度和方向。
发明内容
提供本发明内容以简化的形式介绍在下面的具体实施方式中进一步描述的构思的选择。本发明内容不意在标识所要求保护的主题的关键特征或必要特征,也不意在用于帮助确定要求保护的主题的范围。
在一个总的方面,一种电子装置包括:一个或多个处理器;以及存储器,存储指令,所述指令被配置为当由所述一个或多个处理器执行时使所述一个或多个处理器:获得由同一相机在两个相应时间点拍摄的两个单个图像;基于神经网络估计在所述两个点之间的时间间隔期间发生的相机的位置变化;以及基于估计的相机的位置变化并基于所述两个图像来估计相机的位置和/或方向。
所述指令还可被配置为使所述一个或多个处理器:通过基于初始估计结果执行同时定位和映射(SLAM)操作来估计相机的位置和/或方向,其中,初始估计结果是基于所述两个图像的特征点之间的特征点匹配和估计的相机的位置变化初始估计相机的姿态变化的结果。
所述指令还可被配置为使所述一个或多个处理器:通过根据估计的相机的位置变化调整初始估计结果的尺度来估计相机的位置和/或方向。
姿态变化的初始估计结果可包括当前图像和相应的先前图像之间的时间间隔内相机的姿态变化,其中,当前图像是所述两个图像中的一个,并且所述两个图像中的另一个是所述先前图像中的一个,并且估计的相机的位置变化可包括当前图像和相应的先前图像之间的估计的相机的位置变化,其中,所述指令还可被配置为使所述一个或多个处理器:通过调整初始估计结果的尺度来估计相机的位置和/或方向,使得姿态变化与估计的相机的位置变化之间的误差最小化。
基于相机的位置变化来估计相机的位置和/或方向可减少SLAM操作中的尺度模糊性。
可基于被配置为用于处理单目图像的单目视觉SLAM算法来执行SLAM操作。
可基于由参考装置收集的参考图像并且基于参考图像被拍摄的时间之间的相应时间间隔内参考相机的参考位置变化来训练神经网络,参考装置可包括参考相机和参考位置传感器和/或参考惯性传感器,参考位置传感器和/或参考惯性传感器可感测参考位置变化所基于的位置。
参考图像可由参考相机在不同的相应参考时间点拍摄,并且参考位置变化由参考位置传感器和/或参考惯性传感器在相应参考时间点感测的值确定。
电子装置可以是以下装置或者可以包括在以下装置中:自动驾驶车辆、配备有驾驶辅助系统的车辆、支持高级驾驶员辅助系统(ADAS)的车辆、配备有相机的智能电话、可穿戴装置或机器人。
在一个总的方面,一种操作电子装置的方法包括:获得由同一相机在不同的相应时间点拍摄的单目图像;基于神经网络估计与图像被拍摄的时间点之间的时间对应的相机的位置变化;以及基于估计的相机的位置变化并基于所述图像来估计相机的位置和/或方向。
估计相机的位置和/或方向的步骤可包括:基于初始估计的相机的姿态变化执行同时定位和映射(SLAM)操作,初始估计的相机的姿态变化基于所述图像之间的特征点匹配并且基于估计的相机的位置变化。
姿态变化的初始估计结果可包括当前图像和相应的先前图像之间的时间间隔内相机的姿态变化,其中,当前图像是所述图像中的一个,并且所述图像中的另一个是所述先前图像中的一个,并且估计的相机的位置变化可包括当前图像和相应的先前图像之间的估计的相机的位置变化,并且估计相机的位置和/或方向可通过调整初始估计结果的尺度来执行,使得姿态变化与估计的相机的位置变化之间的误差最小化。
估计相机的位置和/或方向可通过根据相机的位置变化调整相机的姿态变化的初始估计结果的尺度来执行。
估计相机的位置和/或方向可基于所述图像之间的特征点匹配来减少SLAM操作中的尺度模糊性。
SLAM操作可基于单目视觉SLAM来执行,单目视觉SLAM基于与所述相机对应的单个相机。
可基于由参考装置收集的参考图像并且基于参考图像被拍摄的时间之间的相应时间间隔内参考相机的参考位置变化来训练神经网络,参考装置可包括参考相机和参考位置传感器和/或参考惯性传感器,参考位置传感器和/或参考惯性传感器感测参考位置变化所基于的位置。
参考图像可由参考相机在不同的相应参考时间点拍摄,并且参考位置变化可由参考位置传感器和/或参考惯性传感器在相应参考时间点感测的值确定。
位置变化可以是距离。
一种非暂时性计算机可读存储介质可以存储指令,所述指令在由处理器执行时使处理器执行任何方法。
根据以下具体实施方式、附图和权利要求,其他特征和方面将是清楚的。
附图说明
图1示出根据一个或多个实施例的电子装置的示例。
图2示出根据一个或多个实施例的使用单目视觉同时定位和映射(SLA M)的尺度模糊性的示例。
图3示出根据一个或多个实施例的用于相机姿态估计的一般数据流程。
图4A示出根据一个或多个实施例的用于相机姿态估计的系统。
图4B示出根据一个或多个实施例的随图像序列的相机姿态估计。
图4C示出根据一个或多个实施例的估计相机姿态的另一示例。
图5示出根据一个或多个实施例的电子装置的示例。
图6示出根据一个或多个实施例的操作电子装置的示例方法。
图7示出根据一个或多个实施例的电子装置的示例。
在整个附图和具体实施方式中,除非另有描述或提供,否则相同或相似的附图参考标记将被理解为指代相同或相似的元件、特征和结构。附图可能未按比例绘制,并且为了清楚、说明和方便起见,附图中的元件的相对尺寸、比例和描绘可能被夸大。
具体实施方式
提供以下具体实施方式以帮助读者获得对在此描述的方法、设备和/或系统的全面理解。然而,在理解本申请的公开之后,在此描述的方法、设备和/或系统的各种改变、修改和等同物将是清楚的。例如,在此描述的操作顺序仅是示例,并且不限于在此阐述的那些顺序,而是除了必须以特定次序发生的操作之外,可如在理解本申请的公开之后将是清楚的那样改变。此外,为了更加清楚和简明,可省略对在理解本申请的公开之后已知的特征的描述。
在此描述的特征可以以不同形式被实施,并且不应被解释为限于在此描述的示例。相反,已经提供在此描述的示例以仅示出在理解本申请的公开之后将是清楚的实现在此描述的方法、设备和/或系统的许多可行方式中的一些。
在此使用的术语仅用于描述各种示例,而不用于限制公开。除非上下文另外清楚地指示,否则单数形式也旨在包括复数形式。如在此使用的,术语“和/或”包括相关所列项中的任何一个和任何两个或更多个的任何组合。作为非限制性示例,术语“包括”、“包含”、和“具有”表明存在陈述的特征、数量、操作、构件、元件和/或它们的组合,但是不排除存在或添加一个或多个其他特征、数量、操作、构件、元件和/或它们的组合。
在整个说明书中,当组件或元件被描述为“连接到”、“结合到”或“接合到”另一组件或元件时,它可直接“连接到”、“结合到”或“接合到”另一组件或元件,或者可合理地存在介于它们之间的一个或多个其他组件或元件。当组件或元件被描述为“直接连接到”、“直接结合到”或“直接接合到”另一组件或元件时,可不存在介于它们之间的其他元件。类似地,例如“在……之间”和“紧接在……之间”以及“与……邻近”和“与......紧邻”的表述也可如前面描述的那样被解释。
尽管在此可使用诸如“第一”、“第二”和“第三”或A、B、(a)、(b)等的术语来描述各种构件、组件、区域、层或部分,但是这些构件、组件、区域、层或部分不应受这些术语的限制。这些术语中的每个不用于限定例如相应构件、组件、区域、层或部分的本质、次序或顺序,而是仅用于将相应构件、组件、区域、层或部分与其他构件、组件、区域、层或部分区分开。因此,在不脱离示例的教导的情况下,在此描述的示例中所称的第一构件、第一组件、第一区域、第一层或第一部分也可被称为第二构件、第二组件、第二区域、第二层或第二部分。
除非另外定义,否则在此使用的所有术语(包括技术术语和科学术语)具有与本公开所属领域的普通技术人员通常理解的含义和基于对本申请的公开的理解通常理解的含义相同的含义。除非在此明确地如此定义,否则术语(诸如,在通用词典中定义的术语)将被解释为具有与它们在相关领域上下文和本申请的公开中的含义一致的含义,并且不应以理想化或过于形式化的意义进行解释。在此针对示例或实施例的术语“可”(例如,关于示例或实施例可包括或实现什么)的使用意味着存在包括或实现这样的特征的至少一个示例或实施例,而所有示例不限于此。
图1示出根据一个或多个实施例的示例电子装置。
参照图1,车辆100可以是在道路或轨道上行驶的任何运输工具。车辆100可以是例如汽车、摩托车等,并且在车辆100是汽车的情况下,汽车可以是各种类型,诸如乘用车、货运车辆、两轮车辆等。车辆100可以是自动驾驶车辆、智能车辆、配备有驾驶辅助系统的车辆和支持高级驾驶员辅助系统(ADAS)的车辆。在此,车辆100可以是配备有电子装置110的车辆。电子装置110可包括存储器111、处理器113和相机115。
电子装置110可基于由相机115在不同时间点获取的图像来估计相机115的姿态(即,位置和/或方向(在任何参考系中,例如,相对于车辆100))。电子装置110可基于图像来估计相机115的位置变化,并且通过基于估计的相机115的位置变化并且基于图像之间的特征点匹配来执行同时定位和映射(SLAM)操作,以估计相机115的位置和/或方向。参照图3和图4A至图4C描述估计相机115的位置和/或方向。
在相机115设置在诸如车辆100的车辆中的实施方式中,当估计相机115的姿态时,可以简单地确定车辆100的姿态。估计的车辆100的姿态可以用于控制车辆100或向车辆100中的用户提供各种服务。然而,示例不限于此。
存储器111可存储计算机可读指令。当存储在存储器111中的指令由处理器113执行时,处理器113可执行下文将描述的操作。存储器111可以是易失性存储器和/或非易失性存储器。
处理器113可以是执行指令(或程序)或控制电子装置110的装置,并且可以包括例如中央处理器(CPU)和/或图形处理器(GPU)。处理器113可以获得由同一相机在不同时间点拍摄的图像,基于神经网络估计在图像被拍摄的两个时间点之间的相机的位置变化,并且基于相机的位置变化和图像来估计相机的位置和/或方向。尽管为了方便起见,在此的描述以单数形式指代“处理器”,但是如在此使用的“处理器”指代可能不同类型的一个或多个处理器,并且并不意味着始终是相同的处理器。此外,“处理器”的使用并不意味着在此公开了仅一个装置;在此的描述描述了各种示例和实施例,每个示例和实施例具有一个或多个处理器。
相机115可以通过拍摄车辆100前方或行驶方向上的场景来输出图像。由相机115拍摄的图像可以被发送到处理器113。
尽管在图1的示例中相机115被示出为包括在电子装置110中,但是示例不限于此。本公开中的描述还可以应用于电子装置110从外部相机接收图像并执行校准的情况。另外,尽管在图1的示例中电子装置110被示出为设置在车辆100中,但是示例不限于此。由设置在车辆100中的相机115拍摄的图像可以被发送到车辆100或外部电子装置110,以估计相机115或车辆100的姿态。在该示例中,电子装置110可以是各种计算装置中的任何一种,或者可以在各种计算装置中的任何一种中实现,各种计算装置诸如移动电话、智能电话、平板计算机、膝上型计算机、个人计算机(PC)、远程服务器等。
图2示出根据一个或多个实施例的使用单目视觉SLAM的尺度模糊性的示例。
参照图2,电子装置可以被配置为基于单目视觉SLAM在由单个相机在不同时间点拍摄的图像之间执行特征点匹配,并且基于其结果估计相机的位置和/或方向。
视觉SLAM是一种用于执行定位和映射以基于通过相机获取的另一图像在3D中估计与先前由相机获取的图像相比的姿态变化的技术。单目视觉SLAM是一种使用单个相机而不使用其他传感器的视觉SLAM。短语“单个相机”是指一次拍摄单个图像以与SLAM一起使用的单个传感器;可使用双目相机、多传感器相机等,但是可一次仅使用一个传感器或图像。单目视觉SLAM模型可分别从由单个相机拍摄的图像提取特征点。可从具有颜色或亮度的明显变化的图像点(例如,图像中的线段的拐角或端点等)提取特征点。然而,示例不限于此。可通过在两个或更多个时间点拍摄的图像的特征点匹配来找到对应的特征点,并且可使用该信息来估计相机的姿态。
然而,即使当图像的特征点被准确匹配时,单目视觉SLAM也可以根据尺度因子不同地估计相机的姿态。参照图2中所示的第一假设情况210和第二假设情况240,即使在两个图像之间具有完全相同的特征点匹配结果,也可以相对于到特征点的实际距离(例如,深度)不同地计算相机在拍摄两个图像的时间之间移动的距离(例如,作为d1和d2)。在第一假设情况210下,第一相机位置220指示相机在第一时间点的假设位置,并且第二相机位置230指示相机在第二时间点的假设位置。类似地,在第二假设情况240下,第三相机位置250指示相机在第一时间点的假设位置,并且第四相机位置260指示相机在第二时间点的假设位置。在两种情况下,尽管特征可以在两个图像之间匹配,但是不同的相机位置都可潜在地由单目SLAM模型预测。总之,单目视觉SLAM可能无法准确地预测单个相机在拍摄两个特征匹配图像之间的移动。
如参照图3和图4A所描述的,可通过神经网络基于那些图像估计图像被拍摄的两个时间点之间的相机的位置变化来解决这种可能导致相机的移动距离的不准确估计的尺度模糊性。
图3和图4A至图4C示出根据一个或多个实施例的估计相机的姿态的示例。
参照图3,示出用于估计相机的姿态的操作。
在操作310中,电子装置可获得由同一相机在不同的相应时间点拍摄的图像。电子装置可从单个相机获得在不同的相应时间拍摄的两个或更多个图像。例如,图像可以是先前帧图像和当前帧图像,或者先前关键帧图像和当前关键帧图像,但是在不同时间点拍摄的任何图像可不受限制地应用。
在操作320中,电子装置可提取分别从图像获得的特征点,并将一个图像中的特征点与另一图像中的特征点进行匹配。
在操作330中,电子装置可以通过获得的图像被输入到其中的神经网络来估计在图像被拍摄的两个时间点之间的相机的位置变化(例如,两个时间点内相机的移动距离)。(与通过深度学习解决尺度模糊性的单目视觉SLAM模型相比)估计相机的位置变化的神经网络可以是相对轻量的模型,因此神经网络可实时在线操作,而且可相对容易地获得神经网络的训练数据。
可容易地收集“由包括参考相机和参考位置传感器和/或参考惯性传感器的参考装置生成的参考图像”以及“在参考图像被拍摄的两个参考时间点之间的参考相机的参考位置变化”作为训练数据。这里,参考相机、参考位置传感器、参考惯性传感器、参考装置、参考图像和参考位置变化可旨在用于生成神经网络的训练数据,并且可使用利用由参考装置生成的训练数据训练的神经网络来与在电子装置的运行时期间利用的相机、位置传感器、惯性传感器、电子装置、图像和位置变化区分开。例如,参考位置传感器可包括全球定位系统(GPS)传感器,并且参考惯性传感器可以包括惯性测量单元(IMU)传感器。然而,示例不限于此。参考图像可由参考相机在不同时间点拍摄,并且参考位置变化可以由参考位置传感器和/或参考惯性传感器在两个参考时间点感测的值确定。由于与参考图像匹配的参考位置变化可通过参考位置传感器和/或参考惯性传感器以低成本被相对容易地获得,因此实现神经网络的成本可以较低。
在操作340中,电子装置可基于匹配特征点的结果并且基于相机的位置变化来估计相机的姿态。电子装置可基于匹配特征点的结果和相机的位置变化来执行SLAM操作。电子装置可通过根据相机的位置变化调整匹配特征点的结果的尺度来估计相机的姿态。电子装置可通过基于相机的位置变化消除在基于图像之间的特征点匹配的SLAM操作中发生的尺度模糊性来高精度地估计相机的姿态。
参照图4A,示出用于估计相机的姿态的SLAM模型410和SLAM框架420。
在不同时间点拍摄的图像(例如,先前帧图像It-1和当前帧图像It)可被输入到SLAM模型410中。SLAM模型410可以是神经网络模型,并且可包括例如编码器411、位置变化估计模型415和解码器417。编码器411可以是在通过对输入图像执行卷积运算来减小图像的尺寸的同时提取随着通道数量而增加的特征413的模型,并且可以是例如卷积神经网络(CNN)、ResNet、PoseNet、EfficientNet等。由编码器411提取的特征413(或特征图)可以具有比编码器411的输入分辨率低的分辨率。位置变化估计模型415可以是深度学习模型,并且可基于由编码器411提取的特征413来估计与图像被拍摄的两个时间点之间的时间间隔对应的相机的位置变化St。如上所述,可基于由参考装置收集在一起的参考图像和在参考图像被拍摄的两个参考时间点之间的参考相机的参考位置变化来训练位置变化估计模型415。由于参考装置可同时收集参考图像和参考位置变化,因此可以相对容易地收集用于位置变化估计模型415的训练数据。解码器417可通过增加由编码器411提取的特征413的尺寸的上采样来输出分辨率与图像的分辨率相似或相同的特征图(例如,先前特征图Ft-1和当前特征图Ft)。每个特征图可以是具有编码器411的输入分辨率的分辨率的N通道特征图,并且可包括特征点和描述符。描述符可包括关于特征点的信息(例如,颜色、形状、锐度等)。
SLAM框架420可将从解码器417输出的特征图彼此匹配,基于匹配结果初始估计相机的姿态变化,基于相机的位置变化St调整初始估计结果的尺度,并且基于调整的结果执行映射,并且可重复前述操作。通过这些操作,可以最终确定相机的姿态Pt。例如,姿态变化可以是位置和/或方向的变化,并且可表示为矢量。Pt可包括相机的位置(例如,x、y、z)和/或方向(例如,滚转、俯仰、偏航)。
参照图4B和图4C详细描述SLAM框架420基于相机的位置变化St调整初始估计结果的尺度的操作。
图4B示出根据相机的位置变化来调整关于相机的姿态变化的初始估计结果的尺度的示例。这里,相机的姿态变化可由SLAM框架420初始估计,并且相机的位置变化可由位置变化估计模型415估计。
对于第一时间点430,当前帧可以是第i帧,并且对于先前时间点,先前帧可以是第(i-1)帧。
电子装置可基于当前帧和前一帧来估计在两个时间点之间的相机的姿态变化。可基于匹配对应于相应帧的特征点的结果来估计在两个时间点之间的相机的姿态变化。相机的姿态变化可指示与先前时间点相比,相机的位置或方向在当前时间点已经改变了多少。在关于相机的姿态变化的初始估计结果中,由于上述的尺度模糊性,相机的位置变化可能是不准确的。
电子装置可基于位置变化估计模型来估计相机从当前帧和先前帧的位置变化。
电子装置可根据相机的位置变化来调整相机的姿态变化的初始估计结果的尺度。例如,电子装置可调整初始估计结果的尺度,使得关于相机的姿态变化的初始估计结果中的相机的位置变化与由位置变化估计模型估计的相机的位置变化相同。
在第一时间点430之后的第二时间点440,当前帧可以是第(i+1)帧,并且前一帧可以是第i帧。上述操作也可以在第二时间点440处执行。
图4C示出根据相机的位置变化来调整关于相机的姿态变化的初始估计结果的尺度的另一示例。图4B示出针对单个先前帧估计相机的位置变化并调整姿态变化的尺度的示例,而图4C示出针对多个先前帧估计相机的位置变化并基于此调整姿态变化的尺度的示例。考虑通过多个先前帧的相机的更多移动可提高调整姿态变化的尺度的精度。即使当在估计相对于预定帧相机的位置变化时发生误差时,也可有效地减小误差对调整姿态变化的尺度的精度的影响。
这里,相机的姿态变化可由图4A的SLAM框架420初始估计,并且相机的位置变化可由图4A的位置变化估计模型415估计。
在第一时间点450,当前帧可为第i帧,且多个先前帧可为第(i-5)帧、第(i-4)帧、第(i-3)帧、第(i-2)帧和第(i-1)帧。
电子装置可基于两个相邻帧来估计在两个时间点之间的相机的姿态变化。例如,电子装置可以基于第(i-5)帧和第(i-4)帧来估计在两个时间点之间的相机的姿态变化,并且基于第(i-4)帧和第(i-3)帧来估计在两个时间点之间的相机的姿态变化。可以以相同的方式估计相机相对于其他相邻帧的姿态变化。
电子装置可使用基于两个相邻帧的相机的姿态变化来确定多个先前帧中的每个与当前帧之间的相机的姿态变化。例如,可通过将第(i-2)帧和第(i-1)帧之间的相机的姿态变化与第(i-1)帧和第i帧之间的相机的姿态变化相加来确定第(i-2)帧和当前帧之间的相机的姿态变化。此外,可通过将第(i-3)帧和第(i-2)帧之间的相机的姿态变化、第(i-2)帧和第(i-1)帧之间的相机的姿态变化以及第(i-1)帧和第i帧之间的相机的姿态变化相加来确定第(i-3)帧和当前帧之间的相机的姿态变化。可以以相同的方式确定剩余的先前帧中的每个与当前帧之间的相机的姿态变化。
电子装置可基于位置变化估计模型从多个先前帧中的每个和当前帧估计相机的位置变化。例如,电子装置可从第(i-5)帧和当前帧估计相机的位置变化,并且从第(i-4)帧和当前帧估计相机的位置变化。可以以相同的方式估计相机相对于剩余的先前帧中的每个的位置变化。
电子装置可调整关于相机的姿态变化的初始估计结果的尺度,以使先前帧中的每个与当前帧之间的相机的姿态变化的初始估计结果中的位置变化量与位置变化之间的误差最小化。例如,可调整关于相机的姿态变化的初始估计结果的尺度,以使第(i-5)帧与当前帧之间的初始估计结果中的位置变化量与位置变化之间的误差、第(i-4)帧与当前帧之间的初始估计结果中的位置变化量与位置变化之间的误差、第(i-3)帧与当前帧之间的初始估计结果中的位置变化量与位置变化之间的误差、第(i-2)帧与当前帧之间的初始估计结果中的位置变化量与位置变化之间的误差、以及第(i-1)帧与当前帧之间的初始估计结果中的位置变化量与位置变化之间的误差的平均值最小化。
尽管为了便于描述,在图4C中将多个先前帧示出为五个先前帧,但是可使用更少或更多的先前帧。例如,多个先前帧可为两个或多于两个先前帧、两个或多于两个关键帧、两个或多于两个彼此不邻近的先前帧,或它们的组合。
在第一时间点450之后的第二时间点460,当前帧可为第(i+1)帧,且多个先前帧可为第(i-4)帧、第(i-3)帧、第(i-2)帧、第(i-1)帧以及第i帧。
电子装置还可基于彼此相邻的第i帧和第(i+1)帧来估计相机的姿态变化,从而基于两个相邻帧来估计在两个时间点之间的相机的姿态变化。由于已经在第一时间点450估计了基于两个其他相邻帧的相机的姿态变化(诸如,第(i-4)帧与第(i-3)帧之间的相机的姿态变化),因此可使用先前估计的值来避免冗余操作。关于第一时间点450提供的描述也可应用于剩余操作,并且因此将省略其进一步详细描述。
图5示出根据一个或多个实施例的电子装置的示例。
参照图5,配备有相机511的智能电话500被示出为示例。已经基于车辆描述了图1,但是示例不限于此。本公开中的描述还可不受限制地应用于配备有相机511的任何电子装置。
智能电话500可包括相机511、处理器513和存储器515。假设相机511设置在智能电话500中,当估计相机511的姿态时,还可确定智能电话500的姿态(例如,可以是同一个姿态)。存储器515可以是存储计算机可读指令的易失性存储器或非易失性存储器。当存储在存储器515中的指令由处理器513执行时,处理器513可以执行上述操作。处理器513可获得由相机511在不同时间点拍摄的图像,基于神经网络估计在图像被拍摄的两个时间点之间的相机511的位置变化,并且基于相机511的位置变化和图像来估计相机511的位置和/或方向。
尽管图5示出智能电话500作为示例,但是电子装置的示例不限于此,并且上面提供的描述也可在限制的情况下应用于各种计算装置(诸如,智能电话、平板计算机、电子书装置和膝上型计算机)、各种可穿戴装置(诸如,智能手表、智能眼镜、头戴式显示器(HMD)和智能服装)、智能车辆、物联网(IoT)装置、步行辅助装置(WAD)、无人机或机器人。
图6示出根据一个或多个实施例的操作电子装置的方法的示例。
在以下示例中,操作可顺序地执行或可不按顺序执行。例如,可以以不同的次序执行操作,并且可并行地执行操作中的至少两个。操作610至操作630可以由电子装置的至少一个组件(例如,处理器)执行。
在操作610中,电子装置获得由同一相机在不同时间点拍摄的图像。
在操作620中,电子装置基于神经网络估计在图像被拍摄时的两个时间点之间的相机的位置变化。可基于由参考装置收集在一起的参考图像和在参考图像被拍摄的两个参考时间点之间的参考相机的参考位置变化来训练神经网络,其中,参考装置可包括参考相机和参考位置传感器和/或参考惯性传感器。参考图像可由参考相机在不同的时间点拍摄。参考位置变化可由参考位置传感器和/或参考惯性传感器在两个参考时间点感测的值来确定。
在操作630中,电子装置基于相机的位置变化和图像来估计相机的位置和/或方向。电子装置可通过基于图像之间的匹配特征点的结果和相机的位置变化执行SLAM操作来估计相机的姿态。电子装置可通过根据相机的位置变化调整匹配图像之间的特征点的结果的尺度来估计相机的姿态。电子装置可通过基于相机的位置变化消除或最小化在基于图像之间的特征点匹配的SLAM操作中发生的尺度模糊性,来估计相机的姿态。SLAM操作可基于单目视觉SLAM来执行,单目视觉SLAM基于对应于相机的单个相机。
参照图1至图5提供的描述适用于图6中所示的操作。
图7示出根据一个或多个实施例的电子装置的示例。
参照图7,电子装置700可包括存储器710和处理器720。存储器710和处理器720可通过总线、外围组件互连快速(PCIe)和/或片上网络(NoC)彼此通信。
存储器710可包括计算机可读指令。当存储在存储器710中的指令由处理器720执行时,处理器720可执行上述操作。存储器710可以是易失性存储器或非易失性存储器。
处理器720可以是执行指令或程序或控制电子装置700的装置,并且可包括例如中央处理器(CPU)和/或图形处理器(GPU)。处理器720可获得由同一相机在不同时间点拍摄的图像,基于神经网络估计在图像被拍摄的两个时间点之间的相机的位置变化,并且基于相机的位置变化和图像来估计相机的位置和/或方向。
在此关于图1至图7描述的计算设备、车辆、电子装置、处理器、存储器、图像传感器/相机、车辆/操作功能硬件、显示器、信息输出系统和硬件、存储装置以及其他设备、装置、单元、模块和组件由硬件组件实现或代表硬件组件。可用于执行在本申请中描述的操作的硬件组件的示例在适当的情况下包括:控制器、传感器、生成器、驱动器、存储器、比较器、算术逻辑单元、加法器、减法器、乘法器、除法器、积分器以及被配置为执行本申请中描述的操作的任何其他电子组件。在其他示例中,执行在本申请中描述的操作的硬件组件中的一个或多个由计算硬件(例如,由一个或多个处理器或计算机)来实现。处理器或计算机可由一个或多个处理元件(诸如,逻辑门阵列、控制器和算术逻辑单元、数字信号处理器、微型计算机、可编程逻辑控制器、现场可编程门阵列、可编程逻辑阵列、微处理器或被配置为以限定的方式响应并执行指令以实现期望的结果的任何其他装置或装置的组合)来实现。在一个示例中,处理器或计算机包括或连接到存储由处理器或计算机执行的指令或软件的一个或多个存储器。由处理器或计算机实现的硬件组件可执行用于执行在本申请中描述的操作的指令或软件(诸如,操作系统(OS)和在OS上运行的一个或多个软件应用)。硬件组件还可响应于指令或软件的执行来访问、操控、处理、创建和存储数据。为了简明,单数术语“处理器”或“计算机”可用于在本申请中描述的示例的描述中,但是在其他示例中,多个处理器或计算机可被使用,或者处理器或计算机可包括多个处理元件、或多种类型的处理元件、或二者。例如,单个硬件组件、或者两个或更多个硬件组件可由单个处理器、或者两个或更多个处理器、或者处理器和控制器来实现。一个或多个硬件组件可由一个或多个处理器、或者处理器和控制器来实现,并且一个或多个其他硬件组件可由一个或多个其他处理器、或者另外的处理器和另外的控制器来实现。一个或多个处理器、或者处理器和控制器可实现单个硬件组件、或者两个或更多个硬件组件。硬件组件可具有不同处理配置中的任何一个或多个,不同处理配置的示例包括:单个处理器、独立处理器、并行处理器、单指令单数据(SISD)多处理、单指令多数据(SIMD)多处理、多指令单数据(MISD)多处理和多指令多数据(MIMD)多处理。
图1至图7中示出的执行在本申请中描述的操作的方法由计算硬件(例如,由一个或多个处理器或计算机)执行,计算硬件被实现为如上所述执行指令或软件以执行在本申请中描述的由所述方法执行的操作。例如,单个操作、或者两个或更多个操作可由单个处理器、或者两个或更多个处理器、或者处理器和控制器来执行。一个或多个操作可由一个或多个处理器、或者处理器和控制器来执行,并且一个或多个其他操作可由一个或多个其他处理器、或者另外的处理器和另外的控制器来执行。一个或多个处理器、或者处理器和控制器可执行单个操作、或者两个或更多个操作。
用于控制计算硬件(例如,一个或多个处理器或计算机)以实现硬件组件并执行如上所述的方法的指令或软件可被编写为计算机程序、代码段、指令或它们的任何组合,以单独地或共同地指示或配置一个或多个处理器或计算机作为机器或专用计算机进行操作,以执行由如上所述的硬件组件和方法执行的操作。在一个示例中,指令或软件包括由一个或多个处理器或计算机直接执行的机器代码(诸如,由编译器生成的机器代码)。在另一示例中,指令或软件包括由一个或多个处理器或计算机使用解释器执行的更高级代码。可基于附图中示出的框图和流程图以及在此的相应描述使用任何编程语言来编写指令或软件,附图中示出的框图和流程图以及在此的相应描述公开了用于执行由如上所述的硬件组件和方法执行的操作的算法。
用于控制计算硬件(例如,一个或多个处理器或计算机)以实现硬件组件并执行如上所述的方法的指令或软件以及任何相关联的数据、数据文件和数据结构可被记录、存储或固定在一个或多个非暂时性计算机可读存储介质中,或者可被记录、存储或固定在一个或多个非暂时性计算机可读存储介质上。非暂时性计算机可读存储介质的示例包括:只读存储器(ROM)、随机访问可编程只读存储器(PROM)、电可擦除可编程只读存储器(EEPROM)、随机访问存储器(RAM)、动态随机访问存储器(DRAM)、静态随机访问存储器(SRAM)、闪存、非易失性存储器、CD-ROM、CD-R、CD+R、CD-RW、CD+RW、DVD-ROM、DVD-R、DVD+R、DVD-RW、DVD+RW、DVD-RAM、BD-ROM、BD-R、BD-R LTH、BD-RE、蓝光或光盘存储器装置、硬盘驱动器(HDD)、固态驱动器(SSD)、卡式存储器(诸如,多媒体卡或微型卡(例如,安全数字(SD)或极限数字(XD)))、磁带、软盘、磁光数据存储器装置、光学数据存储器装置、硬盘、固态盘以及任何其他装置,所述任何其他装置被配置为以非暂时性方式存储指令或软件以及任何相关联的数据、数据文件和数据结构并将指令或软件以及任何相关联的数据、数据文件和数据结构提供给一个或多个处理器或计算机,使得一个或多个处理器或计算机能够执行指令。在一个示例中,指令或软件以及任何相关联的数据、数据文件和数据结构被分布在联网的计算机系统上,使得指令和软件以及任何相关联的数据、数据文件和数据结构以分布式方式被一个或多个处理器或计算机存储、访问和执行。
虽然本公开包括特定示例,但是在理解本申请的公开之后将清楚的是,在不脱离权利要求和它们的等同物的精神和范围的情况下,可在这些示例中做出形式和细节上的各种改变。在此描述的示例应仅被视为是描述性的,而不是为了限制的目的。在每个示例中的特征或方面的描述应被视为可适用于其他示例中的相似的特征或方面。如果描述的技术以不同次序被执行、和/或如果描述的系统、架构、装置或电路中的组件以不同方式被组合、和/或被其他组件或它们的等同物取代或补充,则可实现合适的结果。
因此,除了上面的公开之外,公开的范围还可由权利要求及其等同物限定,并且权利要求及其等同物的范围内的所有变化应被解释为包括在公开中。

Claims (19)

1.一种电子装置,包括:
一个或多个处理器;以及
存储器,存储指令,所述指令被配置为当由所述一个或多个处理器执行时使所述一个或多个处理器:
获得由同一相机在两个相应时间点拍摄的两个图像,所述两个图像均为单目图像;
基于神经网络估计在所述两个相应点之间的时间间隔期间发生的相机的位置变化;以及
基于估计的相机的位置变化并基于所述两个图像来估计相机的位置和/或方向。
2.如权利要求1所述的电子装置,其中,所述指令还被配置为当由所述一个或多个处理器执行时使所述一个或多个处理器:通过基于初始估计结果执行同时定位和映射SLAM操作来估计相机的位置和/或方向,其中,初始估计结果是基于所述两个图像的特征点之间的特征点匹配和估计的相机的位置变化来初始估计相机的姿态变化的结果。
3.如权利要求1所述的电子装置,其中,所述指令还被配置为当由所述一个或多个处理器执行时使所述一个或多个处理器:通过根据估计的相机的位置变化调整初始估计结果的尺度来估计相机的位置和/或方向。
4.如权利要求2所述的电子装置,其中,
姿态变化的初始估计结果包括当前图像和相应的先前图像之间的时间间隔内相机的姿态变化,其中,当前图像是所述两个图像中的一个,并且所述两个图像中的另一个是所述先前图像中的一个,并且
估计的相机的位置变化包括当前图像和相应的先前图像之间的估计的相机的位置变化,
其中,所述指令还被配置为当由所述一个或多个处理器执行时使所述一个或多个处理器:通过调整初始估计结果的尺度来估计相机的位置和/或方向,使得姿态变化与估计的相机的位置变化之间的误差最小化。
5.如权利要求1所述的电子装置,其中,基于相机的位置变化来估计相机的位置和/或方向减少SLAM操作中的尺度模糊性。
6.如权利要求5所述的电子装置,其中,基于被配置为用于处理单目图像的单目视觉SLAM算法来执行SLAM操作。
7.如权利要求5所述的电子装置,其中,
基于由参考装置收集的参考图像并且基于参考图像被拍摄的时间之间的相应时间间隔内参考相机的参考位置变化来训练神经网络,
其中,参考装置包括参考相机和参考位置传感器和/或参考惯性传感器,参考位置传感器和/或参考惯性传感器感测参考位置变化所基于的位置。
8.如权利要求7所述的电子装置,其中,
参考图像由参考相机在不同的相应参考时间点拍摄,并且
参考位置变化由参考位置传感器和/或参考惯性传感器在相应参考时间点感测的值确定。
9.如权利要求1所述的电子装置,其中,
电子装置为以下装置或者包括在以下装置中:自动驾驶车辆、配备有驾驶辅助系统的车辆、支持高级驾驶员辅助系统ADAS的车辆、配备有相机的智能电话、可穿戴装置或机器人。
10.一种操作电子装置的方法,所述方法包括:
获得由同一相机在不同的相应时间点拍摄的两个图像,所述两个图像均为单目图像;
基于神经网络估计与所述两个图像被拍摄的时间点之间的时间对应的相机的位置变化;以及
基于估计的相机的位置变化并基于所述两个图像来估计相机的位置和/或方向。
11.如权利要求10所述的方法,其中,估计相机的位置和/或方向的步骤包括:基于初始估计的相机的姿态变化执行同时定位和映射SLAM操作,初始估计的相机的姿态变化基于所述两个图像之间的特征点匹配并且基于估计的相机的位置变化。
12.如权利要求11所述的方法,其中,
姿态变化的初始估计结果包括当前图像和相应的先前图像之间的时间间隔内相机的姿态变化,其中,当前图像是所述两个图像中的一个,并且所述两个图像中的另一个是所述先前图像中的一个,并且
估计的相机的位置变化包括当前图像和相应的先前图像之间的估计的相机的位置变化,
其中,估计相机的位置和/或方向通过调整初始估计结果的尺度来执行,使得姿态变化与估计的相机的位置变化之间的误差最小化。
13.如权利要求10所述的方法,其中,
估计相机的位置和/或方向通过根据相机的位置变化调整相机的姿态变化的初始估计结果的尺度来执行。
14.如权利要求10所述的方法,其中,
估计相机的位置和/或方向基于所述两个图像之间的特征点匹配来减少SLAM操作中的尺度模糊性。
15.如权利要求14所述的方法,其中,
SLAM操作基于单目视觉SLAM来执行,单目视觉SLAM基于与所述相机对应的单个相机。
16.如权利要求10所述的方法,其中,
基于由参考装置收集的参考图像并且基于参考图像被拍摄的时间之间的相应时间间隔内参考相机的参考位置变化来训练神经网络,
其中,参考装置包括参考相机和参考位置传感器和/或参考惯性传感器,参考位置传感器和/或参考惯性传感器感测参考位置变化所基于的位置。
17.如权利要求16所述的方法,其中,
参考图像由参考相机在不同的相应参考时间点拍摄,并且
参考位置变化由参考位置传感器和/或参考惯性传感器在相应参考时间点感测的值确定。
18.如权利要求10所述的方法,其中,所述位置变化包括距离。
19.一种存储指令的非暂时性计算机可读存储介质,所述指令在由处理器执行时使处理器执行如权利要求10至18中任意一项所述的方法。
CN202310554076.8A 2022-11-18 2023-05-17 电子装置和操作电子装置的方法 Pending CN118057451A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2022-0155458 2022-11-18
KR1020220155458A KR20240073520A (ko) 2022-11-18 2022-11-18 카메라의 위치 및/또는 방향을 추정하는 전자 장치 및 그 동작 방법

Publications (1)

Publication Number Publication Date
CN118057451A true CN118057451A (zh) 2024-05-21

Family

ID=87074887

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310554076.8A Pending CN118057451A (zh) 2022-11-18 2023-05-17 电子装置和操作电子装置的方法

Country Status (5)

Country Link
US (1) US20240169562A1 (zh)
EP (1) EP4383198A1 (zh)
JP (1) JP2024074254A (zh)
KR (1) KR20240073520A (zh)
CN (1) CN118057451A (zh)

Also Published As

Publication number Publication date
KR20240073520A (ko) 2024-05-27
EP4383198A1 (en) 2024-06-12
JP2024074254A (ja) 2024-05-30
US20240169562A1 (en) 2024-05-23

Similar Documents

Publication Publication Date Title
CN109426803B (zh) 用于识别对象的方法和设备
JP7256758B2 (ja) 自動運転車両においてrnnとlstmを用いて時間平滑化を行うlidar測位
WO2018177159A1 (zh) 运动物体的位置确定方法及系统
US11064178B2 (en) Deep virtual stereo odometry
CN111060094A (zh) 车辆定位方法和装置
US11049270B2 (en) Method and apparatus for calculating depth map based on reliability
US11636618B2 (en) Device and method with simultaneous implementation of localization and mapping
CN107679489B (zh) 基于场景分割的自动驾驶处理方法、装置及计算设备
US10891795B2 (en) Localization method and apparatus based on 3D color map
CN109214986A (zh) 从下采样的低分辨率lidar 3-d点云和摄像机图像生成高分辨率3-d点云
CN109214987A (zh) 从上采样的低分辨率lidar 3-d点云和摄像机图像生成高分辨率3-d点云
CN109215067A (zh) 基于cnn和crf模型生成高分辨率3-d点云
EP3767524A1 (en) Method and apparatus for detecting object
US10866427B2 (en) Method and apparatus for outputting pose information
CN110646787A (zh) 自运动估计方法和设备以及模型训练方法和设备
CN111060946A (zh) 用于估计位置的方法和装置
WO2020186943A1 (zh) 移动设备的姿态确定装置、方法和视觉里程计
Giering et al. Multi-modal sensor registration for vehicle perception via deep neural networks
WO2022062480A1 (zh) 移动设备的定位方法和定位装置
EP4163873A1 (en) Method and apparatus with global localization
CN115147328A (zh) 三维目标检测方法及装置
US20220358262A1 (en) Method and apparatus for accelerating simultaneous localization and mapping
CN110827337B (zh) 确定车载相机的姿态的方法、装置和电子设备
CN118057451A (zh) 电子装置和操作电子装置的方法
CN107967691B (zh) 一种视觉里程计算方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication