(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024088356
(43)【公開日】2024-07-02
(54)【発明の名称】眼鏡レンズ設計システム
(51)【国際特許分類】
G02C 7/06 20060101AFI20240625BHJP
【FI】
G02C7/06
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2022203480
(22)【出願日】2022-12-20
(71)【出願人】
【識別番号】300035870
【氏名又は名称】株式会社ニコン・エシロール
(74)【代理人】
【識別番号】100107836
【弁理士】
【氏名又は名称】西 和哉
(72)【発明者】
【氏名】本間 幸男
【テーマコード(参考)】
2H006
【Fターム(参考)】
2H006BD00
(57)【要約】
【課題】コンピュータネットワークを介して眼鏡レンズの設計の注文を受けるのに適した眼鏡レンズ設計システムを提供する。
【解決手段】本発明の一態様においては眼鏡レンズを設計する眼鏡レンズ設計システムを提供する。眼鏡レンズ設計システムは、パラメータ予測モデルを用いて、眼鏡レンズに関する眼鏡レンズデータを含むデータ群から、眼鏡レンズの後面の形状を光学計算するためのパラメータを予測するパラメータ予測部を備える。眼鏡レンズ設計システムは、眼鏡レンズの後面の形状を算出する後面形状算出部を備える。パラメータ予測モデルは、データ群及びパラメータを教師データとして機械学習された予測モデルである。後面形状算出部は、パラメータ予測部により予測されたパラメータを用いて眼鏡レンズの後面の形状を算出する。
【選択図】
図4
【特許請求の範囲】
【請求項1】
眼鏡レンズを設計する眼鏡レンズ設計システムであって、
パラメータ予測モデルを用いて、眼鏡レンズに関する眼鏡レンズデータを含むデータ群から、眼鏡レンズの後面の形状を光学計算するためのパラメータを予測するパラメータ予測部と、
眼鏡レンズの後面の形状を算出する後面形状算出部と、を備え、
前記パラメータ予測モデルは、前記データ群及び前記パラメータを教師データとして機械学習された予測モデルであり、
前記後面形状算出部は、前記パラメータ予測部により予測された前記パラメータを用いて眼鏡レンズの後面の形状を算出する、眼鏡レンズ設計システム。
【請求項2】
前記データ群は、眼鏡レンズの装用者の処方に関する処方データを含む、請求項1に記載の眼鏡レンズ設計システム。
【請求項3】
前記データ群は、装用者が所望する眼鏡フレームに関する眼鏡フレームデータを含む、請求項1に記載の眼鏡レンズ設計システム。
【請求項4】
前記後面形状算出部は、光線追跡的な計算、及び波面的な計算により、眼鏡レンズの後面の形状を算出する、請求項1に記載の眼鏡レンズ設計システム。
【請求項5】
前記パラメータ予測モデルとして、
眼鏡レンズのベースカーブを第1値とする前記眼鏡レンズデータを含む前記データ群を教師データとして機械学習された第1パラメータ予測モデルと、
眼鏡レンズのベースカーブを第2値とする前記眼鏡レンズデータを含む前記データ群を教師データとして機械学習された第2パラメータ予測モデルと、を備え、
前記パラメータ予測部は、
装用者の処方に基づいて選択された眼鏡レンズのベースカーブが前記第1値である場合、前記第1パラメータ予測モデルを用いて、前記データ群から前記パラメータを予測し、
装用者の処方に基づいて選択された眼鏡レンズのベースカーブが前記第2値である場合、前記第2パラメータ予測モデルを用いて、前記データ群から前記パラメータを予測する、請求項1に記載の眼鏡レンズ設計システム。
【請求項6】
処理時間予測モデルを用いて、前記パラメータから、眼鏡レンズの後面の形状を所定時間内に決定できるかを予測する処理時間予測部を備え、
前記処理時間予測モデルは、前記パラメータ、及び眼鏡レンズの後面の形状を所定時間内に決定できたかの実績データを教師データとして機械学習された予測モデルであり、
前記パラメータ予測部は、眼鏡レンズの後面の形状を所定時間内に決定できないと予測された場合、前記データ群のうちの一部のデータを変更して前記パラメータを再予測する、請求項1に記載の眼鏡レンズ設計システム。
【請求項7】
前記データ群を受信するデータ群受信部と、
眼鏡レンズの後面の形状に関する形状データを送信する形状データ送信部と、を備え、
前記処理時間予測部は、前記データ群を受信してから前記形状データを送信するまでのタイムアウト時間における残り時間内に、眼鏡レンズの後面の形状を決定できるかを予測する、請求項6に記載の眼鏡レンズ設計システム。
【請求項8】
変更データ予測モデルを用いて、前記残り時間から、前記データ群のうちのいずれのデータを変更すれば良いかを予測する変更データ予測部を備え、
前記変更データ予測モデルは、前記実績データ及び前記データ群を教師データとして機械学習された予測モデルであり、
前記パラメータ予測部は、前記変更データ予測部により予測されたデータを変更して前記パラメータを再予測する、請求項7に記載の眼鏡レンズ設計システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、眼鏡レンズ設計システムに関する。
【背景技術】
【0002】
眼鏡レンズメーカーは、コンピュータネットワークを介して眼鏡レンズの設計の注文を受けることがある。例えば、眼鏡店のスタッフが眼鏡店の端末を使って、眼鏡レンズのデータを眼鏡レンズメーカーのサーバに送信する。眼鏡レンズメーカーのサーバは、データを受信すると、眼鏡レンズの設計を行い(例えば、特許文献1参照)、設計結果を示すデータを眼鏡店の端末に送信する。
【0003】
特許文献1に記載の発明は、眼鏡レンズ設計方法に関する。特許文献1に記載の発明は、アイポイント近傍での見え方について、装用者毎の個別のニーズを満たす眼鏡レンズを提供可能とする。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【0005】
本発明の一態様は、眼鏡レンズを設計する眼鏡レンズ設計システムを提供する。眼鏡レンズ設計システムは、パラメータ予測モデルを用いて、眼鏡レンズに関する眼鏡レンズデータを含むデータ群から、眼鏡レンズの後面の形状を光学計算するためのパラメータを予測するパラメータ予測部を備える。眼鏡レンズ設計システムは、眼鏡レンズの後面の形状を算出する後面形状算出部を備える。パラメータ予測モデルは、データ群及びパラメータを教師データとして機械学習された予測モデルである。後面形状算出部は、パラメータ予測部により予測されたパラメータを用いて眼鏡レンズの後面の形状を算出する。
【0006】
なお、上記の発明の概要は、本発明の特徴の全てを列挙したものではない。また、本発明の特徴群のサブコンビネーションは、発明となり得る。
【図面の簡単な説明】
【0007】
【
図1】設計サーバ100の利用環境の一例を示す図である。
【
図2】設計サーバ100の構成の一例を示す図である。
【
図4】設計サーバ100による処理の一例を示す図である。
【
図5】パラメータ予測モデルによる予測精度を検証した結果を示す図である。
【
図6】パラメータ予測モデルによる予測時間を検証した結果を示す図である。
【発明を実施するための形態】
【0008】
以下、発明の実施形態を通じて本発明を説明するが、以下の実施形態は、特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせは、全てが発明の解決手段に必須であるとは限らない。
【0009】
図1は、設計サーバ100の利用環境の一例を示す図である。設計サーバ100は、眼鏡レンズ(spectacle lens)を設計するサーバである。眼鏡レンズは、眼球に接触せずに、眼の前方に掛ける眼用レンズ(ophthalmic lens)である。眼用レンズは、眼の測定、補正、保護のため、又は見掛けを変えるために使用するレンズである。設計サーバ100は、設計システムの一例である。
【0010】
設計サーバ100は、コンピュータネットワークCNを介して眼鏡店端末OTと通信接続される。コンピュータネットワークCNは、複数のコンピュータを信号線や無線で接続し、互いにデータの送受信ができるようにした通信網である。眼鏡店端末OTは、眼鏡店OSに設けられ、眼鏡店OSのスタッフが利用する端末である。
【0011】
図2は、設計サーバ100の構成の一例を示す図である。設計サーバ100は、CPU110(central processing unit)、メインメモリ120、入出力インターフェース130、通信装置140及びストレージ150を備える。
【0012】
CPU110は、他の装置、回路の制御やデータの演算等を行う装置である。メインメモリ120は、データ、プログラムを記憶する記憶装置のうち、CPU110と基板上の電気配線等を通じて直に接続された記憶装置である。入出力インターフェース130は、複数の装置を接続して通信するハードウェアインターフェースである。通信装置140は、電気、電波、光を発信、受信して他の機器と通信を行う装置である。ストレージ150は、データを永続的に記憶する装置である。
【0013】
CPU110は、プログラムがインストールされ、データ群受信部SM1、パラメータ予測部SM2、処理時間予測部SM3、変更データ予測部SM4、後面形状算出部SM5及び形状データ送信部SM6として機能する。
【0014】
データ群受信部SM1は、眼鏡店端末OTからデータ群を受信するソフトウェアモジュールである。データ群は、眼鏡レンズに関するデータを少なくとも含むデータの集合である。データ群は、眼鏡レンズの装用者の処方に関するデータを含んでよい。データ群は、眼鏡フレームに関するデータを含んでよい。データ群受信部SM1により受信したデータ群に含まれるデータは、ストレージ150に記憶される。
【0015】
図3は、データ群の一例を示す図である。
図3に示すデータ群は、眼鏡レンズデータD1、処方データD2及び眼鏡フレームデータD3を含む。
【0016】
眼鏡レンズデータD1は、装用者が所望する眼鏡レンズに関するデータである。眼鏡レンズデータD1は、ベースカーブデータD11、レンズ外径データD12、中心厚データD13、前面頂点屈折力データD14等である。
【0017】
ベースカーブデータD11は、ベースカーブ(base curve)を示すデータである。ベースカーブは、通常、前面(front surface)の面屈折力(surface power)である。前面は、装用眼から遠い方の眼鏡レンズの表面である。面屈折力は、表面に入射する光線束のバージェンスを変化させる完成表面の局所的な能力である。
【0018】
レンズ外径データD12は、眼鏡レンズの外径を示すデータである。
【0019】
中心厚データD13は、中心厚(center thickness)を示すデータである。中心厚は、前面に垂直に測定される、ブランク(blank)又は眼鏡レンズの測定基準点(reference point)における厚さである。ブランクは、眼鏡レンズを作るために一つの完成された表面を持つ光学材料(optical material)部品である。光学材料は、光学部品を製造するのに適した透明材料である。測定基準点は、該当する領域の確認屈折力(verification power)が適用されたフィニッシュレンズ(finished lens)の前面、又はブランクの仕上げ面上の点である。フィニッシュレンズは、両面共に最終光学面を持つ眼鏡レンズである。確認屈折力は、機器での確認用に眼鏡レンズメーカーによって特別に計算され提供される眼鏡レンズの屈折度数である。
【0020】
前面頂点屈折力データD14は、前面頂点屈折力(front vertex power)を示すデータである。前面頂点屈折力は、近軸領域での眼鏡レンズ前面頂点から焦点までの距離の逆数である。
【0021】
処方データD2は、眼鏡レンズの装用者の処方に関するデータである。処方データD2は、球面屈折力データD21、乱視屈折力データD22、乱視軸角度データD23、加入屈折力データD24等である。
【0022】
球面屈折力データD21は、球面屈折力(spherical power)を示すデータである。球面屈折力は、球面屈折力レンズ(spherical-power lens)の場合、球面屈折力レンズの後面頂点屈折力(back vertex power)の値である。球面屈折力は、乱視屈折力レンズの場合、乱視屈折力レンズの2つの主経線のうち基準として選択された主経線の後面頂点屈折力の値である。球面屈折力レンズは、平行光の近軸光束が1つの焦点をもたらす眼鏡レンズである。後面頂点屈折力は、近軸領域での眼鏡レンズ後面頂点から焦点までの距離の逆数である。
【0023】
乱視屈折力データD22は、乱視屈折力(cylindrical power)を示すデータである。乱視屈折力は、基準として選択された主経線屈折力(principal power)を他の主経線屈折力から減算した両主経線屈折力間の代数的な差である。主経線屈折力は、乱視屈折力レンズの2つの主経線のうちいずれかの後面頂点屈折力である。
【0024】
乱視軸角度データD23は、乱視軸の角度を示すデータである。乱視軸は、基準として選択された頂点屈折力(vertex power)を持つ眼鏡レンズの主経線(principal meridian)の方向である。頂点屈折力は、近軸領域での頂点(vertex)から焦点までの距離の逆数である。頂点は、眼鏡レンズの光軸(optical axis)と、眼鏡レンズの面との交点である。光軸は、眼鏡レンズの両面の曲率中心点間を結ぶ直線である。主経線は、2つの焦線に平行な、乱視屈折力レンズ(astigmatic-power lens)の2つの互いに直交する経線(meridian)のうちの1つである。乱視屈折力レンズは、平行光の近軸光束が、2つに分かれて互いに直交する焦線をもたらす眼鏡レンズで、2つの主経線だけに頂点屈折力を持つ眼鏡レンズである。経線は、眼鏡レンズの光軸を含む各々の平面である。
【0025】
加入屈折力データD24は、加入屈折力(addition powr)を示すデータである。加入屈折力は、近用部(near portion)の頂点屈折力と、遠用部(3.15.1)の頂点屈折力との差である。近用部は、多焦点レンズ(multifocal lens)等の、近方視距離(near vision distance)のための屈折度数を持つ部分である。多焦点レンズは、視覚的に分割された2つ以上の異なる焦点屈折力をもたらすように設計された眼鏡レンズである。近方視距離は、装用者の習慣的近用作業平面を対象平面としたときの作業距離(working distance)である。作業距離は、基準平面から対象平面までの距離である。遠用部は、多焦点レンズ等の、遠方視のための屈折度数を持つ部分である。
【0026】
眼鏡フレームデータD3は、装用者が所望する眼鏡フレームに関するデータである。眼鏡フレームデータD3は、装用時そり角データD31、装用時前傾角データD32、頂点間距離データD33、フレーム形状データD34、ビジュアルポイントデータD35及び瞳孔間距離データD36等である。
【0027】
装用時そり角データD31は、装用時そり角(as-worn face form angle)を示すデータである。装用時そり角は、第1眼位方向(primary direction)を含む水平面内において、眼鏡フレームの鼻側、耳側のリム溝の頂点を通過する基準線に対する垂直線と第1眼位方向との間の水平方向の角度である。第1眼位方向は、通常は水平方向とみなされる、視覚補助をしない状態で真っ直ぐ前を見たとき、頭部及び胴体を習慣的な姿勢で測定した無限遠方の物体に向かう視線(line of sight)の方向である。視線は、物体側空間において注目する点から眼の入射瞳の中心に向かう第1光線路、及び第1光線路に連続して射出瞳の中心から網膜の固定点に向かう第2光線路である。
【0028】
装用時前傾角データD32は、装用時前傾角(as-worn pantoscopic angle)を示すデータである。装用時前傾角は、第1眼位方向を含む垂直平面内において、眼鏡フレームの上下のリムの溝の頂点を通過する基準線に対する垂直線と地平線との間の垂直方向の角度である。
【0029】
頂点間距離データD33は、頂点間距離(vertex distance)を示すデータである。頂点間距離は、眼が第1眼位(primary position)にある状態で測定した眼鏡レンズの後面(back surface)と角膜頂点との水平距離である。第1眼位は、第1眼位方向を見ているときの眼位である。後面は、装用眼に近い方の眼鏡レンズの表面である。
【0030】
フレーム形状データD34は、眼鏡フレームの形状を示すデータである。
【0031】
ビジュアルポイントデータD35は、ビジュアルポイント(visual point)を示すデータである。ビジュアルポイントは、視線と眼鏡レンズの後面との交点である。ビジュアルポイントは、アイポイントとも称される。
【0032】
瞳孔間距離データD36は、瞳孔間距離(interpupillary distance)を示すデータである。瞳孔間距離は、両眼が第1眼位にあるときの両眼孔中心間の距離である。
【0033】
パラメータ予測部SM2は、パラメータ予測モデルを用いて、データ群から、眼鏡レンズの後面の形状を算出するためのパラメータを予測するソフトウェアモジュールである。パラメータ予測モデルは、ニューラルネットワーク等の公知の機械学習アルゴリズムを利用して教師あり機械学習により生成された予測モデルである。パラメータ予測モデルは、例えば、過去に取得されたデータ群と、眼鏡レンズの後面の形状を算出するためのパラメータの正解との関係を教師データとして学習させて生成される。
【0034】
ストレージ150は、パラメータ予測モデルとして、第1パラメータ予測モデルPM1~第5パラメータ予測モデルPM5を記憶する。
【0035】
第1パラメータ予測モデルPM1は、例えば、データ群として眼鏡レンズのベースカーブを8.00とする眼鏡レンズデータD1を含むデータ群を教師データとして学習させる教師あり機械学習により生成される。パラメータ予測部SM2は、装用者の処方に基づいて選択された眼鏡レンズのベースカーブが8.00である場合、第1パラメータ予測モデルPM1を用いて、データ群からパラメータを予測する。眼鏡レンズのベースカーブは、眼鏡レンズメーカーによって予め定められた処方範囲毎に複数種類の値が選択可能に設定されている。装用者に適した眼鏡レンズのベースカーブは、装用者の処方に基づいて複数種類の値のうちのいずれかの値が選択される。8.00のベースカーブは、第1値のベースカーブの一例である。
【0036】
ここで、ベースカーブが8.00である場合、球面屈折力は、例えば、0.25置きに+8.00から+7.25までの値を取り得る。乱視屈折力は、例えば、0.25置きに-0.00から-6.00の値を取り得る。第1パラメータ予測モデルPM1は、球面屈折力が取り得る値と、乱視屈折力が取り得る値との全ての組み合わせのデータ群を教師データにして生成されると、過学習となる可能性がある。そこで、第1パラメータ予測モデルPM1は、球面屈折力が取り得る値のうちの一部の値と、乱視屈折力が取り得る値の一部の値との組み合わせのデータ群を教師データにして生成される。例えば、第1パラメータ予測モデルPM1は、小数点以下が0となる球面屈折力の値と、小数点以下が0となる乱視屈折力の値との組み合わせのデータ群を教師データにして生成される。
【0037】
また、加入屈折力は、例えば、0.25置きに0.50から4.00までの値を取り得る。第1パラメータ予測モデルPM1は、球面屈折力が取り得る値と、加入屈折力が取り得る値との全ての組み合わせのデータ群を教師データにして生成されると、過学習となる可能性がある。そこで、第1パラメータ予測モデルPM1は、球面屈折力が取り得る値のうちの一部の値と、加入屈折力が取り得る値の一部の値との組み合わせのデータ群を教師データにして生成される。例えば、第1パラメータ予測モデルPM1は、小数点以下が0となる球面屈折力の値と、小数点以下が0となる加入屈折力の値との組み合わせのデータ群を教師データにして生成される。
【0038】
第2パラメータ予測モデルPM2は、例えば、データ群として眼鏡レンズのベースカーブを6.75とする眼鏡レンズデータD1を含むデータ群を教師データとして学習させる教師あり機械学習により生成される。パラメータ予測部SM2は、装用者の処方に基づいて選択された眼鏡レンズのベースカーブが6.75である場合、第2パラメータ予測モデルPM2を用いて、データ群からパラメータを予測する。6.75のベースカーブは、第2値のベースカーブの一例である。
【0039】
ここで、ベースカーブが6.75である場合、球面屈折力は、例えば、0.25置きに+7.00から+5.25までの値を取り得る。乱視屈折力は、例えば、0.25置きに-0.00から-6.00の値を取り得る。第2パラメータ予測モデルPM2は、球面屈折力が取り得る値と、乱視屈折力が取り得る値との全ての組み合わせのデータ群を教師データにして生成されると、過学習となる可能性がある。そこで、第2パラメータ予測モデルPM2は、球面屈折力が取り得る値のうちの一部の値と、乱視屈折力が取り得る値の一部の値との組み合わせのデータ群を教師データにして生成される。例えば、第2パラメータ予測モデルPM2は、小数点以下が0となる球面屈折力の値と、小数点以下が0となる乱視屈折力の値との組み合わせのデータ群を教師データにして生成される。
【0040】
また、加入屈折力は、例えば、0.25置きに0.50から4.00までの値を取り得る。第2パラメータ予測モデルPM2は、球面屈折力が取り得る値と、加入屈折力が取り得る値との全ての組み合わせのデータ群を教師データにして生成されると、過学習となる可能性がある。そこで、第2パラメータ予測モデルPM2は、球面屈折力が取り得る値のうちの一部の値と、加入屈折力が取り得る値の一部の値との組み合わせのデータ群を教師データにして生成される。例えば、第2パラメータ予測モデルPM2は、小数点以下が0となる球面屈折力の値と、小数点以下が0となる加入屈折力の値との組み合わせのデータ群を教師データにして生成される。
【0041】
第3パラメータ予測モデルPM3は、例えば、データ群として眼鏡レンズのベースカーブを6.00とする眼鏡レンズデータD1を含むデータ群を教師データとして学習させる教師あり機械学習により生成される。パラメータ予測部SM2は、装用者の処方に基づいて選択された眼鏡レンズのベースカーブが6.00である場合、第3パラメータ予測モデルPM3を用いて、データ群からパラメータを予測する。
【0042】
ここで、ベースカーブが6.00である場合、球面屈折力は、例えば、0.25置きに+5.00から+4.00までの値を取り得る。乱視屈折力は、例えば、0.25置きに-0.00から-6.00の値を取り得る。第3パラメータ予測モデルPM3は、球面屈折力が取り得る値と、乱視屈折力が取り得る値との全ての組み合わせのデータ群を教師データにして生成されると、過学習となる可能性がある。そこで、第3パラメータ予測モデルPM3は、球面屈折力が取り得る値のうちの一部の値と、乱視屈折力が取り得る値の一部の値との組み合わせのデータ群を教師データにして生成される。例えば、第3パラメータ予測モデルPM3は、小数点以下が0となる球面屈折力の値と、小数点以下が0となる乱視屈折力の値との組み合わせのデータ群を教師データにして生成される。
【0043】
また、加入屈折力は、例えば、0.25置きに0.50から4.00までの値を取り得る。第3パラメータ予測モデルPM3は、球面屈折力が取り得る値と、加入屈折力が取り得る値との全ての組み合わせのデータ群を教師データにして生成されると、過学習となる可能性がある。そこで、第3パラメータ予測モデルPM3は、球面屈折力が取り得る値のうちの一部の値と、加入屈折力が取り得る値の一部の値との組み合わせのデータ群を教師データにして生成される。例えば、第3パラメータ予測モデルPM3は、小数点以下が0となる球面屈折力の値と、小数点以下が0となる加入屈折力の値との組み合わせのデータ群を教師データにして生成される。
【0044】
第4パラメータ予測モデルPM4は、例えば、データ群として眼鏡レンズのベースカーブを2.75とする眼鏡レンズデータD1を含むデータ群を教師データとして学習させる教師あり機械学習により生成される。パラメータ予測部SM2は、装用者の処方に基づいて選択された眼鏡レンズのベースカーブが2.75である場合、第4パラメータ予測モデルPM4を用いて、データ群からパラメータを予測する。
【0045】
ここで、ベースカーブが2.75である場合、球面屈折力は、例えば、0.25置きに+3.75から+2.00までの値を取り得る。乱視屈折力は、例えば、球面屈折力が+3.75のとき、0.25置きに-0.00から-5.75の値を取り得る。乱視屈折力は、例えば、球面屈折力が0.25小さくなる度に、-0.00からの取り得る範囲が0.25ずつ狭くなる。乱視屈折力は、例えば、球面屈折力が+2.00のとき、0.25置きに-0.00から-4.00の値を取り得る。第4パラメータ予測モデルPM4は、球面屈折力が取り得る値と、乱視屈折力が取り得る値との全ての組み合わせのデータ群を教師データにして生成されると、過学習となる可能性がある。そこで、第4パラメータ予測モデルPM4は、球面屈折力が取り得る値のうちの一部の値と、乱視屈折力が取り得る値の一部の値との組み合わせのデータ群を教師データにして生成される。例えば、第4パラメータ予測モデルPM4は、小数点以下が0となる球面屈折力の値と、小数点以下が0となる乱視屈折力の値との組み合わせのデータ群を教師データにして生成される。
【0046】
また、加入屈折力は、例えば、0.25置きに0.50から4.00までの値を取り得る。第4パラメータ予測モデルPM4は、球面屈折力が取り得る値と、加入屈折力が取り得る値との全ての組み合わせのデータ群を教師データにして生成されると、過学習となる可能性がある。そこで、第4パラメータ予測モデルPM4は、球面屈折力が取り得る値のうちの一部の値と、加入屈折力が取り得る値の一部の値との組み合わせのデータ群を教師データにして生成される。例えば、第4パラメータ予測モデルPM4は、小数点以下が0となる球面屈折力の値と、小数点以下が0となる加入屈折力の値との組み合わせのデータ群を教師データにして生成される。
【0047】
第5パラメータ予測モデルPM5は、例えば、データ群として眼鏡レンズのベースカーブを1.75とする眼鏡レンズデータD1を含むデータ群を教師データとして学習させる教師あり機械学習により生成される。パラメータ予測部SM2は、装用者の処方に基づいて選択された眼鏡レンズのベースカーブが1.75である場合、第5パラメータ予測モデルPM5を用いて、データ群からパラメータを予測する。
【0048】
ここで、ベースカーブが1.75である場合、球面屈折力は、例えば、0.25置きに+3.75から-8.00までの値を取り得る。乱視屈折力は、例えば、球面屈折力が+3.75のとき、-6.00の値を取り得る。乱視屈折力は、例えば、球面屈折力が+2.00まで0.25小さくなる度に、+6.00までの取り得る範囲が0.25ずつ狭くなる。乱視屈折力は、例えば、球面屈折力が+2.00のとき、0.25置きに-4.25から-6.00の値を取り得る。乱視屈折力は、例えば、球面屈折力が+1.75~-2.00のとき、0.25置きに-0.00から-6.00の値を取り得る。乱視屈折力は、例えば、球面屈折力が-2.25から0.25小さくなる度に、-0.00からの取り得る範囲が0.25ずつ狭くなる。乱視屈折力は、例えば、球面屈折力が-8.00のとき、-0.00の値を取り得る。第5パラメータ予測モデルPM5は、球面屈折力が取り得る値と、乱視屈折力が取り得る値との全ての組み合わせのデータ群を教師データにして生成されると、過学習となる可能性がある。そこで、第5パラメータ予測モデルPM5は、球面屈折力が取り得る値のうちの一部の値と、乱視屈折力が取り得る値の一部の値との組み合わせのデータ群を教師データにして生成される。例えば、第5パラメータ予測モデルPM5は、小数点以下が0となる球面屈折力の値と、小数点以下が0となる乱視屈折力の値との組み合わせのデータ群を教師データにして生成される。
【0049】
また、加入屈折力は、例えば、0.25置きに0.50から4.00までの値を取り得る。第5パラメータ予測モデルPM5は、球面屈折力が取り得る値と、加入屈折力が取り得る値との全ての組み合わせのデータ群を教師データにして生成されると、過学習となる可能性がある。そこで、第5パラメータ予測モデルPM5は、球面屈折力が取り得る値のうちの一部の値と、加入屈折力が取り得る値の一部の値との組み合わせのデータ群を教師データにして生成される。例えば、第5パラメータ予測モデルPM5は、小数点以下が0となる球面屈折力の値と、小数点以下が0となる加入屈折力の値との組み合わせのデータ群を教師データにして生成される。
【0050】
処理時間予測部SM3は、処理時間予測モデルPM6を用いて、前述したパラメータから、眼鏡レンズの後面の形状を所定時間内に決定できるかを予測するソフトウェアモジュールである。処理時間予測モデルPM6は、ニューラルネットワーク等の公知の機械学習アルゴリズムを利用して教師あり機械学習により生成された予測モデルである。処理時間予測モデルPM6は、眼鏡レンズの後面の形状を算出するためのパラメータと、眼鏡レンズの後面の形状を所定時間内に決定できたかの実績データとの関係を教師データとして学習させて生成される。処理時間予測モデルPM6は、ストレージ150に記憶される。
【0051】
パラメータ予測部SM2は、眼鏡レンズの後面の形状を所定時間内に決定できないと予測された場合、データ群のうちの一部のデータを変更してパラメータを再予測する。
【0052】
形状データ送信部SM6は、眼鏡レンズの後面の形状に関する形状データD5を眼鏡店端末OTに送信するソフトウェアモジュールである。形状データD5は、後面形状算出部SM5により算出された眼鏡レンズの後面の形状を示すデータであり、ストレージ150に記憶される。
【0053】
ここで、設計サーバ100は、眼鏡店端末OTからデータ群を受信すると、眼鏡レンズの後面の形状を算出し、形状データD5を眼鏡店端末OT送信する。眼鏡店端末OTは、データ群を送信してから予め設定されたタイムアウト時間が経過しても形状データD5を受信できない場合、通信を打ち切る。
【0054】
処理時間予測部SM3は、データ群を受信してから形状データD5を送信するまでのタイムアウト時間における残り時間内に、眼鏡レンズの後面の形状を決定できるかを予測する。
【0055】
変更データ予測部SM4は、変更データ予測モデルPM7を用いて、タイムアウト時間における残り時間から、データ群のうちのいずれのデータを変更すれば良いかを予測するソフトウェアモジュールである。変更データ予測モデルPM7は、ニューラルネットワーク等の公知の機械学習アルゴリズムを利用して教師あり機械学習により生成された予測モデルである。変更データ予測モデルPM7は、眼鏡レンズの後面の形状を所定時間内に決定できたかの実績データと、眼鏡レンズデータD1を少なくとも含むデータ群との関係を教師データとして学習させて生成される。データ群は、処方データD2を含んでよい。データ群は、眼鏡フレームデータD3を含んでよい。変更データ予測モデルPM7は、ストレージ150に記憶される。
【0056】
パラメータ予測部SM2は、変更データ予測部SM4により予測されたデータを変更してパラメータを再予測する。
【0057】
後面形状算出部SM5は、眼鏡レンズの後面の形状を算出するソフトウェアモジュールである。後面形状算出部SM5は、パラメータ予測部SM2により予測されたパラメータを用いて眼鏡レンズの後面の形状を算出する。後面形状算出部SM5は、光線追跡的な計算、及び波面的な計算により、眼鏡レンズの後面の形状を算出する。光線追跡的な計算は、眼鏡レンズ設計、光学系の評価における計算で基本となっている計算方法である。具体的に説明すると、光線追跡的な計算は、眼鏡レンズの面形状を考慮しながら、光線が通る眼鏡レンズと空気の境界面で、スネルの法則に従って屈折を繰り返し、最終的に光線のたどり着く像面位置を得る方法である。物点からの光線は、位置と方向、眼鏡レンズ面の情報から、眼鏡レンズに入射する位置を計算できる。波面的な計算は、物点から像を中心とした参照面までの光路長を計算する方法である。
【0058】
図4は、設計サーバ100による処理の一例を示す図である。
【0059】
眼鏡店OSのスタッフは、装用者を処方すると、装用者の処方に関する処方データD2を眼鏡店端末OTに入力する。また、眼鏡店OSのスタッフは、装用者が所望する眼鏡フレームが決定すると、装用者が所望する眼鏡フレームに関する眼鏡フレームデータD3を眼鏡店端末OTに入力する。また、眼鏡店OSのスタッフは、装用者が所望する眼鏡レンズが決定すると、装用者が所望する眼鏡レンズに関する眼鏡レンズデータD1を眼鏡店端末OTに入力する。そして、眼鏡店OSのスタッフは、装用者が所望する眼鏡フレームの形状を設計してもらうために、眼鏡店端末OTに入力したデータを含むデータ群を、眼鏡店端末OTを使って設計サーバ100に送信する。眼鏡店端末OTは、データ群を送信すると、予め設定されたタイムアウト時間が経過するまで、設計サーバ100からの応答を待つ待機状態となる。
【0060】
データ群受信部SM1は、眼鏡店端末OTから送信されたデータ群を受信する(S101)。S101において、データ群受信部SM1は、データ群を受信すると、データ群に含まれる眼鏡レンズデータD1、処方データD2及び眼鏡フレームデータD3をストレージ150に記憶させる。
【0061】
データ群が受信されると、パラメータ予測部SM2は、パラメータ予測モデルを用いて、データ群から、眼鏡レンズの後面の形状を光学計算するためのパラメータを予測する(S102)。S102において、パラメータ予測部SM2は、パラメータ予測モデルを用いて、眼鏡レンズの後面の形状を光学計算するためのパラメータを予測する。パラメータ予測部SM2は、装用者の処方に基づいて選択された眼鏡レンズのベースカーブに応じて、パラメータを予測するために用いるパラメータ予測モデルを異ならせる。前述のとおり、パラメータ予測部SM2は、装用者の処方に基づいて選択されたベースカーブが8.00である場合、第1パラメータ予測モデルPM1を用いて、データ群からパラメータを予測する。パラメータ予測部SM2は、装用者の処方に基づいて選択されたベースカーブが6.75である場合、第2パラメータ予測モデルPM2を用いて、データ群からパラメータを予測する。パラメータ予測部SM2は、装用者の処方に基づいて選択されたベースカーブが6.00である場合、第3パラメータ予測モデルPM3を用いて、データ群からパラメータを予測する。パラメータ予測部SM2は、装用者の処方に基づいて選択されたベースカーブが2.75である場合、第4パラメータ予測モデルPM4を用いて、データ群からパラメータを予測する。パラメータ予測部SM2は、装用者の処方に基づいて選択されたベースカーブが1.75である場合、第5パラメータ予測モデルPM5を用いて、データ群からパラメータを予測する。パラメータ予測部SM2は、パラメータを予測すると、パラメータを示すパラメータデータD4をストレージ150に記憶させる。
【0062】
パラメータが予測されると、処理時間予測部SM3は、パラメータから、タイムアウト時間における残り時間内に眼鏡レンズの後面の形状を決定できるかを予測する(S103)。S103において、処理時間予測部SM3は、処理時間予測モデルPM6を用いて、タイムアウト時間における残り時間内に眼鏡レンズの後面の形状を決定できるかを予測する。前述とおり、後面形状算出部SM5は、パラメータ予測部SM2により予測されたパラメータを用いて眼鏡レンズの後面の形状を算出する。後面形状算出部SM5により算出される眼鏡レンズの後面の形状は、装用者の眼鏡レンズとして光学的に理想の形状となる。しかし、後面形状算出部SM5により算出される眼鏡レンズの後面の形状は、眼鏡レンズの後面を加工する装置によって加工できない形状となる可能性がある。前述のとおり、処理時間予測モデルPM6は、眼鏡レンズの後面の形状を算出するためのパラメータと、眼鏡レンズの後面の形状を所定時間内に決定できたかの実績データとの関係を教師データとして生成される。実績データは、パラメータから算出された眼鏡レンズの後面の形状が加工できる形状であったときに、眼鏡レンズの後面の形状を所定時間内に決定できたとするデータであればよい。また、実績データは、パラメータから算出された眼鏡レンズの後面の形状が加工できない形状であったときに、眼鏡レンズの後面の形状を所定時間内に決定できなかったとするデータであればよい。
【0063】
残り時間内に決定できないと予測された場合(S104;NO)、変更データ予測部SM4は、残り時間から、データ群のうちのいずれのデータを変更すれば良いかを予測する(S105)。S105において、変更データ予測部SM4は、変更データ予測モデルPM7を用いて、データ群のうちのいずれのデータを変更すれば良いかを予測する。ここで、眼鏡店OSのスタッフは、例えば、装用者が所望する眼鏡レンズに最適な中心厚を確認するために、設計サーバ100にデータ群を送信する。例えば、中心厚データD13がデータ群に含まれている場合、加工可能な眼鏡レンズの後面の形状が決定されれば、眼鏡店OSのスタッフは、中心厚データD13によって示される中心厚は適していると判断できる。眼鏡レンズの中心厚を確認したいという需要に鑑みれば、変更データ予測モデルPM7は、中心厚データD13を変更すれば良いと予測されやすいように学習されていればよい。
【0064】
変更すれば良いデータが予測されると、パラメータ予測部SM2は、変更データ予測部SM4により予測されたデータを変更してパラメータを再予測する(S106)。S106において、パラメータ予測部SM2は、パラメータ予測モデルを用いて、眼鏡レンズの後面の形状を光学計算するためのパラメータを再予測する。
【0065】
残り時間内に決定できると予測された場合(S104:YES)、又はS106の処理が実行された後、後面形状算出部SM5は、眼鏡レンズの後面の形状を算出する(S107)。S107において、後面形状算出部SM5は、パラメータ予測部SM2により予測されたパラメータを用いて眼鏡レンズの後面の形状を算出する。後面形状算出部SM5は、光線追跡的な計算、及び波面的な計算により、眼鏡レンズの後面の形状を算出する。後面形状算出部SM5は、眼鏡レンズの後面の形状を算出すると、形状を示す形状データD5をストレージ150に記憶させる。
【0066】
眼鏡レンズの後面の形状が算出されると、形状データ送信部SM6は、S101にて受信したデータ群の送信元の眼鏡店端末OTに形状データD5を送信する(S108)。
【0067】
図5は、パラメータ予測モデルによる予測精度を検証した結果を示す図である。
図5に示す検証結果は、学習させた球面屈折力が異なる3種類のパラメータ予測モデルを用いて、予測精度を検証した結果である。予測精度は、装用者の処方に基づいて選択された眼鏡レンズのベースカーブが8.00であるときの、パラメータの予測値と正解との誤差である。正解は、公知の精度が高い方法で算出した。
【0068】
検証に用いた1つ目のパラメータ予測モデルは、球面屈折力が+8.00の球面屈折力データD21を含むデータ群と、パラメータの正解との関係を教師データとして学習させて生成された。なお、+8.00の球面屈折力は、8.00のベースカーブに対応する。学習させたパターン数は、1671であった。装用者の処方に基づいて選択された眼鏡レンズのベースカーブが8.00であるとき、1つ目のパラメータ予測モデルを用いたパラメータの予測精度は、-2%~+1%であった。
【0069】
検証に用いた2つ目のパラメータ予測モデルは、球面屈折力が+8.00~+6.50の球面屈折力データD21を含むデータ群と、パラメータの正解との関係を教師データとして学習させて生成された。なお、+8.00~+6.50の球面屈折力は、8.00~6.75のベースカーブに対応する。学習させたパターン数は、3341であった。装用者の処方に基づいて選択された眼鏡レンズのベースカーブが8.00であるとき、2つ目のパラメータ予測モデルを用いたパラメータの予測精度は、-2%~+2%であった。
【0070】
検証に用いた3つ目のパラメータ予測モデルは、球面屈折力が+8.00~-8.00の球面屈折力データD21を含むデータ群と、パラメータの正解との関係を教師データとして学習させて生成された。なお、+8.00~-8.00の球面屈折力は、8.00~1.75のベースカーブに対応する。学習させたパターン数は、17035であった。装用者の処方に基づいて選択された眼鏡レンズのベースカーブが8.00であるとき、3つ目のパラメータ予測モデルを用いたパラメータの予測精度は、-2%~+3%であった。
【0071】
図5に示す検証結果によれば、2つ目のパラメータ予測モデルによる予測精度は、3つ目のパラメータ予測モデルによる予測精度よりも高い。即ち、パラメータ予測モデルによる予測精度は、ターゲットのベースカーブに対応する球面屈折力を含む学習範囲が狭いデータを学習対象とした予測モデルを用いることで高められることが分かる。
【0072】
図5に示す検証結果によれば、1つ目のパラメータ予測モデルによる予測精度は、2つ目のパラメータ予測モデルによる予測精度よりも高い。即ち、パラメータ予測モデルによる予測精度は、ターゲットのベースカーブに対応する球面屈折力のみのデータを学習対象とした予測モデルを用いることで高められることが分かる。
【0073】
図6は、パラメータ予測モデルによる予測時間を検証した結果を示す図である。
図6に示す検証結果は、
図5に示す検証に用いた予測モデルと同じ3種類のパラメータ予測モデルを用いて、予測時間を検証した結果である。予測時間は、装用者の処方に基づいて選択された眼鏡レンズのベースカーブが8.00であるときの、パラメータの予測にかかった時間である。
【0074】
装用者の処方に基づいて選択された眼鏡レンズのベースカーブが8.00であるとき、1つ目のパラメータ予測モデルを用いたパラメータの予測時間は、250ms~1500msであった。
【0075】
装用者の処方に基づいて選択された眼鏡レンズのベースカーブが8.00であるとき、2つ目のパラメータ予測モデルを用いたパラメータの予測時間は、250ms~1500msであった。
【0076】
装用者の処方に基づいて選択された眼鏡レンズのベースカーブが8.00であるとき、3つ目のパラメータ予測モデルを用いたパラメータの予測精度は、-2%~+3%であった。
【0077】
図6に示す検証結果によれば、2つ目のパラメータ予測モデルによる予測時間は、3つ目のパラメータ予測モデルによる予測時間よりも短い。即ち、パラメータ予測モデルによる予測時間は、ターゲットのベースカーブに対応する球面屈折力を含む学習範囲が狭いデータを学習対象とした予測モデルを用いることで短縮できることが分かる。
【0078】
以上、実施形態を用いて本発明を説明したが、本発明の技術的範囲は、上記実施形態に記載の範囲には限定されない。上記実施形態に多様な変更又は改良を加えることが可能であることは、当業者に明らかである。そのような変更又は改良を加えた形態が本発明の技術的範囲に含まれ得ることは、特許請求の範囲の記載から明らかである。
【0079】
例えば、上記実施形態は、設計システムとして、一の設計サーバ100を備える。しかし、設計システムは、複数の設計サーバ100を備えてよい。
【0080】
例えば、上記実施形態は、設計システムの一例として、設計サーバ100を例に挙げて説明した。しかし、設計システムは、設計サーバ100に限られない。設計システムは、例えば、複数のサーバを備えてよい。複数のサーバを備える設計システムは、設計サーバ100において機能するソフトウェアモジュールが複数のサーバに分散して機能すればよい。
【0081】
例えば、上記実施形態の設計サーバ100は、CPU110がパラメータ予測部SM2として機能する。しかし、CPU110は、パラメータ予測部SM2として機能しなくてよい。例えば、設計サーバ100は、AI(artificial intelligence)チップを備えてよい。AIチップは、AIの演算処理を高速化するための半導体である。設計サーバ100がAIチップを備える場合、AIチップは、パラメータ予測部SM2として機能すればよい。
【0082】
例えば、上記実施形態の設計サーバ100は、CPU110が処理時間予測部SM3として機能する。しかし、CPU110は、処理時間予測部SM3として機能しなくてよい。例えば、設計サーバ100は、AIチップを備えてよい。設計サーバ100がAIチップを備える場合、AIチップは、処理時間予測部SM3として機能すればよい。
【0083】
例えば、上記実施形態の設計サーバ100は、CPU110が変更データ予測部SM4として機能する。しかし、CPU110は、変更データ予測部SM4として機能しなくてよい。例えば、設計サーバ100は、AIチップを備えてよい。設計サーバ100がAIチップを備える場合、AIチップは、変更データ予測部SM4として機能すればよい。
【0084】
例えば、上記実施形態の設計サーバ100は、
図4に示すS106の処理を実行した後、S107に示す処理を実行する。設計サーバ100は、S106の処理を実行した後、S103移行の処理を再び実行してよい。
【0085】
例えば、上記実施形態において、眼鏡レンズのベースカーブは、装用者の処方に基づいて選択される値である。しかし、眼鏡レンズのベースカーブは、装用者が所望する値であってよい。
【0086】
例えば、パラメータ予測モデルの教師モデルとなるデータは、データが取り得る値のうちの特定範囲おける学習率と、特定範囲外における学習率とが異なっていてよい。学習率は、最適化分野において、ステップサイズ、ステップ幅とも称される。例えば、眼鏡フレームの人気に偏りがある場合、パラメータ予測モデルは、フレーム形状データD34について、人気のある形状の学習率を高くし、人気のない形状の学習率を低くすることで、予測精度が高くなる。
【0087】
例えば、上記実施形態において、パラメータ予測モデルの教師データとなるデータ群は、眼鏡レンズを加工する加工機に関する加工機データを含んでよい。加工機データを含むデータ群を教師データとして学習させたパラメータ予測モデルを用いることにより、パラメータ予測モデルは、加工機により加工できない形状のパラメータを予測してしまうことを回避できる。
【0088】
例えば、パラメータ予測モデルの強化学習は、シミュレーションと相性が良い。パラメータ予測モデルは、現実の装用者、眼鏡レンズ、眼鏡フレームを模したシミュレータを用いることにより、効率的に多くの試行を行い、シミュレータ上の状況を観測できる。シミュレータを用いれば、パラメータ予測モデルは、現実世界では選択できない選択肢をも選択し、実際に失敗をしてみることで、失敗の選択肢を選択しないことを学習できる。
【0089】
特許請求の範囲、明細書、及び図面中において示した装置、システム、プログラム及び方法における動作、手順、ステップ及び段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示していない。各処理の実行順序は、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現し得ることに留意すべきである。特許請求の範囲、明細書、及び図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、その説明は、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【0090】
100・・・設計サーバ、110・・・CPU、120・・・メインメモリ、130・・・入出力インターフェース、140・・・通信装置、150・・・ストレージ、CN・・・コンピュータネットワーク、D1・・・眼鏡レンズデータ、D2・・・処方データ、D3・・・眼鏡フレームデータ、D4・・・パラメータデータ、D5・・・形状データ、D11・・・ベースカーブデータ、D12・・・レンズ外径データ、D13・・・中心厚データ、D14・・・前面頂点屈折力データ、D21・・・球面屈折力データ、D22・・・乱視屈折力データ、D23・・・乱視軸角度データ、D24・・・加入屈折力データ、D31・・・装用時そり角データ、D32・・・装用時前傾角データ、D33・・・頂点間距離データ、D34・・・フレーム形状データ、D35・・・ビジュアルポイントデータ、D36・・・瞳孔間距離データ、OS・・・眼鏡店、OT・・・眼鏡店端末、PM1・・・第1パラメータ予測モデル、PM2・・・第2パラメータ予測モデル、PM3・・・第3パラメータ予測モデル、PM4・・・第4パラメータ予測モデル、PM5・・・第5パラメータ予測モデル、PM6・・・処理時間予測モデル、PM7・・・変更データ予測モデル、SM1・・・データ群受信部、SM2・・・パラメータ予測部、SM3・・・処理時間予測部、SM4・・・変更データ予測部、SM5・・・後面形状算出部、SM6・・・形状データ送信部