(57)【要約】【課題】計測対象ユーザをデプスカメラで撮影したポイントクラウドから、そのユーザの３次元モデルを生成するプログラムを提供する。【解決手段】教師データの３次元モデルとポイントクラウドとを対応付けて学習する装置に搭載されたコンピュータを機能させるプログラムであって、教師データの３次元モデル毎に、当該３次元モデルを１つ以上の所定視点からソフトウェア上で撮影したポイントクラウドを作成するポイントクラウド作成手段と、教師データ群の複数体の３次元モデルから、次元圧縮された次元数ｍの成分変数を出力すると共に、統計学習モデルを構築する統計学習エンジンと、教師データ群の複数体の３次元モデルについて、当該３次元モデルのポイントクラウドと、次元数ｍの成分変数との第１の相関学習モデルを構築する第１の相関学習エンジンとしてコンピュータを機能させることを特徴とする。【選択図】図１
2020112899.tif 000002
【特許請求の範囲】
【請求項１】
教師データの３次元モデルとポイントクラウドとを対応付けて学習する装置に搭載されたコンピュータを機能させるプログラムであって、
教師データの３次元モデル毎に、当該３次元モデルを１つ以上の所定視点からソフトウェア上で撮影したポイントクラウドを作成するポイントクラウド作成手段と、
教師データ群の複数体の３次元モデルから、次元圧縮された次元数ｍの成分変数を出力すると共に、統計学習モデルを構築する統計学習エンジンと、
教師データ群の複数体の３次元モデルについて、当該３次元モデルのポイントクラウドと、次元数ｍの成分変数との第１の相関学習モデルを構築する第１の相関学習エンジンと
してコンピュータを機能させることを特徴とするプログラム。
【請求項２】
統計学習エンジンは、主成分分析(Principal Component Analysis)又はAutoEncoderに基づくものである
ようにコンピュータを機能させることを特徴とする請求項１に記載のプログラム。
【請求項３】
第１の相関学習エンジンは、畳み込みニューラルネットワークに基づくものである
ようにコンピュータを機能させることを特徴とする請求項１又は２に記載のプログラム。
【請求項４】
前記３次元モデルは、人体であり、
前記組成値は、少なくとも身長と、１つ以上の体組成計値とを含み、
前記ポイントクラウドは、深度に応じてグレースケール階調としたデプス画像である
ようにコンピュータを機能させることを特徴とする請求項１から３のいずれか１項に記載のプログラム。
【請求項５】
教師データ群の３次元モデルの複数体数は、当該３次元モデルの頂点数よりも少ないものである
ようにコンピュータを機能させることを特徴とする請求項１から４のいずれか１項に記載のプログラム。
【請求項６】
第１の相関学習エンジンを用いて、対象データとしてのポイントクラウドから次元数ｍの成分変数へエンコードする第１のエンコーダと
して更にコンピュータを機能させることを特徴とする請求項１から５のいずれか１項に記載のプログラム。
【請求項７】
前記統計学習エンジンを用いて、当該次元数ｍの成分変数から３次元モデルにデコードする第１のデコーダと
して更にコンピュータを機能させることを特徴とする請求項１から６のいずれか１項に記載のプログラム。
【請求項８】
デコードされた前記３次元モデルを、所定視点からソフトウェア上で撮影した１枚以上のグレースケール画像を作成するグレースケール画像作成手段と
してコンピュータを機能させることを特徴とする請求項７に記載のプログラム。
【請求項９】
教師データ群の複数体の３次元モデルについて、少なくとも１つ以上の採寸箇所を含む次元数ｎの組成値と、次元数ｍの成分変数との第２の相関学習モデルを構築する第２の相関学習エンジンと、
第２の相関学習エンジンを用いて、対象データとしての１体の次元数ｎの組成値から次元数ｍの成分変数へエンコードする第２のエンコーダと
してコンピュータを機能させることを特徴とする請求項１から８のいずれか１項に記載のプログラム。
【請求項１０】
第２の相関学習エンジンは、最小二乗法又は多層パーセプトロンに基づくものである
ようにコンピュータを機能させることを特徴とする請求項９に記載のプログラム。
【請求項１１】
対象データとして１体の次元数ｎの組成値について、ｋ（＜ｎ）個の組成値のみ決定され、その他のｎ−ｋ個の組成値が欠損していても、次元数ｍの成分変数を推定するために、ｋ個の組成値を束縛条件として、最適化された他のｎ−ｋ個の組成値を推定する欠損値推定手段と
して更にコンピュータを機能させることを特徴とする請求項９又は１０に記載のプログラム。
【請求項１２】
前記欠損値推定手段は、ラグランジュの未定乗数法(method of Lagrange multiplier)を用いる
ようにコンピュータを機能させることを特徴とする請求項１１に記載のプログラム。
【請求項１３】
第２の相関学習エンジンを用いて、対象データとしての次元数ｍの成分変数から組成値にデコードする第２のデコーダと
してコンピュータを機能させることを特徴とする請求項９から１２のいずれか１項に記載のプログラム。
【請求項１４】
対象データとして対応付けられたポイントクラウド及び組成値を入力し、第１の相関学習エンジンと、第２の相関学習エンジンとを再学習するために、
第１のエンコーダによって、前記対象データの前記ポイントクラウドを第１の次元数ｍの成分変数にエンコードし、
第２のエンコーダによって、前記対象データの前記組成値を第２の次元数ｍの成分変数にエンコードし、
第１の次元数ｍの成分変数と、第２の次元数ｍの成分変数とを、１つの次元数ｍの成分変数に統合し、
第１の相関学習エンジンは、対象データの前記ポイントクラウドと、統合された前記次元数ｍの成分変数とから再学習し、
第２の相関学習エンジンは、対象データの前記組成値と、統合された前記次元数ｍの成分変数とから再学習する
ようにコンピュータを機能させることを特徴とする請求項９から１３のいずれか１項に記載のプログラム。
【請求項１５】
対象データの組成値について欠損した組成値の数が多いほど、小さくなる重みｗを付与して、次元毎に算出した、第１の次元数ｍの成分変数と第２の次元数ｍの成分変数との加重平均を、１つの次元数ｍの成分変数として統合する
ようにコンピュータを機能させることを特徴とする請求項１４に記載のプログラム。
【請求項１６】
エンコードされた次元数ｍの成分変数を、シェア(Share)コードとして出力すると共に、当該シェアコードを、ＱＲ(Quick Response、登録商標)、ＲＦＩＤ(Radio Frequency IDentifier)又はCookieに埋め込むシェアコード出力手段と
して更にコンピュータを機能させることを特徴とする請求項１から１５のいずれか１項に記載のプログラム。
【請求項１７】
対象データのポイントクラウドをエンコードする装置に搭載されたコンピュータを機能させるプログラムであって、
教師データの３次元モデル毎に、当該３次元モデルを１つ以上の所定視点からソフトウェア上で撮影したポイントクラウドと、当該３次元モデルを次元圧縮した次元数ｍの成分変数とによって第１の相関学習モデルを構築した第１の相関学習エンジンと、
第１の相関学習エンジンを用いて、対象データとしてのポイントクラウドから次元数ｍの成分変数へエンコードする第１のエンコーダと
してコンピュータを機能させることを特徴とするプログラム。
【請求項１８】
請求項１７に記載のプログラムによってエンコードされた次元数ｍの成分変数を、３次元モデルにデコードする装置に搭載されたコンピュータを機能させるプログラムであって、
３次元モデルと、次元圧縮された次元数ｍの成分変数とを対応付けた統計学習モデルを構築した統計学習エンジンと、
前記統計学習エンジンを用いて、当該次元数ｍの成分変数から３次元モデルにデコードする第１のデコーダと
してコンピュータを機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、３次元モデルに基づく機械学習エンジンの技術に関する。
【背景技術】
【０００２】
近年、人体形状データを検知可能な３次元スキャナの技術がある（例えば非特許文献１及び２参照）。この技術によれば、人体に対する非接触の光学三角測量によって、３次元の点群データを計測する。これら点群データは、約100万点と超高密度であり、人体計測の用途では極めて小さい誤差を実現している。このような人体形状データは、体形以外の健康管理データとしても有効なものである。
【０００３】
従来、骨格モデルに重ねた筋肉モデルを、被験者の測定結果に合わせて変形させる技術がある（例えば特許文献１参照）。この技術によれば、体組成計及び３次元測定器による被験者の身体的な測定結果に基づいて、被験者自身に応じた人体モデルを作成する。人体モデルは、骨格、筋肉及び脂肪をセットにした解剖的なモデルであり、これらは、被験者の測定結果に応じて変形される。これらの骨格、筋肉及び脂肪それぞれのモデルを切り替えて表示することにより、被験者は、自らの体内の状況などを視覚的に認識することができる。
【０００４】
また、物体を特徴パラメータで表現した３次元モデルを予め格納しておき、撮像画像から検出した特徴領域の画像を、３次元モデルに適応させる技術もある（例えば特許文献２参照）。この技術によれば、特徴領域の画像に撮像されている物体を表す、３次元モデルの特徴パラメータの値を算出する。そして、その特徴パラメータの値と、特徴領域以外の領域の画像とを出力することによって、３次元画像全体のデータ量を削減している。
【０００５】
このような３次元モデルに対して、２．５次元画像を撮影可能なデプスカメラ(Depth Camera)が、一般的になってきている。デプスカメラとは、奥行き情報を取得する深度センサを内蔵したカメラをいう。通常のカメラが取得する２次元の平面的な画像(RGB)に加えて、奥行き情報(Depth)を取得することによって、３次元の立体的な情報を取得することができる。この情報は、画素毎の距離情報を伴う点群データであって、「ポイントクラウド」と称される。特に、１視点から見た３次元情報しか取得できないため、概念的に「２．５次元画像」とも称される（以下では「２．５次元画像」を「ポイントクラウド」と称す）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１７−１７６８０３号公報
【特許文献２】特開２００９−２６８０８８号公報
【非特許文献】
【０００７】
【非特許文献１】「3D BODY SCANNER SCUVEG4」、株式会社スペースビジョン、[online]、［平成３０年１２月３１日検索］、インターネット＜URL:http://www.spacevision.tokyo/＞
【非特許文献２】「3D Body Station」、株式会社3D Body Lab、[online]、［平成３０年１２月３１日検索］、インターネット＜URL:https://www.3dbodylab.co.jp/3dbodystation/＞
【非特許文献３】「オートエンコーダ」、[online]、［平成３１年１２月３１日検索］、インターネット＜https://deepage.net/deep_learning/2016/10/09/deeplearning_autoencoder.html＞
【非特許文献４】「ＭＡＹＡ  被写界深度を調節しよう」、[online]、［平成３１年１２月３１日検索］、インターネット＜http://thankstotoday.com/modeling-depth1/ ＞
【発明の概要】
【発明が解決しようとする課題】
【０００８】
前述した非特許文献１及び２の場合、人体の３次元モデルを生成するために、規模的に且つコスト的に大きい３次元スキャナを用いる必要がある。また、３次元モデルは、その精度を高めるべく、頂点数を例えば15,000以上とし、各頂点も３次元(x,y,z)で表現するために、それら点群データの次元数は、45,000以上の膨大なデータ量となる。
【０００９】
これに対し、本願の発明者は、光学三角測量の３次元スキャナを用意することなく、所定視点から撮影するデプスカメラのみから、ユーザの体形に近い３次元モデルを簡易に対応付けることができないか、と考えた。例えばスマートフォンやその他のヘルスケアの装置に搭載されたデプスカメラによって自らの体形を撮影し、そのポイントクラウドから３次元モデルを対応付けることはできないか、と考えた。
【００１０】
一方で、ポイントクラウドは、例えば高さh＝960pixel、幅w＝540pixelの場合、w*h＝518,400次元のように、膨大なデータ量となる。このような膨大なデータ量を、組込用のプロセッサで処理することは極めて難しい。
【００１１】
また、本願の発明者は、３次元モデルやポイントクラウドのデータを、小容量で、且つ、簡易に共有（送受信）することができないか、と考えた。特に、サービス提供者としては、ユーザの体形データを取得しても、この膨大なデータ量を瞬時に送受信させることができれば、ユーザ向け特有の様々なサービスを提供することができると思われる。
【００１２】
更に、本願の発明者は、ユーザ自らの体形を表現する３次元モデルやポイントクラウドは、そのユーザにとって個人情報として守秘されるべきものである、と考えた。即ち、これら膨大なデータ量を圧縮できたとしても、第三者にとって直ぐに復号できないように実装される必要もある。
【００１３】
更に、本願の発明は、ユーザ自らの体形は、外観のみならず、そのユーザの体組成値によっても大きく変化するであろう、と考えた。例えば同じ身長、腹囲及び胸囲のユーザであっても、その体組成値によっては外観が異なるのではないか、と考えた。そうすると、ヘルスケア計測器によって取得される体組成値も、外観となる３次元モデルやポイントクラウドと対応付けることができるのではないか、と考えた。
【００１４】
そこで、本発明によれば、計測対象ユーザをデプスカメラで撮影したポイントクラウドから、そのユーザの３次元モデルを生成することができるプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１５】
本発明によれば、教師データの３次元モデルとポイントクラウドとを対応付けて学習する装置に搭載されたコンピュータを機能させるプログラムであって、
教師データの３次元モデル毎に、当該３次元モデルを１つ以上の所定視点からソフトウェア上で撮影したポイントクラウドを作成するポイントクラウド作成手段と、
教師データ群の複数体の３次元モデルから、次元圧縮された次元数ｍの成分変数を出力すると共に、統計学習モデルを構築する統計学習エンジンと、
教師データ群の複数体の３次元モデルについて、当該３次元モデルのポイントクラウドと、次元数ｍの成分変数との第１の相関学習モデルを構築する第１の相関学習エンジンと
してコンピュータを機能させることを特徴とする。
【００１６】
本発明のプログラムにおける他の実施形態によれば、
統計学習エンジンは、主成分分析(Principal Component Analysis)又はAutoEncoderに基づくものである
ようにコンピュータを機能させることも好ましい。
【００１７】
本発明のプログラムにおける他の実施形態によれば、
第１の相関学習エンジンは、畳み込みニューラルネットワークに基づくものである
ようにコンピュータを機能させることも好ましい。
【００１８】
本発明のプログラムにおける他の実施形態によれば、
３次元モデルは、人体であり、
組成値は、少なくとも身長と、１つ以上の体組成計値とを含み、
ポイントクラウドは、深度に応じてグレースケール階調としたデプス画像である
ようにコンピュータを機能させることも好ましい。
【００１９】
本発明のプログラムにおける他の実施形態によれば、
教師データ群の３次元モデルの複数体数は、当該３次元モデルの頂点数よりも少ないものである
ようにコンピュータを機能させることも好ましい。
【００２０】
本発明のプログラムにおける他の実施形態によれば、
第１の相関学習エンジンを用いて、対象データとしてのポイントクラウドから次元数ｍの成分変数へエンコードする第１のエンコーダと
して更にコンピュータを機能させることも好ましい。
【００２１】
本発明のプログラムにおける他の実施形態によれば、
統計学習エンジンを用いて、当該次元数ｍの成分変数から３次元モデルにデコードする第１のデコーダと
して更にコンピュータを機能させることも好ましい。
【００２２】
本発明のプログラムにおける他の実施形態によれば、
デコードされた３次元モデルを、所定視点からソフトウェア上で撮影した１枚以上のグレースケール画像を作成するグレースケール画像作成手段と
してコンピュータを機能させることも好ましい。
【００２３】
本発明のプログラムにおける他の実施形態によれば、
教師データ群の複数体の３次元モデルについて、少なくとも１つ以上の採寸箇所を含む次元数ｎの組成値と、次元数ｍの成分変数との第２の相関学習モデルを構築する第２の相関学習エンジンと、
第２の相関学習エンジンを用いて、対象データとしての１体の次元数ｎの組成値から次元数ｍの成分変数へエンコードする第２のエンコーダと
してコンピュータを機能させることも好ましい。
【００２４】
本発明のプログラムにおける他の実施形態によれば、
第２の相関学習エンジンは、最小二乗法又は多層パーセプトロンに基づくものである
ようにコンピュータを機能させることも好ましい。
【００２５】
本発明のプログラムにおける他の実施形態によれば、
対象データとして１体の次元数ｎの組成値について、ｋ（＜ｎ）個の組成値のみ決定され、その他のｎ−ｋ個の組成値が欠損していても、次元数ｍの成分変数を推定するために、ｋ個の組成値を束縛条件として、最適化された他のｎ−ｋ個の組成値を推定する欠損値推定手段と
して更にコンピュータを機能させることも好ましい。
【００２６】
本発明のプログラムにおける他の実施形態によれば、
欠損値推定手段は、ラグランジュの未定乗数法(method of Lagrange multiplier)を用いる
ようにコンピュータを機能させることも好ましい。
【００２７】
本発明のプログラムにおける他の実施形態によれば、
第２の相関学習エンジンを用いて、対象データとしての次元数ｍの成分変数から組成値にデコードする第２のデコーダと
してコンピュータを機能させることも好ましい。
【００２８】
本発明のプログラムにおける他の実施形態によれば、
対象データとして対応付けられたポイントクラウド及び組成値を入力し、第１の相関学習エンジンと、第２の相関学習エンジンとを再学習するために、
第１のエンコーダによって、対象データのポイントクラウドを第１の次元数ｍの成分変数にエンコードし、
第２のエンコーダによって、対象データの組成値を第２の次元数ｍの成分変数にエンコードし、
第１の次元数ｍの成分変数と、第２の次元数ｍの成分変数とを、１つの次元数ｍの成分変数に統合し、
第１の相関学習エンジンは、対象データのポイントクラウドと、統合された次元数ｍの成分変数とから再学習し、
第２の相関学習エンジンは、対象データの組成値と、統合された次元数ｍの成分変数とから再学習する
ようにコンピュータを機能させることも好ましい。
【００２９】
本発明のプログラムにおける他の実施形態によれば、
対象データの組成値について欠損した組成値の数が多いほど、小さくなる重みｗを付与して、次元毎に算出した、第１の次元数ｍの成分変数と第２の次元数ｍの成分変数との加重平均を、１つの次元数ｍの成分変数として統合する
ようにコンピュータを機能させることも好ましい。
【００３０】
本発明のプログラムにおける他の実施形態によれば、
エンコードされた次元数ｍの成分変数を、シェア(Share)コードとして出力すると共に、当該シェアコードを、ＱＲ(Quick Response、登録商標)、ＲＦＩＤ(Radio Frequency IDentifier)又はCookieに埋め込むシェアコード出力手段と
して更にコンピュータを機能させることも好ましい。
【００３１】
本発明によれば、対象データのポイントクラウドをエンコードする装置に搭載されたコンピュータを機能させるプログラムであって、
教師データの３次元モデル毎に、当該３次元モデルを１つ以上の所定視点からソフトウェア上で撮影したポイントクラウドと、当該３次元モデルを次元圧縮した次元数ｍの成分変数とによって第１の相関学習モデルを構築した第１の相関学習エンジンと、
第１の相関学習エンジンを用いて、対象データとしてのポイントクラウドから次元数ｍの成分変数へエンコードする第１のエンコーダと
してコンピュータを機能させることを特徴とする。
【００３２】
本発明によれば、前述したプログラムによってエンコードされた次元数ｍの成分変数を、３次元モデルにデコードする装置に搭載されたコンピュータを機能させるプログラムであって、
３次元モデルと、次元圧縮された次元数ｍの成分変数とを対応付けた統計学習モデルを構築した統計学習エンジンと、
統計学習エンジンを用いて、当該次元数ｍの成分変数から３次元モデルにデコードする第１のデコーダと
してコンピュータを機能させることを特徴とする。
【発明の効果】
【００３３】
本発明のプログラムによれば、計測対象ユーザをデプスカメラで撮影したポイントクラウドから、そのユーザの３次元モデルを生成することができる。
【図面の簡単な説明】
【００３４】
【図１】本発明の装置における学習段階の機能構成図である。
【図２】本発明の装置における学習段階の処理の流れを表す説明図である。
【図３】統計学習エンジンにおける３次元モデルのベクトル空間を表す説明図である。
【図４】統計学習エンジンにおける統計形状空間を表す説明図である。
【図５】統計学習エンジンにおける主成分分析を表す簡易なコードである。
【図６】第１の相関学習エンジンにおける畳み込みニューラルネットワークを表す簡易なコードである。
【図７】組成値から導出した組成値空間を表す説明図である。
【図８】統計形状空間と組成値空間との線形変換を表す説明図である。
【図９】第２の相関学習エンジンにおける統計形状空間と組成値空間との間の線形変換を表す簡易なコードである。
【図１０】本発明における運用段階のエンコード側の機能構成図である。
【図１１】本発明における欠損値を推定する組成値空間を表す説明図である。
【図１２】本発明における欠損値推定を表す簡易なコードである。
【図１３】本発明における運用段階のデコード側の機能構成図である。
【図１４】本発明によってデコードされた３次元モデルの精度を表す説明図である。
【図１５】本発明における運用段階の再学習を表す機能構成図である。
【図１６】本発明のエンコード側機能を体組成計に組み込んだ構成図である。
【図１７】体組成計及び端末を用いたデプスカメラの種々配置を表すシステム構成図である。
【図１８】体組成計のグリップ部分にデプスカメラを搭載した場合におけるユーザの姿勢を表す外観図である。
【図１９】図１８のユーザの姿勢によって撮影されたポイントクラウドからデコードされた３次元モデルの精度を表す説明図である。
【発明を実施するための形態】
【００３５】
以下では、本発明の実施の形態について、図面を用いて詳細に説明する。
【００３６】
図１は、本発明の装置における学習段階の機能構成図である。
【００３７】
図１によれば、装置１は、教師データとして、３次元モデルと組成値とを対応付けたデータ群を入力する。
本発明に実施形態によれば、３次元モデルは、人体であるとして説明する。
３次元モデル自体は、人工的に分散させて生成されたものであってもよいし、不特定多数の人体から光学スキャナによって予め取得されたものであってもよい。
組成値は、その３次元モデルに基づく人（ユーザ）から取得された体組成計値であってもよい。ここで、組成値とは、例えば身長、腹囲、胸囲のように、３次元モデルの外観からも取得可能な採寸値を含むものであってもよい。但し、本発明によれば、人体の場合、少なくとも身長は、組成値として含むことが好ましい。また、組成値には、体組成計によって計測された体重、体脂肪、内臓脂肪、骨格筋率などのように、３次元モデルの外観とは結び付かない体組成計値を含むことも好ましい。
尚、本発明の本質的には、組成値までも必須とするものではない。
【００３８】
本発明によれば、学習段階の装置１は、各学習エンジンに予め学習モデルを構築させるものである。学習モデルを構築させた後は、学習エンジン毎に、エンコーダ側若しくはデコーダ側、又は、システムの各装置に分散的に組み込むことができる。
【００３９】
本発明によれば、学習段階の装置１は、ポイントクラウド作成部１０と、統計学習エンジン１００と、第１の相関学習エンジン１１０と、第２の相関学習エンジン１２０とを有する。これら機能構成部は、装置に搭載されたコンピュータを機能させるプログラムを実行することによって実現できる。また、これら機能構成部の処理の流れは、装置の学習方法としても理解できる。
【００４０】
図２は、本発明の装置における学習段階の処理の流れを表す説明図である。
【００４１】
［ポイントクラウド作成部１０］
ポイントクラウド作成部１０は、教師データの３次元モデル毎に、当該３次元モデルを１つ以上の所定視点からソフトウェア上で撮影したポイントクラウドを作成する。
１つ以上のポイントクラウドは、デプス（深度）画像であって、深度に応じてグレースケール階調としたものである。
【００４２】
ポイントクラウド作成部１０は、仮想カメラの位置（所定視点）をソフトウェア上でずらすこともできる。即ち、１体の３次元モデルから、複数の異なる視点の仮想カメラから撮影した複数のポイントクラウドを作成することができる。例えば映像制作ソフトのＭＡＹＡ（登録商標）の場合、仮想カメラの位置を調節して、.exr形式のグレースケール（Ｚ深度）画像を作成することができる。このグレースケール画像は、深度のみの１チャネルであって、各ピクセルは、0.0〜1.0の32ビット浮動小数点数によって表される。
そして、作成されたポイントクラウドは、第１の相関学習エンジン１１０へ出力される。
【００４３】
［統計学習エンジン１００］
統計学習エンジン１００は、教師データ群の複数体の３次元モデルを入力し、次元圧縮された次元数ｍの成分変数を出力すると共に、統計学習モデルを構築する。
統計学習エンジンは、主成分分析(Principal Component Analysis)又はAutoEncoderに基づくものであってもよい。
【００４４】
図３は、統計学習エンジンにおける３次元モデルのベクトル空間を表す説明図である。
【００４５】
図３によれば、教師データとしては、例えば様々な体形を持つ1,000体の人体を想定している。３次元モデルは、人体又は物体の形状データであって、同一対象体に対して同一頂点数で表現される。
図３（ａ）によれば、３次元モデルは、１体毎に頂点数がN=15,000あり、各頂点は３次元(x,y,z)で表現される。即ち、１体の３次元モデルは、3N（＝45,000）次元のベクトルで表される。
図３（ｂ）によれば、３次元モデルの１体毎に、3N次元空間における１点で表される。
【００４６】
尚、一般的な機械学習エンジンによれば、膨大な数の教師データを必要とするのに対し、本発明によれば、教師データ群の複数体数は、３次元モデルの頂点数よりも少なくてもよい。即ち、教師データの人体数1,000は、３次元モデルのベクトル次元数45,000よりも少ない。本発明によれば、教師データの複数体数は、３次元モデルのベクトル次元数以上に用意する必要がなく、そうであっても十分に精度を維持することができる。
【００４７】
図４は、統計学習エンジンにおける統計形状空間を表す説明図である。
図５は、統計学習エンジンにおける主成分分析を表す簡易なコードである。
【００４８】
統計学習エンジン１００は、具体的には、主成分分析(Principal Component Analysis)に基づくものであってもよい。
「主成分分析」によって、相関のある3N次元空間の1000点から、互いに無相関で全体のばらつきを最もよく表す少数（例えば30個）の主成分（成分変数）を導出する。第１主成分の分散を最大化し、続く主成分はそれまでに決定した主成分と無相関という拘束条件の下で、分散を最大化するようにして選択される。主成分の分散を最大化することによって、観測値の変化に対する説明能力を可能な限り主成分に持たせる。主成分を与える主軸は3N次空間の1000点の群の直交基底となっている。主軸の直交性は、主軸が共分散行列の固有ベクトルになっており、共分散行列が実対称行列であることから導かれる。
【００４９】
統計学習エンジン１００は、3N次元空間に対して、主成分分析に基づく成分変数を次元数とする統計形状空間（例えば30次元）に射影させる統計学習モデルを構築する。
本発明によれば、3N(＝45,000)次元空間における各３次元モデルを、例えば30次元（成分変数）空間に射影する。主成分を与える変換は、観測値の集合からなる行列の特異値分解で表され、3N次元空間の1000点の群からなる矩形行列Ｘの特異値分解は、以下の式で表される。
Ｘ＝Ｕ*Σ*ＶT
Ｘ：3N次元空間の1000点からなる行列（1000行×3N列）
Ｕ：n(1000)×n(1000)の正方行列（n次元単位ベクトルの直交行列）
Σ：n(1000)×p(3N)の矩形対角行列（対角成分は、Ｘの特異値）
Ｖ：p(3N)×p(3N)の正方行列（p次元単位ベクトルの直交行列）
ここで、Ｖの最初の30列からなる行列をＶと改める。そして、その行列Ｖによる線形変換はＸの主成分を与える。
Ｖ：3N次元空間->統計形状(30次元)空間への変換を表す行列
Ｖ-1：統計形状(30次元)空間->3N次元空間への変換を表す行列
尚、行列の上付き添え字-1は逆行列を示す記号ではなく、行列が定めるベクトルの変換に対して、その逆変換を意味する抽象的な記号として用いている。ここでは、Ｖ-1は、Ｖの転置ＶTと等しい。
【００５０】
図４からも明らかなとおり、行列Ｖ又はＶ-1による線形変換によって、3N次元空間と統計形状空間との間で、３次元モデルの１体毎に対応付けることができる。
ｓ＝ｘ*Ｖ
ｘ＝ｓ*Ｖ-1
ｓ：統計形状空間のベクトル
ｘ：3N次元空間のベクトル
Ｖ：統計学習モデル
【００５１】
統計学習エンジン１００は、オートエンコーダ(AutoEncoder)に基づくものであってもよい。
オートエンコーダは、ニューラルネットワークの一種で、情報量を小さくした特徴表現を実現する（例えば非特許文献３参照）。具体的には、入力データの次元数よりも、隠れ層の次元を圧縮したものである。入力データを、ニューラルネットワークを通して圧縮し、出力時には元のサイズに戻す。このとき、ニューラルネットワークは、入力データの抽象的概念（特徴量）を抽出する。
オートエンコーダも、主成分分析と同様に、相関のある3N次元空間の1,000点から、互いに無相関で全体のばらつきを最もよく表す30次元の成分変数を導出する。
【００５２】
［第１の相関学習エンジン１１０］
第１の相関学習エンジン１１０は、教師データ群の複数体の３次元モデルについて、当該３次元モデルのポイントクラウドと、次元数ｍの成分変数との第１の相関学習モデルを構築する。
【００５３】
第１の相関学習エンジン１１０は、畳み込みニューラルネットワーク(Convolutional neural network)に基づくものであってもよい。これは、順伝播型の深層学習の一種であり、特に説明変数から目的変数を予測するべく、回帰分析として学習させることができる。
【００５４】
図６は、第１の相関学習エンジンにおける畳み込みニューラルネットワークを表す簡易なコードである。
【００５５】
畳み込みニューラルネットワークは、以下のように一方向に学習する。
説明変数：３次元モデルのポイントクラウド（グレースケール画像）
目的変数：統計学習エンジン１００から出力された次元数ｍの成分変数
これによって、運用段階では、説明変数としてのポイントクラウドを入力することによって、目的変数としての次元数ｍの成分変数を出力することができる。
【００５６】
［第２の相関学習エンジン１２０］
第２の相関学習エンジン１２０は、教師データ群の複数体の３次元モデルについて、少なくとも１つ以上の採寸箇所を含む次元数ｎの組成値と、次元数ｍの成分変数との第２の相関学習モデルを構築する。
【００５７】
図７は、組成値から導出した組成値空間を表す説明図である。
【００５８】
教師データにおける３次元モデルの人体毎に、次元数ｎの組成値が対応付けられている。
組成値は、３次元モデルと紐付けられているが、その３次元モデル自体から導出可能な１つ以上の採寸値（例えば身長や胸囲、腹囲など）を含むものであってもよい。但し、幾何学に基づく採寸箇所は、１カ所以上であることが好ましい。身長だけでもよいし、身長＋腹囲であってもよいし、身長＋腹囲＋胸囲であってもよい。
ここで、複数の組成値をその要素値とした組成値空間を導出することができる。例えば10個の組成値が付与されている場合、組成値空間は10次元となる。
【００５９】
第２の相関学習エンジン１２０は、最小二乗法又は多層パーセプトロンに基づくものであってもよい。
【００６０】
図８は、統計形状空間と組成値空間との線形変換を表す説明図である。
図９は、第２の相関学習エンジンにおける統計形状空間と組成値空間との間の線形変換を表す簡易なコードである。
【００６１】
＜最小二乗法＞
第２の相関学習エンジン１２０は、最小二乗法に基づくものであってもよい。
「最小二乗法(least squares method)」とは、複数の多次元ベクトル（データの組）から線形モデルで近似する際に、残差の二乗和が最小となる最も確からしい線形モデルを決定することをいう。
【００６２】
図８からも明らかなとおり、行列Ａ又はＡ-1による線形変換によって、統計形状空間と組成値空間との間で、３次元モデルの１体毎に対応付けることができる。
ｓ＝ｄ*Ａ
ｄ＝ｓ*Ａ-1
Ａ＝(ＤT*Ｄ)-1*ＤT*Ｓ    （||Ｄ*Ａ−Ｓ||を最小化するＡを導出する）
ｓ：統計形状空間のベクトル
ｄ：組成値空間のベクトル
Ｓ：統計形状空間のベクトルの組
Ｄ：組成値空間のベクトルの組
Ａ：相関学習モデル
【００６３】
＜多層パーセプトロン＞
第２の相関学習エンジン１２０は、多層パーセプトロンに基づくものであってもよい。
「多層パーセプトロン(Multilayer perceptron)」とは、順伝播型ニューラルネットワークであって、誤差逆伝播法と称される教師あり学習を用いており、これは、線形パーセプトロンにおける最小二乗法アルゴリズムの一般化である。
【００６４】
図１０は、本発明における運用段階のエンコード側の機能構成図である。
【００６５】
図１０によれば、装置１は、第１の相関学習エンジン１１０を用いる第１のエンコーダ１１１と、第２の相関学習エンジン１２０を用いる第２のエンコーダ１２１と、欠損値推定部１２２と、シェアコード出力部１３とを更に有する。これら機能構成部は、装置に搭載されたコンピュータを機能させるプログラムを実行することによって実現できる。また、これら機能構成部の処理の流れは、装置のエンコード方法としても理解できる。
尚、第１のエンコーダ１１１と、第２のエンコーダ１２１及び欠損値推定部１２２とは、装置１の用途に応じて、いずれか一方のみを備えたものであってもよい。
【００６６】
［第１のエンコーダ１１１］
第１のエンコーダ１１１は、第１の相関学習エンジン１１０を用いて、対象データとしてのポイントクラウドから次元数ｍの成分変数へエンコードする。エンコードされた次元数ｍの成分変数は、ポイントクラウドを認識できない秘匿性を持つ。そのために、個人情報としてのポイントクラウドが守秘情報である場合に適する。
エンコードされた次元数ｍの成分変数は、シェアコード出力部１３へ出力される。
【００６７】
第１のエンコーダ１１１は、入力された対象データのポイントクラウドに対して、＜大津の判別分析機能＞を適用したものであってもよい。
【００６８】
＜大津の判別分析機能＞
Ｓ１：物体抽出段階
物体抽出のために、以下の３つのステップを要する。
（Ｓ１１）人体と背景との両方を含む対象ポイントクラウドを入力する。
（Ｓ１２）２値化処理によって２つのクラス（物体部分と非物体部分）に分離した２値画像を生成する。この２値化処理に、例えば「大津の判別分析法(discriminant analysis method)」を適用した場合、分離度(separation metrics)という値が最大となる閾値を求め、自動的に２値化することができる。分離度は、クラス間分散(between-class variance)とクラス内分散(within-class variance)との比で求める。
（Ｓ１３）Ｓ１１で入力された対象ポイントクラウドを、Ｓ１２で算出された２値化画像によってマスク処理して、人体のみのポイントクラウドを抽出する。
【００６９】
Ｓ２：正規化段階
正規化のために、以下の５つのステップを要する。
（Ｓ２１）物体抽出段階によって抽出したポイントクラウドの画像平面上のピクセル座標p=(x,y,z)から、３次元座標P=(X,Y,Z)を計算する。
各点P＝(X,Y,Z)について、X＝x*z/f, Y＝y*z/f, Z＝(Max-Min)*z+Min
＜既知のカメラ仕様＞
焦点距離(物理) F (mm)
焦点距離(ピクセル) f＝(fx,fy)=(F*sx,F*sy) (pixel)
ピクセルサイズ s＝(sx,sy) (pixel/mm)
深度測定距離 Min,Max (mm)
（Ｓ２２）物体のポイントクラウドからバウンディングボックスを特定し、その重心を決定する。
（Ｓ２３）Ｓ２２によって決定された重心に基づいて、ポイントクラウドを所定の重心に平行移動する。
（Ｓ２４）Ｓ２３によって平行移動されたポイントクラウドに対して、画像平面上のピクセル座標を計算する。
各点p＝(x,y,z)について、x＝X*f/Z, y＝Y*f/Z, z＝(Z-Min)/(Max-Min)
（Ｓ２５）Ｓ２４によって計算されたピクセル座標は必ずしも整数値ではないので、補完を使って最終的なピクセル座標を計算する。
（Ｓ２６）Ｓ５によって補完されたポイントクラウドを、対象データとして、第１の相関学習エンジン１１０へ入力する。
【００７０】
［第２のエンコーダ１２１］
第２のエンコーダ１２１は、第２の相関学習エンジン１２０を用いて、対象データとしての１体の次元数ｎの組成値から次元数ｍの成分変数へエンコードする。この場合も、エンコードされた次元数ｍの成分変数は、組成値を認識できない秘匿性を持つ。
エンコードされた次元数ｍの成分変数は、シェアコード出力部１３へ出力される。
【００７１】
［欠損値推定部１２２］
欠損値推定部１２２は、オプション的な他の実施形態として、入力された対象データの組成値に対して、欠損値を推定する。
【００７２】
図１１は、本発明における欠損値を推定する組成値空間を表す説明図である。
図１２は、本発明における欠損値推定を表す簡易なコードである。
【００７３】
組成値空間は、教師データ群の３次元モデルに対応付けられた、固定の次元数ｎ（＝10）の組成値を表すものである。
ここで、欠損値推定部１２２は、対象データとして１体の次元数ｎの組成値について、ｋ（＜ｎ）個の組成値のみが決定され、その他のｎ−ｋ個の組成値が欠損していてもよい。即ち、本発明によれば、教師データ群によって例えば10次元の組成値空間から第２の相関学習モデルを構築したとしても、例えばｋ＝3個の組成値のみを入力することによって、次元数ｍの成分変数を推定することができる。
【００７４】
図１１によれば、組成値（10次元）空間上に、超楕円体の等値面が表されている。超楕円体とは、楕円を次元数ｎ（＝10）次元へ拡張したような図形をいう。等値面とは、その次元（＝10）上に描かれる等高線図をいう。ここで、分散共分散行列Ｃ＝ＤT*Ｄは既知であるとする。
超楕円体を表す二次形式（ｘ：列ベクトル）
ｆ(ｘ)＝ｘT*Ｃ-1*ｘ
Ｃ-1：対称行列
※実際には分散共分散行列はＣ＝ＤT*Ｄ／教師データ群数
※-1は、逆行列を示す
【００７５】
本発明によれば、ｋ個の組成値を束縛条件として、最適化された他のｎ−ｋ個の組成値を含む次元数ｍの成分変数を算出する。これには、ラグランジュの未定乗数法(method of Lagrange multiplier)を用いる。
【００７６】
ラグランジュの未定乗数法とは、束縛条件のもとで最適化する解析方法であって、いくつかの変数に対して、いくつかの関数の値を固定するという束縛条件のもとで、別のある１つの関数の極値を求めるという問題を考える。各束縛条件に対して、定数（未定乗数、Lagrange multiplier）を用意し、これらを係数とする線形結合を新しい関数（未定乗数も新たな変数とする）として考えることで、束縛問題を普通の極値問題として解く。
【００７７】
制約条件ｇj(ｘ1,・・・,ｘn)＝０（j＝1,・・・,k）の下で、関数ｆ(ｘ1,・・・,ｘn)が極値をとる点について、
Ｆ(ｘ1,・・・,ｘn,λ1,・・・,λk)
＝ｆ(ｘ1,・・・,ｘn)＋Σλjｇj(ｘ1,・・・,ｘn)
とすることによって、以下の式を満たす。
dＦ／dｘi＝０  （i＝1,・・・,n）
dＦ／dλj＝０  （j＝1,・・・,k）
【００７８】
組成値の欠損値推定の場合に、k個の組成値が与えられた場合、制約条件ｇj(ｘ)＝０（j＝1,・・・,k）は、10次元空間上のアフィン超平面を表す一次方程式であり、以下の式で表される。
アフィン超平面を表す一次方程式
ｇj(ｘ)＝ｎjT*(ｘ−ｐj)＝０
n：超平面の法線ベクトル
p：超平面上の点
特に、それぞれの超平面は基底に直交する（nの方向が基底方向に一致する）ために、以下のようになる。
ｇj(ｘ)＝ｘi−ｙj＝０
ｙj：j番目の組成値
ｘi：対応するｘの要素
制約条件の下で、関数ｆ(ｘ)の最小値を求めることは、与えられた組成値の下で、平均に最も近い体形を求めることとなる。
【００７９】
10次元空間の場合、具体的には、以下のように表される。
ｘ：10次元列ベクトル
ｙ：k個の組成値を含む10次元列ベクトル (k個以外の組成値の値は任意)
λ：ラグランジュ乗数を要素とするk次元列ベクトル
Ｏ：k行10列の行列  各行は与えられた組成値に応じたone-hot行ベクトル
Ｃ：分散共分散行列
ｆ(ｘ)＝1/2*ｘT*Ｃ-1*ｘ
ｇ(ｘ)＝Ｏ*(ｙ−ｘ)
Ｆ(ｘ)＝ｆ(ｘ)＋λT*ｇ(ｘ)
dＦ／dｘ＝Ｃ-1*ｘ−ＯT*λ＝０    （１）
dＦ／dλ＝Ｏ*(ｙ−ｘ)＝０      （２）
（１）より、ｘ＝Ｃ*ＯT*λ      （３）
（３）を（２）に代入
Ｏ*ｙ−Ｏ*Ｃ*ＯT*λ＝０
λ＝(Ｏ*Ｃ*ＯT)-1*Ｏ*ｙ
λを（３）に代入
ｘ＝Ｃ*ＯT*(Ｏ*Ｃ*ＯT)-1*Ｏ*ｙ
【００８０】
［シェアコード出力部１３］
シェアコード出力部１３は、エンコードされた次元数ｍの成分変数を、シェア(Share)コードとして出力する。
本発明によれば、３次元モデルを、成分変数（４バイト）で３０次元とした場合、１２０バイトで表すことができる。
このとき、当該シェアコードを、ＱＲ(Quick Response、登録商標)、ＲＦＩＤ(Radio Frequency IDentifier)又はCookieに埋め込むものであってもよい。
【００８１】
ＱＲコードは、マトリックス型２次元コードであり、バイナリで最大2,953バイトを記述することができる。一般的なスマートフォンでは、ＱＲコードをディスプレイに表示することもできるし、そのＱＲコードをカメラで読み取ることができる。
【００８２】
また、タグとしては、ＲＦＩＤとは、ＲＦタグに記述された情報を、電磁界や電波を用いた近距離無線通信によって通信する技術をいう。例えばFelica（登録商標）であって、電子マネーや乗車カードに用いられている。
本発明によれば、例えば３次元モデルの成分変数を、ＲＦタグに記述しておくだけで、リーダによって瞬時に読み取らせることができる。ＲＦタグから成分変数を読み取ったリーダは、その成分変数に対応した３次元モデルを瞬時にディスプレイに表示することもきる。
このユーザインタフェースによれば、組成値に対応する３次元モデルと、その３次元モデルの成分変数が記述されたＱＲコードとを、一見することができる。特に、ＱＲコードを、カメラによって読み取らせるだけで、３次元モデルを共有することできる。
【００８３】
図１３は、本発明における運用段階のデコード側の機能構成図である。
【００８４】
図１３によれば、デコード側の装置１は、シェアコード入力部１４と、統計学習エンジン１００を用いる第１のデコーダと１１３と、第２の相関学習エンジン１２０を用いる第２のデコーダ１２３と、グレースケール画像作成部１５とを有する。これら機能構成部は、装置に搭載されたコンピュータを機能させるプログラムを実行することによって実現できる。また、これら機能構成部の処理の流れは、装置のエンコード方法としても理解できる。
尚、統計学習エンジン１００及び第１のデコーダ１１３と、第２の相関学習エンジン１２０及び第２のデコーダ１２３とは、装置１の用途に応じて、いずれか一方のみを備えたものであってもよい。
【００８５】
［第１のデコーダ１１３］
第１のデコーダ１１３は、統計学習エンジン１００を用いて、当該次元数ｍの成分変数から３次元モデルにデコードする。これによって、シェアコードから３次元モデルを生成することができる。
【００８６】
［グレースケール画像作成部１５］
グレースケール画像作成部１５は、デコードされた３次元モデルを、所定視点からソフトウェア上で撮影した１枚以上のグレースケール画像を作成する。これによって、シェアコードから、生成された３次元モデルの任意の視点から見たグレースケール画像を生成することができる。
【００８７】
［第２のデコーダ１２３］
第２のデコーダ１２３は、第２の相関学習エンジン１２０を用いて、対象データとしての次元数ｍの成分変数から組成値にデコードする。これによって、シェアコードから組成値を生成することができる。
【００８８】
図１４は、本発明によってデコードされた３次元モデルの精度を表す説明図である。
【００８９】
図１４によれば、左側には、４つのモデルとなる対象データの人体が表されている。
中央には、その対象データの人体を、デプスカメラで撮影したポイントクラウドが表されている。
右側には、そのポイントクラウドをエンコードしてシェアコードを作成した後、そのシェアコードをデコードして生成した３次元モデルが表されている。
ここで特徴的な点として、左側の対象データの人体と、右側の生成された３次元モデルとが、ほぼ同じ体形となっている。
尚、エンコード及びデコードには、第１の相関学習エンジン１１０を用いた第１のエンコーダ１１１と、統計学習エンジン１００を用いた第１のデコーダ１１３とから実現しており、組成値までは含めていない。
【００９０】
図１５は、本発明における運用段階の再学習を表す機能構成図である。
【００９１】
図１５によれば、対象データとして対応付けられたポイントクラウド及び組成値を入力し、第１の相関学習エンジンと、第２の相関学習エンジンとを再学習する。
統合部１６は、第１のエンコーダ１１１によってエンコードされた対象データの第１の次元数ｍの成分変数と、  第２のエンコーダ１２１によってエンコードされた第２の次元数ｍの成分変数とを入力する。そして、統合部１６は、第１の次元数ｍの成分変数と、第２の次元数ｍの成分変数とを、１つの次元数ｍの成分変数に統合する。
このとき、図１２のシェアコード出力部１３の統合機能と同様に、対象データの組成値について欠損した組成値の数が多いほど、小さくなる重みｗを付与して、次元毎に算出した、第１の次元数ｍの成分変数と第２の次元数ｍの成分変数との加重平均を、１つの次元数ｍの成分変数として統合する。
これによって、デプスカメラによって撮影されたポイントクラウド、又は、体組成計によって計測された体組成値の一方のみに強く依存したシェアコードにならないようにすることができる。
尚、組成値について欠損した組成値の数が明確であることを要する。この場合、シェアコードに、別途、欠損した組成値がデコード側で検出することができるように、組成値１０次元に対応する１０ビットによって、入力値１／欠損値０のようにフラグを立てておくことも好ましい。
【００９２】
第１の相関学習エンジン１１０は、対象データのポイントクラウドと、統合された次元数ｍの成分変数とから再学習する。
同様に、第２の相関学習エンジン１２０は、対象データの組成値と、統合された次元数ｍの成分変数とから再学習する。
【００９３】
図１６は、本発明のエンコード側機能を体組成計に組み込んだ構成図である。
【００９４】
本発明の体組成計には、組成値の計測対象ユーザを、部分的又は全体的に撮影するデプスカメラが搭載されている。特に、そのデプスカメラは、人が手で把持するグリップに搭載されている。
計測対象ユーザは、体組成計の上に立つと共に、電極が装着されたグリップを両手で把持する。そして、腕を水平に上げて、肘を伸ばす。これによって、腕と背筋とが垂直となり、その両手に把持されたグリップが顔の正面に位置する。このとき、グリップに搭載されたデプスカメラが、顔の正面からその計測対象ユーザの上半身を含む部分的な体形を撮影することができる。
【００９５】
図１６によれば、人の組成値を計測する体組成計に、図１０のエンコード側機能が組み込まれている。
これによって、デプスカメラによって撮影されたポイントクラウドを次元数ｍの成分変数へエンコードし、当該次元数ｍの成分変数と自ら計測した組成値とを対応付けることができる。
【００９６】
また、図１６によれば、シェアコード出力部１３には、統合機能を含むものであってもよい。
統合機能とは、第１のエンコーダ１１１から出力された第１の次元数ｍの成分変数と、第２のエンコーダ１２１から出力された第２の次元数ｍの成分変数とを統合したシェアコードを出力する。
これによって、デプスカメラによって撮影されたポイントクラウド、又は、体組成計によって計測された体組成値の一方のみに強く依存したシェアコードにならないようにすることができる。
【００９７】
ここで、対象データの組成値について欠損した組成値の数が多いほど、小さくなる重みｗを付与して、次元毎に算出した、第１の次元数ｍの成分変数と第２の次元数ｍの成分変数との加重平均を、１つの次元数ｍの成分変数として統合する。
【００９８】
図１７は、体組成計及び端末を用いたデプスカメラの種々配置を表すシステム構成図である。
【００９９】
前述した図１６によれば、１台の体組成計に、体組成値計測部とデプスカメラとの両方が搭載されている。
これに対し、図１７（ａ）によれば、人の組成値を計測する体組成計は、組成値の計測対象ユーザを、部分的又は全体的に撮影するデプスカメラを搭載した端末（例えばスマートフォン）と通信可能である。
体組成計は、端末から、デプスカメラによって撮影されたポイントクラウドを受信すると共に、当該ポイントクラウドを次元数ｍの成分変数へエンコードし、当該次元数ｍの成分変数と自ら計測した組成値とを対応付けることができる。
【０１００】
図１７（ｂ）によれば、端末は、人の組成値を計測する体組成計と通信可能であって、組成値の計測対象ユーザを、部分的又は全体的に撮影するデプスカメラを搭載したものである。
端末は、体組成計によって計測された組成値を受信すると共に、デプスカメラによって撮影されたポイントクラウドを次元数ｍの成分変数へエンコードし、当該次元数ｍの成分変数と体組成計から受信した組成値とを対応付けることができる。
【０１０１】
図１７（ｃ）によれば、端末は、人の組成値を計測し、且つ、当該組成値の計測対象ユーザを部分的又は全体的に撮影するデプスカメラを搭載した体組成計と通信可能である。
端末は、体組成計から、計測された組成値と、デプスカメラによって撮影されたポイントクラウドとを受信すると共に、ポイントクラウドを次元数ｍの成分変数へエンコードし、当該次元数ｍの成分変数と組成値とを対応付けることができる。
【０１０２】
図１８は、体組成計のグリップ部分にデプスカメラを搭載した場合におけるユーザの姿勢を表す外観図である。
【０１０３】
図１８によれば、体組成計のグリップ部分から撮影可能なポイントクラウドの画角を表している。具体的には、デプスカメラは、画角７０度で、水平方向から下方に２０度傾いている。この場合、ポイントクラウドには、頭部分や膝下部分、手首部分は映り込んでいないが、そのポイントクラウドをエンコード及びデコードすることによって、３次元モデルを生成することができる。
【０１０４】
図１９は、図１８のユーザの姿勢によって撮影されたポイントクラウドからデコードされた３次元モデルの精度を表す説明図である。
【０１０５】
図１９によれば、左側には、４つのモデルとなる対象データの人体が表されている。
中央には、その対象データの人体が、図１８と同じ姿勢で、体組成計のグリップ部分からデプスカメラで撮影したポイントクラウドが表されている。
右側には、そのポイントクラウドをエンコードしてシェアコードを作成した後、そのシェアコードをデコードして生成した３次元モデルが表されている。
ここで特徴的な点として、左側の対象データの人体と、右側の生成された３次元モデルとが、ほぼ同じ体形となっている。
尚、図１４と同様に、エンコード及びデコードには、第１の相関学習エンジン１１０を用いた第１のエンコーダ１１１と、統計学習エンジン１００を用いた第１のデコーダ１１３とから実現しており、組成値としては身長のみを考慮している。
【０１０６】
以上、詳細に説明したように、本発明のプログラムによれば、計測対象ユーザをデプスカメラで撮影したポイントクラウドから、そのユーザの３次元モデルを生成することができる。
【０１０７】
前述した本発明の種々の実施形態について、本発明の技術思想及び見地の範囲の種々の変更、修正及び省略は、当業者によれば容易に行うことができる。前述の説明はあくまで例であって、何ら制約しようとするものではない。本発明は、特許請求の範囲及びその均等物として限定するものにのみ制約される。
【符号の説明】
【０１０８】
１  装置
１０  ポイントクラウド作成部
１００  統計学習エンジン
１１０  第１の相関学習エンジン
１１１  第１のエンコーダ
１１３  第１のデコーダ
１２０  第２の相関学習エンジン
１２１  第２のエンコーダ
１２２  欠損値推定部
１２３  第２のデコーダ
１３  シェアコード出力部
１４  シェアコード入力部
１５  グレースケール画像作成部
１６  統合部
【図１】
2020112899.tif 000003
【図２】
2020112899.tif 000004
【図３】
2020112899.tif 000005
【図４】
2020112899.tif 000006
【図５】
2020112899.tif 000007
【図６】
2020112899.tif 000008
【図７】
2020112899.tif 000009
【図８】
2020112899.tif 000010
【図９】
2020112899.tif 000011
【図１０】
2020112899.tif 000012
【図１１】
2020112899.tif 000013
【図１２】
2020112899.tif 000014
【図１３】
2020112899.tif 000015
【図１４】
2020112899.tif 000016
【図１５】
2020112899.tif 000017
【図１６】
2020112899.tif 000018
【図１７】
2020112899.tif 000019
【図１８】
2020112899.tif 000020
【図１９】
2020112899.tif 000021
【手続補正書】
【提出日】令和1年5月7日(2019.5.7)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
教師データの３次元モデルとポイントクラウドとを対応付けて学習する装置に搭載されたコンピュータを機能させるプログラムであって、
教師データの３次元モデル毎に、当該３次元モデルを１つ以上の所定視点からソフトウェア上で撮影したポイントクラウドを作成するポイントクラウド作成手段と、
教師データ群の複数体の３次元モデルから、次元圧縮された次元数ｍの成分変数を出力すると共に、統計学習モデルを構築する統計学習エンジンと、
教師データ群の複数体の３次元モデルについて、当該３次元モデルのポイントクラウドと、次元数ｍの成分変数との第１の相関学習モデルを構築する第１の相関学習エンジンと
してコンピュータを機能させることを特徴とするプログラム。
【請求項２】
統計学習エンジンは、主成分分析(Principal Component Analysis)又はAutoEncoderに基づくものである
ようにコンピュータを機能させることを特徴とする請求項１に記載のプログラム。
【請求項３】
第１の相関学習エンジンは、畳み込みニューラルネットワークに基づくものである
ようにコンピュータを機能させることを特徴とする請求項１又は２に記載のプログラム。
【請求項４】
教師データ群の３次元モデルの複数体数は、当該３次元モデルの頂点数よりも少ないものである
ようにコンピュータを機能させることを特徴とする請求項１から３のいずれか１項に記載のプログラム。
【請求項５】
第１の相関学習エンジンを用いて、対象データとしてのポイントクラウドから次元数ｍの成分変数へエンコードする第１のエンコーダと
して更にコンピュータを機能させることを特徴とする請求項１から４のいずれか１項に記載のプログラム。
【請求項６】
前記統計学習エンジンを用いて、当該次元数ｍの成分変数から３次元モデルにデコードする第１のデコーダと
して更にコンピュータを機能させることを特徴とする請求項１から５のいずれか１項に記載のプログラム。
【請求項７】
デコードされた前記３次元モデルを、所定視点からソフトウェア上で撮影した１枚以上のグレースケール画像を作成するグレースケール画像作成手段と
してコンピュータを機能させることを特徴とする請求項６に記載のプログラム。
【請求項８】
教師データ群の複数体の３次元モデルについて、少なくとも１つ以上の採寸箇所を含む次元数ｎの組成値と、次元数ｍの成分変数との第２の相関学習モデルを構築する第２の相関学習エンジンと、
第２の相関学習エンジンを用いて、対象データとしての１体の次元数ｎの組成値から次元数ｍの成分変数へエンコードする第２のエンコーダと
してコンピュータを機能させることを特徴とする請求項１から７のいずれか１項に記載のプログラム。
【請求項９】
第２の相関学習エンジンは、最小二乗法又は多層パーセプトロンに基づくものである
ようにコンピュータを機能させることを特徴とする請求項８に記載のプログラム。
【請求項１０】
対象データとして１体の次元数ｎの組成値について、ｋ（＜ｎ）個の組成値のみ決定され、その他のｎ−ｋ個の組成値が欠損していても、次元数ｍの成分変数を推定するために、ｋ個の組成値を束縛条件として、最適化された他のｎ−ｋ個の組成値を推定する欠損値推定手段と
して更にコンピュータを機能させることを特徴とする請求項８又は９に記載のプログラム。
【請求項１１】
前記欠損値推定手段は、ラグランジュの未定乗数法(method of Lagrange multiplier)を用いる
ようにコンピュータを機能させることを特徴とする請求項１０に記載のプログラム。
【請求項１２】
第２の相関学習エンジンを用いて、対象データとしての次元数ｍの成分変数から組成値にデコードする第２のデコーダと
してコンピュータを機能させることを特徴とする請求項８から１１のいずれか１項に記載のプログラム。
【請求項１３】
対象データとして対応付けられたポイントクラウド及び組成値を入力し、第１の相関学習エンジンと、第２の相関学習エンジンとを再学習するために、
第１のエンコーダによって、前記対象データの前記ポイントクラウドを第１の次元数ｍの成分変数にエンコードし、
第２のエンコーダによって、前記対象データの前記組成値を第２の次元数ｍの成分変数にエンコードし、
第１の次元数ｍの成分変数と、第２の次元数ｍの成分変数とを、１つの次元数ｍの成分変数に統合し、
第１の相関学習エンジンは、対象データの前記ポイントクラウドと、統合された前記次元数ｍの成分変数とから再学習し、
第２の相関学習エンジンは、対象データの前記組成値と、統合された前記次元数ｍの成分変数とから再学習する
ようにコンピュータを機能させることを特徴とする請求項８から１２のいずれか１項に記載のプログラム。
【請求項１４】
対象データの組成値について欠損した組成値の数が多いほど、小さくなる重みｗを付与して、次元毎に算出した、第１の次元数ｍの成分変数と第２の次元数ｍの成分変数との加重平均を、１つの次元数ｍの成分変数として統合する
ようにコンピュータを機能させることを特徴とする請求項１３に記載のプログラム。
【請求項１５】
前記３次元モデルは、人体であり、
前記組成値は、少なくとも身長と、１つ以上の体組成計値とを含み、
前記ポイントクラウドは、深度に応じてグレースケール階調としたデプス画像である
ようにコンピュータを機能させることを特徴とする請求項８から１４のいずれか１項に記載のプログラム。
【請求項１６】
エンコードされた次元数ｍの成分変数を、シェア(Share)コードとして出力すると共に、当該シェアコードを、ＱＲ(Quick Response、登録商標)、ＲＦＩＤ(Radio Frequency IDentifier)又はCookieに埋め込むシェアコード出力手段と
して更にコンピュータを機能させることを特徴とする請求項１から１５のいずれか１項に記載のプログラム。
【請求項１７】
対象データのポイントクラウドをエンコードする装置に搭載されたコンピュータを機能させるプログラムであって、
教師データの３次元モデル毎に、当該３次元モデルを１つ以上の所定視点からソフトウェア上で撮影したポイントクラウドと、当該３次元モデルを次元圧縮した次元数ｍの成分変数とによって第１の相関学習モデルを構築した第１の相関学習エンジンと、
第１の相関学習エンジンを用いて、対象データとしてのポイントクラウドから次元数ｍの成分変数へエンコードする第１のエンコーダと
してコンピュータを機能させることを特徴とするプログラム。
【請求項１８】
請求項１７に記載のプログラムによってエンコードされた次元数ｍの成分変数を、３次元モデルにデコードする装置に搭載されたコンピュータを機能させるプログラムであって、
３次元モデルと、次元圧縮された次元数ｍの成分変数とを対応付けた統計学習モデルを構築した統計学習エンジンと、
前記統計学習エンジンを用いて、当該次元数ｍの成分変数から３次元モデルにデコードする第１のデコーダと
してコンピュータを機能させることを特徴とするプログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１８
【補正方法】削除
【補正の内容】
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００２９
【補正方法】変更
【補正の内容】
【００２９】
本発明のプログラムにおける他の実施形態によれば、
対象データの組成値について欠損した組成値の数が多いほど、小さくなる重みｗを付与して、次元毎に算出した、第１の次元数ｍの成分変数と第２の次元数ｍの成分変数との加重平均を、１つの次元数ｍの成分変数として統合する
ようにコンピュータを機能させることも好ましい。
また、本発明のプログラムにおける他の実施形態によれば、
３次元モデルは、人体であり、
組成値は、少なくとも身長と、１つ以上の体組成計値とを含み、
ポイントクラウドは、深度に応じてグレースケール階調としたデプス画像である
ようにコンピュータを機能させることも好ましい。
【手続補正書】
【提出日】令和2年1月5日(2020.1.5)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
教師データの人体の３次元モデルとデプス画像とを対応付けて学習する装置に搭載されたコンピュータを機能させるプログラムであって、
教師データの３次元モデル毎に、当該３次元モデルを１つ以上の所定視点からソフトウェア上で撮影したデプス画像を作成するデプス画像作成手段と、
教師データ群の複数体の３次元モデルから、次元圧縮された次元数ｍの成分変数を出力すると共に、統計学習モデルを構築する統計学習エンジンと、
教師データ群の複数体の３次元モデルについて、当該３次元モデルのデプス画像と、次元数ｍの成分変数との第１の相関学習モデルを構築する第１の相関学習エンジンと、
教師データ群の複数体の３次元モデルについて、少なくとも身長と１つ以上の体組成計値とを含む次元数ｎの組成値と、次元数ｍの成分変数との第２の相関学習モデルを構築する第２の相関学習エンジンと
してコンピュータを機能させることを特徴とするプログラム。
【請求項２】
統計学習エンジンは、主成分分析(Principal Component Analysis)又はAutoEncoderに基づくものである
ようにコンピュータを機能させることを特徴とする請求項１に記載のプログラム。
【請求項３】
第１の相関学習エンジンは、畳み込みニューラルネットワークに基づくものであり、
第２の相関学習エンジンは、最小二乗法又は多層パーセプトロンに基づくものである
ようにコンピュータを機能させることを特徴とする請求項１又は２に記載のプログラム。
【請求項４】
教師データ群の３次元モデルの複数体数は、当該３次元モデルの頂点数よりも少ないものである
ようにコンピュータを機能させることを特徴とする請求項１から３のいずれか１項に記載のプログラム。
【請求項５】
第１の相関学習エンジンを用いて、対象データとしてのデプス画像から次元数ｍの成分変数へエンコードする第１のエンコーダと、
第２の相関学習エンジンを用いて、対象データとしての１体の次元数ｎの組成値から次元数ｍの成分変数へエンコードする第２のエンコーダと
してコンピュータを機能させることを特徴とする請求項１から４のいずれか１項に記載のプログラム。
【請求項６】
対象データとして対応付けられたデプス画像及び組成値を入力し、第１の相関学習エンジンと、第２の相関学習エンジンとを再学習するために、
第１のエンコーダによって、前記対象データの前記デプス画像を第１の次元数ｍの成分変数にエンコードし、
第２のエンコーダによって、前記対象データの前記組成値を第２の次元数ｍの成分変数にエンコードし、
第１の次元数ｍの成分変数と、第２の次元数ｍの成分変数とを、１つの次元数ｍの成分変数に統合し、
第１の相関学習エンジンは、対象データの前記デプス画像と、統合された前記次元数ｍの成分変数とから再学習し、
第２の相関学習エンジンは、対象データの前記組成値と、統合された前記次元数ｍの成分変数とから再学習する
ようにコンピュータを機能させることを特徴とする請求項５に記載のプログラム。
【請求項７】
対象データの組成値について欠損した組成値の数が多いほど、小さくなる重みｗを付与して、次元毎に算出した、第１の次元数ｍの成分変数と第２の次元数ｍの成分変数との加重平均を、１つの次元数ｍの成分変数として統合する
ようにコンピュータを機能させることを特徴とする請求項６に記載のプログラム。
【請求項８】
対象データとして１体の次元数ｎの組成値について、ｋ（＜ｎ）個の組成値のみ決定され、その他のｎ−ｋ個の組成値が欠損していても、次元数ｍの成分変数を推定するために、ｋ個の組成値を束縛条件として、最適化された他のｎ−ｋ個の組成値を推定する欠損値推定手段と
して更にコンピュータを機能させることを特徴とする請求項５に記載のプログラム。
【請求項９】
前記欠損値推定手段は、ラグランジュの未定乗数法(method of Lagrange multiplier)を用いる
ようにコンピュータを機能させることを特徴とする請求項８に記載のプログラム。
【請求項１０】
前記統計学習エンジンを用いて、当該次元数ｍの成分変数から３次元モデルにデコードする第１のデコーダと
して更にコンピュータを機能させることを特徴とする請求項１から９のいずれか１項に記載のプログラム。
【請求項１１】
デコードされた前記３次元モデルを、所定視点からソフトウェア上で撮影した１枚以上のグレースケール画像を作成するグレースケール画像作成手段と
してコンピュータを機能させることを特徴とする請求項１０に記載のプログラム。
【請求項１２】
第２の相関学習エンジンを用いて、対象データとしての次元数ｍの成分変数から組成値にデコードする第２のデコーダと
してコンピュータを機能させることを特徴とする請求項１から１１のいずれか１項に記載のプログラム。
【請求項１３】
前記デプス画像は、深度に応じてグレースケール階調とした画像である
ようにコンピュータを機能させることを特徴とする請求項１から１２のいずれか１項に記載のプログラム。
【請求項１４】
エンコードされた次元数ｍの成分変数を、シェア(Share)コードとして出力すると共に、当該シェアコードを、ＱＲ(Quick Response、登録商標)、ＲＦＩＤ(Radio Frequency IDentifier)又はCookieに埋め込むシェアコード出力手段と
して更にコンピュータを機能させることを特徴とする請求項１から１３のいずれか１項に記載のプログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、３次元モデルに基づく機械学習エンジンの技術に関する。
【背景技術】
【０００２】
近年、人体形状データを検知可能な３次元スキャナの技術がある（例えば非特許文献１及び２参照）。この技術によれば、人体に対する非接触の光学三角測量によって、３次元の点群データを計測する。これら点群データは、約100万点と超高密度であり、人体計測の用途では極めて小さい誤差を実現している。このような人体形状データは、体形以外の健康管理データとしても有効なものである。
【０００３】
従来、骨格モデルに重ねた筋肉モデルを、被験者の測定結果に合わせて変形させる技術がある（例えば特許文献１参照）。この技術によれば、体組成計及び３次元測定器による被験者の身体的な測定結果に基づいて、被験者自身に応じた人体モデルを作成する。人体モデルは、骨格、筋肉及び脂肪をセットにした解剖的なモデルであり、これらは、被験者の測定結果に応じて変形される。これらの骨格、筋肉及び脂肪それぞれのモデルを切り替えて表示することにより、被験者は、自らの体内の状況などを視覚的に認識することができる。
【０００４】
また、物体を特徴パラメータで表現した３次元モデルを予め格納しておき、撮像画像から検出した特徴領域の画像を、３次元モデルに適応させる技術もある（例えば特許文献２参照）。この技術によれば、特徴領域の画像に撮像されている物体を表す、３次元モデルの特徴パラメータの値を算出する。そして、その特徴パラメータの値と、特徴領域以外の領域の画像とを出力することによって、３次元画像全体のデータ量を削減している。
【０００５】
このような３次元モデルに対して、２．５次元画像を撮影可能なデプスカメラ(Depth Camera)が、一般的になってきている。デプスカメラとは、奥行き情報を取得する深度センサを内蔵したカメラをいう。通常のカメラが取得する２次元の平面的な画像(RGB)に加えて、奥行き情報(Depth)を取得することによって、３次元の立体的な情報を取得することができる。この情報は、画素毎の距離情報（深度）に応じてグレースケール階調とした「デプス画像」と称される。特に、１視点から見た３次元情報しか取得できないため、概念的に「２．５次元画像」とも称される。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１７−１７６８０３号公報
【特許文献２】特開２００９−２６８０８８号公報
【非特許文献】
【０００７】
【非特許文献１】「3D BODY SCANNER SCUVEG4」、株式会社スペースビジョン、[online]、［平成３０年１２月３１日検索］、インターネット＜URL:http://www.spacevision.tokyo/＞
【非特許文献２】「3D Body Station」、株式会社3D Body Lab、[online]、［平成３０年１２月３１日検索］、インターネット＜URL:https://www.3dbodylab.co.jp/3dbodystation/＞
【非特許文献３】「オートエンコーダ」、[online]、［平成３１年１２月３１日検索］、インターネット＜https://deepage.net/deep_learning/2016/10/09/deeplearning_autoencoder.html＞
【非特許文献４】「ＭＡＹＡ  被写界深度を調節しよう」、[online]、［平成３１年１２月３１日検索］、インターネット＜http://thankstotoday.com/modeling-depth1/ ＞
【発明の概要】
【発明が解決しようとする課題】
【０００８】
前述した非特許文献１及び２の場合、人体の３次元モデルを生成するために、規模的に且つコスト的に大きい３次元スキャナを用いる必要がある。また、３次元モデルは、その精度を高めるべく、頂点数を例えば15,000以上とし、各頂点も３次元(x,y,z)で表現するために、それら点群データの次元数は、45,000以上の膨大なデータ量となる。
【０００９】
これに対し、本願の発明者は、光学三角測量の３次元スキャナを用意することなく、所定視点から撮影するデプスカメラのみから、ユーザの体形に近い３次元モデルを簡易に対応付けることができないか、と考えた。例えばスマートフォンやその他のヘルスケアの装置に搭載されたデプスカメラによって自らの体形を撮影し、そのデプス画像から３次元モデルを対応付けることはできないか、と考えた。
【００１０】
一方で、デプス画像は、例えば高さh＝960pixel、幅w＝540pixelの場合、w*h＝518,400次元のように、膨大なデータ量となる。このような膨大なデータ量を、組込用のプロセッサで処理することは極めて難しい。
【００１１】
また、本願の発明者は、３次元モデルやデプス画像のデータを、小容量で、且つ、簡易に共有（送受信）することができないか、と考えた。特に、サービス提供者としては、ユーザの体形データを取得しても、この膨大なデータ量を瞬時に送受信させることができれば、ユーザ向け特有の様々なサービスを提供することができると思われる。
【００１２】
更に、本願の発明者は、ユーザ自らの体形を表現する３次元モデルやデプス画像は、そのユーザにとって個人情報として守秘されるべきものである、と考えた。即ち、これら膨大なデータ量を圧縮できたとしても、第三者にとって直ぐに復号できないように実装される必要もある。
【００１３】
更に、本願の発明は、ユーザ自らの体形は、外観のみならず、そのユーザの体組成値によっても大きく変化するであろう、と考えた。例えば同じ身長、腹囲及び胸囲のユーザであっても、その体組成値によっては外観が異なるのではないか、と考えた。そうすると、ヘルスケア計測器によって取得される体組成値も、外観となる３次元モデルやデプス画像と対応付けることができるのではないか、と考えた。
【００１４】
そこで、本発明によれば、計測対象ユーザをデプスカメラで撮影したデプス画像から、そのユーザの３次元モデルを生成することができるプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１５】
本発明によれば、教師データの人体の３次元モデルとデプス画像とを対応付けて学習する装置に搭載されたコンピュータを機能させるプログラムであって、
教師データの３次元モデル毎に、当該３次元モデルを１つ以上の所定視点からソフトウェア上で撮影したデプス画像を作成するデプス画像作成手段と、
教師データ群の複数体の３次元モデルから、次元圧縮された次元数ｍの成分変数を出力すると共に、統計学習モデルを構築する統計学習エンジンと、
教師データ群の複数体の３次元モデルについて、当該３次元モデルのデプス画像と、次元数ｍの成分変数との第１の相関学習モデルを構築する第１の相関学習エンジンと、
教師データ群の複数体の３次元モデルについて、少なくとも身長と１つ以上の体組成計値とを含む次元数ｎの組成値と、次元数ｍの成分変数との第２の相関学習モデルを構築する第２の相関学習エンジンと
してコンピュータを機能させることを特徴とする。
【００１６】
本発明のプログラムにおける他の実施形態によれば、
統計学習エンジンは、主成分分析(Principal Component Analysis)又はAutoEncoderに基づくものである
ようにコンピュータを機能させることも好ましい。
【００１７】
本発明のプログラムにおける他の実施形態によれば、
第１の相関学習エンジンは、畳み込みニューラルネットワークに基づくものであり、
第２の相関学習エンジンは、最小二乗法又は多層パーセプトロンに基づくものである
ようにコンピュータを機能させることも好ましい。
【００１８】
本発明のプログラムにおける他の実施形態によれば、
教師データ群の３次元モデルの複数体数は、当該３次元モデルの頂点数よりも少ないものである
ようにコンピュータを機能させることも好ましい。
【００１９】
本発明のプログラムにおける他の実施形態によれば、
第１の相関学習エンジンを用いて、対象データとしてのデプス画像から次元数ｍの成分変数へエンコードする第１のエンコーダと、
第２の相関学習エンジンを用いて、対象データとしての１体の次元数ｎの組成値から次元数ｍの成分変数へエンコードする第２のエンコーダと
してコンピュータを機能させることも好ましい。
【００２０】
本発明のプログラムにおける他の実施形態によれば、
対象データとして対応付けられたデプス画像及び組成値を入力し、第１の相関学習エンジンと、第２の相関学習エンジンとを再学習するために、
第１のエンコーダによって、対象データのデプス画像を第１の次元数ｍの成分変数にエンコードし、
第２のエンコーダによって、対象データの組成値を第２の次元数ｍの成分変数にエンコードし、
第１の次元数ｍの成分変数と、第２の次元数ｍの成分変数とを、１つの次元数ｍの成分変数に統合し、
第１の相関学習エンジンは、対象データのデプス画像と、統合された次元数ｍの成分変数とから再学習し、
第２の相関学習エンジンは、対象データの組成値と、統合された次元数ｍの成分変数とから再学習する
ようにコンピュータを機能させることも好ましい。
【００２１】
本発明のプログラムにおける他の実施形態によれば、
対象データの組成値について欠損した組成値の数が多いほど、小さくなる重みｗを付与して、次元毎に算出した、第１の次元数ｍの成分変数と第２の次元数ｍの成分変数との加重平均を、１つの次元数ｍの成分変数として統合する
ようにコンピュータを機能させることも好ましい。
【００２２】
本発明のプログラムにおける他の実施形態によれば、
対象データとして１体の次元数ｎの組成値について、ｋ（＜ｎ）個の組成値のみ決定され、その他のｎ−ｋ個の組成値が欠損していても、次元数ｍの成分変数を推定するために、ｋ個の組成値を束縛条件として、最適化された他のｎ−ｋ個の組成値を推定する欠損値推定手段と
して更にコンピュータを機能させることも好ましい。
【００２３】
本発明のプログラムにおける他の実施形態によれば、
欠損値推定手段は、ラグランジュの未定乗数法(method of Lagrange multiplier)を用いる
ようにコンピュータを機能させることも好ましい。
【００２４】
本発明のプログラムにおける他の実施形態によれば、
統計学習エンジンを用いて、当該次元数ｍの成分変数から３次元モデルにデコードする第１のデコーダと
して更にコンピュータを機能させることも好ましい。
【００２５】
本発明のプログラムにおける他の実施形態によれば、
デコードされた３次元モデルを、所定視点からソフトウェア上で撮影した１枚以上のグレースケール画像を作成するグレースケール画像作成手段と
してコンピュータを機能させることも好ましい。
【００２６】
本発明のプログラムにおける他の実施形態によれば、
第２の相関学習エンジンを用いて、対象データとしての次元数ｍの成分変数から組成値にデコードする第２のデコーダと
してコンピュータを機能させることも好ましい。
【００２７】
本発明のプログラムにおける他の実施形態によれば、
デプス画像は、深度に応じてグレースケール階調とした画像である
ようにコンピュータを機能させることも好ましい。
【００２８】
本発明のプログラムにおける他の実施形態によれば、
エンコードされた次元数ｍの成分変数を、シェア(Share)コードとして出力すると共に、当該シェアコードを、ＱＲ(Quick Response、登録商標)、ＲＦＩＤ(Radio Frequency IDentifier)又はCookieに埋め込むシェアコード出力手段と
して更にコンピュータを機能させることも好ましい。
【００２９】
【００３０】
【００３１】
【００３２】
【発明の効果】
【００３３】
本発明のプログラムによれば、計測対象ユーザをデプスカメラで撮影したデプス画像から、そのユーザの３次元モデルを生成することができる。
【図面の簡単な説明】
【００３４】
【図１】本発明の装置における学習段階の機能構成図である。
【図２】本発明の装置における学習段階の処理の流れを表す説明図である。
【図３】統計学習エンジンにおける３次元モデルのベクトル空間を表す説明図である。
【図４】統計学習エンジンにおける統計形状空間を表す説明図である。
【図５】統計学習エンジンにおける主成分分析を表す簡易なコードである。
【図６】第１の相関学習エンジンにおける畳み込みニューラルネットワークを表す簡易なコードである。
【図７】組成値から導出した組成値空間を表す説明図である。
【図８】統計形状空間と組成値空間との線形変換を表す説明図である。
【図９】第２の相関学習エンジンにおける統計形状空間と組成値空間との間の線形変換を表す簡易なコードである。
【図１０】本発明における運用段階のエンコード側の機能構成図である。
【図１１】本発明における欠損値を推定する組成値空間を表す説明図である。
【図１２】本発明における欠損値推定を表す簡易なコードである。
【図１３】本発明における運用段階のデコード側の機能構成図である。
【図１４】本発明によってデコードされた３次元モデルの精度を表す説明図である。
【図１５】本発明における運用段階の再学習を表す機能構成図である。
【図１６】本発明のエンコード側機能を体組成計に組み込んだ構成図である。
【図１７】体組成計及び端末を用いたデプスカメラの種々配置を表すシステム構成図である。
【図１８】体組成計のグリップ部分にデプスカメラを搭載した場合におけるユーザの姿勢を表す外観図である。
【図１９】図１８のユーザの姿勢によって撮影されたデプス画像からデコードされた３次元モデルの精度を表す説明図である。
【発明を実施するための形態】
【００３５】
以下では、本発明の実施の形態について、図面を用いて詳細に説明する。
【００３６】
図１は、本発明の装置における学習段階の機能構成図である。
【００３７】
図１によれば、装置１は、教師データとして、３次元モデルと組成値とを対応付けたデータ群を入力する。
本発明に実施形態によれば、３次元モデルは、人体であるとして説明する。
３次元モデル自体は、人工的に分散させて生成されたものであってもよいし、不特定多数の人体から光学スキャナによって予め取得されたものであってもよい。
組成値は、その３次元モデルに基づく人（ユーザ）から取得された体組成計値であってもよい。ここで、組成値とは、例えば身長、腹囲、胸囲のように、３次元モデルの外観からも取得可能な採寸値を含むものであってもよい。但し、本発明によれば、人体の場合、少なくとも身長は、組成値として含むことが好ましい。また、組成値には、体組成計によって計測された体重、体脂肪、内臓脂肪、骨格筋率などのように、３次元モデルの外観とは結び付かない体組成計値を含むことも好ましい。
尚、本発明の本質的には、組成値までも必須とするものではない。
【００３８】
本発明によれば、学習段階の装置１は、各学習エンジンに予め学習モデルを構築させるものである。学習モデルを構築させた後は、学習エンジン毎に、エンコーダ側若しくはデコーダ側、又は、システムの各装置に分散的に組み込むことができる。
【００３９】
本発明によれば、学習段階の装置１は、デプス画像作成部１０と、統計学習エンジン１００と、第１の相関学習エンジン１１０と、第２の相関学習エンジン１２０とを有する。これら機能構成部は、装置に搭載されたコンピュータを機能させるプログラムを実行することによって実現できる。また、これら機能構成部の処理の流れは、装置の学習方法としても理解できる。
【００４０】
図２は、本発明の装置における学習段階の処理の流れを表す説明図である。
【００４１】
［デプス画像作成部１０］
デプス画像作成部１０は、教師データの３次元モデル毎に、当該３次元モデルを１つ以上の所定視点からソフトウェア上で撮影したデプス画像を作成する。
デプス画像は、デプス（深度）画像であって、深度に応じてグレースケール階調としたものである。
【００４２】
デプス画像作成部１０は、仮想カメラの位置（所定視点）をソフトウェア上でずらすこともできる。即ち、１体の３次元モデルから、複数の異なる視点の仮想カメラから撮影した複数のデプス画像を作成することができる。例えば映像制作ソフトのＭＡＹＡ（登録商標）の場合、仮想カメラの位置を調節して、.exr形式のグレースケール（Ｚ深度）画像を作成することができる。このグレースケール画像は、深度のみの１チャネルであって、各ピクセルは、0.0〜1.0の32ビット浮動小数点数によって表される。
そして、作成されたデプス画像は、第１の相関学習エンジン１１０へ出力される。
【００４３】
［統計学習エンジン１００］
統計学習エンジン１００は、教師データ群の複数体の３次元モデルを入力し、次元圧縮された次元数ｍの成分変数を出力すると共に、統計学習モデルを構築する。
統計学習エンジンは、主成分分析(Principal Component Analysis)又はAutoEncoderに基づくものであってもよい。
【００４４】
図３は、統計学習エンジンにおける３次元モデルのベクトル空間を表す説明図である。
【００４５】
図３によれば、教師データとしては、例えば様々な体形を持つ1,000体の人体を想定している。３次元モデルは、人体又は物体の形状データであって、同一対象体に対して同一頂点数で表現される。
図３（ａ）によれば、３次元モデルは、１体毎に頂点数がN=15,000あり、各頂点は３次元(x,y,z)で表現される。即ち、１体の３次元モデルは、3N（＝45,000）次元のベクトルで表される。
図３（ｂ）によれば、３次元モデルの１体毎に、3N次元空間における１点で表される。
【００４６】
尚、一般的な機械学習エンジンによれば、膨大な数の教師データを必要とするのに対し、本発明によれば、教師データ群の複数体数は、３次元モデルの頂点数よりも少なくてもよい。即ち、教師データの人体数1,000は、３次元モデルのベクトル次元数45,000よりも少ない。本発明によれば、教師データの複数体数は、３次元モデルのベクトル次元数以上に用意する必要がなく、そうであっても十分に精度を維持することができる。
【００４７】
図４は、統計学習エンジンにおける統計形状空間を表す説明図である。
図５は、統計学習エンジンにおける主成分分析を表す簡易なコードである。
【００４８】
統計学習エンジン１００は、具体的には、主成分分析(Principal Component Analysis)に基づくものであってもよい。
「主成分分析」によって、相関のある3N次元空間の1000点から、互いに無相関で全体のばらつきを最もよく表す少数（例えば30個）の主成分（成分変数）を導出する。第１主成分の分散を最大化し、続く主成分はそれまでに決定した主成分と無相関という拘束条件の下で、分散を最大化するようにして選択される。主成分の分散を最大化することによって、観測値の変化に対する説明能力を可能な限り主成分に持たせる。主成分を与える主軸は3N次空間の1000点の群の直交基底となっている。主軸の直交性は、主軸が共分散行列の固有ベクトルになっており、共分散行列が実対称行列であることから導かれる。
【００４９】
統計学習エンジン１００は、3N次元空間に対して、主成分分析に基づく成分変数を次元数とする統計形状空間（例えば30次元）に射影させる統計学習モデルを構築する。
本発明によれば、3N(＝45,000)次元空間における各３次元モデルを、例えば30次元（成分変数）空間に射影する。主成分を与える変換は、観測値の集合からなる行列の特異値分解で表され、3N次元空間の1000点の群からなる矩形行列Ｘの特異値分解は、以下の式で表される。
Ｘ＝Ｕ*Σ*ＶT
Ｘ：3N次元空間の1000点からなる行列（1000行×3N列）
Ｕ：n(1000)×n(1000)の正方行列（n次元単位ベクトルの直交行列）
Σ：n(1000)×p(3N)の矩形対角行列（対角成分は、Ｘの特異値）
Ｖ：p(3N)×p(3N)の正方行列（p次元単位ベクトルの直交行列）
ここで、Ｖの最初の30列からなる行列をＶと改める。そして、その行列Ｖによる線形変換はＸの主成分を与える。
Ｖ：3N次元空間->統計形状(30次元)空間への変換を表す行列
Ｖ-1：統計形状(30次元)空間->3N次元空間への変換を表す行列
尚、行列の上付き添え字-1は逆行列を示す記号ではなく、行列が定めるベクトルの変換に対して、その逆変換を意味する抽象的な記号として用いている。ここでは、Ｖ-1は、Ｖの転置ＶTと等しい。
【００５０】
図４からも明らかなとおり、行列Ｖ又はＶ-1による線形変換によって、3N次元空間と統計形状空間との間で、３次元モデルの１体毎に対応付けることができる。
ｓ＝ｘ*Ｖ
ｘ＝ｓ*Ｖ-1
ｓ：統計形状空間のベクトル
ｘ：3N次元空間のベクトル
Ｖ：統計学習モデル
【００５１】
統計学習エンジン１００は、オートエンコーダ(AutoEncoder)に基づくものであってもよい。
オートエンコーダは、ニューラルネットワークの一種で、情報量を小さくした特徴表現を実現する（例えば非特許文献３参照）。具体的には、入力データの次元数よりも、隠れ層の次元を圧縮したものである。入力データを、ニューラルネットワークを通して圧縮し、出力時には元のサイズに戻す。このとき、ニューラルネットワークは、入力データの抽象的概念（特徴量）を抽出する。
オートエンコーダも、主成分分析と同様に、相関のある3N次元空間の1,000点から、互いに無相関で全体のばらつきを最もよく表す30次元の成分変数を導出する。
【００５２】
［第１の相関学習エンジン１１０］
第１の相関学習エンジン１１０は、教師データ群の複数体の３次元モデルについて、当該３次元モデルのデプス画像と、次元数ｍの成分変数との第１の相関学習モデルを構築する。
【００５３】
第１の相関学習エンジン１１０は、畳み込みニューラルネットワーク(Convolutional neural network)に基づくものであってもよい。これは、順伝播型の深層学習の一種であり、特に説明変数から目的変数を予測するべく、回帰分析として学習させることができる。
【００５４】
図６は、第１の相関学習エンジンにおける畳み込みニューラルネットワークを表す簡易なコードである。
【００５５】
畳み込みニューラルネットワークは、以下のように一方向に学習する。
説明変数：３次元モデルのデプス画像（グレースケール画像）
目的変数：統計学習エンジン１００から出力された次元数ｍの成分変数
これによって、運用段階では、説明変数としてのデプス画像を入力することによって、目的変数としての次元数ｍの成分変数を出力することができる。
【００５６】
［第２の相関学習エンジン１２０］
第２の相関学習エンジン１２０は、教師データ群の複数体の３次元モデルについて、少なくとも１つ以上の採寸箇所を含む次元数ｎの組成値と、次元数ｍの成分変数との第２の相関学習モデルを構築する。
【００５７】
図７は、組成値から導出した組成値空間を表す説明図である。
【００５８】
教師データにおける３次元モデルの人体毎に、次元数ｎの組成値が対応付けられている。
組成値は、３次元モデルと紐付けられているが、その３次元モデル自体から導出可能な１つ以上の採寸値（例えば身長や胸囲、腹囲など）を含むものであってもよい。但し、幾何学に基づく採寸箇所は、１カ所以上であることが好ましい。身長だけでもよいし、身長＋腹囲であってもよいし、身長＋腹囲＋胸囲であってもよい。
ここで、複数の組成値をその要素値とした組成値空間を導出することができる。例えば10個の組成値が付与されている場合、組成値空間は10次元となる。
【００５９】
第２の相関学習エンジン１２０は、最小二乗法又は多層パーセプトロンに基づくものであってもよい。
【００６０】
図８は、統計形状空間と組成値空間との線形変換を表す説明図である。
図９は、第２の相関学習エンジンにおける統計形状空間と組成値空間との間の線形変換を表す簡易なコードである。
【００６１】
＜最小二乗法＞
第２の相関学習エンジン１２０は、最小二乗法に基づくものであってもよい。
「最小二乗法(least squares method)」とは、複数の多次元ベクトル（データの組）から線形モデルで近似する際に、残差の二乗和が最小となる最も確からしい線形モデルを決定することをいう。
【００６２】
図８からも明らかなとおり、行列Ａ又はＡ-1による線形変換によって、統計形状空間と組成値空間との間で、３次元モデルの１体毎に対応付けることができる。
ｓ＝ｄ*Ａ
ｄ＝ｓ*Ａ-1
Ａ＝(ＤT*Ｄ)-1*ＤT*Ｓ    （||Ｄ*Ａ−Ｓ||を最小化するＡを導出する）
ｓ：統計形状空間のベクトル
ｄ：組成値空間のベクトル
Ｓ：統計形状空間のベクトルの組
Ｄ：組成値空間のベクトルの組
Ａ：相関学習モデル
【００６３】
＜多層パーセプトロン＞
第２の相関学習エンジン１２０は、多層パーセプトロンに基づくものであってもよい。
「多層パーセプトロン(Multilayer perceptron)」とは、順伝播型ニューラルネットワークであって、誤差逆伝播法と称される教師あり学習を用いており、これは、線形パーセプトロンにおける最小二乗法アルゴリズムの一般化である。
【００６４】
図１０は、本発明における運用段階のエンコード側の機能構成図である。
【００６５】
図１０によれば、装置１は、第１の相関学習エンジン１１０を用いる第１のエンコーダ１１１と、第２の相関学習エンジン１２０を用いる第２のエンコーダ１２１と、欠損値推定部１２２と、シェアコード出力部１３とを更に有する。これら機能構成部は、装置に搭載されたコンピュータを機能させるプログラムを実行することによって実現できる。また、これら機能構成部の処理の流れは、装置のエンコード方法としても理解できる。
尚、第１のエンコーダ１１１と、第２のエンコーダ１２１及び欠損値推定部１２２とは、装置１の用途に応じて、いずれか一方のみを備えたものであってもよい。
【００６６】
［第１のエンコーダ１１１］
第１のエンコーダ１１１は、第１の相関学習エンジン１１０を用いて、対象データとしてのデプス画像から次元数ｍの成分変数へエンコードする。エンコードされた次元数ｍの成分変数は、デプス画像を認識できない秘匿性を持つ。そのために、個人情報としてのデプス画像が守秘情報である場合に適する。
エンコードされた次元数ｍの成分変数は、シェアコード出力部１３へ出力される。
【００６７】
第１のエンコーダ１１１は、入力された対象データのデプス画像に対して、＜大津の判別分析機能＞を適用したものであってもよい。
【００６８】
＜大津の判別分析機能＞
Ｓ１：物体抽出段階
物体抽出のために、以下の３つのステップを要する。
（Ｓ１１）人体と背景との両方を含む対象デプス画像を入力する。
（Ｓ１２）２値化処理によって２つのクラス（物体部分と非物体部分）に分離した２値画像を生成する。この２値化処理に、例えば「大津の判別分析法(discriminant analysis method)」を適用した場合、分離度(separation metrics)という値が最大となる閾値を求め、自動的に２値化することができる。分離度は、クラス間分散(between-class variance)とクラス内分散(within-class variance)との比で求める。
（Ｓ１３）Ｓ１１で入力された対象デプス画像を、Ｓ１２で算出された２値化画像によってマスク処理して、人体のみのデプス画像を抽出する。
【００６９】
Ｓ２：正規化段階
正規化のために、以下の５つのステップを要する。
（Ｓ２１）物体抽出段階によって抽出したデプス画像の画像平面上のピクセル座標p=(x,y,z)から、３次元座標P=(X,Y,Z)を計算する。
各点P＝(X,Y,Z)について、X＝x*z/f, Y＝y*z/f, Z＝(Max-Min)*z+Min
＜既知のカメラ仕様＞
焦点距離(物理) F (mm)
焦点距離(ピクセル) f＝(fx,fy)=(F*sx,F*sy) (pixel)
ピクセルサイズ s＝(sx,sy) (pixel/mm)
深度測定距離 Min,Max (mm)
（Ｓ２２）物体のデプス画像からバウンディングボックスを特定し、その重心を決定する。
（Ｓ２３）Ｓ２２によって決定された重心に基づいて、デプス画像を所定の重心に平行移動する。
（Ｓ２４）Ｓ２３によって平行移動されたデプス画像に対して、画像平面上のピクセル座標を計算する。
各点p＝(x,y,z)について、x＝X*f/Z, y＝Y*f/Z, z＝(Z-Min)/(Max-Min)
（Ｓ２５）Ｓ２４によって計算されたピクセル座標は必ずしも整数値ではないので、補完を使って最終的なピクセル座標を計算する。
（Ｓ２６）Ｓ５によって補完されたデプス画像を、対象データとして、第１の相関学習エンジン１１０へ入力する。
【００７０】
［第２のエンコーダ１２１］
第２のエンコーダ１２１は、第２の相関学習エンジン１２０を用いて、対象データとしての１体の次元数ｎの組成値から次元数ｍの成分変数へエンコードする。この場合も、エンコードされた次元数ｍの成分変数は、組成値を認識できない秘匿性を持つ。
エンコードされた次元数ｍの成分変数は、シェアコード出力部１３へ出力される。
【００７１】
［欠損値推定部１２２］
欠損値推定部１２２は、オプション的な他の実施形態として、入力された対象データの組成値に対して、欠損値を推定する。
【００７２】
図１１は、本発明における欠損値を推定する組成値空間を表す説明図である。
図１２は、本発明における欠損値推定を表す簡易なコードである。
【００７３】
組成値空間は、教師データ群の３次元モデルに対応付けられた、固定の次元数ｎ（＝10）の組成値を表すものである。
ここで、欠損値推定部１２２は、対象データとして１体の次元数ｎの組成値について、ｋ（＜ｎ）個の組成値のみが決定され、その他のｎ−ｋ個の組成値が欠損していてもよい。即ち、本発明によれば、教師データ群によって例えば10次元の組成値空間から第２の相関学習モデルを構築したとしても、例えばｋ＝3個の組成値のみを入力することによって、次元数ｍの成分変数を推定することができる。
【００７４】
図１１によれば、組成値（10次元）空間上に、超楕円体の等値面が表されている。超楕円体とは、楕円を次元数ｎ（＝10）次元へ拡張したような図形をいう。等値面とは、その次元（＝10）上に描かれる等高線図をいう。ここで、分散共分散行列Ｃ＝ＤT*Ｄは既知であるとする。
超楕円体を表す二次形式（ｘ：列ベクトル）
ｆ(ｘ)＝ｘT*Ｃ-1*ｘ
Ｃ-1：対称行列
※実際には分散共分散行列はＣ＝ＤT*Ｄ／教師データ群数
※-1は、逆行列を示す
【００７５】
本発明によれば、ｋ個の組成値を束縛条件として、最適化された他のｎ−ｋ個の組成値を含む次元数ｍの成分変数を算出する。これには、ラグランジュの未定乗数法(method of Lagrange multiplier)を用いる。
【００７６】
ラグランジュの未定乗数法とは、束縛条件のもとで最適化する解析方法であって、いくつかの変数に対して、いくつかの関数の値を固定するという束縛条件のもとで、別のある１つの関数の極値を求めるという問題を考える。各束縛条件に対して、定数（未定乗数、Lagrange multiplier）を用意し、これらを係数とする線形結合を新しい関数（未定乗数も新たな変数とする）として考えることで、束縛問題を普通の極値問題として解く。
【００７７】
制約条件ｇj(ｘ1,・・・,ｘn)＝０（j＝1,・・・,k）の下で、関数ｆ(ｘ1,・・・,ｘn)が極値をとる点について、
Ｆ(ｘ1,・・・,ｘn,λ1,・・・,λk)
＝ｆ(ｘ1,・・・,ｘn)＋Σλjｇj(ｘ1,・・・,ｘn)
とすることによって、以下の式を満たす。
dＦ／dｘi＝０  （i＝1,・・・,n）
dＦ／dλj＝０  （j＝1,・・・,k）
【００７８】
組成値の欠損値推定の場合に、k個の組成値が与えられた場合、制約条件ｇj(ｘ)＝０（j＝1,・・・,k）は、10次元空間上のアフィン超平面を表す一次方程式であり、以下の式で表される。
アフィン超平面を表す一次方程式
ｇj(ｘ)＝ｎjT*(ｘ−ｐj)＝０
n：超平面の法線ベクトル
p：超平面上の点
特に、それぞれの超平面は基底に直交する（nの方向が基底方向に一致する）ために、以下のようになる。
ｇj(ｘ)＝ｘi−ｙj＝０
ｙj：j番目の組成値
ｘi：対応するｘの要素
制約条件の下で、関数ｆ(ｘ)の最小値を求めることは、与えられた組成値の下で、平均に最も近い体形を求めることとなる。
【００７９】
10次元空間の場合、具体的には、以下のように表される。
ｘ：10次元列ベクトル
ｙ：k個の組成値を含む10次元列ベクトル (k個以外の組成値の値は任意)
λ：ラグランジュ乗数を要素とするk次元列ベクトル
Ｏ：k行10列の行列  各行は与えられた組成値に応じたone-hot行ベクトル
Ｃ：分散共分散行列
ｆ(ｘ)＝1/2*ｘT*Ｃ-1*ｘ
ｇ(ｘ)＝Ｏ*(ｙ−ｘ)
Ｆ(ｘ)＝ｆ(ｘ)＋λT*ｇ(ｘ)
dＦ／dｘ＝Ｃ-1*ｘ−ＯT*λ＝０    （１）
dＦ／dλ＝Ｏ*(ｙ−ｘ)＝０      （２）
（１）より、ｘ＝Ｃ*ＯT*λ      （３）
（３）を（２）に代入
Ｏ*ｙ−Ｏ*Ｃ*ＯT*λ＝０
λ＝(Ｏ*Ｃ*ＯT)-1*Ｏ*ｙ
λを（３）に代入
ｘ＝Ｃ*ＯT*(Ｏ*Ｃ*ＯT)-1*Ｏ*ｙ
【００８０】
［シェアコード出力部１３］
シェアコード出力部１３は、エンコードされた次元数ｍの成分変数を、シェア(Share)コードとして出力する。
本発明によれば、３次元モデルを、成分変数（４バイト）で３０次元とした場合、１２０バイトで表すことができる。
このとき、当該シェアコードを、ＱＲ(Quick Response、登録商標)、ＲＦＩＤ(Radio Frequency IDentifier)又はCookieに埋め込むものであってもよい。
【００８１】
ＱＲコードは、マトリックス型２次元コードであり、バイナリで最大2,953バイトを記述することができる。一般的なスマートフォンでは、ＱＲコードをディスプレイに表示することもできるし、そのＱＲコードをカメラで読み取ることができる。
【００８２】
また、タグとしては、ＲＦＩＤとは、ＲＦタグに記述された情報を、電磁界や電波を用いた近距離無線通信によって通信する技術をいう。例えばFelica（登録商標）であって、電子マネーや乗車カードに用いられている。
本発明によれば、例えば３次元モデルの成分変数を、ＲＦタグに記述しておくだけで、リーダによって瞬時に読み取らせることができる。ＲＦタグから成分変数を読み取ったリーダは、その成分変数に対応した３次元モデルを瞬時にディスプレイに表示することもきる。
このユーザインタフェースによれば、組成値に対応する３次元モデルと、その３次元モデルの成分変数が記述されたＱＲコードとを、一見することができる。特に、ＱＲコードを、カメラによって読み取らせるだけで、３次元モデルを共有することできる。
【００８３】
図１３は、本発明における運用段階のデコード側の機能構成図である。
【００８４】
図１３によれば、デコード側の装置１は、シェアコード入力部１４と、統計学習エンジン１００を用いる第１のデコーダと１１３と、第２の相関学習エンジン１２０を用いる第２のデコーダ１２３と、グレースケール画像作成部１５とを有する。これら機能構成部は、装置に搭載されたコンピュータを機能させるプログラムを実行することによって実現できる。また、これら機能構成部の処理の流れは、装置のエンコード方法としても理解できる。
尚、統計学習エンジン１００及び第１のデコーダ１１３と、第２の相関学習エンジン１２０及び第２のデコーダ１２３とは、装置１の用途に応じて、いずれか一方のみを備えたものであってもよい。
【００８５】
［第１のデコーダ１１３］
第１のデコーダ１１３は、統計学習エンジン１００を用いて、当該次元数ｍの成分変数から３次元モデルにデコードする。これによって、シェアコードから３次元モデルを生成することができる。
【００８６】
［グレースケール画像作成部１５］
グレースケール画像作成部１５は、デコードされた３次元モデルを、所定視点からソフトウェア上で撮影した１枚以上のグレースケール画像を作成する。これによって、シェアコードから、生成された３次元モデルの任意の視点から見たグレースケール画像を生成することができる。
【００８７】
［第２のデコーダ１２３］
第２のデコーダ１２３は、第２の相関学習エンジン１２０を用いて、対象データとしての次元数ｍの成分変数から組成値にデコードする。これによって、シェアコードから組成値を生成することができる。
【００８８】
図１４は、本発明によってデコードされた３次元モデルの精度を表す説明図である。
【００８９】
図１４によれば、左側には、４つのモデルとなる対象データの人体が表されている。
中央には、その対象データの人体を、デプスカメラで撮影したデプス画像が表されている。
右側には、そのデプス画像をエンコードしてシェアコードを作成した後、そのシェアコードをデコードして生成した３次元モデルが表されている。
ここで特徴的な点として、左側の対象データの人体と、右側の生成された３次元モデルとが、ほぼ同じ体形となっている。
尚、エンコード及びデコードには、第１の相関学習エンジン１１０を用いた第１のエンコーダ１１１と、統計学習エンジン１００を用いた第１のデコーダ１１３とから実現しており、組成値までは含めていない。
【００９０】
図１５は、本発明における運用段階の再学習を表す機能構成図である。
【００９１】
図１５によれば、対象データとして対応付けられたデプス画像及び組成値を入力し、第１の相関学習エンジンと、第２の相関学習エンジンとを再学習する。
統合部１６は、第１のエンコーダ１１１によってエンコードされた対象データの第１の次元数ｍの成分変数と、  第２のエンコーダ１２１によってエンコードされた第２の次元数ｍの成分変数とを入力する。そして、統合部１６は、第１の次元数ｍの成分変数と、第２の次元数ｍの成分変数とを、１つの次元数ｍの成分変数に統合する。
このとき、図１２のシェアコード出力部１３の統合機能と同様に、対象データの組成値について欠損した組成値の数が多いほど、小さくなる重みｗを付与して、次元毎に算出した、第１の次元数ｍの成分変数と第２の次元数ｍの成分変数との加重平均を、１つの次元数ｍの成分変数として統合する。
これによって、デプスカメラによって撮影されたデプス画像、又は、体組成計によって計測された体組成値の一方のみに強く依存したシェアコードにならないようにすることができる。
尚、組成値について欠損した組成値の数が明確であることを要する。この場合、シェアコードに、別途、欠損した組成値がデコード側で検出することができるように、組成値１０次元に対応する１０ビットによって、入力値１／欠損値０のようにフラグを立てておくことも好ましい。
【００９２】
第１の相関学習エンジン１１０は、対象データのデプス画像と、統合された次元数ｍの成分変数とから再学習する。
同様に、第２の相関学習エンジン１２０は、対象データの組成値と、統合された次元数ｍの成分変数とから再学習する。
【００９３】
図１６は、本発明のエンコード側機能を体組成計に組み込んだ構成図である。
【００９４】
本発明の体組成計には、組成値の計測対象ユーザを、部分的又は全体的に撮影するデプスカメラが搭載されている。特に、そのデプスカメラは、人が手で把持するグリップに搭載されている。
計測対象ユーザは、体組成計の上に立つと共に、電極が装着されたグリップを両手で把持する。そして、腕を水平に上げて、肘を伸ばす。これによって、腕と背筋とが垂直となり、その両手に把持されたグリップが顔の正面に位置する。このとき、グリップに搭載されたデプスカメラが、顔の正面からその計測対象ユーザの上半身を含む部分的な体形を撮影することができる。
【００９５】
図１６によれば、人の組成値を計測する体組成計に、図１０のエンコード側機能が組み込まれている。
これによって、デプスカメラによって撮影されたデプス画像を次元数ｍの成分変数へエンコードし、当該次元数ｍの成分変数と自ら計測した組成値とを対応付けることができる。
【００９６】
また、図１６によれば、シェアコード出力部１３には、統合機能を含むものであってもよい。
統合機能とは、第１のエンコーダ１１１から出力された第１の次元数ｍの成分変数と、第２のエンコーダ１２１から出力された第２の次元数ｍの成分変数とを統合したシェアコードを出力する。
これによって、デプスカメラによって撮影されたデプス画像、又は、体組成計によって計測された体組成値の一方のみに強く依存したシェアコードにならないようにすることができる。
【００９７】
ここで、対象データの組成値について欠損した組成値の数が多いほど、小さくなる重みｗを付与して、次元毎に算出した、第１の次元数ｍの成分変数と第２の次元数ｍの成分変数との加重平均を、１つの次元数ｍの成分変数として統合する。
【００９８】
図１７は、体組成計及び端末を用いたデプスカメラの種々配置を表すシステム構成図である。
【００９９】
前述した図１６によれば、１台の体組成計に、体組成値計測部とデプスカメラとの両方が搭載されている。
これに対し、図１７（ａ）によれば、人の組成値を計測する体組成計は、組成値の計測対象ユーザを、部分的又は全体的に撮影するデプスカメラを搭載した端末（例えばスマートフォン）と通信可能である。
体組成計は、端末から、デプスカメラによって撮影されたデプス画像を受信すると共に、当該デプス画像を次元数ｍの成分変数へエンコードし、当該次元数ｍの成分変数と自ら計測した組成値とを対応付けることができる。
【０１００】
図１７（ｂ）によれば、端末は、人の組成値を計測する体組成計と通信可能であって、組成値の計測対象ユーザを、部分的又は全体的に撮影するデプスカメラを搭載したものである。
端末は、体組成計によって計測された組成値を受信すると共に、デプスカメラによって撮影されたデプス画像を次元数ｍの成分変数へエンコードし、当該次元数ｍの成分変数と体組成計から受信した組成値とを対応付けることができる。
【０１０１】
図１７（ｃ）によれば、端末は、人の組成値を計測し、且つ、当該組成値の計測対象ユーザを部分的又は全体的に撮影するデプスカメラを搭載した体組成計と通信可能である。
端末は、体組成計から、計測された組成値と、デプスカメラによって撮影されたデプス画像とを受信すると共に、デプス画像を次元数ｍの成分変数へエンコードし、当該次元数ｍの成分変数と組成値とを対応付けることができる。
【０１０２】
図１８は、体組成計のグリップ部分にデプスカメラを搭載した場合におけるユーザの姿勢を表す外観図である。
【０１０３】
図１８によれば、体組成計のグリップ部分から撮影可能なデプス画像の画角を表している。具体的には、デプスカメラは、画角７０度で、水平方向から下方に２０度傾いている。この場合、デプス画像には、頭部分や膝下部分、手首部分は映り込んでいないが、そのデプス画像をエンコード及びデコードすることによって、３次元モデルを生成することができる。
【０１０４】
図１９は、図１８のユーザの姿勢によって撮影されたデプス画像からデコードされた３次元モデルの精度を表す説明図である。
【０１０５】
図１９によれば、左側には、４つのモデルとなる対象データの人体が表されている。
中央には、その対象データの人体が、図１８と同じ姿勢で、体組成計のグリップ部分からデプスカメラで撮影したデプス画像が表されている。
右側には、そのデプス画像をエンコードしてシェアコードを作成した後、そのシェアコードをデコードして生成した３次元モデルが表されている。
ここで特徴的な点として、左側の対象データの人体と、右側の生成された３次元モデルとが、ほぼ同じ体形となっている。
尚、図１４と同様に、エンコード及びデコードには、第１の相関学習エンジン１１０を用いた第１のエンコーダ１１１と、統計学習エンジン１００を用いた第１のデコーダ１１３とから実現しており、組成値としては身長のみを考慮している。
【０１０６】
以上、詳細に説明したように、本発明のプログラムによれば、計測対象ユーザをデプスカメラで撮影したデプス画像から、そのユーザの３次元モデルを生成することができる。
【０１０７】
前述した本発明の種々の実施形態について、本発明の技術思想及び見地の範囲の種々の変更、修正及び省略は、当業者によれば容易に行うことができる。前述の説明はあくまで例であって、何ら制約しようとするものではない。本発明は、特許請求の範囲及びその均等物として限定するものにのみ制約される。
【符号の説明】
【０１０８】
１  装置
１０  デプス画像作成部
１００  統計学習エンジン
１１０  第１の相関学習エンジン
１１１  第１のエンコーダ
１１３  第１のデコーダ
１２０  第２の相関学習エンジン
１２１  第２のエンコーダ
１２２  欠損値推定部
１２３  第２のデコーダ
１３  シェアコード出力部
１４  シェアコード入力部
１５  グレースケール画像作成部
１６  統合部
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】図１
【補正方法】変更
【補正の内容】
【図１】
2020112899.tif 000022
【手続補正４】
【補正対象書類名】図面
【補正対象項目名】図２
【補正方法】変更
【補正の内容】
【図２】
2020112899.tif 000023
【手続補正５】
【補正対象書類名】図面
【補正対象項目名】図９
【補正方法】変更
【補正の内容】
【図９】
2020112899.tif 000024
【手続補正６】
【補正対象書類名】図面
【補正対象項目名】図１０
【補正方法】変更
【補正の内容】
【図１０】
2020112899.tif 000025
【手続補正７】
【補正対象書類名】図面
【補正対象項目名】図１３
【補正方法】変更
【補正の内容】
【図１３】
2020112899.tif 000026
【手続補正８】
【補正対象書類名】図面
【補正対象項目名】図１４
【補正方法】変更
【補正の内容】
【図１４】
2020112899.tif 000027
【手続補正９】
【補正対象書類名】図面
【補正対象項目名】図１５
【補正方法】変更
【補正の内容】
【図１５】
2020112899.tif 000028
【手続補正１０】
【補正対象書類名】図面
【補正対象項目名】図１６
【補正方法】変更
【補正の内容】
【図１６】
2020112899.tif 000029
【手続補正１１】
【補正対象書類名】図面
【補正対象項目名】図１７
【補正方法】変更
【補正の内容】
【図１７】
2020112899.tif 000030
【手続補正１２】
【補正対象書類名】図面
【補正対象項目名】図１９
【補正方法】変更
【補正の内容】
【図１９】
2020112899.tif 000031