技术领域
本发明涉及姿态估计装置以及姿态估计方法以及记录介质。
背景技术:
过去,有基于根据来自加速度传感器的输出信号而检测到的第1方向的矢量来进行装置的姿态的估计、手抖补正的摄像装置。另外,在运动传感器中,已知如下技术:除了使用根据来自加速度传感器的输出信号而求得的第1方向的矢量以外,还使用根据来自角速度传感器的输出信号而检测到的旋转角度,由卡尔曼滤波器高精度进行姿态的估计,来估计不同于第1方向的重力方向。
但在例如如运动型摄像机那样在有与剧烈平移运动相伴的运动的过程中进行摄影的情况下,难以基于根据来自加速度传感器的输出信号而检测到的第1方向的矢量来合适地检测重力方向,姿态的估计精度降低。另一方面,若如专利第5614527号公报等那样搭载角速度传感器,就会有电力消耗量增大这样的问题。
技术实现要素:
为此,本申请发明的课题在于,提供能更合适地进行姿态的估计的姿态估计装置以及姿态估计方法。
本发明所涉及的姿态估计装置的一个方式的姿态估计装置具备:基于来自加速度传感器的输出信号来检测第1方向的矢量的第1检测部;取得连续拍摄的多个图像的取得部;基于由所述取得部取得的所述多个图像来算出所述多个图像之间的绕第1轴的相对的旋转角度的算出部;和基于由所述算出部算出的绕所述第1轴的所述相对的旋转角度以及由所述第1检测部检测到的所述第1方向的矢量来对不同于所述第1方向的第2方向进行估计的估计部。
另外,本发明所涉及的姿态估计方法的一个方式是使用姿态估计装置的姿态估计方法,包括:基于来自加速度传感器的输出信号来检测第1方向的矢量的第1检测处理;取得连续拍摄的多个图像的取得处理;基于由所述取得处理取得的所述多个图像来算出所述多个图像之间的绕第1轴的相对的旋转角度的算出处理;和基于通过所述算出处理而算出的绕所述第1轴的所述相对的旋转角度以及检测到的所述第1方向的矢量来对不同于所述第1方向的第2方向进行估计的估计处理。
另外,本发明所涉及的记录介质的一个方式是计算机可读取的记录介质,记录有程序,该程序用于使计算机实现姿势估计装置中实施的姿势估计功能,其使所述计算机作为如下发挥功能:基于来自加速度传感器的输出信号来检测第1方向的矢量的第1检测部;取得连续拍摄的多个图像的取得部;基于由所述取得部取得的所述多个图像来算出所述多个图像之间的绕第1轴的相对的旋转角度的算出部;和基于由所述算出部算出的绕所述第1轴的所述相对的旋转角度以及由所述第1检测部检测到的所述第1方向的矢量,来对不同于所述第1方向的第2方向进行估计的估计部。
根据本发明,能合适地进行姿态的估计。
本发明的其他目的和优点将由以下的描述来规定,某种程度上能明显从该描述中得到,或者能通过本发明的实践中获得。借助于下文特别指出的手段和组合,能理解并获得本发明的目的和优点。
附图说明
作为说明书的一部分的附图对本发明的具体实施方式进行了例示,与上面给出的一般描述还有下面给出的具体实施方式的详细描述一起,来说明本发明的原理。
图1是表示运用本发明的1个实施方式的摄像装置的概略构成的框图。
图2是示意表示图1的摄像装置的翻滚轴、俯仰轴以及摇摆轴的图。
图3是表示图1的摄像装置进行的姿态估计处理所涉及的动作的一例的流程图。
具体实施方式
以下使用附图对本发明说明具体方式。但发明的范围并不限定于图示例。
图1是表示运用本发明的1个实施方式的摄像装置100的概略构成的框图。另外,图2是示意表示摄像装置100的翻滚轴、俯仰轴以及摇摆轴的图。
如图1所示那样,本实施方式的摄像装置100具备:中央控制部1、存储器2、摄像部3、图像处理部4、加速度检测部5、角速度检测部6、姿态估计部7、显示部8、记录介质控制部9和操作输入部10。
另外,中央控制部1、存储器2、摄像部3、图像处理部4、加速度检测部5、角速度检测部6、姿态估计部7、显示部8以及记录介质控制部9经由总线11而连接。
另外,摄像装置100能运用公知的装置,不仅包含本实施方式那样将主要的功能设定为摄影功能的数字摄像机,还包含具备未设定为主要的功能的摄影功能的便携电话机、智能手机等便携终端等。
中央控制部1控制摄像装置100的各部。具体地,虽省略图示,但中央控制部1具备CPU(Central Processing Unit,中央处理器)、RAM(Random Access Memory,随机存取存储器)、ROM(Read Only Memory,只读存储器),遵循摄像装置100用的各种处理程序(图示略)来进行各种控制动作。
存储器2例如由DRAM(Dynamic Random Access Memory,动态随机存取存储器)等构成,暂时容纳中央控制部1、姿态估计部7等各部所处理的数据等。
摄像部3拍摄被摄体。具体地,摄像部3具备:镜头部3a、电子摄像部3b和摄像控制部3c。
镜头部3a例如由变焦透镜、聚焦透镜等多个透镜构成。
电子摄像部3b例如由CCD(Charge Coupled Device,电荷耦合器件)或CMOS(Complementary Metal-oxide Semiconductor,互补金属氧化物半导体)等图像传感器构成,将穿过镜头部3a的各种透镜的光学像变换成二维的图像信号。
另外,虽图示省略,但摄像部3也可以具备调整穿过镜头部3a的光的量的光圈。
摄像控制部3c控制摄像部3所进行的被摄体的摄影。即,虽图示省略,但摄像控制部3c具备定时发生器、驱动器等。并且,摄像控制部3c通过定时发生器、驱动器对电子摄像部3b进行扫描驱动,每隔给定周期就通过电子摄像部3b使光学像变换成二维的图像信号,从电子摄像部3b的摄像区域一画面份一画面份地读出帧图像,并输出到图像处理部4。
另外,摄像控制部3c也可以进行AF(自动对焦处理)、AE(自动曝光处理)、AWB(自动白平衡)等拍摄被摄体时的条件的调整控制。
图像处理部4在对从摄像部3的电子摄像部3b转发的帧图像的模拟值的信号按RGB的每种颜色分量适宜调整了增益后,用采样保持电路(图示略)采样保持并用A/D变换器(图示略)变换成数字数据,用彩色处理电路(图示略)进行包括像素插补处理以及γ补正处理的彩色处理,之后生成数字值的亮度信号Y以及色差信号Cb、Cr(YUV数据)。另外,图像处理部4也可以将生成的亮度信号Y以及色差信号Cb、Cr输出到作为缓冲存储器使用的存储器2。
另外,图像处理部4在记录图像时,将生成的亮度信号Y以及色差信号Cb、Cr以给定的编码方式(例如JPEG格式、Motion JPEG格式、MPEG格式等)编码,并输出到记录介质控制部9。
另外,图像处理部4在重放显示图像的情况下,将从记录介质9a(后述)等读出的显示对象所涉及的静止图像或动态图象的图像数据遵循对应的给定的编码方式进行解码,并输出给显示部8。这时,图像处理部4例如可以基于显示面板8b的显示解析度等缩小到给定尺寸(例如VGA或QVGA尺寸)来输出到显示部8。
加速度检测部(第1检测部)5检测第1方向的矢量。
即,加速度检测部5例如具备分别检测摄像装置100主体相互正交的3轴方向的加速度的3轴加速度传感器5a,基于来自该3轴加速度传感器5a的输出信号来检测第1方向的矢量。具体地,加速度检测部5基于3轴加速度传感器5a的3轴方向的加速度的各输出信号的时间平均来检测第1方向的矢量。3轴加速度传感器5a由于除了检测重力加速度以外还检测平移加速度,因此第1方向和重力方向(第2方向)一般不同。
另外,上述的第1方向的矢量的生成手法是一例,并不限于此,能适宜任意变更。
另外,由加速度检测部5检测到的第1方向的矢量值也可以暂时容纳在给定的容纳部(例如存储器2等)。
角速度检测部(第3检测部)6检测绕第1轴的角速度。
在此,作为第1轴,能举出摄像装置100主体的翻滚轴、俯仰轴(参考图2),在以下的说明中,作为第1轴例示翻滚轴来进行说明。
即,角速度检测部6例如具备分别检测摄像装置100主体的以相互正交的3轴(翻滚轴、俯仰轴以及摇摆轴)为中心的转动的角速度的3轴角速度传感器6a,基于来自该3轴角速度传感器6a的输出信号来检测摄像装置100主体的绕翻滚轴(第1轴)的角速度。具体地,角速度检测部6基于3轴角速度传感器6a的以3轴为中心的转动的角速度的各输出信号的时间平均,来检测绕第1轴的角速度。
另外,由角速度检测部6检测到的绕翻滚轴(第1轴)的角速度的值可以暂时容纳在给定的容纳部(例如存储器2等)。
姿态估计部7具备:图像取得部7a、运动矢量检测部7b、角度算出部7c和方向估计部7d。
另外,姿态估计部7的各部例如由给定的逻辑电路构成,但构成是一例,并不限于此。
图像取得部(取得部)7a取得连续拍摄的多个图像。
即,图像取得部7a在摄像部3进行的任意的被摄体的摄影时,例如从存储器2逐次取得由图像处理部4逐次生成的实时取景图像所涉及的多个帧图像的图像数据。
运动矢量检测部(第2检测部)7b,检测多个帧图像之间的特征点的运动矢量。
即,运动矢量检测部7b检测由摄像部3连续拍摄并由图像取得部7a取得的多个帧图像之间的特征点的运动矢量。具体地,运动矢量检测部7b例如对由图像取得部7a取得的多个帧图像进行特征检测处理。然后,运动矢量检测部7b将这些多个帧图像当中任意1个帧图像作为基准帧图像,从基准帧图像选择给定数的特征高的块区域(特征点),将块的内容检测为模板(例如8×8像素的正方形等)。另外,运动矢量检测部7b,在多个帧图像当中的、相比基准帧图像在时间轴上后(或前)1个帧图像内分别搜索各模板对应哪里,即,在对象图像内分别搜索模板的像素值最佳匹配的位置(对应区域),算出像素值的相异度的评价值(例如差分平方和(SSD)或差分绝对值和(SAD)等)最佳的运动矢量,作为模板的运动矢量。
然后,运动矢量检测部7b将对各个特征点算出的全部运动矢量进行综合,算出为1个帧图像中整体的运动矢量。
另外,上述的运动矢量的检测手法是一例,并不限于此,能适宜任意变更。
角度算出部(算出部)7c算出多个帧图像之间的绕第1轴的相对的旋转角度。
即,角度算出部7c基于由图像取得部7a取得的多个帧图像来算出多个帧图像之间的绕翻滚轴(第1轴)的相对的旋转角度。具体地,角度算出部7c基于由运动矢量检测部7b检测到的运动矢量来算出多个帧图像之间的绕翻滚轴(第1轴)的相对的旋转角度。
在此,基于多个帧图像之间的运动矢量来算出相对的旋转角度的方法由于是公知的技术,因此省略详细的说明,例如角度算出部7c基于由运动矢量检测部7b检测到的1个帧图像的整体的运动矢量,来算出以翻滚轴(第1轴)为旋转中心使图像旋转的线性变换(例如仿射变换等)的参数,算出1个帧图像的相对于基准帧图像的相对的旋转角度。
另外,上述的相对的旋转角度的算出手法是一例,并不限于此,能适宜任意变更。
(0028)
另外,角度算出部7c在不能由运动矢量检测部7b检测到运动矢量的情况下,基于由角速度检测部6检测到的绕翻滚轴(第1轴)的角速度来算出绕翻滚轴(第1轴)的相对的旋转角度。
例如,从在特征点的识别困难的暗处拍摄的图像或平坦的图像中,有不能检测到运动矢量的情况。为此,角度算出部7c例如基于实时取景图像的亮度值、像素值的偏离量(非平坦度)等来判定是否能由运动矢量检测部7b检测到运动矢量,在判断为不能检测到的情况下,基于由角速度检测部6检测到的绕翻滚轴(第1轴)的角速度来算出绕翻滚轴(第1轴)的相对的旋转角度。
方向估计部7d对重力方向(第2方向)进行估计。
即,方向估计部(估计部)7d基于由角度算出部7c算出的绕翻滚轴(第1轴)的相对的旋转角度以及由加速度检测部5检测到的第1方向的矢量,来对重力方向(第2方向)进行估计。具体地,方向估计部7d基于绕翻滚轴(第1轴)的相对的旋转角度以及第1方向的矢量,用卡尔曼滤波器算出摄像装置100的绕翻滚轴(第1轴)的旋转角度。然后,方向估计部7d通过根据算出的绕翻滚轴(第1轴)的旋转角度求取摄像装置100的姿态(相对于重力方向(第2方向)的倾斜度),来对重力方向(第2方向)进行估计。
在此,使用卡尔曼滤波器来对重力方向(第2方向)进行估计的方法由于是公知的技术,因此省略详细的说明,例如状态空间模型能用表征状态方程式的式(1)以及表征观测方程式的式(2)给出。
Xt+1=Atxt+Rtut+wt…式(1)
yt=Htxt+vt…式(2)
在上述数式中,xt是绕翻滚轴(第1轴)的旋转角度,ut是根据运动矢量或角速度算出的绕翻滚轴(第1轴)的相对的旋转角度,Rt是旋转矩阵,At、Ht分别是单位矩阵,yt是重力方向的矢量,wt以及vt分别是系统噪声以及观测噪声。
显示部8具备显示控制部8a和显示面板8b。
显示控制部8a进行控制,基于从存储器2或记录介质9a读出并由图像处理部4解码的给定尺寸的图像数据,使给定的图像显示在显示面板8b的显示区域。具体地,显示控制部8a具备VRAM(Video Random Access Memory,视频随机存取存储器)、VRAM控制器、数字视频编码器等。并且,数字视频编码器,经由VRAM控制器从VRAM以给定的重放帧速率读出由图像处理部4解码并记录在VRAM(图示略)的亮度信号Y以及色差信号Cb、Cr,以这些数据为基础产生视频信号,并输出到显示面板8b。
显示面板8b基于来自显示控制部8a的视频信号使由摄像部3拍摄的图像等显示在显示区域内。具体地,显示面板8b在静止图像的摄影模式下或动态图象的摄影模式下,一边以给定的帧速率逐次更新摄像部3拍摄被摄体而生成的多个帧图像,一边显示实时取景图像。另外,显示面板8b显示记录于记录介质9a的被摄体的静止图像(记录浏览图像),或显示摄影中的被摄体的动态图象。
另外,作为显示面板8b,例如能举出液晶显示面板或有机EL(Electro-Luminescence,电致发光)显示面板等,但这些是一例,并不限于此。
记录介质控制部9拆装自由地构成记录介质9a,控制从所装备的记录介质9a的数据的读出和对记录介质9a的数据的写入。
另外,记录介质9a例如由非易失性存储器(闪速存储器)等构成。
操作输入部10用于进行摄像装置100的给定操作。具体地,操作输入部10具备:被摄体的摄影指示所涉及的快门按钮、摄影模式或功能等选择指示所涉及的选择决定按钮、变焦量的调整指示所涉及的变焦按钮等(均省略图示)操作部。
并且,若由用户操作了各种按钮,则操作输入部10将与所操作的按钮相应的操作指示输出到中央控制部1。中央控制部1按照从操作输入部10输出而被输入的操作指示,来使各部执行给定的动作(例如被摄体的摄影等)。
另外,操作输入部10也可以具有与显示部8的显示面板8b成为一体而设的触控面板(图示略)。
<姿态估计处理>
接下来,参考图3来说明摄像装置100所进行的姿态估计处理。
图3是表示姿态估计处理所涉及的动作的一例的流程图。
另外,姿态估计处理例如可以在被摄体的摄影中一直进行,也可以在由用户对操作输入部10的快门按钮进行给定操作(例如半按操作或全按操作等)时进行。
如图3所示那样,首先,若开始摄像部3进行的任意的被摄体的摄影(步骤S1),则加速度检测部5基于来自3轴加速度传感器5a的输出信号来检测第1方向的矢量(步骤S2),并且图像取得部7a从存储器2逐次取得由图像处理部4逐次生成的实时取景图像所涉及的多个帧图像的图像数据(步骤S3)。
另外,步骤S2中的第1方向的矢量的检测、和步骤S3中的多个帧图像的取得的顺序是一例,并不限于此,可以相反。
接下来,角度算出部7c判定是否能由运动矢量检测部7b检测到多个帧图像之间的特征点的运动矢量(步骤S4)。
在此,若判定为能检测到运动矢量(步骤S4“是”),运动矢量检测部7b检测由图像取得部7a取得的多个帧图像之间的特征点的运动矢量(步骤S5)。
另一方面,若判定为不能检测到运动矢量(步骤S4“否”),则角速度检测部6基于来自3轴角速度传感器6a的输出信号来检测摄像装置100主体的绕翻滚轴(第1轴)的角速度(步骤S6)。另外,绕翻滚轴(第1轴)的角速度的检测可以在姿态估计处理正进行中一直进行。
接下来,角度算出部7c算出多个帧图像之间的绕翻滚轴(第1轴)的相对的旋转角度(步骤S7)。具体地,在步骤S5由运动矢量检测部7b检测到运动矢量的情况下,角度算出部7c基于检测到的运动矢量来算出多个帧图像之间的绕翻滚轴(第1轴)的相对的旋转角度。另一方面,在步骤S6由角速度检测部6检测到绕翻滚轴(第1轴)的角速度的情况下,角度算出部7c基于检测到的绕翻滚轴(第1轴)的角速度,来算出绕翻滚轴(第1轴)的相对的旋转角度。
然后,方向估计部7d基于由角度算出部7c算出的绕翻滚轴(第1轴)的相对的旋转角度以及由加速度检测部5检测到的第1方向的矢量,用卡尔曼滤波器算出摄像装置100的绕翻滚轴(第1轴)的旋转角度(步骤S8),根据算出的绕翻滚轴(第1轴)的旋转角度来对重力方向(第2方向)进行估计(步骤S9)。
由此结束姿态估计处理。
如以上那样,根据本实施方式的摄像装置100,根据基于来自3轴加速度传感器5a的输出信号而检测到的第1方向的矢量、和基于连续拍摄的多个帧图像而算出的多个帧图像之间的绕翻滚轴(第1轴)的相对的旋转角度,来对重力方向(第2方向)进行估计,因此在重力方向(第2方向)的估计中不再需要使用电力消耗量增大的角速度传感器。特别通过检测由摄像部3连续拍摄的多个帧图像之间的特征点的运动矢量,能基于检测到的运动矢量算出多个帧图像之间的绕翻滚轴(第1轴)的相对的旋转角度。然后,通过基于算出的绕翻滚轴(第1轴)的相对的旋转角度以及第1方向的矢量,用卡尔曼滤波器算出摄像装置100的绕翻滚轴(第1轴)的旋转角度,能对重力方向(第2方向)合适地进行估计。
因此,能利用连续拍摄的多个帧图像算出多个帧图像之间的绕翻滚轴(第1轴)的相对的旋转角度,其结果,例如能在手抖补正等中更合适地进行摄像装置100的姿态的估计。
另外,在不能检测到多个帧图像之间的特征点的运动矢量的情况下,通过基于来自3轴角速度传感器6a的输出信号来检测绕翻滚轴(第1轴)的角速度,即使是例如在特征点的识别困难的暗处的摄影或平坦的图像的摄影,也能基于使用3轴角速度传感器6a检测到的绕翻滚轴(第1轴)的角速度来算出绕翻滚轴(第1轴)的相对的旋转角度。由此,能使用算出的绕翻滚轴(第1轴)的相对的旋转角度,对重力方向(第2方向)合适地进行估计。
另外,本发明并不限定于上述实施方式,可以在不脱离本发明的主旨的范围内进行各种改良及设计上的变更。
例如将第2方向设为重力方向,将第1轴设为摄像装置100的翻滚轴或俯仰轴,但这是一例,并不限于此,能适宜任意地变更。
另外,摄像装置100的构成在上述实施方式所例示的是一例,并不限于此。进而,作为姿态估计装置而例示了摄像装置100,但并不限于此。
此外,在上述实施方式中,构成为在中央控制部1的控制下通过加速度检测部5、图像取得部7a、角度算出部7c、方向估计部7d进行驱动来实现作为第1检测部、取得部、算出部、估计部的功能,但并不限于此,也可以构成为通过由中央控制部1的CPU执行给定的程序等而实现。
即,在程序存储器(图示略)中记录包含第1检测处理例程、取得处理例程、算出处理例程、估计处理例程的程序。然后,可以通过第1检测处理例程使中央控制部1的CPU作为基于来自加速度传感器的输出信号来检测第1方向的矢量的电路发挥功能。另外,可以通过取得处理例程使中央控制部1的CPU作为取得连续拍摄的多个图像的电路发挥功能。另外,通过算出处理例程使中央控制部1的CPU作为基于取得的多个图像来算出多个图像之间的绕第1轴的相对的旋转角度的电路发挥功能。另外,通过估计处理例程使中央控制部1的CPU作为基于算出的绕第1轴的相对的旋转角度以及检测到的第1方向的矢量来对不同于第1方向的第2方向进行估计的电路发挥功能。
同样地,关于第2检测部、第3检测部,也可以构成为通过由中央控制部1的CPU执行给定的程序等而得以实现。
进而,作为容纳用于执行上述的各处理的程序的计算机可读的介质,除了能运用ROM、硬盘等以外,还能运用闪速存储器等非易失性存储器、CD-ROM等可移动记录介质。另外,作为将程序的数据经由给定的通信线路来进行提供的介质,还运用载波(carrier wave)。
以上说明了本发明的几个实施方式,但本发明的范围并不限定于上述的实施方式,还包含记载于权利要求的范围的发明和其等同的范围。