【課題を解決するための手段】
【0019】
従属請求項は、さらに別の例示的な実施形態を定義する。
【0020】
同様に、本発明のすべての態様について、請求項28によるコンピュータプログラム及び請求項29による装置が提供される。
【0021】
本発明の態様を以下に簡単に説明する。使用されている用語は、この簡単な説明の後で定義する。
【0022】
本発明の第一の態様において、眼鏡の仮想フィッティングのためのコンピュータ実装方法が提供され、
頭部への眼鏡フレームの、頭部の3Dモデル(30、31)のための頭部メタデータと眼鏡フレームの3Dモデルのためのフレームメタデータに基づく大まかな仮想位置決めと、
その後の、頭部の3Dモデル(30、31)及び眼鏡フレームの3Dモデル(40)に基づく眼鏡フレームの精密仮想位置決めと、
を含む。
【0023】
ここでは、例えば、大まかな仮想位置決めが眼鏡フレームの精密仮想位置決めのための初期位置と向きを特定することが可能であり、精密仮想位置決めは、初期位置及び向きから発展して実行できる。
【0024】
方法は、主固視方向における頭部の眼の瞳孔中心間を結ぶ線に対応する水平方向が、頭部が直立状態に保たれたときにx方向と定義される場合、頭部が直立状態に保たれたときの垂直方向がy方向と定義される場合、x方向及びy方向に垂直な方向がz方向と定義される場合、仮想位置決め中に、
眼鏡フレームの、z方向に垂直な第一の距離の第一の変位があり、
眼鏡フレームの、z方向に沿った第二の距離の第二の変位があり、
第二の距離は第一の距離の10%を超えない
ことを特徴とする。
【0025】
仏国特許第301 6051A1号明細書の方法と比較して、このような方法は、それによって、精密位置決めをある平面(xy平面、すなわちz方向に垂直)内での位置決めに実質的に限定し、その結果、精密位置決め中の自由度を制限することから、精密仮想位置決めがより迅速に、より容易に、より信頼できるものとなるという点で有利である。
【0026】
本発明の第二の態様において、眼鏡の仮想フィッティングのためのコンピュータ実装方法が提供され、これは、
精密仮想位置決めの前の、頭部上の眼鏡フレームの、頭部の3Dモデル(30、31)のための頭部メタデータ及び眼鏡フレームの3Dモデルのためのフレームメタデータに基づく大まかな仮想位置決めと、
頭部の3Dモデル(30、31)及び眼鏡フレームの3Dモデル(40)に基づく眼鏡フレームの精密仮想位置決めと、を含み、フレームメタデータを提供する方法は、眼鏡フレームの3Dモデル内の顕著点を特定するステップ及び/又は眼鏡フレームの3Dモデル内の顕著点を分類するステップを含む。
【0027】
この方法は、顕著点を分類するステップは、関係のある点と関係のない点に分類するステップを含むことを特徴とする。
【0028】
仏国特許第301 6051A1号明細書の方法と比較して、このような方法は、方法を実行するための計算需要が、方法が実行される際に特定された点の一部のみ、具体的には関係のある点のみが考慮されるため、減少するという点で有利である。
【0029】
本発明の第三の態様において、眼鏡の仮想フィッティングのためのコンピュータ実装方法が提供され、これは、
眼鏡フレームの、頭部の3Dモデル(30、31)及び眼鏡フレームの3Dモデル(40)に基づく精密仮想位置決めと、
精密仮想位置決めの前の、頭部上の眼鏡フレームの、頭部の3Dモデル(30、31)のための頭部メタデータ及び眼鏡フレームの3Dモデルのためのフレームメタデータに基づく大まかな仮想位置決めと、を含み、
フレームメタデータの提供は、眼鏡フレームの3Dモデルの眼鏡フレーム構成要素への分割を含み、構成要素は好ましくは、
−つる部と、
−眼鏡フレームの、つる部以外の残りの部分
の群のうちの少なくとも1つの構成要素を含み、
及び/又は
頭部メタデータは、頭部の耳のための静止領域を含み、この領域はつる部に基づいて計算される。
【0030】
方法は、眼鏡フレームの3Dモデルの眼鏡フレーム構成要素への分割は、3Dモデルの頂点又はボクセルを細分する、空間内のそれぞれの断面によって実行されることを特徴とし、それぞれの断面はそれぞれの参照点pと、空間内でそれぞれの断面に垂直なそれぞれの法線ベクトルnによって定義され、眼鏡フレームの3Dモデルの分割は、
−眼鏡フレームの3Dモデルの頂点又はボクセルとそれぞれの法線ベクトルnのスカラ乗積と、
−それぞれの参照点pと法線ベクトルnのスカラ乗積
との比較に基づいて実行される。
【0031】
米国特許出願公開第2013 088490A1号明細書から知られている眼鏡フレームの3Dモデルを眼鏡フレーム構成要素に分割する方法と比較して、本発明の第三の態様による方法は、分割が計算面で容易に実行可能な方法で提供されるという点で有利である。
【0032】
本発明の第四の態様によれば、眼鏡の仮想フィッティングのコンピュータ実装方法が提供され、これは、
眼鏡フレームの、頭部の3Dモデル(30、31)及び眼鏡フレームの3Dモデル(40)に基づく精密仮想位置決めと、
精密仮想位置決めの前の、頭部の3Dモデル(30、31)のための頭部メタデータ及び眼鏡フレームの3Dモデルのためのフレームメタデータに基づく眼鏡の大まかな仮想位置決めと、
を含み、
フレームメタデータの提供は、眼鏡フレームの3Dモデルの眼鏡フレーム構成要素への分割を含み、構成要素は好ましくは、
−つる部と、
−眼鏡フレームの、つる部以外の残りの部分
の群の少なくとも1つの構成要素を含み、
頭部メタデータは、頭部の耳に関する静止領域を含み、この領域はつる部に基づいて計算される。
【0033】
方法は、頭部の耳に関する計算された静止領域の少なくとも1つの静止領域がつる部の少なくとも1つの眼鏡つるについて、ある方法により特定され、この方法は、
−眼鏡つるの始点aと終点bを眼鏡つるから特定するステップと、
−潜在的な耳静止領域を、潜在的な耳静止領域を画定する平面のz成分により特定するステップであって、次式:
α<(v
z−a
z)/l
z<β
(式中、αとβは所定の値であり、αは0.3〜0.6の間にあり、βは0.6〜0.9の間にあり、a
zは点aのz成分であり、l
zはz方向への眼鏡つるの長さであり、v
zは3Dモデルの頂点又はボクセルのz成分である)が適用されるステップと、
−潜在的な耳静止領域から静止領域を、漸増的に変位する窓を用いる計算によって特定するステップであって、窓内にある潜在的な静止領域の頂点又はボクセルの集合は窓の各位置について確認され、方向ベクトルdのスカラ乗積s=<v,d>が頂点又はボクセルの集合の各々について形成され、vは頂点又はボクセルの集合からそれぞれの頂点又はボクセルの座標を特定し、dはそれぞれの眼鏡のつる部に関する正規化された固定ベクトルであり、それぞれの1つの頂点又はボクセル
【数1】
はそれぞれの窓について、頂点又はボクセルのスカラ乗積sに基づいて特定されるステップと、
−少なくとも1つの静止領域を、静止点の集合として、又は静止曲線として提供するステップであって、静止点の集合又は静止曲線は頂点又はボクセル
【数2】
を含むステップと、
を含むことを特徴とする。
【0034】
米国特許出願公開第2013 088490A1号明細書から知られる方法と比較して、本発明の第四の態様による方法は、頭部の耳に関する静止領域の特定が計算の面で容易に実行可能な方法で提供されるという点で有利である。
【0035】
本発明の第五の態様によれば、眼鏡の仮想フィッティングのためのコンピュータ実装方法が提供され、これは、
頭部への眼鏡フレームの、頭部の3Dモデル(30、31)のための頭部メタデータ及び眼鏡フレームの3Dモデルのためのフレームメタデータに基づく仮想位置決めを含み、
フレームメタデータは、眼鏡フレーム上の、眼鏡フレームが頭部に静止する1つ又は複数の位置を画定する第一の静止情報項目を含み、頭部メタデータは、頭部上の、眼鏡フレームが頭部の上で静止する1つ又は複数の位置を画定する第二の静止情報項目を含み、
第二の静止情報項目は、頭部の3Dモデルの鼻梁に関連付けられる設置点を含む。
【0036】
方法は、鼻梁の鼻梁領域が3D曲線として提供されることを特徴とする。
【0037】
仏国特許第301 6051 A1号明細書と比較して、これは、3次元メッシュ、すなわち完全3次元モデルによる衝突点計算が不要であり、その代わりに曲線を用いるだけで点を特定することによって大まかな位置決めが特定できるため、この方法を実行するための計算需要が減少するという点で有利である。それと同時に、3D曲線はメッシュより少ないデータを使用して鼻の輪郭を説明するのに適し、その一方でより高い精度を有するため、眼鏡フィッティング方法の精度が向上する。
【0038】
大まかな位置決めとは、初期位置が情報項目に基づいて特定されることを意味すると理解されたい。精密位置決めとは、大まかな位置決めから発展して、位置のより正確な特定がさらなるデータに基づいて実行されることを意味すると理解されたい。例えば、位置決めは、大まかな位置決めの範囲内でz方向に沿って実行でき、位置決めはその後、精密位置決めの範囲内でz方向に実質的に垂直に行うことができる。
【0039】
ここで、大まかな位置決めは鼻梁に関する情報項目に基づいて実行できる。ここで、フレームの座標系内の、基準点とも呼ばれるある3D点を、鼻梁上のある点と正確に合致させることができる。
【0040】
幾つかの例示的な実施形態において、精密位置決めは、眼鏡フレームを20mm未満だけ、幾つかの例示的な実施形態では10mm未満だけ初期位置及び向き、すなわち大まかな位置決めにより特定された眼鏡フレームの位置に関して移動させることができる。
【0041】
ここで、「大まかな位置決め」及び「精密位置決め」という用語は相互に関して理解すべきであり、すなわち、精密位置決めは大まかな位置決め中に当初特定された位置をより精密にする。
【0042】
これは、大まかな位置決めが後の精密位置決めのための開始点又は初期位置及び向きを特定し、精密位置決めが、大まかな位置決めの範囲で当初特定された位置をより精密にすることにより行われる。
【0043】
その結果、大まかな位置決めは第一の位置決めを表し、精密位置決めはその後の位置決めを表す。
【0044】
それゆえ、大まかな位置決めは、眼鏡フレームが当初、精密位置決めの後に達成される頭部の寸法に関する最終位置に近い、例えばこれに20mm、10mm、又はそれ未満の範囲内で近い位置に位置決めされることを意味する。すると、精密位置決めはこの位置を変更して最終位置を形成する。ここで、大まかな位置決めはメタデータに基づいており、モデルそのものが精密位置決めに使用される。
【0045】
頭部メタデータとフレームメタデータを使用することにより、大まかな位置決めは素早く、比較的わずかな計算のための経費で実行できる。さらに、大まかな位置決めでは、後の精密位置決めのための開始点又は初期位置及び向きが得られ、これは、前記精密位置決めがすでにほぼ正確な眼鏡フレームの位置から始まるため、精密位置決めを加速させることができる。これにより、精密位置決め中に所望の最適に対応しない位置を見つけてしまうリスクが低減する。頭部及びフレーム自体の3Dモデルが精密位置決めに使用されることにより、すると、それによって精密位置決め中に高い精度を実現でき、その前に行われる大まかな位置決めにより精密位置決め全体に必要な計算のための経費が削減される。
【0046】
ここで、3Dモデルとは、実際の物体の3次元表現を意味すると理解すべきであり、これは記憶媒体、例えばコンピュータのメモリ又はデータ媒体に記録されるデータとして利用可能である。例えば、このような3次元表現は、頂点とも呼ばれる3D点の集合と、点間の接続であって、辺とも呼ばれる接続からなる3Dメッシュとすることができる。最も単純なケースでは、3つの接続は三角形メッシュを形成する。3Dメッシュのような表現は、物体の表面を説明するだけであり、内容部は説明しない。メッシュは必ずしも閉じていなくてもよい。それゆえ、例えば頭部がメッシュの形態で説明される場合、これはマスクのように見える。このような3Dモデルに関する詳細は、Rau J−Y、Yeh P−C,“A Semi−Automatic Image−Based Close Range 3D Modeling Pipeline Using a Multi−Camera Configuration.”Sensors(Basel,Switzerland).2012:12(8):11271−11293.doi:10.3390/s120811271;特に11289ページ、「
図16」の図面)に記載されている。
【0047】
体積型の表現を代表するボクセルグリッドは、3Dモデルを表現するまた別の選択肢である。ここで、空間は小さいキューブ、すなわちキューボイドに分割され、これがボクセルと呼ばれる。最も単純なケースでは、表現すべき物体の有無が各ボクセルについて二値(1又は0)の形態で記憶される。ボクセルの辺の長さが1mmで、体積が、頭部の典型的な体積を表す300mm×300×300mmである場合、結果として合計2700万個のこのようなボクセルが得られる。このようなボクセルグリッドについては、例えばM.Niessner,M.Zollhoefer,S.Izadi,and M.Stamminger,“Real−time 3D reconstruction at scale using voxel hashing”.ACM Trans.Graph.32.6,Article 169(November 2013),DOI:https://doi.org/10.1145/2508363.2508374で説明されている。
【0048】
3Dモデルの表現のその他の考えられる形態には、例えば点間の接続に関する情報項目(辺、例えば上述の三角形のメッシュ)を持たない点群、各点における法線ベクトルを有する点群、球、円柱、平面等の基本的な幾何学物体のスプライン局面帯部分的表面の形態の表現が含まれる。本明細書に記載の方法は、選択された3Dモデルの表現に無関係とすることができる。
【0049】
スプライン曲面とは、1つ又は複数のスプラインにより説明される表面を意味すると理解されたく、これはhttps://en.wikipedia.org/w/index.php?title=B−spline&oldid=840787047に記載されている。
【0050】
基本的な幾何学物体とは、その表面によって説明される3次元の図形を意味すると理解されたく、これはhttps://de.wikip@edia.org/w/index.php?title=K%C3%B6rper(Geometrie)&oldid=177672595に記載されている。
【0051】
N個の点の点群は、合計N個の点を示し、N個の点の各々は3つの座標で説明される。
【0052】
法線ベクトルとは、このような物体又はこのような物体の組合せの直線、曲線、平面又は(湾曲)表面に直交する(垂直な)ベクトルである。
【0053】
特に、頭部の3Dモデルと眼鏡フレームの3Dモデルは、テクスチャ付き3Dモデルとすることができる。テクスチャ付き3Dモデルとは、実際の物体の表面の点の色情報項目をさらに含む3Dモデルを意味すると理解されたい。テクスチャ付き3Dモデルの使用により、頭部と眼鏡フレームのトゥルーカラー表現が容易となる。
【0054】
ここで、色情報項目は、属性、例えばRGB(赤緑青)色値として頂点に直接含めることができ、又はテクスチャ座標のペアが各頂点に属性として付けられる。すると、これらの座標は、追加のテクスチャ画像の中の画像座標(ピクセル位置)であると理解すべきである。すると、例えば三角形メッシュの三角形のテクスチャは、テクスチャ画像のピクセルから補間により生成される。
【0055】
ボクセルグリッドとして記憶される場合、色情報項目はボクセル自体に記憶させることができる。すると、テクスチャの分解能はボクセル表現の中のボクセルの大きさに対応する。高分解能のテクスチャの場合、ボクセルグリッドは、表面を説明するメッシュに変換しなければならず、これは表面再構成と呼ばれる(例えば、Cignoni,Paolo,etal.“Meshlab:an open−source mesh processing tool.”Eurographics Italian Chapter Conference.vol2008.2008参照)。
【0056】
メタデータは、モデルそのものではなく、モデルの特徴に関する情報項目を含むデータと理解すべきである。特に、メタデータは、モデルための追加の情報項目を供給してもよく、及び/又はそれぞれのモデルに基づく顕著点又は曲線を含んでいてもよい。メタデータはまた、2017年3月5日現在、ドイツ語の“Metadaten”に関するWikipediaの記事において一般的な用語で説明されている。特にことわりがないかぎり、Wikipediaへの言及はドイツ語のWikipedia(de.wikipedia.org)を指す。
【0057】
事前に作られているかもしれないこのようなメタデータを使用した結果として、典型的に実質的により包括的な完全な3Dモデルを使用する場合と比較して、前述のような、頭部への眼鏡フレームの迅速な位置決めと、その位置の変更も簡単な方法で行うことができる。
【0058】
位置決めは、プロセスがコンピュータ等の計算機で行われ、実際の眼鏡フレームが実際の頭部にかけられるのではないため、「仮想」である。
【0059】
好ましくは、特に本発明の第五の態様において、ただし、本発明のこの態様のみに限定されないが、この場合のフレームメタデータは、眼鏡フレーム上の、眼鏡フレームが頭部で静止する1つ又は複数の場所を定義する第一の静止情報項目を含み、及び/又はこの場合の頭部メタデータは、頭部上の、頭部で眼鏡フレームが静止する1つ又は複数の場所を定義する第二の静止情報項目を含む。ここで、点、点の集合、曲線、又はエリアを場所と呼ぶことができる。眼鏡フレームの仮想フィッティングは、このような第一及び/又は第二の静止情報項目によって加速させることができ、それは、必ずしもフィッティング中のすべての計算及びステップについて眼鏡フレームの全体的3Dモデルを考慮する必要がないからである。
【0060】
点、点の集合、及び曲線に関する後述及び前述の方法はしたがって、場所がエリアとして定義される場合に当てはめることができる。構成部品、例えば接触エリアの領域内のつるは、空間曲線に関する超球面により近似させることができる。すると、同じ方法を静止曲線においても使用できるが、この方法ではさらに、空間曲線からの一定の距離を数学的手法によって要求され、又は強制される可能性がある。
【0061】
好ましくは、特に本発明の第四及び第五の態様において、ただし本発明のこれらの態様のみに限定されないが、第一の静止情報項目は、眼鏡フレームのノーズブリッジの領域における、特に眼鏡フレームのノーズブリッジの中心におけるある点を意味する静止点、眼鏡フレームのつる領域を意味する静止領域を含む。
【0062】
ノーズブリッジ及びつるという用語はここでは、2015年12月に発行されたDIN EN ISO 8624:2015−12及び2006年1月に発行されたDIN EN ISO 7998:2006−01の用語に準じて使用されている。
【0063】
静止点とは、頭部の、眼鏡フレームと頭部との接触点を定義する点を意味すると理解されたい。
【0064】
静止領域とは、眼鏡フレームと頭部との接触エリアを画定する領域を意味すると理解されたい。例えば、耳については、耳静止領域、すなわち頭部の耳に関する静止領域を使用できる。
【0065】
潜在的な静止領域、例えば潜在的な耳静止領域とは、原則的に、静止領域として適当である領域、例えば異なる頭の形状のための静止領域として提供される眼鏡フレームの領域を意味すると理解されたい。
【0066】
静止点と静止領域は、メタデータとして記憶できる。
【0067】
頭部上の眼鏡フレームの大まかな位置決めは、このような静止点によって実行できる。大まかな位置決めは同様に、静止領域によっても支援でき、これは特に、後述のようにつるの曲げ及び/又は位置変化の結果として眼鏡フレームの形状変化が必要となる場合でも当てはまる。ここで、ノーズブリッジとつるは、眼鏡フレームの、眼鏡フレームが典型的に頭部上で静止する部分であり、したがって、メタデータのこの選択により、実際の条件に対応する位置決めを行うことが可能となる。
【0068】
ここで、フレームメタデータは複数の異なる眼鏡フレームのための眼鏡フレームの3Dモデルと共に事前に特定でき、記憶媒体に保存でき、後で方法を実行するために呼び出すことができる。それによって、データを素早く利用可能とすることができる。
【0069】
例えば、頭部の3Dモデルは立体画像記録により製作できる。このような立体画像記録において、物体、この場合頭部は、複数の方向から記録され、記録位置は既知である。これは、相互に関して剛体的に配置された複数のカメラによって実行できる。すると、記録された画像の中の相互に対応する特徴を識別することにより、既知の記録位置を考慮してモデルを製作できる。このような3Dモデルの特定に関するさらに詳細な事柄は、例えばH.Hirschmueller,“Stereo Processing by Semiglobal Matching and Mutual Information”in IEEE Transactions on Pattern Analysis and Machine Intelligence,vol.30,no.2.pp.328−341,Feb.2008.doi:10.1109/TPAMI.2007.1166)に記載されている。
【0070】
例えば、眼鏡フレームの3Dモデルは製造者が提供できる。
【0071】
フレームメタデータを特定するための選択肢はいくつかあり、各種の選択肢を相互に組み合わせてもよい。例えば、フレームメタデータの異なるメタデータは異なる選択肢を使って特定できる。これらの点についてこれから説明する。
【0072】
フレームメタデータは、幾つかの実施形態においては手で特定される。このような手作業による特定によって、フレームメタデータを高い計算のための経費を生じさせずに特定することが可能となり、使用者がフレームメタデータを完全に制御できるようにする。このために、ユーザインタフェースを提供でき、前記ユーザインタフェースの場合に、眼鏡フレームはモデルに基づいてディスプレイ上にグラフィクスで表示される。すると、眼鏡フレーム上の点及び/又は輪郭を、例えばマウス及びそれに対応して表示されるマウスポインタを使ってクリックするか、又はタッチセンサ式スクリーン上で直接マーキングすることによって手作業で選択できる。ここで、特に、上記の静止点は1つの点でクリックでき、静止領域は輪郭線又は輪郭多項式として選択できる。さらに、眼鏡フレームの蝶番の回転軸は、メタデータとして手でマーキングできる。
【0073】
他の実施形態において、静止領域は、例えば各つる下側の輪郭線として、例えば画像認識アルゴリズムにより自動的に特定される。この場合、使用者による入力は不要である。
【0074】
最後に、他の例示的な実施形態において、フレームメタデータの全自動特定が提供される。これは好ましくは、機械学習方法を使って行われ、これは2017年3月8日現在、ドイツ語のWikipediaの記事、“Maschinelles Lernen”に記載されている。ここで、前述のように多数の眼鏡フレームのために手で、又は部分的に手で製作されたメタデータは、この機械学習のための訓練データとして使用できる。
【0075】
好ましい例示的な実施形態において、特に本発明の第二の態様の場合、ただし本発明のこの態様のみに限定されないが、フレームメタデータを特定するステップは、フレームの3Dモデル内の顕著点を特定する、特に自動的に特定するステップを含む。ここで、顕著点は特定の事前に定義された特性を有する点であり、これはいわゆる3D特徴記述子において定義されてもよい。3D特徴記述子は、3Dモデルの顕著点の特性を説明するR
n内のベクトルを意味し、それによってこの点はその特性ベクトルに基づく同様の3Dモデルの中で検索できる。顕著点の周辺における点の集合を使用することもできる。例えば、10mm等の所定の半径の球を広げることができ、その点は中心であり、点の特性はこの球内にあり、すなわち点群のこの小集合の中の点を調査できる。例えば、主成分分析の意味における固有値解析を行うことができる。ここで、外部固有値k1及びk2はすると、メタデータの要素として、例えば特性ベクトルの形態で含めることができる。ここで、特性ベクトルとは、メタデータの数値の表現を意味すると理解されたい。それに加えて、又はその代わりに、点の周辺における表面の主曲率を特定することも可能である。主曲率とは、https://de.wikipedia.org/w/index.php?title=Hauptkr%C3%BCmmung&oldid=172452500の記事の中に記載されている情報項目を意味すると理解されたい。主曲率も同様に特性ベクトルの中に含めることができる。代替的に、すべての点のヒストグラムを形成でき、及び/又は球の法線ベクトルを特定できる。このために、球は領域(体積)に細分でき、この領域内に位置する点(又は法線ベクトル)の周波数を各領域について確認できる。代替的に、相対周波数を特定できる。例えばヒストグラムの形態のこの周波数に関する情報項目も同様に、特性ベクトルに採用できる。
【0076】
いわゆるFPFH(fast point feature histogram)記述子によるこのような方法の例は、2018年5月25日に検索されたhttp://pointclouds.org/documentation/tutorials/fpfh_estimation.phpに記載されている。
【0077】
特に、このような特性ベクトルは機械学習を援用して特定できる:例えば、人間の中の専門の技能を持つ人は、3Dモデル内の顕著点を、例えばその上でクリックすることによって特定できる。例えば、このような領域は、眼鏡フレーの3Dモデルのフレームの蝶番の領域内の点とすることができ、これはすべての眼鏡フレームの中で一意的に特定でき;ソフトウェアは、クリックされた点の周囲の球内の点の集合を抽出し、使用者により特定される点の集合と点の種類は、数値ラベルとも呼ばれ、それぞれ機械学習方法、例えばニューラルネットワークの中に訓練データとして入力される。十分に訓練されたネットワークはその後、ある点群内のそれぞれの点に関するそれぞれのラベルを特定することができ、その結果、顕著点を識別することができ、及び/又は点を分類することができる。例えば、顕著ではない点は、無関係と分類できる。
【0078】
このような顕著点は比較的少量のデータを表し、確立されたアルゴリズムを使って顕著点を特定できる。3D特徴記述による顕著点のこのような特定に関するより詳細な事柄は、例えばSamuele Salti,Federico Tombari,Riccardo Spezialetti,and Luigi Di Stefano,2015.Learning a Descriptor−Specific 3D Keypoint Detector.In Proceedings of the 2015 IEEE International Conference on Computer Vision(ICCV)(ICCV‘15).IEEE Computer Society,Washington,DC,USA,2318−2326,DOI=http://dx.doi.org/10.1109/ICCV.2015.267に記載されている。このような所定の特性は例えば、点の近隣におけるモデルの曲率を含んでいてもよい。3D特徴記述子の例はいわゆる“FPFH(fast point feature histograms)”であり、これはR.B.Ruso“Semantic 3D Object Maps for Everyday Manipulation in Human Living Environments”, Dissertation,TU Munich 2009,pages 57ffに記載されている。
【0079】
顕著曲線もまた、それにしたがって定義されてよい。顕著曲線は、3D曲線として定義できる。3D曲線は、3次元空間内の曲線の表現である。3D曲線は、3D点のリストにより保存でき、或いは、3D曲線はまた、ルジャンドル多項式ベースのような直交ベースの幾つかの例示的な実施形態において、多項式曲線により表現されてもよい。他の例示的実施形態では、曲線は、Bスプラインベースの関数を援用して表されるスプライン曲線として表現でき、これはhttps://de.wikipedia.org/w/index.php?title=Legendre−Polynom&oldid=172427311及びhttps://en.wikipedia.org/w/index.php?title=B−spline&oldid=840787047に記載されている。
【0080】
例えば、つる静止領域は、このような多項式曲線を援用して説明でき、ここでは、曲線内の点は耳における静止点と対応させることができる。このような例示的実施形態において、曲線はフレームのメタデータの一部であり、例えばつる下側に沿って延び、潜在的な静止領域の全体を説明する。
【0081】
本発明の第二の態様によれば、このようにして特定される顕著点はすると、関係のある点と関係のない点に分類される。特に、関係のある点とは、メタデータを表すために使用される点を意味すると理解されたい。関係のある点は、冗長性のない、又は冗長性ができるだけ少ない必要なメタデータを表すことができる。
【0082】
関係のない点とは、例えば関係のない点により表されるメタ情報項目が他の点によっても同様に表されるため、すなわち情報項目の冗長性が存在するため、メタデータを表さないか、又は関係が薄い点と理解されたい。
【0083】
マニュアル方式では、使用者は関係のある点を特定でき、その一方で、関係のある点の数は自動方式におけるターゲットとして事前に特定でき、非学習系の機械による方法はまた、各顕著点について、この点の「突極性」の程度を特定できる。例えば、主曲線が表面の特性として使用される場合、2つの主曲率の積を程度として使用できる。学習系の機械による方法は、手作業の選択を開始でき、この場合、関係のある点は訓練段階により事前に特定できる。
【0084】
それゆえ、以下のステップは関係のある点に限定でき、そのため、処理すべきデータの量が減少する。これは特に教師あり学習を用いて実行でき、これは2017年3月8日現在、ドイツ語のWikipediaの記事、“Uberwachtes Lernen”に記載されている。ここで、顕著点の特定中に識別された点は、例えばフレームの表現と共にディスプレイ上に表示され、それはすると、それぞれの点を手作業で点クラスに割り当てることができる。これらの点クラスはその後、それぞれの点に関する3D特徴記述子に関連付けることができる。
【0085】
すると、この関連付けを各フレームのデータレコードとして、例えば.XMLファイルとして記憶できる。点クラスは、それぞれの点により明示される眼鏡フレームの要素又はそれぞれの点が眼鏡フレーム上のどこに位置するかを特定する。点クラスの例には、例えば左側の眼鏡蝶番の外側で上部に位置する点に関する「左側蝶番の外側、上」及び、下に位置する、それに対応する点に関する「左側蝶番の外側、下」、右側の蝶番に関してこれらに対応するクラス、前側のノーズブリッジの中央に関する「ブリッジ中央、前」、裏側のノーズブリッジ上の点に関する「ブリッジ中央、裏」等が含まれる。ここで、前側とは、眼鏡フレームの、前記眼鏡フレームが着用されるときに眼鏡フレームを着用する人物の頭部から遠い側であり、裏側とは、眼鏡レンズの、人物の頭部と対向する側である。
【0086】
支援付き学習の場合、顕著点についてこのようにして学習された点クラスをモデルに変換するため、及びこのモデルを適用して、学習段階の後に3D特徴記述子を使って見つけられた点のためのそれぞれの点クラスを自動的に確認するための、様々な利用可能なアルゴリズムがある。この点については、2017年3月8日現在、“Machine Learning Overview”by Open Source Computer Vision,Docs.opencv.org/3.1.0/dc/dd6/ml_intro.htmlも参照のこと。アルゴリズムの例には、例えば訓練及び分類に使用可能なソフトウェアライブラリ“Open CV”におけるクラス“cv::ml::RTrees”により実装されるようなランダムフォレストアルゴリズム(Breiman,Leo,“Random forests,”Machine learning 45.1(2001):5−32参照)が含まれる:“http://docs.opencv.org/3.1.0/d0/d65/classcv_1_1ml_1_1RTrees.html”も参照のこと。これはランダムフォレスト方式の一例である。他のランダムフォレスト方式は、TreeBaggerクラスによってMatlabに導入できる。
【0087】
さらなる使用可能なアルゴリズムは、同様に上述のOpen CVソフトウェアライブラリの中で提供される、いわゆる「サポートベクトルマシン(SVM)」の使用にある。
【0088】
すると、顕著点はこのようなアルゴリズムによって自動的に識別でき、これによって眼鏡フレームの3Dモデルの処理は簡単になるが、それは訓練段階の後は顕著点の識別に使用者による入力がもはや必要なくなるからである。
【0089】
好ましくは、顕著点の識別及び分類の後に座標変換が行われる。このような座標変換によって、異なるフレームのためのフレームのフレームメタデータ及び/又は3Dモデルを共通の座標系に変換できることになる。これによって、その後の処理が簡単になり、それは、個々の眼鏡フレームに同じ座標系を設定できるからである。
【0090】
幾つかの例示的な実施形態において、このような座標変換は、関係ありと分類された顕著点の集合に対する主成分分析により行われる。主成分分析(PCA)は例えば、Wikipediaの記事、https://de.wikipedia.org/wiki/Hauptkomponentenanalyse及びhttps://en.wikipedia.org/wiki/Principal_component_analysisに記載されている。空間内のn個の点の集合Xの場合、例えば、n行と3列(それぞれのn個の点のx、y、及びz座標)のマトリクスXを形成することができる。すると、3×3のマトリクスX
t*Xを調べることができ、主成分をこのマトリクスの最大固有ベクトルとして特定できる。
【0091】
主軸変換とは、主成分が及ぶ座標系への座標変換を意味すると理解されたい。
【0092】
座標変換の他の選択肢は、顕著点に基づく座標原点と座標軸の方向の固定割当てによるルールベース座標変換にある。ルールベース座標変換とは、標的とする座標系、すなわち変換先となる座標系の基底ベクトルを定義するための顕著点の線形結合を意味すると理解されたい。例えば、前述の「ブリッジ中央、前」のクラスの顕著点は座標原点の役割を果たすことができ、特定された点間の差分ベクトル又はこのような差分ベクトルの線形結合は座標軸の役割を果たすことができる。それゆえ、前述の「右側蝶番の外側、上」のクラスの点と「左側蝶番の外側、上」のクラスの点との差を座標軸として使用できる。ここで、顕著点は一意的に特定され、及び/又は固定シーケンスで利用可能であると有利であるかもしれない。例えばこれは、例えば使用者による選択によって設定される、手作業で設定される点の場合に当てはまるかもしれない。
【0093】
ノーズブリッジの中央を原点とするそのような座標系において、眼鏡フレームの対称面はすると、この原点を通って延びる。以下の説明のために、眼鏡フレームの眼鏡つるは実質的にz方向に向けられ、眼鏡フレームの蝶番間を結ぶ接続線はx軸に平行であり、y方向はそれに垂直であることを前提とする。別の表現をすれば、主固視方向において、頭部の両眼間、特に頭部の眼の瞳孔中心間を結ぶ接続線に対応する水平方向が、頭が直立状態に保たれるときにx軸と定義され、垂直方向はy方向と定義され、x及びy方向に垂直な方向はz方向と定義される。
【0094】
主固視方向における頭部の眼の瞳孔中心の位置がわからない例示的な実施形態において、頭部の眼の接続線は別の方法でも、例えば3Dモデルの眼の位置に基づいても定義できる。
【0095】
直立状態に保たれる頭部とは、頭部が、両眼の接続線が頭部の前額面に平行な平面内にあり、垂直方向は前額面と矢状面との間の交線に平行であるように保持されることを意味すると理解されたい。頭部の3Dモデルは、頭部の3Dモデルが直立状態にあるように設置できる。
【0096】
前額面と矢状面は、http://de.wikipedia.org/w/index.php?title=Frontaleben&oldid=177246560及びhttps://de.wikipedia.org/w/index.php?title=Transversalebene&oldid=177246519において定義されている。
【0097】
幾つかの例において、座標系は、例えば頭部を傾けても座標系と頭部との間の位置及び向きの点の関係が変わらない、すなわち、例えばx方向が依然として頭部の両眼間の接続線に従って延びるように頭部に不変に関連付けられてよい。別の表現をすれば、頭部は座標系内に静止した状態で設置できる。
【0098】
ここで、頭部が直立状態に保たれるとの言及は、x方向、y方向、及びz方向の座標系を定義する役割を果たす。ここで、z軸は原則として、主固視方向に平行に延びる。
【0099】
すると、上述の対象面はyz平面である。しかしながら、この座標系は例にすぎず、デカルト座標に代わる球座標の使用等、軸のその他の配置も可能である。
【0100】
1つの例示的な実施形態において、その後、眼鏡フレームの所定の構成要素が位置特定される。特に、眼鏡フレームのノーズブリッジと蝶番の位置を特定できる。これは、分類された顕著点に基づいて実行でき、これは、前述のように、手作業で選択されても、又は前述のように自動的に特定されてもよい。例えば、眼鏡の蝶番の位置は、蝶番の外側又は内側で特定された顕著点に基づいて、特に前述のような「左側蝶番の外側、上」及び「左側蝶番の外側、下」等のクラスの点により特定できる。1つの例示的な実施形態において、蝶番軸点はこのような顕著点の平均値として計算される。特に、左側蝶番軸位置は、
左側蝶番軸点=1/4
*(左側蝶番の外側、上+左側蝶番の外側、下+左側蝶番の内側、上+左側蝶番の内側、下)
に従って計算でき、式中、左側蝶番軸点は、眼鏡フレームの左側の蝶番軸点、すなわち、左側蝶番の外側、上、左側蝶番の外側、下、左側蝶番の内側、上、及び左側蝶番の内側、下は、対応する点クラスの顕著点、すなわち左側眼鏡蝶番の外側の左上、左下に位置する、及び各々内側及び外側に位置する(眼鏡フレームの内側に、すなわちノーズブリッジに向かう、及び眼鏡フレームの外側、すなわちノーズブリッジとは反対にある)点の位置を意味する。対応する式は、右側蝶番軸点にも、左側の点を右側の点に置き換えることによって使用できる。このようにして、外から見える点に基づいて眼鏡フレームの内部の蝶番軸上にある蝶番軸点を特定できる。
【0101】
ノーズブリッジは、前述のように、「ブリッジ中央、前」及び「ブリッジ中央、裏」の間クラスの点の交点として同様に定義できる。
【0102】
幾つかの例示的な実施形態において、特に本発明の第四の態様によれば、ただし本発明のこの態様のみに限定されないが、フレームの3Dモデルは、フレームメタデータを特定する目的のために構成要素に分割され、構成要素は特に、眼鏡つるのための構成要素と、眼鏡つる以外に眼鏡フレームを説明する構成要素を含んでいてもよい。3Dモデルの分割とは、情報項目を小集合に分割すること、例えば3D点群を3D点群の小集合に細分することを意味すると理解されたい。
【0103】
このような分割により、フレームメタデータを特定することを目的として各種の構成要素を個別に分析し、それによって処理すべきデータ量を減らすことができる。特に、分割はここでは、顕著点に基づいて、及び/又は前述のように、ノーズブリッジ及び/又は蝶番の位置特定に基づいて行うことができる。
【0104】
このために、断面を空間内に画定でき、前記断面は3Dモデルの点(頂点)又はボクセルを分割する。
【0105】
ここで、断面は、それぞれの基準点pとその平面に垂直な法線ベクトルnにより定義できる。ここで、基準点pは法線ベクトルnと共に、座標系の原点に関する平面の位置と向きを一意的に示すある平面のための支点を表す。基準点は、ベクトルとして利用できる。同様に、座標は、座標系の原点からその点の座標までのベクトルとして表現できる。すると、その位置が座標v(その点のデカルト座標表現に対応する)により定義される3Dモデルの頂点又はボクセルについて、以下が適用される:<v,n>≦<p,n>又は<v,n>><p,n>。ここで、<,>はユークリッドスカラ乗積を指す。スカラ乗積とは、ユークリッドスカラ乗積を意味するが、異なる定義によるスカラ乗積も使用できる。ここで、法線ベクトルnは1の長さに正規化され、すなわち<n,n>=1である。
【0106】
2つの関係のうちの何れが当てはまるかに応じて、点vは断面の一方の側か他方の側に位置する。これによって、本発明の第三の態様による構成要素への単純な分割が容易となるが、それに限定されることはない。
【0107】
眼鏡フレームの分割を目的として、前述のように特定されてよいそれぞれの蝶番軸点は、この手順の中の断面の基準点として使用できる。座標系のz軸、すなわち眼鏡つるが延びる方向はすると、前述の座標変換における断面のための法線ベクトルの役割を果たすことができる。<v,n>≦<p,n>が満たされる頂点又はボクセルはすると、それぞれの眼鏡つるを定義する。
【0108】
すると、さらなるメタデータをこのようにして眼鏡フレームの3Dモデルから分割された構成要素に基づいて計算できる。それゆえ、静止情報項目の前述の静止領域は、眼鏡フレームの3Dモデルから分割された眼鏡つるに基づいて計算できる。分割された構成要素を使用することは、メタデータを特定するときに使用しなければならないデータが、完全な3Dモデルが使用される場合より少なくなることを意味し、その結果、計算を加速できる。
【0109】
静止領域を特定するために、眼鏡フレームの3Dモデルから分割された眼鏡つるの各々について、本発明の第四の実施形態により、以下の方法を使用できる。
【0110】
まず、それぞれの眼鏡つるの始点aと終点bは、眼鏡フレームの3Dモデルのそれぞれの分割された眼鏡つるから特定される。この場合の眼鏡つるのフレームの始点と終点とは、耳静止領域として提供される領域の始点と終点を意味する。前述の座標系において、分割された眼鏡つるのうち、そのz成分の最小値を有する点を始点aとすることができ、z成分の最大値を有する点を終点bとすることができる。この特定は、手作業で、例えば使用者が3Dモデルから選択することによって、又はルールベース方式で、例えば静止点からの一定の距離が両方向に必要とされることによって、若しくはつるの終点に関する必要な相対距離として行うことができる。
【0111】
次に、潜在的な耳静止領域が特定される。この潜在的な耳静止領域を制限する平面のz成分は、z方向への眼鏡つるの長さに関する所定の比αとβとして使用でき、そのため、以下:
α<(v
z−a
z)/l
z<β
(ここで、αとβは所定の値であり、これらは例えば、製造者によりそれぞれの眼鏡フレームについて事前に特定されるか、又は多くの眼鏡フレームからの演繹的な値として特定されてもよい。αは0.3〜0.6とすることができ、例えばα=0.47であり、βは0.6〜0.9とすることができ、例えばβ=0.76である)が適用される。
【0112】
a
zは点aのz成分であり、l
zは眼鏡フレームのz方向への長さであり、b
z−a
zに対応する。v
zは3Dモデルの頂点又はボクセルのz成分である。頂点又はボクセルに関して、そのz成分v
zに前述の関係が当てはまり、潜在的な耳静止領域に属し、すなわち、これらの頂点又はボクセルには以下が適用される:
v
z>α×l
z+a
z、
v
z<β×l
z+a
z
【0113】
すると、静止領域は漸増的にスライドする窓を用いる計算によって静止点群又は静止曲線として確認できる。静止点群は、静止領域又はその小集合を形成する点の集合を意味する。
【0114】
静止曲線は、3D曲線としての静止点の表現である。窓とは、点が考慮される特定の3次元領域を意味する。このために、一定の幅(例えば0.5mm〜3mmの幅、例えばz方向に1mm)及び一定の増分(例えば、同様に0.5mm〜3mm、例えば約1mm)の窓が、潜在的な耳静止領域にわたりz方向にスライドされる。まず、潜在的な静止領域の、窓の中に位置する頂点又はボクセルの集合が窓の各位置について確認される。その後、これらの頂点又はボクセルの各々について方向ベクトルdを用いたスカラ乗積sが形成され、s=<v,d>となり、式中vは再び、頂点又はボクセルの座標を特定する。
【0115】
原則として、これらのスカラ乗積sの最大値
【数3】
は、座標
【数4】
の割り当てられた頂点又はボクセルに一意的に割り当てられる。1つの窓の中に複数の最大スカラ乗積が存在する場合、所定の頂点又はボクセル、例えば最初に計算された最大値を有する頂点又はボクセルがこの窓に関する頂点又はボクセル
【数5】
とみなされる。このようにしてすべての窓について、例えば増加するz値による順序で発見された座標
【数6】
の集合は、本発明の第五の態様による、ただしこれに限定されない静止領域を静止曲線として特徴付ける点の配置が得られる。例示的な実施形態において、この曲線をフィルタにより、例えばガウシアンフィルタにより平滑化でき、又は曲線を点に当てはめることができ、例えばスプライン近似をBスプラインによって実行でき、これは2017年3月9日現在、ドイツ語のWikipediaの記事“Spline”に記載されている。
【0116】
正規化ベクトルは、方向ベクトルdとして仮定され、すなわち<d,d>=1である。後者は、それぞれ左及び右側の眼鏡つるについて一定となるように選択できる。一定の方向ベクトルの一例は、上で定義した座標系においてベクトル(0,−1,0)であろう。この場合、静止点は常に眼鏡つるの最下点であろう。つるの位置と向きは、内側に向く静止曲線、すなわち、例えば、
右側のつるに関してδ=30°の場合、d=(cos(δ),sin(δ),0)及び
左側のつるに関してδ=30°の場合、d=(−cos(δ),sin(δ),0)
の場合により正確となる。
【0117】
幾つかの例示的な実施形態において、頭部メタデータは耳静止点を含み、これは例えばモデルの耳の表現上のある点を手で選択することによって選ばれる。方向ベクトルdを特定するために、この場合、頭部の3Dモデル内のこの耳静止点の周辺で窓を選択でき、例えばこの耳静止点から所定の距離を超えないだけ、例えば0.25mm〜1mmを超えないだけ、例えば0.5mmを超えないだけ離間された、z値を有する頂点又はボクセルのすべてである。すると、窓のこれらの頂点のすべての平均値が特定され、耳静止点の正規化差分ベクトルから平均値を引いたものが方向ベクトルdとして定義される。
【0118】
このようにして、静止領域としての静止曲線を比較的簡単な方法で自動的に特定でき、これはすると、頭部上での眼鏡フレームの位置決めのための方法のさらなるステップで使用でき、これについては後でより詳しく説明する。
【0119】
フィッティングを加速させるために、フレームメタデータはさらに、眼鏡つる上の予想耳静止点を含んでいてもよく、これは手作業で選択されてよい。これらの予想耳静止点はすると、眼鏡の仮想位置決めのための開始点としての役割を果たすことができ、すなわち、眼鏡はまず、これらの点において耳の上に載せられる。これは、仮想位置決めを加速させるかもしれない。
【0120】
さらに、ノーズパッドを含む眼鏡フレームの場合のメタデータは、このようなノーズパッドの位置を示す点を含んでいてもよい。これらの点もまた、手作業で選択されても、機械学習により特定されてもよい。
【0121】
例えば、使用者がクリックした点は、ノーズパッドの中心にあたると仮定できる。所定の半径の、例えば半径6mmの球を前記所定の周囲に描くことができる。すると、この球の中にある点は、すでに説明したように、主成分解析によって解析できる。
【0122】
このような点群を解析するために、特に、球の中心を点群の座標から差し引いてから、原点の周囲に中心を置く点の集合を得るために解析することができる。これは、その後の解析を簡単にするかもしれない。
【0123】
フレームメタデータはさらに、フレームの、特に眼鏡つるの柔軟性に関する曲げ情報項目を含んでいてもよい。このような情報項目を使用すると、眼鏡は、仮想位置決め中に曲げることによって頭部に仮想的に試着させることができ、これらの調整をその後、それに対応する実際の眼鏡フレームに当てはめることができる。このような情報項目の例には、例えば、蝶番軸の周囲の回転が可能か否か、及び可能であればどの程度可能かに関する情報項目が含まれる(例えば、ばね蝶番を備えるプラスチック製フレームの場合)。眼鏡蝶番はストッパを有する−例えば、最大開き180°。幾つかの蝶番では、このストッパはばねによって実現でき、そのため、180度を超える開きが可能となる。ばねを持たない硬いストッパの場合、つるは曲げ開くと変形する。それゆえ、例えば蝶番の種類、すなわち固定されているか、ばね式であるか、は情報項目の中に符号化される。それに加えて、つるの柔軟性が符号化され、ここで、ばね式蝶番の場合はつるの剛体モデルが使用される。またさらなる例は、眼鏡つるの傾斜、すなわち眼鏡つるのx軸の周囲での眼鏡フレームの残りの部分に関する回転の調節の可能性に関する情報項目に関する。多くのメタルフレームにおいて、これはつるを蝶番において上下に曲げることによって可能である。
【0124】
この情報項目はまた、傾斜の調節が不可能であることも特定してよい。例えば、この情報項目は、イエス/ノー情報項目(傾斜の調節が可能か否か)、又は傾斜を変更できる角度範囲として利用可能であってよい。
【0125】
さらに、眼鏡つる自体の曲げ開きも、例えば曲げ関数によって定義できる。例えば、z軸にわたる多変量多項式及びx及びxy方向へのオフセットはこのような曲げ関数を説明できる。さらに、つるを曲げ開くことにより生じる眼鏡フレームの、フレームのエッジの変形を、例えば多変量多項式又は多変量スプライン関数(例えば、Bスプラインベースのテンソル積:De Boor,Carl,et al.“A practical guide to splines”.vol.27.New York:Springer−Verlag,1978.Chapter XVII参照)によってモデル化することも可能である。
【0126】
このような曲げは特に、薄い眼鏡つる又は非常に弾力性のある眼鏡つるの場合に可能である。
【0127】
上述の情報項目は、眼鏡つるを異なる方向、例えば前述の座標系によるx及びy方向へと曲げて、フィッティングするために提供できる。
【0128】
次に、各種の実施形態による頭部メタデータの変形型及び、そのため選択肢を特定するための方法を説明する。
【0129】
好ましくは、本発明の第一の態様において、ただし本発明のこの態様のみに限定されないが、ヘッドメタデータは眼の位置を含み、これはその後、眼鏡フレームの水平整列のために使用できる。例えば、これらのメタデータは固視方向における眼、例えば瞳孔、特に瞳孔中心の位置(DIN EN ISO 13666:2013−10,5.33参照)を点座標として特定する。さらに、頭部メタデータは、前述のように、耳設置点を含んでいてもよく、これは耳の上の眼鏡フレームの静止点を明示する。頭部の上の眼鏡フレームの静止点を特定するその他の設置点、例えば頭部の鼻の上での設置点もまた使用可能である。これらのメタデータの結果として、耳の上の眼鏡つるの簡単な位置決めが可能となる。
【0130】
さらに、頭部メタデータは、鼻梁の上の設置点及び/又はその説明を例えば3D曲線の形態で含んでいてもよく、これは鼻梁の領域を説明し、これは鼻梁領域とも呼ばれる。これらのメタデータは、頭部上での眼鏡フレームの大まかな位置決めに役立つかもしれない。ここで、設置点は頭部の3Dモデルの鼻梁における、又はその付近の点であり、この点は、特に大まかな位置決めにより、フレームメタデータの前述の静止点に対応させることができる。
【0131】
上でフレームメタデータについてすでに述べたように、このような頭部メタデータは手作業で、例えば3Dモデルに基づく頭部の表現における、それに対応する点又は曲線を選択することによって特定されてよい。しかしながら、これらはまた、完全に又は部分的に、前述のように機械学習によって特定されてよい。
【0132】
他の実施形態において、頭部の3Dモデルに加えて、頭部の2次元画像データが頭部メタデータの自動特定のために使用される。このような2D画像は、3Dモデルが複数の校正された位置から頭部をカメラで記録することによって製作されている場合、何れの場合にも利用可能である。校正された位置とは、画像記録の位置が既知であることを意味し、したがって、3Dモデルはすると、記録された画像と位置に基づいて特定できる。代替的に、2D画像はまた、画像合成(レンダリングとも呼ばれる)によってテクスチャ付き3Dモデルからも生成されてよい。例えば、これに関する情報は、2017年3月10日現在、ドイツ語のWikipediaの記事“Bildsynthese”において見ることができる。
【0133】
すると、人の顔面特徴、例えば瞼、眉毛、鼻梁、眼、及びその他をこのような2D画像の中で、画像認識方法(物体検出器とも呼ばれる)によって識別できる。例えば、このための適当な方法は、2017年3月10現在、ソフトウェアライブラリ、“dlib”,“http://blog.dlib.net/2014/08/real−time−face−pose−estimation.html”において提供され、又はV.Kazemi et al.,“One Millisecond Face Alignment with an Ensemble of Regression Trees”、X.Zhu et al.,“Face detection,pose estimation and landmark localization in the wild”,CVPR 2012に記載されており、また、最初の著者のホームページ、http://www.ics.uci.edu/〜xzhu/face/“”にも掲載されている。
【0134】
このように識別された2次元画像内のこれらの点又は領域はその後、頭部の3Dモデル(例えば、3Dメッシュ)に投影され、それゆえ、3D点の形態で頭部メタデータとして利用可能となる。好ましい実施形態において、投影の目的のために逆投影マトリクスが使用される。ここで、投影マトリクスは、使用されたカメラのカメラ座標系及びカメラマトリクスにおけるモデルの、例えば3Dメッシュの座標系からの剛体変換からなる。上記のように、画像記録のための構成された位置でのカメラ装置が3Dモデル及び2D画像の記録のために使用される場合、これらのマトリクスが記録された画像から3Dモデルを特定する範囲内で与えられ、又は特定される(Richard Hartley and Andrew Zisserman,2000.Multiple View Geometry in Computer Vision.Cambridge University Press,New York,NY,USA参照)。
【0135】
このようにして、投影は素早く行うことができ、これは必要なマトリクスがすでに3Dモデルの特定からわかっているからである。代替的実施形態において、2D画像の顔面特徴はまた、手でマークでき、その目的のために2D画像をディスプレイで表示できる。混合形態もまた使用でき、この場合、顔面特徴は前述のように自動的に特定され、その後、手で補正されてもよい。
【0136】
前述の鼻梁領域は3D曲線として提供できる。このために、前にすでに述べたように、眼鏡つるの静止領域を特定するための方法に対応する方法を利用できる。特にスライド窓を用いる前述の方法が利用でき、この場合、頭部の方向に後方に向けられる頭部の方向(これは例えば、3Dモデルのz軸等の座標軸であってよい)は、前述の式の方向ベクトルdとして使用できる。この方向もまた、頭部を特定する際に特定できる。この場合の方向ベクトルdは、頭部の回転方向又は視線方向に対応し、これは欧州特許出願第17153559.4号明細書に記載されており、前記方向は欧州特許出願第17153556.0号明細書において開示されている偏心測定器によって特定でき、ここで、窓の変位方向は頭部の3Dモデルのy軸、すなわち縦軸であり、頭部の全体的モデルが使用されるか、又は瞳孔位置の平均値のy座標及び鼻の先端のy座標によるセクションが使用され、これはスカラ乗積s=<v,d>(前述)が最大となる、v_maxとして特定される。
【0137】
静止領域の場合と同様に、ここでもガウシアンフィルタ等によるフィルタリング及び/又はスプライン近似を実行することができる。
【0138】
ここで、y軸上の間隔は鼻梁の曲線のパラメータ表現として使用される。それゆえ、ある関数が得られ、前記関数は各y値のための鼻梁上の関連する3D点を提供する。
【0139】
すると、特に本発明の第五の態様によれば、ただし本発明の前記態様に限定されることなく、この鼻梁領域に関するこの3D曲線に基づいて前述の設置点を特定できる。このために、3Dモデルの眼位置の接続線が含まれ、及び視線方向が含まれる平面に鼻梁曲線とも呼ばれる3D曲線が交差し、これは1つの実施形態において、静止点を特定するための開始点sの役割を果たす。すると、この点sの周囲で、例えば所定の領域(所定の距離、例えば±3mm、±2mm等)内で、鼻梁曲線のうち、視線方向において最小値を有する点、すなわち最も遠い後方にある点(3Dモデルの後頭の方向)が特定される。y方向への一定のオフセットを依然としてこの点のy値に加えることにより、y値と設置点を、曲線の前述のパラメータ表現により確認できる。これによって設置点を確認でき、後者は、フレームメタデータの静止点と共に、眼鏡フレームの初期位置決めのために使用でき、前記初期位置決めは最終位置に比較的近く、おそらくその後の最適化を加速させる。
【0140】
その後、頭部メタデータを頭部の3Dモデルと共に記憶でき、その結果、異なるフレームにも使用できる。これによって、様々なフレームのための頭部メタデータの再計算が省かれる。
【0141】
メタデータに基づく仮想位置決めは好ましくは、メタデータに基づく大まかな位置決めによりその後のさらなるフィッティングのための開始点を提供することを含むことができる。ここで、特に、鼻梁上の前述の設置点を眼鏡フレームの静止位置に対応させることができる。ここで、フレームのz軸(すなわち、眼鏡つるの方向)を、視線位置を示す、頭部の3Dモデルのそれに対応する軸と正確に一致させることができる。
【0142】
大まかな位置決めのこの部分の後に、フレームをx軸の周囲で回転させることができ、すなわち、フレームの「装用時」前傾角を、1つの実施形態において、眼鏡つるの静止領域が耳静止点上に載るように変化させることができる。まず、これは各つるについて別々に実行される。このために、1つの実施形態において、静止領域と円筒面との交点が計算され、この場合、円筒面、円筒軸はフレームの回転軸(前述の座標系のx軸)に対応する。ここで、回転軸は静止点を通って延びる。円筒の半径は、回転軸からのそれぞれの耳静止点までの距離である。円筒上の交点により、フレームを前方に傾ける、又は後方に傾ける角度が直接得られる。ここで、シリンダの交点は反復的線円筒交差(iterative line cylinder intersections)により計算できる。ここで、静止領域(例えば、上で確認された静止曲線)は当初、より粗い、すなわちより低い分解能のセグメント表現の中で計算を加速させるために使用されてよい。例えば、より単純なケースでは、前述の始点aと終点bとの間の接続線を、より粗いセグメント表現として使用できる。
【0143】
反復的線円筒交差によるこの特定は、以下のように行うことができる:Sはこの接続線と円筒との交点を示すものとする。すると、Sのz座標z
Sが反復改良中に使用されて、関連する実際の曲線点が確認される。後者は円筒面上になくなるが、それでも角度を特定するための近似値として使用できる。それに加えて、ここで、さらなる反復ステップを実行することが可能となる。このために、zsの周囲の間隔εの曲線上の点k(z
S−ε)及びk(z
S+ε)が使用され、これらは次の反復においてa及びbに代わる新しい視点と終点となる。
【0144】
この位置決めに続いてフレームが曲げられ、その目的のために、フレームの柔軟性を説明するフレームメタデータの前述の曲げ情報項目が使用される。
【0145】
このために、上で説明した円筒公差を用いる上述の方法が再び適用可能である。前述のように、曲げ情報項目が多変量曲げ関数として利用できる場合、つるの静止領域から耳静止点までの距離が費用関数として使用される最適化を行うことができる。ここで、一般に、費用関数とは、最適化すべき1つ又は複数のパラメータに応じて変化し、最適化の目的のために最大値又は最小値となるようにされる関数である。ここで、曲げ強度にかかわる曲げ関数のパラメータが、最適化すべきパラメータとして選択される。x方向への曲げ広げのための単純な曲げ多項式関数の場合、数学的逆関数も同様に多項式により近似させることができる。このために、曲げ関数D
z(x)は、x方向への曲げのための位置zにおける多項式として付加的にモデル化され、その逆関数D
z−1(d)も同様に多項式により、例えば個々の離散点[x1,x2,...xn]における関数をサンプリングし、[D
z(x1),D
z(x2),...,D
z(xn)]において値[D
z−1(D
z(x1)),D
z−1(D
z(z2)),...,D
z−1’(D
z(xn))]での新しい多項近似を実行することによって近似させられる。この場合、耳設置点のx値までの静止曲線の曲げ広げは、z=静止位置及びx=耳設置と静止位置との差に関する逆関数を適用することによって直接確認できる。
【0146】
フレームを曲げることによって、z方向への回転(すなわち、x軸の周囲でつるを曲げること)によって傾斜をつるに合わせることもできる。ここでもまた、前述の円筒公差方式をさらにまた使用でき、この場合、耳設置点が円筒を構成するために使用可能で、後者には静止曲線が交差する。
【0147】
本発明の第一の態様による実施形態において、ただし、本発明のこの態様のみに限定されないが、フレームの精密位置決めは少なくとも実質的にxy平面に限定される。ここで、xy平面とは、x方向及びy方向に平行に延びる平面を意味すると理解されたく、前記平面はそれゆえ、2つのベクトル、すなわちx方向に延びる1つのベクトルとy方向に延びる1つのベクトルにより画定され、前記平面はその結果、z方向に垂直である。すると、z方向へのベクトルは、xy平面の法線ベクトルである。xy平面内の変位はまた、xy方向への変位ともいうことができる。特に、xy平面は大まかな位置決めの後の眼鏡フレームの固定点を含んでいてもよい。
【0148】
ここで、精密位置決めを少なくとも実質的にxy平面に限定することは、z方向への位置の変化がxy平面内の位置の変化の少なくとも10%以下、又は少なくとも5%以下であることを意味し、前記z方向への位置の変化はまた0であってもよい。
【0149】
ここで、フレームは眼鏡フレームの3Dモデルと頭部の3Dモデルとの間に衝突が存在しなくなるまでx−y−方向に変位させられる。
【0150】
眼鏡フレームの位置の変化は、眼鏡フレームを変位させることによってもたらすことができる。
【0151】
眼鏡フレームを変位させるとは、眼鏡フレームの並進移動を意味すると理解されたく、これは、変位ベクトルにより特徴付けられてもよい。変位ベクトルは、大まかな位置決めにより得られた眼鏡フレームの初期位置及び向きと精密位置決めステップの終了時の眼鏡フレームの位置との間の変位を説明してよい。
【0152】
変位ベクトルの長さは、変位の距離と呼ぶことができる。ここで、幾つかの実施形態において、眼鏡フレームはxy平面内で第一の距離だけ変位させることができ、その後、z方向に沿って第二の距離だけ変位させることができる。前述のように、変位は少なくとも実質的にxy平面に限定できる。例えば、これは、幾つかの例示的な実施形態において、第二の距離は第一の距離の10%以下である。幾つかの例示的な実施形態において、第二の距離は第一の距離の5%以下である。幾つかの例示的な実施形態において、第二の距離は第一の距離の0%である。
【0153】
頭部の3Dモデルの表面は、この精密位置決めのためにわずかに(例えば、0.3mm〜1mm)低くして、眼鏡フレームの静止エリアにおける皮膚の変形を考慮に入れることができる。これによって、より現実的なフィッティングを容易にすることができる。この場合、無衝突とは、フレームの3Dモデルと頭部の3Dモデルが共通の空間領域を持たないことを意味する。精密位置決めの後、前述の曲げプロセスを再び行って、フィッティングをさらに改善することができる。
【0154】
好ましい実施形態において、それぞれの頭部のための眼鏡フレームの原理上の適当さは、このステップの後に、眼鏡フレームの下側の縁部がそれぞれのモデルの頭部の頬領域に当たるか否かをチェックすることにより確認できる。
【0155】
メタルフレームに存在することの多いノーズパッドを備えるフレームの場合、仮想位置決めはさらに、ノーズパッドの位置決めを含んでいてもよい。1つの例示的実施形態において、このフィッティングは、回転中心の周囲でのノーズパッドの回転としてモデル化される。このために、ノーズパッドは眼鏡フレームの残りの部分から分離でき、これは前述のように実行されてよい。このフィッティングは、前述の曲げの後に行うことができる。精密位置決めは、ノーズパッドを変化させるたびに改めて行うことができる。
【0156】
ノーズパッドの主軸は回転軸として選択でき、例えば、これらは前述の主成分分析を用いて特定されてよい。回転は、最大の固有値のために、主成分分析から得られた2つの主軸の周囲の2つの角度に限定できる。ノーズパッドが鼻と接触するエリアの逆を、できるだけ広い静止を実現するために、ノーズパッドの位置の最適化のための費用関数として使用できる。これによって、ノーズパッドの位置の仮想フィッティングも可能となり、これはその後、実際のフレームに移行されてよい。その結果、実際のフレーム上のノーズパッドの実際の頭部でのフィッティングが不要となるか、又は依然として必要であるが、わずかのみとなる。
【0157】
幾つかの実施形態において、特定の事前調節可能な「装用時」前傾角(例えば、9°)は、この傾斜の変更中に事前に特定できる。この一定の「装用時」前傾角はすると、眼鏡がその後移動しても、傾斜を変化させることによって保持され、これについては後でより詳しく説明する。
【0158】
頭部をそこに位置決めされた眼鏡フレームと共に表示することは、従来の画像合成方法により行うことができ、画像合成に関する前述のドイツ語のWikipediaの記事を参照されたい。このために、特にカメラの画像をテクスチャとして使用でき、前記カメラの画像は、それによって自然の画像印象が得られるため、3Dモデルを製作するのにも役立てられている。照明は、画像合成のために設定又は事前に特定でき、すると、画像合成は例えばいわゆるレイトレーシングによって行うことができ、2017年3月10日現在、“Ray Tracing”に関するWikipediaの記事を参照のこと。
【0159】
このために、頭部の画像を記録したときの周囲照明に対応する仮想光源を使用できる。好ましくは、この周囲照明は、画像が記録されるときに特定される。この周囲照明を特定するために、頭部の3Dモデルを製作するための画像を記録するのに使用されるカメラシステムでは、特にパノラマカメラ(すなわち、広角のパノラマカメラ)を使用でき、前記パノラマカメラは光源を識別するために周囲を記録する。他の実施形態において、3Dモデルを製作するために画像を記録するこのようなシステムは、既知の位置に照明器を有していてもよく、これはすると、画像合成のための照明の位置として使用される。この画像合成中に、観察者にできるだけ自然な画像印象を提供するために、フレーム内の眼鏡レンズもまた考慮されてよい。この場合、特にミラーリング層が使用されるときに生じる反射を考慮に入れることができる。好ましい実施形態において、異なる種類の反射防止コーティングについてのモデルが利用可能であり、また、使用者に異なる層に関する印象を提供するために、異なる種類のグラスのためのモデルも利用できる。画像合成の範囲内で、反射防止層の効果は、特に側視における反射の形態で現れる。
【0160】
さらに、方法は、使用者の入力に基づく眼鏡フレームの位置の変化を含んでいてもよい。それゆえ、使用者は眼鏡の座りを自分の希望に合わせて調整でき、又は検眼士が依然として調整を行うことができる。このために、使用者のために適当なユーザインタフェースを提供でき、例えば、マウスの動きにより、又はタッチセンサ式スクリーン(タッチパッド)に触れることによってナビゲーションを実行できる。
【0161】
方法は、眼鏡のフィッティングの他の方法、例えば、例えば欧州特許出願第17153560.2号明細書に記載されているようなセンタリング方法と組み合わせることができる。ここで、特に、その中に記載されている方法による仮想センタリングを前述のようなフレームのフィッティングの後に行うことができ、これはセンタリングの精度を高める。
【0162】
この相互作用中に、使用者が選択した鼻の上の眼鏡フレームの設置点がメタデータ内の設置点とずれている場合、メタデータ内の設置点を使用者により選択された設置点に合わせて変更できる。このように変更された、使用者が好む設置点はすると、別のフレームの仮想フィッティング中に使用できる。
【0163】
相互作用中、使用者はモデルを回転させて、それを横から見ることができる。このプロセスにおいて、回転は、使用者の後頭等、例えばテクスチャが利用できない領域が観察できないように限定できる。このために、例えば、仮想観察位置は、後頭の方向が移動する場合に頭部の3Dモデルに近付くことができ、及び/又は使用者の入力(マウスポインタ、タッチパッド、及びその他)に関する使用者の感度が後頭の方向の回転中に劣化する可能性がある。さらに、使用者はまた、フレームをx−y−軸の周囲で回転させて、顔の非対称性を考慮するかもしれない。
【0164】
上述の方法は、眼鏡の仮想フィッティングのための装置によって実行でき、前記装置はプロセッサとディスプレイを含み、方法を実行するためのプログラムコードを有する、それに対応するコンピュータプログラムはプロセッサ上で実行される。コンピュータプログラムは装置のメモリに記憶されても、又はそれ以外にクラウドを介して提供されてもよい。ここで、コンピューティングデバイスはまた、各種の別々の構成要素を有する分散システムによって実装されてもよい。例えば、記録された画像データから頭部のメタデータを計算する、又はそのモデルを計算することは、比較的パワフルなコンピュータ、例えばグラフィクスプロセッサ等のコプロセッサも含んでいてよい外部サーバで実行することができる。メタデータを使用することにより、フレーム上の眼鏡の位置決め及びその後の表現は、より計算集約性が低く、そのため、これはよりパワフルでないユニット、例えばタブレットやスマートフォン等のモバイル端末上で、対応するアプリケーションプログラムで、又はインターネットを介したブラウザによっても実行可能である。
【0165】
本発明を、添付の図面を参照しながら好ましい実施形態に基づいて以下により詳しく説明する。図中、