(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-05
(45)【発行日】2024-01-16
(54)【発明の名称】画像処理装置、及びコンピュータが読み取り可能な記憶媒体
(51)【国際特許分類】
G06T 7/00 20170101AFI20240109BHJP
G06V 10/82 20220101ALI20240109BHJP
【FI】
G06T7/00 350C
G06V10/82
(21)【出願番号】P 2022563758
(86)(22)【出願日】2021-11-16
(86)【国際出願番号】 JP2021042010
(87)【国際公開番号】W WO2022107743
(87)【国際公開日】2022-05-27
【審査請求日】2023-06-15
(31)【優先権主張番号】P 2020192325
(32)【優先日】2020-11-19
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】110001151
【氏名又は名称】あいわ弁理士法人
(72)【発明者】
【氏名】鴻巣 有史
【審査官】新井 則和
(56)【参考文献】
【文献】特開2014-190821(JP,A)
【文献】特開平11-069177(JP,A)
【文献】米国特許出願公開第2002/0184168(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
G06V 10/82
(57)【特許請求の範囲】
【請求項1】
RGBの色空間で表現された画像を、明度を構成成分として持つ色空間の画像に変換する色空間変換部と、
前記色空間変換部で色空間を変換した画像の色差を誤差としてニューラルネットワークを最適化する学習部と、
を有する画像処理装置。
【請求項2】
前記色空間変換部は、RGBの色空間で表現された入力画像とラベル画像を、明度を構成成分として持つ色空間の画像に変換し、
前記学習部は、前記色空間変換部で色空間を変換された入力画像とラベル画像との色差を誤差としてニューラルネットワークを最適化する、請求項1記載の画像処理装置。
【請求項3】
前記RGBの色空間で表現された画像は正常画像であり、
前記色空間変換部で色空間を変換された前記正常画像を基に異常画像を
作成する異常画像
作成部を有し、
前記学習部は、前記色空間変換部で色空間を変換された前記正常画像をラベル画像とし、前記異常画像を入力画像とし、前記正常画像と前記異常画像との色差を誤差としてニューラルネットワークを最適化する、請求項1記載の画像処理装置。
【請求項4】
前記RGBの色空間で表現された画像は正常な対象物を撮像した正常画像である、請求項3記載の画像処理装置。
【請求項5】
RGBの色空間で表現された画像を、明度を構成成分として持つ色空間の画像に変換し、
前記色空間を変換した画像の色差を誤差としてニューラルネットワークを最適化する学習を行う、画像処理方法。
【請求項6】
1つ又は複数のプロセッサが実行することにより、
RGBの色空間で表現された画像を、明度を構成成分として持つ色空間の画像に変換し、
前記色空間を変換した画像の色差を誤差としてニューラルネットワークを最適化する学習を行う、
コンピュータが読み取り可能な命令を記憶する記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ニューラルネットワークを用いた画像処理装置、及びコンピュータが読み取り可能な記憶媒体に関する。
【背景技術】
【0002】
工場等の製造現場では、製造ラインにおいて製造される製品の外観検査を行っている(例えば、特許文献1)。製品の外観検査を行うためには、製品を撮像した画像に基づいて正常な製品の画像であるか、または異常な製品の画像であるかを分類する機械学習のモデルを作成しておく必要がある。
【0003】
このような機械学習のモデルを作成する際には、予め、多くの正常な製品の画像と、多くの異常な製品の画像とを、それぞれ収集する。そして、収集した画像を用いて機械学習を行う。異常な製品の画像については、製品における異常の位置も特定したいケースが多い。
【0004】
画像の分類や認識には、ニューラルネットワークを用いた技術が存在する。特許文献2には、入力画像から複数の領域候補を抽出する候補抽出部と、抽出された複数の領域候補に対して、セグメンテーションを行う画像セグメンテーション部と、抽出された複数の領域候補に対して、画像分類を行う画像分類部と、セグメンテーションの結果及び画像分類の結果に基づいて、複数の領域候補の一部を除去して認識対象領域を決定する領域決定部とを備えた情報処理システムが、開示されている。
【先行技術文献】
【特許文献】
【0005】
【文献】特開2014-190821号公報
【文献】特開2019-061505号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
ニューラルネットワークは、人間の脳内にある神経細胞とその繋がりを数式的なモデルで表現したものである。ニューラルネットワークは、入力層、出力層、隠れ層から構成され、それらの層と層との間には、ニューロン同士の繋がりの強さを示す重みがある。
【0007】
図9は、教師付きニューラルネットワークを用いた従来の画像処理装置の概念図である。
図9の画像処理装置は、ニューラルネットワークにより入力画像から推論画像を作成する。そして、画像処理装置は、推論画像とラベル画像とを比較し、ラベル画像と推論結果の誤差が無くなるように、ニューラルネットワークの各層の重みを少しずつ調整する。
【0008】
重みの更新を繰り返し、正解ラベルとの誤差を小さくすることを「学習」という。「学習」では、重みを最適に調整した学習済みニューラルネットワーク(モデル)を作成する。データを学習する際、使用する学習用データ数と学習結果、得られている推論性能が良い場合、効率よく学習できていると評価できる。
【0009】
ニューラルネットワークを用いた画像処理の分野では、学習効率を向上させる技術が望まれている。
【課題を解決するための手段】
【0010】
本開示の一態様による画像処理装置は、RGBの色空間で表現された画像を、明度を構成成分として持つ色空間の画像に変換する色空間変換部と、色空間変換部で色空間を変換した画像の色差を誤差としてニューラルネットワークを最適化する学習部と、を有する。
本開示の一態様による画像処理装置は、入力画像の色空間を、明度を構成成分として持つ色空間の画像に変換する色空間変換部と、
前記色空間を変換した入力画像の色差を誤差としたニューラルネットワークで推論を行う推論部と、を有する。
本開示の一態様による記憶媒体は、1つ又は複数のプロセッサが実行することにより、RGBの色空間で表現された画像を、明度を構成成分として持つ色空間の画像に変換し、色空間を変換した画像の色差を誤差としてニューラルネットワークを最適化する、コンピュータが読み取り可能な命令を記憶する。
【発明の効果】
【0011】
本発明の一態様により、ニューラルネットワークを用いた画像処理の学習効率を向上させることができる。
【図面の簡単な説明】
【0012】
【
図1】第1の開示にかかる画像処理装置(学習時)のブロック図である。
【
図2】第1の開示にかかる画像処理装置(推論時)のブロック図である。
【
図3】RGBとCIELABの色差の違いを説明する図である。
【
図4】RGBとCIELABの構成成分の違いを説明する図である。
【
図5】第2の開示にかかる画像処理装置(学習時)のブロック図である。
【
図6】異常画像及びラベル画像の作成方法を説明する図である。
【
図7】第2の開示にかかる画像処理装置(推論時)のブロック図である。
【
図8】画像処理装置のハードウェア構成を示す図である。
【
図9】ニューラルネットワークを用いた従来の画像処理装置の概念図である。
【発明を実施するための形態】
【0013】
[第1の開示]
以下、図面を参照して本開示の概要を説明する。
図1及び
図2は画像処理装置1の一例である画像処理装置1のブロック図である。
図1は画像処理装置1(学習時)のブロック図であり、
図2は画像処理装置1(推論時)のブロック図である。学習及び推論は、1つの画像処理装置1で実行してもよいし、異なる画像処理装置で学習及び推論をそれぞれ実行してもよい。
【0014】
図1は、画像処理装置1(学習時)の構成及び動作を示す。画像処理装置1(学習時)は、入力画像データを記憶する入力画像記憶部10と、ラベル画像を記憶するラベル画像記憶部11と、入力画像及びラベル画像の色空間を変換する色空間変換部12と、色空間変換部12により変換した入力画像とラベル画像とを基に、推論画像の作成を学習する学習部13と、を備える。
【0015】
入力画像記憶部10は、学習対象となる画像を記憶する。学習対象となる画像は、画像処理装置1に付随するセンサ(後述)で撮像してもよいし、外部のセンサが撮像した画像を入力してもよい。また、フォグコンピュータ(後述)やクラウドサーバ(後述)に記憶した画像を取得してもよい。
ラベル画像記憶部11は、ラベル画像を記憶する。ラベル画像は、入力画像とペアとなるデータセットである。ラベル画像は、推論画像を調整するための基準となる。入力画像とラベル画像は、RGB色空間で表現された画像データである。RGB色空間とは、色の表現法の一種であり、赤(R)、緑(G)、青(B)の3つの原色を混ぜて色を表現する。
【0016】
色空間変換部12は、RGBの画像データを、明度を構成成分として持つ色空間に変換する。本開示では、明度を構成成分として持つ色空間の一例としてCIELABに変換する。CIELABは、L、a、bの3つの成分を有する色空間である。L成分は明度を表し、a及びb成分は補色成分である色味を表す。aがプラスの方向になるほど赤みが強くなり、マイナスの方向になるほど緑みが強くなる。また、bがプラスの方向になるほど黄みが強くなり、マイナスの方向になるほど青みが強くなる。
なお、色空間変換部12が変換する色空間は、明度を構成成分として持つ色空間であれば特に限定されない。例えば、明度を構成成分としても持つ色空間には、CIELABの他に、L*A*B*色空間、L*C*h色空間、ハンターLab色空間などがある。
【0017】
学習部13は、ニューラルネットワーク14を含む。ニューラルネットワーク14は、色空間変換部12でCIELABに変換された入力画像から推論画像を作成する。作成された推論画像の色空間はCIELABである。
学習部13は、色空間変換部12でCIELABに変換されたラベル画像を入力し、ニューラルネットワーク14が作成した推論画像と比較する。ラベル画像と推論画像を比較した結果、2つの画像の誤差が得られる。この誤差は、色差である。色差とは、2つの色の間に定義される指標の一つであり、色空間における距離で定義される。CIELAB色空間における色差の算出方法には、ユークリッド距離、CIE76、CIE94、CIEDE2000などがある。
【0018】
学習部13は、誤差(色差)が小さくなるように、ニューラルネットワーク14の重みを調整する。学習部13は、入力画像とラベル画像の入力と学習を繰り返し、ニューラルネットワーク14のノード間の重みを最適化することで、学習済みニューラルネットワークを作成する。
【0019】
図2は、画像処理装置1(推論時)の構成及び動作を示す。画像処理装置1(推論時)は、入力画像を取得する入力画像取得部15と、入力画像の色空間を変換する色空間変換部16と、入力画像から推論画像を作成する推論部17と、推論画像をRGB色空間に復元する色空間復元部18と、を備える。
【0020】
入力画像取得部15は、入力画像を取得する。入力画像は、RGB色空間で表現された画像データである。色空間変換部16はRGBの画像データをCIELABの色空間に変換する。なお、
図2の色空間変換部16は、
図1の色空間変換部12と同じ処理を行う。
推論部17は、調整済みニューラルネットワーク14を含む。調整済みニューラルネットワーク14は、
図1の学習部13が作成したニューラルネットワーク14である。調整済みニューラルネットワーク14は、入力画像から推論画像を生成する。
調整済みニューラルネットワーク14が出力する推論画像の色空間はCIELABである。色空間復元部18は、CIELABの推論画像をRGB表色系に復元し、RGBの出力画像を出力する。
【0021】
以上説明したように、本開示の画像処理装置1は、CIELABに変換した入力画像及びラベル画像を用いて、ニューラルネットワーク14の学習と推論を行う。CIELABなどのLab色空間は、人間の視覚を近似するように設計されている。L成分は、人間の明度の知覚と極めて近い。そのため、人間の視覚に近い学習を行うことができる。
【0022】
RGBとCIELABとの色差の違いを説明する。
図3には、赤、橙、緑、薄緑の4色と、各色に対応するRGB及びCIELABの値が表現されている。赤のRGB値は[240,110,80]であり、橙のRGB値は[240,160,30]である。また、赤のCIELAB値は[61.88,48.04,40.66]であり、橙のCIELAB値は[72.07,20.60,71.32]である。
RGB値での赤と橙の色差(ユークリッド距離)は70.71である。CIELAB値の赤と橙の色差(ユークリッド距離)は42.38であり、色差(CIEDE2000)は25.59である。
緑のRGB値は[150,250,30]であり、薄緑のRGB値は[100,250,80]である。また、薄緑のRGB値は[100,250,80]である。また、緑のCIELAB値は[89.37、-58.79,82.64]であり、薄緑のCIELAB値は[87.80、-69.98,66.69]である。
RGB値での緑と薄緑の色差(ユークリッド距離)は、70.71であり、赤と橙の色差と等しい。CIELAB値での緑と薄緑の色差(ユークリッド距離)は19.54であり、色差(CIEDE2000)は6.63である。
【0023】
人間の視覚で判断すると、
図3の左側の赤と橙の違いは明確であるが、右側の緑と薄緑は近い色に見える。RGBで色差(ユークリッド距離)を算出すると、赤と橙の色差と緑と薄緑の色差は、両方とも70.71で等しく、RGBでは人間が感知できる色差が数値に表れない。
CIELABで色差を算出すると、赤と橙の色差(ユークリッド距離)は42.38であり、緑と薄緑の色差(ユークリッド距離)は19.54である。赤と橙の色差(ユークリッド距離)が緑と薄緑の色差(ユークリッド距離)より大きくなり、人間が感知できる色差が数値に表れる。
また、CIELAB値では、赤と橙の色差(CIEDE2000)は25.59であり、緑と薄緑の色差(CIEDE2000)は6.63である。赤と橙の色差(CIEDE2000)が緑と薄緑の色差(CIEDE2000)より大きくなり、人間が感知できる色差が数値に表れる。
【0024】
図4に示すように、RGBの構成成分は、R(赤原色)、G(緑原色)、B(青原色)である。CIELABの構成成分は、L(明度)、a/b(補色次元)である。RGBには、明度の成分がない。人間の視覚は、明度を敏感に感知する。人間の視覚は、彩度の差よりも明度の差を重視するため、明度を構成成分として持つ色空間がより人間の視覚に近い表現となる。すなわち、明度を構成成分として持つ色空間を用いて学習することにより、人間の視覚に近いニューラルネットワーク(モデル)を作成することができる。
【0025】
[第2の開示]
第2の開示では、異常画像を人為的に作成し教師付き学習を行う画像処理装置1について説明する。
図5は第2の開示の画像処理装置1(学習時)のブロック図であり、
図7は第2の開示の画像処理装置1(推論時)のブロック図である。
【0026】
図5の画像処理装置1(学習時)は、製品を撮像したRGBの正常画像を記憶する正常画像記憶部30と、入力画像の色空間を変換する色空間変換部12と、正常画像からニューラルネットワークのモデルを作成する学習部21と、を備える。
【0027】
正常画像記憶部30は、例えば、産業機械(図示省略)に取り付けられたセンサ(後述)により撮像された製品の画像データを記憶する。正常画像記憶部30が記憶する画像データには、正常な製品の画像データ(以下、正常画像とする)を含む。
【0028】
色空間変換部12は、正常画像記憶部30に記憶された正常画像をRGB表色系からCIELABの色空間に変換する。
【0029】
異常画像作成部19は、正常画像記憶部30に記憶された正常画像に基づいて、異常画像を作成する。異常画像作成部19が作成した異常画像は、ニューラルネットワークの入力画像となり学習に用いられる。製品検査などでは異常画像のサンプル数が不足するため、人為的に異常画像を生成してサンプル不足を補う場合がある。
異常画像作成部19は、正常画像内の製品の画像の一部に所定の図形を重畳することで異常画像を作成してもよい。また、異常画像作成部19は、正常画像に対して、画像の一部の色相・彩度・明度を変更したり、モザイクをかけたりする等の画像の加工を行うことで異常画像を作成してもよい。さらに、異常画像作成部19は、例えば、正常画像内の製品の画像に所定の図形を追加乃至削減(変形)することで異常画像を作成する。異常画像は、実際の現場で発生が想定される欠陥種別、位置、サイズ、色、背景素材、光源設定等の組合せを網羅した画像とすることが望ましい。
【0030】
図6は、正常画像内の製品の画像の一部に所定の図形(幾何学的な図形)を重畳して異常画像を作成する例である。重畳する所定の画像データは、予め記憶しておいてもよいし、異常画像を作成する段階で所定の図形として幾何学的形状の図形を作成するようにしてもよい。所定の図形の色は、製品の色に類似した色であって、製品の色とは異なるものであることが望ましい。製品の画像のどの位置に所定の図形を重畳するかについては、例えば、乱数値を算出して決定してもよい。このようにして追加された所定の図形は、製品の加工品質が低下している部分や、製品内の欠損している部分等を表現する。正常画像に重畳する所定の画像は、CIELABで保存又はCIELABに変換されている。
【0031】
正常画像の色空間はCIELABであり、重畳する画像データもCIELABであるため、異常画像作成部19が作成する入力画像(異常画像)もCIELABとなる。
【0032】
学習部21は、色空間変換部12においてCIELABに変換された正常画像(ラベル画像)、及び異常画像作成部19においてCIELABで作成された入力画像(異常画像)に基づいて学習を行う。学習方法としては、ピクセル単位のマッピングを学習することによって画像を画像に変換するPix2Pixなどを用いる。
第2の開示において、学習部21は、異常画像を入力画像とし、正常画像をラベル画像とした教師データを作成し、作成した教師データに基づいた学習を行う。
学習部21を構成するニューラルネットワーク22は、異常画像を入力して正常画像を出力するといったタスク(修復タスク)に利用したり、異常画像の異常箇所の位置やサイズを強調表示した画像などの作成に利用してもよい。
【0033】
図7は第2の開示の画像処理装置1(推論時)の構成及び動作を示す。画像処理装置1(推論時)は、入力画像データを取得する入力画像取得部15と、入力画像データの色空間を変換する色空間変換部16と、入力画像データから推論画像データを作成する推論部23と、推論画像データをRGB色空間に復元する色空間復元部と、を備える。
【0034】
入力画像取得部15は、入力画像を取得する。入力画像は、例えば、産業機械に取り付けられたセンサなどから取得する。入力画像の色空間は、RGBである。
色空間変換部16は、RGB色空間で表現された入力画像をCIELABに変換する。
推論部23は、学習部21が作成した調整済みニューラルネットワーク22を含む。推論部23は、CIELABに変換された入力画像データを入力し、入力画像データの異常箇所を示すラベル画像を作成する。
また、推論部23の推論内容は、学習部21の構成によって異なる。推論部23は、ラベル画像ではなく、入力画像から異常箇所を取り除いた正常画像や異常箇所の位置やサイズを強調表示した画像などを作成してもよい。学習内容にかかわらず推論部23から出力される画像データの色空間はCIELABである。
【0035】
色空間復元部18は、推論部23が作成したCIELABの画像データをRGBの色空間に復元する。これにより、画像処理装置1(復元時)の出力画像はRGBとなる。
【0036】
以上説明したように、
図5の画像処理装置1は、正常画像データから異常画像を作成し、異常画像を教師あり学習のサンプルとして用いている。一般に工場等の製造現場では、学習に使用可能な異常画像の調達が困難である。そのため、第2の開示の画像処理装置は、異常画像を人為的に作成して、学習に必要なサンプルを確保する。
第2の開示の画像処理装置1では、CIELABに変換した正常画像などを用いて異常画像を生成する。第2の開示では、CIELABの色空間で学習を行うことにより、より人間の視覚に近いモデルを作成する。
【0037】
[画像処理装置のハードウェア構成]
図8に、画像処理装置1のハードウェア構成を示す。画像処理装置1が備えるCPU111は、画像処理装置1を全体的に制御するプロセッサである。CPU111は、バス122を介してROM112に格納されたシステム・プログラムを読み出し、該システム・プログラムに従って画像処理装置1全体を制御する。RAM113には一時的な計算データや表示データ、及び外部から入力された各種データ等が一時的に格納される。
【0038】
不揮発性メモリ114は、例えば図示しないバッテリでバックアップされたメモリやSSD(Solid State Drive)等で構成され、画像処理装置1の電源がオフされても記憶状態が保持される。不揮発性メモリ114には、インタフェース115を介して外部機器125から読み込まれたデータ、入力装置124を介して入力されたデータ、ネットワーク5を介して産業機械(図示省略)から取得されたデータ等が記憶される。記憶されるデータには、例えば産業機械に取り付けられた視覚センサ等のセンサ4により撮像された製品の画像データが含まれていてよい。不揮発性メモリ114に記憶されたデータは、実行時/利用時にはRAM113に展開されてもよい。また、ROM112には、公知の解析プログラムなどの各種システム・プログラムが予め書き込まれている。
【0039】
インタフェース115は、画像処理装置1のCPU111とUSB装置等の外部機器125とを接続するためのインタフェースである。外部機器125からは、例えば、各産業機械により製造される製品に係るデータ(例えば、正常な製品の画像データや、製品の形状を示すCADデータ等)を読み込むことができる。また、画像処理装置1で編集したデータ等は、外部機器125を介してCFカード等の外部記憶手段に記憶させることができる。
【0040】
インタフェース120は、画像処理装置1のCPU111と有線乃至無線のネットワーク5とを接続するためのインタフェースである。ネットワーク5には、産業機械やフォグコンピュータ6、クラウドサーバ7等が接続され、画像処理装置1との間で相互にデータのやり取りを行っている。
【0041】
表示装置123には、メモリ上に読み込まれた各データ、プログラム等が実行された結果として得られたデータ等がインタフェース117を介して出力されて表示される。また、キーボードやポインティングデバイス等から構成される入力装置124は、作業者による操作に基づく指令、データ等をインタフェース118を介してCPU111に渡す。
【0042】
なお、
図8の画像処理装置の演算装置は、CPU111のみであるが、ニューラルネットワークの学習では、GPU(Graphical Processing Unit)を用いてもよい。
【0043】
以上、本発明の一実施形態について説明したが、本発明は上述した実施の形態の例のみに限定されることなく、適宜の変更を加えることにより様々な態様で実施することができる。
【符号の説明】
【0044】
1 画像処理装置
5 ネットワーク
10 入力画像記憶部
11 ラベル画像記憶部
12 色空間変換部
13、21 学習部
14、22 ニューラルネットワーク
15 入力画像取得部
16 色空間変換部
17、23 推論部
18 色空間復元部
19 異常画像作成部
20 ラベル画像作成部
24 ラベル記憶部
30 正常画像記憶部
111 CPU
112 ROM
113 RAM
114 不揮発性メモリ