JP4955616B2 - 画像処理装置、画像処理方法及び画像処理プログラム - Google Patents

画像処理装置、画像処理方法及び画像処理プログラム Download PDF

Info

Publication number
JP4955616B2
JP4955616B2 JP2008168921A JP2008168921A JP4955616B2 JP 4955616 B2 JP4955616 B2 JP 4955616B2 JP 2008168921 A JP2008168921 A JP 2008168921A JP 2008168921 A JP2008168921 A JP 2008168921A JP 4955616 B2 JP4955616 B2 JP 4955616B2
Authority
JP
Japan
Prior art keywords
image
hierarchical
tracking point
detection
tracking
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.)
Expired - Fee Related
Application number
JP2008168921A
Other languages
English (en)
Other versions
JP2010009375A (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.)
Fujifilm Corp
Original Assignee
Fujifilm Corp
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 Fujifilm Corp filed Critical Fujifilm Corp
Priority to JP2008168921A priority Critical patent/JP4955616B2/ja
Priority to US12/457,963 priority patent/US7912248B2/en
Publication of JP2010009375A publication Critical patent/JP2010009375A/ja
Application granted granted Critical
Publication of JP4955616B2 publication Critical patent/JP4955616B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/207Analysis of motion for motion estimation over a hierarchy of resolutions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20016Hierarchical, coarse-to-fine, multiscale or multiresolution image processing; Pyramid transform

Landscapes

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

Description

本発明は画像処理装置、画像処理方法及び画像処理プログラムに係り、特に複数枚の画像に写っている被写体の動きを検出する画像処理装置、画像処理方法及び画像処理プログラムに関する。
複数枚の画像に写っている被写体の動きを検出する方法として、基準となる画像(以下、基準画像という。)上における特徴点(画素)がもう一方の画像(以下、追跡画像という。)上でどこに移動したかを推定する手法、つまり、特徴点の軌跡(オプティカルフロー)を追跡(推定)する手法が提案されている。
複数枚の画像の間で特徴点を追跡する手法の代表的なものとして、Lucas-Kanade法に代表される勾配法がある。勾配法は、特徴点の変位(動き量)を、時間方向と空間方向の画像信号の勾配(1次微分)から求めるものであり、例えば、特許文献1に記載されているように、オプティカルフローと時空間微分の拘束式を、所定の条件のもとで解くことにより、特徴点の変位を計算するものである。
一般に、勾配法では、被写体の動きが大きい場合に変位の計算の精度が下がるという問題がある。このような問題を解決するための手法として階層型の勾配法が提案されている(特許文献1及び2)。階層型の勾配法は、基準画像及び追跡画像を段階的に縮小してピラミッド階層状にピラミッド階層画像群を生成し、このピラミッド階層画像群のうちの画像サイズ(画素数)が小さい(即ち、移動前後の特徴点間の変位量(画素数)が小さい)階層画像から順に特徴点の座標を検出するとともに、画像サイズがより大きい階層画像において特徴点を検出するときに画像サイズが小さい階層画像における特徴点の検出結果(追跡結果)を反映するようにしたものである。
特許第3435084号公報 特開2007−49545号公報
ところで、勾配法では、基準画像上の所定の特徴点に対応する点を、追跡画像上において繰り返し検出を行うことで、特徴点をより正確に追跡することが可能になる。具体的には、追跡画像上における特徴点(追跡点)の位置を繰り返し求める。そして、最新の追跡点の座標の値と、その前に求めた追跡点の座標の値の差分値(変位量)が所定の値未満になった場合に、変位量が収束したと判定して追跡点の反復検出を終了する。この工程を各階層画像に対して繰り返すことでより正確に特徴点の追跡を行うことが可能になる。
しかしながら、追跡点の変位量の収束の容易さは、特徴点及び追跡点近傍の画像パターン(例えば、画像信号(輝度)の分布)によって変動する。階層型の勾配法では、ピラミッド階層画像群の階層ごとに追跡点の反復検出を行うことになるため、上記の方法によれば、追跡点の検出工程及び変位算出工程を必要以上に繰り返してしまうという無駄が生じ、非効率であった。
本発明はこのような事情に鑑みてなされたもので、階層型の勾配法において、画像パターンに応じた変位量の収束の容易さを考慮することにより、特徴点の追跡を効率的に行うことを可能にした画像処理装置、画像処理方法及び画像処理プログラムを提供することを目的とする。
上記課題を解決するために、本発明の第1の態様に係る画像処理装置は、第1の画像と第2の画像とを取得する画像取得手段と、前記第1の画像に段階的に縮小処理を施して解像度が異なる複数の第1の階層画像を含む第1の階層画像群を作成し、前記第2の画像に段階的に縮小処理を施して解像度が異なる複数の第2の階層画像を含む第2の階層画像群を作成する階層画像作成手段と、所定の解像度の前記第1及び前記第2の階層画像の画像信号の勾配に基づいて、前記第1の階層画像上における所定の特徴点に対応する前記第2の階層画像上の追跡点の位置を検出する追跡点検出手段と、解像度が低い階層画像における追跡点の検出結果を反映しながら、前記第1及び第2の階層画像群に含まれる解像度が低い階層画像から順に前記追跡点検出手段による前記追跡点の検出を実行し、前記第1の画像上の特徴点に対応する前記第2の画像上の追跡点の位置を検出する順次検出手段とを備え、前記追跡点検出手段は、所定の解像度の前記第1及び前記第2の階層画像における画像信号の勾配に基づいて、前記第1の階層画像上における前記特徴点に対応する前記第2の階層画像上の追跡点の位置を反復して検出し、反復して検出した第2の画像上の最新の追跡点とその前の反復検出により求められた追跡点との間の距離を示す変位量を算出する変位算出手段と、前記変位量が第1の閾値未満に収束するか、又は前記追跡点の位置の検出の反復回数が第2の閾値以上になった場合に前記変位算出手段の前記追跡点の反復検出を停止し、前記反復検出を停止した時点における前記変位量及び前記反復回数の値を出力する検出結果出力手段と、前記検出結果出力手段から出力された前記変位量及び前記反復回数の値に応じて、前記第1の解像度よりも高い第2の解像度の前記第1及び前記第2の階層画像に対して前記追跡点検出手段による前記追跡点の検出を実行するときにおける前記第1の閾値を設定する条件設定手段とを備える。
上記第1の態様によれば、所定の階層における追跡点の反復検出の結果得られた追跡点間の変位量及び反復回数の値から、その追跡点の追跡しやすさを判定し、追跡しづらいと判定された場合に(例えば、変位量の値が閾値以上の場合や、変位算出の反復回数が閾値以上の場合)、変位収束判定に用いる第1の閾値の値を適切に設定することにより、次の階層で変位量の収束が容易になるので、反復回数の増大を抑制することができる。これにより、追跡点検出処理の高速化を実現することができる。
本発明の第2の態様に係る画像処理装置は、上記第1の態様において、前記条件設定手段が、前記検出結果出力手段から出力された前記変位量の値が第3の閾値よりも小さい場合に、前記変位量が該第3の閾値以上の場合よりも前記第1の閾値を小さくするように構成したものである。
上記第2の態様によれば、所定の階層における追跡点の反復検出の結果得られた追跡点間の変位量の値に応じて、変位収束判定に用いる第1の閾値の値を適切に設定することにより、次の階層で変位量の収束が容易になるので、反復回数の増大を抑制することができる。これにより、追跡点検出処理の高速化を実現することができる。
本発明の第3の態様に係る画像処理装置は、上記第1又は第2の態様において、前記条件設定手段が、前記検出結果出力手段から出力された前記反復回数の値が第4の閾値よりも小さい場合に、前記反復回数が該第4の閾値以上の場合よりも前記第1の閾値を小さくするように構成したものである。
上記第3の態様によれば、所定の階層における追跡点の反復検出の結果得られた追跡点検出の反復回数の値に応じて、変位収束判定に用いる第1の閾値の値を適切に設定することにより、次の階層で変位量の収束が容易になるので、反復回数の増大を抑制することができる。これにより、追跡点検出処理の高速化を実現することができる。
本発明の第4の態様に係る画像処理装置は、上記第1から第3の態様において、前記検出結果出力手段から出力された前記変位量及び前記反復回数の値に応じて、前記追跡点検出手段による前記追跡点の検出を次に実行する対象の階層を選択する階層選択手段を更に備えるものである。
上記第4の態様によれば、所定の階層における追跡点検出の結果から、その追跡点が追跡しやすいかどうかを判断し、追跡しやすい場合に、次の追跡対象階層を次に上位の階層より高解像度の階層に設定することにより追跡点検出の対象とする階層を減らすことができる。これにより、追跡点検出処理を高速化することができる。
本発明の第5の態様に係る画像処理装置は、第1の画像と第2の画像とを取得する画像取得手段と、前記第1の画像に段階的に縮小処理を施して解像度が異なる複数の第1の階層画像を含む第1の階層画像群を作成し、前記第2の画像に段階的に縮小処理を施して解像度が異なる複数の第2の階層画像を含む第2の階層画像群を作成する階層画像作成手段と、所定の解像度の前記第1及び前記第2の階層画像の画像信号の勾配に基づいて、前記第1の階層画像上における所定の特徴点に対応する前記第2の階層画像上の追跡点の位置を検出する追跡点検出手段と、解像度が低い階層画像における追跡点の検出結果を反映しながら、前記第1及び第2の階層画像群に含まれる解像度が低い階層画像から順に前記追跡点検出手段による前記追跡点の検出を実行し、前記第1の画像上の特徴点に対応する前記第2の画像上の追跡点の位置を検出する順次検出手段とを備え、前記追跡点検出手段は、所定の解像度の前記第1及び前記第2の階層画像における画像信号の勾配に基づいて、前記第1の階層画像上における前記特徴点に対応する前記第2の階層画像上の追跡点の位置を反復して検出し、反復して検出した第2の画像上の最新の追跡点とその前の反復検出により求められた追跡点との間の距離を示す変位量を算出する変位算出手段と、前記変位量が第1の閾値未満に収束するか、又は前記追跡点の位置の検出の反復回数が第2の閾値以上になった場合に前記変位算出手段の前記追跡点の反復検出を停止し、前記反復検出を停止した時点における前記変位量及び前記反復回数の値を出力する検出結果出力手段とを備え、前記検出結果出力手段から出力された前記変位量及び前記反復回数の値に応じて、前記追跡点検出手段による前記追跡点の検出を次に実行する対象の階層を選択する階層選択手段を更に備える。
上記第5の態様によれば、所定の階層における追跡点検出の結果から、その追跡点が追跡しやすいかどうかを判断し、追跡しやすい場合に、次の追跡対象階層を次に上位の階層より高解像度の階層に設定することにより追跡点検出の対象とする階層を減らすことができる。これにより、追跡点検出処理を高速化することができる。
本発明の第6の態様に係る画像処理装置は、上記第5の態様において、前記階層選択手段が、前記検出結果出力手段から出力された前記変位量の値が第5の閾値よりも小さい場合に、前記追跡点検出手段による前記追跡点の検出を次に実行する対象の階層を2段階以上上の階層に設定するように構成したものである。
上記第6の態様によれば、所定の階層における追跡点の反復検出の結果得られた追跡点間の変位量の値が十分小さい場合に、当該追跡点の追跡がしやすいと判断し、次の追跡対象階層を次に上位の階層より高解像度の階層に設定することにより追跡点検出の対象とする階層を減らすことができる。これにより、追跡点検出処理を高速化することができる。
本発明の第7の態様に係る画像処理装置は、上記第5又は第6の態様において、前記階層選択手段が、前記検出結果出力手段から出力された前記反復回数の値が第6の閾値よりも小さい場合に、前記追跡点検出手段による前記追跡点の検出を次に実行する対象の階層を2段階以上上の階層に設定するように構成したものである。
上記第7の態様によれば、所定の階層における追跡点の反復検出の結果得られた追跡点検出の反復回数の値が十分小さい場合に、当該追跡点の追跡がしやすいと判断し、次の追跡対象階層を次に上位の階層より高解像度の階層に設定することにより追跡点検出の対象とする階層を減らすことができる。これにより、追跡点検出処理を高速化することができる。
本発明の第8の態様に係る画像処理装置は、第1の画像と、時間的に前記第1の画像の前後に撮影された第2の画像及び第3の画像を取得する画像取得手段と、前記第1の画像に段階的に縮小処理を施して解像度が異なる複数の第1の階層画像を含む第1の階層画像群を作成し、前記第2の画像に段階的に縮小処理を施して解像度が異なる複数の第2の階層画像を含む第2の階層画像群を作成する第1の階層画像作成手段と、所定の解像度の前記第1及び前記第2の階層画像の画像信号の勾配に基づいて、前記第1の階層画像上における所定の特徴点に対応する前記第2の階層画像上の追跡点の位置を検出する第1の追跡点検出手段と、解像度が低い階層画像における追跡点の検出結果を反映しながら、前記第1及び第2の階層画像群に含まれる解像度が低い階層画像から順に前記第1の追跡点検出手段による前記追跡点の検出を実行し、前記第1の画像上の特徴点の前記第2の画像上の追跡点の位置を検出する第1の順次検出手段と、前記第1及び第2の画像上における特徴点と追跡点の位置に基づいて、前記第1の画像と第2の画像との間のズレ量を算出し、前記第1の画像と前記第3の画像との間のズレ量を推定するズレ量算出手段と、前記第1の画像と前記第3の画像との間のズレ量に基づいて前記第3の画像から作成する階層画像の階層数を設定する階層数設定手段と、前記第3の画像に段階的に縮小処理を施して解像度が異なる第3の階層画像を、前記階層数設定手段により設定された階層数分作成し、第3の階層画像群を作成する第2の階層画像作成手段と、所定の解像度の前記第1及び前記第3の階層画像の画像信号の勾配に基づいて、前記第1の階層画像上における所定の特徴点に対応する前記第3の階層画像上の追跡点の位置を検出する第2の追跡点検出手段と、解像度が低い階層画像における追跡点の検出結果を反映しながら、前記第1及び第3の階層画像群に含まれる解像度が低い階層画像から順に前記第2の追跡点検出手段による前記追跡点の検出を実行し、前記第1の画像上の特徴点に対応する前記第3の画像上の追跡点の位置を検出する第2の順次検出手段とを備える。
上記第8の態様によれば、時間的に連続して撮影された3枚以上の画像に対して追跡点検出を行うときに、過去の追跡点検出の結果から、現在追跡点の検出をしようとしている画像間に生じている位置ズレ量を推定し、そのズレ量に基づいて、第3の画像から作成する階層画像の階層数を決定することにより、余分な階層を生成する必要がなくなる。これにより、画像メモリの容量を節約できると同時に、追跡対象となる階層の数を減らして追跡点検出処理を高速化することができる。
本発明の第9の態様に係る画像処理装置は、上記第8の態様において、前記階層数設定手段が、前記ズレ量が大きいほど前記階層数が多くなるように設定するものである。
本発明の第10の態様に係る画像処理装置は、上記第8又は第9の態様において、前記ズレ量算出手段が、前記第1及び第2の画像上における特徴点と追跡点の位置から特徴点の移動方向及び移動量を示す動きベクトルを作成し、前記動きベクトルの平均値又はメディアン値を前記ズレ量として算出するように構成したものである。
本発明の第11の態様に係る画像処理装置は、上記第8から第10の態様において、前記ズレ量算出手段が、前記第1の画像と第2の画像との間のズレ量と、前記第1の画像と前記第3の画像とを等しいと推定するように構成したものである。
本発明の第12の態様に係る画像処理装置は、第1の画像と、時間的に前記第1の画像の前後に撮影された第2の画像及び第3の画像を取得する画像取得手段と、前記第1の画像に段階的に縮小処理を施して解像度が異なる複数の第1の階層画像を含む第1の階層画像群を作成し、前記第2の画像に段階的に縮小処理を施して解像度が異なる複数の第2の階層画像を含む第2の階層画像群を作成し、前記第3の画像に段階的に縮小処理を施して解像度が異なる複数の第3の階層画像を含む第3の階層画像群を作成する階層画像作成手段と、所定の解像度の前記第1及び前記第2の階層画像の画像信号の勾配に基づいて、前記第1の階層画像上における所定の特徴点に対応する前記第2の階層画像上の追跡点の位置を検出する第1の追跡点検出手段と、解像度が低い階層画像における追跡点の検出結果を反映しながら、前記第1及び第2の階層画像群に含まれる解像度が低い階層画像から順に前記第1の追跡点検出手段による前記追跡点の検出を実行し、前記第1の画像上の特徴点に対応する前記第2の画像上の追跡点の位置を検出する第1の順次検出手段と、前記第1及び第2の画像上における特徴点と追跡点の位置に基づいて、前記第1の画像と第2の画像との間のズレ量を算出し、前記第1の画像と前記第3の画像との間のズレ量を推定するズレ量算出手段と、前記第1の画像と前記第3の画像との間のズレ量に基づいて前記第1の画像と第3の画像との間で、特徴点検出を開始する開始階層を設定する開始階層設定手段と、所定の解像度の前記第1及び前記第3の階層画像の画像信号の勾配に基づいて、前記第1の階層画像上における所定の特徴点に対応する前記第3の階層画像上の追跡点の位置を検出する第2の追跡点検出手段と、解像度が低い階層画像における追跡点の検出結果を反映しながら、前記開始階層の階層画像から階層度が低い順に前記第2の追跡点検出手段による前記追跡点の検出を実行し、前記第1の画像上の特徴点に対応する前記第3の画像上の追跡点の位置を検出する第2の順次検出手段とを備える。
上記第12の態様によれば、時間的に連続して撮影された3枚以上の画像に対して追跡点検出を行うときに、過去の追跡点検出の結果から、次に追跡点を検出しようとしている画像間に生じているであろう特徴点(追跡点)の移動量を推定し、その移動量に基づいて、追跡を開始する階層を設定する。これにより、追跡対象となる階層の数を減らすことができ、追跡点検出処理を高速化することができる。
本発明の第13の態様に係る画像処理装置は、上記第12の態様において、前記開始階層設定手段が、前記ズレ量が大きいほど前記解像度がより低い階層の階層画像を前記開始階層に設定するように構成したものである。
本発明の第14の態様に係る画像処理装置は、上記第12又は第13の態様において、前記ズレ量算出手段が、前記第1の画像と第2の画像との間のズレ量と、前記第1の画像と前記第3の画像とを等しいと推定するように構成したものである。
本発明の第15の態様に係る画像処理方法は、第1の画像と第2の画像とを取得する画像取得工程と、前記第1の画像に段階的に縮小処理を施して解像度が異なる複数の第1の階層画像を含む第1の階層画像群を作成し、前記第2の画像に段階的に縮小処理を施して解像度が異なる複数の第2の階層画像を含む第2の階層画像群を作成する階層画像作成工程と、所定の解像度の前記第1及び前記第2の階層画像の画像信号の勾配に基づいて、前記第1の階層画像上における所定の特徴点に対応する前記第2の階層画像上の追跡点の位置を検出する追跡点検出工程と、解像度が低い階層画像における追跡点の検出結果を反映しながら、前記第1及び第2の階層画像群に含まれる解像度が低い階層画像から順に前記追跡点検出工程による前記追跡点の検出を実行し、前記第1の画像上の特徴点に対応する前記第2の画像上の追跡点の位置を検出する順次検出工程とを含み、前記追跡点検出工程は、所定の解像度の前記第1及び前記第2の階層画像における画像信号の勾配に基づいて、前記第1の階層画像上における前記特徴点に対応する前記第2の階層画像上の追跡点の位置を反復して検出し、反復して検出した第2の画像上の最新の追跡点とその前の反復検出により求められた追跡点との間の距離を示す変位量を算出する変位算出工程と、前記変位量が第1の閾値未満に収束するか、又は前記追跡点の位置の検出の反復回数が第2の閾値以上になった場合に前記変位算出工程の前記追跡点の反復検出を停止し、前記反復検出を停止した時点における前記変位量及び前記反復回数の値を出力する検出結果出力工程と、前記検出結果出力工程で出力された前記変位量及び前記反復回数の値に応じて、前記第1の解像度よりも高い第2の解像度の前記第1及び前記第2の階層画像に対して前記追跡点検出工程による前記追跡点の検出を実行するときにおける前記第1の閾値を設定する条件設定工程とを含むものである。
本発明の第16の態様に係る画像処理方法は、上記第15の態様において、前記条件設定工程では、前記検出結果出力工程で出力された前記変位量の値が第3の閾値よりも小さい場合に、前記変位量が該第3の閾値以上の場合よりも前記第1の閾値を小さくするように構成したものである。
本発明の第17の態様に係る画像処理方法は、上記第15又は第16の態様において、前記条件設定工程では、前記検出結果出力工程で出力された前記反復回数の値が第4の閾値よりも小さい場合に、前記反復回数が該第4の閾値以上の場合よりも前記第1の閾値を小さくするように構成したものである。
本発明の第18の態様に係る画像処理方法は、上記第15から第17の態様において、前記検出結果出力工程で出力された前記変位量及び前記反復回数の値に応じて、前記追跡点検出工程による前記追跡点の検出を次に実行する対象の階層を選択する階層選択工程を更に備えるものである。
本発明の第19の態様に係る画像処理方法は、第1の画像と第2の画像とを取得する画像取得工程と、前記第1の画像に段階的に縮小処理を施して解像度が異なる複数の第1の階層画像を含む第1の階層画像群を作成し、前記第2の画像に段階的に縮小処理を施して解像度が異なる複数の第2の階層画像を含む第2の階層画像群を作成する階層画像作成工程と、所定の解像度の前記第1及び前記第2の階層画像の画像信号の勾配に基づいて、前記第1の階層画像上における所定の特徴点に対応する前記第2の階層画像上の追跡点の位置を検出する追跡点検出工程と、解像度が低い階層画像における追跡点の検出結果を反映しながら、前記第1及び第2の階層画像群に含まれる解像度が低い階層画像から順に前記追跡点検出工程による前記追跡点の検出を実行し、前記第1の画像上の特徴点に対応する前記第2の画像上の追跡点の位置を検出する順次検出工程とを含み、前記追跡点検出工程は、所定の解像度の前記第1及び前記第2の階層画像における画像信号の勾配に基づいて、前記第1の階層画像上における前記特徴点に対応する前記第2の階層画像上の追跡点の位置を反復して検出し、反復して検出した第2の画像上の最新の追跡点とその前の反復検出により求められた追跡点との間の距離を示す変位量を算出する変位算出工程と、前記変位量が第1の閾値未満に収束するか、又は前記追跡点の位置の検出の反復回数が第2の閾値以上になった場合に前記変位算出工程の前記追跡点の反復検出を停止し、前記反復検出を停止した時点における前記変位量及び前記反復回数の値を出力する検出結果出力工程とを含み、前記検出結果出力工程で出力された前記変位量及び前記反復回数の値に応じて、前記追跡点検出工程による前記追跡点の検出を次に実行する対象の階層を選択する階層選択工程を更に含むように構成したものである。
本発明の第20の態様に係る画像処理方法は、上記第19の態様において、前記階層選択工程では、前記検出結果出力工程で出力された前記変位量の値が第5の閾値よりも小さい場合に、前記追跡点検出工程による前記追跡点の検出を次に実行する対象の階層を2段階以上上の階層に設定するように構成したものである。
本発明の第21の態様に係る画像処理方法は、上記第19又は第20の態様において、前記階層選択工程では、前記検出結果出力工程で出力された前記反復回数の値が第6の閾値よりも小さい場合に、前記追跡点検出工程による前記追跡点の検出を次に実行する対象の階層を2段階以上上の階層に設定するように構成したものである。
本発明の第22の態様に係る画像処理方法は、第1の画像と、時間的に前記第1の画像の前後に撮影された第2の画像及び第3の画像を取得する画像取得工程と、前記第1の画像に段階的に縮小処理を施して解像度が異なる複数の第1の階層画像を含む第1の階層画像群を作成し、前記第2の画像に段階的に縮小処理を施して解像度が異なる複数の第2の階層画像を含む第2の階層画像群を作成する第1の階層画像作成工程と、所定の解像度の前記第1及び前記第2の階層画像の画像信号の勾配に基づいて、前記第1の階層画像上における所定の特徴点に対応する前記第2の階層画像上の追跡点の位置を検出する第1の追跡点検出工程と、解像度が低い階層画像における追跡点の検出結果を反映しながら、前記第1及び第2の階層画像群に含まれる解像度が低い階層画像から順に前記第1の追跡点検出工程による前記追跡点の検出を実行し、前記第1の画像上の特徴点の前記第2の画像上の追跡点の位置を検出する第1の順次検出工程と、前記第1及び第2の画像上における特徴点と追跡点の位置に基づいて、前記第1の画像と第2の画像との間のズレ量を算出し、前記第1の画像と前記第3の画像との間のズレ量を推定するズレ量算出工程と、前記第1の画像と前記第3の画像との間のズレ量に基づいて前記第3の画像から作成する階層画像の階層数を設定する階層数設定工程と、前記第3の画像に段階的に縮小処理を施して解像度が異なる第3の階層画像を、前記階層数設定工程で設定された階層数分作成し、第3の階層画像群を作成する第2の階層画像作成工程と、所定の解像度の前記第1及び前記第3の階層画像の画像信号の勾配に基づいて、前記第1の階層画像上における所定の特徴点に対応する前記第3の階層画像上の追跡点の位置を検出する第2の追跡点検出工程と、解像度が低い階層画像における追跡点の検出結果を反映しながら、前記第1及び第3の階層画像群に含まれる解像度が低い階層画像から順に前記第2の追跡点検出工程による前記追跡点の検出を実行し、前記第1の画像上の特徴点に対応する前記第3の画像上の追跡点の位置を検出する第2の順次検出工程とを含む。
本発明の第23の態様に係る画像処理方法は、上記第22の態様において、前記階層数設定工程では、前記ズレ量が大きいほど前記階層数が多くなるように設定するように構成したものである。
本発明の第24の態様に係る画像処理方法は、第1の画像と、時間的に前記第1の画像の前後に撮影された第2の画像及び第3の画像を取得する画像取得工程と、前記第1の画像に段階的に縮小処理を施して解像度が異なる複数の第1の階層画像を含む第1の階層画像群を作成し、前記第2の画像に段階的に縮小処理を施して解像度が異なる複数の第2の階層画像を含む第2の階層画像群を作成し、前記第3の画像に段階的に縮小処理を施して解像度が異なる複数の第3の階層画像を含む第3の階層画像群を作成する階層画像作成工程と、所定の解像度の前記第1及び前記第2の階層画像の画像信号の勾配に基づいて、前記第1の階層画像上における所定の特徴点に対応する前記第2の階層画像上の追跡点の位置を検出する第1の追跡点検出工程と、解像度が低い階層画像における追跡点の検出結果を反映しながら、前記第1及び第2の階層画像群に含まれる解像度が低い階層画像から順に前記第1の追跡点検出工程による前記追跡点の検出を実行し、前記第1の画像上の特徴点に対応する前記第2の画像上の追跡点の位置を検出する第1の順次検出工程と、前記第1及び第2の画像上における特徴点と追跡点の位置に基づいて、前記第1の画像と第2の画像との間のズレ量を算出し、前記第1の画像と前記第3の画像との間のズレ量を推定するズレ量算出工程と、前記第1の画像と前記第3の画像との間のズレ量に基づいて前記第1の画像と第3の画像との間で、特徴点検出を開始する開始階層を設定する開始階層設定工程と、所定の解像度の前記第1及び前記第3の階層画像の画像信号の勾配に基づいて、前記第1の階層画像上における所定の特徴点に対応する前記第3の階層画像上の追跡点の位置を検出する第2の追跡点検出工程と、解像度が低い階層画像における追跡点の検出結果を反映しながら、前記開始階層の階層画像から階層度が低い順に前記第2の追跡点検出工程による前記追跡点の検出を実行し、前記第1の画像上の特徴点に対応する前記第3の画像上の追跡点の位置を検出する第2の順次検出工程とを含む。
本発明の第25の態様に係る画像処理方法は、上記第24の態様において、前記開始階層設定工程では、前記ズレ量が大きいほど前記解像度がより低い階層の階層画像を前記開始階層に設定するように構成したものである。
本発明の第26の態様に係る画像処理プログラムは、第1の画像と第2の画像とを取得する画像取得機能と、前記第1の画像に段階的に縮小処理を施して解像度が異なる複数の第1の階層画像を含む第1の階層画像群を作成し、前記第2の画像に段階的に縮小処理を施して解像度が異なる複数の第2の階層画像を含む第2の階層画像群を作成する階層画像作成機能と、所定の解像度の前記第1及び前記第2の階層画像の画像信号の勾配に基づいて、前記第1の階層画像上における所定の特徴点に対応する前記第2の階層画像上の追跡点の位置を検出する追跡点検出機能と、解像度が低い階層画像における追跡点の検出結果を反映しながら、前記第1及び第2の階層画像群に含まれる解像度が低い階層画像から順に前記追跡点検出機能による前記追跡点の検出を実行し、前記第1の画像上の特徴点に対応する前記第2の画像上の追跡点の位置を検出する順次検出機能とをコンピュータに実現させる画像処理プログラムであって、前記追跡点検出機能は、所定の解像度の前記第1及び前記第2の階層画像における画像信号の勾配に基づいて、前記第1の階層画像上における前記特徴点に対応する前記第2の階層画像上の追跡点の位置を反復して検出し、反復して検出した第2の画像上の最新の追跡点とその前の反復検出により求められた追跡点との間の距離を示す変位量を算出する変位算出機能と、前記変位量が第1の閾値未満に収束するか、又は前記追跡点の位置の検出の反復回数が第2の閾値以上になった場合に前記変位算出機能の前記追跡点の反復検出を停止し、前記反復検出を停止した時点における前記変位量及び前記反復回数の値を出力する検出結果出力機能と、前記検出結果出力機能により出力された前記変位量及び前記反復回数の値に応じて、前記第1の解像度よりも高い第2の解像度の前記第1及び前記第2の階層画像に対して前記追跡点検出機能による前記追跡点の検出を実行するときにおける前記第1の閾値を設定する条件設定機能とを含む。
本発明の第27の態様に係る画像処理プログラムは、上記第26の態様において、前記条件設定機能により、前記検出結果出力機能により出力された前記変位量の値が第3の閾値よりも小さい場合に、前記変位量が該第3の閾値以上の場合よりも前記第1の閾値を小さくするように構成したものである。
本発明の第28の態様に係る画像処理プログラムは、上記第26又は第27の態様において、前記条件設定機能により、前記検出結果出力機能により出力された前記反復回数の値が第4の閾値よりも小さい場合に、前記反復回数が該第4の閾値以上の場合よりも前記第1の閾値を小さくするように構成したものである。
本発明の第29の態様に係る画像処理プログラムは、上記第26から第28の態様において、前記検出結果出力機能により出力された前記変位量及び前記反復回数の値に応じて、前記追跡点検出機能による前記追跡点の検出を次に実行する対象の階層を選択する階層選択機能をコンピュータに実現させるように構成したものである。
本発明の第30の態様に係る画像処理プログラムは、第1の画像と第2の画像とを取得する画像取得機能と、前記第1の画像に段階的に縮小処理を施して解像度が異なる複数の第1の階層画像を含む第1の階層画像群を作成し、前記第2の画像に段階的に縮小処理を施して解像度が異なる複数の第2の階層画像を含む第2の階層画像群を作成する階層画像作成機能と、所定の解像度の前記第1及び前記第2の階層画像の画像信号の勾配に基づいて、前記第1の階層画像上における所定の特徴点に対応する前記第2の階層画像上の追跡点の位置を検出する追跡点検出機能と、解像度が低い階層画像における追跡点の検出結果を反映しながら、前記第1及び第2の階層画像群に含まれる解像度が低い階層画像から順に前記追跡点検出機能による前記追跡点の検出を実行し、前記第1の画像上の特徴点に対応する前記第2の画像上の追跡点の位置を検出する順次検出機能とをコンピュータに実現させる画像処理プログラムであって、前記追跡点検出機能は、所定の解像度の前記第1及び前記第2の階層画像における画像信号の勾配に基づいて、前記第1の階層画像上における前記特徴点に対応する前記第2の階層画像上の追跡点の位置を反復して検出し、反復して検出した第2の画像上の最新の追跡点とその前の反復検出により求められた追跡点との間の距離を示す変位量を算出する変位算出機能と、前記変位量が第1の閾値未満に収束するか、又は前記追跡点の位置の検出の反復回数が第2の閾値以上になった場合に前記変位算出機能の前記追跡点の反復検出を停止し、前記反復検出を停止した時点における前記変位量及び前記反復回数の値を出力する検出結果出力機能とを含んでおり、前記検出結果出力機能により出力された前記変位量及び前記反復回数の値に応じて、前記追跡点検出機能による前記追跡点の検出を次に実行する対象の階層を選択する階層選択機能をコンピュータに実現させる。
本発明の第31の態様に係る画像処理プログラムは、上記第30の態様において、前記階層選択機能により、前記検出結果出力機能により出力された前記変位量の値が第5の閾値よりも小さい場合に、前記追跡点検出機能による前記追跡点の検出を次に実行する対象の階層を2段階以上上の階層に設定するように構成したものである。
本発明の第32の態様に係る画像処理プログラムは、上記第30又は第31の態様において、前記階層選択機能により、前記検出結果出力機能により出力された前記反復回数の値が第6の閾値よりも小さい場合に、前記追跡点検出機能による前記追跡点の検出を次に実行する対象の階層を2段階以上上の階層に設定するように構成したものである。
本発明の第33の態様に係る画像処理プログラムは、第1の画像と、時間的に前記第1の画像の前後に撮影された第2の画像及び第3の画像を取得する画像取得機能と、前記第1の画像に段階的に縮小処理を施して解像度が異なる複数の第1の階層画像を含む第1の階層画像群を作成し、前記第2の画像に段階的に縮小処理を施して解像度が異なる複数の第2の階層画像を含む第2の階層画像群を作成する第1の階層画像作成機能と、所定の解像度の前記第1及び前記第2の階層画像の画像信号の勾配に基づいて、前記第1の階層画像上における所定の特徴点に対応する前記第2の階層画像上の追跡点の位置を検出する第1の特徴点検出機能と、解像度が低い階層画像における追跡点の検出結果を反映しながら、前記第1及び第2の階層画像群に含まれる解像度が低い階層画像から順に前記第1の追跡点検出機能による前記追跡点の検出を実行し、前記第1の画像上の特徴点に対応する前記第2の画像上の追跡点の位置を検出する第1の順次検出機能と、前記第1及び第2の画像上における追跡点の位置に基づいて、前記第1の画像と第2の画像との間のズレ量を算出し、前記第1の画像と前記第3の画像との間のズレ量を推定するズレ量算出機能と、前記第1の画像と前記第3の画像との間のズレ量に基づいて前記第3の画像から作成する階層画像の階層数を設定する階層数設定機能と、前記第3の画像に段階的に縮小処理を施して解像度が異なる第3の階層画像を、前記階層数設定機能により設定された階層数分作成し、第3の階層画像群を作成する第2の階層画像作成機能と、所定の解像度の前記第1及び前記第3の階層画像の画像信号の勾配に基づいて、前記第1の階層画像上における所定の特徴点に対応する前記第3の階層画像上の追跡点の位置を検出する第2の特徴点検出機能と、解像度が低い階層画像における追跡点の検出結果を反映しながら、前記第1及び第3の階層画像群に含まれる解像度が低い階層画像から順に前記第2の追跡点検出機能による前記追跡点の検出を実行し、前記第1の画像上の特徴点に対応する前記第3の画像上の追跡点の位置を検出する第2の順次検出機能とをコンピュータに実現させる。
本発明の第34の態様に係る画像処理プログラムは、上記第33の態様において、前記階層数設定機能により、前記ズレ量が大きいほど前記階層数が多くなるように設定するように構成したものである。
本発明の第35の態様に係る画像処理プログラムは、第1の画像と、時間的に前記第1の画像の前後に撮影された第2の画像及び第3の画像を取得する画像取得機能と、前記第1の画像に段階的に縮小処理を施して解像度が異なる複数の第1の階層画像を含む第1の階層画像群を作成し、前記第2の画像に段階的に縮小処理を施して解像度が異なる複数の第2の階層画像を含む第2の階層画像群を作成し、前記第3の画像に段階的に縮小処理を施して解像度が異なる複数の第3の階層画像を含む第3の階層画像群を作成する階層画像作成機能と、所定の解像度の前記第1及び前記第2の階層画像の画像信号の勾配に基づいて、前記第1の階層画像上における所定の特徴点に対応する前記第2の階層画像上の追跡点の位置を検出する第1の追跡点検出機能と、解像度が低い階層画像における追跡点の検出結果を反映しながら、前記第1及び第2の階層画像群に含まれる解像度が低い階層画像から順に前記第1の追跡点検出機能による前記追跡点の検出を実行し、前記第1の画像上の特徴点に対応する前記第2の画像上の追跡点の位置を検出する第1の順次検出機能と、前記第1及び第2の画像上における追跡点の位置に基づいて、前記第1の画像と第2の画像との間のズレ量を算出し、前記第1の画像と前記第3の画像との間のズレ量を推定するズレ量算出機能と、前記第1の画像と前記第3の画像との間のズレ量に基づいて前記第1の画像と第3の画像との間で、特徴点検出を開始する開始階層を設定する開始階層設定機能と、所定の解像度の前記第1及び前記第3の階層画像の画像信号の勾配に基づいて、前記第1の階層画像上における所定の特徴点に対応する前記第3の階層画像上の追跡点の位置を検出する第2の追跡点検出機能と、解像度が低い階層画像における追跡点の検出結果を反映しながら、前記開始階層の階層画像から階層度が低い順に前記第2の追跡点検出機能による前記追跡点の検出を実行し、前記第1の画像上の特徴点に対応する前記第3の画像上の追跡点の位置を検出する第2の順次検出機能とをコンピュータに実現させる。
本発明の第36の態様に係る画像処理プログラムは、上記第35の態様において、前記開始階層設定機能により、前記ズレ量が大きいほど前記解像度がより低い階層の階層画像を前記開始階層に設定するように構成したものである。
本発明によれば、階層型の勾配法において、画像パターンに応じた変位量の収束の容易さを考慮することにより、特徴点の追跡を効率的に行うことができる。これにより、時間的に連続撮影された動画フレームや連写画像中の動体の解析や、特徴点位置を利用して複数枚の画像を合成してパノラマ画像を作成する処理、フォーカスブラケティングによって取得した画像から全焦点画像や浅被写界深度の画像を作成する処理に要する時間を短縮することが可能になる。
以下、添付図面に従って本発明に係る画像処理装置、画像処理方法及び画像処理プログラムの好ましい実施の形態について説明する。
[第1の実施形態]
本実施形態は、所定階層の階層画像において特徴点に対応する追跡点の反復検出を行ったときの変位量の収束の容易さを判定し、この収束の容易さに応じて、次の階層画像において追跡点の反復検出を行うときの変位量の収束判定条件を変更するようにしたものである。
図1は、本発明の第1の実施形態に係る画像処理装置を示すブロック図である。
メインCPU12は、本実施形態に係る画像処理装置10全体の動作を制御する統括制御部である。メインCPU12は、例えば、画像メモリ14に対する画像データの入出力の制御、ピラミッド階層画像を生成するときの階層数及び間引き率の設定、変位算出工程の制御を含む各種の演算を行う。
画像メモリ14には、特徴点の追跡対象となる基準画像(imgb)及び追跡画像(imgt)が格納される。また、画像メモリ14には、ピラミッド階層生成部20によって生成されたピラミッド階層を構成する画像群(py10, py11, …及びpy20, py21, …)が格納される。
画像入出力制御部22は、画像メモリ14と、ピラミッド階層生成部20及び変位算出部26との間の画像データの入出力を制御する。
特徴点メモリ16には、特徴点データD1及び追跡点データD2が格納される。特徴点データD1は、基準画像(imgb)に写っている被写体の輪郭や重心の位置に対応する1又は複数の特徴点の位置を示す座標のデータを含んでいる。特徴点データD1は、例えば、基準画像(imgb)の画像信号レベル(輝度レベル)を解析して被写体を検出することによりあらかじめ作成される。また、追跡点データD2は、変位算出部26によって算出された追跡画像(imgt)上における特徴点(追跡点)の位置を示す点座標のデータを含んでいる。
ピラミッド階層生成制御部18は、メインCPU12からの指示に従って、ピラミッド階層生成部20に対してピラミッド階層画像群を作成する指示を出力する。
ピラミッド階層生成部20は、ピラミッド階層生成制御部18からの指示に従って、画像メモリ14から基準画像(imgb)及び追跡画像(imgt)を読み込んで、所定の間引き率で基準画像(imgb)及び追跡画像(imgt)にローパスフィルタによる平滑化と間引き処理を施す。そして、ピラミッド階層生成部20は、基準画像(imgb)からピラミッド階層画像py10(基準画像(imgb)そのもの), py11(基準画像(imgb)に対して平滑化処理及び所定の間引き率での間引き処理を1回施した画像), py12(基準画像(imgb)に対して平滑化処理及び所定の間引き率での間引き処理を2回施した画像), …, py1py_num-1を作成するとともに、追跡画像(imgt)からピラミッド階層画像py20(追跡画像(imgt)そのもの), py21(追跡画像(imgt)に対して平滑化処理及び所定の間引き率での間引き処理を1回施した画像), py22(追跡画像(imgt)に対して平滑化処理及び所定の間引き率での間引き処理を2回施した画像), …, py2py_num-1を作成し、画像メモリ14に書き込む。以下の説明では、基準画像(imgb)から作成されたピラミッド階層画像群py10(基準画像(imgb)), py11, py12, …, py1py_num-1を基準ピラミッドpy1、追跡画像(imgt)から作成されたピラミッド階層画像群py20(追跡画像(imgt)), py21, py22, …, py2py_num-1を追跡ピラミッドpy2という。なお、ピラミッド階層の階層数及び間引き率はユーザが設定可能となっている。
以下、図2に示すように、下位の階層画像から順に特徴点追跡が実施される。そして、下位の階層画像における特徴点の追跡結果が次に上位の階層における特徴点の追跡に反映される。例えば、下位の階層画像において検出された追跡点の位置が次の階層における追跡点の初期位置として設定される。
変位算出制御部24は、メインCPU12からの指示に従って、変位算出部26に特徴点の追跡の実行指示を出力する。
変位算出部26は、変位算出制御部24からの指示に従って、画像メモリ14中の基準ピラミッドpy1及び追跡ピラミッドpy2から画像サイズが最小の階層画像(以下、最下位の階層画像という。)をそれぞれ読み込んで、勾配法を用いて追跡点の反復検出を実行する。そして、変位算出部26は、特徴点の変位量(dxi, dyi)を繰り返し算出し、変位量(dxi, dyi)が収束するまでの追跡点検出の反復回数inumlast及び収束時における変位量(dxlast, dylast)の値を反復条件設定部28に出力する。
反復条件設定部28は、変位算出部26から入力された反復回数inumlast及び変位量(dxlast, dylast)に基づいて変位量の収束判定の条件を変更する。変位算出部26は、反復条件設定部28によって設定された収束判定条件に従って、上位の階層画像を読み込んで追跡点の検出を行う。そして、上記追跡点の反復検出と収束条件の設定変更が繰り返される。これにより、追跡点の反復検出の反復回数を抑制している。
図3は、各階層における特徴点追跡の手順を模式的に示す図である。なお、以下の説明では、各画像の左上の点を原点(0,0)とし、横方向をx軸、縦方向をy軸とする。
図3に示すように、基準画像(imgb)上における特徴点A1の座標を(x1, y1)とし、追跡画像(imgt)上における特徴点(追跡点)A2の初期位置A2の座標を(x2, y2)=(x1, y1)とする。そして、特徴点A1と追跡点A2,A2,…近傍(図中の矩形枠F,F,…)において画像信号の勾配を用いた勾配法を反復的に行う。そして、i回目の変位算出において検出された追跡点A(x2i, y2i)と、(i−1)回目の変位算出により検出において検出された追跡点Ai−1(x2i-1, y2i-1)との間の変位量(dxi, dyi)の値を監視しておき、これらの値が所定値よりも小さくなった場合に、追跡点の位置が十分収束していると判断し、追跡点の反復検出を終了する。追跡点A2の初期位置A2から最終位置A2Finへの変位量(dxtotal, dytotal)は下記の式(1−1a)及び(1−1b)により求められる。
dxtotal= Σ dxi …(1−1a)
dytotal= Σ dyi …(1−1b)
よって、追跡点の最終位置A2lastの座標(x2, y2)は下記の式(1−2a)及び(1−2b)により求められる。
x2 = x1 + dxtotal …(1−2a)
y2 = y1 + dytotal …(1−2b)
以下、本実施形態に係る画像処理方法について、図4から図6のフローチャートを参照して説明する。図4は、本発明の第1の実施形態に係る画像処理方法を示すフローチャートである。
まず、ピラミッド階層生成部20は、ピラミッド階層生成制御部18からの指示に従って、画像メモリ14から基準画像(imgb)と追跡画像(imgt)とを読み込む(ステップS10)。そして、ピラミッド階層生成部20は、基準画像(imgb)を段階的に縮小して階層画像py11, py12, …, py1n, …, py1py_num-1を作成する。また、ピラミッド階層生成部20は、追跡画像(imgt)を段階的に縮小して階層画像py21, py22, …, py2n, …, py2py_num-1を作成する。これにより、基準ピラミッドpy1及び追跡ピラミッドpy2が生成される(ステップS12)。ここで、nはピラミッドの階層番号であり、各階層画像の画像サイズはそれぞれ階層番号nが大きくなるにつれて小さくなる。各ピラミッドに含まれる階層画像の総数(階層数)をpy_numとする。また、階層番号nが等しい階層画像の画像サイズは同じである。
ステップS12では、ピラミッド階層生成部20は、基準画像1(imgb)及び追跡画像2(imgt)に対してそれぞれ平滑化フィルタを施した後、所定の間引き率で画素間引きを繰り返して段階的に縮小することにより階層画像を作成する。本実施形態では、平滑化フィルタ(ローパスフィルタ)はガウシアンフィルタであり、間引き率は縦横1/2とする。なお、平滑化フィルタの種類及び間引き率はこれに限定されるものではない。
次に、ピラミッド階層生成部20は、ステップS12において生成した基準ピラミッドpy1及び追跡ピラミッドpy2の階層画像を画像メモリ14に書き込む(ステップS14)。
次に、特徴点番号kが初期化(k =0)される(ステップS16)。変位算出部26は、変位算出制御部24からの指示により特徴点メモリ16に格納されている複数の特徴点の座標のうち、第k番目の特徴点の座標(x1, y1)を取り込む(ステップS18)。ここで、特徴点メモリ16に格納されている特徴点の座標値は、ピラミッドの第0階層py10(最も画像サイズが大きい画像(基準画像(imgb)))における座標値である。
次に、変位算出部26は、ステップS18において取り込んだ特徴点の座標(x1, y1)を、下記の式(1−3a)及び(1−3b)によりピラミッド階層の最低解像度階層(第py_num -1階層)における座標値に変換する(ステップS20)。
x1 ← x1 / 2(py_num -1) …(1−3a)
y1 ← y1 / 2(py_num -1) …(1−3b)
なお、上記の式(1−3a)及び(1−3b)では、階層画像を作成するときの間引き率が1/2であるため、“2”のべき乗数で座標(x1, y1)を除算している。間引き率が他の値(例えば、1/a)の場合には、“a”のべき乗数で座標(x1, y1)を除算すればよい。
次に、追跡画像における特徴点の座標(追跡点の初期位置の座標)(x2, y2)が初期化され、(x2, y2) = (x1, y1)に設定される(ステップS22)。また、ピラミッド階層番号が初期化(n ← py_num -1)される(ステップS24)。
次に、変位算出部26は、基準ピラミッドpy1及び追跡ピラミッドpy2の階層画像py1n及びpy2nを画像サイズが最小のもの(n = py_num -1)から順番に画像メモリ14から読み込んで(ステップS26)、特徴点の追跡処理(追跡コア工程:ステップS28)を実行する。
図5は、ステップS28の追跡コア工程を示すフローチャートである。
図5に示すように、追跡コア工程では、まず、反復回数inumが初期化(inum=0)される(ステップS50)。
次に、変位算出部26は、ステップS26において読み込んだ階層画像py1n, py2nにおいて、画像信号の勾配(勾配法)に基づいて追跡ピラミッドの階層画像py2nにおける特徴点(追跡点)の位置検出を行う。そして、変位算出部26は、検出された追跡点の座標(x2inum, y2inum)と、直前のループで求めた追跡点の座標(x2inum-1, y2inum-1)の変位量(dx, dy)を算出する(ステップS52)。ここで、n = py_num -1で、かつ、第1回目のループ(inum=0)の場合には、座標(x2inum-1, y2inum-1)はステップS22の初期位置(x1, y1)とする。また、n <py_num -1で、かつ、第1回目のループ(inum=0)の場合には、座標(x2inum-1, y2inum-1)は直前の(下位の)階層画像を用いて求めた特徴点座標(x2last, y2last)とする。
なお、一般的に勾配法は除算を伴う場合が多く、除算の分母が0に近くなった場合、計算結果が発散してしまうことがある。このため、除算の分母が0に近く、求められた変位量が発散した場合には(ステップS54のNo)、変位算出エラーとなり“追跡失敗フラグ”が立つ(ステップS68)。変位算出制御部24は、“追跡失敗フラグ”を検出すると、当該特徴点の追跡を強制終了する。
一方、変位量が発散することなく算出された場合(ステップS54のYes)、変位算出部26は、下記の式(1−4a)及び(1−4b)により追跡点の座標(x2, y2)を更新する(ステップS56)。
x2 ← x2 + dx …(1−4a)
y2 ← y2 + dy …(1−4b)
また、下記の式(1−5)に示すように反復回数inumが更新(インクリメント)される(ステップS58)。
inum ← inum +1 …(1−5)
次に、変位算出部26は、変位(dx, dy)と第1の閾値th1とを比較し、下記の〈条件1〉に従って変位の収束判定を行う(ステップS60)。
〈条件1〉
IF (dx < th1) AND (dy < th1) THEN 変位算出終了(変位が収束したと判定)
ELSE 変位算出続行(変位が未収束と判定)
変位量dx, dyがともに閾値th1未満の場合、即ち、変位量が収束した場合(ステップS60のYes)、“追跡成功フラグ”が立つ(ステップS66)。変位算出制御部24は、“追跡成功フラグ”を検出すると、第n階層における特徴点追跡を終了する。
一方、変位量dx又はdyが閾値th1以上の場合、即ち、変位が収束しなかった場合(ステップS60のNo)、変位算出部26は、下記の条件〈条件2〉に従って反復回数判定を行う(ステップS62)。ここで、閾値th2は、変位算出の反復回数inumの上限値である。
〈条件2〉
IF (inum < th2) THEN 変位算出続行(反復回数inumが上限値th2未満である)
ELSE 変位算出終了(反復回数inumが上限値th2以上である)
反復回数inumが閾値th2未満の場合、即ち、変位算出続行の場合には(ステップS62のNo)、変位量(dx, dy)が収束するか(ステップS60のYes)、反復回数inumが上限値th2以上になるまで(ステップS62のYes)、ステップS52からS62の処理が繰り返し実行される。
反復回数inumが閾値th2以上の場合、即ち、変位算出終了の場合には(ステップS62のYes)、追跡点の検出対象が第0階層の階層画像(画像サイズが最大(最大解像度の)階層画像)であれば(ステップS64のYes)、“追跡失敗フラグ”が立つ(ステップS68)。一方、追跡点の検出対象が第0階層の階層画像以外の場合には(ステップS64のNo)、“追跡成功フラグ”が立つ(ステップS66)。本来、変位量が収束していないにも関わらず(ステップS60のNo)、反復回数inumが閾値th2以上となって(ステップS62のYes)、変位量の反復算出が終了となるということは、変位量が十分収束していないことを意味しており、追跡が失敗したと判断すべきである。しかしながら、本実施形態では、次の階層が残されている場合には(ステップS64のNo)、次の階層では変位量が収束する可能性が残されているため、強制的に追跡失敗とはしないようにしている。
図5の追跡コアの処理により、追跡が成功したか否かを示すフラグ(追跡成功フラグ/追跡失敗フラグ)と、追跡が成功していた場合には第n階層における最終的な追跡点(x2last, y2last)が得られる。
追跡コア処理の結果、“追跡失敗フラグ”が立っていた場合、即ち、第k番目の特徴点に対する追跡が失敗した場合には(ステップS30のNo)、変位算出部26は、追跡エラー値を出力して特徴点メモリ16に書き込む(ステップS42)。
一方、“追跡成功フラグ”が立っていた場合(ステップS30のYes)、即ち、変位量が収束したか、又は反復回数inumが上限値th2以上になったことにより反復が終了した場合(以下の説明では、「反復条件を満たした」という。)には、変位算出部26は、最新の変位量(dxlast, dylast)及び反復回数inumlastの値を保持する。
続いて、次に追跡を行うピラミッド階層の階層番号が設定(n ← n -1)され(ステップS34)、特徴点の座標(x1, y1)と、ステップS28(図3)の追跡コア工程において求められた追跡点(x2, y2)とが下記の変換式(1−6a)から(1−6d)により次の特徴点追跡対象階層における座標値に変換される(ステップS36)。
x1 ← x1 ×2 …(1−6a)
y1 ← y1 ×2 …(1−6b)
x2 ← x2 ×2 …(1−6c)
y2 ← y2 ×2 …(1−6d)
なお、上記変換式(1−6a)から(1−6d)中の数字“2”はピラミッド階層生成時の間引き率の逆数である。間引き率が他の値(例えば、1/a)の場合には“a”を乗算すればよい。
次に、変位算出制御部24は、変位算出部26にアクセスし、変位算出部26に保持されている最新の変位量(dxlast, dylast)及び反復回数inumlastの値を反復条件設定部28に渡すように指示を出す。反復条件設定部28は、変位量(dxlast, dylast)及び反復回数inumlastの値に基づいて次の階層における変位算出時の反復条件(閾値th1)の値を設定する(ステップS38)。
そして、ステップS26からS38の工程が繰り返されて、すべての階層画像について第k番目の特徴点に対する追跡が終了した場合(ステップS32のYes)、最終的な追跡点の座標値(x2, y2)を出力する(ステップS40)。一方、追跡失敗フラグが検出された場合は(ステップS30のNo)、変位算出部26は、追跡エラー値を出力する(ステップS42)。
次に、ステップS18からS42の工程が特徴点メモリ16に格納されている他の特徴点に対しても実行される。そして、変位算出部26は、特徴点メモリ16に格納されている全ての特徴点について追跡が終了すると(ステップS44のYes)、特徴点に対応した追跡点の座標値、又は追跡エラー値を出力する。これにより、特徴点追跡処理がすべて終了する。
図6は、ステップS38の反復条件設定工程の詳細を示すフローチャートである。
まず、変位算出制御部24は、所定の階層での特徴点の追跡において反復条件が満たされたことを検知し、変位算出部26に対して、保持されていた最新の変位(dxlast, dylast)、反復回数inumlastの値を、反復条件設定部28に渡すように指示を出す。
反復条件設定部28は、(dxlast, dylast)及びinumlastを受け取ると、まず、第3の閾値th3と(dxlast, dylast)との大小比較を行った後(ステップS72)、第4の閾値th4とinumlastとの大小比較を行う(ステップS74及びS76)。そして、反復条件設定部28は、ステップS72からS76の判定結果に従って第1の閾値th1の値を変更する。
Figure 0004955616
表1は、図6の反復条件設定の条件分岐を示している。本実施形態では、val1 < val2 < val3 < val4(例えば、val1 = 0.1, val2 = 0.25, val3 = 0.5, val4 = 1)とする。なお、val1, val2, val3, val4の大小関係及び値は上記に限定されるものではない。
(1)条件分岐1(ステップS72)
反復条件が満たされた時点における最新の変位量(dxlast, dylast)の値がともに所定値th3よりも小さい場合には(ステップS72のYes)、変位量の収束が容易である、即ち、当該特徴点は追跡しやすいと考えられる。そこで、変位量(dxlast, dylast)の値のうち少なくとも一方が所定値th3以上の場合(ステップS72のNo)よりも、変位量の収束判定に用いる閾値th1を小さくする。
(2)条件分岐2(ステップS74、S76)
反復条件が満たされるまでの反復回数inumlastの値が所定値th4以上の場合(ステップS74のNo又はS76のNo)、変位量が収束しにくい、即ち、当該特徴点は追跡しづらいと考えられる。そこで、反復回数inumlastの値が所定値th4未満の場合(ステップS74のYes又はS76のYes)よりも、変位量の収束判定に用いる閾値th1を大きくする。
本実施形態では、所定の階層における特徴点追跡の結果得られたdxlast, dylast, inumlastの値から、その特徴点の追跡しやすさを判定し、追跡しづらいと判定された場合に(例えば、変位量(dxlast, dylast)の値の少なくとも一方が閾値以上の場合や、変位算出の反復回数inumが閾値以上の場合)、変位収束判定の閾値th1の値を大きくすることにより、次の階層で変位量の収束が容易になるので、反復回数inumの増大を抑制することができる。これにより、特徴点追跡処理の高速化を実現することができる。
なお、変位量の収束の容易さに応じて、反復回数の上限値th2を変更する(例えば、収束が容易な場合にth2の値を小さくし、収束しにくい場合にth2の値を大きくする)ようにしてもよい。
[第2の実施形態]
次に、本発明の第2の実施形態について説明する。なお、以下の説明において、上記第1の実施形態と同様の構成については説明を省略する。
本実施形態は、所定階層の階層画像において追跡点の反復検出を行ったときの変位量の収束の容易さを判定し、この収束の容易さに応じて、次に追跡点検出を行う階層を決定するようにしたものである。
図7は、本発明の第2の実施形態に係る画像処理装置を示すブロック図である。図7に示すように、本実施形態に係る画像処理装置10は、自動階層設定部30を備えている。
以下、本実施形態に係る画像処理方法について、図8から図10のフローチャートを参照して説明する。図8は、本発明の第2の実施形態に係る画像処理方法を示すフローチャートである。
図8のステップS100からS118は、それぞれ図4のステップS10からS28と同様であり、ステップS118の追跡コア工程は上記図5と同様であるため説明を省略する。
第n階層での追跡点検出が終了すると、次に追跡を行う階層の階層番号が設定されるとともに(ステップS124)、特徴点と追跡点の座標変換が行われる(ステップS126)。ステップS124において、変位算出制御部24は、変位算出部26にアクセスし、ステップS118の追跡コア工程において変位算出部26に保持されている最新の変位量(dxlast, dylast)及び反復回数inumlastの値を自動階層設定部30に渡すように指示を出す。自動階層設定部30は、変位量(dxlast, dylast)及び反復回数inumlastの値に基づいて次に追跡点検出を行う対象の階層の階層番号n_newを設定する(図9及び図10参照)。
次に、自動階層設定部30は、次の追跡対象階層の階層番号n_newと現階層番号nとから下記の式(2−1)により座標変換係数convcoefを算出する。
convcoef= 2(n - n_new) ; (但し、n > n_new) …(2−1)
なお、上記変換式(2−1)中の数字“2”はピラミッド階層生成時の間引き率の逆数である。間引き率が他の値(例えば、1/a)の場合には座標変換係数convcoef = a(n - n_new)となる。
そして、現階層画像における特徴点の座標(x1, y1)と、ステップS118の追跡コア工程において求められた追跡点(x2, y2)とが下記の変換式(2−2a)から(2−2d)により次の特徴点追跡対象階層における座標値に変換される(ステップS126)。
x1 ← x1 × convcoef …(2−2a)
y1 ← y1 × convcoef …(2−2b)
x2 ← x2 × convcoef …(2−2c)
y2 ← y2 × convcoef …(2−2d)
そして、ステップS116からS126の工程が繰り返されて、すべての階層画像について第k番目の特徴点に対する追跡が終了した場合(ステップS122のYes)、最終的な追跡点の座標値(x2, y2)を出力する(ステップS128)。一方、追跡失敗フラグが検出された場合は(ステップS120のNo)、変位算出部26は、追跡エラー値を出力する(ステップS130)。
次に、ステップS108からS130の工程が特徴点メモリ16に格納されている他の特徴点に対しても実行される。そして、変位算出部26は、特徴点メモリ16に格納されている全ての特徴点について追跡が終了すると(ステップS44のYes)、特徴点に対応した追跡点の座標値、又は追跡エラー値を出力する。これにより、特徴点追跡処理がすべて終了する。
次に、ステップS124の追跡対象階層の階層番号設定工程について、図9及び図10のフローチャートを参照して説明する。
まず、変位算出制御部24は、反復条件が満たされて所定の階層での特徴点の追跡(追跡コア工程)が終了したことを検知すると、変位算出部26に対して、保持されていた最新の変位量(dxlast, dylast)及び反復回数inumlastの値を自動階層設定部30に渡すように指示を出す。
図9に示すように、自動階層設定部30は、変位量(dxlast, dylast)を読み込んで(ステップS150)、閾値th5と変位量(dxlast, dylast)との大小比較を行う(ステップS152)。変位量dxlast及びdylastがともに閾値th5未満で(ステップS152のYes)で、かつ、現階層(第n階層)が第1階層よりも上位の階層の場合には(ステップS154のNo)、自動階層設定部30は、次に特徴点追跡を行う対象の階層(階層番号n_new)を現在の階層(階層番号n)の2段上に設定する(ステップS156)。一方、変位量dxlast又はdylastの少なくとも一方が閾値th5以上の場合には(ステップS152のNo)、自動階層設定部30は、次に特徴点追跡を行う対象の階層(階層番号n_new)を現在の階層(階層番号n)の1段上に設定する(ステップS158)。
また、図10に示すように、自動階層設定部30は、反復回数inumlastの値を読み込んで(ステップS160)、閾値th6とinumlastとの大小比較を行う(ステップ162)。反復回数inumlastが閾値th6未満で(ステップS162のYes)で、かつ、現階層(第n階層)が第1階層よりも上位の階層の場合には(ステップS164のNo)、自動階層設定部30は、次に特徴点追跡を行う対象の階層(階層番号n_new)を現在の階層(階層番号n)の2段上に設定する(ステップS166)。一方、反復回数inumlastが閾値th6以上の場合には(ステップS162のNo)、自動階層設定部30は、次に特徴点追跡を行う対象の階層(階層番号n_new)を現在の階層(階層番号n)の1段上に設定する(ステップS168)。
Figure 0004955616
表2は、図9及び図10の特徴点追跡対象の階層設定の条件分岐を示している。
(1)条件分岐1
反復条件が満たされた時点での最新の変位量(dxlast, dylast)の値が閾値th5より小さい場合には、変位量の収束が容易である、即ち、当該特徴点が追跡しやすいと考えられる。そこで、次の特徴点追跡対象階層を現在の階層の2段上に設定し、特徴点追跡を行う対象の階層数を減らす。
(2)条件分岐2
反復条件が満たされるまでの反復回数inumlastが閾値th6より小さい場合、変位量の収束が容易である、即ち、当該特徴点が追跡しやすいと考えられる。そこで、次の特徴点追跡対象階層を現在の階層の2段上に設定し、特徴点追跡を行う対象の階層数を減らす。
図11に示すように、ある階層において特徴点(x1, y1)の追跡の結果求められた追跡点(x2, y2)は、本来であればこの追跡点は正解点(x3, y3)に一致しているべきであるが、実際には誤差が生じうる。この正解点と追跡点の誤差を追跡誤差[(xerr, yerr) = (x3-x2, y3-y2)]とする。
上述のように、次の階層において追跡を行う場合、この特徴点と追跡点の座標に座標変換係数convcoefが乗算されて座標変換される。すると、この座標変換係数convcoefが乗算された分追跡誤差が拡大するため、座標変換係数convcoefの大きさによっては、追跡点と正解点とに大きな開き(ズレ)ができてしまう。実験的傾向として、追跡しやすい(反復回数inumが少なくても収束する)特徴点の場合、多少の追跡誤差が生じていた場合でも、精度良く追跡が行える一方で、追跡しづらい特徴点の場合、追跡誤差が原因で追跡が収束しづらくなる。
そこで、この特徴点の追跡しやすさに応じて、追跡しやすい特徴点の場合には、多少の追跡誤差を許容することで、2段上の階層を次の追跡対象とすることにより、1段上の階層での追跡を省略し、処理の高速化を実現する。一方、追跡しにくい点については、次の階層における追跡誤差をできるだけ小さくするために、1段上の階層を次の追跡対象とする。なお、追跡しやすい特徴点の場合に、2段以上上位の階層を次の特徴点追跡対象とするようにしてもよい。
本実施形態によれば、所定の階層における特徴点追跡の結果から、その特徴点が追跡しやすいかどうかを判断し、追跡しやすい場合、次の追跡対象階層を次に上位の階層ではなく、より高解像度の階層に設定することにより特徴点追跡の対象とする階層を減らすことができる。これにより、特徴点追跡処理を高速化することができる。
[第3の実施形態]
次に、本発明の第3の実施形態について説明する。なお、以下の説明において、上記第1の実施形態と同様の構成については説明を省略する。
本実施形態は、画像1、画像1よりも時間的に古い画像2及び画像1よりも時間的に新しい画像3の少なくとも3枚の画像(例えば、時間的に略等間隔に連続して撮影された画像(例えば、連写画像又は動画フレーム)、又は略等間隔にパン又はチルトされながら連続的に撮影された画像)において特徴点追跡を行う場合に、画像1と画像2との間で特徴点追跡を行って求めた特徴点と追跡点との間の距離(特徴点の移動量)に応じて、画像1と画像3との間で追跡点検出を行うときに生成するピラミッド(基準ピラミッド及び追跡ピラミッド)の階層数を設定するようにしたものである。
図12は、本発明の第3の実施形態に係る画像処理装置を示すブロック図である。図12に示すように、本実施形態に係る画像処理装置10は、ピラミッド階層生成条件発生部32を備えている。
次に、本発明の第3の実施形態に係る画像処理方法について、図13のフローチャートを参照して説明する。
まず、ピラミッド階層生成部20は、ピラミッド階層生成制御部18からの指示に従って、画像メモリ14から画像1と画像2(画像1よりも時間的に古い画像)とを読み込む(ステップS200)。そして、ピラミッド階層生成部20は、ピラミッド階層生成部20は、画像1を段階的に縮小して階層画像py11, py12, …, py1n, …, py1py_num-1を作成する。また、ピラミッド階層生成部20は、画像2を段階的に縮小して階層画像py21, py22, …, py2n, …, py2py_num-1を作成する。これにより、基準ピラミッドpy1及び追跡ピラミッドpy2が生成される(ステップS202)。次に、ピラミッド階層生成部20は、ステップS202において生成した基準ピラミッドpy1及び追跡ピラミッドpy2の階層画像を画像メモリ14に書き込む(ステップS204)。
次に、変位算出部26は、変位算出制御部24からの指示により特徴点メモリ16に格納されている複数の特徴点の座標(x1, y1)を取り込む(ステップS206)。ここで、特徴点メモリ16に格納されている特徴点の座標値は、ピラミッドの第0階層py10(最も画像サイズが大きい画像(画像1))における座標値である。
次に、画像1と画像2との間で特徴点追跡が実行され(ステップS208)、特徴点追跡により求められた追跡点(x2, y2)の座標が特徴点メモリ16に記録される(ステップS210)。なお、ステップS208における特徴点追跡の工程は上記図4及び図5と同様である。
次に、ピラミッド階層生成条件発生部32は、特徴点メモリ16に記録された特徴点と追跡点の座標値を取り込み(ステップS212)、画像1と画像2とに生じている位置のズレ(画像ズレ)を平行移動量(trans12x, trans12y)として算出する(ステップS214)。ここでは、位置のズレを平行移動量と捉えるが、視野の回転やスケール変化(例えば、ズーム)なども考慮するためにアフィン変換量としても良いし、その他の変換量でも良い。
ここで、平行移動量の算出方法の例について説明する。
(1)平行移動量の算出方法の第1の実施例
まず、ピラミッド階層生成条件発生部32は、第i番目の特徴点の座標(x1i, y1i)とそれに対応する追跡点の座標(x2i, y2i)とを読み込み、動きベクトルmvi=(mvxi, mvyi)を求める。そして、下記の式(3−1a)及び(3−1b)により平行移動量(trans12x, trans12y)を算出する。下記の式(3−1a)及び(3−1b)によれば、画像の平行移動量は、すべての動きベクトルmviの平均値になる。
trans12x= Σ mvxi / Σ 1 …(3−1a)
trans12y= Σ mvyi / Σ 1 …(3−1b)
(2)平行移動量の算出方法の第2の実施例
平行移動量(trans12x, trans12y)をすべての動きベクトルmvi=(mvxi, mvyi)のメディアン値(中央値)とする。
(3)平行移動量の算出方法の第3の実施例
すべての動きベクトル(例えば、手ブレに起因する動きベクトルのクラス、動体の動きに起因する動きベクトルのクラス)をクラス分類し、各クラスを構成するベクトル群の数が最も多いクラスを同定したのち、そのクラスに属するベクトルだけで上記平均値又はメディアン値を求める。
次に、ピラミッド階層生成条件発生部32は、画像1と画像2との間の平行移動量(trans12x, trans12y)から、画像1と画像3との間の平行移動量(trans13x, trans13y)を推定する(ステップS214)。図14に示すように、時間的に連続した画像群では、画像1と画像3とに生じている動き量と画像1と画像2とに生じている動き量とは同程度と推定することができる。そこで、(trans13x, trans13y) = (trans12x, trans12y)とする。
次に、ステップS214において推定した画像1と画像3との間の平行移動量(trans13x, trans13y)に基づいて、画像3からピラミッド階層を生成するときの階層数(以下、必要階層数という。)py_numを設定する(ステップS216)。
既述のように、ピラミッド階層を利用する目的は、勾配法の弱点である大きな動き量に対応するためである。例えば、ある特徴点の動き量がピラミッド階層の第0階層上で100画素だとすると、縦横1/2間引きを段階的に行うことで生成されたピラミッド階層の場合、第1階層上で50画素、第2階層上で25画素、…というように、ピラミッドの階層を増やせば増やすほど、見かけの動き量は小さくなり、勾配法の弱点を克服できる。
ところが、階層を増やすということは、それだけ特徴点の追跡の対象となる階層が増えることを意味しており、処理時間がかかってしまう。
そこで、本実施形態では、画像1と画像3との間の動き量をあらかじめ推定し、この画像1と画像3との間の動き量の推定値(trans13x, trans13y)に基づいて必要階層数py_numを設定する。ピラミッド階層生成条件発生部32は、具体的には、平行移動量(例えば、trans13x及びtrans13yのうち絶対値が大きい方の値)に応じて表3に示すように必要階層数py_numを設定する。
Figure 0004955616
次に、ピラミッド階層生成条件発生部32は、ステップS216において求めた必要階層数py_numをピラミッド階層生成部20に渡す。ピラミッド階層生成部20は、画像3を画像メモリ14から読み込み(ステップS218)、画像3を段階的に縮小して階層画像py31, py32, …, py3py_num-1を作成し、追跡ピラミッドpy3を生成する(ステップS220)。そして、ピラミッド階層生成部20は、追跡ピラミッドpy3の階層画像群を画像メモリ14に書き込む(ステップS222)。
次に、変位算出部26は、変位算出制御部24からの指示により特徴点メモリ16に格納されている複数の特徴点の座標(x1, y1)を取り込む(ステップS224)。そして、画像1と画像3との間で特徴点追跡が実行され(ステップS226)、特徴点追跡により求めた追跡点(x2, y2)の座標が特徴点メモリ16に記録される(ステップS228)。なお、ステップS226における特徴点追跡の工程は上記図5と同様である。
本実施形態によれば、過去の特徴点追跡の結果から、現在特徴点の追跡をしようとしている画像間に生じている位置ズレ量を推定し、そのズレ量に基づいて、画像3から作成する階層画像の階層数を決定することにより、余分な階層を生成する必要がなくなる。これにより、画像メモリの容量を節約できると同時に、追跡対象となる階層の数を減らして特徴点検出処理を高速化することができる。
[第4の実施形態]
次に、本発明の第4の実施形態について説明する。なお、以下の説明において、上記第1の実施形態と同様の構成については説明を省略する。
本実施形態は、画像1、画像1よりも時間的に古い画像2及び画像1よりも時間的に新しい画像3の少なくとも3枚の画像(例えば、時間的に略等間隔に連続して撮影された画像(例えば、連写画像又は動画フレーム)、又は略等間隔にパン又はチルトされながら連続的に撮影された画像)において特徴点追跡を行う場合に、画像1と画像2との間で特徴点追跡を行って求めた特徴点と追跡点との間の距離(特徴点の移動量)に応じて、画像1と画像3との間で追跡点検出を行うときに最初に特徴点追跡を行う階層を設定するようにしたものである。
図15は、本発明の第4の実施形態に係る画像処理装置を示すブロック図である。図15に示すように、本実施形態に係る画像処理装置10は、開始階層設定部34を備えている。
以下、本発明の第4の実施形態に係る画像処理方法について、図16のフローチャートを参照して説明する。
まず、ピラミッド階層生成部20は、ピラミッド階層生成制御部18からの指示に従って、画像メモリ14から画像1と画像2(画像1よりも時間的に古い画像)及び画像3(画像1よりも時間的に新しい画像)とを読み込む(ステップS300)。そして、ピラミッド階層生成部20は、ピラミッド階層生成部20は、画像1を段階的に縮小して階層画像py11, py12, …, py1py_num-1を作成する。また、ピラミッド階層生成部20は、画像2及び画像3を段階的に縮小してそれぞれ階層画像py21, py22, …, py2py_num-1及び階層画像py31, py32, …, py3py_num-1を作成する。これにより、基準ピラミッドpy1と追跡ピラミッドpy2及びpy3が生成される(ステップS302)。次に、ピラミッド階層生成部20は、ステップS302において生成した基準ピラミッドpy1、追跡ピラミッドpy2及びpy3の階層画像を画像メモリ14に書き込む(ステップS304)。ここで、ピラミッド階層画像の階層数はpy_numである。
次に、特徴点番号kが初期化(k =0)される(ステップS306)。変位算出部26は、変位算出制御部24からの指示により特徴点メモリ16に格納されている複数の特徴点の座標のうち、第k番目の特徴点の座標(x1, y1)を取り込む(ステップS308)。ここで、特徴点メモリ16に格納されている特徴点の座標値は、ピラミッドの第0階層py10(最も画像サイズが大きい画像(基準画像(imgb)))における座標値である。
次に、画像1と画像2との間で第k番目の特徴点について特徴点追跡が実行される(ステップS310)。なお、ステップS310における特徴点追跡の工程は上記図4及び図5と同様である。そして、特徴点追跡が成功した場合には(ステップS312のYes)、特徴点追跡により求められた画像2上における追跡点の座標(x2, y2)が特徴点メモリ16に記録される(ステップS314)。
次に、開始階層設定部34は、直前のステップS314において特徴点メモリ16に記録された第k番目の特徴点(x1, y1)とそれに対応する追跡点の座標値(x2, y2)を読み込む(ステップS316)。そして、画像1と画像2との間に生じている位置ズレ量に起因する特徴点の移動量(disp12x, disp12y)に基づいて、画像1と画像3との間に生じているであろう特徴点の移動量(disp13x, disp13y)が推定される。なお、移動量(disp12x, disp12y)は、上記平行移動量(trans12x, trans12y)と略同様にして算出することができる。図14に示すように、画像1から3が時間的に連続した画像群であった場合、画像1と画像3とに生じている位置ズレ量に起因する特徴点の移動量と、画像1と画像2とに生じている位置ズレ量に起因する特徴点の移動量は、同程度と予測される。そこで、本実施形態では、(disp13x, disp13y) = (disp12x, disp12y)とする。
次に、開始階層設定部34は、予測特徴点移動量(disp13x, disp13y)に基づいて、画像1と画像3との間で特徴点追跡を行うときにどの階層から追跡を開始するか、その開始階層番号nstartを設定する(ステップS318)。本実施形態では、画像1と画像3との間に生じている特徴点移動量をあらかじめ推定し、この推定値に基づいて特徴点追跡を開始する階層を設定することにより、特徴点追跡の回数を抑えている。開始階層設定部34は、具体的には、特徴点移動量(例えば、disp13x, disp13yのうち絶対値が大きい方の値)に応じて表4に示すように開始階層番号nstartを決定する。
Figure 0004955616
一方、ステップS310の特徴点追跡が失敗した場合には(ステップS312のNo)、追跡エラー値が特徴点メモリ16に記録される(ステップS320)。そして、開始階層設定部34は、画像1と画像3との間で特徴点追跡を行うときの開始階層(階層番号nstart)を最低解像度階層(階層番号(py_num -1))に設定する。
ステップS312からS322により開始階層が設定されると、第k番目の特徴点の座標(x1, y1)が取り込まれ(ステップS324)、画像1と画像3との間で第k番目の特徴点の追跡が行われる(ステップS326)。そして、特徴点追跡が成功した場合には(ステップS328のYes)、特徴点追跡により求められた画像3上における追跡点の座標(x3, y3)が特徴点メモリ16に記録される(ステップS330)。一方、ステップS310の特徴点追跡が失敗した場合には(ステップS328のNo)、追跡エラー値が特徴点メモリ16に記録される(ステップS332)。
次に、特徴点番号が更新(インクリメント)され(ステップS334のNo、S336)、ステップS308に戻る。そして、特徴点メモリ16内のすべての特徴点について特徴点追跡が終了すると(ステップS334)、特徴点追跡処理の全工程が終了する。
本実施形態では、過去の特徴点追跡の結果から、次に特徴点を追跡しようとしている画像間に生じているであろう特徴点の移動量を推定し、その移動量に基づいて、追跡を開始する階層を自動で決定する。これにより、追跡対象となる階層の数を減らして追跡点検出処理を高速化することができる。
上記の各実施形態に係る画像処理装置10は、例えば、画像を撮像するための撮像装置、画像を解析、処理する機能を有する装置、及びこのような装置に適用するためのアプリケーションプログラムとして提供することも可能である。
本発明の第1の実施形態に係る画像処理装置を示すブロック図 階層型の勾配法による特徴点の追跡手順を模式的に示す図 各階層における特徴点追跡の手順を模式的に示す図 本発明の第1の実施形態に係る画像処理方法を示すフローチャート 追跡コア工程を示すフローチャート 反復条件設定工程の詳細を示すフローチャート 本発明の第2の実施形態に係る画像処理装置を示すブロック図 本発明の第2の実施形態に係る画像処理方法を示すフローチャート 追跡対象階層の階層番号設定工程を示すフローチャート 追跡対象階層の階層番号設定工程を示すフローチャート 追跡誤差を説明するための図 本発明の第3の実施形態に係る画像処理装置を示すブロック図 本発明の第3の実施形態に係る画像処理方法を示すフローチャート 画像の平行移動量を説明するための図 本発明の第4の実施形態に係る画像処理装置を示すブロック図 本発明の第4の実施形態に係る画像処理方法を示すフローチャート
符号の説明
10…画像処理装置、12…メインCPU12、14…画像メモリ14、16…特徴点メモリ、18…ピラミッド階層生成制御部、20…ピラミッド階層生成部、22…、24…変位算出制御部、26…変位算出部、28…反復条件設定部、30…自動階層設定部、32…ピラミッド階層生成条件発生部、34…開始階層設定部

Claims (36)

  1. 第1の画像と第2の画像とを取得する画像取得手段と、
    前記第1の画像に段階的に縮小処理を施して解像度が異なる複数の第1の階層画像を含む第1の階層画像群を作成し、前記第2の画像に段階的に縮小処理を施して解像度が異なる複数の第2の階層画像を含む第2の階層画像群を作成する階層画像作成手段と、
    所定の解像度の前記第1及び前記第2の階層画像の画像信号の勾配に基づいて、前記第1の階層画像上における所定の特徴点に対応する前記第2の階層画像上の追跡点の位置を検出する追跡点検出手段と、
    解像度が低い階層画像における追跡点の検出結果を反映しながら、前記第1及び第2の階層画像群に含まれる解像度が低い階層画像から順に前記追跡点検出手段による前記追跡点の検出を実行し、前記第1の画像上の特徴点に対応する前記第2の画像上の追跡点の位置を検出する順次検出手段とを備え、
    前記追跡点検出手段は、
    所定の解像度の前記第1及び前記第2の階層画像における画像信号の勾配に基づいて、前記第1の階層画像上における前記特徴点に対応する前記第2の階層画像上の追跡点の位置を反復して検出し、反復して検出した第2の画像上の最新の追跡点とその前の反復検出により求められた追跡点との間の距離を示す変位量を算出する変位算出手段と、
    前記変位量が第1の閾値未満に収束するか、又は前記追跡点の位置の検出の反復回数が第2の閾値以上になった場合に前記変位算出手段の前記追跡点の反復検出を停止し、前記反復検出を停止した時点における前記変位量及び前記反復回数の値を出力する検出結果出力手段と、
    前記検出結果出力手段から出力された前記変位量及び前記反復回数の値に応じて、前記第1の解像度よりも高い第2の解像度の前記第1及び前記第2の階層画像に対して前記追跡点検出手段による前記追跡点の検出を実行するときにおける前記第1の閾値を設定する条件設定手段と、
    を備える画像処理装置。
  2. 前記条件設定手段が、前記検出結果出力手段から出力された前記変位量の値が第3の閾値よりも小さい場合に、前記変位量が該第3の閾値以上の場合よりも前記第1の閾値を小さくする、請求項1記載の画像処理装置。
  3. 前記条件設定手段が、前記検出結果出力手段から出力された前記反復回数の値が第4の閾値よりも小さい場合に、前記反復回数が該第4の閾値以上の場合よりも前記第1の閾値を小さくする、請求項1又は2記載の画像処理装置。
  4. 前記検出結果出力手段から出力された前記変位量及び前記反復回数の値に応じて、前記追跡点検出手段による前記追跡点の検出を次に実行する対象の階層を選択する階層選択手段を更に備える請求項1から3のいずれか1項記載の画像処理装置。
  5. 第1の画像と第2の画像とを取得する画像取得手段と、
    前記第1の画像に段階的に縮小処理を施して解像度が異なる複数の第1の階層画像を含む第1の階層画像群を作成し、前記第2の画像に段階的に縮小処理を施して解像度が異なる複数の第2の階層画像を含む第2の階層画像群を作成する階層画像作成手段と、
    所定の解像度の前記第1及び前記第2の階層画像の画像信号の勾配に基づいて、前記第1の階層画像上における所定の特徴点に対応する前記第2の階層画像上の追跡点の位置を検出する追跡点検出手段と、
    解像度が低い階層画像における追跡点の検出結果を反映しながら、前記第1及び第2の階層画像群に含まれる解像度が低い階層画像から順に前記追跡点検出手段による前記追跡点の検出を実行し、前記第1の画像上の特徴点に対応する前記第2の画像上の追跡点の位置を検出する順次検出手段とを備え、
    前記追跡点検出手段は、
    所定の解像度の前記第1及び前記第2の階層画像における画像信号の勾配に基づいて、前記第1の階層画像上における前記特徴点に対応する前記第2の階層画像上の追跡点の位置を反復して検出し、反復して検出した第2の画像上の最新の追跡点とその前の反復検出により求められた追跡点との間の距離を示す変位量を算出する変位算出手段と、
    前記変位量が第1の閾値未満に収束するか、又は前記追跡点の位置の検出の反復回数が第2の閾値以上になった場合に前記変位算出手段の前記追跡点の反復検出を停止し、前記反復検出を停止した時点における前記変位量及び前記反復回数の値を出力する検出結果出力手段とを備え、
    前記検出結果出力手段から出力された前記変位量及び前記反復回数の値に応じて、前記追跡点検出手段による前記追跡点の検出を次に実行する対象の階層を選択する階層選択手段を更に備える画像処理装置。
  6. 前記階層選択手段が、前記検出結果出力手段から出力された前記変位量の値が第5の閾値よりも小さい場合に、前記追跡点検出手段による前記追跡点の検出を次に実行する対象の階層を2段階以上上の階層に設定する、請求項5記載の画像処理装置。
  7. 前記階層選択手段が、前記検出結果出力手段から出力された前記反復回数の値が第6の閾値よりも小さい場合に、前記追跡点検出手段による前記追跡点の検出を次に実行する対象の階層を2段階以上上の階層に設定する、請求項5又は6記載の画像処理装置。
  8. 第1の画像と、時間的に前記第1の画像の前後に撮影された第2の画像及び第3の画像を取得する画像取得手段と、
    前記第1の画像に段階的に縮小処理を施して解像度が異なる複数の第1の階層画像を含む第1の階層画像群を作成し、前記第2の画像に段階的に縮小処理を施して解像度が異なる複数の第2の階層画像を含む第2の階層画像群を作成する第1の階層画像作成手段と、
    所定の解像度の前記第1及び前記第2の階層画像の画像信号の勾配に基づいて、前記第1の階層画像上における所定の特徴点に対応する前記第2の階層画像上の追跡点の位置を検出する第1の追跡点検出手段と、
    解像度が低い階層画像における追跡点の検出結果を反映しながら、前記第1及び第2の階層画像群に含まれる解像度が低い階層画像から順に前記第1の追跡点検出手段による前記追跡点の検出を実行し、前記第1の画像上の特徴点の前記第2の画像上の追跡点の位置を検出する第1の順次検出手段と、
    前記第1及び第2の画像上における特徴点と追跡点の位置に基づいて、前記第1の画像と第2の画像との間のズレ量を算出し、前記第1の画像と前記第3の画像との間のズレ量を推定するズレ量算出手段と、
    前記第1の画像と前記第3の画像との間のズレ量に基づいて前記第3の画像から作成する階層画像の階層数を設定する階層数設定手段と、
    前記第3の画像に段階的に縮小処理を施して解像度が異なる第3の階層画像を、前記階層数設定手段により設定された階層数分作成し、第3の階層画像群を作成する第2の階層画像作成手段と、
    所定の解像度の前記第1及び前記第3の階層画像の画像信号の勾配に基づいて、前記第1の階層画像上における所定の特徴点に対応する前記第3の階層画像上の追跡点の位置を検出する第2の追跡点検出手段と、
    解像度が低い階層画像における追跡点の検出結果を反映しながら、前記第1及び第3の階層画像群に含まれる解像度が低い階層画像から順に前記第2の追跡点検出手段による前記追跡点の検出を実行し、前記第1の画像上の特徴点に対応する前記第3の画像上の追跡点の位置を検出する第2の順次検出手段と、
    を備える画像処理装置。
  9. 前記階層数設定手段が、前記ズレ量が大きいほど前記階層数が多くなるように設定する、請求項8記載の画像処理装置。
  10. 前記ズレ量算出手段が、前記第1及び第2の画像上における特徴点と追跡点の位置から特徴点の移動方向及び移動量を示す動きベクトルを作成し、前記動きベクトルの平均値又はメディアン値を前記ズレ量として算出する、請求項8又は9記載の画像処理装置。
  11. 前記ズレ量算出手段が、前記第1の画像と第2の画像との間のズレ量と、前記第1の画像と前記第3の画像とを等しいと推定する、請求項8から10のいずれか1項記載の画像処理装置。
  12. 第1の画像と、時間的に前記第1の画像の前後に撮影された第2の画像及び第3の画像を取得する画像取得手段と、
    前記第1の画像に段階的に縮小処理を施して解像度が異なる複数の第1の階層画像を含む第1の階層画像群を作成し、前記第2の画像に段階的に縮小処理を施して解像度が異なる複数の第2の階層画像を含む第2の階層画像群を作成し、前記第3の画像に段階的に縮小処理を施して解像度が異なる複数の第3の階層画像を含む第3の階層画像群を作成する階層画像作成手段と、
    所定の解像度の前記第1及び前記第2の階層画像の画像信号の勾配に基づいて、前記第1の階層画像上における所定の特徴点に対応する前記第2の階層画像上の追跡点の位置を検出する第1の追跡点検出手段と、
    解像度が低い階層画像における追跡点の検出結果を反映しながら、前記第1及び第2の階層画像群に含まれる解像度が低い階層画像から順に前記第1の追跡点検出手段による前記追跡点の検出を実行し、前記第1の画像上の特徴点に対応する前記第2の画像上の追跡点の位置を検出する第1の順次検出手段と、
    前記第1及び第2の画像上における特徴点と追跡点の位置に基づいて、前記第1の画像と第2の画像との間のズレ量を算出し、前記第1の画像と前記第3の画像との間のズレ量を推定するズレ量算出手段と、
    前記第1の画像と前記第3の画像との間のズレ量に基づいて前記第1の画像と第3の画像との間で、特徴点検出を開始する開始階層を設定する開始階層設定手段と、
    所定の解像度の前記第1及び前記第3の階層画像の画像信号の勾配に基づいて、前記第1の階層画像上における所定の特徴点に対応する前記第3の階層画像上の追跡点の位置を検出する第2の追跡点検出手段と、
    解像度が低い階層画像における追跡点の検出結果を反映しながら、前記開始階層の階層画像から階層度が低い順に前記第2の追跡点検出手段による前記追跡点の検出を実行し、前記第1の画像上の特徴点に対応する前記第3の画像上の追跡点の位置を検出する第2の順次検出手段と、
    を備える画像処理装置。
  13. 前記開始階層設定手段が、前記ズレ量が大きいほど前記解像度がより低い階層の階層画像を前記開始階層に設定する、請求項12記載の画像処理装置。
  14. 前記ズレ量算出手段が、前記第1の画像と第2の画像との間のズレ量と、前記第1の画像と前記第3の画像とを等しいと推定する、請求項12又は13記載の画像処理装置。
  15. 第1の画像と第2の画像とを取得する画像取得工程と、
    前記第1の画像に段階的に縮小処理を施して解像度が異なる複数の第1の階層画像を含む第1の階層画像群を作成し、前記第2の画像に段階的に縮小処理を施して解像度が異なる複数の第2の階層画像を含む第2の階層画像群を作成する階層画像作成工程と、
    所定の解像度の前記第1及び前記第2の階層画像の画像信号の勾配に基づいて、前記第1の階層画像上における所定の特徴点に対応する前記第2の階層画像上の追跡点の位置を検出する追跡点検出工程と、
    解像度が低い階層画像における追跡点の検出結果を反映しながら、前記第1及び第2の階層画像群に含まれる解像度が低い階層画像から順に前記追跡点検出工程による前記追跡点の検出を実行し、前記第1の画像上の特徴点に対応する前記第2の画像上の追跡点の位置を検出する順次検出工程とを含み、
    前記追跡点検出工程は、
    所定の解像度の前記第1及び前記第2の階層画像における画像信号の勾配に基づいて、前記第1の階層画像上における前記特徴点に対応する前記第2の階層画像上の追跡点の位置を反復して検出し、反復して検出した第2の画像上の最新の追跡点とその前の反復検出により求められた追跡点との間の距離を示す変位量を算出する変位算出工程と、
    前記変位量が第1の閾値未満に収束するか、又は前記追跡点の位置の検出の反復回数が第2の閾値以上になった場合に前記変位算出工程の前記追跡点の反復検出を停止し、前記反復検出を停止した時点における前記変位量及び前記反復回数の値を出力する検出結果出力工程と、
    前記検出結果出力工程で出力された前記変位量及び前記反復回数の値に応じて、前記第1の解像度よりも高い第2の解像度の前記第1及び前記第2の階層画像に対して前記追跡点検出工程による前記追跡点の検出を実行するときにおける前記第1の閾値を設定する条件設定工程と、
    を含む画像処理方法。
  16. 前記条件設定工程では、前記検出結果出力工程で出力された前記変位量の値が第3の閾値よりも小さい場合に、前記変位量が該第3の閾値以上の場合よりも前記第1の閾値を小さくする、請求項15記載の画像処理方法。
  17. 前記条件設定工程では、前記検出結果出力工程で出力された前記反復回数の値が第4の閾値よりも小さい場合に、前記反復回数が該第4の閾値以上の場合よりも前記第1の閾値を小さくする、請求項15又は16記載の画像処理方法。
  18. 前記検出結果出力工程で出力された前記変位量及び前記反復回数の値に応じて、前記追跡点検出工程による前記追跡点の検出を次に実行する対象の階層を選択する階層選択工程を更に備える請求項15から17のいずれか1項記載の画像処理方法。
  19. 第1の画像と第2の画像とを取得する画像取得工程と、
    前記第1の画像に段階的に縮小処理を施して解像度が異なる複数の第1の階層画像を含む第1の階層画像群を作成し、前記第2の画像に段階的に縮小処理を施して解像度が異なる複数の第2の階層画像を含む第2の階層画像群を作成する階層画像作成工程と、
    所定の解像度の前記第1及び前記第2の階層画像の画像信号の勾配に基づいて、前記第1の階層画像上における所定の特徴点に対応する前記第2の階層画像上の追跡点の位置を検出する追跡点検出工程と、
    解像度が低い階層画像における追跡点の検出結果を反映しながら、前記第1及び第2の階層画像群に含まれる解像度が低い階層画像から順に前記追跡点検出工程による前記追跡点の検出を実行し、前記第1の画像上の特徴点に対応する前記第2の画像上の追跡点の位置を検出する順次検出工程とを含み、
    前記追跡点検出工程は、
    所定の解像度の前記第1及び前記第2の階層画像における画像信号の勾配に基づいて、前記第1の階層画像上における前記特徴点に対応する前記第2の階層画像上の追跡点の位置を反復して検出し、反復して検出した第2の画像上の最新の追跡点とその前の反復検出により求められた追跡点との間の距離を示す変位量を算出する変位算出工程と、
    前記変位量が第1の閾値未満に収束するか、又は前記追跡点の位置の検出の反復回数が第2の閾値以上になった場合に前記変位算出工程の前記追跡点の反復検出を停止し、前記反復検出を停止した時点における前記変位量及び前記反復回数の値を出力する検出結果出力工程とを含み、
    前記検出結果出力工程で出力された前記変位量及び前記反復回数の値に応じて、前記追跡点検出工程による前記追跡点の検出を次に実行する対象の階層を選択する階層選択工程を更に含む画像処理方法。
  20. 前記階層選択工程では、前記検出結果出力工程で出力された前記変位量の値が第5の閾値よりも小さい場合に、前記追跡点検出工程による前記追跡点の検出を次に実行する対象の階層を2段階以上上の階層に設定する、請求項19記載の画像処理方法。
  21. 前記階層選択工程では、前記検出結果出力工程で出力された前記反復回数の値が第6の閾値よりも小さい場合に、前記追跡点検出工程による前記追跡点の検出を次に実行する対象の階層を2段階以上上の階層に設定する、請求項19又は20記載の画像処理方法。
  22. 第1の画像と、時間的に前記第1の画像の前後に撮影された第2の画像及び第3の画像を取得する画像取得工程と、
    前記第1の画像に段階的に縮小処理を施して解像度が異なる複数の第1の階層画像を含む第1の階層画像群を作成し、前記第2の画像に段階的に縮小処理を施して解像度が異なる複数の第2の階層画像を含む第2の階層画像群を作成する第1の階層画像作成工程と、
    所定の解像度の前記第1及び前記第2の階層画像の画像信号の勾配に基づいて、前記第1の階層画像上における所定の特徴点に対応する前記第2の階層画像上の追跡点の位置を検出する第1の追跡点検出工程と、
    解像度が低い階層画像における追跡点の検出結果を反映しながら、前記第1及び第2の階層画像群に含まれる解像度が低い階層画像から順に前記第1の追跡点検出工程による前記追跡点の検出を実行し、前記第1の画像上の特徴点の前記第2の画像上の追跡点の位置を検出する第1の順次検出工程と、
    前記第1及び第2の画像上における特徴点と追跡点の位置に基づいて、前記第1の画像と第2の画像との間のズレ量を算出し、前記第1の画像と前記第3の画像との間のズレ量を推定するズレ量算出工程と、
    前記第1の画像と前記第3の画像との間のズレ量に基づいて前記第3の画像から作成する階層画像の階層数を設定する階層数設定工程と、
    前記第3の画像に段階的に縮小処理を施して解像度が異なる第3の階層画像を、前記階層数設定工程で設定された階層数分作成し、第3の階層画像群を作成する第2の階層画像作成工程と、
    所定の解像度の前記第1及び前記第3の階層画像の画像信号の勾配に基づいて、前記第1の階層画像上における所定の特徴点に対応する前記第3の階層画像上の追跡点の位置を検出する第2の追跡点検出工程と、
    解像度が低い階層画像における追跡点の検出結果を反映しながら、前記第1及び第3の階層画像群に含まれる解像度が低い階層画像から順に前記第2の追跡点検出工程による前記追跡点の検出を実行し、前記第1の画像上の特徴点に対応する前記第3の画像上の追跡点の位置を検出する第2の順次検出工程と、
    を含む画像処理方法。
  23. 前記階層数設定工程では、前記ズレ量が大きいほど前記階層数が多くなるように設定する、請求項22記載の画像処理方法。
  24. 第1の画像と、時間的に前記第1の画像の前後に撮影された第2の画像及び第3の画像を取得する画像取得工程と、
    前記第1の画像に段階的に縮小処理を施して解像度が異なる複数の第1の階層画像を含む第1の階層画像群を作成し、前記第2の画像に段階的に縮小処理を施して解像度が異なる複数の第2の階層画像を含む第2の階層画像群を作成し、前記第3の画像に段階的に縮小処理を施して解像度が異なる複数の第3の階層画像を含む第3の階層画像群を作成する階層画像作成工程と、
    所定の解像度の前記第1及び前記第2の階層画像の画像信号の勾配に基づいて、前記第1の階層画像上における所定の特徴点に対応する前記第2の階層画像上の追跡点の位置を検出する第1の追跡点検出工程と、
    解像度が低い階層画像における追跡点の検出結果を反映しながら、前記第1及び第2の階層画像群に含まれる解像度が低い階層画像から順に前記第1の追跡点検出工程による前記追跡点の検出を実行し、前記第1の画像上の特徴点に対応する前記第2の画像上の追跡点の位置を検出する第1の順次検出工程と、
    前記第1及び第2の画像上における特徴点と追跡点の位置に基づいて、前記第1の画像と第2の画像との間のズレ量を算出し、前記第1の画像と前記第3の画像との間のズレ量を推定するズレ量算出工程と、
    前記第1の画像と前記第3の画像との間のズレ量に基づいて前記第1の画像と第3の画像との間で、特徴点検出を開始する開始階層を設定する開始階層設定工程と、
    所定の解像度の前記第1及び前記第3の階層画像の画像信号の勾配に基づいて、前記第1の階層画像上における所定の特徴点に対応する前記第3の階層画像上の追跡点の位置を検出する第2の追跡点検出工程と、
    解像度が低い階層画像における追跡点の検出結果を反映しながら、前記開始階層の階層画像から階層度が低い順に前記第2の追跡点検出工程による前記追跡点の検出を実行し、前記第1の画像上の特徴点に対応する前記第3の画像上の追跡点の位置を検出する第2の順次検出工程と、
    を含む画像処理方法。
  25. 前記開始階層設定工程では、前記ズレ量が大きいほど前記解像度がより低い階層の階層画像を前記開始階層に設定する、請求項24記載の画像処理方法。
  26. 第1の画像と第2の画像とを取得する画像取得機能と、
    前記第1の画像に段階的に縮小処理を施して解像度が異なる複数の第1の階層画像を含む第1の階層画像群を作成し、前記第2の画像に段階的に縮小処理を施して解像度が異なる複数の第2の階層画像を含む第2の階層画像群を作成する階層画像作成機能と、
    所定の解像度の前記第1及び前記第2の階層画像の画像信号の勾配に基づいて、前記第1の階層画像上における所定の特徴点に対応する前記第2の階層画像上の追跡点の位置を検出する追跡点検出機能と、
    解像度が低い階層画像における追跡点の検出結果を反映しながら、前記第1及び第2の階層画像群に含まれる解像度が低い階層画像から順に前記追跡点検出機能による前記追跡点の検出を実行し、前記第1の画像上の特徴点に対応する前記第2の画像上の追跡点の位置を検出する順次検出機能とをコンピュータに実現させる画像処理プログラムであって、
    前記追跡点検出機能は、
    所定の解像度の前記第1及び前記第2の階層画像における画像信号の勾配に基づいて、前記第1の階層画像上における前記特徴点に対応する前記第2の階層画像上の追跡点の位置を反復して検出し、反復して検出した第2の画像上の最新の追跡点とその前の反復検出により求められた追跡点との間の距離を示す変位量を算出する変位算出機能と、
    前記変位量が第1の閾値未満に収束するか、又は前記追跡点の位置の検出の反復回数が第2の閾値以上になった場合に前記変位算出機能の前記追跡点の反復検出を停止し、前記反復検出を停止した時点における前記変位量及び前記反復回数の値を出力する検出結果出力機能と、
    前記検出結果出力機能により出力された前記変位量及び前記反復回数の値に応じて、前記第1の解像度よりも高い第2の解像度の前記第1及び前記第2の階層画像に対して前記追跡点検出機能による前記追跡点の検出を実行するときにおける前記第1の閾値を設定する条件設定機能と、
    を含む画像処理プログラム。
  27. 前記条件設定機能により、前記検出結果出力機能により出力された前記変位量の値が第3の閾値よりも小さい場合に、前記変位量が該第3の閾値以上の場合よりも前記第1の閾値を小さくする、請求項26記載の画像処理プログラム。
  28. 前記条件設定機能により、前記検出結果出力機能により出力された前記反復回数の値が第4の閾値よりも小さい場合に、前記反復回数が該第4の閾値以上の場合よりも前記第1の閾値を小さくする、請求項26又は27記載の画像処理プログラム。
  29. 前記検出結果出力機能により出力された前記変位量及び前記反復回数の値に応じて、前記追跡点検出機能による前記追跡点の検出を次に実行する対象の階層を選択する階層選択機能をコンピュータに実現させる請求項26から28のいずれか1項記載の画像処理プログラム。
  30. 第1の画像と第2の画像とを取得する画像取得機能と、
    前記第1の画像に段階的に縮小処理を施して解像度が異なる複数の第1の階層画像を含む第1の階層画像群を作成し、前記第2の画像に段階的に縮小処理を施して解像度が異なる複数の第2の階層画像を含む第2の階層画像群を作成する階層画像作成機能と、
    所定の解像度の前記第1及び前記第2の階層画像の画像信号の勾配に基づいて、前記第1の階層画像上における所定の特徴点に対応する前記第2の階層画像上の追跡点の位置を検出する追跡点検出機能と、
    解像度が低い階層画像における追跡点の検出結果を反映しながら、前記第1及び第2の階層画像群に含まれる解像度が低い階層画像から順に前記追跡点検出機能による前記追跡点の検出を実行し、前記第1の画像上の特徴点に対応する前記第2の画像上の追跡点の位置を検出する順次検出機能とをコンピュータに実現させる画像処理プログラムであって、
    前記追跡点検出機能は、
    所定の解像度の前記第1及び前記第2の階層画像における画像信号の勾配に基づいて、前記第1の階層画像上における前記特徴点に対応する前記第2の階層画像上の追跡点の位置を反復して検出し、反復して検出した第2の画像上の最新の追跡点とその前の反復検出により求められた追跡点との間の距離を示す変位量を算出する変位算出機能と、
    前記変位量が第1の閾値未満に収束するか、又は前記追跡点の位置の検出の反復回数が第2の閾値以上になった場合に前記変位算出機能の前記追跡点の反復検出を停止し、前記反復検出を停止した時点における前記変位量及び前記反復回数の値を出力する検出結果出力機能とを含んでおり、
    前記検出結果出力機能により出力された前記変位量及び前記反復回数の値に応じて、前記追跡点検出機能による前記追跡点の検出を次に実行する対象の階層を選択する階層選択機能をコンピュータに実現させる画像処理プログラム。
  31. 前記階層選択機能により、前記検出結果出力機能により出力された前記変位量の値が第5の閾値よりも小さい場合に、前記追跡点検出機能による前記追跡点の検出を次に実行する対象の階層を2段階以上上の階層に設定する、請求項30記載の画像処理プログラム。
  32. 前記階層選択機能により、前記検出結果出力機能により出力された前記反復回数の値が第6の閾値よりも小さい場合に、前記追跡点検出機能による前記追跡点の検出を次に実行する対象の階層を2段階以上上の階層に設定する、請求項30又は31記載の画像処理プログラム。
  33. 第1の画像と、時間的に前記第1の画像の前後に撮影された第2の画像及び第3の画像を取得する画像取得機能と、
    前記第1の画像に段階的に縮小処理を施して解像度が異なる複数の第1の階層画像を含む第1の階層画像群を作成し、前記第2の画像に段階的に縮小処理を施して解像度が異なる複数の第2の階層画像を含む第2の階層画像群を作成する第1の階層画像作成機能と、
    所定の解像度の前記第1及び前記第2の階層画像の画像信号の勾配に基づいて、前記第1の階層画像上における所定の特徴点に対応する前記第2の階層画像上の追跡点の位置を検出する第1の特徴点検出機能と、
    解像度が低い階層画像における追跡点の検出結果を反映しながら、前記第1及び第2の階層画像群に含まれる解像度が低い階層画像から順に前記第1の追跡点検出機能による前記追跡点の検出を実行し、前記第1の画像上の特徴点に対応する前記第2の画像上の追跡点の位置を検出する第1の順次検出機能と、
    前記第1及び第2の画像上における追跡点の位置に基づいて、前記第1の画像と第2の画像との間のズレ量を算出し、前記第1の画像と前記第3の画像との間のズレ量を推定するズレ量算出機能と、
    前記第1の画像と前記第3の画像との間のズレ量に基づいて前記第3の画像から作成する階層画像の階層数を設定する階層数設定機能と、
    前記第3の画像に段階的に縮小処理を施して解像度が異なる第3の階層画像を、前記階層数設定機能により設定された階層数分作成し、第3の階層画像群を作成する第2の階層画像作成機能と、
    所定の解像度の前記第1及び前記第3の階層画像の画像信号の勾配に基づいて、前記第1の階層画像上における所定の特徴点に対応する前記第3の階層画像上の追跡点の位置を検出する第2の特徴点検出機能と、
    解像度が低い階層画像における追跡点の検出結果を反映しながら、前記第1及び第3の階層画像群に含まれる解像度が低い階層画像から順に前記第2の追跡点検出機能による前記追跡点の検出を実行し、前記第1の画像上の特徴点に対応する前記第3の画像上の追跡点の位置を検出する第2の順次検出機能と、
    をコンピュータに実現させる画像処理プログラム。
  34. 前記階層数設定機能により、前記ズレ量が大きいほど前記階層数が多くなるように設定する、請求項33記載の画像処理プログラム。
  35. 第1の画像と、時間的に前記第1の画像の前後に撮影された第2の画像及び第3の画像を取得する画像取得機能と、
    前記第1の画像に段階的に縮小処理を施して解像度が異なる複数の第1の階層画像を含む第1の階層画像群を作成し、前記第2の画像に段階的に縮小処理を施して解像度が異なる複数の第2の階層画像を含む第2の階層画像群を作成し、前記第3の画像に段階的に縮小処理を施して解像度が異なる複数の第3の階層画像を含む第3の階層画像群を作成する階層画像作成機能と、
    所定の解像度の前記第1及び前記第2の階層画像の画像信号の勾配に基づいて、前記第1の階層画像上における所定の特徴点に対応する前記第2の階層画像上の追跡点の位置を検出する第1の追跡点検出機能と、
    解像度が低い階層画像における追跡点の検出結果を反映しながら、前記第1及び第2の階層画像群に含まれる解像度が低い階層画像から順に前記第1の追跡点検出機能による前記追跡点の検出を実行し、前記第1の画像上の特徴点に対応する前記第2の画像上の追跡点の位置を検出する第1の順次検出機能と、
    前記第1及び第2の画像上における追跡点の位置に基づいて、前記第1の画像と第2の画像との間のズレ量を算出し、前記第1の画像と前記第3の画像との間のズレ量を推定するズレ量算出機能と、
    前記第1の画像と前記第3の画像との間のズレ量に基づいて前記第1の画像と第3の画像との間で、特徴点検出を開始する開始階層を設定する開始階層設定機能と、
    所定の解像度の前記第1及び前記第3の階層画像の画像信号の勾配に基づいて、前記第1の階層画像上における所定の特徴点に対応する前記第3の階層画像上の追跡点の位置を検出する第2の追跡点検出機能と、
    解像度が低い階層画像における追跡点の検出結果を反映しながら、前記開始階層の階層画像から階層度が低い順に前記第2の追跡点検出機能による前記追跡点の検出を実行し、前記第1の画像上の特徴点に対応する前記第3の画像上の追跡点の位置を検出する第2の順次検出機能と、
    をコンピュータに実現させる画像処理プログラム。
  36. 前記開始階層設定機能により、前記ズレ量が大きいほど前記解像度がより低い階層の階層画像を前記開始階層に設定する、請求項35記載の画像処理プログラム。
JP2008168921A 2008-06-27 2008-06-27 画像処理装置、画像処理方法及び画像処理プログラム Expired - Fee Related JP4955616B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008168921A JP4955616B2 (ja) 2008-06-27 2008-06-27 画像処理装置、画像処理方法及び画像処理プログラム
US12/457,963 US7912248B2 (en) 2008-06-27 2009-06-26 Hierarchical feature tracking using optical flow

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008168921A JP4955616B2 (ja) 2008-06-27 2008-06-27 画像処理装置、画像処理方法及び画像処理プログラム

Publications (2)

Publication Number Publication Date
JP2010009375A JP2010009375A (ja) 2010-01-14
JP4955616B2 true JP4955616B2 (ja) 2012-06-20

Family

ID=41447494

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008168921A Expired - Fee Related JP4955616B2 (ja) 2008-06-27 2008-06-27 画像処理装置、画像処理方法及び画像処理プログラム

Country Status (2)

Country Link
US (1) US7912248B2 (ja)
JP (1) JP4955616B2 (ja)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100316131A1 (en) * 2009-06-12 2010-12-16 Motorola, Inc. Macroblock level no-reference objective quality estimation of video
US8436857B2 (en) * 2009-10-20 2013-05-07 Oracle America, Inc. System and method for applying level of detail schemes
JP5700968B2 (ja) * 2010-07-16 2015-04-15 キヤノン株式会社 画像処理装置、画像処理方法、およびプログラム
US20120076403A1 (en) * 2010-09-23 2012-03-29 Oscar Nestares System and method for all-in-focus imaging from multiple images acquired with hand-held camera
JP5417312B2 (ja) * 2010-12-20 2014-02-12 日本電信電話株式会社 画像検索装置、および画像検索プログラム
JP5360106B2 (ja) 2011-03-25 2013-12-04 ブラザー工業株式会社 情報処理プログラム、情報処理装置、および情報処理方法
JP2013171370A (ja) * 2012-02-20 2013-09-02 Sony Corp 情報処理装置、情報処理方法、プログラム、及び情報処理システム
JP2013187726A (ja) * 2012-03-08 2013-09-19 Casio Comput Co Ltd 画像解析装置、画像処理装置、画像解析方法及びプログラム
JP6183025B2 (ja) 2013-07-23 2017-08-23 ブラザー工業株式会社 情報処理プログラム、情報処理装置、および情報処理装置の制御方法
CN103426184B (zh) 2013-08-01 2016-08-10 华为技术有限公司 一种光流跟踪方法和装置
JP6109699B2 (ja) * 2013-09-30 2017-04-05 Kddi株式会社 姿勢パラメータ推定装置、姿勢パラメータ推定方法、およびプログラム
JP6244876B2 (ja) 2013-12-17 2017-12-13 ブラザー工業株式会社 情報処理プログラム、情報処理装置、および情報処理装置の制御方法
KR20150116260A (ko) 2014-04-07 2015-10-15 삼성전자주식회사 마커 추적 방법 및 그 전자 장치
JP2016164709A (ja) * 2015-03-06 2016-09-08 キヤノン株式会社 画像処理装置、撮像装置および画像処理プログラム
AU2016316037B2 (en) * 2015-09-04 2020-07-02 Crown Equipment Corporation Industrial vehicle with feature-based localization and navigation
CN115278228A (zh) * 2015-11-11 2022-11-01 三星电子株式会社 对视频进行解码的方法和对视频进行编码的方法
CN105488811B (zh) * 2015-11-23 2018-06-12 华中科技大学 一种基于深度梯度的目标跟踪方法与系统
KR101879580B1 (ko) * 2016-10-13 2018-07-19 (주)넥스트칩 특징점의 방향 벡터를 계산하는 방법 및 장치
US11100652B2 (en) * 2017-01-24 2021-08-24 SZ DJI Technology Co., Ltd. Method and system for feature tracking using image pyramids
US10366500B2 (en) * 2017-06-30 2019-07-30 The United States Of America, As Represented By The Secretary Of The Navy Autonomous characterization of water flow from surface water velocity
CN109285122B (zh) * 2017-07-20 2022-09-27 阿里巴巴集团控股有限公司 一种进行图像处理的方法和设备
JP6783732B2 (ja) * 2017-09-15 2020-11-11 株式会社東芝 画像処理装置および画像処理方法
CN108154098A (zh) * 2017-12-20 2018-06-12 歌尔股份有限公司 一种机器人的目标识别方法、装置和机器人
US10848681B2 (en) * 2018-04-17 2020-11-24 Facebook Technologies, Llc Image reconstruction from image sensor output
CN109063549B (zh) * 2018-06-19 2020-10-16 中国科学院自动化研究所 基于深度神经网络的高分辨率航拍视频运动目标检测方法
US11430212B2 (en) * 2018-07-24 2022-08-30 Magic Leap, Inc. Methods and apparatuses for corner detection
US11138002B2 (en) * 2018-09-28 2021-10-05 Atlassian Pty Ltd. Issue tracking systems and methods
US11023838B2 (en) * 2018-09-28 2021-06-01 Atlassian Pty Ltd. Issue tracking systems and methods
CN110287955B (zh) * 2019-06-05 2021-06-22 北京字节跳动网络技术有限公司 目标区域确定模型训练方法、装置和计算机可读存储介质
CN111382784B (zh) * 2020-03-04 2021-11-26 厦门星纵智能科技有限公司 一种运动目标跟踪方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5627905A (en) * 1994-12-12 1997-05-06 Lockheed Martin Tactical Defense Systems Optical flow detection system
KR0181036B1 (ko) * 1995-04-08 1999-05-01 배순훈 움직임 영상의 이동 물체 분할 및 그 움직임 추정방법
US6788802B2 (en) 1998-05-21 2004-09-07 Sanyo Electric Co., Ltd. Optical flow estimation method and image synthesis method
KR20050012768A (ko) * 2002-05-30 2005-02-02 코닌클리케 필립스 일렉트로닉스 엔.브이. 현재 모션 벡터를 추정하는 유닛 및 방법
GB0227566D0 (en) * 2002-11-26 2002-12-31 British Telecomm Method and system for estimating global motion in video sequences
JP3944647B2 (ja) * 2003-10-21 2007-07-11 コニカミノルタホールディングス株式会社 物体計測装置、物体計測方法、およびプログラム
JP3914973B2 (ja) * 2003-11-27 2007-05-16 防衛省技術研究本部長 画像の動き検出装置
US7522749B2 (en) * 2005-04-08 2009-04-21 Microsoft Corporation Simultaneous optical flow estimation and image segmentation
JP4640032B2 (ja) * 2005-08-11 2011-03-02 カシオ計算機株式会社 画像合成装置、画像合成方法及びプログラム
JP2008008797A (ja) * 2006-06-29 2008-01-17 Toyota Motor Corp カメラ挙動推定装置及びカメラ挙動推定プログラム

Also Published As

Publication number Publication date
JP2010009375A (ja) 2010-01-14
US20090324013A1 (en) 2009-12-31
US7912248B2 (en) 2011-03-22

Similar Documents

Publication Publication Date Title
JP4955616B2 (ja) 画像処理装置、画像処理方法及び画像処理プログラム
KR101643672B1 (ko) 광류 추적 방법 및 장치
JP4883223B2 (ja) 動きベクトル生成装置および動きベクトル生成方法
EP2141653A2 (en) Computing higher resolution images from multiple lower resolution images
CN108776971B (zh) 一种基于分层最近邻域的变分光流确定方法及系统
JP4741836B2 (ja) 質量中心の繰り返し使用によるカメラパンベクトルのロバスト推定
JP2007000205A (ja) 画像処理装置及び画像処理方法並びに画像処理プログラム
JP6194450B2 (ja) 状態推定装置、プログラムおよび集積回路
WO2018139461A1 (ja) 移動物体検出装置、移動物体検出方法及び記憶媒体
JP4964852B2 (ja) 画像処理装置、方法及びプログラム
US7885483B2 (en) Image alignment method
KR101051389B1 (ko) 적응적 배경 기반의 객체 검출 및 추적 장치 및 방법
US20180005039A1 (en) Method and apparatus for generating an initial superpixel label map for an image
WO2014132754A1 (ja) 画像処理装置および画像処理方法
JP6579727B1 (ja) 動体検出装置、動体検出方法、動体検出プログラム
JP5566199B2 (ja) 画像処理装置およびその制御方法、並びにプログラム
CN114332156B (zh) 基于图卷积神经网络的实时三维运动补全方法
JP2011097217A (ja) 動き補正装置およびその方法
JP6371515B2 (ja) X線画像処理装置、x線画像処理方法、及びプログラム
CN112017113B (zh) 图像处理方法及装置、模型训练方法及装置、设备及介质
JP2008217330A (ja) 速度推定方法および速度推定プログラム
JP2006215657A (ja) 動きベクトル検出方法、動きベクトル検出装置、動きベクトル検出プログラム及びプログラム記録媒体
JP2000011134A (ja) 移動量検出装置及びその方法
JP2009065283A (ja) 画像ぶれ補正装置
JP6671975B2 (ja) 画像処理装置、撮像装置、画像処理方法およびコンピュータプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110202

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: 20120215

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: 20120315

R150 Certificate of patent or registration of utility model

Ref document number: 4955616

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150323

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees