(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-14
(45)【発行日】2024-05-22
(54)【発明の名称】部品特定プログラム、部品特定方法及び情報処理装置
(51)【国際特許分類】
G06T 7/00 20170101AFI20240515BHJP
G06F 3/0484 20220101ALI20240515BHJP
【FI】
G06T7/00 610C
G06F3/0484
(21)【出願番号】P 2020151807
(22)【出願日】2020-09-10
【審査請求日】2023-06-08
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110002918
【氏名又は名称】弁理士法人扶桑国際特許事務所
(72)【発明者】
【氏名】諏訪部 純
(72)【発明者】
【氏名】野崎 直行
(72)【発明者】
【氏名】木寺 雅如
(72)【発明者】
【氏名】林 宏興
【審査官】佐藤 実
(56)【参考文献】
【文献】特開平06-069698(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
G06F 3/0484
(57)【特許請求の範囲】
【請求項1】
複数の部品を含む装置の撮像画像についての入力された第1の画像情報に基づいて、前記撮像画像を表示装置に表示し、
前記第1の画像情報に基づいて、記憶部に記憶された前記装置の設計データから、前記撮像画像における前記装置の表示状態と同じ表示状態を示す第2の画像情報を生成し、
前記第2の画像情報と前記設計データに基づいて、表示された前記撮像画像において指定された第1の指定位置に対応する前記第2の画像情報の座標にある部品を特定し、
前記設計データに含まれる、特定した前記部品の情報を出力する、
処理をコンピュータに実行させる部品特定プログラム。
【請求項2】
前記第1の画像情報に基づいて、前記設計データにより表される前記装置の第1の表示サイズ、第1の表示位置、または第1の向きを、前記撮像画像における前記装置の第2の表示サイズ、第2の表示位置、または第2の向きと一致させることで、前記第2の画像情報を生成する、処理を前記コンピュータに実行させる請求項1に記載の部品特定プログラム。
【請求項3】
前記記憶部には、前記設計データから得られ、前記複数の部品の何れかの表示の有無がそれぞれ異なる複数の表示パターンのそれぞれについての第3の画像情報が記憶されており、
前記記憶部に記憶された前記複数の表示パターンのそれぞれについての前記第3の画像情報と前記第1の画像情報との類似度に基づいて、前記複数の表示パターンの何れかを選択し、
前記第1の画像情報に基づいて、選択した表示パターンの前記第3の画像情報により表される前記装置の、第1の表示サイズ、第1の表示位置、または第1の向きを、前記撮像画像における前記装置の第2の表示サイズ、第2の表示位置、または第2の向きと一致させることで、前記第2の画像情報を生成する、
処理を前記コンピュータに実行させる請求項1に記載の部品特定プログラム。
【請求項4】
前記第1の画像情報に基づいて、前記撮像画像に表示されている前記複数の部品のうち第1の部品と第2の部品とを検出し、
前記撮像画像における前記第1の部品の位置と、選択した前記表示パターンにおける前記第1の部品の位置とが、一致するように前記第1の表示位置を調整し、
前記第1の表示位置の調整後に、前記撮像画像における前記第2の部品の位置と、選択した前記表示パターンにおける前記第2の部品の位置とが、一致するように前記第1の向きを回転させる、
処理を前記コンピュータに実行させる請求項3に記載の部品特定プログラム。
【請求項5】
前記第1の指定位置に対応する前記部品がない場合、前記第2の画像情報に基づく画像において、前記第1の指定位置を含む領域を前記表示装置に拡大表示し、
拡大表示された前記領域において指定された第2の指定位置に対応する前記第2の画像情報の座標にある前記部品を特定する、
処理を前記コンピュータに実行させる請求項1乃至4の何れか一項に記載の部品特定プログラム。
【請求項6】
特定した前記部品において発生した現象の内容を、前記部品の前記情報と紐付けて記憶する、請求項1乃至5の何れか一項に記載の部品特定プログラム。
【請求項7】
コンピュータが、
複数の部品を含む装置の撮像画像についての入力された第1の画像情報に基づいて、前記撮像画像を表示装置に表示し、
前記第1の画像情報に基づいて、記憶部に記憶された前記装置の設計データから、前記撮像画像における前記装置の表示状態と同じ表示状態を示す第2の画像情報を生成し、
前記第2の画像情報と前記設計データに基づいて、表示された前記撮像画像において指定された第1の指定位置に対応する前記第2の画像情報の座標にある部品を特定し、
前記設計データに含まれる、特定した前記部品の情報を出力する、
部品特定方法。
【請求項8】
複数の部品を含む装置の設計データを記憶する記憶部と、
前記装置の撮像画像についての入力された第1の画像情報に基づいて、前記撮像画像を表示装置に表示し、前記第1の画像情報に基づいて、前記記憶部に記憶された前記設計データから、前記撮像画像における前記装置の表示状態と同じ表示状態を示す第2の画像情報を生成し、前記第2の画像情報と前記設計データに基づいて、表示された前記撮像画像において指定された第1の指定位置に対応する前記第2の画像情報の座標にある部品を特定する処理部と、
前記設計データに含まれる、特定した前記部品の情報を出力する出力部と、
を有する情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、部品特定プログラム、部品特定方法及び情報処理装置に関する。
【背景技術】
【0002】
工場の組み立てラインなどにおいて、組み立て対象などの装置に含まれる部品の不具合が検出された際、作業者が不具合部品の部品名、部品番号、症状などを人手によりシステムに入力することがあった。また、修理の際には、作業者がBOM(Bills Of Material)から不具合部品の部品番号を探し出し、代わりの部品を手配する場合があった。このように人が部品名や部品番号などを指定することにより部品を特定する手法がある。
【0003】
一方、自動運転などの分野ではAI(Artificial Intelligence)による物体検出技術が活用されている。物体検出技術では、画像の中から車両や人などが特定される。
また、従来、部品単体を複数方向から撮影し、撮像画像と各分類項目の画像とを比較することで、その部品がどの分類に属するかを判定する技術が提案されている(たとえば、特許文献1参照)。
【0004】
また、従来、複数の部品を組合せて構成された3次元モデルをもとに画面に表示された2次元画像への入力操作により、目的の部品の2次元画像を選択し出力する技術が提案されている(たとえば、特許文献2参照)。
【先行技術文献】
【特許文献】
【0005】
【文献】特開2019-128881号公報
【文献】特開2009-054018号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
上記のように人が部品名や部品番号などを指定することにより部品を特定する手法では、表記ゆれや入力ミスなどが生じ、システムに蓄積された情報が有効に活用できない可能性があることに加え、手間と時間がかかる。一方、上記のようなAIによる物体検出技術を用いて、複数の部品を含む装置の撮像画像から部品を特定しようとする場合、小さい部品では、数ピクセル程度の画素数となる場合もあり、特定が困難である。また、部品の撮像画像と各分類項目の画像とを比較し、その部品がどの分類に属するかを判定する技術は、部品単体の分類をするものであり、複数の部品を含む装置の撮像画像から部品を特定するものではない。
【0007】
1つの側面では、本発明は、複数の部品を含む装置の撮像画像から部品を特定可能な部品特定プログラム、部品特定方法及び情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【0008】
1つの実施態様では、複数の部品を含む装置の撮像画像についての入力された第1の画像情報に基づいて、前記撮像画像を表示装置に表示し、前記第1の画像情報に基づいて、記憶部に記憶された前記装置の設計データから、前記撮像画像における前記装置の表示状態と同じ表示状態を示す第2の画像情報を生成し、前記第2の画像情報と前記設計データに基づいて、表示された前記撮像画像において指定された第1の指定位置に対応する前記第2の画像情報の座標にある部品を特定し、前記設計データに含まれる、特定した前記部品の情報を出力する、処理をコンピュータに実行させる部品特定プログラムが提供される。
【0009】
また、1つの実施態様では部品特定方法が提供される。
また、1つの実施態様では情報処理装置が提供される。
【発明の効果】
【0010】
1つの側面では、本発明は、複数の部品を含む装置の撮像画像から部品を特定可能となる。
【図面の簡単な説明】
【0011】
【
図1】第1の実施の形態の情報処理装置及び部品特定方法の一例を示す図である。
【
図2】情報処理装置のハードウェア例を示すブロック図である。
【
図3】情報処理装置の機能例を示すブロック図である。
【
図4】部品特定方法の処理の一例の流れを示すフローチャートである。
【
図6】テンプレートマッチングによる部品検出処理の一例を示す図である。
【
図8】類似度に基づいた表示パターンの選択例を示す図である。
【
図9】表示サイズのマッチングの一例を示す図である。
【
図10】表示位置のマッチングの一例を示す図である。
【
図12】特定された部品の強調表示例を示す図である。
【
図13】3次元モデルの拡大表示例を示す図である。
【
図14】特定した部品についての情報の表示例を示す図である。
【発明を実施するための形態】
【0012】
以下、発明を実施するための形態を、図面を参照しつつ説明する。
(第1の実施の形態)
図1は、第1の実施の形態の情報処理装置及び部品特定方法の一例を示す図である。
【0013】
情報処理装置10は、たとえば、撮像装置11aによって撮影された装置15の撮像画像を表示装置14aの画面に表示し、撮像画像においてユーザによって指定された位置にある部品を、装置15の設計データを利用することで特定する。
【0014】
情報処理装置10は、入力部11、記憶部12、処理部13、出力部14を有する。
入力部11は、処理部13の制御のもと、外部から入力された情報を取得し、処理部13に出力するインタフェース回路である。入力部11には、撮像装置11aによって得られる装置15(複数の部品(たとえば、
図1の部品15a,15bなど)を含む)の撮像画像の画像情報が入力される。撮像装置11aは、たとえば、CCD(Charge Coupled Device)カメラ、CMOS(Complementary Metal Oxide Semiconductor)カメラなどである。
【0015】
入力される画像情報は、たとえば、工場における組み立てラインの、ある工程における装置15を撮影した撮像画像の画像情報である。
なお、入力される画像情報は、予め情報処理装置10の外部の記憶装置に記憶されたものであってもよいし、ネットワークを介して別の情報処理装置から送信されたものであってもよい。また、撮像画像は、複数の視点から得られた画像であってもよい。
【0016】
また、入力部11は、ユーザによる入力装置11b(マウス、キーボード、タッチパネルなど)の操作によって入力される情報を取得する。
記憶部12は、RAM(Random Access Memory)などの揮発性の記憶装置、または、HDD(Hard Disk Drive)やフラッシュメモリなどの不揮発性の記憶装置である。
【0017】
記憶部12は、装置15の設計データ12aなどの各種データを記憶する。設計データ12aは、たとえば、装置15の3次元モデルである。設計データ12aは、装置15に含まれる部品の座標情報のほか、部品名、その部品の取付位置、材質などを含む。また、設計データ12aは、その部品についてのBOMの部品番号などを含んでいてもよい。
【0018】
また、記憶部12は、ある部品において発生した現象の内容(障害の内容など)を、設計データ12aにおけるその部品の情報と紐付けて記憶していてもよい。
処理部13は、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)などのハードウェアであるプロセッサにより実現される。ただし、処理部13は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの電子回路を含んでもよい。プロセッサは、RAMなどのメモリに記憶されたプログラムを実行する。たとえば、部品特定プログラムが実行される。なお、複数のプロセッサの集合を「マルチプロセッサ」または単に「プロセッサ」ということがある。処理部13が部品特定プログラムを実行した場合の処理(部品特定方法)については後述する。
【0019】
出力部14は、処理部13の制御のもと、画像情報に基づく画像を表示装置14aに出力するインタフェース回路である。
処理部13が部品特定プログラムを実行すると、たとえば、
図1に示すような処理(部品特定方法)が行われる。
【0020】
入力部11は、撮像装置11aから入力された、装置15の撮像画像についての画像情報を取得する(ステップS1)。
処理部13は、装置15の撮像画像についての入力された画像情報に基づいて、出力部14に、撮像画像を表示装置14aに表示させる(ステップS2)。
【0021】
処理部13は、入力された画像情報に基づいて、記憶部12に記憶された装置15の設計データ12aから、撮像画像における装置15の表示状態と同じ表示状態を示す画像情報を生成する(ステップS3)。
【0022】
たとえば、処理部13は、入力された画像情報に基づいて、設計データ12aにより表される装置15の表示サイズ、表示位置、または向きを、撮像画像における装置15の表示サイズ、表示位置、または向きと一致させることで、上記の画像情報を生成する。
【0023】
なお、設計データ12aには、撮像画像に現れている装置15の部品以外の部品についての情報も含まれている場合がある。たとえば、ノートパソコンの組み立てラインにおけるある工程の撮像画像には、バッテリーが現れていない場合もあるし、別の工程の撮像画像には、電源装置が現れていない場合もある。
【0024】
このような場合に対応するために、予め記憶部12に、設計データ12aから得られ、複数の部品の何れかの表示の有無がそれぞれ異なる装置15の複数の表示パターンのそれぞれについての画像情報が記憶されていてもよい。その場合、処理部13は、記憶部12に記憶された上記複数の表示パターンのそれぞれについての画像情報と、入力された画像情報との類似度に基づいて、複数の表示パターンの何れかを選択する。そして、処理部13は、入力された画像情報に基づいて、選択した表示パターンについての画像情報により表される装置15の、表示サイズ、表示位置、または向きを、撮像画像における装置15の表示サイズ、表示位置、または向きと一致させた画像情報を生成する。
【0025】
上記のような表示状態を撮像画像に合致させる処理の、より詳細な例については後述する。
ステップS3の処理後、入力部11は、表示装置14aの画面に表示された撮像画像における、ユーザによる位置指定を受け付ける(ステップS4)。たとえば、入力装置11bの一例であるマウスによって、表示された撮像画像の所定の位置がクリックで指定された場合、処理部13は、指定位置に対応する、撮像画像が表示されている画面上の座標を取得する。
【0026】
そして、処理部13は、設計データ12aから上記のように生成した画像情報において、指定位置に対応した座標にある部品を特定し(ステップS5)、設計データ12aに含まれる、特定した部品の情報を出力する(ステップS6)。
【0027】
ステップS6の処理では、処理部13は、特定した部品の情報を、出力部14を用いて表示装置14aに出力して表示させてもよいし、外部の図示しない記憶装置に出力して記憶させてもよい。また、処理部13は、特定した部品の情報を記憶部12に記憶してもよい。
【0028】
図1には、ユーザが、マウスのカーソル16を撮像画像における所定の位置に合わせてクリックした後に表示される部品の情報の例が示されている。
図1の例では、ユーザによって指定され、特定された部品(指定部品)の部品名として「ねじA」、部品番号として「A0001」が表示されている。
【0029】
さらに、たとえば、特定された部品において不具合などの現象が発生している場合、ユーザは、発生している現象の内容を入力装置11bにより入力することができる。ユーザが入力した情報は、指定された部品の情報に紐付けられて、たとえば、記憶部12に記憶される。
【0030】
なお、部品特定方法の処理の順序は、上記の例に限定されるものではない。たとえば、ステップS2とステップS3の処理順序を入れ替えてもよいし、ステップS3とステップS4の処理順序を入れ替えてもよい。
【0031】
以上のような情報処理装置10及び部品特定方法によれば、装置15の撮像画像の表示状態と同じ表示状態を示す画像情報を設計データ12aから生成することで、撮像画像のある位置を指定するだけでその位置に対応する画像情報の座標にある部品を特定できる。
【0032】
また、このように特定した部品の情報が、設計データ12aから得られるため、たとえば、発生した不具合などに関する情報をシステムに登録する際にも、設計データ12aから得られた部品の部品名などを活用でき、人手による表記ゆれや入力ミスも防げる。
【0033】
また、設計データ12aにおける部品の情報としてBOMの部品番号を含める、またはその部品の情報にBOMの部品番号を紐付けしておけば、撮像画像上で部品を指定するだけで部品番号を取得でき、不具合部品の手配も容易になる。
【0034】
(第2の実施の形態)
次に、第2の実施の形態を説明する。
図2は、情報処理装置のハードウェア例を示すブロック図である。
【0035】
情報処理装置20は、CPU21、RAM22、HDD23、画像情報処理部24、入力情報処理部25、媒体リーダ26及び通信インタフェース27を有する。上記ユニットは、バスに接続されている。
【0036】
CPU21は、プログラムの命令を実行する演算回路を含むプロセッサである。CPU21は、HDD23に記憶されたプログラムやデータの少なくとも一部をRAM22にロードし、プログラムを実行する。なお、CPU21は複数のプロセッサコアを備えてもよく、情報処理装置20は複数のプロセッサを備えてもよく、以下で説明する処理を複数のプロセッサまたはプロセッサコアを用いて並列に実行してもよい。また、複数のプロセッサの集合(マルチプロセッサ)を「プロセッサ」と呼んでもよい。
【0037】
RAM22は、CPU21が実行するプログラムやCPU21が演算に用いるデータを一時的に記憶する揮発性の半導体メモリである。なお、情報処理装置20は、RAM以外の種類のメモリを備えてもよく、複数個のメモリを備えてもよい。
【0038】
HDD23は、OS(Operating System)やミドルウェアやアプリケーションソフトウェアなどのソフトウェアのプログラム、及び、データを記憶する不揮発性の記憶装置である。プログラムには、たとえば、部品特定処理を情報処理装置20に実行させる部品特定プログラムが含まれる。なお、情報処理装置20は、フラッシュメモリやSSD(Solid State Drive)などの他の種類の記憶装置を備えてもよく、複数の不揮発性の記憶装置を備えてもよい。
【0039】
画像情報処理部24は、CPU21からの命令にしたがって、情報処理装置20に接続されたディスプレイ24aに画像を出力する。ディスプレイ24aとしては、CRT(Cathode Ray Tube)ディスプレイ、液晶ディスプレイ(LCD:Liquid Crystal Display)、プラズマディスプレイ(PDP:Plasma Display Panel)、有機EL(OEL:Organic Electro-Luminescence)ディスプレイなどを用いることができる。
【0040】
入力情報処理部25は、情報処理装置20に接続された入力装置25aや撮像装置25bから画像情報や入力情報を取得し、CPU21に出力する。入力装置25aとしては、マウスやタッチパネルやタッチパッドやトラックボールなどのポインティングデバイス、キーボード、リモートコントローラ、ボタンスイッチなどを用いることができる。また、情報処理装置20に、複数の種類の入力装置が接続されていてもよい。
【0041】
媒体リーダ26は、記録媒体26aに記録されたプログラムやデータを読み取る読み取り装置である。記録媒体26aとして、たとえば、磁気ディスク、光ディスク、光磁気ディスク(MO:Magneto-Optical disk)、半導体メモリなどを使用できる。磁気ディスクには、フレキシブルディスク(FD:Flexible Disk)やHDDが含まれる。光ディスクには、CD(Compact Disc)やDVD(Digital Versatile Disc)が含まれる。
【0042】
媒体リーダ26は、たとえば、記録媒体26aから読み取ったプログラムやデータを、RAM22やHDD23などの他の記録媒体にコピーする。読み取られたプログラムは、たとえば、CPU21によって実行される。なお、記録媒体26aは、可搬型記録媒体であってもよく、プログラムやデータの配布に用いられることがある。また、記録媒体26aやHDD23を、コンピュータ読み取り可能な記録媒体ということがある。
【0043】
通信インタフェース27は、ネットワーク27aに接続され、ネットワーク27aを介して他の情報処理装置と通信を行うインタフェースである。通信インタフェース27は、スイッチなどの通信装置とケーブルで接続される有線通信インタフェースでもよいし、基地局と無線リンクで接続される無線通信インタフェースでもよい。
【0044】
図1に示した情報処理装置10についても、上記と同様のハードウェア構成にて実現できる。
次に、情報処理装置20の機能及び処理手順を説明する。
【0045】
図3は、情報処理装置の機能例を示すブロック図である。
情報処理装置20は、画像情報入力部31、表示状態マッチング部32、学習済モデル記憶部33、設計データ記憶部34、指定位置入力部35、部品特定部36、情報入力部37、蓄積情報記憶部38、出力部39を有する。
【0046】
画像情報入力部31、表示状態マッチング部32、指定位置入力部35、部品特定部36、情報入力部37、出力部39は、たとえばCPU21が実行するプログラムモジュールを用いて実装できる。学習済モデル記憶部33、設計データ記憶部34、蓄積情報記憶部38は、たとえば、RAM22またはHDD23に確保した記憶領域を用いて実装できる。
【0047】
画像情報入力部31は、撮像装置25bから入力された、部品特定対象の装置の撮像画像の画像情報を取得する。
表示状態マッチング部32は、入力された画像情報に基づいて、設計データ記憶部34に記憶された部品特定対象の装置の設計データから、撮像画像におけるその装置の表示状態と同じ表示状態を示す画像情報を生成する。
【0048】
以下に示す例では、表示状態マッチング部32は、撮像画像に表示されている複数の部品のうち少なくとも2つ検出する。部品の検出は、たとえば、AIによる物体検出技術または画像処理技術を用いて行われる。
【0049】
AIによる物体検出技術が用いられる場合、学習済モデル記憶部33に記憶された学習済モデルを用いて、撮像画像において比較的大きい部品の検出が行われる。たとえば、部品特定対象の装置がノートパソコンの場合、ファン、通信モジュール、SSDなどが検出対象とされる。
【0050】
画像処理技術を用いて部品を検出する場合、たとえば、テンプレートマッチングと呼ばれる技術を用いることができる。テンプレートマッチングによる部品検出処理の例については後述する。
【0051】
学習済モデル記憶部33は、表示状態マッチング部32がAIによる物体検出技術によって部品を検出する際に用いる学習済モデルを記憶する。学習済モデルは、撮像画像から、上記のような特定の部品を認識できるように、予めトレーニングされている。
【0052】
設計データ記憶部34は、部品特定対象の装置の設計データ(以下3次元モデルとする)を記憶する。なお、以下の例では、設計データ記憶部34は、部品特定対象の装置における複数の部品の何れかの表示の有無がそれぞれ異なる複数の表示パターンのそれぞれについて、予め生成された画像情報が記憶されているものとする。
【0053】
指定位置入力部35は、たとえば、ユーザによる入力装置25aの操作によって、撮像画像において指定された位置の座標(撮像画像が表示される画面上の2次元座標)を取得する。
【0054】
なお、ユーザが撮像対象の装置のある位置を直接、指差しなどで指定し、位置を指定している指などが装置とともに撮像画像に含まれている場合、指定位置入力部35は、撮像画像の画像情報からその指などを認識するようにしてもよい。そして、指定位置入力部35は、その指などにより指定されている位置の座標を取得する。指などの認識は、AIによる物体検出技術や画像処理技術により用いて行うことができる。
【0055】
部品特定部36は、指定位置入力部35から指定位置の座標を取得し、表示状態マッチング部32が生成した画像情報において、その座標にある部品を特定する。
情報入力部37は、ユーザによる入力装置25aの操作によって入力された情報を取得する。たとえば、特定された(ユーザが指定した)部品において発生した現象の内容(たとえば、発生した不具合の状況)などの情報が入力される。
【0056】
蓄積情報記憶部38は、入力された情報を、部品特定部36が特定した部品の情報(たとえば、部品名や部品番号)と対応付けて蓄積情報として記憶する。
出力部39は、撮像画像、3次元モデル、特定した部品の情報、蓄積情報記憶部38に記憶されている蓄積情報などを、ディスプレイ24aに出力して表示させる。
【0057】
以下、上記のような情報処理装置20による部品特定方法の一例を説明する。
図4は、部品特定方法の処理の一例の流れを示すフローチャートである。
まず、画像情報入力部31が撮像画像の画像情報を取得すると(ステップS10)、出力部39は、その画像情報に基づいて、ディスプレイ24aに撮像画像を表示させる(ステップS11)。
【0058】
指定位置入力部35は、ユーザによる位置の指定があるか否かを判定する(ステップS12)。位置の指定がない場合、ステップS10からの処理が繰り返され、位置の指定がある場合、指定位置入力部35は、指定された位置の座標を取得する(ステップS13)。
【0059】
また、表示状態マッチング部32は、ステップS10の処理で取得された撮像画像の画像情報に基づいて、撮像画像に表示されている複数の部品のうち少なくとも2つを検出する(ステップS14)。
【0060】
ここで検出対象となる部品は、後述の3次元モデルの画像情報を撮像画像の表示状態とマッチングさせる際の位置合わせの基準として用いられるため、比較的大きな部品でよい。このため、ステップS14の処理は、たとえば、前述したようなAIによる物体検出技術または画像処理技術を用いて行うことができる。
【0061】
図5は、部品検出結果の一例を示す図である。
図5では、装置40の撮像画像から検出された部品が枠線(以下バウンディングボックスという)で囲われている例が示されている。
【0062】
バウンディングボックス41で囲われた部品はSSDであり、バウンディングボックス42で囲われた部品はファンであり、バウンディングボックス43で囲われた部品は、無線通信モジュールである。
【0063】
AIによる物体検出技術を適用する場合、これらの部品を認識できるようにトレーニングされた学習済モデルが用いられる。
画像処理技術を利用して撮像画像から部品を検出する場合、たとえば、テンプレートマッチングが用いられる。
【0064】
図6は、テンプレートマッチングによる部品検出処理の一例を示す図である。
テンプレートマッチングによる部品検出処理では、予めHDD23などに記憶されたテンプレート画像(部分画像)が用いられ、撮像画像中からテンプレート画像に最も類似する箇所が探索される。
【0065】
図6の例では、部品ごとにテンプレート画像50,51,52,53が用意されている。テンプレート画像50はファンを示し、テンプレート画像51はスピーカを示し、テンプレート画像52は無線通信モジュールを示し、テンプレート画像53はボタン型電池を示している。テンプレート画像50~53のそれぞれには部品名が紐付けられている。このようなテンプレート画像ごとに、装置40の撮像画像から最も類似する箇所が探索される。
【0066】
類似度として、たとえば、テンプレート画像の画素値と撮像画像の画素値との差分の2乗和(2乗誤差)を用いることができる。
図6の例では、テンプレート画像50に最も類似する箇所としてバウンディングボックス60で囲われた箇所、テンプレート画像51に最も類似する箇所としてバウンディングボックス61a,61bで囲われた箇所が探索されている。また、テンプレート画像52に最も類似する箇所としてバウンディングボックス62で囲われた箇所、テンプレート画像53に最も類似する箇所としてバウンディングボックス63で囲われた箇所が探索されている。このようにして、部品の検出が行われる。
【0067】
以上のようなステップS14の部品検出処理の後、表示状態マッチング部32は、設計データ記憶部34に記憶されている複数の表示パターンの何れかを選択する(ステップS15)。ステップS15の処理では、表示状態マッチング部32は、複数の表示パターンのそれぞれについての画像情報と、撮像画像の画像情報との類似度に基づいて、何れかの表示パターンを選択する。
【0068】
表示パターンは、3次元モデルから予め作成され、撮像装置25bで撮影される可能性がある装置の表示状態をパターン化したものである。たとえば、比較的大きい部品の有無や、複数の部品を含むユニットの有無が異なる複数の表示パターンが予め作成される。
【0069】
図7は、複数の表示パターンの例を示す図である。
図7には、パターン70,71,72の表示パターンの例が示されている。また、
図7に示されているように、パターン70~72のそれぞれが示す表示状態における可視部品のリスト70a,71a,72aが、設計データ記憶部34に記憶されるようにしてもよい。
【0070】
図8は、類似度に基づいた表示パターンの選択例を示す図である。
表示状態マッチング部32は、類似度に基づいて、撮像画像と最も類似する表示パターンを選択する。このとき、3次元モデルの表示パターンに含まれる部品などは色付けされている場合があり、その色は、撮像画像の色と異なる場合があり、類似度の計算に影響を与える可能性がある。この影響をなくすために、表示状態マッチング部32は、撮像画像と各表示パターンをグレースケール、または白黒画像に変換し、色情報をなくした上で、類似度の計算を行う。
【0071】
図8の例では、パターン71の表示パターンの画像情報と撮像画像の画像情報との類似度が最大であるため、パターン71が選択されている。
なお、3次元モデルのデフォルトの表示パターンがある場合には、上記のように選択した表示パターンに変更するようにしてもよい。
【0072】
次に、表示状態マッチング部32は、選択した表示パターンにおける装置と撮像画像における装置との表示サイズなどのマッチングを行う(ステップS16)。ステップS16の処理では、表示状態マッチング部32は、選択した表示パターンにおける装置の表示サイズ、表示位置、または、向きを、撮像画像における装置の表示サイズ、表示位置、または向きと一致させた画像情報を生成する。
【0073】
表示状態マッチング部32は、たとえば、まず、選択した表示パターンにおける装置の表示サイズを、撮像画像における装置の表示サイズに合わせる。
図9は、表示サイズのマッチングの一例を示す図である。
【0074】
図9には、ステップS15の処理で選択された3次元モデルの表示パターン(パターン71)における装置の表示サイズを、撮像画像における装置40の表示サイズに合わせる例が示されている。
【0075】
表示サイズのマッチングには、ステップS14の処理で検出された部品を囲うバウンディングボックス41~43を用いることができる。表示状態マッチング部32は、ステップS14の処理で検出した部品と同じ、3次元モデルにおける部品を囲うバウンディングボックス41a,42a,43aを設定する。そして、表示状態マッチング部32は、バウンディングボックス41a~43aがバウンディングボックス41~43と同じ大きさになるように、3次元モデルのパターン71における装置の表示サイズを変更(
図9の例では拡大)する。
【0076】
次に、表示状態マッチング部32は、選択した表示パターンにおける装置の表示位置、または、向きを、撮像画像における装置の表示位置、または向きと一致させる。
図10は、表示位置のマッチングの一例を示す図である。
【0077】
表示状態マッチング部32は、たとえば、撮像画像から検出した複数の部品のうち1番大きい部品と、3次元モデルにおける同一部品との位置とが一致するように3次元モデルの表示位置を調整する。部品の位置として、部品を囲うバウンディングボックスの中心座標を用いることができる。表示位置の調整は、たとえば、3次元モデルの画像情報の座標変換により行われる。
【0078】
図10の例では、装置40の撮像画像から検出されたファンを囲うバウンディングボックス42の中心座標に対して、3次元モデルのパターン71に含まれるファンに設定されたバウンディングボックス42aの中心座標を一致させる例が示されている。
【0079】
図11は、向きのマッチングの一例を示す図である。
装置40の撮像画像と、パターン71の向きが異なる場合、たとえば、
図11に示すように、一致させたバウンディングボックス42,42aの中心座標を中心に、向きが一致するように3次元モデルのパターン71を回転させる座標変換を行う。
【0080】
たとえば、表示状態マッチング部32は、撮像画像から検出した複数の部品のうち上記の表示位置のマッチングに用いた部品以外の部品を選択する。そして、表示状態マッチング部32は、選択した部品の位置と、パターン71における同一部品の位置とが一致するようにパターン71を回転させる。たとえば、両部品のそれぞれを囲うバウンディングボックスが最も重なる向きになるようにパターン71の回転が行われる。
【0081】
図11の例では、撮像画像とパターン71に含まれるSSDについてのバウンディングボックス41,41aが重なるように、パターン71を回転させる例が示されている。たとえば、表示状態マッチング部32は、バウンディングボックス41,41aの各頂点の座標のずれが最小になるように、パターン71を回転させる。
【0082】
以上の処理によって、選択した表示パターンにおける装置の表示サイズ、表示位置、または、向きを、撮像画像における装置の表示サイズ、表示位置、または向きと一致させた画像情報を生成することができる。つまり、撮像画像における装置と、選択した表示パターンにおける装置とを重ね合わせることができ、撮像画像における装置内の座標と、選択した表示パターンにおける装置内の座標とが一致するようになる。
【0083】
上記のような表示状態のマッチング後、出力部39は、マッチング後の3次元モデル(表示パターン)を、ディスプレイ24aに表示させる(ステップS17)。
部品特定部36は、指定位置入力部35が取得したユーザによる指定位置の座標にある部品を、3次元モデルから特定する(ステップS18)。なお、このとき出力部39は、3次元モデルにおいて特定された部品を、ディスプレイ24aに強調表示させるようにしてもよい。
【0084】
図12は、特定された部品の強調表示例を示す図である。
撮像画像が表示されているディスプレイ24aの画面80において、ユーザが、マウスのカーソル80aを撮像画像における所定の位置に合わせてクリックした後、出力部39は、ディスプレイ24aに表示させる画面80を画面81に切り替える。画面81には、表示状態のマッチング後の3次元モデルが示され、カーソル80aで指定された位置にある部品が、たとえば、枠線80bによって囲われることで強調表示されている。
【0085】
なお、強調表示の方法はこれに限定されるものではなく、特定された部品が他の部品とは異なる色により表示されるようにしてもよい。
ステップS18の処理後、出力部39は、部品特定部36が特定した部品の情報を設計データ記憶部34から取得し、ディスプレイ24aに表示させる(ステップS19)。これによって、処理が終了する。
【0086】
なお、部品特定方法の処理の順序や処理内容は、上記の例に限定されるものではない。
たとえば、ステップS18の処理において、ユーザによる指定位置に部品がない場合、部品特定部36は部品の特定ができない。しかしその場合、情報処理装置20は、たとえば、以下のような処理を行うことで部品を特定することができる。
【0087】
情報処理装置20の出力部39は、表示状態のマッチング後の3次元モデルの画像情報に基づく画像において、指定位置を含む領域をディスプレイ24aに拡大表示させる。そして、部品特定部36は、拡大表示された領域においてユーザによって指定された指定位置に対応する3次元モデルの画像情報の座標にある部品を特定する。
【0088】
図13は、3次元モデルの拡大表示例を示す図である。
表示状態マッチング後の3次元モデルの画像情報に基づく画像が表示されている画面82には、ユーザが撮像画像上で指定した位置を示すカーソル82aが示されている。カーソル82aによる指定位置に部品がない場合、出力部39は、この画像においてカーソル82aによる指定位置を含む領域82bを拡大表示した画面83を、ディスプレイ24aに表示させる。
【0089】
これにより、ユーザは、領域82bの拡大図において、カーソル82aの位置を意図する部品に合わせて指定する。指定位置入力部35は、カーソル82aによって指定された位置の座標を取得し、部品特定部36は、その座標にある部品を特定する。
【0090】
これによって、小さい部品でも特定が容易になる。
また、ステップS19の処理で、出力部39は、部品特定部36が特定した部品について、過去に生じた現象の内容(障害情報など)や、その部品の取付位置などの特定した部品の周辺の情報についてもディスプレイ24aに表示させてもよい。
【0091】
図14は、特定した部品についての情報の表示例を示す図である。
図14には、特定した部品と対応付けて過去に入力され、蓄積情報記憶部38に記憶されている過去に生じた現象の内容(障害情報など)が、そのときの開発名称などとともに、ディスプレイ24aに表示されている。また、特定した部品の取付位置についても、設計データ記憶部34に記憶されている3次元モデルに基づいて、たとえば、
図14のような囲み線90により示されている。
【0092】
これによって、たとえば、ネジの中でも、カバーの右下に取り付けているネジで不具合がよく発生している、などの現象を把握することができる。また、ある部品について過去に発生した現象の内容から、今回、同じ部品について発生した障害の候補を絞ることもできる。
【0093】
なお、出力部39は、特定した部品について、設計データに含まれるその他の情報(部品の材質、大きさ、部品番号など)を表示してもよい。また、出力部39は、蓄積情報記憶部38に、特定した部品について、過去に入力された修理方法の情報がある場合、その情報をディスプレイ24aに表示してもよい。
【0094】
また、ユーザは、入力装置25aの操作によって現象内容などを更新してもよいし、特定した部品について蓄積すべき情報を新たに入力してもよい。新たに入力された情報は、部品特定部36が特定した部品の情報に紐付けられて、蓄積情報記憶部38に蓄積情報として記憶される。
【0095】
以上のような情報処理装置20及び部品特定方法によれば、装置の撮像画像の表示状態と同じ表示状態を示す画像情報を設計データから生成することで、撮像画像のある位置を指定するだけでその位置に対応する画像情報の座標にある部品を特定できる。
【0096】
また、このように特定した部品の情報が、設計データから得られるため、たとえば、発生した不具合などに関する情報を蓄積情報記憶部38に記憶する際にも、設計データから得られた部品の部品名などを活用でき、人手による表記ゆれや入力ミスも防げる。
【0097】
また、設計データにおける部品の情報としてBOMの部品番号を含める、またはその部品の情報にBOMの部品番号を紐付けしておけば、撮像画像上で部品を指定するだけで部品番号を取得でき、不具合部品の手配も容易になる。
【0098】
また、特定した部品の周辺の情報も設計データから取得できるため、分析の幅が広がる。たとえば、基板の近くにある部品でいつも障害が発生している、ネジ部品において、3部品以上締結している箇所で障害が多く発生している、などの分析が可能になる。
【0099】
なお、前述のように、上記の処理内容は、情報処理装置20にプログラムを実行させることで実現できる。
プログラムは、コンピュータ読み取り可能な記録媒体(たとえば、記録媒体26a)に記録しておくことができる。記録媒体として、たとえば、磁気ディスク、光ディスク、光磁気ディスク、半導体メモリなどを使用できる。磁気ディスクには、FD及びHDDが含まれる。光ディスクには、CD、CD-R(Recordable)/RW(Rewritable)、DVD及びDVD-R/RWが含まれる。プログラムは、可搬型の記録媒体に記録されて配布されることがある。その場合、可搬型の記録媒体から他の記録媒体(たとえば、HDD23)にプログラムをコピーして実行してもよい。
【0100】
以上、実施の形態に基づき、本発明の部品特定プログラム、部品特定方法及び情報処理装置の一観点について説明してきたが、これらは一例にすぎず、上記の記載に限定されるものではない。
【符号の説明】
【0101】
10 情報処理装置
11 入力部
11a 撮像装置
11b 入力装置
12 記憶部
12a 設計データ
13 処理部
14 出力部
14a 表示装置
15 装置
15a,15b 部品
16 カーソル