本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。
[適用例]
図1および図2を参照しながら、本実施の形態に係る識別装置100の適用例を説明する。図1は、本実施の形態に係る識別装置100の適用例を示す模式図である。図2は、本実施の形態に係るシステムの全体構成を示す模式図である。
図1に示すように、ユーザ1は、スキャナシステム10を用いることで、対象者2が有する歯牙を含む三次元形状のデータ(以下、「三次元データ」とも称する)を取得することができる。なお、「ユーザ」は、歯科医師などの術者、歯科助手、歯科大学の先生または生徒、歯科技工士、メーカの技術者、製造工場の作業者など、スキャナシステム10を用いる者であればいずれであってもよい。「対象者」は、歯科医院の患者、歯科大学における被験者など、スキャナシステム10の対象となる者であればいずれであってもよい。
本実施の形態に係るスキャナシステム10は、三次元スキャナ200と、識別装置100と、ディスプレイ300と、スピーカ400とを備える。三次元スキャナ200は、内蔵された三次元カメラによってスキャン対象の三次元データを取得する。具体的には、三次元スキャナ200は、口腔内をスキャンすることで、三次元データとして、スキャン対象の歯牙を構成する複数の点のそれぞれの位置情報(縦方向,横方向,高さ方向の各軸の座標)を、光学センサなどを用いて取得する。識別装置100は、三次元スキャナ200によって取得された三次元データに基づき三次元画像を生成し、生成した三次元画像をディスプレイ300に表示する。
たとえば、ユーザ1は、対象者2の歯牙の欠損部分を補う補綴物などをコンピュータ上でデジタル設計するために、三次元スキャナ200によって対象者2の口腔内を撮像することで、歯牙を含む口腔内の三次元データを取得する。ユーザ1が口腔内を撮像するごとに三次元データが順次取得され、口腔内の三次元画像がディスプレイ300に表示される。ユーザ1は、ディスプレイ300に表示された三次元画像を確認しながら三次元データの不足部分を重点的にスキャンしていく。このとき、ユーザ1は、三次元スキャナ200によって取得された歯牙を含む三次元データが可視化された三次元画像に基づき、自身の知見によってスキャン中またはスキャンが完了した歯牙の種類を識別する。しかし、知見のレベルはユーザ1ごとに異なるため、ユーザ1の知見に頼っていると識別結果の精度がばらつくことがあった。
そこで、本実施の形態に係るスキャナシステム10は、識別装置100が有するAI(人工知能:Artificial Intelligence)を利用して、三次元スキャナ200によって取得
された三次元データに基づき歯牙の種類を自動的に識別する処理を実行するように構成されている。なお、識別装置100による歯牙の種類を識別する処理を「識別処理」とも称する。
なお、「歯牙の種類」は、上顎右側の中切歯、側切歯、犬歯、第1小臼歯、第2小臼歯、第1大臼歯、第2大臼歯、および第3大臼歯、上顎左側の中切歯、側切歯、犬歯、第1小臼歯、第2小臼歯、第1大臼歯、第2大臼歯、および第3大臼歯、下顎右側の中切歯、側切歯、犬歯、第1小臼歯、第2小臼歯、第1大臼歯、第2大臼歯、および第3大臼歯、下顎左側の中切歯、側切歯、犬歯、第1小臼歯、第2小臼歯、第1大臼歯、第2大臼歯、および第3大臼歯といったような各歯牙の種類を意味する。
具体的には、ユーザ1が三次元スキャナ200を用いて対象者2の口腔内の歯牙をスキ
ャンすると、歯牙を含む三次元データが識別装置100に入力される。識別装置100は、入力された歯牙の特徴を含む三次元データおよびニューラルネットワークを含む推定モデルに基づき、当該歯牙の種類を識別する識別処理を実行する。
「推定モデル」は、ニューラルネットワークと当該ニューラルネットワークによって用いられるパラメータとを含み、三次元データに関連付けられた歯牙の種類に対応する歯牙情報と、当該三次元データを用いた当該歯牙の種類の識別結果とに基づき学習されることで最適化(調整)される。具体的には、推定モデルは、歯牙を含む三次元データが入力されると、当該三次元データに基づきニューラルネットワークによって歯牙の特徴を抽出し、抽出した歯牙の特徴に基づき歯牙の種類を推定する。そして、推定モデルは、自身が推定した歯牙の種類と、入力された三次元データに関連付けられた歯牙の種類(歯牙情報)とに基づき、両者が一致すればパラメータを更新しない一方で、両者が一致しなければ両者が一致するようにパラメータを更新することで、パラメータを最適化する。このように、推定モデルは、入力データである三次元データと、正解データである歯牙の種類(歯牙情報)とを含む教師データを利用して、パラメータが最適化されることで学習される。
なお、このような推定モデルを学習する処理を「学習処理」とも称する。また、学習処理によって最適化された推定モデルを、特に「学習済モデル」とも称する。つまり、本実施の形態においては、学習前の推定モデルおよび学習済みの推定モデルをまとめて「推定モデル」と総称する一方で、特に、学習済みの推定モデルを「学習済モデル」とも称する。
「歯牙情報」は、上顎右側の中切歯、側切歯、犬歯、第1小臼歯、第2小臼歯、第1大臼歯、第2大臼歯、および第3大臼歯、上顎左側の中切歯、側切歯、犬歯、第1小臼歯、第2小臼歯、第1大臼歯、第2大臼歯、および第3大臼歯、下顎右側の中切歯、側切歯、犬歯、第1小臼歯、第2小臼歯、第1大臼歯、第2大臼歯、および第3大臼歯、下顎左側の中切歯、側切歯、犬歯、第1小臼歯、第2小臼歯、第1大臼歯、第2大臼歯、および第3大臼歯といったような各歯牙の名称を含む。また、「歯牙情報」は、中切歯に割り当てられた1番、側切歯に割り当てられた2番、犬歯に割り当てられた3番、第1小臼歯に割り当てられた4番、第2小臼歯に割り当てられた5番、第1大臼歯に割り当てられた6番、第2大臼歯に割り当てられた7番、第3大臼歯に割り当てられた8番といったような各歯牙に割り当てられた番号(たとえば、歯科分野において一般的に用いられている歯牙の番号)を含む。その他、「歯牙情報」は、各歯牙に割り当てられた色の情報を含んでいてもよいし、各歯牙に割り当てられた記号の情報を含んでいてもよい。
識別装置100によって学習済モデルを用いて識別処理が実行されると、その識別結果が、ディスプレイ300、およびスピーカ400に出力される。
ディスプレイ300は、識別結果に対応する画像、文字、数字、アイコン、および記号の少なくともいずれか1つを表示する。たとえば、ディスプレイ300は、三次元スキャナ200によって下顎右側の7番に対応する第2大臼歯のスキャンが完了した後において、識別装置100による歯牙の識別結果を利用して、「右下7番のスキャンが完了しました。」というように、下顎右側の7番に対応する第2大臼歯のスキャンが完了した旨の画像を表示する。
スピーカ400は、識別結果に対応する音声を出力する。たとえば、スピーカ400は、三次元スキャナ200によって下顎右側の7番に対応する第2大臼歯のスキャンが完了した後において、識別装置100による歯牙の識別結果を利用して、「右下7番完了」というように、下顎右側の7番に対応する第2大臼歯のスキャンが完了した旨の音声を出力する。
さらに、識別装置100による識別結果は、識別処理時に用いられた三次元データとともに、スキャン情報として歯科技工所および管理センターに配置されたサーバ装置500に出力される。
たとえば、図2に示すように、スキャナシステム10は、複数のローカルA〜Cのそれぞれに配置されている。たとえば、ローカルAおよびローカルBは歯科医院であり、当該歯科医院の院内において、ユーザ1である術者や歯科助手は、スキャナシステム10を利用して対象者2である患者の歯牙を含む三次元データを取得する。また、ローカルCは歯科大学であり、当該歯科大学において、ユーザ1である先生や生徒は、対象者2である被験者の口腔内の三次元データを取得する。ローカルA〜Cのそれぞれで取得されたスキャン情報(三次元データ,識別結果)は、ネットワーク5を介して、ローカルDである歯科技工所および管理センターに配置されたサーバ装置500に出力される。
歯科技工所においては、歯科技工士などが、ローカルA〜Cのそれぞれから取得したスキャン情報に基づき、対象者2の歯牙の欠損部分を補う補綴物などを作成する。管理センターにおいては、サーバ装置500が、ローカルA〜Cのそれぞれから取得したスキャン情報を蓄積して記憶し、ビッグデータとして保持する。
なお、サーバ装置500は、歯科医院にローカルとは異なる管理センターに配置されるものに限らず、ローカル内に配置されてもよい。たとえば、ローカルA〜Cのうちのいずれかのローカル内にサーバ装置500が配置されてもよい。また、1つのローカル内に複数の識別装置100が配置されてもよく、さらに、当該1つのローカル内に当該複数の識別装置100と通信可能なサーバ装置500が配置されてもよい。また、サーバ装置500は、クラウドサービスの形態で実現されてもよい。
歯科技工所においては、ローカルA〜Cのように、様々な所からスキャン情報が集約される。このため、歯科技工所で保持されているスキャン情報は、ネットワーク5を介して管理センターに送信されてもよいし、あるいは、CD(Compact Disc)およびUSB(Universal Serial Bus)メモリなどのリムーバブルディスク550を介して管理センターに送られてもよい。
なお、ネットワーク5を介さずに、ローカルA〜Cのそれぞれからも、リムーバブルディスク550を介してスキャン情報が管理センターに送られてもよい。また、ローカルA〜Cのそれぞれの間においても、ネットワーク5またはリムーバブルディスク550を介してスキャン情報を互いに送り合ってもよい。
各ローカルA〜Cの識別装置100は、各自で推定モデルを保持しており、識別処理時に各自が保持する推定モデルを使用して歯牙の種類を識別する。各ローカルA〜Cの識別装置100は、各自の学習処理によって各自の推定モデルを学習することで、学習済モデルを生成する。さらに、本実施の形態においては、サーバ装置500も推定モデルを保持している。サーバ装置500は、各ローカルA〜Cの識別装置100および歯科技工所から取得したスキャン情報を用いた学習処理によって推定モデルを学習することで、学習済モデルを生成し、各ローカルA〜Cの識別装置100に当該学習済モデルを配布する。なお、本実施の形態においては、各ローカルA〜Cの識別装置100およびサーバ装置500のいずれも学習処理を実行する形態であるが、各ローカルA〜Cの識別装置100のみが学習処理を実行する形態、あるいはサーバ装置500のみが学習処理を実行する形態であってもよい。なお、サーバ装置500のみが学習処理を実行する形態である場合、各ローカルA〜Cの識別装置100が保持する推定モデル(学習済モデル)は、各ローカルA〜Cの識別装置100間で共通化される。
また、サーバ装置500が識別装置100における識別処理の機能を有していてもよい。たとえば、各ローカルA〜Cは、取得した三次元データをサーバ装置500に送信し、サーバ措置500は、各ローカルA〜Cから受信したそれぞれの三次元データに基づき、それぞれにおける歯牙の種類の識別結果を算出してもよい。そして、サーバ装置500は、それぞれの識別結果を各ローカルA〜Cに送信し、各ローカルA〜Cは、サーバ装置500から受信した識別結果をディスプレイなどに出力してもよい。このように、各ローカルA〜Cとサーバ装置500とがクラウドサービスの形態で構成されてもよい。このようにすれば、サーバ装置500が推定モデル(学習済モデル)を保持してさえいれば、各ローカルA〜Cは、推定モデル(学習済モデル)を保持することなく識別結果を得ることができる。
このように、本実施の形態に係るスキャナシステム10によれば、識別装置100が有するAIを利用して、三次元スキャナ200によって取得された三次元データに基づき歯牙の種類が自動的に識別される。AIを利用することで、ユーザ1の知見により得られた歯牙の特徴を見出すことができる。また、ユーザ1では抽出できない歯牙の特徴を見出すこともでき、これにより、ユーザ1は、自身の知見に頼ることなく、精度良く歯牙の種類を識別することができる。
[識別装置のハードウェア構成]
図3を参照しながら、本実施の形態に係る識別装置100のハードウェア構成の一例を説明する。図3は、本実施の形態に係る識別装置100のハードウェア構成を示す模式図である。識別装置100は、たとえば、汎用コンピュータで実現されてもよいし、スキャナシステム10専用のコンピュータで実現されてもよい。
図3に示すように、識別装置100は、主なハードウェア要素として、スキャナインターフェース102と、ディスプレイインターフェース103と、スピーカインターフェース104と、周辺機器インターフェース105と、ネットワークコントローラ106と、メディア読取装置107と、PCディスプレイ108と、メモリ109と、ストレージ110と、演算装置130とを備える。
スキャナインターフェース102は、三次元スキャナ200を接続するためのインターフェースであり、識別装置100と三次元スキャナ200との間のデータの入出力を実現する。
ディスプレイインターフェース103は、ディスプレイ300を接続するためのインターフェースであり、識別装置100とディスプレイ300との間のデータの入出力を実現する。ディスプレイ300は、たとえば、LCD(Liquid Crystal Display)または有機ELD(Electroluminescence)ディスプレイなどで構成される。
スピーカインターフェース104は、スピーカ400を接続するためのインターフェースであり、識別装置100とスピーカ400との間のデータの入出力を実現する。
周辺機器インターフェース105は、キーボード601およびマウス602などの周辺機器を接続するためのインターフェースであり、識別装置100と周辺機器との間のデータの入出力を実現する。
ネットワークコントローラ106は、ネットワーク5を介して、歯科技工所に配置された装置、管理センターに配置されたサーバ装置500、および他のローカルに配置された他の識別装置100のそれぞれとの間でデータを送受信する。ネットワークコントローラ
106は、たとえば、イーサネット(登録商標)、無線LAN(Local Area Network)、Bluetooth(登録商標)などの任意の通信方式に対応する。
メディア読取装置107は、リムーバブルディスク550に格納されているスキャン情報などの各種データを読み出す。
PCディスプレイ108は、識別装置100専用のディスプレイである。PCディスプレイ108は、たとえば、LCDまたは有機ELディスプレイなどで構成される。なお、本実施の形態においては、PCディスプレイ108は、ディスプレイ300と別体であるが、ディスプレイ300と共通化されてもよい。
メモリ109は、演算装置130が任意のプログラムを実行するにあたって、プログラムコードやワークメモリなどを一時的に格納する記憶領域を提供する。メモリ109は、たとえば、DRAM(Dynamic Random Access Memory)またはSRAM(Static Random Access Memory)などの揮発性メモリデバイスで構成される。
ストレージ110は、識別処理および学習処理などに必要な各種のデータを格納する記憶領域を提供する。ストレージ110は、たとえば、ハードディスクまたはSSD(Solid State Drive)などの不揮発性メモリデバイスで構成される。
ストレージ110は、スキャン情報112と、推定モデル114(学習済モデル114a)と、学習用データセット116と、色分類データ118と、プロファイルデータ119と、識別用プログラム120と、学習用プログラム121と、OS(Operating System)127とを格納する。
スキャン情報112は、三次元スキャナ200によって取得された三次元データ122と、当該三次元データ122に基づき実行された識別処理による識別結果124とを含む。識別結果124は、識別処理に用いられた三次元データ122に関連付けられてストレージ110に格納される。学習用データセット116は、推定モデル114の学習処理に用いられる一群の学習用データである。色分類データ118は、学習用データセット116の生成および学習処理に用いられるデータである。プロファイルデータ119は、対象者2に関する属性情報であって、当該対象者2の年齢、性別、人種、身長、体重、および居住地などのプロファイルがまとめられたデータ(たとえば、カルテの情報)である。識別用プログラム120は、識別処理を実行するためのプログラムである。学習用プログラム121は、推定モデル114の学習処理を実行するためのプログラムであり、その一部には識別処理を実行するためのプログラムも含まれる。
演算装置130は、各種のプログラムを実行することで、識別処理および学習処理などの各種の処理を実行する演算主体であり、コンピュータの一例である。演算装置130は、たとえば、CPU(Central Processing Unit)132、FPGA(Field-Programmable Gate Array)134、およびGPU(Graphics Processing Unit)136などで構成される。
[サーバ装置のハードウェア構成]
図4を参照しながら、本実施の形態に係るサーバ装置500のハードウェア構成の一例を説明する。図4は、本実施の形態に係るサーバ装置500のハードウェア構成を示す模式図である。サーバ装置500は、たとえば、汎用コンピュータで実現されてもよいし、スキャナシステム10専用のコンピュータで実現されてもよい。
図4に示すように、サーバ装置500は、主なハードウェア要素として、ディスプレイ
インターフェース503と、周辺機器インターフェース505と、ネットワークコントローラ506と、メディア読取装置507と、メモリ509と、ストレージ510と、演算装置530とを備える。
ディスプレイインターフェース503は、ディスプレイ350を接続するためのインターフェースであり、サーバ装置500とディスプレイ350との間のデータの入出力を実現する。ディスプレイ350は、たとえば、LCDまたは有機ELDディスプレイなどで構成される。
周辺機器インターフェース505は、キーボード651およびマウス652などの周辺機器を接続するためのインターフェースであり、サーバ装置500と周辺機器との間のデータの入出力を実現する。
ネットワークコントローラ506は、ネットワーク5を介して、ローカルに配置された識別装置100、および歯科技工所に配置された装置のそれぞれとの間でデータを送受信する。ネットワークコントローラ506は、たとえば、イーサネット(登録商標)、無線LAN、Bluetooth(登録商標)などの任意の通信方式に対応してもよい。
メディア読取装置507は、リムーバブルディスク550に格納されているスキャン情報などの各種データを読み出す。
メモリ509は、演算装置530が任意のプログラムを実行するにあたって、プログラムコードやワークメモリなどを一時的に格納する記憶領域を提供する。メモリ509は、たとえば、DRAMまたはSRAMなどの揮発性メモリデバイスで構成される。
ストレージ510は、学習処理などに必要な各種のデータを格納する記憶領域を提供する。ストレージ510は、たとえば、ハードディスクまたはSSDなどの不揮発性メモリデバイスで構成される。
ストレージ510は、スキャン情報512と、推定モデル514(学習済モデル514a)と、学習用データセット516と、色分類データ518と、プロファイルデータ519と、学習用プログラム521と、OS527とを格納する。
スキャン情報512は、ネットワーク5を介してローカルに配置された識別装置100および歯科技工所から取得した三次元データ522と、当該三次元データ522に基づき実行された識別処理による識別結果524とを含む。識別結果524は、識別処理に用いられた三次元データ522に関連付けられてストレージ510に格納される。学習用データセット516は、推定モデル514の学習処理に用いられる一群の学習用データである。色分類データ518は、学習用データセット516の生成および学習処理に用いられるデータである。プロファイルデータ519は、対象者2に関する属性情報であって、対象者2の年齢、性別、人種、身長、体重、および居住地などのプロファイルがまとめられたデータ(たとえば、カルテの情報)である。学習用プログラム521は、推定モデル514の学習処理を実行するためのプログラムであり、その一部には識別処理を実行するためのプログラムも含まれる。
なお、推定モデル514(学習済モデル514a)は、ローカルの識別装置100に送信されることで、識別装置100によって、推定モデル114(学習済モデル114a)として保持される。
演算装置530は、各種のプログラムを実行することで、学習処理などの各種の処理を
実行する演算主体であり、コンピュータの一例である。演算装置530は、たとえば、CPU532、FPGA534、およびGPU536などで構成される。
[識別装置による識別処理]
図5〜図7を参照しながら、本実施の形態に係る識別装置100による識別処理の一例を説明する。図5は、本実施の形態に係る識別装置100の機能構成を示す模式図である。図6は、本実施の形態に係る識別装置100による識別処理を説明するための模式図である。図7は、本実施の形態に係る識別処理における識別対象となる歯牙の一例を示す模式図である。なお、図7においては、三次元スキャナ200のスキャン対象となる歯牙が線図によって表されている。
図5に示すように、識別装置100は、識別処理に係る機能部として、入力部1102と、プロファイル取得部1119と、識別部1130と、出力部1103とを有する。これらの各機能は、識別装置100の演算装置130がOS127および識別用プログラム120を実行することで実現される。
入力部1102には、三次元スキャナ200によって取得された三次元データが入力される。プロファイル取得部1119は、対象者2のプロファイルデータ119を取得する。識別部1130は、入力部1102に入力された三次元データと、プロファイル取得部1119によって取得された対象者2のプロファイルデータ119とに基づき、推定モデル114(学習済モデル114a)を用いて歯牙の種類を識別する識別処理を実行する。
推定モデル114は、ニューラルネットワーク1142と、当該ニューラルネットワーク1142によって用いられるパラメータ1144とを含む。パラメータ1144は、ニューラルネットワーク1142による計算に用いられる重み付け係数と、識別の判定に用いられる判定値とを含む。出力部1103は、識別部1130による識別結果を、ディスプレイ300、スピーカ400、およびサーバ装置500に出力する。
ここで、図6に示すように、入力部1102に入力される三次元データには、歯牙の各点における三次元の位置情報と、歯牙の各点における色情報とが含まれる。識別処理においては、位置情報が用いられる。位置情報は、予め定められた位置を基準とした三次元における絶対位置の座標を含む。たとえば、位置情報は、歯牙の各点における中心位置を原点として、X軸(たとえば、歯牙の横方向の軸)、Y軸(たとえば、歯牙の縦方向の軸)、およびZ軸(たとえば、歯牙の高さ方向の軸)の各軸における絶対位置の座標を含む。なお、位置情報は、予め定められた位置を基準とした三次元における絶対位置の座標に限らず、たとえば、隣接する点からの距離を示す三次元における相対位置の座標を含んでいてもよい。
ここで、図7に示すように、三次元スキャナ200のスキャン対象となる歯牙が上顎の切歯である場合、得られる三次元画像が、上唇側の部位、口蓋側の部位、および切縁側の部位の画像を少なくとも含むように、ユーザ1によって対象者2の口腔内がスキャンされる。また、三次元スキャナ200のスキャン対象となる歯牙が上顎の犬歯および臼歯である場合、得られる三次元画像が、頬側の部位、口蓋側の部位、および咬合する部位の画像を少なくとも含むように、ユーザ1によって対象者2の口腔内がスキャンされる。三次元スキャナ200のスキャン対象となる歯牙が下顎の切歯である場合、得られる三次元画像が、下唇側の部位、舌側の部位、および切縁側の部位の画像を少なくとも含むように、ユーザ1によって対象者2の口腔内がスキャンされる。三次元スキャナ200のスキャン対象となる歯牙が下顎の犬歯および臼歯である場合、得られる三次元画像が、頬側の部位、舌側の部位、および咬合する部位の画像を少なくとも含むように、ユーザ1によって対象者2の口腔内がスキャンされる。
一般的に、対象者2の歯牙は、その種類によって形状および大きさが異なる。たとえば、上顎の切歯の場合、上唇側の面は一般的にU字形であるのに対して、上顎の犬歯の場合、頬側の面は一般的に五角形である。各歯牙は、形状および大きさがその種類に応じて特徴的であり、識別部1130は、これらの特徴的な形状および大きさが数値化された三次元データに基づき、推定モデル114を用いて当該三次元データに対応する歯牙の種類を識別する。
図6に示すように、推定モデル114は、ニューラルネットワーク1142を含む。ニューラルネットワーク1142においては、入力部1102に入力された三次元データに含まれる位置情報の値が入力層に入力される。そして、ニューラルネットワーク1142においては、たとえば、中間層によって、入力された位置情報の値に対して重み付け係数が乗算されたり所定のバイアスが加算されたりするとともに所定の関数による計算が行われ、その計算結果が判定値と比較される。そして、ニューラルネットワーク1142においては、その計算および判定の結果が識別結果として出力層から出力される。なお、ニューラルネットワーク1142による計算および判定については、三次元データに基づき歯牙を識別できるものであれば、いずれの手法が用いられてもよい。
推定モデル114のニューラルネットワーク1142においては、中間層が多層構造になることで、ディープラーニングによる処理が行われる。本実施の形態においては、3次元画像に特化した識別処理を行う識別用プログラム120として、たとえば、VoxNet、3D
ShapeNets、Multi-View CNN、RotationNet、OctNet、FusionNet、PointNet、PointNet++、SSCNet、およびMarrNetなどが用いられるが、その他のプログラムが用いられてもよい
。また、ニューラルネットワーク1142の仕組みには既存のものが適用されてもよい。
このような構成において、識別装置100は、複数の歯牙が含まれる三次元画像に対応する三次元データが入力されると、当該三次元データに基づいて、複数の歯牙のそれぞれの特徴を推定モデル114のニューラルネットワーク1142を用いて抽出し、抽出した複数の歯牙のそれぞれの特徴に基づき、当該複数の歯牙のそれぞれの種類を識別することができる。また、図6に示すように、識別対象となる歯牙に限らず、隣接する歯牙を含む三次元データについても識別装置100に入力されることで、推定モデル114のニューラルネットワーク1142は、隣接する歯牙の形状との関係も考慮して歯牙の特徴を抽出することができる。識別装置100は、一般的に認識されている歯牙の特徴に限らず、一般的に認識されていない歯牙の特徴についても抽出することができ、それによって精度良く歯牙の種類を識別することができる。
なお、サーバ装置500が保持する推定モデル514に含まれるニューラルネットワークは、図6に示した推定モデル114に含まれるニューラルネットワーク1142と同様の構成を有する。
[学習用データの生成]
図8および図9を参照しながら、学習用データセット116の生成の一例を説明する。図8は、本実施の形態に係る学習用データの生成を説明するための模式図である。図9は、本実施の形態に係る学習用データセット116の一例を説明するための模式図である。
図8に示すように、まず、三次元スキャナ200によって三次元データが取得される(STEP1)。三次元スキャナ200によって取得された三次元データには、当該三次元データに対応する歯牙の各点における三次元の位置情報と、歯牙の各点における色情報(RGB値)とが含まれる。三次元スキャナ200によって取得された三次元データに基づき三次元画像が生成されると、図8(a)に示すように実際の色が付された歯牙を含む三
次元画像が生成される。
次に、後述する各歯牙の色分け処理の準備として、ノイズ除去処理が行われる。たとえば、本実施の形態においては、三次元データに対応する3次元画像がグレースケール化される(STEP2)。3次元画像のグレースケール化は、ユーザ1(この場合、学習用データを生成するメーカの技術者または製造工場の作業者など)によって行われる。三次元画像がグレースケール化されると、図8(b)に示すようにグレースケール化された歯牙を含む三次元画像が生成される。また、三次元画像のグレースケール化に応じて、三次元データに対応する歯牙の各点における色情報(RGB値)がグレースケールに対応する値に変更される。
次に、三次元データに対応する三次元画像に含まれる各歯牙に対して予め定められた色が塗布されることで各歯牙が色分けされる(STEP3)。たとえば、図9に示すように、識別装置100が保持する色分類データ118は、下顎左側、下顎右側、上顎左側、および上顎右側といったように口腔内の各部位ごとに設けられている。図9においては、下顎左側に対応する色分類データ118が示されている。各色分類データ118においては、歯牙の種類ごとに、歯科分野において一般的に用いられている歯牙の番号と、予め定められた色情報とが割り当てられている。
たとえば、第二大臼歯は、歯牙の番号として7番が割り当てられ、色情報として赤色が割り当てられている。第一大臼歯は、歯牙の番号として6番が割り当てられ、色情報として緑色が割り当てられている。第二小臼歯は、歯牙の番号として5番が割り当てられ、色情報として青色が割り当てられている。このように、各色分類データ118においては、各歯牙の種類に対して歯牙の番号および色情報が予め割り当てられている。
各歯牙に対する色の塗布は、ユーザ1(メーカの技術者または製造工場の作業者など)によって行われる。具体的には、ユーザ1は、自身の知見に基づき三次元画像に含まれる各歯牙の種類を識別し、識別した歯牙の種類に対応する色を、色分類データ118を参照しながら特定し、特定した色を当該歯牙の画像に塗布する。
たとえば、ユーザ1は、三次元画像に含まれる歯牙が第二大臼歯であると識別すると、当該歯牙の画像に赤色を塗布する。また、三次元画像に含まれる歯牙が第一大臼歯であると識別すると、当該歯牙の画像に緑色を塗布する。三次元画像に含まれる各歯牙に対して予め定められた色が塗布されると、図8(c)および図9(d)に示すように各歯牙に対して予め定められた色が塗布された三次元画像が生成される。なお、分かり易いように、図面上では各色がハッチングで表されている。
また、各歯牙の色分けに応じて、三次元データに対応する歯牙の各点における色情報(RGB値)が各歯牙に塗布された色に対応する値に変更される。たとえば、赤色に塗布された第二大臼歯の各位置座標に対しては、色情報(RGB値)が“255000000”となり、緑色に塗布された第一大臼歯の各位置座標に対しては、色情報(RGB値)が“000255000”となり、青色に塗布された第二小臼歯の各位置座標に対しては、色情報(RGB値)が“00000255”となる。つまり、三次元データに対応する歯牙の各点に対して、予め定められた色情報(RGB値)が関連付けられる。
各歯牙に対して予め定められた色情報が関連付けられると、三次元データには、位置情報と、塗布された色に対応する色情報とが含まれるようになり、このような三次元データが学習用データとして採用される。つまり、本実施の形態に係る学習用データにおいては、識別処理で参照される位置情報に対して、歯牙の種類に対応する色情報が関連付けられる(ラベリングされる)。さらに、三次元データに対応する複数の歯牙のそれぞれの範囲
を特定可能に当該三次元データに色情報が関連付けられる。具体的には、各歯牙に対応する位置情報ごとに、同じ色情報が関連付けられる。このような学習用データの集まりが学習用データセット116として、識別装置100に保持される。
このように、学習用データを生成する際に、ユーザ1が三次元画像に含まれる各歯牙に色を塗布して正解データをラベリングすることにおいては、多くの利点がある。たとえば、単なる文字または記号を用いてラベリングした場合、ユーザ1は、各歯牙の範囲を認識し難いが、色分けによってラベリングした場合、ユーザ1は、ラベリング対象である歯牙と当該歯牙に隣接する歯牙との間の境界、およびラベリング対象である歯牙と歯肉との間の境界を色の塗布によって容易に認識することができる。また、ユーザ1は、ラベリング時に様々な角度から三次元画像を確認しながら色を塗布するが、視点の角度を変更した場合でも、ラベリング作業中の歯牙に対してどの範囲まで塗布が完了したのかを認識し易くなる。
なお、本実施の形態においては、ユーザ1が自身の知見に基づき手作業で三次元画像に含まれる各歯牙に色を塗布しているが、一部の作業をソフトウェアで補うことも可能である。たとえば、ラベリング対象である歯牙と当該歯牙に隣接する歯牙との間の境界、およびラベリング対象である歯牙と歯肉との間の境界を、エッジ検出によって特定してもよく、このようにすれば、ラベリング対象である歯牙のみを抽出することができる。
なお、図8および図9に示す学習用データセット116の生成は、サーバ装置500が保持する学習用データセット516の生成についても適用可能である。たとえば、図9に示す学習用データセット116を、サーバ装置500が保持する学習用データセット516に適用してもよいし、図9に示す色分類データ118を、サーバ装置500が保持する色分類データ518に適用してもよい。
[学習済モデルの生成]
図10を参照しながら、学習済モデル114aの生成の一例を説明する。図10は、本実施の形態に係る学習用データセット116に基づく学習済モデル114aの生成を説明するための模式図である。
図10に示すように、学習用データセット116は、当該学習用データセット116を生成する際にスキャン対象となった対象者2のプロファイルに基づきカテゴリごとに分類することができる。たとえば、年齢(未成年者,現役世代,高齢者)、性別(男性,女性)、人種(アジア人,欧米人,アフリカ系)、身長(150cm未満,150以上)、体重(50kg未満,50kg以上)、および居住地(日本在住,日本以外に在住)のそれぞれに対して、該当する対象者2の歯牙を含む三次元データから生成された学習用データセットを割り当てることができる。なお、各カテゴリの層別は、適宜設定可能である。たとえば、年齢に関しては、所定の年齢差ごと(この場合は3歳ごと)、具体的には、0歳〜3歳、4歳〜6歳、7歳〜9歳、…といったように、より詳細に層別することができる。
識別装置100は、カテゴリごとに分類することができる複数の学習用データセット116a〜116oを用いて推定モデル114を学習させることで、学習済モデル114aを生成する。なお、学習用データは、カテゴリの分類の仕方によっては重複することがあるが、学習用データが重複する場合には、いずれかの学習用データのみを用いて推定モデル114を学習させればよい。
一般的に歯牙の形状は、年齢、性別、人種、身長、体重、および居住地など、遺伝または生活環境などに依存してその特徴が異なる。たとえば、一般的に、大人の永久歯は、子
供の乳歯よりも大きく、両者でその形状が異なる。また、一般的に、男性の歯牙は、女性の歯牙よりも大きく、両者でその形状が異なる。また、一般的に、欧米人の歯牙は、硬い肉やパンを噛み切り易いように先端が尖る傾向があるのに対して、日本人の歯牙は、柔らかい米や野菜をすり潰し易いように先端が滑らかになる傾向がある。このため、本実施の形態のように、プロファイルデータに基づき学習処理を実行すれば、遺伝または生活環境などを考慮して歯牙の種類を識別することができる学習済モデルを生成することができる。
なお、図10に示す学習済モデル114aの生成は、サーバ装置500が保持する学習済モデル514aの生成についても適用可能である。たとえば、図10に示す学習用データセット116a〜116oを、サーバ装置500が保持する学習用データセット516に適用してもよいし、図10に示す推定モデル114を、サーバ装置500が保持する推定モデル514に適用してもよい。
[識別装置の学習処理]
図11を参照しながら、識別装置100が実行する学習処理について説明する。図11は、本実施の形態に係る識別装置100が実行する学習処理の一例を説明するためのフローチャートである。図11に示す各ステップは、識別装置100の演算装置130がOS127および学習用プログラム121を実行することで実現される。
図11に示すように、識別装置100は、学習用データセット116の中から、学習に用いる学習用データを選択する(S2)。具体的には、識別装置100は、図10に示す学習用データセット群に含まれる学習用データセット116の中から、一または複数の学習用データを選択する。なお、識別装置100は、学習用データを自動で選択するものに限らず、ユーザ1が選択した学習用データを学習処理に用いてもよい。
識別装置100は、選択した学習用データに含まれる三次元データの位置情報、および当該学習用データを生成する際にスキャン対象となった対象者2のプロファイルデータを推定モデル114に入力する(S4)。このとき、識別装置100には、三次元データにラベリングされた正解データは入力されない。識別装置100は、三次元データに対応する歯牙の特徴に基づき、推定モデル114を用いて当該歯牙の種類を識別する識別処理を実行する(S6)。識別処理において、識別装置100は、三次元データに加えてプロファイルデータに基づき、推定モデル114を用いて当該歯牙の種類を識別する。
識別装置100は、識別処理によって識別した歯牙の種類の識別結果と、学習処理に用いた学習用データに対応する正解データとの誤差に基づき、推定モデル114のパラメータ1144を更新する(S8)。
たとえば、識別装置100は、特定の歯牙の位置情報に基づき識別した結果、当該特定の歯牙に対応する色情報を推定する。識別装置100は、学習用データに含まれる当該特定の歯牙に対応する色情報(正解データ)と、自身が推定した色情報とを比較し、一致すれば推定モデル114のパラメータ1144を維持する一方で、不正解であれば両者が一致するように推定モデル114のパラメータ1144を更新する。
あるいは、識別装置100は、特定の歯牙の位置情報に基づき識別した結果、当該特定の歯牙に対応する色情報を推定し、色分類データ118に基づき当該色情報に対応する歯牙の種類や歯牙の番号(正解データ)を特定する。識別装置100は、学習用データに含まれる当該特定の歯牙に対応する色情報に割り当てられた歯牙の種類や歯牙の番号(正解データ)と、自身が推定した歯牙の種類や歯牙の番号とを比較し、一致すれば推定モデル114のパラメータ1144を維持する一方で、不正解であれば両者が一致するように推
定モデル114のパラメータ1144を更新する。
次に、識別装置100は、全ての学習用データに基づき学習したか否かを判定する(S10)。識別装置100は、全ての学習用データに基づき学習していない場合(S10でNO)、S2の処理に戻る。
一方、識別装置100は、全ての学習用データに基づき学習した場合(S10でYES)、学習済みの推定モデル114を学習済モデル114aとして記憶し(S12)、本処理を終了する。
このように、識別装置100は、学習用データに含まれる三次元データに関連付けられた歯牙の種類に対応する歯牙情報(色情報、歯牙の名称、または歯牙の番号など)を正解データとして、識別処理による当該三次元データを用いた当該歯牙の種類の識別結果に基づき、推定モデル114を学習することで、学習済モデル114aを生成することができる。
さらに、識別装置100は、学習処理において、学習用データに加えてプロファイルデータを考慮して推定モデル114を学習するため、対象者2のプロファイルを考慮した学習済モデル114aを生成することができる。
[サーバ装置の学習処理]
図12を参照しながら、サーバ装置500が実行する学習処理について説明する。図12は、本実施の形態に係るサーバ装置500が実行する学習処理の一例を説明するためのフローチャートである。図12に示す各ステップは、サーバ装置500の演算装置530がOS527および学習用プログラム521を実行することで実現される。
図12に示すように、サーバ装置500は、学習用データセットの中から、学習に用いる学習用データを選択する(S502)。ここで、学習用データは、サーバ装置500によって蓄積して記憶されたビッグデータを利用して生成されたものであってもよい。たとえば、サーバ装置500は、各ローカルA〜Cの識別装置100および歯科技工所から取得したスキャン情報に含まれる三次元データを利用して学習用データを生成しておき、生成した当該学習用データを用いて学習処理を実行してもよい。なお、サーバ装置500は、学習用データを自動で選択するものに限らず、ユーザ1が選択した学習用データを学習処理に用いてもよい。
サーバ装置500は、選択した学習用データに含まれる三次元データ(位置情報)、および当該学習用データを生成する際にスキャン対象となった対象者2のプロファイルデータを推定モデル514に入力する(S504)。このとき、サーバ装置500には、三次元データにラベリングされた正解データは入力されない。サーバ装置500は、三次元データに対応する歯牙の特徴に基づき、推定モデル514を用いて当該歯牙の種類を識別する識別処理を実行する(S506)。識別処理において、サーバ装置500は、三次元データに加えてプロファイルデータに基づき、推定モデル514を用いて当該歯牙の種類を識別する。
サーバ装置500は、識別処理によって識別した歯牙の種類の識別結果と、学習に用いた学習用データに対応する正解データとの誤差に基づき、推定モデル514のパラメータを更新する(S508)。
たとえば、サーバ装置500は、特定の歯牙の位置情報に基づき識別した結果、当該特定の歯牙に対応する色情報を推定する。サーバ装置500は、学習用データセットに含ま
れる当該特定の歯牙に対応する色情報(正解データ)と、自身が推定した色情報とを比較し、一致すれば推定モデル514のパラメータを維持する一方で、不正解であれば両者が一致するように推定モデル514のパラメータを更新する。
あるいは、サーバ装置500は、特定の歯牙の位置情報に基づき識別した結果、当該特定の歯牙に対応する色情報を推定し、色分類データ518に基づき当該色情報に対応する歯牙の種類や歯牙の番号(正解データ)を特定する。サーバ装置500は、学習用データセットに含まれる当該特定の歯牙に対応する色情報に割り当てられた歯牙の種類や歯牙の番号(正解データ)と、自身が推定した歯牙の種類や歯牙の番号とを比較し、一致すれば推定モデル514のパラメータを維持する一方で、不正解であれば両者が一致するように推定モデル514のパラメータを更新する。
次に、サーバ装置500は、全ての学習用データに基づき学習したか否かを判定する(S510)。サーバ装置500は、全ての学習用データに基づき学習していない場合(S510でNO)、S502の処理に戻る。
一方、サーバ装置500は、全ての学習用データに基づき学習した場合(S510でYES)、学習済みの推定モデル514を学習済モデル514aとして記憶する(S512)。その後、サーバ装置500は、生成した学習済モデル514aを各ローカルの識別装置100に送信し(S514)、本処理を終了する。
このように、サーバ装置500は、学習用データに含まれる三次元データに関連付けられた歯牙の種類に対応する歯牙情報(色情報,歯牙の名称,歯牙の番号)を正解データとして、識別処理による当該三次元データを用いた当該歯牙の種類の識別結果に基づき、推定モデル514を学習することで、学習済モデル514aを生成することができる。
また、サーバ装置500は、学習処理において、学習用データに加えてプロファイルデータを考慮して推定モデル514を学習するため、対象者2のプロファイルを考慮した学習済モデル514aを生成することができる。
さらに、サーバ装置500は、学習処理に用いる学習用データとして、各ローカルA〜Cの識別装置100および歯科技工所から取得したスキャン情報に含まれる三次元データを利用しているため、識別装置100ごとに実行される学習処理よりも、より多くの学習用データに基づいて学習処理を実行することができ、より精度良く歯牙の種類を識別することができる学習済モデル514aを生成することができる。
[識別装置のサービス提供処理]
図13を参照しながら、識別装置100が実行するサービス提供処理について説明する。図13は、本実施の形態に係る識別装置100が実行するサービス提供処理の一例を説明するためのフローチャートである。図13に示す各ステップは、識別装置100の演算装置130がOS127および識別用プログラム120を実行することで実現される。
図13に示すように、識別装置100は、サービス提供処理の開始条件が成立したか否かを判定する(S42)。開始条件は、たとえば、三次元スキャナ200の電源を立ち上げたときに成立してもよいし、三次元スキャナ200の電源を立ち上げた後にサービス提供処理に対応するモードに切り替えられたときに成立してもよい。あるいは、開始条件は、サービス提供処理に対応するアイコン(たとえば、AIアシストアイコン)が操作されてアイコンが点滅状態になった後に開始スイッチが操作されたときに成立してもよい。また、開始条件は、一定量の三次元データが取得されたときに成立してもよい。開始条件は、三次元スキャナ200に対して何らかのアクションが行われたときに成立するものであ
ればよい。
識別装置100は、開始条件が成立していない場合(S42でNO)、本処理を終了する。一方、識別装置100は、開始条件が成立した場合(S42でYES)、三次元データが入力されたか否かを判定する(S44)。たとえば、識別装置100は、識別処理を実行するのに十分な量の三次元データが入力されたか否かを判定する。識別装置100は、十分な量の三次元データが入力されていない場合(S44でNO)、S44の処理を繰り返す。
一方、識別装置100は、十分な量の三次元データが入力された場合(S44でYES)、ユーザ1によって対象者2のプロファイルデータが入力されたか否かを判定する(S46)。識別装置100は、プロファイルデータが入力されていない場合(S46でNO)、三次元データ(位置情報)を学習済モデル114aに入力する(S48)。一方、識別装置100は、プロファイルデータが入力された場合(S46でYES)、三次元データ(位置情報)およびプロファイルデータを学習済モデル114aに入力する(S50)。なお、このとき使用する学習済モデルは、図11に示す学習処理で識別装置100によって生成された学習済モデル114aに限らず、図12に示す学習処理でサーバ装置500によって生成された学習済モデル514aであってもよい。
S48およびS50の後、識別装置100は、三次元データに対応する歯牙の特徴に基づき、学習済モデル114aを用いて当該歯牙の種類を識別する識別処理を実行する(S52)。このとき、S50でプロファイルデータが学習済モデル114aに入力されていた場合、識別装置100は、三次元データに加えてプロファイルデータに基づき、学習済モデル114aを用いて当該歯牙の種類を識別する。この場合、三次元データのみに基づき学習済モデル114aを用いて歯牙の種類を識別するよりも、より精度良く歯牙の種類を識別することができる。
その後、識別装置100は、識別処理によって得られた識別結果を、ディスプレイ300、スピーカ400、およびサーバ装置500などに出力し(S54)、本処理を終了する。
このように、識別装置100は、入力された三次元データに対応する歯牙の特徴に基づき、学習済モデル114aを用いて当該歯牙の種類を識別するため、ユーザ自身の知見に頼って歯牙の種類を識別するよりも、精度良く歯牙の種類を識別することができる。
さらに、識別装置100は、識別処理において、入力された三次元データに加えてプロファイルデータを考慮して歯牙の種類を識別するため、より精度良く歯牙の種類を識別することができる。
[主な構成]
以上のように、本実施の形態では以下のような開示を含む。
識別装置100は、歯牙を含む三次元データが入力される入力部1102と、入力部1102から入力された歯牙の特徴を含む三次元データおよびニューラルネットワーク1142を含む推定モデル114(学習済モデル114a)に基づき、当該歯牙の種類を識別する識別部1130と、識別部1130による識別結果を出力する出力部1103とを備え、推定モデル114は、三次元データに関連付けられた歯牙の種類に対応する歯牙情報と、当該三次元データを用いた当該歯牙の種類の識別結果とに基づき学習される。
これにより、ユーザ1は、歯牙を含む三次元データを、ニューラルネットワーク114
2を含む推定モデル114(学習済モデル114a)に入力することで、当該歯牙の種類を識別することができるため、ユーザ自身の知見に頼って歯牙の種類を識別するよりも、精度良く歯牙の種類を識別することができる。
なお、推定モデル114の学習は、サーバ装置500によって実行される推定モデル514の学習によって実現されるものであってもよい。
入力部1102には、少なくとも、口腔内において隣接する複数の歯牙および歯肉に対応する三次元データが入力され、識別部1130は、複数の歯牙のそれぞれの特徴を含む三次元データに基づき、当該複数の歯牙のそれぞれの種類を識別する。
これにより、ユーザ1は、口腔内において隣接する複数の歯牙および歯肉に対応する三次元データを、ニューラルネットワーク1142を含む推定モデル114(学習済モデル114a)に入力することで、当該複数の歯牙のそれぞれの種類を識別することができるため、ユーザ自身の知見に頼って歯牙の種類を1つ1つ識別するよりも、精度良くかつスムーズに歯牙の種類を識別することができる。さらに、ユーザ1は、隣接する歯牙の形状との関係も考慮してニューラルネットワーク1142を含む推定モデル114によって歯牙の特徴を抽出させることができるため、精度良く歯牙の種類を識別することができる。
図6に示すように、三次元データは、当該三次元データに対応する歯牙を構成する複数の点のそれぞれにおける三次元の位置情報を含む。
これにより、ユーザ1は、三次元データに対応する歯牙を構成する複数の点のそれぞれにおける三次元の位置情報を、ニューラルネットワーク1142を含む推定モデル114(学習済モデル114a)に入力することで、当該歯牙の種類を識別することができる。
図6に示すように、位置情報は、予め定められた位置を基準とした絶対位置の座標を含む。
これにより、ユーザ1は、三次元データに対応する歯牙の各点における三次元の位置情報として予め定められた位置を基準とした絶対位置の座標を、ニューラルネットワーク1142を含む推定モデル114(学習済モデル114a)に入力することで、当該歯牙の種類を識別することができる。
図7に示すように、入力部1102に入力された三次元データに対応する歯牙が上顎の切歯である場合、当該三次元データに対応する三次元画像は、上唇側の部位、口蓋側の部位、および切縁側の部位の画像を少なくとも含み、入力部1102に入力された三次元データに対応する歯牙が上顎の犬歯および臼歯である場合、当該三次元データに対応する三次元画像は、頬側の部位、口蓋側の部位、および咬合する部位の画像を少なくとも含み、入力部1102に入力された三次元データに対応する歯牙が下顎の切歯である場合、当該三次元データに対応する三次元画像は、下唇側の部位、舌側の部位、および切縁側の部位の画像を少なくとも含み、入力部1102に入力された三次元データに対応する歯牙が下顎の犬歯および臼歯である場合、当該三次元データに対応する三次元画像は、頬側の部位、舌側の部位、および咬合する部位の画像を少なくとも含む。
これにより、ユーザ1は、上顎の切歯、上顎の犬歯および臼歯、下顎の切歯、下顎の犬歯および臼歯のそれぞれについて、ニューラルネットワーク1142を含む推定モデル114(学習済モデル114a)を用いて歯牙の種類を識別することができる。
図1および図5に示すように、出力部1103は、識別部1130による識別結果をデ
ィスプレイ300に出力し、ディスプレイ300は、識別部1130による識別結果に対応する画像、文字、数字、アイコン、および記号の少なくともいずれか1つを表示する。
これにより、ニューラルネットワーク1142を含む推定モデル114(学習済モデル114a)による識別結果に対応する画像がディスプレイ300に表示されるため、ユーザ1は、直感的に識別結果を認識することができ、利便性が向上する。
図1および図5に示すように、出力部1103は、識別部1130による識別結果をスピーカ400に出力し、スピーカ400は、識別部1130による識別結果に対応する音声を出力する。
これにより、ニューラルネットワーク1142を含む推定モデル114(学習済モデル114a)による識別結果に対応する音声がスピーカ400から出力されるため、ユーザ1は、直感的に識別結果を認識することができ、利便性が向上する。
図1および図5に示すように、出力部1103は、識別部1130による識別結果をサーバ装置500に出力し、サーバ装置500は、識別部1130による識別結果を蓄積して記憶する。
これにより、サーバ装置500によって識別結果が蓄積して記憶されることでビッグデータが形成されるため、ユーザ1は、たとえば、このようなビッグデータを用いて学習処理をサーバ装置500に実行させることで、より精度良く歯牙の種類を識別することができる学習済モデルを生成することができる。
図5に示すように、推定モデル114は、ニューラルネットワーク1142によって用いられるパラメータ1144として、重み付け係数および判定値の少なくともいずれか1つを含み、推定モデル114は、歯牙情報と識別部1130による識別結果とに基づきパラメータ1144が更新されることで学習される。
これにより、ユーザ1は、推定モデル114のパラメータ1144を更新することで、より精度良く歯牙の種類を識別することができる学習済モデル114aを生成することができる。
図9に示すように、歯牙情報は、三次元データに対応する歯牙の種類に対応付けられた色、文字、数字、および記号のうちの少なくともいずれか1つの情報を含む。
これにより、ユーザ1は、歯牙の種類に対応付けられた色、文字、数字、および記号などに基づいて、より精度良く歯牙の種類を識別することができる学習済モデル114aを生成することができる。
図9に示すように、歯牙情報は、三次元データに対応する複数の歯牙のそれぞれの範囲を特定可能に当該三次元データに関連付けられる。
これにより、ユーザ1は、歯牙情報によって、複数の歯牙のそれぞれの範囲を特定することができるため、ラベリング時の利便性が向上する。
図9に示すように、歯牙情報は、三次元データに対応する歯牙を構成する複数の点のそれぞれに関連付けられる。
これにより、三次元データに対応する歯牙を構成する複数の点のそれぞれに対して歯牙
情報が関連付けられるため、ユーザ1は、歯牙に対して細かく歯牙情報を関連付けることができ、ラベリング時の利便性が向上する。
推定モデルは、歯牙情報および識別部1130による識別結果に加えて、歯牙を有する対象者2に関する属性情報に基づき、学習される。
これにより、ユーザ1は、学習用データに加えて対象者2に関する属性情報に基づいて推定モデル114を学習させることができるため、対象者2の属性情報を考慮した学習済モデルを生成することができる。
図10に示すように、属性情報は、対象者の年齢、性別、人種、身長、体重、および居住地のうちの少なくともいずれか1つの情報を含む。
これにより、ユーザ1は、学習用データに加えて、対象者の年齢、性別、人種、身長、体重、および居住地のうちの少なくともいずれか1つに基づいて推定モデル114を学習させることができるため、これら対象者2のプロファイルを考慮した学習済モデル114aを生成することができる。
スキャナシステム10は、三次元カメラを用いて歯牙を含む三次元データを取得する三次元スキャナ200と、三次元スキャナ200によって取得された歯牙の特徴を含む三次元データに基づき、当該歯牙の種類を識別する識別装置100とを備え、識別装置100は、三次元データが入力される入力部1102と、入力部1102から入力された歯牙の特徴を含む三次元データおよびニューラルネットワーク1142を含む推定モデル114(学習済モデル114a)に基づき、当該歯牙の種類を識別する識別部1130と、識別部1130による識別結果を出力する出力部1103とを含み、推定モデル114は、三次元データに関連付けられた歯牙の種類に対応する歯牙情報と、当該三次元データを用いた当該歯牙の種類の識別結果とに基づき学習される。
これにより、ユーザ1は、歯牙を含む三次元データを、ニューラルネットワーク1142を含む推定モデル114(学習済モデル114a)に入力することで、当該歯牙の種類を識別することができるため、ユーザ自身の知見に頼って歯牙の種類を識別するよりも、精度良く歯牙の種類を識別することができる。
識別方法は、歯牙を含む三次元データが入力されるステップ(S48,S50)と、歯牙の特徴を含む三次元データおよびニューラルネットワーク1142を含む推定モデル114に基づき、当該歯牙の種類を識別するステップ(S52)と、識別するステップによる識別結果を出力するステップ(S54)とを含み、推定モデル114は、三次元データに関連付けられた歯牙の種類に対応する歯牙情報と、当該三次元データを用いた当該歯牙の種類の識別結果とに基づき学習される。
これにより、ユーザ1は、歯牙を含む三次元データを、ニューラルネットワーク1142を含む推定モデル114(学習済モデル114a)に入力することで、当該歯牙の種類を識別することができるため、ユーザ自身の知見に頼って歯牙の種類を識別するよりも、精度良く歯牙の種類を識別することができる。
識別用プログラム120は、演算装置130に、歯牙を含む三次元データが入力されるステップ(S48,S50)と、歯牙の特徴を含む三次元データおよびニューラルネットワーク1142を含む推定モデル114に基づき、当該歯牙の種類を識別するステップ(S52)と、識別するステップによる識別結果を出力するステップ(S54)とを実行させ、推定モデル114は、三次元データに関連付けられた歯牙の種類に対応する歯牙情報
と、当該三次元データを用いた当該歯牙の種類の識別結果とに基づき学習される。
これにより、ユーザ1は、歯牙を含む三次元データを、ニューラルネットワーク1142を含む推定モデル114(学習済モデル114a)に入力することで、当該歯牙の種類を識別することができるため、ユーザ自身の知見に頼って歯牙の種類を識別するよりも、精度良く歯牙の種類を識別することができる。
[変形例]
本発明は、上記の実施例に限られず、さらに種々の変形、応用が可能である。以下、本発明に適用可能な変形例について説明する。
(サービス提供処理時学習処理)
本実施の形態に係る識別装置100は、図13に示すように、サービス提供処理において学習処理を実行するものではないが、図14に示すように、変形例に係る識別装置100aは、サービス提供処理において学習処理を実行するものであってもよい。図14は、変形例に係る識別装置100aが実行するサービス提供処理の一例を説明するためのフローチャートである。なお、図14に示すS42〜S54の処理は、図13に示すS42〜S54の処理と同じであるため、図14においては、S56以降の処理についてのみ説明する。
図14に示すように、識別装置100aは、S42〜S54の処理によって識別結果を出力した後、サービス提供時学習処理を実行する。具体的には、識別装置100aは、S54の後、誤り訂正のための正解データが入力されたか否かを判定する(S56)。たとえば、識別装置100aは、S54において出力された識別結果である歯牙の種類が、実際にスキャン対象であった歯牙の種類と異なる場合において、実際にスキャン対象であった歯牙の種類をユーザ1が入力することで誤りを訂正したか否かを判定する。
識別装置100aは、誤り訂正のための正解データが入力されなかった場合(S56でNO)、本処理を終了する。一方、識別装置100aは、誤り訂正のための正解データが入力された場合(S56でYES)、識別結果と正解データとに基づき報酬を付与する(S58)。
たとえば、識別結果と正解データとの解離度が小さければ小さいほど、付与する報酬として値の小さいマイナスポイントを与え、両者の解離度が大きければ大きいほど、付与する報酬として値の大きいマイナスポイントを与えればよい。具体的には、識別装置100aは、識別結果として出力した歯牙と、正解データとして入力された歯牙とが隣接していれば、値の小さいマイナスポイントを与え、両者が離れていれば、値の大きいマイナスポイントを与える。このように、識別装置100aは、識別結果と正解データとの解離度に応じて異なる値の報酬を付与する。なお、報酬はマイナスポイントに限らず、プラスポイントであってもよい。
識別装置100aは、付与した報酬に基づき、学習済モデル114aのパラメータ1144を更新する(S60)。たとえば、識別装置100aは、報酬として付与したマイナスポイントが0に近づくように学習済モデル114aのパラメータ1144を更新する。その後、識別装置100aは、本処理を終了する。
このように、変形例に係る識別装置100aは、サービス提供処理においても学習処理を実行するため、ユーザ1が使用すればするほど識別処理の精度が向上し、より精度良く歯牙の種類を識別することができる。
(カテゴリごとの学習済モデルの生成)
本実施の形態に係る識別装置100は、図10に示すように、カテゴリごとに分類された複数の学習用データセット116a〜116oが含まれる学習用データセット群を用いて推定モデル114を学習させることで、1つの学習済モデル114aを生成するものであったが、図15に示すように、変形例に係る識別装置100bは、カテゴリごとに分類された複数の学習用データセットのそれぞれをカテゴリごとに用いて推定モデル114を学習させることで、カテゴリごとの学習済モデルを生成してもよい。図15は、変形例に係る学習用データセットに基づく学習済モデルの生成を説明するための模式図である。
図15に示すように、学習用データセット116は、当該学習用データセット116を生成する際にスキャン対象となった対象者2のプロファイルに基づきカテゴリごとに分類されて保持される。たとえば、年齢(未成年者,現役世代,高齢者)、および性別(男性,女性)に基づき、6個のカテゴリに対して、学習用データセットが割り当てられる。
識別装置100bは、カテゴリごとに分類された複数の学習用データセット116p〜116uのそれぞれをカテゴリごとに用いて推定モデル114を学習させることで、カテゴリごとの学習済モデル114p〜114uを生成する。
このように、変形例に係る識別装置100bは、カテゴリごとに分類された複数の学習済モデル114p〜114uを生成することができるため、対象者2のプロファイルに応じたより詳細な分析によって、より精度良く歯牙の種類を識別することができる。
なお、図15に示す学習済モデル114p〜114uの生成は、サーバ装置500が保持する学習済モデル514aの生成についても適用可能である。たとえば、図15に示す学習用データセット116p〜116uを、サーバ装置500が保持する学習用データセット516に適用してもよいし、図15に示す学習済モデル114p〜114uを、サーバ装置500が保持する学習済モデル514aに適用してもよい。
(カテゴリごとの学習済モデルを用いたサービス提供処理)
図16を参照しながら、カテゴリごとの学習済モデル114p〜114uを用いて識別装置100が実行するサービス提供処理について説明する。図16は、変形例に係る識別装置100bが実行するサービス提供処理の一例を説明するためのフローチャートである。図16に示す各ステップは、識別装置100bの演算装置130がOS127および識別用プログラム120を実行することで実現される。
図16に示すように、識別装置100bは、サービス提供処理の開始条件が成立したか否かを判定する(S142)。開始条件は、図13で示した開始条件と同じであるため、その説明を省略する。
識別装置100bは、開始条件が成立していない場合(S142でNO)、本処理を終了する。一方、識別装置100bは、開始条件が成立した場合(S142でYES)、三次元データを取得したか否かを判定する(S144)。たとえば、識別装置100bは、識別処理を実行するのに十分な量の三次元データを取得したか否かを判定する。識別装置100bは、十分な量の三次元データを取得していない場合(S144でNO)、S144の処理を繰り返す。
一方、識別装置100bは、十分な量の三次元データを取得した場合(S144でYES)、ユーザ1によって入力された対象者2のプロファイルデータを取得する(S146)。その後、識別装置100bは、図15に示す学習済モデル群の中からプロファイルデータに対応する学習済モデルを選択する(S148)。たとえば、対象者2が高齢者の女
性であれば、識別装置100bは、学習済モデル114uを選択する。
その後、識別装置100bは、三次元データ(位置情報)を学習済モデルに入力する(S150)。識別装置100bは、三次元データに対応する歯牙の特徴に基づき、学習済モデルを用いて当該歯牙の種類を識別する識別処理を実行する(S152)。
その後、識別装置100bは、識別処理によって得られた識別結果を、ディスプレイ300、スピーカ400、およびサーバ装置500などに出力し(S154)、本処理を終了する。
このように、変形例に係る識別装置100bは、対象者2のプロファイルに最も適した学習済モデルを用いて識別処理を実行することができるため、対象者2のプロファイルに応じたより詳細な分析によって、より精度良く歯牙の種類を識別することができる。
(プロファイルの出力)
本実施の形態に係る識別装置100は、識別処理によって、歯牙の種類を識別するものであった。しかし、図10および図15に示すように、対象者2のプロファイルを考慮した学習用データセットに基づき学習済モデルが生成されることに鑑みると、識別処理において三次元データが学習済モデルに入力されることで、当該三次元データに対応する歯牙の特徴に基づき、当該歯牙の所有者のプロファイルが識別結果として出力されてもよい。このようにすれば、災害や事件などで発見された身元不明の対象者2について、歯牙を含む三次元データからプロファイルを特定することができる。
(学習処理)
本実施の形態に係る識別装置100は、学習処理によって推定モデル114のパラメータ1144を更新するものであったが、パラメータ1144を更新するものに限らず、学習処理によってニューラルネットワーク1142が更新される(たとえば、ニューラルネットワーク1142のアルゴリズムが更新される)ものであってもよい。また、本実施の形態に係るサーバ装置500は、学習処理によって推定モデル514のパラメータを更新するものであったが、パラメータを更新するものに限らず、学習処理によってニューラルネットワークが更新される(たとえば、ニューラルネットワークのアルゴリズムが更新される)ものであってもよい。
(法線および/または色情報を用いた識別)
図17は、変形例に係る学習用データセットの一例を説明するための模式図である。変形例に係る識別装置100cは、三次元スキャナ200によって取得された三次元データに含まれる位置情報に加えて、歯牙の実際の色情報を推定モデル114に入力することで、推定モデル114を学習してもよい。
たとえば、図9を用いて説明したように、学習用データセットには、推定モデル114に対する入力データである位置情報と、正解データである歯牙の種類に対応付けられた色分け後の色情報とが含まれているが、これに加えて、図17に示すように、色分け前の歯牙の色情報が含まれてもよい。そして、学習処理においては、推定モデル114に対して位置情報に加えて色分け前の歯牙の色情報が入力されることで、歯牙の実際の色情報も考慮して、学習済モデル114aが生成されてもよい。
さらに、学習用データセットには、推定モデル114に対する入力データである位置情報と、正解データである歯牙の種類に対応付けられた色分け後の色情報とに加えて、図17に示すように、位置情報に基づき算出可能な法線情報が含まれてもよい。そして、学習処理においては、推定モデル114に対して位置情報に加えて法線情報が入力されること
で、法線情報も考慮して、学習済モデル114aが生成されてもよい。
法線情報は、たとえば、以下のようにして算出することができる。たとえば、歯牙を構成する複数の点のうち、一の点に注目し、その注目点の近傍の所定範囲内に属する複数の点に基づいて、注目点の法線を生成する。具体的には、注目点の法線は、注目点の近傍の所定範囲内に属する複数の点に対し、主成分分析を用いて生成することができる。主成分分析は、一般的に、分散共分散行列を計算することで実施することができる。この分散共分散行列の計算において固有ベクトルを計算し、主成分方向を注目点の法線として生成すればよい。なお、点群におけるある点に対する法線の生成方法は公知であるため、一般的に知られているその他の技術を用いてもよい。
このように、学習用データセットに法線情報を加えることで、歯牙を構成する複数の点のそれぞれにおいて、各点が構成する歯牙のどちら側が表面なのかについても識別装置が学習することができる。また、注目点の近傍の所定範囲内に属する少数の点群のみに基づいて窪みなどの形状の特徴を識別装置が学習することができる。
なお、学習用データセットには、色分け前の歯牙の色情報と法線情報との両方が含まれてもよいし、一方のみが含まれてもよい。
次に、色分け前の歯牙の色情報および法線情報を含む学習用データセットに基づき学習された学習済モデルを用いて識別処理を実行するサービス提供処理について、図18を参照しながら説明する。図18は、変形例に係る識別装置100cが実行するサービス提供処理の一例を説明するためのフローチャートである。
図18に示すように、変形例に係る識別装置100cは、図13に示した識別装置100が実行するサービス提供処理と異なり、S245の処理を追加で実行する。すなわち、識別装置100cは、三次元データが入力された後(S44でYES)、入力された三次元データに含まれる位置情報に基づき、歯牙を構成する複数の点における法線を生成する(S245)。なお、入力された三次元データには、位置情報に加えて色分け前の歯牙の色情報が含まれている。
その後、識別装置100cは、プロファイルデータが入力されていないと判定した場合(S46でNO)、三次元データ(位置情報,色情報)に加えて法線情報を学習済モデル114aに入力する(S248)。一方、識別装置100cは、プロファイルデータが入力されたと判定した場合(S46でYES)、三次元データ(位置情報,色情報)およびプロファイルデータに加えて法線情報を学習済モデル114aに入力する(S250)。そして、S248およびS250の後、識別装置100cは、学習済モデルを用いて歯牙の種類を識別する識別処理を実行する(S52)。
このように、変形例に係る識別装置100cは、色分け前の歯牙の色情報、および三次元データに対応する歯牙を構成する複数の点のそれぞれについて生成された法線にさらに基づき、歯牙の種類を識別してもよい。なお、識別装置100cには、色分け前の歯牙の色情報が入力される一方で、法線情報が入力されない場合であってもよい。あるいは、識別装置100cには、法線情報が入力される一方で、色分け前の歯牙の色情報が入力されない場合であってもよい。
このように、識別装置100cは、色分け前の歯牙の色情報、および/または複数の点のそれぞれについて生成された法線に基づき歯牙の種類を識別することができるため、より精度良く歯牙の種類を識別することができる。
今回開示された実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなく特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内での全ての変更が含まれることが意図される。なお、本実施の形態で例示された構成および変形例で例示された構成は、適宜組み合わせることができる。