CN110443887B - 特征点定位方法、装置、重建方法、***、设备及介质 - Google Patents

特征点定位方法、装置、重建方法、***、设备及介质 Download PDF

Info

Publication number
CN110443887B
CN110443887B CN201910703618.7A CN201910703618A CN110443887B CN 110443887 B CN110443887 B CN 110443887B CN 201910703618 A CN201910703618 A CN 201910703618A CN 110443887 B CN110443887 B CN 110443887B
Authority
CN
China
Prior art keywords
frame
correction term
current
current loop
correction
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.)
Active
Application number
CN201910703618.7A
Other languages
English (en)
Other versions
CN110443887A (zh
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.)
Bigo Technology Pte Ltd
Original Assignee
Guangzhou Baiguoyuan Information Technology 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 Guangzhou Baiguoyuan Information Technology Co Ltd filed Critical Guangzhou Baiguoyuan Information Technology Co Ltd
Priority to CN201910703618.7A priority Critical patent/CN110443887B/zh
Publication of CN110443887A publication Critical patent/CN110443887A/zh
Application granted granted Critical
Publication of CN110443887B publication Critical patent/CN110443887B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Image Analysis (AREA)

Abstract

本发明公开了一种特征点定位方法、装置、重建方法、***、设备及存储介质,该方法包括:确定历史帧中特征点的位置与当前回环帧中特征点的估计位置之间的当前纠正项,其中,当前回环帧包括预设数量的连续子帧;若当前纠正项稳定,且当前纠正项与上一有效纠正项的差值大于预设阈值,则基于当前纠正项得到当前回环帧中特征点的纠正位置。上述技术方案对当前纠正项进行限制,基于稳定且与上一有效纠正项差值较大的当前纠正项对特征点的位置进行纠正,即保留大幅度、忽略小幅度的位置纠正,并且以连续子帧作为一个当前回环帧进行定位,无需对每一单帧图像都进行定位,从而降低位置纠正的频率,减少特征点位置的抖动,提高对特征点定位的稳定性。

Description

特征点定位方法、装置、重建方法、***、设备及介质
技术领域
本发明实施例涉及图像处理技术领域,尤其涉及一种特征点定位方法、装置、重建方法、***、设备及介质。
背景技术
在增强现实(Augmented Reality,AR)、即时定位与地图构建(SimultaneousLocalization and Mapping,SLAM)或三维重建技术中,通过图像传感器从不同位置或不同视角对场景进行拍摄,以对场景进行三维重建。由于图像传感器采集图像以及对图像中的特征点进行识别和处理的过程都存在误差,前后不同帧的图像之间随着时间的推移也不可避免地存在累积误差。为消除这种累积误差、保证特征点在当前帧中的位置与历史帧的全局一致性,需要利用回环检测机制。回环检测是指在三维重建的过程中,检测到当前帧与历史帧拍摄的为相同场景,当前帧中的特征点也出现在历史帧中,则历史帧与当前帧构成回环约束。特征点在当前帧中的估计位置为***在三维重建过程中得到的最新位置,如果该估计位置与历史帧中的位置有差别,则可以根据一定的回环约束条件对特征点的位置进行纠正,以保证当前的特征点位置与历史帧中的位置具有全局一致性,其中,当前帧也称为当前回环帧。例如,在三维重建过程的历史帧中,水杯位于桌面上,水杯的一个特征点在历史帧中的空间位置为(0,0,0),随着时间的推移,在当前帧中该特征点的估计位置为(0,0,1),与之前的位置不一致,可能导致水杯对于桌面产生一定的偏移,这种情况下,需要根据一定的回环约束条件对该特征点的位置进行纠正。
然而,在回环检测的过程中,对特征点的识别和匹配,以及纠正位置的回环约束条件本身就是存在误差的,无法达到绝对的全局一致性。如果每一次特征点的估计位置与历史帧中位置相比发生变化时,都对回环帧中的特征点的估计位置进行纠正,计算量大、定位频率高,会引起过多不必要的抖动,影响用户对重建图像的观看效果,导致特征点定位的稳定性差。
发明内容
本发明提供了一种回环帧中特征点的定位方法、装置、设备及存储介质,以减少特征点位置的抖动,提高对特征点定位的稳定性。
第一方面,本发明实施例提供了一种特征点定位方法,包括:
根据历史帧中特征点的位置与当前回环帧中特征点的估计位置确定当前纠正项,其中,所述当前回环帧包括预设数量的连续子帧;
若所述当前纠正项稳定,且所述当前纠正项与上一有效纠正项的差值大于预设阈值,则基于所述当前纠正项得到所述当前回环帧中特征点的纠正位置。
第二方面,本发明实施例提供了一种三维重建方法,包括:
获取原始图像三维重建过程中的历史帧和当前回环帧,所述历史帧和当前回环帧中的场景相同;
基于如第一方面所述的特征点定位方法确定当前回环帧中特征点的位置,得到重建后的图像。
第三方面,本发明实施例提供了一种特征点定位装置,包括:
纠正项计算模块,用于根据历史帧中特征点的位置与当前回环帧中特征点的估计位置确定当前纠正项,其中,所述当前回环帧包括预设数量的连续子帧;
纠正项滤波模块,用于若所述当前纠正项稳定,且所述当前纠正项与上一有效纠正项的差值大于预设阈值,则基于所述当前纠正项得到所述当前回环帧中特征点的纠正位置。
第四方面,本发明实施例提供了一种三维重建***,包括:控制器和图像传感器;
所述图像传感器用于获取原始图像三维重建过程中的历史帧和当前回环帧,所述历史帧和当前回环帧中的场景相同;
所述控制器中设置如第三方面所述的特征点定位装置。
第五方面,本发明实施例提供了一种设备,包括:
图像传感器,用于获取原始图像三维重建过程中的历史帧和当前回环帧,所述历史帧和当前回环帧中的场景相同;
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的特征点定位方法或如第二方面所述的三维重建方法。
第六方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面所述的特征点定位方法或如第二方面所述的三维重建方法。
本发明实施例提供了一种特征点定位方法、装置、重建方法、***、设备及存储介质,该方法包括:确定历史帧中特征点的位置与当前回环帧中特征点的估计位置之间的当前纠正项,其中,当前回环帧包括预设数量的连续子帧;若当前纠正项稳定,且当前纠正项与上一有效纠正项的差值大于预设阈值,则基于当前纠正项得到当前回环帧中特征点的纠正位置。上述技术方案通过对当前纠正项进行限制,基于稳定且与上一有效纠正项差值较大的当前纠正项对特征点的位置进行纠正,即保留大幅度、忽略小幅度的位置纠正,从而降低位置纠正的频率,并且以连续子帧作为一个当前回环帧进行定位,无需对每一单帧图像都进行定位,从而减少特征点位置的抖动,提高对特征点定位的稳定性。
附图说明
图1为本发明实施例一提供的一种特征点定位方法的流程图;
图2为本发明实施例一中的一种特征点定位方法的应用场景的示意图;
图3为本发明实施例二提供的一种特征点定位方法的流程图;
图4为本发明实施例二提供的一种特征点定位方法的实现示意图;
图5为本发明实施例三提供的一种三维重建方法的流程图;
图6为本发明实施例四提供的一种特征点定位装置的结构示意图;
图7为本发明实施例五提供的一种三维重建***的结构示意图
图8为本发明实施例六提供的一种设备的硬件结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。此外,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一提供的一种特征点定位方法的流程图。本实施例可适用于在利用回环检测机制进行三维重建的过程中,对当前回环帧中的特征点进行定位的情况。例如在SLAM或三维重建的过程中,检测到当前回环帧的场景与之前已经到达过的场景相同,则对当前回环帧中的特征点进行定位,以解决位置估计随时间漂移形成累积误差的问题。其中,定位包括对当前回环帧中的特征点的估计位置进行纠正,还可以包括对当前回环帧中的特征点的估计位置不纠正,即保持当前回环帧中的特征点的估计位置不变。具体的,该特征点定位方法可以由特征点定位装置执行,该特征点定位装置可以设置在三维重建***中。特征点定位装置可以通过软件和/或硬件的方式实现,并集成在设备中。进一步的,设备包括但不限定于:台式计算机、笔记本电脑、智能手机以及平板电脑等带有图像传感器的智能终端。
需要说明的是,在三维重建过程中,特征点的位置估计通常是一个递推的过程,即由上一帧的位置解算当前帧中的位置,误差一帧一帧的传递,形成累积误差。为了减小累积误差,当前帧中的位置不一定要由上一帧推算出来,而可以由之前的某一帧推算出来,由于只存在两帧之间的约束关系,而不涉及这两帧之间每一帧误差的传递,从而减小累积误差。这种情况下,当前帧与之前的某一帧之间的约束关系就叫做回环约束。在回环检测过程中,通过对比当前帧与之前的历史帧的相似度,例如当前帧与历史帧拍摄的图像为相同场景,其相似度超过一定阈值,就可以认为是检测到当前回环帧,根据历史帧可对当前回环帧中的特征点的位置进行纠正。需要说明的是,本实施例中的位置可以指特征点的三维空间位置或者指位姿,可通过三维空间坐标表示。
图2为本发明实施例一中的一种特征点定位方法的应用场景的示意图。如图2所示,左侧为历史帧,历史帧中水杯位于桌面的边缘,水杯的一个特征点(杯底)在历史帧中的位置表示为(0,0,0),右侧为当前回环帧,随着时间的推移,在当前回环帧该特征点的估计位置为(0,0,1),与历史帧中的位置不一致,可能导致水杯对于桌面产生一定的偏移,这种情况下,需要根据历史帧与当前回环帧之间的回环约束条件对该特征点的位置进行纠正,使其在前后帧中具有全局一致性。对于上述实例,当前纠正项L可用于使所述特征点沿z轴负方向(向下)移动1个单位,从而将估计位置纠正为(0,0,0),示例性的,当前纠正项可表示为L=(0,0,-1),当前纠正项可以为一矢量向量,或者为一矢量矩阵。
如图1所示,该方法具体包括如下步骤:
S110、根据历史帧中特征点的位置与当前回环帧中特征点的估计位置确定当前纠正项,其中,当前回环帧包括预设数量的连续子帧。
具体的,历史帧与当前回环帧之间存在一定的回环约束条件,根据回环约束条件可对当前回环帧中的特征点位置进行纠正,使纠正后的位置与历史帧保持一致。当前纠正项是用于纠正特征点的估计位置的矩阵或向量,对特征点的估计位置施加当前纠正项,可将特征点的位置纠正为与历史帧中的位置一致。示例性的,当前纠正项可以为特征点由当前回环帧中的估计位置到历史帧中的位置之间的位置变换关系,为矢量。
进一步的,历史帧与当前回环帧具有相同的特征点,相同特征点的数量可以为多个。当相同特征点的数量为多个时,在对由一些特征点构成的集合进行位置纠正的情况下,除了上述三维的位置坐标的变换,还可以是位姿(如俯仰、旋转、方向等)的变换。例如,对于当前回环帧中的水杯的估计位置进行纠正时,同时考虑三维的位置坐标以及位姿的变换,该变换关系可以是六自由度的。这种情况下,当前纠正项可由欧式变换来表示,其形式为:P_NEW=R*P_OLD+T,其中,P_OLD为当前回环帧中的估计位置,P_NEW为纠正后的纠正位置,当前纠正项包括R和T,R和T分别表示位置变换关系中的旋转矩阵和位移向量。
进一步的,当前回环帧包括预设数量的连续子帧。
具体的,当前回环帧由预设数量的连续子帧构成。示例性的,预设数量为3,则检测到连续3帧图像都与同一历史帧为同一场景、具有相同的特征点时,将这3帧图像组合作为当前回环帧。这种情况下,当前纠正项包括3个子纠正项,3个子纠正项分别是根据历史帧中的位置与当前回环帧中每一子帧的估计位置确定。例如,当前纠正项包括3个子纠正项:L1、L2和L3,其中,L1可用于将当前回环帧中的第一子帧的估计位置纠正为历史帧中的位置,L2可用于将当前回环帧中的第二子帧的估计位置纠正为历史帧中的位置,L3可用于将当前回环帧中的最后子帧的估计位置纠正为历史帧中的位置。
本实施例通过将预设数量的连续子帧作为一组当前回环帧对特征点进行定位,无需对每一帧都进行定位,从而降低定位频率。此外,通过将预设数量的连续子帧作为一组当前回环帧对特征点进行定位,可以在检测到连续几帧都需要纠正的情况下,仅对其中的一个子帧(例如最后子帧)的估计位置进行纠正,从而减少位置纠正的次数,降低位置纠正的频率。
S120、是否当前纠正项稳定,且当前纠正项与上一有效纠正项的差值大于预设阈值,若是,则执行S130,若否,则执行S140。
具体的,由于存在累积误差,特征点在历史帧中的位置与在当前回环帧中的估计位置之间通常都存在差别,基于该差别可计算估计位置到历史帧中位置的当前纠正项。本实施例并非对任意的当前纠正项都进行位置纠正,而是对当前纠正项进行滤波,对于稳定且与上一有效纠正项差值较大的当前纠正项进行位置纠正,否则,忽略当前纠正项,不进行位置纠正,从而减少抖动。其中,当前纠正项稳定包括当前回环帧对应的各子纠正项之间的波动较小、各子纠正项都在预设纠正范围内(不会使特征点的位置纠正时变换幅度过大或过小)、各子纠正项中最大的子纠正项与最小的子纠正项之间的差值小于一定阈值等。当前纠正项的各子纠正项的波动较小,说明当前回环帧中各子帧对特征点的位置估计较为稳定,这种情况下进一步判断是否需要纠正,具有更高的可靠性和稳定性。
进一步的,当前纠正项与上一有效纠正项的差值大于预设阈值,说明当前纠正项就位置纠正的幅度较大,在这种情况下进行位置纠正,实现了保留大幅度、忽略小幅度的位置纠正,从而降低位置纠正的频率,避免特征点位置的频繁抖动,从而减少特征点位置的抖动,提高对特征点定位的稳定性。
S130、基于当前纠正项得到当前回环帧中特征点的纠正位置。
具体的,基于当前纠正项对当前回环帧中特征点的估计位置进行纠正,使估计位置变换为纠正位置,使其与历史帧中的位置保持一致,从而完成对当前回环帧中特征点的定位。其中,纠正位置可以为历史帧中的位置,或为接近于历史帧中的位置的等效位置(允许与历史帧中的位置之间存在一定的误差)。当前纠正项可以为各子纠正项中的任意一个子纠正项(如最大的子纠正项、最小的子纠正项、第一个子纠正项或最后一个子纠正项等),也可以为各子纠正项的平均值、中间值等。
S140、保持当前回环帧中特征点的估计位置不变。
进一步的,若当前纠正项无效,或当前纠正项与上一有效纠正项的差值小于或等于预设阈值,则保持当前回环帧中特征点的估计位置不变。
具体的,如果当前纠正项无效,或当前纠正项与上一有效纠正项的差值小于或等于预设阈值,则说明当前纠正项不可靠、检测到的各子帧不稳定,或者说明当前纠正项相对较小、位置纠正的幅度小,小幅度的位置纠正易造成不必要的抖动,影响三维重建的效果,则无需纠正,保持估计位置不变,即可完成对当前回环帧中特征点的定位。
本发明实施例一提供的一种特征点定位方法,包括:确定历史帧中特征点的位置与当前回环帧中特征点的估计位置之间的当前纠正项,其中,当前回环帧包括预设数量的连续子帧;若当前纠正项稳定,且当前纠正项与上一有效纠正项的差值大于预设阈值,则基于当前纠正项得到当前回环帧中特征点的纠正位置。上述技术方案通过对当前纠正项进行滤波,对于稳定且与上一有效纠正项差值较大的当前纠正项进行位置纠正,即保留大幅度、忽略小幅度的位置纠正,从而降低位置纠正的频率,并且以连续子帧作为一个当前回环帧进行定位,无需对每一单帧图像都进行定位,从而减少特征点位置的抖动,提高对特征点定位的稳定性。
实施例二
图3为本发明实施例二提供的一种特征点定位方法的流程图。本实施例是在上述实施例的基础上进行优化,对当前纠正项的计算过程和滤波过程进行具体描述。本实施例中对当前纠正项的滤波过程可以指,忽略无效或幅度较小的当前纠正项,仅将有效且较大的当前纠正项用于纠正当前回环帧中特征点的估计位置,需要说明的是,未在本实施例中详尽描述的技术细节可参见上述任意实施例。
具体的,如图3所示,该方法具体包括如下步骤:
S210、确定历史帧中特征点的位置与当前回环帧的最后子帧中的特征点的估计位置之间的当前纠正项。
进一步的,当前纠正项为历史帧中特征点的位置到当前回环帧的最后子帧中特征点的估计位置之间的子纠正项。
具体的,本实施例中,将当前回环帧的最后子帧对应的子纠正项作为当前纠正项。对应的,计算当前纠正项的过程可以为:确定历史帧与当前回环帧的每一子帧对应的各子纠正项,将最后子帧对应的子纠正项作为当前纠正项;还可以为:直接确定历史帧与当前回环帧的最后子帧对应的子纠正项并将该子纠正项作为当前纠正项。
进一步的,纠正项包括:旋转矩阵的欧拉角向量和位移向量。
具体的,本实施例中纠正项由欧式变换来表示,其形式为:P_NEW=R*P_OLD+T,其中,P_OLD为原始的估计位置,P_NEW为纠正位置,当前纠正项包括R和T,分别表示位置变换关系中的旋转矩阵和位移向量,其中,旋转矩阵R可转换为欧拉角向量的形式,便于计算当前纠正项与上一纠正项的差值。
进一步的,历史帧为与当前回环帧中相同特征点的位置最接近的历史图像。
具体的,用于计算当前纠正项的历史帧为与当前回环帧中相同特征点的位置最接近的历史图像,即,存在多个历史图像与当前回环帧拍摄的为同一场景、具有相同特征点的情况下,将相同特征点的位置与当前回环帧中的估计位置最接近的历史图像作为历史帧,用于计算当前纠正项。例如,存在多帧历史图像F1、F2、F3都与当前回环帧构成回环约束,F1中特征点的位置为(0,0,0),F2中该特征点的位置为(0,0,1),F3中该特征点的位置为(0,0,2),而当前回环帧中该特征点的位置为(0,0,0.2),则可将F1作为历史帧。可选的,将与当前回环帧之间的当前纠正项最小的历史图像作为历史帧。例如,存在多个历史帧F1’、F2’、F3’都与当前回环帧构成回环约束,F1’与当前回环帧中特征点的估计位置之间的纠正项为L1=(0,0,0.5),F2’与当前回环帧之间的纠正项为L2=(0,0,1),F3’与当前回环帧之间的纠正项为L3=(0,1,0),则可将F1作为历史帧。通过将位置最接近或纠正项最小的历史图像作为历史帧,使得当前纠正项尽可能小,较小的当前纠正项在位置纠正过程中会被忽略,从而减少特征点定位的抖动。
S220、当前纠正项是否稳定,若是,则执行S230,若否,则执行S280。
进一步的,当前纠正项稳定包括:当前回环帧的每一子帧的子纠正项之间的波动在预设范围内。
具体的,当前纠正项稳定可以指当前回环帧的每一子帧对应的各子纠正项较为接近,波动较小。例如,当前回环帧包括连续3个子帧,分别对应于子纠正项L1’、L2’和L3’,各子纠正项之间的波动在预设范围内,可以包括各子纠正项(子纠正项为向量或矩阵的形式)的模值的方差或标准差小于一定阈值,例如,各子纠正项的模值的方差为0.5,小于设定的第一阈值(第一阈值为1),则判定当前纠正项稳定;各子纠正项之间的波动在预设范围内,可以包括各子纠正项的模值都小于或等于预设纠正量,例如:|L1’|=0.5,|L2’|=0.3,|L3’|=1,预设纠正量为1,则判定当前纠正项稳定;各子纠正项之间的波动在预设范围内,还可以包括各子纠正项在各自由度上的波动较小,例如L1’=(0,0,0.5),L2’=(1,0.3,0.2),L3’=(0.2,0.5,0.2),在x轴上的纠正量分别为0、1、0.2,可根据纠正量的方差或标准差等判断在x轴上的波动是否在预设范围内,同理可判断在y轴、z轴以及沿三个轴转动的角度之间的波动是否在预设范围内,从而判定当前纠正项是否有效。子纠正项之间的波动在预设范围内,说明当前回环帧中的每个子帧对特征点的位置估计较为稳定,在此基础上进一步判断是否需要纠正,提高了位置纠正的可靠性,进而提高了特征点定位的稳定性。
进一步的,当前纠正项稳定可以为,各子纠正项的旋转矩阵(或旋转矩阵对应的欧拉角向量)之间的波动范围小于预设范围,且各子纠正项的位移向量之间的波动范围小于预设范围。
S230、上一有效纠正项是否为空,若是,则执行S250,若否,则执行S260。
具体的,如果存在上一有效纠正项,则执行S60,根据当前纠正项与上一有效纠正项的差值是否大于预设阈值,判定是否需要纠正特征点的估计位置;如果是第一次检测到有效的纠正项,之前未记录过其他有效纠正项,则执行S250,直接将当前纠正项与预设初始值比较,确定是否需要纠正特征点的估计位置。其中,上一有效纠正项是指,在当前回环帧之前,上一次进行位置纠正的回环约束期间所记录的有效纠正项。
S240、当前纠正项大于预设初始值,若是,则执行S260,若否,则执行S280。
进一步的,若上一有效纠正项为空,则预设阈值为预设初始值。
具体的,若上一有效纠正项为空,则将当前纠正项与预设初始值比较。也可以理解为,默认上一有效纠正项为0,当前纠正项与上一有效纠正项的差值即为当前纠正项,预设阈值即为预设初始值。
S250、当前纠正项与上一有效纠正项的差值是否大于预设阈值,若是,则执行S260,若否,则执行S280。
S260、基于当前纠正项得到当前回环帧的最后子帧中特征点的纠正位置。
进一步的,基于当前纠正项得到当前回环帧中特征点的纠正位置,包括:基于当前纠正项得到当前回环帧的最后子帧中特征点的纠正位置。
具体的,基于滤波后的当前纠正项,对当前回环帧的最后子帧中特征点的估计位置进行纠正,使其变换为纠正位置。通过以连续子帧作为一组当前回环帧进行定位,仅对最后一帧的估计位置进行纠正,而无需对每一帧进行位置纠正,从而降低位置纠正的频率,减少抖动。
S270、记录当前纠正项为有效纠正项。
进一步的,若当前纠正项稳定,且当前纠正项与上一纠正项的差值大于阈值,则记录当前纠正项为有效纠正项。
具体的,若当前纠正项稳定,且当前纠正项与上一纠正项的差值是否大于阈值,则该当前纠正项为有效纠正项,可用于对特征点的估计位置进行纠正,则记录该当前纠正项,并替换上一有效纠正项,用于后续对纠正项的滤波。示例性的,上一有效纠正项为L4,当前纠正项为L5,若L5有效,则记录L5,替换掉L4;进入下一回环约束期间后,再次检测到回环帧并且其对应的纠正项L6有效的情况下,L5可用于对L6的过滤,即L5与L6的差值大于预设阈值才会基于L6进行位置纠正,在此回环约束期间,记录了L6,替换掉L5,将L6作为新的有效纠正项,可用于后续对L7进行过滤,以此类推。
需要说明的是,本实施例不限定S260和S270的执行顺序,S260和S270优选为同步执行。
S280、保持当前回环帧中特征点的估计位置不变。
进一步的,当前回环帧满足如下条件:当前回环帧中第一子帧的子纠正项与上一回环帧中最后子帧的子纠正项的差值大于预设差值。
具体的,上一回环帧为已经进行位置纠正操作的前一个回环帧。示例性的,上一回环帧F0最后子帧的子纠正项为L0=(0,0,2),基于L0已经对最后子帧中特征点的估计位置在z轴方向纠正了2个单位,则当前回环帧需满足,第一子帧的子纠正项与L0的差值大于预设差值。示例性的,预设差值为(0,0,1),检测到一组回环帧F4,其中第一子帧的子纠正项为(0,0,0.5),与L0的差值为(0,0,1.5),大于预设差值,则这组回环帧F4与上一回环帧F0之间的位置差别足够明显,因此将这组回环帧F4作为当前回环帧,进一步计算回环帧F4的子纠正项和当前纠正项,对当前纠正项滤波进行位置纠正的操作;如果检测到一组回环帧F4’,其中第一子帧的子纠正项为(0,0,1.5),其与L0的差值为(0,0,0.5),小于预设差值,则这组回环帧F4’与上一回环帧F0之间的位置差别较小,由于上一回环帧中刚纠正过特征点的位置,因此这组回环帧F4’被忽略,不作为当前回环帧进行进一步的计算或位置纠正操作。通过将与上一回环帧差别足够明显的回环帧作为当前回环帧进行滤波和位置纠正操作,对于差别不明显的回环帧则忽略、无需进一步的滤波和位置纠正操作,从而提高了确定当前回环帧的可靠性,避免了连续两次位置纠正的纠正项较为接近,从而降低位置纠正的频率,减少抖动。
图4为本发明实施例二提供的一种特征点定位方法的实现示意图。如图4所示,在上一回环帧Fa中的最后子帧(Fa中加粗所示)对特征点的估计位置进行了一次纠正,则上一回环帧Fa对应的纠正项为有效纠正项,则记录该有效纠正项,例如,记录最后子帧对应的子纠正项作为有效纠正项;之后又检测到连续3个子帧,对应的3个子纠正项波动范围在预设范围内,但其纠正项不满足与之前记录的上一有效纠正项的差值大于预设阈值,因此在回环帧Fb中并未纠正位置,也不记录纠正项;直到又检测到连续的3个子帧,对应的3个子纠正项(L1、L2、L3)波动范围在预设范围内,即图4中的当前回环帧Fc,且当前回环帧Fc对应的当前纠正项满足与上一有效纠正项的差值大于预设阈值,则在最后子帧(图中加粗所示)对特征点的估计位置进行了一次纠正。通过这种方式,将预设数量的连续子帧组合进行定位,并记录有效纠正项,当前回环帧对应的当前纠正项需满足有效且与上一有效纠正项的差值大于预设阈值,才会对最后子帧进行位置纠正,实现了降低定位频率、减少位置纠正次数和抖动,提高定位的稳定性。
需要说明的是,本实施例对于当前纠正项的滤波包括两个条件:第一,当前纠正项稳定,即在当前回环约束期间,连续稳定优化求解的次数大于一定阈值,示例性的,以3个子帧为一组进行处理,则连续稳定优化求解的次数需要达到3次,从而解决回环约束优化本身不稳定的问题。其中,通过子纠正项之间的波动范围是否小于预设范围,可以衡量求解是否稳定,具体的,对于纠正项中的位移向量T的求解,如果两次回环优化求解的T1和T2满足|T1–T2|<Te1,其中Te1为平移阈值;对于纠正项中的旋转矩阵R,可以将R转换为欧拉角向量的形式表示,即R=<yaw,pitch,roll>,然后采取和位移向量同样的方式,通过|R1–R2|<Te2衡量旋转矩阵(或对应的欧拉角向量)的求解是否稳定。第二,当前纠正项和上一有效纠正项的差值大于预设阈值。此条件可以解决在不同的回环约束期间,如果当前回环约束引起的位置纠正和上一次有效回环约束引起的纠正量相差较小,则不进行位置纠正,以保证当前回环帧中特征点位置估计的稳定性,减少抖动。
本发明实施例二提供的一种特征点定位方法,在上述实施例的基础上进行优化,通过将与当前回环帧中相同特征点的位置最接近的历史图像作为历史帧,或者将与当前回环帧之间的当前纠正项最小的历史图像作为历史帧,使得当前纠正项尽可能小,从而减少特征点定位的抖动;通过对当前纠正项进行滤波,限制子纠正项之间的波动在预设范围内,提高了判断需要进行位置纠正的可靠性,限制当前纠正项与上一有效纠正项的差值大于预设阈值,保留大幅度、忽略小幅度的位置纠正,从而降低位置纠正的频率;通过以连续子帧作为一组当前回环帧进行定位,仅对最后一帧的估计位置进行纠正,而无需对每一帧进行纠正,从而降低位置纠正的频率,减少抖动;通过将与上一回环帧差别足够明显的回环帧作为当前回环帧进行位置纠正操作,避免了连续两次位置纠正的纠正项较为接近,从而减少抖动。
实施例三
图5为本发明实施例三提供的一种三维重建方法的流程图。本实施例可适用于利用回环检测机制对当前回环帧中的特征点进行定位,实现三维重建的情况。具体的,如图5所示,所述三维重建方法包括:
S310、获取原始图像三维重建过程中的历史帧和当前回环帧,历史帧和当前回环帧中的场景相同。
具体的,三维重建过程可以指,通过对图像传感器进行标定,确定图像传感器的坐标系与世界坐标系的转换关系,基于所述转换关系,利用图像传感器获取到的多帧二维的原始图象的信息,重建出三维信息。在三维重建的过程中,利用回环检测机制确定历史帧和当前回环帧,并实现对当前回环帧中特征点的进行定位。其中,历史帧和当前回环帧对应同一场景,具有相同的特征点。
进一步的,当前回环帧包括预设数量的连续子帧。
S320、基于特征点定位方法确定当前回环帧中特征点的位置,得到重建后的图像。
具体的,特征点定位方法可以为上述任意实施例所述的特征点定位方法。基于特征点定位方法可对当前回环帧中特征点的估计位置进行纠正,或者忽略当前纠正项、保持当前回环帧中特征点的估计位置不变,从而实现对特征点的定位,减少重建过程中的抖动并提高三维重建过程的稳定性。
本发明实施例三提供的三维重建方法基于上述任意实施例提供的特征点定位方法实现,属于同一发明构思,具备相应的功能和有益效果。
实施例四
图6为本发明实施例四提供的一种特征点定位装置的结构示意图。如图6所示,特征点定位装置包括:
纠正项计算模块410,用于根据历史帧中特征点的位置与当前回环帧中特征点的估计位置确定当前纠正项,其中,当前回环帧包括预设数量的连续子帧;
纠正项滤波模块420,用于若当前纠正项稳定,且当前纠正项与上一有效纠正项的差值大于预设阈值,则基于当前纠正项得到当前回环帧中特征点的纠正位置。
本发明实施例四提供的一种特征点定位装置,通过纠正项计算模块确定当前纠正项,若当前纠正项稳定,且当前纠正项与上一有效纠正项的差值大于预设阈值,则通过纠正项滤波模块基于当前纠正项得到当前回环帧中特征点的纠正位置。上述技术方案对当前纠正项进行限制,对于稳定且与上一有效纠正项差值较大的当前纠正项进行位置纠正,即保留大幅度、忽略小幅度的位置纠正,从而降低位置纠正的频率,并且以连续子帧作为一个当前回环帧进行定位,无需对每一单帧图像都进行定位,从而减少特征点位置的抖动,提高对特征点定位的稳定性。
在上述实施例的基础上,纠正项滤波模块420,还用于:
若当前纠正项无效,或当前纠正项与上一有效纠正项的差值小于或等于预设阈值,则保持当前回环帧中特征点的估计位置不变。
进一步的,当前纠正项为历史帧中特征点的位置与当前回环帧的最后子帧中特征点的估计位置之间的子纠正项。
进一步的,若上一有效纠正项为空,则预设阈值为预设初始值。
进一步的,装置还包括:
记录模块,用于若当前纠正项稳定,且当前纠正项与上一有效纠正项的差值大于预设阈值,则记录当前纠正项。
进一步的,当前回环帧满足如下条件:当前回环帧中第一子帧的子纠正项与上一回环帧中最后子帧的子纠正项的差值大于预设差值。
进一步的,纠正项包括:旋转矩阵的欧拉角向量和位移向量。
进一步的,历史帧为与当前回环帧中相同特征点的位置最接近的历史图像。
进一步的,述当前纠正项稳定包括:当前回环帧的每一子帧的子纠正项之间的波动在预设范围内。
进一步的,纠正项滤波模块410,具体用于:
若当前纠正项稳定,且当前纠正项与上一有效纠正项的差值大于预设阈值,基于当前纠正项得到当前回环帧的最后子帧中特征点的纠正位置。
本发明实施例四提供的特征点定位装置可以用于执行上述任意实施例提供的特征点定位方法,具备相应的功能和有益效果。
实施例五
图7为本发明实施例五提供的一种三维重建***的结构示意图。如图7所示,本实施例中的三维重建***,包括:控制器510和图像传感器520;图像传感器520用于获取原始图像三维重建过程中的历史帧和当前回环帧,历史帧和当前回环帧中的场景相同,具有相同的特征点;控制器510中设置如上述任意实施例所述的特征点定位装置。
具体的,图像传感器520用于获取原始图像三维重建过程中的历史帧和当前回环帧,历史帧与当前回环帧拍摄的为相同场景,具有相同的特征点,相同的特征点可以为一个或多个。图像传感器520可以为摄像机中用于获取光学图像并转换为电信号的器件,控制器510基于电信号实现对获取到的图像的处理,对满足预设条件的当前回环帧中特征点的位置进行纠正,其中预设条件包括:当前纠正项稳定,且当前纠正项与上一有效纠正项的差值大于预设阈值。
进一步的,当前回环帧包括预设数量的连续子帧。
进一步的,控制器510基于图像传感器520获取的历史帧和当前回环帧,基于上述任意实施例所述的特征点定位装置,实现上述任意实施例所述的三维重建方法,得到三维重建的图像。
本发明实施例五提供的三维重建***可以用于执行上述任意实施例提供的三维重建方法,属于同一发明构思,具备相应的功能和有益效果。
实施例六
图8为本发明实施例六提供的一种设备的硬件结构示意图。所述设备包括但不限定于:台式计算机、笔记本电脑、智能手机以及平板电脑等带有图像传感器的智能终端。如图8所示,本实施例提供的一种设备,包括:处理器610、存储装置620和图像传感器630。图像传感器630用于获取原始图像三维重建过程中的历史帧和当前回环帧,历史帧和当前回环帧中的场景相同,当前回环帧包括预设数量的连续子帧。该设备中的处理器可以是一个或多个,图8中以一个处理器610为例,所述设备中的处理器610和存储装置620可以通过总线或其他方式连接,图8中以通过总线连接为例。
所述一个或多个程序被所述一个或多个处理器610执行,使得所述一个或多个处理器实现上述实施例中任意所述的特征点定位方法或三维重建方法。
该设备中的存储装置620作为一种计算机可读存储介质,可用于存储一个或多个程序,所述程序可以是软件程序、计算机可执行程序以及模块,如本发明实施例中特征点定位方法对应的程序指令/模块(例如,附图6所示的特征点定位装置中的模块,包括:纠正项计算模块410以及纠正项滤波模块420)。处理器610通过运行存储在存储装置620中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述方法实施例中的特征点定位方法或三维重建方法。
存储装置620主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序;存储数据区可存储根据设备的使用所创建的数据等(如上述实施例中的有效纠正项、历史帧等)。此外,存储装置620可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储装置620可进一步包括相对于处理器610远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
并且,当上述设备中所包括一个或者多个程序被所述一个或者多个处理器610执行时,进行如下操作:确定历史帧中特征点的位置与当前回环帧中特征点的估计位置之间的当前纠正项,其中,当前回环帧包括预设数量的连续子帧;若当前纠正项稳定,且当前纠正项与上一有效纠正项的差值大于预设阈值,则基于当前纠正项得到当前回环帧中特征点的纠正位置。
本实施例提出的设备与上述实施例提出的特征点定位方法或三维重建方法属于同一发明构思,未在本实施例中详尽描述的技术细节可参见上述任意实施例,并且本实施例具备与执行特征点定位方法或三维重建方法相同的有益效果。
在上述实施例的基础上,本实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被特征定位装置执行时实现本发明上述任意实施例中的特征点定位方法,该方法包括:其中,当前回环帧包括预设数量的连续子帧;若当前纠正项稳定,且当前纠正项与上一有效纠正项的差值大于预设阈值,则基于当前纠正项得到当前回环帧中特征点的纠正位置。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的特征点定位方法或三维重建方法操作,还可以执行本发明任意实施例所提供的特征点定位方法或三维重建方法中的相关操作,且具备相应的功能和有益效果。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的特征点定位方法或三维重建方法。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (13)

1.一种特征点定位方法,其特征在于,包括:
确定历史帧中特征点的位置与当前回环帧中特征点的估计位置之间的当前纠正项,其中,所述当前回环帧包括预设数量的连续子帧;
若所述当前纠正项稳定,且所述当前纠正项与上一有效纠正项的差值大于预设阈值,则基于所述当前纠正项得到所述当前回环帧中特征点的纠正位置;
所述当前纠正项为所述历史帧中特征点的位置与所述当前回环帧的最后子帧中特征点的估计位置之间的子纠正项;
所述当前纠正项稳定包括:
所述历史帧中特征点的位置与当前回环帧的每一子帧中特征点的估计位置之间子纠正项之间的波动在预设范围内。
2.根据权利要求1所述的方法,其特征在于,还包括:
若所述当前纠正项不稳定,或所述当前纠正项与上一有效纠正项的差值小于或等于预设阈值,则保持所述当前回环帧中特征点的估计位置不变。
3.根据权利要求1所述的方法,其特征在于,若所述上一有效纠正项为空,则所述预设阈值为预设初始值。
4.根据权利要求1所述的方法,其特征在于,还包括:
若所述当前纠正项稳定,且所述当前纠正项与上一有效纠正项的差值大于预设阈值,则记录所述当前纠正项。
5.根据权利要求1所述的方法,其特征在于,所述当前回环帧满足如下条件:所述当前回环帧中第一子帧的子纠正项与上一回环帧中最后子帧的子纠正项的差值大于预设差值。
6.根据权利要求1所述的方法,其特征在于,所述当前纠正项包括:旋转矩阵的欧拉角向量和位移向量。
7.根据权利要求1所述的方法,其特征在于,所述历史帧为与所述当前回环帧中相同特征点的位置最接近的历史图像。
8.根据权利要求1至7任一项所述的方法,其特征在于,所述基于所述当前纠正项得到所述当前回环帧中特征点的纠正位置,包括:
基于所述当前纠正项得到所述当前回环帧的最后子帧中特征点的纠正位置。
9.一种三维重建方法,其特征在于,包括:
获取原始图像三维重建过程中的历史帧和当前回环帧,所述历史帧和当前回环帧中的场景相同;
基于如权利要求1至8任一项所述的特征点定位方法确定当前回环帧中特征点的位置,得到重建后的图像。
10.一种特征点定位装置,其特征在于,包括:
纠正项计算模块,用于根据历史帧中特征点的位置与当前回环帧中特征点的估计位置确定当前纠正项,其中,所述当前回环帧包括预设数量的连续子帧;
纠正项滤波模块,用于若所述当前纠正项稳定,且所述当前纠正项与上一有效纠正项的差值大于预设阈值,则基于所述当前纠正项得到所述当前回环帧中特征点的纠正位置;
所述当前纠正项为所述历史帧中特征点的位置与所述当前回环帧的最后子帧中特征点的估计位置之间的子纠正项;
所述当前纠正项稳定包括:
所述历史帧中特征点的位置与当前回环帧的每一子帧中特征点的估计位置之间子纠正项之间的波动在预设范围内。
11.一种三维重建***,其特征在于,包括:控制器和图像传感器;
所述图像传感器用于获取原始图像三维重建过程中的历史帧和当前回环帧,所述历史帧和当前回环帧中的场景相同;
所述控制器中设置如权利要求10所述的特征点定位装置。
12.一种电子设备,其特征在于,包括:
图像传感器,用于获取原始图像三维重建过程中的历史帧和当前回环帧,所述历史帧和当前回环帧中的场景相同;
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-8中任一所述的特征点定位方法或如权利要求9所述的三维重建方法。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-8中任一所述的特征点定位方法或如权利要求9所述的三维重建方法。
CN201910703618.7A 2019-07-31 2019-07-31 特征点定位方法、装置、重建方法、***、设备及介质 Active CN110443887B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910703618.7A CN110443887B (zh) 2019-07-31 2019-07-31 特征点定位方法、装置、重建方法、***、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910703618.7A CN110443887B (zh) 2019-07-31 2019-07-31 特征点定位方法、装置、重建方法、***、设备及介质

Publications (2)

Publication Number Publication Date
CN110443887A CN110443887A (zh) 2019-11-12
CN110443887B true CN110443887B (zh) 2023-06-16

Family

ID=68432669

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910703618.7A Active CN110443887B (zh) 2019-07-31 2019-07-31 特征点定位方法、装置、重建方法、***、设备及介质

Country Status (1)

Country Link
CN (1) CN110443887B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111405485B (zh) * 2020-03-17 2021-08-06 中国建设银行股份有限公司 用户定位方法及***

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108364344A (zh) * 2018-02-08 2018-08-03 重庆邮电大学 一种基于回环测试的单目实时三维重建方法
CN108898630A (zh) * 2018-06-27 2018-11-27 清华-伯克利深圳学院筹备办公室 一种三维重建方法、装置、设备和存储介质
CN109141395A (zh) * 2018-07-10 2019-01-04 深圳市沃特沃德股份有限公司 一种基于视觉回环校准陀螺仪的扫地机定位方法及装置
CN110070578A (zh) * 2019-03-15 2019-07-30 西安电子科技大学 一种回环检测方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108364344A (zh) * 2018-02-08 2018-08-03 重庆邮电大学 一种基于回环测试的单目实时三维重建方法
CN108898630A (zh) * 2018-06-27 2018-11-27 清华-伯克利深圳学院筹备办公室 一种三维重建方法、装置、设备和存储介质
CN109141395A (zh) * 2018-07-10 2019-01-04 深圳市沃特沃德股份有限公司 一种基于视觉回环校准陀螺仪的扫地机定位方法及装置
CN110070578A (zh) * 2019-03-15 2019-07-30 西安电子科技大学 一种回环检测方法

Also Published As

Publication number Publication date
CN110443887A (zh) 2019-11-12

Similar Documents

Publication Publication Date Title
CN110310326B (zh) 一种视觉定位数据处理方法、装置、终端及计算机可读存储介质
US9639913B2 (en) Image processing device, image processing method, image processing program, and storage medium
US8390697B2 (en) Image processing apparatus, image processing method, imaging apparatus, and program
JP4639555B2 (ja) 動きベクトル検出装置および方法、手振れ補正装置および方法、並びに撮像装置
EP3782359B1 (en) Method of combining content from multiple frames and electronic device therefor
CN112083403B (zh) 用于虚拟场景的定位追踪误差校正方法及***
CN111882655A (zh) 三维重建的方法、装置、***、计算机设备和存储介质
CN111598927B (zh) 一种定位重建方法和装置
CN110443887B (zh) 特征点定位方法、装置、重建方法、***、设备及介质
EP2698764A1 (en) Method of sampling colors of images of a video sequence, and application to color clustering
CN111754429A (zh) 运动矢量后处理方法和装置、电子设备及存储介质
WO2024051591A1 (zh) 用于估算视频旋转的方法、装置、电子设备和存储介质
KR101806453B1 (ko) 무인 비행체 충돌 회피를 위한 이동 객체 검출 장치 및 방법
CN112106352A (zh) 一种图像处理方法及设备
KR20200057929A (ko) 캘리브레이트된 카메라들에 의해 캡쳐된 스테레오 영상들의 렉티피케이션 방법과 컴퓨터 프로그램
CN111417016A (zh) 一种姿态估计方法、服务器和网络设备
CN110197228B (zh) 图像校正方法及装置
CN116266356A (zh) 全景视频转场渲染方法、装置和计算机设备
CN115375772B (zh) 相机标定方法、装置、设备及存储介质
CN111951262A (zh) Vio误差的修正方法、装置、***和电子装置
CN116228607B (zh) 图像处理方法和电子设备
JP2020201587A (ja) 撮像装置、車両及びプログラム
CN115457098A (zh) 图像处理方法、装置、***、电子设备和可读存储介质
CN115511919B (zh) 视频处理方法、图像检测方法以及装置
US20230058934A1 (en) Method for camera control, image signal processor and device

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
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20231011

Address after: 31a, 15th floor, building 30, maple commercial city, bangrang Road, Brazil

Patentee after: Baiguoyuan Technology (Singapore) Co.,Ltd.

Address before: 511400 floor 5-13, West Tower, building C, 274 Xingtai Road, Shiqiao street, Panyu District, Guangzhou City, Guangdong Province

Patentee before: GUANGZHOU BAIGUOYUAN INFORMATION TECHNOLOGY Co.,Ltd.