(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-11-13
(54)【発明の名称】皮膚処理のための身体部分測定の方法及びシステム
(51)【国際特許分類】
G06V 10/82 20220101AFI20241106BHJP
G06T 7/00 20170101ALI20241106BHJP
G06T 7/60 20170101ALI20241106BHJP
【FI】
G06V10/82
G06T7/00 350C
G06T7/60 150S
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024529400
(86)(22)【出願日】2022-11-22
(85)【翻訳文提出日】2024-05-16
(86)【国際出願番号】 EP2022082801
(87)【国際公開番号】W WO2023094377
(87)【国際公開日】2023-06-01
(31)【優先権主張番号】202141054331
(32)【優先日】2021-11-24
(33)【優先権主張国・地域又は機関】IN
(32)【優先日】2021-12-07
(33)【優先権主張国・地域又は機関】EP
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】590000248
【氏名又は名称】コーニンクレッカ フィリップス エヌ ヴェ
【氏名又は名称原語表記】Koninklijke Philips N.V.
【住所又は居所原語表記】High Tech Campus 52, 5656 AG Eindhoven,Netherlands
(74)【代理人】
【識別番号】100122769
【氏名又は名称】笛田 秀仙
(74)【代理人】
【識別番号】100163809
【氏名又は名称】五十嵐 貴裕
(74)【代理人】
【識別番号】100145654
【氏名又は名称】矢ヶ部 喜行
(72)【発明者】
【氏名】マイティ レーヴュ
(72)【発明者】
【氏名】パティル ラヴィンドラ
(72)【発明者】
【氏名】グッタ スリニヴァス
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096FA01
5L096FA09
5L096FA64
5L096FA69
5L096GA10
5L096HA11
5L096KA04
5L096KA15
(57)【要約】
入力画像内の身体部分の寸法の測定値を出力するための、1つ又は複数のコンピュータによって実行される方法であって、画像キャプチャユニットを使用してキャプチャされた入力画像を受信するステップであって、前記入力画像が、前記身体部分と予め規定された寸法の基準オブジェクトとを含む、ステップと、前記入力画像のセグメンテーションマスクを予測するステップであって、前記セグメンテーションマスクは、前記入力画像内の背景領域の画像ピクセルから前記身体部分の画像ピクセルを区別する、ステップと、前記入力画像内の前記基準オブジェクトを処理して前記基準オブジェクトのピクセル寸法を予測するステップと、前記セグメンテーションマスクを使用して、前記身体部分の複数のキーポイントのピクセル座標を取得するステップと、前記基準オブジェクトの予測されたピクセル寸法に基づいて、前記取得されたピクセル座標を修正するステップと、前記修正されたピクセル座標に基づいて、前記身体部分の寸法の測定値を出力するステップと、を有する方法が提供される。電子装置の画像キャプチャユニットによってキャップチャされた入力画像内の身体部位の寸法の測定値を出力するように電子装置を制御するために使用される複数のニューラルネットワークを訓練する方法及びそのシステムが提供される。
【特許請求の範囲】
【請求項1】
入力画像内の身体部分の寸法の測定値を出力するための、1つ又は複数のコンピュータによって実行される方法であって、
画像キャプチャユニットを使用してキャプチャされた入力画像を受信するステップであって、前記入力画像は、身体部分と、所定の寸法の基準オブジェクトとを有する、ステップと、
セグメンテーションディープニューラルネットワーク(S-DNN)によって、前記入力画像のセグメンテーションマスクを予測するステップであって、前記セグメンテーションマスクは、前記入力画像内の背景領域の画像ピクセルから前記身体部分の画像ピクセルを区別する、ステップと、
オブジェクト検出ディープニューラルネットワーク(OD-DNN)によって、前記入力画像内の基準オブジェクトを検出し、前記検出された基準オブジェクトを処理して前記基準オブジェクトのピクセル寸法を予測するステップと、
前記セグメンテーションマスクを用いて、前記身体部位の複数のキーポイントのピクセル座標を取得するステップと、
前記基準オブジェクトの予測されたピクセル寸法に基づいて、取得されたピクセル座標を修正するステップと、
修正されたピクセル座標に基づいて前記身体部分の寸法を測定し、測定された前記身体部分の寸法を出力するステップと、
を有する方法。
【請求項2】
前記S-DNNは、セマンティックS-DNNであり、前記セグメンテーションマスク内の前記身体部分の前記画像ピクセルが第1のクラスに関連し、前記セグメンテーションマスク内の前記背景領域の前記画像ピクセルが第2のクラスに関連する、請求項1に記載の方法。
【請求項3】
前記OD-DNNは、前記基準オブジェクトの予め規定された寸法及び予測されたピクセル寸法に基づいて、単一ピクセルによって表される前記入力画像に示される環境の寸法に対応するピクセルあたり測定値を計算するように構成される、請求項1又は請求項2に記載の方法。
【請求項4】
前記セグメンテーションマスク及び/又は前記基準オブジェクトの前記ピクセル寸法の将来の予測のために、前記入力画像、前記セグメンテーションマスク、前記基準オブジェクトの前記予測されたピクセル寸法、及び前記身体部分の前記寸法の出力される測定値のうちの少なくとも1つを使用する、請求項1乃至4のいずれか1項に記載の方法。
【請求項5】
前記セグメンテーションマスクを使用して前記身体部分の複数のキーポイントのピクセル座標を取得するステップが、
前記セグメンテーションマスク上の複数の座標軸の規定するステップと、
前記セグメンテーションマスク上の前記身体部分の特定の領域のうち、複数の座標軸の中の少なくとも1つの選択された座標軸に沿った極大及び/又は極小座標を有する画像ピクセルを識別するステップと、
特定領域の特定されたピクセルに基づいて、身体部分の複数のキーポイントのピクセル座標を取得するステップと、
を有する、請求項1乃至4のいずれか1項に記載の方法。
【請求項6】
コンピュータプログラムであって、1つ又は複数のコンピュータによって実行される場合に、前記1つ又は複数のコンピュータに請求項1乃至5のいずれか1項に記載の方法のステップを実行させる命令を有するコンピュータプログラム。
【請求項7】
1つ又は複数のコンピュータと、前記1つ又は複数のコンピュータによって実行される場合に、前記1つ又は複数のコンピュータに請求項1乃至5のいずれか1項に記載の方法を実行させる命令を記憶した1つ又は複数の記憶装置と、を有するシステム。
【請求項8】
電子装置を制御して入力画像内の身体部分の寸法の測定値を出力するために使用される複数のニューラルネットワークを訓練する方法であって、前記入力画像は、前記電子装置の画像キャプチャユニットによってキャプチャされ、前記複数のニューラルネットワークは、オブジェクト検出ディープニューラルネットワーク(OD-DNN)及びセグメンテーションディープニューラルネットワーク(S-DNN)を有し、前記方法は、
前記S-DNN及び前記OD-DNNのニューラルネットワークパラメータ値を初期化するステップと、
複数の画像を有する訓練データセットを取得するステップであって、各画像は、前記身体部分と、予め規定された寸法の基準オブジェクトとを有する、ステップと、
前記訓練データセットの画像内の前記基準オブジェクト及び前記身体部分に注釈付けし、注釈付き訓練データセットを生成するステップと、
前記注釈付き訓練データセットの部分をバリデーションデータセットに分けるステップと、
前記注釈付き訓練データセットを前記OD-DNNに入力するステップであって、前記OD-DNNが、前記入力画像内の前記基準オブジェクトを検出し、前記検出された基準オブジェクトを処理して前記基準オブジェクトのピクセル寸法を予測する、ステップと、
前記注釈付き訓練データセットを前記S-DNNに入力するステップであって、前記S-DNNが、前記入力画像のセグメンテーションマスクを予測することを学習するように、前記セグメンテーションマスクは、前記身体部分の画像ピクセルを、前記入力画像内の背景領域の画像ピクセルから区別する、ステップと、
前記バリデーションデータセットを使用して、前記OD-DNNによって学習された前記基準オブジェクトのピクセル寸法と、前記S-DNNによって学習された前記セグメンテーションマスクとを検証するステップと、
前記検証に基づいて、前記S-DNN及び前記OD-DNNのニューラルネットワークパラメータ値を更新するステップと、
を有する方法。
【請求項9】
前記OD-DNN及び前記S-DNNは、任意の画像内のオブジェクトを検出し、前記任意の画像をセマンティックにセグメント化して、特定の画像クラスの少なくとも1つのセグメントマスクを生成するように予め訓練される、請求項8に記載の方法。
【請求項10】
前記基準オブジェクト及び前記身体部分を注釈付けすることが、
境界ボックスを使用して訓練データセットの各画像に含まれる前記基準オブジェクトに注釈付けすることと、
前記訓練データセットの各画像における前記身体部分の画像ピクセルに注釈付けすることと、
を有し、前記身体部分は、第1のクラスに関連する、請求項8又は請求項9に記載の方法。
【請求項11】
前記OD-DNNは更に、前記基準オブジェクトの前記予め規定された寸法及び前記予測されたピクセル寸法に基づいて、単一ピクセルによって表現される前記入力画像に示される前記環境の寸法に対応する、ピクセル当たり測定値を計算するように学習される、請求項8から10のいずれかに記載の方法。
【請求項12】
前記S-DNN及びOD-DNNを反復的に訓練するために、前記複数の画像を備える前記訓練データセットを周期的に取得するステップを更に有する、請求項8から11のいずれかに記載の方法。
【請求項13】
前記訓練データセットを拡張するために、前記訓練データセット内の各画像の複数のバージョンを生成するステップを更に有する、請求項8から12のいずれか1項に記載の方法。
【請求項14】
コンピュータプログラムであって、1つ又は複数のコンピュータによって実行される場合、前記1つ又は複数のコンピュータに請求項8乃至請求項13のいずれか1項に記載の方法のステップを実行させる命令を有するコンピュータプログラム。
【請求項15】
1つ又は複数のコンピュータと、
前記1つ又は複数のコンピュータによって実行される場合、前記1つ又は複数のコンピュータに請求項8乃至請求項13のいずれか1項に記載の方法を実行させる命令を記憶した1つ又は複数の記憶装置と、
を有するシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、皮膚処理装置に用いられる方法に関し、具体的には、入力画像における身体部位の寸法の測定値を出力するニューラルネットワークを用いて1又は複数のコンピュータによって実行される方法、コンピュータプログラム、及びそのシステムに関する。本発明は更に、電子装置を制御して入力画像内の身体部分の寸法の測定値を出力するために使用されるニューラルネットワークを訓練する方法、ニューラルネットワークを訓練するためのコンピュータプログラム、及びその方法及びシステムに関する。
【背景技術】
【0002】
皮膚処理装置は、スマートフォンやタブレットなどの電子装置にダウンロードできるソフトウェアアプリケーション(アプリ)を利用するのが一般的である。これらの電子装置は、ワイヤレスフィデリティ(WiFi)やブルートゥースなどの接続手段によって、皮膚処理装置に結合される。アプリは、皮膚処理装置の動作制御や、ユーザへのメッセージ表示などに使用することができる。
【発明の概要】
【発明が解決しようとする課題】
【0003】
皮膚処理に関連する動作制御のために、アプリは、電子装置の適切なユーザインタフェース(例えば、タッチスクリーン)を介して、身体部分の長さなどの寸法を入力するようにユーザに促すことができる。従来、ユーザは、例えば標準的な測定メジャーを使用して、皮膚処理装置によって処理される身体部分の長さを手動で測定する。入力される長さは、ユーザにカスタマイズされる処理パラメータを計算するためにアプリによって使用される。例えば、強力パルス光(Intense Pulsed Light、IPL)装置のような皮膚処理において、処理パラメータは、身体部分をトリートメントするために必要とされる多数の光フラッシュ、光の強度などを含む。
【0004】
本発明の目的は、身体部分の寸法の測定を自動化することができ、ユーザにとってより利便性のある改良されたソリューションを提供することである。
【0005】
ユーザはまた、測定において間違いを生じやすく、その結果、処理パラメータの不正確な計算をもたらす。本発明の別の目的は、測定される身体部分の精度を改善することができるソリューションを提供することである。
【0006】
コンピュータビジョンの分野では、人体のキーポイント検出は、画像内の人体のキーポイント又は基準点の検出に関連する。しかしながら、この方法では複雑な画像処理ルーチンが必要なため、リアルタイムアプリケーションでは処理速度が遅くなる。
【課題を解決するための手段】
【0007】
本発明の更に別の目的は、キーポイント検出などの画像処理方法に関連する課題に対処する自動化されたソリューションを提供することである。これは、ニューラルネットワーク及びキーポイント検出に基づくハイブリッド方法の使用によって達成される。
【0008】
ニューラルネットワークは、受信した入力に対する出力を予測するために非線形ユニットの1つ又は複数の層を使用する機械学習モデルである。いくつかのニューラルネットワークは、出力層に加えて1つ又は複数の隠れ層を有するディープニューラルネットワークである。各隠れ層の出力は、ネットワーク内の次の層、すなわち、次の隠れ層又は出力層への入力として使用される。ネットワークの各層は、それぞれのパラメータセットの現在の値に従って、受信した入力から出力を生成する。
【0009】
本発明の更に別の目的は、電子装置上の入力画像における身体部分の寸法の測定値を出力するために使用できるニューラルネットワークを訓練するための技術を提供することである。
【0010】
本明細書の主題の1つ又は複数の実施形態の詳細は、添付の図面及び以下の説明に記載される。主題の他の特徴、態様、及び利点は、説明、図面、及び特許請求の範囲から明らかになる。例えば、本明細書は、本明細書に開示される技術のいずれかを実行するための、コンピュータ記憶媒体上に符号化されたコンピュータプログラムを含む、方法、システム、及び装置を提供する。いくつかの実施形態では、コンピュータプログラムは、コンピューティング装置によって実行される場合に、コンピュータプログラムに、本明細書に開示される技術のいずれかを実行させる命令を含む。
【0011】
一態様では、入力画像内の身体部分の寸法の測定値を出力するための、1つ又は複数のコンピュータによって実行される方法及びそのシステムが提供される。本方法は、画像キャプチャユニットを使用してキャプチャされた入力画像を受信するステップであって、入力画像は、身体部分と、予め規定された寸法の基準オブジェクトとを含む、ステップと、セグメンテーションディープニューラルネットワーク(S-DNN)によって、入力画像のセグメンテーションマスクを予測するステップであって、セグメンテーションマスクは、入力画像内の背景領域の画像ピクセルから身体部分の画像ピクセルを区別する、ステップと、オブジェクト検出ディープニューラルネットワーク(OD-DNN)によって、入力画像内の基準オブジェクトを検出し、検出された基準オブジェクトを処理して基準オブジェクトのピクセル寸法を予測するステップと、セグメンテーションマスクを使用して、身体部分の複数のキーポイントのピクセル座標を取得するステップと、基準オブジェクトの予測されたピクセル寸法に基づいて、取得されたピクセル座標を修正するステップと、修正されたピクセル座標に基づいて身体部分の寸法を測定し、測定された身体部分の寸法を出力するステップと、を有する。
【0012】
本方法及びシステムは、ユーザの身体部分の寸法の測定を自動化することができる改良された測定ソリューションを提供し、このソリューションを組み込んだ装置を一層ユーザフレンドリにする。その中で使用される特徴の結果として、このソリューションはまた、身体部分の測定の精度を改善する。本方法は、画像処理ルーチンの複雑さを更に低減し、それらをリアルタイムアプリケーションにより適したものにし、したがって、比較的少ない処理能力を有するデバイス上で実現されることができる。
【0013】
一態様では、電子装置を制御して入力画像内の身体部分の寸法の測定値を出力するために使用される複数のニューラルネットワークを訓練する方法及びそのシステムが提供される。入力画像は、電子装置の画像キャプチャユニットによって取得される。複数のニューラルネットワークは、オブジェクト検出ディープニューラルネットワーク、OD-DNN、及びセグメンテーションディープニューラルネットワーク、S-DNNを含む。本方法は、S-DNN及びOD-DNNのニューラルネットワークパラメータ値を初期化するステップと、複数の画像を有する訓練データセットを取得するステップであって、各画像が身体部分及び予め規定された寸法の基準オブジェクトを含む、ステップと、訓練データセットの基準オブジェクト及び身体部分に注釈付けして、注釈付けされたデータセットを生成するステップと、注釈付けされた訓練データセットの部分を分けてバリデーションデータセットにするステップと、注釈付けされた訓練データセットをOD-DNNに入力するステップであって、OD-DNNは、入力画像内の基準オブジェクトを検出し、検出された基準オブジェクトを処理して基準オブジェクトのピクセル寸法を予測することを学習する、ステップと、注釈付けされた訓練データセットをS-DNNに入力するステップであって、S-DNNは、入力画像のセグメンテーションマスクを予測することを学習し、セグメンテーションマスクは、入力画像内の背景領域の画像ピクセルから身体部分の画像ピクセルを区別する、ステップと、バリデーションデータセットを使用して、OD-DNNによって学習された基準オブジェクトのピクセル寸法とS-DNNによって学習されたセグメンテーションマスクをバリデートするステップと、バリデーションに基づいてS-DNN及びOD-DNNのニューラルネットワークパラメータ値を更新するステップと、を有する。
【0014】
本方法及びシステムは、身体部位の測定値を出力するように電子装置を制御することを含む、実世界のアプリケーションのための訓練ソリューションを提供する。出力は、電子装置のユーザに表示されることができる。いくつかの実現例では、訓練ソリューションは、1又は複数の物理的な画像キャプチャユニットによってキャプチャされる測定入力と連続的にインタラクトする。
【0015】
一態様では、プログラムが1つ又は複数のコンピュータによって実行される場合に、1つ又は複数のコンピュータに上述の方法のステップを実行させる命令を有する1つ又は複数のコンピュータプログラム製品が提供される。
【0016】
上述したように、主題の他の特徴、態様、及び効果は、本明細書、図面、及び特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【0017】
【
図1】一実施形態による、入力画像内の身体部分の寸法の測定値を出力するための方法100を示す。
【
図2】一実施形態によるセグメンテーションマスクを示す図。
【
図3】一実施形態による基準オブジェクトを示す図。
【
図4】一実施形態による、画像ピクセル測定の態様を示す図。
【
図5A】一実施形態による、キーポイント方法の態様を示す図。
【
図5B】一実施形態による、キーポイント方法の別の態様を示す図。
【
図6】一実施形態による、身体部分の寸法の測定値を出力するシステム600を示す図。
【
図7】一実施形態による、ニューラルネットワークを訓練する方法700を示す図。
【
図8】一実施形態による訓練システム800を示す図。
【発明を実施するための形態】
【0018】
図1は、入力画像内の身体部分の寸法の測定値を出力するためのシステム内の1又は複数のコンピュータによって実行される例示的な方法100のフローチャートである。寸法の例は長さであるが、本発明は長さの測定に限定されない。他の寸法としては、身体部分の幅又は高さが挙げられるが、これらに限定されない。便宜上、方法100は、1つ又は複数の場所に位置する1つ又は複数のコンピュータのシステムによって実行されるものとして説明される。例えば、本明細書に従って適切にプログラムされた、分散アーキテクチャを有する画像処理システムは、方法100を実行することができる。方法100はまた、単一のコンピュータによって、例えば、ユーザ電子装置/コンピュータのプロセッサによって実行されることができる。方法100のステップの順序は単なる例示であり、例えば、当業者は、方法のステップの少なくともいくつかの順序を入れ替えることが可能であることを認識している。「ユーザ」という用語は、本明細書に記載の方法及び/又は方法に基づくシステム及び/又はコンピュータプログラムを使用する任意のユーザであり、処置が行われる対象と同じ人物である必要はない。被検体は、ヒト又は動物でありうる。
【0019】
ステップ102において、方法100は、入力画像を受信することを含む。入力画像は、処置されることが意図される身体部分、例えば、脚、腕、又は任意の他の身体部分を含む。それは、2次元(2D)画像(例えば、ピクセルアレイとして表される)でありえ、任意のモダリティの画像スキャナ、例えば、ユーザ電子装置(スマートフォンカメラ)の画像キャプチャユニットによって取得されることができる。
【0020】
入力画像は、所定の寸法の基準オブジェクトを更に含む。キャプチャされた画像内の関心領域(ROI)又は所望のオブジェクトの正確な長さを得ることは困難である。これは、画像キャプチャユニットの選択された光学/デジタルズーム、解像度、画像キャプチャの角度などのファクタに基づいて、画像内のROIの測定値がその実際の値からずれることがあるからである。画像のすべてのオブジェクトは類似の特性を共有するので、かかるずれは、同じ画像内の別のオブジェクト、すなわち既知の長さを有する別のオブジェクトにROIを紐付けることによって補償されることができる。
【0021】
皮膚処理装置は、多くの場合、標準的な長さを有する少なくとも1つのアタッチメントを有する。特定の例では、このアタッチメントの処理開口部が、基準オブジェクトとして使用されることができる。このような基準オブジェクト2に示す。IPL装置(例えば、Philips Lumea)では、これは、IPL装置とともに供給される装置アタッチメントの処理開口部であり得る。それは、約30mm、具体的には32.7mmの既知の寸法を有する。処理開口部については、他の寸法も同様に可能であることが理解される。一例では、ユーザは、装置アタッチメントをカメラの視野内に維持しながら、身体部分の入力画像をキャプチャするようにアプリによって促される。
【0022】
ステップ104において、方法100は、入力画像の少なくとも1つのセグメンテーションマスクを予測することを含む。入力画像を処理するために、セグメンテーションディープニューラルネットワーク(S-DNN)が使用される。一例では、ResNetモデルが使用される。S-DNNは、入力画像を受信し、S-DNNパラメータの現在の(最適化された)値に従って入力画像を処理することでセグメンテーションマスクを予測するように構成される。ステップ104は、単一のコンピュータによって単一の場所で(例えば、ユーザ電子装置において)、又は別のコンピュータもしくはプロセッサによって異なる場所で実行されることができる。後者の例では、S-DNNは、クラウドなどの分散サーバに配置されることができる。したがって、計算はサーバ位置で実行される。ユーザ電子装置は、取得された入力画像を、ワイヤレス通信によってサーバに送信するように構成されることができる。この例では、ユーザ電子装置及びサーバは、無線通信システムにおいて複数のコンピュータを形成する。画像処理は、ユーザ(クライアント)電子装置から離れて実行されるので、ユーザ位置のデバイスによって必要とされるリソースはより少ない。
【0023】
S-DNNは、入力画像内のピクセルを複数のクラス又はタイプに分類するセマンティック分類器である。一例では、予測セグメンテーションマスクは、クラスROI及び背景を含む。セグメンテーションマスク内のROIの画像ピクセルは第1のクラスに関連し、セグメンテーションマスク内の背景領域の画像ピクセルは第2のクラスに関連する。背景に関連する第2のクラスは、ROI又は身体部分の境界の外側の画像ピクセルを含み、任意には、セグメンテーションマスクからフィルタ抽出されることができる(
図3に暗く示される)。別の例では、複数のセグメンテーションマスクが生成される。第1のセグメンテーションマスクは、第1のクラスに関し、第2のセグメンテーションマスクは、第2のクラスに関する。言い換えれば、セグメンテーションマスクは、ユーザ画像内の背景領域の画像ピクセルから、ROIの画像ピクセル、身体部分を区別する。第1のクラス/ROIクラスを示すセグメンテーションマスクの一例を
図3に示す。画像を処理する残りのステップは、入力画像のサブセットであるこの予測セグメンテーションマスクに対して実行されるので、生の入力画像データを処理する場合よりも処理を高速にする。
【0024】
いくつかの実現形態では、セグメンテーションマスクは、予測マスクがユーザにとって最も適切な分類である見込みを表すスコアを有する。このスコアは、他のパラメータの中でもとりわけ、将来の予測のために、すなわち、同じ又は類似の身体部分の別の入力画像のセグメンテーションマスクを後の時間で計算するために、S-DNNによって使用されることができる。
【0025】
上述したように、入力画像は、入力画像におけるROIの正確な測定値を得るために、所定の寸法/長さ/サイズの基準オブジェクトを含む。ステップ106において、方法100は、入力画像内の基準オブジェクトを検出し、入力画像内の基準オブジェクトを処理して、画像ピクセル寸法、例えば、基準オブジェクトの(総)ピクセル長、言い換えれば、入力画像内の基準オブジェクトの長さにわたるピクセル行の長さ(ピクセル数)を予測する。予測は、補正ファクタとして作用し、キーポイントの検出を介して決定されたROI(身体部分)のピクセル座標に適用される。これは、以下に詳述される。
【0026】
オブジェクト検出ディープニューラルネットワーク(OD-DNN)は、入力画像内の基準オブジェクトを検出し、処理するために使用される。一例では、一度だけ見る(You only look once、YOLO)オブジェクト検出畳み込みニューラルネットワーク(CNN)モデルが使用される。OD-DNNは、入力画像を受信し、OD-DNNパラメータの現在の(最適化された)値に従って入力画像を処理することにより基準オブジェクトのピクセル長を予測するように構成される。OD-DNNは、OD-DNNパラメータの現在の(最適化された)値に従って入力画像を処理することによりROIを検出するように更に構成されることができる。ステップ104と同様に、ステップ106は、単一のコンピュータによって単一の場所で(例えば、ユーザ電子装置で)、又は分散コンピュータによって異なる場所で実行されることができる。後者の例では、OD-DNNは、クラウドなどの分散サーバに配置されることができる。したがって、処理又は計算は、サーバ位置において実行される。ステップ104と同様に、ユーザ電子装置は、取得された入力画像を、無線通信によってサーバに送信するように構成することができ、電子装置及びサーバは、無線通信システムを形成する。画像処理は、ユーザ(クライアント)電子装置から離れて実行されるので、ユーザ位置のデバイスによって必要とされるリソースはより少ない。
【0027】
いくつかの実現形態では、OD-DNNは、基準オブジェクトを輪郭描出する境界ボックスのピクセル座標を出力するように訓練される。境界ボックスは、オブジェクトの空間位置を示し、最小の囲みボックスによってオブジェクトを境界付ける座標セットによって提示される。境界ボックスの一例を
図2に示す。OD-DNNを訓練する間、境界ボックス技術を使用して、訓練画像データセットの各画像内の基準オブジェクトに注釈を付けるか、又はラベル付けすることができ、その結果、OD-DNNは、ある程度の精度で入力画像内の境界ボックスの予測ピクセル座標からピクセル長を取得することを学習する。
【0028】
ステップ104と同様に、基準オブジェクトの予測ピクセル長は、スコアを有し、スコアは、予測が最も適切な(線形)回帰である見込みを表す。このスコアは、他のパラメータの中でもとりわけ、将来の予測のためにOD-DNNによって使用されることができる。
【0029】
いくつかの実現形態では、OD-DNNは、基準オブジェクトの予め規定された寸法及び予測されたピクセル寸法に基づいて、ピクセルあたり測定値(measurement per pixel、MPP)として表される、単一ピクセル長を計算する。コンピュータビジョンの分野では、MPPは、画像のピクセル長又はピクセル幅あたりに符号化又は表現される画像に示される環境のインチ数又はセンチメートル数を定量化するものとして理解される。一例が
図4に示される。次いで、OD-DNNによって実行されるタスクは、画像のピクセル長又はピクセル幅当たりどれだけの実世界空間長が符号化されるかを決定することである。MPPは以下のように計算される:
MPP=オブジェクトのグランドトゥルース長/オブジェクトのピクセル長
【0030】
上式では、基準オブジェクトの所定の寸法は、グランドトゥルース長によって表現され、予測されるピクセル寸法は、オブジェクトのピクセル長として表される。このメトリックは、補正係数として作用し、キーポイント検出を介して決定されたROI(身体部分)のピクセル座標に適用される。MPPを用いて画像内の(基準)オブジェクトを測定することのいくつかの他の利点は、メトリックが、画像キャプチャユニット(カメラ)とオブジェクトとの間の距離に依存せず、画像内の既知の寸法の任意のオブジェクトのために用いられることができ、画像のピクセル密度、並びにスキュー係数及び光学中心などのカメラ較正パラメータに依存しないことである。
【0031】
ステップ108において、方法100は、ステップ104において取得されたセグメンテーションマスクから身体部分の複数のキーポイントのピクセル座標を取得する。これを
図5Aと
図5Bに示す。本発明で使用されるキーポイント検出アルゴリズムは、特に、方法及び/又はユーザ電子装置、言い換えれば、その内部機能のリソース使用を改善するように選択される。非AIベースのモデルに組み込まれる場合、タスクを実行するために予め訓練を必要としないという利点がある。対照的に、AIモデルは、典型的には、データ内の基礎となるパターン又は特徴を学習するために大量の訓練データを必要とする。したがって、ユーザ電子装置上に実現されることが適している。上述のように、アルゴリズムは、画像データのサブセットを処理し、ユーザ装置上での実現をより速くする。いくつかの実施形態では、ステップ108は、システム内のリモート/分散コンピュータによって実行される。
【0032】
一例では、身体部分「下腿」のキーポイントが、足首及び膝関節として選択される。これらのキーポイントがどのように検出されるかの例は、以下の通りである。
図5Aでは、セグメンテーションマスクは、特定の方向における下腿の画像の詳細を示す。マスクの高さはhピクセル、幅はwピクセルである。座標軸x(水平方向)及びy(垂直方向)のセットは、セグメンテーションマスクに関して定義され、任意の原点は(0,0)として定義される。
図5(a)及び
図5(b)に示すように、原点は左上に位置する。下腿は、マスクの水平軸に対してゼロでない角度αでアラインされることが好ましい。推奨される下腿の向きは、単純な方法で基本的な計算を使用して所望のキーポイントのポイントを決定することを可能にする。足関節及び膝関節は、以下のように識別される。脚の向きが与えられると、y極小値に関連するマスク上の脚輪郭ピクセルが膝関節Kとして割り当てられる。これは、
図5Aの右半分に示されている通りである。言い換えると、最小y座標を有するピクセルは、膝関節座標として扱われる。足首関節Aを決定するために、本方法は、下腿における4つの点T、H、Q及びJのセットを決定し、足首関節座標Aは、線分TJとHQとの間の交点によって決定される。マスク内の第2の極小y座標点は、つま先ピクセルTとして決定される。極大y座標点は、踵ピクセルHとして決定される。マスク内の足と脚との上側交点付近の極大点は、点Qとして選択され、点Jは、x(H)+100単位として経験的に規定され、ここでx(H)は踵Hのx座標である。
【0033】
極小値/極大値を計算するための例示的な実現例が
図5Bに示されている。ピクセル幅1の垂直スライダは、セグメンテーションマスクを横切って所与の方向に走査されることができる。
図5Bにおいて、膝関節Kを識別するために、垂直スライダは、マスクを所定の方向D、例えば、左から右にスキャンする。座標軸のセットは、上述のように定義される。垂直スライダは、走査方向に沿ったマスク輪郭(境界)上のすべてのROIピクセルを識別し、前記輪郭に沿ったピクセルの高さをチェックする。割り当てられたy=0に対して最も低い高さを有するピクセルが、膝関節ピクセルy座標として選択される。対応するx座標も識別される。実現例は、各キーポイントの検出のために繰り返されることができる。当業者であれば、垂直スライダの代わりにカーソルなどの任意の識別手段を使用できることは明らかである。
【0034】
いくつかの実施形態では、本方法は、取得されたキーポイント間の距離を計算する。
【0035】
ステップ110において、方法100は、基準オブジェクトの予測されたピクセル寸法に基づいて、キーポイントの取得されたピクセル座標又はキーポイント間の距離を修正する。いくつかの実現形態では、本方法は、段落[38]の式に従って、ピクセル計算ごとの測定から導出されたピクセルサイズを使用して、得られた座標を補正し、したがって、実際の下腿長=MPP*キーポイント間の距離(ROIのピクセル長)である。
【0036】
そのような補正は、既知の寸法を有する入力画像内のオブジェクトへの参照に基づいて、画像キャプチャユニットの選択された光学/デジタルズーム、画像解像度、画像キャプチャの角度などのファクタによるROIサイズのバリエーションを考慮する。
【0037】
ステップ112において、方法100は、修正されたピクセル座標に基づいて身体部分の長さの測定値を出力する。測定値は、ユーザ電子装置によって、その表示画面によりユーザに表示されることができる。測定値は、ユーザ電子装置によって、処理パラメータの計算のために皮膚処理装置に更に送信される。いくつかの実施形態では、測定値は、皮膚処理装置に直接に、すなわち、ユーザに更に表示することなく、送信されることができる。
【0038】
本方法は、入力画像、セグメンテーションマスク、予測されたピクセル寸法、及び身体部分の寸法の出力測定値のうちの少なくとも1つを、セグメンテーションマスク、ピクセル寸法、及び身体部分の寸法の出力測定値の将来の予測のために使用することができる。
【0039】
図6は、本発明の例示的な実施形態による例示的な画像処理システム600を示す。これは、本明細書に記載のシステム、コンポーネント、及び技術が実現される1つ又は複数の位置にある1つ又は複数のコンピュータ上のコンピュータプログラムとして実現されるシステムの一例である。
【0040】
画像処理システム600は、処理される身体部分を描写する又は含む入力画像601を受信し、処理するように構成される。身体部分は、入力画像内のROI602と見なされる。入力画像601は、システム600の部分を形成し得る又はシステム600の外部にありえる画像キャプチャユニット603を使用して取得される。上述のように、画像キャプチャユニット603は、ユーザ電子装置の部分でありえ、身体部分は、ユーザ又は別の被検体の部分でありうる。
【0041】
システム600は、入力画像601を処理して、入力画像のセグメンテーションマスクを予測する。そうすることで、それは、(上述のように)入力画像をS-DNN604への入力として提供する。S-DNNは、入力画像601を受信し、S-DNNパラメータの現在の値に従ってそれを処理して、(DNNへの入力と期待される出力との間の関数を近似する仮説に基づいて)セグメンテーションマスク605を生成し又は予測するように構成される。セグメンテーションマスクは、入力画像のセグメンテーションを少なくとも1つのクラスに特徴付け、このクラスは、身体部分であるROIの画像ピクセルを含む。
【0042】
システム600は、生成されたセグメンテーションマスクを、システム600にワイヤレスに結合されたデータストア(例えば、論理データ記憶領域又は物理的データ記憶装置、図示せず)に記憶することができる。システム600のユーザ(例えば、自宅でデバイスを操作するユーザ)は、その後、データストアからセグメンテーションマスクを取り出すことができる。場合によっては、システム600は、生成されたセグメンテーションマスクを、例えばユーザ電子装置のディスプレイを使用して、システム600のユーザに可視である表示装置(例えば、コンピュータスクリーン)上に直接提示することができる。
【0043】
S-DNNは、異なる初期化されたパラメータ値、異なる訓練画像、又はその両方を用いて訓練される。S-DNNを訓練するための例示的なプロセスが、
図7を参照して説明される。いくつかの実現形態では、S-DNNは、任意の画像のセグメンテーションマスクを予測するために予め訓練される。予め訓練されたモデルは、カスタマイズされた訓練データ画像を使用して更に訓練される。予め訓練されたモデルを使用する利点は、計算がより速く収束すること、すなわち、最適化されたニューラルネットワークパラメータがより速く得られることである。一例では、S-DNNはセマンティック分類器である。セマンティックセグメンテーションを実行することができるいくつかのモデルアーキテクチャは、完全畳み込みネットワーク(FCN)、U-Net、マスクRCNNなどを含む。一例では、S-DNNは、FCN-ResNet101バックボーンを有するDeepLabv3 PyTorchモデルを使用して実現されることができる。
【0044】
身体部位の出力測定610を生成するために、システム600は、セグメンテーションマスク605をキーポイント検出器606に更に提供する。キーポイント検出器606のアルゴリズム又はモデルは、ユーザ装置に埋め込まれることができ、ユーザ装置は、システム600の内部に含まれることができ、又は外部にあってもよく、S-DNN及び/又は他のニューラルネットワーク(後者は
図6に示される)とともにサーバ位置にあってもよい。キーポイントアルゴリズムの実現は、上述の通りである。キーポイント検出アルゴリズムは、ROI内のキーポイントに対応する画像ピクセルを識別するためのリソース集約型ディープニューラルネットワークアーキテクチャに依存しないので、予測の待ち時間を大幅に改善することができる。身体部分の出力測定値は、セグメンテーションマスク内のROI/身体部分画像ピクセルの中でキーポイントを位置付けることによって決定される身体部分の寸法を有する。任意には、システム600は、測定値をユーザ装置に出力する。
【0045】
いくつかの実現形態では、システム600は更に、取得された寸法を修正するために入力画像601を処理する。この場合、入力画像601は更に、基準オブジェクト607を含む。システム600は、入力画像601をOD-DNN608(上述のようなOD-DNNの詳細)への入力として提供する。OD-DNNは、基準オブジェクト607を処理して、基準オブジェクト609のピクセル寸法を予測する。いくつかの実現形態では、システム600は更に、基準オブジェクトの予測ピクセル寸法と基準オブジェクト607の既知の寸法とに基づいてピクセルサイズを計算する。システム600は、基準オブジェクトの予測されたピクセル寸法又は導出されたピクセルサイズ/メトリックMPPに基づいて、身体部分610の取得された寸法を補正する。キーポイント検出器606は、この補正を、得られたキーポイントのピクセル座標に、又はその出力610内のこれらのピクセル座標に基づいて計算された身体部分の寸法に、適用することができる。
【0046】
OD-DNNは、異なる初期化されたパラメータ値、異なる訓練画像、又はその両方を用いて訓練される。OD-DNNを訓練するための例示的なプロセスが、
図7を参照して説明される。いくつかの実現形態では、OD-DNNは、任意の画像のピクセル寸法を予測するように予め訓練される。予め訓練されたOD-DNNは、カスタマイズされた訓練データ画像を使用して更に訓練される。一例では、OD-DNNは、Yolo AIモデルを使用して実現されることができる。身体部分の寸法の予測において所望される精度の程度に応じて、ヘビーウェイト又はライトウェイト(当技術分野で周知の用語)のYOLOモデルを使用することができる。他の物体検出ニューラルネットワークアーキテクチャは、高速R-CNN、シングルショット検出器(SSD)などを含む。
【0047】
S-DNN及びOD-DNNの両方は、別個の教師あり学習プロシージャを使用して訓練されることができる。ニューラルネットワークはまた、同じ訓練データセットを使用して、同じ教師あり訓練プロシージャによって訓練されることができる。プロシージャは、手動でラベル付けされた訓練画像を使用することを含むことができる。後者のアプローチの例を
図7に示す。
【0048】
図7は、本発明の実施形態による、S-DNN及びOD-DNNを訓練するための例示的な方法700のフローチャートである。方法700は、1つ又は複数の場所に位置する1つ又は複数のコンピュータのシステムによって実行されるものとして説明される。システム600を使用して方法700を実現することが可能であるが、
図1の方法でそれらを実現する前に、別個のプロシージャを使用してニューラルネットワークを訓練することが有利である。訓練されたOD-DNN及びS-DNNは、方法100において、入力画像における身体部分のセグメンテーションマスク及びピクセル寸法を予測するために使用されることができる。上述のように、入力画像は、電子装置の画像キャプチャユニットによってキャプチャされることができる。電子装置は、システム内の1つ又は複数のコンピュータのうちの1つであり得る。したがって、
図7の訓練プロシージャを使用して、入力画像内の身体部分の寸法の測定値を取得し及び/又は出力するように電子装置を制御することができる。
【0049】
ステップ702において、方法は、S-DNN及びOD-DNNのニューラルネットワークパラメータ値を初期化することを含む。いくつかの実現形態では、方法は、それぞれS-DNN及びOD-DNNと同じアーキテクチャを有する別のニューラルネットワークの訓練されたパラメータ値に基づいて、S-DNN及びOD-DNNニューラルネットワークパラメータ値を初期化することができ、それらは同様の予測を実行するように訓練されている。例えば、上述のように、S-DNN及びOD-DNNは、予め訓練されたモデル上に構築することができ、すなわち、OD-DNN及びS-DNNは、任意の画像内のオブジェクトを検出し、任意の画像を特定の画像クラスの少なくとも1つのセグメントマスクにそれぞれセマンティックにセグメント化するように予め訓練される。この場合、初期化は、予め訓練されたS-DNN及びOD-DNNの訓練されたパラメータ値に基づくことができる。
【0050】
いくつかの実現形態では、システム600による方法100における予測のスコアは、ステップ702においてパラメータ値の初期化中に考慮され、その結果、方法100が実行されるたびにニューラルネットワークの訓練が調整されることができる。その結果、時間の経過とともに、システム600は、入力画像における身体部分の寸法の測定値を、改善された精度で取得し及び/又は電子装置のユーザに出力することを学習する。
【0051】
ステップ704において、方法700は、訓練例、すなわち複数の画像を含む訓練データセットを取得し、各画像は、身体部分と、所定の寸法の基準オブジェクトとを含む。訓練データセット内の各画像は更に、人間の専門家によって、自動化又は半自動化された方法で注釈付けされる。注釈は、人が、手動で、又はコンピュータを使用して、ニューラルネットワークを訓練する目的で、画像内のオブジェクトにタイプを割り当てるプロセスを指す。
【0052】
いくつかの実現形態では、方法700は、システム内の1つ又は複数のコンピュータから訓練データセットを定期的に取得する。例えば、方法100が、システム600によって実行されるたびに、入力画像は、後の訓練目的のためにシステムに記憶されることができる。このようにして、S-DNN及びOD-DNNを反復的に訓練することができる。
【0053】
ステップ706において、方法は、取得された訓練データセット内の基準オブジェクト及び身体部分に注釈を付けて、注釈付き訓練データセットを生成することを含む。
【0054】
一例では、訓練データセットの各画像において、訓練データセット内の特定のクラス又は特定のクラスの画像ピクセルに注釈を付け、期待されるセグメンテーションマスク出力を生成する。注釈付き訓練データセットは、S-DNNに入力される。S-DNNに入力される訓練データセットにおける各例は、(i)訓練画像(入力)と、(ii)訓練画像における身体部分クラスの画像ピクセル(予想出力)を示す注釈付き訓練セグメンテーションマスクとを有する。S-DNNは、可能な仮説関数を使用して各入力を各出力にマッピングすることを学習する。
【0055】
OD-DNNへの訓練データセットでは、方法は、境界ボックスを使用することなどによって、注釈技術を使用して各画像内の基準オブジェクトに注釈を付けることを含む。
図2に示されるように、装置アタッチメントの処理開口部は、基準オブジェクトとして使用されることができ、したがって、開口部は、訓練データセットの各画像内の境界ボックスABCDで注釈付けされることができる。OD-DNNへの訓練データセットにおける各例は、(i)訓練画像(入力)と、(ii)訓練画像における注釈付き基準オブジェクト(予想出力)とを有する。
【0056】
訓練データセットを修正して、訓練セットの大きさ、ひいてはモデル予測の精度を高め又は拡張(augment)することは有益である。いくつかの実現形態では、本方法は、画像変換及び画像反転などの画像オーグメンテーション技術を使用して、訓練データセット中の各画像の異なるバージョンを生成することを含む。画像オーグメンテーションはまた、S-DNN及びOD-DNNのオーバーフィッティングの問題に対処する。画像オーグメンテーションにより、モデルが異なるパターンを学習するのに役立つ異種データを得ることが可能であり、したがって、オーバーフィッティングを回避する。
【0057】
ステップ708において、方法は、注釈付き訓練データセットの一部をバリデーションデータセットに分割し又は分けることを含む。注釈付き訓練データセットの一部が、バリデーションデータセットとして選択される。したがって、訓練セット及びバリデーションセットが、データの同じ分布を使用して得られることが保証される。このサブセットは、S-DNN及びOD-DNNの性能をそれらの予測における評価するために使用される。
【0058】
ステップ710において、方法は、注釈付き訓練データセットをOD-DNN及びS-DNNに入力することを含み、OD-DNN及びS-DNNは、入力画像内の基準オブジェクトを検出し、検出された基準オブジェクトを処理して基準オブジェクトのピクセル寸法を予測することを学習し、また、各画像のセグメンテーションマスクを予測することを学習する。セグメンテーションマスクは、ROIの画像ピクセルを画像内の背景から区別する。
【0059】
ステップ712は、バリデーションデータセットを使用して、訓練されたS-DNN及びOD-DNNによってそれぞれ学習されたセグメンテーションマスク及び基準オブジェクトのピクセル寸法を検証することを含む。
【0060】
一例では、訓練されたYOLO OD-DNNは、バリデーションデータセット上で0.70のマップスコアを達成する。バリデーションセット内の各画像について、YOLO OD-DNNは、基準オブジェクトを検出し、基準オブジェクトの境界を定める境界ボックスのピクセル座標A、B、C、Dを予測する。訓練されたDeepLab S-DNNは、バリデーションデータセットで0.75のmIOUスコアを達成する。バリデーションセット内の各画像について、DeepLab S-DNNはROI/身体部分の画像ピクセルを示すセグメンテーションマスクを予測する。
【0061】
ステップ714は、検証に基づいて、S-DNN及びOD-DNNのニューラルネットワークパラメータ値を更新することを含む。更新されたパラメータ値は、身体部分及び基準オブジェクトを示す少なくとも1つの画像を有するテストデータセットを使用して、OD-DNN及びS-DNNをテストするために更に使用されることができる。
【0062】
いくつかの実現形態では、OD-DNNによって学習される基準オブジェクトのピクセル寸法は、予め規定された寸法及び予測されたピクセル寸法に基づいて計算される、単一ピクセルのサイズ、好ましくはピクセルごとの測定値である。
【0063】
図8は、
図7の方法によるニューラルネットワーク803を訓練するためのシステム800の一例を示す。ニューラルネットワーク訓練システム800は、1つ又は複数の位置にある1つ又は複数のコンピュータ上で、例えばコンピュータプログラムとして実現されるシステムの一例である。システム800は、システム600上で(言い換えれば、それらは、1つの同じシステムである)、又はシステム600にワイヤレスに結合された別個のシステム800として、実現されることができる。システム800に結合される追加のシステム1000、1002、…があってもよい。システム1000、1002は、ニューラルネットワーク803を訓練するためにシステム800によってデータが使用されることができる方法100又はデータベース管理システムを実行するように構成されることができる他の訓練システム又は画像処理システムでありうる。
【0064】
システム800は、システム内の1つ又は複数のコンピュータによって共有されるメモリ802へのアクセスを有する、ニューラルネットワークS-DNN及びOD-DNNを訓練するための訓練エンジン801を有する。いくつかの実現形態では、訓練エンジン801は、分散プロセッサである。
【0065】
訓練エンジン801は、S-DNN及びOD-DNNのニューラルネットワークパラメータを初期化するように構成されることができる。訓練エンジン801は、メモリ801からパラメータを取り出す。メモリ801は、それぞれS-DNN及びOD-DNNと同じアーキテクチャを有し及び同様の予測を実行するように訓練された他のニューラルネットワークの訓練されたパラメータ値を記憶することができる。S-DNN及びOD-DNNが予め訓練されたモデル上に構築される場合、メモリ801は、予め訓練されたS-DNN及びOD-DNNの訓練されたパラメータ値をそれぞれ記憶することができる。
【0066】
訓練エンジン801は、メモリ802に記憶された訓練データセットを取得するように更に構成されることができ、かかる訓練データセットは、注釈付き訓練セットを有する。いくつかの実現形態では、メモリ802に記憶された訓練セットは、上述のように定期的に更新される。継続的に更新される訓練セットは、訓練エンジン801によって取り出されることができる。訓練エンジン801は更に、OD-DNN及びS-DNNによってそれぞれ予測された訓練セット内の各画像の基準オブジェクトのピクセル寸法及びセグメンテーションマスクを取得し、予測を検証し(訓練基準が満たされているかどうかをチェックし、いくつかの実現では、反復的にチェックし)、それに基づいてS-DNN及びOD-DNNのニューラルネットワークパラメータを更新して、S-DNN及びOD-DNNの最適化されたニューラルネットワークパラメータに到達する。訓練されたニューラルネットワークS-DNN及びOD-DNNは、入力画像内の身体部分の寸法の測定値を取得し及び/又は出力するように電子装置を制御するために使用されることができる。最適化されたニューラルネットワークパラメータは、訓練エンジン801による次の初期化において使用される。
【0067】
本明細書では、システム及びコンピュータプログラムコンポーネントに関連して「構成された」という用語を使用する。特定の動作又はアクションを実行するように構成される1つ又は複数のコンピュータを有するシステムは、動作中に前記動作又はアクションをシステムに実行させるソフトウェア、ファームウェア、ハードウェア、又はそれらの組み合わせをインストールしたシステムを意味する。特定の動作又は動作を実行するように構成される1つ又は複数のコンピュータプログラムは、データ処理装置によって実行される場合に装置に動作又はアクションを実行させる命令を含む1つ又は複数のプログラムを意味する。
【0068】
本明細書に記載された主題の実施形態及び機能的動作は、デジタル電子回路、無形のコンピュータソフトウェア又はファームウェア、本明細書に開示された構造及びそれらの構造的等価物を含むコンピュータハードウェア、又はそれらの1つ又は複数の組み合わせ、において実施されることができる。本明細書で説明する主題の実施形態は、1つ又は複数のコンピュータプログラムとして、すなわち、データ処理装置による実行のために、又はデータ処理装置の動作を制御するために、有形の非一時的記憶媒体上に符号化されたコンピュータプログラム命令の1つ又は複数のモジュールとして実現することができる。コンピュータ記憶媒体は、機械可読記憶装置、機械可読記憶基板、ランダムアクセスメモリデバイスもしくはシリアルアクセスメモリデバイス、又はそれらのうちの1つもしくは複数の組み合わせとすることができる。代替的に又は追加的に、プログラム命令は、データ処理装置による実行のために適切な受信機装置に送信するための情報を符号化するために生成される、人工的に生成された伝搬信号、例えば、機械によって生成された電気信号、光信号、又は電磁信号上に符号化されることができる。
【0069】
用語「コンピュータ」、「プロセッサ」、「データ処理装置」、「電子装置」などは、データ処理ハードウェアを指し、データを処理するための1つ又は複数の装置、デバイス、及びマシンのすべての種類を包含する。装置はまた、専用論理回路、例えば、FPGA(フィールドプログラマブルゲートアレイ)又はASIC(特定用途向け集積回路)であるか、又は更に含むことができる。装置は、ハードウェアに加えて、コンピュータプログラムのための実行環境を作成するコード、例えば、プロセッサファームウェアを構成するコード、プロトコルスタック、データベース管理システム、オペレーティングシステム、又はそれらのうちの1つ又は複数の組合せを任意には含むことができる。
【0070】
コンピュータプログラムは、プログラム、ソフトウェア、ソフトウェアアプリケーション、アプリ、モジュール、ソフトウェアモジュール、スクリプト、又はコードと呼ばれるか、又は記述されてもよく、コンパイルされた又は解釈された言語、又は宣言的又は手続き的言語を含む、任意の形式のプログラミング言語で記述されてもよく、スタンドアロンプログラムとして、又はコンピューティング環境での使用に適したモジュール、コンポーネント、サブルーチン、又は他のユニットを含む、任意の形式で展開されることができる。プログラムは、必ずしもそうである必要はないが、ファイルシステム内のファイルに対応し得る。プログラムは、他のプログラム又はデータを保持するファイルの部分、例えば、マークアップ言語文書に格納された1つ又は複数のスクリプト、問題のプログラム専用の単一ファイル、又は複数の協調ファイル、例えば、1つ又は複数のモジュール、サブプログラム、又はコードの一部を格納するファイルの部分に格納することができる。コンピュータプログラムは、1つのコンピュータ上で、又は1つのサイトに位置するか、又は複数のサイトにわたって分散され、データ通信ネットワークによって相互接続された複数のコンピュータ上で、実行されるように配置されることができる。
【0071】
本明細書では、「エンジン」という用語は、1つ又は複数の特定の機能を実行するようにプログラムされたソフトウェアベースのシステム、サブシステム、又はプロセスを指すために広く使用される。一般に、エンジンは、1つ又は複数の位置にある1つ又は複数のコンピュータにインストールされた1つ又は複数のソフトウェアモジュール又はコンポーネントとして実現される。場合によっては、1つ又は複数のコンピュータは、特定のエンジン専用であり、他の場合には、複数のエンジンが、同じコンピュータ又は複数のコンピュータにインストールされ、動作することができる。
【0072】
本明細書で説明するプロセス及び論理フローは、入力データ上で動作し、出力を生成することによって機能を実行するために、1つ又は複数のコンピュータプログラムを実行する1つ又は複数のプログラム可能なコンピュータによって実行されることができる。プロセス及び論理フローはまた、専用論理回路、例えばフィールドプログラマブルゲートアレイ又はASICによって、又は専用論理回路と1つ又は複数のプログラムされたコンピュータとの組み合わせによって実行されることができる。
【0073】
コンピュータプログラムの命令実行に適したコンピュータは、汎用もしくは専用マイクロプロセッサ、又はその両方、あるいは任意の他の種類の中央処理ユニットに基づくことができる。一般に、中央処理ユニットは、読み取り専用メモリ又はランダムアクセスメモリ又はその両方から命令及びデータを受信する。コンピュータの本質的な構成要素は、命令を実行するための中央処理ユニットと、命令及びデータを記憶するための1つ又は複数のメモリデバイスである。中央処理ユニット及びメモリは、専用論理回路によって補われるか、又は専用論理回路に組み込まれることができる。一般に、コンピュータはまた、データ、例えば、磁気、光磁気ディスク、又は光ディスクを記憶するための1つ又は複数の大容量記憶デバイスからデータを受信するか、それらにデータを転送するか、又はそれらの両方を行うように動作可能に結合される。しかしながら、コンピュータは、そのような装置を有する必要はない。更に、コンピュータは、ほんの数例を挙げると、別のデバイス、例えば、携帯電話、携帯情報端末(PDA)、モバイルオーディオ又はビデオプレーヤ、ゲームコンソール、全地球測位システム(GPS)受信機、又はポータブル記憶デバイス、例えば、ユニバーサルシリアルバス(USB)フラッシュドライブに埋め込まれることができる。
【0074】
コンピュータプログラム命令及びデータを記憶するのに適したコンピュータ可読媒体は、例として、半導体メモリデバイス、例えば、EPROM、EEPROM、及びフラッシュメモリ装置、磁気ディスク、例えば、内部ハードディスク又はリムーバブルディスク、光磁気ディスク、並びにCD-ROM及びDVD-ROMディスクを含む、すべての形態の不揮発性メモリ、媒体、及びメモリデバイスを含む。
【0075】
ユーザとの対話を提供するために、本明細書で説明される主題の実施形態は、ユーザに情報を表示するための、例えばCRT(陰極線管)又はLCDディスプレイ(液晶ディスプレイ)モニタなどのディスプレイデバイスと、ユーザがコンピュータに入力を提供することができるキーボード及びポインティングデバイス、例えばマウス又はトラックボールとを有するコンピュータ又は電子装置上で実現されることができる。他の種類のデバイスを使用して、ユーザとの対話も提供することができ、例えば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、例えば、視覚的フィードバック、聴覚フィードバック、又は触覚フィードバックとすることができ、ユーザからの入力は、音響、音声、又は触覚入力を含む任意の形態で受信されることができる。更に、コンピュータは、ユーザによって使用されるデバイスにドキュメントを送信し、デバイスからドキュメントを受信することによってユーザと対話することができ、例えば、ウェブブラウザから受信された要求に応答して、ユーザの装置上のウェブブラウザにウェブページを送信することによってユーザと対話することができる。また、コンピュータは、パーソナルデバイス、例えば、メッセージングアプリケーションを実行しているスマートフォンにテキストメッセージ又は他の形態のメッセージを送信し、返信としてユーザから応答メッセージを受信することによって、ユーザと対話することができる。
【0076】
機械学習モデルを実現するためのデータ処理装置又はコンピュータは、例えば、機械学習訓練又は生産の共通及び計算集約的部分、すなわち推論、ワークロードを処理するための専用ハードウェアアクセラレータユニットを含むこともできる。
【0077】
機械学習モデルは、機械学習フレームワーク、例えば、TensorFlowフレームワーク、Microsoft Cognitive Toolkitフレームワーク、Apache Singaフレームワーク、又はApache MXNetフレームワークを使用して実現され展開されることができる。
【0078】
本明細書に記載される主題の実施形態は、例えばデータサーバのようなバックエンドコンポーネントを含み、又は例えばアプリケーションサーバのようなミドルウェアコンポーネントを含み、又は例えばグラフィカルユーザインタフェース、ウェブブラウザ、又はユーザが本明細書に記載される主題の或る実現形態と対話することができるアプリを有するクライアントコンピュータのようなフロントエンドコンポーネントを含み、又は1つ又は複数のそのようなバックエンド、ミドルウェア、又はフロントエンドコンポーネントの任意の組合せを含む、コンピューティングシステムにおいて実現されることができる。システムのコンポーネントは、任意の形態又は媒体のデジタルデータ通信、例えば、通信ネットワークによって相互接続されることができる。通信ネットワークの例は、ローカルエリアネットワーク(LAN)及びワイドエリアネットワーク(WAN)、例えばインターネットを含む。
【0079】
コンピューティングシステムは、クライアント及びサーバを含むことができる。クライアント及びサーバは、一般に、互いに離れており、典型的には、通信ネットワークを介して対話する。クライアントとサーバの関係は、それぞれのコンピュータ上で実行され、互いにクライアント-サーバ関係を有するコンピュータプログラムによって生じる。いくつかの実施形態では、サーバは、例えば、クライアントとして動作するデバイスと対話するユーザにデータを表示し、ユーザからのユーザ入力を受信する目的で、データ、例えば、HTMLページをユーザ装置に送信する。ユーザ装置において生成されたデータ、例えば、ユーザインタラクションの結果は、デバイスからサーバにおいて受信されることができる。
【0080】
本明細書は、多くの特定の実現の詳細を含むが、これらは、任意の発明の範囲又は特許請求の範囲に対する限定として解釈されるべきではなく、むしろ、特定の発明の特定の実施形態に固有であり得る特徴の説明として解釈されるべきである。別々の実施形態の文脈で本明細書に記載される特定の特徴は、単一の実施形態において組み合わされて実現されることもできる。逆に、単一の実施形態の文脈で説明される様々な特徴は、複数の実施形態において別々に、又は任意の適切なサブコンビネーションで実現されることもできる。
【0081】
同様に、動作が図面に示され、特定の順序で特許請求の範囲に列挙されているが、これは、望ましい結果を達成するために、そのような動作が、示された特定の順序で、又は連続的な順序で実行されること、又はすべての示された動作が実行されることを必要とするものとして理解されるべきではない。特定の状況では、マルチタスク処理及び並列処理が有利であり得る。更に、上記の実施形態における様々なシステムモジュール及びコンポーネントの分離は、すべての実施形態においてそのような分離を必要とするものとして理解されるべきではなく、説明されるプログラムコンポーネント及びシステムは、一般に、単一のソフトウェア製品に組み込まれることができるか、又は複数のソフトウェア製品にパッケージ化されることができることを理解されたい。
【0082】
本主題の特定の実施形態について説明した。他の実施形態も、それらが添付の特許請求の範囲内にある限り可能であり得る。列挙された実施形態は、更に組み合わせられることができる。添付の図面に示されるプロセスは、所望の結果を達成するために、必ずしも、示される特定の順序、又は連続的な順序を必要としない。場合によっては、マルチタスク処理及び並列処理が有利であり得る。
【手続補正書】
【提出日】2024-10-09
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
入力画像内の身体部分の寸法の測定値を出力するための、1つ又は複数のコンピュータによって実行される方法であって、
画像キャプチャユニットを使用してキャプチャされた入力画像を受信するステップであって、前記入力画像は、身体部分と、所定の寸法の基準オブジェクトとを有する、ステップと、
セグメンテーションディープニューラルネットワーク(S-DNN)によって、前記入力画像のセグメンテーションマスクを予測するステップであって、前記セグメンテーションマスクは、前記入力画像内の背景領域の画像ピクセルから前記身体部分の画像ピクセルを区別する、ステップと、
オブジェクト検出ディープニューラルネットワーク(OD-DNN)によって、前記入力画像内の基準オブジェクトを検出し、前記検出された基準オブジェクトを処理して前記基準オブジェクトのピクセル寸法を予測するステップと、
前記セグメンテーションマスクを用いて、前記身体部
分の複数のキーポイントのピクセル座標を取得するステップと、
前記基準オブジェクトの予測されたピクセル寸法に基づいて、取得されたピクセル座標を修正するステップと、
修正されたピクセル座標に基づいて前記身体部分の寸法を測定し、測定された前記身体部分の寸法を出力するステップと、
を有する方法。
【請求項2】
前記S-DNNは、セマンティックS-DNNであり、前記セグメンテーションマスク内の前記身体部分の前記画像ピクセルが第1のクラスに関連し、前記セグメンテーションマスク内の前記背景領域の前記画像ピクセルが第2のクラスに関連する、請求項1に記載の方法。
【請求項3】
前記OD-DNNは、前記基準オブジェクトの予め規定された寸法及び予測されたピクセル寸法に基づいて、単一ピクセルによって表される前記入力画像に示される環境の寸法に対応するピクセルあたり測定値を計算するように構成される、請求項1又は請求項2に記載の方法。
【請求項4】
前記セグメンテーションマスク及び/又は前記基準オブジェクトの前記ピクセル寸法の将来の予測のために、前記入力画像、前記セグメンテーションマスク、前記基準オブジェクトの前記予測されたピクセル寸法、及び前記身体部分の前記寸法の出力される測定値のうちの少なくとも1つを使用する、請求項1
又は2に記載の方法。
【請求項5】
前記セグメンテーションマスクを使用して前記身体部分の複数のキーポイントのピクセル座標を取得するステップが、
前記セグメンテーションマスク上の複数の座標軸の規定するステップと、
前記セグメンテーションマスク上の前記身体部分の特定の領域のうち、複数の座標軸の中の少なくとも1つの選択された座標軸に沿った極大及び/又は極小座標を有する画像ピクセルを識別するステップと、
特定領域の特定されたピクセルに基づいて、身体部分の複数のキーポイントのピクセル座標を取得するステップと、
を有する、請求項1
又は2に記載の方法。
【請求項6】
コンピュータプログラムであって、1つ又は複数のコンピュータによって実行される場合に、前記1つ又は複数のコンピュータに請求項1
又は2に記載の方法のステップを実行させる命令を有するコンピュータプログラム。
【請求項7】
1つ又は複数のコンピュータと、前記1つ又は複数のコンピュータによって実行される場合に、前記1つ又は複数のコンピュータに請求項1
又は2に記載の方法を実行させる命令を記憶した1つ又は複数の記憶装置と、を有するシステム。
【請求項8】
電子装置を制御して入力画像内の身体部分の寸法の測定値を出力するために使用される複数のニューラルネットワークを訓練する方法であって、前記入力画像は、前記電子装置の画像キャプチャユニットによってキャプチャされ、前記複数のニューラルネットワークは、オブジェクト検出ディープニューラルネットワーク(OD-DNN)及びセグメンテーションディープニューラルネットワーク(S-DNN)を有し、前記方法は、
前記S-DNN及び前記OD-DNNのニューラルネットワークパラメータ値を初期化するステップと、
複数の画像を有する訓練データセットを取得するステップであって、各画像は、前記身体部分と、予め規定された寸法の基準オブジェクトとを有する、ステップと、
前記訓練データセットの画像内の前記基準オブジェクト及び前記身体部分に注釈付けし、注釈付き訓練データセットを生成するステップと、
前記注釈付き訓練データセットの部分をバリデーションデータセットに分けるステップと、
前記注釈付き訓練データセットを前記OD-DNNに入力するステップであって、前記OD-DNNが、前記入力画像内の前記基準オブジェクトを検出し、前記検出された基準オブジェクトを処理して前記基準オブジェクトのピクセル寸法を予測する、ステップと、
前記注釈付き訓練データセットを前記S-DNNに入力するステップであって、前記S-DNNが、前記入力画像のセグメンテーションマスクを予測することを学習するように、前記セグメンテーションマスクは、前記身体部分の画像ピクセルを、前記入力画像内の背景領域の画像ピクセルから区別する、ステップと、
前記バリデーションデータセットを使用して、前記OD-DNNによって学習された前記基準オブジェクトのピクセル寸法と、前記S-DNNによって学習された前記セグメンテーションマスクとを検証するステップと、
前記検証に基づいて、前記S-DNN及び前記OD-DNNのニューラルネットワークパラメータ値を更新するステップと、
を有する方法。
【請求項9】
前記OD-DNN及び前記S-DNNは、任意の画像内のオブジェクトを検出し、前記任意の画像をセマンティックにセグメント化して、特定の画像クラスの少なくとも1つのセグメントマスクを生成するように予め訓練される、請求項8に記載の方法。
【請求項10】
前記基準オブジェクト及び前記身体部分を注釈付けすることが、
境界ボックスを使用して訓練データセットの各画像に含まれる前記基準オブジェクトに注釈付けすることと、
前記訓練データセットの各画像における前記身体部分の画像ピクセルに注釈付けすることと、
を有し、前記身体部分は、第1のクラスに関連する、請求項8又は請求項9に記載の方法。
【請求項11】
前記OD-DNNは更に、前記基準オブジェクトの前記予め規定された寸法及び前記予測されたピクセル寸法に基づいて、単一ピクセルによって表現される前記入力画像に示される前記環境の寸法に対応する、ピクセル当たり測定値を計算するように学習される、請求項8
又は9に記載の方法。
【請求項12】
前記S-DNN及びOD-DNNを反復的に訓練するために、前記複数の画像を備える前記訓練データセットを周期的に取得するステップを更に有する、請求項8
又は9に記載の方法。
【請求項13】
前記訓練データセットを拡張するために、前記訓練データセット内の各画像の複数のバージョンを生成するステップを更に有する、請求項8
又は9に記載の方法。
【請求項14】
コンピュータプログラムであって、1つ又は複数のコンピュータによって実行される場合、前記1つ又は複数のコンピュータに請求項8
又は9に記載の方法のステップを実行させる命令を有するコンピュータプログラム。
【請求項15】
1つ又は複数のコンピュータと、
前記1つ又は複数のコンピュータによって実行される場合、前記1つ又は複数のコンピュータに請求項8
又は9に記載の方法を実行させる命令を記憶した1つ又は複数の記憶装置と、
を有するシステム。
【国際調査報告】