(57)【要約】【課題】一定でない角速度で回転している被写体を撮影した場合の撮影画像データに基づいて、フレームごとの被写体の回転角度が略一定であるような動画像データを取得することが可能な画像処理装置を提供すること。【解決手段】撮影画像取得部５０は、回転している被写体を繰り返し撮影することによって得られた複数の撮影画像を取得する。位置情報取得部５４は、被写体上の同一点に対応する特徴点が一の撮影画像と他の撮影画像とにおいて検出された場合に、一の撮影画像及び他の撮影画像における当該特徴点の位置に関する位置情報を取得する。回転角度情報取得部５６は、一の撮影画像の撮影時点と他の撮影画像の撮影時点との間の被写体の回転角度に関する回転角度情報を位置情報に基づいて取得する。動画像データ生成部５８は、動画像データのフレーム画像を複数の撮影画像のうちから回転角度情報に基づいて選出することによって、動画像データを生成する。【選択図】図５
2014068264.tif 000002
【特許請求の範囲】
【請求項１】
被写体が回転している間に前記被写体を繰り返し撮影することによって得られた複数の撮影画像を取得する撮影画像取得手段と、
撮影画像内の特徴点を検出する特徴点検出手段と、
前記被写体上の同一点に対応する特徴点が、一の撮影画像と、前記一の撮影画像よりも後に撮影された他の撮影画像と、において検出された場合に、前記一の撮影画像及び前記他の撮影画像における前記特徴点の位置に関する位置情報を取得する位置情報取得手段と、
前記一の撮影画像の撮影時点と前記他の撮影画像の撮影時点との間の前記被写体の回転角度に関する回転角度情報を前記位置情報に基づいて取得する回転角度情報取得手段と、
前記被写体が回転する様子を示す動画像データのフレーム画像を、前記複数の撮影画像のうちから、前記回転角度情報に基づいて選出することによって、前記動画像データを生成する動画像データ生成手段と、
を含むことを特徴とする画像処理装置。
【請求項２】
請求項１に記載の画像処理装置において、
前記動画像データ生成手段は、前記一の撮影画像が前記動画像データのフレーム画像として選出されている場合に、前記他の撮影画像を前記動画像データのフレーム画像として選出するか否かを、前記回転角度情報と閾値との比較結果に基づいて決定する、
ことを特徴とする画像処理装置。
【請求項３】
請求項２に記載の画像処理装置において、
前記動画像データ生成手段は、前記一の撮影画像が前記動画像データのフレーム画像として選出されている場合において、前記回転角度情報が前記閾値以上である場合に、前記他の撮影画像と、前記他の撮影画像の一つ前に撮影された撮影画像と、の一方を前記動画像データのフレーム画像として選出する、
ことを特徴とする画像処理装置。
【請求項４】
請求項３に記載の画像処理装置において、
前記動画像データ生成手段は、
前記一の撮影画像の撮影時点と前記他の撮影画像の撮影時点との間の前記被写体の回転角度に関する回転角度情報が、前記一の撮影画像の撮影時点と、前記他の撮影画像の一つ前に撮影された前記撮影画像の撮影時点と、の間の前記被写体の回転角度に関する回転角度情報よりも前記閾値に近い場合に、前記他の撮影画像を前記動画像データのフレーム画像として選出し、
前記一の撮影画像の撮影時点と、前記他の撮影画像の一つ前に撮影された前記撮影画像の撮影時点と、の間の前記被写体の回転角度に関する回転角度情報が、前記一の撮影画像の撮影時点と前記他の撮影画像の撮影時点との間の前記被写体の回転角度に関する回転角度情報よりも前記閾値に近い場合に、前記他の撮影画像の一つ前に撮影された前記撮影画像を前記動画像データのフレーム画像として選出する、
ことを特徴とする画像処理装置。
【請求項５】
請求項１に記載の画像処理装置において、
前記位置情報取得手段は、前記被写体上の同一点に対応する特徴点が第１の対の撮影画像において検出された場合に、前記第１の対の撮影画像のうちの先に撮影された一の撮影画像と、前記第１の対の撮影画像のうちの後に撮影された他の撮影画像とにおける当該特徴点の位置に関する位置情報を取得し、
前記回転角度情報取得手段は、前記第１の対の撮影画像のうちの前記一の撮影画像の撮影時点と、前記第１の対の撮影画像のうちの前記他の撮影画像の撮影時点と、の間の前記被写体の回転角度に関する回転角度情報を、前記第１の対の撮影画像の前記位置情報に基づいて取得し、
前記位置情報取得手段は、前記被写体上の同一点に対応する特徴点が第２の対の撮影画像において検出された場合に、前記第２の対の撮影画像のうちの先に撮影された一の撮影画像と、前記第２の対の撮影画像のうちの後に撮影された他の撮影画像とにおける当該特徴点の位置に関する位置情報を取得し、
前記回転角度情報取得手段は、前記第２の対の撮影画像のうちの前記一の撮影画像の撮影時点と、前記第２の対の撮影画像のうちの前記他の撮影画像の撮影時点と、の間の前記被写体の回転角度に関する回転角度情報を、前記第２の対の撮影画像の前記位置情報に基づいて取得し、
前記動画像データ生成手段は、
前記第１の対の撮影画像のうちの前記他の撮影画像と前記第２の対の撮影画像のうちの前記一の撮影画像とが同一である場合に、前記第１の対の撮影画像のうちの前記一の撮影画像の撮影時点と、前記第２の対の撮影画像のうちの前記他の撮影画像の撮影時点と、の間の前記被写体の回転角度に関する累積回転角度情報を、前記第１の対の撮影画像の前記回転角度情報と前記第２の対の撮影画像の前記回転角度情報とに基づいて取得する手段を含み、
前記動画像データのフレーム画像を前記複数の撮影画像のうちから前記累積回転角度情報に基づいて選出する、
ことを特徴とする画像処理装置。
【請求項６】
請求項５に記載の画像処理装置において、
前記動画像データ生成手段は、前記第１の対の撮影画像のうちの前記一の撮影画像が前記動画像データのフレーム画像として選出されている場合に、前記第２の対の撮影画像のうちの前記他の撮影画像を前記動画像データのフレーム画像として選出するか否かを、前記累積回転角度情報と閾値との比較結果に基づいて決定する、
ことを特徴とする画像処理装置。
【請求項７】
請求項６に記載の画像処理装置において、
前記動画像データ生成手段は、前記第１の対の撮影画像のうちの前記一の撮影画像が前記動画像データのフレーム画像として選出されている場合において、前記累積回転角度情報が前記閾値以上である場合に、前記第２の対の撮影画像のうちの前記他の撮影画像と、前記第２の対の撮影画像のうちの前記他の撮影画像の一つ前に撮影された撮影画像と、の一方を前記動画像データのフレーム画像として選出する、
ことを特徴とする画像処理装置。
【請求項８】
請求項１乃至７のいずれかに記載の画像処理装置において、
前記回転角度情報取得手段は、
前記一の撮影画像における前記特徴点の位置と、前記他の撮影画像における前記特徴点の位置と、の差に関する位置差情報を取得する手段と、
前記位置差情報に基づいて前記回転角度情報を取得する手段と、含む、
ことを特徴とする画像処理装置。
【請求項９】
請求項８に記載の画像処理装置において、
前記撮影画像内の、前記被写体の回転軸の位置に基づいて、前記撮影画像内の領域を観測領域として設定する手段を含み、
前記回転角度情報取得手段は、前記特徴点が前記観測領域内に含まれている場合の前記位置差情報に基づいて、前記回転角度情報を取得する、
ことを特徴とする画像処理装置。
【請求項１０】
請求項８又は９に記載の画像処理装置において、
前記回転角度情報取得手段は、前記被写体が回転する場合の回転半径が大きい特徴点の前記位置差情報を、前記被写体が回転する場合の回転半径が小さい特徴点の前記位置差情報よりも優先的に用いて、前記回転角度情報を取得する、
ことを特徴とする画像処理装置。
【請求項１１】
請求項８乃至１０のいずれかに記載の画像処理装置において、
前記回転角度情報取得手段は、
前記被写体上の複数の点にそれぞれ対応する複数の特徴点が前記一の撮影画像及び前記他の撮影画像において検出される場合に、前記複数の特徴点の各々について、当該特徴点に対応する前記被写体上の点の回転半径に関する回転半径情報を取得する回転半径情報取得手段と、
前記複数の特徴点の各々について、当該特徴点に対応する前記被写体上の前記点の、前記一の撮影画像の撮影時点と前記他の撮影画像の撮影時点との間の回転角度に関する回転角度情報を、当該特徴点の前記位置差情報及び前記回転半径情報に基づいて取得する手段と、
前記複数の特徴点の各々の前記回転角度情報に基づいて、前記被写体の前記回転角度情報を取得する手段と、を含む、
ことを特徴とする画像処理装置。
【請求項１２】
請求項１１に記載の画像処理装置において、
前記回転半径情報取得手段は、
前記被写体上の同一点に対応する前記特徴点が少なくとも三つの撮影画像において検出される場合に、前記少なくとも三つの撮影画像における当該特徴点の位置に基づいて、当該特徴点の楕円軌道に関する楕円軌道情報を取得する手段と、
前記特徴点の前記楕円軌道情報に基づいて、当該特徴点の前記回転半径情報を取得する手段と、を含む、
ことを特徴とする画像処理装置。
【請求項１３】
請求項１１に記載の画像処理装置において、
前記回転半径情報取得手段は、前記被写体上の同一点に対応する前記特徴点が第ｉ（ｉ：１以上の整数）の撮影画像において最初に検出され、かつ、前記第ｉの撮影画像よりも後に撮影された第ｊ（ｊ：ｉ＜ｊである整数）の撮影画像において最後に検出される場合に、前記第ｉの撮影画像における当該特徴点の位置と、前記第ｊの撮影画像における当該特徴点の位置と、に基づいて、当該特徴点の前記回転半径情報を取得する、
ことを特徴とする画像処理装置。
【請求項１４】
請求項１乃至７のいずれかに記載の画像処理装置において、
前記回転角度情報取得手段は、
前記被写体上の同一点に対応する前記特徴点が少なくとも三つの撮影画像において検出される場合に、当該特徴点の楕円軌道に関する楕円軌道情報を取得する手段と、
前記一の撮影画像及び前記他の撮影画像における前記特徴点の位置と、前記楕円軌道情報と、に基づいて、前記回転角度情報を取得する手段と、を含む、
ことを特徴とする画像処理装置。
【請求項１５】
請求項１乃至１４のいずれかに記載の画像処理装置において、
前記動画像データ生成手段は、
前記複数の撮影画像のうちから選出される基準撮影画像と、前記基準撮影画像の撮影時点から所定時間が経過した後に撮影された撮影画像と、の間の類似度に関する類似度情報を取得する手段と、
前記基準撮影画像の撮影時点から前記所定時間が経過した後に撮影された撮影画像のうちのいずれかを、前記被写体が一回転し終えた時点における撮影画像として、前記類似度情報に基づいて選出する手段と、を含み、
前記被写体が一回転し終えた時点における撮影画像として選出された撮影画像の撮影時点以前に撮影された撮影画像に基づいて、前記被写体が一回転する様子を示す前記動画像データを生成する、
ことを特徴とする画像処理装置。
【請求項１６】
請求項１５に記載の画像処理装置において、
前記動画像データ生成手段は、
前記基準撮影画像の撮影時点から前記所定時間が経過した後に撮影された撮影画像において検出された特徴点のうちの、前記基準撮影画像において検出された特徴点に対応する特徴点の個数を取得する特徴点数取得手段と、
前記基準撮影画像の撮影時点から前記所定時間が経過した後に撮影された複数の撮影画像のうちから、前記被写体が一回転し終えた時点における撮影画像の候補を、前記特徴点数取得手段の取得結果に基づいて選出する手段と、
前記基準撮影画像と、前記候補として選出された撮影画像と、の類似度に関する類似度情報を取得する手段と、
前記候補として選出された撮影画像のうちのいずれかを、前記被写体が一回転し終えた時点における撮影画像として、前記類似度情報に基づいて選出する手段と、を含む、
ことを特徴とする画像処理装置。
【請求項１７】
請求項１乃至１６のいずれかに記載の画像処理装置において、
前記複数の撮影画像は、前記第１の撮影画像〜前記第ｍ（ｍ：２以上の整数）の撮影画像と、前記第ｍの撮影画像の後に撮影された第ｍ＋１の撮影画像〜第ｍ＋ｎ（ｎ：１以上の整数）の撮影画像と、を含み、
前記動画像データ生成手段は、
前記第１の撮影画像〜前記第ｍの撮影画像のうちから前記動画像データのフレーム画像として選出された撮影画像の個数を取得する選出数取得手段と、
前記被写体上の点に対応する特徴点が前記第ｍ＋１の撮影画像〜前記第ｍ＋ｎの撮影画像において検出されなかった場合に、前記第１の撮影画像〜前記第ｍの撮影画像の個数と、前記選出数取得手段によって取得された個数と、の比率に基づいて、前記第ｍ＋１の撮影画像〜前記第ｍ＋ｎの撮影画像のうちから、前記動画像データのフレーム画像を選出する手段と、を含む、
ことを特徴とする画像処理装置。
【請求項１８】
請求項１乃至１６のいずれかに記載の画像処理装置において、
前記複数の撮影画像は、前記第１の撮影画像〜前記第ｍ（ｍ：２以上の整数）の撮影画像と、前記第ｍの撮影画像の後に撮影された第ｍ＋１の撮影画像〜第ｍ＋ｎ（ｎ：１以上の整数）の撮影画像と、を含み、
前記動画像データ生成手段は、
前記第ｍ＋１の撮影画像〜前記第ｍ＋ｎの撮影画像のうちから前記動画像データのフレーム画像として選出された撮影画像の個数を取得する選出数取得手段と、
前記被写体上の点に対応する特徴点が前記第１の撮影画像〜前記第ｍの撮影画像において検出されなかった場合に、前記第ｍ＋１の撮影画像〜前記第ｍ＋ｎの撮影画像の個数と、前記選出数取得手段によって取得された個数と、の比率に基づいて、前記第１の撮影画像〜前記第ｍの撮影画像のうちから、前記動画像データのフレーム画像を選出する手段と、を含む、
ことを特徴とする画像処理装置。
【請求項１９】
請求項１乃至１８のいずれかに記載の画像処理装置において、
前記一の撮影画像において検出された特徴点の特徴量と、前記他の撮影画像において検出された特徴点の特徴量と、が同一又は略同一であるか否かを判定する第１の判定手段と、
前記一の撮影画像において検出された特徴点の位置と、前記他の撮影画像において検出された特徴点の位置との、前記被写体の回転軸に対応する軸方向の座標値の差が閾値以上であるか否かを判定する第２の判定手段と、
前記第１の判定手段及び前記第２の判定手段の判定結果に基づいて、前記一の撮影画像において検出された特徴点と、前記他の撮影画像において検出された特徴点と、が前記被写体上の同一点に対応する特徴点であるか否かを判定する手段と、
を含むことを特徴とする画像処理装置。
【請求項２０】
請求項１乃至１９のいずれかに記載の画像処理装置において、
前記一の撮影画像において検出された特徴点の特徴量と、前記他の撮影画像において検出された特徴点の特徴量と、が同一又は略同一であるか否かを判定する判定手段と、
前記一の撮影画像及び前記他の撮影画像の両方における特徴量が同一又は略同一である一の特徴点と、前記一の撮影画像及び前記他の撮影画像の両方における特徴量が同一又は略同一である他の特徴点と、が検出された場合、（ａ）前記一の撮影画像における前記一の特徴点の位置と、前記他の撮影画像における前記一の特徴点の位置との、前記被写体の回転軸に対応する第１の軸と直交する第２の軸方向の座標値の差に関する情報と、（ｂ）前記一の撮影画像における前記他の特徴点の位置と、前記他の撮影画像における前記他の特徴点の位置との、前記第２の軸方向の座標値の差に関する情報と、を比較する比較手段と、
前記判定手段の判定結果及び前記比較手段の比較結果に基づいて、前記一の撮影画像において検出された特徴点と、前記他の撮影画像において検出された特徴点と、が前記被写体上の同一点に対応する特徴点であるか否かを判定する手段と、
を含むことを特徴とする画像処理装置。
【請求項２１】
請求項１乃至２０のいずれかに記載の画像処理装置において、
前記撮影画像取得手段は、前記被写体が複数回回転している間に前記被写体を繰り返し撮影することによって得られた複数の撮影画像を取得し、
前記動画像データ生成手段は、前記被写体が複数回回転している間に前記被写体を繰り返し撮影することによって得られた前記複数の撮影画像に基づいて、前記被写体が一回転する様子を示す前記動画像データを生成する、
ことを特徴とする画像処理装置。
【請求項２２】
被写体が回転している間に前記被写体を繰り返し撮影することによって得られた複数の撮影画像を取得する撮影画像取得ステップと、
撮影画像内の特徴点を検出する特徴点検出ステップと、
前記被写体上の同一点に対応する特徴点が、一の撮影画像と、前記一の撮影画像よりも後に撮影された他の撮影画像と、において検出された場合に、前記一の撮影画像及び前記他の撮影画像における前記特徴点の位置に関する位置情報を取得する位置情報取得ステップと、
前記一の撮影画像の撮影時点と前記他の撮影画像の撮影時点との間の前記被写体の回転角度に関する回転角度情報を前記位置情報に基づいて取得する回転角度情報取得ステップと、
前記被写体が回転する様子を示す動画像データのフレーム画像を、前記複数の撮影画像のうちから、前記回転角度情報に基づいて選出することによって、前記動画像データを生成する動画像データ生成ステップと、
を含むことを特徴とする画像処理方法。
【請求項２３】
被写体が回転している間に前記被写体を繰り返し撮影することによって得られた複数の撮影画像を取得する撮影画像取得手段、
撮影画像内の特徴点を検出する特徴点検出手段、
前記被写体上の同一点に対応する特徴点が、一の撮影画像と、前記一の撮影画像よりも後に撮影された他の撮影画像と、において検出された場合に、前記一の撮影画像及び前記他の撮影画像における前記特徴点の位置に関する位置情報を取得する位置情報取得手段、
前記一の撮影画像の撮影時点と前記他の撮影画像の撮影時点との間の前記被写体の回転角度に関する回転角度情報を前記位置情報に基づいて取得する回転角度情報取得手段、及び、
前記被写体が回転する様子を示す動画像データのフレーム画像を、前記複数の撮影画像のうちから、前記回転角度情報に基づいて選出することによって、前記動画像データを生成する動画像データ生成手段、
としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理装置、画像処理方法、及びプログラムに関する。
【背景技術】
【０００２】
被写体の全周囲を撮影する方法として、被写体が中心に配置された回転台を機械的に一定の角速度で回転させながら被写体を撮影する方法が知られている（非特許文献１）。また、このような方法によって得られた撮影画像データを用いて、画面に表示された被写体をユーザが任意に回転させることができるようにしたアプリケーションプログラムも知られている（非特許文献１）。
【０００３】
非特許文献１で公開されているアプリケーションプログラムでは、ユーザがタッチパネル上で指をスライドさせると、スライド量に応じた数だけ撮影画像データのフレームが進んだり、戻ったりするようになっている。その結果、ユーザのスライド量に応じた角度だけ被写体が回転し、ユーザが被写体を任意の方向から見ることができるようになっている。このような技術によれば、例えば、商品を販売するウェブサイトにおいてユーザが商品を任意の方向から見ることができるようにすることが可能になる。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】"The Coolest App AtSXSW-Arqball Spin". [online]. March 13, 2012. [retrieved on July 26,2012]. Retrieved from the Internet: <URL:http://erickschonfeld.com/2012/03/13/coolest-app-sxsw-arqball-spin/>.
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記技術の場合、機械的に一定の角速度で回転する回転台が必要となり、このような回転台を用意するために相当のコスト又は手間がかかってしまう。これに対し、手動で回転する回転台であれば、コストや手間を軽減できる。
【０００６】
しかしながら、手動で回転する回転台を用いる場合には被写体の角速度が一定にならないため、撮影画像データにおいてフレームごとの被写体の回転角度が一定にならない。その結果、このような撮影画像データをそのまま再生した場合には被写体の回転速度が一定にならない。また、このような撮影画像データを上記のアプリケーションプログラムにおいてそのまま用いた場合には、ユーザのスライド量に応じた被写体の回転角度が一定にならず、その結果、ユーザに違和感を与えてしまう場合がある。
【０００７】
このような不都合を解消するために、フレームごとの被写体の回転角度が略一定であるような被写体の動画像データを、一定でない角速度で回転している被写体を撮影した場合の撮影画像データに基づいて取得する技術が必要となる。
【０００８】
本発明は上記課題に鑑みてなされたものであって、その目的は、一定でない角速度で回転している被写体を撮影した場合の撮影画像データに基づいて、フレームごとの被写体の回転角度が略一定であるような動画像データを取得することが可能な画像処理装置、画像処理方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、本発明に係る画像処理装置は、被写体が回転している間に前記被写体を繰り返し撮影することによって得られた複数の撮影画像を取得する撮影画像取得手段と、撮影画像内の特徴点を検出する特徴点検出手段と、前記被写体上の同一点に対応する特徴点が、一の撮影画像と、前記一の撮影画像よりも後に撮影された他の撮影画像と、において検出された場合に、前記一の撮影画像及び前記他の撮影画像における前記特徴点の位置に関する位置情報を取得する位置情報取得手段と、前記一の撮影画像の撮影時点と前記他の撮影画像の撮影時点との間の前記被写体の回転角度に関する回転角度情報を前記位置情報に基づいて取得する回転角度情報取得手段と、前記被写体が回転する様子を示す動画像データのフレーム画像を、前記複数の撮影画像のうちから、前記回転角度情報に基づいて選出することによって、前記動画像データを生成する動画像データ生成手段と、を含むことを特徴とする。
【００１０】
また、本発明に係る画像処理方法は、被写体が回転している間に前記被写体を繰り返し撮影することによって得られた複数の撮影画像を取得する撮影画像取得ステップと、撮影画像内の特徴点を検出する特徴点検出ステップと、前記被写体上の同一点に対応する特徴点が、一の撮影画像と、前記一の撮影画像よりも後に撮影された他の撮影画像と、において検出された場合に、前記一の撮影画像及び前記他の撮影画像における前記特徴点の位置に関する位置情報を取得する位置情報取得ステップと、前記一の撮影画像の撮影時点と前記他の撮影画像の撮影時点との間の前記被写体の回転角度に関する回転角度情報を前記位置情報に基づいて取得する回転角度情報取得ステップと、前記被写体が回転する様子を示す動画像データのフレーム画像を、前記複数の撮影画像のうちから、前記回転角度情報に基づいて選出することによって、前記動画像データを生成する動画像データ生成ステップと、を含むことを特徴とする。
【００１１】
また、本発明に係るプログラムは、被写体が回転している間に前記被写体を繰り返し撮影することによって得られた複数の撮影画像を取得する撮影画像取得手段、撮影画像内の特徴点を検出する特徴点検出手段、前記被写体上の同一点に対応する特徴点が、一の撮影画像と、前記一の撮影画像よりも後に撮影された他の撮影画像と、において検出された場合に、前記一の撮影画像及び前記他の撮影画像における前記特徴点の位置に関する位置情報を取得する位置情報取得手段、前記一の撮影画像の撮影時点と前記他の撮影画像の撮影時点との間の前記被写体の回転角度に関する回転角度情報を前記位置情報に基づいて取得する回転角度情報取得手段、及び、前記被写体が回転する様子を示す動画像データのフレーム画像を、前記複数の撮影画像のうちから、前記回転角度情報に基づいて選出することによって、前記動画像データを生成する動画像データ生成手段、としてコンピュータを機能させるためのプログラムである。
【００１２】
また、本発明に係る情報記憶媒体は上記のプログラムを記録したコンピュータ読み取り可能な情報記憶媒体である。
【００１３】
また、本発明の一態様では、前記動画像データ生成手段は、前記一の撮影画像が前記動画像データのフレーム画像として選出されている場合に、前記他の撮影画像を前記動画像データのフレーム画像として選出するか否かを、前記回転角度情報と閾値との比較結果に基づいて決定するようにしてもよい。
【００１４】
また、本発明の一態様では、前記動画像データ生成手段は、前記一の撮影画像が前記動画像データのフレーム画像として選出されている場合において、前記回転角度情報が前記閾値以上である場合に、前記他の撮影画像と、前記他の撮影画像の一つ前に撮影された撮影画像と、の一方を前記動画像データのフレーム画像として選出するようにしてもよい。
【００１５】
また、本発明の一態様では、前記動画像データ生成手段は、前記一の撮影画像の撮影時点と前記他の撮影画像の撮影時点との間の前記被写体の回転角度に関する回転角度情報が、前記一の撮影画像の撮影時点と、前記他の撮影画像の一つ前に撮影された前記撮影画像の撮影時点と、の間の前記被写体の回転角度に関する回転角度情報よりも前記閾値に近い場合に、前記他の撮影画像を前記動画像データのフレーム画像として選出し、前記一の撮影画像の撮影時点と、前記他の撮影画像の一つ前に撮影された前記撮影画像の撮影時点と、の間の前記被写体の回転角度に関する回転角度情報が、前記一の撮影画像の撮影時点と前記他の撮影画像の撮影時点との間の前記被写体の回転角度に関する回転角度情報よりも前記閾値に近い場合に、前記他の撮影画像の一つ前に撮影された前記撮影画像を前記動画像データのフレーム画像として選出するようにしてもよい。
【００１６】
また、本発明の一態様では、前記位置情報取得手段は、前記被写体上の同一点に対応する特徴点が第１の対の撮影画像において検出された場合に、前記第１の対の撮影画像のうちの先に撮影された一の撮影画像と、前記第１の対の撮影画像のうちの後に撮影された他の撮影画像とにおける当該特徴点の位置に関する位置情報を取得し、前記回転角度情報取得手段は、前記第１の対の撮影画像のうちの前記一の撮影画像の撮影時点と、前記第１の対の撮影画像のうちの前記他の撮影画像の撮影時点と、の間の前記被写体の回転角度に関する回転角度情報を、前記第１の対の撮影画像の前記位置情報に基づいて取得し、前記位置情報取得手段は、前記被写体上の同一点に対応する特徴点が第２の対の撮影画像において検出された場合に、前記第２の対の撮影画像のうちの先に撮影された一の撮影画像と、前記第２の対の撮影画像のうちの後に撮影された他の撮影画像とにおける当該特徴点の位置に関する位置情報を取得し、前記回転角度情報取得手段は、前記第２の対の撮影画像のうちの前記一の撮影画像の撮影時点と、前記第２の対の撮影画像のうちの前記他の撮影画像の撮影時点と、の間の前記被写体の回転角度に関する回転角度情報を、前記第２の対の撮影画像の前記位置情報に基づいて取得し、前記動画像データ生成手段は、前記第１の対の撮影画像のうちの前記他の撮影画像と前記第２の対の撮影画像のうちの前記一の撮影画像とが同一である場合に、前記第１の対の撮影画像のうちの前記一の撮影画像の撮影時点と、前記第２の対の撮影画像のうちの前記他の撮影画像の撮影時点と、の間の前記被写体の回転角度に関する累積回転角度情報を、前記第１の対の撮影画像の前記回転角度情報と前記第２の対の撮影画像の前記回転角度情報とに基づいて取得する手段を含み、前記動画像データのフレーム画像を前記複数の撮影画像のうちから前記累積回転角度情報に基づいて選出するようにしてもよい。
【００１７】
また、本発明の一態様では、前記動画像データ生成手段は、前記第１の対の撮影画像のうちの前記一の撮影画像が前記動画像データのフレーム画像として選出されている場合に、前記第２の対の撮影画像のうちの前記他の撮影画像を前記動画像データのフレーム画像として選出するか否かを、前記累積回転角度情報と閾値との比較結果に基づいて決定するようにしてもよい。
【００１８】
また、本発明の一態様では、前記動画像データ生成手段は、前記第１の対の撮影画像のうちの前記一の撮影画像が前記動画像データのフレーム画像として選出されている場合において、前記累積回転角度情報が前記閾値以上である場合に、前記第２の対の撮影画像のうちの前記他の撮影画像と、前記第２の対の撮影画像のうちの前記他の撮影画像の一つ前に撮影された撮影画像と、の一方を前記動画像データのフレーム画像として選出するようにしてもよい。
【００１９】
また、本発明の一態様では、前記回転角度情報取得手段は、前記一の撮影画像における前記特徴点の位置と、前記他の撮影画像における前記特徴点の位置と、の差に関する位置差情報を取得する手段と、前記位置差情報に基づいて前記回転角度情報を取得する手段と、含むようにしてもよい。
【００２０】
また、本発明の一態様では、前記撮影画像内の、前記被写体の回転軸の位置に基づいて、前記撮影画像内の領域を観測領域として設定する手段を含み、前記回転角度情報取得手段は、前記特徴点が前記観測領域内に含まれている場合の前記位置差情報に基づいて、前記回転角度情報を取得するようにしてもよい。
【００２１】
また、本発明の一態様では、前記回転角度情報取得手段は、前記被写体が回転する場合の回転半径が大きい特徴点の前記位置差情報を、前記被写体が回転する場合の回転半径が小さい特徴点の前記位置差情報よりも優先的に用いて、前記回転角度情報を取得するようにしてもよい。
【００２２】
また、本発明の一態様では、前記回転角度情報取得手段は、前記被写体上の複数の点にそれぞれ対応する複数の特徴点が前記一の撮影画像及び前記他の撮影画像において検出される場合に、前記複数の特徴点の各々について、当該特徴点に対応する前記被写体上の点の回転半径に関する回転半径情報を取得する回転半径情報取得手段と、前記複数の特徴点の各々について、当該特徴点に対応する前記被写体上の前記点の、前記一の撮影画像の撮影時点と前記他の撮影画像の撮影時点との間の回転角度に関する回転角度情報を、当該特徴点の前記位置差情報及び前記回転半径情報に基づいて取得する手段と、前記複数の特徴点の各々の前記回転角度情報に基づいて、前記被写体の前記回転角度情報を取得する手段と、を含むようにしてもよい。
【００２３】
また、本発明の一態様では、前記回転半径情報取得手段は、前記被写体上の同一点に対応する前記特徴点が少なくとも三つの撮影画像において検出される場合に、前記少なくとも三つの撮影画像における当該特徴点の位置に基づいて、当該特徴点の楕円軌道に関する楕円軌道情報を取得する手段と、前記特徴点の前記楕円軌道情報に基づいて、当該特徴点の前記回転半径情報を取得する手段と、を含むようにしてもよい。
【００２４】
また、本発明の一態様では、前記回転半径情報取得手段は、前記被写体上の同一点に対応する前記特徴点が第ｉ（ｉ：１以上の整数）の撮影画像において最初に検出され、かつ、前記第ｉの撮影画像よりも後に撮影された第ｊ（ｊ：ｉ＜ｊである整数）の撮影画像において最後に検出される場合に、前記第ｉの撮影画像における当該特徴点の位置と、前記第ｊの撮影画像における当該特徴点の位置と、に基づいて、当該特徴点の前記回転半径情報を取得するようにしてもよい。
【００２５】
また、本発明の一態様では、前記回転角度情報取得手段は、前記被写体上の同一点に対応する前記特徴点が少なくとも三つの撮影画像において検出される場合に、当該特徴点の楕円軌道に関する楕円軌道情報を取得する手段と、前記一の撮影画像及び前記他の撮影画像における前記特徴点の位置と、前記楕円軌道情報と、に基づいて、前記回転角度情報を取得する手段と、を含むようにしてもよい。
【００２６】
また、本発明の一態様では、前記動画像データ生成手段は、前記複数の撮影画像のうちから選出される基準撮影画像と、前記基準撮影画像の撮影時点から所定時間が経過した後に撮影された撮影画像と、の間の類似度に関する類似度情報を取得する手段と、前記基準撮影画像の撮影時点から前記所定時間が経過した後に撮影された撮影画像のうちのいずれかを、前記被写体が一回転し終えた時点における撮影画像として、前記類似度情報に基づいて選出する手段と、を含み、前記被写体が一回転し終えた時点における撮影画像として選出された撮影画像の撮影時点以前に撮影された撮影画像に基づいて、前記被写体が一回転する様子を示す前記動画像データを生成するようにしてもよい。
【００２７】
また、本発明の一態様では、前記動画像データ生成手段は、前記基準撮影画像の撮影時点から前記所定時間が経過した後に撮影された撮影画像において検出された特徴点のうちの、前記基準撮影画像において検出された特徴点に対応する特徴点の個数を取得する特徴点数取得手段と、前記基準撮影画像の撮影時点から前記所定時間が経過した後に撮影された複数の撮影画像のうちから、前記被写体が一回転し終えた時点における撮影画像の候補を、前記特徴点数取得手段の取得結果に基づいて選出する手段と、前記基準撮影画像と、前記候補として選出された撮影画像と、の類似度に関する類似度情報を取得する手段と、
前記候補として選出された撮影画像のうちのいずれかを、前記被写体が一回転し終えた時点における撮影画像として、前記類似度情報に基づいて選出する手段と、を含むようにしてもよい。
【００２８】
また、本発明の一態様では、前記複数の撮影画像は、前記第１の撮影画像〜前記第ｍ（ｍ：２以上の整数）の撮影画像と、前記第ｍの撮影画像の後に撮影された第ｍ＋１の撮影画像〜第ｍ＋ｎ（ｎ：１以上の整数）の撮影画像と、を含み、前記動画像データ生成手段は、前記第１の撮影画像〜前記第ｍの撮影画像のうちから前記動画像データのフレーム画像として選出された撮影画像の個数を取得する選出数取得手段と、前記被写体上の点に対応する特徴点が前記第ｍ＋１の撮影画像〜前記第ｍ＋ｎの撮影画像において検出されなかった場合に、前記第１の撮影画像〜前記第ｍの撮影画像の個数と、前記選出数取得手段によって取得された個数と、の比率に基づいて、前記第ｍ＋１の撮影画像〜前記第ｍ＋ｎの撮影画像のうちから、前記動画像データのフレーム画像を選出する手段と、を含むようにしてもよい。
【００２９】
また、本発明の一態様では、前記複数の撮影画像は、前記第１の撮影画像〜前記第ｍ（ｍ：２以上の整数）の撮影画像と、前記第ｍの撮影画像の後に撮影された第ｍ＋１の撮影画像〜第ｍ＋ｎ（ｎ：１以上の整数）の撮影画像と、を含み、前記動画像データ生成手段は、前記第ｍ＋１の撮影画像〜前記第ｍ＋ｎの撮影画像のうちから前記動画像データのフレーム画像として選出された撮影画像の個数を取得する選出数取得手段と、前記被写体上の点に対応する特徴点が前記第１の撮影画像〜前記第ｍの撮影画像において検出されなかった場合に、前記第ｍ＋１の撮影画像〜前記第ｍ＋ｎの撮影画像の個数と、前記選出数取得手段によって取得された個数と、の比率に基づいて、前記第１の撮影画像〜前記第ｍの撮影画像のうちから、前記動画像データのフレーム画像を選出する手段と、を含むようにしてもよい。
【００３０】
また、本発明の一態様では、前記一の撮影画像において検出された特徴点の特徴量と、前記他の撮影画像において検出された特徴点の特徴量と、が同一又は略同一であるか否かを判定する第１の判定手段と、前記一の撮影画像において検出された特徴点の位置と、前記他の撮影画像において検出された特徴点の位置との、前記被写体の回転軸に対応する軸方向の座標値の差が閾値以上であるか否かを判定する第２の判定手段と、前記第１の判定手段及び前記第２の判定手段の判定結果に基づいて、前記一の撮影画像において検出された特徴点と、前記他の撮影画像において検出された特徴点と、が前記被写体上の同一点に対応する特徴点であるか否かを判定する手段と、を含むようにしてもよい。
【００３１】
また、本発明の一態様では、前記一の撮影画像において検出された特徴点の特徴量と、前記他の撮影画像において検出された特徴点の特徴量と、が同一又は略同一であるか否かを判定する判定手段と、前記一の撮影画像及び前記他の撮影画像の両方における特徴量が同一又は略同一である一の特徴点と、前記一の撮影画像及び前記他の撮影画像の両方における特徴量が同一又は略同一である他の特徴点と、が検出された場合、（ａ）前記一の撮影画像における前記一の特徴点の位置と、前記他の撮影画像における前記一の特徴点の位置との、前記被写体の回転軸に対応する第１の軸と直交する第２の軸方向の座標値の差に関する情報と、（ｂ）前記一の撮影画像における前記他の特徴点の位置と、前記他の撮影画像における前記他の特徴点の位置との、前記第２の軸方向の座標値の差に関する情報と、を比較する比較手段と、前記判定手段の判定結果及び前記比較手段の比較結果に基づいて、前記一の撮影画像において検出された特徴点と、前記他の撮影画像において検出された特徴点と、が前記被写体上の同一点に対応する特徴点であるか否かを判定する手段と、を含むようにしてもよい。
【００３２】
また、本発明の一態様では、前記撮影画像取得手段は、前記被写体が複数回回転している間に前記被写体を繰り返し撮影することによって得られた複数の撮影画像を取得し、前記動画像データ生成手段は、前記被写体が複数回回転している間に前記被写体を繰り返し撮影することによって得られた前記複数の撮影画像に基づいて、前記被写体が一回転する様子を示す前記動画像データを生成するようにしてもよい。
【発明の効果】
【００３３】
本発明によれば、一定でない角速度で回転している被写体を撮影した場合の撮影画像データに基づいて、フレームごとの被写体の回転角度が略一定であるような動画像データを取得することが可能になる。
【図面の簡単な説明】
【００３４】
【図１】本発明の実施形態に係る画像処理装置のハードウェア構成の一例を示す図である。
【図２】商品の撮影方法について説明するための図である。
【図３】商品の撮影方法について説明するための図である。
【図４】商品の動画像データの生成方法の概要について説明するための図である。
【図５】画像処理装置で実現される機能について示す機能ブロック図である。
【図６】特徴点検出部によって検出される特徴点の一例を示す図である。
【図７】商品の同一点に対応する特徴点の軌道の一例を示す図である。
【図８】一の撮影画像と他の撮影画像とにおいて検出される特徴点の一例を示す図である。
【図９】回転角度情報の取得方法について説明するための図である
【図１０】Ｓｉｎ関数について示す図である。
【図１１】観測領域の設定方法について説明するための図である。
【図１２】観測領域の設定方法について説明するための図である。
【図１３】フレーム画像の選出方法の一例について説明するための図である。
【図１４】フレーム画像の選出方法の他の一例について説明するための図である。
【図１５】フレーム画像の選出方法の他の一例について説明するための図である。
【図１６】画像処理装置で実行される処理の一例を示すフロー図である。
【図１７】画像処理装置で実行される処理の一例を示すフロー図である。
【図１８】画像処理装置で実行される処理の概要について説明するための図である。
【図１９】画像処理装置で実行される処理の詳細を示すフロー図である。
【図２０】画像処理装置で実行される処理の他の一例を示すフロー図である。
【図２１】画像処理装置で実行される処理の他の一例を示すフロー図である。
【図２２】変形例について説明するための図である。
【図２３】他の変形例について説明するための図である。
【発明を実施するための形態】
【００３５】
以下、本発明の実施形態の例について図面に基づき詳細に説明する。
【００３６】
図１は本発明の実施形態に係る画像処理装置のハードウェア構成の一例を示す。本実施形態に係る画像処理装置１０は、例えば、パーソナルコンピュータ、サーバコンピュータ、携帯電話（スマートフォンを含む）、又は携帯情報端末（タブレット型コンピュータを含む）によって実現される。
【００３７】
図１に示すように、画像処理装置１０は制御部１１、記憶部１２、光ディスクドライブ部１３、通信部１４、操作部１５、表示部１６、及び音声出力部１７を含む。
【００３８】
制御部１１は例えば１又は複数のマイクロプロセッサを含み、記憶部１２に記憶されたオペレーティングシステム又はプログラムに従って処理を実行する。記憶部１２は、ＲＡＭ等の主記憶部と、ハードディスク又はソリッドステートドライブ等の補助記憶部とを含む。
【００３９】
光ディスクドライブ部１３は、光ディスク（情報記憶媒体）に記憶されたプログラムやデータを読み取る。プログラムやデータは光ディスクを介して記憶部１２に供給される。すなわち、光ディスクに記憶されたプログラムやデータが読み出され、記憶部１２に記憶される。なお、光ディスクドライブ部１３は必須の構成要素ではない。光ディスク以外の情報記憶媒体（例えばメモリカード）に記憶されたプログラム又はデータを読み取るための構成要素が画像処理装置１０に含まれるようにしてもよい。そして、光ディスク以外の情報記憶媒体を介してプログラムやデータが記憶部１２に供給されるようにしてもよい。
【００４０】
通信部１４は画像処理装置１０を通信ネットワークに接続するためのインタフェースである。画像処理装置１０は通信ネットワークを介して他の装置とデータを授受できるようになっている。なお、プログラム及びデータが通信ネットワークを介して記憶部１２に供給されるようにしてもよい。
【００４１】
操作部１５はユーザが操作を行うためのものである。操作部１５は例えばキーボード又はポインティングデバイス等を含む。表示部１６は例えば液晶表示ディスプレイ又は有機ＥＬディスプレイ等であり、音声出力部１７は例えばスピーカ又はヘッドホン等である。
【００４２】
以下、一定でない角速度で回転している被写体を撮影した場合の撮影画像データに基づいて、フレームごとの被写体の回転角度が略一定であるような動画像データを生成するための技術について説明する。なお、以下では、商品の動画像データを生成する場合について説明する。ただし、本発明は商品以外の被写体の動画像データを生成する場合にも適用することができる。
【００４３】
まず、商品の撮影方法について説明する。図２及び図３は商品の撮影方法について説明するための図である。図２に示すように、商品３０（図２に示す例では招き猫）を撮影する場合には商品３０を回転台２０の上に配置する。
【００４４】
回転台２０は厚板２２、厚紙２４、及び画鋲２８を含んで構成されている。厚板２２は画鋲２８を刺しても問題がないような板であり、厚板２２には厚紙２４が画鋲２８で止められている。なお、画鋲２８は厚紙２４の中心２６に刺さっている。
【００４５】
商品３０は厚紙２４の中央に配置される。商品３０の中心軸が厚紙の中心２６と一致するようにして商品３０は配置される。厚紙２４は画鋲２８を回転軸３２として回転可能になっており、撮影者が厚紙２４を手で回転させると、厚紙２４上に配置された商品３０が回転軸３２周りに回転する。
【００４６】
図３に示すように、商品３０を撮影するための撮影装置３４が、回転台２０上に配置された商品３０を撮影可能な位置に固定される。図３に示す例では、回転台２０の前方であって、かつ、商品３０よりもやや上方に撮影装置３４が配置されている。
【００４７】
撮影装置３４はデジタルビデオカメラを含んで構成され、静止画像及び動画像を撮影可能である。例えば、単体のデジタルビデオカメラや、携帯電話等に内蔵されたデジタルビデオカメラが撮影装置３４として用いられる。例えば、画像処理装置１０に内蔵されたデジタルビデオカメラが撮影装置３４として用いられるようにしてもよい。なお、静止画像のみを撮影可能なデジタルカメラが撮影装置３４として用いられるようにしてもよい。
【００４８】
例えば、撮影装置３４による撮影は所定時間（例えば１／３０秒）ごとに行われる。すなわち、１秒ごとのフレーム数が所定数（例えば３０）である動画像が撮影装置３４によって撮影される。
【００４９】
撮影者は、撮影装置３４による撮影を開始するとともに、商品３０が配置された厚紙２４を反時計回り（又は時計回り）に回転させる。例えば、撮影者は人差し指及び中指で交互に厚紙２４を回転させる。この場合、回転している商品３０の動画像が撮影装置３４によって撮影される。この動画像は記憶媒体又は通信ネットワークを介して画像処理装置１０の記憶部１２に記憶される。この動画像は画像処理装置１０以外の装置に記憶されるようにしてもよい。
【００５０】
なお、撮影者は、商品３０の動画像を撮影する代わりに、商品３０が回転している間に商品３０の静止画像を連写するようにしてもよい。このようにして得られる静止画像群を上記の動画像の代わりに用いるようにしてもよい。
【００５１】
以下では、撮影装置３４によって撮影された動画像又は静止画像群のことを「撮影画像データ」と呼ぶ。また、撮影画像データに含まれる個々の画像のことを「撮影画像」と呼ぶ。例えば、撮影装置３４によって撮影された動画像が撮影画像データである場合、動画像の個々のフレーム画像が「撮影画像」に相当する。また例えば、撮影装置３４によって撮影された静止画像群が撮影画像データである場合、個々の静止画像が「撮影画像」に相当する。
【００５２】
また以下では、撮影画像データに基づいて生成すべき商品３０の動画像データ、すなわち、フレームごとの商品３０の回転角度が略一定であるような動画像データのことを単に「動画像データ」と呼ぶ。
【００５３】
次に、上記のような撮影画像データに基づいて、フレームごとの商品３０の回転角度が略一定であるような動画像データを生成するための方法について説明する。図４は、動画像データの生成方法の概要について説明するための図である。
【００５４】
図４において、撮影画像データに含まれる複数の撮影画像４０の上方に付されている数字は画像番号を示す。画像番号は撮影画像が撮影された順序を示す。撮影画像データが動画像である場合、画像番号は当該動画像のフレーム番号に相当する。一方、撮影画像データが静止画像群である場合、画像番号は何枚目に撮影された静止画像であるのかを示す。なお、以下では、画像番号が「ｉ」である撮影画像４０、すなわち第ｉ番目の撮影画像４０のことを撮影画像［ｉ］と記載する。
【００５５】
また図４において、動画像データに含まれる複数のフレーム画像４２の上方に付されている数字はフレーム番号を示す。なお、以下では、フレーム番号が「ｊ」であるフレーム画像４２、すなわち第ｊ番目のフレーム画像４２のことをフレーム画像［ｊ］と記載する。
【００５６】
図４に示すように、画像処理装置１０では、動画像データを構成する各フレーム画像４２を複数の撮影画像４０のうちから選出することによって、動画像データを生成する。
【００５７】
特に画像処理装置１０では、隣接するフレーム画像４２間の商品３０の回転角度（Δθ）が略一定となるように、各フレーム画像４２を選出する。
【００５８】
すなわち、フレーム画像４２に写っている商品３０の代表方向（例えば正面方向）と、当該フレーム画像４２の次のフレーム画像４２に写っている商品３０の代表方向との間の角度（Δθ）が略一定となるように、各フレーム画像４２を選出する。
【００５９】
さらに言い換えれば、フレーム画像４２として選出される撮影画像４０の撮影時点と、当該フレーム画像４２の次のフレーム画像４２として選出される撮影画像４０の撮影時点との間における商品３０の回転角度（Δθ）が略一定となるように、各フレーム画像４２を選出する。
【００６０】
図４に示す例では、撮影画像［１］がフレーム画像［１］として選出されている。撮影画像［４］がフレーム画像［２］として選出されている。撮影画像［６］がフレーム画像［３］として選出されている。
【００６１】
次に、上記のような生成方法を実現するための構成について説明する。図５は、画像処理装置１０で実現される機能について示す機能ブロック図である。
【００６２】
図５に示すように、画像処理装置１０は撮影画像取得部５０、特徴点検出部５２、位置情報取得部５４、回転角度情報取得部５６、及び動画像データ生成部５８を含む。これらの機能ブロックは例えば制御部１１によって実現される。すなわち、制御部１１がプログラムに従って処理を実行することによって、制御部１１が上記機能ブロックとして機能するようになる。
【００６３】
撮影画像取得部５０について説明する。撮影画像取得部５０は、被写体が回転している間に被写体を繰り返し撮影することによって得られた複数の撮影画像４０を取得する。以上に説明した例の場合、商品３０が「被写体」に相当する。
【００６４】
すなわち、撮影画像取得部５０は記憶部１２に記憶された撮影画像データを読み出す。なお、撮影画像データは画像処理装置１０以外の装置に記憶されていてもよい。つまり、撮影画像取得部５０は、画像処理装置１０以外の装置に記憶された撮影画像データを通信ネットワークを介して取得するようにしてもよい。
【００６５】
特徴点検出部５２及び位置情報取得部５４について説明する。特徴点検出部５２は撮影画像４０内の特徴点を検出する。位置情報取得部５４は、被写体上の同一点に対応する特徴点が対の撮影画像４０において検出された場合に、当該対の撮影画像４０のうちの先に撮影された一の撮影画像４０と、当該対の撮影画像４０のうちの後に撮影された他の撮影画像４０とにおける当該特徴点の位置に関する位置情報を取得する。
【００６６】
例えば、特徴点検出部５２は、特徴点を検出するための公知のアルゴリズムを用いて、撮影画像４０内の特徴点の位置及び特徴量を取得する。例えば、上記アルゴリズムとしては、ＳＵＲＦ（Speed-Up Robust Features）アルゴリズムを用いることが可能である。なお、ＳＵＲＦアルゴリズム以外のアルゴリズムを用いることも可能である。例えば、ＳＩＦＴ（Scale-Invariant Feature Transform）アルゴリズム又はＢｒｉｓｋ（Binary Robust Invariant Scalable Keypoints）アルゴリズムを用いることも可能である。
【００６７】
後述するように、特徴点は、商品３０の回転角度に関する情報を取得するために用いられる。このため、商品３０が写っている領域以外の領域（以下「背景領域」と記載する。）に含まれる特徴点は不要である。したがって、特徴点検出部５２は背景領域内の特徴点を無視するようにしてもよい。
【００６８】
例えば、特徴点検出部５２は、連続する二つの撮影画像４０の差分画像を取得する。撮影画像４０は、回転している商品３０を撮影した画像であるため、撮影画像４０の背景領域は基本的に変化しない。このため、特徴点検出部５２は、差分画像において画素値が零である領域を背景領域とみなし、この領域に含まれる特徴点を取り除く。すなわち、上記領域に含まれる特徴点は位置情報取得部５４及び回転角度情報取得部５６において考慮されない。
【００６９】
図６は特徴点検出部５２によって検出される特徴点の一例を示す図である。図６では、招き猫の鼻部分に対応する特徴点６０が検出されている。実際には、一つの撮影画像４０において複数の特徴点６０が検出されるが、図６では省略している。特徴点６０の位置は、例えば、撮影画像４０の左上頂点を原点Ｏとし、右方向及び下方向をＸ軸正方向及びＹ軸正方向とするようなＸ−Ｙ座標系の座標値によって表される。
【００７０】
例えば、招き猫の鼻部分に対応する特徴点６０は、招き猫の鼻部分が写っている複数の撮影画像４０の各々において検出される。すなわち、商品３０の同一点に対応する特徴点６０は複数の撮影画像４０において検出される。
【００７１】
図７は商品３０の同一点に対応する特徴点６０の軌道の一例を示す。例えば、図７は、招き猫の鼻部分に対応する特徴点６０の軌道７０を示している。図３に説明した例では撮影装置３４が回転台２０の前方であって、かつ、商品３０よりもやや上方に配置されているため、図７に示すように特徴点６０の軌道７０は楕円軌道になる。
【００７２】
なお、原則として、招き猫の鼻部分に対応する特徴点６０の特徴量はいずれの撮影画像４０においても同一である。すなわち、商品３０の同一点に対応する特徴点６０は複数の撮影画像４０において検出され得るが、原則として、商品３０の同一点に対応する特徴点６０の特徴量は複数の撮影画像４０の各々において同一である。
【００７３】
そこで、特徴点検出部５２（第１の判定手段）は、一の撮影画像４０で検出された特徴点６０の特徴量と、他の撮影画像４０で検出された特徴点６０の特徴量と、が同一又は略同一であるか否かを判定する。なお、これらの特徴点６０の特徴量の差が閾値以下である場合に、特徴点検出部５２はこれらの特徴点６０の特徴量が略同一であると判定する。これらの特徴点６０の特徴量が同一又は略同一である場合に、特徴点検出部５２は、これらの特徴点６０は商品３０の同一点に対応する特徴点６０であると判定する。
【００７４】
ところで、商品３０は回転軸３２周りに回転し、かつ、Ｙ軸は回転軸３２に対応する軸であるため、商品３０の同一点に対応する特徴点６０のＹ軸座標値が大きく変化することはない。
【００７５】
そこで、特徴点検出部５２（第２の判定手段）は、一の撮影画像４０で検出された特徴点６０のＹ軸座標値と、他の撮影画像４０で検出された特徴点６０のＹ軸座標値と、の差が閾値以上であるか否かを判定する。そして、これらの特徴点６０のＹ軸座標値の差が閾値以上である場合には、これらの特徴点６０の特徴量が同一又は略同一であったとしても、特徴点検出部５２は、これらの特徴点６０は商品３０の同一点に対応する特徴点６０ではないと判定する。
【００７６】
また、商品３０の複数の同一点にそれぞれ対応する複数の特徴点６０が一の撮影画像４０と他の撮影画像４０とにおいて検出された場合、それら複数の特徴点６０の各々のＸ軸座標値の変化量は略等しくなり、大きく異なることはない。
【００７７】
そこで、例えば図８に示すように、一の撮影画像４０及び他の撮影画像４０の両方における特徴量が同一又は略同一である特徴点６０Ａと、一の撮影画像４０及び他の撮影画像４０の両方における特徴量が同一又は略同一である特徴点６０Ｂと、一の撮影画像４０及び他の撮影画像４０の両方における特徴量が同一又は略同一である特徴点６０Ｃと、一の撮影画像４０及び他の撮影画像４０の両方における特徴量が同一又は略同一である特徴点６０Ｄとが検出された場合、特徴点検出部５２（比較手段）は、特徴点６０ＤのＸ軸座標値の変化量と、他の特徴点６０Ａ〜６０ＣのＸ軸座標値の変化量と、を比較する。
【００７８】
図８に示す例では、特徴点６０Ａ〜６０ＣのＸ軸座標値の変化量は略等しく、特徴点６０ＤのＸ軸座標値の変化量は特徴点６０Ａ〜６０Ｃに比べて大きくなっている。このように特徴点６０ＤのＸ軸座標値の変化量が他の特徴点６０Ａ〜６０ＣのＸ軸座標値の変化量と大きく異なっている場合、特徴点検出部５２は、特徴点６０Ｄは商品３０の同一点に対応する特徴点６０ではないと判定する。すなわち、特徴点検出部５２は、Ｘ軸座標値の変化量の偏差の絶対値が閾値よりも大きいような特徴点６０Ｄを、商品３０の同一点に対応する特徴点６０ではないと判定する。
【００７９】
回転角度情報取得部５６について説明する。回転角度情報取得部５６は、一の撮影画像４０の撮影時点と他の撮影画像４０の撮影時点との間における被写体の回転角度に関する回転角度情報を、位置情報取得部５４によって取得された位置情報に基づいて取得する。
【００８０】
例えば、「回転角度情報」とは、回転角度そのものを示す数値情報であってもよいし、回転角度そのものを示す数値情報ではないが、回転角度と比例関係にあるような数値情報であってもよい。すなわち、「回転角度情報」とは、回転角度の大きさを直接的に示す数値情報であってもよいし、回転角度の大きさを間接的に示す数値情報であってもよい。
【００８１】
図９は、回転角度情報の取得方法について説明するための図であり、商品３０の回転角度と特徴点６０のＸ座標値の変化との関係について説明するための図である。図９は、回転台２０に配置されている商品３０を真上から見下ろしたような場合を示している。
【００８２】
商品３０が回転軸３２周りに回転した場合、商品３０上の点３０Ａの軌道８０は回転軸３２を中心とする円軌道となる。なお、以下では円軌道の半径を「ｒ」と記載する。
【００８３】
例えば、商品３０が回転角度θ１だけ回転した場合の商品３０上の点３０Ａに対応する特徴点６０のＸ軸座標値の変化量ｘ１は下記式（１）によって表される。すなわち、ｘ１はｒとｓｉｎθ１との乗算値となる。同様に、商品３０が回転角度θ２だけ回転した場合の商品３０上の点３０Ａに対応する特徴点６０のＸ軸座標値の変化量ｘ２は下記式（２）によって表される。すなわち、ｘ２はｒとｓｉｎθ２との乗算値となる。
【００８４】
【数１】
2014068264.tif 000003
【００８５】
ところで、Ｓｉｎ関数は図１０に示すようになるため、角度θが零又は零の近傍値である近傍領域９０では、Ｓｉｎ関数は直線近似することができる。このため、上記式（１）及び（２）は比例定数ａを用いて下記式（３）及び（４）のように近似することができる。さらに、下記式（３）及び（４）より、ｘ１，ｘ２，θ１，θ２の関係は下記式（５）のようになる。
【００８６】
【数２】
2014068264.tif 000004
【００８７】
また、ｘ２，θ２は下記式（６）及び（７）のように表すことができる。
【００８８】
【数３】
2014068264.tif 000005
【００８９】
上記式（５）は下記式（８）のように変形することができる。また、下記式（８）は下記式（９）のように整理することができる。さらに、上記式（３）より、下記式（９）は下記式（１０）のように変形することができる。そして、下記式（１０）より下記式（１１）を得ることができる。
【００９０】
【数４】
2014068264.tif 000006
【００９１】
上記式（１１）は、角度の変化（Δθ）がＸ軸座標値の変化（Δｘ）に比例することを示している。したがって、商品３０が回転した場合の回転角度（Δθ）は、商品３０上の点３０Ａに対応する特徴点６０のＸ軸座標値の変化量（Δｘ）と比例関係を有する。
【００９２】
ところで、上記式（１１）における半径ｒは、原則として、商品３０上の各点ごとに異なる。しかしながら、商品３０の形状が円柱形状である場合、上記半径ｒは商品３０上の各点ごとに異ならず、略同一となる。このため、商品３０の形状が円柱形状であると仮定すると、上記式（１１）における半径ｒは無視できるようになり、その結果、特徴点６０のＸ軸座標値の変化量を、商品３０の回転角度の大きさを示す数値として用いることができる。
【００９３】
以上を踏まえて、回転角度情報取得部５６の機能の詳細について説明する。
【００９４】
回転角度情報取得部５６は、撮影画像４０における回転軸３２の位置に基づいて、撮影画像４０内に観測領域を設定する。この観測領域は図１０に示す近傍領域９０に対応する領域である。図１１及び図１２は観測領域の設定方法について説明するための図である。
【００９５】
まず、回転角度情報取得部５６は、すべての撮影画像４０における特徴点６０のうちから、Ｘ軸座標値が最小である特徴点６０と、Ｘ軸座標値が最大である特徴点６０とを抽出する。なお、この場合、背景領域に含まれる特徴点６０は無視される。
【００９６】
図１１では、Ｘ軸座標値が最小である特徴点６０のＸ軸座標値を「Ｘｍｉｎ」と記載し、Ｘ軸座標値が最大である特徴点６０のＸ軸座標値を「Ｘｍａｘ」と記載している。回転角度情報取得部５６は、Ｘ軸座標値がＸｍｉｎ≦ｘ≦Ｘｍａｘを満足する領域を、特徴点６０が存在し得る領域（以下「存在領域」と記載する。）１００とみなす。
【００９７】
次に、回転角度情報取得部５６は、撮影画像４０内における回転軸３２の位置を存在領域１００に基づいて取得する。例えば図１１に示すように、回転角度情報取得部５６は、存在領域１００を左右方向に均等に分割する直線１０２を、回転軸３２に対応する直線とみなす。すなわち、回転角度情報取得部５６は、Ｘｍｉｎ及びＸｍａｘの中間値（（Ｘｍｉｎ＋Ｘｍａｘ）／２）を通り、かつ、Ｙ軸と平行な直線１０２を、回転軸３２に対応する直線とみなす。
【００９８】
なお、回転角度情報取得部５６は、すべての撮影画像４０の各々において、被写体（商品３０）が写っている被写体領域を取得するようにしてもよい。そして、回転角度情報取得部５６は、それら被写体領域の和集合領域を左右に均等に分割する直線を、回転軸３２に対応する直線とみなすようにしてもよい。
【００９９】
上記のようにして得られた直線１０２に基づいて、回転角度情報取得部５６は観測領域を設定する。例えば図１２に示すように、回転角度情報取得部５６は、上記直線１０２を中心とする幅ｄの矩形領域を観測領域１１０として設定する。この場合、幅ｄは存在領域１００の幅ｗよりも小さい値に設定される。
【０１００】
後述するように、回転角度情報取得部５６は、回転角度情報を取得するために、観測領域１１０内に含まれる特徴点６０のみを用いる。このため、幅ｄの値が小さすぎると、観測領域１１０内に含まれる特徴点６０の数が少なくなるため、回転角度情報の精度が低くなってしまうおそれがある。一方、幅ｄの値が大きすぎると、観測領域１１０が図１０における近傍領域９０に対応しなくなるおそれがある。この場合、Ｓｉｎ関数を直線近似することが可能であるという前提が成立しなくなってしまい、その結果として、回転角度情報の精度が低くなってしまうおそれがある。例えば、幅ｄの値は存在領域１００の幅（ｗ）の１／３程度の値に設定するのが好ましい。
【０１０１】
商品３０上の同一点に対応する特徴点６０が一の撮影画像４０及び他の撮影画像４０の両方の観測領域１１０において検出された場合、回転角度情報取得部５６は、一の撮影画像４０における特徴点６０の位置と、他の撮影画像４０における特徴点６０の位置と、の差に関する位置差情報を取得する。
【０１０２】
例えば、回転角度情報取得部５６は、上記の位置差情報として、Ｘ軸座標値の差に関する情報を取得する。先述のように、Ｘ軸は、回転軸３２に対応するＹ軸と直交する軸である。
【０１０３】
回転角度情報取得部５６は上記位置差情報に基づいて回転角度情報を取得する。
【０１０４】
例えば、商品３０上の複数の同一点にそれぞれ対応する複数の特徴点６０が一の撮影画像４０及び他の撮影画像４０の両方の観測領域１１０において検出された場合、回転角度情報取得部５６は、それら複数の特徴点６０の各々について、一の撮影画像４０と他の撮影画像４０との間のＸ軸座標値の変化量を算出する。そして、回転角度情報取得部５６は、上記複数の特徴点６０の各々の上記変化量の統計値（例えば平均値）を算出する。この場合、この数値が上記回転角度情報として用いられる。
【０１０５】
あるいは、回転角度情報取得部５６は、一の撮影画像４０における上記複数の特徴点６０の重心位置を算出するようにしてもよい。また、回転角度情報取得部５６は、他の撮影画像４０における上記複数の特徴点６０の重心位置も算出するようにしてもよい。そして、回転角度情報取得部５６はそれらの重心位置の間のＸ軸座標値の差を算出するようにしてもよい。この場合、この数値が上記回転角度情報として用いられる。
【０１０６】
なお、上記数値は、回転角度の大きさを示す数値に相当しているが、回転角度そのものを示す数値ではない。このため、以下では、上記数値のことを便宜上「擬似回転角度」と呼ぶ。
【０１０７】
動画像データ生成部５８について説明する。動画像データ生成部５８は、被写体が回転する様子を示す動画像データの各フレーム画像４２を、複数の撮影画像４０のうちから、位置情報取得部５４によって取得された位置情報に基づいて選出することによって、動画像データを生成する。
【０１０８】
例えば、動画像データ生成部５８は、商品３０が回転する様子を示す動画像データの各フレーム画像４２を、撮影画像データに含まれる複数の撮影画像４０のうちから、回転角度情報取得部５６によって取得された回転角度情報に基づいて選出する。
【０１０９】
具体的には、動画像データ生成部５８は、フレーム画像４２間の商品３０の回転角度が略一定になるようにして各フレーム画像４２を選出する。
【０１１０】
図１３はフレーム画像４２の選出方法の一例について説明するための図である。なお図１３において、例えば、Δθ１，２は撮影画像［１］と撮影画像［２］との間の擬似回転角度を示す。すなわち、Δθ１，２は撮影画像［１］の撮影時点から撮影画像［２］の撮影時点までの間の商品３０の擬似回転角度を示す。例えば、商品３０上の複数の同一点にそれぞれ対応する複数の特徴点６０が撮影画像［１］及び撮影画像［２］の両方の観測領域１１０において検出された場合、撮影画像［１］及び撮影画像［２］の間におけるそれら複数の特徴点６０のＸ軸座標値の変化量の平均値がΔθ１，２に相当する。
【０１１１】
まず、動画像データ生成部５８はフレーム画像［１］を選出する。例えば、動画像データ生成部５８は撮影画像［１］をフレーム画像［１］として選出する。
【０１１２】
次に、動画像データ生成部５８はフレーム画像［２］を選出する。まず、動画像データ生成部５８は、直前のフレーム画像［１］として選出された撮影画像［１］の次の撮影画像［２］をフレーム画像［２］として選出すべきか否かを判定する。
【０１１３】
この場合、動画像データ生成部５８は、撮影画像［１］と撮影画像［２］との間の擬似回転角度Δθ１，２と閾値θＴとを比較する。すなわち、動画像データ生成部５８は、撮影画像［１］と撮影画像［２］との間の擬似回転角度Δθ１，２が閾値θＴ以上であるか否かを判定する。なお、閾値θＴはフレーム画像４２間の擬似回転角度として適切な擬似回転角度であり、予め設定される。
【０１１４】
仮に、擬似回転角度Δθ１，２が閾値θＴ以上である場合、動画像データ生成部５８は撮影画像［２］をフレーム画像［２］として選出する。一方、図１３に示すように、擬似回転角度Δθ１，２が閾値θＴ未満である場合、動画像データ生成部５８は撮影画像［２］をフレーム画像［２］として選出しない。
【０１１５】
撮影画像［２］がフレーム画像［２］として選出されなかった場合、動画像データ生成部５８は次の撮影画像［３］をフレーム画像［２］として選出すべきか否かを判定する。
【０１１６】
この場合、動画像データ生成部５８は、直前のフレーム画像［１］として選出された撮影画像［１］から撮影画像［３］までの間の累積擬似回転角度と閾値θＴとを比較する。すなわち、動画像データ生成部５８は、撮影画像［１］，［２］間の擬似回転角度Δθ１，２と撮影画像［２］，［３］間の擬似回転角度Δθ２，３との和が閾値θＴ以上であるか否かを判定する。なおこの場合、この和は、撮影画像［１］の撮影時点から撮影画像［３］の撮影時点までの間の商品３０の回転角度の大きさを示す数値に相当している。
【０１１７】
仮に、擬似回転角度Δθ１，２，Δθ２，３の和が閾値θＴ以上である場合、動画像データ生成部５８は撮影画像［３］をフレーム画像［２］として選出する。一方、図１３に示すように、擬似回転角度Δθ１，２，Δθ２，３の和が閾値θＴ未満である場合、動画像データ生成部５８は撮影画像［３］をフレーム画像［２］として選出しない。
【０１１８】
撮影画像［３］がフレーム画像［２］として選出されなかった場合、動画像データ生成部５８は次の撮影画像［４］をフレーム画像［２］として選出すべきか否かを判定する。
【０１１９】
この場合、動画像データ生成部５８は、直前のフレーム画像［１］として選出された撮影画像［１］から撮影画像［４］までの間の累積擬似回転角度が閾値θＴ以上であるか否かを判定する。すなわち、動画像データ生成部５８は、撮影画像［１］，［２］間の擬似回転角度Δθ１，２と、撮影画像［２］，［３］間の擬似回転角度Δθ２，３と、撮影画像［３］，［４］間の擬似回転角度Δθ３，４との和が閾値θＴ以上であるか否かを判定する。なおこの場合、この和は、撮影画像［１］の撮影時点から撮影画像［４］の撮影時点までの間の商品３０の回転角度の大きさを示す数値に相当している。
【０１２０】
図１３に示すように、擬似回転角度Δθ１，２，Δθ２，３，Δθ３，４の和が閾値θＴ以上である場合、動画像データ生成部５８は撮影画像［４］をフレーム画像［２］として選出する。
【０１２１】
フレーム画像［２］が選出された後、動画像データ生成部５８はフレーム［３］を選出する。まず、動画像データ生成部５８は、直前のフレーム画像［２］として選出された撮影画像［４］の次の撮影画像［５］をフレーム画像［３］として選出すべきか否かを判定する。
【０１２２】
この場合、動画像データ生成部５８は、撮影画像［４］と撮影画像［５］との間の擬似回転角度Δθ４，５が閾値θＴ以上であるか否かを判定する。仮に、擬似回転角度Δθ４，５が閾値θＴ以上である場合、動画像データ生成部５８は撮影画像［５］をフレーム画像［３］として選出する。一方、図１３に示すように、擬似回転角度Δθ４，５が閾値θＴ未満である場合、動画像データ生成部５８は撮影画像［５］をフレーム画像［３］として選出しない。
【０１２３】
撮影画像［５］がフレーム画像［３］として選出されなかった場合、動画像データ生成部５８は次の撮影画像［６］をフレーム画像［３］として選出すべきか否かを判定する。
【０１２４】
この場合、動画像データ生成部５８は、直前のフレーム画像［２］として選出された撮影画像［４］から撮影画像［６］までの間の累積擬似回転角度が閾値θＴ以上であるか否かを判定する。すなわち、動画像データ生成部５８は、撮影画像［４］，［５］間の擬似回転角度Δθ４，５と、撮影画像［５］，［６］間の擬似回転角度Δθ５，６との和が閾値θＴ以上であるか否かを判定する。
【０１２５】
図１３に示すように、擬似回転角度Δθ４，５，Δθ５，６の和が閾値θＴ以上である場合、動画像データ生成部５８は撮影画像［６］をフレーム画像［３］として選出する。
【０１２６】
以上のように、撮影画像［ｉ］がフレーム画像［ｊ］として選出された場合、動画像データ生成部５８は、撮影画像［ｉ＋１］をフレーム画像［ｊ＋１］として選出すべきか否かを判定するために、撮影画像［ｉ］から撮影画像［ｉ＋１］までの間の累積擬似回転角度が閾値θＴ以上であるか否かを判定する。
【０１２７】
そして、上記累積擬似回転角度が閾値θＴ以上である場合、動画像データ生成部５８は撮影画像［ｉ＋１］をフレーム画像［ｊ＋１］として選出する。一方、上記累積擬似回転角度が閾値θＴ未満である場合、動画像データ生成部５８は撮影画像［ｉ＋１］をフレーム画像［ｊ＋１］として選出しない。この場合、動画像データ生成部５８は、撮影画像［ｉ＋２］をフレーム画像［ｊ＋１］として選出すべきか否かを判定するために、撮影画像［ｉ］から撮影画像［ｉ＋２］までの間の累積擬似回転角度が閾値θＴ以上であるか否かを判定する。
【０１２８】
このようにして、動画像データ生成部５８は、撮影画像［ｉ］との間の累積擬似回転角度が閾値θＴ以上となる最初の撮影画像４０を探す。例えば、撮影画像［ｉ］から撮影画像［ｉ＋ｋ］（ｋ：１以上の整数）までの間の累積擬似回転角度が閾値θＴ以上である場合、動画像データ生成部５８は撮影画像［ｉ＋ｋ］をフレーム画像［ｊ＋１］として選出する。
【０１２９】
以上に説明したようにして、動画像データ生成部５８は動画像データの各フレーム画像４２を選出する。
【０１３０】
なお、フレーム画像４２の選出方法は図１３に示す例に限られない。ここで、フレーム画像４２の選出方法の他の例について説明する。
【０１３１】
まず、一つ目の例について説明する。図１４は一つ目の例について説明するための図である。ここでは、撮影画像［ｉ］がフレーム画像［ｊ］として選出された後において、撮影画像［ｉ＋１］がフレーム画像［ｊ＋１］として選出されなかった場合に、撮影画像［ｉ＋ｋ］（ｋ：２以上の整数）をフレーム画像［ｊ＋１］として選出するか否かを判定する場合を想定する。
【０１３２】
このような場合、図１３に示す選出方法では、直前のフレーム画像［ｊ］として選出された撮影画像［ｉ］から撮影画像［ｉ＋ｋ］までの間の累積擬似回転角度が閾値θＴ以上であるか否かを判定するようになっていた。すなわち、図１３に示す選出方法では、撮影画像［ｉ］から撮影画像［ｉ＋ｋ］までの間の累積擬似回転角度Δθｉ，ｉ＋１＋・・・＋Δθｉ−ｋ−１，ｉ＋ｋが閾値θＴ以上であるか否かを判定するようになっていた。
【０１３３】
これに対し、図１４に示す選出方法では、撮影画像［ｉ］と撮影画像［ｉ＋ｋ］との間において、商品３０の同一点に対応する特徴点６０のＸ軸座標値の変化量を算出し、この変化量に基づいて、撮影画像［ｉ］と撮影画像［ｉ＋ｋ］との間の擬似回転角度Δθｉ，ｉ＋ｋを算出する。
【０１３４】
すなわち、例えば、商品３０上の複数の同一点にそれぞれ対応する複数の特徴点６０が撮影画像［ｉ］及び撮影画像［ｉ＋ｋ］の両方の観測領域１１０で検出された場合、それら複数の特徴点６０のＸ軸座標値の変化量の平均値を擬似回転角度Δθｉ，ｉ＋ｋとして算出し、この擬似回転角度Δθｉ，ｉ＋ｋが閾値θＴ以上であるか否かを判定する。
【０１３５】
二つ目の例について説明する。ここでも、撮影画像［ｉ］がフレーム画像［ｊ］として選出された後において、撮影画像［ｉ＋ｋ］をフレーム画像［ｊ＋１］として選出するか否かを判定する場合を想定する。
【０１３６】
このような場合、最初のフレーム画像［１］として選出された撮影画像［１］と撮影画像［ｉ＋ｋ］との間の累積擬似回転角度（又は擬似回転角度θ１，ｉ＋ｋ）がθＴ＊ｊ以上であるか否かを判定するようにしてもよい。そして、上記累積擬似回転角度（又は上記擬似回転角度θ１，ｉ＋ｋ）がθＴ＊ｊ以上である場合、撮影画像［ｉ＋ｋ］をフレーム画像［ｊ＋１］として選出するようにしてもよい。
【０１３７】
三つ目の例について説明する。図１５は三つ目の例について説明するための図である。ここでは、撮影画像［ｉ］がフレーム画像［ｊ］として選出された後において、撮影画像［ｉ＋３］をフレーム画像［ｊ＋１］として選出するか否かを判定する場合を想定する。
【０１３８】
図１３に示す選出方法では、撮影画像［ｉ］と撮影画像［ｉ＋３］との間の累積擬似回転角度が閾値θＴ以上である場合に、撮影画像［ｉ＋３］をフレーム画像［ｊ＋１］として選出するようになっていた。また、図１４に示す選出方法では、撮影画像［ｉ］と撮影画像［ｉ＋３］との間の擬似回転角度θｉ，ｉ＋３が閾値θＴ以上である場合に、撮影画像［ｉ＋３］をフレーム画像［ｊ＋１］として選出するようになっていた。また、上記二つ目の例においても、撮影画像［１］と撮影画像［ｉ＋３］との間の累積擬似回転角度（又は擬似回転角度θ１，ｉ＋３）がθＴ＊ｊ以上である場合に、撮影画像［ｉ＋３］をフレーム画像［ｊ＋１］として選出するようになっていた。
【０１３９】
しかしながら、このような場合には、撮影画像［ｉ＋３］と、撮影画像［ｉ＋３］の直前の撮影画像［ｉ＋２］と、の一方を選択的にフレーム画像［ｊ＋１］として選出するようにしてもよい。
【０１４０】
例えば図１３に示す選出方法の場合であれば、上記のような場合、動画像データ生成部５８は、撮影画像［ｉ］と撮影画像［ｉ＋２］との間の累積擬似回転角度Δθｉ，ｉ＋１＋Δθｉ＋１，ｉ＋２と、撮影画像［ｉ］と撮影画像［ｉ＋３］との間の累積擬似回転角度Δθｉ，ｉ＋１＋Δθｉ＋１，ｉ＋２＋Δθｉ＋２，ｉ＋３とのうちのいずれがより閾値θＴに近いかを判定する。例えば、動画像データ生成部５８は、それら累積擬似回転角度の中間値が閾値θＴ未満であるか否かを判定する。すなわち、動画像データ生成部５８は、それら累積擬似回転角度の中間値（（Δθｉ，ｉ＋１＋Δθｉ＋１，ｉ＋２）＋（Δθｉ，ｉ＋１＋Δθｉ＋１，ｉ＋２＋Δθｉ＋２，ｉ＋３））／２が閾値θＴ未満であるか否かを判定する。
【０１４１】
図１５に示すように、上記中間値が閾値θＴより大きい場合には、撮影画像［ｉ］と撮影画像［ｉ＋２］との間の累積擬似回転角度の方が閾値θＴに近いため、動画像データ生成部５８は撮影画像［ｉ＋２］を撮影画像［ｊ＋１］として選出する。一方、上記中間値が閾値θＴ未満である場合には、撮影画像［ｉ］と撮影画像［ｉ＋３］との間の累積擬似回転角度の方が閾値θＴに近いため、動画像データ生成部５８は撮影画像［ｉ＋３］を撮影画像［ｊ＋１］として選出する。
【０１４２】
また例えば図１４に示す選出方法の場合であれば、動画像データ生成部５８は、撮影画像［ｉ］と撮影画像［ｉ＋２］との間の擬似回転角度θｉ，ｉ＋２と、撮影画像［ｉ］と撮影画像［ｉ＋３］との間の擬似回転角度θｉ，ｉ＋３とのうちのいずれがより閾値θＴに近いかを判定する。例えば、動画像データ生成部５８は、それら擬似回転角度の中間値（Δθｉ，ｉ＋２＋Δθｉ，ｉ＋３）／２が閾値θＴ未満であるか否かを判定する。
【０１４３】
図１５に示すように、上記中間値が閾値θＴより大きい場合には、撮影画像［ｉ］と撮影画像［ｉ＋２］との間の擬似回転角度θｉ，ｉ＋２の方が閾値θＴに近いため、動画像データ生成部５８は撮影画像［ｉ＋２］を撮影画像［ｊ＋１］として選出する。一方、上記中間値が閾値θＴ未満である場合には、撮影画像［ｉ］と撮影画像［ｉ＋３］との間の擬似回転角度θｉ，ｉ＋３の方が閾値θＴに近いため、動画像データ生成部５８は撮影画像［ｉ＋３］を撮影画像［ｊ＋１］として選出する。
【０１４４】
このようにすれば、動画像データにおいて商品３０がよりスムーズに回転するようになる。なお、上記中間値が閾値θＴと等しい場合、動画像データ生成部５８は撮影画像［ｉ＋２］及び撮影画像［ｉ＋３］のいずれをフレーム画像［ｊ＋１］として選出するようにしてもよい。
【０１４５】
次に、図５に示す機能ブロックを実現するために画像処理装置１０で実行される処理について説明する。図１６及び図１７は、一回転する商品３０の動画像データを撮影データに基づいて生成するために画像処理装置１０において実行される処理の一例を示すフロー図である。なお、図１６，１７に示す処理は、図１３，１５に示す選出方法を組み合わせた選出方法に対応している。制御部１１がプログラムに従って図１６，１７に示す処理を実行することによって、制御部１１が図５に示す機能ブロックとして機能するようになる。
【０１４６】
図１６に示すように、まず制御部１１は、一回転する商品３０の動画像データを生成するために、一回転分の撮影画像データを撮影画像データから抽出する（Ｓ１０１）。図１８はステップＳ１０１の処理の概要について説明するための図であり、図１９はステップＳ１０１の処理の詳細を示すフロー図である。
【０１４７】
図１８に示すように、制御部１１は、撮影画像データに含まれる撮影画像４０のうちから、商品３０が一回転し終えた時点の撮影画像４０を探し出す。商品３０が一回転し終えた時点の撮影画像４０は、商品３０が回転を開始する直前の撮影画像４０（以下「基準撮影画像」と記載する。）と同一又は略同一の画像であるはずであり、かつ、基準撮影画像が撮影された時点からある程度の時間が経過した後に撮影された画像であるはずである。このため、撮影画像［ｉ］が下記条件（Ａ），（Ｂ）の両方を満足する場合、撮影画像［ｉ］は、商品３０が一回転し終えた時点の撮影画像４０に相当しているとみなすことができる。なお例えば、撮影画像データに含まれる撮影画像４０のうちの先頭の撮影画像４０が「基準撮影画像」として設定される。
【０１４８】
（Ａ）基準撮影画像と撮影画像［ｉ］とが同一又は略同一である。言い換えれば、基準撮影画像と撮影画像［ｉ］との間の類似度が極めて高い。
【０１４９】
（Ｂ）基準撮影画像の撮影時点と撮影画像［ｉ］の撮影時点とが所定時間以上離れている。言い換えれば、基準撮影画像と撮影画像［ｉ］との画像番号の差が閾値（ＩＴ）以上である。
【０１５０】
なお、上記条件（Ｂ）における「所定時間」や「閾値（ＩＴ）」は、商品３０が一回転するために要する平均的な時間を考慮して決定されるものである。
【０１５１】
以上より、制御部１１は、上記条件（Ａ）及び（Ｂ）の両方を満足する撮影画像４０を撮影画像データのうちから探し出すことによって、商品３０が一回転し終えた時点の撮影画像４０を探し出す。そして、制御部１１は、基準撮影画像からその撮影画像４０までを一回転分の撮影画像データとして抽出する。なお、図１９に示す処理では、末尾の撮影画像４０から先頭の撮影画像４０へと向かう順番で、上記条件（Ａ）及び（Ｂ）の両方を満足する撮影画像４０を探すようになっている。また、先頭の撮影画像４０を基準撮影画像としている。
【０１５２】
図１９に示す処理では、まず制御部１１は、撮影画像データに含まれる撮影画像４０の総数Ｎを取得する（Ｓ２０１）。そして、制御部１１は上記総数Ｎを変数ｉに代入する（Ｓ２０２）。また、制御部１１は、上記総数Ｎに所定係数α（α：０＜α＜１、例えば１／３）を乗じることによって得られる値を閾値ＩＴとして設定する（Ｓ２０３）。なお、制御部１１は予め定められた固定値を閾値ＩＴとして設定するようにしてもよい。
【０１５３】
その後、制御部１１は撮影画像［１］と撮影画像［ｉ］とが同一又は略同一であるか否かを判定する（Ｓ２０４）。すなわち、制御部１１は、撮影画像［１］と撮影画像［ｉ］ととの類似度が極めて高いか否かを判定する。
【０１５４】
例えば、商品３０の複数の同一点にそれぞれ対応する複数の特徴点６０が撮影画像［１］と撮影画像［ｉ］との両方において検出される場合、制御部１１はそれら複数の特徴点６０の個数が所定の閾値よりも多いか否かを判定する。
【０１５５】
上記個数が閾値よりも多い場合、制御部１１は、撮影画像［１］と撮影画像［ｉ］との差分画像を生成し、差分画像の画素値の合計値を算出する。この場合、この合計値が小さいほど、撮影画像［１］と撮影画像［ｉ］との類似度が高いことになる。このため、制御部１１は上記合計値が所定の閾値未満であるか否かを判定する。
【０１５６】
上記合計値が閾値未満である場合、制御部１１は撮影画像［１］と撮影画像［ｉ］とが同一又は略同一であると判定する。一方、上記個数が閾値未満である場合や、上記合計値が閾値以上である場合、制御部１１は撮影画像［１］と撮影画像［ｉ］とが同一及び略同一でないと判定する。
【０１５７】
なお、以上のような判定方法では、上記個数が閾値よりも多い場合に限って、差分画像の生成等が行われるようになっており、その結果、処理負荷が軽減されるようになっている。ただし、撮影画像［１］と撮影画像［ｉ］とが同一又は略同一であるか否かの判定方法は上記方法に限られない。上記方法では特徴点６０の個数を考慮するようにしたが、特徴点６０の個数は考慮しないようにしてもよい。また、上記方法以外の公知の方法を採用するようにしてもよい。
【０１５８】
撮影画像［１］と撮影画像［ｉ］とが同一又は略同一でない場合（Ｓ２０４：Ｎ）、制御部１１は変数ｉの値から１を減算し（Ｓ２０５）、変数ｉの値が閾値ＩＴ未満であるか否かを判定する（Ｓ２０６）。変数ｉの値が閾値ＩＴ未満でない場合（Ｓ２０６：Ｎ）、制御部１１はステップＳ２０４を実行する。
【０１５９】
一方、撮影画像［１］と撮影画像［ｉ］とが同一又は略同一である場合（Ｓ２０４：Ｙ）、制御部１１は、撮影画像［１］〜［ｉ］を一回転分の撮影画像データとして抽出する（Ｓ２０８）。すなわち、制御部１１は撮影画像［１］〜［ｉ］を後述の処理（Ｓ１０２〜Ｓ１２０）に用いる。この場合、撮影画像［ｉ＋１］以降の撮影画像４０は取り除かれることになる。
【０１６０】
また、ステップＳ２０６において変数ｉの値が閾値ＩＴ未満であると判定された場合、制御部１１は撮影画像［１］〜［Ｎ］を抽出する（Ｓ２０７）。ステップＳ２０６において変数ｉの値が閾値ＩＴ未満であると判定される場合とは、上記条件（Ａ）及び（Ｂ）の両方を満足する撮影画像４０が存在していない場合である。このような場合、制御部１１は撮影画像データに含まれるすべての撮影画像４０を後述の処理（Ｓ１０２〜Ｓ１２０）に用いる。
【０１６１】
なお、ステップＳ２０４〜Ｓ２０８を実行する代わりに、撮影画像［ＩＴ］〜撮影画像［Ｎ］のうちで撮影画像［１］との類似度が最も高い撮影画像４０を探すようにしてもよい。そして、先頭の撮影画像４０からその撮影画像４０までを一回転分の撮影画像データとして抽出するようにしてもよい。
【０１６２】
図１６に示すように、ステップＳ１０１が実行された後、制御部１１は撮影画像［１］を読み出し（Ｓ１０２）、撮影画像［１］内の特徴点６０を検出する（Ｓ１０３）。また、制御部１１は撮影画像［１］をフレーム画像［１］として選出する（Ｓ１０４）。
【０１６３】
その後、制御部１１は変数ｓを０に初期化し、変数ｉ，ｊを２に初期化し、変数ｋを１に初期化する（Ｓ１０５）。なお、変数ｓは累積擬似回転角度を算出するために用いられる。また、変数ｉは処理対象の撮影画像４０の画像番号を示し、変数ｊは選出対象のフレーム画像４２のフレーム番号を示す。変数ｋはフレーム画像［ｊ−１］として選出された撮影画像４０の画像番号を示す。
【０１６４】
ステップＳ１０５が実行された後、制御部１１は撮影画像［ｉ］を読み出し（Ｓ１０６）、撮影画像［ｉ］内の特徴点６０を検出する（Ｓ１０７）。このステップＳ１０７における検出結果は記憶部１２に記憶される。
【０１６５】
ステップＳ１０７が実行された後、制御部１１は、撮影画像［ｉ−１］と撮影画像［ｉ］との間の擬似回転角度Δθｉ−１，ｉを算出し（Ｓ１０８）、その擬似回転角度Δθｉ−１，ｉを変数ｓに加算する（Ｓ１０９）。そして、制御部１１は変数ｓが閾値θＴ以上であるか否かを判定する（Ｓ１１０）。
【０１６６】
変数ｓが閾値θＴ以上でない場合（Ｓ１１０：Ｎ）、図１７に示すように、制御部１１は変数ｉに１を加算し（Ｓ１１９）、撮影画像［ｉ］が存在しているか否かを判定する（Ｓ１２０）。撮影画像［ｉ］が存在している場合（Ｓ１２０：Ｙ）、制御部１１はステップＳ１０６を実行する。
【０１６７】
一方、変数ｓが閾値θＴ以上である場合（Ｓ１１０：Ｙ）、図１７に示すように、制御部１１は、フレーム画像［ｊ］として選出された撮影画像［ｋ］と撮影画像［ｉ−１］との間の累積擬似回転角度ｓｋ，ｉ−１と、撮影画像［ｋ］と撮影画像［ｉ］との間の累積擬似回転角度ｓｋ，ｉとの間の中間値（ｓｋ，ｉ−１＋ｓｋ，ｉ）／２を算出し、その中間値が閾値θＴ以下であるか否かを判定する（Ｓ１１１）。
【０１６８】
上記中間値が閾値θＴ以上である場合（Ｓ１１１：Ｙ）、制御部１１は撮影画像［ｉ］をフレーム画像［ｊ］として選出する（Ｓ１１２）。またこの場合、制御部１１は変数ｉの値を変数ｋに代入し（Ｓ１１３）、変数ｉに１を加算する（Ｓ１１４）。そして、制御部１１は撮影画像［ｉ］が存在しているか否かを判定する（Ｓ１１５）。撮影画像［ｉ］が存在している場合（Ｓ１１５：Ｙ）、制御部１１は変数ｊに１を加算し（Ｓ１１８）、ステップＳ１０６を実行する。
【０１６９】
一方、上記中間値が閾値θＴより大きい場合（Ｓ１１１：Ｎ）、制御部１１は撮影画像［ｉ−１］をフレーム画像［ｊ］として選出する（Ｓ１１６）。またこの場合、制御部１１は、変数ｉの値から１を減算した値を変数ｋに代入する（Ｓ１１７）。そして、制御部１１は変数ｊに１を加算し（Ｓ１１８）、ステップＳ１０６を実行する。
【０１７０】
ステップＳ１１５又はＳ１２０において撮影画像［ｉ］が存在していないと判定された場合、制御部１１は本処理を終了する。この場合、フレーム画像［１］〜［ｊ］を含む動画像データが、一回転する商品３０を示す動画像データとして生成される。
【０１７１】
なお、画像処理装置１０で実行される処理は図１６，１７に示す処理に限られない。
【０１７２】
例えば、図１７のステップＳ１１１，Ｓ１１６，Ｓ１１７を削除するようにしてもよい。すなわち、ステップＳ１１０において変数ｓが閾値θＴ以上であると判定された場合には常にステップＳ１１２〜Ｓ１１５が実行されるようにしてもよい。この場合、図１３に示す選出方法が実行されることになる。
【０１７３】
また例えば、図１６のステップＳ１０８，Ｓ１０９を実行する代わりに、制御部１１は撮影画像［ｋ］と撮影画像［ｉ］との間の擬似回転角度θｋ，ｉを算出するようにしてもよい。そして、ステップＳ１１０では、この擬似回転角度θｋ，ｉが閾値θＴ以上であるか否かを判定するようにしてもよい。この場合、図１４に示す選出方法が実行されることになる。
【０１７４】
また例えば、図１６のステップＳ１０１を省略し、図１７に示す処理の代わりに、図２０に示す処理を実行するようにしてもよい。図２０に示す処理は、ステップＳ１２１〜Ｓ１２４を含む点で図１７に示す処理と相違している。
【０１７５】
図２０に示す処理では、ステップＳ１１３，Ｓ１１７が実行された後に、制御部１１は、フレーム画像［ｊ］として選出された撮影画像４０が、商品３０が一回転し終えた時点の撮影画像４０に相当しているか否かを判定するための処理を実行する（ステップＳ１２１〜Ｓ１２４）。
【０１７６】
すなわち、ステップＳ１１３が実行された後、制御部１１は変数ｉの値が閾値ＩＴ以上であるか否かを判定する（Ｓ１２１）。この閾値ＩＴは図１９のステップＳ２０６と同様である。
【０１７７】
変数ｉの値が閾値ＩＴ以上でない場合（Ｓ１２１：Ｎ）、制御部１１はステップＳ１１４を実行する。一方、変数ｉの値が閾値ＩＴ以上である場合（Ｓ１２１：Ｙ）、制御部１１は、フレーム画像［１］とフレーム画像［ｊ］とが同一又は略同一であるか否かを判定する（Ｓ１２２）。この処理は図１９のステップＳ２０４と同様である。
【０１７８】
フレーム画像［１］とフレーム画像［ｊ］とが同一又は略同一でないと判定された場合（Ｓ１２２：Ｎ）、制御部１１はステップＳ１１４を実行する。一方、フレーム画像［１］とフレーム画像［ｊ］とが同一又は略同一であると判定された場合（Ｓ１２２：Ｙ）、制御部１１は本処理を終了する。この場合、フレーム画像［１］〜［ｊ］を含む動画像データが、一回転する商品３０を示す動画像データとして生成される。
【０１７９】
また、ステップＳ１１７が実行された後、制御部１１は、変数ｉの値から１を減算した値が閾値ＩＴ以上であるか否かを判定する（Ｓ１２３）。変数ｉの値から１を減算した値が閾値ＩＴ以上でない場合（Ｓ１２３：Ｎ）、制御部１１はステップＳ１１８を実行する。一方、変数ｉの値から１を減算した値が閾値ＩＴ以上である場合（Ｓ１２３：Ｙ）、制御部１１は、フレーム画像［１］とフレーム画像［ｊ］とが同一又は略同一であるか否かを判定する（Ｓ１２４）。
【０１８０】
フレーム画像［１］とフレーム画像［ｊ］とが同一又は略同一でないと判定された場合（Ｓ１２４：Ｎ）、制御部１１はステップＳ１１８を実行する。一方、フレーム画像［１］とフレーム画像［ｊ］とが同一又は略同一であると判定された場合（Ｓ１２４：Ｙ）、制御部１１は本処理を終了する。この場合、フレーム画像［１］〜［ｊ］を含む動画像データが、一回転する商品３０を示す動画像データとして生成される。
【０１８１】
このようにしても、一回転する商品３０の動画像データを生成できるようになる。
【０１８２】
なお、ステップＳ１２１〜Ｓ１２４を実行する代わりに、ステップＳ１１５又はＳ１２０において撮影画像［ｉ］が存在していないと判定された場合に図２１に示す処理を実行するようにしてもよい。図２１に示す処理は、生成された動画像データに含まれるフレーム画像［１］〜［ｊ］のうちから、一回転分の動画像データを抽出するための処理になっている。
【０１８３】
図２１に示す処理では、制御部１１は変数ｊの値を変数ｈに代入し（Ｓ３０１）、変数ｊに係数α（０＜α＜１：例えば１／３）を乗じることによって得られる値を閾値ＨＴに設定する（Ｓ３０２）。この閾値ＨＴは図１９，２０における閾値ＩＴに相当するものである。
【０１８４】
その後、制御部１１はフレーム画像［１］とフレーム画像［ｈ］とが同一又は略同一であるか否かを判定する（Ｓ３０３）。この処理は図１９のステップＳ２０４と同様である。
【０１８５】
フレーム画像［１］とフレーム画像［ｈ］とが同一又は略同一でない場合（Ｓ３０３：Ｎ）、制御部１１は変数ｈの値から１を減算する（Ｓ３０４）。そして、制御部１１は変数ｈの値が閾値ＨＴ未満であるか否かを判定する（Ｓ３０５）。変数ｈの値が閾値ＨＴ未満でない場合（Ｓ３０５：Ｎ）、制御部１１はステップＳ３０３を実行する。
【０１８６】
一方、フレーム画像［１］とフレーム画像［ｈ］とが同一又は略同一である場合（Ｓ３０３：Ｙ）、制御部１１は、フレーム画像［１］〜［ｈ］を、一回転する商品３０の動画像データとして抽出する（Ｓ３０７）。この場合、一旦選出されたフレーム画像［１］〜［ｊ］のうちから、フレーム画像［１］〜［ｈ］が、一回転する商品３０の動画像データとして取得される。この場合、フレーム画像［ｈ＋１］〜［ｊ］が取り除かれることになる。
【０１８７】
変数ｈの値が閾値ＨＴ未満である場合（Ｓ３０５：Ｙ）、制御部１１はフレーム画像［１］〜［ｊ］を抽出する（Ｓ３０６）。ステップＳ３０６において変数ｈの値が閾値ＨＴ未満であると判定される場合とは、商品３０が一回転し終えた時点の画像に対応するフレーム画像４２を見つけることができなかった場合である。このような場合、制御部１１は、フレーム画像［１］〜［ｊ］を、商品３０の動画像データとして抽出する。
【０１８８】
図２０に示す処理の代わりに図２１に示す処理を実行するようにしても、一回転する商品３０の動画像データを生成できるようになる。
【０１８９】
なお、図２１に示す処理では、フレーム画像［ＨＴ］〜［ｊ］のうちでフレーム画像［１］との類似度が最も高いフレーム画像４２を探すようにしてもよい。そして、先頭のフレーム画像４２からそのフレーム画像４２までの動画像データを、一回転する商品３０の動画像データとして取得するようにしてもよい。このようにしても、一回転する商品３０の動画像データを生成できるようになる。
【０１９０】
以上に説明した画像処理装置１０によれば、一定でない角速度で回転している商品３０を撮影した場合の撮影画像データに基づいて、フレームごとの商品３０の回転角度が略一定であるような動画像データを取得することが可能になる。また、画像処理装置１０によれば、一回転分の動画像データを取得することが可能になる。
【０１９１】
なお、本発明は以上に説明した実施形態に限定されるものではない。
【０１９２】
［１］以上では、商品３０の形状が略円柱形状であるとの仮定の下で、商品３０上の各点がとる軌道８０（円軌道）の半径ｒは同一であるとみなすこととして説明した。しかしながら、商品３０の形状は略円柱形状に限られない。商品３０の形状が略円柱形状でない場合、上記半径ｒは各点ごとに異なるため、上記半径ｒが同一であるとみなしてしまうと、誤差が大きくなってしまうおそれがある。そこで、画像処理装置１０は、このような不都合の発生を抑制するための構成を備えるようにしてもよい。
【０１９３】
［１−１］例えば、回転角度情報取得部５６は、上記半径ｒが大きい特徴点６０を上記半径ｒが小さい特徴点６０よりも優先的に用いて、回転角度情報を取得するようにしてもよい。
【０１９４】
［１−１−１］例えば、回転角度情報取得部５６は、上記半径ｒが大きい特徴点６０のみを回転角度情報の取得に用い、上記半径ｒが大きくない特徴点６０を回転角度情報の取得に用いないようにしてもよい。
【０１９５】
例えば、観測領域１１０外の領域と観測領域１１０との両方を通過するような特徴点６０は、上記半径ｒが比較的大きい商品３０上の点（特徴点６０）に相当しているということができる。このため、このような特徴点６０のみを回転角度情報の取得に用いることによって、上記半径ｒが比較的大きい特徴点６０のみを回転角度情報の取得に用いるようにしてもよい。
【０１９６】
この場合、特徴点６０が観測領域１１０外から観測領域１１０内に移動したか否かを判定すれば足り、上記半径ｒをあえて算出する必要がないため、処理負荷の増大を抑制することが可能である。
【０１９７】
［１−１−２］当然のことながら、回転角度情報取得部５６（回転半径情報取得手段）は、各特徴点６０ごとに上記半径ｒ（回転半径情報）を算出するようにしてもよい。そして、回転角度情報取得部５６は、上記半径ｒが閾値よりも大きい特徴点６０のみを回転角度情報の取得に用い、上記半径ｒが閾値以下である特徴点６０を回転角度情報の取得に用いないようにしてもよい。
【０１９８】
［１−２］また例えば、回転角度情報取得部５６（回転半径情報取得手段）は、各特徴点６０ごとに上記半径ｒ（回転半径情報）を算出するようにしてもよい。そして、回転角度情報取得部５６は、各特徴点６０の擬似回転角度（回転角度情報）を、上記式（１１）に従い、当該特徴点６０のＸ軸座標値の変化量（位置差情報）と、当該特徴点６０の上記半径ｒ（回転半径情報）と、に基づいて算出するようにしてもよい。そして、回転角度情報取得部５６、このようにして算出された擬似回転角度の統計値（例えば平均値）を商品３０の擬似回転角度として用いるようにしてもよい。
【０１９９】
なお、以上に説明した変形例１−１−２や変形例１−２では上記半径ｒを算出する必要がある。このため、上記半径ｒ（回転半径情報）の算出方法について説明しておく。
【０２００】
例えば、回転角度情報取得部５６（回転半径情報取得手段）は、商品３０上の同一点に対応する特徴点６０の軌道７０（楕円軌道）に関する楕円軌道情報を取得し、この楕円軌道情報に基づいて、上記半径ｒを算出するようにしてもよい。例えば、回転角度情報取得部５６は、軌道７０の長径及び短径の少なくとも一方に基づいて、上記半径ｒを推定する。例えば、回転角度情報取得部５６は、軌道７０の長径の１／２を上記半径ｒとして取得する。
【０２０１】
なお、商品３０上の同一点に対応する特徴点６０が少なくとも三つの撮影画像４０において検出されれば、特徴点６０の軌道７０に関する楕円軌道情報を取得することが可能である。この場合、軌道７０の算出精度を高めるために次のようにしてもよい。
【０２０２】
すなわち、商品３０上の複数の同一点にそれぞれ対応する複数の特徴点６０の各々について軌道７０を算出した場合、これら複数の軌道７０は中心点が一致し、同心楕円になるはずである。このため、回転角度情報取得部５６は、他の軌道７０と中心点がずれている軌道７０や、他の軌道７０と同心楕円になっていない軌道７０を利用しないようにするとよい。
【０２０３】
また、商品３０上の同一点に対応する特徴点６０が四つ以上の撮影画像４０において検出される場合、回転角度情報取得部５６は、特徴点６０の三つの位置の組み合わせを複数取得するようにしてもよい。また、回転角度情報取得部５６は、これら複数の組み合わせにそれぞれ対応する複数の軌道７０を算出するようにしてもよい。そして、回転角度情報取得部５６は、このようにして算出された複数の軌道７０の中心点、長径、及び短径の各々の平均を、上記特徴点６０の軌道７０の中心点、長径、及び短径として取得するようにしてもよい。このようにしても、軌道７０の算出精度を高めることが可能になる。
【０２０４】
上記に説明した方法の代わりに下記に説明する方法を採用するようにしてもよい。
【０２０５】
例えば、商品３０上の同一点に対応する特徴点６０が撮影画像［ｉ］（ｉ：１以上の整数）で最初に検出され、かつ、撮影画像［ｊ］（ｊ：ｉ＜ｊである整数）で最後に検出される場合、回転角度情報取得部５６（回転半径情報取得手段）は、撮影画像［ｉ］，［ｊ］における当該特徴点６０の位置に基づいて、上記半径ｒを取得するようにしてもよい。
【０２０６】
例えば、撮影画像［ｉ］，［ｊ］における当該特徴点６０の位置がともに存在領域１００の端部領域に含まれているのであれば、回転角度情報取得部５６は、撮影画像［ｉ］，［ｊ］における当該特徴点６０の位置を結ぶ直線の長さの１／２を上記半径ｒとして取得するようにしてもよい。なお、「端部領域」は存在領域１００の端から所定距離以内の領域である。
【０２０７】
または、回転角度情報取得部５６は、撮影画像［ｉ］，［ｊ］間における当該特徴点６０のＸ軸座標値の差の１／２を上記半径ｒとして取得するようにしてもよい。
【０２０８】
ところで、商品３０に付された図柄は存在領域１００の端付近で変形するため、図柄部分に対応する特徴点６０の特徴量は、特徴点６０が存在領域１００の中央領域にある場合と、特徴点６０が存在領域１００の端部領域にある場合とで異なる。その結果、図柄部分に対応する特徴点６０が存在領域１００の端部領域にある場合には、図柄部分に対応する特徴点６０とは異なる特徴点６０として認識されてしまうおそれがある。また、撮影装置３４と商品３０とが近い場合、商品３０の図柄部分の１８０度分の回転が撮影されず、１８０度より小さい角度分の回転しか撮影されない場合がある。この点を考慮すると、この算出方法よりも先述の算出方法の方が精度が高くなる。ただし、この算出方法によれば、楕円軌道を算出する必要がないため、先述の算出方法に比べて処理負荷が軽減される。
【０２０９】
［２］例えば、以上に説明した実施形態では、閾値θＴが予め設定されていたが、閾値θＴを動的に設定するようにしてもよい。
【０２１０】
［２−１］例えば、動画像データの生成の基礎となる撮影画像４０の個数に基づいて、閾値θＴを設定するようにしてもよい。商品３０の一回転分の撮影画像４０の個数が多いほど、閾値θＴが小さくなるようにしてもよい。この場合、撮影画像４０の数と閾値θＴとの対応関係を示す対応関係情報を記憶部１２に記憶させておき、この対応関係情報に基づいて閾値θＴを設定するようにすればよい。
【０２１１】
閾値θＴが小さいほど、動画像データは滑らかになる。この点、上記のようにすれば、撮影データに合わせて閾値θＴを小さくすることが可能になるため、動画像データをできる限り滑らかにすることが可能になる。
【０２１２】
［２−２］また例えば、フレーム画像４２を十分に選出できなかった場合に閾値θＴを変更するようにしてもよい。図２２はこの変形例について説明するための図である。
【０２１３】
この変形例では、最初、制御部１１は閾値θＴを比較的小さい値に設定する。そして、制御部１１は、フレーム画像４２間の回転角度が閾値θＴとなるようにフレーム画像４２を選出する。
【０２１４】
この場合、制御部１１は、フレーム画像４２間の回転角度が閾値θＴとなるようにしてフレーム画像４２を選出できたか否かを判定する。例えば、フレーム画像［ｊ］とフレーム画像［ｊ＋１］との間の擬似回転角度と閾値θＴとの差が所定範囲内であるならば、制御部１１は、フレーム画像４２間の回転角度が閾値θＴとなるようにしてフレーム画像４２を選出できたとみなす。具体的には、上記擬似回転角度が閾値θＴ±２０％の範囲内であるならば、制御部１１は、フレーム画像４２間の回転角度が閾値θＴとなるようにしてフレーム画像４２を選出できたとみなす。
【０２１５】
また、この場合、図２２（Ａ）に示すフレーム画像［２］，「６」のように、フレーム画像４２間の回転角度が閾値θＴとなるようにしてフレーム画像４２を選出できなかったのであれば、図２２（Ｂ）に示すように、制御部１１は閾値θＴを大きくし、更新後の閾値θＴに基づいてフレーム画像４２を選出する。フレーム画像４２間の回転角度が閾値θＴとなるようにしてすべてのフレーム画像４２を選出できるようになるまでこのような処理を繰り返す。
【０２１６】
このようにしても、撮影画像データに合わせて閾値θＴを小さくすることが可能になるため、動画像データをできる限り滑らかにすることが可能になる。
【０２１７】
［２−３］なお、複数回転分の撮影画像データを取得しておき、一回転目の撮影画像データから取得できなかったフレーム画像４２を二回転目以降の撮影画像データから取得するようにしてもよい。なお、二回転目以降の撮影データは、一回転目の撮影データを抽出する方法と同様にして抽出することができる。
【０２１８】
例えば、図２２（Ａ）に示す例では、フレーム画像［１］との間の擬似回転角度がΔθＴであるようなフレーム画像［２］を選出できていない。このような場合、フレーム画像［１］との間の擬似回転角度がΔθＴであるようなフレーム画像４２を二回転目以降の撮影画像データから探し出すようにしてもよい。
【０２１９】
そして、フレーム画像［１］との間の擬似回転角度がΔθＴであるようなフレーム画像４２を二回転目以降の撮影画像データから見つけ出すことができなかった場合に限って、図２２（Ｂ）に示すように、閾値θＴを大きくするようにしてもよい。
【０２２０】
［３］例えば、商品３０の形状が回転軸３２に対して回転対称であって、かつ、商品３０の一部（例えば表側）にのみ文字、模様や、図柄が付されているような場合、文字等が付された部分が撮影装置３４に写っていない期間においては撮影画像４０が変化しない。この場合、商品３０上の同一点に対応する特徴点６０を検出できなくなり、その結果として、特徴点６０のＸ軸座標値の変化量を取得できなくなってしまう。
【０２２１】
図２３は上記のような不都合に対処するための処理について説明するための図である。図２３は、一回転分の撮影画像データに含まれる撮影画像［１］〜［ｍ＋ｎ］のうちの、撮影画像［ｍ＋１］〜［ｍ＋ｎ］において、商品３０上の同一点に対応する特徴点６０が検出されなかった場合を示している。
【０２２２】
このような場合、制御部１１は、撮影画像［１］〜［ｍ］のうちからフレーム画像４２として選出された撮影画像４０の個数を取得する。図２３に示す例ではこの数がｐ個になっている。
【０２２３】
そして、制御部１１は、撮影画像［１］〜［ｍ］の個数と、撮影画像［１］〜［ｍ］のうちからフレーム画像４２として選出された撮影画像４０の個数と、の比率に基づいて、撮影画像［ｍ＋１］〜［ｍ＋ｎ］のうちからフレーム画像４２を選出する。
【０２２４】
図２３に示す例では上記比率がｐ／ｍであるため、制御部１１は、この比率と同様の比率で、撮影画像［ｍ＋１］〜［ｍ＋ｎ］のうちからフレーム画像４２を選出する。すなわち、制御部１１は、ｎ個の撮影画像［ｍ＋１］〜［ｍ＋ｎ］のうちからｑ個（ｑ：ｑ＝ｎ＊ｐ／ｍ）の撮影画像４０をフレーム画像４２として選出する。例えば、制御部１１は、撮影画像［ｍ＋１］〜［ｍ＋ｎ］のうちからｍ／ｐ個間隔で撮影画像４０をフレーム画像４２として選出する。仮に、ｍ／ｐが「３」であるならば、制御部１１は撮影画像［ｍ＋３］，［ｍ＋６］，［ｍ＋９］，・・・をフレーム画像４２として選出する。このようにすれば、上記のような不都合に対処できるようになる。
【０２２５】
なお、以上では、撮影画像［ｍ＋１］〜［ｍ＋ｎ］において、商品３０上の同一点に対応する特徴点６０が検出されなかった場合について説明したが、撮影画像［１］〜［ｍ］において、商品３０上の同一点に対応する特徴点６０が検出されなかった場合も同様である。この場合、制御部１１は、撮影画像［ｍ＋１］〜［ｍ＋ｎ］の個数と、撮影画像［ｍ＋１］〜［ｍ＋ｎ］のうちからフレーム画像４２として選出された撮影画像４０の個数と、の比率に基づいて、撮影画像［１］〜［ｍ］のうちからフレーム画像４２を選出するようにしてもよい。
【０２２６】
［４］また例えば、回転角度情報取得部５６の動作は以上に説明した実施形態に限られない。
【０２２７】
例えば、回転角度情報取得部５６は、商品３０上の同一点に対応する特徴点６０の軌道７０（楕円軌道）に関する楕円軌道情報を取得するようにしてもよい。なお、商品３０上の同一点に対応する特徴点６０が少なくとも三つの撮影画像４０において検出されれば、それらの撮影画像４０における特徴点６０の位置に基づいて、特徴点６０の軌道７０に関する楕円軌道情報を取得することができる。
【０２２８】
そして、例えば撮影画像［ｉ］の撮影時点と撮影画像［ｉ＋ｋ］（ｋ：１以上の整数）の撮影時点との間の商品３０の回転角度を算出する場合、回転角度情報取得部５６は、撮影画像［ｉ］における上記特徴点６０の位置と、撮影画像［ｉ＋ｋ］における上記特徴点６０の位置と、上記楕円軌道情報と、に基づいて、上記回転角度を算出するようにしてもよい。このようにしても、撮影画像［ｉ］の撮影時点と撮影画像［ｉ＋ｋ］の撮影時点との間の商品３０の回転角度に関する回転角度情報を取得することができる。
【符号の説明】
【０２２９】
１０  画像処理装置、１１  制御部、１２  記憶部、１３  光ディスクドライブ部、１４  通信部、１５  操作部、１６  表示部、１７  音声出力部、２０  回転台、２２  厚板、２４  厚紙、２８  画鋲、３０  商品、３２  回転軸、３４  撮影装置、４０  撮影画像、４２  フレーム画像、５０  撮影画像取得部、５２  特徴点検出部、５４  位置情報取得部、５６  回転角度情報取得部、５８  動画像データ生成部、６０，６０Ａ，６０Ｂ，６０Ｃ，６０Ｄ  特徴点、７０  軌道、８０  円軌道、９０  近傍領域、１００  存在領域、１１０  観測領域。
【図１】
2014068264.tif 000007
【図２】
2014068264.tif 000008
【図３】
2014068264.tif 000009
【図４】
2014068264.tif 000010
【図５】
2014068264.tif 000011
【図６】
2014068264.tif 000012
【図７】
2014068264.tif 000013
【図８】
2014068264.tif 000014
【図９】
2014068264.tif 000015
【図１０】
2014068264.tif 000016
【図１１】
2014068264.tif 000017
【図１２】
2014068264.tif 000018
【図１３】
2014068264.tif 000019
【図１４】
2014068264.tif 000020
【図１５】
2014068264.tif 000021
【図１６】
2014068264.tif 000022
【図１７】
2014068264.tif 000023
【図１８】
2014068264.tif 000024
【図１９】
2014068264.tif 000025
【図２０】
2014068264.tif 000026
【図２１】
2014068264.tif 000027
【図２２】
2014068264.tif 000028
【図２３】
2014068264.tif 000029