(58)【調査した分野】(Int.Cl.,DB名)
前記処理済みの複数のキーポイントの属性情報は、前記少なくとも1つの有効なキーポイントのそれぞれの処理済みの属性情報、及び前記複数のキーポイントのうちの前記少なくとも1つの有効なキーポイント以外の他のキーポイントの属性情報を含むことを特徴とする請求項2に記載の方法。
前記少なくとも1つの有効なキーポイントのそれぞれの属性情報に基づいて、前記複数のキーポイントの属性情報を処理して、処理済みの複数のキーポイントの属性情報を得ることは、
前記少なくとも1つの有効なキーポイントのそれぞれの属性情報に含まれる座標情報に基づいて、基準座標を決定することと、
前記基準座標及び前記少なくとも1つの有効なキーポイントのそれぞれの属性情報の座標情報に基づいて、前記有効なキーポイントのそれぞれの処理済みの属性情報の座標情報を決定することと、を含むことを特徴とする請求項2又は3に記載の方法。
前記ニューラルネットワークは、第1層の全結合層及び第2層の全結合層の少なくとも一方の活性化関数が正規化線形ユニットReLu活性化関数を含む、3層の全結合層を含むことを特徴とする請求項1〜7の何れか1項に記載の方法。
前記ニューラルネットワークは、第1層の全結合層及び第2層の全結合層の少なくとも一方の活性化関数が正規化線形ユニットReLu活性化関数を含む、3層の全結合層を含むことを特徴とする請求項9〜14の何れか1項に記載の装置。
【発明の概要】
【0005】
本願の実施形態は、対象物の外接枠を決定するための技術手段を提供する。
【0006】
本願の実施例の1つの態様によれば、対象物の複数のキーポイントのそれぞれの属性情報を取得することと、前記対象物の複数のキーポイントのそれぞれの属性情報及び予め設定されたニューラルネットワークに基づいて、前記対象物の外接枠位置を決定することと、を備える対象物の外接枠を決定するための方法を提供する。
【0007】
選択的に、本願の上記方法の一実施形態において、前記対象物は、人体を含む。
【0008】
選択的に、本願の上記方法の別の実施形態において、前記キーポイントの属性情報は、座標情報及び存在判別値を含む。
【0009】
選択的に、本願の上記方法の一実施形態において、前記対象物の複数のキーポイントのそれぞれの属性情報及び予め設定されたニューラルネットワークに基づいて、前記対象物の外接枠位置を決定することは、前記複数のキーポイントのそれぞれの属性情報に基づいて、前記複数のキーポイントから少なくとも1つの有効なキーポイントを決定することと、前記少なくとも1つの有効なキーポイントのそれぞれの属性情報に基づいて、前記複数のキーポイントの属性情報を処理して、処理済みの複数のキーポイントの属性情報を得ることと、前記処理済みの複数のキーポイントの属性情報を前記予め設定されたニューラルネットワークに入力して処理して、前記対象物の外接枠位置を得ることと、を含む。
【0010】
選択的に、本願の上記方法の一実施形態において、前記処理済みの複数のキーポイントの属性情報は、前記少なくとも1つの有効なキーポイントのそれぞれの処理済みの属性情報、及び前記複数のキーポイントのうちの前記少なくとも1つの有効なキーポイント以外の他のキーポイントの属性情報を含む。
【0011】
選択的に、本願の上記方法の一実施形態において、前記少なくとも1つの有効なキーポイントのそれぞれの属性情報に基づいて、前記複数のキーポイントの属性情報を処理して、処理済みの複数のキーポイントの属性情報を得ることは、前記少なくとも1つの有効なキーポイントのそれぞれの属性情報に含まれる座標情報に基づいて、基準座標を決定することと、前記基準座標及び前記少なくとも1つの有効なキーポイントのそれぞれの属性情報の座標情報に基づいて、前記有効なキーポイントのそれぞれの処理済みの属性情報の座標情報を決定することと、を含む。
【0012】
選択的に、本願の上記方法の一実施形態において、前記少なくとも1つの有効なキーポイントのそれぞれの属性情報に含まれる座標情報に基づいて、基準座標を決定することは、前記少なくとも1つの有効なキーポイントのそれぞれの座標情報が対応する座標を平均化処理して、前記基準座標を得ることを含み、及び/又は、前記基準座標及び前記少なくとも1つの有効なキーポイントのそれぞれの属性情報の座標情報に基づいて、前記有効なキーポイントのそれぞれの処理済みの属性情報の座標情報を決定することは、前記基準座標を原点として、前記少なくとも1つの有効なキーポイントのそれぞれの座標情報が対応する処理済みの座標情報を決定することを含む。
【0013】
選択的に、本願の上記方法の一実施形態において、前記処理済みの複数のキーポイントの属性情報を前記予め設定されたニューラルネットワークに入力して処理して、前記対象物の外接枠位置を得ることは、前記処理済みの複数のキーポイントの属性情報を前記予め設定されたニューラルネットワークに入力して処理して、出力位置情報を得ることと、前記基準座標及び前記出力位置情報に基づいて、前記対象物の外接枠位置を決定することと、を含む。
【0014】
選択的に、本願の上記方法の一実施形態において、前記方法は、サンプル対象の複数のキーポイントの属性情報を含み且つ前記サンプル対象の外接枠位置が付された複数のサンプルデータ、を含むサンプル集合を取得することを更に備える。
【0015】
各々の前記サンプルデータのサンプル対象の複数のキーポイントの属性情報及び前記サンプル対象の外接枠位置に基づいて、前記ニューラルネットワークをトレーニングする。
【0016】
選択的に、本願の上記方法の一実施形態において、前記ニューラルネットワークは、確率的勾配降下アルゴリズムに基づいてトレーニングされたものである。
【0017】
選択的に、本願の上記方法の一実施形態において、前記対象物の外接枠位置は、前記対象物の外接枠の対角線方向における2つの頂点の座標情報を含む。
【0018】
選択的に、本願の上記方法の一実施形態において、前記ニューラルネットワークは、少なくとも2層の全結合層を含む。
【0019】
選択的に、本願の上記方法の一実施形態において、前記ニューラルネットワークは、第1層の全結合層及び第2層の全結合層の少なくとも一方の活性化関数が正規化線形ユニットReLu活性化関数を含む、3層の全結合層を含む。
【0020】
選択的に、本願の上記方法の一実施形態において、前記第1層の全結合層は320個のニューロンを含み、前記第2層の全結合層は320個のニューロンを含み、前記3層の全結合層のうちの最終層の全結合層は4個のニューロンを含む。
【0021】
本願の実施例の別の態様によれば、対象物の複数のキーポイントのそれぞれの属性情報を取得するための取得モジュールと、前記取得モジュールによって取得された前記対象物の複数のキーポイントのそれぞれの属性情報及び予め設定されたニューラルネットワークに基づいて、前記対象物の外接枠位置を決定するための決定モジュールと、を備える対象物の外接枠を決定するための装置を提供する。
【0022】
選択的に、本願の上記装置の一実施形態において、前記対象物は、人体を含む。
【0023】
選択的に、本願の上記装置の別の実施形態において、前記キーポイントの属性情報は、座標情報及び存在判別値を含む。
【0024】
選択的に、本願の上記装置の更に別の実施形態において、前記決定モジュールは、前記取得モジュールによって取得された複数のキーポイントのそれぞれの属性情報に基づいて、前記複数のキーポイントから少なくとも1つの有効なキーポイントを決定するための第1のサブモジュールと、前記第1のサブモジュールによって決定された少なくとも1つの有効なキーポイントのそれぞれの属性情報に基づいて、前記複数のキーポイントの属性情報を処理して、処理済みの複数のキーポイントの属性情報を得るための第2のサブモジュールと、前記第2のサブモジュールによって得られた処理済みの複数のキーポイントの属性情報を前記予め設定されたニューラルネットワークに入力して処理して、前記対象物の外接枠位置を得るための第3のサブモジュールと、を含む。
【0025】
選択的に、本願の上記装置の更に別の実施形態において、前記処理済みの複数のキーポイントの属性情報は、前記少なくとも1つの有効なキーポイントのそれぞれの処理済みの属性情報、及び前記複数のキーポイントのうちの前記少なくとも1つの有効なキーポイント以外の他のキーポイントの属性情報を含む。
【0026】
選択的に、本願の上記装置の更に別の実施形態において、前記第2のサブモジュールは、前記第1のサブモジュールによって決定された少なくとも1つの有効なキーポイントのそれぞれの属性情報に含まれる座標情報に基づいて、基準座標を決定するための第1のユニットと、前記第1のユニットによって決定された基準座標及び前記少なくとも1つの有効なキーポイントのそれぞれの属性情報の座標情報に基づいて、前記有効なキーポイントのそれぞれの処理済みの属性情報の座標情報を決定するための第2のユニットと、を含む。
【0027】
選択的に、本願の上記装置の更に別の実施形態において、前記第1のユニットは、前記第1のサブモジュールによって決定された少なくとも1つの有効なキーポイントのそれぞれの座標情報が対応する座標を平均化処理して、前記基準座標を得るために用いられ、及び/又は、第2のユニットは、前記第1のユニットによって決定された基準座標を原点として、前記少なくとも1つの有効なキーポイントのそれぞれの座標情報が対応する処理済みの座標情報を決定するために用いられる。
【0028】
選択的に、本願の上記装置の更に別の実施形態において、前記第3のサブモジュールは、前記第2のサブモジュールによって得られた処理済みの複数のキーポイントの属性情報を前記予め設定されたニューラルネットワークに入力して処理して、出力位置情報を得ることと、前記基準座標及び前記出力位置情報に基づいて、前記対象物の外接枠位置を決定することとに用いられる。
【0029】
選択的に、本願の上記装置の更に別の実施形態において、サンプル対象の複数のキーポイントの属性情報を含み且つ前記サンプル対象の外接枠位置が付された複数のサンプルデータ、を含むサンプル集合を取得することと、各々の前記サンプルデータのサンプル対象の複数のキーポイントの属性情報及び前記サンプル対象の外接枠位置に基づいて、前記ニューラルネットワークをトレーニングすることとに用いられるトレーニングモジュールを更に備える。
【0030】
選択的に、本願の上記装置の更に別の実施形態において、前記ニューラルネットワークは、確率的勾配降下アルゴリズムに基づいてトレーニングされたものである。
【0031】
選択的に、本願の上記装置の更に別の実施形態において、前記対象物の外接枠位置は、前記対象物の外接枠の対角線方向における2つの頂点の座標情報を含む。
【0032】
選択的に、本願の上記装置の更に別の実施形態において、前記ニューラルネットワークは、少なくとも2層の全結合層を含む。
【0033】
選択的に、本願の上記装置の更に別の実施形態において、前記ニューラルネットワークは、第1層の全結合層及び第2層の全結合層の少なくとも一方の活性化関数が正規化線形ユニットReLu活性化関数を含む、3層の全結合層を含む。前記第1層の全結合層は320個のニューロンを含み、前記第2層の全結合層は320個のニューロンを含み、前記3層の全結合層のうちの最終層の全結合層は4個のニューロンを含む。
【0034】
本願の実施例に係る更に別の態様によれば、コマンドを記憶するためのコンピュータ可読記憶媒体と、電子機器に上記方法の何れの実施形態を実行させるように、前記コマンドを実行するプロセッサと、を含む電子機器を提供する。
【0035】
本願の実施例に係る更に別の態様によれば、プロセッサによって実行される場合に、上記方法の何れの実施形態を実行する少なくとも1つのコマンドを含むコンピュータプログラム製品を提供する。
【0036】
1つの選択的な実施形態において、前記コンピュータプログラム製品はコンピュータ記憶媒体であり、別の選択的な実施形態において、前記コンピュータプログラム製品は、例えば、SDK等のソフトウェア製品である。
【0037】
本願の上記実施形態において提供する対象物の外接枠を決定するための方法及び装置、電子機器及びコンピュータプログラム製品によければ、対象物の複数のキーポイントのそれぞれの属性情報及びニューラルネットワークによって対象物の外接枠位置を決定することで、対象物の外接枠をより効率でかつ正確に決定することに寄与がある。
【0038】
以下、添付図面及び実施形態によって、本願の技術手段を更に詳しく説明する。
【発明を実施するための形態】
【0040】
ここで、図面を参照しながら本願の様々な例示的な実施形態を詳細に説明する。なお、特に断らない限り、これらの実施形態で記述した部材およびステップの相対的な配置、数式および数値は本願の範囲を限定するものではないことに注意すべきである。
【0041】
同時に、説明の便宜上、図面に示した各部分の寸法は実際の比例関係に従って描いたものではないことを理解すべきである。
【0042】
以下の少なくとも一つの例示的な実施形態に対する説明は、実質的に説明するためのものに過ぎず、本願およびその適用または使用を何ら限定するものではない。
【0043】
関連分野の当業者に既知の技術、方法および機器については、詳細に説明しない場合があるが、場合によって、前記技術、方法および機器は明細書の一部としての援用と見なすべきである。
【0044】
なお、以下の図面において、類似する符号および英文字は類似項目を表し、ある項目がある図面において定義されれば、以降の図面においてそれをさらに説明する必要がないことに注意すべきである。
【0045】
本願の実施形態は、端末機器、コンピュータシステム、サーバ等の電子機器に適用可能であり、それは他の多くの汎用又は専用コンピューティングシステム環境又は構成で動作可能である。端末機器、コンピュータシステム、サーバ等の電子機器と共に使用するのに適する公知の端末機器、コンピューティングシステム、環境及び/又は構成の例としては、パーソナルコンピュータシステム、サーバコンピュータシステム、シンクライアント、ファットクライアント、手持ち又はラップトップデバイス、マイクロプロセッサベースのシステム、セットトップボックス、プログラマブル消費者用電子機器、ネットワークパソコン、小型コンピュータシステム、大型コンピュータシステムおよび上記システムのいずれかを含む分散型クラウドコンピューティング技術環境等を含むが、これらに限定されない。
【0046】
端末機器、コンピュータシステム、サーバ等の電子機器は、コンピュータシステムによって実行されるコンピュータシステム実行可能コマンド(例えば、プログラムモジュール)の一般的なコンテキストで記述できる。一般的に、プログラムモジュールは特定のタスクを実行するか又は特定の抽象データ型を実現するルーチン、プログラム、目的プログラム、コンポーネント、ロジック、データ構造などを含んでよい。コンピュータシステム/サーバは、分散型クラウドコンピューティング環境において実施されてよく、分散型クラウドコンピューティング環境において、タスクは通信ネットワークを介してリンクされる遠隔処理デバイスにより実行される。分散型クラウドコンピューティング環境において、プログラムモジュールは記憶装置を含むローカル又はリモートのコンピューティングシステムの記憶媒体に位置してよい。
【0047】
図1は、本願のいくつかの実施形態における対象物の外接枠を決定するための方法のフローチャートである。
図1に示すように、本願の対象物の外接枠を決定するための方法は、S100及びS110を含む。以下、
図1における各操作についてそれぞれ説明する。
【0048】
S100では、対象物の複数のキーポイントのそれぞれの属性情報を取得する。
【0049】
1つの選択的な例示において、本願の実施形態における対象物は、検出対象或いは外接枠検出対象等とも呼ばれるが、本願の実施例はこれを限定しない。選択的に、本願の実施形態において、該対象物は、人体であってもよく、顔またはある特定の物体であってもよいが、対象物の表現形式が制限されない。本願の実施形態における外接枠は、一般的に、対象物の所在領域を表すことのできる多角形(一般的に、矩形)を指し、対象物の全ての部位を正確に覆うことができるだけではなく、その面積ができるだけ小さいものとされてよい。
【0050】
1つの選択的な例示において、本願の実施形態におけるキーポイントの属性情報は、キーポイントの各種情報を含んでよい。一例として、キーポイントの属性情報は、対象物の少なくとも1つのキーポイントが画像に見られるか、及び画像に見られる少なくとも1つのキーポイントの画像における位置を示すものであってよい。本願の実施形態では、画像に見られるキーポイント(つまり、画像に位置するキーポイント)を有効なキーポイントと称し、画像に見られないキーポイント(つまり、画像に位置していないキーポイント)を無効なキーポイントと称してよい。画像に見られないキーポイントは、遮蔽されるキーポイントであってもよく、画像外に位置するキーポイントであってもよいが、本願の実施例はこれを限定しない。
【0051】
1つの選択的な例において、キーポイントの属性情報は、キーポイントの座標情報及び存在判別値を含んでよい。キーポイントの座標情報は、該キーポイントの画像における位置を示すことに用いられることができ、例えば、キーポイントの2次元座標であってよいが、本願の実施例はこれに限定されない。キーポイントの存在判別値は、キーポイントが画像に見られるかを示すことに用いられることができる。例えば、キーポイントの存在判別値が1であれば、該キーポイントが見られることを示し、キーポイントの存在判別値が0であれば、該キーポイントが見られないことを示す。本願の実施例における存在判別値は他の方式で実現されてもよく、本実施例はそれを限定しない。選択的に、本願の実施例において、該属性情報はそれに限定されなく、他の情報を含んでもよい。
【0052】
一例として、本願の実施形態において、取得したキーポイントの属性情報は3×N次元のベクトルであってよく、Nは予め対象物に対して設定された複数のキーポイントの数を示す。本願の実施形態における1つのキーポイントの属性情報は(x,y,v)のアレーによって示されてよく、x及びyはそれぞれ該キーポイントの画像における2次元座標であり、vは該キーポイントの存在判別値であって、vの値が第1の判別値である場合、該キーポイントが画像に見られるキーポイントであることを示し、vの値が第2の判別値である場合、該キーポイントが画像に見られないキーポイントであることを示す。例えば、対象物の1つのキーポイントについては、該キーポイントが有効なキーポイントであれば、該キーポイントの属性情報が(x,y,1)のアレーとして示され、該キーポイントが無効なキーポイント(遮蔽される、又は画像外に位置する)であれば、該キーポイントの属性情報が(0、0、0)のアレーとして示されてよい。このようにキーポイントの属性情報を表すことにより、対象物の全てのキーポイントの画像における実際的な状況を容易に知ることができる。
【0053】
1つの選択的な例示において、対象物が人体である場合、本願の実施形態における人体のキーポイントは、一般的に、頭頂部、頸部、左肩、右肩、左肘、右肘、左手首、右手首、左股関節、右股関節、左膝、右膝、左足首及び右足首を含んでよく、この14個のキーポイントによって人体の姿勢を比較的完全に表現することができる。この場合、複数のキーポイントの属性情報は、この14個のキーポイントのうちの一部又は全部のキーポイントの属性情報を含んでよい。一例として、本願の実施形態において取得した複数のキーポイントの属性情報は、頭頂部の座標情報及び存在判別値、頸部の座標情報及び存在判別値、左肩の座標情報及び存在判別値、右肩の座標情報及び存在判別値、左肘の座標情報及び存在判別値、右肘の座標情報及び存在判別値、左手首の座標情報及び存在判別値、右手首の座標情報及び存在判別値、左股関節の座標情報及び存在判別値、右股関節の座標情報及び存在判別値、左膝の座標情報及び存在判別値、右膝の座標情報及び存在判別値、左足首の座標情報及び存在判別値、及び右足首の座標情報及び存在判別値を含んでよい。この14個のキーポイントの属性情報によって、画像における人体の概況を表現することができる。対象物が他の事物である場合、一般的に、それに伴うキーポイントが変化し、本願の実施形態は対象物のキーポイントの表現形式を制限しない。
【0054】
1つの選択的な例示において、本願の実施形態は、既に対象物の複数のキーポイントの属性情報を取得した適用場面に適用されることができ、つまり、既に画像から又は他の方式によって対象物の複数のキーポイントの属性情報を取得した適用場面において、情報読取等の方式によって該対象物のキーポイントの属性情報を取得してよいが、本願の実施例はこれに限定されない。このような適用場面において、本願の実施形態は、該対象物の複数のキーポイントの属性情報に基づいて、予めトレーニングされたニューラルネットワークによって、対象物の外接枠位置を取得してよい。
【0055】
1つの選択的な例示において、該S100は、プロセッサがメモリに記憶されたコマンドから対応するコマンドを呼び出して実行してもよく、プロセッサで運行される取得モジュール300によって実行されてもよい。
【0056】
S110では、対象物の複数のキーポイントのそれぞれの属性情報及び予め設定されたニューラルネットワークに基づいて、対象物の外接枠位置を決定する。
【0057】
選択的に、対象物の外接枠位置は、対象物の外接枠を決定することに用いられることができる。選択的に、該外接枠位置は、外接枠の1つ又は複数の頂点の位置情報を含んでよい。1つの選択的な例において、該外接枠が四辺形、例えば矩形であれば、該外接枠位置は、外接枠の対向する2つの頂点の位置情報、例えば、対向する2つの頂点のそれぞれの2次元座標を含んでよいが、本願の実施例は、対象物の外接枠位置の実現方式について限定しない。
【0058】
1つの選択的な例示において、本願の実施形態におけるニューラルネットワークは、専用ニューラルネットワークであってよい。該ニューラルネットワークは、大量のサンプルデータによってトレーニングされたものであってよい。該サンプルデータに、サンプル対象の複数のキーポイントの属性情報及び外接枠位置を含んでよく、つまり、該サンプルデータにサンプル対象の外接枠位置が付されてよい。該トレーニングの過程について、1つの選択可能な一例として、下記
図2についての説明を参照してよいので、ここで詳しく説明しない。
【0059】
選択的に、本願の実施形態におけるニューラルネットワークは、少なくとも2層の全結合層を含んでよい。畳み込みニューラルネットワークに比べると、完全に接続されたネットワークがより速い計算速度及び処理効率を有することができる。
【0060】
1つの選択的な例示において、本願の実施形態におけるニューラルネットワークは、2層の全結合層を含み、且つ第1層の全結合層の活性化関数がReLu(Rectified Linear Unit;正規化線形ユニット)活性化関数であってよい。
【0061】
1つの選択的な例示において、本願の実施形態におけるニューラルネットワークは、3層の全結合層を含み、且つ第1層の全結合層の活性化関数がReLu活性化関数であってよく、第2層の全結合層の活性化関数もReLu活性化関数であってよい。
【0062】
本願の実施例において、ニューラルネットワークに含まれる全結合層の層数及び各層の全結合層に含まれるニューロンの数は、実際の状況に応じて自分で設定してよい。ニューラルネットワークの層数及びニューロンの数が十分に多い場合、ニューラルネットワークは強い関数表現力を有するので、ニューラルネットワークに基づいて取得された外接枠位置がより正確になる。1つの選択的な例において、3層の全結合層からなるニューラルネットワークについて、第1層の全結合層のニューロン数は320個であってよく、第2層の全結合層のニューロン数も320個であってよく、第3層の全結合層のニューロン数は、対象物の外接枠が四辺形(例えば、矩形)であり、且つ対象物の外接枠位置が外接枠の対角線方向における2つの頂点の2次元座標情報で表される場合、4個設置されてよい。
【0063】
複数回の実験によって、第1層の全結合層及び第2層の全結合層において活性化関数としてReLu活性化関数を使用し、且つ第1層の全結合層及び第2層の全結合層がそれぞれ320個のニューロン、第3層の全結合層が4個のニューロンを有する、3層の全結合層を有するニューラルネットワークは、演算速度だけではなく、外接枠位置の決定の正確性も実際の要求を満たすことができることが検証される。
【0064】
1つの選択的な例示において、該S110は、プロセッサがメモリに記憶されたコマンドから対応するコマンドを呼び出して実行してもよく、プロセッサで運行される決定モジュール310によって実行されてもよい。
【0065】
本願の実施例において、該複数のキーポイントの属性情報をニューラルネットワークに直接入力してもよく、又は、該複数のキーポイントの属性情報を処理してニューラルネットワークに入力してもよい。つまり、該複数のキーポイントの属性情報に基づいてニューラルネットワークの入力情報を決定してよく、該入力情報は、該複数のキーポイントの属性情報そのものであってもよく、又は該複数のキーポイントの属性情報を処理したものであってもよい。ニューラルネットワークは、入力情報を処理して、出力結果を得ることができる。該対象物の外接枠位置は、ニューラルネットワークの出力結果によって得られてよい。選択的に、ニューラルネットワークの出力結果は、例えば、対象物の外接枠の1つ又は複数の頂点の座標情報のような該対象物の外接枠位置情報を含んでよく、一例として、該外接枠が矩形であれば、該出力結果は外接枠の対向する2つの頂点の座標情報を含んでよく、又は、ニューラルネットワークの出力結果を処理して該対象物の外接枠位置を得てもよいが、本願の実施例はこれを限定しない。
【0066】
1つの選択的な例示において、本願は、対象物の複数のキーポイントのそれぞれの属性情報に基づいて、有効なキーポイントを選択することができる。例えば、キーポイントの属性情報に存在判別値が含まれる場合、存在を示す存在判別値のキーポイントを有効なキーポイントとして決定してよい。例えば、キーポイントの存在判別値が1であれば、該キーポイントを有効なキーポイントとして決定してよいが、本願の実施例はこれに限定されない。
【0067】
選択的に、該複数のキーポイントから少なくとも1つの有効なキーポイントを選出できる場合、該少なくとも1つの有効なキーポイントのそれぞれの属性情報に基づいて、該複数のキーポイントのうちの一部又は全てのキーポイントの属性情報を処理して、処理済みの複数のキーポイントの属性情報を得、該処理済みの複数のキーポイントの属性情報を入力情報としてよい。選択的に、該処理済みの複数のキーポイントの属性情報は、該複数のキーポイントのそれぞれの処理済みの属性情報を含んでもよく、又は、該複数のキーポイントのうちの一部のキーポイントの処理済みの属性情報、及び該複数のキーポイントのうちの他の部分のキーポイントのオリジナル属性情報を含んでもよい。一例として、該処理済みの複数のキーポイントの属性情報は、少なくとも1つの有効なキーポイントのそれぞれの処理済みの属性情報、及び該複数のキーポイントのうちの該少なくとも1つの有効なキーポイント以外の他のキーポイントのオリジナル属性情報を含んでよく、つまり、該少なくとも1つの有効なキーポイントのそれぞれの属性情報を処理し、他のキーポイントの属性情報を処理しなくてよいが、本願の実施例はこれに限定されない。
【0068】
本願の実施例において、様々な方式によって該少なくとも1つの有効なキーポイントの属性情報を処理することができる。一例として、少なくとも1つの有効なキーポイントのそれぞれの属性情報に含まれる座標情報に基づいて基準座標を決定し、また基準座標及び有効なキーポイントの属性情報の座標情報に基づいて、該有効なキーポイントの処理済みの属性情報の座標情報を決定してよい。該基準座標は、該少なくとも1つの有効なキーポイントの座標情報を処理したものであってよい。例えば、該基準座標は、該少なくとも1つの有効なキーポイントの座標を平均化処理したものであってよいが、本願の実施例は該基準座標の実現方式について限定しない。
【0069】
1つの選択的な例示において、S100で取得したキーポイントの属性情報を中心化処理(zero-mean)して、中心化処理された情報を入力情報の一部としてニューラルネットワークに提供してよい。例えば、有効なキーポイントの属性情報の座標情報に基づいて、平均座標値(m
x,m
y)を計算し、その後、全てのキーポイントのうちの有効なキーポイントの各々に対して、該キーポイントの座標情報(x
i,y
i)と上記平均座標値との差値、つまり(x
i−m
x,y
i−m
y)をそれぞれ計算し、計算した差値を該有効なキーポイントの座標情報とし、最後、対象物の全てのキーポイントの座標情報及び存在判別値を入力情報としてニューラルネットワークに提供してよい。
【0070】
特に、本願の実施形態は、ニューラルネットワークのトレーニング過程においてサンプルデータを中心化処理しなかった場合、S110では、対象物の有効なキーポイントの2次元座標を中心化処理する必要がない。
【0071】
選択的に、本願の実施形態は、ニューラルネットワークに提供される入力情報が中心化処理された入力情報である場合、ニューラルネットワークから出力した座標情報と上記計算した平均座標値との和を対象物の外接枠の複数の頂点(例えば、矩形外接枠の対角線における2つの頂点)の最終の座標としてよい。例えば、ニューラルネットワークからの出力位置情報が(b
x1,b
y1)及び(b
x2,b
y2)であれば、対象物の外接枠の対角線における2つの頂点の座標が(b
x1+m
x,b
y1+m
y)及び(b
x2+m
x,b
y2+m
y)であってよい。
【0072】
図2は、本願のいくつかの実施形態におけるニューラルネットワークをトレーニングする方法のフローチャートである。ここで、複数のキーポイントの数をN、各々のキーポイントの属性情報を(x,y,v)の3次元ベクトル、外接枠を矩形とする。また、ニューラルネットワークの入力は3×Nの行列を含み、出力は2×2の行列を含み、外接枠の対角線における2つの頂点の2次元座標であってよいことが想定される。
【0073】
図2に示すように、本願の実施形態においてニューラルネットワークをトレーニングする方法は、S200、S210、S220、S230、S240及びS250を含む。以下、
図2に示す各操作のそれぞれについて説明する。
【0074】
S200では、サンプル集合から1つのサンプルデータを取得する。
【0075】
1つの選択的な例示において、本願の実施形態におけるサンプル集合は、一般的に空集合でなく、且つ一般的に大量のサンプルデータを含み、例えば、現在公開されたMS COCOデータベース等であってよい。サンプル集合に含まれる各サンプルデータは、サンプル対象の複数のキーポイントの属性情報を含んでよく、またサンプル対象の外接枠位置が付されてよく、キーポイントの属性情報はキーポイントの座標情報及び存在判別値を含んでよいが、本願の実施例はこれに限定されない。サンプルデータが対応するサンプル対象は、一般的に対象物と同じタイプであり、例えば、対象物が人体である場合、サンプル対象も人体である。本願の実施形態は、サンプル集合からサンプルデータの並べ順序に従って1つのサンプルデータを順次に選択してもよく、サンプル集合から一つのサンプルデータをランダムに選択してもよいが、本願の実施例はサンプルデータの選択方式を限定しない。
【0076】
S210では、該1つのサンプルデータの全ての有効なキーポイントの座標情報に基づいて平均座標値を計算する。
【0077】
例えば、サンプルデータの、存在判別値vが1である全てのキーポイントの属性情報の座標情報について、平均座標値(m
x,m
y)を計算する。
【0078】
S220では、該1つのサンプルデータの少なくとも1つの有効なキーポイントの座標情報と上記平均座標値との差値を計算し、計算した差値を対応する有効なキーポイントの座標情報とする。
【0079】
例えば、サンプルデータの有効なキーポイントの座標情報(x
i,y
i)について、(x
i−m
x,y
i−m
y)として計算される。
【0080】
S230では、該1つのサンプルデータの全てのキーポイントの属性情報を入力としてニューラルネットワークに提供する。
【0081】
1つの選択可能な例において、ニューラルネットワークの出力が矩形の対角線における2つの頂点の(b
x1,b
y1)及び(b
x2,b
y2)の2次元座標である場合、外接枠の座標を、上記出力座標情報と平均座標値との和として決定してよく(つまり教師あり)、(b
x1+m
x,b
y1+m)及び(b
x2+m
x,b
y2+m
y)として表すことができる。
【0082】
選択的に、本願の実施形態は、確率的勾配降下法アルゴリズムに基づく計算によってトレーニングを実現してよい。
【0083】
選択的に、ニューラルネットワークの計算結果と該サンプルデータに付された外接枠位置とを比較して、ニューラルネットワークのパラメータを調整するかを決定してよい。ニューラルネットワークの計算結果とサンプルデータに付された外接枠位置との差が一定範囲よりも小さい場合、トレーニング過程を終止し、又は、引き続きサンプル集合から新たにサンプルデータを選択してよい。そうでない場合、ニューラルネットワークのパラメータを調整し、引き続き、調整されたニューラルネットワークによって計算してよい。
【0084】
S240では、引き続きサンプル集合から新たに1つのサンプルデータを取得するかを判断する。
【0085】
引き続きサンプル集合から新たに1つのサンプルデータを取得する必要がある場合、S200に戻すが、そうでない場合、S250に移行する。
【0086】
1つの選択的な例示において、本願の実施形態は、サンプル集合の全てのサンプルデータがトレーニングに用いられたか、ニューラルネットワークの出力結果が予め設定された正確度要求を満すか、又は、読み出されたサンプル数が予め設定された数になったか等の要素を判断することによって、引き続きサンプル集合から新たに1つのサンプルデータを取得するかを判断してよい。
【0087】
S250では、今回のトレーニング過程が終了する。
【0088】
1つの選択的な例示において、検出によってニューラルネットワークの出力結果が予め設定された正確度要求を満すと確定する場合、ニューラルネットワークのトレーニングが成功した。サンプル集合の全てのサンプルデータがトレーニングに用いられ、又は読み出されたサンプル数が予め設定された数になったが、検出によってニューラルネットワークの出力結果がまだ予め設定された正確度要求を満たしていないと確定する場合、今回のトレーニング過程が終了したが、ニューラルネットワークのトレーニングが成功していなく、ニューラルネットワークを再びトレーニングしてよい。上記検出としては、サンプル集合からトレーニングされていない複数のサンプルデータを選択し、このようなサンプルデータに基づいて、
図1に示す方法によってニューラルネットワークに提供し、ニューラルネットワークに基づいて取得された少なくとも1つの外接枠位置と対応するサンプルデータに人為的にマーキングされた外接枠位置との誤差を特定し、少なくとも1つの誤差に基づいて正確度が予め設定された正確度要求を満すと確定する場合、ニューラルネットワークのトレーニングが成功すると確定してよい。また、本願の実施形態は、ニューラルネットワークのトレーニング過程で、L2損失関数を用いた教師あり学習を行ってよいが、これに限定されない。
【0089】
本願は、サンプル対象のキーポイントの属性情報及び外接枠位置によってニューラルネットワークをトレーニングし、トレーニングされたニューラルネットワークが対象物のキーポイントの属性情報に基づいて対象物の外接枠位置を直接に決定できるようにする。ある実際の適用において、既に対象物のキーポイントの属性情報を成功に取得した場合があり、本願の実施形態は、その場合、画像を必要とせずに、既に取得した対象物のキーポイントの属性情報を十分に利用することによって対象物の外接枠を快速に取得することができる。本願の実施形態におけるニューラルネットワークはサンプル対象のキーポイントの属性情報及び外接枠位置に基づいたトレーニングによって取得されるため、サンプル対象のキーポイント数が多く且つ設置されたニューロンの数が多い場合、ニューラルネットワークの学習しようとするパラメータも多く、ニューラルネットワークが対象物の外接枠を正確に決定することに寄与がある。
【0090】
本願の実施形態で提供される何れの方法も、データ処理能力を持つ如何なる適当な装置によって実行されてよく、適当な装置は端末機器及びサーバ等を含むが、これらに限定されない。又は、本願の実施形態で提供される何れの方法も、プロセッサによって実行されてよく、例えば、プロセッサはメモリに記憶されたコマンドから対応するコマンドを呼び出して、本願の実施例で言及された何れの方法を実行する。下記で重複に説明しない。
【0091】
当業者であれば分かるように、上記方法の実施例を実現するための操作の全部又は一部はプログラムコマンドに関連するハードウェアによって完成されてよく、前記のプログラムはコンピュータ可読記憶媒体に記憶されてよく、該プログラムが実行される場合、上記方法の実施例が含まれる操作を実行させる。前記の記憶媒体は、ROM、RAM、磁気ディスク又は光ディスク等、プログラムコードを記憶可能な媒体の少なくとも1種類を含む。
【0092】
図3は、本願のいくつかの実施形態における対象物の外接枠を決定するための装置の構成の模式図である。該実施形態の装置は、本願の上記各方法の実施形態を実現することに用いられることができる。
【0093】
図3に示すように、該実施形態の装置は、取得モジュール300及び決定モジュール310を備え、選択的に、トレーニングモジュール320を更に備えてもよい。
【0094】
取得モジュール300は、対象物の複数のキーポイントのそれぞれの属性情報を取得することに用いられる。
【0095】
選択的に、対象物、キーポイント、有効なキーポイント及びキーポイントの属性情報については、上記方法の実施形態におけるS100に関連する説明を参照してよいので、ここで詳しく説明しない。
【0096】
1つの選択的な例示において、本願の実施形態の装置は、既に対象物のキーポイントの属性情報を成功に取得した適用場面に適用されることができ、つまり、既に画像から対象物のキーポイントの属性情報を取得した適用場面において、取得モジュール300は、情報読取等の方式によって既に存在している対象物のキーポイントの属性情報を直接取得してよい。
【0097】
決定モジュール310は、取得モジュール300によって取得した対象物の複数のキーポイントのそれぞれの属性情報及び予め設定されたニューラルネットワークに基づいて、対象物の外接枠位置を決定することに用いられる。
【0098】
選択的に、本願におけるニューラルネットワークの表現形式(例えば、層数、ニューロン数及び活性化関数等)については、上記方法の実施形態における関連説明を参照してよいので、ここで詳しく説明しない。
【0099】
1つの選択的な例示において、決定モジュール310は、第1のサブモジュールと、第2のサブモジュールと、第3のサブモジュールとを含んでよい。第1のサブモジュールは、取得モジュール300によって取得された複数のキーポイントのそれぞれの属性情報に基づいて、複数のキーポイントから少なくとも1つの有効なキーポイントを決定することに用いられる。第2のサブモジュールは、第1のサブモジュールによって決定された少なくとも1つの有効なキーポイントのそれぞれの属性情報に基づいて、複数のキーポイントの属性情報を処理して、処理済みの複数のキーポイントの属性情報を得ることに用いられる。第3のサブモジュールは、第2のサブモジュールによって得られた処理済みの複数のキーポイントの属性情報を予め設定されたニューラルネットワークに入力して処理して、対象物の外接枠位置を得ることに用いられる。
【0100】
選択的に、処理済みの複数のキーポイントの属性情報は、少なくとも1つの有効なキーポイントのそれぞれの処理済みの属性情報、及び複数のキーポイントのうちの前記少なくとも1つの有効なキーポイント以外の他のキーポイントの属性情報を含んでよい。
【0101】
選択的に、第2のサブモジュールは、第1のユニット及び第2のユニットを含んでよい。第1のユニットは、第1のサブモジュールによって決定された少なくとも1つの有効なキーポイントのそれぞれの属性情報に含まれる座標情報に基づいて、基準座標を決定することに用いられる。例えば、第1のユニットは、少なくとも1つの有効なキーポイントのそれぞれの座標情報が対応する座標を平均化処理して、基準座標を得る。第2のユニットは、第1のユニットによって決定された基準座標及び少なくとも1つの有効なキーポイントのそれぞれの属性情報の座標情報に基づいて、各々の有効なキーポイントの処理済みの属性情報の座標情報を決定することに用いられる。例えば、第2のユニットは、第1のユニットによって決定された基準座標を原点として、少なくとも1つの有効なキーポイントのそれぞれの座標情報が対応する処理済みの座標情報を決定する。この場合、第3のサブモジュールは、第2のユニットによって処理された複数のキーポイントの属性情報をニューラルネットワークに入力して処理して、出力位置情報を得、また基準座標及び上記出力位置情報に基づいて、対象物の外接枠位置を決定することに用いられてよい。
【0102】
1つの選択的な例示において、対象物のキーポイントの2次元座標を中心化処理する必要がある場合、第1のユニットは対象物の全ての有効なキーポイントの座標情報に基づいて2次元平均座標値を計算することに用いられ、第2のユニットは対象物の全ての有効なキーポイントに対して、キーポイントの座標情報と2次元平均座標値との差値をそれぞれ計算し、差値を有効なキーポイントの座標情報とすることに用いられ、第3のサブモジュールは対象物の全てのキーポイントの座標情報及び全てのキーポイントの存在判別値を入力情報としてニューラルネットワークに提供することに用いられる。
【0103】
決定モジュール310は、対象物のキーポイントの2次元座標を中心化処理する場合、ニューラルネットワークから出力した外接枠の座標情報と平均座標値との和を対象物の外接枠の2次元座標情報としてよい。
【0104】
トレーニングモジュール320は、ニューラルネットワークをトレーニングすることに用いられ、サンプル対象の複数のキーポイントの属性情報を含み且つサンプル対象の外接枠位置が付された複数のサンプルデータにより構成されるサンプル集合を取得し、その後、各々のサンプルデータの、サンプル対象の複数のキーポイントの属性情報及びサンプル対象の外接枠位置に基づいて、ニューラルネットワークをトレーニングする。
【0105】
1つの選択的な例示において、トレーニングモジュール320はサンプル集合から複数のサンプルデータを取得し、各サンプルデータに対して、該サンプルデータの全ての有効なキーポイントの座標情報に基づいて平均座標値を計算し、該サンプルデータの少なくとも1つの有効なキーポイントの座標情報と上記平均座標値との差値をそれぞれ計算し、計算した差値を対応する有効なキーポイントの座標情報とし、その後、該サンプルデータの全てのキーポイントの属性情報を入力としてニューラルネットワークに提供する。トレーニングモジュール320がニューラルネットワークをトレーニングするために実行する操作の一例としては、上記方法の実施形態における説明を参照してよいので、ここで繰り返して説明しない。
【0106】
本願の実施形態は、例えば、携帯端末、パーソナルコンピュータ(PC)、タブレット、サーバ等のような電子機器を更に提供する。以下、本願の実施形態における端末機器又はサーバを実現するために適する電子機器400の構成を模式的に示す
図4を参照されたい。
図4に示すように、電子機器400は1つ又は複数のプロセッサ、通信部等を含む。前記1つ又は複数のプロセッサは、例えば、1つ又は複数の中央処理ユニット(CPU)401、及び/又は1つ又は複数の加速ユニット413等であってよく、加速ユニット413はGPU、FPGA、他のタイプの専用プロセッサ等を含んでよいが、それに限定されない。プロセッサは、読み出し専用メモリ(ROM)402に記憶される実行可能コマンド、又は記憶部408からランダムアクセスメモリ(RAM)403にローディングされた実行可能コマンドに基づいて、種々の適切な動作や処理を実行することができる。通信部412はネットワークカードを含んでよいが、これに限定されなく、前記ネットワークカードはIB(Infiniband)ネットワークカードを含んでよいが、これに限定されない。プロセッサは、実行可能コマンドを実行するように読み出し専用メモリ402及び/又はランダムアクセスメモリ403と通信し、バス404を介して通信部412に接続されて、さらに通信部412によって他の対象装置と通信して、本願の実施形態で提供する方法のいずれかに対応する操作を完成してよい。例えば、対象物の複数のキーポイントのそれぞれの属性情報を取得すること、前記対象物の複数のキーポイントのそれぞれの属性情報及び予め設定されたニューラルネットワークに基づいて、前記対象物の外接枠位置を決定することがある。
【0107】
また、RAM403に、装置の操作に必要な様々なプログラム及びデータが記憶されてよい。CPU401、ROM402及びRAM403がバス404を介して互いに接続される。RAM403がある場合、ROM402は、選択可能なモジュールである。RAM403は、プロセッサ401に上記の通信方法に対応する操作を実行させるための実行可能コマンドを記憶し、又は運行時にROM402に当該実行可能コマンドを書き込む。入力/出力(I/O)インターフェイス405もバス404に接続される。通信部412は、集積的に設けられてもよく、複数のサブモジュール(例えば、複数のIBネットワークカード)を有し且つバスを介してリンクされるように設置されてもよい。
【0108】
キーボード、マウス等を含む入力部406、例えば陰極線管(CRT)、液晶ディスプレイ(LCD)等及びスピーカー等を含む出力部407、ハードディスク等を含む記憶部408、及び例えばLANカード、モデム等のネットワークインターフェースカードを含む通信部409がI/Oインターフェイス405に接続される。通信部409は、例えば、インターネットのようなネットワークを介して通信処理を実行する。ドライバー410も必要に応じてI/Oインターフェイス405に接続される。例えば、磁気ディスク、光ディスク、光磁気ディスク、半導体メモリ等のリムーバブルメディア411は、必要に応じてドライバー410に取り付けられて、それから読み出されるコンピュータプログラムが必要に応じて記憶部408にインストールされる。
【0109】
なお、例えば、
図4に示すアーキテクチャは、単なる選択可能な実現方式にすぎない。具体的な実践過程において、実際的な要求に応じて、上記
図4の部品数やタイプの選択、削減、追加又は置き換えを行ってよい。異なる機能の部品の設置について、個別又は集積な設置等の実現方式を採用してもよく、例えば、加速ユニット413及びCPU401は、個別に配置されてよく、又は加速ユニット413をCPU401に集積させてよく、通信部は、個別に配置されてもよく、CPU401又は加速ユニット413に集積的に設けられてもよい。これらの代替的な実施形態は、すべて本出願の保護範囲に含まれる。
【0110】
特に、本出願の実施形態によれば、上記でフローチャートを参照して説明される過程は、コンピュータソフトウェアプログラムとして実現されてよい。例えば、本出願の実施形態は、コンピュータプログラム製品を含み、コンピュータプログラム製品はコンピュータ読取可能媒体に実体的に含まれるコンピュータプログラムを含み、コンピュータプログラムは、フローチャートに示す方法を実行するためのプログラムコードを含み、プログラムコードは本願の実施形態で提供する方法の対応する工程を対応して実行するコマンドを含んでよい。例えば、対象物の複数のキーポイントのそれぞれの属性情報を取得すること、前記対象物の複数のキーポイントのそれぞれの属性情報及び予め設定されたニューラルネットワークに基づいて、前記対象物の外接枠位置を決定することがある。このような実施形態において、該コンピュータプログラムは通信部409を介してネットワークからダウンロード、インストールされ、及び/又はリムーバブルメディア411によってインストールされてよい。該コンピュータプログラムにおけるコマンドが中央処理ユニット(CPU)401によって実行される場合、本願の方法で限定される上記機能を実行する。
【0111】
多くの形態によって本願の方法や装置、機器を実現することができる。例えば、ソフトウェア、ハードウェア、ファームウエア、又はソフトウェア、ハードウェア、ファームウエアの如何なる組み合わせによって本願の方法や装置、機器を実現することができる。方法における工程の上記順序は単に説明するためのものであり、他の形態で特に説明しない限り、本願の方法における工程は上記具体的に説明した順序に限定されない。また、ある実施形態において、更に、本願を記録媒体に記録されるプログラムとして実施してもよく、これらのプログラムは本願の方法を実現するためのコンピュータ読み取り可能コマンドを含む。従って、本願は、更に、例えば、
図5に示すコンピュータ可読記憶媒体500のような、本願の方法を実行するためのプログラムを記憶する記録媒体を含む。
【0112】
多くの形態によって本願の方法や装置、電子機器及びコンピュータ可読記憶媒体を実現することができる。例えば、ソフトウェア、ハードウェア、ファームウエア、又はソフトウェア、ハードウェア、ファームウエアの如何なる組み合わせによって本願の方法や装置、電子機器及びコンピュータ可読記憶媒体を実現することができる。方法における工程の上記順序は単に説明するためのものであり、他の形態で特に説明しない限り、本願の方法における工程は上記具体的に説明した順序に限定されない。また、ある実施形態において、更に、本願を記録媒体に記録されるプログラムとして実施してもよく、これらのプログラムは本願の方法を実現するためのコンピュータ読み取り可能コマンドを含む。従って、本願は、更に、本願の方法を実行するためのプログラムを記憶する記録媒体を含む。
【0113】
本願の実施形態に対する記載は例示、説明するためのものであり、漏れなく又は本願を開示された形式に限定するものではない。多くの修正及び変化は当業者にとって明らかなことである。実施形態を選択し説明する目的は本願の原理及び実際の適用をより好適に説明し、当業者に本願を理解させて、特定の用途に適する様々の修正を行った各種の実施形態を設計させることにある。