以下、図面を参照しながら、本発明を実施するための形態について詳細に説明する。説明および図面において同一または同等の構成要素、部材、処理には同一の符号を付し、重複する説明は適宜省略する。図示される各部の縮尺や形状は、説明を容易にするために便宜的に設定されており、特に言及がない限り限定的に解釈されるものではない。実施の形態は例示であり、本発明の範囲を何ら限定するものではない。実施の形態に記述されるすべての特徴やその組み合わせは、必ずしも発明の本質的なものであるとは限らない。
図1は、実施の形態に係る検査支援装置10のブロック図である。検査支援装置10は、被検査物200を検査する検査装置100に搭載される。この実施の形態では、被検査物200は、たとえばコークス炉のレンガ造りの炉壁である。検査装置100は、被検査物200を撮影した画像にもとづいて、損傷領域など被検査物200の対象領域202を画像認識により検出し、対象領域202の位置をユーザーに提示する。検査装置100は、対象領域202の位置だけでなく、被検査物200のたとえば亀裂、欠け、穴などあらかじめ選択された対象領域202の種類を画像認識により検出し、対象領域202の種類をユーザーに提示してもよい。
検査支援装置10は、メモリ12、入力画像選択部14、第1画像処理部20、第2画像処理部30、演算部40、画像生成部50を備える。また、検査支援装置10は、カメラ110、ユーザインターフェイス120とともに、検査装置100を構成する。ユーザインターフェイス120は、ユーザーからの入力を受け付け、またユーザーに情報を提示するように検査支援装置10に接続される入力手段121およびディスプレイ122(またはその他の通知手段)を含みうる。カメラ110、ユーザインターフェイス120は、検査支援装置10の構成要素とみなされてもよい。
検査支援装置10は、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)、マイコンなどのプロセッサ(ハードウェア)と、プロセッサ(ハードウェア)が実行するソフトウェアプログラムの組み合わせで実装することができる。たとえば第1画像処理部20、第2画像処理部30、演算部40など図示される機能ブロックは、必ずしも別個のハードウェアとして認識されるものではなく、1つ又は複数のプロセッサとソフトウェアプログラムの組み合わせにより実現される機能を表す。
カメラ110は、被検査物200を撮影するように配置されている。カメラ110は、移動可能であってもよく、撮影のために例えばコークス炉内または適切な撮影場所へと待避位置から移動されてもよい。カメラ110は、撮影しながら移動されてもよい。カメラ110は、例えばコークス炉内の高温環境またはその他の周囲環境からカメラ110を保護する保護ハウジング(例えば耐熱ハウジング)に収納されていてもよい。
カメラ110は、撮影した画像データ(以下、入力画像データともいう)D1を提供するように検査支援装置10に接続されている。カメラ110は、静止画または動画を撮影することができる。カメラ110は、モノクロ画像またはカラー画像を撮影することができる。カメラ110は、入力画像データD1をメモリ12に出力する。カメラ110は、被検査物200を撮影しながら入力画像データD1をメモリ12に逐次出力してもよい。
メモリ12は、入力画像データD1が格納された画像データベースとして機能する。画像データベースは、被検査物200をカメラ110であらかじめ撮影し入力画像データD1を取得することによって、事前に構築されてもよい。あるいは、画像データベースは、被検査物200をカメラ110でリアルタイムに撮影しながら入力画像データD1をメモリ12に逐次格納するものでもよい。
入力画像データD1のほかに、メモリ12は、検査支援装置10が中間的または最終的に生成または出力する画像データなど様々な出力データ、または、検査支援装置10および検査装置100に関連するデータを保存しまたは予め保持してもよい。
入力画像選択部14は、処理されるべき入力画像データD1を画像データベースから選択し、選択された入力画像データD1を第1画像処理部20と第2画像処理部30に提供する。入力画像選択部14は、カメラ110でリアルタイムに撮影した画像を直ちに第1画像処理部20と第2画像処理部30に入力してもよい。入力画像選択部14は、たとえば入力手段121から入力されるユーザーの指示に従って、画像データベースのなかから入力画像データD1を選択してもよい。入力画像選択部14は、たとえばディスプレイ122への表示のために、選択された入力画像データD1を画像生成部50に出力してもよい。
必要に応じて、入力画像選択部14は、処理されるべき入力画像データD1に前処理を施して、前処理済の入力画像データD1を第1画像処理部20と第2画像処理部30に提供してもよい。たとえば、画像のデータ量が大きい場合には、入力画像選択部14は、入力画像データD1をたとえば格子状に複数の部分に分割し、第1画像処理部20と第2画像処理部30に入力してもよい。入力画像選択部14は、前処理として、エッジ検出、輝度補正、画像強調など適宜の画像処理を入力画像データD1に施してもよい。
第1画像処理部20は、被検査物200を撮影した入力画像データD1を受け、例えば領域分割、物体検出など、被検査物200の対象領域202を検出する第1画像認識処理を入力画像データD1に行い、被検査物200の対象領域202を示す第1出力データD3_1を生成する。同様に、第2画像処理部30は、入力画像データD1を受け、被検査物200の対象領域202を検出する第2画像認識処理を入力画像データD1に行い、被検査物200の対象領域202を示す第2出力データD3_2を生成する。
第1画像処理部20と第2画像処理部30はそれぞれ、入力画像データD1に基づいて、被検査物200の対象領域202を特定することができるように、深層学習などの機械学習により構成される。あるいは、適用可能であれば、第1画像処理部20と第2画像処理部30はそれぞれ、様々な被検査物および様々な対象領域についてあらかじめ準備された多数のサンプル画像データと入力画像データD1とのパターンマッチングに基づいてもよい。
第1画像処理部20と第2画像処理部30は、被検査物200の対象領域202を検出する精度を示す評価指標を用いて事前に性能を評価することができ、第2画像処理部30は、この評価指標が第1画像処理部20に比べて良好である。第2画像処理部30は、第1画像処理部20と同等の画像認識処理を行うが、第1画像処理部20よりも高性能である。「高性能」とは、事前に評価用データを用いて評価実験を実施した際によい性能を出力したことを意味する。このような評価指標の例としては、画像分類や物体検出の場合にはMAP(Mean Average Precision)、領域分割の場合にはmean IOU(Intersection Over Union)が知られている。指標値が高ければ、性能がよいと言える。第1画像処理部20と第2画像処理部30は、必ずしも異なるモデルである必要はなく、同一のモデルで単に学習形式の相違で区別されてもよい。
第1出力データD3_1と第2出力データD3_2は、両者の不一致を把握できるように、共通の形式をとる。たとえば、第1画像処理部20と第2画像処理部30で物体検出を行う場合には、対象領域202を囲むバウンディングボックスの座標と対象領域202の種類を示す出力データが出力される。領域分割の場合には、各画素が、対象領域202に該当するか否かを示し、または対象領域202の種類を示す画素値をもつ二値画像データまたは多値画像データが出力される。
この実施の形態においては、第1画像処理部20は、入力画像データD1に基づいて第1中間画像データD2_1を生成する第1前処理部21を備える。第1前処理部21は、入力画像データD1に第1視認性向上処理を行い、第1中間画像データD2_1を生成する。よって、第1中間画像データD2_1は、入力画像データD1に比べて視認性が向上されている(見やすくなっている)。同様に、第2画像処理部30は、入力画像データD1に基づいて第2中間画像データD2_2を生成する第2前処理部31を備える。第2前処理部31は、入力画像データD1に第2視認性向上処理を行い、第2中間画像データD2_2を生成する。よって、第2中間画像データD2_2は、入力画像データD1に比べて視認性が向上されている。
第1前処理部21と第2前処理部31は、所定の性能指標で評価するとき異なる性能指標値をもつ。たとえば、第2前処理部31は、この性能指標が第1前処理部21に比べて良好である。視認性向上処理において性能が良いとは、予め用意された入力画像と正解画像を含む評価用データ群を用いて、入力画像を処理した出力画像を正解画像と比較するとき正解画像により近い出力画像を得られることを意味する。視認性向上処理の性能を評価するための性能指標の例としては、PSNR(Peak Signal-to-Noise Ratio)やSSIM(Structural Similarity)が知られている。
第1前処理部21と第2前処理部31に実装される視認性向上処理は、例えば、超解像処理、デノイジング(denoising)処理、デブルアリング(deblurring)処理のうち少なくとも1つを含む。超解像処理は、画像を劣化させることなく(または画像の劣化を抑えつつ)決められたサイズに拡大する。デノイジング処理は、カメラノイズやsalt-and-pepperノイズなど、入力画像に含まれるノイズを除去または低減する。デブルアリング処理は、焦点ぼけや移動物体のぼけなどを補正する。
図2(a)から図2(c)は、図1に示される第1前処理部21と第2前処理部31に実装される視認性向上処理を例示するブロック図である。図2(a)から図2(c)に示される視認性向上処理はそれぞれ、上述の超解像処理、デノイジング、デブルアリングの3つの機能すべてを異なる順序で実行する。
図2(a)には、3つの機能が順次実行される場合が示される。まず入力画像データD1にデノイジング処理61が実施され、次にデブルアリング処理62が実施され、最後に超解像処理63が実施され、中間画像データD2が出力される。図2(b)には、デノイジング処理61とデブルアリング処理62を並列に実施して最後に超解像処理63を実施する場合を示す。
また、図2(c)には、3つの処理を並列に実施する場合を示す。図2(c)においてデノイジング/デブルアリング処理61,62に続いて行われるアップサンプリング処理64は、超解像処理63の出力画像と画像サイズをそろえるための処理である。アップサンプリング処理64は、バイキュービック(bicubic)法などの単純な補間処理でもよいし、超解像処理63と同種の処理でもよい。
これら3種の視認性向上処理はそれぞれ別個にモデルを作成してもよく、たとえば超解像処理については、単純な補間法、事例ベースの手法、または、機械学習により得られる超解像モデルを採用できる。こうした超解像モデルは、たとえば、「R. Timofte, V.D. Smet, and L.V.Gool. A+: Adjusted Anchored Neighborhood Regression for Fast Super-Resolution. ACCV, 2014.」、「C. Dong, C.C. Loy, K. He, and X. Tang. Image Super-Resolution Using Deep Convolutional Networks. TPAMI, 2016.」に開示される。また、デノイジング/デブルアリング処理については、たとえばガウシアンフィルタによる平滑化処理、機械学習による方法などが考えられ、これらは、「K. Dabov, A. Foi, V. Katkovnik, and K. Egiazarian. Image Denoising by Sparse 3-D Transform-Domain Collaborative Filtering. TIP, 2007.」、「M. Hradis, J. Kotera, P. Zemcik, and F. Sroubek, Convolutional Neural Networks for Direct Text Deblurring. BMVC, 2015.」に例示される。
図3は、図2(a)に示される視認性向上処理を畳み込みニューラルネットワーク(CNN)で実現する構成を例示する図である。デノイジング処理61、デブルアリング処理62、超解像処理63の3種の視認性向上処理それぞれが複数のレイヤー(畳み込み層、Relu層、プーリング層等)から構成される。超解像処理63の最終層には画像を所定の大きさに拡大するアップサンプリング層65が挿入されている。アップサンプリング層65は超解像処理63の最初にあってもよい。
また図3に示すようなモデルを学習する際にはノイズやぼけを含む入力画像とそれらを取り除き、所定のサイズに拡大した画像のペアが必要である。各視認性向上処理はランダムな初期値から計算しても良いし、汎用コーパスなど別の学習画像を使って作成したモデルパラメータを初期値として、転移学習する形態を取っても良い。
なお、第1前処理部21と第2前処理部31は、画像分割、エッジ検出、輝度補正、画像強調など他の前処理を、視認性向上処理とともに、または視認性向上処理に代えて、入力画像データD1に行ってもよい。この場合にも、第1前処理部21と第2前処理部31は、所定の性能指標で評価するとき異なる性能指標値をもつ。例えば、第1前処理部21と第2前処理部31でエッジ検出処理が行われる場合、第1前処理部21ではPrewittフィルタを用いるエッジ抽出アルゴリズムを採用し、第2前処理部31ではCannyフィルタを用いるエッジ抽出アルゴリズムを採用してもよい。CannyフィルタはPrewittフィルタよりも性能がよいことが知られている。
図1に示されるように、第1画像処理部20は、第1中間画像データD2_1に基づいて第1出力データD3_1を生成する第1認識処理部22を備える。第1認識処理部22は、第1中間画像データD2_1に第1領域分割処理を行い、第1出力データD3_1として被検査物200の対象領域202を示す第1出力画像データを生成する。第2画像処理部30は、第2中間画像データD2_2に基づいて第2出力データD3_2を生成する第2認識処理部32を備える。第2認識処理部32は、第2中間画像データD2_2に第2領域分割処理を行い、第2出力データD3_2として被検査物200の対象領域202を示す第2出力画像データを生成する。第2認識処理部32は、被検査物200の対象領域202を検出する精度を示す評価指標が第1認識処理部22に比べて良好である。
図4は、図1に示される第1認識処理部22を畳み込みニューラルネットワーク(CNN)で実現する構成を例示する図である。第1認識処理部22で行われる認識処理(たとえば、領域分割を用いる損傷検出)70は、複数のレイヤー(畳み込み層、Relu層、プーリング層等)から構成され、中間画像データD2を入力とし、出力画像データD3を最終的に出力する。出力画像データD3は、対象領域202の種類に応じたラベルが画素単位で付与されたものである。
簡単のため、図4では、ラベルが正常領域71と損傷領域72の2種類の場合を示し、出力画像データD3は、正常領域71と損傷領域72に領域分割された2値画像となっている。損傷の形態(例えば、ひび、穴、欠けなど)に応じて複数種類のラベルがあらかじめ定められ、出力画像データD3は、損傷の種類ごとに分割されてもよい。
こうした損傷検出モデルの学習には、教師データとして入力画像とその領域分割の結果画像のペアが使用される。
同様にして第2認識処理部32も畳み込みニューラルネットワーク(CNN)で構成することができる。
損傷検出処理は、たとえば、「J. Shotton, J. Winn, C. Rother, and A. Criminisi, TextonBoost: Joint Appearance, Shape and Context Modeling for Multi-Class Object Recognition and Segmentation. ECCV, 2006.」、「J. Long, E. Shelhamer, and T. Darrell, Fully Convolutional Networks for Semantic Segmentation. CVPR, 2015.」に開示される手法が採用されてもよい。
第1前処理部21と第1認識処理部22は、個別に機械学習される。同様に、第2前処理部31と第2認識処理部32は、個別に機械学習されてもよい。あるいは、後述するように、第2前処理部31と第2認識処理部32は、第2前処理部31の出力を第2認識処理部32の入力として用いるマルチタスク学習により構築されてもよい。
演算部40は、第1出力データD3_1と第2出力データD3_2の不一致および第1中間画像データD2_1と第2中間画像データD2_2の不一致の両方に基づいて、注目領域データD6を生成する。なお、後述するが、演算部40は、第1出力データD3_1と第2出力データD3_2の不一致および第1中間画像データD2_1と第2中間画像データD2_2の不一致のうちいずれか一方に基づいて、注目領域データD6を生成してもよい。
演算部40は、前処理差分演算部41と、認識処理差分演算部42とを備える。前処理差分演算部41は、第1中間画像データD2_1と第2中間画像データD2_2の差分を示す中間差分データD4を演算する。前処理差分演算部41は、中間差分データD4を保持し、または各中間画像データD2_1~D2_2を保持し、これらを画像生成部50に出力してもよい。
図5は、図1に示される前処理差分演算部41で実行される処理を例示するフローチャートである。前処理差分演算部41は、第1中間画像データD2_1を第1前処理部21から受け、第2中間画像データD2_2を第2前処理部31から受け、両者を比較し中間差分データD4を生成する。
図5に示されるように、まず、前処理差分演算部41は、第1中間画像データD2_1と第2中間画像データD2_2の差分画像を計算する(S50)。差分画像の各画素値は、たとえば、第1中間画像データD2_1と第2中間画像データD2_2で対応する画素値の差の絶対値であってもよい。よって、画像上の位置(x,y)における第1中間画像データD2_1、第2中間画像データD2_2それぞれの画素値をD2_1(x,y)、D2_2(x,y)と表記するとき、差分画像の各画素値は、|D2_1(x,y)-D2_2(x,y)|となる。
次に、前処理差分演算部41は、第1中間画像データD2_1と第2中間画像データD2_2の各画素値が等しいか否かを差分画像にもとづいて判定する(S51)。これは、たとえば、位置(x,y)における差分画像の画素値|D2_1(x,y)-D2_2(x,y)|を、予め設定されたしきい値ε1と比較することによって判定される。
位置(x,y)における差分画像の画素値がしきい値ε1以上である場合には(S51のY)、前処理差分演算部41は、当該位置(x,y)における中間差分データD4の画素値D4(x,y)を「1」とし、これを保持する(S52)。一方、位置(x,y)における差分画像の画素値がしきい値ε1未満である場合には(S51のN)、前処理差分演算部41は、当該位置(x,y)における中間差分データD4の画素値D4(x,y)を「0」とし、これを保持する(S53)。中間差分データD4は、画像生成部50に出力される。
このようにして、中間差分データD4は、第1中間画像データD2_1と第2中間画像データD2_2の差分画像を二値化した二値画像データとして生成される。画素値「1」は、第1中間画像データD2_1と第2中間画像データD2_2の対応する画素に差があることを示し、画素値「0」は、それらに差がないことを示している。
なお、しきい値ε1に基づいて差分画像を二値化することに代えて、前処理差分演算部41は、第1中間画像データD2_1と第2中間画像データD2_2の差分画像をそのまま中間差分データD4として保持してもよい。また、上述の説明は、簡単のため中間画像データD2をモノクロ画像としているが、中間画像データD2が多チャンネル、たとえばカラー画像である場合には、差分画像の各画素値は、成分ごとの差分値の平均値、または最小値、または最大値であってもよい。
図1に戻る。認識処理差分演算部42は、第1出力データD3_1と第2出力データD3_2の差分を示す出力差分データD5を演算する。認識処理差分演算部42は、出力差分データD5を保持し、または各出力データD3_1~D3_2を保持し、これらを画像生成部50に出力してもよい。
図6は、図1に示される認識処理差分演算部42で実行される処理を例示するフローチャートである。認識処理差分演算部42は、第1出力データD3_1を第1認識処理部22から受け、第2出力データD3_2を第2認識処理部32から受け、両者を比較し出力差分データD5を生成する。ここでは、第1認識処理部22、第2認識処理部32が領域分割を行う場合を考える。よって、第1出力データD3_1、第2出力データD3_2は、各画素が対象領域202の種類に応じた画素値をもつ画像データ(たとえば二値画像)の形式をとる。
図6に示されるように、まず、認識処理差分演算部42は、第1出力データD3_1と第2出力データD3_2の差分画像を計算する(S60)。差分画像の各画素値は、たとえば、第1出力データD3_1と第2出力データD3_2で対応する画素値の差の絶対値であってもよい。よって、画像上の位置(x,y)における第1出力データD3_1、第2出力データD3_2それぞれの画素値をD3_1(x,y)、D3_2(x,y)と表記するとき、差分画像の各画素値は、|D3_1(x,y)-D3_2(x,y)|となる。
次に、認識処理差分演算部42は、第1出力データD3_1と第2出力データD3_2の各画素値が等しいか否かを差分画像にもとづいて判定する(S61)。これは、たとえば、位置(x,y)における差分画像の画素値|D3_1(x,y)-D3_2(x,y)|を、予め設定されたしきい値ε2と比較することによって判定される。しきい値ε2は、0とすればよい。
位置(x,y)における差分画像の画素値がしきい値ε2より大きい場合(すなわち画素値が非ゼロの場合)には(S61のY)、認識処理差分演算部42は、当該位置(x,y)における出力差分データD5の画素値D5(x,y)を「1」とし、これを保持する(S62)。一方、位置(x,y)における差分画像の画素値がしきい値ε2以下である場合(すなわち画素値がゼロの場合)には(S61のN)、認識処理差分演算部42は、当該位置(x,y)における出力差分データD5の画素値D5(x,y)を「0」とし、これを保持する(S63)。出力差分データD5は、画像生成部50に出力される。
このようにして、出力差分データD5は、第1出力データD3_1と第2出力データD3_2の差分画像を二値化した二値画像データとして生成される。画素値「1」は、第1認識処理部22と第2認識処理部32で認識結果が異なることを示し、画素値「0」は、認識結果が一致することを示している。
図1に戻る。演算部40は、中間差分データD4と出力差分データD5から注目領域データD6を生成し、画像生成部50に出力する。注目領域データD6は、ユーザーに提示すべき注目領域を規定する。注目領域データD6は、中間差分データD4と出力差分データD5の論理和、またはこれらの論理積、または中間差分データD4と出力差分データD5のうちいずれか一方に基づいてもよい。
注目領域データD6は、たとえば、中間差分データD4と出力差分データD5の論理和であってもよく、D4(x,y)とD5(x,y)の少なくとも一方が「1」のとき、注目領域データD6の画素値D6(x,y)を「1」とし、D4(x,y)とD5(x,y)の両方が「0」のとき注目領域データD6の画素値D6(x,y)を「0」としてもよい。注目領域データD6は、中間差分データD4と出力差分データD5の論理積であってもよく、D4(x,y)とD5(x,y)の両方が「1」のとき、注目領域データD6の画素値D6(x,y)を「1」とし、D4(x,y)とD5(x,y)の少なくとも一方が「0」のとき注目領域データD6の画素値D6(x,y)を「0」としてもよい。あるいは演算部40は、注目領域データD6として、中間差分データD4と出力差分データD5のうちいずれか一方を選択してもよい。
なお、注目領域データD6は、画像生成部50によって生成されてもよい。
画像生成部50は、注目領域データD6と入力画像データD1またはそれから得られる画像データとに基づいて、注目領域を強調表示する検査支援画像データD7を生成する。画像生成部50は、たとえば、注目領域データD6を入力画像データD1に重ね合わせることによって、検査支援画像データD7を生成してもよい。画像生成部50は、注目領域データD6を第1中間画像データD2_1または第2中間画像データD2_2のいずれかに重ね合わせることによって、検査支援画像データD7を生成してもよい。検査支援画像データD7は、ディスプレイ122に出力され、単独で、または他の画像とともに、ディスプレイ122に表示される。
図7は、実施の形態に係る検査支援方法を示すフローチャートである。図7では、理解を助けるために、本方法の各ステップで生成される画像データを模式的に示す。まず、被検査物を撮影した入力画像データD1が用意される(S10)。
第1画像処理ステップ(S20)と第2画像処理ステップ(S30)が並列に行われる。第1画像処理ステップにおいては、入力画像データD1に基づいて、被検査物の対象領域を示す第1出力データD3_1が生成される。このとき、視認性向上処理などの前処理を入力画像データD1に施すことによって、第1中間画像データD2_1が生成され(S21)、続いて、領域分割または物体検出などの画像認識処理を第1中間画像データD2_1に施すことによって、第1出力データD3_1が生成される(S22)。
同様に、第2画像処理ステップにおいては、入力画像データD1に基づいて、被検査物の対象領域を示す第2出力データD3_2が生成される。このとき、視認性向上処理などの前処理を入力画像データD1に施すことによって、第2中間画像データD2_2が生成され(S31)、続いて、領域分割または物体検出などの画像認識処理を第2中間画像データD2_2に施すことによって、第2出力データD3_2が生成される(S32)。
この実施の形態においては、第2画像処理ステップは、被検査物の対象領域を検出する精度を示す評価指標が第1画像処理ステップに比べて良好である。そのため、第2出力データD3_2は、被検査物の対象領域202を3箇所正確に捉えているのに対し、第1出力データD3_1は、2箇所の対象領域202を捉えているが残りの1箇所は検出せず、誤って別の場所203を検出している。
次に、第1出力データD3_1と第2出力データD3_2の不一致および第1中間画像データD2_1と第2中間画像データD2_2の不一致に基づいて、ユーザーに提示すべき注目領域204を規定する注目領域データD6が生成される(S40)。
このステップS40では、第1中間画像データD2_1と第2中間画像データD2_2が比較され、中間差分データD4が生成されるとともに(S41)、第1出力データD3_1と第2出力データD3_2が比較され、出力差分データD5が生成される(S42)。出力差分データD5には、第1出力データD3_1において未検出であった1箇所の対象領域202と誤検出した場所203が含まれている。中間差分データD4と出力差分データD5に基づいて、注目領域データD6が生成される(S43)。たとえば、注目領域データD6は、中間差分データD4と出力差分データD5の論理和に基づく。なお、注目領域データD6は、中間差分データD4と出力差分データD5のうちいずれか一方、またはこれらの論理積に基づいてもよい。
さらに、注目領域データD6と参照画像データとに基づいて、注目領域204を強調表示する検査支援画像データD7が生成される(S100)。参照画像データは、入力画像データD1またはそれから得られる画像データであってもよい。とくに、前処理が視認性向上処理を含む場合には、参照画像データとして第1中間画像データD2_1または第2中間画像データD2_2を用いることにより、表示される画像が見やすくなる。第2画像処理ステップのほうが高性能である場合には、参照画像データとして第2中間画像データD2_2を用いればよい。
検査支援画像データD7は、たとえば、注目領域データD6を参照画像データに重ね合わせることによって生成され、ディスプレイ122に出力される。図7では、検査支援画像データD7は、入力画像データD1と第2中間画像データD2_2と注目領域データD6が重ね合わされている。こうして、注目領域204を強調表示する検査支援画像がディスプレイ122に表示されることになる。
図8(a)、図8(b)は、ディスプレイ122に表示されるユーザインターフェイス画面の例を示す。図8(a)に示されるように、参照画像(たとえば入力画像データD1)300と、注目領域204を示す検査支援画像(たとえば注目領域データD6)302が並べて表示されてもよい。図8(b)に示されるように、注目領域204と参照画像が重ね合わされた検査支援画像(たとえば検査支援画像データD7)302が表示されてもよい。注目領域204などユーザーが選択した領域を拡大表示するための拡大枠304が検査支援画像302とともにディスプレイ122に表示されてもよい。そのほかに、ユーザーが画面上で発見した対象領域(損傷領域)を選択する機能や、対象領域の位置、サイズ、種類などの対象領域情報を表示する機能が備わっていてもよい。
以上説明したように、実施の形態によると、検査支援装置10は、第1画像処理部20および第2画像処理部30の出力の不一致に基づいて、注目領域204をユーザーに提示することができる。第2画像処理部30は、被検査物200の対象領域202を検出する精度を示す評価指標が第1画像処理部20に比べて良好であるので、第1画像処理部20が検出しなかった対象領域202を第2画像処理部30は検出することが期待される。また、第1画像処理部20が誤検出した対象領域202を第2画像処理部30は検出しないことが期待される。このように、2つの画像処理部の出力の不一致は、被検査物200の対象領域202のうち不正確に検出されやすいものを示すと考えられる。
したがって、こうした不一致領域を注目領域204としてユーザーに提示することにより、画面上のどこをより注意深く見るべきかを示すヒントをユーザーに提供することができる。よって、このようなヒント無しで、あらゆる領域を一様に注意深く見なければならない場合に比べて、目視確認の作業効率がよくなる。このようにして、画像認識を利用した検査において、ユーザーの目視による最終的な確認作業を支援することができる。認識処理に十分な信頼がない場合や、必ず人力による確認作業が必要な場合に有効である。
また、実施の形態によると、注目領域204を規定するために、領域分割など画像認識の結果(すなわち第1出力データD3_1と第2出力データD3_2)の不一致だけでなく、視認性向上処理など前処理の結果(すなわち第1中間画像データD2_1と第2中間画像データD2_2)の不一致も利用される。前処理の結果はそれを入力とする画像認識処理の出力に影響するから、前処理の結果の不一致は、画像認識の結果の不一致につながると考えられる。したがって、前処理の結果の不一致も、注目領域204を規定するのに有用であると期待できる。
図9(a)、図9(b)は、図1に示される第2前処理部31および第2認識処理部32の学習方法を模式的に示す図である。図9(a)は、第2前処理部31と第2認識処理部32を独立に学習させる場合を示す。図9(b)は、第2前処理部31と第2認識処理部32をマルチタスク学習により構築する場合を示す。
好ましくは、図9(b)に示されるように、第2前処理部31および第2認識処理部32は、第2前処理部31の出力を第2認識処理部32の入力として用いるマルチタスク学習により構築されてもよい。上述の実施の形態と同様に、第2前処理部31は、視認性向上処理を行い、第2認識処理部32は、領域分割、物体検出などの画像認識処理を行ってもよい。
第2前処理部31および第2認識処理部32はそれぞれ、予め用意された教師データセットを用いて機械学習された畳み込みニューラルネットワークで構成されてもよい。教師データセットは、たとえば、被検査物を撮影した学習用画像データ、ノイズやピンぼけなどを付加して画質を劣化させた学習用画像の劣化画像データ、学習用画像における予め特定された対象領域を示す対象領域データを含んでもよい。第2前処理部31および第2認識処理部32は、第2前処理部31が劣化画像データに基づいて学習用画像データを生成し、第2認識処理部32が学習用画像データに基づいて対象領域データを生成するようにマルチタスク学習により構築されてもよい。
図9(a)では、第2前処理部31と第2認識処理部32は、互いに独立にロス関数を最小にするように畳み込み層のパラメータを学習する。このようにして得られた第2前処理部31は、入力画像から視認性を向上した画像を出力することができるが、この視認性向上画像は、第2認識処理部32がより良好な画像認識結果を出力するのに有効な画像であることは保証されない。
図9(b)では、第2前処理部31と第2認識処理部32は、図9(a)のように独立に学習する場合の第2前処理部31、第2認識処理部32のロス関数をそれぞれL1、L2と表記するとき、それらの重み付け平均である全体のロス関数(Ltotal=αL1+(1-α)L2)を最小とするように学習される。このようにして、マルチタスク学習を実施することにより、第2前処理部31が出力する視認性向上画像は、第2認識処理部32にとってより良好な画像認識結果を出力するのに有効な画像となる。したがって、第2認識処理部32の精度はより向上される。
第1前処理部21と第1認識処理部22については、それぞれ独立に機械学習される。したがって、第1前処理部21での第1視認性向上処理と第2前処理部31での第2視認性向上処理は、所定の性能指標で評価するとき異なる性能指標値をもつと考えられる。多くの場合、第1前処理部21のほうが、第2前処理部31よりも高性能でありうる。
このように、第1画像処理部20と第2画像処理部30を異なる学習方法により構築することにより、第1前処理部21と第2前処理部31の性能に差異を設けるとともに、第1認識処理部22と第2認識処理部32の性能にも差異を設けることができる。したがって、上述の実施の形態と同様に、第1出力データD3_1と第2出力データD3_2の不一致および第1中間画像データD2_1と第2中間画像データD2_2の不一致の両方に基づいて、注目領域データD6を生成することができる。
図10は、変形例1に係る検査支援装置10のブロック図である。図示されるように、第1画像処理部20、第2画像処理部30は、前処理部を備えなくてもよい。
よって、検査支援装置10は、被検査物を撮影した入力画像データD1を受け、被検査物の対象領域を示す第1出力データD3_1を生成する第1画像処理部20と、入力画像データD1を受け、被検査物の対象領域を示す第2出力データD3_2を生成する第2画像処理部30と、を備える。第2画像処理部30は、被検査物の対象領域を検出する精度を示す評価指標が第1画像処理部に比べて良好である。検査支援装置10は、さらに、第1出力データD3_1と第2出力データD3_2の不一致に基づいて、ユーザーに提示すべき注目領域を規定する注目領域データD6を生成する演算部40と、注目領域データD6と入力画像データD1またはそれから得られる画像データとに基づいて、注目領域を強調表示する検査支援画像データD7を生成する画像生成部50と、を備える。
図11は、変形例2に係る検査支援装置10のブロック図である。第1画像処理部20、第2画像処理部30は、認識処理部を備えなくてもよい。検査支援装置10は、被検査物を撮影した入力画像データD1を受け、入力画像データD1に基づく第1中間画像データD2_1を生成する第1画像処理部20と、入力画像データD1を受け、入力画像データD1に基づく第2中間画像データD2_2を生成する第2画像処理部30と、を備える。第1画像処理部20は、所定の性能指標で評価可能であり、第2画像処理部30は、所定の性能指標で評価するとき第1画像処理部20と異なる性能指標値をもつ。第1画像処理部20は、入力画像データD1に第1視認性向上処理を行い、第1中間画像データD2_1を生成し、第2画像処理部30は、入力画像データD1に第2視認性向上処理を行い、第2中間画像データD2_2を生成してもよい。
検査支援装置10は、さらに、第1中間画像データD2_1と第2中間画像データD2_2の不一致に基づいて、ユーザーに提示すべき注目領域を規定する注目領域データD6を生成する演算部40と、注目領域データD6と入力画像データD1またはそれから得られる画像データとに基づいて、注目領域を強調表示する検査支援画像データD7を生成する画像生成部50と、を備える。
以上、本発明を実施例にもとづいて説明した。本発明は上記実施形態に限定されず、種々の設計変更が可能であり、様々な変形例が可能であること、またそうした変形例も本発明の範囲にあることは、当業者に理解されるところである。ある実施の形態に関連して説明した種々の特徴は、他の実施の形態にも適用可能である。組合せによって生じる新たな実施の形態は、組み合わされる実施の形態それぞれの効果をあわせもつ。
上述の実施の形態では、検査支援装置10がたとえばコークス炉などの産業設備における損傷検査装置に適用される場合を例として説明しているが、本発明はこれに限定されない。検査支援装置10は、目視対象となるような部位を強調して表示することにより、ユーザーが目視作業を効率的に実施できる対象領域強調表示システムとして、さまざまな用途に使用されうる。検査支援装置10は、産業機械やプラント、社会インフラの損傷検出装置、あるいは医療用の画像診断装置など、さまざまな検査装置に搭載されてもよい。
実施の形態にもとづき、具体的な語句を用いて本発明を説明したが、実施の形態は、本発明の原理、応用の一側面を示しているにすぎず、実施の形態には、請求の範囲に規定された本発明の思想を逸脱しない範囲において、多くの変形例や配置の変更が認められる。