(57)【特許請求の範囲】
【請求項１】
撮像素子によって撮像された画像を順次入力し、入力の度につなぎ合わせて合成画像を生成する画像処理装置であって、  前記画像を順次入力する入力部と、  前記入力部によって新たに入力された処理対象の画像である対象画像よりも前に前記入力部によって入力された１又は複数の画像からなる入力済画像の中から基準画像を選択する選択部と、  前記基準画像の特徴点と前記対象画像の特徴点との対応関係を算出するマッチング部と、  前記基準画像と前記対象画像との間の動きが前記撮像素子の回転運動のみであるとして、前記マッチング部によって前記対応関係が算出された前記特徴点のペアの位置情報を用いて前記基準画像の座標系と前記対象画像の座標系とを対応させる変換式を推定する推定部と、  前記変換式に基づいて、前記基準画像と前記対象画像とを繋ぎ合わせて前記合成画像を生成する合成部と、を備え、  前記選択部は、前記基準画像と前記対象画像との距離が所定値以上である場合には、当該対象画像を前記入力部によって次回以降新たに入力される処理対象の画像である対象画像の前記基準画像として選択する画像処理装置。
【請求項２】
前記推定部は、前記撮像素子の位置を原点とした三次元座標系の各軸の回転成分のみからなる変換式を推定する請求項１に記載の画像処理装置。
【請求項３】
前記推定部は、前記変換式を用いて変換された前記特徴点のペアのそれぞれの位置情報の差分を含む目的関数を用意し、最適化手法を用いて前記目的関数が最小値となるように収束演算することで前記変換式を推定する請求項１又は２に記載の画像処理装置。
【請求項４】
撮像素子によって撮像された画像を順次入力し、入力の度につなぎ合わせて合成画像を生成する画像処理装置であって、 前記画像を順次入力する入力部と、 前記入力部によって新たに入力された処理対象の画像である対象画像よりも前に前記入力部によって入力された１又は複数の画像からなる入力済画像の中から基準画像を選択する選択部と、 前記基準画像の特徴点と前記対象画像の特徴点との対応関係を算出するマッチング部と、 前記基準画像と前記対象画像との間の動きが前記撮像素子の回転運動のみであるとして、前記マッチング部によって前記対応関係が算出された前記特徴点のペアの位置情報を用いて前記基準画像の座標系と前記対象画像の座標系とを対応させる変換式を推定する推定部と、 前記変換式に基づいて、前記基準画像と前記対象画像とを繋ぎ合わせて前記合成画像を生成する合成部と、を備え、 前記推定部は、  前記変換式を用いて変換された前記特徴点のペアのそれぞれの位置情報の差分を含む目的関数を用意し、最適化手法を用いて前記目的関数が最小値となるように収束演算することで前記変換式を推定し、 前記対象画像よりも前に前記入力部によって入力された画像が複数存在する場合には、収束演算の初期値として、前記対象画像の直前に前記入力部によって入力された画像の前記変換式を採用する、画像処理装置。
【請求項５】
前記推定部は、前記マッチング部によって前記対応関係が算出された前記特徴点のペアを球面に投影し、投影後の前記特徴点のペアの位置情報を用いて前記基準画像の座標系と前記対象画像の座標系とを対応させる変換式を推定する請求項３に記載の画像処理装置。
【請求項６】
撮像素子によって撮像された画像を順次入力し、入力の度につなぎ合わせて合成画像を生成する画像処理装置であって、 前記画像を順次入力する入力部と、 前記入力部によって新たに入力された処理対象の画像である対象画像よりも前に前記入力部によって入力された１又は複数の画像からなる入力済画像の中から基準画像を選択する選択部と、 前記基準画像の特徴点と前記対象画像の特徴点との対応関係を算出するマッチング部と、 前記基準画像と前記対象画像との間の動きが前記撮像素子の回転運動のみであるとして、前記マッチング部によって前記対応関係が算出された前記特徴点のペアの位置情報を用いて前記基準画像の座標系と前記対象画像の座標系とを対応させる変換式を推定する推定部と、 前記変換式に基づいて、前記基準画像と前記対象画像とを繋ぎ合わせて前記合成画像を生成する合成部と、を備え、  前記推定部は、前記対象画像よりも前に前記入力部によって入力された画像が複数存在し、かつ、前記対象画像よりも前に前記入力部によって入力された画像の中の少なくとも１つが前記基準画像及び前記対象画像と重なる場合には、前記基準画像、前記基準画像に重なる画像及び前記対象画像のそれぞれの特徴点のペアを用いて、前記基準画像の座標系と前記基準画像に重なる画像の座標系とを対応させる変換式、及び、前記基準画像の座標系と前記対象画像の座標系とを対応させる変換式を、互いに関連づけて推定する、画像処理装置。
【請求項７】
前記選択部は、前記対象画像と前記基準画像との距離よりも前記対象画像と過去の前記基準画像との距離の方が小さい場合には、過去の基準画像を次回以降新たに入力される処理対象の画像である対象画像の前記基準画像として選択する請求項１に記載の画像処理装置。
【請求項８】
前記マッチング部は、前記対象画像と過去の前記基準画像との距離が所定値以下の場合には、過去の前記基準画像の特徴点と前記対象画像の特徴点との対応関係をさらに算出し、  前記推定部は、過去の前記基準画像と前記対象画像との前記特徴点のペアの位置情報を用いて、過去の前記基準画像の座標系と前記対象画像の座標系とを対応させる変換式をさらに推定し、  前記基準画像の座標系と前記対象画像の座標系とを対応させる変換式、過去の前記基準画像の座標系と前記対象画像の座標系とを対応させる変換式を用いて、前記基準画像と過去の前記基準画像とを対応させる請求項７に記載の画像処理装置。
【請求項９】
撮像素子によって撮像された画像を順次入力し、入力の度につなぎ合わせて合成画像を生成する画像処理装置であって、 前記画像を順次入力する入力部と、 前記入力部によって新たに入力された処理対象の画像である対象画像よりも前に前記入力部によって入力された１又は複数の画像からなる入力済画像の中から基準画像を選択する選択部と、 前記基準画像の特徴点と前記対象画像の特徴点との対応関係を算出するマッチング部と、 前記基準画像と前記対象画像との間の動きが前記撮像素子の回転運動のみであるとして、前記マッチング部によって前記対応関係が算出された前記特徴点のペアの位置情報を用いて前記基準画像の座標系と前記対象画像の座標系とを対応させる変換式を推定する推定部と、 前記変換式に基づいて、前記基準画像と前記対象画像とを繋ぎ合わせて前記合成画像を生成する合成部と、  画像を表示する表示部に接続され、ユーザのカメラ操作を誘導する案内表示を前記表示部に表示させる案内部と、を備え、  前記推定部は、前記変換式を推定した前記基準画像と前記対象画像とをリンクさせ、相対位置を決定済みのペアであるとして記録し、  前記合成部は、前記合成画像を前記表示部へ出力し、  前記案内部は、前記相対位置を決定済みのペアのうち今回の前記基準画像とのホップ数が所定値以上でかつ今回の前記基準画像と重ならない第１画像が存在する場合には、現在の撮像位置から前記第１画像の画像位置へ撮像位置を誘導する前記案内表示を前記表示部へ表示させる、画像処理装置。
【請求項１０】
撮像素子によって撮像された画像を順次入力し、入力の度につなぎ合わせて合成画像を生成する画像処理方法であって、  前記画像を順次入力する入力ステップと、  前記入力ステップによって新たに入力された処理対象の画像である対象画像よりも前に前記入力ステップによって入力された１又は複数の画像からなる入力済画像の中から基準画像を選択する選択ステップと、  前記基準画像の特徴点と前記対象画像の特徴点との対応関係を算出するマッチングステップと、  前記基準画像と前記対象画像との間の動きが前記撮像素子の回転運動のみであるとして、前記マッチングステップによって前記対応関係が算出された前記特徴点のペアの位置情報を用いて前記基準画像の座標系と前記対象画像の座標系とを対応させる変換式を推定する推定ステップと、  前記変換式に基づいて、前記基準画像と前記対象画像とを繋ぎ合わせて前記合成画像を生成する合成ステップと、を備え、  前記選択ステップでは、前記基準画像と前記対象画像との距離が所定値以上である場合には、当該対象画像を前記入力ステップによって次回以降新たに入力される処理対象の画像である対象画像の前記基準画像として選択する画像処理方法。
【請求項１１】
撮像素子によって撮像された画像を順次入力し、入力の度につなぎ合わせて合成画像を生成するようにコンピュータを機能させる画像処理プログラムであって、  前記コンピュータを、  前記画像を順次入力する入力部、  前記入力部によって新たに入力された処理対象の画像である対象画像よりも前に前記入力部によって入力された１又は複数の画像からなる入力済画像の中から基準画像を選択する選択部、  前記基準画像の特徴点と前記対象画像の特徴点との対応関係を算出するマッチング部、  前記基準画像と前記対象画像との間の動きが前記撮像素子の回転運動のみであるとして、前記マッチング部によって前記対応関係が算出された前記特徴点のペアの位置情報を用いて前記基準画像の座標系と前記対象画像の座標系とを対応させる変換式を推定する推定部、及び、  前記変換式に基づいて、前記基準画像と前記対象画像とを繋ぎ合わせて前記合成画像を生成する合成部として機能させ、  前記選択部は、前記基準画像と前記対象画像との距離が所定値以上である場合には、当該対象画像を前記入力部によって次回以降新たに入力される処理対象の画像である対象画像の前記基準画像として選択する、画像処理プログラム。
【請求項１２】
撮像素子によって撮像された画像を順次入力し、入力の度につなぎ合わせて合成画像を生成するようにコンピュータを機能させる画像処理プログラムを記録したコンピュータ読取可能な記録媒体であって、  前記コンピュータを、  前記画像を順次入力する入力部、  前記入力部によって新たに入力された処理対象の画像である対象画像よりも前に前記入力部によって入力された１又は複数の画像からなる入力済画像の中から基準画像を選択する選択部、  前記基準画像の特徴点と前記対象画像の特徴点との対応関係を算出するマッチング部、  前記基準画像と前記対象画像との間の動きが前記撮像素子の回転運動のみであるとして、前記マッチング部によって前記対応関係が算出された前記特徴点のペアの位置情報を用いて前記基準画像の座標系と前記対象画像の座標系とを対応させる変換式を推定する推定部、及び、  前記変換式に基づいて、前記基準画像と前記対象画像とを繋ぎ合わせて前記合成画像を生成する合成部として機能させる前記画像処理プログラムを記録し、  前記選択部は、前記基準画像と前記対象画像との距離が所定値以上である場合には、当該対象画像を前記入力部によって次回以降新たに入力される処理対象の画像である対象画像の前記基準画像として選択する、記録媒体。
【請求項１３】
撮像素子によって撮像された画像を順次入力し、入力の度につなぎ合わせて合成画像を生成する画像処理方法であって、  前記画像を順次入力する入力ステップと、  前記入力ステップによって新たに入力された処理対象の画像である対象画像よりも前に前記入力ステップによって入力された１又は複数の画像からなる入力済画像の中から基準画像を選択する選択ステップと、  前記基準画像の特徴点と前記対象画像の特徴点との対応関係を算出するマッチングステップと、  前記基準画像と前記対象画像との間の動きが前記撮像素子の回転運動のみであるとして、前記マッチングステップによって前記対応関係が算出された前記特徴点のペアの位置情報を用いて前記基準画像の座標系と前記対象画像の座標系とを対応させる変換式を推定する推定ステップと、  前記変換式に基づいて、前記基準画像と前記対象画像とを繋ぎ合わせて前記合成画像を生成する合成ステップと、を備え、  前記推定ステップにおいて、  前記変換式を用いて変換された前記特徴点のペアのそれぞれの位置情報の差分を含む目的関数を用意し、最適化手法を用いて前記目的関数が最小値となるように収束演算することで前記変換式を推定し、 前記対象画像よりも前に前記入力ステップにおいて入力された画像が複数存在する場合には、収束演算の初期値として、前記対象画像の直前に前記入力ステップにおいて入力された画像の前記変換式を採用する、画像処理方法。
【請求項１４】
撮像素子によって撮像された画像を順次入力し、入力の度につなぎ合わせて合成画像を生成するようにコンピュータを機能させる画像処理プログラムであって、  前記コンピュータを、  前記画像を順次入力する入力部、  前記入力部によって新たに入力された処理対象の画像である対象画像よりも前に前記入力部によって入力された１又は複数の画像からなる入力済画像の中から基準画像を選択する選択部、  前記基準画像の特徴点と前記対象画像の特徴点との対応関係を算出するマッチング部、  前記基準画像と前記対象画像との間の動きが前記撮像素子の回転運動のみであるとして、前記マッチング部によって前記対応関係が算出された前記特徴点のペアの位置情報を用いて前記基準画像の座標系と前記対象画像の座標系とを対応させる変換式を推定する推定部、及び、  前記変換式に基づいて、前記基準画像と前記対象画像とを繋ぎ合わせて前記合成画像を生成する合成部として機能させ、 前記推定部は、  前記変換式を用いて変換された前記特徴点のペアのそれぞれの位置情報の差分を含む目的関数を用意し、最適化手法を用いて前記目的関数が最小値となるように収束演算することで前記変換式を推定し、 前記対象画像よりも前に前記入力部により入力された画像が複数存在する場合には、収束演算の初期値として、前記対象画像の直前に前記入力部により入力された画像の前記変換式を採用する、画像処理プログラム。
【請求項１５】
撮像素子によって撮像された画像を順次入力し、入力の度につなぎ合わせて合成画像を生成するようにコンピュータを機能させる画像処理プログラムを記録したコンピュータ読取可能な記録媒体であって、  前記コンピュータを、  前記画像を順次入力する入力部、  前記入力部によって新たに入力された処理対象の画像である対象画像よりも前に前記入力部によって入力された１又は複数の画像からなる入力済画像の中から基準画像を選択する選択部、  前記基準画像の特徴点と前記対象画像の特徴点との対応関係を算出するマッチング部、  前記基準画像と前記対象画像との間の動きが前記撮像素子の回転運動のみであるとして、前記マッチング部によって前記対応関係が算出された前記特徴点のペアの位置情報を用いて前記基準画像の座標系と前記対象画像の座標系とを対応させる変換式を推定する推定部、及び、  前記変換式に基づいて、前記基準画像と前記対象画像とを繋ぎ合わせて前記合成画像を生成する合成部として機能させる前記画像処理プログラムを記録し、  前記推定部は、  前記変換式を用いて変換された前記特徴点のペアのそれぞれの位置情報の差分を含む目的関数を用意し、最適化手法を用いて前記目的関数が最小値となるように収束演算することで前記変換式を推定し、 前記対象画像よりも前に前記入力部によって入力された画像が複数存在する場合には、収束演算の初期値として、前記対象画像の直前に前記入力部によって入力された画像の前記変換式を採用する、記録媒体。
【請求項１６】
撮像素子によって撮像された画像を順次入力し、入力の度につなぎ合わせて合成画像を生成する画像処理方法であって、  前記画像を順次入力する入力ステップと、  前記入力ステップによって新たに入力された処理対象の画像である対象画像よりも前に前記入力ステップによって入力された１又は複数の画像からなる入力済画像の中から基準画像を選択する選択ステップと、  前記基準画像の特徴点と前記対象画像の特徴点との対応関係を算出するマッチングステップと、  前記基準画像と前記対象画像との間の動きが前記撮像素子の回転運動のみであるとして、前記マッチングステップによって前記対応関係が算出された前記特徴点のペアの位置情報を用いて前記基準画像の座標系と前記対象画像の座標系とを対応させる変換式を推定する推定ステップと、  前記変換式に基づいて、前記基準画像と前記対象画像とを繋ぎ合わせて前記合成画像を生成する合成ステップと、を備え、  前記推定ステップにおいて、前記対象画像よりも前に前記入力ステップにおいて入力された画像が複数存在し、かつ、前記対象画像よりも前に前記入力ステップにおいて入力された画像の中の少なくとも１つが前記基準画像及び前記対象画像と重なる場合には、前記基準画像、前記基準画像に重なる画像及び前記対象画像のそれぞれの特徴点のペアを用いて、前記基準画像の座標系と前記基準画像に重なる画像の座標系とを対応させる変換式、及び、前記基準画像の座標系と前記対象画像の座標系とを対応させる変換式を、互いに関連づけて推定する、画像処理方法。
【請求項１７】
撮像素子によって撮像された画像を順次入力し、入力の度につなぎ合わせて合成画像を生成するようにコンピュータを機能させる画像処理プログラムであって、  前記コンピュータを、  前記画像を順次入力する入力部、  前記入力部によって新たに入力された処理対象の画像である対象画像よりも前に前記入力部によって入力された１又は複数の画像からなる入力済画像の中から基準画像を選択する選択部、  前記基準画像の特徴点と前記対象画像の特徴点との対応関係を算出するマッチング部、  前記基準画像と前記対象画像との間の動きが前記撮像素子の回転運動のみであるとして、前記マッチング部によって前記対応関係が算出された前記特徴点のペアの位置情報を用いて前記基準画像の座標系と前記対象画像の座標系とを対応させる変換式を推定する推定部、及び、  前記変換式に基づいて、前記基準画像と前記対象画像とを繋ぎ合わせて前記合成画像を生成する合成部として機能させ、 前記推定部は、前記対象画像よりも前に前記入力部によって入力された画像が複数存在し、かつ、前記対象画像よりも前に前記入力部によって入力された画像の中の少なくとも１つが前記基準画像及び前記対象画像と重なる場合には、前記基準画像、前記基準画像に重なる画像及び前記対象画像のそれぞれの特徴点のペアを用いて、前記基準画像の座標系と前記基準画像に重なる画像の座標系とを対応させる変換式、及び、前記基準画像の座標系と前記対象画像の座標系とを対応させる変換式を、互いに関連づけて推定する、画像処理プログラム。
【請求項１８】
撮像素子によって撮像された画像を順次入力し、入力の度につなぎ合わせて合成画像を生成するようにコンピュータを機能させる画像処理プログラムを記録したコンピュータ読取可能な記録媒体であって、  前記コンピュータを、  前記画像を順次入力する入力部、  前記入力部によって新たに入力された処理対象の画像である対象画像よりも前に前記入力部によって入力された１又は複数の画像からなる入力済画像の中から基準画像を選択する選択部、  前記基準画像の特徴点と前記対象画像の特徴点との対応関係を算出するマッチング部、  前記基準画像と前記対象画像との間の動きが前記撮像素子の回転運動のみであるとして、前記マッチング部によって前記対応関係が算出された前記特徴点のペアの位置情報を用いて前記基準画像の座標系と前記対象画像の座標系とを対応させる変換式を推定する推定部、及び、  前記変換式に基づいて、前記基準画像と前記対象画像とを繋ぎ合わせて前記合成画像を生成する合成部として機能させる前記画像処理プログラムを記録し、  前記推定部は、前記対象画像よりも前に前記入力部によって入力された画像が複数存在し、かつ、前記対象画像よりも前に前記入力部によって入力された画像の中の少なくとも１つが前記基準画像及び前記対象画像と重なる場合には、前記基準画像、前記基準画像に重なる画像及び前記対象画像のそれぞれの特徴点のペアを用いて、前記基準画像の座標系と前記基準画像に重なる画像の座標系とを対応させる変換式、及び、前記基準画像の座標系と前記対象画像の座標系とを対応させる変換式を、互いに関連づけて推定する、記録媒体。
【請求項１９】
撮像素子によって撮像された画像を順次入力し、入力の度につなぎ合わせて合成画像を生成する画像処理方法であって、  前記画像を順次入力する入力ステップと、  前記入力ステップによって新たに入力された処理対象の画像である対象画像よりも前に前記入力ステップによって入力された１又は複数の画像からなる入力済画像の中から基準画像を選択する選択ステップと、  前記基準画像の特徴点と前記対象画像の特徴点との対応関係を算出するマッチングステップと、  前記基準画像と前記対象画像との間の動きが前記撮像素子の回転運動のみであるとして、前記マッチングステップによって前記対応関係が算出された前記特徴点のペアの位置情報を用いて前記基準画像の座標系と前記対象画像の座標系とを対応させる変換式を推定する推定ステップと、  前記変換式に基づいて、前記基準画像と前記対象画像とを繋ぎ合わせて前記合成画像を生成する合成ステップと、 画像を表示する表示部に接続され、ユーザのカメラ操作を誘導する案内表示を前記表示部に表示させる案内ステップと、を有し、  前記推定ステップにおいて、前記変換式を推定した前記基準画像と前記対象画像とをリンクさせ、相対位置を決定済みのペアであるとして記録し、  前記合成ステップにおいて、前記合成画像を前記表示部へ出力し、  前記案内ステップにおいて、前記相対位置を決定済みのペアのうち今回の前記基準画像とのホップ数が所定値以上でかつ今回の前記基準画像と重ならない第１画像が存在する場合には、現在の撮像位置から前記第１画像の画像位置へ撮像位置を誘導する前記案内表示を前記表示部へ表示させる、画像処理方法。
【請求項２０】
撮像素子によって撮像された画像を順次入力し、入力の度につなぎ合わせて合成画像を生成するようにコンピュータを機能させる画像処理プログラムであって、  前記コンピュータを、  前記画像を順次入力する入力部、  前記入力部によって新たに入力された処理対象の画像である対象画像よりも前に前記入力部によって入力された１又は複数の画像からなる入力済画像の中から基準画像を選択する選択部、  前記基準画像の特徴点と前記対象画像の特徴点との対応関係を算出するマッチング部、  前記基準画像と前記対象画像との間の動きが前記撮像素子の回転運動のみであるとして、前記マッチング部によって前記対応関係が算出された前記特徴点のペアの位置情報を用いて前記基準画像の座標系と前記対象画像の座標系とを対応させる変換式を推定する推定部、  前記変換式に基づいて、前記基準画像と前記対象画像とを繋ぎ合わせて前記合成画像を生成する合成部、及び、 画像を表示する表示部に接続され、ユーザのカメラ操作を誘導する案内表示を前記表示部に表示させる案内部として機能させ、  前記推定部は、前記変換式を推定した前記基準画像と前記対象画像とをリンクさせ、相対位置を決定済みのペアであるとして記録し、  前記合成部は、前記合成画像を前記表示部へ出力し、  前記案内部は、前記相対位置を決定済みのペアのうち今回の前記基準画像とのホップ数が所定値以上でかつ今回の前記基準画像と重ならない第１画像が存在する場合には、現在の撮像位置から前記第１画像の画像位置へ撮像位置を誘導する前記案内表示を前記表示部へ表示させる、画像処理プログラム。
【請求項２１】
撮像素子によって撮像された画像を順次入力し、入力の度につなぎ合わせて合成画像を生成するようにコンピュータを機能させる画像処理プログラムを記録したコンピュータ読取可能な記録媒体であって、  前記コンピュータを、  前記画像を順次入力する入力部、  前記入力部によって新たに入力された処理対象の画像である対象画像よりも前に前記入力部によって入力された１又は複数の画像からなる入力済画像の中から基準画像を選択する選択部、  前記基準画像の特徴点と前記対象画像の特徴点との対応関係を算出するマッチング部、  前記基準画像と前記対象画像との間の動きが前記撮像素子の回転運動のみであるとして、前記マッチング部によって前記対応関係が算出された前記特徴点のペアの位置情報を用いて前記基準画像の座標系と前記対象画像の座標系とを対応させる変換式を推定する推定部、  前記変換式に基づいて、前記基準画像と前記対象画像とを繋ぎ合わせて前記合成画像を生成する合成部、及び 画像を表示する表示部に接続され、ユーザのカメラ操作を誘導する案内表示を前記表示部に表示させる案内部として機能させる前記画像処理プログラムを記録し、  前記推定部は、前記変換式を推定した前記基準画像と前記対象画像とをリンクさせ、相対位置を決定済みのペアであるとして記録し、  前記合成部は、前記合成画像を前記表示部へ出力し、  前記案内部は、前記相対位置を決定済みのペアのうち今回の前記基準画像とのホップ数が所定値以上でかつ今回の前記基準画像と重ならない第１画像が存在する場合には、現在の撮像位置から前記第１画像の画像位置へ撮像位置を誘導する前記案内表示を前記表示部へ表示させる、コンピュータ読取可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法、画像処理プログラム及び記録媒体に関するものである。
【背景技術】
【０００２】
従来、画像処理装置として、撮像された画像をつなぎ合わせて一枚の広角な静止画像であるパノラマ静止画像を作成する装置が知られている（例えば、特許文献１参照）。特許文献１記載の画像処理装置は、同一地点から異なった方位を撮像した複数の画像を合成する。具体的には、２つの画像のそれぞれの座標系を、変換行列を用いて統一させた上で両画像を合成する。この変換行列は、最小二乗法で算出される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１１−７３４９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１記載の画像処理装置にあっては、変換行列の成分が特に限定されていないため、例えば最小二乗法を用いて変換後の２枚間の位置誤差を最小とさせる変換行列を求めると、画像の大きさを縮小方向へ変更する行列が解となる傾向にある。そうすると、特許文献１記載の画像処理装置にあっては、異なる方位で撮像された対象画像を順次入力し、入力済みの基準画像と対象画像とを逐次合成してパノラマ画像を生成する場合、入力された対象画像が縮小されて合成され、その縮小された対象画像を基準として次回の対象画像の変換行列が推定される。このため、合成の度に誤差が累積し、結果として良質のパノラマ画像を得ることができないおそれがある。【０００５】
本技術分野では、入力された画像を順次つなぎ合わせる際に、撮像方位の異なる画像が含まれていた場合であっても、誤差の蓄積を抑制し、良質なパノラマ画像を得ることが望まれている。
【課題を解決するための手段】
【０００６】
すなわち、本発明の一側面に係る画像処理装置は、撮像素子によって撮像された画像を順次入力し、入力の度につなぎ合わせて合成画像を生成する画像処理装置である。該装置は、入力部、選択部、マッチング部、推定部及び合成部を備える。入力部は、画像を順次入力する。選択部は、入力部によって新たに入力された処理対象の画像である対象画像よりも前に入力部によって入力された１又は複数の画像からなる入力済画像の中から基準画像を選択する。マッチング部は、基準画像の特徴点と対象画像の特徴点との対応関係を算出する。推定部は、基準画像と対象画像との間の動きが撮像素子の回転運動のみであるとして、マッチング部によって対応関係が算出された特徴点のペアの位置情報を用いて基準画像の座標系と対象画像の座標系とを対応させる変換式を推定する。合成部は、変換式に基づいて、基準画像と対象画像とを繋ぎ合わせて合成画像を生成する。そして、選択部は、基準画像と対象画像との距離が所定値以上である場合には、当該対象画像を入力部によって次回以降新たに入力される処理対象の画像である対象画像の基準画像として選択する。
【０００７】
本発明の一側面に係る画像処理装置では、基準画像と対象画像との間の動きが撮像素子の回転運動のみに起因するとして両画像の座標系を対応させる変換式を推定する。このため、変換式には、拡大・縮小・平行移動等のパラメータが含まれないことになるので、入力された対象画像が縮小等されて誤差が生じることを回避することができる。さらに、回転成分のみに限定することで、縮小等された対象画像を次回以降の基準画像とすることを回避することが可能であるため、誤差の蓄積を回避することができる。よって、入力された画像を順次つなぎ合わせる際に、撮像方位の異なる画像が含まれていた場合であっても、誤差の蓄積を抑制し、良質なパノラマ画像を得ることが可能となる。また、対象画像との重なり面積が大きい基準画像を選択することができる。
【０００８】
一実施形態では、推定部は、撮像素子の位置を原点とした三次元座標系の各軸の回転成分のみからなる変換式を推定してもよい。【０００９】
一実施形態では、推定部は、変換式を用いて変換された特徴点のペアのそれぞれの位置情報の差分を含む目的関数を用意し、最適化手法を用いて目的関数が最小値となるように収束演算することで変換式を推定してもよい。このように構成することで、基準画像と対象画像との間の座標系を対応させる変換式を精度良く推定することができる。【００１０】 また、本発明の一側面に係る画像処理装置は、撮像素子によって撮像された画像を順次入力し、入力の度につなぎ合わせて合成画像を生成する画像処理装置であって、前記画像を順次入力する入力部と、前記入力部によって新たに入力された処理対象の画像である対象画像よりも前に前記入力部によって入力された１又は複数の画像からなる入力済画像の中から基準画像を選択する選択部と、前記基準画像の特徴点と前記対象画像の特徴点との対応関係を算出するマッチング部と、前記基準画像と前記対象画像との間の動きが前記撮像素子の回転運動のみであるとして、前記マッチング部によって前記対応関係が算出された前記特徴点のペアの位置情報を用いて前記基準画像の座標系と前記対象画像の座標系とを対応させる変換式を推定する推定部と、前記変換式に基づいて、前記基準画像と前記対象画像とを繋ぎ合わせて前記合成画像を生成する合成部と、を備え、前記推定部は、前記変換式を用いて変換された前記特徴点のペアのそれぞれの位置情報の差分を含む目的関数を用意し、最適化手法を用いて前記目的関数が最小値となるように収束演算することで前記変換式を推定し、前記対象画像よりも前に前記入力部によって入力された画像が複数存在する場合には、収束演算の初期値として、前記対象画像の直前に前記入力部によって入力された画像の前記変換式を採用する。 このような構成により、基準画像と対象画像との間の座標系を対応させる変換式を精度良く推定することができる。また、演算の収束が早くなるため、計算コストの抑制と演算速度の向上を実現することができる。【００１１】
一実施形態では、推定部は、マッチング部によって対応関係が算出された特徴点のペアを球面に投影し、投影後の特徴点のペアの位置情報を用いて基準画像の座標系と対象画像の座標系とを対応させる変換式を推定してもよい。このように構成することで、変換式を用いた後の座標に変数の除算が含まれない形とすることができるため、計算コストの抑制と演算速度の向上を実現することができる。【００１２】 また、本発明の一側面に係る画像処理装置は、撮像素子によって撮像された画像を順次入力し、入力の度につなぎ合わせて合成画像を生成する画像処理装置であって、前記画像を順次入力する入力部と、前記入力部によって新たに入力された処理対象の画像である対象画像よりも前に前記入力部によって入力された１又は複数の画像からなる入力済画像の中から基準画像を選択する選択部と、前記基準画像の特徴点と前記対象画像の特徴点との対応関係を算出するマッチング部と、前記基準画像と前記対象画像との間の動きが前記撮像素子の回転運動のみであるとして、前記マッチング部によって前記対応関係が算出された前記特徴点のペアの位置情報を用いて前記基準画像の座標系と前記対象画像の座標系とを対応させる変換式を推定する推定部と、前記変換式に基づいて、前記基準画像と前記対象画像とを繋ぎ合わせて前記合成画像を生成する合成部と、を備え、前記推定部は、前記対象画像よりも前に前記入力部によって入力された画像が複数存在し、かつ、前記対象画像よりも前に前記入力部によって入力された画像の中の少なくとも１つが前記基準画像及び前記対象画像と重なる場合には、前記基準画像、前記基準画像に重なる画像及び前記対象画像のそれぞれの特徴点のペアを用いて、前記基準画像の座標系と前記基準画像に重なる画像の座標系とを対応させる変換式、及び、前記基準画像の座標系と前記対象画像の座標系とを対応させる変換式を、互いに関連づけて推定する。  このように構成することで、基準画像と対象画像との位置関係のみならず、基準画像と他の画像との位置関係を考慮した上で、これらの画像の位置関係を推定することができるため、変換式の精度を向上させることが可能となる。【００１４】
一実施形態では、選択部は、対象画像と基準画像との距離よりも対象画像と過去の基準画像との距離の方が小さい場合には、過去の基準画像を次回以降新たに入力される処理対象の画像である対象画像の基準画像として選択してもよい。このように選択することで、対象画像との重なり面積が大きい基準画像を選択することができる。【００１５】
一実施形態では、マッチング部は、対象画像と過去の基準画像との距離が所定値以下の場合には、過去の基準画像の特徴点と対象画像の特徴点との対応関係をさらに算出し、推定部は、過去の基準画像と対象画像との特徴点のペアの位置情報を用いて、過去の基準画像の座標系と対象画像の座標系とを対応させる変換式をさらに推定し、基準画像の座標系と対象画像の座標系とを対応させる変換式、過去の基準画像の座標系と対象画像の座標系とを対応させる変換式を用いて、基準画像と過去の基準画像とを対応させてもよい。このように構成することで、本来重なりが非常に少ない基準画像同士を、対象画像を介してマッチングすることができるため、より良質なパノラマ画像を得ることが可能となる。【００１６】 また、本発明の一側面に係る画像処理装置は、撮像素子によって撮像された画像を順次入力し、入力の度につなぎ合わせて合成画像を生成する画像処理装置であって、前記画像を順次入力する入力部と、前記入力部によって新たに入力された処理対象の画像である対象画像よりも前に前記入力部によって入力された１又は複数の画像からなる入力済画像の中から基準画像を選択する選択部と、前記基準画像の特徴点と前記対象画像の特徴点との対応関係を算出するマッチング部と、前記基準画像と前記対象画像との間の動きが前記撮像素子の回転運動のみであるとして、前記マッチング部によって前記対応関係が算出された前記特徴点のペアの位置情報を用いて前記基準画像の座標系と前記対象画像の座標系とを対応させる変換式を推定する推定部と、前記変換式に基づいて、前記基準画像と前記対象画像とを繋ぎ合わせて前記合成画像を生成する合成部と、画像を表示する表示部に接続され、ユーザのカメラ操作を誘導する案内表示を前記表示部に表示させる案内部と、を備え、前記推定部は、前記変換式を推定した前記基準画像と前記対象画像とをリンクさせ、相対位置を決定済みのペアであるとして記録し、前記合成部は、前記合成画像を前記表示部へ出力し、前記案内部は、前記相対位置を決定済みのペアのうち今回の前記基準画像とのホップ数が所定値以上でかつ今回の前記基準画像と重ならない第１画像が存在する場合には、現在の撮像位置から前記第１画像の画像位置へ撮像位置を誘導する前記案内表示を前記表示部へ表示させる。  このように構成することで、第１画像と基準画像との位置関係が複数枚の画像を介して相対的に決定されていることにより誤差が蓄積した状態で合成する状況を回避するようにユーザ操作を促すことができる。【００１７】  本発明の他の側面に係る画像処理方法は、撮像素子によって撮像された画像を順次入力し、入力の度につなぎ合わせて合成画像を生成する画像処理方法である。該方法は、入力ステップ、選択ステップ、マッチングステップ、推定ステップ及び合成ステップを備える。入力ステップは、画像を順次入力する。選択ステップでは、入力ステップによって新たに入力された処理対象の画像である対象画像よりも前に入力ステップによって入力された１又は複数の画像からなる入力済画像の中から基準画像を選択する。マッチングステップでは、基準画像の特徴点と対象画像の特徴点との対応関係を算出する。推定ステップでは、基準画像と対象画像���の間の動きが撮像素子の回転運動のみであるとして、マッチングステップによって対応関係が算出された特徴点のペアの位置情報を用いて基準画像の座標系と対象画像の座標系とを対応させる変換式を推定する。合成ステップでは、変換式に基づいて、基準画像と対象画像とを繋ぎ合わせて合成画像を生成する。そして、選択ステップでは、基準画像と対象画像との距離が所定値以上である場合には、当該対象画像を入力ステップによって次回以降新たに入力される処理対象の画像である対象画像の基準画像として選択する。 また、本発明の他の側面に係る画像処理方法は、撮像素子によって撮像された画像を順次入力し、入力の度につなぎ合わせて合成画像を生成する画像処理方法であって、前記画像を順次入力する入力ステップと、前記入力ステップによって新たに入力された処理対象の画像である対象画像よりも前に前記入力ステップによって入力された１又は複数の画像からなる入力済画像の中から基準画像を選択する選択ステップと、前記基準画像の特徴点と前記対象画像の特徴点との対応関係を算出するマッチングステップと、前記基準画像と前記対象画像との間の動きが前記撮像素子の回転運動のみであるとして、前記マッチングステップによって前記対応関係が算出された前記特徴点のペアの位置情報を用いて前記基準画像の座標系と前記対象画像の座標系とを対応させる変換式を推定する推定ステップと、前記変換式に基づいて、前記基準画像と前記対象画像とを繋ぎ合わせて前記合成画像を生成する合成ステップと、を備え、前記推定ステップにおいて、前記変換式を用いて変換された前記特徴点のペアのそれぞれの位置情報の差分を含む目的関数を用意し、最適化手法を用いて前記目的関数が最小値となるように収束演算することで前記変換式を推定し、前記対象画像よりも前に前記入力ステップにおいて入力された画像が複数存在する場合には、収束演算の初期値として、前記対象画像の直前に前記入力ステップにおいて入力された画像の前記変換式を採用する。 また、本発明の他の側面に係る画像処理方法は、撮像素子によって撮像された画像を順次入力し、入力の度につなぎ合わせて合成画像を生成する画像処理方法であって、前記画像を順次入力する入力ステップと、前記入力ステップによって新たに入力された処理対象の画像である対象画像よりも前に前記入力ステップによって入力された１又は複数の画像からなる入力済画像の中から基準画像を選択する選択ステップと、前記基準画像の特徴点と前記対象画像の特徴点との対応関係を算出するマッチングステップと、前記基準画像と前記対象画像との間の動きが前記撮像素子の回転運動のみであるとして、前記マッチングステップによって前記対応関係が算出された前記特徴点のペアの位置情報を用いて前記基準画像の座標系と前記対象画像の座標系とを対応させる変換式を推定する推定ステップと、前記変換式に基づいて、前記基準画像と前記対象画像とを繋ぎ合わせて前記合成画像を生成する合成ステップと、を備え、前記推定ステップにおいて、前記対象画像よりも前に前記入力ステップにおいて入力された画像が複数存在し、かつ、前記対象画像よりも前に前記入力ステップにおいて入力された画像の中の少なくとも１つが前記基準��像及び前記対象画像と重なる場合には、前記基準画像、前記基準画像に重なる画像及び前記対象画像のそれぞれの特徴点のペアを用いて、前記基準画像の座標系と前記基準画像に重なる画像の座標系とを対応させる変換式、及び、前記基準画像の座標系と前記対象画像の座標系とを対応させる変換式を、互いに関連づけて推定する。 また、本発明の他の側面に係る画像処理方法は、撮像素子によって撮像された画像を順次入力し、入力の度につなぎ合わせて合成画像を生成する画像処理方法であって、前記画像を順次入力する入力ステップと、前記入力ステップによって新たに入力された処理対象の画像である対象画像よりも前に前記入力ステップによって入力された１又は複数の画像からなる入力済画像の中から基準画像を選択する選択ステップと、前記基準画像の特徴点と前記対象画像の特徴点との対応関係を算出するマッチングステップと、前記基準画像と前記対象画像との間の動きが前記撮像素子の回転運動のみであるとして、前記マッチングステップによって前記対応関係が算出された前記特徴点のペアの位置情報を用いて前記基準画像の座標系と前記対象画像の座標系とを対応させる変換式を推定する推定ステップと、前記変換式に基づいて、前記基準画像と前記対象画像とを繋ぎ合わせて前記合成画像を生成する合成ステップと、画像を表示する表示部に接続され、ユーザのカメラ操作を誘導する案内表示を前記表示部に表示させる案内ステップと、を有し、前記推定ステップにおいて、前記変換式を推定した前記基準画像と前記対象画像とをリンクさせ、相対位置を決定済みのペアであるとして記録し、前記合成ステップにおいて、前記合成画像を前記表示部へ出力し、前記案内ステップにおいて、前記相対位置を決定済みのペアのうち今回の前記基準画像とのホップ数が所定値以上でかつ今回の前記基準画像と重ならない第１画像が存在する場合には、現在の撮像位置から前記第１画像の画像位置へ撮像位置を誘導する前記案内表示を前記表示部へ表示させる。【００１８】
この画像処理方法によれば、上述した本発明の一側面に係る画像処理装置と同様の効果を奏する。【００１９】  本発明の他の側面に係る画像処理プログラムは、撮像素子によって撮像された画像を順次入力し、入力の度につなぎ合わせて合成画像を生成するようにコンピュータを機能させる画像処理プログラムである。該プログラムは、コンピュータを、入力部、選択部、マッチング部、推定部及び合成部として機能させる。入力部は、画像を順次入力する。選択部は、入力部によって新たに入力された処理対象の画像である対象画像よりも前に入力部によって入力された１又は複数の画像からなる入力済画像の中から基準画像を選択する。マッチング部は、基準画像の特徴点と対象画像の特徴点との対応関係を算出する。推定部は、基準画像と対象画像との間の動きが撮像素子の回転運動のみであるとして、マッチング部によって対応関係が算出された特徴点のペアの位置情報を用いて基準画像の座標系と対象画像の座標系とを対応させる変換式を推定する。合成部は、変換式に基づいて、基準画像と対象画像とを繋ぎ合わせて合成画像を生成する。そして、選択部は、基準画像と対象画像との距離が所定値以上である場合には、当該対象画像を入力部によって次回以降新たに入力される処理対象の画像である対象画像の基準画像として選択する。 また、本発明の他の側面に係る画像処理プログラムは、撮像素子によって撮像された画像を順次入力し、入力の度につなぎ合わせて合成画像を生成するようにコンピュータを機能させる画像処理プログラムであって、前記コンピュータを、前記画像を順次入力する入力部、前記入力部によって新たに入力された処理対象の画像である対象画像よりも前に前記入力部によって入力された１又は複数の画像からなる入力済画像の中から基準画像を選択する選択部、前記基準画像の特徴点と前記対象画像の特徴点との対応関係を算出するマッチング部、前記基準画像と前記対象画像との間の動きが前記撮像素子の回転運動のみであるとして、前記マッチング部によって前記対応関係が算出された前記特徴点のペアの位置情報を用いて前記基準画像の座標系と前記対象画像の座標系とを対応させる変換式を推定する推定部、及び、前記変換式に基づいて、前記基準画像と前記対象画像とを繋ぎ合わせて前記合成画像を生成する合成部として機能させ、前記推定部は、前記変換式を用いて変換された前記特徴点のペアのそれぞれの位置情報の差分を含む目的関数を用意し、最適化手法を用いて前記目的関数が最小値となるように収束演算することで前記変換式を推定し、前記対象画像よりも前に前記入力部によって入力された画像が複数存在する場合には、収束演算の初期値として、前記対象画像の直前に前記入力部によって入力された画像の前記変換式を採用する。 また、本発明の他の側面に係る画像処理プログラムは、撮像素子によって撮像された画像を順次入力し、入力の度につなぎ合わせて合成画像を生成するようにコンピュータを機能させる画像処理プログラムであって、前記コンピュータを、前記画像を順次入力する入力部、前記入力部によって新たに入力された処理対象の画像である対象画像よりも前に前記入力部によって入力された１又は複数の画像からなる入力済画像の中��ら基準画像を選択する選択部、前記基準画像の特徴点と前記対象画像の特徴点との対応関係を算出するマッチング部、前記基準画像と前記対象画像との間の動きが前記撮像素子の回転運動のみであるとして、前記マッチング部によって前記対応関係が算出された前記特徴点のペアの位置情報を用いて前記基準画像の座標系と前記対象画像の座標系とを対応させる変換式を推定する推定部、及び、前記変換式に基づいて、前記基準画像と前記対象画像とを繋ぎ合わせて前記合成画像を生成する合成部として機能させ、前記推定部は、前記対象画像よりも前に前記入力部によって入力された画像が複数存在し、かつ、前記対象画像よりも前に前記入力部によって入力された画像の中の少なくとも１つが前記基準画像及び前記対象画像と重なる場合には、前記基準画像、前記基準画像に重なる画像及び前記対象画像のそれぞれの特徴点のペアを用いて、前記基準画像の座標系と前記基準画像に重なる画像の座標系とを対応させる変換式、及び、前記基準画像の座標系と前記対象画像の座標系とを対応させる変換式を、互いに関連づけて推定する。 また、本発明の他の側面に係る画像処理プログラムは、撮像素子によって撮像された画像を順次入力し、入力の度につなぎ合わせて合成画像を生成するようにコンピュータを機能させる画像処理プログラムであって、前記コンピュータを、前記画像を順次入力する入力部、前記入力部によって新たに入力された処理対象の画像である対象画像よりも前に前記入力部によって入力された１又は複数の画像からなる入力済画像の中から基準画像を選択する選択部、前記基準画像の特徴点と前記対象画像の特徴点との対応関係を算出するマッチング部、前記基準画像と前記対象画像との間の動きが前記撮像素子の回転運動のみであるとして、前記マッチング部によって前記対応関係が算出された前記特徴点のペアの位置情報を用いて前記基準画像の座標系と前記対象画像の座標系とを対応させる変換式を推定する推定部、前記変換式に基づいて、前記基準画像と前記対象画像とを繋ぎ合わせて前記合成画像を生成する合成部、及び、画像を表示する表示部に接続され、ユーザのカメラ操作を誘導する案内表示を前記表示部に表示させる案内部として機能させ、前記推定部は、前記変換式を推定した前記基準画像と前記対象画像とをリンクさせ、相対位置を決定済みのペアであるとして記録し、前記合成部は、前記合成画像を前記表示部へ出力し、前記案内部は、前記相対位置を決定済みのペアのうち今回の前記基準画像とのホップ数が所定値以上でかつ今回の前記基準画像と重ならない第１画像が存在する場合には、現在の撮像位置から前記第１画像の画像位置へ撮像位置を誘導する前記案内表示を前記表示部へ表示させる。【００２０】
この画像処理プログラムによれば、上述した本発明の一側面に係る画像処理装置と同様の効果を奏する。【００２１】  本発明の他の側面に係る記録媒体は、撮像素子によって撮像された画像を順次入力し、入力の度につなぎ合わせて合成画像を生成するようにコンピュータを機能させる画像処理プログラムを記録したコンピュータ読取可能な記録媒体である。該プログラムは、コンピュータを、入力部、選択部、マッチング部、推定部及び合成部として機能させる。入力部は、画像を順次入力する。選択部は、入力部によって新たに入力された処理対象の画像である対象画像よりも前に入力部によって入力された１又は複数の画像からなる入力済画像の中から基準画像を選択する。マッチング部は、基準画像の特徴点と対象画像の特徴点との対応関係を算出する。推定部は、基準画像と対象画像との間の動きが撮像素子の回転運動のみであるとして、マッチング部によって対応関係が算出された特徴点のペアの位置情報を用いて基準画像の座標系と対象画像の座標系とを対応させる変換式を推定する。合成部は、変換式に基づいて、入力済画像と対象画像とを合成して合成画像を生成する。そして、選択部は、基準画像と対象画像との距離が所定値以上である場合には、当該対象画像を入力部によって次回以降新たに入力される処理対象の画像である対象画像の基準画像として選択する。 また、本発明の他の側面に係る記録媒体は、撮像素子によって撮像された画像を順次入力し、入力の度につなぎ合わせて合成画像を生成するようにコンピュータを機能させる画像処理プログラムを記録したコンピュータ読取可能な記録媒体であって、前記コンピュータを、前記画像を順次入力する入力部、前記入力部によって新たに入力された処理対象の画像である対象画像よりも前に前記入力部によって入力された１又は複数の画像からなる入力済画像の中から基準画像を選択する選択部、前記基準画像の特徴点と前記対象画像の特徴点との対応関係を算出するマッチング部、前記基準画像と前記対象画像との間の動きが前記撮像素子の回転運動のみであるとして、前記マッチング部によって前記対応関係が算出された前記特徴点のペアの位置情報を用いて前記基準画像の座標系と前記対象画像の座標系とを対応させる変換式を推定する推定部、及び、前記変換式に基づいて、前記基準画像と前記対象画像とを繋ぎ合わせて前記合成画像を生成する合成部として機能させる前記画像処理プログラムを記録し、前記推定部は、前記変換式を用いて変換された前記特徴点のペアのそれぞれの位置情報の差分を含む目的関数を用意し、最適化手法を用いて前記目的関数が最小値となるように収束演算することで前記変換式を推定し、前記対象画像よりも前に前記入力部によって入力された画像が複数存在する場合には、収束演算の初期値として、前記対象画像の直前に前記入力部によって入力された画像の前記変換式を採用する。 また、本発明の他の側面に係る記録媒体は、撮像素子によって撮像された画像を順次入力し、入力の度につなぎ合わせて合成画像を生成するようにコンピュータを機能させる画像処理プログラムを記録したコンピュータ読取可能な記録媒体であって、前記コンピュータを、前記画像を順次入力する入力部、前記入力部に��って新たに入力された処理対象の画像である対象画像よりも前に前記入力部によって入力された１又は複数の画像からなる入力済画像の中から基準画像を選択する選択部、前記基準画像の特徴点と前記対象画像の特徴点との対応関係を算出するマッチング部、前記基準画像と前記対象画像との間の動きが前記撮像素子の回転運動のみであるとして、前記マッチング部によって前記対応関係が算出された前記特徴点のペアの位置情報を用いて前記基準画像の座標系と前記対象画像の座標系とを対応させる変換式を推定する推定部、及び、前記変換式に基づいて、前記基準画像と前記対象画像とを繋ぎ合わせて前記合成画像を生成する合成部として機能させる前記画像処理プログラムを記録し、前記推定部は、前記対象画像よりも前に前記入力部によって入力された画像が複数存在し、かつ、前記対象画像よりも前に前記入力部によって入力された画像の中の少なくとも１つが前記基準画像及び前記対象画像と重なる場合には、前記基準画像、前記基準画像に重なる画像及び前記対象画像のそれぞれの特徴点のペアを用いて、前記基準画像の座標系と前記基準画像に重なる画像の座標系とを対応させる変換式、及び、前記基準画像の座標系と前記対象画像の座標系とを対応させる変換式を、互いに関連づけて推定する。 また、本発明の他の側面に係る記録媒体は、撮像素子によって撮像された画像を順次入力し、入力の度につなぎ合わせて合成画像を生成するようにコンピュータを機能させる画像処理プログラムを記録したコンピュータ読取可能な記録媒体であって、前記コンピュータを、前記画像を順次入力する入力部、前記入力部によって新たに入力された処理対象の画像である対象画像よりも前に前記入力部によって入力された１又は複数の画像からなる入力済画像の中から基準画像を選択する選択部、前記基準画像の特徴点と前記対象画像の特徴点との対応関係を算出するマッチング部、前記基準画像と前記対象画像との間の動きが前記撮像素子の回転運動のみであるとして、前記マッチング部によって前記対応関係が算出された前記特徴点のペアの位置情報を用いて前記基準画像の座標系と前記対象画像の座標系とを対応させる変換式を推定する推定部、前記変換式に基づいて、前記基準画像と前記対象画像とを繋ぎ合わせて前記合成画像を生成する合成部、及び画像を表示する表示部に接続され、ユーザのカメラ操作を誘導する案内表示を前記表示部に表示させる案内部として機能させる前記画像処理プログラムを記録し、前記推定部は、前記変換式を推定した前記基準画像と前記対象画像とをリンクさせ、相対位置を決定済みのペアであるとして記録し、前記合成部は、前記合成画像を前記表示部へ出力し、前記案内部は、前記相対位置を決定済みのペアのうち今回の前記基準画像とのホップ数が所定値以上でかつ今回の前記基準画像と重ならない第１画像が存在する場合には、現在の撮像位置から前記第１画像の画像位置へ撮像位置を誘導する前記案内表示を前記表示部へ表示させる。【００２２】
この記録媒体によれば、上述した本発明の一側面に係る画像処理装置と同様の効果を奏する。
【発明の効果】
【００２３】
本発明の種々の側面及び実施形態によれば、入力された画像を順次つなぎ合わせる際に、撮像方位の異なる画像が含まれていた場合であっても、誤差の蓄積を抑制し、良質なパノラマ画像を得ることができる画像処理装置、画像処理方法、画像処理プログラム及び記録媒体が提供される。
【図面の簡単な説明】
【００２４】
【図１】実施形態に係る画像処理装置を搭載した携帯端末の機能ブロック図である。
【図２】実施形態に係る画像処理装置が搭載される携帯端末のハードウェア構成図である。
【図３】広角パノラマ合成画像を説明する概要図である。
【図４】対象画像の合成時の変形を説明する概要図である。
【図５】基準画像と対象画像の位置合わせを説明する概要図である。
【図６】対象画像の合成時の変形をカメラ回転に基づいて説明する概要図である。
【図７】基準画像と対象画像の対応点を説明する概要図である。
【図８】基準画像と対象画像の位置合わせの詳細を説明する概要図である。
【図９】複数の画像の位置合わせを説明する概要図である。
【図１０】基準画像の選択条件を説明する概要図である。
【図１１】複数画像の動きを同時に推定する場合を説明する概要図である。
【図１２】基準画像同士の位置合わせを説明する概要図である。
【図１３】案内表示を説明する概要図である。
【図１４】合成処理を説明する概要図である。
【図１５】実施形態に係る画像処理装置の動作を説明するフローチャートである。
【図１６】実施形態に係る画像処理装置の動作を説明するフローチャートである。
【発明を実施するための形態】
【００２５】
以下、添付図面を参照して本発明の実施形態について説明する。なお、各図において同一又は相当部分には同一の符号を付し、重複する説明を省略する。
【００２６】
本実施形態に係る画像処理装置は、入力画像を入力の度につなぎ合わせて一枚の画像を逐次作成する装置であって、例えば連続撮像された複数の画像をリアルタイムでつなぎ合わせ、１枚の撮像画像よりも広角なパノラマ画像を生成する場合に好適に採用されるものである。本実施形態に係る画像処理装置は、例えば、携帯電話、デジタルカメラ、ＰＤＡ（Personal  Digital  Assistant）等、リソースに制限のあるモバイル端末に好適に搭載されるものであるが、これらに限られるものではなく、例えば通常のコンピュータシステムに搭載されてもよい。なお、以下では、説明理解の容易性を考慮し、本発明に係る画像処理装置の一例として、カメラ機能を備えた携帯端末に搭載される画像処理装置を説明する。
【００２７】
図１は、本実施形態に係る画像処理装置１を備える携帯端末２の機能ブロック図である。図１に示す携帯端末２は、例えばユーザにより携帯される移動端末であり、図２に示すハードウェア構成を有する。図２は、携帯端末２のハードウェア構成図である。図２に示すように、携帯端末２は、物理的には、ＣＰＵ（Central  Processing  Unit）１００、ＲＯＭ（Read  Only  Memory）１０１及びＲＡＭ（Random  Access  Memory）１０２等の主記憶装置、カメラ又はキーボード等の入力デバイス１０３、ディスプレイ等の出力デバイス１０４、ハードディスク等の補助記憶装置１０５などを含む通常のコンピュータシステムとして構成される。後述する携帯端末２及び画像処理装置１の各機能は、ＣＰＵ１００、ＲＯＭ１０１、ＲＡＭ１０２等のハードウェア上に所定のコンピュータソフトウェアを読み込ませることにより、ＣＰＵ１００の制御の元で入力デバイス１０３及び出力デバイス１０４を動作させるとともに、主記憶装置や補助記憶装置１０５におけるデータの読み出し及び書き込みを行うことで実現される。なお、上記の説明は携帯端末２のハードウェア構成として説明したが、画像処理装置１がＣＰＵ１００、ＲＯＭ１０１及びＲＡＭ１０２等の主記憶装置、入力デバイス１０３、出力デバイス１０４、補助記憶装置１０５などを含む通常のコンピュータシステムとして構成されてもよい。また、携帯端末２は、通信モジュール等を備えてもよい。
【００２８】
図１に示すように、携帯端末２は、カメラ２０、画像処理装置１及び表示部２１を備えている。カメラ２０は、画像を撮像する機能を有している。カメラ２０として、例えば撮像素子等が用いられる。カメラ２０は、例えばユーザ操作等により指定されたタイミングから所定の間隔で繰り返し撮像する連続撮像機能を有している。ユーザは、例えばカメラ２０をスライド又は所定位置を原点として回転させて少なくとも上下左右において重なる連続画像を撮像することができる。そして、カメラ２０は、例えば撮像された画像を撮像の度に画像処理装置１へ出力する機能を有している。表示部２１は、合成画像等を表示可能なディスプレイ装置である。
【００２９】
画像処理装置１は、撮像された画像を順次つなぎ合わせて広角のパノラマ合成画像を生成する機能を有する。通常のカメラの視野角は約５０〜６５度（対角線画角）であるところ、画像処理装置１は、後述する機能を有することで、入力画像をつなぎ合わせて６５度以上の画角の画像を生成する。例えば、図３に示すように、カメラ２０の撮像方向が矢印Ｋに示すように変化した場合には、順次入力された画像をつなぎ合わせ、合成平面Ｓｐに合成画像を順次描画する。例えば今回入力された画像がＩｃであるとすると、画像Ｉｃが今までの合成画像Ｉｔと合成されて一枚の合成画像が生成される。なお、画像処理装置１は、合成する処理対象である対象画像Ｉｃを単に合成画像Ｉｔに繋げるだけではなく、変形処理を施した後に繋げる。例えば、図４に示すように、画像処理装置１は対象画像Ｉｃを（Ａ）拡大/縮小、（Ｂ）平行四辺形（横方向）、（Ｃ）平行四辺形（縦方向）、（Ｄ）回転、（Ｅ）平行移動（横方向）、（Ｆ）平行移動（縦方向）、（Ｇ）台形（横方向）、（Ｈ）台形（縦方向）に変形する。これらの変形処理あるいは組み合わせた変形処理を施した対象画像Ｉｃが、合成平面Ｓｐへ描画される。（Ａ）〜（Ｈ）の８自由度の変形を採用することで、画像のつなぎ目にてズレが生じにくくなり、自然な広角パノラマを得ることができる。
【００３０】
以下では、画像処理装置１の詳細を説明する。画像処理装置１は、入力部１０、選択部１１、マッチング部１２、推定部１３、合成部１４及び案内部１５を備えている。
【００３１】
入力部１０は、カメラ２０により撮像された画像を入力する機能を有している。入力部１０は、例えばカメラ２０により撮像された画像を撮像の度に入力する機能を有している。また、入力部１０は、最初に入力した画像を、携帯端末２に備わる第１の一時記憶領域（出力画像用バッファ）に保存する機能を有している。また、入力部１０は、次回以降連続して入力される画像を、携帯端末に備わる第２の一時記憶領域（入力画像用バッファ）に保存する機能を有している。なお、第２の一時記憶領域に画像が保存されると、該画像の位置決めが行われるとともに該画像が描画対象であるか否かが判断され、描画対象の画像と判断された場合には、第１の一時記憶領域に格納された出力画像が合成により更新され上書き保存される。以下では、第１の一時記憶領域に格納された画像を合成画像Ｉｔ、第２の一時記憶領域に格納された画像を対象画像Ｉｃ（入力画像）として説明する。
【００３２】
選択部１１は、位置合わせ用の基準画像を選択する機能を有する。基準画像とは、対象画像Ｉｃの位置合わせの基準となる画像である。例えば、選択部１１は、入力済画像に関する情報を格納したメモリ１８を参照可能に構成されている。入力済画像は、対象画像Ｉｃよりも前に入力部１０によって入力された画像であり、１又は複数の画像であり得る。すなわち、ｎ番目の対象画像ＩｃをＩｃ（ｎ−１）とすると、入力済画像は、Ｉｃ（ｎ−２），Ｉｃ（ｎ−３），…Ｉｃ０となる。選択部１１は、入力済画像が１枚の場合には、該画像Ｉｃ１を対象画像Ｉｃ２の基準画像Ｉｒ０として選択する。以降、所定条件を満たす場合を除き、選択部１１は、当該基準画像を変更しない。所定条件とは、基準画像と対象画像Ｉｃ（ｎ）との距離が所定値以上離れた場合である。この場合には、選択部１１は、対象画像Ｉｃ（ｎ）を次回の新たな対象画像Ｉｃ（ｎ＋１）の基準画像Ｉｒ（ｋ）として選択し、対象画像Ｉｃ（ｎ）に関する情報をメモリ１８に保存する。対象画像Ｉｃ（ｎ）に関する情報とは、例えば、後述するマッチング部１２によって導出された特徴点の画素値及び位置情報のみであってもよい。このように、メモリ１８に記録する情報を制限することで、基準画像Ｉｒそのものを保存する場合に比べて使用メモリ容量を削減することができる。そして、選択部１１は、対象画像Ｉｃ（ｎ＋１）を入力した際には、メモリ１８を参照し、基準画像Ｉｒ（ｋ）として対象画像Ｉｃ（ｎ）を選択する。以上、選択部１１は、対象画像Ｉｃごとに１つの基準画像Ｉｒを選択する。一実施形態では、選択部１１は、所定の条件を満たした場合、対象画像Ｉｃ（ｎ）に対して一時基準画像も選択してもよい。一時基準画像は、入力済画像の中から選択される画像であって一時的な基準画像である。一時基準画像の選択処理の詳細については後述する。選択部１１は、基準画像Ｉｒに関する画像情報（少なくとも特徴点の画素情報及び位置情報を含む情報）をマッチング部１２へ出力する。
【００３３】
マッチング部１２は、基準画像Ｉｒ及び対象画像Ｉｃの対応関係を取得する。マッチング部１２は、基準画像Ｉｒの特徴点及び対象画像Ｉｃの特徴点に関する情報を取得する。マッチング部１２は、例えば特徴点の画素値に基づいて基準画像Ｉｒ及び対象画像Ｉｃの対応関係を取得する。マッチング方法としては、ブロックマッチング法等、従来の手法を用いることができる。一実施形態では、マッチング部１２は、基準画像Ｉｒ及び対象画像Ｉｃを多重解像度化した上でマッチングしてもよい。例えば、マッチング部１２は、基準画像Ｉｒ及び対象画像Ｉｃの解像度をそれぞれ段階的に変更して、解像度の異なる複数の画像を生成する。そして、マッチング部１２は、最も解像度の小さい画像間で特徴点の平行移動量を取得し、より解像度の大きい画像間で特徴点のピクセル単位のマッチングを行ってもよい。この場合、処理高速化及び演算コストを低減させることができる。
【００３４】
マッチング部１２は、基準画像Ｉｒと対象画像Ｉｃとの対応関係が算出された特徴点のペアの位置情報（座標情報）を取得する。すなわち、マッチング部１２は、基準画像Ｉｒのある特徴点の位置情報と、当該特徴点に対応する対象画像Ｉｃの特徴点の位置情報とを、ペアにして取得する。マッチング部１２は、後述する位置合わせ処理のために、特徴点のペアを複数取得する。マッチング部１２は、取得した特徴点のペアを推定部１３へ出力する。なお、前述のとおり、選択部１１が該対象画像Ｉｃを次回以降の基準画像Ｉｒとして追加する場合には、マッチング部１２は、対象画像Ｉｃの特徴点の画素値及び位置情報を選択部１１へ出力する。
【００３５】
推定部１３は、基準画像Ｉｒと対象画像Ｉｃとの対応関係に基づいて、基準画像Ｉｒと対象画像Ｉｃとの位置合わせを行う機能を有している。図５は、基準画像と対象画像Ｉｃの位置合わせの概要を説明する概要図である。例えば、図５の（Ａ）に示すように、一枚目の画像のみが入力されている場合には、該画像が基準画像Ｉｒ０として選択される。そして、二枚目の画像（対象画像Ｉｃ）が入力された場合には、推定部１３は、基準画像Ｉｒ０の位置を基準として、対象画像Ｉｃを位置合わせする。位置合わせとは、例えば図５の（Ｂ）に示すように、基準画像Ｉｒ０の所定点（ここでは中心Ｃ０）と、対象画像Ｉｃの所定点（ここでは中心Ｃ１）との相対位置を決定することである。推定部１３は、マッチング部１２によって取得された特徴点のペアが互いに最も重なる位置を探索する。そして、図５の（Ｃ）に示すように、推定部１３によって、基準画像Ｉｒ０と対象画像Ｉｃとの位置合わせが完了した場合には、互いに位置関係がリンクされた旨（リンクＲｅ１）を記録する。なお、前述のとおり、推定部１３によって位置合わせが完了し基準画像Ｉｒ０と対象画像Ｉｃとの相対距離が所定値以上となっている場合には、選択部１１が該対象画像Ｉｃを次回以降の基準画像Ｉｒ１として追加する必要があるため、マッチング部１２は、対象画像Ｉｃの特徴点の画素値及び位置情報を選択部１１へ出力する。
【００３６】
推定部１３は、カメラの動きを考慮して基準画像Ｉｒと対象画像Ｉｃとの位置合わせを行う。図６は、カメラ２０の回転による撮像面を説明する概要図である。例えば、図６に示すように、回転前のカメラ２０の撮像面をＳ０、回転後のカメラ２０の撮像面をＳ１とすると、撮像面Ｓ０と撮像面Ｓ１とが同一平面内に存在しない。したがって、特徴点のペアを平行移動によって重ねた位置は本来の重ね合わせ位置とは異なることになる。すなわち、位置合わせを行う場合には、カメラの動きを考慮して、基準画像Ｉｒの特徴点の位置と対象画像Ｉｃの特徴点の位置とが同一の三次元座標系上で一致するように位置合わせする必要がある。
【００３７】
よって、推定部１３は、基準画像Ｉｒ０の三次元の座標系と、対象画像Ｉｃの三次元の座標系とを一致させる変換式を推定する。図７に示すように、基準画像Ｉｒ０の特徴点の座標を（ｘ０，ｙ０，１）、当該特徴点に対応する対象画像Ｉｃの特徴点の座標を（ｘ１，ｙ１，１）とすると、推定部１３は、（ｘ０，ｙ０，１）と（ｘ１，ｙ１，１）とが一致する変換式を推定する。ここで、カメラの自由度は、焦点距離が１自由度、カメラの動き（ｘｙ方向への平行移動、ｚ方向への移動による拡大縮小）が３自由度、カメラの回転（ｘ方向、ｙ方向への画像の歪み（台形）、及びｚ軸における画像の回転が３自由度であり、７自由度である。ローリングシャッタ歪み（フォーカルプレーン歪み）を考慮して８自由度であると近似すると、以下の数式１で表現される。
【数１】
0005493114.tif 000002
上記変換行列（変換式）のパラメータａ１〜ｈ１は、上述した８自由度に関するパラメータである。推定部１３は、複数の特徴点のペアが上記関係を満たすことができる変換行列のパラメータを最適化手法による収束演算により求める。具体的には、基準画像Ｉｒの特徴点の位置（ｘ０，ｙ０，１）と、対象画像Ｉｃの特徴点の位置（ｘ１，ｙ１，１）を変換した後の位置との差分を含む目的関数が最小値となるように収束演算を行う。最適化手法は、ニュートン法又はガウスニュートン法等、公知の手法が採用される。
【００３８】
ここで、推定部１３は、基準画像Ｉｒと対象画像Ｉｃとの間の動きがカメラ２０の回転運動のみであるとして、カメラ２０の動きを３自由度に限定し、特徴点のペアの位置情報を用い変換式を推定する機能を有している。例えば、図７に示すように、カメラ２０の撮像位置を原点とすると、カメラの自由度をＸ軸，Ｙ軸，Ｚ軸の回転のみに限定する。各軸のパラメータを（β，α，γ）とすると、変換行列Ｒは以下のように表現することができる。
【数２】
0005493114.tif 000003
すなわち、基準画像Ｉｒの特徴点の位置（ｘ０，ｙ０，１）と対象画像Ｉｃの特徴点の位置（ｘ１，ｙ１，１）とは、変換行列Ｒを用いて以下の数式２のように対応させることができる。
【数３】
0005493114.tif 000004
ここで、（ｃｘ，ｃｙ）は、基準画像Ｉｒ及び対象画像Ｉｃの画像サイズを同一とした場合の、それぞれの中心座標である。また、Ｆは、焦点距離である。なお、焦点距離Ｆはカメラ２０の諸元情報から得られる値を適用させてもよい。
【００３９】
数式１のように、縮小成分が考慮された変換行列を用いて、かつ、さらに誤差を小さくすることを優先させて収束演算をした場合には、画像を縮小した方が誤差は相対的に小さくなることから、縮小成分の度合いが大きくなる変換行列が解となる傾向になる。この場合、逐次合成するごとに誤差が蓄積されていき、結果として良質なパノラマ画像とはならない。これに対して、数式２に示すように、変換行列Ｒを回転成分のみに限定することで、最適化手法による収束演算の際に縮小成分が考慮されることはないため、誤差の蓄積を回避でき、良質なパノラマ合成画像が生成される。なお、ガウスニュートン法等の最適化手法の収束演算の初期値として、前回の対象画像Ｉｃの変換行列を採用してもよい。この場合、収束演算がより早く収束しやすくなることから、演算速度を向上させることができる。
【００４０】
一実施形態では、推定部１３は、数式２を収束演算して変換行列を推定する際には、特徴点の二次元座標を三次元空間Ｓｐの球面に投影し、投影した座標の対応関係を用いて変換行列を推定する。図８は、基準画像Ｉｒと対象画像Ｉｃの位置合わせの詳細を説明する概要図である。図８の（Ａ），（Ｂ）に示すように、推定部１３は、二次元座標系の基準画像Ｉｒの特徴点の位置（ｘ０，ｙ０，１）と二次元座標系の対象画像Ｉｃの位置（ｘ１，ｙ１，１）とを三次元空間Ｓｐの球面へ透視射影する。ｘｎ−ｃｘをベクトルｘｎ、ｙｎ−ｃｘをベクトルｙｎとし、投影後の座標を（Ｘｎ，Ｙｎ，Ｚｎ）とすると、座標（ｘ１，ｙ１，Ｆ）については、例えば以下の数式３で射影投影される。
【数４】
0005493114.tif 000005
また、変換行列Ｒによる変換後の座標点は以下のように表現できる。
【数５】
0005493114.tif 000006
このため、収束演算の目的関数が以下の差分ｒを含むことになる。
【数６】
0005493114.tif 000007
なお、数式３の変換は、対象画像Ｉｃが基準画像Ｉｒとの距離が近いと仮定した場合、省略することができる。この場合、上記差分ｒは除算を含まない形となるため、除算による桁落ちを考慮する必要がなくなる。このため、例えば目的関数をガウスニュートン法等による最適化処理により収束演算する際に、演算を容易とすることができる。よって、三次元空間の球面へ射影して演算する場合、演算コストを低減させることが可能となる。
【００４１】
推定部１３は、上記処理によって、変換行列Ｒを推定し、基準画像Ｉｒと対象画像Ｉｃとの位置合わせを行う。推定部１３は、選択部１１が選択した基準画像Ｉｒと入力された対象画像Ｉｃとを逐次位置合わせを行い、リンクを生成する（図８の（Ｃ））。図９は、８枚の入力画像間の位置決めを行ったリンクを示している。図９に示すように、８枚の入力画像の中心Ｃ０〜Ｃ７の間がリンクされている（リンクＲｅ１〜Ｒｅ７）。選択部１１が基準画像を選択し、推定部１３がリンクを形成するという動作を繰り返すことで、図９に示すように画像を位置合わせしながらつなぐことができる。
【００４２】
なお、推定部１３は、球面に投影して変換行列Ｒを推定し、基準画像と対象画像とを位置合わせするため、二次元平面と球面との座標変換の際に、例えば図４に示す８自由度の画像変形が考慮される。言い換えれば、推定部１３は、球面上で位置決めすることで、後述する合成部１４が球面から平面へ投影する際に、図４に示す画像変形をすることができる。
【００４３】
以下では、選択部１１及び推定部１３の変形例について説明する。一実施形態では、選択部１１は、基準画像Ｉｒだけでなく一時基準画像Ｉｔｒを用いてもよい。図１０は、基準画像Ｉｒ及び一時基準画像Ｉｔｒを説明する概要図である。まず、図１０の（Ａ）に示すように、画像が入力された場合には、該画像が次回以降の基準画像Ｉｒとなる。次に、図１０の（Ｂ）に示すように基準画像Ｉｒから一定値以上離れた対象画像Ｉｃが入力されたとする。この場合、図１０の（Ｃ）に示すように、対象画像Ｉｃを次回以降の一時的な基準画像である一時基準画像Ｉｔｒとする。一時基準画像Ｉｔｒは、履歴として保存されない一時的な基準画像である。次に、図１０の（Ｄ）に示すように一時基準画像Ｉｔｒから離れた対象画像Ｉｃが入力され、図１０の（Ｅ）に示すように一時基準画像Ｉｔｒから一定値以上離れた対象画像Ｉｃが入力されたとする。この場合、図１０の（Ｆ），（Ｇ）に示すように、今回までの一時基準画像Ｉｔｒを破棄し、対象画像Ｉｃを次回以降の一時的な基準画像である一時基準画像Ｉｔｒとする。次に、図１０の（Ｈ）に示すように一時基準画像Ｉｔｒのみならず基準画像Ｉｒからも一定値以上離れた対象画像Ｉｃが入力されたとする。この場合、図１０の（Ｉ）に示すように、今回までの一時基準画像Ｉｔｒを破棄し、対象画像Ｉｃを次回以降の基準画像Ｉｒとする。ここで、今回までの基準画像すなわち１番目の基準画像をＩｒ０とし、次回以降の基準画像をＩｒ１とする。基準画像Ｉｒ０，Ｉｒ１の特徴点に関する情報は位置合わせのために保存される。次に、図１０の（Ｊ）に示すように基準画像Ｉｒ１からも一定値以上離れた対象画像Ｉｃが入力されたとする。この場合、図１０の（Ｃ）と同様に、図１０の（Ｋ）に示すように対象画像Ｉｃを次回以降の一時的な基準画像である一時基準画像Ｉｔｒとする。次に、図１０の（Ｌ）に示すように一時基準画像Ｉｔｒよりも基準画像Ｉｒ０に近い対象画像Ｉｃが入力されたとする。この場合、今回までの一時基準画像Ｉｔｒを破棄し、次回以降の基準画像を基準画像Ｉｒ０とする。このように、基準画像の情報を保持しておくことで、カメラ２０が元の位置に戻ってきた場合であっても過去の基準画像を基準に対象画像を位置合わせすることができる。また、一時基準画像Ｉｔｒと基準画像Ｉｒとを用いることで、記録しておく必要のあるデータを最小限にすることができる。
【００４４】
また、一実施形態では、推定部１３は、複数の画像が重なっている場合には、複数の画像間の動きを同時に推定してもよい。例えば、図１１に示すように、基準画像Ｉｒと対象画像Ｉｃに重なる画像（過去の対象画像Ｉｐ１）が存在するとする。基準画像Ｉｒと過去の対象画像Ｉｐ１とは位置決めされた状態、すなわち、変換行列Ｒ１が既に導出されているとする。そして、基準画像Ｉｒの特徴点の座標を（ｘ０，ｙ０，１）、過去の対象画像Ｉｐ１の特徴点の座標を（ｘ１，ｙ１，１）、対象画像Ｉｃの特徴点の座標を（ｘ２，ｙ２，１）とする。ここで、基準画像Ｉｒの座標系と対象画像Ｉｃの座標系とを対応させる変換行列Ｒ２を導出する際に、以下の条件を設定する。
【数７】
0005493114.tif 000008
数式７によって、変換式Ｒ１と変換式Ｒ２とを関連付けしている。推定部１３は、上記数式５〜７を満たすことができるＲ１、Ｒ２を最適化手法による収束演算によって同時に推定する。この場合、基準画像Ｉｒと過去の対象画像Ｉｐ１との特徴点のペアに関する情報を無駄にすることを回避できる。また、複数の画像間を同時に推定することで、リンクが直列に繋がっていく場合に比べて誤差の蓄積を抑制することができる。
【００４５】
また、一実施形態では、推定部１３は、対象画像Ｉｃが過去の基準画像Ｉｒにも近い場合には、現在の基準画像Ｉｒだけでなく過去の基準画像Ｉｒとも位置合わせを行う。例えば、図１３の（Ａ）に示すように、画像中心がＣ１３の対象画像Ｉｃ１３は、画像中心がＣ１２の基準画像Ｉｒ１２とリンクＲｅ１３が張られており、相対位置が決定している。ここで、推定部１３は、図１３の（Ｂ）に示すように、対象画像Ｉｃ１３が画像中心Ｃ１の過去の基準画像Ｉｒ１とも近い場合には、基準画像Ｉｒ１と対象画像Ｉｃ１３との位置合わせを行う。これにより、基準画像Ｉｒ１と対象画像Ｉｃ１３との間にはリンクＲｅ１４が張られる。すなわち、基準画像Ｉｒ１と基準画像Ｉｒ１２との位置合わせを、対象画像Ｉｃ１３を用いて行うことができる。このように、基準画像Ｉｒ同士の位置合わせを、対象画像Ｉｃを用いて達成することで、本来重なりの少ない基準画像Ｉｒ同士の位置決めをすることが可能となる。
【００４６】
また、一実施形態では、推定部１３は、全体位置の調整をする機能を有していてもよい。全体位置の調整とは、描画対象の画像（出力用画像バッファに書き出される画像）の全体の位置関係を調整することである。例えば、基準画像Ｉｒ間で新たなリンクが張られたタイミングや、複数画像の動きの同時推定を実行することにより、複数の過去の変換行列が更新されたタイミングで、全ての描画対象画像の全体位置が微調整される。すなわち、全ての描画対象画像の変換行列Ｒが再演算される。全体位置は、マッチング部１２により出力された特徴点を用いるのではなく、位置合わせされた結果を元に画像から画像間の対応点をランダムに抽出又は所定位置から抽出し、抽出された点の位置情報に基づいて全体の位置合わせを行う。この場合、過去の特徴点のペアを保持する必要がないため、メモリ使用量を削減することができる。
【００４７】
次に、案内部１５について説明する。案内部１５は、ユーザ操作を案内する機能を有している。案内部１５は、画像を表示する表示部２１に接続され、ユーザのカメラ操作を誘導する案内表示を表示部２１に表示させる。例えば、案内部１５は、相対位置を決定済みの基準画像Ｉｒと対象画像Ｉｃとのペアのうち今回の基準画像Ｉｒとのホップ数が所定値以上でかつ今回の基準画像Ｉｒと重ならない第１画像が存在する場合には、現在の撮像位置から第１画像の画像位置へ撮像位置を誘導する案内表示を表示部へ表示させる。例えば、案内部１５は、図１３の（Ａ）に示すように、画像中心Ｃ０の画像（第１画像）と、画像中心Ｃ８の現在の基準画像との間のホップ数（リンクＲｅの数）をカウントする。そして、案内部１５は、画像中心Ｃ０の画像と画像中心Ｃ８の現在の基準画像との間の距離を算出する。そして、案内部１５は、カウント数が所定値以上であって、距離が所定値より小さい場合（例えば重ならない場合）には、画像が直列で長く繋がっていると判断する。直列で長く画像が繋がる場合には、誤差が蓄積されやすい。このため、案内部１５は、図１３の（Ｂ）に示すように、カメラ２０の撮像位置が画像中心Ｃ０の画像（第１画像）の方に向くように案内表示Ｇａを表示する。案内表示Ｇａは、枠、矢印又はアイコン等が用いられ、音声を付与してもよい。ユーザが案内表示Ｇａに案内されてカメラ２０の撮像方向を変えることで、図１３の（Ｃ）に示すように、画像中心Ｃ０の画像と画像中心Ｃ８の画像との間にリンクを形成して位置調整することができる。このように、案内部１５は、ユーザを案内することで誤差の蓄積を回避する。
【００４８】
次に、合成部１４について説明する。合成部１４は、表示部２１に接続されており、合成画像を表示部２１に描画する機能を有する。合成部１４は、推定部１３によって推定された変換行列によって三次元空間の球面上で位置合わせした画像群（描画対象の画像）を二次元平面に投影する。球面から平面への投影の際に、例えば図４に示す画像変形がなされる。そして、描画対象の画像を一枚の合成画像として出力画像用バッファへ記録する。例えば図１４に示すように、合成平面Ｓｐが格子状に分割されているとする。合成部１４は、合成平面Ｓｐへ投影された画像Ｉｄに四隅が含まれるセルのみを描画する。また、合成部１４は、画像間の境目ではブレンド比等を調整する。このようにして、複数の描画対象の画像Ｉｄを合成平面Ｓｐへ投影し、合成画像を生成する。
【００４９】
次に、本実施形態に係る画像処理装置１の動作について説明する。図１５，図１６は、本実施形態に係る画像処理装置１の動作を示すフローチャートである。図１５，図１６に示す制御処理は、例えば携帯端末２の撮像機能をＯＮしたタイミングで実行され、所定の周期で繰り返し実行される。なお、説明理解の容易性を考慮して、対象画像Ｉｃは２番目以降の入力画像であるとする。
【００５０】
図１５に示すように、最初に画像処理装置１が画像入力処理を実行する（Ｓ１０：入力ステップ）。Ｓ１０の処理では、入力部１０が、カメラ２０から対象画像Ｉｃを入力する。Ｓ１０の処理が終了すると、位置合わせ処理へ移行する（Ｓ１２）。
【００５１】
Ｓ１２の処理では、選択部１１、マッチング部１２及び推定部１３が、基準画像Ｉｒと対象画像Ｉｃとの相対的な位置合わせを行う。この処理の詳細は図１６となる。まず、選択部１１が入力済画像から基準画像Ｉｒを選択する（Ｓ３０：選択ステップ）。次に、マッチング部１２及び推定部１３が基準画像Ｉｒと対象画像Ｉｃとの位置合わせを行う（Ｓ３２：マッチングステップ及び推定ステップ）。次に、推定部１３は、過去（又は他の）の基準画像Ｉｒと対象画像Ｉｃとが比較できるか否かを判定する（Ｓ３４）。Ｓ３４の処理において、推定部１３が比較可能であると判断した場合には、過去の基準画像Ｉｒと対象画像Ｉｃとの位置合わせを行う（Ｓ３６、例えば図１２の（Ｂ））。そして、推定部１３は、全体位置の調整のために、再描画フラグを１にセットする（Ｓ３８）。その後、選択部１１は、対象画像Ｉｃと過去の基準画像Ｉｒとの距離が所定値以上であるか否かを判断する（Ｓ４０）。Ｓ４０の処理において、選択部１１により距離が所定値以上であると判定された場合には、対象画像Ｉｃを次回以降の基準画像Ｉｒにすべく基準画像リストへ記録する（Ｓ４２）。基準画像リストとは、基準画像の特徴点の画素値及び座標を記録したデータを参照するためのリストである。Ｓ４２の処理が終了すると、図１６に示す位置合わせ処理を終了する。
【００５２】
一方、Ｓ３４の処理において、推定部１３が比較可能でないと判断した場合には、対象画像Ｉｃと過去の基準画像Ｉｒとの距離を判断する処理へ移行する（Ｓ４０）。一方、Ｓ４０の処理において、選択部１１により距離が所定値以上でないと判定された場合には、図１６に示す位置合わせ処理を終了する。
【００５３】
図１５に戻り、Ｓ１２の処理が終了すると判定処理へ移行する（Ｓ１４）。
【００５４】
Ｓ１４の処理では、合成部１４が、Ｓ１０の処理で入力した対象画像Ｉｃを描画用画像として追加するか否かを判定する。例えば、合成部１４は、描画すべき画像の画像情報を参照可能とする描画用画像リストを参照可能に構成されており、該リストに記載されている画像のうち最も位置が近い画像との距離が所定値以上である場合には、Ｓ１０の処理で入力した対象画像Ｉｃを描画用画像に追加する。Ｓ１４の処理において、追加と判断した場合には、保存処理へ移行する（Ｓ１６）。
【００５５】
Ｓ１６の処理では、合成部１４が、描画用リストに該対象画像Ｉｃを追加し、対象画像Ｉｃを保存する。Ｓ１６の処理が終了すると、再描画判定処理へ移行する（Ｓ１８）。
【００５６】
Ｓ１８の処理では、推定部１３が、再描画フラグ＝０であるか否かを判定する。Ｓ１８の処理において、再描画フラグ＝１である場合には、描画位置の再計算処理へ移行する（Ｓ２０）。
【００５７】
Ｓ２０の処理では、推定部１３が、全体位置合わせの処理を行う。推定部１３は、更新された変換行列を用いて全ての描画用画像の位置を調整する。Ｓ２０の処理が終了すると、プレビュー画像描画処理へ移行する（Ｓ２２）。
【００５８】
Ｓ２２の処理では、合成部１４が、例えば描画用画像リストから描画すべき画像を特定し、三次元空間の球面から二次元平面に投影してプレビュー用の合成画像を生成する（Ｓ２２：合成ステップ）。その後、プレビュー用の画像が出力され、表示部２１等に表示される（Ｓ２４）。Ｓ２４の処理が終了すると、画像入力の判定処理へ移行する（Ｓ２６）。
【００５９】
一方、Ｓ１４の処理において、合成部１４が追加と判断しない場合には、再描画判定処理へ移行する（Ｓ１８）。また、Ｓ１８の処理において、再描画フラグ＝０である場合には、プレビュー画像描画処理へ移行する（Ｓ２２）。
【００６０】
Ｓ２６の処理では、入力部１０が、対象画像Ｉｃの入力が終了したか否かを判定する。Ｓ２６の処理において、対象画像Ｉｃの入力が終了していない場合には、Ｓ１０の処理へ再度移行する。一方、対象画像Ｉｃの入力が終了した場合には、結果画像出力処理へ移行する（Ｓ２８）。
【００６１】
Ｓ２８の処理では、合成部１４が合成画像を表示部２１等に表示する。以上で図１５，１６に示す制御処理を終了する。図１５，１６に示す制御処理を実行することで、誤差の蓄積を回避して良質なパノラマ合成画像を得ることができる。
【００６２】
次に、携帯端末（コンピュータ）２を上記画像処理装置１として機能させるための画像処理プログラムを説明する。
【００６３】
画像処理プログラムは、メインモジュール、入力モジュール及び演算処理モジュールを備えている。メインモジュールは、画像処理を統括的に制御する部分である。入力モジュールは、入力画像を取得するように携帯端末２を動作させる。演算処理モジュールは、選択モジュール、マッチングモジュール、推定モジュール、合成モジュール及び案内モジュールを備えている。メインモジュール、入力モジュール及び演算処理モジュールを実行させることにより実現される機能は、上述した画像処理装置１の入力部１０、選択部１１、マッチング部１２、推定部１３、合成部１４及び案内部１５の機能とそれぞれ同様である。
【００６４】
画像処理プログラムは、例えば、ＲＯＭ等の記録媒体または半導体メモリによって提供される。また、画像処理プログラムは、データ信号としてネットワークを介して提供されてもよい。
【００６５】
以上、本実施形態に係る画像処理装置１、画像処理方法及び画像処理プログラムによれば、基準画像Ｉｒと対象画像Ｉｃとの間の動きがカメラ２０の回転運動のみに起因するとして両画像の座標系を対応させる変換行列Ｒを推定する。このため、変換行列Ｒには、拡大・縮小・平行移動等のパラメータが含まれないことになるので、入力された対象画像Ｉｃが縮小等されて誤差が生じることを回避することができる。さらに、回転成分のみに限定することで、縮小等された対象画像Ｉｃを次回以降の基準画像Ｉｒとすることを回避することが可能であるため、誤差の蓄積を回避することができる。よって、入力された画像を順次つなぎ合わせる際に、撮像方位の異なる画像が含まれていた場合であっても、誤差の蓄積を抑制し、良質なパノラマ画像を得ることが可能となる。
【００６６】
なお、上述した実施形態は本発明に係る画像処理装置の一例を示すものである。本発明に係る画像処理装置は、実施形態に係る画像処理装置１に限られるものではなく、各請求項に記載した要旨を変更しない範囲で、実施形態に係る画像処理装置を変形し、又は他のものに適用したものであってもよい。
【００６７】
例えば、上述した実施形態では、カメラ２０が静止画像を連続撮像する例を説明したが、カメラ２０は、動画を撮像するものであってもよい。この場合、入力部１０は、撮像された動画から連続する画像を抽出する機能を有していてもよい。また、入力部１０が入力する画像は、別の機器からネットワークを介して送信された画像であってもよい。
【００６８】
また、上述した実施形態では、カメラ２０により撮像された画像の大きさは同一であるとして説明したが、撮像された画像の大きさは撮像の度に異なる大きさであってもよい。
【００６９】
また、上述した実施形態では、入力部１０、選択部１１、マッチング部１２、推定部１３、合成部１４及び案内部１５を備える場合を説明したが、要求される性能に応じて適宜変更してもよい。例えば、必要に応じて案内部１５は備えなくてもよい。
【００７０】
さらに、上述した実施形態では、画像を図５に示す８自由度で変形する場合を説明したが、８自由度に限られるものではなく、例えば図５中の（Ａ）〜（Ｆ）に示す６自由度であってもよい。
【符号の説明】
【００７１】
１…画像処理装置、１０…入力部、１１…選択部、１２…マッチング部、１３…推定部、１４…合成部、１５…案内部、２０…カメラ、２１…表示部。
【要約】
画像処理装置は、入力部、選択部、マッチング部、推定部及び合成部を備える。入力部は、画像を順次入力する。選択部は、入力済画像の中から基準画像を選択する。マッチング部は、基準画像の特徴点と対象画像の特徴点との対応関係を算出する。推定部は、基準画像と対象画像との間の動きが撮像素子の回転運動のみであるとして、マッチング部によって対応関係が算出された特徴点のペアの位置情報を用いて基準画像の座標系と対象画像の座標系とを対応させる変換式を推定する。合成部は、変換式に基づいて、入力済画像と対象画像とを合成して合成画像を生成する。【図１】
0005493114.tif 000009
【図２】
0005493114.tif 000010
【図５】
0005493114.tif 000011
【図６】
0005493114.tif 000012
【図７】
0005493114.tif 000013
【図８】
0005493114.tif 000014
【図１１】
0005493114.tif 000015
【図１３】
0005493114.tif 000016
【図１５】
0005493114.tif 000017
【図１６】
0005493114.tif 000018
【図３】
0005493114.tif 000019
【図４】
0005493114.tif 000020
【図９】
0005493114.tif 000021
【図１０】
0005493114.tif 000022
【図１２】
0005493114.tif 000023
【図１４】
0005493114.tif 000024