JPWO2009001512A1 - 撮像装置、方法、システム集積回路、及びプログラム - Google Patents

撮像装置、方法、システム集積回路、及びプログラム Download PDF

Info

Publication number
JPWO2009001512A1
JPWO2009001512A1 JP2009520294A JP2009520294A JPWO2009001512A1 JP WO2009001512 A1 JPWO2009001512 A1 JP WO2009001512A1 JP 2009520294 A JP2009520294 A JP 2009520294A JP 2009520294 A JP2009520294 A JP 2009520294A JP WO2009001512 A1 JPWO2009001512 A1 JP WO2009001512A1
Authority
JP
Japan
Prior art keywords
angle
image
unit
inclination
captured image
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.)
Granted
Application number
JP2009520294A
Other languages
English (en)
Other versions
JP4950290B2 (ja
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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial 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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2009520294A priority Critical patent/JP4950290B2/ja
Publication of JPWO2009001512A1 publication Critical patent/JPWO2009001512A1/ja
Application granted granted Critical
Publication of JP4950290B2 publication Critical patent/JP4950290B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/387Composing, repositioning or otherwise geometrically modifying originals
    • H04N1/3877Image rotation
    • H04N1/3878Skew detection or correction
    • 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/77Determining position or orientation of objects or cameras using statistical methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/24Aligning, centring, orientation detection or correction of the image
    • G06V10/242Aligning, centring, orientation detection or correction of the image by image rotation, e.g. by 90 degrees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/14Image acquisition
    • G06V30/142Image acquisition using hand-held instruments; Constructional details of the instruments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/68Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Studio Devices (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)
  • Traffic Control Systems (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Transforming Light Signals Into Electric Signals (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

撮像画像に回転変換を施すことにより、撮像画像中の被写体の傾きを補正する撮像装置であって、センサによって検知された物理的な傾きを基準にして、画像処理の対象となる角度範囲を定めた上で、撮像画像に対して画像処理を行って、撮像画像中の線分をその傾斜角と共に検出する。そして、線分の傾斜角の度数分布を示すヒストグラムを作成し、作成したヒストグラムにおいて、ある一定の基準を満たす度数を有する傾斜角を、回転変換のための回転角として選択する。

Description

本発明は、撮像装置に関し、特にセンサを用いた画像補正の技術に関する。
近年、利用者が常時身体に装着し、利用者の体験する日常生活をライフログとして記録し続けることができる撮像装置(例えば、ウェアラブルカメラ)が登場しつつある。ウェアラブルカメラとは身体に着用できる小型の端末であり、例えば、紐が付けられたウェアラブルカメラを利用者の首にぶら下げる等、身体の所定部位を基準として支持することにより着用する。ウェアラブルカメラは、手による操作といった明示的な操作をしなくても、撮像や収音ができる特性を有している。
ところで、ウェアラブルカメラにより被写体を撮影する場合、ウェアラブルカメラが傾いた状態で被写体が撮影される場合がある。これは利用者の動作の影響によりウェアラブルカメラの位置がずれることが原因であるが、ウェアラブルカメラの姿勢が適切に保たれていない状態で撮影が行われると、被写体が傾いた状態で撮影されてしまい、利用者にとっては非常に見難い画像となる。
そこで、従来、傾いた状態で撮影された画像を傾いていない画像に補正する方法として、ウェアラブルカメラに加速度センサを設け、加速度センサにより重力加速度を測定することでウェアラブルカメラの地軸に対する回転角を検出し、検出した回転角に基づいて撮影した画像の傾きを補正する方法が知られている(特許文献1参照)。その他の先行技術としては、特許文献2ないし4に記載のものがある。
特開2006−245726号公報 特開2002−207232号公報 特開2003−304486号公報 特開2003−153072号公報
しかしながら、加速度センサには筐体固有の誤差があるので、検出した回転角に基づいて補正をしたとしても、依然として利用者にとって見難い画像となってしまう場合がある。
また、加速度センサではその原理上、重力加速度とカメラの運動によって生じる加速度とが重畳して検出され、それらを区別することができない。すなわち、カメラの運動によって生じる加速度の影響も誤差として現れるものとして考えることができる。このことは身体に装着するという特性上撮影時に筐体が激しい運動にさらされるウェアラブルカメラにおいては、加速度センサによって重力加速度のみを正確に検知することが困難であることを意味する。従来の加速度センサの用いられ方では、画像の見易さを向上させるのは難しいのが現状である。
なお、撮像装置の動きを角速度センサにより検知し、検知した動きに応じてレンズ群を駆動して像のぶれを補正する、いわゆる手ぶれ補正と呼ばれる技術があるが、これはカメラの撮像素子の露光時間内における、カメラの相対的な動きの変化を補正するための技術であり、補正の基準となるのはシャッターが切られる瞬間の姿勢である。
したがって、例えば画像の水平方向に対する傾きを補正したい場合、シャッターが切られる瞬間にカメラが既に水平に対して傾いているのであれば、いくら手ぶれ補正を適用しても撮影される画像が水平になることはない。
つまり、手ぶれ補正技術はカメラの運動による相対的な角度を補償することはできるが、水平などを基準とする絶対的な角度を補償することはできない。
本発明は、高精度で画像の傾きを補正する撮像装置を提供することを目的とする。
上記課題を解決するために、本発明は、撮像画像に回転変換を施すことにより、撮像画像中の被写体の傾きを補正する撮像装置であって、撮像部と、撮像部の物理的な傾きを検知するセンサと、センサによって検知された物理的な傾きに基づいて、撮像画像の被写体に現れる複数の角度成分のうちある一定の基準を満たす角度成分を、回転変換のための回転角として選択する処理部と、を備える。
本発明は上記の構成を備えることにより、センサにより検出された物理的な傾きを撮像画像の補正に直接利用するのではなく、撮像画像の被写体に現れる複数の角度成分から回転角を選択する際に利用する。センサにより検出された物理的な傾きと撮像画像の被写体に現れる角度成分とに基づいて、回転変換のための回転角を選択するので、筐体固有の誤差により補正後の画像の見易さが左右されることはなくなる。
また、回転角を選択する際に、撮像画像の被写体に現れる複数の角度成分のうちある一定の基準を満たす角度成分を回転角として選択するので、補正の精度を向上させることができる。
なお、撮像画像の被写体に現れる角度成分としては、撮像画像中の線分の傾斜角や撮像画像の被写体に現れる輝度勾配がなす角度等が該当する。
ここで、前記処理部は、センサによって検知された物理的な傾きに基づいて、撮像画像に対して画像処理を行って、撮像画像の被写体に現れる複数の角度成分を検出し、検出した複数の角度成分に対する統計処理を実行し、複数の角度成分のうちある一定の基準を満たす角度成分を、回転変換のための回転角として選択するとしてもよい。
センサによって検知された物理的な傾きに基づいて、撮像画像に対して画像処理を行うことにより、撮像画像の被写体に現れる複数の角度成分を検出することができる。複数の角度成分に対する統計処理を実行し、ある一定の基準を満たす角度成分を回転角として選択するので、補正の精度を向上させることができる。
ところで、一般的に画像処理にはHough変換が用いられるが、画像処理の対象となるべき画像によっては特徴点の数が膨大になり、その結果、画像処理における処理負荷が重くなったり、たとえ検出した角度成分に基づき補正を行ったとしても、必ずしも正確に補正できなかったりし、処理負荷及び精度の両面で問題がある。
そこで、画像を補正する際の処理負荷を低減しつつ補正精度を向上させるために、前記画像処理は、撮像画像中の線分をその傾斜角とともに検出する処理であり、前記物理的な傾きに基づく画像処理は、前記物理的な傾きを基準にして、画像処理の対象となる角度範囲を定めた上で、画像処理を行うことであり、前記統計処理は、複数の角度成分の度数分布を示すヒストグラムを作成することであり、複数の角度成分のうち、ある一定の基準を満たす角度成分は、作成されたヒストグラムにおいて、ある一定の基準を満たす度数を有する角度成分である、とするのが望ましい。
これにより、センサにより検出された物理的な傾きを、線分を検出する際の角度範囲の基準として用いることができる。画像処理部は画像中の全ての線分を検出するのではなく、角度範囲にある線分を検出するので、線分検出における処理負荷を軽減することができるとともに、不必要な線分を検出しないので精度の向上を図れる。
ここで、前記処理部は、撮像部による撮像画像に対して画像処理を行って、撮像画像の被写体に現れる複数の角度成分を検出し、センサによって検知された物理的な傾きに基づいて、検出した複数の角度成分に対する統計処理を実行し、複数の角度成分のうちある一定の基準を満たす角度成分を、回転変換のための回転角として選択するとしてもよい。
撮像画像に対して画像処理を行うことにより、撮像画像の被写体に現れる複数の角度成分を検出することができる。センサによって検知された物理的な傾きに基づいて、複数の角度成分に対する統計処理を実行し、ある一定の基準を満たす角度成分を回転変換のための回転角として選択するので、補正の精度を向上させることができる。
ここで、撮像画像の被写体に現れる複数の角度成分は、撮像画像の被写体に現れる輝度勾配がなす角度であり、前記統計処理は、複数の角度成分の度数分布を示すヒストグラムを作成することであり、前記物理的な傾きに基づく統計処理は、前記物理的な傾きを基準にして、統計処理の対象となる角度範囲を定めた上で、統計処理を実行することである、としてもよい。
これにより、センサにより検出された物理的な傾きを、ヒストグラムを作成する際の角度範囲の基準として用いることができる。撮像画像の被写体に現れる輝度勾配がなす角度の、全てについてのヒストグラムを作成するのではなく、角度範囲におけるヒストグラムを作成するので、不必要な角度成分を除くことができ、補正の精度の向上を図れる。
ここで、前記補正処理部は、前記ある一定の基準を満たす度数を有する角度成分のうち、前記ヒストグラム中の最大の度数を有する角度成分を、回転変換のための回転角として選択するとしてもよい。
これにより、ヒストグラム中の最大の度数を有する角度成分を回転角として選択するので、補正に対する信頼性を高めることができる。
ここで、前記ある一定の基準を満たす角度成分が存在しない場合、前記処理部は前記センサにより検出された傾きを、回転変換のための回転角として選択するとしてもよい。
これにより、ある一定の基準を満たす角度成分が存在しない場合、すなわち、撮像画像の被写体に現れる複数の角度成分に対する信頼性が低い場合には、前記センサにより検出された傾きを、回転変換のための回転角として選択するので、補正に対する信頼性を高めることができる。
ここで、前記処理部は、前記撮像画像から特定の被写体を検出する検出部をさらに備え、前記ある一定の基準を満たす角度成分が存在しない場合、前記処理部は前記特定の被写体の傾きを、回転変換のための回転角として選択するとしてもよい。
これにより、ある一定の基準を満たす角度成分が存在しない場合、すなわち、撮像画像の被写体に現れる複数の角度成分に対する信頼性が低い場合には、特定の被写体の傾きを、回転変換のための回転角として選択するので、補正に対する信頼性を高めることができる。
ここで、前記処理部は、自装置の位置を検出する位置検出部をさらに備え、前記ある一定の基準を満たす角度成分が存在せず、かつ、前記位置検出部により検出された位置が予め設定されている特定の位置である場合、前記補正処理部は、前記ヒストグラム中の最大の度数を有する角度成分を、回転変換のための回転角として選択するとしてもよい。
これにより、ある一定の基準を満たすか否かに加え、さらに前記位置検出部により検出された位置が特定の位置か否かにより回転角を選択するので、補正に対する信頼性を高めることができる。
ここで、前記処理部は、単位角度毎の誤差分布を記憶している記憶部と、前記センサにより検出された物理的な傾きに基づいて、当該傾きに相当する誤差分布を前記記憶部から取得する誤差分布取得部と、をさらに備え、前記補正処理部は、前記ヒストグラムと前記誤差分布取得部により取得された誤差分布とから算出される傾き尤度のうち、最大の傾き尤度に相当する角度成分を、前記回転変換のための回転角として選択するとしてもよい。
また、単位角度毎の誤差分布の関係式を記憶している記憶部と、前記センサにより検出された物理的な傾きに基づいて、前記関係式から誤差分布を算出する誤差分布算出部と、をさらに備え、前記補正処理部は、前記ヒストグラムと前記誤差分布算出部により算出された誤差分布とから算出される傾き尤度のうち、最大の傾き尤度に相当する角度成分を、前記回転変換のための回転角として選択するとしてもよい。
これにより、センサの誤差分布を反映して回転角を選択するので、より高精度で回転角を選択することができ、より高精度で補正を行うことができる。
ところで、上述したように、加速度センサ自体が利用者の動作に起因して加速度を受けた場合には、これを重力加速度と区別して測定することはできず、検出した角度に基づいて補正をしたとしても、依然として利用者にとって見難い画像となってしまう。
そこで、利用者が動作中に撮影した画像であっても、正確に画像を補正するために、前記記憶部は、自装置の静止状態における誤差分布と動作状態における誤差分布とをそれぞれ記憶しており、前記誤差分布取得部は、前記センサにより検出された物理的な傾きに基づいて自装置の動作状態を判定し、判定した結果、静止状態であれば前記静止状態における誤差分布を取得し、動作状態であれば前記動作状態における誤差分布を取得するとするのが望ましい。
また、前記記憶部は、自装置の静止状態における誤差分布の関係式と動作状態における誤差分布の関係式とをそれぞれ記憶しており、前記誤差分布算出部は、前記センサにより検出された物理的な傾きに基づいて自装置の動作状態を判定し、判定した結果、静止状態であれば前記静止状態における誤差分布の関係式から誤差分布を算出し、動作状態であれば前記動作状態における誤差分布の関係式から誤差分布を算出するとしてもよい。
これにより、撮像装置の動作状態に応じた誤差分布を取得するので、利用者が動作中であっても、より高精度で補正を行うことができる。
ここで、前記処理部は、前記撮像画像の歪みを補正する歪み補正部をさらに備え、前記画像処理部は、補正後の撮像画像に対して画像処理を行うとしてもよい。
これにより、撮像装置の光学系に起因する画像の歪みによって線分が歪んで撮像されていても正しい線分が検出でき、より高精度で補正を行うことができる。
ここで、前記補正処理部は、前記ヒストグラムにおいて複数の角度成分の度数分布を示す際に、各角度成分の度数に対する重み付けを行い、前記重みは前記撮像画像から検出された線分の長さが長いほど大きくなるとしてもよい。
これにより、例えば画像の端から端にわたるような目立つ線分があった場合に、その重要度を高くすることで、短い線分が多数あるような環境でも安定して大局的な角度成分を選択することができる。
ここで、前記補正処理部は、前記ヒストグラムにおいて複数の角度成分の度数分布を示す際に、各角度成分の度数に対する重み付けを行い、前記重みは前記撮像画像から検出された線分が垂直に近いほど大きくなるとしてもよい。
画像中に存在する線分のうち、実世界において垂直に近い角度の線分は信頼性が高いので、これに対する重み付けを高くすることにより、より高精度で補正を行うことができる。
ここで、前記補正処理部は、前記ヒストグラムにおいて複数の角度成分の度数分布を示す際に、各角度成分の度数に対する重み付けを行い、前記重みは前記センサにより検出された物理的な傾きと前記撮像画像から検出された線分の傾斜角との差分が小さいほど大きくなるとしてもよい。
これにより、前記センサにより検出された物理的な傾きと、前記撮像画像から検出された線分の傾斜角との差分により重み付けされるので、より高精度で補正を行うことができる。
(a)ウェアラブルカメラを装着した様子を表す模式図である。(b)画像の回転軸を表す模式図である。 受光面の傾きによる画像の変化を示す図である。 ウェアラブルカメラ100の機能ブロック図である。 補正処理部30の機能ブロック図である。 2軸加速度センサによってロール軸周りの回転角を算出する方法を示す模式図である。 センサの出力と線分を検出する角度範囲の関係を示す模式図である。 Hough変換の原理を説明するための図である。 ある画角で撮影された画像を別の画角で撮影された画像に対応付ける際の関係を示す模式図である。 ウェアラブルカメラ100の動作の流れを表すフローチャートである。 Hough変換による線分検出処理の流れを表すフローチャートである。 (a)撮像部10により撮像された画像(補正前の画像)を示す図である。(b)図11(a)に示される画像中の、全ての線分が検出された画像を示す図である。 (a)画像中の全ての線分を検出した場合の最も頻度の高い傾斜角を示す図である。(b)図12(a)に対応する角度ヒストグラムを示す図である。 (a)線分検出範囲を制限した場合の最も頻度の高い傾斜角を示す図である。(b)図13(a)に対応する角度ヒストグラムを示す図である。 補正後の画像を示す図である。 ウェアラブルカメラ100aの機能ブロック図である。 誤差確率分布のテーブルを示す図である。 補正処理部30aの詳細な機能を示す図である。 ウェアラブルカメラ100aの動作の流れを表すフローチャートである。 誤差確率分布の例を示す図である。 (a)静止状態における誤差確率分布テーブルを示す図である。(b)動作状態における誤差確率分布テーブル示す図である。 補正処理部30bの詳細な機能を示す図である。 ウェアラブルカメラ100bの動作の流れを表すフローチャートである。 ウェアラブルカメラ100cの機能ブロック図である。 画素のコントラストの変化の方向をどのように求めるかを説明するための図である。 Sobelフィルタを示す図である。
符号の説明
100、100a、100b ウェアラブルカメラ
10 撮像部
20 センシング部
30、30a、30b 補正処理部
31 角度範囲決定部
32 線分検出部
33 ヒストグラム作成部
34 画像処理部
35 誤差確率分布取得部
36 尤度算出部
37 動作状態判定部
40 出力部
50 通信部
60 表示部
70 フレームメモリ
80、80b 記憶部
(実施の形態1)
<概要>
本実施の形態では、撮像装置として、ウェアラブルカメラを例に挙げて説明する。
ウェアラブルカメラはカメラやマイクロホン、加速度センサを含んで構成され、カメラやマイクロホンによって撮影された画像及び音声を記録媒体に記録する。
ウェアラブルカメラで撮影された画像の特徴について説明すると、ウェアラブルカメラで撮影された画像には装着者の動作に伴う体の動きによって回転が生じる。生じる回転の種類について、図1を用いて説明する。図1(a)はウェアラブルカメラを装着した様子を表す模式図である。ウェアラブルカメラは取り付け部を備え、取り付け部にひもをつけ、首にぶら下げるなど身体の所定部位を基準として支持される。図1(a)のように水平方向にx軸、垂直方向にy軸、x軸とy軸とからなる平面に直交する方向、すなわちウェアラブルカメラの光軸方向にz軸を設定した場合、図1(b)に示すようにx軸周りの回転をピッチ(Pitch)、y軸周りの回転をヨー(Yaw)、z軸周りの回転をロール(Roll)と呼ぶ。
ウェアラブルカメラがロール方向に回転した場合、図2(a)、(b)、(c)のように画角が変動し、撮影される画像はそれぞれ図2(d)、(e)、(f)のようになる。なお、図2(a)、(b)、(c)の黒丸は回転中心を表す。
実際にはロール方向の回転に加え、ピッチ方向、ヨー方向の回転も併せて加わるが、本実施の形態では特にロール方向の回転、すなわちx軸とy軸とからなる平面の光軸周りの水平ないし垂直に対する回転を補正する方法に絞ってその構成を述べる。なぜならば、上記3軸の回転のうち、画像を閲覧する上でユーザが最も違和感を覚えるのがロール方向の回転であり、これを補正することが画質に最も影響を与えるからである。
そこで本実施の形態では、ウェアラブルカメラはロール方向の回転角を検出し、検出した回転角を基準とした角度範囲をセンサの誤差分布に基づいて定める。撮像された画像において定めた角度範囲内で線分を検出し、検出した線分の傾斜角に基づいて画像の補正を行う。すなわち、センサにより検出された回転角は、直接補正に用いられるのではなく、回転角はあくまでも画像処理における線分検出の範囲の制限に用いられる。画像補正に用いられるべき線分は誤差分布に基づいた角度範囲から検出され、実際の補正は検出した線分の傾斜角に基づいて行われるので、センサ自体に誤差があろうとも、より高精度で補正を行うことができる。
以下、本実施の形態におけるウェアラブルカメラについて、図面を用いて詳細に説明する。
<ウェアラブルカメラ100の構成>
図3は本実施の形態に係るウェアラブルカメラ100の機能ブロック図である。
ウェアラブルカメラ100は、具体的には、マイクロプロセッサ、ROM(Read Only Memory)、RAM(Random Access Memory)、DSP(Digital Signal Processor)などから構成されるコンピュータシステムである。前記ROMには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、ウェアラブルカメラ100はその機能を達成する。
ウェアラブルカメラ100は、撮像部10、センシング部20、補正処理部30、出力部40、通信部50、表示部60、及びフレームメモリ70を含んで構成される。
撮像部10は具体的にはCCD(Charge Coupled Device)やCMOS(Complementary Metal-Oxide Semiconductor)といった撮像素子やレンズ部を含んで構成され、画像を撮像する機能を有する。
センシング部20は具体的にはピエゾ抵抗型加速度センサ等を含んで構成され、光軸に対し垂直な面である受光面の、水平ないし垂直からの光軸周りの回転角を検出する。詳細は<ピエゾ抵抗型加速度センサ>、<ロール方向の回転角測定方法>で説明する。
補正処理部30はセンシング部20により検出された回転角に基づいて、撮像部10により撮像された画像に対し、当該画像を補正するための画像処理を行う。詳細については<補正処理部30の機能>で説明する。
出力部40は具体的にはSDメモリカード等の記録媒体を含んで構成され、補正処理部30により補正処理された画像等を記録媒体に記録する。
通信部50は具体的には変調回路や復調回路等を含む送受信回路を含んで構成され、アンテナ等を介して、撮像部10により撮影された画像や補正後の画像、センシング部20により検出された回転角等を外部ネットワークに送信する。
表示部60は具体的には液晶ディスプレイ等を含んで構成され、撮像部10により撮影された画像や補正処理部30により補正処理された画像を表示する。
フレームメモリ70(70a、70b、…)は画像(1フレーム)を記憶するための専用メモリである。例えば、フレームメモリ70には、撮像部10から入力される補正前の画像や画像処理部35から入力される補正後の画像が記憶される。
<補正処理部30の機能>
続いて、補正処理部30の詳細な機能について説明する。図4は補正処理部30の機能ブロック図である。補正処理部30は角度範囲決定部31、線分検出部32、ヒストグラム作成部33、及び画像処理部34を含んで構成される。
角度範囲決定部31は、センシング部20から入力される回転角に基づいて線分を検出する際の角度範囲θ±φを決定し、線分検出部32に送信する。具体的には、<角度範囲>で説明する。
線分検出部32は、フレームメモリ70aから撮像部10により撮像された画像を取得し、取得された画像を構成する線分のうち角度範囲決定部31から入力された角度範囲θ±φにおける線分をその傾斜角とともに検出し、検出された傾斜角をヒストグラム作成部33に出力する。線分の検出についての詳細は<Hough変換>、<線分検出処理>で説明する。
ヒストグラム作成部33は、線分検出部32から入力された各線分の傾斜角の度数をカウントし、その傾斜角毎の度数を表す角度ヒストグラムを作成する。そして、最も高い度数の傾斜角を選択し、画像処理部34に送信する。なお、ここでいう角度ヒストグラムとは具体的には1次元配列のことである。
なお、角度ヒストグラムを作成する際、水平及び垂直のどちらを基準としてもよく、このとき、最終的に選択される傾斜角は基準とした水平あるいは垂直のいずれかからの回転角に相当する。
画像処理部34は、フレームメモリ70aから補正対象となる画像を取得し、ヒストグラム作成部33から入力される傾斜角に基づいて画像処理を行い、処理後の画像をフレームメモリ70bに記憶する。画像処理についての詳細は<画像の回転の補正>で説明する。
<ピエゾ抵抗型加速度センサ>
次に、ピエゾ抵抗型加速度センサについて説明する。ピエゾ抵抗効果とは、導体の長さや断面積が変化することで抵抗が変化する現象を指す。具体的には長さL、断面積S、抵抗率ρの導体の抵抗Rは数1で表される。

R = ρL/S・・・(数1)

この導体を長さ方向に引っ張り、長さがL’、断面積がS’になったとすると、このときの抵抗R’は(数2)で表される。

R’=ρL’/S’・・・(数2)

(数1)及び(数2)より、L’>L、S’<SとするとR’>Rが成立する。したがって、導体に機械的な力が加わることで抵抗が変化することがわかる。ピエゾ抵抗型加速度センサは、加速度に伴って発生する力を受けて歪みが発生するピエゾ抵抗素子を備え、加速度に伴う抵抗の変化を電圧や電流の変化量として計測することができる。すなわち、電圧や電流の値からピエゾ抵抗素子に作用している加速度を得ることができる。また、ピエゾ抵抗素子を複数の向きに設置することで、それぞれの向きにかかる加速度を計測することができる。
<ロール方向の回転角測定方法>
実際にピエゾ抵抗型加速度センサを用いてロール方向の回転角を測定する方法について図5を用いて説明する。互いに直交するx軸、y軸の2方向の加速度を加速度センサを用いて測定するものとする。y軸が鉛直方向からθだけ傾いているとすると、静止状態でy軸方向にかかる加速度gyは、gy=gcosθと表すことができる。なお、gは重力加速度を表す。同様に、x軸方向にかかる加速度gxは、gx=gsinθと表すことができるので、傾斜角θはgx、gyを用いて(数3)のように表すことができる。

θ=tan-1(gx/gy)・・・(数3)

(数3)に示されるように、加速度センサの各軸方向の出力の比を求め、その逆正接を求めることによって傾斜角θを検出することができる。
<角度範囲>
次に、角度範囲をどのように決定するかについて説明する。センシング部20により傾斜角θが検出されると、角度範囲決定部31は、図6に示されるようにθから±φの範囲を角度範囲として決定する。なお、水平及び垂直からそれぞれθ±φの範囲を角度範囲として決定するとしてもよい。ここで、φの値は加速度センサの出力値θに対するマージンと考えることができるので、例えば、加速度センサの誤差分布に応じてφの値を決定することができる。加速度センサの誤差が平均μ、標準偏差σの正規分布にしたがうとした場合には、φ=aσとすることが考えられる。こうすることにより、φの値を固定にする場合に発生する以下のようなデメリットを抑制する効果が考えられる。
固定値の角度範囲をφc、加速度センサの誤差分布によって決まる角度範囲をφとする。φc>φの場合、φより大きい範囲の線分は真の水平ないし垂直ではない可能性が高く、このような線分を検出するのは無駄な演算量の増加を招くだけでなく、最終的な補正結果に悪影響を与える可能性がある。逆にφc<φの場合、誤差がφcより大きかった場合に本来水平ないし垂直であったはずの線分を検出することができず、最終的な補正結果に悪影響を与える可能性がある。
なお、一般的な正規分布の性質から、aの値をa=2とすると出力のおよそ95%が、a=3とするとおよそ99%が誤差範囲内に含まれる。したがって、状況に応じて、どの程度の誤差であれば許容でき、どの程度の演算量に抑える必要があるのかを適宜判断し、最適なaの値を決定することができる。
<Hough変換>
続いて、撮像画像から線分を検出する方法について説明する。ここでは線分の検出にHough変換と呼ばれる手法を用いる。以下、図7を用いてHough変換による線分の検出手法について説明する。図7(a)より、画像中の点(xi、yi)を通る直線は、パラメータ(ρ、θ)によって表される(数4)を満たす。

ρ=xicosθ + yisinθ・・・(数4)

これは、点(xi、yi)を通る直線群が図7(b)における1本の曲線に対応付けられることを意味する。一方、同じ直線上にある複数の点について(数4)に基づく対応付けを行うと、得られる複数の曲線はある1点で交わる。この交点に対応するパラメータがこれらの点を通る直線を表している。実際にはパラメータ(ρ、θ)は離散的に扱われる。つまり、(ρ、θ)のパラメータ空間を一定の大きさΔθ毎に区切り、θを順番に変えながらρの値を求めてその頻度をカウントする。頻度の高いパラメータ(ρ、θ)の組に対応する直線が実際に画像中に存在する可能性が高いと考えられる。そして、このときの区切りの間隔Δθが小さいほど、検出される直線の角度分解能が高く、より正確な角度を表すことができる。
しかし、Δθを小さくするとρの値を求める回数が多くなり、その分処理時間が長くなるというデメリットがある。これに対して、角度範囲決定部31により決定された角度範囲内でθを変動させることで、高い分解能を保ちつつ処理の回数を減らすことができる。
また、線分検出の際に必要となるメモリの問題がある。すなわち、検出しようとする線分の傾斜角の精度を高めるにはθを細かく設定し計算する必要があり、それだけパラメータ平面を大きく設定しなければならず、大きな配列用のメモリが必要となる。
本実施の形態では、線分を検出する範囲を検出された傾斜角θから±φの範囲内に絞っているので、必要なメモリの容量を削減することができる。
<画像の回転の補正>
続いて、画像の補正について説明する。画像の回転の補正は以下のようにして行う。一般的に、画像平面上の点P=(x、y)を、カメラを中心とした座標系であるカメラ座標系XYZで表したものをP1=(x1、y1、z1)とすると、以下の(数5)で表す関係が成り立つ。

sP’=KP1’・・・(数5)

ただし、P’、P1’はそれぞれP、P1を同次座標で表したもので、P’=(x、y、1)、P1’=(x1、y1、z1、1)である。また、Kは内部パラメータ行列と呼ばれる3×4の行列で、焦点距離、アスペクト比、画像平面と光軸の交点である画像中心の座標などによって決まる。また、sはスケーリングパラメータである。
また、P1を別のカメラ座標系X’Y’Z’で表したときの座標をP2=(x2、y2、z2)とすると、以下の(数6)で表す関係が成り立つ。

P2’=[R]P1’・・・(数6)

ただし、P2’はP2を同次座標で表したもので、P2’=(x2、y2、z2、1)である。また、[R]はP1からP2への4×4の回転行列である。そして、P2を画像座標系で表した点をQ=(u、v)とすると、(数5)と同様に(数7)で表す関係が成り立つ。

sQ’=KP2’・・・(数7)

ただし、Q’はQを同次座標で表したもので、Q’=(u、v、1)である。また、Kはカメラの内部パラメータが変化しない限り一定である。これらの式をまとめると、PとQとの間には(数8)で表す関係が成り立つ。

Q’=K[R]K-1P’・・・(数8)

ただし、K-1はKの逆行列である。ウェアラブルカメラの装着者の動きによって画角が変化するというのは、上記のカメラ座標系の変換が加わることに相当する。内部パラメータ行列Kは一定と考えると、前に画像を撮影した時から次に画像を撮影するまでの回転を測定することで、撮影した画像間の対応付けを行うことができる。上記の関係をまとめたものが図8である。なお、回転を、前に画像を撮影した時からの変化量として測定する代わりに、任意の位置に定めた原点及び座標軸からの変化量として測定してもよい。
<センサの読み取り周期と画像処理のタイミング>
続いて、センサの読み取り周期と画像処理のタイミングについて説明する。どの時点のセンサ出力を線分検出に用いるかについては、センサ出力は理想としては撮影されたタイミングと同期していることが望ましい。
センサの読み取り周期は、センサの信号をダイレクトに使う場合であれば、33ms毎(各フレーム毎)にセンサの出力を得ることができる。なお、ノイズを低減するために、1フレームあたり例えば5回センサの出力を読み出して、その平均値を当該フレームに対応するセンサ出力値とするとしてもよい。
画像処理のタイミングはDSPなど専用のプロセッサを利用することを前提とし、例えば5フレーム毎に行うとしてよい。この場合、処理結果が出たときにはそれは「200ms前の画像における線分の角度」であって「現在の画像における線分の角度」に対してずれが生じるが、この間の動きが小さいものと仮定すればずれは問題ない。
以上を踏まえて、例えば30フレーム毎秒での撮影を前提とすると、センサ出力はフレーム(33ms)毎に読み出され、画像処理は5フレーム(200ms)毎に行われる。
<撮像装置の動作>
図9は、ウェアラブルカメラ100の動作の流れを表すフローチャートである。まず、撮像部10は画像を撮像する(ステップS101)。
センシング部20は、撮像部10による画像の撮像に同期して、受光面が水平ないし垂直から光軸周りにどのくらい回転しているかを示す回転角を検出する(ステップS102)。具体的には、加速度センサの各軸方向の出力値を用いて、(数3)から回転角を求める。
角度範囲決定部31は、検出された回転角に基づき線分を検出する角度範囲を決定する(ステップS103)。具体的には、センシング部20より得られた回転角をθとした場合にθ±φの範囲を角度範囲として決定する。
続いて、線分検出部32は、決定された角度範囲の線分を撮像画像中から1以上検出する(ステップS104)。具体的な処理内容は<線分検出処理>で説明する。
ヒストグラム作成部33は、検出された各線分の傾斜角をカウントし、その角度毎の度数を表す角度ヒストグラムを作成する(ステップS105)。
画像処理部34は、作成された角度ヒストグラム中で最も高い度数が予め定められている所定の閾値以上か否かを判定する(ステップS106)。所定の閾値以上の場合には(ステップS106でYes)、最も高い度数に対応する傾斜角を実際に回転している角度であると判断し、これを補正するための処理に用いる(ステップS107)。具体的には、実際に回転している角度であると判断された傾斜角を打ち消すような逆方向の回転を撮像された画像に加えることにより補正を行う。所定の閾値未満の場合には(ステップS106でNo)、補正を行わずにステップS108に移行する。
出力部40は画像を記録媒体に記録する(ステップS108)。
以上がウェアラブルカメラ100の動作の流れである。上述のように、センサにより検出された回転角を撮像画像の補正に直接利用するのではなく、センサにより検出された回転角を、線分検出処理を行う際の角度範囲の限定に用いるので、線分検出における処理負荷を軽減することができるとともに、精度の向上を図れる。
<線分検出処理>
次に、Hough変換による線分検出処理の具体的な流れを、図10を用いて説明する。図10はHough変換による線分検出処理の流れを表すフローチャートである。本フローチャートにおいて、θ1、θ2はそれぞれセンシング部20により検出された角度θに基づき角度範囲決定部31により決定された角度範囲の下限値(θ−φ)及び上限値(θ+φ)である。また、変数iは抽出された一の特徴点を示し、Nは特徴点の総数を示す。
まず、線分検出部32は撮像された画像中から線分が存在する可能性が高いと考えられる点である特徴点を抽出する(ステップS201)。特徴点の抽出には、画像のエッジを検出するフィルタを適用する等、既存の方法を用いることができる。
何番目の特徴点かを特定するための変数iの値を1に初期化し(ステップS202)、Hough変換のパラメータθの値をθ1に初期化する(ステップS203)。
続いて、パラメータ空間と関連付けた2次元配列のセルに投票を行う。(ステップS204)。具体的には、抽出されたi番目の特徴点(xi,yi)について、現在の角度θの値を基に(数4)からρの値を算出し、パラメータ空間中の(ρ,θ)と関連付けた2次元配列の対応するアドレスの頻度を1だけ増加させる。このような処理によって、配列の各アドレスには、当該アドレスに対応する(ρ,θ)が得られた度数が格納される。つまり、全ての特徴点について「投票」を実行することにより、1つの2次元配列U(ρ、θ)ができ、その配列を基に後述する判定処理を行い、線分を検出する。
次に、角度θが角度範囲の上限である上限値θ2に達しているか否かを判定し(ステップS205)、上限値θ2に達していない場合には(ステップS205でNo)、角度θにΔθを加算し、新たな角度θとした後(ステップS206)、ステップS204に移行する。
上限値θ2に達している場合には(ステップS205でYes)、iの値がNに達しているか否かを判定する(ステップS207)。達していない場合には(ステップS207でNo)、iを1計数し(ステップS208)、ステップS203に移行する。達している場合には(ステップS207でYes)、判定処理を行う(ステップS209)。具体的には、まず、頻度が所定の閾値より大きいパラメータ(ρ,θ)の組を選び出し、選び出したパラメータ(ρ,θ)に対応する直線上に特徴点が連続して所定の数以上存在するか否かを判定する。所定の数以上存在する場合、実際に線分が存在すると判定する。これは直線上の全ての画素が特徴点になるとは限らず、途切れ途切れに特徴点が存在する場合があるからである。なお、実際に線分が存在すると判定するのと同時に、連続して存在する特徴点の始点と終点の位置とから線分の長さがわかる。この処理を選ばれた全ての(ρ,θ)の組に対して行い、判定処理を終了する。
<具体例>
続いて、具体例(図11から図14)を挙げ、線分を検出する角度範囲を制限することによる効果を説明する。図11(a)は撮像部10により撮像された画像(補正前の画像)を示す図である。撮像された画像は約20°傾いているものとする。
まず、線分を検出する角度範囲を制限しない場合について述べる。この場合には、線分検出処理により図11(b)に示されるように、図11(a)に示される画像中の、全ての線分が検出されることになる。その結果、図12(b)に示されるように、−90°から90°の範囲の線分の傾斜角の頻度が角度ヒストグラムによって表される。図12(b)より、画像補正に用いるべき傾斜角は20°であるが、実際には−90°付近の傾斜角が最も頻度が高くなっていることがわかる。したがって、補正は最も頻度の高い傾斜角である−90°付近の傾斜角に基づいて行われることになる。
ここで、図12(a)の実線で描かれている線分の傾斜角が最も頻度の高い傾斜角(すなわち、−90°付近の傾斜角)に相当するが、これらの線分は元々水平であったはずの建物や道路の境界線を斜めから撮影した結果、画像上で斜めに見えているもので、これらの線分が画像上で真横、すなわち水平になるように画像を回転させると、実際の水平が画像の真横にならず、結局傾いた画像になってしまう。
これに対して、線分を検出する角度範囲を制限する場合では、角度範囲決定部31により決定された範囲内の1以上の線分のみが検出され、図13(b)に示されるように、該範囲内の各線分の傾斜角が角度ヒストグラムとして作成される。線分を検出する範囲を制限したことにより、図13(b)に示されるように、角度ヒストグラムにおいて最も頻度が高くなっているのは、図12(b)で最も頻度の高かった−90°付近の傾斜角ではなく、画像補正に用いるべき傾斜角20°であることがわかる。
ここで、図13(a)は加速度センサによって下向き矢印の方向が鉛直下向きであると判定され、図13(a)の矢印を除いた実線で描かれている線分の傾斜角が、最も度数の高い角度に相当することを示している。これらの線分が画像上で縦、すなわち垂直になるように画像を回転させることで、図14に示されるように、正確に傾斜角を補正することができる。
このように、線分検出処理において、画像中の全ての線分を検出するのではなく、センシング部20により検出された傾斜角θから±φの範囲内の線分のみを検出するので、処理の効率化が図れるとともに、最終的な回転角の推定に対して悪影響を及ぼす可能性のある線分を事前に排除することで、精度の向上を図ることができる。
以上のように本実施の形態によれば、センサの誤差分布に基づき線分を検出する範囲を決定し、その範囲内から線分を検出することにより、処理の効率化を図るとともに、センサに誤差があったとしても、誤差分布に基づく範囲内から線分を検出するので、高精度で画像を補正することができる。
センサ出力の用い方が従来とは大きく異なり、線分検出の際の角度範囲の基準として用いられるだけであり、画像補正はヒストグラムにおいて最も度数の高い角度に応じて行われるため、筐体固有の誤差により補正後の画像の見易さが左右されることはなくなる。
(実施の形態2)
本実施の形態では、尤度関数を用いて傾斜角を推定する。
<構成>
以下に、本実施の形態に係るウェアラブルカメラについて説明する。
図15は、本実施の形態に係るウェアラブルカメラ100aの機能ブロック図である。ウェアラブルカメラ100aは、実施の形態1のウェアラブルカメラ100に記憶部80を追加した構成であり、また、補正処理部30の代わりに補正処理部30aを備える。その他の構成部の機能は実施の形態1のウェアラブルカメラ100と同様である。以下、ウェアラブルカメラ100と相違のある部分のみ説明する。
記憶部80はセンシング部20に備えられる加速度センサの角度毎の誤差確率分布データを記憶しており、補正処理部30aから参照され、誤差確率分布データを補正処理部30aに出力する。角度毎の誤差確率分布は、例えば、ウェアラブルカメラの出荷時に予め測定され、参照可能な形式で記憶しておく。図16は誤差確率分布のテーブルの例であり、センサの出力値に対する誤差の分布確率を示している。例えば、センサの出力角度が2度の場合、真値との誤差が0度の確率が0.3818、誤差が1度の確率が0.2415となる。
図17は補正処理部30aの詳細な機能を示す図である。補正処理部30aは、センシング部20により検出された回転角θに対応する誤差確率分布を記憶部80から取得する誤差確率分布取得部35、及び誤差確率分布と角度ヒストグラムとから角度尤度を算出する尤度算出部36を含んで構成される。
<動作>
続いて、図18はウェアラブルカメラ100aの動作の流れを表すフローチャートである。
ウェアラブルカメラ100との相違点は、ステップS303、307、308であり、他のステップはウェアラブルカメラ100と同様の処理である。
ステップS303では、誤差確率分布取得部35はステップS302で取得されたセンサの出力に対応する誤差確率分布を記憶部80から取得する。図19は誤差確率分布の例を表しており、センサの角度出力が22.0°の場合の確率分布である。
ステップS307では、ステップS303で取得された誤差確率分布とステップS306で作成された角度ヒストグラムとから角度尤度を算出する。角度尤度は正しい角度の尤もらしさを表す度合いであり、角度をθ、角度ヒストグラムをh(θ)、誤差確率分布をp(θ)とすると、角度尤度y(θ)は、
(数9)で定義される。

y(θ)=h(θ)×p(θ)・・・(数9)

ステップS308では、y(θ)の最大値ymaxと予め定められた閾値とを比較し、ymaxが閾値以上の場合は(ステップS308でYes)、ymaxに対応する角度θに基づいて画像の補正を行う。具体的には、角度θと同じ値だけ画像を反対方向に回転させることにより、画像の補正を行う。
以上のように本実施の形態によれば、ステップS306で複数の近い角度、例えば23°と28°とでヒストグラムの値が大きくなった場合でも、(数9)の尤度関数からセンサの誤差分布を反映して画像の傾斜角を推定することができ、より高精度で傾斜角の推定及び補正を行うことができる。
(実施の形態3)
実施の形態2では、角度尤度y(θ)を算出するために誤差確率分布を取得した。ところが、センシング部12に加速度センサを用いた場合、重力により発生する加速度を基準として回転角を計測するので、動作状態では動作に起因する動加速度と重力加速度とが混合して測定されてしまい、測定誤差が静止状態に比べて大きくなってしまう。
そこで、本実施の形態では、静止時と動作時との誤差確率分布をそれぞれ記憶しておき、ウェアラブルカメラの動作状態を判定し、動作状態に応じた誤差確率分布を取得することにより、正確に画像の傾斜角を推定する。
<構成>
本実施の形態におけるウェアラブルカメラ100bは、実施の形態1のウェアラブルカメラ100の構成に加え、静止状態と動作状態の誤差確率分布をそれぞれ個別に記憶している記憶部80bを備え、また、補正処理部30の代わりに補正処理部30bを備える。その他の構成部の機能は実施の形態1のウェアラブルカメラ100と同様である。以下、ウェアラブルカメラ100と相違のある部分のみ説明する。
記憶部80bは、静止状態と動作状態の誤差確率分布をそれぞれ記憶している。図20(a)に静止状態における誤差確率分布テーブルを示す。図20(b)に動作状態における誤差確率分布テーブルを示す。動作状態では、静止状態より誤差が大きくなり、差分が0でない確率が高くなっているのがわかる。
図21は、補正処理部30bの詳細な機能を示す図である。補正処理部30bは、補正処理部30aの構成に加え、センサの出力値からウェアラブルカメラ100bの動作状態を判定する動作状態判定部37を含んで構成される。
本実施の形態における誤差確率分布取得部35bは、検出された角度及び判定された動作状態に基づいて、対応する誤差確率分布を記憶部80bから取得する。
<動作>
続いて、図22は、ウェアラブルカメラ100bの動作の流れを表すフローチャートである。
ウェアラブルカメラ100aとの相違点は、ステップS403、404であり、他のステップはウェアラブルカメラ100aと同様の処理である。
ステップS403では、ステップS402で取得されたセンサの出力値からウェアラブルカメラ100bの動作状態を推定する。動作状態とは、静止中、動作中など、ウェアラブルカメラ100bの運動状態を表す。動作状態判定部37は例えば、ステップS402の出力値の時系列変化を算出し、その変化が予め定められた閾値以下の場合は静止中、閾値より大きい場合は動作中と判定する。
また、ステップS404では、ステップS403で判定された状態及びステップS402で取得されたセンサの出力値に基づいて、対応する誤差確率分布を取得する。
以上のように本実施の形態によれば、ウェアラブルカメラ100bの動作状態を判定し、動作状態に応じた誤差確率分布を取得することにより、より正確に画像を補正することができる。
(実施の形態4)
上記実施の形態では、角度ヒストグラムを算出するにあたり、撮像画像中の線分を検出したが、撮像画像中の線分を検出するのではなく、画像中の各画素が持つ輝度勾配、すなわちコントラストの変化の方向を算出して、その度数を角度ヒストグラムとして扱ってもよい。なぜならば、線分の存在は他の領域とのコントラストの差が大きく、他の領域とは異なることによって知覚されるので、線分の検出を局所的なコントラストの変化の検出とすることでも同様の効果が得られるためである。
図23に本実施の形態におけるウェアラブルカメラ100cの機能ブロック図を示す。ウェアラブルカメラ100cは、実施の形態1のウェアラブルカメラ100の補正処理部30の代わりに補正処理部30cを備える。その他の構成部の機能は実施の形態1のウェアラブルカメラ100と同様である。以下、ウェアラブルカメラ100と相違のある部分のみ説明する。
角度範囲決定部31cはセンシング部20から入力される回転角に基づいて角度ヒストグラムを作成する際の角度範囲θ±φを決定し、ヒストグラム作成部33cに送信する。
輝度勾配算出部32cはフレームメモリ70aから撮像部10により撮像された画像を取得し、取得された画像中の各画素が持つ輝度勾配を算出し、ヒストグラム作成部33cに出力する。輝度勾配の算出についての詳細は<輝度勾配の算出>で説明する。
ヒストグラム作成部33cは角度範囲決定部31cから入力される角度範囲θ±φで、輝度勾配算出部32cから入力された各画素が持つ輝度勾配の度数をカウントし、輝度勾配毎の度数を表す角度ヒストグラムを作成する。そして、最も高い度数の輝度勾配を選択し、画像処理部34cに送信する。
画像処理部34cはフレームメモリ70aから補正対象となる画像を取得し、ヒストグラム作成部33cから入力される輝度勾配に基づいて画像処理を行い、処理後の画像をフレームメモリ70bに記憶する。
<輝度勾配の算出>
以下、画素のコントラストの変化の方向を求める方法について、図24、25を用いて説明する。図24において、位置Pにおける画像Iの画素値をI(P)とする。位置Pにおけるx方向、y方向のコントラスト変化dx、dyはそれぞれdx=∂I(P)/∂x、dy=∂I(P)/∂yで表される。このとき、コントラストの変化の方向をθとすると、θは(数10)によって求めることができる。

θ=tan-1(dy/dx)・・・(数10)

また、図24に示されるように、位置Pを通る線分がある場合、この線分の向きはθに直交する向きである。
dx、dyを求める方法として、例えばSobelフィルタなどのフィルタを利用する。Sobelフィルタは図25のような係数を持つフィルタであり、それぞれ画像の横方向、縦方向のコントラストの変化を測定するために用いられる。
以上のように本実施の形態によれば、角度範囲決定部31cで決定された角度範囲θ±φで、輝度勾配毎の度数を表す角度ヒストグラムを作成し、この中で最も高い度数の輝度勾配に基づいて補正するので、補正の精度を向上させることができる。
(変形例)
以上、本発明に係る撮像装置について、実施の形態に基づいて説明したが、本発明は上記の実施の形態に限られないことは勿論である。
(1)上記実施の形態において、例えば、撮像部10で撮影された画像の歪みを補正する歪み補正部を備え、補正処理部30は補正後の画像に基づいて補正するとしてもよい。
ここでいう画像の歪みとは、特に撮像部10の光学系に起因する歪曲収差を指す。歪曲収差の影響が残っている場合、本来実世界上では直線状のものが撮影された画像上では曲がって写る。このような画像から傾斜角に関する情報を取得しても実世界の情報を正しく反映していない可能性がある。これを補正することによって実世界上で直線状のものが画像上でも正しく直線として写り、補正の精度を向上することができる。なお、歪曲収差の補正方法については例えば以下の非特許文献1に記載の手法などを用いることができる。
Roger Y. Tsai:"An Efficient and Accurate Camera Calibration Technique for 3D Machine Vision",IEEE Conference on Computer Vision and Pattern Recognition,pp.364−374,1986(2)上記実施の形態において、角度ヒストグラムを作成する際、例えば、各線分の長さに応じた重み付けを行ってもよい。これによって、例えば画像の端から端にわたるような目立つ線分があった場合に、その重要度を高くすることで、短い線分が多数あるような環境でも安定して大局的な傾斜角を推定することができる。
また、各線分の角度に応じた重み付けを行ってもよい。例えば、実世界中で垂直なものは撮影時にピッチ方向、ヨー方向の向きが変わっても、画像中ではやはり垂直に写る。しかし、実世界中で水平のものは、それに正対しない場合には画像中では斜めに写ることがあり、実際の角度と画像中での角度との対応が取りづらいことがある。したがって、画像中に存在する線分のうち、実世界中で垂直に近い角度の線分の方が角度に対する信頼性が高いと考えられる。このときの重みの与え方は、例えば所定の角度の範囲に対して一律に重みをかけてもよいし、垂直に近いほど重みを高くしてもよい。また、センシング部20が有するセンサの誤差分布に基づいて決定してもよく、例えばセンサの誤差が平均μ、標準偏差σの正規分布にしたがう場合、この正規分布の確率密度関数の値そのものを重みとして利用することができる。さらに、センサにより検出された回転角と画像を構成する線分の傾斜角との差分が小さいほど重みが大きくなるよう重み付けを行ってもよい。
(3)上記実施の形態では、ピエゾ抵抗型加速度センサを用いたが、これに限らない。例えば、静電容量型や熱検知型の加速度センサ、あるいはジャイロでもよい。
(4)上記実施の形態では、出力部40は補正処理部30により補正処理された画像を記録媒体に記録するとしたが、撮像部10で撮影された画像に回転角をメタデータとして付加して記録してもよい。メタデータの形式としてEXIF(Exchangeable Image File Format)やMPEG(Moving Picture Expert Group)7、MPEG21といった標準規格が存在しており、これらの規格にしたがう形でメタデータを付与することができる。また、メタデータの形式はここに挙げた例に制限されることはなく、それ以外の標準規格や独自規格であってもよい。また、メタデータを画像データ内に透かしとして埋め込んでもよい。
また、通信部50は撮像部10により撮影された画像に、センシング部20により検出された受光面の傾斜角を示す情報をメタデータとして付加した後、メタデータを付加した画像を外部のサーバに送信し、該サーバ内で画像の補正を行うとしてもよい。
(5)上記の実施の形態では、φ=aσとしたが、φの値は予め設定されている値としてもよい。
(6)また、上記の実施の形態において、角度ヒストグラム中の最大頻度に相当する角度が複数存在する場合、センサの誤差分布に基づいて補正に最適な傾斜角を選択してもよい。具体的な方法として、誤差が小さい方、すなわちセンサの出力角度に近い方の角度を補正に最適な角度として選択することが考えられる。
(7)上記実施の形態1では、ステップS106で最も高い頻度の値が閾値を超えていない場合(ステップS106でNo)、画像処理部34は画像補正を行わずに処理を終了していたが、角度ヒストグラムの最大頻度が所定の閾値を下回っている場合に、当該最大頻度に相当する傾斜角による画像補正を抑止し、センシング部20により検出された回転角を用いて撮像された画像を補正する処理を行うとしてもよい。
また、画像から特定の被写体を抽出、認識する処理を行い、その結果、被写体が検出された場合にはステップS107の補正処理を行うようにしてもよい。なお、この際検出するべき被写体としては、垂直に立っていることが一般的な木や電柱やビル等のようにその存在がある方向を指し示し得るものが望ましい。具体的には、例えば、予め電柱やビル等の画像を記憶しておき、画像認識技術を用いて、撮影した画像から抽出される抽出画像が記憶している画像のいずれかであると認識できる場合に、抽出画像の傾斜角に基づき補正を行う。
なお、画像から特定の被写体を検出する代わりに、センシング部20にGPS(Global Positioning System)などの位置検出手段を備え、位置検出手段によって画像が撮影された位置を測定し、例えばビルが多く建っている、すなわち水平ないし垂直の線分が多く存在する可能性が高い都市部など、特定の位置で撮影された画像である場合にはステップS107の補正処理を行うようにしてもよい。具体的には、例えば、緯度、経度情報と都市部等を示す場所情報とを対応付けて保持しておき、GPSにより検出された位置情報に相当する緯度、経度情報に対応付けられた場所情報が予め設定された場所情報である場合に、補正を行う。また、緯度、経度情報と都市部等を示す場所情報とを対応付けた情報をウェアラブルカメラで保持せずに、GPSにより検出された位置情報に対応する場所情報を外部のサーバに問い合わせるとしてもよい。
(8)また、図9のフローチャートでは撮影された画像から直接画像処理によって傾斜角を推定しているが、センシング部20で得られる角度などを利用して画像を補正する処理と、画像から傾斜角を推定する処理の両方を行ってもよい。具体的な形態として、まずセンシング部20で得られる角度を基に画像を補正し、センサの誤差に相当する部分を画像処理で補償することが考えられる。
上記実施の形態1では、図10に示されるように、図9のステップS103で設定された角度範囲は1つの範囲であったが、角度範囲は(θ1≦θ≦θ2、θ3≦θ≦θ4、・・・)などのように複数の範囲として設定されてもよく、その場合は、それぞれの範囲に対して図10のステップS203以降を繰り返せばよい。
(9)上記実施の形態2では、図16に示されるように誤差確率分布は、加速度センサの角度が1度刻みであったが、その間の角度値、例えば1.5度などの値の場合は、前後のセンサ角度に対する誤差確率を線形補間して用いてもよい。同様に、差分角度についても隣接する角度間では線形補間した値を用いてもよい。
(10)上記実施の形態2では、記憶部80に記憶されている加速度センサの誤差確率分布は、図16のように角度毎にテーブルの形式で保存されていたが、加速度センサの出力角度を変数とした数式モデルで表現してもよい。例えば、加速度センサの誤差がガウス分布であると仮定し、ガウス分布を表現するパラメータを記憶部80に保存しておき、ステップS303でそのパラメータから算出してもよい。
同様に、上記実施の形態3においても、記憶部80bに静止状態と動作状態のパラメータをそれぞれ記憶しておき、ステップS404で動作状態に応じたパラメータから誤差分布を算出してもよい。
(11)上記実施の形態では、センシング部20に備えられる加速度センサにより検出された回転角を基準とした範囲を加速度センサの誤差分布に基づいて定め、当該範囲内の線分を撮像された画像から検出したが、線分検出の際には範囲を制限せずに撮像された画像から線分を検出し、検出した線分の傾斜角毎の頻度を表す角度ヒストグラムを作成してもよい。そして、角度ヒストグラムに基づいて補正に最適な傾斜角を選択する際に、センシング部20に備えられる加速度センサにより検出された回転角を基準とした範囲を加速度センサの誤差分布に基づいて定め、作成した角度ヒストグラムの当該範囲に対して重み付けを行い、重み付けした範囲から画像の補正に最適な傾斜角を選択するとしてもよい。
(12)上記実施の形態3において、動作状態として複数の状態を定義し、そのそれぞれにおいて誤差確率分布を定義してもよい。例えばウェアラブルカメラの装着者が歩行している時と走行している時では動きの激しさが異なるため、生じる誤差の分布も異なると考えられる。これらの状態のそれぞれに対して誤差分布を個別に定義しておくことで、動作状態に応じてより正確に傾斜角を推定することができる。
(13)上記実施の形態では、撮像装置として、ウェアラブルカメラを例に挙げ説明したが、ウェアラブルカメラに限らず、例えば、デジタルスチルカメラ、デジタルビデオカメラ、及び携帯電話機等であってもよい。
(14)上記の実施形態では、撮像装置について説明したが、本発明は上記フローチャートで示したステップを含む方法、及び上記フローチャートで示したステップをコンピュータに実行させるプログラムコードを含むプログラムであってもよいし、そのプログラムを記憶している記録媒体であるとしてもよい。
また、上述の各実施の形態の構成は、典型的には集積回路であるLSI(Large Scale Integration)で実現されているものとしてもよい。これらは、個別に1チップ化されていてもよいし、全ての構成又は一部の構成を含むように1チップ化されてもよい。集積回路は、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSI等と呼称されることもある。また、集積回路の手法は、LSIに限定されるものではなく、専用回路又は汎用プロセッサを用いて実現してもよい。さらに、FPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成することができるリコンフィギュアラブル・プロセッサを利用してもよい。
さらに、半導体技術の進歩により、又は派生する別技術により現在の半導体技術に置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。例えば、バイオ技術の適用等が考えられる。
上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
また、本発明に係る撮像装置は、その範囲を逸脱することなく本発明の趣旨に沿って様々な変形又は修正が可能であることは言うまでもない。
本発明の撮像装置は、カメラの動きによる画角の変動を補正するための装置として有用であり、デジタルスチルカメラをはじめとする撮像装置、特に身体に装着可能な撮像装置に適用可能である。
本発明は、撮像装置に関し、特にセンサを用いた画像補正の技術に関する。
近年、利用者が常時身体に装着し、利用者の体験する日常生活をライフログとして記録し続けることができる撮像装置(例えば、ウェアラブルカメラ)が登場しつつある。ウェアラブルカメラとは身体に着用できる小型の端末であり、例えば、紐が付けられたウェアラブルカメラを利用者の首にぶら下げる等、身体の所定部位を基準として支持することにより着用する。ウェアラブルカメラは、手による操作といった明示的な操作をしなくても、撮像や収音ができる特性を有している。
ところで、ウェアラブルカメラにより被写体を撮影する場合、ウェアラブルカメラが傾いた状態で被写体が撮影される場合がある。これは利用者の動作の影響によりウェアラブルカメラの位置がずれることが原因であるが、ウェアラブルカメラの姿勢が適切に保たれていない状態で撮影が行われると、被写体が傾いた状態で撮影されてしまい、利用者にとっては非常に見難い画像となる。
そこで、従来、傾いた状態で撮影された画像を傾いていない画像に補正する方法として、ウェアラブルカメラに加速度センサを設け、加速度センサにより重力加速度を測定することでウェアラブルカメラの地軸に対する回転角を検出し、検出した回転角に基づいて撮影した画像の傾きを補正する方法が知られている(特許文献1参照)。その他の先行技術としては、特許文献2ないし4に記載のものがある。
特開2006−245726号公報 特開2002−207232号公報 特開2003−304486号公報 特開2003−153072号公報
しかしながら、加速度センサには筐体固有の誤差があるので、検出した回転角に基づいて補正をしたとしても、依然として利用者にとって見難い画像となってしまう場合がある。
また、加速度センサではその原理上、重力加速度とカメラの運動によって生じる加速度とが重畳して検出され、それらを区別することができない。すなわち、カメラの運動によって生じる加速度の影響も誤差として現れるものとして考えることができる。このことは身体に装着するという特性上撮影時に筐体が激しい運動にさらされるウェアラブルカメラにおいては、加速度センサによって重力加速度のみを正確に検知することが困難であることを意味する。従来の加速度センサの用いられ方では、画像の見易さを向上させるのは難しいのが現状である。
なお、撮像装置の動きを角速度センサにより検知し、検知した動きに応じてレンズ群を駆動して像のぶれを補正する、いわゆる手ぶれ補正と呼ばれる技術があるが、これはカメラの撮像素子の露光時間内における、カメラの相対的な動きの変化を補正するための技術であり、補正の基準となるのはシャッターが切られる瞬間の姿勢である。
したがって、例えば画像の水平方向に対する傾きを補正したい場合、シャッターが切られる瞬間にカメラが既に水平に対して傾いているのであれば、いくら手ぶれ補正を適用しても撮影される画像が水平になることはない。
つまり、手ぶれ補正技術はカメラの運動による相対的な角度を補償することはできるが、水平などを基準とする絶対的な角度を補償することはできない。
本発明は、高精度で画像の傾きを補正する撮像装置を提供することを目的とする。
上記課題を解決するために、本発明は、撮像画像に回転変換を施すことにより、撮像画像中の被写体の傾きを補正する撮像装置であって、撮像部と、撮像部の物理的な傾きを検知するセンサと、センサによって検知された物理的な傾きに基づいて、撮像画像の被写体に現れる複数の角度成分のうちある一定の基準を満たす角度成分を、回転変換のための回転角として選択する処理部と、を備える。
本発明は上記の構成を備えることにより、センサにより検出された物理的な傾きを撮像画像の補正に直接利用するのではなく、撮像画像の被写体に現れる複数の角度成分から回転角を選択する際に利用する。センサにより検出された物理的な傾きと撮像画像の被写体に現れる角度成分とに基づいて、回転変換のための回転角を選択するので、筐体固有の誤差により補正後の画像の見易さが左右されることはなくなる。
また、回転角を選択する際に、撮像画像の被写体に現れる複数の角度成分のうちある一定の基準を満たす角度成分を回転角として選択するので、補正の精度を向上させることができる。
なお、撮像画像の被写体に現れる角度成分としては、撮像画像中の線分の傾斜角や撮像画像の被写体に現れる輝度勾配がなす角度等が該当する。
ここで、前記処理部は、センサによって検知された物理的な傾きに基づいて、撮像画像に対して画像処理を行って、撮像画像の被写体に現れる複数の角度成分を検出し、検出した複数の角度成分に対する統計処理を実行し、複数の角度成分のうちある一定の基準を満たす角度成分を、回転変換のための回転角として選択するとしてもよい。
センサによって検知された物理的な傾きに基づいて、撮像画像に対して画像処理を行うことにより、撮像画像の被写体に現れる複数の角度成分を検出することができる。複数の角度成分に対する統計処理を実行し、ある一定の基準を満たす角度成分を回転角として選択するので、補正の精度を向上させることができる。
ところで、一般的に画像処理にはHough変換が用いられるが、画像処理の対象となるべき画像によっては特徴点の数が膨大になり、その結果、画像処理における処理負荷が重くなったり、たとえ検出した角度成分に基づき補正を行ったとしても、必ずしも正確に補正できなかったりし、処理負荷及び精度の両面で問題がある。
そこで、画像を補正する際の処理負荷を低減しつつ補正精度を向上させるために、前記画像処理は、撮像画像中の線分をその傾斜角とともに検出する処理であり、前記物理的な傾きに基づく画像処理は、前記物理的な傾きを基準にして、画像処理の対象となる角度範囲を定めた上で、画像処理を行うことであり、前記統計処理は、複数の角度成分の度数分布を示すヒストグラムを作成することであり、複数の角度成分のうち、ある一定の基準を満たす角度成分は、作成されたヒストグラムにおいて、ある一定の基準を満たす度数を有する角度成分である、とするのが望ましい。
これにより、センサにより検出された物理的な傾きを、線分を検出する際の角度範囲の基準として用いることができる。画像処理部は画像中の全ての線分を検出するのではなく、角度範囲にある線分を検出するので、線分検出における処理負荷を軽減することができるとともに、不必要な線分を検出しないので精度の向上を図れる。
ここで、前記処理部は、撮像部による撮像画像に対して画像処理を行って、撮像画像の被写体に現れる複数の角度成分を検出し、センサによって検知された物理的な傾きに基づいて、検出した複数の角度成分に対する統計処理を実行し、複数の角度成分のうちある一定の基準を満たす角度成分を、回転変換のための回転角として選択するとしてもよい。
撮像画像に対して画像処理を行うことにより、撮像画像の被写体に現れる複数の角度成分を検出することができる。センサによって検知された物理的な傾きに基づいて、複数の角度成分に対する統計処理を実行し、ある一定の基準を満たす角度成分を回転変換のための回転角として選択するので、補正の精度を向上させることができる。
ここで、撮像画像の被写体に現れる複数の角度成分は、撮像画像の被写体に現れる輝度勾配がなす角度であり、前記統計処理は、複数の角度成分の度数分布を示すヒストグラムを作成することであり、前記物理的な傾きに基づく統計処理は、前記物理的な傾きを基準にして、統計処理の対象となる角度範囲を定めた上で、統計処理を実行することである、としてもよい。
これにより、センサにより検出された物理的な傾きを、ヒストグラムを作成する際の角度範囲の基準として用いることができる。撮像画像の被写体に現れる輝度勾配がなす角度の、全てについてのヒストグラムを作成するのではなく、角度範囲におけるヒストグラムを作成するので、不必要な角度成分を除くことができ、補正の精度の向上を図れる。
ここで、前記補正処理部は、前記ある一定の基準を満たす度数を有する角度成分のうち、前記ヒストグラム中の最大の度数を有する角度成分を、回転変換のための回転角として選択するとしてもよい。
これにより、ヒストグラム中の最大の度数を有する角度成分を回転角として選択するので、補正に対する信頼性を高めることができる。
ここで、前記ある一定の基準を満たす角度成分が存在しない場合、前記処理部は前記センサにより検出された傾きを、回転変換のための回転角として選択するとしてもよい。
これにより、ある一定の基準を満たす角度成分が存在しない場合、すなわち、撮像画像の被写体に現れる複数の角度成分に対する信頼性が低い場合には、前記センサにより検出された傾きを、回転変換のための回転角として選択するので、補正に対する信頼性を高めることができる。
ここで、前記処理部は、前記撮像画像から特定の被写体を検出する検出部をさらに備え、前記ある一定の基準を満たす角度成分が存在しない場合、前記処理部は前記特定の被写体の傾きを、回転変換のための回転角として選択するとしてもよい。
これにより、ある一定の基準を満たす角度成分が存在しない場合、すなわち、撮像画像の被写体に現れる複数の角度成分に対する信頼性が低い場合には、特定の被写体の傾きを、回転変換のための回転角として選択するので、補正に対する信頼性を高めることができる。
ここで、前記処理部は、自装置の位置を検出する位置検出部をさらに備え、前記ある一定の基準を満たす角度成分が存在せず、かつ、前記位置検出部により検出された位置が予め設定されている特定の位置である場合、前記補正処理部は、前記ヒストグラム中の最大の度数を有する角度成分を、回転変換のための回転角として選択するとしてもよい。
これにより、ある一定の基準を満たすか否かに加え、さらに前記位置検出部により検出された位置が特定の位置か否かにより回転角を選択するので、補正に対する信頼性を高めることができる。
ここで、前記処理部は、単位角度毎の誤差分布を記憶している記憶部と、前記センサにより検出された物理的な傾きに基づいて、当該傾きに相当する誤差分布を前記記憶部から取得する誤差分布取得部と、をさらに備え、前記補正処理部は、前記ヒストグラムと前記誤差分布取得部により取得された誤差分布とから算出される傾き尤度のうち、最大の傾き尤度に相当する角度成分を、前記回転変換のための回転角として選択するとしてもよい。
また、単位角度毎の誤差分布の関係式を記憶している記憶部と、前記センサにより検出された物理的な傾きに基づいて、前記関係式から誤差分布を算出する誤差分布算出部と、をさらに備え、前記補正処理部は、前記ヒストグラムと前記誤差分布算出部により算出された誤差分布とから算出される傾き尤度のうち、最大の傾き尤度に相当する角度成分を、前記回転変換のための回転角として選択するとしてもよい。
これにより、センサの誤差分布を反映して回転角を選択するので、より高精度で回転角を選択することができ、より高精度で補正を行うことができる。
ところで、上述したように、加速度センサ自体が利用者の動作に起因して加速度を受けた場合には、これを重力加速度と区別して測定することはできず、検出した角度に基づいて補正をしたとしても、依然として利用者にとって見難い画像となってしまう。
そこで、利用者が動作中に撮影した画像であっても、正確に画像を補正するために、前記記憶部は、自装置の静止状態における誤差分布と動作状態における誤差分布とをそれぞれ記憶しており、前記誤差分布取得部は、前記センサにより検出された物理的な傾きに基づいて自装置の動作状態を判定し、判定した結果、静止状態であれば前記静止状態における誤差分布を取得し、動作状態であれば前記動作状態における誤差分布を取得するとするのが望ましい。
また、前記記憶部は、自装置の静止状態における誤差分布の関係式と動作状態における誤差分布の関係式とをそれぞれ記憶しており、前記誤差分布算出部は、前記センサにより検出された物理的な傾きに基づいて自装置の動作状態を判定し、判定した結果、静止状態であれば前記静止状態における誤差分布の関係式から誤差分布を算出し、動作状態であれば前記動作状態における誤差分布の関係式から誤差分布を算出するとしてもよい。
これにより、撮像装置の動作状態に応じた誤差分布を取得するので、利用者が動作中であっても、より高精度で補正を行うことができる。
ここで、前記処理部は、前記撮像画像の歪みを補正する歪み補正部をさらに備え、前記画像処理部は、補正後の撮像画像に対して画像処理を行うとしてもよい。
これにより、撮像装置の光学系に起因する画像の歪みによって線分が歪んで撮像されていても正しい線分が検出でき、より高精度で補正を行うことができる。
ここで、前記補正処理部は、前記ヒストグラムにおいて複数の角度成分の度数分布を示す際に、各角度成分の度数に対する重み付けを行い、前記重みは前記撮像画像から検出された線分の長さが長いほど大きくなるとしてもよい。
これにより、例えば画像の端から端にわたるような目立つ線分があった場合に、その重要度を高くすることで、短い線分が多数あるような環境でも安定して大局的な角度成分を選択することができる。
ここで、前記補正処理部は、前記ヒストグラムにおいて複数の角度成分の度数分布を示す際に、各角度成分の度数に対する重み付けを行い、前記重みは前記撮像画像から検出された線分が垂直に近いほど大きくなるとしてもよい。
画像中に存在する線分のうち、実世界において垂直に近い角度の線分は信頼性が高いので、これに対する重み付けを高くすることにより、より高精度で補正を行うことができる。
ここで、前記補正処理部は、前記ヒストグラムにおいて複数の角度成分の度数分布を示す際に、各角度成分の度数に対する重み付けを行い、前記重みは前記センサにより検出された物理的な傾きと前記撮像画像から検出された線分の傾斜角との差分が小さいほど大きくなるとしてもよい。
これにより、前記センサにより検出された物理的な傾きと、前記撮像画像から検出された線分の傾斜角との差分により重み付けされるので、より高精度で補正を行うことができる。
(a)ウェアラブルカメラを装着した様子を表す模式図である。(b)画像の回転軸を表す模式図である。 受光面の傾きによる画像の変化を示す図である。 ウェアラブルカメラ100の機能ブロック図である。 補正処理部30の機能ブロック図である。 2軸加速度センサによってロール軸周りの回転角を算出する方法を示す模式図である。 センサの出力と線分を検出する角度範囲の関係を示す模式図である。 Hough変換の原理を説明するための図である。 ある画角で撮影された画像を別の画角で撮影された画像に対応付ける際の関係を示す模式図である。 ウェアラブルカメラ100の動作の流れを表すフローチャートである。 Hough変換による線分検出処理の流れを表すフローチャートである。 (a)撮像部10により撮像された画像(補正前の画像)を示す図である。(b)図11(a)に示される画像中の、全ての線分が検出された画像を示す図である。 (a)画像中の全ての線分を検出した場合の最も頻度の高い傾斜角を示す図である。(b)図12(a)に対応する角度ヒストグラムを示す図である。 (a)線分検出範囲を制限した場合の最も頻度の高い傾斜角を示す図である。(b)図13(a)に対応する角度ヒストグラムを示す図である。 補正後の画像を示す図である。 ウェアラブルカメラ100aの機能ブロック図である。 誤差確率分布のテーブルを示す図である。 補正処理部30aの詳細な機能を示す図である。 ウェアラブルカメラ100aの動作の流れを表すフローチャートである。 誤差確率分布の例を示す図である。 (a)静止状態における誤差確率分布テーブルを示す図である。(b)動作状態における誤差確率分布テーブル示す図である。 補正処理部30bの詳細な機能を示す図である。 ウェアラブルカメラ100bの動作の流れを表すフローチャートである。 ウェアラブルカメラ100cの機能ブロック図である。 画素のコントラストの変化の方向をどのように求めるかを説明するための図である。 Sobelフィルタを示す図である。
(実施の形態1)
<概要>
本実施の形態では、撮像装置として、ウェアラブルカメラを例に挙げて説明する。
ウェアラブルカメラはカメラやマイクロホン、加速度センサを含んで構成され、カメラやマイクロホンによって撮影された画像及び音声を記録媒体に記録する。
ウェアラブルカメラで撮影された画像の特徴について説明すると、ウェアラブルカメラで撮影された画像には装着者の動作に伴う体の動きによって回転が生じる。生じる回転の種類について、図1を用いて説明する。図1(a)はウェアラブルカメラを装着した様子を表す模式図である。ウェアラブルカメラは取り付け部を備え、取り付け部にひもをつけ、首にぶら下げるなど身体の所定部位を基準として支持される。図1(a)のように水平方向にx軸、垂直方向にy軸、x軸とy軸とからなる平面に直交する方向、すなわちウェアラブルカメラの光軸方向にz軸を設定した場合、図1(b)に示すようにx軸周りの回転をピッチ(Pitch)、y軸周りの回転をヨー(Yaw)、z軸周りの回転をロール(Roll)と呼ぶ。
ウェアラブルカメラがロール方向に回転した場合、図2(a)、(b)、(c)のように画角が変動し、撮影される画像はそれぞれ図2(d)、(e)、(f)のようになる。なお、図2(a)、(b)、(c)の黒丸は回転中心を表す。
実際にはロール方向の回転に加え、ピッチ方向、ヨー方向の回転も併せて加わるが、本実施の形態では特にロール方向の回転、すなわちx軸とy軸とからなる平面の光軸周りの水平ないし垂直に対する回転を補正する方法に絞ってその構成を述べる。なぜならば、上記3軸の回転のうち、画像を閲覧する上でユーザが最も違和感を覚えるのがロール方向の回転であり、これを補正することが画質に最も影響を与えるからである。
そこで本実施の形態では、ウェアラブルカメラはロール方向の回転角を検出し、検出した回転角を基準とした角度範囲をセンサの誤差分布に基づいて定める。撮像された画像において定めた角度範囲内で線分を検出し、検出した線分の傾斜角に基づいて画像の補正を行う。すなわち、センサにより検出された回転角は、直接補正に用いられるのではなく、回転角はあくまでも画像処理における線分検出の範囲の制限に用いられる。画像補正に用いられるべき線分は誤差分布に基づいた角度範囲から検出され、実際の補正は検出した線分の傾斜角に基づいて行われるので、センサ自体に誤差があろうとも、より高精度で補正を行うことができる。
以下、本実施の形態におけるウェアラブルカメラについて、図面を用いて詳細に説明する。
<ウェアラブルカメラ100の構成>
図3は本実施の形態に係るウェアラブルカメラ100の機能ブロック図である。
ウェアラブルカメラ100は、具体的には、マイクロプロセッサ、ROM(Read Only Memory)、RAM(Random Access Memory)、DSP(Digital Signal Processor)などから構成されるコンピュータシステムである。前記ROMには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、ウェアラブルカメラ100はその機能を達成する。
ウェアラブルカメラ100は、撮像部10、センシング部20、補正処理部30、出力部40、通信部50、表示部60、及びフレームメモリ70を含んで構成される。
撮像部10は具体的にはCCD(Charge Coupled Device)やCMOS(Complementary Metal-Oxide Semiconductor)といった撮像素子やレンズ部を含んで構成され、画像を撮像する機能を有する。
センシング部20は具体的にはピエゾ抵抗型加速度センサ等を含んで構成され、光軸に対し垂直な面である受光面の、水平ないし垂直からの光軸周りの回転角を検出する。詳細は<ピエゾ抵抗型加速度センサ>、<ロール方向の回転角測定方法>で説明する。
補正処理部30はセンシング部20により検出された回転角に基づいて、撮像部10により撮像された画像に対し、当該画像を補正するための画像処理を行う。詳細については<補正処理部30の機能>で説明する。
出力部40は具体的にはSDメモリカード等の記録媒体を含んで構成され、補正処理部30により補正処理された画像等を記録媒体に記録する。
通信部50は具体的には変調回路や復調回路等を含む送受信回路を含んで構成され、アンテナ等を介して、撮像部10により撮影された画像や補正後の画像、センシング部20により検出された回転角等を外部ネットワークに送信する。
表示部60は具体的には液晶ディスプレイ等を含んで構成され、撮像部10により撮影された画像や補正処理部30により補正処理された画像を表示する。
フレームメモリ70(70a、70b、…)は画像(1フレーム)を記憶するための専用メモリである。例えば、フレームメモリ70には、撮像部10から入力される補正前の画像や画像処理部35から入力される補正後の画像が記憶される。
<補正処理部30の機能>
続いて、補正処理部30の詳細な機能について説明する。図4は補正処理部30の機能ブロック図である。補正処理部30は角度範囲決定部31、線分検出部32、ヒストグラム作成部33、及び画像処理部34を含んで構成される。
角度範囲決定部31は、センシング部20から入力される回転角に基づいて線分を検出する際の角度範囲θ±φを決定し、線分検出部32に送信する。具体的には、<角度範囲>で説明する。
線分検出部32は、フレームメモリ70aから撮像部10により撮像された画像を取得し、取得された画像を構成する線分のうち角度範囲決定部31から入力された角度範囲θ±φにおける線分をその傾斜角とともに検出し、検出された傾斜角をヒストグラム作成部33に出力する。線分の検出についての詳細は<Hough変換>、<線分検出処理>で説明する。
ヒストグラム作成部33は、線分検出部32から入力された各線分の傾斜角の度数をカウントし、その傾斜角毎の度数を表す角度ヒストグラムを作成する。そして、最も高い度数の傾斜角を選択し、画像処理部34に送信する。なお、ここでいう角度ヒストグラムとは具体的には1次元配列のことである。
なお、角度ヒストグラムを作成する際、水平及び垂直のどちらを基準としてもよく、このとき、最終的に選択される傾斜角は基準とした水平あるいは垂直のいずれかからの回転角に相当する。
画像処理部34は、フレームメモリ70aから補正対象となる画像を取得し、ヒストグラム作成部33から入力される傾斜角に基づいて画像処理を行い、処理後の画像をフレームメモリ70bに記憶する。画像処理についての詳細は<画像の回転の補正>で説明する。
<ピエゾ抵抗型加速度センサ>
次に、ピエゾ抵抗型加速度センサについて説明する。ピエゾ抵抗効果とは、導体の長さや断面積が変化することで抵抗が変化する現象を指す。具体的には長さL、断面積S、抵抗率ρの導体の抵抗Rは数1で表される。

R = ρL/S・・・(数1)

この導体を長さ方向に引っ張り、長さがL’、断面積がS’になったとすると、このときの抵抗R’は(数2)で表される。

R’=ρL’/S’・・・(数2)

(数1)及び(数2)より、L’>L、S’<SとするとR’>Rが成立する。したがって、導体に機械的な力が加わることで抵抗が変化することがわかる。ピエゾ抵抗型加速度センサは、加速度に伴って発生する力を受けて歪みが発生するピエゾ抵抗素子を備え、加速度に伴う抵抗の変化を電圧や電流の変化量として計測することができる。すなわち、電圧や電流の値からピエゾ抵抗素子に作用している加速度を得ることができる。また、ピエゾ抵抗素子を複数の向きに設置することで、それぞれの向きにかかる加速度を計測することができる。
<ロール方向の回転角測定方法>
実際にピエゾ抵抗型加速度センサを用いてロール方向の回転角を測定する方法について図5を用いて説明する。互いに直交するx軸、y軸の2方向の加速度を加速度センサを用いて測定するものとする。y軸が鉛直方向からθだけ傾いているとすると、静止状態でy軸方向にかかる加速度gyは、gy=gcosθと表すことができる。なお、gは重力加速度を表す。同様に、x軸方向にかかる加速度gxは、gx=gsinθと表すことができるので、傾斜角θはgx、gyを用いて(数3)のように表すことができる。

θ=tan−1(gx/gy)・・・(数3)

(数3)に示されるように、加速度センサの各軸方向の出力の比を求め、その逆正接を求めることによって傾斜角θを検出することができる。
<角度範囲>
次に、角度範囲をどのように決定するかについて説明する。センシング部20により傾斜角θが検出されると、角度範囲決定部31は、図6に示されるようにθから±φの範囲を角度範囲として決定する。なお、水平及び垂直からそれぞれθ±φの範囲を角度範囲として決定するとしてもよい。ここで、φの値は加速度センサの出力値θに対するマージンと考えることができるので、例えば、加速度センサの誤差分布に応じてφの値を決定することができる。加速度センサの誤差が平均μ、標準偏差σの正規分布にしたがうとした場合には、φ=aσとすることが考えられる。こうすることにより、φの値を固定にする場合に発生する以下のようなデメリットを抑制する効果が考えられる。
固定値の角度範囲をφc、加速度センサの誤差分布によって決まる角度範囲をφとする。φc>φの場合、φより大きい範囲の線分は真の水平ないし垂直ではない可能性が高く、このような線分を検出するのは無駄な演算量の増加を招くだけでなく、最終的な補正結果に悪影響を与える可能性がある。逆にφc<φの場合、誤差がφcより大きかった場合に本来水平ないし垂直であったはずの線分を検出することができず、最終的な補正結果に悪影響を与える可能性がある。
なお、一般的な正規分布の性質から、aの値をa=2とすると出力のおよそ95%が、a=3とするとおよそ99%が誤差範囲内に含まれる。したがって、状況に応じて、どの程度の誤差であれば許容でき、どの程度の演算量に抑える必要があるのかを適宜判断し、最適なaの値を決定することができる。
<Hough変換>
続いて、撮像画像から線分を検出する方法について説明する。ここでは線分の検出にHough変換と呼ばれる手法を用いる。以下、図7を用いてHough変換による線分の検出手法について説明する。図7(a)より、画像中の点(xi、yi)を通る直線は、パラメータ(ρ、θ)によって表される(数4)を満たす。

ρ=xicosθ + yisinθ・・・(数4)

これは、点(xi、yi)を通る直線群が図7(b)における1本の曲線に対応付けられることを意味する。一方、同じ直線上にある複数の点について(数4)に基づく対応付けを行うと、得られる複数の曲線はある1点で交わる。この交点に対応するパラメータがこれらの点を通る直線を表している。実際にはパラメータ(ρ、θ)は離散的に扱われる。つまり、(ρ、θ)のパラメータ空間を一定の大きさΔθ毎に区切り、θを順番に変えながらρの値を求めてその頻度をカウントする。頻度の高いパラメータ(ρ、θ)の組に対応する直線が実際に画像中に存在する可能性が高いと考えられる。そして、このときの区切りの間隔Δθが小さいほど、検出される直線の角度分解能が高く、より正確な角度を表すことができる。
しかし、Δθを小さくするとρの値を求める回数が多くなり、その分処理時間が長くなるというデメリットがある。これに対して、角度範囲決定部31により決定された角度範囲内でθを変動させることで、高い分解能を保ちつつ処理の回数を減らすことができる。
また、線分検出の際に必要となるメモリの問題がある。すなわち、検出しようとする線分の傾斜角の精度を高めるにはθを細かく設定し計算する必要があり、それだけパラメータ平面を大きく設定しなければならず、大きな配列用のメモリが必要となる。
本実施の形態では、線分を検出する範囲を検出された傾斜角θから±φの範囲内に絞っているので、必要なメモリの容量を削減することができる。
<画像の回転の補正>
続いて、画像の補正について説明する。画像の回転の補正は以下のようにして行う。一般的に、画像平面上の点P=(x、y)を、カメラを中心とした座標系であるカメラ座標系XYZで表したものをP1=(x1、y1、z1)とすると、以下の(数5)で表す関係が成り立つ。

sP’=KP1’・・・(数5)

ただし、P’、P1’はそれぞれP、P1を同次座標で表したもので、P’=(x、y、1)、P1’=(x1、y1、z1、1)である。また、Kは内部パラメータ行列と呼ばれる3×4の行列で、焦点距離、アスペクト比、画像平面と光軸の交点である画像中心の座標などによって決まる。また、sはスケーリングパラメータである。
また、P1を別のカメラ座標系X’Y’Z’で表したときの座標をP2=(x2、y2、z2)とすると、以下の(数6)で表す関係が成り立つ。

P2’=[R]P1’・・・(数6)

ただし、P2’はP2を同次座標で表したもので、P2’=(x2、y2、z2、1)である。また、[R]はP1からP2への4×4の回転行列である。そして、P2を画像座標系で表した点をQ=(u、v)とすると、(数5)と同様に(数7)で表す関係が成り立つ。

sQ’=KP2’・・・(数7)

ただし、Q’はQを同次座標で表したもので、Q’=(u、v、1)である。また、Kはカメラの内部パラメータが変化しない限り一定である。これらの式をまとめると、PとQとの間には(数8)で表す関係が成り立つ。

Q’=K[R]K−1P’・・・(数8)

ただし、K−1はKの逆行列である。ウェアラブルカメラの装着者の動きによって画角が変化するというのは、上記のカメラ座標系の変換が加わることに相当する。内部パラメータ行列Kは一定と考えると、前に画像を撮影した時から次に画像を撮影するまでの回転を測定することで、撮影した画像間の対応付けを行うことができる。上記の関係をまとめたものが図8である。なお、回転を、前に画像を撮影した時からの変化量として測定する代わりに、任意の位置に定めた原点及び座標軸からの変化量として測定してもよい。
<センサの読み取り周期と画像処理のタイミング>
続いて、センサの読み取り周期と画像処理のタイミングについて説明する。どの時点のセンサ出力を線分検出に用いるかについては、センサ出力は理想としては撮影されたタイミングと同期していることが望ましい。
センサの読み取り周期は、センサの信号をダイレクトに使う場合であれば、33ms毎(各フレーム毎)にセンサの出力を得ることができる。なお、ノイズを低減するために、1フレームあたり例えば5回センサの出力を読み出して、その平均値を当該フレームに対応するセンサ出力値とするとしてもよい。
画像処理のタイミングはDSPなど専用のプロセッサを利用することを前提とし、例えば5フレーム毎に行うとしてよい。この場合、処理結果が出たときにはそれは「200ms前の画像における線分の角度」であって「現在の画像における線分の角度」に対してずれが生じるが、この間の動きが小さいものと仮定すればずれは問題ない。
以上を踏まえて、例えば30フレーム毎秒での撮影を前提とすると、センサ出力はフレーム(33ms)毎に読み出され、画像処理は5フレーム(200ms)毎に行われる。
<撮像装置の動作>
図9は、ウェアラブルカメラ100の動作の流れを表すフローチャートである。まず、撮像部10は画像を撮像する(ステップS101)。
センシング部20は、撮像部10による画像の撮像に同期して、受光面が水平ないし垂直から光軸周りにどのくらい回転しているかを示す回転角を検出する(ステップS102)。具体的には、加速度センサの各軸方向の出力値を用いて、(数3)から回転角を求める。
角度範囲決定部31は、検出された回転角に基づき線分を検出する角度範囲を決定する(ステップS103)。具体的には、センシング部20より得られた回転角をθとした場合にθ±φの範囲を角度範囲として決定する。
続いて、線分検出部32は、決定された角度範囲の線分を撮像画像中から1以上検出する(ステップS104)。具体的な処理内容は<線分検出処理>で説明する。
ヒストグラム作成部33は、検出された各線分の傾斜角をカウントし、その角度毎の度数を表す角度ヒストグラムを作成する(ステップS105)。
画像処理部34は、作成された角度ヒストグラム中で最も高い度数が予め定められている所定の閾値以上か否かを判定する(ステップS106)。所定の閾値以上の場合には(ステップS106でYes)、最も高い度数に対応する傾斜角を実際に回転している角度であると判断し、これを補正するための処理に用いる(ステップS107)。具体的には、実際に回転している角度であると判断された傾斜角を打ち消すような逆方向の回転を撮像された画像に加えることにより補正を行う。所定の閾値未満の場合には(ステップS106でNo)、補正を行わずにステップS108に移行する。
出力部40は画像を記録媒体に記録する(ステップS108)。
以上がウェアラブルカメラ100の動作の流れである。上述のように、センサにより検出された回転角を撮像画像の補正に直接利用するのではなく、センサにより検出された回転角を、線分検出処理を行う際の角度範囲の限定に用いるので、線分検出における処理負荷を軽減することができるとともに、精度の向上を図れる。
<線分検出処理>
次に、Hough変換による線分検出処理の具体的な流れを、図10を用いて説明する。図10はHough変換による線分検出処理の流れを表すフローチャートである。本フローチャートにおいて、θ1、θ2はそれぞれセンシング部20により検出された角度θに基づき角度範囲決定部31により決定された角度範囲の下限値(θ−φ)及び上限値(θ+φ)である。また、変数iは抽出された一の特徴点を示し、Nは特徴点の総数を示す。
まず、線分検出部32は撮像された画像中から線分が存在する可能性が高いと考えられる点である特徴点を抽出する(ステップS201)。特徴点の抽出には、画像のエッジを検出するフィルタを適用する等、既存の方法を用いることができる。
何番目の特徴点かを特定するための変数iの値を1に初期化し(ステップS202)、Hough変換のパラメータθの値をθ1に初期化する(ステップS203)。
続いて、パラメータ空間と関連付けた2次元配列のセルに投票を行う。(ステップS204)。具体的には、抽出されたi番目の特徴点(xi,yi)について、現在の角度θの値を基に(数4)からρの値を算出し、パラメータ空間中の(ρ,θ)と関連付けた2次元配列の対応するアドレスの頻度を1だけ増加させる。このような処理によって、配列の各アドレスには、当該アドレスに対応する(ρ,θ)が得られた度数が格納される。つまり、全ての特徴点について「投票」を実行することにより、1つの2次元配列U(ρ、θ)ができ、その配列を基に後述する判定処理を行い、線分を検出する。
次に、角度θが角度範囲の上限である上限値θ2に達しているか否かを判定し(ステップS205)、上限値θ2に達していない場合には(ステップS205でNo)、角度θにΔθを加算し、新たな角度θとした後(ステップS206)、ステップS204に移行する。
上限値θ2に達している場合には(ステップS205でYes)、iの値がNに達しているか否かを判定する(ステップS207)。達していない場合には(ステップS207でNo)、iを1計数し(ステップS208)、ステップS203に移行する。達している場合には(ステップS207でYes)、判定処理を行う(ステップS209)。具体的には、まず、頻度が所定の閾値より大きいパラメータ(ρ,θ)の組を選び出し、選び出したパラメータ(ρ,θ)に対応する直線上に特徴点が連続して所定の数以上存在するか否かを判定する。所定の数以上存在する場合、実際に線分が存在すると判定する。これは直線上の全ての画素が特徴点になるとは限らず、途切れ途切れに特徴点が存在する場合があるからである。なお、実際に線分が存在すると判定するのと同時に、連続して存在する特徴点の始点と終点の位置とから線分の長さがわかる。この処理を選ばれた全ての(ρ,θ)の組に対して行い、判定処理を終了する。
<具体例>
続いて、具体例(図11から図14)を挙げ、線分を検出する角度範囲を制限することによる効果を説明する。図11(a)は撮像部10により撮像された画像(補正前の画像)を示す図である。撮像された画像は約20°傾いているものとする。
まず、線分を検出する角度範囲を制限しない場合について述べる。この場合には、線分検出処理により図11(b)に示されるように、図11(a)に示される画像中の、全ての線分が検出されることになる。その結果、図12(b)に示されるように、−90°から90°の範囲の線分の傾斜角の頻度が角度ヒストグラムによって表される。図12(b)より、画像補正に用いるべき傾斜角は20°であるが、実際には−90°付近の傾斜角が最も頻度が高くなっていることがわかる。したがって、補正は最も頻度の高い傾斜角である−90°付近の傾斜角に基づいて行われることになる。
ここで、図12(a)の実線で描かれている線分の傾斜角が最も頻度の高い傾斜角(すなわち、−90°付近の傾斜角)に相当するが、これらの線分は元々水平であったはずの建物や道路の境界線を斜めから撮影した結果、画像上で斜めに見えているもので、これらの線分が画像上で真横、すなわち水平になるように画像を回転させると、実際の水平が画像の真横にならず、結局傾いた画像になってしまう。
これに対して、線分を検出する角度範囲を制限する場合では、角度範囲決定部31により決定された範囲内の1以上の線分のみが検出され、図13(b)に示されるように、該範囲内の各線分の傾斜角が角度ヒストグラムとして作成される。線分を検出する範囲を制限したことにより、図13(b)に示されるように、角度ヒストグラムにおいて最も頻度が高くなっているのは、図12(b)で最も頻度の高かった−90°付近の傾斜角ではなく、画像補正に用いるべき傾斜角20°であることがわかる。
ここで、図13(a)は加速度センサによって下向き矢印の方向が鉛直下向きであると判定され、図13(a)の矢印を除いた実線で描かれている線分の傾斜角が、最も度数の高い角度に相当することを示している。これらの線分が画像上で縦、すなわち垂直になるように画像を回転させることで、図14に示されるように、正確に傾斜角を補正することができる。
このように、線分検出処理において、画像中の全ての線分を検出するのではなく、センシング部20により検出された傾斜角θから±φの範囲内の線分のみを検出するので、処理の効率化が図れるとともに、最終的な回転角の推定に対して悪影響を及ぼす可能性のある線分を事前に排除することで、精度の向上を図ることができる。
以上のように本実施の形態によれば、センサの誤差分布に基づき線分を検出する範囲を決定し、その範囲内から線分を検出することにより、処理の効率化を図るとともに、センサに誤差があったとしても、誤差分布に基づく範囲内から線分を検出するので、高精度で画像を補正することができる。
センサ出力の用い方が従来とは大きく異なり、線分検出の際の角度範囲の基準として用いられるだけであり、画像補正はヒストグラムにおいて最も度数の高い角度に応じて行われるため、筐体固有の誤差により補正後の画像の見易さが左右されることはなくなる。
(実施の形態2)
本実施の形態では、尤度関数を用いて傾斜角を推定する。
<構成>
以下に、本実施の形態に係るウェアラブルカメラについて説明する。
図15は、本実施の形態に係るウェアラブルカメラ100aの機能ブロック図である。ウェアラブルカメラ100aは、実施の形態1のウェアラブルカメラ100に記憶部80を追加した構成であり、また、補正処理部30の代わりに補正処理部30aを備える。その他の構成部の機能は実施の形態1のウェアラブルカメラ100と同様である。以下、ウェアラブルカメラ100と相違のある部分のみ説明する。
記憶部80はセンシング部20に備えられる加速度センサの角度毎の誤差確率分布データを記憶しており、補正処理部30aから参照され、誤差確率分布データを補正処理部30aに出力する。角度毎の誤差確率分布は、例えば、ウェアラブルカメラの出荷時に予め測定され、参照可能な形式で記憶しておく。図16は誤差確率分布のテーブルの例であり、センサの出力値に対する誤差の分布確率を示している。例えば、センサの出力角度が2度の場合、真値との誤差が0度の確率が0.3818、誤差が1度の確率が0.2415となる。
図17は補正処理部30aの詳細な機能を示す図である。補正処理部30aは、センシング部20により検出された回転角θに対応する誤差確率分布を記憶部80から取得する誤差確率分布取得部35、及び誤差確率分布と角度ヒストグラムとから角度尤度を算出する尤度算出部36を含んで構成される。
<動作>
続いて、図18はウェアラブルカメラ100aの動作の流れを表すフローチャートである。
ウェアラブルカメラ100との相違点は、ステップS303、307、308であり、他のステップはウェアラブルカメラ100と同様の処理である。
ステップS303では、誤差確率分布取得部35はステップS302で取得されたセンサの出力に対応する誤差確率分布を記憶部80から取得する。図19は誤差確率分布の例を表しており、センサの角度出力が22.0°の場合の確率分布である。
ステップS307では、ステップS303で取得された誤差確率分布とステップS306で作成された角度ヒストグラムとから角度尤度を算出する。角度尤度は正しい角度の尤もらしさを表す度合いであり、角度をθ、角度ヒストグラムをh(θ)、誤差確率分布をp(θ)とすると、角度尤度y(θ)は、
(数9)で定義される。

y(θ)=h(θ)×p(θ)・・・(数9)

ステップS308では、y(θ)の最大値ymaxと予め定められた閾値とを比較し、ymaxが閾値以上の場合は(ステップS308でYes)、ymaxに対応する角度θに基づいて画像の補正を行う。具体的には、角度θと同じ値だけ画像を反対方向に回転させることにより、画像の補正を行う。
以上のように本実施の形態によれば、ステップS306で複数の近い角度、例えば23°と28°とでヒストグラムの値が大きくなった場合でも、(数9)の尤度関数からセンサの誤差分布を反映して画像の傾斜角を推定することができ、より高精度で傾斜角の推定及び補正を行うことができる。
(実施の形態3)
実施の形態2では、角度尤度y(θ)を算出するために誤差確率分布を取得した。ところが、センシング部12に加速度センサを用いた場合、重力により発生する加速度を基準として回転角を計測するので、動作状態では動作に起因する動加速度と重力加速度とが混合して測定されてしまい、測定誤差が静止状態に比べて大きくなってしまう。
そこで、本実施の形態では、静止時と動作時との誤差確率分布をそれぞれ記憶しておき、ウェアラブルカメラの動作状態を判定し、動作状態に応じた誤差確率分布を取得することにより、正確に画像の傾斜角を推定する。
<構成>
本実施の形態におけるウェアラブルカメラ100bは、実施の形態1のウェアラブルカメラ100の構成に加え、静止状態と動作状態の誤差確率分布をそれぞれ個別に記憶している記憶部80bを備え、また、補正処理部30の代わりに補正処理部30bを備える。その他の構成部の機能は実施の形態1のウェアラブルカメラ100と同様である。以下、ウェアラブルカメラ100と相違のある部分のみ説明する。
記憶部80bは、静止状態と動作状態の誤差確率分布をそれぞれ記憶している。図20(a)に静止状態における誤差確率分布テーブルを示す。図20(b)に動作状態における誤差確率分布テーブルを示す。動作状態では、静止状態より誤差が大きくなり、差分が0でない確率が高くなっているのがわかる。
図21は、補正処理部30bの詳細な機能を示す図である。補正処理部30bは、補正処理部30aの構成に加え、センサの出力値からウェアラブルカメラ100bの動作状態を判定する動作状態判定部37を含んで構成される。
本実施の形態における誤差確率分布取得部35bは、検出された角度及び判定された動作状態に基づいて、対応する誤差確率分布を記憶部80bから取得する。
<動作>
続いて、図22は、ウェアラブルカメラ100bの動作の流れを表すフローチャートである。
ウェアラブルカメラ100aとの相違点は、ステップS403、404であり、他のステップはウェアラブルカメラ100aと同様の処理である。
ステップS403では、ステップS402で取得されたセンサの出力値からウェアラブルカメラ100bの動作状態を推定する。動作状態とは、静止中、動作中など、ウェアラブルカメラ100bの運動状態を表す。動作状態判定部37は例えば、ステップS402の出力値の時系列変化を算出し、その変化が予め定められた閾値以下の場合は静止中、閾値より大きい場合は動作中と判定する。
また、ステップS404では、ステップS403で判定された状態及びステップS402で取得されたセンサの出力値に基づいて、対応する誤差確率分布を取得する。
以上のように本実施の形態によれば、ウェアラブルカメラ100bの動作状態を判定し、動作状態に応じた誤差確率分布を取得することにより、より正確に画像を補正することができる。
(実施の形態4)
上記実施の形態では、角度ヒストグラムを算出するにあたり、撮像画像中の線分を検出したが、撮像画像中の線分を検出するのではなく、画像中の各画素が持つ輝度勾配、すなわちコントラストの変化の方向を算出して、その度数を角度ヒストグラムとして扱ってもよい。なぜならば、線分の存在は他の領域とのコントラストの差が大きく、他の領域とは異なることによって知覚されるので、線分の検出を局所的なコントラストの変化の検出とすることでも同様の効果が得られるためである。
図23に本実施の形態におけるウェアラブルカメラ100cの機能ブロック図を示す。ウェアラブルカメラ100cは、実施の形態1のウェアラブルカメラ100の補正処理部30の代わりに補正処理部30cを備える。その他の構成部の機能は実施の形態1のウェアラブルカメラ100と同様である。以下、ウェアラブルカメラ100と相違のある部分のみ説明する。
角度範囲決定部31cはセンシング部20から入力される回転角に基づいて角度ヒストグラムを作成する際の角度範囲θ±φを決定し、ヒストグラム作成部33cに送信する。
輝度勾配算出部32cはフレームメモリ70aから撮像部10により撮像された画像を取得し、取得された画像中の各画素が持つ輝度勾配を算出し、ヒストグラム作成部33cに出力する。輝度勾配の算出についての詳細は<輝度勾配の算出>で説明する。
ヒストグラム作成部33cは角度範囲決定部31cから入力される角度範囲θ±φで、輝度勾配算出部32cから入力された各画素が持つ輝度勾配の度数をカウントし、輝度勾配毎の度数を表す角度ヒストグラムを作成する。そして、最も高い度数の輝度勾配を選択し、画像処理部34cに送信する。
画像処理部34cはフレームメモリ70aから補正対象となる画像を取得し、ヒストグラム作成部33cから入力される輝度勾配に基づいて画像処理を行い、処理後の画像をフレームメモリ70bに記憶する。
<輝度勾配の算出>
以下、画素のコントラストの変化の方向を求める方法について、図24、25を用いて説明する。図24において、位置Pにおける画像Iの画素値をI(P)とする。位置Pにおけるx方向、y方向のコントラスト変化dx、dyはそれぞれdx=∂I(P)/∂x、dy=∂I(P)/∂yで表される。このとき、コントラストの変化の方向をθとすると、θは(数10)によって求めることができる。

θ=tan−1(dy/dx)・・・(数10)

また、図24に示されるように、位置Pを通る線分がある場合、この線分の向きはθに直交する向きである。
dx、dyを求める方法として、例えばSobelフィルタなどのフィルタを利用する。Sobelフィルタは図25のような係数を持つフィルタであり、それぞれ画像の横方向、縦方向のコントラストの変化を測定するために用いられる。
以上のように本実施の形態によれば、角度範囲決定部31cで決定された角度範囲θ±φで、輝度勾配毎の度数を表す角度ヒストグラムを作成し、この中で最も高い度数の輝度勾配に基づいて補正するので、補正の精度を向上させることができる。
(変形例)
以上、本発明に係る撮像装置について、実施の形態に基づいて説明したが、本発明は上記の実施の形態に限られないことは勿論である。
(1)上記実施の形態において、例えば、撮像部10で撮影された画像の歪みを補正する歪み補正部を備え、補正処理部30は補正後の画像に基づいて補正するとしてもよい。
ここでいう画像の歪みとは、特に撮像部10の光学系に起因する歪曲収差を指す。歪曲収差の影響が残っている場合、本来実世界上では直線状のものが撮影された画像上では曲がって写る。このような画像から傾斜角に関する情報を取得しても実世界の情報を正しく反映していない可能性がある。これを補正することによって実世界上で直線状のものが画像上でも正しく直線として写り、補正の精度を向上することができる。なお、歪曲収差の補正方法については例えば以下の文献に記載の手法などを用いることができる。
Roger Y. Tsai:”An Efficient and Accurate Camera Calibration Technique for 3D Machine Vision”,IEEE Conference on Computer Vision and Pattern Recognition,pp.364−374,1986
(2)上記実施の形態において、角度ヒストグラムを作成する際、例えば、各線分の長さに応じた重み付けを行ってもよい。これによって、例えば画像の端から端にわたるような目立つ線分があった場合に、その重要度を高くすることで、短い線分が多数あるような環境でも安定して大局的な傾斜角を推定することができる。
また、各線分の角度に応じた重み付けを行ってもよい。例えば、実世界中で垂直なものは撮影時にピッチ方向、ヨー方向の向きが変わっても、画像中ではやはり垂直に写る。しかし、実世界中で水平のものは、それに正対しない場合には画像中では斜めに写ることがあり、実際の角度と画像中での角度との対応が取りづらいことがある。したがって、画像中に存在する線分のうち、実世界中で垂直に近い角度の線分の方が角度に対する信頼性が高いと考えられる。このときの重みの与え方は、例えば所定の角度の範囲に対して一律に重みをかけてもよいし、垂直に近いほど重みを高くしてもよい。また、センシング部20が有するセンサの誤差分布に基づいて決定してもよく、例えばセンサの誤差が平均μ、標準偏差σの正規分布にしたがう場合、この正規分布の確率密度関数の値そのものを重みとして利用することができる。さらに、センサにより検出された回転角と画像を構成する線分の傾斜角との差分が小さいほど重みが大きくなるよう重み付けを行ってもよい。
(3)上記実施の形態では、ピエゾ抵抗型加速度センサを用いたが、これに限らない。例えば、静電容量型や熱検知型の加速度センサ、あるいはジャイロでもよい。
(4)上記実施の形態では、出力部40は補正処理部30により補正処理された画像を記録媒体に記録するとしたが、撮像部10で撮影された画像に回転角をメタデータとして付加して記録してもよい。メタデータの形式としてEXIF(Exchangeable Image File Format)やMPEG(Moving Picture Expert Group)7、MPEG21といった標準規格が存在しており、これらの規格にしたがう形でメタデータを付与することができる。また、メタデータの形式はここに挙げた例に制限されることはなく、それ以外の標準規格や独自規格であってもよい。また、メタデータを画像データ内に透かしとして埋め込んでもよい。
また、通信部50は撮像部10により撮影された画像に、センシング部20により検出された受光面の傾斜角を示す情報をメタデータとして付加した後、メタデータを付加した画像を外部のサーバに送信し、該サーバ内で画像の補正を行うとしてもよい。
(5)上記の実施の形態では、φ=aσとしたが、φの値は予め設定されている値としてもよい。
(6)また、上記の実施の形態において、角度ヒストグラム中の最大頻度に相当する角度が複数存在する場合、センサの誤差分布に基づいて補正に最適な傾斜角を選択してもよい。具体的な方法として、誤差が小さい方、すなわちセンサの出力角度に近い方の角度を補正に最適な角度として選択することが考えられる。
(7)上記実施の形態1では、ステップS106で最も高い頻度の値が閾値を超えていない場合(ステップS106でNo)、画像処理部34は画像補正を行わずに処理を終了していたが、角度ヒストグラムの最大頻度が所定の閾値を下回っている場合に、当該最大頻度に相当する傾斜角による画像補正を抑止し、センシング部20により検出された回転角を用いて撮像された画像を補正する処理を行うとしてもよい。
また、画像から特定の被写体を抽出、認識する処理を行い、その結果、被写体が検出された場合にはステップS107の補正処理を行うようにしてもよい。なお、この際検出するべき被写体としては、垂直に立っていることが一般的な木や電柱やビル等のようにその存在がある方向を指し示し得るものが望ましい。具体的には、例えば、予め電柱やビル等の画像を記憶しておき、画像認識技術を用いて、撮影した画像から抽出される抽出画像が記憶している画像のいずれかであると認識できる場合に、抽出画像の傾斜角に基づき補正を行う。
なお、画像から特定の被写体を検出する代わりに、センシング部20にGPS(Global Positioning System)などの位置検出手段を備え、位置検出手段によって画像が撮影された位置を測定し、例えばビルが多く建っている、すなわち水平ないし垂直の線分が多く存在する可能性が高い都市部など、特定の位置で撮影された画像である場合にはステップS107の補正処理を行うようにしてもよい。具体的には、例えば、緯度、経度情報と都市部等を示す場所情報とを対応付けて保持しておき、GPSにより検出された位置情報に相当する緯度、経度情報に対応付けられた場所情報が予め設定された場所情報である場合に、補正を行う。また、緯度、経度情報と都市部等を示す場所情報とを対応付けた情報をウェアラブルカメラで保持せずに、GPSにより検出された位置情報に対応する場所情報を外部のサーバに問い合わせるとしてもよい。
(8)また、図9のフローチャートでは撮影された画像から直接画像処理によって傾斜角を推定しているが、センシング部20で得られる角度などを利用して画像を補正する処理と、画像から傾斜角を推定する処理の両方を行ってもよい。具体的な形態として、まずセンシング部20で得られる角度を基に画像を補正し、センサの誤差に相当する部分を画像処理で補償することが考えられる。
上記実施の形態1では、図10に示されるように、図9のステップS103で設定された角度範囲は1つの範囲であったが、角度範囲は(θ1≦θ≦θ2、θ3≦θ≦θ4、・・・)などのように複数の範囲として設定されてもよく、その場合は、それぞれの範囲に対して図10のステップS203以降を繰り返せばよい。
(9)上記実施の形態2では、図16に示されるように誤差確率分布は、加速度センサの角度が1度刻みであったが、その間の角度値、例えば1.5度などの値の場合は、前後のセンサ角度に対する誤差確率を線形補間して用いてもよい。同様に、差分角度についても隣接する角度間では線形補間した値を用いてもよい。
(10)上記実施の形態2では、記憶部80に記憶されている加速度センサの誤差確率分布は、図16のように角度毎にテーブルの形式で保存されていたが、加速度センサの出力角度を変数とした数式モデルで表現してもよい。例えば、加速度センサの誤差がガウス分布であると仮定し、ガウス分布を表現するパラメータを記憶部80に保存しておき、ステップS303でそのパラメータから算出してもよい。
同様に、上記実施の形態3においても、記憶部80bに静止状態と動作状態のパラメータをそれぞれ記憶しておき、ステップS404で動作状態に応じたパラメータから誤差分布を算出してもよい。
(11)上記実施の形態では、センシング部20に備えられる加速度センサにより検出された回転角を基準とした範囲を加速度センサの誤差分布に基づいて定め、当該範囲内の線分を撮像された画像から検出したが、線分検出の際には範囲を制限せずに撮像された画像から線分を検出し、検出した線分の傾斜角毎の頻度を表す角度ヒストグラムを作成してもよい。そして、角度ヒストグラムに基づいて補正に最適な傾斜角を選択する際に、センシング部20に備えられる加速度センサにより検出された回転角を基準とした範囲を加速度センサの誤差分布に基づいて定め、作成した角度ヒストグラムの当該範囲に対して重み付けを行い、重み付けした範囲から画像の補正に最適な傾斜角を選択するとしてもよい。
(12)上記実施の形態3において、動作状態として複数の状態を定義し、そのそれぞれにおいて誤差確率分布を定義してもよい。例えばウェアラブルカメラの装着者が歩行している時と走行している時では動きの激しさが異なるため、生じる誤差の分布も異なると考えられる。これらの状態のそれぞれに対して誤差分布を個別に定義しておくことで、動作状態に応じてより正確に傾斜角を推定することができる。
(13)上記実施の形態では、撮像装置として、ウェアラブルカメラを例に挙げ説明したが、ウェアラブルカメラに限らず、例えば、デジタルスチルカメラ、デジタルビデオカメラ、及び携帯電話機等であってもよい。
(14)上記の実施形態では、撮像装置について説明したが、本発明は上記フローチャートで示したステップを含む方法、及び上記フローチャートで示したステップをコンピュータに実行させるプログラムコードを含むプログラムであってもよいし、そのプログラムを記憶している記録媒体であるとしてもよい。
また、上述の各実施の形態の構成は、典型的には集積回路であるLSI(Large Scale Integration)で実現されているものとしてもよい。これらは、個別に1チップ化されていてもよいし、全ての構成又は一部の構成を含むように1チップ化されてもよい。集積回路は、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSI等と呼称されることもある。また、集積回路の手法は、LSIに限定されるものではなく、専用回路又は汎用プロセッサを用いて実現してもよい。さらに、FPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成することができるリコンフィギュアラブル・プロセッサを利用してもよい。
さらに、半導体技術の進歩により、又は派生する別技術により現在の半導体技術に置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。例えば、バイオ技術の適用等が考えられる。
上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
また、本発明に係る撮像装置は、その範囲を逸脱することなく本発明の趣旨に沿って様々な変形又は修正が可能であることは言うまでもない。
本発明の撮像装置は、カメラの動きによる画角の変動を補正するための装置として有用であり、デジタルスチルカメラをはじめとする撮像装置、特に身体に装着可能な撮像装置に適用可能である。
100、100a、100b ウェアラブルカメラ
10 撮像部
20 センシング部
30、30a、30b 補正処理部
31 角度範囲決定部
32 線分検出部
33 ヒストグラム作成部
34 画像処理部
35 誤差確率分布取得部
36 尤度算出部
37 動作状態判定部
40 出力部
50 通信部
60 表示部
70 フレームメモリ
80、80b 記憶部

Claims (20)

  1. 撮像画像に回転変換を施すことにより、撮像画像中の被写体の傾きを補正する撮像装置であって、
    撮像部と、
    撮像部の物理的な傾きを検知するセンサと、
    センサによって検知された物理的な傾きに基づいて、撮像画像の被写体に現れる複数の角度成分のうちある一定の基準を満たす角度成分を、回転変換のための回転角として選択する処理部と、
    を備える撮像装置。
  2. 前記処理部は、
    センサによって検知された物理的な傾きに基づいて、撮像画像に対して画像処理を行って、撮像画像の被写体に現れる複数の角度成分を検出する画像処理部と、
    撮像画像の被写体に現れる複数の角度成分に対する統計処理を実行し、複数の角度成分のうちある一定の基準を満たす角度成分を、回転変換のための回転角として選択する補正処理部と、
    を備える請求項1記載の撮像装置。
  3. 前記画像処理は、撮像画像中の線分をその傾斜角とともに検出する処理であり、
    前記物理的な傾きに基づく画像処理は、前記物理的な傾きを基準にして、画像処理の対象となる角度範囲を定めた上で、画像処理を行うことであり、
    前記統計処理は、複数の角度成分の度数分布を示すヒストグラムを作成することであり、
    複数の角度成分のうち、ある一定の基準を満たす角度成分は、作成されたヒストグラムにおいて、ある一定の基準を満たす度数を有する角度成分である
    請求項2記載の撮像装置。
  4. 前記処理部は、
    撮像部による撮像画像に対して画像処理を行って、撮像画像の被写体に現れる複数の角度成分を検出する画像処理部と、
    センサによって検知された物理的な傾きに基づいて、撮像画像の被写体に現れる複数の角度成分に対する統計処理を実行し、複数の角度成分のうちある一定の基準を満たす角度成分を、回転変換のための回転角として選択する補正処理部と、
    を備える請求項1記載の撮像装置。
  5. 撮像画像の被写体に現れる複数の角度成分は、撮像画像の被写体に現れる輝度勾配がなす角度であり、
    前記統計処理は、複数の角度成分の度数分布を示すヒストグラムを作成することであり、
    前記物理的な傾きに基づく統計処理は、前記物理的な傾きを基準にして、統計処理の対象となる角度範囲を定めた上で、統計処理を実行することである
    請求項4記載の撮像装置。
  6. 前記補正処理部は、前記ある一定の基準を満たす度数を有する角度成分のうち、前記ヒストグラム中の最大の度数を有する角度成分を、回転変換のための回転角として選択する
    請求項3記載の撮像装置。
  7. 前記ある一定の基準を満たす角度成分が存在しない場合、前記処理部は前記センサにより検出された傾きを、回転変換のための回転角として選択する
    請求項1記載の撮像装置。
  8. 前記処理部は、前記撮像画像から特定の被写体を検出する検出部をさらに備え、
    前記ある一定の基準を満たす角度成分が存在しない場合、前記処理部は前記特定の被写体の傾きを、回転変換のための回転角として選択する
    請求項1記載の撮像装置。
  9. 前記処理部は、自装置の位置を検出する位置検出部をさらに備え、
    前記ある一定の基準を満たす角度成分が存在せず、かつ、前記位置検出部により検出された位置が予め設定されている特定の位置である場合、前記補正処理部は、前記ヒストグラム中の最大の度数を有する角度成分を、回転変換のための回転角として選択する
    請求項3記載の撮像装置。
  10. 前記処理部は、単位角度毎の誤差分布を記憶している記憶部と、
    前記センサにより検出された物理的な傾きに基づいて、当該傾きに相当する誤差分布を前記記憶部から取得する誤差分布取得部と、をさらに備え、
    前記補正処理部は、前記ヒストグラムと前記誤差分布取得部により取得された誤差分布とから算出される傾き尤度のうち、最大の傾き尤度に相当する角度成分を、前記回転変換のための回転角として選択する
    請求項3記載の撮像装置。
  11. 単位角度毎の誤差分布の関係式を記憶している記憶部と、
    前記センサにより検出された物理的な傾きに基づいて、前記関係式から誤差分布を算出する誤差分布算出部と、をさらに備え、
    前記補正処理部は、前記ヒストグラムと前記誤差分布算出部により算出された誤差分布とから算出される傾き尤度のうち、最大の傾き尤度に相当する角度成分を、前記回転変換のための回転角として選択する
    請求項3記載の撮像装置。
  12. 前記記憶部は、自装置の静止状態における誤差分布と動作状態における誤差分布とをそれぞれ記憶しており、
    前記誤差分布取得部は、前記センサにより検出された物理的な傾きに基づいて自装置の動作状態を判定し、判定した結果、静止状態であれば前記静止状態における誤差分布を取得し、動作状態であれば前記動作状態における誤差分布を取得する
    請求項10記載の撮像装置。
  13. 前記記憶部は、自装置の静止状態における誤差分布の関係式と動作状態における誤差分布の関係式とをそれぞれ記憶しており、
    前記誤差分布算出部は、前記センサにより検出された物理的な傾きに基づいて自装置の動作状態を判定し、判定した結果、静止状態であれば前記静止状態における誤差分布の関係式から誤差分布を算出し、動作状態であれば前記動作状態における誤差分布の関係式から誤差分布を算出する
    請求項11記載の撮像装置。
  14. 前記処理部は、前記撮像画像の歪みを補正する歪み補正部をさらに備え、
    前記画像処理部は、補正後の撮像画像に対して画像処理を行う
    請求項2に記載の撮像装置。
  15. 前記補正処理部は、前記ヒストグラムにおいて複数の角度成分の度数分布を示す際に、各角度成分の度数に対する重み付けを行い、前記重みは前記撮像画像から検出された線分の長さが長いほど大きくなる
    請求項3記載の撮像装置。
  16. 前記補正処理部は、前記ヒストグラムにおいて複数の角度成分の度数分布を示す際に、各角度成分の度数に対する重み付けを行い、前記重みは前記撮像画像から検出された線分が垂直に近いほど大きくなる
    請求項3記載の撮像装置。
  17. 前記補正処理部は、前記ヒストグラムにおいて複数の角度成分の度数分布を示す際に、各角度成分の度数に対する重み付けを行い、前記重みは前記センサにより検出された物理的な傾きと前記撮像画像から検出された線分の傾斜角との差分が小さいほど大きくなる
    請求項3記載の撮像装置。
  18. 撮像画像に回転変換を施すことにより、撮像画像中の被写体の傾きを補正する方法であって、
    撮像部の物理的な傾きを検知するステップと、
    検知された物理的な傾きに基づいて、撮像画像の被写体に現れる複数の角度成分のうちある一定の基準を満たす角度成分を、回転変換のための回転角として選択するステップと、
    を備える方法。
  19. 撮像画像に回転変換を施すことにより、撮像画像中の被写体の傾きを補正する撮像装置に設けられるシステム集積回路であって、
    撮像部と、
    撮像部の物理的な傾きを検知するセンサと、
    センサによって検知された物理的な傾きに基づいて、撮像画像の被写体に現れる複数の角度成分のうちある一定の基準を満たす角度成分を、回転変換のための回転角として選択する処理部と、
    を備えるシステム集積回路。
  20. 撮像画像に回転変換を施すことにより、撮像画像中の被写体の傾きを補正する処理をコンピュータに行わせるプログラムであって、
    撮像部の物理的な傾きを検知する手順と、
    検知された物理的な傾きに基づいて、撮像画像の被写体に現れる複数の角度成分のうちある一定の基準を満たす角度成分を、回転変換のための回転角として選択する手順と、
    を備えるプログラム。
JP2009520294A 2007-06-27 2008-06-05 撮像装置、方法、システム集積回路、及びプログラム Active JP4950290B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009520294A JP4950290B2 (ja) 2007-06-27 2008-06-05 撮像装置、方法、システム集積回路、及びプログラム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2007168844 2007-06-27
JP2007168844 2007-06-27
PCT/JP2008/001439 WO2009001512A1 (ja) 2007-06-27 2008-06-05 撮像装置、方法、システム集積回路、及びプログラム
JP2009520294A JP4950290B2 (ja) 2007-06-27 2008-06-05 撮像装置、方法、システム集積回路、及びプログラム

Publications (2)

Publication Number Publication Date
JPWO2009001512A1 true JPWO2009001512A1 (ja) 2010-08-26
JP4950290B2 JP4950290B2 (ja) 2012-06-13

Family

ID=40185339

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009520294A Active JP4950290B2 (ja) 2007-06-27 2008-06-05 撮像装置、方法、システム集積回路、及びプログラム

Country Status (7)

Country Link
US (1) US8466970B2 (ja)
EP (1) EP2160019B1 (ja)
JP (1) JP4950290B2 (ja)
CN (1) CN101690166B (ja)
AT (1) ATE501594T1 (ja)
DE (1) DE602008005448D1 (ja)
WO (1) WO2009001512A1 (ja)

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8405727B2 (en) 2008-05-01 2013-03-26 Apple Inc. Apparatus and method for calibrating image capture devices
US8508671B2 (en) 2008-09-08 2013-08-13 Apple Inc. Projection systems and methods
US8538084B2 (en) 2008-09-08 2013-09-17 Apple Inc. Method and apparatus for depth sensing keystoning
US8527908B2 (en) 2008-09-26 2013-09-03 Apple Inc. Computer user interface system and methods
US8610726B2 (en) 2008-09-26 2013-12-17 Apple Inc. Computer systems and methods with projected display
US7881603B2 (en) 2008-09-26 2011-02-01 Apple Inc. Dichroic aperture for electronic imaging device
FR2945649A1 (fr) * 2009-05-18 2010-11-19 St Ericsson Sa St Ericsson Ltd Procede et dispositif de traitement d'une image numerique.
JP5491101B2 (ja) * 2009-08-26 2014-05-14 キヤノン株式会社 撮像装置
US8619128B2 (en) 2009-09-30 2013-12-31 Apple Inc. Systems and methods for an imaging system using multiple image sensors
US9113064B2 (en) * 2009-11-05 2015-08-18 Olympus Corporation Image pickup apparatus and image acquisition method
US8687070B2 (en) 2009-12-22 2014-04-01 Apple Inc. Image capture device having tilt and/or perspective correction
CN102474573B (zh) * 2010-06-11 2016-03-16 松下电器(美国)知识产权公司 图像处理装置以及图像处理方法
CA2803769A1 (en) * 2010-06-25 2011-12-29 T-Data Systems (S) Pte Ltd Memory card and method for initiation of storage and wireless transceiving of data
US8497897B2 (en) 2010-08-17 2013-07-30 Apple Inc. Image capture using luminance and chrominance sensors
US8538132B2 (en) 2010-09-24 2013-09-17 Apple Inc. Component concentricity
US8537246B2 (en) * 2011-01-31 2013-09-17 Hewlett-Packard Development Company, L.P. View angle feedback device and method
JP5814557B2 (ja) * 2011-02-07 2015-11-17 キヤノン株式会社 画像表示制御装置、撮像装置、表示制御方法、及び制御プログラム
FR2976355B1 (fr) * 2011-06-09 2013-06-21 Jean Luc Desbordes Dispositif de mesure de vitesse et de position d'un vehicule se deplacant le long d'une voie de guidage, procede et produit programme d'ordinateur correspondant.
JP2013017165A (ja) * 2011-06-10 2013-01-24 Panasonic Corp 撮像装置
CN103460249B (zh) * 2011-12-21 2016-08-17 松下知识产权经营株式会社 图像处理装置以及图像处理方法
JP5068883B1 (ja) * 2011-12-28 2012-11-07 パナソニック株式会社 画像処理装置およびこれを備えた原稿読取システム
JP5919485B2 (ja) * 2013-01-24 2016-05-18 パナソニックIpマネジメント株式会社 撮像装置、検出装置
US20140211031A1 (en) * 2013-01-30 2014-07-31 Microsoft Corporation Auto picture alignment correction
US9282244B2 (en) 2013-03-14 2016-03-08 Microsoft Technology Licensing, Llc Camera non-touch switch
US9762848B2 (en) 2013-03-15 2017-09-12 Google Inc. Automatic adjustment of video orientation
US8979398B2 (en) 2013-04-16 2015-03-17 Microsoft Technology Licensing, Llc Wearable camera
US9066007B2 (en) 2013-04-26 2015-06-23 Skype Camera tap switch
US9177362B2 (en) * 2013-08-02 2015-11-03 Facebook, Inc. Systems and methods for transforming an image
US9356061B2 (en) 2013-08-05 2016-05-31 Apple Inc. Image sensor with buried light shield and vertical gate
JP5947268B2 (ja) * 2013-09-20 2016-07-06 本田技研工業株式会社 車両のロール角推定装置
JP2015195439A (ja) * 2014-03-31 2015-11-05 ソニー株式会社 画像処理装置、画像処理方法及びプログラム
US9503644B2 (en) 2014-05-22 2016-11-22 Microsoft Technology Licensing, Llc Using image properties for processing and editing of multiple resolution images
US11184580B2 (en) 2014-05-22 2021-11-23 Microsoft Technology Licensing, Llc Automatically curating video to fit display time
US9451178B2 (en) 2014-05-22 2016-09-20 Microsoft Technology Licensing, Llc Automatic insertion of video into a photo story
CH709927B1 (de) * 2014-07-28 2020-12-30 Dr Med Ralph Sterchi Vorrichtung mit Bildaufnahmeeinheit, zur Befestigung an einem Kleidungsstück.
JP6240050B2 (ja) * 2014-09-17 2017-11-29 株式会社東芝 バイアス推定装置、その方法およびプログラム、並びに故障診断装置、その方法およびプログラム
CN104331876B (zh) * 2014-10-09 2020-12-08 北京配天技术有限公司 直线检测、图像处理的方法及相关装置
US9918008B2 (en) * 2015-02-06 2018-03-13 Wipro Limited Method and device for assisting a user to capture images
US10980957B2 (en) 2015-06-30 2021-04-20 ResMed Pty Ltd Mask sizing tool using a mobile application
EP3376471B1 (en) 2015-12-14 2020-07-15 Yamaha Hatsudoki Kabushiki Kaisha Vehicle roll angle estimation system, vehicle, and vehicle roll angle estimation method
WO2017104712A1 (ja) * 2015-12-14 2017-06-22 ヤマハ発動機株式会社 車両用ロール角推定システム、車両、車両用ロール角推定方法及びプログラム
CN106934788B (zh) * 2015-12-30 2020-11-24 中国科学院沈阳自动化研究所 一种直线倾斜角的快速提取方法
CN105704374B (zh) * 2016-01-29 2019-04-05 努比亚技术有限公司 一种图像转换装置、方法和终端
CN105635588B (zh) * 2016-02-25 2019-03-01 杭州格像科技有限公司 一种稳像方法及装置
GB2553103B (en) * 2016-08-19 2022-04-27 Apical Ltd Method of angle detection
CN107292849B (zh) * 2017-06-30 2020-01-03 维沃移动通信有限公司 一种图像处理方法及移动终端
EP3756340A1 (en) * 2019-05-14 2020-12-30 SZ DJI Technology Co., Ltd. Photographing method and apparatus
CN110460769B (zh) * 2019-07-05 2021-08-17 浙江大华技术股份有限公司 图像矫正方法、装置、计算机设备和存储介质
DE112021003735T5 (de) 2020-09-16 2023-06-01 Hitachi Astemo, Ltd. Fahrzeugorientierungsschätzungssystem und fahrzeugorientierungsschätzungsverfahren
JP2022070745A (ja) * 2020-10-27 2022-05-13 キヤノン株式会社 撮像システム、撮像制御装置、撮像制御方法及びプログラム
CN112837211B (zh) * 2021-01-28 2023-07-18 北京奇艺世纪科技有限公司 一种图片处理方法、装置、电子设备及可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006245726A (ja) * 2005-03-01 2006-09-14 Fuji Photo Film Co Ltd デジタルカメラ
JP2006318151A (ja) * 2005-05-12 2006-11-24 Sanyo Electric Co Ltd デジタル画像表示機器及びデジタル画像表示方法
JP2008061163A (ja) * 2006-09-04 2008-03-13 Samsung Techwin Co Ltd 撮像装置および撮像方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2809762B2 (ja) * 1989-11-14 1998-10-15 株式会社東芝 図形整形装置
US6064749A (en) * 1996-08-02 2000-05-16 Hirota; Gentaro Hybrid tracking for augmented reality using both camera motion detection and landmark tracking
US7893963B2 (en) * 2000-03-27 2011-02-22 Eastman Kodak Company Digital camera which estimates and corrects small camera rotations
JP3853158B2 (ja) 2001-01-10 2006-12-06 松下電器産業株式会社 撮像装置の像ぶれ補正方法および装置
JP2003153072A (ja) 2001-11-16 2003-05-23 Starlabo Corp 移動体搭載用撮影装置
US7215828B2 (en) * 2002-02-13 2007-05-08 Eastman Kodak Company Method and system for determining image orientation
JP2003304486A (ja) 2002-04-09 2003-10-24 Hitachi Ltd 記憶システムとそれを用いたサービスの販売方法
JP2004104463A (ja) * 2002-09-10 2004-04-02 Sony Corp 撮像装置
JP4140519B2 (ja) 2003-12-22 2008-08-27 富士ゼロックス株式会社 画像処理装置、プログラムおよび記録媒体
JP4859205B2 (ja) * 2005-02-04 2012-01-25 キヤノン株式会社 情報処理装置、情報処理方法、及びプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006245726A (ja) * 2005-03-01 2006-09-14 Fuji Photo Film Co Ltd デジタルカメラ
JP2006318151A (ja) * 2005-05-12 2006-11-24 Sanyo Electric Co Ltd デジタル画像表示機器及びデジタル画像表示方法
JP2008061163A (ja) * 2006-09-04 2008-03-13 Samsung Techwin Co Ltd 撮像装置および撮像方法

Also Published As

Publication number Publication date
EP2160019B1 (en) 2011-03-09
US8466970B2 (en) 2013-06-18
JP4950290B2 (ja) 2012-06-13
ATE501594T1 (de) 2011-03-15
EP2160019A1 (en) 2010-03-03
DE602008005448D1 (de) 2011-04-21
CN101690166A (zh) 2010-03-31
EP2160019A4 (en) 2010-07-07
US20100177197A1 (en) 2010-07-15
CN101690166B (zh) 2012-07-11
WO2009001512A1 (ja) 2008-12-31

Similar Documents

Publication Publication Date Title
JP4950290B2 (ja) 撮像装置、方法、システム集積回路、及びプログラム
CN102714696B (zh) 图像处理装置、图像处理方法及摄影装置
JP5756455B2 (ja) 画像処理装置および画像処理方法
JP4772839B2 (ja) 画像識別方法および撮像装置
US7583858B2 (en) Image processing based on direction of gravity
CN101639933B (zh) 图像旋转校正方法及系统、电子设备
CN105407271B (zh) 图像处理设备和方法、摄像设备以及图像生成设备
US20060078215A1 (en) Image processing based on direction of gravity
US20100208944A1 (en) Image processing apparatus, image processing method and storage medium storing image processing program
US11042984B2 (en) Systems and methods for providing image depth information
KR101905580B1 (ko) 촬영 기능을 갖는 모바일 장치를 이용한 상황 재연 방법 및 시스템
TW201118791A (en) System and method for obtaining camera parameters from a plurality of images, and computer program products thereof
JP2007228154A (ja) 画像処理装置および画像処理方法
EP2764325A1 (en) Using videogrammetry to fabricate parts
CN107710728A (zh) 全球面视频成像系统和计算机可读记录介质
CN113029128B (zh) 视觉导航方法及相关装置、移动终端、存储介质
WO2022160857A1 (zh) 图像处理方法及装置、计算机可读存储介质和电子设备
CN113822942A (zh) 一种基于二维码的单目摄像头测量物体尺寸的方法
CN109785439A (zh) 人脸素描图像生成方法及相关产品
CN109816628A (zh) 人脸评价方法及相关产品
CN113610865A (zh) 图像处理方法、装置、电子设备及计算机可读存储介质
US20230290061A1 (en) Efficient texture mapping of a 3-d mesh
US20220174217A1 (en) Image processing method and device, electronic device, and computer-readable storage medium
WO2018061430A1 (ja) 計測装置、計測方法、計測プログラム、及び記録媒体
CN110610171A (zh) 图像处理方法和装置、电子设备、计算机可读存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101110

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111108

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111129

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120214

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120308

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150316

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4950290

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350