(57)【特許請求の範囲】
【請求項１】
画像内の物体の姿の確定方法であって、端末装置に適用され、前記方法は、
サーバから目標物体の畳み込みニューラルネットワークのトレーニングモデルパラメータを取得することと、
前記目標物体のリアルタイム画像を取得し、前記リアルタイム画像から少なくとも１つの第１画像ブロックを識別し、前記第１画像ブロックが前記リアルタイム画像の部分画像であることと、
前記トレーニングモデルパラメータに基づき、前記畳み込みニューラルネットワークによって各前記第１画像ブロックにマッチングするラベル画像ブロックを確定し、前記ラベル画像ブロックが前記目標物体の標準画像の部分画像であることと、
前記各第１画像ブロック及び前記各第１画像ブロックにマッチングするラベル画像ブロックに基づき、前記目標物体の姿を確定することと、を含むことを特徴とする、前記画像内の物体の姿の確定方法。
【請求項２】
前記リアルタイム画像から少なくとも１つの第１画像ブロックを識別することは、
前記リアルタイム画像に対して特徴検出を行って、複数の局部特徴を取得することと、
前記複数の局部特徴のうちの画像コントラストが予め設定されたコントラスト閾値より大きい、かつ画像エッジではない局部特徴を前記第１画像ブロックとして確定することと、を含むことを特徴とする
請求項１に記載の方法。
【請求項３】
前記トレーニングモデルパラメータは重み及び前記標準画像から識別された第２画像ブロックを含み、前記第２画像ブロックが前記標準画像の部分画像であり、各前記第１画像ブロック及び前記第１画像ブロックにマッチングするラベル画像ブロックに基づいて前記目標物体の姿を確定することは、
各前記第１画像ブロックを前記畳み込みニューラルネットワークに入力し、前記重みに基づいて前記各第１画像ブロックが各前記第２画像ブロックにマッチングする確率を出力することと、
前記各第１画像ブロックに対応する確率のうちの確率閾値より大きな確率の数を取得することと、
前記数が予め設定された個数より大きな第１画像ブロックを目標画像ブロックとして確定することと、
前記目標画像ブロック及び前記目標画像ブロックにマッチングするラベル画像ブロックに基づき、前記姿を確定することと、を含むことを特徴とする
請求項１に記載の方法。
【請求項４】
前記目標画像ブロック及び前記目標画像ブロックにマッチングするラベル画像ブロックに基づいて前記姿を確定することは、
前記目標画像ブロックが前記各第２画像ブロックにマッチングする確率を取得することと、
前記確率のうちの最大確率に対応する第２画像ブロックを前記目標画像ブロックのラベル画像ブロックとして確定することと、
前記目標画像ブロック及び前記目標画像ブロックにマッチングするラベル画像ブロックに基づき、前記姿を確定することと、を含むことを特徴とする
請求項３に記載の方法。
【請求項５】
前記各第１画像ブロックは、前記各第１画像ブロックにマッチングするラベル画像ブロックを、アフィン変換行列を用いてアフィン変換して得られるものであり、各前記アフィン変換行列がアフィン変換行列セットを構成し、
前記各第１画像ブロック及び前記各第１画像ブロックにマッチングするラベル画像ブロックに基づいて前記目標物体の姿を確定することは、
最小二乗原則に従って前記アフィン変換行列セットから前記アフィン変換行列セットの行列推定値を確定し、前記行列推定値が前記アフィン変換行列に対応する逆変換の偏角であることを含むことを特徴とする
請求項１〜４のいずれか１項に記載の方法。
【請求項６】
最小二乗原則に従って前記アフィン変換行列セットから前記アフィン変換の行列推定値を確定することは、
【数１】
0006789402.tif 000014
によって前記行列推定値を計算し、
ここで、
【数２】
0006789402.tif 000015
が前記行列推定値であり、qiが前記第１画像ブロックであり、ｉ＝１・・・Ｎ、Ｎが前記第１画像ブロックの総数であり、piがqiにマッチングするラベル画像ブロックであり、Aが前記アフィン変換行列であり、||・||が・のモジュラス値の平方を示し、Ｇが前記アフィン変換行列セットであることを含むことを特徴とする
請求項５に記載の方法。
【請求項７】
前記方法は、更に、
前記姿に基づいて前記リアルタイム画像に仮想コンテンツを追加して表示することを含むことを特徴とする
請求項１〜４のいずれか１項に記載の方法。
【請求項８】
画像内の物体の姿の確定方法であって、サーバに適用され、前記方法は、
目標物体の標準画像及び複数枚の前記目標物体の歪曲画像を取得することと、
前記標準画像と前記複数枚の歪曲画像を畳み込みニューラルネットワークに入力してトレーニングして、前記畳み込みニューラルネットワークのトレーニングモデルパラメータを取得することと、
前記トレーニングモデルパラメータを端末装置に送信することにより、前記端末装置が前記目標物体のリアルタイム画像を取得し、前記リアルタイム画像から少なくとも１つの第１画像ブロックを識別し、前記第１画像ブロックが前記リアルタイム画像の部分画像であり、前記トレーニングモデルパラメータに基づき、前記畳み込みニューラルネットワークによって各前記第１画像ブロックにマッチングするラベル画像ブロックを確定し、前記ラベル画像ブロックが前記標準画像の部分画像であり、前記各第１画像ブロック及び前記各第１画像ブロックにマッチングするラベル画像ブロックに基づき、前記目標物体の姿を確定することと、を含むことを特徴とする、前記画像内の物体の姿の確定方法。
【請求項９】
目標物体の標準画像及び複数枚の前記目標物体の歪曲画像を取得することは、
複数のアフィン変換行列をランダムに生成することと、
各前記アフィン変換行列を用いて前記標準画像をアフィン変換して、前記複数枚の歪曲画像を得ることと、を含むことを特徴とする
請求項８に記載の方法。
【請求項１０】
前記畳み込みニューラルネットワークは複数の畳み込み層を含み、前記方法は、更に、
前記標準画像から少なくとも１つの第２画像ブロックを識別し、前記第２画像ブロックが前記標準画像の部分画像であることと、前記第２画像ブロックの個数及び予め設定された第２画像ブロックと畳み込み層の個数との対応関係に基づき、前記畳み込みニューラルネットワークにおける畳み込み層の個数を確定することと、を含むことを特徴とする
請求項８に記載の方法。
【請求項１１】
前記標準画像と前記複数枚の歪曲画像を前記畳み込みニューラルネットワークに入力してトレーニングすることは、
前記標準画像から少なくとも１つの第２画像ブロックを識別し、前記第２画像ブロックが前記標準画像の部分画像であることと、
前記複数枚の歪曲画像をそれぞれ識別して、少なくとも１つの第３画像ブロックを取得し、前記第３画像ブロックが前記歪曲画像の部分画像であることと、
前記畳み込みニューラルネットワークがトレーニングするとき、前記第３画像ブロックを入力サンプルとして、前記第２画像ブロックを理想的な出力サンプルとしてトレーニングして前記ニューラルネットワークの重みを得ることと、を含むことを特徴とする
請求項８〜１０のいずれか１項に記載の方法。
【請求項１２】
画像内の物体の姿の確定装置であって、
サーバから目標物体の畳み込みニューラルネットワークのトレーニングモデルパラメータを取得するためのオフライン受信モジュールと、
前記目標物体のリアルタイム画像を取得するためのオンライン受信モジュールと、
前記リアルタイム画像から少なくとも１つの第１画像ブロックを識別することに用いられ、前記第１画像ブロックが前記リアルタイム画像の部分画像である識別モジュールと、
前記トレーニングモデルパラメータに基づき、前記畳み込みニューラルネットワークによって各前記第１画像ブロックにマッチングするラベル画像ブロックを確定することに用いられ、前記ラベル画像ブロックが前記目標物体の標準画像の部分画像であるマッチングモジュールと、
前記各第１画像ブロック及び前記各第１画像ブロックにマッチングするラベル画像ブロックに基づき、前記目標物体の姿を確定するための姿確定モジュールと、を備えることを特徴とする、前記画像内の物体の姿の確定装置。
【請求項１３】
前記識別モジュールは、更に、前記リアルタイム画像に対して特徴検出を行って、複数の局部特徴を取得し、前記複数の局部特徴のうちの画像コントラストが予め設定されたコントラスト閾値より大きい、かつ画像エッジではない局部特徴を前記第１画像ブロックとして確定することに用いられることを特徴とする
請求項１２に記載の装置。
【請求項１４】
前記トレーニングモデルパラメータは重み及び前記標準画像から識別された第２画像ブロックを含み、前記第２画像ブロックが前記標準画像の部分画像であり、前記マッチングモジュールは、更に、各前記第１画像ブロックを前記畳み込みニューラルネットワークに入力し、前記重みに基づいて前記各第１画像ブロックが各前記第２画像ブロックにマッチングする確率を出力し、前記各第１画像ブロックに対応する確率のうちの確率閾値より大きな確率の数を取得し、前記数が予め設定された個数より大きな第１画像ブロックを目標画像ブロックとして確定し、前記目標画像ブロック及び前記目標画像ブロックにマッチングするラベル画像ブロックに基づいて前記姿を確定することに用いられることを特徴とする
請求項１２に記載の装置。
【請求項１５】
前記マッチングモジュールは、更に、前記目標画像ブロックが前記各第２画像ブロックにマッチングする確率を取得し、前記確率のうちの最大確率に対応する第２画像ブロックを前記目標画像ブロックにマッチングするラベル画像ブロックとして確定し、前記目標画像ブロック及び前記目標画像ブロックにマッチングするラベル画像ブロックに基づいて前記姿を確定することに用いられることを特徴とする
請求項１４に記載の装置。
【請求項１６】
前記各第１画像ブロックは前記各第１画像ブロックにマッチングするラベル画像ブロックを、アフィン変換行列を用いてアフィン変換して得られるものであり、各前記アフィン変換行列がアフィン変換行列セットを構成し、
前記姿確定モジュールは、更に、最小二乗原則に従って前記アフィン変換行列セットから前記アフィン変換行列セットの行列推定値を確定することに用いられ、前記行列推定値が前記アフィン変換行列に対応する逆変換の偏角であることを特徴とする
請求項１２〜１５のいずれか１項に記載の装置。
【請求項１７】
前記姿確定モジュールは、更に、
【数３】
0006789402.tif 000016
によって前記行列推定値を計算することに用いられ、
ここで、
【数４】
0006789402.tif 000017
が前記行列推定値であり、qiが前記第１画像ブロックであり、ｉ＝１・・・Ｎ、Ｎが前記第１画像ブロックの総数であり、piがqiにマッチングするラベル画像ブロックであり、Aが前記アフィン変換行列であり、||・||が・のモジュラス値の平方を示し、Ｇが前記アフィン変換行列セットであることを特徴とする
請求項１６に記載の装置。
【請求項１８】
前記装置は更に追加モジュールを備え、
前記追加モジュールは前記姿に基づいて前記リアルタイム画像に仮想コンテンツを追加して表示することに用いられることを特徴とする
請求項１２〜１５のいずれか１項に記載の装置。
【請求項１９】
画像内の物体の姿の確定装置であって、
目標物体の標準画像及び前記目標物体の複数枚の歪曲画像を取得するための取得モジュールと、
前記標準画像と前記複数枚の歪曲画像を畳み込みニューラルネットワークに入力してトレーニングして、前記畳み込みニューラルネットワークのトレーニングモデルパラメータを取得するためのトレーニングモジュールと、
前記トレーニングモデルパラメータを端末装置に送信することにより、前記端末装置が前記目標物体のリアルタイム画像を取得し、前記リアルタイム画像から少なくとも１つの第１画像ブロックを識別し、前記第１画像ブロックが前記リアルタイム画像の部分画像であり、前記トレーニングモデルパラメータに基づき、前記畳み込みニューラルネットワークによって各前記第１画像ブロックにマッチングするラベル画像ブロックを確定し、前記ラベル画像ブロックが前記標準画像の部分画像であり、前記各第１画像ブロック及び前記各第１画像ブロックにマッチングするラベル画像ブロックに基づき、前記目標物体の姿を確定するための送信モジュールと、を備えることを特徴とする、前記画像内の物体の姿の確定装置。
【請求項２０】
前記取得モジュールは、更に、複数のアフィン変換行列をランダムに生成し、各前記アフィン変換行列を用いて前記標準画像をアフィン変換して、前記複数枚の歪曲画像を得ることに用いられることを特徴とする
請求項１９に記載の装置。
【請求項２１】
前記畳み込みニューラルネットワークは複数の畳み込み層を含み、前記トレーニングモジュールは、更に、前記標準画像から少なくとも１つの第２画像ブロックを識別し、前記第２画像ブロックが前記標準画像の部分画像であり、前記第２画像ブロックの個数及び予め設定された第２画像ブロックと畳み込み層の個数との対応関係に基づき、前記畳み込みニューラルネットワークにおける畳み込み層の個数を確定することに用いられることを特徴とする
請求項１９に記載の装置。
【請求項２２】
前記トレーニングモジュールは、更に、前記標準画像から少なくとも１つの第２画像ブロックを識別し、前記第２画像ブロックが前記標準画像の部分画像であり、前記複数枚の歪曲画像をそれぞれ識別して、少なくとも１つの第３画像ブロックを取得し、前記第３画像ブロックが前記歪曲画像の部分画像であり、前記畳み込みニューラルネットワークがトレーニングするとき、前記第３画像ブロックを入力サンプルとして、前記第２画像ブロックを理想的な出力サンプルとしてトレーニングして前記ニューラルネットワークの重みを得ることに用いられることを特徴とする
請求項１９〜２１のいずれか１項に記載の装置。
【請求項２３】
端末装置であって、
プロセッサ及びメモリを備え、前記メモリに少なくとも１つの命令が記憶され、前記命令が前記プロセッサによりロードし実行されることで請求項１〜７のいずれか１項に記載の画像内の物体の姿の確定方法を実現することを特徴とする、前記端末装置。
【請求項２４】
サーバであって、
プロセッサ及びメモリを備え、前記メモリに少なくとも１つの命令が記憶され、前記命令が前記プロセッサによりロードし実行されることで請求項８〜１１のいずれか１項に記載の画像内の物体の姿の確定方法を実現することを特徴とする、前記サーバ。
【請求項２５】
コンピュータ可読記憶媒体であって、
少なくとも１つの命令、少なくとも１組のプログラム、コードセット又は命令セットが記憶され、前記少なくとも１つの命令、前記少なくとも１組のプログラム、前記コードセット又は命令セットがプロセッサによりロードし実行されることで請求項１〜９のいずれか１項に記載の画像内の物体の姿の確定方法を実現することを特徴とする、前記コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
〔関連出願の相互参照〕
本願は、２０１７年７月１４日に中国国家知識産権局に提出した中国特許出願第２０１７１０５７３９０８．５号、発明の名称「画像内の物体の姿の確定方法、クライアント及びサーバ」の優先権を主張し、その全内容が本願の一部として援用される。
【０００２】
本願の実施例は画像処理技術分野に関し、特に画像内の物体の姿の確定方法、装置、設備及び記憶媒体に関する。
【背景技術】
【０００３】
コンピュータグラフィックス技術の急速な発展に伴い、拡張現実技術は、コンピュータにより生成されたグラフィックス、文字等の仮想情報を、ユーザーの見えたリアルなシーンに有機的に統合し、人間の視覚系に対してシーンの強化又は拡張を行う。拡張現実技術の基礎は、リアルなシーンの観察角度を取得できることである。例えば、ビデオカメラでリアルなシーンの画像を取得するとき、二次元の観察画像によって三次元物体の姿を推定する必要があり、更に三次元物体の姿によってリアルなシーンに仮想コンテンツを追加して表示する。
【０００４】
関連技術において、よく用いられる方法としては、人工的に設計された特徴に対して検出を行い、そして異なる画像の間で比較する。しかしながら、このような方法は、正確なスケールの選択、回転の補正、密度正規化等の付加的なステップを必要とするため、計算の複雑さが極めて大きく、処理時間が長い。拡張現実技術を移動装置又はウェアラブルデバイス等の端末装置に適用するとき、このような端末装置はリソースが限られ、限られた情報入力及び計算能力しか待たないため、上記方法が適用できなくなる。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
これに鑑みて、本願の実施例は画像処理の時間効率を向上させ、より少ないメモリリソースを消費し、端末装置のリソース使用率を向上させることのできる画像内の物体の姿の確定方法、装置、設備及び記憶媒体を提供する。
【課題を解決するための手段】
【０００６】
一態様では、本願は画像内の物体の姿の確定方法を提供し、前記方法が端末装置に適用され、前記方法は、
サーバから目標物体の畳み込みニューラルネットワークのトレーニングモデルパラメータを取得することと、
前記目標物体のリアルタイム画像を取得し、前記リアルタイム画像から少なくとも１つの第１画像ブロックを識別し、前記第１画像ブロックが前記リアルタイム画像の部分画像であることと、
前記トレーニングモデルパラメータに基づき、前記畳み込みニューラルネットワークによって各前記第１画像ブロックにマッチングするラベル画像ブロックを確定し、前記ラベル画像ブロックが前記目標物体の標準画像の部分画像であることと、
前記各第１画像ブロック及び前記各第１画像ブロックにマッチングするラベル画像ブロックに基づき、前記目標物体の姿を確定することと、を含む。
【０００７】
一態様では、本願は画像内の物体の姿の確定方法を提供し、前記方法がサーバに適用され、前記方法は、
目標物体の標準画像及び前記目標物体の複数枚の歪曲画像を取得することと、
前記標準画像と前記複数枚の歪曲画像を畳み込みニューラルネットワークに入力してトレーニングして、トレーニングモデルパラメータを得ることと、
前記トレーニングモデルパラメータを端末装置に送信することにより、前記端末装置が前記目標物体のリアルタイム画像を取得し、前記リアルタイム画像から少なくとも１つの第１画像ブロックを識別し、前記第１画像ブロックが前記リアルタイム画像の部分画像であり、前記トレーニングモデルパラメータに基づき、前記畳み込みニューラルネットワークによって各前記第１画像ブロックにマッチングするラベル画像ブロックを確定し、前記ラベル画像ブロックが前記標準画像の部分画像であり、前記各第１画像ブロック及びそれぞれのマッチングするラベル画像ブロックに基づき、前記目標物体の姿を確定し、前記姿に基づいて前記リアルタイム画像に仮想コンテンツを追加することと、を含む。
【０００８】
一態様では、本願は画像内の物体の姿の確定装置を提供し、前記装置は、
サーバから目標物体の畳み込みニューラルネットワークのトレーニングモデルパラメータを取得するためのオフライン受信モジュールと、
前記目標物体のリアルタイム画像を取得するためのオンライン受信モジュールと、
前記リアルタイム画像から少なくとも１つの第１画像ブロックを識別することに用いられ、前記第１画像ブロックが前記リアルタイム画像の部分画像である識別モジュールと、
前記トレーニングモデルパラメータに基づき、前記畳み込みニューラルネットワークによって各前記第１画像ブロックにマッチングするラベル画像ブロックを確定することに用いられ、前記ラベル画像ブロックが前記目標物体の標準画像の部分画像であるマッチングモジュールと、
前記各第１画像ブロック及び前記各第１画像ブロックにマッチングするラベル画像ブロックに基づき、前記目標物体の姿を確定するための姿確定モジュールと、を備える。
【０００９】
一態様では、本願は画像内の物体の姿の確定装置を提供し、前記装置は、
目標物体の標準画像及び前記目標物体の複数枚の歪曲画像を取得するための取得モジュールと、
前記標準画像と前記複数枚の歪曲画像を畳み込みニューラルネットワークに入力してトレーニングして、トレーニングモデルパラメータを得るためのトレーニングモジュールと、
前記トレーニングモデルパラメータを端末装置に送信することにより、前記端末装置が前記目標物体のリアルタイム画像を取得し、前記リアルタイム画像から少なくとも１つの第１画像ブロックを識別し、前記第１画像ブロックが前記リアルタイム画像の部分画像であり、前記トレーニングモデルパラメータに基づき、前記畳み込みニューラルネットワークによって各前記第１画像ブロックにマッチングするラベル画像ブロックを確定し、前記ラベル画像ブロックが前記標準画像の部分画像であり、前記各第１画像ブロック及び前記各第１画像ブロックにマッチングするラベル画像ブロックに基づき、前記目標物体の姿を確定するための送信モジュールと、を備える。
【００１０】
一態様では、本願は端末装置を提供し、前記端末装置はプロセッサ及びメモリを備え、前記メモリに少なくとも１つの命令が記憶され、前記命令が前記プロセッサによりロードし実行されることで以上に記載の端末装置に適用される画像内の物体の姿の確定方法を実現する。
【００１１】
一態様では、本願はサーバを提供し、前記サーバはプロセッサ及びメモリを備え、前記メモリに少なくとも１つの命令が記憶され、前記命令が前記プロセッサによりロードし実行されることで以上に記載のサーバに適用される画像内の物体の姿の確定方法を実現する。
【００１２】
一態様では、本願はコンピュータ可読記憶媒体を提供し、前記記憶媒体に少なくとも１つの命令、少なくとも１段落のプログラム、コードセット又は命令セットが記憶され、前記少なくとも１つの命令、前記少なくとも１段落のプログラム、前記コードセット又は命令セットが前記プロセッサによりロードし実行されることで以上に記載の画像内の物体の姿の確定方法を実現する。
【発明の効果】
【００１３】
上記技術案によれば、本願の実施例に係る方法は、畳み込みニューラルネットワークを用いてオフライントレーニングを行い、その後、物体の姿をオンラインで確定する際に、トレーニング後のトレーニングモデルパラメータを用いることにより、画像処理の計算の複雑さを大幅に低減させ、時間効率が高まり、占有したメモリリソースが少ないとともに、確定方法の精度も確保でき、該方法は、特に限られるリソースの設備に拡張現実サービスの応用時に適用され、端末装置のリソース使用率を向上させる。
【図面の簡単な説明】
【００１４】
【図１】図１は本願の一実施例に係る実施環境の模式図である。
【図２】図２は本願の一実施例における画像内の物体の姿の確定方法のフローチャートである。
【図３ａ】図３ａは本願の一実施例における目標物体の標準画像の模式図である。
【図３ｂ】図３ｂは本願の一実施例における目標物体の歪曲画像の模式図である。
【図４ａ】図４ａは本願の他の実施例における目標物体の標準画像の模式図である。
【図４ｂ】図４ｂは本願の他の実施例における目標物体の歪曲画像の模式図である。
【図５】図５は本願の他の実施例における画像内の物体の姿の確定方法のフローチャートである。
【図６】図６は本願の一実施例における画像内の物体の姿の確定方法のフローチャートである。
【図７】図７は本願の一実施例の畳み込みニューラルネットワークの構造模式図である。
【図８】図８は本願の一実施例のクライアントの構造模式図である。
【図９】図９は本願の他の実施例のクライアントの構造模式図である。
【図１０】図１０は本願の一実施例のサーバの構造模式図である。
【図１１】図１１は本願の他の実施例のサーバの構造模式図である。
【発明を実施するための形態】
【００１５】
本発明の実施例の技術案をより明確に説明するために、以下に実施例の記述において必要な図面を用いて簡単に説明を行うが、当然ながら、以下に記載する図面は単に本発明の実施例の一例であって、当業者であれば、創造的な労力を要することなく、これらの図面に基づいて他の図面に想到しうる。
【００１６】
本願の目的、技術案及び利点をより明確にするために、以下に図面を参照しながら実施例によって本願を更に詳しく説明する。
【００１７】
図１は本願の一実施例に係る拡張現実実施環境の模式図である。図１に示すように、拡張現実アプリケーションシステム１００は、目標物体１０１、端末装置１０２及びサーバ１０３を備える。端末装置１０２に撮影装置１０２１、スクリーン１０２３、及び本願の実施例における物体の姿を確定するクライアントが取り付けられ、しかも拡張現実アプリケーションプログラムが実行されている。
【００１８】
例えば、ユーザーは撮影装置１０２１を用いて目標物体１０１に関連する画像１０２２をリアルタイムに撮影して、スクリーン１０２３に表示する。本願の実施例に記載の方法によれば、撮影された画像１０２２から目標物体１０１の姿を推定し、該姿によって目標物体１０１が撮影された画像１０２２に所在する位置を確定でき、次に該姿に基づいて仮想コンテンツ１０２４を同じ位置に重ね合わせ、それにより実世界と仮想情報とを同じ画面に重ね合わせる。
【００１９】
本願の実施例によれば、端末装置でリアルタイム画像に対してオンライン検出を行う前に、端末装置１０２はまずサーバ１０３から目標物体１０１に対するオフライントレーニング結果を取得する。サーバ１０３内のデータベース１０３１に目標物体１０１の大量の画像サンプルが保存されており、次にオフライントレーニングサブサーバ１０３２は畳み込みニューラルネットワークを用いてこれらの画像サンプルに対してオフライントレーニングを行い、トレーニングを完了した後、トレーニングモデルパラメータを確定し、そしてから、リアルタイム画像に対してオンライン検出を行うために、それを端末装置１０２に送信する。
【００２０】
ここで、上記端末装置１０２は画像撮影及び処理機能を持つ端末装置を指し、スマートフォン、携帯情報端末、タブレットＰＣ等を含むが、それらに限らない。これらの端末装置にいずれもオペレーティングシステムがインストールされ、それはＡｎｄｒｏｉｄオペレーティングシステム、Ｓｙｍｂｉａｎオペレーティングシステム、Ｗｉｎｄｏｗｓ  ｍｏｂｉｌｅオペレーティングシステム及びアップルｉＰｈｏｎｅ（登録商標）  ＯＳオペレーティングシステム等を含むが、それらに限らない。端末装置１０２とサーバ１０３とが無線ネットワーク経由で通信できる。
【００２１】
図２は本願の一実施例における画像内の物体の姿の確定方法のフローチャートである。該方法は、独立したクライアント又は拡張現実機能を持つクライアントに適用されてもよく、該クライアントが図１における実施例の端末装置１０２にインストールされてもよい。該方法は以下のステップを含むが、それらに限らない。
【００２２】
ステップ２０１において、サーバから、目標物体の畳み込みニューラルネットワークトレーニングモデルパラメータを取得する。
【００２３】
例えば、サーバは、あるシーンにおける目標物体の標準画像及び複数枚の歪曲画像を取得し、標準画像と複数枚の歪曲画像を畳み込みニューラルネットワークに入力してトレーニングして、トレーニングモデルパラメータを得る。次に、サーバはトレーニングモデルパラメータをクライアントに送信し、該クライアントがインストールされる端末装置は、クライアントによって該トレーニングモデルパラメータを受信する。
【００２４】
本願の実施例において、トレーニング後のトレーニングモデルパラメータが特定のシーンに関連付けられており、単一の目標物体に対するものである。標準画像とは、ある特定のシーンにおいて１つの目標物体を撮影して取得したはっきりした画像を指す。それに対して、歪曲画像は、該標準画像を基にして様々な歪みを導入して取得したものである。
【００２５】
図３ａには、ある都市シーンにおける１つの目標物体に対する標準画像が示され、図３ｂには、対応する３枚の歪曲画像が示されている。図３ａにおける楕円に示されるように、該シーンは川辺の都市の建築群であり、目標物体はその中の一番高いビルである。３枚の歪曲画像は図３ａにおける標準画像を回転、シフトして得られたものであり、全ての歪曲画像の中からいずれも目標物体−ビルが見えるが、背景部分にいくつかのランダム部分で充填されている。
【００２６】
図４ａ及び図４ｂには、別のシーンにおける目標物体に対する標準画像及び３枚の歪曲画像をそれぞれ示されている。図４ａにおける四角の枠に示されるように、目標物体は川上の橋である。３枚の歪曲画像は標準画像を回転、シフトして得られたものであり、各枚の歪曲画像の中でいずれも目標物体−橋の全部又はその一部が見える。
【００２７】
クライアントに取得されたトレーニングモデルパラメータを予め記憶するために、このステップはユーザーが拡張現実サービスを用いる前に実行される。ユーザーは、拡張現実サービスを使用するとき、該トレーニングモデルパラメータを読み取って目標物体の姿の確定に用いられる。
【００２８】
ステップ２０２において、目標物体のリアルタイム画像を取得し、リアルタイム画像から少なくとも１つの第１画像ブロックを識別する。
【００２９】
このステップにおいて、ユーザーは上記シーンの中に位置し、拡張現実サービスを使用しようとしている。まずクライアントの所在する端末装置における撮影装置によって撮影して目標物体のリアルタイム画像を得て、リアルタイム画像をクライアントに送る。次に、クライアントは、リアルタイム画像から少なくとも１つの第１画像ブロックを識別し、第１画像ブロックがリアルタイム画像の部分画像であり、識別方法は以下のステップを含むが、それらに限らない。
【００３０】
ステップ２０２１において、リアルタイム画像に対して特徴検出を行って、複数の局部特徴を取得する。
【００３１】
局部特徴とは、画像内の周囲と相違している幾つかの箇所であり、高い区別度を有する領域である。
【００３２】
ステップ２０２２において、各局部特徴に対して、該局部特徴の画像コントラストが予め設定されたコントラスト閾値より大きく、且つ該局部特徴が画像エッジではないと判断した場合、該局部特徴を第１画像ブロックとして確定する。
【００３３】
例えば、コントラストとは、１枚の画像における明暗領域の最も明るい白と最も暗い黒との間の異なる輝度レベルの測定、つまり１枚の画像のグレースケールのコントラストの大きさを指す。このように、識別された第１画像ブロックは周囲環境からはっきりと見え、位置のあいまいさを低減する。例えば、リアルタイム画像が１つの顔画像であり、第１画像ブロックが顔の鼻の先、目頭等である。
【００３４】
例えば、スケール不変特徴変換（ＳＩＦＴ）、頑健な特徴量の高速化（ＳＵＲＦ）識別アルゴリズム、加速化断片試験による特徴抽出（ＦＡＳＴ）等の方法を用いてもよい。これらの方法で検出する精度と速度がそれぞれ異なる。実際に応用するとき、端末装置のハードウェア能力に基づいて処理の複雑さと時間効率を折衷して選択してもよい。
【００３５】
他の実施例において、単一の判断結果に基づいて局部特徴を確定してもよい。例えば、該局部特徴の画像コントラストが予め設定されたコントラスト閾値より大きいと判断した場合、該局部特徴を第１画像ブロックとして確定する。又は、該局部特徴が画像エッジではない場合、該局部特徴を第１画像ブロックとして確定する。ここで、局部特徴の識別精度は、後続のマッチング及び確定される姿の結果に影響する。
【００３６】
ステップ２０３において、トレーニングモデルパラメータに基づき、畳み込みニューラルネットワークによって該第１画像ブロックにマッチングするラベル画像ブロックを確定する。
【００３７】
端末装置は、各第１画像ブロックを畳み込みニューラルネットワークに入力し、畳み込みニューラルネットワークは、トレーニングモデルパラメータに基づいて各第１画像ブロックにマッチングするラベル画像ブロックを出力する。ラベル画像ブロックは、第１画像ブロックにマッチングする標準画像の部分画像である。
【００３８】
好ましくは、トレーニングモデルパラメータは、重み及び標準画像から識別された第２画像ブロックを含み、第２画像ブロックが標準画像の部分画像である。畳み込みニューラルネットワークは複数の畳み込み層を含み、重みは各畳み込み層に使用される畳み込み行列における各要素値を指す。
【００３９】
このステップにおいて、マッチング方法は以下のステップを含むが、それらに限らない。
【００４０】
ステップ２０３１において、該第１画像ブロックを畳み込みニューラルネットワークに入力し、重みに基づいて該第１画像ブロックと各第２画像ブロックとのマッチング確率を出力する。
【００４１】
畳み込みニューラルネットワークは、第１画像ブロックを分類することができ、各第２画像ブロックがカテゴリラベルを表し、重みによって第１画像ブロックを処理し、出力された結果は第１画像ブロックと各第２画像ブロックとのマッチング確率である。この確率値は第１画像ブロックと第２画像ブロックの類似度を表す。
【００４２】
ステップ２０３２において、最大確率値に対応する第２画像ブロックをラベル画像ブロックとして確定する。
【００４３】
例えば、クライアント及びサーバ側に、目標物体の識別子を予め設定し、トレーニングモデルパラメータに該識別子が含まれる。これにより、クライアントが該トレーニングモデルパラメータを受信した後に、上記識別子が分かるようになる。ステップ２０２を実行するとき、取得されたリアルタイム画像又は端末の現在の測位情報に基づき、該リアルタイム画像がどの目標物体に対応しているかを判断することができ、これにより、該目標物体の識別子に基づいてステップ２０３を実行する際にどのトレーニングモデルパラメータを用いてマッチングするかを把握できる。
【００４４】
ステップ２０４において、各第１画像ブロック及び各第１画像ブロックにマッチングするラベル画像ブロックに基づき、目標物体の姿を確定する。
【００４５】
好ましくは、目標物体の姿はアフィン変換で示され、つまり、各ラベル画像ブロックは、アフィン変換を介して第１画像ブロックにマッチングする。アフィン変換はアフィン変換行列の形式で示されてもよく、各第１画像ブロックとそれにマッチングするラベル画像ブロックとの間の対応するアフィン変換行列により、アフィン変換グループを構成する。第１画像ブロックがqiであり、ｉ＝１・・・Ｎ、Ｎが第１画像ブロックの総数であり、qiにマッチングするラベル画像ブロックがpiであり、アフィン変換が行列Aで示される場合、
qi=Api                      （１）、
アフィン変換は、目標物体が撮影レンズに対するシフト及び回転量を表すことができ、３Ｄ空間における目標物体から２Ｄ平面画像までのイメージング過程を表すことが可能である。アフィン変換は線形変換に属し、つまり、平行線を平行線に変換し、有限点を有限点にマッピングする一般的な特性を有する。二次元ユークリッド空間におけるアフィン変換は、
【数１】
0006789402.tif 000002
と示されてもよく、
ここで、(x,y)と(x’,y’)がそれぞれ標準画像とリアルタイム画像における２つの点（すなわち、画素）の座標を指し、
【数２】
0006789402.tif 000003
が回転、伸縮、剪断の合成変換の行列表現であり、(a0,a5)Tがシフトベクトルであり、aiがいずれも実数である。６つのパラメータで構成されるベクトルa=(a0,a1,a2,a3,a4,a5)Tがアフィン変換を表し、２つの点の間の座標変換関係を決定することができ、三次元の回転及びシフトを含む。
【００４６】
以上により、アフィン変換は６つの自由度を有し、アフィン変換に基づいて推定した姿もよく６Ｄ姿と呼ばれる。ベクトルにおけるパラメータの具体値に基づくシフト、回転、拡大縮小、反射及び剪断等は、いずれもアフィン変換の１つのケースである。
【００４７】
目標物体の姿を確定するとき、最小二乗原則に従ってアフィン変換行列セットからアフィン変換行列セットの行列推定値を確定することができ、ここで、行列推定値は、アフィン変換行列セットに対応する逆変換の偏角である。例えば、行列推定値
【数３】
0006789402.tif 000004
は、下記の式で演算することができる。
【００４８】
【数４】
0006789402.tif 000005
ここで、||・||が・のモジュラス値の平方を示し、Ｇがアフィン変換行列セットである。
【００４９】
【数５】
0006789402.tif 000006
で表れる姿を確定した後、リアルタイム画像に追加しようとする任意の仮想コンテンツが、いずれも
【数６】
0006789402.tif 000007
によって変換することがにでき、リアルタイム画像に一致する観察角度を保つことができ、それにより、ユーザーに拡張現実後の混合画像効果を見せるために、リアルタイム画像に仮想コンテンツを追加することを実現することができる。
【００５０】
本実施例において、サーバからトレーニング後の畳み込みニューラルネットワークトレーニングモデルパラメータを受信することにより、ユーザーの目標物体を撮影して得られたリアルタイム画像を受信し、リアルタイム画像から少なくとも１つの第１画像ブロックを識別し、画像ブロックを畳み込みニューラルネットワークの入力とし、その利点としては、画像全体に比べて、このような画像ブロックの耐変換能力、特に耐シフト変換能力が高く、且つ、分割又は他の任意の事前の画像の語義解釈を必要としないことにある。
【００５１】
次に、各第１画像ブロックに対して、トレーニングモデルパラメータに基づいて該第１画像ブロックにマッチングするラベル画像ブロックを確定し、各第１画像ブロック及びそれぞれのマッチングするラベル画像ブロックに基づき、目標物体の姿を確定し、姿に基づいてリアルタイム画像に仮想コンテンツを追加する。畳み込みニューラルネットワークを姿の確定に用いる利点は、このようなネットワークにおいて重みデータが複数の結合の中で共有できるため、上記方法の計算の複雑さが低く、時間効率が高く、占有したメモリリソースが少なく、特にリソースが限られる設備、例えばバッテリー容量が限られるモバイル端末、ウェアラブルデバイス等に拡張現実サービスを応用する時に適用されることにある。
【００５２】
図５は本願の他の実施例における画像内の物体の姿の確定方法のフローチャートである。図５に示すように、該方法は以下のステップを含むが、それらに限らない。
【００５３】
ステップ５０１において、サーバからトレーニング後の畳み込みニューラルネットワークのトレーニングモデルパラメータを受信し記憶する。
【００５４】
サーバはある特定のシーンにおける目標物体に対してオフライントレーニングを行い、トレーニングを完了した後、トレーニングモデルパラメータをクライアントに送信して、クライアントに記憶され、次にクライアントがリアルタイムにモニタリングする際に該トレーニングモデルパラメータを使用する。
【００５５】
ステップ５０２において、目標物体のリアルタイム画像を取得する。
【００５６】
例えば、リアルタイム画像はユーザーが撮影した静止画像又はビデオにおける１フレームの画像であってもよい。受信したのがビデオストリームである場合、一定の間隔毎に、ビデオストリームから１フレームの画像を処理対象のリアルタイム画像として抽出する。例えば、ビデオストリームは１秒あたりに２４フレームの画像を含み、１秒おきに１フレームの画像を抽出してもよい。
【００５７】
ステップ５０３において、リアルタイム画像から少なくとも１つの第１画像ブロックを識別し、各第１画像ブロックを畳み込みニューラルネットワークに入力する。
【００５８】
ステップ５０４において、各第１画像ブロックに対して、重みに基づいて該第１画像ブロックと各第２画像ブロックとのマッチング確率を出力し、最大確率値に対応する第２画像ブロックをラベル画像ブロックとして確定する。
【００５９】
上記ステップ２０２、２０３の説明を参照し、ここで詳細な説明は省略する。
【００６０】
ステップ５０５において、各第１画像ブロック及びそれぞれにマッチングするラベル画像ブロックに基づき、アフィン変換の行列推定値を確定し、それで目標物体の幾何上の姿を表す。
【００６１】
本ステップにおいて、第１画像ブロック及びそれにマッチングするラベル画像ブロックが１つのマッチングペア、即ち(qi,pi)を構成する。姿を確定する前に、更にマッチングペアに対して取捨することを含んでもよい。各第１画像ブロックに対して、以下のステップを含むが、それらに限らない。
【００６２】
ステップ５０５１において、該第１画像ブロックを畳み込みニューラルネットワークに入力し、重みに基づいて該第１画像ブロックと各第２画像ブロックとのマッチング確率を出力する。
【００６３】
例えば、第２画像ブロックの総数がＭである場合、畳み込みニューラルネットワークの出力層が１つの１×Ｍ次元の分類ベクトルを出力し、ベクトルにおける要素の値が［０、１］であって、上記確率を表す。
【００６４】
ステップ５０５２において、確率が予め設定された確率閾値より大きな第２画像ブロックの総数が、予め設定された個数閾値より大きい場合、該第１画像ブロック及びそれにマッチングするラベル画像ブロックを目標物体の姿の確定に用いる。
【００６５】
例えば、予め設定された確率閾値が０．６であって、予め設定された個数閾値が２００である場合、数値が０．６より大きな要素の個数は２００個より大きければ、該マッチングペアを使用して、姿の確定に用いられる。このように選択したマッチングペアは大多数の姿に適応できる。
【００６６】
ここで、確率が予め設定された確率閾値より大きな第２画像ブロックの総数が予め設定された個数閾値より大きい第１画像ブロックは目標画像ブロックと称され、端末装置は目標画像ブロック及び目標画像に対応するラベル画像ブロックに基づき、目標物体の姿を確定する。
【００６７】
例えば、ランダムサンプリングコンセンサスのポリシーを用いて、誤ったマッチングペアを除外してもよい。
【００６８】
ステップ５０６において、行列推定値に基づいて仮想コンテンツをリアルタイム画像に追加する。
【００６９】
標準画像によってアフィン変換の行列推定値を確定した後、逆プロセスを実行してもよく、仮想コンテンツをアフィン変換を介してリアルタイム画像の参照系に変換し、それによりそれらを重ね合わせして、拡張現実の機能を実現できる。
【００７０】
上記実施例において、マッチングペア（第１画像ブロック、ラベル画像ブロック）に対する取捨によって、公式（３）によれば、Ｎの有効値が減少され、従って、計算の複雑さを低減させるとともに、更に姿確定の精度を向上させることができる。なお、アフィン変換の行列推定値によって目標物体の幾何上の姿を表し、処理が簡易化され、計算しやすく、アルゴリズムの時間効率を更に向上させる。
【００７１】
図６は本願の一実施例における画像内の物体の姿の確定方法のフローチャートである。該方法は図１におけるサーバ１０３に適用されることができる。該方法は以下のステップを含むが、それらに限らない。
【００７２】
ステップ６０１において、目標物体の標準画像及び目標物体の複数枚の歪曲画像を取得する。
【００７３】
サーバ側は、オフライントレーニングを実行するとき、まず大量のトレーニングサンプルを取得する必要がある。標準画像が必須であり、分類時に使用される複数のラベル画像ブロックを確定することに用いられる。それに対して、歪曲画像の取得方式は様々あってもよく、例えば、撮影装置を用いて同じ目標物体に対してランダムに撮影して複数の歪曲画像を取得し、又は、標準画像から様々な歪み処理を行って複数の歪曲画像を取得する。後者に対して、一実施例において、画像の歪みがアフィン変換によって導入されてもよい。標準画像に基づいて歪曲画像を取得する方法は以下のステップを含むが、それらに限らない。
【００７４】
ステップ６０１１において、複数のアフィン変換行列をランダムに生成する。
【００７５】
行列
【数７】
0006789402.tif 000008
を定義してアフィン変換を示し、下記の式で複数のアフィン変換行列をランダムに生成する。
【００７６】
【数８】
0006789402.tif 000009
ここで、パラメータφとθが(-π, π]から均一に生成されたものであり、パラメータtxとfxが[0,w]から均一に生成されたものであり、wが標準画像の幅であり、パラメータtyとfyが[0,h]から均一に生成されたものであり、hが標準画像の高さであり、パラメータλ1とλ2が[0.5,1.5]から均一に生成されたものである。
【００７７】
ステップ６０１２において、各々のアフィン変換行列に対して、該アフィン変換行列を用いて標準画像をアフィン変換して、１枚の歪曲画像を得る。
【００７８】
実行変換の表現式は下記の通りである。
【００７９】
I’=A(I)+N                （５）
ここで、Iが入力した標準画像であり、I’が生成された歪曲画像であり、Nがガウス型白色雑音であり、平均値がμであり、分散がσであり、且つ、下記の関係を満たす。
【００８０】
f(μ)=1/5、０≦μ≦５である場合        （６）
σ=0.3×(μ/2-1)+0.8                （７）
ステップ６０２において、標準画像と複数枚の歪曲画像を畳み込みニューラルネットワークに入力してトレーニングして、トレーニングモデルパラメータを得る。
【００８１】
ステップ６０３において、トレーニングモデルパラメータをクライアントに送信する。
【００８２】
このように、端末装置はクライアントによってユーザーが目標物体を撮影して取得したリアルタイム画像を受信し、リアルタイム画像から少なくとも１つの第１画像ブロックを識別し、各第１画像ブロックに対して、トレーニングモデルパラメータに基づいて該第１画像ブロックにマッチングするラベル画像ブロックを確定し、各第１画像ブロック及びそれぞれのマッチングするラベル画像ブロックに基づき、目標物体の姿を確定し、姿に基づいてリアルタイム画像に仮想コンテンツを追加する。
【００８３】
上記ステップ６０２において、サーバが畳み込みニューラルネットワークを構築し、そしてからトレーニングする。畳み込みニューラルネットワークが畳み込み操作によって特徴抽出を行い、その後、特徴マッピングを行う。畳み込みニューラルネットワークの各計算層は複数の特徴マッピングで構成され、各特徴マッピングが１つの平面であり、平面におけるすべてのニューラルの重みが等しく、このため、ネットワークにおける自由パラメータの個数を減少させることができる。
【００８４】
図７は本願の一実施例の畳み込みニューラルネットワークの構造模式図である。図７に示すように、畳み込みニューラルネットワークは複数層の処理を含み、それらはそれぞれ以下のとおりである。
【００８５】
畳み込み層７０１：１つの畳み込み行列をフィルタとし、フィルタが画像ブロック７００を畳み込んで入力するとき、フィルタ内の重みを、画像ブロック内の対応する画素値と乗算し、すべての結果を足し算し、１つの加算値を得る。その後、この過程を繰り返し、左から右へ、上から下へ、画像ブロックの各領域を畳み込み、各ステップで１つの値を得ることができ、最後の行列が特徴画像である。
【００８６】
プーリング層７０２：プーリング層が一般的に畳み込み層の後で使用され、その役割は畳み込み層から出力した情報を簡略化し、データの次元を減少させ、計算オーバーヘッドを低減し、オーバーフィッティングを抑えることである。
【００８７】
例えば、畳み込んだ後の特徴画像が「静的」属性を有し、それは、１つの画像領域の有用な特徴が別の領域においても同様に適用される可能性が高いことを示す。従って、１枚の大きな画像を記述するために、異なる位置の特徴に対して集約統計、即ちプーリングプロセスを行う。例えば、画像のある領域におけるある特定の特徴の平均値又は最大値を計算する。すべての抽出して取得した特徴を用いることに比べて、これらの統計特徴は遥かに低い次元を有するだけでなく、結果も改善し、オーバーフィッティングになりにくい。
【００８８】
全結合層７０３：取得されたこれらの特徴画像がどのカテゴリに類似するかを検出する。ここで、カテゴリがＭ個の第２画像ブロックで代表される様々な可能なラベルである。
【００８９】
出力層７０４：１×Ｍ次元の分類ベクトルを出力し、ベクトルにおける要素の値が［０，１］であり、出力した各次元はいずれも該画像ブロックが該カテゴリに属する確率を指す。
【００９０】
実際に応用するとき、一般的に複数層の畳み込みを使用し、その後、全結合層を用いてトレーニングする。つまり、図７において、畳み込み層７０１とプーリング層７０２を１つの組み合わせとして使用され、複数の該組み合わせを順に実行し、このようなネットワークは深層畳み込みニューラルネットワークと称される。複数層の畳み込みの目的は、一層の畳み込みでラーニングした特徴が偏っており、層数が高いほど、ラーニングした特徴が全面的である。
【００９１】
畳み込みニューラルネットワークが複数の畳み込み層を含む場合、畳み込み層の個数の確定方法は、画像ブロックの個数と畳み込み層の個数との対応関係を予め設定することと、標準画像から少なくとも１つの第２画像ブロックを識別することと、第２画像ブロックの個数及び対応関係に基づいて畳み込みニューラルネットワークにおける畳み込み層の個数を確定することと、を含むが、それらに限らない。
【００９２】
例えば、表１に示す実施例において、第２画像ブロックの総数が４００であり、ネットワーク全体が１３層を含む。４つの畳み込み層があり、第１層、第４層、第７層、第１０層が畳み込み層であり、第１層の畳み込み層の直後に最大プーリング層及び正規化線形ユニット（ＲｅＬＵ：Ｒｅｃｔｉｆｉｅｄ  Ｌｉｎｅａｒ  Ｕｎｉｔ）活性化層の処理を行い、第４層の畳み込み層の直後にＲｅＬＵ活性化層及び平均プーリング層の処理を行い、第７層の畳み込み層の直後にＲｅＬＵ活性化層及び平均プーリング層の処理を行い、第１０層の畳み込み層の直後にＲｅＬＵ活性化層の処理を行い、最後に全結合層及びソフト最大値（英語：ｓｏｆｔ−ｍａｘ）出力層を行う。
【００９３】
【表１】
0006789402.tif 000010
【００９４】
活性化層において活性化関数を呼び出して非線形因子を追加することにより、線形分離不可能の問題を解決する。表１に示すように、選択された励振関数方式はＲｅＬＵと称され、その表現式：
f(x)=max(0,x)          （８）
つまり、ゼロより小さな値を０に設定し、このように、畳み込みニューラルネットワークのトレーニング速度がより速くなり、消失勾配が減少するという問題が生じる。
【００９５】
なお、畳み込みニューラルネットワークは、トレーニング中において、入力サンプル及び理想的な出力サンプルを確定する必要があり、その後、重みの調整を繰り返し行う。一実施例において、標準画像から少なくとも１つの第２画像ブロックを識別し、各枚の歪曲画像をそれぞれ識別して、少なくとも１つの第３画像ブロックを取得し、畳み込みニューラルネットワークがトレーニングするとき、第３画像ブロックを入力サンプル、各第２画像ブロックを理想的な出力サンプルとして、トレーニングして重みを得る。
【００９６】
畳み込みニューラルネットワークがトレーニングするとき、逆伝播アルゴリズムによって重みを調整する。逆伝播アルゴリズムは４つの異なる部分、すなわち順伝播、損失関数、逆伝播、重みの更新に分けられてもよい。
【００９７】
順伝播過程において、画像ブロックを入力し、畳み込みニューラルネットワークによって伝播する。最初に、すべての重みが、ランダム値［０．３、０．１、０．４、０．２、０．３・・・］のようにランダムに初期化される。畳み込みニューラルネットワークが初期化された重みによって正確な特徴画像を抽出できないため、画像がどのカテゴリに属するかのようないかなる合理的な結論を出すことができない。この時、逆伝播中の損失関数によって畳み込みニューラルネットワークに重みを更新させて、所望の特徴画像を見つける。損失関数の定義方式は様々あり、例えば平均二乗誤差（ＭＳＥ：ｍｅａｎ  ｓｑｕａｒｅｄ  ｅｒｒｏｒ）がある。畳み込みニューラルネットワークがトレーニングし始めたばかりのとき、全ての重みがランダムに初期化されたものであるため、この時の損失値が大きいである可能性がある。トレーニングの目的は予測値が実際の値と同じであるように望まれることである。このため、損失値をできる限り減少させる必要があり、損失値が小さいほど予測結果が接近すると説明される。この過程において、重みを継続的に調整することにより、どの重みでネットワークの損失を減少できるかを見つける。例えば、勾配降下アルゴリズムを用いる。
【００９８】
トレーニングするたびに、順伝播、損失関数、逆伝播及びパラメータ更新を複数回で行う。トレーニングが終了した後、トレーニング後のいくつかの重みを取得する。
【００９９】
本願の上記実施例の物体の姿確定方法及び関連技術においてランダムファーンズ（英語：Ｒａｄｏｍ  Ｆｅｒｎｓ）方法を用いて姿を確定することに比べて、表２には２つの方法の精度及び占有したメモリの値を示す。
【０１００】
まず、実験データは下記のように設定され、即ち、本願の実施例の方法において、表１に示す畳み込みニューラルネットワークアーキテクチャを用い、画像ブロックのサイズが２７×２７であり、合計して２７行２７列の画素があり、該画像ブロックを前処理して、その平均値を０、分散を１にする。オフライントレーニング時、公式（４）に基づいて２０００個のアフィン変換行列をランダムに生成し、歪曲画像の生成に用いられる。第２画像ブロックの個数が４００であり、出力ベクトルが１×４００次元の分類ベクトルである。Ｆｅｒｎｓ方法において、Ｆｅｒｎの個数が３０であり、各Ｆｅｒｎにおける特徴の個数が１２である。
【０１０１】
表２に示すように、図３ａ、図３ｂに示す画像に対して、本願の実施例の方法の精度が８６％であるが、Ｆｅｒｎｓ方法の精度が８８％であり、図４ａ、図４ｂに示す画像に対して、本願の実施例の方法の精度が８７％であるが、Ｆｅｒｎｓ方法の精度が８８％である。これにより、本願の実施例の方法はＦｅｒｎｓ方法の精度と略同じである。しかしながら、占有したメモリから見れば、本願の実施例の方法は畳み込みニューラルネットワークを用いるため、占有したメモリが０．５５５７Ｍのみであるが、Ｆｅｒｎｓ方法は占有したメモリが９３．７５Ｍであり、これにより、本願の実施例の方法はメモリリソースの消費量が極めて少ない。
【０１０２】
【表２】
0006789402.tif 000011
【０１０３】
図８は本願の一実施例のクライアント８００の構造模式図である。図８に示すように、クライアント８００は図２及び図５の実施例における画像内の物体の姿の確定方法を実行する仮想装置であってもよく、該装置は、
サーバから目標物体の畳み込みニューラルネットワークのトレーニングモデルパラメータを取得するためのオフライン受信モジュール８１０と、
目標物体のリアルタイム画像を取得するためのオンライン受信モジュール８２０と、
リアルタイム画像から少なくとも１つの第１画像ブロックを識別するための識別モジュール８３０と、
トレーニングモデルパラメータに基づき、畳み込みニューラルネットワークによって各第１画像ブロックにマッチングするラベル画像ブロックを確定するためのマッチングモジュール８４０と、
各第１画像ブロック及び各第１画像ブロックにマッチングするラベル画像ブロックに基づき、目標物体の姿を確定するための姿確定モジュール８５０と、
該姿に基づいてリアルタイム画像に仮想コンテンツを追加することに用いられ、追加モジュール８６０が任意のモジュールである追加モジュール８６０と、を備える。
【０１０４】
１つの代替実施例において、識別モジュール８３０は、
リアルタイム画像に対して特徴検出を行って、複数の局部特徴を取得するための検出ユニット８３１と、
複数の局部特徴のうちの画像コントラストが予め設定されたコントラスト閾値より大きい、かつ画像エッジではない局部特徴を第１画像ブロックとして確定するための判断ユニット８３２と、を備える。
【０１０５】
１つの代替実施例において、トレーニングモデルパラメータは重み及び標準画像から識別された第２画像ブロックを含み、マッチングモジュール８４０は、更に、各第１画像ブロックを畳み込みニューラルネットワークに入力し、重みに基づいて各第１画像ブロックと各第２画像ブロックとのマッチング確率を出力し、各第１画像ブロックに対応する確率のうちの確率閾値より大きな確率の数を取得し、数が予め設定された個数より大きな第１画像ブロックを目標画像ブロックとして確定し、目標画像ブロック及び目標画像ブロックにマッチングするラベル画像ブロックに基づき、姿を確定することに用いられる。
【０１０６】
１つの代替実施例において、マッチングモジュール８４０は、更に、目標画像ブロックが各第２画像ブロックにマッチングする確率を取得し、確率のうちの最大確率に対応する第２画像ブロックを目標画像ブロックにマッチングするラベル画像ブロックとして確定し、目標画像ブロック及び目標画像ブロックにマッチングするラベル画像ブロックに基づき、姿を確定することに用いられる。
【０１０７】
１つの代替実施例において、各第１画像ブロックは、各第１画像ブロックにマッチングするラベル画像ブロックを、アフィン変換行列を用いてアフィン変換して得られるものであり、各アフィン変換行列がアフィン変換行列セットを構成し、
姿確定モジュール８５０は、更に、最小二乗原則に従ってアフィン変換行列セットからアフィン変換行列セットの行列推定値を確定することに用いられる。
【０１０８】
１つの代替実施例において、姿確定モジュール８５０は、更に、
【数９】
0006789402.tif 000012
によって行列推定値を計算することに用いられ、
ここで、
【数１０】
0006789402.tif 000013
が行列推定値であり、qiが第１画像ブロックであり、ｉ＝１・・・Ｎ、Ｎが第１画像ブロックの総数であり、piがqiにマッチングするラベル画像ブロックであり、Aがアフィン変換行列であり、||・||が・のモジュラス値の平方を示し、Ｇがアフィン変換行列セットである。
【０１０９】
図９は本願の他の実施例のクライアント９００の構造模式図であり、該クライアント９００は図１に示す端末装置１０２であってもよい。図９に示すように、サーバ９００はプロセッサ９１０、メモリ９２０、ポート９３０及びバス９４０を備える。プロセッサ９１０とメモリ９２０がバス９４０を介して互いに接続される。プロセッサ９１０がポート９３０を介してデータを送受信できる。
【０１１０】
プロセッサ９１０はメモリ９２０に記憶される機械可読命令モジュールを実行することに用いられる。
【０１１１】
メモリ９２０にはプロセッサ９１０が実行できる機械可読命令モジュールが記憶される。プロセッサ９１０が実行できる命令モジュールはオフライン受信モジュール９２１、オンライン受信モジュール９２２、識別モジュール９２３、マッチングモジュール９２４、姿確定モジュール９２５及び追加モジュール９２６を備える。
【０１１２】
オフライン受信モジュール９２１がプロセッサ９１０により実行されるとき、サーバから目標物体の畳み込みニューラルネットワークのトレーニングモデルパラメータを取得してもよく、
オンライン受信モジュール９２２がプロセッサ９１０により実行されるとき、目標物体のリアルタイム画像を取得してもよく、
識別モジュール９２３がプロセッサ９１０により実行されるとき、リアルタイム画像から少なくとも１つの第１画像ブロックを識別してもよく、
マッチングモジュール９２４がプロセッサ９１０により実行されるとき、トレーニングモデルパラメータに基づき、畳み込みニューラルネットワークによって各第１画像ブロックにマッチングするラベル画像ブロックを確定してもよく、
姿確定モジュール９２５がプロセッサ９１０により実行されるとき、各第１画像ブロック及び各第１画像ブロックにマッチングするラベル画像ブロックに基づき、目標物体の姿を確定してもよく、
追加モジュール９２６がプロセッサ９１０により実行されるとき、姿に基づいてリアルタイム画像に仮想コンテンツを追加してもよい。追加モジュール９２６が任意のモジュールである。
【０１１３】
これにより、メモリ９２０に記憶される命令モジュールがプロセッサ９１０により実行されるとき、上記各実施例におけるオフライン受信モジュール、オンライン受信モジュール、識別モジュール、マッチングモジュール、姿確定モジュール及び追加モジュールの様々な機能を実現できる。
【０１１４】
図１０は本願の一実施例のサーバ１０００の構造模式図である。図１０に示すように、サーバ１０００は図６の実施例における画像内の物体の姿の確定方法を実行する仮想装置を備え、該装置は、
目標物体の標準画像及び目標物体の複数枚の歪曲画像を取得するための取得モジュール１０１０と、
標準画像と複数枚の歪曲画像を畳み込みニューラルネットワークに入力してトレーニングして、畳み込みニューラルネットワークのトレーニングモデルパラメータを取得するためのトレーニングモジュール１０２０と、
トレーニングモデルパラメータをクライアントに送信することにより、端末装置がクライアントによって目標物体のリアルタイム画像を取得し、リアルタイム画像から少なくとも１つの第１画像ブロックを識別し、トレーニングモデルパラメータに基づき、畳み込みニューラルネットワークによって各第１画像ブロックにマッチングするラベル画像ブロックを確定し、各第１画像ブロック及び各第１画像ブロックにマッチングするラベル画像ブロックに基づき、目標物体の姿を確定するための送信モジュール１０３０と、を備える。
【０１１５】
１つの代替実施例において、取得モジュール１０１０は、更に、複数のアフィン変換行列をランダムに生成し、各アフィン変換行列を用いて標準画像をアフィン変換して、各枚の歪曲画像を取得することに用いられる。
【０１１６】
１つの代替実施例において、畳み込みニューラルネットワークは複数の畳み込み層を含み、トレーニングモジュール１０２０は、更に、標準画像から少なくとも１つの第２画像ブロックを識別し、第２画像ブロックの個数及び予め設定された第２画像ブロックと畳み込み層の個数との対応関係に基づき、畳み込みニューラルネットワークにおける畳み込み層の個数を確定することに用いられる。
【０１１７】
１つの代替実施例において、トレーニングモジュール１０１０は、更に、標準画像から少なくとも１つの第２画像ブロックを識別し、それぞれ各枚の歪曲画像を識別して、少なくとも１つの第３画像ブロックを取得し、畳み込みニューラルネットワークがトレーニングするとき、第３画像ブロックを入力サンプル、第２画像ブロックを理想的な出力サンプルとしてトレーニングして重みを取得することに用いられる。
【０１１８】
図１１は本願の他の実施例のサーバ１１００の構造模式図である。図１１に示すように、サーバ１１００はプロセッサ１１１０、メモリ１１２０、ポート１１３０及びバス１１４０を備える。プロセッサ１１１０とメモリ１１２０がバス１１４０を介して互いに接続される。プロセッサ１１１０がポート１１３０を介してデータを送受信できる。
【０１１９】
プロセッサ１１１０はメモリ１１２０に記憶される機械可読命令モジュールを実行することに用いられる。
【０１２０】
メモリ１１２０にはプロセッサ１１１０が実行できる機械可読命令モジュールが記憶される。プロセッサ１１１０が実行できる命令モジュールは取得モジュール１１２１、トレーニングモジュール１１２２及び送信モジュール１１２３を備える。
【０１２１】
取得モジュール１１２１がプロセッサ１１１０により実行されるとき、目標物体の標準画像及び複数枚の歪曲画像を取得してもよく、
トレーニングモジュール１１２２がプロセッサ１１１０により実行されるとき、標準画像と複数枚の歪曲画像を畳み込みニューラルネットワークに入力してトレーニングして、トレーニングモデルパラメータを取得してもよく、
送信モジュール１１２３がプロセッサ１１１０により実行されるとき、トレーニングモデルパラメータをクライアントに送信することにより、端末装置がクライアントによって目標物体のリアルタイム画像を取得し、リアルタイム画像から少なくとも１つの第１画像ブロックを識別し、トレーニングモデルパラメータに基づき、畳み込みニューラルネットワークによって各第１画像ブロックにマッチングするラベル画像ブロックを確定し、各第１画像ブロック及び各第１画像ブロックにマッチングするラベル画像ブロックに基づき、目標物体の姿を確定してもよい。
【０１２２】
これにより、メモリ１１２０に記憶される命令モジュールがプロセッサ１１１０により実行されるとき、上記各実施例における取得モジュール、トレーニングモジュール及び送信モジュールの様々な機能を実現できる。
【０１２３】
上記装置実施例において、各モジュール及びユニットがその機能を実現する例示的な方法は方法実施例において説明されたため、ここで詳細な説明は省略する。
【０１２４】
また、本願の各実施例において、各機能モジュールは１つの処理ユニットに統合されてもよく、各モジュールは独立して物理的に存在してもよく、２つ又は２つ以上のモジュールは１つのユニットに統合されてもよい。上記統合されたユニットはハードウェアの形式で実現されてもよいし、ソフトウェア機能ユニットの形式で実現されてもよい。
【０１２５】
また、本願の各実施例はデータ処理装置、例えばコンピュータにより実行されるデータ処理プログラムによって実現されてもよい。明らかに、データ処理プログラムが本願を構成する。なお、一般的に、１つの記憶媒体に記憶されるデータ処理プログラムがプログラムを記憶媒体から直接読み取り又はプログラムをデータ処理装置の記憶装置（例えば、ハードディスク及び／又はメモリ）にインストール又はコピーすることで実行される。従って、このような記憶媒体も本願を構成する。記憶媒体はいかなるカテゴリの記録方式、例えば紙記憶媒体（例えば、紙テープ等）、磁気記憶媒体（例えば、フロッピーディスク、ハードディスク、フラッシュメモリ等）、光記憶媒体（例えば、ＣＤ−ＲＯＭ等）、光磁気記憶媒体（例えば、ＭＯ等）等を用いてもよい。
【０１２６】
従って、本願は更に記憶媒体を開示し、少なくとも１段落のデータ処理プログラムが記憶され、該データ処理プログラムは本願に記載の方法のいずれか１つの実施例を実行することに用いられる。好ましくは、該記憶媒体に少なくとも１つの命令、コードセット又は命令セットがあり、該少なくとも１つの命令、コードセット又は命令セットがプロセッサによりロードし実行されることで本願に記載の方法のいずれか１つの実施例を実現する。
【０１２７】
当業者であれば、上記実施例の全部又は一部のステップの実現はハードウェアにより完了してもよいし、プログラムが関連するハードウェアを命令することで完了してもよく、前記プログラムがコンピュータ可読記憶媒体に記憶されてもよく、上記言及した記憶媒体は読み出し専用メモリ、磁気ディスク又は光ディスク等であってもよいと理解される。
【０１２８】
以上の説明は本願の好適な実施例に過ぎず、本願を制限するためのものではなく、本願の趣旨及び原則内に行ったいかなる修正、等価置換、改良等は、いずれも本願の保護範囲内に含まれるべきである。
【符号の説明】
【０１２９】
１０１  目標物体
１０２  端末装置
１０３  サーバ
７００  入力画像ブロック
７０１  畳み込み層
７０２  プーリング層
７０３  全結合層
７０４  出力層
８００  クライアント
８１０  オフライン受信モジュール
８２０  オンライン受信モジュール
８３０  識別モジュール
８３１  検出ユニット
８３２  判断ユニット
８４０  マッチングモジュール
８５０  姿確定モジュール
８６０  追加モジュール
９００  クライアント
９１０  プロセッサ
９２０  メモリ
９２１  オフライン受信モジュール
９２２  オンライン受信モジュール
９２３  識別モジュール
９２４  マッチングモジュール
９２５  姿確定モジュール
９２６  追加モジュール
９３０  ポート
９４０  バス
１０００  サーバ
１０１０  取得モジュール
１０２０  トレーニングモジュール
１０２１  撮影装置
１０２２  画像
１０２３  スクリーン
１０２４  仮想コンテンツ
１０３０  送信モジュール
１１００  サーバ
１１１０  プロセッサ
１１２０  メモリ
１１２１  取得モジュール
１１２２  トレーニングモジュール
１１２３  送信モジュール
１１３０  ポート
【図１】
0006789402.tif 000018
【図２】
0006789402.tif 000019
【図３ａ】
0006789402.tif 000020
【図３ｂ】
0006789402.tif 000021
【図４ａ】
0006789402.tif 000022
【図４ｂ】
0006789402.tif 000023
【図５】
0006789402.tif 000024
【図６】
0006789402.tif 000025
【図７】
0006789402.tif 000026
【図８】
0006789402.tif 000027
【図９】
0006789402.tif 000028
【図１０】
0006789402.tif 000029
【図１１】
0006789402.tif 000030