(57)【特許請求の範囲】
【請求項１】
物体に設けられたカメラによって時系列に生成された画像に基づいて、複数のシーンのうち前記物体の置かれた状況を示すシーンを判別する判別部と、
前記判別部によって判別されたシーンに基づく手法で、前記画像の法線方向に対する回転角を補正する補正部と、
を備える画像処理装置。
【請求項２】
前記複数のシーンは、前記物体が人間によって投げられたシーンを少なくとも含む、
請求項１記載の画像処理装置。
【請求項３】
前記複数のシーンは、前記人間が前記物体を抱えて走るシーンを更に含む、
請求項２記載の画像処理装置。
【請求項４】
前記物体は、楕円状のボールであり、長軸方向の先端部のうち少なくとも一方に前記カメラが設けられる、
請求項１から３のうちいずれか１項に記載の画像処理装置。
【請求項５】
前記判別部は、前記画像内の特徴点の動きに基づいて、前記カメラの動きを示すモーションヒストグラムを生成し、前記ヒストグラムと予め知られたヒストグラムとに基づいて、前記シーンを判別する、
請求項１から４のうちいずれか１項に記載の画像処理装置。
【請求項６】
前記補正部は、前記判別部によって判別されたシーンに基づく手法として、前記画像内を動く特徴点の軌跡に基づいて、前記画像の法線方向に対する回転角を補正する、
請求項１から５のうちいずれか１項に記載の画像処理装置。
【請求項７】
前記補正部は、線形計画法を適用して前記軌跡の経路を最小化し、前記最小化した経路に基づいて、前記画像の法線方向に対する回転角を補正する、
請求項６に記載の画像処理装置。
【請求項８】
前記画像からウィンドウを切り出すウィンドウ設定部と、
表示用画像を生成する際に、補正する回転角分、前記ウィンドウ設定部によって切り出されたウィンドウを回転させた表示画像を生成する生成部と、を更に備える、
請求項１から７のうちいずれか１項に記載の画像処理装置。
【請求項９】
前記ウィンドウ設定部は、前記判別部によって判別されたシーンに応じた異なるサイズのウィンドウを切り出す、
請求項８に記載の画像処理装置。
【請求項１０】
前記ウィンドウ設定部は、前記判別部によって判別されたシーンに、前記物体が人間によって投げられたシーンが含まれる場合、最も小さいサイズのウィンドウを切り出す、
請求項８に記載の画像処理装置。
【請求項１１】
前記補正部によって補正された画像を、前記判別部によって判別されたシーンに基づいて結合して動画を生成する生成部をさらに備える、
請求項１から１０のうちいずれか１項に記載の画像処理装置。
【請求項１２】
カメラが設けられた物体と、
前記請求項１から１１のうちいずれか１項に記載の画像処理装置と、
を備える画像処理システム。
【請求項１３】
コンピュータに、
物体に設けられたカメラによって時系列に生成された画像に基づいて、シーンを判別させ、
前記判別させたシーンに基づく手法で、前記画像の法線方向に対する回転角を補正させる、
画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、画像処理装置、画像処理システム、および画像処理プログラムに関する。
【背景技術】
【０００２】
スポーツ競技等で使用されるボールに複数のカメラを内蔵して、ボール側から見た映像をユーザに提供する技術が知られている（例えば、非特許文献１参照）。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Jonas Pfeil, Kristian Hildebrand, Carsten Gremzow, Bernd Bickel, and Marc Alexa. Throwable panoramic ball camera. In SIGGRAPH Asia 2011 Emerging Technologies, SA ’11, pp.4:1-4:2
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の技術では、競技中にボールが回転や振動といった運動をすることで、画像において視野方向や光軸回りの回転角が安定せず、視聴に適した画像にならない場合があった。
【０００５】
本発明は、このような事情を考慮してなされたものであり、より安定的な画像をユーザに提供することができる画像処理装置、画像処理システム、および画像処理プログラムを提供することを目的の一つとする。
【課題を解決するための手段】
【０００６】
本発明の一態様は、物体に設けられたカメラによって時系列に生成された画像に基づいて、複数のシーンのうち前記物体の置かれた状況を示すシーンを判別する判別部と、前記判別部によって判別されたシーンに基づく手法で、前記画像の法線方向に対する回転角を補正する補正部と、を備える画像処理装置である。
【０００７】
本発明の一態様において、前記複数のシーンは、前記物体が前記人間によって投げられたシーンを少なくとも含むものとしてもよい。
【０００８】
本発明の一態様において、前記複数のシーンは、人間が前記物体を抱えて走るシーンを更に含むものとしてもよい。
【０００９】
また、本発明の一態様において、前記物体は、楕円状のボールであり、長軸方向の先端部のうち少なくとも一方に前記カメラが設けられるものとしてもよい。
【００１０】
また、本発明の一態様において、前記判別部は、前記画像内の特徴点の動きに基づいて、前記カメラの動きを示すモーションヒストグラムを生成し、前記ヒストグラムと予め知られたヒストグラムとに基づいて、前記シーンを判別するものとしてもよい。
【００１１】
また、本発明の一態様において、前記補正部は、前記判別部によって判別されたシーンに基づく手法として、前記画像内を動く特徴点の軌跡に基づいて、前記画像の法線方向に対する回転角を補正するものとしてもよい。
【００１２】
また、本発明の一態様において、前記補正部は、線形計画法を適用して前記軌跡の経路を最小化し、前記最小化した経路に基づいて、前記画像の法線方向に対する回転角を補正するものとしてもよい。
【００１３】
また、本発明の一態様において、前記画像からウィンドウを切り出すウィンドウ設定部と、表示用画像を生成する際に、補正する回転角分、前記ウィンドウ設定部によって切り出されたウィンドウを回転させた表示画像を生成する生成部と、を更に備えるものとしてもよい。
【００１４】
また、本発明の一態様において、前記ウィンドウ設定部は、前記判別部によって判別されたシーンに応じた異なるサイズに前記ウィンドウを切り出すものとしてもよい。
【００１５】
また、本発明の一態様において、前記ウィンドウ設定部は、前記判別部によって判別されたシーンに、前記物体が前記人間によって投げられたシーンが含まれる場合、最も小さいサイズのウィンドウを切り出すものとしてもよい。
【００１６】
また、本発明の一態様において、前記補正部によって補正された画像を、前記判別部によって判別されたシーンに基づいて結合して動画を生成する生成部をさらに備えるものとしてもよい。
【００１７】
本発明の他の態様は、カメラが設けられた物体と、上述した様態の画像処理装置と、を備える画像処理システムである。
【００１８】
本発明の他の態様は、コンピュータに、物体に設けられたカメラによって時系列に生成された画像に基づいて、シーンを判別させ、前記判別させたシーンに基づく手法で、前記画像の法線方向に対する回転角を補正させる、画像処理プログラムである。
【発明の効果】
【００１９】
本発明の一態様によれば、より安定的な画像をユーザに提供することができる。
【図面の簡単な説明】
【００２０】
【図１】実施形態における画像処理装置１００を含む画像処理システム１の概略図である。
【図２】本実施形態のボールＯＢの断面図の一例を示す図である。
【図３】実施形態における画像処理装置１００の機能構成の一例を示す図である。
【図４】各動作に応じた動画の補正方法の概略例を示す図である。
【図５】実施形態における制御部１１０の処理の流れの一例を示す図である。
【図６】動きを表す特徴を抽出したフレームの一例を示す図である。
【図７】５２次元のモーションヒストグラムの一例を示す図である。
【図８】ｋ−ｍｅａｎｓ法によるソフトクラスタリングの一例の様子を示す図である。
【図９】単語をカウントした正規化ヒストグラムの一例を示す図である。
【図１０】セグメントの特徴量の算出方法を概念的に示す図である。
【図１１】ＳＶＭの学習の様子の一例を示す図である。
【図１２】動画像中にクロップウィンドウを表示させた様子の一例を示す図である。
【図１３】カメラパスＣｔの変動の様子の一例を示す図である。
【図１４】カメラパスＣｔの最適化を説明するための図である。
【図１５】カメラパスＣｔの一例を示す図である。
【図１６】補正前であるオリジナルのカメラパスと、各重みによって最適化されたカメラパスとを示した図である。
【図１７】カメラパスを最適化するための線形計画法を表すアルゴリズムの一例を示す図である。
【図１８】フレームｓｔ−１とｓｔとのそれぞれの画像から抽出された特徴点の一例を示す図である。
【図１９】ＰＬＫ法を用いた特徴点の追跡を表した図である。
【図２０】５０×５０ピクセルに離散化した画像の一例を示す図である。
【図２１】各モーションにおける推定モデルに対する許容誤差の一例を示す図である。
【図２２】離散化した特徴点の再投影誤差からアウトライアを排除した結果を示す図である。
【図２３】フレーム画像ｓｔ−１と推定したモーションモデルによって変形したフレーム画像ｓｔ−１とを重ね合わせた結果の一例を示す図である。
【図２４】フレーム画像ｓｔ−１と推定したモーションモデルによって変形したフレーム画像ｓｔ−１との色差を示す図である。
【図２５】元の画像に対して７５％程度のサイズのクロップウィンドウを表示させた一例を示す図である。
【図２６】元の画像に対して８５％程度のサイズのクロップウィンドウを表示させた一例を示す図である。
【図２７】本来のクロップウィンドウを示す図である。
【図２８】縮小が発生してしまったクロップウィンドウの一例を示す図である。
【図２９】拡大縮小に対応したクロップウィンドウの一例を示す図である。
【図３０】各セグメントの連結する様子の一例を示す図である。
【図３１】ボールＯＢに搭載のカメラユニット１０によって撮像された動画から判別されたセグメントの結果を示す図である。
【図３２】各フレームでラベル付けされた動作と判別された動作の正(動作範囲)、負(動作範囲外)についてまとめた結果を示す図である。
【図３３】ラン動作に対して評価するための指標を適用した結果を示す図である。
【図３４】ホールド動作に対して評価するための指標を適用した結果を示す図である。
【図３５】スロー動作に対して評価するための指標を適用した結果を示す図である。
【図３６】各動作に応じてクロップウィンドウの移動させた結果の一例を示す図である。
【図３７】各動作に応じてクロップウィンドウの移動させた結果の他の例を示す図である。
【図３８】各動作に応じてクロップウィンドウの移動させた結果の他の例を示す図である。
【図３９】ボールＯＢの回転軸が不安定な状態で撮像され、オリジナルの動画において対象物が回転軸に対して回転を行っている動画の一例を示す図である。
【図４０】クロップウィンドウの座標を指定することによりセグメントを繋ぎ合わせた結果を示す図である。
【図４１】動画全体でカメラパスの最適化を一括に行った結果を示す図である。
【図４２】セグメントごとにカメラパスの最適化を行った結果を示す図である。
【発明を実施するための形態】
【００２１】
［構成］
以下、図面を参照し、本発明の画像処理装置、画像処理システム、および画像処理プログラムの実施形態について説明する。図１は、実施形態における画像処理装置１００を含む画像処理システム１の概略図である。本実施形態における画像処理システム１は、ボールＯＢと、画像処理装置１００とを備える。ボールＯＢは、「物体」の一例である。ボールＯＢは、例えば、スポーツ競技または娯楽に用いられる。ボールＯＢは、例えば、アメリカンフットボール、ラグビー、サッカー、バスケットボール等の球技に使用されるボール、ラクロスのボール、バトミントンに使用されるシャトル、ダーツ、またはフリスビー等である。以下の実施形態では、ボールＯＢをアメリカンフットボールに使用される楕円形状の“ボールＯＢ”として説明する。なお、ボールＯＢは、円筒形状であってもよいし、卵形状であってもよいし、流線形状であってもよい。
【００２２】
ボールＯＢには、カメラユニット１０が内蔵されている。カメラユニット１０は、カメラ１２と、送信部１４とを備える。カメラ１２と送信部１４とは、通信線によって接続される。カメラ１２は、外部の光を受光して、受光した光の強度に応じた画像（動画）を生成する。送信部１４は、カメラ１２によって生成された画像を後述する画像処理装置１００に送信する。
【００２３】
図２は、本実施形態のボールＯＢの断面図の一例を示す図である。図２に示すように、例えば、ボールＯＢの長軸上のいずれか一方のボール表面には孔部ＨＲが設けられており、カメラユニット１０（カメラ１２の受光面）は、当該孔部ＨＲからボールＯＢの外部を撮像する。カメラユニット１０は、例えば、２４０ｆｐｓで動画を撮像する。
【００２４】
カメラユニット１０は、後述する画像処理装置１００と無線または有線により通信する。例えば、カメラユニット１０は、図示しないアンテナを用いた無線通信によって撮像した画像（動画）を画像処理装置１００に対して出力する。なお、カメラユニット１０は、シリアル通信線等の有線を用いて撮像した動画を画像処理装置１００に対して出力してもよい。有線によって動画を出力する場合、カメラユニット１０は、内部の記憶装置に動画を溜めておいて、溜めておいた動画をまとめて出力する。
【００２５】
図３は、実施形態における画像処理装置１００の機能構成の一例を示す図である。本実施形態における画像処理装置１００は、ボールＯＢに内蔵されたカメラユニット１０によって撮像された動画を解析して、動画内における動作の一区切りを表すシーンを判別して、判別したシーンごとに補正を行い、動画を安定化させる。画像処理装置１００は、通信インターフェース１０２と、入力部１０４と、表示部１０６と、制御部１１０と、記憶部１３０とを備える。
【００２６】
通信インターフェース１０２は、例えば、ボールＯＢのカメラユニット１０と通信するための無線通信装置である。
【００２７】
入力部１０４は、ユーザからの操作を受け付けるためのユーザインターフェースである。入力部１０４は、マウス、キーボード、タッチパネル等を含む。
【００２８】
表示部１０６は、入力された情報に基づいた画像を表示する。表示部１０６は、液晶ディスプレイ、有機ＥＬ（Electroluminescence）ディスプレイ等の表示装置である。表示部１０６は、例えば、後述する出力部１２４によって出力された情報を表示する。
【００２９】
制御部１１０は、取得部１１２と、判別部１１４と、カメラパス補正部１１６と、ウィンドウ設定部１１８と、生成部１２０と、出力部１２２とを備える。カメラパス補正部１１６およびウィンドウ設定部１１８は、「補正部」の一例である。上述した制御部１１０の機能部のうち一部または全部は、ＣＰＵ（Central Processing Unit）等のプロセッサが記憶部１３０に記憶されたプログラムを実行することによって機能するソフトウェア機能部である。プログラムは、例えば、ＬＡＮやＷＡＮ等のネットワークを介してアプリケーションサーバからダウンロードされる。また、制御部１１０の機能部のうち一部または全部は、ＬＳＩ（Large Scale Integration）、ＡＳＩＣ（Application Specific Integrated Circuit）等のハードウェア機能部であってもよい。
【００３０】
記憶部１３０は、例えば、ＲＯＭ（Read Only Memory）、フラッシュメモリ、ＨＤＤ等の不揮発性の記憶媒体と、ＲＡＭ（Random Access Memory）、レジスタ等の揮発性の記憶媒体とを有する。記憶部１３０に記憶される情報は、プロセッサが実行するプログラムの他、後述するカメラユニット１０から取得した動画、ＳＶＭ（Support Vector Machine）モデルを実行するためのプログラム、数式等の情報を含む。
【００３１】
本実施形態において、動画の安定化を行うにあたり、まずスポーツシーンの特徴的な動作を想定する必要がある。本実施形態では、アメリカンフットボールでの特徴的な３つのシーンを想定し、それぞれの動作を判別するための準備を行う。３つのシーンは以下の通りである。
・ラン動作：ボールＯＢを抱えて走る。走っている最中のボールＯＢのカメラユニット１０からの動画は、上下および左右に激しく振動したものとなりやすい。
・ホールド動作：ボールＯＢを投げる前のボールＯＢを構える動作や、ボールを持ち変える動作を含む。ボールＯＢを肩越しに構えている間は、カメラユニット１０に大きな衝撃が加えられず大きな動きがないものの、手ぶれ等のノイズが乗ったような動画となりやすい。
・スロー動作：ボールを回転させて投げる。アメリカンフットボールにおいて、ボールＯＢの長軸に対してスパイラルと呼ばれるスピンをかけながら投げられる。飛んでいるボールＯＢの内部のカメラユニット１０によって撮像された動画は、画像中において回転軸を有し、進行方向または後ろ方向を回転させながら接近、或いは離反してくような動画となりやすい。アメリカンフットボールのスピンは高速であるため、視聴者は、カメラユニット１０から得られた動画をそのまま視聴してもなにが映っているのかわからない場合がある。
【００３２】
そこで、本実施形態の画像処理装置１００は、アメリカンフットボールの試合中において頻繁に実行される動作である、“ボールＯＢを持って走る動作であるラン動作”と、“ボールを保持して構える動作であるホールド動作”と、“ボールＯＢが長軸を中心として回転しながら飛行する動作であるスロー動作”との３種類の動作に基づいてカメラユニット１０の動画を補正する。図４は、各動作に応じた動画の補正方法の概略例を示す図である。図４に示すように、画像処理装置１００は、入力された画像、すなわちカメラユニット１０から取得した画像に基づいて、上述した動作を判別し、判別した動作に応じた安定化手法を用いて画像を補正する。画像処理装置１００は、補正した画像を結合して出力する。
【００３３】
［処理の流れ］
以下、カメラユニット１０の動画を補正するための制御部１１０の各機能部の処理について、フローチャートを用いて説明する。図５は、実施形態における制御部１１０の処理の流れの一例を示す図である。
【００３４】
まず、取得部１１２は、通信インターフェース１０２を介してカメラユニット１０から動画を取得する（ステップＳ１００）。取得部１１２は、例えば、取得した動画を取得元のカメラユニット１０を識別する情報（ＩＤ）と対応付けて記憶部１３０に記憶させる。
【００３５】
次に、判別部１１４は、取得部１１２によって取得された動画に基づいて、上述した３種類のシーンを判別する。具体的には、判別部１１４は、取得部１１２によって取得された動画から、基準フレームを基点として過去方向にＮ−１フレームまで遡った所定数Ｎのフレームを取得する（ステップＳ１０２）。次に、判別部１１４は、Ｎ個のフレームから動きを表す特徴を抽出し、抽出した特徴のヒストグラムを生成する（ステップＳ１０４）。図６は、動きを表す特徴を抽出したフレームの一例を示す図である。判別部１１４は、例えば、ＭｏｔｉｏｎＦｅａｔｕｒｅＥｘｔｒａｃｔｉｏｎ手法を用いて各フレームのヒストグラムを生成する。このＭｏｔｉｏｎＦｅａｔｕｒｅＥｘｔｒａｃｔｉｏｎ手法は、フレーム間のスパースなオプティカルフローベクトルを使用し、ＲＡＮＳＡＣによる平面ホモグラフィによってアウトライアを排除したフローベクトルの集合の抽出を行う。例えば、ボールＯＢに搭載されたカメラユニット１０をスポーツシーンで使用することを考えた場合、カメラユニット１０によって撮像される動画は激しく動くため、モーションブラーやローリングシャッター効果等によって動画が乱れることが考えられる。
【００３６】
これに対して、判別部１１４は、上述したＭｏｔｉｏｎＦｅａｔｕｒｅＥｘｔｒａｃｔｉｏｎ手法を用いることによって、モーションブラーやローリングシャッター効果、運動視差や光の反射などの画像の歪みやノイズに対してロバストに動きを推定することができる。判別部１１４は、このフローベクトルから、動画内の瞬時の動きである方向成分と周期運動である周波数成分とを算出する。判別部１１４は、方向成分を、４次元のフローが流れる方向と、３次元のフローの大きさと、３次元のフローの分散とを組み合わせた３６次元のヒストグラムを用いて符号化する。また、判別部１１４は、周波数成分を、６４フレームの長さのウィンドウのフローの平均以上に対する離散フーリエ変換（ＤＦＴ)を用いて算出する。判別部１１４は、算出した方向成および周波数成分を正規化し、閾値処理を行った後に画像中の横軸（Ｘ軸）および縦軸（Ｙ軸）のそれぞれを８次元にし、画像を計１６次元の成分に符号化する。判別部１１４は、方向成分と周波数成分との計５２次元のヒストグラムをフレーム間の動きを示すヒストグラム（以下、「モーションヒストグラム」と称する）として生成する。図７は、５２次元のモーションヒストグラムの一例を示す図である。
【００３７】
判別部１１４は、このように生成したモーションヒストグラムを用いて、動画内のシーン（セグメント）を判別する（ステップＳ１０６）。一般的に、動画中の各動作はそれぞれ長さが異なり変化するため、判別のための学習アルゴリズムは可変長の特徴を取り扱える必要がある。そこで、判別部１１４は、長さが異なる動作を処理するため手法として、例えばBag Of Words（ＢｏＷ）手法を用いてシーンの判別を行う。ＢｏＷとは、もともとは自然言語で用いられていた手法であり、カテゴリ認識の最も簡単なアルゴリズムの一つである。このアルゴリズムはビジュアルワードの分布（ヒストグラム）を計算し、トレーニングデータのビジュアルワード分布と比較する手法である。
【００３８】
トレーニングデータは、ラン動作と、ホールド動作と、スロー動作とを含む動画である。このようなトレーニングデータには、予め動作を示すセグメントごとに動作を表すラベルを付けておく。ラベルは、各セグメントが連続するように用いる。トレーニングデータは、例えば複数個（例えば４０個程度）用いる。
【００３９】
本実施形態の判別部１１４では、ビジュアルワードの分布として、動画中の各フレームから得たモーションヒストグラムを、全てのフレームでクラスタリングし、モーションを単語とした辞書を作成するものとする。判別部１１４は、辞書作成後、ｋ−ｍｅａｎｓ法によるソフトクラスタリングによる割り当てにより、単語をカウントした正規化ヒストグラムとしてフレーム間の動作成分を記述したヒストグラムとして表す。ｋ−ｍｅａｎｓ法とは、入力ヒストグラムを分割するクラスの数を予め定められたｋ個に分割し、これを初期状態として分割を繰り返し修正することで、よりよい分割を探し出す方法である。
【００４０】
図８は、ｋ−ｍｅａｎｓ法によるソフトクラスタリングの一例の様子を示す図である。図８に示すように、判別部１１４は、生成したモーションヒストグラムを表す単語を、トレーニングデータのビジュアルワード分布と比較して、当該モーションヒストグラムを表す単語を最もマッチするビジュアルワード分布（クラスター）に割り当てる。また、図９は、単語をカウントした正規化ヒストグラムの一例を示す図である。判別部１１４は、動画中のあるフレーム区間（以下、「セグメント」と称する）において、当該セグメント内のヒストグラムの平均を取ることによって、セグメントを表す特徴量を算出する。図１０は、セグメントの特徴量の算出方法を概念的に示す図である。判別部１１４は、算出した特徴量をSupport Vector Machine（ＳＶＭ）等の機械学習手法によって学習させ、各動作を判別する。
【００４１】
以下、ＳＶＭによる学習方法について説明する。動画は、ｎ-フレームの画像シーケンスＳ=｛ｓ１、ｓ１、…、ｓｎ｝によって構成されており、動画中で判別したい動作が行われているセグメントｙ=｛ｓｓｔａｒｔ、ｓｅｎｄ｝を見つけることで行う。ここで利用するＳＶＭは、動画の区間ごとに与えられた、フレーム間の動作ヒストグラムの平均値による特徴量ｘの識別を行うものである。従って、ＳＶＭのアルゴリズムは、数式（１）によって表すことができる。
【００４２】
【数１】
0006675607.tif 000002
【００４３】
ここで、数式（１）中に示すΔ（ｙｉ、ｙｊ）は、数式（２）によって表すことができる。
【００４４】
【数２】
0006675607.tif 000003
【００４５】
Δ（ｙｉ、ｙｊ）は、ｙｉおよびｙｊにおける損失関数である。そのため、判別部１１４は、各トレーニングデータにおいて、対象とする動作区間にラベル付けを行い、その区間における特徴量をｐｏｓｉｔｉｖｅ、それ以外の取りうるすべての区間をｎｅｇａｔｉｖｅとして学習を行う。図１１は、ＳＶＭの学習の様子の一例を示す図である。図１１に示すようなＳＶＭの学習は、例えば以下のように行われる。
【００４６】
１、ｗの初期化。
２、全ての制約条件式ｗＴΦ（ｙｉ、ｙｊ）≧ｗＴΦ（ｙｉ、ｙｊ）＋Δ（ｙｉ、ｙｊ）−ξｉの計算。
３、各トレーニングシーケンスＸｉにおいて、
（ａ）、最も侵害する条件式を見つける（ξが最大）。
（ｂ）、制約条件式のセットが加えられていなければ加える。
４、現在の制約条件式のセットで式（１）を解く。
５、新しい制約条件式が加えられなくなるまでリピート。
【００４７】
また、判別部１１４は、動作の判別については、以下の通りに行う。
１、全ての取りうる動作でスコアを計算する。
２、スコアが最高となる動作を選択。
３、いずれかの場合までリピート。
（ａ）、ｋ個の動作を判別。
（ｂ）、全ての動作がネガティブスコア（負値）。
【００４８】
本実施形態では、クロップウィンドウと呼ばれる、動画像中に元の画像サイズよりも小さなウィンドウをフレーム中に設けて、当該ウィンドウを手ぶれなどのノイズを軽減する方向に動画像中で動かし、クロップウィンドウ内部の画像を表示することによってノイズを排除する。図１２は、動画像中にクロップウィンドウを表示させた様子の一例を示す図である。
【００４９】
そのために、カメラパス補正部１１６は、後述するウィンドウ設定部１１８によってクロップウィンドウが好適に設定されるように、上述した判別部１１４によって判別されたシーンに基づいて、カメラパスを補正する。カメラパスとは、フレーム間のカメラの動きを表している。例えば、動画は、上述したように画像シーケンスＳ=｛ｓ１、ｓ１、…、ｓｎ｝によって構成されており、時刻ｔにおけるフレーム間ｓｔ、ｓｔ−１の線形モーションモデルＦｔは、下記の数式（３）によって表される。
【００５０】
【数３】
0006675607.tif 000004
【００５１】
数式（３）は、画像中の特徴点ｘがフレームｓｔと、ｓｔ−１との間でＦｔ（ｘ）の移動が行われたことを表し、フレーム間のカメラの動きを意味する。ここで、各フレームｓｔによって定義されるカメラパスＣｔ、すなわちｓ０からｓｔの間のカメラの動きは、数式（４）によって表される。
【００５２】
【数４】
0006675607.tif 000005
【００５３】
図１３は、カメラパスＣｔの変動の様子の一例を示す図である。例えば、カメラユニット１０によって撮像された動画に手ぶれなどが含まれている場合、カメラパスＣｔは、図１３のＬ１経路のように細かな変動が生じたものとなる。カメラパス補正部１１６は、このカメラパスＣｔに対して、Ｌ１経路の最適化を行うことで、図１３のＬＮ２の経路のように滑らかなカメラパスになるように最適化する。この最適化されたカメラパスＰｔは、数式（５）によって表される。
【００５４】
【数５】
0006675607.tif 000006
【００５５】
ここでＢｔは、時刻ｔにおけるフレーム間ｓｔ、ｓｔ−１の間のクロップウィンドウの移動を表す行列であり、数式（６）によって表される。
【００５６】
【数６】
0006675607.tif 000007
【００５７】
図１４は、カメラパスＣｔの最適化を説明するための図である。カメラパス補正部１１６は、カメラパスＣｔの最適化を次のように行う。カメラパス補正部１１６は、カメラパスＣｔが一定であるとき（例えば図１４における領域Ａ）、すなわち∇Ｐ（ｔ）＝０である場合、カメラユニット１０の動画は三脚に固定された動画のようになる。また、カメラパス補正部１１６は、カメラパスＣｔが等速度、すなわち∇２Ｐ（ｔ）＝０の場合(例えば図１４における領域Ｂ)、カメラユニット１０の動画はパンまたはドリーショットのような動画となる。また、カメラユニット１０の動画が等加速度、すなわち∇３Ｐ（ｔ）＝０の場合(例えば図１４における領域Ｃ)、カメラユニット１０の動画はズームイン・アウト、或いは定点とパンとの移り変わりのような動画となる。従って、カメラパス補正部１１６は、オリジナルのカメラパスＣｔに対して、∇Ｐ（ｔ）、∇２Ｐ（ｔ）、∇３Ｐ（ｔ）を最小化することによって最適化されたカメラパスＰ（ｔ）を得る。最適化されたカメラパスＰ（ｔ）は、数式（７）に示すオブジェクト関数Ｏ（Ｐ；ａ）を最小化することによって得られる。
【００５８】
【数７】
0006675607.tif 000008
【００５９】
ここで、ａ１、ａ２、ａ３は、それぞれ定常、等速、等加速に対する重みである。また、絶対値∇Ｐは差分を用いることで数式（８）のように表すことができる。
【００６０】
【数８】
0006675607.tif 000009
【００６１】
さらに、数式（４）、（５）を用いると、数式（９）となり、カメラパス補正部１１６は、絶対値∇Ｐを最小化するためのＢｔを求めることで最適化を行う。
【００６２】
【数９】
0006675607.tif 000010
【００６３】
また、カメラパス補正部１１６は、Ｒｔの差分を算出して絶対値∇２Ｐ（ｔ）を算出する。Ｒｔの差分を算出するための式を、数式（１０）に示す。
【００６４】
【数１０】
0006675607.tif 000011
【００６５】
また、カメラパス補正部１１６は、数式（１１）を解くことで絶対値∇３Ｐ（ｔ）を算出する。
【００６６】
【数１１】
0006675607.tif 000012
【００６７】
カメラパス補正部１１６は、いずれも、最小となるＢｔを算出することによって最適化したカメラパスＰ（ｔ）を得ることができる。このようにして算出したフレーム間のカメラパスを図１５に示す。図１５は、カメラパスＣｔの一例を示す図である。また、Ｒｔを最小化するにあたり、Ｆｔ＋１ならびにＢｔ＋１、Ｂｔのパラメータを用いると上述した数式（９）は、以下の数式（１２）に変換することができる。
【００６８】
【数１２】
0006675607.tif 000013
【００６９】
ここでｅ＝（ｅ１、ｅ２、ｅ３、ｅ４、ｅ５、ｅ６）ＴはＲｔの各次元におけるスラック変数であり、ｅ≧０である。すなわち、カメラパス補正部１１６は、スラック変数ｅを最小化することでカメラパスＣｔを最適化することができる。また、カメラパス補正部１１６は、絶対値（Ｒｔ＋１−Ｒｔ）、絶対値（Ｒｔ＋２−２Ｒｔ＋１＋Ｒｔ）についても各次元のスラック変数導入し、それぞれに重み付けをした上でオブジェクト関数を最小化することで最適化するカメラパスのためのクロップウィンドウ行列Ｂｔを求めることができる。図１６は、補正前であるオリジナルのカメラパスと、各重みによって最適化されたカメラパスとを示した図である。図１６に示すように、各重みについて、それぞれ数値を変更したときのカメラパスは、図１６におけるＬＮ３のような曲線となり、補正前であるオリジナルのカメラパスは、ＬＮ４のような曲線となる。
【００７０】
図１７は、カメラパスを最適化するための線形計画法を表すアルゴリズムの一例を示す図である。図１７に示すように、クロップウィンドウ行列のパラメータは、ベクトルｐｔ＝(ｄｘｔ、ｄｙｔ、ａｔ、ｂｔ、ｃｔ、ｄｔ)によって表記される。
【００７１】
以下、カメラパスのＬ１の最適化手法について、実際にカメラユニット１０によって撮像された動画を用いて具体的に説明する。
上述したように、カメラパス補正部１１６がシーンごとにカメラパスの補正を行い、動画を安定化させるため、判別部１１４は、例えばPyramidal Lucas-Kanade（ＰＬＫ）法を用いて、カメラモーションを推定する。ＰＬＫ法は、画像にガウシアン平滑化処理を行いながら異なる解像度の階層のピラミッド構造をつくり、低解像度の画像からオプティカルフローの計算を行い、高解像度の画像において低解像度で計算されたオプティカルフローを初期値として計算することでフローの急激な変化に対応したオプティカルフローの計算を行う手法である。動画のフレームｓｔ−１とｓｔとのそれぞれの画像からコーナー特徴量を取得し、ＰＬＫ法によって特徴点の追跡を行う。
【００７２】
図１８は、フレームｓｔ−１とｓｔとのそれぞれの画像から抽出された特徴点の一例を示す図である。また、図１９は、ＰＬＫ法を用いた特徴点の追跡を表した図である。図１９に示すように、特徴点の追跡が明らかに失敗しているアウトライアの存在が確認できる。アウトライアとは、統計的に見て大きく外れた値を表す。画像間のカメラモーションを推定するにあたり、アウトライアが存在すると失敗する確率が高くなる。そこで、本実施形態では、アウトライアを除去するための手法を導入する。
【００７３】
図２０は、５０×５０ピクセルに離散化した画像の一例を示す図である。判別部１１４は、アウトライアの除去を行うために、画像を５０×５０ピクセルに離散化し、離散化した各領域に含まれる特徴点からＲＡＮＳＡＣによって特徴点の移動モデルを推定し、推定したモデルによる再投影誤差が許容範囲外となる点以上となる点を除外する。図２１は、各モーションにおける推定モデルに対する許容誤差の一例を示す図である。
【００７４】
また、図２２は、離散化した特徴点の再投影誤差からアウトライアを排除した結果を示す図である。図２２において、線ＬＮ５がインライアを示しおり、線ＬＮ６がアウトライアを示している。図２２の例では、アウトライアが排除できていることが確認できる。判別部１１４は、このインライアを用いることでフレーム間の特徴点の移動から、安定的なフレーム間のモーションモデルを推定する。しかしながら、モデルの推定方法に際し、特徴点のＬ２経路の誤差を最小化する手法では、多くの場合モデルの推定は精度良く行うことができるが、動画が射影されると突然不安定な推定を行うケースがある。そのため、判別部１１４は、線形計画法による特徴点のＬ１経路誤差を最小にするモーションモデルを導出する。判別部１１４は、以下の数式（１３）を満たすモーションモデルＦを導出してモーションモデルの推定を行う。
【００７５】
【数１３】
0006675607.tif 000014
【００７６】
数式（１３）中に示すＸｉは特徴点の座標を表し、Ｘｉ＝（ｘｉ、ｙｉ、１）Ｔである。Ｘi′はＸｉの移動後の座標を表し、Ｘi ′=（ｘｉ′、ｙｉ′、１）Ｔである。ｉは特徴点に対応した番号を表す。すなわち、数式（１３）は、モーションモデルＦによって移動した特徴点の座標と本来の特徴点の移動先の座標とのｙ軸とｘ軸とのそれぞれの差分を最も小さくするＦを求めることを表す。Ｆは、アフィン行列の場合、数式（１４）によって表される。
【００７７】
【数１４】
0006675607.tif 000015
【００７８】
数式（１４）が相似行列の場合は、ｆ１＝ｆ５、ｆ２＝−ｆ４であり、並進移動行列の場合は、ｆ１＝ｆ５＝１、ｆ２＝ｆ４＝０である。本実施形態では、各動作ともスキューの発生を押さえるため、各動作とも相似行列を使用する。数式（１３）の絶対値に対処するため、スラック変数ｅ＝（ｅｉ１、ｅｉ２）を用いる。これによって線形計画法を解くための目的関数は、以下の数式（１５）によって表される。
【００７９】
【数１５】
0006675607.tif 000016
【００８０】
また、目的関数の制約条件式は、数式（１６）によって表される。
【００８１】
【数１６】
0006675607.tif 000017
【００８２】
判別部１１４は、Σｉｅｉを最小化するＦのパラメータｆ１からｆ６を求めることによって、２枚の画像間におけるモーションモデルが推定できる。図２３は、フレーム画像ｓｔ−１と推定したモーションモデルによって変形したフレーム画像ｓｔ−１とを重ね合わせた結果の一例を示す図である。また、図２４は、フレーム画像ｓｔ−１と推定したモーションモデルによって変形したフレーム画像ｓｔ−１との色差を示す図である。図２３および図２４に示す結果から、ゴーストの発生が押さえられ、安定したモーションモデルの推定が行われていることがわかる。判別部１１４は、このように推定したモーションモデルに従ってシーンを判別する。
【００８３】
カメラパス補正部１１６は、判別部１１４によって判別されたシーンごとにカメラパスの最適化を行う。具体的には、カメラパス補正部１１６は、カメラパスの最適化については優先順位を設け、動画中のフレームにおいて複数の動作が判別部１１４によって判別された場合、優先順位によるカメラパスの最適化を行う。優先順位は、スロー動作、ラン動作、ホールド動作の順である。そのため、カメラパス補正部１１６は、始めに判別部１１４によって判別されたシーンにスロー動作が含まれているか否かを判定し（ステップＳ１０８）、スロー動作が含まれている場合に、当該スロー動作に基づいた安定化手法を用いてカメラパスを補正する（ステップＳ１１０）。また、カメラパス補正部１１６は、スロー動作が含まれていない場合に、判別部１１４によって判別されたシーンにラン動作が含まれているか否かを判定し（ステップＳ１１２）、ラン動作が含まれている場合に、当該ラン動作に基づいた安定化手法を用いてカメラパスを補正する（ステップＳ１１４）。また、カメラパス補正部１１６は、ラン動作が含まれていない場合に、判別部１１４によって判別されたシーンにホールド動作が含まれているか否かを判定し（ステップＳ１１６）、ホールド動作が含まれている場合に、当該ホールド動作に基づいた安定化手法を用いてカメラパスを補正する（ステップＳ１１８）。カメラパス補正部１１６は、ホールド動作が含まれていない場合に、前回判別部１１４によって判別された動作に基づいた安定化手法を用いてカメラパスを補正する（ステップＳ１２０）。例えば、カメラパス補正部１１６は、直前に判別された動作がスロー動作の場合は、スロー動作の次の優先順位であるラン動作と同じパラメータを用いて動画を補正する。
【００８４】
次に、ウィンドウ設定部１１８は、カメラパス補正部１１６によって補正されたカメラパスに基づいて、フレーム内にクロップウィンドウを設定する（ステップＳ１２２）。例えば、ラン動作の場合、ボールＯＢを抱えて走っている最中、動画は上下および左右に激しく揺れた動画となる。そのため、ウィンドウ設定部１１８は、激しく揺れる動画中において、揺れの方向とは逆にクロップウィンドウを動かすことによって動画を安定的にする。クロップウィンドウのサイズは、ウィンドウを動かすことができる範囲を大きして振動を軽減するために、スロー動作やホールド動作に比べて小さくすると好適である。クロップウィンドウのサイズは、元の画像に対して例えば７５％程度とする。図２５は、元の画像に対して７５％程度のサイズのクロップウィンドウを表示させた一例を示す図である。
【００８５】
ウィンドウ設定部１１８は、上述した線形計画法を解くための目的関数を導出する。線形計画法については上述した図１７に示すアルゴリズムの通りである。なお、ここでは、上述した数式（１６）の制約条件式に追加を行う。クロップウィンドウの移動行列Ｂｔにおけるパラメータについて以下の制約を更に加える。上述した数式（１４）に示す行列を、ａｔ＝ｄｔ、及びｂｔ＝−ｃｔとした相似行列とし、アフィン行列の場合に発生するスキューを抑制する。また、０．９≦ａｔ≦１．１、および−０．１≦ｂｔ≦０．１とすることで、クロップウィンドウのズームと回転に制限を与える。また、クロップウィンドウの移動領域が元の画像の範囲を超えてしまうと後述する生成部１２０において動画が生成できなくなるため、クロップウィンドウの移動について制限を与える必要がある。クロップウィンドウの４つのコーナー（角）の座標ｃｉ＝（ｃｘｉ、ｃｉ−ｙ）、ｉ＝１から４が、Ｂｔによって変換された後の座標をオリジナルの画像の中に収まるようにする制約条件式を加える。変換後のクロップウィンドウのコーナーの座標は、画像の原点より大きくし、ｘ座標は画像の幅ｗよりも小さくし、ｙ座標については画像の高さｈよりも小さくする必要がある。そのため、上述したカメラパス補正部１１６は、下記の数式（１７）に示す制約条件を用いて線形計画法を解き、カメラパスの最適化を行う。各重みａは、例えばａ１＝１０、ａ２＝１、ａ３＝１００である。
【００８６】
【数１７】
0006675607.tif 000018
【００８７】
また、ホールド動作の場合、ボールＯＢを構えて狙いを定めている最中は、狙いによる動きや手ぶれ等が発生するが、ラン動作に比べると動画の動きは少なくなりやすい。また、ボールＯＢを構えている最中は視野が広く、得られる情報量が大きくあるべきであるため、クロップウィンドウの大きさは８５％程度とし、情報の欠落を減らすようにする。図２６は、元の画像に対して８５％程度のサイズのクロップウィンドウを表示させた一例を示す図である。Ｂｔのパラメータについては、平行移動による振動を主に抑制するために、０．９５≦ａｔ≦１．０５、且つ−０．０５≦ｂｔ≦０．０５とすることによって傾きと拡大縮小により制限を加える。クロップウィンドウの移動制約についてはラン動作と同様であり、重みａについても同様のパラメータを用いる。
【００８８】
また、スロー動作の場合、ボールＯＢを回転させて投げた場合、画像中にある回転軸を中心に、映っている対象物が回転をする動画なる。ここで、安定化させる動画を考えた場合、動画は本来の回転を打ち消すようにした動画が想定される。このために、カメラパスの最適化の実行手順は、上述したラン動作とホールド動作との場合といくつかの点で異なる。動画中のオブジェクトが回転して映るような動画の場合、クロップウィンドウは画像中で回転するように表示させる必要がある。クロップウィンドウを回転させるにあたり、ラン動作とホールド動作とのようにクロップウィンドウの移動をオリジナルの画像内に限定してしまうと、クロップウィンドウのサイズを極端に小さくさせなければならない。そこで、スロー動作の場合については、クロップウィンドウのコーナーが画像外に移動することを許容する。これによって、クロップウィンドウはオリジナルの画像に対して回転し、クロップウィンドウの内部の動画において、映っているオブジェクトの位置は略一定であるのに対して表示領域が回転しているような動画となる。
【００８９】
次に、クロップウィンドウに回転をさせるＢｔについて考える。Ｂｔはラン動作およびスロー動作と同様にａｔ＝ｄｔ、且つｂｔ＝−ｃｔの相似行列として用いる。アフィン変換の一例として、任意の回転θと、ｘ軸方向にｔｘ、ｙ軸方向にｔｙ分平行移動させるユークリッド変換がある。数式（１８）は、ユークリッド変換の行列式を表す。
【００９０】
【数１８】
0006675607.tif 000019
【００９１】
すなわち、クロップウィンドウの回転角が０度から３６０度の範囲の回転を許容するためには、Ｂｔにおいて―１≦ａｔ≦１、且つ―１≦ｂｔ≦１というように制約を与える必要がある。ここで、これらの制約を与えたときの問題を考える。数式（１９）は、アフィン行列式を表す式である。
【００９２】
【数１９】
0006675607.tif 000020
【００９３】
数式（１９）において、ｘ軸およびｙ軸のそれぞれの拡大縮小成分ｓｘ、ｓｙは、数式（２０）によって表される。
【００９４】
【数２０】
0006675607.tif 000021
【００９５】
すなわち、Ｂｔにおいて制約条件式ａｔ＝ｄｔ、且つｂｔ＝−ｃｔと、―１≦ａｔ≦１、且つ―１≦ｂｔ≦１とを用いて最適化を行うと、スケールに関する制約条件を与えることが不可能であり、クロップウィンドウのスケールが安定せず、クロップウィンドウが拡大や縮小を行いながら回転を行う結果となってしまう。図２７は、本来のクロップウィンドウを示す図である。また、図２８は、縮小が発生してしまったクロップウィンドウの一例を示す図である。図２７に示す本来のクロップウィンドウのサイズは、図２７において、カメラを回すと真中の画像のようにウィンドウの縮小が発生してしまっている。この問題を解決するため、Ｂｔから拡大・縮小を補正した行列Ｂt′を求める。補正した行列Ｂt′は、Ｂｔを分解し、回転成分と平行移動成分のみを反映させたものである。通常のアフィン変換は、数式（２１）のように分解される。
【００９６】
【数２１】
0006675607.tif 000022
【００９７】
ここで、ｓｘおよびｓｙは、数式（２０）に表すように拡大縮小成分を表し、ｑはスキューパラメータを表している。スキューパラメータｑ＝（ａ１ａ３＋ａ２ａ５）／（ａ１ａ５−ａ２ａ３）である。数式（２１）の第３項は、ユークリッド変換であり、φ＝ａｒｃｔａｎ（ａ２／ａ１）である。Ｂｔ′を求めるにあたり、拡大縮小を行わせないためｓｘ＝ｓｙ＝１とする。Ｂｔはａｔ＝ｄｔ、且つｂｔ＝−ｃｔの相似行列であるため、ｑ＝０となり、Ｂｔ′は次の数式（２２）にようになる。
【００９８】
【数２２】
0006675607.tif 000023
【００９９】
数式（２２）に示すＢｔ′によって変換されたクロップウィンドウを図２９に示す。図２９は、拡大縮小に対応したクロップウィンドウの一例を示す図である。図２９の例から、拡大縮小の問題に対処ができていることが確認できる。従って、ウィンドウ設定部１１８は、スロー動作のケースでは、最適化のために算出されたクロップウィンドウ行列Ｂｔを分解したＢｔ′を用いることで動画の安定化を行う。
【０１００】
次に、生成部１２０は、カメラユニット１０から取得された動画の最後のフレームまで上述したシーン（セグメント）の判別とカメラパスの補正とクロップウィンドウの設定とが行われているか否かを判定し（ステップＳ１２４）、最後のフレームを含む全てのフレームに対してシーン（セグメント）の判別とカメラパスの補正とクロップウィンドウの設定が実施されている場合、セグメントの優先順位に応じてクロップウィンドウの座標を合わせてフレームを結合して動画を生成する（ステップＳ１２６）。優先順位は、動画中において動きの激しいものほど優先度が高く設定される。上述した例の場合、優先順位は、スロー動作、ラン動作、ホールド動作の順になる。優先度の高い順にクロップウィンドウ行列Ｂｔを求め、セグメントの開始時のフレームと終了時のフレームとに設定されるクロップウィンドウ座標を導出する。あるセグメントαにおいてクロップウィンドウ行列Ｂｔを求める際に、セグメントαの開始もしくは終了フレームがより優先順位が高いセグメントβと連続している場合、セグメントαの開始フレーム或いは終了フレームにおいて、クロップウィンドウの位置をセグメントβの開始もしくは終了フレームに設定されたクロップウィンドウの位置と等しくする。なお、生成部１２０は、最後のフレームを含む全てのフレームに対してシーン（セグメント）の判別とカメラパスの補正とクロップウィンドウの設定とが実施されていない場合、上述した判別部１１４とカメラパス補正部１１６とウィンドウ設定部１１８とに対して、上述したステップＳ１０２からステップＳ１２２までの処理を行わせる。
【０１０１】
図３０は、各セグメントの連結する様子の一例を示す図である。図３０に示すように、生成部１２０は、ｍによって表されるセグメントの開始フレームに設定されるクロップウィンの座標を、ｌによって表されるセグメントの終了フレームに設定されたクロップウィンの座標に一致させるようにする。また、生成部１２０は、ｎによって表されるセグメントの開始フレームに設定されるクロップウィンの座標を、ｍによって表されるセグメントの終了フレームに設定されたクロップウィンの座標に一致させるようにする。これによって、生成部１２０は、クロップウィンドウの移動をセグメント毎で連続的に動かすことができる。なお、生成部１２０は、クロップウィンの座標を一致させる際に、ある程度の幅を持たせてもよい。例えば、生成部１２０は、ｘ軸方向およびｙ軸方向で１０ピクセル程度の許容誤差を設けていてもよい。また、各セグメントにおいてクロップウィンドウのサイズは異なるため、優先順位の低いセグメントにおいて、開始後或いは終了前のｍフレーム分（例えば１０フレーム程度）においてＢｔのパラメータを制約条件から外れるようにしてもよい。これによって、生成部１２０は、クロップウィンドウの拡大縮小条件に縛られずにクロップウィンドウのサイズを、セグメントの移り変わりにおいて徐々に変化させることができる。また、生成部１２０は、クロップウィンドウの移動範囲を連結する優先順位の高いセグメントに合わせることで、セグメント間において自然にフレームを繋げることができる。
【０１０２】
出力部１２２は、生成部１２０によって結合された生成された動画を上述した表示部１０６、或いは外部の表示装置等に出力する。
【０１０３】
［検証例］
本出願の発明者は、ボールＯＢを持って、上述したラン動作、ホールド動作、スロー動作を行って動画を撮像し、撮像した動画を画像処理装置１００に取得させて動画の補正を確認するための検証を行った。検証用の動画のデータには、トレーニングデータで用いた画像と同じように、各フレーム区間について、動画のフレームに予め各動作のラベル付けをしておき、判別されたセグメントを示すフレーム区間と動作を示すラベルとの比較を行った。
【０１０４】
図３１は、ボールＯＢに搭載のカメラユニット１０によって撮像された動画から判別されたセグメントの結果を示す図である。図３１に示すＬＮ７は、ラン動作を表し、ＬＮ８は、ホールド動作を表し、ＬＮ９は、スロー動作を表している。また、図中の網掛けがされた領域に含まれるフレーム部分については真値を表している。ここで、各検出された動作について、以下のprecision、recall、F-measureの３つの指標を用いて実験結果を検討する。ここで、各フレームでラベル付けされた動作と判別された動作の正(動作範囲)、負(動作範囲外)についてまとめたものを図３２に示す。各指標については以下の通りである。
【０１０５】
precision（精度、適合率）は、判別された動作を示すフレームのうち、予め検証結果を確認するためにラベル付けされたフレームと同じであるものの割合を表す。数式（２３）は、precisionの算出式である。
【０１０６】
【数２３】
0006675607.tif 000024
【０１０７】
また、recall（再現率）は、実際に行われた動作(ラベル付けされたフレーム)のうち、同じ動作が検出されたものの割合を表す。数式（２４）は、recallの算出式である。
【０１０８】
【数２４】
0006675607.tif 000025
【０１０９】
また、F-measure（precisionとrecallとの調和平均）は、精度と再現率との調和平均を表す。数式（２５）は、F-measureの算出式である。
【０１１０】
【数２５】
0006675607.tif 000026
【０１１１】
以下、上述した指標に基づいたラン動作、ホールド動作、スロー動作のそれぞれの検証結果を説明する。ラン動作に対して上記の指標を適用した結果を図３３に示す。４つのテストデータともrecallの値は“１”となり、設定したラベルのフレーム外においては動作の判別が行われなかった。ラン動作中は、ボールＯＢのモーションは上下左右に振られるものと推測されるが、いずれのテストデータの場合においても誤検出がなかった。この結果から、ラン動作は走っている時の特有の動作として利用できることがわかる。これに対して、precisionについては、テストデータ２、３ではスコアの低い結果となった。考えられる原因として走るスピードがある。本検証で行ったデータのラベル付けは、それぞれの動作が連続的に行われるものとして、ラン‐ホールド‐スローの動作を示すフレーム区間のラベルは連続している。
【０１１２】
従って、ラン動作からホールド動作に切り替える前に立ち止まるために走るスピードを落としていることが原因であると考えられる。真値に対して動作の始まりを示すフレームがどのテストデータでも遅れていることについても、走りだしのスピードの影響が考えられる。また、それ以外の原因として用いているモーションヒストグラムの周期運動部分の値が影響を及ぼしていると考えられる。モーションヒストグラムには１６次元の６４フレーム毎の周期運動成分がある。走り始めてから身体の動きが安定した周期運動になるには時間がかかるため、動作の開始が遅れたと考えられる。しかしながら、動作の全体としてはいずれのデータでも真値に対して大部分を判別できている。また、本実施形態では、いずれの動作も判別しなかった場合について、直前の動作がラン動作であった場合はそのパラメータを引き継ぐことになっているため、このような検出結果についても問題なく使用できるものと判断できる。
【０１１３】
次に、ホールド動作に対して上記の指標を適用した結果を図３４に示す。図３４の例では、ホールド動作の判別範囲はいずれのテストデータにおいても判別範囲が複数に分割されていることがわかる。ボールＯＢを肩越しに構えている状態において、フレーム間でカメラユニット１０の動きが止まることに起因することが考えられる。しかしながら、いずれのデータにおいても真値の範囲内であり、テストデータ２のように判別されない領域があったとしても本実施形態においては問題ないと考えられる。また動作の開始と終了部分については真値に近いフレームの判別が行われていることから、動作の移り変わりを精度良く判別できている。これはrecallの結果の高さからも読み取れる。precisionについては、ラン動作と同じようなスコアであるが、判別区間の空白の影響という点でラン動作とは異なる。この空白部分についても、ホールド動作のあとの動作未検出区間はパラメータを引き継ぐため問題ないと判断ができる。
【０１１４】
次に、スロー動作に対して上記の指標を適用した結果を図３５に示す。図３５の例では、ラン動作、ホールド動作と異なり、precisionの値が高くrecallの値が低い結果となっている。これは、図３１に示すように、真値の前後においてもスロー動作を判別しているためである。本実施形態におけるラベル付けは、ボールが手を離れた瞬間からボールＯＢが地面についた瞬間までというように設定をしている。テストデータ２から４の動画を確認すると、ボールが手を離れる前にも動画には回転中と同じように回転成分が含まれていることが確認できる。この結果、真値より前のフレームからスロー動作が判別されていると推定できる。また、テストデータ１、４ではボールＯＢが地面に落下した後も同じような回転軸を持った状態で転がっているため、ボールＯＢが地面に落下した時刻の周辺のフレームについてもスロー動作であると判別していると考えられる。スロー動作については動画の回転をカバーするために優先順位を１番目にしているため、precisionの値が高くrecallの値が低い状態であっても問題がないと判断ができる。上述した３つの動作の結果から、本実施形態においてセグメントを判別し、判別したセグメントに応じた安定化手法をセグメント毎に適応させる方法は有効であると判断することができる。
【０１１５】
また、本出願の発明者は、判別されたセグメントに応じたカメラパスの最適化の検証を行った。図３６から図３８は、各動作に応じてクロップウィンドウの移動させた結果の一例を示す図である。最適化を行う動画は、テストデータ２の動画を用いた。また、動画は２４０ｆｐｓで最適化を行った。各図において、左側がオリジナルの映像から抽出した画像であり、カメラパスの最適化によって得られたクロップウィンドウ行列Ｂｔによって位置を決定したクロップウィンドウを描画してある。右側の画像は、クロップウィンドウの内部の画像を表示したものである。ここで各セグメントにおける最適化の結果について考察を行う。
【０１１６】
ラン動作については、クロップウィンドウを７５％程度としているのでクロップウィンドウの移動可能領域は大きいが、動画における左右の振れ幅が大きく、クロップウィンドウ内部の動画においても左右に振れるような動画として出力がされている。これに対して、上下方向の振動については大きく軽減ができている。
【０１１７】
ホールド動作については、ボールＯＢを持ち変える瞬間からボールを投げるために回転を加え始めた瞬間までの動画の最適化を行っている。クロップウィンドウのサイズは８５％程度で移動できる領域と回転拡大できる領域とはラン動作に比べて小さいが、元の動画自体はラン動作に比べると安定しているため、最適化された動画も動きのノイズが軽減されている。
【０１１８】
スロー動作については、セグメントはボールに回転を加えた状態から地面に落ちてバウンドする瞬間までの動画に対して最適化を行っている。このセグメントにおいて、ボールＯＢのスピンはボールの移動に対して大きいため、画像中の対象物の移動は他のセグメントに対して大きい。この動画に最適化を行うと、クロップウィンドウは動画中のオブジェクトの回転に合わせて描画が行われていることがわかる。クロップウィンドウ内の画像に対して最適化を行った動画に注目すると、対象物の回転が抑制されていることがわかる。映っている人物の位置に着目すると、補正前のオリジナルの動画では、画像のほぼ中心を軸として回転しているのに対して、最適化した動画では人物の位置はフレーム間で大きく変わることなくゆっくりと滑らかに遷移している。この場合の回転している最中の映像では、動画のフレームが進むにつれて対象物との距離がでるので、正確なフレーム間のカメラモーションについては縮小成分が含まれる。本実施形態では、最適化のためにクロップウィンドウに回転と並進の成分だけを用いることで回転を抑制した動画を出力する。この結果、行列の次元を減らした際の影響によって完全な対象物の位置の固定は行われていないものと考えられる。しかしながら、本実施形態では、元の動画と同じ再生速度で再生をしても何が映っているかをはっきりと確認ができ、充分視聴が行える結果となっている。
【０１１９】
また、本実施形態では、ボールＯＢの回転軸が不安定な場合でも動画の最適化を行うことができる。図３９は、ボールＯＢの回転軸が不安定な状態で撮像され、オリジナルの動画において対象物が回転軸に対して回転を行っている動画の一例を示す図である。図３９に示すように、最適化された動画（図３９の右側一列の図）は対象物の位置は一定であることから、カメラパスの最適化による安定化手法は綺麗なスパイラル回転ではなくても対応することができることがわかる。
【０１２０】
また、本出願の発明者はカメラパスの最適化を行ったセグメントを結合して動画を生成する検証を行った。図４０は、クロップウィンドウの座標を指定することによりセグメントを繋ぎ合わせた結果を示す図である。図４０に示すように、領域Ｄに含まれるフレームは、ラン動作を示しており、領域Ｅに含まれるフレームは、スロー動作を示しており、他の領域の全てのフレームは、ホールド動作を示している。セグメントの優先順位はスロー動作、ラン動作、ホールド動作の順であるため、ラン‐ホールド‐スローの一連の動作においてホールド動作を示すフレームに設定されたクロップウィンドウの４角の座標をラン動作の終了時に設定されたクロップウィンドウの座標に合わせると共に、スロー動作の開始時に設定されたクロップウィンドウの座標に合わせるように指定をしている。ラン動作とホールド動作との間ではパラメータの違いはクロップウィンドウのサイズであり、ラン動作の場合は７５％程度であり、ホールド動作の場合は８５%程度である。ホールド動作の最初の１０フレームにおいて拡大縮小の制約を取り除いているため、ホールド動作における最初のフレームではクロップウィンドウのサイズはラン動作の最後のフレームと同じサイズである。また、ホールド動作におけるクロップウィンドウのサイズは、フレームが進むにつれて徐々に本来指定してあるクロップウィンドウのサイズに遷移して滑らかに形が変わっていることがわかる。ホールド動作とスロー動作との間でもクロップウィンドウのサイズは、異なっており、スロー動作の場合のクロップウィンドウのサイズは１００％である。クロップウィンドウのサイズの変化以外に、スロー動作ではクロップウィンドウの移動領域制限を外している。ここで結果をみると、クロップウィンドウはホールド動作の終了フレームに近づくにつれて徐々に拡大し、クロップウィンドウの各コーナーの座標をスロー動作時のクロップウィンドウの座標に近づけるように移動をしていることが確認できる。すなわち、各セグメントでクロップウィンドウの移動が連続であり続けることによって、動画全体においてシームレス且つ安定した動画を出力することができる。
【０１２１】
また、本実施形態では、一度セグメント毎に最適化されたカメラパスを求め、各セグメントの優先順位にしたがってクロップウィンドウの移動を決めた。図４１は、動画全体でカメラパスの最適化を一括に行った結果を示す図である。また、図４２は、セグメントごとにカメラパスの最適化を行った結果を示す図である。図４１および図４２は、スロー動作中の画像のうち、スロー動作が終わる直前の３フレームの画像を示している。動画全体での最適化とはつまり動画におけるフレームごとに制約条件式を設定した上で最適化を一度だけ実行することである。条件として、スロー動作の終了から1０フレーム後にはホールド動作と同様の制約パラメータを与えるようにしてある。図示の結果を見ると、図４１に示す結果では回転終了前から次のホールド動作の制約に合わせるために、動画の動きから無理やりクロップウィンドウを動かしており、動画の安定化が失敗している。これに対して、図４２に示すように、セグメントごとにカメラパスの最適化を行う場合では、最後まで回転に対する補正がかけられていることがわかる。これにより、セグメント毎で優先順位を設けて安定化を行い、セグメントの切り替わる際のクロップウィンドウの位置を調整する手法が有効であることがわかる。
【０１２２】
以上説明した実施形態の画像処理装置１００、画像処理システム１、および画像処理プログラムによれば、ボールＯＢに搭載されたカメラユニット１０によって時系列に生成された画像に基づいて、シーンを判別する判別部１１４と、判別部１１４によって判別されたシーンに基づく安定化手法で、画像のカメラパスを補正するカメラパス補正部１１６と、カメラパス補正部１１６によって補正されたカメラパスに基づいて、クロップウィンドウを設定するウィンドウ設定部１１８とを備えることにより、画像の法線方向に対する回転角を補正して画像を表示することができる。この結果、実施形態の画像処理装置１００、画像処理システム１、および画像処理プログラムは、より安定的な画像をユーザに提供することができる。
【０１２３】
また、実施形態の画像処理装置１００、画像処理システム１、および画像処理プログラムによれば、線形計画法による特徴点のＬ１経路誤差を最小にするモーションモデルを導出することにより、カメラモーションの推定精度を高めることができる。
【０１２４】
また、実施形態の画像処理装置１００、画像処理システム１、および画像処理プログラムによれば、着目するセグメントの開始フレームに設定するクロップウィンドウの座標を、着目しているセグメントの前に連結しているセグメントの終了フレームに設定されたクロップウィンドウの座標に合わせることによって、クロップウィンドウの移動をセグメント毎に連続して動かすことができる。この結果、実施形態の画像処理装置１００、画像処理システム１、および画像処理プログラムは、動画全体においてシームレス且つ安定した動画を出力することができる。
【０１２５】
また、実施形態の画像処理装置１００、画像処理システム１、および画像処理プログラムによれば、動きの激しさに基づいて設定された優先度に応じて、クロップウィンドウのサイズを変更することにより、フレームごとに振動やブレ等の動きを補正することができる。
【０１２６】
以下、その他の実施形態について説明する。
上述した実施形態における画像処理装置１００は、カメラユニット１０と共にボールＯＢに内蔵されてもよい。この場合、画像処理装置１００は、図示しないアンテナを用いた無線通信によって外部の装置に生成した動画を出力する。
【０１２７】
以上、本発明を実施するための形態について実施形態を用いて説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【符号の説明】
【０１２８】
１…画像処理システム、１０…カメラユニット、１００…画像処理装置、１０２…通信インターフェース、１０４…入力部、１０６…表示部、１１０…制御部、１１２…取得部、１１４…判別部、１１６…カメラパス補正部、１１８…ウィンドウ設定部、１２０…生成部１２０…出力部、１３０…記憶部、ＯＢ…ボール
【図１】
0006675607.tif 000027
【図２】
0006675607.tif 000028
【図３】
0006675607.tif 000029
【図４】
0006675607.tif 000030
【図５】
0006675607.tif 000031
【図６】
0006675607.tif 000032
【図７】
0006675607.tif 000033
【図８】
0006675607.tif 000034
【図９】
0006675607.tif 000035
【図１０】
0006675607.tif 000036
【図１１】
0006675607.tif 000037
【図１２】
0006675607.tif 000038
【図１３】
0006675607.tif 000039
【図１４】
0006675607.tif 000040
【図１５】
0006675607.tif 000041
【図１６】
0006675607.tif 000042
【図１７】
0006675607.tif 000043
【図１８】
0006675607.tif 000044
【図１９】
0006675607.tif 000045
【図２０】
0006675607.tif 000046
【図２１】
0006675607.tif 000047
【図２２】
0006675607.tif 000048
【図２３】
0006675607.tif 000049
【図２４】
0006675607.tif 000050
【図２５】
0006675607.tif 000051
【図２６】
0006675607.tif 000052
【図２７】
0006675607.tif 000053
【図２８】
0006675607.tif 000054
【図２９】
0006675607.tif 000055
【図３０】
0006675607.tif 000056
【図３１】
0006675607.tif 000057
【図３２】
0006675607.tif 000058
【図３３】
0006675607.tif 000059
【図３４】
0006675607.tif 000060
【図３５】
0006675607.tif 000061
【図３６】
0006675607.tif 000062
【図３７】
0006675607.tif 000063
【図３８】
0006675607.tif 000064
【図３９】
0006675607.tif 000065
【図４０】
0006675607.tif 000066
【図４１】
0006675607.tif 000067
【図４２】
0006675607.tif 000068