(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2024-09-02
(45)【発行日】2024-09-10
(54)【発明の名称】プログラム、情報処理方法、及び情報処理装置
(51)【国際特許分類】
G06T 7/00 20170101AFI20240903BHJP
G06T 7/11 20170101ALI20240903BHJP
B23Q 17/09 20060101ALN20240903BHJP
【FI】
G06T7/00 350B
G06T7/11
G06T7/00 610
B23Q17/09 Z
(21)【出願番号】P 2023580606
(86)(22)【出願日】2023-12-26
(86)【国際出願番号】 JP2023046539
【審査請求日】2023-12-27
(31)【優先権主張番号】P 2023090174
(32)【優先日】2023-05-31
(33)【優先権主張国・地域又は機関】JP
【早期審査対象出願】
(73)【特許権者】
【識別番号】593099702
【氏名又は名称】株式会社両備システムズ
(73)【特許権者】
【識別番号】592071679
【氏名又は名称】モリマシナリー株式会社
(74)【代理人】
【識別番号】100114557
【氏名又は名称】河野 英仁
(74)【代理人】
【識別番号】100078868
【氏名又は名称】河野 登夫
(72)【発明者】
【氏名】木原 洋士
(72)【発明者】
【氏名】藤本 寛之
(72)【発明者】
【氏名】岩本 光史
【審査官】中川 康文
(56)【参考文献】
【文献】特開平11-285910(JP,A)
【文献】特開2022-143752(JP,A)
【文献】特開2022-029120(JP,A)
【文献】特開2021-109289(JP,A)
【文献】特開2021-070114(JP,A)
【文献】特開2018-132962(JP,A)
【文献】特開2012-125901(JP,A)
【文献】特開2011-206899(JP,A)
【文献】特開2008-292429(JP,A)
【文献】特開平11-267949(JP,A)
【文献】特開平03-287347(JP,A)
【文献】特許第7099646(JP,B2)
【文献】韓国公開特許第10-2022-0102700(KR,A)
【文献】中国特許出願公開第116787224(CN,A)
【文献】中国特許出願公開第114714145(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
B23Q 17/00-23/00
G05B 19/18-19/416
B23Q 15/00-15/28
G06T 7/00-7/90
(57)【特許請求の範囲】
【請求項1】
切削工具に設けられた刃部を複数の撮影方向から撮影した複数の撮影画像を取得し、
取得した前記撮影画像における撮影方向を特定し、
前記撮影方向毎に用意された、切削工具の刃部の撮影画像を入力した場合に、前記刃部の劣化状態に関する情報を出力するように学習済みの学習モデルから、特定した撮影方向に応じた学習モデルを選択し、
選択した学習モデルに、取得した前記撮影画像を入力して、前記撮影画像中の切削工具の刃部の劣化状態に関する情報を取得し、
複数の撮影方向のそれぞれについて取得した前記劣化状態に関する情報に基づいて、前記刃部の劣化状態を判定する処理であって、
前記刃部は複数の刃を有しており、
前記撮影画像は、それぞれの刃について前記複数の撮影方向から撮影した複数の撮影画像を含み、前記複数の撮影画像は、前記刃部の各刃の側面の撮影画像を含み、前記側面の撮影画像は、前記刃のすくい面にピントを合わせて撮影された画像と、前記刃の逃げ面にピントを合わせて撮影された画像とを含み、
前記学習モデルは、前記刃のすくい面にピントを合わせた撮影画像用の学習モデル、及び、前記刃の逃げ面にピントを合わせた撮影画像用の学習モデルを含み、前記学習モデルが出力する前記劣化状態に関する情報は、入力された前記撮影画像中の劣化状態である刃の領域を示す情報を含み、
前記刃のすくい面にピントを合わせて撮影された画像と、前記刃の逃げ面にピントを合わせて撮影された画像とをそれぞれ、前記刃のすくい面にピントを合わせた撮影画像用の学習モデル、又は、前記刃の逃げ面にピントを合わせた撮影画像用の学習モデルに入力して前記刃の劣化状態に関する情報を取得し、
前記刃のすくい面にピントを合わせた撮影画像を、前記刃のすくい面にピントを合わせた撮影画像用の学習モデルに入力して取得した前記撮影画像中の劣化状態の刃の領域が、前記撮影画像中の所定領域外にある場合に、前記刃を劣化状態の刃と判定しない
処理をコンピュータに実行させるプログラム。
【請求項2】
切削工具に設けられた刃部を撮影した撮影画像を取得し、
切削工具の刃部の撮影画像を入力した場合に、前記刃部の劣化状態に関する情報を出力するように学習済みの学習モデルに、取得した前記撮影画像を入力して、前記撮影画像中の切削工具の刃部の劣化状態に関する情報を取得し、
前記劣化状態に関する情報は、入力された前記撮影画像中の劣化状態である刃の領域を示すバウンディングボックスを含み、
前記バウンディングボックスにおける1つの対角線の中点を通り前記対角線に交差する線分を特定し、
特定した線分と、前記劣化状態である刃の領域の輪郭線との2つの交点間の距離を、前記劣化状態である刃の領域のサイズとして算出する
処理をコンピュータに実行させるプログラム。
【請求項3】
切削工具に設けられた刃部を撮影した撮影画像を取得し、
切削工具の刃部の撮影画像を入力した場合に、前記刃部の劣化状態に関する情報を出力するように学習済みの学習モデルに、取得した前記撮影画像を入力して、前記撮影画像中の切削工具の刃部の劣化状態に関する情報を取得し、
前記劣化状態に関する情報は、入力された前記撮影画像中の劣化状態である刃の領域を示すバウンディングボックスを含み、
前記バウンディングボックス内の前記劣化状態である刃の領域に基づいて、前記刃の劣化前の形状を推定し、
推定した劣化前の形状と、前記劣化状態である刃の領域との差分を、前記劣化状態である刃の領域のサイズとして算出する
処理をコンピュータに実行させるプログラム。
【請求項4】
取得した前記撮影画像に基づいて、前記撮影画像中の刃の位置を特定し、
特定した前記刃の位置が、前記切削工具に対して予め登録してある位置に合致するか否かを判断し、
合致しないと判断した場合、前記撮影画像中の刃の位置が前記予め登録してある位置に近づくように、前記切削工具に対する撮影位置を変更する
処理を
前記コンピュータに実行させる
請求項1~3のいずれか1つに記載のプログラム。
【請求項5】
前記劣化状態に関する情報は、入力された前記撮影画像中の劣化状態である刃部の領域と、該刃部の領域が劣化状態である可能性とを含み、
前記切削工具の種類に応じて、前記学習モデルから取得した前記劣化状態に関する情報に含まれる前記可能性に基づいて前記刃部が劣化状態であると判別するための閾値を取得し、
前記学習モデルから取得した前記劣化状態に関する情報に含まれる前記可能性が、取得した前記閾値以上であるか否かに応じて、前記刃部が劣化状態であるか否かを判別する
処理を
前記コンピュータに実行させる
請求項1~3のいずれか1つに記載のプログラム。
【請求項6】
前記撮影画像は、前記刃部を複数の撮影方向から撮影した複数の撮影画像を含み、
前記学習モデルは、撮影方向毎に学習済みの複数の学習モデルを含み、
取得した前記撮影画像における撮影方向を特定し、
特定した撮影方向に応じた学習モデルを選択し、
選択した学習モデルに、取得した前記撮影画像を入力して前記撮影画像中の刃部の劣化状態に関する情報を取得し、
複数の撮影方向のそれぞれについて取得した前記劣化状態に関する情報に基づいて、前記刃部の劣化状態を判定する
処理を前記コンピュータに実行させる請求項2
又は3に記載のプログラム。
【請求項7】
前記刃部は複数の刃を有しており、
前記撮影画像は、それぞれの刃について前記複数の撮影方向から撮影した複数の撮影画像を含み、
前記撮影画像は、前記刃部の先端面の撮影画像と、前記刃部の各刃の先端面の撮影画像とを含み、
前記刃部の先端面の撮影画像及び各刃の先端面の撮影画像をそれぞれ、前記先端面の撮影方向に応じた学習モデルに入力して前記刃部又は各刃の劣化状態に関する情報を取得する
処理を前記コンピュータに実行させる請求項6に記載のプログラム。
【請求項8】
前記劣化状態に関する情報は、入力された前記撮影画像中の劣化状態である刃部の領域と、該刃部が複数種類の劣化状態のいずれであるかを示す情報とを含み、
入力された前記撮影画像における劣化状態である刃部の領域を、劣化状態の種類に応じた態様で表示する画面を出力する
処理を前記コンピュータに実行させる請求項1~
3のいずれか1つに記載のプログラム。
【請求項9】
取得した前記撮影画像に基づいて、前記撮影画像の所定領域にピントが合っているか否かを判定し、
ピントが合っていないと判定した場合、前記切削工具に対する撮影位置の変更、又は、ピント調整を行う
処理を前記コンピュータに実行させる請求項1~
3のいずれか1つに記載のプログラム。
【請求項10】
切削工具に設けられた刃部を撮影した撮影画像を取得し、
切削工具の刃部の撮影画像を入力した場合に、前記刃部の劣化状態に関する情報を出力するように学習済みの学習モデルに、取得した前記撮影画像を入力して、前記撮影画像中の切削工具の刃部の劣化状態に関する情報を取得する処理であって、
前記撮影画像は、前記刃部を複数の撮影方向から撮影した複数の撮影画像を含み、
前記学習モデルは、撮影方向毎に学習済みの複数の学習モデルを含み、
取得した前記複数の撮影画像のそれぞれについて
前記撮影画像における撮影方向を特定し、
特定した撮影方向に応じた学習モデルを選択し、
選択した学習モデルに、取得した前記撮影画像を入力して前記撮影画像中の刃部の劣化状態に関する情報を取得し、
前記複数の撮影画像のそれぞれについて取得した前記劣化状態に関する情報に基づいて、前記刃部の劣化状態の総合判定結果を取得する
処理をコンピュータに実行させるプログラム。
【請求項11】
切削工具に設けられた刃部を複数の撮影方向から撮影した複数の撮影画像を取得し、
取得した前記撮影画像における撮影方向を特定し、
前記撮影方向毎に用意された、切削工具の刃部の撮影画像を入力した場合に、前記刃部の劣化状態に関する情報を出力するように学習済みの学習モデルから、特定した撮影方向に応じた学習モデルを選択し、
選択した学習モデルに、取得した前記撮影画像を入力して、前記撮影画像中の切削工具の刃部の劣化状態に関する情報を取得し、
複数の撮影方向のそれぞれについて取得した前記劣化状態に関する情報に基づいて、前記刃部の劣化状態を判定する処理であって、
前記刃部は複数の刃を有しており、
前記撮影画像は、それぞれの刃について前記複数の撮影方向から撮影した複数の撮影画像を含み、前記複数の撮影画像は、前記刃部の各刃の側面の撮影画像を含み、前記側面の撮影画像は、前記刃のすくい面にピントを合わせて撮影された画像と、前記刃の逃げ面にピントを合わせて撮影された画像とを含み、
前記学習モデルは、前記刃のすくい面にピントを合わせた撮影画像用の学習モデル、及び、前記刃の逃げ面にピントを合わせた撮影画像用の学習モデルを含み、前記学習モデルが出力する前記劣化状態に関する情報は、入力された前記撮影画像中の劣化状態である刃の領域を示す情報を含み、
前記刃のすくい面にピントを合わせて撮影された画像と、前記刃の逃げ面にピントを合わせて撮影された画像とをそれぞれ、前記刃のすくい面にピントを合わせた撮影画像用の学習モデル、又は、前記刃の逃げ面にピントを合わせた撮影画像用の学習モデルに入力して前記刃の劣化状態に関する情報を取得し、
前記刃のすくい面にピントを合わせた撮影画像を、前記刃のすくい面にピントを合わせた撮影画像用の学習モデルに入力して取得した前記撮影画像中の劣化状態の刃の領域が、前記撮影画像中の所定領域外にある場合に、前記刃を劣化状態の刃と判定しない
処理をコンピュータが実行する情報処理方法。
【請求項12】
切削工具に設けられた刃部を撮影した撮影画像を取得し、
切削工具の刃部の撮影画像を入力した場合に、前記刃部の劣化状態に関する情報を出力するように学習済みの学習モデルに、取得した前記撮影画像を入力して、前記撮影画像中の切削工具の刃部の劣化状態に関する情報を取得し、
前記劣化状態に関する情報は、入力された前記撮影画像中の劣化状態である刃の領域を示すバウンディングボックスを含み、
前記バウンディングボックスにおける1つの対角線の中点を通り前記対角線に交差する線分を特定し、
特定した線分と、前記劣化状態である刃の領域の輪郭線との2つの交点間の距離を、前記劣化状態である刃の領域のサイズとして算出する
処理をコンピュータが実行する情報処理方法。
【請求項13】
切削工具に設けられた刃部を撮影した撮影画像を取得し、
切削工具の刃部の撮影画像を入力した場合に、前記刃部の劣化状態に関する情報を出力するように学習済みの学習モデルに、取得した前記撮影画像を入力して、前記撮影画像中の切削工具の刃部の劣化状態に関する情報を取得し、
前記劣化状態に関する情報は、入力された前記撮影画像中の劣化状態である刃の領域を示すバウンディングボックスを含み、
前記バウンディングボックス内の前記劣化状態である刃の領域に基づいて、前記刃の劣化前の形状を推定し、
推定した劣化前の形状と、前記劣化状態である刃の領域との差分を、前記劣化状態である刃の領域のサイズとして算出する
処理をコンピュータが実行する情報処理方法。
【請求項14】
取得した前記撮影画像に基づいて、前記撮影画像中の刃の位置を特定し、
特定した前記刃の位置が、前記切削工具に対して予め登録してある位置に合致するか否かを判断し、
合致しないと判断した場合、前記撮影画像中の刃の位置が前記予め登録してある位置に近づくように、前記切削工具に対する撮影位置を変更する
処理を
前記コンピュータが実行する
請求項11~13のいずれか1つに記載の情報処理方法。
【請求項15】
前記劣化状態に関する情報は、入力された前記撮影画像中の劣化状態である刃部の領域と、該刃部の領域が劣化状態である可能性とを含み、
前記切削工具の種類に応じて、前記学習モデルから取得した前記劣化状態に関する情報に含まれる前記可能性に基づいて前記刃部が劣化状態であると判別するための閾値を取得し、
前記学習モデルから取得した前記劣化状態に関する情報に含まれる前記可能性が、取得した前記閾値以上であるか否かに応じて、前記刃部が劣化状態であるか否かを判別する
処理を
前記コンピュータが実行する
請求項11~13のいずれか1つに記載の情報処理方法。
【請求項16】
制御部を有する情報処理装置であって、
前記制御部は、
切削工具に設けられた刃部を複数の撮影方向から撮影した複数の撮影画像を取得し、
取得した前記撮影画像における撮影方向を特定し、
前記撮影方向毎に用意された、切削工具の刃部の撮影画像を入力した場合に、前記刃部の劣化状態に関する情報を出力するように学習済みの学習モデルから、特定した撮影方向に応じた学習モデルを選択し、
選択した学習モデルに、取得した前記撮影画像を入力して、前記撮影画像中の切削工具の刃部の劣化状態に関する情報を取得し、
複数の撮影方向のそれぞれについて取得した前記劣化状態に関する情報に基づいて、前記刃部の劣化状態を判定する処理であって、
前記刃部は複数の刃を有しており、
前記撮影画像は、それぞれの刃について前記複数の撮影方向から撮影した複数の撮影画像を含み、前記複数の撮影画像は、前記刃部の各刃の側面の撮影画像を含み、前記側面の撮影画像は、前記刃のすくい面にピントを合わせて撮影された画像と、前記刃の逃げ面にピントを合わせて撮影された画像とを含み、
前記学習モデルは、前記刃のすくい面にピントを合わせた撮影画像用の学習モデル、及び、前記刃の逃げ面にピントを合わせた撮影画像用の学習モデルを含み、前記学習モデルが出力する前記劣化状態に関する情報は、入力された前記撮影画像中の劣化状態である刃の領域を示す情報を含み、
前記刃のすくい面にピントを合わせて撮影された画像と、前記刃の逃げ面にピントを合わせて撮影された画像とをそれぞれ、前記刃のすくい面にピントを合わせた撮影画像用の学習モデル、又は、前記刃の逃げ面にピントを合わせた撮影画像用の学習モデルに入力して前記刃の劣化状態に関する情報を取得し、
前記刃のすくい面にピントを合わせた撮影画像を、前記刃のすくい面にピントを合わせた撮影画像用の学習モデルに入力して取得した前記撮影画像中の劣化状態の刃の領域が、前記撮影画像中の所定領域外にある場合に、前記刃を劣化状態の刃と判定しない処理
を実行する情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラム、情報処理方法、及び情報処理装置に関する。
【背景技術】
【0002】
製造業の加工現場では、加工工程に用いられる工具の管理が重要な作業である。例えば切削加工に用いられる切削工具では、刃先の欠損状態及び摩耗状態が、加工精度に影響を与えるので、刃先の劣化状態を適切に判断し、必要に応じて新しいものに交換する作業が行われている。現状では、熟練工が切削工具の刃先の劣化状態を目視で確認し、新しいものへの交換が必要であるか否かを判断している現場が多い。また、特許文献1では、切削加工後の工具の刃先を角度を変えて撮影し、画像処理で分析することで、工具の摩耗状態を解析する技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1の開示技術では、工具の周りを1回転する間に複数枚の画像ファイルを撮影し、各画像ファイルを二値化処理した画像から摩耗領域を検出し、検出した摩耗領域から摩耗量が計測される。特許文献1では、摩耗部分はコーティングがはがれて内部の金属がむき出しとなり白く光ることを利用して、二値化した画像中の白い部分を摩耗領域として検出している。しかし、工具によっては、適切に摩耗領域を検出できない場合が生じる。
【0005】
一つの側面では、工具の劣化状態を精度よく検出することが可能なプログラム等を提供することを目的とする。
【課題を解決するための手段】
【0006】
一つの側面に係るプログラムは、切削工具に設けられた刃部を撮影した撮影画像を取得し、切削工具の刃部の撮影画像を入力した場合に、前記刃部の劣化状態に関する情報を出力するように学習済みの学習モデルに、取得した前記撮影画像を入力して、前記撮影画像中の切削工具の刃部の劣化状態に関する情報を取得する処理をコンピュータに実行させる。
【発明の効果】
【0007】
一つの側面では、工具の劣化状態を精度よく検出することができる。
【図面の簡単な説明】
【0008】
【
図1】工具管理システムの構成例を示すブロック図である。
【
図2A】撮影対象の工具の外観例を示す説明図である。
【
図2B】撮影対象の工具の外観例を示す説明図である。
【
図4】工具DBのレコードレイアウトの一例を示す説明図である。
【
図5A】上面用モデルの構成例を示す説明図である。
【
図5B】斜め用モデルの構成例を示す説明図である。
【
図5C】外周用モデルの構成例を示す説明図である。
【
図5D】すくい面用モデルの構成例を示す説明図である。
【
図6】劣化状態の判定処理手順の一例を示すフローチャートである。
【
図7】劣化状態の判定処理手順の一例を示すフローチャートである。
【
図11】撮影条件DBのレコードレイアウトの一例を示す説明図である。
【
図12】撮影装置による撮影処理手順の一例を示すフローチャートである。
【
図13】実施形態3の撮影装置による撮影処理手順の一例を示すフローチャートである。
【
図15】撮影条件の登録処理手順の一例を示すフローチャートである。
【
図17】劣化領域の推定処理手順の一例を示すフローチャートである。
【
図18A】劣化領域のサイズ推定処理の説明図である。
【
図18B】劣化領域のサイズ推定処理の説明図である。
【
図19】判別閾値DBのレコードレイアウトの一例を示す説明図である。
【
図20】実施形態6の劣化領域の推定処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【0009】
以下に、本開示のプログラム、情報処理方法、及び情報処理装置について、その実施形態を示す図面を参照して具体的に説明する。以下の実施形態では、切削加工に用いる切削工具であるエンドミルの刃の劣化状態を判定する処理を例に説明するが、判定対象は、エンドミルに限定されず、ドリル、タップ、フライス等の切削工具であってもよく、また、研削加工に用いる研削工具であってもよい。更に、切削工具において、刃先(チップ)がボディ(柄部)から取り外し可能な刃先交換式工具(スローアウェイ工具)を判定対象とすることもできる。なお、刃先交換式工具を判定対象とする場合、刃先の劣化状態の判定に用いる撮影画像は、刃先をボディから取り外した状態で撮影した撮影画像であってもよく、刃先をボディに取り付けた状態で撮影した撮影画像であってもよい。
【0010】
(実施形態1)
図1は工具管理システムの構成例を示すブロック図である。本実施形態では、切削工具に設けられている刃部を撮影装置20で撮影した撮影画像に基づいて、当該刃部の劣化状態を判定する工具管理システムについて説明する。本実施形態の工具管理システムは、工具の刃部を撮影する撮影装置20及びサーバ10を含み、撮影装置20及びサーバ10は通信可能に接続されている。なお、撮影装置20及びサーバ10は、ケーブルを介した有線通信又は無線通信によって直接通信する構成でもよく、ネットワークを介して通信する構成でもよい。ここでのネットワークは、インターネット又は公衆電話回線網であってもよく、撮影装置20及びサーバ10が設けられている施設内に構築されたLAN(Local Area Network)であってもよい。
【0011】
サーバ10は、種々の情報処理及び情報の送受信が可能な情報処理装置であり、サーバコンピュータ又はパーソナルコンピュータ等で構成される。サーバ10は、制御部11、記憶部12、通信部13、入力部14、表示部15、読取部16等を含み、これらの各部はバスを介して相互に接続されている。制御部11は、CPU(Central Processing Unit)、MPU(Micro-Processing Unit)、GPU(Graphics Processing Unit)、GPGPU(General-purpose computing on graphics processing units)、TPU(Tensor Processing Unit)、又はAIチップ(AI用半導体)等の1又は複数のプロセッサを含む。制御部11は、記憶部12に記憶してあるプログラムPを適宜実行することにより、サーバ10が行うべき情報処理及び制御処理を実行する。なお、制御部11が複数のプロセッサを含む場合、制御部11は、各処理を異なるプロセッサによって実行してもよい。
【0012】
記憶部12は、RAM(Random Access Memory)、フラッシュメモリ、ハードディスク、SSD(Solid State Drive)等を含む。記憶部12は、制御部11が実行するプログラムP(プログラム製品)及び各種のデータを記憶している。また記憶部12は、制御部11がプログラムPを実行する際に発生するデータ等を一時的に記憶する。また記憶部12は、例えば機械学習によって訓練データを学習済みの学習モデルを記憶している。学習モデルは、人工知能ソフトウェアを構成するプログラムモジュールとしての利用が想定される。学習モデルは、入力値に対して所定の演算を行い、演算結果を出力するものであり、記憶部12には、この演算を規定する関数の係数や閾値等のデータが学習モデルとして記憶される。本実施形態では、学習モデルとして、後述する上面用モデルM1、斜め用モデルM2、外周用モデルM3、及びすくい面用モデルM4が記憶部12に記憶されている。更に記憶部12は、後述する工具DB12aを記憶している。記憶部12の一部は、サーバ10に接続された他の記憶装置であってもよく、サーバ10が通信可能な他の記憶装置であってもよい。
【0013】
通信部13は、有線通信又は無線通信に関する処理を行うための通信モジュールであり、他の装置との間で情報の送受信を行う。本実施形態では、通信部13は、撮影装置20との間で直接通信する構成でもよく、ネットワークを介して通信する構成でもよい。入力部14は、ユーザによる操作入力を受け付け、操作内容に対応した制御信号を制御部11へ送出する。表示部15は、液晶ディスプレイ又は有機ELディスプレイ等であり、制御部11からの指示に従って各種の情報を表示する。入力部14及び表示部15は一体として構成されたタッチパネルであってもよい。
【0014】
読取部16は、CD(Compact Disc)、DVD(Digital Versatile Disc)、USB(Universal Serial Bus)メモリ、SD(Secure Digital)カード等の可搬型記憶媒体10aに記憶された情報を読み取る。記憶部12に記憶されるプログラムP及び各種のデータは、制御部11が読取部16を介して可搬型記憶媒体10aから読み取って記憶部12に記憶してもよい。また、プログラムP及び各種のデータは、サーバ10の製造段階において記憶部12に書き込まれてもよく、制御部11が通信部13を介して他の装置からダウンロードして記憶部12に記憶してもよい。
【0015】
本実施形態において、サーバ10は複数のコンピュータからなるマルチコンピュータであってもよく、1台の装置内にソフトウェアによって仮想的に構築された仮想マシンであってもよく、クラウドサーバであってもよい。また、サーバ10は、入力部14及び表示部15は必須ではなく、接続されたコンピュータを通じて操作を受け付ける構成でもよく、表示すべき情報を外部の表示装置へ出力する構成でもよい。また、プログラムPは単一のコンピュータ上で実行されてもよく、ネットワークを介して相互に接続された複数のコンピュータ上で実行されてもよい。
【0016】
撮影装置20は、撮影機能を有する情報処理装置であり、制御部21、記憶部22、通信部23、入力部24、表示部25、撮影部26、撮影方向制御部27等を含み、これらの各部はバスを介して接続されている。撮影装置20の制御部21、記憶部22、通信部23、入力部24、及び表示部25のそれぞれは、サーバ10の制御部11、記憶部12、通信部13、入力部14、及び表示部15と同様の構成を有するので、構成についての説明は省略する。
【0017】
撮影部26は、CCD(Charge Coupled Device)又はCMOS(Complementary Metal Oxide Semiconductor)等の撮像素子及びレンズユニットを有する。撮影部26は、所謂産業用カメラであり、例えばモノクロの場合は200万画素(例えば1600画素×1200画素)程度の撮像素子を有し、カラーの場合は1200万画素(4024画素×3036画素×3色)程度の撮像素子を有する高解像度カメラである。また、撮影部26は、LED(Light Emitting Diode)等の光源及び照明用レンズを含む光源部を有しており、光源部によって照射される照明光によって撮影対象の工具を撮影し、撮影画像を取得する。光源部が照射する光は、例えば白色光であるが、緑色光、近赤外光等、所定の波長の光であってもよく、撮影部26が撮影する画像は、カラー画像であっても白黒画像であってもよい。撮影部26は、制御部21からの指示に従って撮影を行い、例えば1枚の画像データ(静止画像)を取得する。撮影部26によって取得された画像データ(撮影画像)は記憶部22に記憶される。
【0018】
図2A及び
図2Bは撮影対象の工具の外観例を示す説明図であり、
図2Aは工具30を横方向から見た側面を示し、
図2Bは工具30の刃部31の先端側(
図2Aでは上方)から見た先端面を示す。本実施形態では、
図2A及び
図2Bに示すようなエンドミルを撮影装置20の撮影対象とする。
図2A及び
図2Bにはスクエアエンドミルの例を示すが、撮影対象は、ボールエンドミル、ラジアスエンドミル、テーパーエンドミル等であってもよい。工具30は、例えば刃部31及びシャンク32(柄部)が一体で構成されており、刃部31には複数の刃31aが設けられている。
図2A及び
図2Bの工具30では4枚の刃31aが設けられているが、2~6枚程度の刃31aが設けられていてもよい。
【0019】
撮影方向制御部27は、制御部21からの指示に従って、撮影対象の工具に対する撮影部26による撮影方向を制御する。
図3A~
図3Cは撮影方向の説明図である。本実施形態では、
図3A~
図3Cに示すように、所定位置に設置された台座に、刃部31を上側に向けた状態の工具30を固定し、工具30の刃部31に対する撮影部26の位置を変化させることにより、複数の撮影方向から工具30の刃部31を撮影する。本実施形態では、
図3Aに示すように刃部31の先端面を上方向から撮影して上面画像を取得し、
図3Bに示すように各刃31aを斜め上方向から撮影して斜め画像を取得し、
図3Cに示すように各刃31aの側面を横方向から撮影して外周画像及びすくい面画像を取得する。上面画像は、全ての刃31aを含む状態で撮影した上面全体画像(刃部31の先端面の撮影画像)と、各刃31aの先端面を個別に撮影した上面個別画像(各刃31aの先端面の撮影画像)とを含む。斜め画像は、例えば工具30の上方を基準として撮影対象の刃31aの先端部を中心に5度~30度程度傾斜させた方向から撮影する。なお、撮影方向の角度は、入力部24を介した操作入力によって変更可能であり、撮影対象の工具30の種類及び刃31aの形状等によって設定される。外周画像は、撮影対象の刃31aの逃げ面(
図3C中の破線で囲んた領域)にピントを合わせて撮影した画像であり、すくい面画像は、撮影対象の刃31aのすくい面(
図3C中の一点鎖線で囲んた領域)にピントを合わせて撮影した画像である。刃31aのすくい面は、切りくずと接する面であり、刃31aの逃げ面は、工具30におけるすくい面の反対側の面である。外周画像及びすくい面画像は、工具30に対して同じ撮影方向から撮影可能であるが、外周画像では、画像中心に撮影される刃31a(
図3C中の破線で囲んだ刃)が撮影対象の刃となり、すくい面画像では、画像左側に撮影される刃31a(
図3C中の一点鎖線で囲んだ刃)が撮影対象の刃となる。
【0020】
台座は、工具30の軸方向(
図3A~
図3Cでは上下方向)を中心として回転するように構成されており、上面個別画像、斜め画像、外周画像、及びすくい面画像を撮影する場合、撮影方向制御部27は、台座を所定角度ずつ回転させる。これにより、工具30の各刃31aを撮影部26の撮影範囲内に移動させることができ、各刃31aに対する撮影を行うことができる。
図3A~
図3Cに示すように撮影対象が4枚刃の工具30である場合、撮影方向制御部27は、台座を90度ずつ回転させる。なお、台座又は台座に設置された工具30を回転させることによって撮影対象の工具30(刃31a)に対する撮影方向を変更するほかに、撮影部26を工具30(刃31a)の周りを移動させることによって撮影対象の刃31aを変更する構成でもよい。
【0021】
上述した構成の工具管理システムにおいて、撮影装置20には、撮影すべき工具に対する撮影方向が予め登録してあり、撮影装置20が1つの工具に対する撮影処理を開始した場合、制御部21は、撮影方向制御部27によって撮影部26による撮影方向を、登録してある撮影方向に順次切り替えながら撮影部26による撮影を実行する。例えば制御部21は、
図3Aに示すように工具の上方から1枚の上面全体画像を撮影し、台座を回転させつつ各刃の上面個別画像を撮影し、次に
図3Bに示すように工具の斜め上から、台座を回転させつつ各刃の斜め画像を撮影し、最後に
図3Cに示すように工具の横方向から、台座を回転させつつ、更にピント調整を行って各刃の外周画像及びすくい面画像を撮影する。これにより、予め登録してある複数の撮影方向から工具の刃部及び各刃を撮影した複数の撮影画像を取得できる。
【0022】
制御部21は、撮影方向制御部27による撮影方向の制御結果によって、撮影部26による撮影で得られた撮影画像について、撮影対象とした刃の情報と、当該刃に対する撮影方向とを特定できる。よって、制御部21は、特定した内容を示す情報を撮影画像に付加する。例えば制御部21は、特定した内容が反映されたファイル名を撮影画像に付与してもよい。これにより、それぞれの撮影画像について、ファイル名によって撮影対象の刃及び撮影方向を把握できる。また制御部21は、撮影を行った日時を撮影日時として、撮影画像に付加してもよい。なお、撮影対象の刃は、例えば台座に固定された工具について所定位置の刃を第1刃とし、台座による工具の回転方向に従って撮影対象となる各刃を第2刃~第4刃としてもよい。また、台座に対して工具が所定の向きで固定される場合、各刃に対する第1刃~第4刃の割り当ては常に同じとなる。撮影装置20は、撮影対象とした刃の情報と当該刃に対する撮影方向とが反映されたファイル名が付与された撮影画像をサーバ10へ送信して登録する。本実施形態のサーバ10は、撮影装置20によって撮影された工具の撮影画像に基づいて、工具の各刃の劣化状態を判定する処理を行う。本実施形態のサーバ10は、工具の撮影画像から、当該撮影画像中の工具の各刃の劣化状態を判定する際にモデルM1~M4を用いる。
【0023】
本実施形態の工具管理システムにおいて、上述した構成を有する撮影装置20は、一般的なツールプリセッタのように、高解像度での撮影が可能な産業用カメラを備え、撮影対象の工具の刃を複数の撮影方向を切り替えて撮影できる装置を用いることができる。
【0024】
図4は工具DB12aのレコードレイアウトの一例を示す説明図である。工具DB12aは、工具管理システムで管理される工具の情報を記憶するデータベースである。工具DB12aは例えば、工具ID列、工具情報列、撮影日時列、撮影対象列、上面画像列、斜め画像列、外周画像列、すくい面画像列、及び総合判定結果列を含み、各工具に固有に割り当てられた工具IDに対応付けて、各工具の情報及び撮影装置20によって撮影された撮影画像を記憶する。工具情報列は、工具に関する情報を記憶し、例えば、工具の種類、メーカ、型番、使用履歴等を含む。撮影日時列は、撮影装置20による撮影を行った日時を記憶する。撮影対象列は、撮影対象の刃の情報を記憶する。撮影対象の刃の情報は、本実施形態では4枚刃の工具30を撮影対象とするので、全体及び第1刃~第4刃を示す情報となる。上面画像列は、撮影日時及び撮影対象に対応付けて、撮影装置20によって撮影された上面画像(上面全体画像及び上面個別画像)の情報を記憶する。具体的には、上面画像列は、原画像列、ラベル画像列、及び判定結果列を含む。原画像列は、撮影装置20によって撮影された原画像である上面画像(上面全体画像及び上面個別画像)を記憶し、ラベル画像列は、原画像(上面画像)に対する劣化領域の判定処理によって得られたラベル画像を記憶する。原画像及びラベル画像の画像データは、工具DB12aに記憶されるほかに、記憶部12の所定領域又はサーバ10に接続された外部記憶装置に記憶されてもよく、この場合、原画像列及びラベル画像列には、原画像及びラベル画像の画像データを読み出すための情報(例えばデータの記憶場所を示すフォルダ名及びファイル名)を記憶する。なお、ラベル画像列には、原画像に対して劣化領域の判定結果を示す情報を付加したラベル画像の代わりに、劣化領域の判定結果を示す情報(モデルM1~M4の出力データであるコンテキスト)を記憶してもよい。判定結果列は、ラベル画像に基づいて劣化領域の有無を判定した判定結果を記憶する。本実施形態では、刃の劣化状態として、摩耗領域及び欠け領域の有無を判定するので、判定結果列には「摩耗」、「欠け」又は「正常」が記憶される。
【0025】
斜め画像列、外周画像列、及びすくい面画像列のそれぞれは、上面画像列と同様に、原画像列、ラベル画像列、及び判定結果列を含み、撮影日時及び撮影対象に対応付けて、撮影装置20によって撮影された斜め画像、外周画像、すくい面画像の情報を記憶する。なお、上面画像の撮影対象は、刃部全体及び第1刃~第4刃であるので、上面画像列には、刃部全体及び第1刃~第4刃を撮影対象とする上面画像の情報(原画像、ラベル画像、及び判定結果)が記憶される。また、斜め画像、外周画像、及びすくい面画像の撮影対象は第1刃~第4刃であるので、斜め画像列、外周画像列、及びすくい面画像列には、第1刃~第4刃を撮影対象とする斜め画像、外周画像、及びすくい面画像の情報が記憶される。総合判定結果列は、撮影日時及び撮影対象に対応付けて、工具の各刃を撮影した各撮影画像に基づく判定結果から総合的に判定した、当該工具の各刃の劣化状態の判定結果を記憶する。工具DB12aは
図4に示す構成に限定されず、工具に関する各種の情報、工具の撮影画像に関する各種の情報が記憶されてもよい。
【0026】
図5Aは上面用モデルM1の構成例を示す説明図、
図5Bは斜め用モデルM2の構成例を示す説明図、
図5Cは外周用モデルM3の構成例を示す説明図、
図5Dはすくい面用モデルM4の構成例を示す説明図である。上面用モデルM1は、工具を撮影した上面画像(上面全体画像及び上面個別画像)を入力とし、入力された上面画像に基づいて、検出対象のオブジェクトとして当該上面画像中の刃の劣化領域を認識する演算を行い、認識結果を出力するように学習してある。検出対象のオブジェクトである刃の劣化領域は、各刃において摩耗している領域、及び欠けている(欠損している)領域を含み、上面用モデルM1は、上面画像中の複数種類のオブジェクト(摩耗領域及び欠け領域)を認識するマルチラベル分類を実現するモデルである。上面用モデルM1は、例えばEfficientDetを用いて構成される。なお、上面用モデルM1は、EfficientDetに限定されず、YOLO(You Only Look Once)、R-CNN(Regions with Convolution Neural Network )、SSD(Single Shot Multibox Detector)等の物体検出アルゴリズムを用いて構成することができ、複数のアルゴリズムを組み合わせて構成してもよい。また、上面用モデルM1は、セマンティックセグメンテーションにより、入力された上面画像中のオブジェクト(摩耗している領域、欠けている領域)を画素単位で認識するモデルであってもよい。この場合、上面用モデルM1は、U-Net、FCN(Fully Convolutional Network )、SegNet等のアルゴリズムを用いて構成することができる。
【0027】
上面用モデルM1は、上面画像が入力される入力層と、入力された上面画像から特徴量を抽出する中間層と、中間層の演算結果を基に上面画像中に検出された刃の劣化領域を示すコンテキストを出力する出力層とを有する。中間層は、各種の関数及び閾値等を用いて、入力層から入力された上面画像に基づいて出力値を算出する。出力層は、検出されたオブジェクトの種類(摩耗領域又は欠け領域)を示す判別ラベルと、検出されたオブジェクト(劣化領域)の領域を示す座標情報と、判別ラベルに対する確信度とを含むコンテキストを出力する。このような構成により、上面用モデルM1は、上面画像が入力された場合に、上面画像中に検出されたオブジェクト(刃の劣化領域)について、オブジェクトの領域を示す座標情報と、オブジェクト名(摩耗又は欠け)と、確信度とを含むコンテキスト(刃部の劣化状態に関する情報)を出力する。よって、上面用モデルM1を用いることにより、上面画像中に検出されたオブジェクト(刃の劣化領域)に、オブジェクトの領域を示すバウンディングボックス(
図5Aでは破線で示す矩形)と、認識結果のオブジェクト名(摩耗又は欠け)と、認識結果に対する確信度とが付加された画像(ラベル画像)を取得することができる。
図5A~
図5Dでは、ラベル画像をモデルM1~M4の出力データとして示している。
【0028】
上面用モデルM1は、訓練用の上面画像(プレーンな上面画像)と、この上面画像中のオブジェクト(劣化領域)の領域を示す座標情報及びオブジェクト名(正解ラベル)を含む正解のコンテキストとを含む訓練データを用いて機械学習することにより生成できる。訓練データは、アノテーションの担当者が上面画像中のオブジェクト(劣化領域)にバウンディングボックス及びオブジェクト名(正解ラベル)を付加した結果から生成されたコンテキスト(正解のコンテキスト)を、当該上面画像に対応付けることにより生成される。
【0029】
上面用モデルM1は、訓練データに含まれる上面画像が入力された場合に、訓練データに含まれる正解のコンテキストを出力するように学習する。学習処理において上面用モデルM1は、入力された上面画像に基づいて中間層及び出力層での演算を行い、出力層から出力するコンテキストを算出する。上面用モデルM1は、算出したコンテキストと、正解のコンテキストとを比較し、両者が近似するように、中間層及び出力層での演算処理に用いるパラメータを最適化する。具体的には、上面用モデルM1は、算出したコンテキストが示す検出されたオブジェクトの領域(劣化領域)、判別ラベル(劣化領域の種類)及び確信度と、正解のコンテキストが示すオブジェクトの領域、及び正解ラベルに応じた値(正解ラベルに対しては1、他のラベルに対しては0)とを比較し、両者が近似するように最適化する。当該パラメータは、中間層及び出力層におけるノード間の重み(結合係数)等であり、パラメータの最適化の方法は、誤差逆伝播法、最急降下法等を用いることができる。これにより、上面画像が入力された場合に、上面画像中の劣化領域及び劣化領域の種類を検出し、検出結果(劣化領域を示す座標情報、劣化領域の種類を示す判別ラベル、及び判別ラベルに対する確信度)を示すコンテキストを出力する上面用モデルM1が得られる。
【0030】
上面用モデルM1は、上述したような訓練データを用いた学習処理を繰り返し行うことにより更に最適化することが可能である。また、工具及び工具の刃部は複数種類あり、1又は複数種類の工具の上面画像の訓練データを用いて学習済みの上面用モデルM1に対して、他の種類の工具の上面画像の訓練データを用いて上述した学習処理によってファインチューニングすることにより、各種類の工具用の上面用モデルM1を生成することができる。
【0031】
斜め用モデルM2、外周用モデルM3、及びすくい面用モデルM4は、上面用モデルM1と同様の構成を有し、同様の学習処理によって生成される。なお、斜め用モデルM2は、工具を撮影した斜め画像を入力とし、入力された斜め画像に基づいて、当該斜め画像中の刃の劣化領域(検出対象のオブジェクト)を認識する演算を行い、認識結果を出力するように学習してある。外周用モデルM3は、工具を撮影した外周画像を入力とし、入力された外周画像に基づいて、当該外周画像中の刃の劣化領域(検出対象のオブジェクト)を認識する演算を行い、認識結果を出力するように学習してある。すくい面用モデルM4は、工具を撮影したすくい面画像を入力とし、入力されたすくい面画像に基づいて、当該すくい面画像中の刃の劣化領域(検出対象のオブジェクト)を認識する演算を行い、認識結果を出力するように学習してある。斜め用モデルM2、外周用モデルM3、及びすくい面用モデルM4も、複数種類のオブジェクト(摩耗領域及び欠け領域)を認識するマルチラベル分類を実現するモデルである。
【0032】
上述した構成のモデルM1~M4の学習は他の学習装置で行われてもよい。他の学習装置で学習が行われて生成された学習済みのモデルM1~M4は、例えばネットワーク経由又は可搬型記憶媒体10a経由で学習装置からサーバ10にダウンロードされて記憶部12に記憶される。
【0033】
以下に、本実施形態の工具管理システムにおいて、撮影装置20によって撮影された工具の撮影画像に基づいて、工具の刃部の劣化状態を判定する処理について説明する。
図6及び
図7は劣化状態の判定処理手順の一例を示すフローチャート、
図8は画面例を示す説明図である。以下の処理は、サーバ10の制御部11が、記憶部12に記憶してあるプログラムPに従って実行する。なお、
図7に示す劣化領域の推定処理は、
図6中のステップS16の処理である。
【0034】
サーバ10の制御部11は、1つの工具に対して、
図3A~
図3Cに示した撮影方向のうちの少なくとも1つの方向から撮影した撮影画像を取得する(S11)。例えば制御部11は、1つの工具に対して、1枚の上面全体画像と、各刃について撮影された上面個別画像、斜め画像、外周画像、及びすくい面画像とを撮影装置20から取得する。なお、制御部11は、撮影対象の工具に応じた撮影方向から撮影された撮影画像を取得する。撮影装置20は、入力部24を介したユーザからの指示に従って工具の撮影を開始してもよく、通信部23を介したサーバ10からの指示に従って工具の撮影を開始してもよく、撮影装置20の所定位置に工具が取り付けられることにより自動的に工具の撮影を開始してもよい。また、撮影装置20によって撮影された画像は、一旦別のサーバ又は記憶装置に記憶される構成でもよく、この場合、制御部11は、別のサーバ又は記憶装置から撮影画像を取得する。制御部11は、取得した撮影画像を記憶部12に記憶しておく。
【0035】
制御部11は、撮影画像と共に、当該撮影画像の撮影日時を取得しており、取得した撮影日時を、撮影対象の工具の工具IDに対応付けて工具DB12aに記憶する(S12)。なお、制御部11は、撮影画像と共に撮影日時を取得できない場合、この時点の日時を撮影日時として工具DB12aに記憶してもよい。
【0036】
制御部11は、取得した撮影画像のうちの1つを記憶部12から読み出す(S13)。制御部11は、読み出した撮影画像について、撮影対象の刃及び撮影方向を特定する(S14)。ここでは、撮影画像のファイル名に、撮影対象の刃の情報と当該刃に対する撮影方向とが含まれる場合、制御部11は、ファイル名から、当該撮影画像における撮影対象の刃と撮影方向とを特定する。なお、撮影画像のファイル名に、撮影対象の刃の情報と当該刃に対する撮影方向とが含まれていない場合、制御部11は、撮影画像に基づいて、当該撮影画像の撮影対象の刃と撮影方向とを特定してもよい。撮影対象の刃は、例えば上面個別画像が4枚ある場合、制御部11は、それぞれの画像の撮影対象を第1刃~第4刃に特定してもよい。斜め画像、外周画像、及びすくい面画像のそれぞれについても同様である。この場合、上面個別画像、斜め画像、外周画像、すくい面画像の各画像において、第1刃~第4刃とされた撮影対象の各刃は一致しなくてもよい。なお、刃部又は各刃の形状等に基づいて、各画像における撮影対象の刃の対応関係を特定できる場合、各画像において第1刃~第4刃とされる撮影対象の各刃を一致させることができる。
【0037】
撮影画像における撮影方向は、それぞれの撮影方向から撮影した工具の撮影画像の画像特徴量を示すテンプレート画像を予め用意しておき、テンプレート画像を用いたテンプレートマッチングによって特定してもよい。また、撮影画像における撮影方向を特定する処理は、テンプレートマッチングのほかに、学習モデルを用いた画像認識によって行ってもよい。例えば、工具の撮影画像が入力された場合に、入力された撮影画像中の工具の撮影方向を判別する演算を行い、演算した結果を出力するように学習済みの学習モデルを用いることができる。この場合、制御部11は、撮影画像を学習モデルに入力し、学習モデルからの出力情報に基づいて、撮影画像における工具の撮影方向を特定することができる。このような構成とすることにより、撮影画像のファイル名等から、撮影対象の刃及び当該刃に対する撮影方向を特定できない場合であっても、撮影画像中の撮影対象の刃及び撮影方向を特定することができる。
【0038】
制御部11は、特定した撮影方向に応じたモデルをモデルM1~M4から特定(選択)する(S15)。ここでは、制御部11は、特定した撮影方向が上面画像の方向である場合、上面用モデルM1を特定し、特定した撮影方向が斜め画像の方向である場合、斜め用モデルM2を特定する。また、制御部11は、特定した撮影方向が外周画像の方向である場合、外周用モデルM3を特定し、特定した撮影方向がすくい面画像の方向である場合、すくい面用モデルM4を特定する。制御部11は、特定したモデルを記憶部12から読み出し、読み出したモデルと、ステップS13で読み出した撮影画像とに基づいて、当該撮影画像における撮影対象の刃における劣化領域の推定処理を実行する(S16)。
【0039】
図7に示す劣化領域の推定処理では、TTA(Test Time Augmentation)を使用する。具体的には、制御部11は、撮影画像の各画素を水平反転(左右反転)させた水平反転画像を生成する(S31)。制御部11は、原画像である撮影画像を、ステップS15で特定したモデルに入力し、モデルから出力されたコンテキスト(刃部又は各刃の劣化状態に関する情報)を取得する(S32)。コンテキストは、原画像(撮影画像)に対して検出された劣化領域の位置を示す座標情報と、当該劣化領域の種類(摩耗又は欠け)を示す判別ラベルと、判別ラベルに対する確信度とを含む。同様に制御部11は、生成した水平反転画像を、ステップS15で特定したモデルに入力し、モデルから出力されたコンテキストを取得する(S33)。
【0040】
制御部11は、原画像から生成されたコンテキストと、水平反転画像から生成されたコンテキストとに基づいて、2つの画像(原画像及び水平反転画像)に対する推定結果を集約したラベル画像を生成する(S34)。例えば制御部11は、原画像から生成されたコンテキストに基づいて、原画像に対して、原画像中に検出された劣化領域を囲むバウンディングボックスと、当該劣化領域の種類(摩耗又は欠け)を示す判別ラベルと、判別ラベルに対する確信度とが付与されたラベル画像(以下では第1ラベル画像と称する)を生成する。また制御部11は、水平反転画像から生成されたコンテキストに基づいて、水平反転画像に対して、水平反転画像中に検出された劣化領域を囲むバウンディングボックスと、当該劣化領域の種類を示す判別ラベルと、判別ラベルに対する確信度とが付与されたラベル画像を生成する。そして、制御部11は、水平反転画像から生成されたラベル画像を水平反転(左右反転)して第2ラベル画像を生成し、WBF(Weighted Boxes Fusion)を使用して、第1ラベル画像及び第2ラベル画像を集約したラベル画像を生成する。例えば制御部11は、第1ラベル画像及び第2ラベル画像における各バウンディングボックスに対して、各ラベル画像での判別ラベルに対する確信度の平均値を算出する。このときラベル画像において、バウンディングボックスの領域以外の領域には、各判別ラベルに対して0の確信度が割り当てられるので、少ない数のラベル画像でしか検出されなかったバウンディングボックス(劣化領域)に対しては、小さい値の確信度が算出されることになる。
【0041】
また、制御部11は、各ラベル画像中に検出された劣化領域(バウンディングボックス)のサイズが所定値以上である場合、当該バウンディングボックスは誤検知であるとして、検出結果から除外してもよい。例えば、制御部11は、バウンディングボックスの横方向の長さ(画素数)が画像の横方向の長さ(画素数)の1/3以上である場合、又は、バウンディングボックスの縦方向の長さ(画素数)が画像の縦方向の長さ(画素数)の1/3以上である場合、当該バウンディングを検出結果から除外してもよい。また、
図3Cに示すように、各刃のすくい面は撮影画像(すくい面画像)の左半分の領域に撮影される場合が多い。従って、制御部11は、すくい面画像中に検出した劣化領域(バウンディングボックス)が画像の右半分の領域にある場合、当該バウンディングボックスは誤検知であるとして、検出結果から除外してもよい。例えば、すくい面画像の左上を原点として右方向をX軸、下方向をY軸とした座標において、制御部11は、バウンディングボックスの左上の画素の座標値(x,y)を特定し、特定したx座標値が、画像中心のx座標値よりも右側(大きい)場合に、当該バウンディングを検出結果から除外してもよい。なお、すくい面画像以外の撮影画像についても、撮影対象が撮影される領域が所定領域内に限定される場合、撮影画像中に検出されたバウンディングボックスが、所定領域外にあれば、当該バウンディングボックスを検出結果から除外してもよい。これらの処理は、撮影対象に対する撮影方向等の撮影条件を考慮して適宜実行するように構成されていてもよい。
【0042】
制御部11は、ステップS34で生成したラベル画像に基づいて、当該撮影画像に劣化領域が有るか否かを判定する(S35)。例えば制御部11は、生成したラベル画像において、判別ラベルに対する確信度が所定閾値以上であるバウンディングボックスがあるか否かに応じて、劣化領域が有るか否かを判定する。そして、制御部11は、
図6の処理に戻る。
図7に示す処理では、制御部11は、TTAを使用して、原画像の撮影画像と、原画面から生成した水平反転画像との2枚の画像に対して推定処理を行い、それぞれの推定結果を集約することにより、精度の高いラベル画像を得ることができる。
【0043】
制御部11は、ステップS13で読み出した撮影画像(原画像)と、ステップS34で生成したラベル画像と、ステップS35で劣化領域の有無を判定した判定結果とを、撮影日時と、ステップS14で特定した撮影対象とに対応付けて、工具DB12aに記憶する(S17)。制御部11は、ステップS11で取得した撮影画像のうちで、上述した劣化領域の推定処理を行っていない未処理の撮影画像があるか否かを判断する(S18)。未処理の撮影画像があると判断した場合(S18:YES)、制御部11は、ステップS13に戻り、未処理の撮影画像についてステップS13~S17の処理を行う。制御部11は、上面全体画像、上面個別画像、斜め画像、外周画像、及びすくい面画像のそれぞれについてステップS13~S17の処理を行うことにより、工具ID、撮影日時、及び撮影対象に対応付けて、それぞれの画像における原画像、モデルM1~M4を用いて生成されたラベル画像、及びラベル画像に基づく判定結果を工具DB12aに記憶する。
【0044】
未処理の撮影画像がないと判断した場合(S18:NO)、制御部11は、工具DB12aに記憶した各撮影画像に基づく判定結果から、撮影対象である各刃に対する総合判定結果を特定する(S19)。例えば制御部11は、撮影対象である各刃について、撮影画像(上面個別画像、斜め画像、外周画像、及びすくい面画像)のうちで劣化領域(摩耗領域又は欠け領域)が有ると判定した撮影画像の割合を算出し、算出した割合が所定値以上である場合に、当該撮影対象の刃は劣化状態であると判定する。なお、制御部11は、少なくとも1つの画像に劣化領域が有ると判定した場合に、当該撮影対象の刃は劣化状態であると判定してもよい。
【0045】
制御部11は、撮影対象である各刃に対して特定した総合判定結果を工具DB12aに記憶し、表示部15に表示する(S20)。制御部11は、例えば
図8に示すような判定結果画面を表示する。
図8に示す画面は、撮影対象の工具の工具ID、撮影日時及び撮影対象の刃の情報に対応付けて、撮影対象の刃の劣化領域を検出した撮影画像を表示し、撮影画像中に検出された劣化領域(摩耗領域及び欠け領域)を矩形で示している。
図8の画面では、撮影画像としてすくい面画像が表示されているが、撮影対象の刃の劣化領域を検出した全ての撮影画像が表示されてもよい。また、
図8の画面では、欠け領域が破線の矩形で、摩耗領域が一点鎖線の矩形でそれぞれ示されており、このように、検出された劣化領域を、劣化状態の種類(摩耗又は欠け)に応じた態様で表示してもよい。これにより、撮影画像中に検出された劣化領域が、いずれの劣化状態であるかを容易に把握できる。また、
図8の画面は、検出した劣化領域の拡大図を表示しており、拡大図においても、欠け領域及び摩耗領域が破線の矩形及び一点鎖線の矩形でそれぞれ示されている。なお、上述した処理においてステップS19は必ずしも実行する必要はなく、ステップS20で制御部11は、ステップS17で工具DB12aに記憶した判定結果に基づいて、劣化領域が有ると判定した撮影画像に対して、撮影画像中に検出された劣化領域(摩耗領域及び欠け領域)を示す判定結果画面を表示してもよい。
【0046】
上述した処理により、本実施形態では、撮影装置20によって工具の刃部を撮影した撮影画像に対して、モデルM1~M4を用いた画像認識によって、各刃の劣化領域を検出するので、各刃の劣化状態を判定する作業負担を軽減できる。従来、工具の刃の劣化状態は、熟練工が目視で確認することが多く、熟練工が工具を様々な角度から見て劣化状態を判断するので、確認作業に時間を要すると共に、摩耗領域及び欠け領域の判断結果に個人差が生じることがある。また、工具によっては、刃部の直径が6mm程度で目視での確認が困難なものもある。しかし、本実施形態では、モデルM1~M4を用いた画像認識によって、撮影対象の刃の劣化状態が自動的に検出されるので、劣化状態の判定を短時間で正確に行うことができる。また、モデルM1~M4を用いた画像認識によって劣化状態であると判定された工具及び各刃に対して熟練工による確認を行ってもよく、この場合、熟練工の作業負担を軽減できると共に、熟練工による劣化状態の判定処理を行うことができる。工具の刃の劣化状態を正確に判定できることにより、適切なタイミングでの工具の交換が可能となり、切削加工を良好に行うことができる。
【0047】
本実施形態では、工具におけるそれぞれの刃を撮影対象として複数の撮影方向から撮影して得られた撮影画像(上面全体画像、上面個別画像、斜め画像、外周画像、及びすくい面画像)に基づいて、それぞれの刃の劣化状態を判定する。よって、劣化領域の位置によっては、いずれかの画像では撮影されない場合が生じるが、このような複数の撮影画像に基づいて判定することにより、劣化領域の判定漏れを抑制できる。また、本実施形態では、撮影方向毎にモデルM1~M4(上面用モデルM1、斜め用モデルM2、外周用モデルM3、すくい面用モデルM4)が用意されているので、それぞれの撮影方向での撮影画像中の劣化領域を高精度に検出することができる。なお、撮影方向毎に撮影画像を学習させてモデルM1~M4を生成する構成のほかに、全ての撮影方向での撮影画像を訓練データとして学習させて1つのモデルを生成する構成でもよい。この場合、1つのモデルを用いて、全ての撮影方向での撮影画像に対して、画像中の劣化領域の検出が可能となる。
【0048】
本実施形態において、モデルM1~M4を用いた画像認識によって撮影画像中の劣化領域を検出する処理は、サーバ10で行う構成に限定されず、例えば撮影装置20によってローカルで実行されてもよい。この場合、撮影装置20の記憶部22にモデルM1~M4をダウンロードしておき、撮影装置20が、工具を撮影した後に、得られた撮影画像に対してモデルM1~M4を用いて当該撮影画像中の劣化領域を検出する処理を行ってもよい。このような構成であっても、上述した本実施形態と同様の処理の実行が可能であり、同様の効果が得られる。
【0049】
(実施形態2)
上述した実施形態1の工具管理システムにおいて、撮影装置20の撮影部26及び撮影方向制御部27の具体例について説明する。
図9は撮影装置20の外観例を示す説明図、
図10A及び
図10Bは撮影装置20の構成例を示す説明図である。なお、
図9は撮影部26及び撮影方向制御部27の外観例を示し、
図10Aは、
図9におけるY軸方向の左側から見た状態の撮影部26及び撮影部保持部材27cを示し、
図10Bは、
図9におけるX軸方向の右側から見た状態の撮影部26を示す。
図9~
図10Bに示す本実施形態の撮影装置20は、モリマシナリー株式会社製の撮像ユニットであるツールコラージュ(登録商標)である。
【0050】
撮影方向制御部27は、撮影装置20の筐体の天板27g上に、撮影対象の工具30を、刃部31を上側に向けた状態で保持する台座27aと、台座27aを保持する台座保持部材27bとを有する。台座保持部材27bは、水平面上(天板27g上)において台座27aを、矢符Bで示すY軸方向に移動させる機構と、矢符Eで示すθ軸方向に回転又は回動させる機構とを有する。θ軸方向は、台座27aに固定された工具30の中心軸方向(鉛直方向)を中心とする回転方向である。また、撮影方向制御部27は、撮影部26を保持する撮影部保持部材27cと、天板27gの上面から鉛直方向に延伸された鉛直部材27dと、鉛直部材27d及び撮影部保持部材27cを連結する連結部材27eとを有する。連結部材27eは、一端部が鉛直部材27dに係合してあり、鉛直部材27dは、係合した状態の連結部材27eを、矢符Cで示すZ軸方向(鉛直方向)に上下移動させる機構を有する。撮影部保持部材27cは、L字形状の板部材であり、一端部に撮影部26が取り付けられており、他端部は、連結部材27eの他端部に連結されている。連結部材27eの他端部は、連結した状態の撮影部保持部材27cを、Y軸に平行な軸(回動軸)を中心に回動させる回動部材27fを有する。また連結部材27eは、鉛直部材27dとの係合位置から、水平面上でY軸方向に直交する、矢符Aで示すX軸方向に伸縮する機構を有しており、この伸縮機構により、回動部材27fを、鉛直部材27dとの係合位置から、離れる方向及び近づく方向に移動させることができる。
【0051】
上述した構成により、撮影方向制御部27は、連結部材27eの伸縮機構によって、回動部材27fに連結された撮影部保持部材27cを、X軸方向に沿って移動させることができ、これに伴い、撮影部保持部材27cに保持されている撮影部26もX軸方向に沿って移動させることができる。また撮影方向制御部27は、鉛直部材27dによって連結部材27eをZ軸方向に移動させることができ、これに伴い、撮影部保持部材27cに保持されている撮影部26もZ軸方向に沿って移動させることができる。また撮影方向制御部27は、台座保持部材27bによって台座27aをY軸方向に移動させることができ、θ軸方向に回転又は回動させることができる。また撮影方向制御部27は、
図10Aに示すように、回動部材27fによって、回動軸を中心に撮影部保持部材27cを回動させることができる。これに伴い、撮影部保持部材27cに保持されている撮影部26を、撮影方向がX軸方向に平行な方向(X軸右方向)となる位置から、撮影方向がZ軸方向に平行な方向(鉛直下方向)となる位置までの任意の位置に、矢符Dで示すα軸方向に沿って移動(回動)させることができる。
図10Aでは、撮影部26が、撮影方向が右方向となる撮影位置と、撮影方向が右斜め下方向となる撮影位置と、撮影方向が真下方向となる撮影位置とに配置された状態を示している。
【0052】
上述したように、撮影方向制御部27によって撮影部26をX軸方向、Z軸方向、α軸方向に沿って移動させることができ、また、台座27aに固定された工具30をY軸方向に沿って移動させ、θ軸方向に沿って回転又は回動させることができる。このように撮影部26及び工具30の位置を移動させることができるので、撮影方向制御部27は、撮影対象(工具30)に対する撮影部26の撮影位置及び撮影方向を適宜変更することができる。
【0053】
図10Bに示すように、撮影部26は、カメラ26aと、カメラ26aの周囲を取り囲むように配置された8個の光源部26bとを有する。光源部26bは例えばLEDであり、8個の光源部26bは、点灯及び消灯の制御、光量(輝度)の制御を各別に行えるように構成されている。なお、光源部26bの個数は8個に限定されない。
【0054】
本実施形態の撮影装置20では、撮影対象の工具30の種類(例えば工具30の型番)毎に、上面画像、斜め画像、外周画像、すくい面画像のそれぞれを撮影する際の撮影条件として、カメラ26aに関するカメラ条件と、光源部26bに関する照明条件とを予め設定することができる。撮影条件を一旦設定すると、同じ種類の工具(同じ型番の工具)に対しては、設定されたカメラ条件及び照明条件での撮影処理が行われ、設定された画像(上面画像、斜め画像、外周画像、すくい面画像)の撮影を行うことができる。カメラ条件は、台座27aに固定された工具30に対するカメラ26aの撮影位置、撮影方向、及びピント調整に関する情報を含み、照明条件は、それぞれの光源部26bの光量を含む。
【0055】
図11は撮影条件DBのレコードレイアウトの一例を示す説明図である。撮影条件DBは、工具管理システムで管理される工具を撮影装置20で撮影する際のカメラ条件及び照明条件を記憶するデータベースであり、例えば記憶部22に記憶される。撮影条件DBは例えば、型番列、メーカ名列、種類列、上面画像列、斜め画像列、外周画像列、及びすくい面画像列を含み、各工具に固有に割り当てられた型番に対応付けて、各工具の情報及び撮影装置20によって撮影される際のカメラ条件及び照明条件を記憶する。上面画像列は、撮影装置20によって上面画像(上面全体画像及び上面個別画像)を撮影する際の撮影条件を記憶する。具体的には、上面画像列は、撮影対象列、カメラ条件列、及び照明条件列を含み、それぞれの撮影対象を撮影する際のカメラ条件及び照明条件を記憶する。カメラ条件は、台座27aに固定された工具30の刃部31に対するカメラ26aの位置及び撮影方向を含み、具体的には、撮影部26(カメラ26a)に対して、予め設定された初期位置を基準としたX軸方向の位置、Z軸方向の位置、α軸方向の位置と、台座27aに対して、予め設定された初期位置を基準としたY軸方向の位置、θ軸方向の位置とを含む。また、カメラ条件は、カメラ26aのピント調整に関する情報を含む。照明条件は、8個の光源部26bのそれぞれに対する光量(点灯及び消灯を含む)を含む。斜め画像列、外周画像列、及びすくい面画像列のそれぞれは、上面画像列と同様に、撮影対象列、カメラ条件列、及び照明条件列を含み、それぞれの撮影対象を撮影する際のカメラ条件及び照明条件を記憶する。撮影条件DBは
図11に示す構成に限定されず、工具に関する各種の情報、工具の撮影に関する各種の情報が記憶されてもよい。
【0056】
撮影条件DBに登録される各情報は、例えば入力部24を介した操作入力に従って記憶される。具体的には、未登録の工具30に対する撮影条件(カメラ条件及び照明条件)を登録する場合、登録担当者が、入力部24を介した操作によって撮影方向制御部27及び撮影部26を制御し、台座27aに固定された工具30を撮影部26によって撮影し、撮影した画像を確認し、適切な撮影状態で工具30を撮影できた条件を撮影条件DBに記憶する。適切な撮影状態とは、撮影画像中に発生するハレーションを抑制し、モデルM1~M4を用いて撮影画像中の刃部31の劣化状態(具体的には摩耗領域及び欠け領域の有無)を良好に判定できる画質を意味する。このような撮影条件DBに各工具30を撮影する際の撮影条件を登録しておくことにより、登録済みの型番の工具30を撮影する際に、撮影担当者は、工具30を台座27aに固定するだけで各種の画像の撮影を行うことが可能となる。
【0057】
図12は撮影装置20による撮影処理手順の一例を示すフローチャートである。以下の処理は、撮影装置20の制御部21が、記憶部22に記憶してあるプログラムに従って実行する。撮影装置20は、台座27aに撮影対象の工具30が固定された後に、例えば入力部24を介して撮影処理の開始指示を受け付けた場合に、以下の処理を実行する。撮影装置20の制御部21はまず、撮影対象の工具30の型番を特定する(S41)。工具30の型番は、例えば入力部24を介した撮影担当者による入力によって受け付けてもよく、それぞれの工具の撮影画像の画像特徴量を示すテンプレート画像を用いたテンプレートマッチングによって特定してもよく、学習モデルを用いた画像認識によって特定してもよい。画像認識によって特定する場合、例えば、工具の撮影画像が入力された場合に、入力された撮影画像中の工具の型番を判別する演算を行い、演算した結果を出力するように学習済みの学習モデルを用いることができる。この場合、制御部11は、撮影画像を学習モデルに入力し、学習モデルからの出力情報に基づいて、撮影画像における工具の型番を特定できる。また、工具30の型番をコード化したコード(例えばバーコード、QRコード(登録商標))を、工具30又は工具30を保持するホルダに印字又は貼付しておき、コード読取部を用いてこのコードを読み取ることによって、撮影対象の工具30の型番を取得してもよい。なお、ステップS41で特定する工具の情報は、工具の形状及びサイズ等を特定できる情報であれば、型番に限定されない。
【0058】
撮影装置20の制御部21は、特定した型番に対応するカメラ条件及び照明条件を撮影条件DBから読み出す(S42)。具体的には、型番に対応付けて撮影条件DBに登録してある各画像(上面画像、斜め画像、外周画像、すくい面画像)のカメラ条件及び照明条件を読み出す。制御部21は、カメラ条件及び照明条件を読み出せたか否かに基づいて、型番に対応する撮影条件が登録済みであるか否かを判断する(S43)。具体的には、制御部21は、カメラ条件及び照明条件を読み出せた場合、型番に対応する撮影条件が登録済みであると判断し、読み出せなかった場合、型番に対応する撮影条件が登録済みでないと判断する。型番に対応する撮影条件が登録済みでないと判断した場合(S43:NO)、制御部21は、ステップS41で特定した型番に対応する撮影条件の登録処理を実行する(S44)。例えば制御部21は、撮影対象の工具に対する撮影条件が未登録であることを通知するメッセージを表示部25に表示し、撮影条件の登録処理の実行を促す。そして、制御部21は、入力部24を介した操作に従って撮影方向制御部27及び撮影部26の動作を制御して、カメラ条件及び照明条件を変更しながら撮影対象の工具を撮影し、適切な撮影状態で工具を撮影できる撮影条件が指定された場合に、指定された撮影条件を撮影条件DBに登録する。型番に対応する撮影条件が登録済みであると判断した場合(S43:YES)、制御部21は、ステップS44をスキップする。
【0059】
制御部21は、ステップS42で読み出した撮影条件、又は、ステップS44で撮影条件DBに登録した撮影条件の中から1つの撮影条件を抽出する(S45)。例えば制御部21は、1つの撮影画像(上面画像、斜め画像、外周画像、又はすくい面画像)における1つの撮影対象に対応するカメラ条件及び照明条件を抽出する。制御部21は、抽出したカメラ条件及び照明条件での撮影処理を実行する(S46)。制御部21は、撮影した撮影画像に、撮影日時(例えばこの時点の日時)及び撮影画像の情報を付加して記憶部22に記憶する(S47)。例えば制御部21は、撮影画像のタグ情報(付加情報)として、撮影日時及び撮影画像の情報を記憶する。撮影画像の情報は、例えば撮影対象の刃の情報、及び撮影方向の情報を含む。
【0060】
制御部21は、ステップS42で読み出した撮影条件、又は、ステップS44で撮影条件DBに登録した撮影条件に含まれる全ての撮影条件での撮影を完了したか否かを判断し(S48)、完了していないと判断する場合(S48:NO)、ステップS45に戻り、撮影を完了していない撮影条件について、ステップS45~S47の処理を繰り返す。これにより、制御部21は、工具30の型番に対応付けて登録してあるカメラ条件及び照明条件での撮影処理を実行することができ、各工具に応じた撮影方向からの撮影画像を取得することができる。全ての撮影条件での撮影を完了したと判断した場合(S48:YES)、制御部21は、撮影対象の工具30用のフォルダを記憶部22に生成し、生成したフォルダに、当該撮影対象の工具30についてステップS47で記憶部22に記憶した各撮影画像を記憶する(S49)。これにより、撮影対象の工具30毎に撮影画像をフォルダに記憶することができるので、フォルダ内の撮影画像を同一の工具30の撮影画像として扱うことができる。なお、制御部21は、ステップS49を行わなくてもよい。
【0061】
上述した処理により、本実施形態では、台座27aに固定された撮影対象の工具30と撮影部26(カメラ26a)との位置関係を、X軸方向、Y軸方向、Z軸方向、α軸方向、及びθ軸方向に制御できるので、撮影対象の各刃に対して最適な撮影位置からの撮影が可能となる。また、本実施形態では、カメラ26aのピント調整を行うと共に、8個の光源部26bのそれぞれの光量を各別に制御できるので、各刃に対して最適なカメラ条件及び照明条件によって高精度の撮影画像(上面画像、斜め画像、外周画像、すくい面画像)を取得することができる。このような撮影画像に対して、モデルM1~M4を用いた画像認識によって、各刃の劣化領域を検出することにより、各刃の劣化状態をより正確に判定することが可能となる。
【0062】
本実施形態においても、上述した実施形態1と同様の効果が得られる。また本実施形態では、撮影装置20を用いて高精度の撮影画像を取得することができるので、撮影画像に基づいて撮影対象の各刃の劣化状態をより正確に判定することができる。本実施形態においても上述した実施形態1で適宜説明した変形例の適用が可能である。
【0063】
(実施形態3)
上述した実施形態1~2の撮影装置20では、工具30のシャンク32をホルダ(図示せず)で保持した状態で台座27aに固定して撮影、並びに、工具30の収納及び管理等が行われる。一方、工具30をホルダから取り外して、同じ種類の工具30を取り付ける組み換えが行われる。組み換え前後ではホルダに対する工具30の取付位置がずれることがあり、工具30の取付位置がずれた場合、同じ種類の工具30であっても、同じ撮影条件で撮影した場合に同じ状態で撮影されない状況が発生する。よって、本実施形態では、工具30を撮影する際に、当該工具30に対する撮影条件が登録済みである場合、登録済みの撮影条件で撮影した場合に、当該撮影条件の登録時と同じ状態での撮影が可能であるかを判断し、可能でない場合、撮影条件を更新する(登録し直す)工具管理システムについて説明する。本実施形態の工具管理システムは、実施形態1~2の工具管理システムと同様の装置によって実現できるので、各装置の構成についての説明は省略する。なお、本実施形態では、例えば撮影装置20の記憶部22に記憶してある撮影条件DB(
図11参照)に、各工具30を、記憶してある撮影条件(カメラ条件及び照明条件)で撮影した画像を基準画像として記憶している。基準画像は、撮影方向毎に撮影されて記憶されてもよく、外周画像又はすくい面画像等一部の撮影方向で撮影された基準画像のみが記憶されてもよい。
【0064】
図13は実施形態3の撮影装置20による撮影処理手順の一例を示すフローチャート、
図14は撮影条件の調整処理の説明図である。
図13に示す処理は、
図12に示す処理において、ステップS43のYESとステップS45との間にステップS51~S56を追加したものである。
図12と同じステップについては説明を省略する。
【0065】
本実施形態の撮影装置20の制御部21は、撮影対象の工具30の型番に対応する撮影条件が登録済みであると判断した場合(S43:YES)、撮影条件DBから、この工具30(同じ型番の工具30)の外周画像の基準画像を取得する(S51)。
図14の左側には外周画像の基準画像の例を示す。そして、制御部21は、ステップS42で読み出した撮影条件の中の外周画像の撮影条件を特定し、撮影対象の工具30に対して、特定した撮影条件での撮影を行うことにより、撮影対象の工具30の外周画像を取得する(S52)。
図14の右側には外周画像の撮影画像の例を示す。
図14に示す2つの外周画像から、撮影対象の工具30のホルダに対する取付位置が、撮影条件の登録時(基準画像の撮影時)と比較してずれていることが分かる。具体的には、基準画像中の工具に対して、撮影画像中の工具30は、Z軸方向(
図9参照)下側にずれると共に、θ軸方向(
図9参照)左側にずれている。
【0066】
そこで、本実施形態の撮影装置20は、基準画像中の工具の位置と、撮影画像中の工具30の位置とにずれが生じている場合に、撮影条件を調整することにより、この時点でホルダに保持されている工具30に対して適切な撮影条件の登録を自動で行う。まず制御部21は、ステップS51で取得した基準画像と、ステップS52で取得した外周画像(撮影画像)とに対して、撮影対象の工具30の刃31aの位置を特定する(S53)。具体的には、制御部21は、基準画像及び外周画像のそれぞれに対して、二値化処理を行い、二値画像に対して例えば画素値が1の画素が連なる領域の輪郭検出を行うことにより、各画像の中央に撮影される刃31aの刃先のエッジ位置を特定する。
図14の基準画像では、エッジ位置E1が特定され、外周画像ではエッジ位置E2が特定されている。また制御部21は、基準画像及び外周画像(撮影画像)に基づいて、各画像中の工具の上端面を特定する。
図14では破線で示す上端面が特定されている。なお、基準画像におけるエッジ位置E1及び工具の上端面の位置は、当該撮影条件の登録時に検出して撮影条件DBに記憶しておいてもよい。
【0067】
制御部21は、基準画像及び外周画像(撮影画像)において、検出したエッジ位置E1,E2及び工具の上端面位置がそれぞれ合致するか否かを判断する(S54)。具体的には、制御部21は、基準画像中のエッジ位置E1と外周画像中のエッジ位置E2とのずれが所定量未満であり、かつ、基準画像中の工具の上端面と外周画像中の工具の上端面とのずれが所定量未満であるか否かを判断する。そして、制御部21は、共に所定量未満である場合に合致すると判断し、少なくとも一方が所定量以上である場合に合致しないと判断する。合致すると判断した場合(S54:YES)、基準画像中の工具の位置と、撮影画像中の工具30の位置とにずれが生じていないので、登録済みの撮影条件での撮影が可能であり、制御部21はステップS45に移行する。そして、制御部21は、ステップS42で読み出した撮影条件の中から1つの撮影条件を抽出し(S45)、抽出した撮影条件(カメラ条件及び照明条件)での撮影処理を実行する(S46)。
【0068】
エッジ位置E1,E2又は工具の上端面位置が合致しないと判断した場合(S54:NO)、基準画像中の工具の位置と、撮影画像中の工具30の位置とにずれが生じているので、登録済みの撮影条件に対して調整(更新)が必要である。従って、制御部21は、ステップS42で読み出した撮影条件に対する調整量を算出する(S55)。ここでは制御部21は、撮影画像中の刃の位置が基準画像中の刃の位置に近づくような調整量を算出する。具体的には、制御部21は、基準画像中のエッジ位置E1と撮影画像中のエッジ位置E2とに基づいて、工具30を保持する台座27aをθ軸方向に回転させる回転量(調整量)を算出する。θ軸方向の調整量は、
図14の撮影画像においてエッジ位置E2をエッジ位置E1に合致させる(近づける)ための回転量であり、例えば撮影画像中の距離に対応する回転量を予め登録しておくことにより特定できる。θ軸方向の調整量は、例えばθ軸方向に所定の回転量だけ台座27aを回転させて工具30の撮影及び基準画像中のエッジ位置E1との比較を繰り返し、撮影画像中のエッジ位置E2が基準画像中のエッジ位置E1に合致するまでの回転量の合計を調整量としてもよい。また制御部21は、基準画像中の上端面位置と撮影画像中の上端面位置とに基づいて、撮影部26をZ軸方向下側に所定量下げるための調整量を算出する。ここでの調整量は、
図14の画像において撮影画像の上端面位置を基準画像の上端面位置に合致させる(近づける)ための移動量である。
【0069】
制御部21は、算出した撮影条件に対する調整量に基づいて、ステップS41で特定した型番に対応して撮影条件DBに記憶してある撮影条件の更新処理を実行する(S56)。例えば、上述したように外周画像の撮影条件の調整量として、台座27aをθ軸方向に回転させる調整量と、撮影部26をZ軸方向下側に下げる調整量とが算出された場合、制御部21は、撮影条件DBに記憶してある外周画像のカメラ条件を、算出した調整量に基づいて更新(変更)する。なお、撮影部26をZ軸方向下側に下げる調整量は、外周画像の撮影条件だけでなく、他の画像の撮影条件にも影響があるので、他の画像のカメラ条件(撮影部26のZ軸方向の位置)についても、算出した調整量に基づいて更新してもよい。これにより、ホルダに対する工具30の取付位置が、撮影条件の登録時の取付位置に対してずれている場合であっても、撮影条件DBに記憶してある撮影条件を、当該工具30を基準画像の撮影状態で撮影できる撮影条件に更新できる。
【0070】
その後、制御部21は、ステップS45に移行し、更新後の撮影条件の中から1つの撮影条件を抽出し(S45)、抽出した撮影条件(カメラ条件及び照明条件)での撮影処理を実行する(S46)。上述した処理により、ホルダに対する工具30の取付位置が、撮影条件の登録時の取付位置に対してずれている場合であっても、撮影条件を更新することにより、撮影対象の工具30を基準画像の撮影状態と同じ状態で撮影した撮影画像を得ることができる。本実施形態では、外周画像の基準画像及び撮影画像に基づいて、工具30の取付位置がずれているか否かを判定し、撮影条件の調整量を算出した。このほかに、各画像(上面画像、斜め画像、外周画像、すくい面画像)の基準画像及び撮影画像に基づいて、工具30の取付位置がずれているか否かの判定、及び、撮影条件の調整量の算出を行う構成でもよい。上述した処理において、制御部21は、撮影条件が登録済みであると判断した場合(S43:YES)、ホルダに対して工具30の取り替えが行われたか否かを判断し、取り替えが行われた場合にステップS51~S56の処理を行う構成でもよい。
【0071】
本実施形態において、外周画像の基準画像及び撮影画像に基づいて登録済みの撮影条件に対する調整量を算出する処理は、撮影装置20がローカルで行う構成に限定されず、例えばサーバ10で行う構成でもよい。この場合、撮影装置20は、登録済みの撮影条件で撮影した撮影画像、例えば外周画像の撮影画像をサーバ10へ送信し、サーバ10で判定された結果(基準画像中の工具の位置と撮影画像中の工具30の位置とにずれが生じているか否かを示す情報)と、サーバ10で算出された調整量(登録済みの撮影条件に対する調整量)とを受信するように構成できる。このような構成では、サーバ10は、撮影装置20で撮影された撮影画像(外周画像)に基づいて、撮影画像中の刃の位置(刃先のエッジ位置E2)を特定する。そしてサーバ10は、刃先のエッジ位置E2が、予め登録してある位置(基準画像中のエッジ位置E1)に合致するか否かを判断し、合致しないと判断した場合、撮影画像中のエッジ位置E2を、基準画像中のエッジ位置E1に合致させるための調整量を算出する。サーバ10は、撮影装置20に設定してある撮影条件に対して、算出した調整量に基づく調整を行うように撮影装置20に指示する。撮影装置20は、サーバ10からの指示に従って、登録済みの撮影条件を更新(調整)することにより、撮影対象の工具30を基準画像の撮影状態で撮影できる撮影条件を撮影条件DBに登録することができる。
【0072】
本実施形態の構成は、上述した実施形態1~2の工具管理システムに適用可能であり、実施形態1~2の工具管理システムに適用した場合であっても同様の処理の実行が可能であり、同様の効果が得られる。また、本実施形態においても、上述した実施形態1~2で適宜説明した変形例の適用が可能である。
【0073】
(実施形態4)
上述した実施形態1~3の工具管理システムにおいて、各型番の工具30に対する撮影条件を登録する際に、各撮影条件で画像を撮影した場合にピントが合っているかを自動で判定し、ピントが合う撮影条件を登録する工具管理システムについて説明する。本実施形態の工具管理システムは、実施形態1~3の工具管理システムと同様の装置によって実現できるので、各装置の構成についての説明は省略する。
【0074】
図15は撮影条件の登録処理手順の一例を示すフローチャート、
図16は撮影条件の登録処理の説明図である。
図15に示す処理は、
図12中のステップS44の処理である。本実施形態では、撮影装置20は、各画像(上面画像、斜め画像、外周画像、すくい面画像)をデフォルト設定された撮影条件で撮影し、得られた撮影画像のピントが合っているか否かを判定し、ピントが合っていないと判定する場合、撮影条件を調整して再度撮影を行い、ピントが合うまで繰り返す。そして、撮影装置20は、ピントが合っていると判定した撮影画像における撮影条件を、当該画像(撮影方向)の撮影条件に登録する。ピントが合っているか否かの判定は、各画像に対して予め設定されたフォーカス領域に対して行う。これにより、各画像に対してピントが合っているか否かの判定を効率よく行うことが可能となる。
【0075】
撮影条件の登録処理では、撮影装置20の制御部21はまず、例えば上面全体画像を撮影する(S61)。制御部21は、上面全体画像におけるフォーカス領域を抽出する(S62)。上面全体画像のフォーカス領域は、
図16中に破線で示すように画像全体とする。そして制御部21は、抽出したフォーカス領域においてピントが合っているか否かを判定する(S63)。ここでは制御部21は、フォーカス領域に対してラプラシアンフィルタを用いたフィルタ処理を行って画像中のエッジを抽出し、フィルタ処理後の画像(フォーカス領域)中の各画素値に基づいて分散を算出し、算出した分散の値に基づいて、ピントが合っているか否かを判定する。分散は、例えば偏差(各画素値とその平均値との差)の2乗の平均値として算出できる。また制御部21は、分散の値が所定値以上である場合にピントが合っていないと判定し、所定値未満である場合にピントが合っていると判定する。なお、ラプラシアンフィルタを用いたフィルタ処理に限定されず、画像から輪郭(エッジ)を抽出するための各種の微分フィルタを用いてもよい。
【0076】
制御部21は、ピントが合っていないと判定する場合(S63:NO)、ステップS61で撮影した撮影条件を調整(変更)する(S64)。例えば制御部21は、撮影部26をZ軸方向上側に所定量移動させる調整、カメラ26aのピント調整等を行う。これにより、撮影対象の工具30に対して撮影部26をZ軸方向上側に所定距離だけ遠ざけることができ、又は、カメラ26aのピント調整(焦点の調整)を行うことができる。そして制御部21は、ステップS61に戻り、調整後の撮影条件で上面全体画像の撮影を行い(S61)、ピントが合うと判定するまでステップS61~S64の処理を繰り返す。ピントが合っていると判定した場合(S63:YES)、制御部21は、上面全体画像を直近に撮影した撮影条件を撮影条件DBに登録する(S65)。
【0077】
次に制御部21は、斜め画像について、ステップS61~S65と同様の処理を実行する(S66~S70)。なお、斜め画像のフォーカス領域は、
図16中に破線で示すように画像の左右方向の中央部とする。斜め画像においてピントを合わせるための調整は、例えば撮影部26を工具30からX軸方向に所定量遠ざける調整、カメラ26aのピント調整等とすることができる。これにより、斜め画像についても、フォーカス領域にピントが合う撮影条件が撮影条件DBに登録される。次に制御部21は、外周画像について、ステップS61~S65と同様の処理を実行する(S71~S75)。外周画像のフォーカス領域は、
図16中に破線で示すように画像の左右方向の中央部とする。ここでも、ピントを合わせるための調整は、撮影部26を工具30からX軸方向に所定量遠ざける調整、カメラ26aのピント調整等とすることができる。これにより、外周画像についても、フォーカス領域にピントが合う撮影条件が撮影条件DBに登録される。最後に制御部21は、すくい面画像について、ステップS61~S65と同様の処理を実行する(S76~S80)。すくい面画像のフォーカス領域は、
図16中の上側に示すように工具30が画像中央に撮影される撮影条件の場合、破線で示すように画像の左側の領域とすることができる。また、刃部の直径が大きい工具等、
図16中の下側に示すように刃31aのすくい面が画像中央に撮影される撮影条件の場合、破線で示すように画像の左右方向の中央部をフォーカス領域としてもよい。これにより、すくい面画像についても、フォーカス領域にピントが合う撮影条件が撮影条件DBに登録される。なお、制御部21は、上面個別画像についても同様の処理を行ってもよい。
【0078】
制御部21は、ステップS80の処理後、
図12の処理に戻り、上述した処理によって登録した撮影条件に従って、撮影対象の工具30を複数の撮影方向から撮影する。上述した処理により、各画像についてフォーカス領域にピントが合う撮影条件が登録される。フォーカス領域は、刃部31(刃31a)が撮影される領域であり、この領域にピントが合う撮影条件で撮影することにより、学習モデルM1~M4を用いた画像認識によって各刃の劣化領域を適切に検出できる高画質の撮影画像を得ることができ、各刃の劣化状態をより正確に判定することが可能となる。
【0079】
本実施形態において、各画像の撮影条件の登録処理は、撮影装置20がローカルで行う構成に限定されず、例えばサーバ10で行う構成でもよい。この場合、撮影装置20は、撮影した各画像をサーバ10へ送信し、サーバ10で判定された結果(ピントが合っていると判定された撮影条件)を受信するように構成できる。この構成では、サーバ10は、撮影装置20で撮影された各撮影画像に基づいて、各撮影画像の所定領域(フォーカス領域)にピントが合っているか否かを判定する。そしてサーバ10は、ピントが合っていないと判定した場合、所定領域にピントが合うための調整量を算出し、撮影装置20に設定してある撮影条件に対して、算出した調整量に基づく調整を行うように撮影装置20に指示する。撮影装置20は、サーバ10からの指示に従って、登録済みの撮影条件を更新(調整)することにより、フォーカス領域にピントが合う撮影条件に近づけることができる。撮影装置20及びサーバ10は、各画像のフォーカス領域にピントが合うまで上述した処理を繰り返すことにより、各画像についてフォーカス領域にピントが合う撮影条件を撮影条件DBに登録することができる。
【0080】
本実施形態の構成は、上述した実施形態1~3の工具管理システムに適用可能であり、実施形態1~3の工具管理システムに適用した場合であっても同様の処理の実行が可能であり、同様の効果が得られる。また、本実施形態においても、上述した実施形態1~3で適宜説明した変形例の適用が可能である。
【0081】
(実施形態5)
上述した実施形態1~4の工具管理システムにおいて、劣化領域の推定処理によって撮影画像中の刃部(刃)に劣化領域が有ると判定した場合に、劣化領域のサイズを推定する工具管理システムについて説明する。本実施形態の工具管理システムは、実施形態1~4の工具管理システムと同様の装置によって実現できるので、各装置の構成についての説明は省略する。
【0082】
図17は劣化領域の推定処理手順の一例を示すフローチャート、
図18A及び
図18Bは劣化領域のサイズ推定処理の説明図である。
図17に示す処理は、
図7に示す処理において、ステップS35の後にステップS91~S92を追加したものである。
図7と同じステップについては説明を省略する。
【0083】
劣化領域の推定処理において、本実施形態のサーバ10の制御部11は、
図7のステップS31~S35と同様の処理を行う。これにより、制御部11は、
図6中のステップS13で読み出した撮影画像中の刃に、劣化領域が有るか否かを判定できる。その後、制御部11は、ステップS35の判定結果に基づいて、劣化領域が有るか否かを判断し(S91)、劣化領域が有ると判断した場合(S91:YES)、劣化領域のサイズを算出する(S92)。例えば制御部11は、
図18Aに示すように、外周画像の撮影画像に対して、画像中に検出された劣化領域を囲むバウンディングボックスと、当該劣化領域の種類(摩耗又は欠け)を示す判別ラベルと、判別ラベルに対する確信度とが付与されたラベル画像を取得する。このようなラベル画像を取得した場合、制御部11は、撮影画像からバウンディングボックスの領域を抽出し、抽出した領域に対して二値化処理を行う(
図18A(1)参照)。制御部11は、二値画像に対して、バウンディングボックスにおける1つの対角線L1(右肩上がりの対角線)を付加し、対角線L1の中点P1を特定する(
図18A(2)参照)。なお、
図18Aに示す工具30は、刃のエッジが右肩上がりの線分となるので、ここでは右肩上がりの対角線L1を付加するが、工具30の刃の状態に応じて右肩下がりの対角線を付加する構成でもよい。次に制御部11は、中点P1を通り、対角線L1に直交(交差)する垂線L2を特定し(
図18A(3)参照)、垂線L2と劣化領域の輪郭線との2つの交点P2,P3を特定する(
図18A(4)参照)。そして、制御部11は、交点P2,P3の距離を算出し、算出した距離を当該劣化領域のサイズ(幅)とする。
【0084】
バウンディングボックスは、検知した劣化領域が中央に位置する状態で付加される場合が多く、バウンディングボックスの対角線L1の中点P1は、劣化領域の中央近傍にある可能性が高い。よって、バウンディングボックスの対角線L1の中点P1を通る垂線L2に基づいて劣化領域のサイズを算出することにより、高精度に劣化領域のサイズを算出できる。斜め画像及びすくい面画像についても同様の処理によって、劣化領域のサイズを算出できる。なお、刃31aのエッジ位置を高精度に検知できる場合、エッジ位置に対して直交(交差)する方向の劣化領域のサイズを算出してもよい。
【0085】
また、制御部11は、
図18Bに示すように、上面画像(上面全体画像及び上面個別画像)の撮影画像に対して、劣化領域を囲むバウンディングボックスと、当該劣化領域の種類(摩耗又は欠け)を示す判別ラベルと、判別ラベルに対する確信度とが付与されたラベル画像を取得する。このようなラベル画像を取得した場合、制御部11は、撮影画像からバウンディングボックスの領域を抽出し、抽出した領域に対して二値化処理を行う(
図18B(1)参照)。制御部11は、二値画像に基づいて、刃の劣化前の形状(元の形状)を推定する。例えば刃の劣化前の形状を矩形と仮定し、制御部11は、
図18B(2)に示すように、劣化後の刃の領域(白画素の領域)を包含する矩形R1を、刃の劣化前の形状と推定し、推定した矩形R1を二値画像に対して付加する。次に制御部11は、二値画像中の刃の領域(白画素の領域)と矩形R1の領域との差分領域であって、刃の先端側の領域(
図18B(3)では上側のグレー領域)を特定する。刃の先端側は、
図18Bのバウンディングボックスでは上側であるが、上面全体画像及び上面個別画像のそれぞれにおける刃の先端側を予め設定しておくことにより、刃の先端側の差分領域を特定できる。刃の先端側の差分領域は、当該刃の劣化領域を示す。よって、制御部11は、特定した差分領域のサイズ(面積)を算出し、算出したサイズを当該劣化領域のサイズとする。なお、制御部11は、劣化領域のサイズとして、劣化領域内の画素数を計数してもよく、
図18B(4)に示すように、直角三角形で表される劣化領域のサイズとして、画像の左右方向(工具30における刃部31の周方向)の長さと、画像の上下方向(刃部31の径方向)の長さとを算出してもよい。上面画像では、各刃が略矩形状に撮影されるので、画像中の刃31aの領域と矩形R1の領域とを比較することで、刃31aの劣化領域のサイズを高精度に推定できる。
【0086】
制御部11は、劣化領域が無いと判断した場合(S91:NO)、ステップS92をスキップし、
図6の処理に戻る。
図6の処理では、ステップS17で制御部11は、ステップS13で読み出した撮影画像(原画像)と、ステップS34で生成したラベル画像と、ステップS35で劣化領域の有無を判定した判定結果と、劣化領域が有ると判定した場合にステップS92で算出した劣化領域のサイズとを、撮影日時と、ステップS14で特定した撮影対象とに対応付けて、工具DB12aに記憶する。また、ステップS20で制御部11は、
図8に示す判定結果画面において、撮影画像中に検出された劣化領域(摩耗領域及び欠け領域)に対応付けて、各劣化領域のサイズを表示してもよい。このような構成とした場合、判定結果画面において、工具30のどの部分が劣化領域と推定されているのか、劣化領域と推定される確信度、並びに、劣化領域のサイズをまとめて表示することができる。
【0087】
本実施形態では、工具30の撮影画像に基づいて当該工具30に劣化領域が有ると推定された場合に、推定された劣化領域のサイズを自動で検出することができる。よって、自動で検出された劣化領域のサイズを通知できるだけでなく、劣化領域のサイズの大小に応じて、通知対象とする劣化領域のサイズを切り替えることができる。即ち、劣化領域のサイズ(劣化幅)に対して、アラートを出力するか否かの閾値を設定することができる。例えばサイズ(幅)が0.5mm以上の劣化領域が検出された工具30をアラート対象とすることができ、この場合、サイズが0.5mm未満の劣化領域を有する工具30はアラート対象としないことにより、不要なアラート出力を抑制することができる。本実施形態の構成は、上述した実施形態1~4の工具管理システムに適用可能であり、実施形態1~4の工具管理システムに適用した場合であっても同様の処理の実行が可能であり、同様の効果が得られる。また、本実施形態においても、上述した実施形態1~4で適宜説明した変形例の適用が可能である。
【0088】
(実施形態6)
ラベル画像に基づいて撮影対象の工具に劣化領域が有るか否かを判定する際に用いる、判別ラベルに対する確信度に対する閾値を、工具(工具の型番)に応じて切替可能な工具管理システムについて説明する。本実施形態の工具管理システムは、実施形態1~5の工具管理システムと同様の装置によって実現できるので、各装置の構成についての説明は省略する。なお、本実施形態では、サーバ10は、
図1に示す構成に加えて、記憶部12に判別閾値DBを記憶している。
【0089】
図19は判別閾値DBのレコードレイアウトの一例を示す説明図である。判別閾値DBは、工具管理システムで管理される各工具に対応付けて、モデルM1~M4を用いて劣化領域の有無を判別する際に用いる閾値を記憶するデータベースである。判別閾値DBは例えば、型番列、メーカ名列、種類列、及び判別閾値列を含み、各工具の型番に対応付けて、各工具の情報及び各工具に対する判別閾値を記憶する。判別閾値は、予め設定された数値であってもよく、任意に変更された数値であってもよい。判別閾値DBは
図19に示す構成に限定されない。
【0090】
図20は実施形態6の劣化領域の推定処理手順の一例を示すフローチャートである。
図20に示す処理は、
図7に示す処理において、ステップS34,S35の間にステップS101を追加したものである。
図7と同じステップについては説明を省略する。
【0091】
本実施形態の劣化領域の推定処理において、サーバ10の制御部11は、
図7のステップS31~S34と同様の処理を行う。これにより、制御部11は、原画像(撮影画像)に対して、劣化領域を囲むバウンディングボックスと、当該劣化領域の種類を示す判別ラベルと、判別ラベルに対する確信度(判別ラベルが示す劣化状態である可能性)とを付与したラベル画像を生成することができる。制御部11は、判別閾値DBから、ここでの処理対象の工具30に対する判別閾値を取得する(S101)。具体的には制御部11は、処理対象の工具30の型番を特定し、特定した型番に対応する判別閾値を判別閾値DBから読み出す。例えば工具30の型番等の情報をコード化したコード(例えばバーコード、QRコード)が、工具30を保持するホルダに印字又は貼付されており、制御部11は、コード読取部を用いてこのコードを読み取ることによって、処理対象の工具30の型番を取得できる。なお、工具30の型番は、例えば入力部14を介して受け付けてもよく、それぞれの工具の撮影画像の画像特徴量を示すテンプレート画像を用いたテンプレートマッチングによって特定してもよく、学習モデルを用いた画像認識によって特定してもよい。
【0092】
制御部11は、ステップS101で取得した判別閾値を用いて、ステップS34で生成したラベル画像に基づいて、当該撮影画像中の工具に劣化領域が有るか否かを判定する(S35)。例えば制御部11は、ラベル画像における判別ラベルに対する確信度が、ステップS101で取得した判別閾値以上であるバウンディングボックスがあるか否かに応じて、劣化領域が有るか否かを判定する。具体的には、制御部11は、判別閾値以上のバウンディングボックスが有ると判断した場合、このバウンディングボックスで示される領域を劣化領域と判定する。そして、制御部11は、
図6の処理に戻る。なお、
図6中のステップS14で、制御部11は、撮影対象の刃の情報に加えて、撮影対象の工具30の型番を特定している場合、ステップS101では、ステップS14で特定した工具30の型番に基づいて当該工具30の判別閾値を取得してもよい。
【0093】
上述した処理により、本実施形態では、工具毎に(工具の型番毎に)、ラベル画像中の判別ラベルに対する確信度に対して、劣化領域と決定すべきか否かの閾値を切り替えることができる。例えば、刃部31の径が細いほど、小さい劣化領域であっても劣化の影響を受けるので、刃部31の径が細い工具に対しては、小さい値の判別閾値を設定することにより、確信度が小さい劣化領域についても精度よく検出する構成とする。一方、刃部31の径が太い工具に対しては、大きい値の判別閾値を設定することにより、判別閾値未満の確信度の劣化領域を検出対象から除外し、判別閾値以上の確信度の劣化領域を確実に検出する構成とすることができる。
【0094】
本実施形態の構成は、上述した実施形態1~5の工具管理システムに適用可能であり、実施形態1~5の工具管理システムに適用した場合であっても同様の処理の実行が可能であり、同様の効果が得られる。また、本実施形態においても、上述した実施形態1~5で適宜説明した変形例の適用が可能である。
【0095】
各実施形態に記載した事項は相互に組み合わせることが可能である。また、請求の範囲に記載した独立請求項及び従属請求項は、引用形式に関わらず全てのあらゆる組み合わせにおいて、相互に組み合わせることが可能である。さらに、請求の範囲には他の2以上のクレームを引用するクレームを記載する形式(マルチクレーム形式)を用いているが、これに限るものではない。マルチクレームを少なくとも一つ引用するマルチクレーム(マルチマルチクレーム)を記載する形式を用いて記載しても良い。
【0096】
今回開示された実施形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、請求の範囲によって示され、請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0097】
10 サーバ
11 制御部
12 記憶部
13 通信部
20 撮影装置
21 制御部
22 記憶部
23 通信部
26 撮影部
27 撮影方向制御部
30 工具
31 刃部
31a 刃
M1 上面用モデル
M2 斜め用モデル
M3 外周用モデル
M4 すくい面用モデル
12a 工具DB
【要約】
工具の劣化状態を精度よく検出することが可能なプログラム等を提供する。コンピュータは、プログラムに従って、切削工具に設けられた刃部を撮影した撮影画像を取得する。そして、コンピュータは、切削工具の刃部の撮影画像を入力した場合に、前記刃部の劣化状態に関する情報を出力するように学習済みの学習モデルに、取得した撮影画像を入力して、当該撮影画像中の切削工具の刃部の劣化状態に関する情報を取得する。