(57)【要約】本開示の実施例は、画像処理方法および装置、画像機器、ならびに記憶媒体を開示する。前記画像処理方法は、画像を取得するステップと、前記画像に基づいて、身体の肢体の特徴を取得するステップと、前記特徴に基づいて、前記肢体の第１類の動き情報を特定するステップと、前記第１類の動き情報に基づいて、被制御モデルの肢体の動きを制御するステップとを含み、前記肢体は、上肢および／または下肢を含む。【選択図】図１
2021524113.tif 000002
【特許請求の範囲】
【請求項１】
画像を取得するステップと、
前記画像に基づいて、身体の肢体の特徴を取得するステップと、
前記特徴に基づいて、前記肢体の第１類の動き情報を特定するステップと、
前記第１類の動き情報に基づいて、被制御モデルの前記肢体の動きを制御するステップと、を含み、
前記肢体は、上肢および／または下肢を含むことを特徴とする、画像処理方法。
【請求項２】
前記特徴に基づいて、前記肢体の第１類の動き情報を特定する前記ステップは、
前記画像における前記肢体のキーポイントの位置情報を検出するステップと、
前記位置情報に基づいて、前記第１類の動き情報を特定するステップと、を含むことを特徴とする、請求項１に記載の方法。
【請求項３】
前記画像における身体骨格のキーポイントの位置情報を検出するステップをさらに含み、
前記画像に基づいて、身体の肢体の特徴を取得する前記ステップは、
前記身体骨格のキーポイントの前記位置情報に基づいて、前記肢体のキーポイントの前記位置情報を特定するステップを含むことを特徴とする、請求項２に記載の方法。
【請求項４】
前記位置情報に基づいて、前記第１類の動き情報を特定する前記ステップは、
前記肢体のキーポイントの前記位置情報に基づいて、前記画像から前記肢体の第１の局部が含まれる位置枠を特定するステップと、
前記位置枠に基づいて、前記第１の局部のキーポイントの位置情報を検出するステップと、
前記第１の局部のキーポイントの前記位置情報に基づいて、前記第１の局部の第１類の動き情報を取得するステップと、を含むことを特徴とする、請求項３に記載の方法。
【請求項５】
前記肢体のキーポイントの前記位置情報に基づいて、前記画像から前記肢体の第１の局部が含まれる位置枠を特定する前記ステップは、
手部キーポイントの位置情報に基づいて、前記画像から手部が含まれる位置枠を特定するステップを含むことを特徴とする、請求項４に記載の方法。
【請求項６】
前記位置枠に基づいて、前記第１の局部のキーポイントの位置情報を検出する前記ステップは、
前記位置枠に基づいて、前記手部の指関節に対応するキーポイントの位置情報および／または手の指先に対応するキーポイントの位置情報を検出するステップを含むことを特徴とする、請求項５に記載の方法。
【請求項７】
前記第１の局部のキーポイントの前記位置情報に基づいて、前記第１の局部の第１類の動き情報を取得する前記ステップは、
前記第１の局部のキーポイントの前記位置情報に基づいて、手指の動き情報を取得するステップを含むことを特徴とする、請求項４から６のいずれか一項に記載の方法。
【請求項８】
前記特徴に基づいて、前記肢体の第１類の動き情報を特定する前記ステップは、
前記肢体のキーポイントの前記位置情報に基づいて、前記肢体の第２の局部の第１類の動き情報を特定するステップをさらに含むことを特徴とする、請求項３から７のいずれか一項に記載の方法。
【請求項９】
接続部により接続される前記肢体の２つの局部のキーポイントの位置情報に基づいて、前記接続部の第２類の動き情報を特定するステップをさらに含むことを特徴とする、請求項１から８のいずれか一項に記載の方法。
【請求項１０】
少なくとも２つの局部の特徴と前記接続部の第１の動き拘束条件とに基づいて、前記接続部の第２類の動き情報を特定するステップであって、前記少なくとも２つの局部は、前記接続部により接続される前記２つの局部を含むステップと、
前記第２類の動き情報に基づいて、前記被制御モデルの前記接続部の動きを制御するステップと、をさらに含むことを特徴とする、請求項９に記載の方法。
【請求項１１】
前記第２類の動き情報に基づいて、前記被制御モデルの前記接続部の動きを制御する前記ステップは、
前記接続部の種類に応じて、前記接続部を制御する制御方式を決定するステップと、
前記制御方式および前記第２類の動き情報に基づいて、前記被制御モデルの前記接続部の動きを制御するステップと、を含むことを特徴とする、請求項１０に記載の方法。
【請求項１２】
前記接続部の種類に応じて、前記接続部を制御する制御方式を決定する前記ステップは、
前記接続部が第１類の接続部である場合、前記制御方式を第１類の制御方式に決定するステップであって、前記第１類の制御方式は、前記被制御モデルにおける前記第１類の接続部に対応する接続部の動きを直接的に制御するために用いられるステップを含むことを特徴とする、請求項１１に記載の方法。
【請求項１３】
前記接続部の種類に応じて、前記接続部を制御する制御方式を決定する前記ステップは、
前記接続部が第２類の接続部である場合、前記制御方式を第２類の制御方式に決定するステップであって、前記第２類の制御方式は、前記被制御モデルにおける前記第２類の接続部に対応する接続部の動きを間接的に制御するために用いられ、当該間接的な制御は、前記被制御モデルにおける前記第２類の接続部以外の局部に対応する局部を制御することで実現されるステップを含むことを特徴とする、請求項１１に記載の方法。
【請求項１４】
前記制御方式および前記第２類の動き情報に基づいて、前記被制御モデルの前記接続部の動きを制御する前記ステップは、
前記制御方式が前記第２類の制御方式である場合、前記第２類の動き情報を分解し、牽引部が前記接続部を牽引して回転させる前記接続部の第１類の回転情報を得るステップと、
前記第１類の回転情報に基づいて、前記牽引部の動き情報を調整するステップと、
調整後の前記牽引部の動き情報を用いて、前記被制御モデルにおける牽引部の動きを制御して、前記接続部の動きを間接的に制御するステップと、を含むことを特徴とする、請求項１３に記載の方法。
【請求項１５】
前記第２類の動き情報を分解し、前記牽引部に対する前記第２類の接続部の回転に関する第２類の回転情報を得るステップと、
前記第２類の回転情報を用いて、前記牽引部に対する前記被制御モデルの前記接続部の回転を制御するステップと、を含むことを特徴とする、請求項１４に記載の方法。
【請求項１６】
前記第１類の接続部は、肘、膝を含み、
前記第２類の接続部は、手首、足首を含むことを特徴とする、請求項１３から１５のいずれか一項に記載の方法。
【請求項１７】
前記第２類の接続部が手首である場合、前記手首に対応する牽引部は、上腕および／または前腕を含み、
前記第２類の接続部が足首である場合、前記足首に対応する牽引部は、下腿および／または上腿を含むことを特徴とする、請求項１３から１６のいずれか一項に記載の方法。
【請求項１８】
前記画像に基づいて、身体の肢体の特徴を取得する前記ステップは、
２Ｄ画像に基づいて、前記肢体の第１の２Ｄ座標を取得するステップを含み、
前記特徴に基づいて、前記肢体の第１類の動き情報を特定する前記ステップは、
前記第１の２Ｄ座標および２Ｄ座標から３Ｄ座標への変換関係に基づいて、前記第１の２Ｄ座標に対応する第１の３Ｄ座標を取得するステップを含むことを特徴とする、請求項１から１７のいずれか一項に記載の方法。
【請求項１９】
前記画像に基づいて、身体の肢体の特徴を取得する前記ステップは、
３Ｄ画像に基づいて、前記肢体の骨格キーポイントの第２の３Ｄ座標を取得するステップを含み、
前記特徴に基づいて、前記肢体の第１類の動き情報を特定する前記ステップは、
前記第２の３Ｄ座標に基づいて、第３の３Ｄ座標を取得するステップを含むことを特徴とする、請求項１から１７のいずれか一項に記載の方法。
【請求項２０】
前記第２の３Ｄ座標に基づいて、第３の３Ｄ座標を取得する前記ステップは、
前記第２の３Ｄ座標に基づいて、前記肢体が前記３Ｄ画像において遮蔽されている部分に対応する骨格キーポイントの３Ｄ座標を調整することで、前記第３の３Ｄ座標を得るステップを含むことを特徴とする、請求項１９に記載の方法。
【請求項２１】
前記第１類の動き情報は、四元数を含むことを特徴とする、請求項１から２０のいずれか一項に記載の方法。
【請求項２２】
画像を取得するための第１の取得モジュールと、
前記画像に基づいて、身体の肢体の特徴を取得するための第２の取得モジュールと、
前記特徴に基づいて、前記肢体の第１類の動き情報を特定するための第１の特定モジュールと、
前記第１類の動き情報に基づいて、被制御モデルの前記肢体の動きを制御するための制御モジュールと、を含み、
前記肢体は、上肢および／または下肢を含むことを特徴とする、画像処理装置。
【請求項２３】
前記第１の特定モジュールは、具体的に、
前記画像における前記肢体のキーポイントの位置情報を検出し、
前記位置情報に基づいて、前記第１類の動き情報を特定するために用いられることを特徴とする、請求項２２に記載の装置。
【請求項２４】
前記画像における身体骨格のキーポイントの位置情報を検出するための検出モジュールをさらに含み、
前記第２の取得モジュールは、具体的に、
前記身体骨格のキーポイントの前記位置情報に基づいて、前記肢体のキーポイントの位置情報を特定するために用いられることを特徴とする、請求項２３に記載の装置。
【請求項２５】
前記第１の特定モジュールは、具体的に、
前記肢体のキーポイントの前記位置情報に基づいて、前記画像から前記肢体の第１の局部が含まれる位置枠を特定し、
前記位置枠に基づいて、前記第１の局部のキーポイントの位置情報を検出し、
前記第１の局部のキーポイントの前記位置情報に基づいて、前記第１の局部の第１類の動き情報を取得するために用いられることを特徴とする、請求項２４に記載の装置。
【請求項２６】
前記第１の特定モジュールは、具体的に、手部キーポイントの位置情報に基づいて、前記画像から手部が含まれる位置枠を特定するために用いられることを特徴とする、請求項２５に記載の装置。
【請求項２７】
前記第１の特定モジュールは、前記位置枠に基づいて、前記手部の指関節に対応するキーポイントの位置情報および／または手の指先に対応するキーポイントの位置情報を検出するためにも用いられることを特徴とする、請求項２６に記載の装置。
【請求項２８】
前記第１の特定モジュールは、前記第１の局部のキーポイントの前記位置情報に基づいて、手指の動き情報を取得するためにも用いられることを特徴とする、請求項２５から２７のいずれか一項に記載の装置。
【請求項２９】
前記第１の特定モジュールは、前記肢体のキーポイントの前記位置情報に基づいて、前記肢体の第２の局部の第１類の動き情報を特定するためにも用いられることを特徴とする、請求項２４から２８のいずれか一項に記載の装置。
【請求項３０】
接続部により接続される前記肢体の２つの局部のキーポイントの位置情報に基づいて、前記接続部の第２類の動き情報を特定するための第２の特定モジュールをさらに含むことを特徴とする、請求項２２から２９のいずれか一項に記載の装置。
【請求項３１】
前記少なくとも２つの局部の特徴と前記接続部の第１の動き拘束条件とに基づいて、前記少なくとも２つの局部を接続する接続部の第２類の動き情報を特定し、
前記第２類の動き情報に基づいて、前記被制御モデルの前記接続部の動きを制御するために用いられる接続部制御モジュールをさらに含むことを特徴とする、請求項３０に記載の装置。
【請求項３２】
前記接続部制御モジュールは、
前記接続部の種類に応じて、前記接続部を制御する制御方式を決定し、
前記制御方式および前記第２類の動き情報に基づいて、前記被制御モデルの前記接続部の動きを制御するためにも用いられることを特徴とする、請求項３１に記載の装置。
【請求項３３】
前記接続部制御モジュールは、前記接続部が第１類の接続部である場合、前記制御方式を第１類の制御方式に決定し、
前記第１類の制御方式は、前記被制御モデルにおける前記第１類の接続部に対応する接続部の動きを直接的に制御するために用いられることを特徴とする、請求項３１に記載の装置。
【請求項３４】
前記接続部制御モジュールは、前記接続部が第２類の接続部である場合、前記制御方式を第２類の制御方式に決定し、
前記第２類の制御方式は、前記被制御モデルにおける前記第２類の接続部に対応する接続部の動きを間接的に制御するために用いられ、当該間接的な制御は、前記被制御モデルにおける前記第２類の接続部以外の局部に対応する局部を制御することで実現されることを特徴とする、請求項３１に記載の装置。
【請求項３５】
前記接続部制御モジュールは、
前記制御方式が前記第２類の制御方式である場合、前記第２類の動き情報を分解し、牽引部が前記接続部を牽引して回転させる前記接続部の第１類の回転情報を得、
前記第１類の回転情報に基づいて、前記牽引部の動き情報を調整し、
調整後の前記牽引部の動き情報を用いて、前記被制御モデルにおける牽引部の動きを制御して、前記接続部の動きを間接的に制御するために用いられることを特徴とする、請求項３４に記載の装置。
【請求項３６】
前記接続部制御モジュールは、
前記第２類の動き情報を分解し、前記牽引部に対する前記第２類の接続部の回転に関する第２類の回転情報を得、
前記第２類の回転情報を用いて、前記牽引部に対する前記被制御モデルの前記接続部の回転を制御するために用いられることを特徴とする、請求項３５に記載の装置。
【請求項３７】
前記第１類の接続部は、肘、膝を含み、
前記第２類の接続部は、手首、足首を含むことを特徴とする、請求項３４から３６のいずれか一項に記載の装置。
【請求項３８】
前記第２類の接続部が手首である場合、前記手首に対応する牽引部は、上腕および／または前腕を含み、
前記第２類の接続部が足首である場合、前記足首に対応する牽引部は、下腿および／または上腿を含むことを特徴とする、請求項３４から３７のいずれか一項に記載の装置。
【請求項３９】
前記第２の取得モジュールは、具体的に、２Ｄ画像に基づいて、前記肢体の第１の２Ｄ座標を取得するために用いられ、
前記第１の特定モジュールは、前記第１の２Ｄ座標および２Ｄ座標から３Ｄ座標への変換関係に基づいて、前記第１の２Ｄ座標に対応する第１の３Ｄ座標を取得するために用いられることを特徴とする、請求項２２から３８のいずれか一項に記載の装置。
【請求項４０】
前記第２の取得モジュールは、具体的に、３Ｄ画像に基づいて、前記肢体の骨格キーポイントの第２の３Ｄ座標を取得するために用いられ、
前記第１の特定モジュールは、具体的に、前記第２の３Ｄ座標に基づいて、第３の３Ｄ座標を取得するために用いられることを特徴とする、請求項２２から３９のいずれか一項に記載の装置。
【請求項４１】
前記第１の特定モジュールは、具体的に、
前記第２の３Ｄ座標に基づいて、前記肢体が前記３Ｄ画像において遮蔽されている部分に対応する骨格キーポイントの３Ｄ座標を調整することで、前記第３の３Ｄ座標を得るために用いられることを特徴とする、請求項４０に記載の装置。
【請求項４２】
前記第１類の動き情報は、四元数を含むことを特徴とする、請求項２２から４１のいずれか一項に記載の装置。
【請求項４３】
メモリと、
前記メモリに接続されるプロセッサと、を備え、
前記プロセッサは、前記メモリ上のコンピュータ実行可能なコマンドを実行することで、上記請求項１から２１のいずれか一項により提供される方法を実現することを特徴とする、画像機器。
【請求項４４】
コンピュータ実行可能なコマンドが記憶されている不揮発性コンピュータ記憶媒体であって、
前記コンピュータ実行可能なコマンドがプロセッサによって実行されると、上記請求項１から２１のいずれか一項により提供される方法が実現されることを特徴とする、不揮発性コンピュータ記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、画像処理方法および装置、画像機器、ならびに記憶媒体に関する。
＜関連出願の相互参照＞
本特許出願は、２０１９年１月１８日に提出された、出願番号が２０１９１００４９８３０．６であり、発明の名称が「画像処理方法および装置、画像機器、ならびに記憶媒体」であり、および２０１９年４月３０に提出された、出願番号が２０１９１０３６５１８８．２であり、発明の名称が「画像処理方法および装置、画像機器、ならびに記憶媒体」である中国特許出願の優先権を主張し、当該開示の全てが参照によって本願に組み込まれる。
【背景技術】
【０００２】
情報技術の発展に伴って、ユーザはビデオ録画によってオンライン授業、ライブ配信、体感ゲーム等を行うことができるようになっている。体感ゲームの場合、ユーザが専用の体感デバイスを着用して自体の肢体等の動きを検出しなければ、ゲームキャラクタを制御することができない。また、オンライン授業やライブ配信を行う場合、ユーザの様相や肢体等が完全にネットワークに公開されているため、ユーザのプライバシー問題と情報セキュリティ問題の両方に関わる可能性がある。このようなプライバシーまたはセキュリティの問題を解決するために、モザイク等の方式で顔画像をぼかすことなどがあるが、これによりビデオ効果が影響されてしまう。
【発明の概要】
【０００３】
上記に鑑みて、本願の実施例は、画像処理方法および装置、画像機器、ならびに記憶媒体を提供することを目的とする。上記目的を達成するために、本願の技術的解決手段は以下のように実現される。
【０００４】
第１の態様によれば、本開示は、画像を取得するステップと、前記画像に基づいて、身体の肢体の特徴を取得するステップと、前記特徴に基づいて、前記肢体の第１類の動き情報を特定するステップと、前記第１類の動き情報に基づいて、被制御モデルの前記肢体の動きを制御するステップと、を含み、前記肢体は、上肢および／または下肢を含む画像処理方法を提供する。
【０００５】
上記解決手段によれば、前記特徴に基づいて、前記肢体の前記第１類の動き情報を特定する前記ステップは、前記画像における前記肢体のキーポイントの位置情報を検出するステップと、前記位置情報に基づいて、前記第１類の動き情報を特定するステップと、を含む。
【０００６】
上記解決手段によれば、前記方法は、前記画像における身体骨格のキーポイントの位置情報を検出するステップをさらに含み、前記画像に基づいて、身体の肢体の特徴を取得する前記ステップは、前記身体骨格のキーポイントの前記位置情報に基づいて、前記肢体のキーポイントの前記位置情報を特定するステップを含む。
【０００７】
上記解決手段によれば、前記位置情報に基づいて、前記第１類の動き情報を特定する前記ステップは、前記肢体のキーポイントの前記位置情報に基づいて、前記画像から前記肢体の第１の局部が含まれる位置枠を特定するステップと、前記位置枠に基づいて、前記第１の局部のキーポイントの位置情報を検出するステップと、前記第１の局部のキーポイントの前記位置情報に基づいて、前記第１の局部の第１類の動き情報を取得するステップと、を含む。
【０００８】
上記解決手段によれば、前記肢体のキーポイントの前記位置情報に基づいて、前記画像から前記肢体の第１の局部が含まれる位置枠を特定する前記ステップは、手部キーポイントの位置情報に基づいて、前記画像から手部が含まれる位置枠を特定するステップを含む。
【０００９】
上記解決手段によれば、前記位置枠に基づいて、前記第１の局部のキーポイントの位置情報を検出する前記ステップは、前記位置枠に基づいて、前記手部の指関節に対応するキーポイントの位置情報および／または手の指先に対応するキーポイントの位置情報を検出するステップを含む。
【００１０】
上記解決手段によれば、前記第１の局部のキーポイントの前記位置情報に基づいて、前記第１の局部の第１類の動き情報を取得する前記ステップは、前記第１の局部のキーポイントの前記位置情報に基づいて、手指の動き情報を取得するステップを含む。
【００１１】
上記解決手段によれば、前記特徴に基づいて、前記肢体の第１類の動き情報を特定する前記ステップは、前記肢体のキーポイントの前記位置情報に基づいて、前記肢体の第２の局部の第１類の動き情報を特定するステップをさらに含む。
【００１２】
上記解決手段によれば、前記方法は、接続部により接続される前記肢体の２つの局部のキーポイントの位置情報に基づいて、前記接続部の第２類の動き情報を特定するステップをさらに含む。
【００１３】
上記解決手段によれば、前記方法は、少なくとも２つの局部の特徴と前記接続部の第１の動き拘束条件とに基づいて、前記接続部の第２類の動き情報を特定するであって、前記少なくとも２つの局部は、前記接続部により接続される前記２つの局部を含むステップと、前記第２類の動き情報に基づいて、前記被制御モデルの前記接続部の動きを制御するステップと、をさらに含む。
【００１４】
上記解決手段によれば、前記第２類の動き情報に基づいて、前記被制御モデルの前記接続部の動きを制御する前記ステップは、前記接続部の種類に応じて、前記接続部を制御する制御方式を決定するステップと、前記制御方式および前記第２類の動き情報に基づいて、前記被制御モデルの前記接続部の動きを制御するステップと、を含む。
【００１５】
上記解決手段によれば、前記接続部の種類に応じて、前記接続部を制御する制御方式を決定する前記ステップは、前記接続部が第１類の接続部である場合、前記制御方式を第１類の制御方式に決定するステップであって、前記第１類の制御方式は、前記被制御モデルにおける前記第１類の接続部に対応する接続部の動きを直接的に制御するために用いられるステップを含む。
【００１６】
上記解決手段によれば、前記接続部の種類に応じて、前記接続部を制御する制御方式を決定する前記ステップは、前記接続部が第２類の接続部である場合、前記制御方式を第２類の制御方式に決定するステップであって、前記第２類の制御方式は、前記被制御モデルにおける前記第２類の接続部に対応する接続部の動きを間接的に制御するために用いられ、当該間接的な制御は、前記被制御モデルにおける前記第２類の接続部以外の局部に対応する局部を制御することで実現されるステップを含む。
【００１７】
上記解決手段によれば、前記制御方式および前記第２類の動き情報に基づいて、前記被制御モデルの前記接続部の動きを制御する前記ステップは、前記制御方式が前記第２類の制御方式である場合、前記第２類の動き情報を分解し、牽引部が前記接続部を牽引して回転させる前記接続部の第１類の回転情報を得るステップと、前記第１類の回転情報に基づいて、前記牽引部の動き情報を調整するステップと、調整後の前記牽引部の動き情報を用いて、前記被制御モデルにおける牽引部の動きを制御して、前記接続部の動きを間接的に制御するステップと、を含む。
【００１８】
上記解決手段によれば、前記方法は、前記第２類の動き情報を分解し、前記牽引部に対する前記第２類の接続部の回転に関する第２類の回転情報を得るステップと、前記第２類の回転情報を用いて、前記牽引部に対する前記被制御モデルの前記接続部の回転を制御するステップと、をさらに含む。
【００１９】
上記解決手段によれば、前記第１類の接続部は肘、膝を含み、前記第２類の接続部は手首、足首を含む。
【００２０】
上記解決手段によれば、前記第２類の接続部が手首である場合、前記手首に対応する牽引部は、上腕および／または前腕を含み、前記第２類の接続部が足首である場合、前記足首に対応する牽引部は、下腿および／または上腿を含む。
【００２１】
上記解決手段によれば、前記画像に基づいて、身体の肢体の特徴を取得する前記ステップは、２Ｄ画像に基づいて、前記肢体の第１の２Ｄ座標を取得するステップを含み、前記特徴に基づいて、前記肢体の第１類の動き情報を特定する前記ステップは、前記第１の２Ｄ座標および２Ｄ座標から３Ｄ座標への変換関係に基づいて、前記第１の２Ｄ座標に対応する第１の３Ｄ座標を取得するステップを含む。
【００２２】
上記解決手段によれば、前記画像に基づいて、身体の肢体の特徴を取得する前記ステップは、３Ｄ画像に基づいて、前記肢体の骨格キーポイントの第２の３Ｄ座標を取得するステップを含み、前記特徴に基づいて、前記肢体の第１類の動き情報を特定する前記ステップは、前記第２の３Ｄ座標に基づいて、第３の３Ｄ座標を取得するステップを含む。
【００２３】
上記解決手段によれば、前記第２の３Ｄ座標に基づいて、第３の３Ｄ座標を取得する前記ステップは、前記第２の３Ｄ座標に基づいて、前記肢体が前記３Ｄ画像において遮蔽されている部分に対応する骨格キーポイントの３Ｄ座標を調整することで、前記第３の３Ｄ座標を得るステップを含む。
【００２４】
上記解決手段によれば、前記第１類の動き情報は、四元数を含む。
【００２５】
第２の態様によれば、本開示は、画像を取得するための第１の取得モジュールと、前記画像に基づいて、身体の肢体の特徴を取得するための第２の取得モジュールと、前記特徴に基づいて、前記肢体の第１類の動き情報を特定するための第１の特定モジュールと、前記第１類の動き情報に基づいて、被制御モデルの前記肢体の動きを制御するための制御モジュールと、を含み、前記肢体は、上肢および／または下肢を含む画像処理装置を提供する。
【００２６】
第３の態様によれば、本開示は、メモリと、記メモリに接続されるプロセッサと、を備え、前記プロセッサは、前記メモリ上のコンピュータ実行可能なコマンドを実行することで、上記いずれかの技術的解決手段により提供される画像処理方法を実現する画像機器を提供する。
【００２７】
第４の態様によれば、本開示は、コンピュータ実行可能なコマンドが記憶されている不揮発性コンピュータ記憶媒体であって、前記コンピュータ実行可能なコマンドがプロセッサによって実行されると、上記いずれかの技術的解決手段により提供される画像処理方法が実現される不揮発性コンピュータ記憶媒体を提供する。
【００２８】
本願の実施例が提供する画像処理方法は、画像を収集することで、対象の肢体の動作を収集し、被制御モデルの肢体の動作を制御することができる。このように、被制御モデルの肢体動作に対する制御により、収集対象、例えばユーザの動きの、被制御モデルによるシミュレーションを実現し、さらにビデオ授業、ビデオ講演、ライブ配信またはゲーム制御等を実現するとともに、収集対象の画像の代わりに被制御モデルを用いることで、収集対象を秘匿し、それによりユーザのプライバシーを保護し、情報セキュリティを高めることができる。
【図面の簡単な説明】
【００２９】
【図１】本開示の実施例が提供する第１の画像処理方法のフローチャートである。
【図２】本開示の実施例が提供する第１の局部の第１類の動き情報を検出するためのフローチャートである。
【図３】本開示の実施例が提供する手部のキーポイントの模式図である。
【図４】本開示の実施例が提供する第２の画像処理方法のフローチャートである。
【図５Ａ−５Ｃ】本開示の実施例が提供する被制御モデルが収集対象ユーザの手部動きの変化をシミュレートすることを示す模式図である。
【図６Ａ−６Ｃ】本開示の実施例が提供する被制御モデルが収集対象ユーザの胴体動きの変化をシミュレートすることを示す模式図である。
【図７】本開示の実施例が提供する画像処理装置の構成模式図である。
【図８Ａ】本開示の実施例が提供するキーポイントの模式図である。
【図８Ｂ】本開示の実施例が提供するキーポイントの別の模式図である。
【図８Ｃ】本開示の実施例が提供する節点間階層関係の模式図である。
【図９】本開示の実施例により構築される局部座標系の模式図である。
【図１０】本開示の実施例が提供する画像機器の構成模式図である。
【発明を実施するための形態】
【００３０】
以下、明細書の図面および具体的な実施例と関連付けて、本願の技術的解決手段をさらに詳細に説明する。
【００３１】
図１に示すように、本実施例は、画像処理方法を提供し、以下のＳ１１０〜Ｓ１４０を含んでもよい。
ステップＳ１１０では、画像を取得する。
ステップＳ１２０では、前記画像に基づいて、身体の肢体の特徴を取得する。前記肢体は、上肢および／または下肢を含む。
ステップＳ１３０では、前記特徴に基づいて、前記肢体の第１類の動き情報を特定する。
ステップＳ１４０では、前記第１類の動き情報に基づいて、被制御モデルの肢体の動きを制御する。
【００３２】
本実施例が提供する画像処理方法では、画像処理によって被制御モデルの動きが駆動されることができる。
【００３３】
本実施例が提供する画像処理方法は、画像機器に適用してもよく、該画像機器は、画像処理を行う、例えば画像収集、画像表示および画像のピクセル再編成を行うことができる様々な電子機器である。この画像機器は様々な端末機器、例えばモバイル端末および／または固定端末を含むが、これらに限定されず、また画像サービスを提供できる様々なサーバを含んでもよい。前記モバイル端末は、ユーザが携帯しやすい携帯電話やタブレットコンピュータ等のポータブルデバイスを含み、またユーザが着用しているデバイス、例えばスマートバンド、スマートウォッチやスマートメガネ等を含んでもよい。前記固定端末は、固定されているデスクトップ型パソコン等を含む。
【００３４】
本実施例では、ステップＳ１１０において取得された画像は、２Ｄ（２次元）画像であっても、３Ｄ（３次元）画像であってもよい。前記２Ｄ画像は、単眼または複眼カメラにより収集される画像、例えば赤緑青（ＲＧＢ）画像等を含んでもよい。画像を取得する方式は、画像機器自体のカメラを利用して画像を収集する、外部機器から画像を受信する、ローカルデータベースまたはローカルメモリから画像を読み取るという方式のいずれか１つを含んでもよい。
【００３５】
３Ｄ画像は、２Ｄ画像から２Ｄ座標を検出してから、２Ｄ座標から３Ｄ座標への変換アルゴリズムによって得られた３Ｄ画像であってもよいし、３Ｄカメラにより収集された画像であってもよい。
【００３６】
ステップＳ１１０において取得された画像は、単一フレームの画像であっても、複数フレームの画像であってもよい。例えば、取得された画像が単一フレームの画像である場合、後に得られる動き情報は、初期座標系（カメラ座標系とも呼ばれる）における対応する肢体に対する、現在画像における肢体の動きを反映できる。また例えば、複数フレームの画像が取得された場合、後に得られる動き情報は、前の数フレームの画像における対応する肢体に対する、現在画像における肢体の動きを反映でき、または、後に得られる動き情報は、カメラ座標系における対応する肢体に対する、現在画像における肢体の動きも反映できる。本願は、取得する画像の数を制限しない。
【００３７】
身体の肢体は、上肢および／または下肢を含んでもよい。ステップＳ１２０では、例えば上肢および／または下肢の特徴を検出することができ、ステップＳ１３０では、前記特徴に基づく第１類の動き情報を得て、少なくとも肢体の動きの変化を表す。本実施例では、ニューラルネットワーク等のディープラーニングモデルを用いて画像の特徴を検出することができる。
【００３８】
被制御モデルは、対象に対応するモデルであってもよい。例えば、人を対象とする場合、被制御モデルは身体モデルである。動物を対象とする場合、被制御モデルは、対応する動物の身体モデルであってもよい。本実施例では、被制御モデルは、対象が属するカテゴリに応じたモデルであり、このモデルは予め決定されてもよい。例えば、被制御モデルの風格はユーザコマンドに基づいて決定してもよく、リアル風、アニメーション風、インフルエンサー風、文芸風、ロック風、ゲーム風等を含んでもよい。ゲーム風の場合、被制御モデルは、ゲームキャラクタであってもよい。
【００３９】
本実施例では、上記ステップＳ１１０〜ステップＳ１４０を実行することで、ユーザの肢体動作を被制御モデルに直接遷移することができる。このように、カメラの画像収集により、ユーザが体感デバイスを着用することなく、制御対象の肢体動きに対する制御を簡便に実現することができる。
【００４０】
例えば、ユーザがネットワークによるライブ配信または講演を行うとき、自分の真の画像を使いたくないが、被制御モデルが自分の肢体動きをシミュレートし、それによりネットワークによるライブ配信の効果や講演の影響力を高めることを希望している場合、上記方法を採用することにより、ユーザプライバシーを保証できるとともに、ユーザが所望する効果を確保することもできる。
【００４１】
いくつかの実施例では、前記ステップＳ１３０は、前記画像における肢体のキーポイントの位置情報を検出するステップと、前記位置情報に基づいて、前記第１類の動き情報を特定するステップと、を含んでもよい。
【００４２】
該肢体のキーポイントの位置情報は、骨格キーポイントの位置情報および／または輪郭キーポイントの位置情報を含むが、これらに限定されない。骨格キーポイントの情報は、骨格のキーポイントの情報であり、輪郭キーポイントの位置情報は、肢体の外表面のキーポイントの位置情報である。
【００４３】
前記位置情報は座標を含んでもよい。基準姿勢に対する異なる姿勢の身体の座標が変わるため、座標に基づいて前記第１類の動き情報を特定することができる。
【００４４】
本実施例では、キーポイントの位置情報を検出することで、前記第１類の動き情報を簡単且つ迅速に特定することができる。この第１類の動き情報は、そのまま被制御モデルの動きを駆動するための動きパラメータとして使用できる。
【００４５】
いくつかの実施例では、前記方法は、前記画像における身体骨格のキーポイントの位置情報を検出するステップをさらに含む。前記画像における肢体のキーポイントの位置情報を検出するステップは、前記身体骨格のキーポイントの位置情報に基づいて、前記肢体のキーポイントの位置情報を特定するステップを含む。
【００４６】
本実施例では、まずニューラルネットワーク等のディープラーニングモデルによって身体骨格の全身キーポイントの位置情報を取得し、それにより全身キーポイントの位置情報間の分布に基づいて、肢体のキーポイントの位置情報を特定することができる。全身キーポイントの位置情報を得た後、これらのキーポイントを接続して骨格を得、骨格内の各骨頭と関節の相対的な分布位置に基づいて、どのキーポイントが肢体のキーポイントであるかを特定することができ、それにより肢体キーポイントの位置情報が特定される。
【００４７】
さらに他の実施例では、人体認識等によって、まず肢体のある位置を認識し、肢体のある位置のみに対してキーポイントの位置情報の抽出を行う。
【００４８】
いくつかの実施例では、前記ステップＳ１３０は、図２に示すように、Ｓ１３１〜Ｓ１３３を含んでもよい。
ステップＳ１３１では、前記肢体のキーポイントの位置情報に基づいて、前記画像から肢体が含まれる第１の局部の位置枠を特定する。
ステップＳ１３２では、前記位置枠に基づいて、前記第１の局部のキーポイントの位置情報を検出する。
ステップＳ１３３では、前記第１の局部のキーポイントの位置情報に基づいて、前記第１の局部の第１類の動き情報を取得する。
【００４９】
本実施例では、肢体の動きを正確に模倣するために、肢体の動きをさらに細分化してもよい。肢体が上肢である場合、上肢の動きは上腕の動き、下腕（前腕ともいう）の動きだけでなく、動作幅がより小さい手指の動きも含む。
【００５０】
本実施例では、第１の局部は手部または脚部であり得る。得られた位置枠に基づいて、画像から第１の局部が含まれる画像領域を枠で囲むことができる。この画像領域について、キーポイントのさらなる位置情報を取得する。
【００５１】
例えば、手部から指関節に対応するキーポイントの位置情報を抽出する。手部の姿勢または手指の状態が異なると、指関節の位置および方向が異なり、これらはいずれも指関節のキーポイントを介して表現できる。
【００５２】
いくつかの実施例では、前記ステップＳ１３１は、手部キーポイントの位置情報に基づいて、前記画像から手部が含まれる位置枠を特定するステップを含んでもよい。該位置枠は矩形枠または非矩形の枠であってもなくてもよい。
【００５３】
例えば、第１の局部が手部である場合、該位置枠は、手部形状に合わせた手型枠であってもよい。手部の外郭キーポイントを検出することで、前記手型位置枠を生成することができる。また例えば、手部の骨格キーポイントを検出し、全ての骨格キーポイントが含まれる矩形の外接枠を得る。この外接枠は規則的な矩形枠である。
【００５４】
さらに、前記ステップＳ１３２は、前記位置枠に基づいて、前記手部の指関節に対応するキーポイントの位置情報および／または手の指先に対応するキーポイントの位置情報を検出するステップを含んでもよい。
【００５５】
図３は手部のキーポイントの模式図を示す。図３には手部の２０つのキーポイントが示され、それぞれ５つの手指の指関節のキーポイントおよび指先のキーポイントである。これらのキーポイントは、それぞれ図３中のキーポイントＰ１〜Ｐ２０である。
【００５６】
指関節のキーポイントの位置情報を特定することで、被制御モデルの各指関節の動きを制御することが可能となり、指先のキーポイントの位置情報を特定することで、被制御モデルの指先の動きを制御することが可能となり、これにより肢体遷移プロセスにおけるより精細な制御が可能となる。
【００５７】
いくつかの実施例では、前記ステップＳ１３０は、前記位置情報に基づいて、前記手指の動き情報を取得するステップを含んでもよい。
【００５８】
いくつかの実施例では、前記特徴に基づいて、前記肢体の第１類の動き情報を特定するステップは、前記肢体のキーポイントの位置情報に基づいて、前記肢体の第２の局部の第１類の動き情報を特定するステップをさらに含む。
【００５９】
ここの第２の局部は、肢体の第１の局部以外の局部である。例えば、上肢を例にすると、第１の局部が手部である場合、第２の局部は下腕、および肘から肩関節の間の上腕等を含んでもよい。そのまま肢体のキーポイント位置情報に基づいて、第２の局部の第１類の動き情報を取得することができる。
【００６０】
従って、本実施例では、肢体の異なる局部の特性に応じて、異なる方式で異なる局部の各々の第１類の動き情報を取得し、被制御モデルにおける肢体の異なる局部に対する正確な制御を実現する。
【００６１】
いくつかの実施例では、前記方法は、接続部により接続される前記肢体の２つの局部のキーポイントの位置情報に基づいて、前記接続部の第２類の動き情報を特定するステップをさらに含む。
【００６２】
いくつかの実施例では、図４に示すように、前記ステップＳ１４０は図１を基に、さらにＳ１４１〜Ｓ１４２を含んでもよい。
ステップＳ１４１では、少なくとも２つの局部の特徴と接続部の第１の動き拘束条件とに基づいて、前記接続部の第２類の動き情報を特定する。前記少なくとも２つの局部は、前記接続部により接続される前記２つの局部を含む。
ステップＳ１４２では、前記第２類の動き情報に基づいて、前記被制御モデルの接続部の動きを制御する。
【００６３】
この接続部は、他の２つの局部を接続することができる。例えば、人を例にすると、頸部、手首、足首や腰は、いずれも２つの局部を接続する接続部である。人の上肢を例にすると、接続部は、手部と下腕を接続する手首、上腕と下腕を接続する肘等を含んでもよい。下肢を例にすると、接続部は、脚部と下腿を接続する足首、下腿と上腿を接続する膝を含んでもよい。
【００６４】
これらの接続部の動き情報（すなわち、前記第２類の動き情報）は、直接検出しにくいかまたはその隣接する他の局部にある程度依存するため、それが接続する他の局部によって前記第２類の動き情報を特定することができる。
【００６５】
本実施例では、前記Ｓ１４２は、接続部の種類に応じて、制御方式を決定するステップと、該制御方式に基づいて、被制御モデルの対応する接続部の動きを制御するステップと、をさらに含む。
【００６６】
例えば、上腕から手部への延伸方向を軸として回転するような手首の側方回転は、上腕の回転によるものである。また例えば、下腿の延伸方向を軸として回転するような足首の側方回転についても同様に、足首の回転は直接下腿によるものである。
【００６７】
さらなる実施例において、前記接続部の種類に応じて、前記接続部を制御する制御方式を決定するステップは、前記接続部が第１類の接続部である場合、前記制御方式を第１類の制御方式に決定するステップであって、前記第１類の制御方式は、前記被制御モデルにおける前記第１類の接続部に対応する接続部の動きを直接的に制御するために用いられるステップを含む。
【００６８】
本実施例では、前記第１類の接続部は、その自身が回転し、他の局部の牽引によるものではない。
【００６９】
第２類の接続部は、前記接続部のうちの、前記第１類の接続部以外の接続部であり、前記第２類の接続部の回転は、他の局部の牽引による回転を含む。
【００７０】
いくつかの実施例では、前記接続部の種類に応じて、前記接続部を制御する制御方式を決定するステップは、前記接続部が第２類の接続部である場合、前記制御方式を第２類の制御方式に決定するステップであって、前記第２類の制御方式は、前記被制御モデルにおける前記第２類の接続部に対応する接続部の動きを間接的に制御するために用いられ、当該間接的な制御は、前記被制御モデルにおける前記第２類の接続部以外の局部に対応する局部を制御することで実現されるステップを含む。
【００７１】
該第２類の接続部以外の局部は、前記第２類の接続部に直接接続される局部、または前記第２類の接続部に間接的に接続される局部を含むが、これらに限定されない。例えば、手首が側方に回転する時、上肢全体が動いている可能性があり、この場合、肩部と肘部は、両方とも回転しており、よって、肩部および／または肘部の側方回転を制御することで前記手首の回転を間接的に制御することができる。
【００７２】
いくつかの実施例では、前記制御方式および前記第２類の動き情報に基づいて、被制御モデルの接続部の動きを制御するステップは、前記制御方式が前記第２類の制御方式である場合、前記第２類の動き情報を分解し、牽引部が前記接続部を牽引して回転させる前記接続部の第１類の回転情報を得るステップと、前記第１類の回転情報に基づいて、前記牽引部の動き情報を調整するステップと、調整後の前記牽引部の動き情報を用いて、前記被制御モデルにおける牽引部の動きを制御して、前記接続部の動きを間接的に制御するステップと、を含む。
【００７３】
本実施例では、第１類の回転情報は、第２類の接続部自体の動きで生じる回転情報ではなく、第２類の接続部に接続される他の局部（すなわち、牽引部）の動きにより第２類の接続部が牽引されることで生じる、対象の所定の基準点（例えば、人体中心）に対する第２類の接続部の動き情報である。
【００７４】
本実施例では、前記牽引部は、前記第２類の接続部に直接接続される局部である。手首が前記第２類の接続部であることを例にすると、前記牽引部は、前記手首の上の前腕から肩部までであり得る。足首が前記第２類の接続部であることを例にすると、前記牽引部は、前記足首の上の下腿から上腿根元部までであり得る。
【００７５】
例えば、肩部、肘から手首への直線方向に沿った手首の側方回転は、肩部または肘による回転であり得るが、動き情報の検出時、それは手首の動きによるものとされ、そこで、手首の側方回転情報は、実質的に肘または肩部に割り当てるべきであり、このような転送割り当てにより肘または肩部の動き情報に対する調整が実現され、調整後の動き情報により被制御モデルにおける肘または肩部の動きが制御される。このように、画像での効果からみると、肘または肩部に対応する側方回転は、被制御モデルの手首により表現されるようになり、これにより、被制御モデルによる対象動きの正確なシミュレーションが実現される。
【００７６】
いくつかの実施例では、前記方法は、前記第２類の動き情報を分解し、前記牽引部に対する前記第２類の接続部の回転に関する第２類の回転情報を得るステップと、前記第２類の回転情報を用いて、前記牽引部に対する前記被制御モデルの前記接続部の回転を制御するステップと、をさらに含む。
【００７７】
本実施例では、まず第２類の接続部の特徴、例えば、２Ｄ座標または３Ｄ座標から所定姿勢に対する第２類の接続部の動き情報を知ることができ、この動き情報は第２類の動き情報と称する。前記第２類の動き情報は回転情報を含むが、これに限定されない。
【００７８】
前記第１類の回転情報は、回転情報を抽出する情報モデルが直接画像の特徴に基づいて取得した情報であってもよく、一方、第２類の回転情報は、前記第１類の回転情報を調整することで得られた回転情報である。いくつかの実施例では、前記第１類の接続部は肘、膝を含む。前記第２類の接続部は手首、足首を含む。
【００７９】
さらなる実施例において、前記第２類の接続部が手首である場合、前記手首に対応する牽引部は、上腕および／または前腕を含む。前記第２類の接続部が足首である場合、前記足首に対応する牽引部は、下腿および／または上腿を含む。
【００８０】
いくつかの実施例では、前記第１類の接続部は、頭部と胴体を接続する頸部を含む。
【００８１】
さらに他の実施例では、前記少なくとも２つの局部の特徴、および前記接続部の第１の動き拘束条件に基づいて、接続部の第２類の動き情報を特定するステップは、前記少なくとも２つの局部の特徴に基づいて、前記少なくとも２つの局部の向き情報を特定するステップと、少なくとも２つの局部の向き情報に基づいて、前記接続部の候補向き情報を特定するステップと、前記候補向き情報および前記第１の動き拘束条件に基づいて、前記接続部の第２類の動き情報を特定するステップと、を含む。
【００８２】
いくつかの実施例では、少なくとも２つの局部の向き情報に基づいて、前記接続部の候補向き情報を特定するステップは、少なくとも２つの局部の向き情報に基づいて、前記接続部の第１の候補向きと第２の候補向きを特定するステップを含む。
【００８３】
２つの局部の向き情報の間には２つの夾角が形成され得る。本実施例では、前記第１の動き拘束条件を満たす夾角を前記第２類の動き情報とする。
【００８４】
例えば、顔の向きと胴体の向きの間には２つの夾角が形成され、この２つの夾角の和は１８０度となる。この２つの夾角はそれぞれ第１の夾角および第２の夾角であると仮定する。また、顔と胴体を接続する頸部の第１の動き拘束条件を−９０度から９０度とすると、第１の動き拘束条件に従って９０度超の角度は除外される。このように、被制御モデルによる対象の動きのシミュレーション中に、回転角度が時計回りまたは反時計回りに９０度超、例えば１２０度、１８０度となるような異常を低減することができる。
【００８５】
例えば、頸部を例にすると、顔が右向きとなる場合、対応する頸部の向きは、右９０度向きまたは左２７０度向きであり得るが、人体の生理的構成によれば、左に２７０度回転することで人体の頸部を右向きにすることが不可能なはずである。このとき、頸部の向きとして、右９０度向きおよび左２７０度向きは、いずれも候補向き情報であるが、前述した第１の動き拘束条件に基づいて、頸部の向き情報をさらに特定する必要がある。本実施例では、頸部の右９０度向きは、頸部の目標向き情報であり、また、頸部が右９０度に向いていることから、頸部現在の第２類の動き情報が右９０度回転であることが分かる。
【００８６】
いくつかの実施例では、前記候補向き情報および前記第１の動き拘束条件に基づいて、前記接続部の第２類の動き情報を特定するステップは、前記第１の候補向き情報および第２の候補向き情報から、向き変化拘束範囲内の目標向き情報を選び出すステップと、前記目標向き情報に基づいて、前記第２類の動き情報を特定するステップと、を含む。
ここの目標向き情報は、前記第１の動き拘束条件を満たす情報である。
【００８７】
いくつかの実施例では、前記少なくとも２つの局部の特徴に基づいて、前記少なくとも２つの局部の向き情報を特定するステップは、前記少なくとも２つの局部の各々の第１のキーポイントおよび第２のキーポイントを取得するステップと、前記少なくとも２つの局部の各々の第１の基準点を取得するステップであって、前記第１の基準点は前記対象内の所定キーポイントであるステップと、前記第１のキーポイントおよび前記第１の基準点に基づいて第１のベクトルを生成し、前記第２のキーポイントおよび前記第１の基準点に基づいて第２のベクトルを生成するステップと、前記第１のベクトルおよび前記第２のベクトルに基づいて、前記少なくとも２つの局部の各々の向き情報を特定するステップと、を含む。
【００８８】
前記２つの局部のうちの第１の局部が人体の肩部である場合、前記第１の局部の第１の基準点は、前記対象の腰部キーポイントまたは両股キーポイントの中点となり得る。前記２つの局部のうちの第２の局部が顔である場合、前記第２の局部の第１の基準点は、顔に接続される頸部と肩部の接続点となり得る。
【００８９】
いくつかの実施例では、前記２つのベクトルに基づいて、前記少なくとも２つの局部の各々の向き情報を特定するステップは、１つの局部の前記第１のベクトルと前記第２のベクトルに対してクロス積を行い、該局部が位置する平面の法線ベクトルを得るステップと、前記法線ベクトルを、該局部の向き情報とするステップと、を含む。
この法線ベクトルが特定された場合、該局部が位置する平面の向きも特定される。
【００９０】
いくつかの実施例では、前記少なくとも２つの局部の動き情報に基づいて、前記接続部の前記動き情報を特定するステップは、第２の基準点に対する前記接続部の第３の３Ｄ座標を取得するステップと、前記第３の３Ｄ座標に基づいて、前記接続部の絶対回転情報を取得するステップとを含み、前記接続部の前記動き情報に基づいて、前記被制御モデルの接続部の動きを制御するステップは、前記絶対回転情報に基づいて、前記被制御モデルの接続部の動きを制御するステップを含む。
【００９１】
いくつかの実施例では、前記第２の基準点は、対象の局部のキーポイントのうちの１つであってもよい。対象が人であることを例にすると、この第２の基準点は、前記第１類の接続部に接続される局部のキーポイントであってもよい。例えば、頸部を例にすると、第２の基準点は、頸部に接続される肩部のキーポイントであってもよい。
【００９２】
さらなる実施例において、前記第２の基準点は、前記第１の基準点と同じであってもよく、例えば、第１の基準点および第２の基準点は、いずれも人体の根節点であってもよく、人体の根節点は、人体股部の２つのキーポイントの連結線の中点となり得る。この根節点は、図８Ａに示されるキーポイント０を含むが、それに限定されない。図８Ａは、人体の骨格模式図であり、図８Ａには、番号０〜１６の合計１７つの骨格関節点が含まれる。
【００９３】
さらなる実施例において、前記絶対回転情報に基づいて、前記被制御モデルの接続部の動きを制御するステップは、前記対象における複数の前記接続部間の牽引の階層関係に基づいて、前記絶対回転情報を分解し、相対回転情報を得るステップと、前記相対回転情報に基づいて、前記被制御モデルの接続部の動きを制御するステップと、をさらに含む。
【００９４】
いくつかの実施例では、前記絶対回転情報に基づいて、前記被制御モデルの接続部の動きを制御するステップは、第２の拘束条件に基づいて、前記相対回転情報を補正するステップをさらに含み、前記相対回転情報に基づいて、前記被制御モデルの接続部の動きを制御するステップは、補正後の前記相対回転情報に基づいて、前記被制御モデルの接続部の動きを制御するステップを含む。
【００９５】
いくつかの実施例では、前記第２の動き拘束条件は、前記接続部の回転可能角度を含む。
【００９６】
いくつかの実施例では、前記方法は、前記第２類の動き情報に対して姿勢異常の補正を行い、補正後の第２類の動き情報を得るステップをさらに含み、前記第２類の動き情報に基づいて、前記被制御モデルの接続部の動きを制御するステップは、前記補正後の第２類の動き情報を用いて、前記被制御モデルの接続部の動きを制御するステップを含む。
【００９７】
例えば、一部のユーザには、体型が標準的でなく、ぎこちない歩き方等の問題が存在し得る。被制御モデルがそのまま模倣して奇矯な動作を作成することを回避するために、本実施例では、第２類の動き情報に対して姿勢異常の補正を行い、補正後の第２類の動き情報を得ることができる。
【００９８】
図５Ａ、図５Ｂおよび図５Ｃに示すように、画像の左上隅の小画像は収集された画像であり、右下隅は人体の被制御モデルである。図５Ａから図５Ｂ、さらに図５Ｂから図５Ｃのように、このユーザの手部が動いており、被制御モデルの手もそれにつれて動いている。図５Ａ〜図５Ｃにおいて、ユーザの手部動きは順に拳を握る動作から、手を広げる動作、さらには人差し指を伸ばす動作に変化し、被制御モデルはユーザのジェスチャを模倣して、拳を握る動作から、手を広げる動作、さらには人差し指を伸ばす動作に変化する。
【００９９】
図６Ａ、図６Ｂおよび図６Ｃに示すように、画像左上隅の小画像は収集された画像であり、右下隅は人体の被制御モデルである。図６Ａ〜図６Ｃにおいて、ユーザは画像の右側へ足を踏み出し、次に画像の左側へ足を踏み出し、最後にまっすぐに立つ。被制御モデルもユーザを模倣して脚部を動かす。
【０１００】
いくつかの実施例では、前記ステップＳ１２０は、２Ｄ画像に基づいて、前記肢体の第１の２Ｄ座標を取得するステップを含んでもよく、前記ステップＳ１３０は、前記第１の２Ｄ座標および２Ｄ座標から３Ｄ座標への変換関係に基づいて、前記第１の２Ｄ座標に対応する第１の３Ｄ座標を取得するステップを含んでもよい。
【０１０１】
２Ｄ座標は平面座標系内の座標であり、３Ｄ座標は３Ｄ座標系内の座標である。２Ｄ座標は、平面内におけるキーポイントの座標を表し、３Ｄ座標は立体空間内の座標を表す。
【０１０２】
上記変換関係は、予め設定された様々な変換関数であってもよく、例えば、画像収集モジュールのある位置を仮想の視点とし、収集対象と画像収集モジュールとの間の距離が所定距離となるときの対応する仮想の３Ｄ空間を設定し、２Ｄ座標を該３Ｄ空間内に投影すれば、前記第１の２Ｄ座標に対応する第１の３Ｄ座標を得ることができる。
【０１０３】
さらなる実施例において、前記ステップＳ１２０は、３Ｄ画像に基づいて、前記肢体の骨格キーポイントの第２の３Ｄ座標を取得するステップを含んでもよく、前記ステップＳ１３０は、前記第２の３Ｄ座標に基づいて、第３の３Ｄ座標を取得するステップを含んでもよい。
【０１０４】
例えば、ステップＳ１１０において直接取得された３Ｄ画像は、２Ｄ画像および２Ｄ画像に対応する奥行き画像を含む。２Ｄ画像はｘｏｙ平面内における骨格キーポイントの座標値を提供でき、奥行き画像内の奥行き値は、ｚ軸における骨格キーポイントの座標を提供できる。ｚ軸はｘｏｙ平面内に垂直である。
【０１０５】
前記第２の３Ｄ座標に基づいて、肢体の前記３Ｄ画像において遮蔽されている部分に対応する骨格キーポイントの３Ｄ座標を調整することで、前記第３の３Ｄ座標を得る。
【０１０６】
さらに、前記第２の３Ｄ座標に基づいて、第３の３Ｄ座標を取得するステップは、前記第２の３Ｄ座標に基づいて、肢体の前記３Ｄ画像において遮蔽されている部分に対応する骨格キーポイントの３Ｄ座標を調整することで、前記第３の３Ｄ座標を得るステップを含む。
【０１０７】
例えば、ユーザの側面が画像収集モジュールに向かう場合、奥行き画像における両脚の膝位置の奥行き値は同じであり、このとき、画像収集モジュールにより近い膝は、画像収集モジュールから比較的遠い膝を遮蔽する。このような遮蔽による奥行き画像における３Ｄ座標抽出の不正確さという問題を低減するために、ディープラーニングモデルまたは機械学習モデル等を用いて骨格キーポイントの３Ｄ座標を調整することで、第１類の動き情報をより正確に表す３Ｄ座標を得ることができる。
【０１０８】
いくつかの実施例では、前記第１類の動き情報は、四元数を含む。
【０１０９】
四元数を用いると、第２類の局部の空間位置および／または各方向における回転を正確に表すことができる。この第１類の動き情報は四元数で表されるほか、オイラー座標やラグランジュ座標等のような座標で表されてもよい。
【０１１０】
図７に示すように、本実施例は、画像を取得するための第１の取得モジュール１１０と、前記画像に基づいて、身体の肢体の特徴を取得するための第２の取得モジュール１２０と、前記特徴に基づいて、前記肢体の第１類の動き情報を特定するための第１の特定モジュール１３０と、前記第１類の動き情報に基づいて、被制御モデルの肢体の動きを制御するための制御モジュール１４０と、を含む画像処理装置を提供する。前記肢体は、上肢および／または下肢を含む。
【０１１１】
いくつかの実施例では、前記第１の取得モジュール１１０、第２の取得モジュール１２０、第１の特定モジュール１３０および制御モジュール１４０は、プロセッサに実行されると、画像の取得、肢体特徴の特定、第１類の動き情報の特定および被制御モデルの動きの制御を実現できるプログラムモジュールであってもよい。
【０１１２】
さらなる実施例において、前記第１の取得モジュール１１０、第２の取得モジュール１２０、第１の特定モジュール１３０および制御モジュール１４０は、ソフトウェアとハードウェアの組み合わせモジュールであってもよく、当該組み合わせモジュールは、様々なプログラマブルアレイを含んでもよく、前記プログラマブルアレイはフィールドプログラマブルアレイや複雑なプログラマブルアレイを含むが、これらに限定されない。
【０１１３】
さらに他の実施例では、前記第１の取得モジュール１１０、第２の取得モジュール１２０、第１の特定モジュール１３０および制御モジュール１４０は、純粋なハードウェアモジュールであってもよく、前記純粋なハードウェアモジュールは、特定用途向け集積回路を含むが、これに限定されない。
【０１１４】
いくつかの実施例では、前記第１の特定モジュール１３０は、具体的には、前記画像における肢体のキーポイントの位置情報を検出し、前記位置情報に基づいて、前記第１類の動き情報を特定するために用いられる。
【０１１５】
いくつかの実施例では、前記装置は、前記画像における身体骨格のキーポイントの位置情報を検出するための検出モジュールをさらに含み、前記第２の取得モジュール１２０は、具体的には、前記身体骨格のキーポイントの位置情報に基づいて、前記肢体のキーポイントの位置情報を特定するために用いられる。
【０１１６】
いくつかの実施例では、前記第１の特定モジュール１３０は、具体的には、前記肢体のキーポイントの位置情報に基づいて、前記画像から肢体が含まれる第１の局部の位置枠を特定し、前記位置枠に基づいて、前記第１の局部のキーポイントの位置情報を検出し、前記第１の局部のキーポイントの前記位置情報に基づいて、前記第１の局部の第１類の動き情報を取得するために用いられる。
【０１１７】
いくつかの実施例では、前記第１の特定モジュール１３０は、具体的には、手部キーポイントの位置情報に基づいて、前記画像から手部が含まれる位置枠を特定するために用いられる。
【０１１８】
いくつかの実施例では、前記第１の特定モジュール１３０は、前記位置枠に基づいて、前記手部の指関節に対応するキーポイントの位置情報および／または手の指先に対応するキーポイントの位置情報を検出するためにも用いられる。
【０１１９】
いくつかの実施例では、前記第１の特定モジュール１３０は、前記第１の局部のキーポイントの前記位置情報に基づいて、手指の動き情報を取得するためにも用いられる。
【０１２０】
いくつかの実施例では、前記第１の特定モジュール１３０は、前記肢体のキーポイントの位置情報に基づいて、前記肢体の第２の局部の第１類の動き情報を特定するためにも用いられる。
【０１２１】
いくつかの実施例では、前記装置は、接続部により接続される前記肢体の２つの局部のキーポイントの位置情報に基づいて、前記接続部の第２類の動き情報を特定するための第２の特定モジュールをさらに含む。
【０１２２】
いくつかの実施例では、前記装置は、前記少なくとも２つの局部の特徴と前記接続部の第１の動き拘束条件に基づいて、前記少なくとも２つの局部を接続する接続部の第２類の動き情報を特定し、前記第２類の動き情報に基づいて、前記被制御モデルの接続部の動きを制御するために用いられる接続部制御モジュールをさらに含む。
【０１２３】
いくつかの実施例では、前記接続部制御モジュールはさらに、前記接続部の種類に応じて、前記接続部を制御する制御方式を決定し、前記制御方式および前記第２類の動き情報に基づいて、前記被制御モデルの接続部の動きを制御するために用いられる。
【０１２４】
いくつかの実施例では、前記接続部制御モジュールは、前記接続部が第１類の接続部である場合、前記制御方式を第１類の制御方式に決定し、前記第１類の制御方式は、前記被制御モデルにおける前記第１類の接続部に対応する接続部の動きを直接的に制御するために用いられる。
【０１２５】
いくつかの実施例では、前記接続部制御モジュールは、前記接続部が第２類の接続部である場合、前記制御方式を第２類の制御方式に決定し、前記第２類の制御方式は、前記被制御モデルにおける前記第２類の接続部に対応する接続部の動きを間接的に制御するために用いられ、当該間接的な制御は、前記被制御モデルにおける前記第２類の接続部以外の局部に対応する局部を制御することで実現される。
【０１２６】
いくつかの実施例では、前記接続部制御モジュールはさらに、前記制御方式が前記第２類の制御方式である場合、前記第２類の動き情報を分解し、牽引部が前記接続部を牽引して回転させる前記接続部の第１類の回転情報を得、前記第１類の回転情報に基づいて、前記牽引部の動き情報を調整し、調整後の前記牽引部の動き情報を用いて、前記被制御モデルにおける牽引部の動きを制御して、前記接続部の動きを間接的に制御するために用いられる。
【０１２７】
いくつかの実施例では、前記接続部制御モジュールはさらに、前記第２類の動き情報を分解し、前記牽引部に対する前記第２類の接続部の回転に関する第２類の回転情報を得、前記第２類の回転情報を用いて、前記牽引部に対する前記被制御モデルの前記接続部の回転を制御するために用いられる。
【０１２８】
いくつかの実施例では、前記第１類の接続部は肘、膝を含み、前記第２類の接続部は手首、足首を含む。
【０１２９】
いくつかの実施例では、前記第２類の接続部が手首である場合、前記手首に対応する牽引部は、上腕または前腕を含み、および／または、前記第２類の接続部が足首である場合、前記足首に対応する牽引部は、上腿または下腿を含む。
【０１３０】
いくつかの実施例では、前記第２の取得モジュール１２０は、具体的には、２Ｄ画像に基づいて、前記肢体の第１の２Ｄ座標を取得するために用いられ、前記第１の特定モジュール１３０は、前記第１の２Ｄ座標および２Ｄ座標から３Ｄ座標への変換関係に基づいて、前記第１の２Ｄ座標に対応する第１の３Ｄ座標を取得するために用いられる。
【０１３１】
いくつかの実施例では、前記第２の取得モジュール１２０は、具体的には、３Ｄ画像に基づいて、前記肢体の骨格キーポイントの第２の３Ｄ座標を取得するために用いられ、前記第１の特定モジュール１３０は、具体的には、前記第２の３Ｄ座標に基づいて、第３の３Ｄ座標を取得するために用いられる。
【０１３２】
いくつかの実施例では、前記第１の特定モジュール１３０は、具体的には、前記第２の３Ｄ座標に基づいて、前記肢体が前記３Ｄ画像において遮蔽されている部分に対応する骨格キーポイントの３Ｄ座標を調整することで、前記第３の３Ｄ座標を得るために用いられる。
【０１３３】
いくつかの実施例では、前記第１類の動き情報は、四元数を含む。
【０１３４】
以下に、上記任意の実施例と関連付けていくつかの具体例を提供する。
【０１３５】
＜例１＞
本例は画像処理方法を提供し、以下を含む。カメラは画像を１枚ずつ収集し、各画像に対して、まず人物像を検出し、次に人の手および手首のキーポイント検出し、キーポイントに基づいて手部の位置枠を特定する。その後、人体骨格の１４つのキーポイントおよび６３つの輪郭点を得て、キーポイントの検出を完了してから、手の位置が分かるようになり、手枠を算出する。ここの手枠は前述した位置枠に対応する。
【０１３６】
一般的には、手枠は手首を含まないが、特定の場合において、例えば傾斜位置であるとき、一部の手首を含んでもよい。手首のキーポイントは、手と腕の接続部分の中心点に相当し得る。
【０１３７】
人体のキーポイントと人手のキーポイントを得た後、点の２Ｄ座標を既存のニューラルネットワークに入力し、該点の３Ｄ座標を算出することができる。ネットワークへの入力は２Ｄ点であり、出力は３Ｄ点である。
【０１３８】
骨格のキーポイントの３Ｄ座標を得た後でも、仮想のモデルを直接駆動することができず、さらに骨格の角度パラメータを計算する必要がある。例えば、腕の３つのキーポイントの位置から腕の曲げ角度を算出でき、その後、角度を被制御モデル、例えばＡｖａｔａｒモデルに割り当てる。このように、人がどのように動けば、Ａｖａｔａｒモデルはそのように動くようになる。角度を表すための一般的な手段として、四元数が挙げられる。四元数はＡｖａｔａｒモデルに割り当てもよい。
【０１３９】
３Ｄの場合、飛行時間（Ｔｉｍｅ  Ｏｆ  Ｆｌｉｇｈｔ、ＴＯＦ）情報（ＴＯＦ情報は、奥行き情報の元情報である）に基づいて、奥行き情報、すなわちｚ軸の奥行き値を得ることができる。２Ｄ画像の画像座標系、すなわちｘｏｙ平面において、ｚ軸の奥行き値を加えれば、３Ｄ座標系となる。２Ｄ画像から変換された３Ｄ画像は、一部の３Ｄ座標点が遮蔽されることがある。ニューラルネットワーク等の奥行きモデルによる学習を経た後、遮蔽される点を補完することができる。ネットワーク学習を経た後、完全な人体骨格を得ることができる。ＴＯＦを用いると、効果がより高くなり、それというのは、２ＤのＲＧＢ画像は奥行き知覚がなく、奥行き情報があったら、入力情報がより充実となり、精度を高めることができるからである。
【０１４０】
本例では、前記被制御モデルは、ゲームのシーンにおけるゲームキャラクタ、オンライン授業のシーンにおけるネットワーク教育ビデオ中の教師モデル、仮想配信のシーンにおける仮想の配信者であり得る。要するに、前記被制御モデルは応用シーンに応じて決定され、応用シーンが異なると、被制御モデルのモデルが異なり、および／または、外観が異なる。
【０１４１】
例えば、従来の数学、物理等の教壇授業のシーンでは、教師モデルは、例えばスーツ等しっかりとした服を着ていることがある。また例えば、ヨガや体操等の体育授業のシーンでは、被制御モデルは、スポーツウェアを着ていることがある。
【０１４２】
＜例２＞
本例は画像処理方法を提供し、該方法のステップは以下のとおりである。対象を含む画像を収集する。該対象は人体を含むが、これに限定されない。人体の胴体キーポイントおよび肢体キーポイントを検出する。ここの胴体キーポイントおよび／または肢体キーポイントは、両方とも３Ｄ座標で表される３Ｄキーポイントであってもよい。該３Ｄ座標は、２Ｄ画像から２Ｄ座標を検出し、２Ｄ座標から３Ｄ座標への変換アルゴリズムを用いて得られた３Ｄ座標であってもよいし、３Ｄカメラにより収集された３Ｄ画像から抽出された３Ｄ座標であってもよい。ここの肢体キーポイントは、上肢キーポイントおよび／または下肢キーポイントを含んでもよい。手部を例にすると、該上肢キーポイントの手部キーポイントは、手首関節のキーポイント、手根関節のキーポイント、指関節のキーポイント、指先キーポイントを含むが、これらに限定されない。これらのキーポイントの位置は手部と手指の動きを反映できる。胴体キーポイントを、胴体四元数と呼ばれてもよい胴体動きを表すための四元数に変換し、肢体キーポイントを、肢体四元数と呼ばれてもよい肢体動きを表すための四元数に変換する。胴体四元数を用いて被制御モデルの胴体動きを制御し、肢体四元数を用いて被制御モデルの肢体動きを制御する。
【０１４３】
前記胴体キーポイントおよび肢体キーポイントは、１４つのキーポイントまたは１７つのキーポイントを含んでもよい。図８Ａには１７つのキーポイントが示される。
【０１４４】
本例では、前記被制御モデルは、ゲームのシーンにおけるゲームキャラクタ、オンライン授業のシーンにおけるネットワーク教育ビデオ中の教師モデル、仮想配信のシーンにおける仮想の配信者であり得る。要するに、前記被制御モデルは応用シーンに応じて決定され、応用シーンが異なると、被制御モデルのモデルが異なり、および／または、外観が異なる。
【０１４５】
例えば、従来の数学、物理等の教壇授業のシーンでは、教師モデルは、例えばスーツ等しっかりとした服を着ていることがある。また例えば、ヨガや体操等の体育授業のシーンでは、被制御モデルは、スポーツウェアを着ていることがある。
【０１４６】
＜例３＞
本例は画像処理方法を提供し、該方法のステップは以下のとおりである。対象を含む画像を取得する。該対象は人体であり得る。前記画像に基づいて、３次元空間内における対象の、人体骨格キーポイントの３Ｄ座標で表され得る３Ｄ姿勢を取得する。カメラ座標系における人体の関節の絶対回転パラメータを取得する。該絶対回転位置は、カメラ座標系における座標から算出できる。該座標から関節の座標方向を得る。階層関係に基づいて、関節の相対回転パラメータを決定する。前記相対パラメータを決定するステップは、具体的には、人体の根節点に対する関節のキーポイントの位置を特定するステップを含んでもよい。該相対回転パラメータは四元数を表すために使用できる。ここの階層関係は、関節間の牽引関係であってもよく、例えば、肘関節の動きはある程度で手首関節の動きを牽引し、また、肩関節の動きも肘関節の動き等を牽引する。前記階層関係は、人体の関節に基づいて予め決定されてもよい。この四元数を用いて被制御モデルの回転を制御する。
【０１４７】
例えば、以下は階層関係の一例である。骨盤骨を第１の階層とし、腰部を第２の階層とし、上腿（例えば、左上腿、右上腿）を第３の階層とし、下腿（例えば、左下腿、右下腿）を第４の階層とし、脚部を第５の階層とする。
【０１４８】
また例えば、以下は別の階層関係である。胸を第１の階層とし、頸部を第２の階層とし、頭を第３の階層とする。
【０１４９】
さらに、例えば以下はさらに別の階層関係である。肩部に対応する鎖骨を第１の階層とし、上腕を第２の階層とし、前腕（小腕とも呼ばれる）を第３の階層とし、手部を第４の階層とする。
【０１５０】
第１の階層から第５の階層へ、階層関係は順に低下し、高階層の局部の動きは低階層の局部の動きに影響を与える。従って、牽引部の階層は接続部の階層より高い。
【０１５１】
前記第２類の動き情報を特定するとき、まず各階層の局部のキーポイントの動き情報を取得し、その後、階層関係に基づいて、高階層の局部のキーポイントに対する低階層の局部のキーポイントの動き情報（すなわち、前記相対回転情報）を特定する。
【０１５２】
例えば、四元数を利用して動き情報を表す場合、相対回転情報は下式（１）で表すことができる。カメラ座標系に対する各キーポイントの回転四元数を｛Ｑ０，Ｑ１，・・・Ｑ１８｝とし、その後、親キーポイントに対する各キーポイントの回転四元数ｑｉを計算する。
ｑｉ＝Ｑ−１ｐａｒｅｎｔ（ｉ）・Ｑｉ        （１）
式中、親キーポイントｐａｒｅｎｔ（ｉ）は、現在キーポイントｉの１つ上の階層のキーポイントである。Ｑｉは、カメラ座標系に対する現在キーポイントｉの回転四元数であり、Ｑ−１ｐａｒｅｎｔ（ｉ）は、１つ上の階層のキーポイントの逆回転パラメータである。例えば、Ｑｐａｒｅｎｔ（ｉ）が１つ上の階層のキーポイントの回転パラメータであり、且つ回転角度が９０度である場合、Ｑ−１ｐａｒｅｎｔ（ｉ）の回転角度は−９０度となる。
【０１５３】
四元数を用いて被制御モデルの各関節の動きを制御する前記ステップは、ｑｉを用いて被制御モデルの各関節の動きを制御するステップを含んでもよい。
【０１５４】
さらなる画像処理方法では、前記方法はさらに以下を含む。前記四元数を第１のオイラー角に変換する。第１のオイラー角を変換させ、拘束条件内の第２のオイラー角を得て、該拘束条件は、第１のオイラー角に対して角度制限を行ってもよい。第２のオイラー角に対応する四元数を取得し、該四元数を用いて前記被制御モデルの回転を制御する。第２のオイラー角に対応する四元数を取得する。該第２のオイラー角を直接四元数に変換させてもよい。
【０１５５】
人体を例にして説明すると、人体検出により１７つの関節のキーポイントを検出することができ、また、左手および右手に対応してさらに２つのキーポイントが設けられるため、この場合、合計で１９つのキーポイントがある。図８Ａは１７つのキーポイントの骨格模式図である。図８Ｂは１９つのキーポイントの骨格模式図である。図８Ａは、図８Ｂに示される骨格の模式図を形成する。図８Ｂに示される骨格は、１９つのキーポイントに対応し得、それぞれ骨盤骨、腰部、左上腿、左下腿、左脚、右上腿、右下腿、右脚、胸部、頸部、頭部、左鎖骨、右鎖骨、右上腕、右前腕、右手部、左上腕、左前腕、左手を指す。
【０１５６】
まず、画像における人体関節のキーポイントを検出することによって、画像座標系における１７つのキーポイントの座標を得ることができ、具体的には、Ｓ＝｛（ｘ０，ｙ０，ｚ０），・・・，（ｘ１６，ｙ１６，ｚ１６）｝としてもよい。式中、（ｘｉ，ｙｉ，ｚｉ）はｉ番目のキーポイントの座標であり得、ｉの値は０〜１６である。
【０１５７】
各々の局部座標系における１９つの関節のキーポイントの座標をＡ＝｛（ｐ０，ｑ０），・・，（ｐ１８，ｑ１８）｝となるように定義することができる。式中、Ｐｉは、局部座標系における節点ｉの３次元座標を表し、一般的にはモデル自体が有する固定値であり、修正および遷移は不要である。ｑｉは１つの四元数であり、節点ｉが制御する骨頭の、該節点ｉの親節点座標系における回転を表す。また現在節点の局部座標系と親節点局部座標系における回転を表すと考えてもよい。
【０１５８】
各関節に対応するキーポイントの四元数を計算するフローは以下のとおりであってもよい。各節点の局部座標系の座標軸方向を特定する。各骨頭について、子節点から親節点に向かう方向をｘ軸とし、１つの節点により接続される２つの骨頭が位置する平面の垂直方向をｚ軸とし、回転軸を判断できない場合、人体が向いている方向をｙ軸とする。図９は、Ａ節点のある局部座標系の模式図を示す。
【０１５９】
本例では、左手座標系を例にして説明するが、具体的に実現する際に、右手座標系を用いることもできる。
【表１】
2021524113.tif 000003
【０１６０】
上記表中の（ｉ−ｊ）は、ｉからｊに向かうベクトルを表し、ｘはクロス積を表す。例えば（１−７）は、第１のキーポイントから第７のキーポイントに向かうベクトルを表す。
上記表において、節点８、１５、１１および１８は、手および脚の４つの節点であり、この４つの節点の四元数の計算方法は、具体的な姿勢を利用して決定したものであるため、上記表においてこの４つの節点が含まれていない。また、上記表において、１９つの骨格節点の番号は図８Ｃを参照すればよく、１７つの骨格のキーポイントの番号は図８Ａを参照すればよい。
【０１６１】
前記第１のオイラー角を求めるプロセスは以下のとおりである。関節点の局部の回転四元数ｑｉを算出した後、まずそれをオイラー角に変換させ、ここで、デフォルトでｘ−ｙ−ｚの順に変換させる。
【０１６２】
ｑｉ＝（ｑ０，ｑ１，ｑ２，ｑ３）とし、とし、ｑ１を実数部分、ｑ２、ｑ３、ｑ４をいずれも虚数部分とすると、オイラー角の計算式は下記（２）−（４）となる。
Ｘ＝ａｔａｎ２（２＊（ｑ０＊ｑ１−ｑ２＊ｑ３），１−２＊（ｑ１＊ｑ１＋ｑ２＊ｑ２））  （２）
Ｙ＝ａｓｉｎ（２＊（ｑ１＊ｑ３＋ｑ０＊ｑ２））且つＹの値は−１から１の間にある        （３）
Ｚ＝ａｔａｎ２（２＊（ｑ０＊ｑ３−ｑ１＊ｑ２），１−２＊（ｑ２＊ｑ２＋ｑ３＊ｑ３）    （４）
式中、Ｘは第１の方向におけるオイラー角で、Ｙは第２の方向におけるオイラー角で、Ｚは第３の方向におけるオイラー角である。第１の方向、第２の方向および第３の方向のいずれか２つが垂直である。
【０１６３】
その後、（Ｘ，Ｙ，Ｚ）の３つの角度を制限してもよく、制限範囲を超えた場合、境界値に限定し、これにより、調整後の第２のオイラー角（Ｘ´，Ｙ´，Ｚ´）を得る。新しい局部座標系の回転四元数ｑｉ´として復元する。
【０１６４】
さらに別の画像処理方法では、前記方法は、第２のオイラー角に対して姿勢の最適化調整を行うステップをさらに含む。例えば、第２のオイラー角のいくつかの角度を調整し、予め設定されたルールに従って、姿勢が最適化されたオイラー角に調整することで、第３のオイラー角を得ることができる。すると、第２のオイラー角に対応する四元数を取得するステップは、第３のオイラー角を、被制御モデルを制御する四元数に変換するステップを含んでもよい。
【０１６５】
さらに別の画像処理方法では、前記方法は、第２のオイラー角を四元数に変換した後、変換後の四元データに対して姿勢最適化処理を行うステップをさらに含む。例えば、予め設定されたルールに従って調整を行い、調整後の四元数を得て、最終調整後の四元数によって前記被制御モデルを制御する。
【０１６６】
いくつかの実施例では、第２のオイラー角または第２のオイラー角から変換された四元数に対して調整を行う際には、予め設定されたルールに従って調整してもよく、ディープラーニングモデルが自ら最適化調整を行ってもよい。具体的な実現方法が多様であるが、本願は限定しない。
【０１６７】
また、さらに別の画像処理方法では、前処理を含んでもよい。例えば、収集された人体の寸法に応じて、被制御モデルの股部および／または肩部の幅を修正することで、人体全体の姿勢を修正する。人体の立ち姿勢について、まっすぐに立つように修正することや、腹の突き出しを修正することが可能である。一部の人は立つ時に腹を突き出すことがあるが、腹の突き出しを修正することで、被制御モデルは、ユーザの腹突き出し動作をシミュレートしないようになる。一部の人は立つ時に猫背となることがあるが、猫背修正によって、被制御モデルはユーザの猫背動作等をシミュレートしないようになる。
【０１６８】
＜例４＞
本例は画像処理方法を提供し、該方法のステップは以下のとおりである。対象を含む画像を取得する。該対象は人体、人体上肢、人体下肢の少なくとも１つを含んでもよい。画像座標系における対象関節の位置情報に基づいて対象関節の座標系を取得する。画像座標系における肢体局部の位置情報に基づいて、対象関節を動かすように牽引する肢体局部の座標系を取得する。前記対象関節の座標系および肢体局部の座標系に基づいて、肢体局部に対する対象関節の回転を特定し、回転パラメータを得る。該回転パラメータは、対象関節の自己回転パラメータ、および肢体局部の牽引による回転パラメータを含む。第１の角度制限を用いて、肢体局部の牽引による回転パラメータを制限し、最終的な牽引回転パラメータを得る。最終的な牽引回転パラメータに基づいて、肢体局部の回転パラメータを調整する。第１の肢体の座標系と肢体局部の修正後の回転パラメータに基づいて、相対回転パラメータを得る。相対回転パラメータに対して第２の角度制限を行い、制限後の相対回転パラメータを得る。制限後の回転パラメータに基づいて、四元数を得る。該四元数によって被制御モデルの対象関節の動きを制御する。
【０１６９】
例えば、人体上肢を処理する場合、画像座標系における手部の座標系を取得し、且つ小腕の座標系および上腕の座標系を得る。このとき、対象関節は手首関節である。小腕に対する手部の回転を自己回転と牽引による回転に分解する。牽引による回転を小腕に伝達し、具体的には、例えば牽引による回転を小腕の対応する方向の回転に割り当てる。小腕の第１の角度制限を用いて、小腕の最大回転を制限する。その後、修正後の小腕に対する手部の回転を特定し、相対回転パラメータを得る。この相対回転パラメータに対して第２の角度制限を行い、小腕に対する手部の回転を得る。
【０１７０】
人体下肢を処理する場合、画像座標系における脚部の座標系を取得し、下腿の座標系および上腿の座標系を得る。このとき、対象関節は足首関節である。下腿に対する脚部の回転を自己回転と牽引による回転に分解する。牽引による回転を下腿に伝達し、具体的には、例えば牽引による回転を下腿の対応する方向の回転に割り当てる。下腿の第１の角度制限を用いて、下腿の最大回転を制限する。その後、修正後の下腿に対する脚部の回転を特定し、相対回転パラメータを得る。この相対回転パラメータに対して第２の角度制限を行い、下腿に対する脚部の回転を得る。
【０１７１】
図１０に示すように、本願の実施例は、情報を記憶するためのメモリ１０３０と、前記メモリ１０３０に接続されるプロセッサ１０２０を備える画像機器を提供し、前記プロセッサ１０２０は、前記メモリ１０３０に記憶されているコンピュータ実行可能なコマンドを実行することで、前記１つまたは複数の技術的解決手段により提供される画像処理方法、例えば図１、図２および／または図４に示される画像処理方法を実現できる。
【０１７２】
該メモリ１０３０は、ランダムアクセスメモリ、読み出し専用メモリ、フラッシュメモリ等のような様々なメモリであってよい。前記メモリ１０３０は、例えば、コンピュータ実行可能なコマンド等の情報を記憶するために用いてよい。前記コンピュータ実行可能なコマンドは、例えば、目標プログラムコマンドおよび／またはソースプログラムコマンド等のような様々なプログラムコマンドであってよい。
【０１７３】
前記プロセッサ１０２０は、例えば、中央処理装置、マイクロプロセッサ、デジタル信号プロセッサ、プログラマブルアレイ、デジタル信号プロセッサ、特定用途向け集積回路または画像プロセッサ等のような様々なプロセッサであってよい。
【０１７４】
前記プロセッサ１０２０はバスを介して前記メモリ１０３０に接続されてよい。前記バスは、集積回路バス等であってよい。
【０１７５】
いくつかの実施例では、前記端末デバイスは、さらに、ネットワークインタフェース、例えば、ローカルネットワークインターフェース、送受信アンテナ等を含む通信インタフェース１０４０を含んでよい。前記通信接口１０４０は同様に前記プロセッサ１０２０に接続され、情報送受信を実行可能である。
【０１７６】
いくつかの実施例では、前記端末デバイスは、例えば、キーボード、タッチパネル等の各種の入出力装置を含むマンマシンインタフェース１０５０をさらに含む。
【０１７７】
いくつかの実施例では、前記画像機器は、各種指示、収集された顔画像および／または様々なインタフェースを表示できるディスプレイ１０１０をさらに含む。
【０１７８】
本願の実施例は、コンピュータ実行可能なコードが記憶されている不揮発性コンピュータ記憶媒体を提供し、コンピュータ実行可能なコードが実行されると、前記１つまたは複数の技術的解決手段により提供される画像処理方法、例えば図１、図２および／または図４に示す画像処理方法が実現できる。
【０１７９】
なお、本願が提供するいくつかの実施例では、開示した機器および方法は、他の形態で実現することができることを理解すべきである。以上に記載の機器の実施例は例示的なものに過ぎず、例えば、前記ユニットの分割は、論理機能の分割に過ぎず、実際に実現する場合に別の形態で分割してもよく、例えば、複数のユニットまたはコンポーネントは組み合わせてもよいし、または別のシステムに統合してもよいし、または一部の特徴を省略もしくは実行しなくてもよい。また、図示または説明した各構成要素の結合、または直接結合、または通信接続は、いくつかのインタフェース、デバイスまたはユニットを介した間接結合または通信接続であり得、電気的、機械的または他の形態であり得る。
【０１８０】
別々の部材として前述したユニットは物理的に分離されてもされなくてもよく、ユニットとして示された部材は物理的ユニットであってもなくてもよく、一箇所にあっても複数のネットワークユニットに分散してもよく、本実施例の解決手段の目的を達成するには、実際の必要に応じて一部または全てのユニットを選択することができる。
【０１８１】
また、本願の各実施例における各機能ユニットは全て一つの処理ユニットに統合されてもよいし、一つのユニットとして別々に使用されてもよいし、二つ以上で一つのユニットに統合されてもよく、上記統合されたユニットはハードウェアの形で、またはハードウェアとソフトウェアを組み合わせた機能ユニットの形で実現され得る。
【０１８２】
当業者であれば、上記方法の実施例を実現する全てまたは一部のステップはプログラムによって関連ハードウェアにコマンドを出すことにより完了できることを理解でき、前記プログラムは、携帯型記憶装置、読み取り専用メモリ（ＲＯＭ、Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）、磁気ディスクまたは光ディスク等のプログラムコードを記憶可能である様々な媒体を含むコンピュータ可読記憶媒体に記憶可能であり、該プログラムは実行される時に、上記方法の実施例を含むステップを実行する。
【０１８３】
以上で説明したのは本願の具体的な実施形態に過ぎず、本願の保護範囲がそれに限定されるものでなく、本願に記載された技術範囲内に当業者に容易に想到される変化または取り替えは、全て本願の保護範囲に含まれる。従って、本願の保護範囲は請求項の保護範囲に準ずるべきである。
【図１】
2021524113.tif 000004
【図２】
2021524113.tif 000005
【図３】
2021524113.tif 000006
【図４】
2021524113.tif 000007
【図５Ａ】
2021524113.tif 000008
【図５Ｂ】
2021524113.tif 000009
【図５Ｃ】
2021524113.tif 000010
【図６Ａ】
2021524113.tif 000011
【図６Ｂ】
2021524113.tif 000012
【図６Ｃ】
2021524113.tif 000013
【図７】
2021524113.tif 000014
【図８Ａ】
2021524113.tif 000015
【図８Ｂ】
2021524113.tif 000016
【図８Ｃ】
2021524113.tif 000017
【図９】
2021524113.tif 000018
【図１０】
2021524113.tif 000019
【手続補正書】
【提出日】令和2年11月20日(2020.11.20)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
画像を取得するステップと、
前記画像に基づいて、身体の肢体の特徴を取得するステップと、
前記特徴に基づいて、前記肢体の第１類の動き情報を特定するステップと、
前記第１類の動き情報に基づいて、被制御モデルの前記肢体の動きを制御するステップと、を含み、
前記肢体は、上肢および／または下肢を含むことを特徴とする、画像処理方法。
【請求項２】
前記特徴に基づいて、前記肢体の第１類の動き情報を特定する前記ステップは、
前記画像における前記肢体のキーポイントの位置情報を検出するステップと、
前記位置情報に基づいて、前記第１類の動き情報を特定するステップと、を含むことを特徴とする、請求項１に記載の方法。
【請求項３】
前記画像における身体骨格のキーポイントの位置情報を検出するステップをさらに含み、
前記画像に基づいて、身体の肢体の特徴を取得する前記ステップは、
前記身体骨格のキーポイントの前記位置情報に基づいて、前記肢体のキーポイントの前記位置情報を特定するステップを含むことを特徴とする、請求項２に記載の方法。
【請求項４】
前記位置情報に基づいて、前記第１類の動き情報を特定する前記ステップは、
前記肢体のキーポイントの前記位置情報に基づいて、前記画像から前記肢体の第１の局部が含まれる位置枠を特定するステップと、
前記位置枠に基づいて、前記第１の局部のキーポイントの位置情報を検出するステップと、
前記第１の局部のキーポイントの前記位置情報に基づいて、前記第１の局部の第１類の動き情報を取得するステップと、を含むことを特徴とする、請求項３に記載の方法。
【請求項５】
前記肢体のキーポイントの前記位置情報に基づいて、前記画像から前記肢体の第１の局部が含まれる位置枠を特定する前記ステップは、
手部キーポイントの位置情報に基づいて、前記画像から手部が含まれる位置枠を特定するステップを含み、
前記位置枠に基づいて、前記第１の局部のキーポイントの位置情報を検出する前記ステップは、
前記位置枠に基づいて、前記手部の指関節に対応するキーポイントの位置情報および／または手の指先に対応するキーポイントの位置情報を検出するステップを含み、
前記第１の局部のキーポイントの前記位置情報に基づいて、前記第１の局部の第１類の動き情報を取得する前記ステップは、
前記第１の局部のキーポイントの前記位置情報に基づいて、手指の動き情報を取得するステップを含むことを特徴とする、請求項４に記載の方法。
【請求項６】
前記特徴に基づいて、前記肢体の第１類の動き情報を特定する前記ステップは、
前記肢体のキーポイントの前記位置情報に基づいて、前記肢体の第２の局部の第１類の動き情報を特定するステップをさらに含むことを特徴とする、請求項３から５のいずれか一項に記載の方法。
【請求項７】
接続部により接続される前記肢体の２つの局部のキーポイントの位置情報に基づいて、前記接続部の第２類の動き情報を特定するステップをさらに含むことを特徴とする、請求項１から６のいずれか一項に記載の方法。
【請求項８】
少なくとも２つの局部の特徴と前記接続部の第１の動き拘束条件とに基づいて、前記接続部の第２類の動き情報を特定するステップであって、前記少なくとも２つの局部は、前記接続部により接続される前記２つの局部を含むステップと、
前記第２類の動き情報に基づいて、前記被制御モデルの前記接続部の動きを制御するステップと、をさらに含むことを特徴とする、請求項７に記載の方法。
【請求項９】
前記第２類の動き情報に基づいて、前記被制御モデルの前記接続部の動きを制御する前記ステップは、
前記接続部の種類に応じて、前記接続部を制御する制御方式を決定するステップと、
前記制御方式および前記第２類の動き情報に基づいて、前記被制御モデルの前記接続部の動きを制御するステップと、を含むことを特徴とする、請求項８に記載の方法。
【請求項１０】
前記接続部の種類に応じて、前記接続部を制御する制御方式を決定する前記ステップは、
前記接続部が第１類の接続部である場合、前記制御方式を第１類の制御方式に決定するステップであって、前記第１類の制御方式は、前記被制御モデルにおける前記第１類の接続部に対応する接続部の動きを直接的に制御するために用いられるステップを含むことを特徴とする、請求項９に記載の方法。
【請求項１１】
前記接続部の種類に応じて、前記接続部を制御する制御方式を決定する前記ステップは、
前記接続部が第２類の接続部である場合、前記制御方式を第２類の制御方式に決定するステップであって、前記第２類の制御方式は、前記被制御モデルにおける前記第２類の接続部に対応する接続部の動きを間接的に制御するために用いられ、当該間接的な制御は、前記被制御モデルにおける前記第２類の接続部以外の局部に対応する局部を制御することで実現されるステップを含むことを特徴とする、請求項９に記載の方法。
【請求項１２】
前記制御方式および前記第２類の動き情報に基づいて、前記被制御モデルの前記接続部の動きを制御する前記ステップは、
前記制御方式が前記第２類の制御方式である場合、前記第２類の動き情報を分解し、牽引部が前記接続部を牽引して回転させる前記接続部の第１類の回転情報を得るステップと、
前記第１類の回転情報に基づいて、前記牽引部の動き情報を調整するステップと、
調整後の前記牽引部の動き情報を用いて、前記被制御モデルにおける牽引部の動きを制御して、前記接続部の動きを間接的に制御するステップと、を含むことを特徴とする、請求項１１に記載の方法。
【請求項１３】
前記第２類の動き情報を分解し、前記牽引部に対する前記第２類の接続部の回転に関する第２類の回転情報を得るステップと、
前記第２類の回転情報を用いて、前記牽引部に対する前記被制御モデルの前記接続部の回転を制御するステップと、を含むことを特徴とする、請求項１２に記載の方法。
【請求項１４】
前記第１類の接続部は、肘、膝を含み、
前記第２類の接続部は、手首、足首を含み、
前記第２類の接続部が手首である場合、前記手首に対応する牽引部は、上腕および／または前腕を含み、
前記第２類の接続部が足首である場合、前記足首に対応する牽引部は、下腿および／または上腿を含むことを特徴とする、請求項１１から１３のいずれか一項に記載の方法。
【請求項１５】
前記画像に基づいて、身体の肢体の特徴を取得する前記ステップは、
２Ｄ画像に基づいて、前記肢体の第１の２Ｄ座標を取得するステップを含み、
前記特徴に基づいて、前記肢体の第１類の動き情報を特定する前記ステップは、
前記第１の２Ｄ座標および２Ｄ座標から３Ｄ座標への変換関係に基づいて、前記第１の２Ｄ座標に対応する第１の３Ｄ座標を取得するステップを含むことを特徴とする、請求項１から１４のいずれか一項に記載の方法。
【請求項１６】
前記画像に基づいて、身体の肢体の特徴を取得する前記ステップは、
３Ｄ画像に基づいて、前記肢体の骨格キーポイントの第２の３Ｄ座標を取得するステップを含み、
前記特徴に基づいて、前記肢体の第１類の動き情報を特定する前記ステップは、
前記第２の３Ｄ座標に基づいて、第３の３Ｄ座標を取得するステップを含むことを特徴とする、請求項１から１４のいずれか一項に記載の方法。
【請求項１７】
前記第２の３Ｄ座標に基づいて、第３の３Ｄ座標を取得する前記ステップは、
前記第２の３Ｄ座標に基づいて、前記肢体が前記３Ｄ画像において遮蔽されている部分に対応する骨格キーポイントの３Ｄ座標を調整することで、前記第３の３Ｄ座標を得るステップを含むことを特徴とする、請求項１６に記載の方法。
【請求項１８】
前記第１類の動き情報は、四元数を含むことを特徴とする、請求項１から１７のいずれか一項に記載の方法。
【請求項１９】
メモリと、
前記メモリに接続されるプロセッサと、を備え、
前記プロセッサは、前記メモリ上のコンピュータ実行可能なコマンドを実行することで、上記請求項１から１８のいずれか一項により提供される方法を実現することを特徴とする、画像機器。
【請求項２０】
コンピュータ実行可能なコマンドが記憶されている不揮発性コンピュータ記憶媒体であって、
前記コンピュータ実行可能なコマンドがプロセッサによって実行されると、上記請求項１から１８のいずれか一項により提供される方法が実現されることを特徴とする、不揮発性コンピュータ記憶媒体。
【手続補正書】
【提出日】令和2年11月25日(2020.11.25)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０１６２
【補正方法】変更
【補正の内容】
【０１６２】
ｑｉ＝（ｑ０，ｑ１，ｑ２，ｑ３）とし、ｑ０を実数部分、ｑ１、ｑ２、ｑ３をいずれも虚数部分とすると、オイラー角の計算式は下記（２）−（４）となる。
Ｘ＝ａｔａｎ２（２＊（ｑ０＊ｑ１−ｑ２＊ｑ３），１−２＊（ｑ１＊ｑ１＋ｑ２＊ｑ２））  （２）
Ｙ＝ａｓｉｎ（２＊（ｑ１＊ｑ３＋ｑ０＊ｑ２））且つＹの値は−１から１の間にある        （３）
Ｚ＝ａｔａｎ２（２＊（ｑ０＊ｑ３−ｑ１＊ｑ２），１−２＊（ｑ２＊ｑ２＋ｑ３＊ｑ３）    （４）
式中、Ｘは第１の方向におけるオイラー角で、Ｙは第２の方向におけるオイラー角で、Ｚは第３の方向におけるオイラー角である。第１の方向、第２の方向および第３の方向のいずれか２つが垂直である。
【国際調査報告】
2021524113.tif 000020
2021524113.tif 000021
2021524113.tif 000022
2021524113.tif 000023