(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024171753
(43)【公開日】2024-12-12
(54)【発明の名称】コンピュータプログラム、および、画像処理装置
(51)【国際特許分類】
G06T 7/187 20170101AFI20241205BHJP
G01N 21/88 20060101ALN20241205BHJP
【FI】
G06T7/187
G01N21/88 J
【審査請求】未請求
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2023088948
(22)【出願日】2023-05-30
(71)【出願人】
【識別番号】000005267
【氏名又は名称】ブラザー工業株式会社
(74)【代理人】
【識別番号】110001058
【氏名又は名称】鳳国際弁理士法人
(72)【発明者】
【氏名】黒川 拓海
【テーマコード(参考)】
2G051
5L096
【Fターム(参考)】
2G051AB01
2G051CA04
2G051EA08
2G051EA12
2G051EA16
2G051EA17
2G051EC02
2G051ED07
2G051ED14
5L096AA06
5L096BA03
5L096DA02
5L096EA02
5L096FA14
5L096FA32
5L096FA33
5L096GA08
5L096GA17
(57)【要約】
【課題】 一様でない画像であっても、画像内に含まれる特定物を検出する。
【解決手段】
コンピュータプログラムは、処理対象の被写体を示す対象画像を取得する取得機能であって、対象画像は3階調以上の階調を有する複数個の画素値を含む多階調画像である、取得機能と、対象画像に対して特定物を示す領域を膨張させる膨張処理を実行して膨張画像を生成する膨張処理機能であって、膨張画像は多階調画像である、膨張処理機能と、膨張画像と対象画像とを比較することによって、対象画像内の特定物を検出する検出機能と、をコンピュータに実現させる。
【選択図】
図3
【特許請求の範囲】
【請求項1】
コンピュータプログラムであって、
処理対象の被写体を示す対象画像を取得する取得機能であって、前記対象画像は3階調以上の階調を有する複数個の画素値を含む多階調画像である、前記取得機能と、
前記対象画像に対して特定物を示す領域を膨張させる膨張処理を実行して膨張画像を生成する膨張処理機能であって、前記膨張画像は前記多階調画像である、前記膨張処理機能と、
前記膨張画像と前記対象画像とを比較することによって、前記対象画像内の特定物を検出する検出機能と、
をコンピュータに実現させるコンピュータプログラム。
【請求項2】
請求項1に記載のコンピュータプログラムであって、
前記検出機能は、
前記膨張画像と前記対象画像との差分を示す差分画像を生成し、
前記差分画像を用いて、前記対象画像内の特定物を検出する、コンピュータプログラム。
【請求項3】
請求項1に記載のコンピュータプログラムであって、
前記対象画像は、複数個の画素の輝度を示す輝度画像である、コンピュータプログラム。
【請求項4】
請求項3に記載のコンピュータプログラムであって、さらに、
前記対象画像に対して、前記複数個の画素の輝度の大小関係を維持しつつ、前記複数個の画素の輝度の分散を小さくする前処理を実行する前処理機能をコンピュータに実現させ、
前記膨張処理機能は、前記前処理済みの前記対象画像に対して前記膨張処理を実行する、コンピュータプログラム。
【請求項5】
請求項4に記載のコンピュータプログラムであって、
前記前処理は、前記対象画像の前記複数個の画素の輝度が取り得る輝度範囲を、第1範囲から第2範囲に変更する処理であり、
前記第2範囲は、前記第1範囲よりも狭い範囲であり、かつ、前記第1範囲の最小値と最大値との平均値を含む範囲である、コンピュータプログラム。
【請求項6】
請求項3に記載のコンピュータプログラムであって、さらに、
前記対象画像が特定条件を満たすか否かを判断する条件判断機能であって、前記特定条件は、前記対象画像内の前記複数個の画素の輝度の代表値が基準以上であることと、前記複数個の画素の輝度の分散が基準以上であることと、の少なくとも一方を含む、前記条件判断機能をコンピュータに実現させ、
前記膨張処理機能は、
前記特定条件が満たされる場合に、前記膨張処理を実行し、
前記特定条件が満たされない場合に、前記膨張処理を実行せず、
前記検出機能は、
前記特定条件が満たされる場合に、前記膨張画像と前記対象画像とを比較することによって前記対象画像内の前記特定物を検出し、
前記特定条件が満たされない場合に、前記対象画像を用いて、前記膨張画像を用いずに、前記対象画像内の前記特定物を検出する、コンピュータプログラム。
【請求項7】
請求項3に記載のコンピュータプログラムであって、
前記膨張処理は、注目画素の周囲の特定範囲内の複数個の画素の最大輝度を前記注目画素の輝度に加算する第1処理と、前記特定範囲内の複数個の画素の最小輝度を前記注目画素の輝度から減算する第2処理と、うちの一方を、前記対象画像の複数個の画素のそれぞれを前記注目画素として実行することによって、前記膨張画像を生成する処理である、コンピュータプログラム。
【請求項8】
請求項3に記載のコンピュータプログラムであって、
前記膨張処理は、注目画素の周囲の複数個の画素の最大輝度または最小輝度を用いて前記注目画素の輝度を修正する処理を、前記対象画像の複数個の画素のそれぞれを前記注目画素として実行することによって、前記膨張画像を生成する処理であり、
前記注目画素の周囲の複数個の画素は、前記注目画素を中心とする3行3列の9個の画素のうちの前記注目画素を除いた8個の画素と、前記注目画素の上下左右に隣接する4個の画素と、いずれかである、コンピュータプログラム。
【請求項9】
請求項2に記載のコンピュータプログラムであって、
前記検出機能は、
前記差分画像に対して、前記差分画像の複数個の画素の値の大小関係を維持しつつ、前記複数個の画素の値の分散を小さくする調整処理を実行し、
前記調整処理済みの前記差分画像を用いて、前記対象画像内の特定物を検出する、コンピュータプログラム。
【請求項10】
請求項1に記載のコンピュータプログラムであって、
前記検出機能は、
前記膨張画像と前記対象画像とを比較することによって、前記膨張画像と前記対象画像との間で差異がある特定画素を検出し、
連続する複数個の前記特定画素によって構成される領域に外接する外接矩形を特定し、
前記外接矩形を前記特定物の検出結果として出力する、コンピュータプログラム。
【請求項11】
請求項1に記載のコンピュータプログラムであって、
前記処理対象の被写体は、印刷に用いられるインクであり、
前記特定物は、前記インクに混入した異物である、コンピュータプログラム。
【請求項12】
検出装置であって、
処理対象の被写体を示す対象画像を取得する取得部であって、前記対象画像は3階調以上の階調を有する複数個の画素値を含む多階調画像である、前記取得部と
対象画像に対して特定物を示す領域を膨張させる膨張処理を実行して膨張画像を生成する膨張処理部であって、前記膨張画像は前記多階調画像である、前記膨張処理部と、
前記膨張画像と前記対象画像とを比較することによって、前記対象画像内の特定物を検出する検出部と、
を備える検出装置。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書は、被写体を示す対象画像を処理する技術に関する。
【背景技術】
【0002】
特許文献1には、カメラの光学系に混入したゴミの影響を補正するために、グラデーションなどを含み得る基準画像を用いて、混入したゴミを検出する技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
このように、グラデーションのような一様でない画像内に含まれる特定物を検出する技術が求められている。
【0005】
本明細書は、一様でない画像であっても、画像内に含まれる特定物を検出できる技術を開示する。
【課題を解決するための手段】
【0006】
本明細書に開示された技術は、以下の適用例として実現することが可能である。
【0007】
[適用例1]コンピュータプログラムであって、処理対象の被写体を示す対象画像を取得する取得機能であって、前記対象画像は3階調以上の階調を有する複数個の画素値を含む多階調画像である、前記取得機能と、
前記対象画像に対して特定物を示す領域を膨張させる膨張処理を実行して膨張画像を生成する膨張処理機能であって、前記膨張画像は前記多階調画像である、前記膨張処理機能と、
前記膨張画像と前記対象画像とを比較することによって、前記対象画像内の特定物を検出する検出機能と、
をコンピュータに実現させるコンピュータプログラム。
【0008】
上記構成によれば、膨張後の特定物と膨張前の特定物とは大きさが異なるので、膨張画像と対象画像とを比較することによって特定物を検出できる。また、被写体がグラデーションなどの一様でない部分を含む場合であっても、該一様でない部分は、膨張画像と対象画像との差異として現れにくいので、該一様でない部分に起因して特定物の検出精度が低下することを抑制できる。
【0009】
なお、本明細書に開示された技術は、種々の形態で実現可能であり、例えば、特定物を検出する検出装置、検出方法、これらの装置、方法を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体、等の形態で実現することができる。
【図面の簡単な説明】
【0010】
【
図1】一実施例としてのデータ処理装置を示す説明図。
【
図2】第1実施例の異物検出処理のフローチャート。
【
図7】第2実施例の異物検出処理のフローチャート。
【発明を実施するための形態】
【0011】
A.第1実施例:
A1.装置構成:
図1は、一実施例としてのデータ処理装置を示す説明図である。データ処理装置100は、例えば、パーソナルコンピュータである。本実施例では、データ処理装置100は、インクジェットプリンタのための印刷材として用いられるインク、例えば、シアン、マゼンタ、イエロ、ブラックのインクの品質検査のために、インクに含まれる異物を検出する異常検出装置として用いられる。
【0012】
データ処理装置100は、プロセッサ110と、記憶装置115と、表示部140と、操作部150と、通信インタフェース170と、を備えている。これらの要素は、バスを介して互いに接続されている。記憶装置115は、揮発性記憶装置120と、不揮発性記憶装置130と、を含んでいる。
【0013】
プロセッサ110は、データを処理するように構成された装置である。プロセッサ110は、例えば、CPU(Central Processing Unit)、または、SoC(System on a chip)であってよい。揮発性記憶装置120は、例えば、DRAMであり、不揮発性記憶装置130は、例えば、フラッシュメモリやハードディスクである。不揮発性記憶装置130は、コンピュータプログラムPGを格納している。
【0014】
表示部140は、液晶ディスプレイ、有機ELディスプレイなどの、画像を表示するように構成された装置である。操作部150は、ボタン、レバー、表示部140上に重ねて配置されたタッチパネルなどの、ユーザによる操作を受け取るように構成された装置である。ユーザは、操作部150を操作することによって、種々の指示をデータ処理装置100に入力可能である。通信インタフェース170は、他の装置と通信するためのインタフェースである。通信インタフェース170は、例えば、USBインタフェース、有線LANインタフェース、IEEE802.11の無線インタフェース、産業用カメラのインタフェース(例えば、CameraLink、CoaXPressなど)、のうちの1種以上を含む。通信インタフェース170には、デジタル顕微鏡400が接続されている。
【0015】
デジタル顕微鏡400は、図示しない光学顕微鏡とデジタルカメラとを含む。光学顕微鏡は、例えば、観察対象物に光を照射する光源と、対物レンズと接眼レンズとを含むレンズ群と、を含み、観察対象物を拡大した拡大像を提供する。デジタルカメラは、二次元イメージセンサを用いて観察対象物の拡大像を撮影することによって、該拡大像を表す二次元の撮影画像のデータを生成する。撮影画像のデータは、複数個の画素を含む画像を表すビットマップデータである。本実施例では、撮影画像のデータは、赤Rと緑Gと青Bとの3色成分の階調値によって画素ごとの色を表すRGB画像データである。R値、G値、B値は、例えば、ゼロから255までの256階調で表される。このように、撮影画像は、3階調以上の階調を有する多階調画像である。
【0016】
A2.異物検出処理
図2は、第1実施例の異物検出処理のフローチャートである。データ処理装置100(
図1)のプロセッサ110は、コンピュータプログラムPGを実行することによって、異物検出処理を実行する。観察対象物であるインクを配置したプレパラートがデジタル顕微鏡400の観察台に載置され、インクの拡大像がデジタル顕微鏡400のデジタルカメラに入射されている状態で、異物検出処理の開始指示が、データ処理装置100に入力される。本実施例では、作業者は、操作部150を操作することによって、開始指示を入力する。プロセッサ110は、開始指示に応じて、異物検出処理を開始する。
【0017】
S100では、プロセッサ110は、インクの拡大像を示す撮影画像PIのデータを取得する。本実施例では、プロセッサ110は、撮影指示をデジタル顕微鏡400に供給する。デジタル顕微鏡400は、撮影指示に応じて、インクの拡大像を撮影し、撮影画像PIのデータを生成する。プロセッサ110は、デジタル顕微鏡400から、撮影画像PIのデータを取得する。
【0018】
図3は、異物検出処理の説明図である。
図6(A)には、撮影画像PIの一例が示されている。
図6(A)の撮影画像PIは、第1方向Dxに平行な2辺と第2方向Dyに平行な2辺とを有する矩形状の画像である。撮影画像PIは、第1方向Dxと第2方向Dyとに沿ってマトリクス状に並ぶ複数の画素のそれぞれの色値(本実施例では、R、G、Bの階調値)によって、表されている。
【0019】
図6(A)の撮影画像PIは、インクIkを示しており、インクIkは、異物SPを含んでいる。インクIkは、一様な画像ではなく、ムラを含んでいる。
図6(A)の撮影画像PI内のインクIkは、第1方向Dxの上流側から下流側に向かって色が暗くなっている。
図6(A)の撮影画像PI内のインクIkは、第1方向Dxの上流側から下流側に向かって連続的に明るさが変化するグラデーションを含んでいる。このようなグラデーションは、例えば、観察対象のインクのうち、デジタル顕微鏡400の光学顕微鏡の光源に近い部分が明るくなり、光源から離れた部分が暗くなることに起因した生じる。
【0020】
異物SPは、例えば、製造工程においてインクIkに混入したゴミや、インクIkの原料に混入していたゴミである。本実施例では、撮影画像PIにおいて、検出対象の異物SPの色は、異物SPの周囲の色よりも明るい色を有する。
【0021】
S110では、プロセッサ110は、撮影画像PIの各画素のRGB値を輝度Yに変換することによって、輝度画像GIを生成する。
図2(A)は、輝度画像GIを示す図とも言うことができる。輝度Yには、例えば、CIELAB色空間のL*値が用いられる。RGB値から輝度Yへの変換式には、例えば、sRGB色空間のRGB値を、CIELAB色空間のL*値に変換する公知の式が用いられる。輝度Yは、ゼロから255までの256階調で表されるので、輝度画像GIは、3階調以上の階調を有する多階調画像である。
【0022】
S120では、プロセッサ110は、輝度画像GIに対して第1正規化処理を実行する。
図4は、正規化処理の説明図である。
図4(A)には、正規化前の輝度画像GIの輝度ヒストグラムが示され、
図4(B)には、正規化後の輝度画像GIの輝度ヒストグラムが示されている。
【0023】
本実施例の正規化処理は、輝度画像GIの輝度Yが分布する範囲を予め定められた輝度範囲Ryになるように、輝度画像GIの各画素の値(輝度Y)を変換する処理である。
図4(B)に示すように、正規化後の輝度画像GIの最小輝度をQminとし、最大輝度をQmaxとすると、輝度範囲Ryは、Qmin≦Y≦Qmaxを満たす範囲である。
【0024】
本実施例は、線形変換によって正規化を行う。
図4(C)には、線形変換による正規化の式(1)~(3)が示されている。式(1)のPは、正規化前の輝度Yを示し、Qは、正規化後の輝度Yを示す。式(2)、(3)のQmin、Qmaxは、上述のように、正規化後の輝度画像GIの最小輝度Qminと、最大輝度Qmaxである。式(2)、(3)のPmin、Pmaxは、
図4(A)に示すように、正規化前の輝度画像GIの最小輝度Pminと、最大輝度Pmaxである。
【0025】
本実施例では、正規化後の輝度範囲Ryは、正規化前の輝度画像GIの輝度が取り得る範囲(0~255の範囲)より狭く設定されている((Pmax-Pmin)>(Qmax-QPmin))。このために、正規化後の輝度画像GIの複数個の画素の輝度の分散は、正規化前の輝度画像GIの複数個の画素の輝度の分散よりも小さくなる。例えば、本実施例では、Qminは、85であり、Qmaxは、170である。正規化後の輝度範囲Ryは、正規化前の輝度画像GIの輝度が取り得る最小値(本実施例では0)と最大値(本実施例では255)との平均値(本実施例では127.5)を含むように設定される。
【0026】
また、本実施例の正規化処理は、線形変換であるので、正規化前と正規化後とで、輝度画像GIの複数個の画素の輝度Yの大小関係は変わらない。すなわち、正規化前の輝度画像GIの第1の画素の輝度P1と第2の画素の輝度P2との間にP1<P2が成立する場合には、正規化後の輝度画像GIの第1の画素の輝度Q1と第2の画素の輝度Q2との間にもQ1<Q2が成立する。
【0027】
以上の説明から解るように、本実施例の正規化処理は、輝度画像GI内の複数個の画素の輝度Yの大小関係を維持しつつ、複数個の画素の輝度Yの分散を小さくする処理である、と言うことができる。
【0028】
S130では、プロセッサ110は、正規化後の輝度画像GIに対して膨張処理を実行して、膨張画像WIを生成する。膨張処理は、処理対象の画像(本実施例では正規化後の輝度画像GI)内の明るい部分を膨張させる処理である。本実施例では、検出すべき異物SPは、周囲よりも明るい部分であるので、膨張処理は、検出すべき異物SPを膨張させる処理とも言うことができる。
図5は、膨張処理の説明図である。
図5(A)には、膨張処理のフローチャートが示されている。
【0029】
S200では、プロセッサ110は、膨張画像WIの初期画像をメモリ(具体的には、揮発性記憶装置120のバッファ領域)に準備する。初期画像は、輝度画像GIと同じサイズの画像、すなわち、同じ画素数の画像である。初期画像の各画素の値は、所定の初期値(例えば、0)である。
【0030】
S205では、プロセッサ110は、正規化後の輝度画像GI内の複数個の画素から1個の注目画素を選択する。
【0031】
S210では、プロセッサ110は、注目画素の複数個の周囲画素の最大輝度Ymaxを特定する。具体的には、正規化後の輝度画像GIの注目画素に、
図5(B)のフィルタFLの中心位置CCが重なるように、フィルタFLが配置される。フィルタFLの範囲は、縦3画素×横3画素(3行3列)の9個の画素の範囲である。プロセッサ110は、フィルタFLの範囲内の9個の画素のうち、注目画素を除く8個の画素を周囲画素として特定する。このように、周囲画像は、注目画素の周囲に位置する特定範囲(本実施例ではフィルタFLの範囲)内の画素である。プロセッサ110は、8個の周囲画素の輝度Yのうち、最も大きな値を最大輝度Ymaxとして特定する。
図5(B)のフィルタFLの各画素内には、輝度Yの一例が数字で記載されている。
図5(B)の例では、画素MCの輝度「200」が、周囲画素の最大輝度Ymaxとして特定される。
【0032】
S220では、プロセッサ110は、注目画素の輝度Yに、S210にて特定された周囲画素の最大輝度Ymaxを加算する。
【0033】
S230では、プロセッサ110は、S220にて算出された値を、輝度画像GIの注目画素に対応する膨張画像WIの対応画素の輝度として記録する。すなわち、揮発性記憶装置120において膨張画像WIの対応画素の値が、初期値から算出値に書き換えられる。輝度画像GIにおける注目画素の座標と、膨張画像WIにおける対応画素の座標は、同じである。
【0034】
S240では、プロセッサ110は、正規化後の輝度画像GI内の全ての画素を注目画素として処理したか否かを判断する。未処理の画素がある場合には(S240:NO)、プロセッサ110は、S205に戻って、未処理の画素を注目画素として選択する。全ての画素が処理された場合には(S240:YES)、プロセッサ110は、膨張処理を終了する。この時点で膨張画像WIがメモリ上に生成されている。膨張画像WIの画素の値(輝度)は、輝度画像GIと同様にゼロから255までの256階調で表されるので、膨張画像WIは、輝度画像GIと同様に、3階調以上の階調を有する多階調画像である。
【0035】
図3(B)には、
図3(A)の輝度画像GIに対して膨張処理を実行して得られる膨張画像WIが示されている。膨張処理は、周囲よりも明るい部分を膨張させるので、膨張画像WIは、
図3(A)の輝度画像GIの異物SPを膨張して得られる膨張異物SPwを含んでいる。膨張処理は、明るさの大きな変化が無い部分には大きな影響を与えないので、膨張画像WIにおいて膨張異物SPwとは異なる部分(グラデーションを含むインクIkwの部分)は、輝度画像GIの異物SPとは異なる部分と大きな差異はない。
【0036】
膨張処理後の
図2のS140では、プロセッサ110は、正規化後の輝度画像GIと膨張画像WIとの差分を示す差分画像DIを生成する。例えば、プロセッサ110は、正規化後の輝度画像GIの画素の輝度Y1と、膨張画像WIの対応する画素の輝度Y2と、の差分値ΔY(ΔY=Y1-Y2)を算出する。プロセッサ110は、画素ごとに、当該差分値ΔYを算出することで、該差分値ΔYを画素の値とする差分画像DIを生成する。
【0037】
図3(C)には、
図3(A)の輝度画像GIと
図3(B)の膨張画像WIとの差分を示す差分画像DIが示されている。
図3(A)の輝度画像GIと
図3(B)の膨張画像WIとの間では、膨張異物SPwが異物SPより大きいことが大きな差異であり、それ以外に大きな差異はない。このために、差分画像DIには、膨張異物SPwと異物SPとの間の大きさの差を示す環状部SPdが現れる。差分画像DIには、環状部SPd以外に大きな特徴は現れない。
【0038】
S150では、プロセッサ110は、差分画像DIに対して第2正規化処理を実行する。第2正規化処理は、S120の第1正規化処理と同一の処理であり、
図4を参照して説明した処理である。
【0039】
S160では、プロセッサ110は、正規化後の差分画像DIを二値化して、二値画像BIを生成する。具体的には、プロセッサ110は、所定の閾値THbよりも大きな輝度Yを有する画素をオブジェクト画素に分類し、閾値THb以下の輝度Yを有する画素を背景画素に分類することによって、二値画像BIを生成する。例えば、
図3(C)の差分画像DIを二値化して得られる二値画像BIでは、環状部SPdを構成する画素がオブジェクト画素に分類され、環状部SPdを構成しない画素が背景画素に分類される。このために、
図3(C)は、二値画像BIを示す図とも言うことができる。閾値THbは、例えば、実験的に環状部SPdを精度良く検出可能な値に設定され、本実施例では、128である。オブジェクト画素は、輝度画像GIと膨張画像WIとを比較した場合に、基準以上の差異が生じている画素である、と言うことができる。
【0040】
S170では、プロセッサ110は、二値画像BIに対してラベリングを行うことによって環状部SPdを特定する。具体的には、プロセッサ110は、1以上のオブジェクト画素が連続する領域を、1個のオブジェクト領域として特定する。これによって、環状部SPdを示す環状の領域がオブジェクト領域として特定される。
【0041】
S180では、プロセッサ110は、環状部SPdごとに、環状部SPdに外接する外接矩形SFを特定する(
図3(C))。S190では、プロセッサ110は、特定された外接矩形SFが付加された撮影画像PI(
図3(A))を表示部140に表示して異物検出処理を終了する。
図3(A)に示すように、外接矩形SFは、撮影画像PIにおいて異物SPを囲む位置に付加される。
【0042】
以上説明した第1実施例によれば、プロセッサ110は、処理対象の被写体としてのインクの拡大像を示す輝度画像GIを取得し(
図2のS100-S120)。輝度画像GIに対して異物SPを示す領域を膨張させる膨張処理を実行して膨張画像WIを生成する(
図2のS130)。プロセッサ110は、輝度画像GIと膨張画像WIとを比較することによって輝度画像GI内の異物SPを検出する(
図2のS140-S180)。
【0043】
膨張画像WIにおける膨張異物SPwと輝度画像GIにおける膨張前の異物SPとは大きさが異なるので、膨張画像WIと輝度画像GIとを比較することによって異物SPを検出できる(
図3(A)-(C))。また、インクIkがグラデーションなどの一様でない部分を含む場合であっても、該一様でない部分は、膨張画像WIと輝度画像GIとの差異として現れにくいので、該一様でない部分に起因して異物SPの検出精度が低下することを抑制できる。
【0044】
図6を参照してさらに説明する。
図6は、比較例の説明図である。
図3(A)の撮影画像PIにおいて、インクIkは、グラデーションによって右側が暗く、左側が明るくなっている。このために、右側の異物SP1は、グラデーションの暗い部分に位置し、左側の異物SP2は、グラデーションの明るい部分に位置する。異物SPの明るさは、該異物が位置するインクIkの明るさの影響を受ける。このために、右側の異物SP1は異物SP1の周囲よりも明るいが、左側の異物SP2の周囲よりも暗い場合がある。このような場合に、例えば、輝度画像GIを単純に二値化する方法では、輝度画像GI内の全ての異物SPを検出できない可能性があった。
【0045】
図6には、
図3(A)の撮影画像PIにおいて右側の異物SP1が異物SP1の周囲よりも明るいが、左側の異物SP2の周囲よりも暗い場合に、単純な二値化によって生成される単純二値画像BIx1、BIx2が比較例として示されている。
【0046】
図6(A)の単純二値画像BIx1は、右側の異物SP1の周囲よりも明るく、かつ、左側の異物SP2の周囲よりも暗い輝度を閾値THx1として用いた場合に生成される二値画像を示している。この場合には、右側の異物SP1は検出できるが、左側の異物SP2は周囲と区別されないので検出されない。
【0047】
図6(B)の単純二値画像BIx2は、左側の異物SP2の周囲よりも明るく、かつ、左側の異物SP2よりも暗い輝度を閾値THx2として用いた場合に生成される二値画像を示している。この場合には、左側の異物SP2は検出できるが、右側の異物SP1は周囲と区別されないので検出されない。
【0048】
これに対して本実施例によれば、周囲よりも明るい異物SPを膨張して得られる膨張異物SPwを含む膨張画像WIと、膨張前の異物SPを含む輝度画像GIと、を比較することで、異物SPを検出している。この結果、インクIkがグラデーションを含むにも拘わらず、輝度画像GI内の3つの異物SPについて、異物SPを囲む環状部SPdを特定できる(
図3(C))ので、輝度画像GI内の3つの異物SP、ひいては、撮影画像PI内の3つの異物SPを検出できる。
【0049】
また、異物SPを検出するために撮影画像PIや輝度画像GIに対して公知のエッジ検出処理(例えば、Cany法)を行う方法が考えられる。しかしながら、公知のエッジ検出処理では、撮影画像PIは輝度画像GI上の細かな画素の値(輝度Yや色値)の変動(ノイズ)がある部分に、エッジが検出されるので、異物SPを精度良く検出できない場合がある。本実施例によれば、膨張画像WIと輝度画像GIとを比較することで、背景(例えば、グラデーションやノイズなどを含むインクIk)の影響を抑制して、異物SPを検出できる。
【0050】
より具体的には、プロセッサ110は、膨張画像WIと輝度画像GIとを差分を示す差分画像DIを生成し(
図2のS140)、該差分画像DIを用いて、輝度画像GI内の異物SPを検出する(
図2のS150~S180)。差分画像DIには、
図3(C)に示すように、異物SPの外縁を示すように異物SPを囲む環状部SPdが現れやすい。また、輝度画像GIがグラデーションなどの一様でない部分を含む場合であっても、差分画像DIには、該一様でない部分は現れにくい。この結果、輝度画像GI内の異物SPの検出精度を向上し得る。
【0051】
さらに、本実施例によれば、撮影画像PIを輝度画像GIに変換し(
図2のS110)、輝度画像GIに対して膨張処理を実行して得られる膨張画像WIと、輝度画像GIと、を比較して、異物SPを検出する。この結果、撮影画像PIの被写体(本実施例ではインクIk)の他の領域とは明るさが異なる特定物を検出できる。例えば、本実施例では、インクIkに混入した異物SPは、インクIkの他の領域よりも明るいので、輝度画像GIを用いることで、インクIkに混入した異物SPを検出できる。
【0052】
さらに、本実施例によれば、プロセッサ110は、輝度画像GIに対して、前処理として第1正規化処理を実行し(
図2のS120)、前処理済みの輝度画像GI(すなわち、正規化後の輝度画像GI)に対して膨張処理を実行する(
図2のS130)。この結果、前処理によって、輝度画像GIの輝度Yのバラツキを小さくすることができる。この結果、微少な輝度Yの差に基づいて、ノイズなどを異物SPと間違えて検出する誤検出を抑制することができる。
【0053】
さらに、本実施例では、前処理(第1正規化処理)は、輝度画像GIの輝度Yが取り得る輝度範囲を0~255の範囲から、0~255の範囲より狭い輝度範囲Ry(本実施例では、85~170の範囲)に変更する処理である。正規化後の輝度範囲Ryは、正規化前の輝度画像GIの輝度Yが取り得る範囲の最小値(本実施例では0)と最大値(本実施例では255)との平均値(本実施例では127.5)を含む範囲である。このように、正規化処理によって、輝度画像GIの輝度の分布を0~255の範囲の中心付近に寄せることで、膨張処理による輝度の変化量が過度に大きくなることを抑制できる。例えば、仮に正規化処理によって輝度画像GIの輝度の分布を255側(明るい側)に寄せると、異物SPとは異なる部分の輝度が膨張処理によって大きくされる量が過度に大きくなり得る。この場合には、異物SPとは異なる部分も膨張して誤検出が発生する可能性が高くなり得る。本実施例によれば、このような不都合を避けるように正規化処理を実行できる。
【0054】
さらに、本実施例の膨張処理(
図5)は、注目画素の周囲の複数個の周囲画素の最大輝度Ymaxを注目画素の輝度Yに加算する処理(
図5のS210、S220)を、輝度画像GIの複数個の画素のそれぞれを注目画素として実行することによって、膨張画像WIを生成する処理である。この膨張処理によれば、グラデーションなどの一様でない部分を含む輝度画像GIにおいて、周囲よりも明るい異物SPを膨張させることができる。さらに、注目画素の輝度Yを周囲画素の最大輝度Ymaxに置換するのでなく、周囲画素の最大輝度Ymaxを注目画素の輝度Yに加算するので、注目画素の元々の輝度Yも加味された輝度が、膨張画像WIの各画素の輝度として採用される。この結果、例えば、膨張画像WIにおいて、グラデーションの明るい部分に位置する異物SPは、グラデーションの暗い部分に位置する異物SPはよりも明るくなるので、より異物と周囲との差異がはっきりとするので検出が向上しやすい。
【0055】
さらに、本実施例の膨張処理において、1つの注目画素について考慮される周囲画素は、注目画素を中心とする3行3列の9個の画素のうちの注目画素を除いた8個の画素である(
図5(B)等)。仮に過度に多数の周囲画素を用いると、注目画素から過度に離れた画素を考慮することになるので、周囲と明るさの差がある異物SPだけを選択的に膨張させることができない場合がある。本実施例によれば、ごく近い8個の画素を考慮するので、周囲と明るさの差がある異物SPだけを選択的に膨張させることができる。
【0056】
さらに、本実施例では、差分画像DIに対して第2正規化処理を実行し(
図2のS150)、正規化後の差分画像DIを用いて、輝度画像GI内の異物SPを検出する(
図2のS160~S180)。差分画像DIに対して、第2正規化処理を実行することで、差分画像DIの画素の値の変動を緩やかにすることができる。この結果、差分画像DIにおける細かい画素の値の変動(ノイズ)を異物SPとして誤検出することを抑制できる。
【0057】
さらに、本実施例によれば、プロセッサ110は、差分画像DIを用いて膨張画像WIと輝度画像GIとを比較することによって膨張画像WIと輝度画像GIとの間で差異があるオブジェクト画素を検出する(
図2のS140-S160)。そして、プロセッサ110は、連続する複数個のオブジェクト画素によって構成される領域(環状部SPd(
図3(C)))に外接する外接矩形SFを特定し(
図2のS180)、外接矩形SFを異物SPの検出結果として出力する(
図2のS190)。この結果、外接矩形SFを用いて、撮影画像PI上の異物SPの検出結果を適切に出力することができる。
【0058】
さらに、本実施例によれば、第1正規化処理や第2正規化処理として、線形変換による正規化(
図4)が採用されている。正規化処理には、例えば、ヒストグラム平坦化(通常のヒストグラム平坦化や、適応的ヒストグラム平坦化)と呼ばれる手法がある。仮にヒストグラム平坦化を採用すると、例えば、グラデーション部分のコントラストが強調されることによって、異物SPとは異なる部分で局所的な輝度の変化が大きくなり、誤検出を引き起こす可能性がある。本実施例では、第1正規化処理や第2正規化処理として、線形変換による正規化を採用することで、局所的な輝度の変化が発生することを抑制できるので、ヒストグラム平坦化などの他の手法と比較して、誤検出を抑制できる。
【0059】
以上説明したように、本実施例の輝度画像GIは、対象画像の例であり、第1正規化処理は、前処理の例であり、第2正規化処理は、調整処理の例であり、異物SPは、特定物の例である。
【0060】
B.第2実施例
第2実施例では、異物検出処理の内容が第1実施例とは異なる。
図7は、第2実施例の異物検出処理のフローチャートである。
【0061】
S300では、
図2のS100と同様に、プロセッサ110は、インクの拡大像を示す撮影画像PIのデータを取得する。
【0062】
S310では、
図2のS110と同様に、プロセッサ110は、撮影画像PIの各画素のRGB値を輝度Yに変換することによって、輝度画像GIを生成する。
【0063】
S320では、プロセッサ110は、輝度画像GIの複数個の画素の輝度Yの平均輝度Yaveと、該複数個の画素の輝度Yの分散σと、を算出する。
【0064】
S120では、プロセッサ110は、算出された平均輝度Yaveが、輝度の閾値Yth以上であり、かつ、算出された分散σが、分散の閾値σth以上であるか否かを判断する。
【0065】
平均輝度Yaveが輝度の閾値Yth未満である場合には、輝度画像GIが全体として暗い、換言すれば、異物SPを除いたインクIkの部分が暗いと考えられる。この場合には、明るい異物SPと、暗いインクIkと、の差がはっきりとしているので、第1実施例にて比較例として説明した単純二値化の手法で、十分に異物SPを検出可能であると考えられる。
【0066】
分散σが閾値σth未満である場合には、輝度画像GIが概ね均一な画像であり、例えば、位置によって明るさが大きく変動するグラデーションなどを含んでいないと考えられる。この場合には、1つの閾値でインクIkと異物SPとを区別できるので、第1実施例にて比較例として説明した単純二値化の手法で、十分に異物SPを検出可能であると考えられる。
【0067】
このために、平均輝度Yaveが輝度の閾値Yth未満である場合、もしくは、分散σが閾値σth未満である場合には(S330:NO)、プロセッサ110は、S350~S380にて、単純二値化の手法で異物SPを検出し、検出結果を表示する。
図8は、単純二値化による異物検出処理の説明図である。
図8(a)の輝度画像GIbは、分散σが閾値σth未満である輝度画像GIの例である。
図8(a)の輝度画像GIb内のインクIkは、概ね均一な色を有しており、グラデーションを含んでいない。
【0068】
具体的には、S350にて、プロセッサ110は、輝度画像GIを二値化して、二値画像(図示省略)を生成する。具体的には、プロセッサ110は、所定の閾値THx(例えば、128)よりも大きな輝度Yを有する画素をオブジェクト画素に分類し、該閾値THx以下の輝度Yを有する画素を背景画素に分類することによって、二値画像を生成する。例えば、
図8(B)には、
図8(A)の輝度画像GIbを二値化して得られる二値画像BIbが示されている。この二値画像BIbでは、輝度画像GIbの異物SPが位置する異物領域SPbの画素がオブジェクト画素に分類される。
【0069】
S360では、プロセッサ110は、二値画像BIbに対してラベリングを行うことによって異物領域SPbを特定する。具体的には、プロセッサ110は、1以上のオブジェクト画素が連続する領域を、1個の異物領域として特定する。
【0070】
S370では、プロセッサ110は、異物領域SPbごとに、異物領域SPbに外接する外接矩形SFbを特定する(
図8(B))。S380では、プロセッサ110は、特定された外接矩形SFbが付加された撮影画像(図示省略)を表示部140に表示して異物検出処理を終了する。
【0071】
輝度画像GIの平均輝度Yaveが閾値Yth以上であることは、輝度画像GIが全体として明るいことを意味している。輝度画像GIの分散σが閾値σth以上であることは、輝度画像GIが均一な画像でないことを意味しており、例えば、グラデーションなどの一様でない部分を含んでいることを意味している。このために、輝度画像GIの平均輝度Yaveが閾値Yth以上であり、かつ、輝度画像GIの分散σが閾値σth以上である場合には(S330:YES)、
図6を参照して比較例にて説明したように、単純二値化による異物検出処理では、異物を精度良く検出できない可能性が高い。このために、この場合には、プロセッサ110は、S340にて、第1実施例の異物検出処理(
図2のS120-S190)を実行する。この結果、輝度画像GI内の異物を精度良く検出することができる。
【0072】
以上説明した第2実施例によれば、プロセッサ110は、特定条件を満たすか否かを判断する(
図7のS320)。特定条件は、輝度画像GIの平均輝度Yaveが閾値Yth以上であり、かつ、輝度画像GIの分散σが閾値σth以上であることである。プロセッサ110は、特定条件が満たされる場合に(S320にてYES)、第1実施例と同様の異物検出処理を実行する(S340)。すなわち、プロセッサ110は、膨張処理を実行し、膨張画像WIと輝度画像GIとを比較することによって輝度画像GI内の異物SPを検出する(
図2、
図3)プロセッサ110は、特定条件が満たされない場合に(S320にてNO)、単純二値化による異常検出処理を実行する(S350-S380)。すなわち、プロセッサ110は、膨張処理を実行せず、輝度画像GIを用いて、膨張画像を用いずに、輝度画像GI内の異物SPを検出する。
【0073】
特定条件が満たされる場合には、輝度画像GIのみを用いて異物SPを検出すると、例えば、輝度画像GIを単純に二値化することによって異物SPを検出すると、誤検出が発生しやすい。本実施例では、特定条件が満たされる場合に、第1実施例のように、膨張画像WIと輝度画像GIとを比較することによる異物SPを検出するので、特定条件を満たすような輝度画像GIにおいて異物SPを精度良く検出できる。また、特定条件が満たされない場合には、輝度画像GIを単純に二値化する方法によって十分に異物SPを検出できる。本実施例では、特定条件が満たされない場合には、輝度画像GIを単純に二値化する方法によって異物SPを検出するので、シンプルな処理によって異物検出のための処理時間を低減できる。このように、第2実施例によれば、輝度画像GIに応じた適切な異物検出処理を実行できるので、検出精度を低下させることなく、効率良く異物の検出を行うことができる。
【0074】
C.変形例
(1)上記実施例では、撮影画像PIの被写体は、印刷に用いられるインクであり、検出すべき特定物は、インクに混入した異物である。これに限らず、撮影画像PIの被写体は、例えば、他の液体、気体、固体のいずれであっても良く、検出すべき特定物は、該液体、気体内に含まれる他の物質、生物や、該固体の表面に付着した他の物質や生物であっても良い。例えば、液体中の細菌や微生物を検出するために、本実施例の検出処理が用いられても良いし、レンズに付着したゴミを検出するために、本実施例の検出処理が用いられても良い。
【0075】
(2)上記実施例では、膨張画像WIと輝度画像GIとの差分画像DIを生成することによって、膨張画像WIと輝度画像GIとの比較を行っている。これに代えて、プロセッサ110は、膨張画像WIと輝度画像GIとの各画素の輝度Yの比率を画素ごとに算出し、該比率を画素値とする比較画像を生成し、該比較画像を用いて異物SPを検出しても良い。この場合には、比較画像において「1」に近い値(輝度比)を有する画素を背景画素に分類し、「1」から離れた値を有する画素をオブジェクト画素に分類することで、異物が特定されても良い。
【0076】
(3)上記実施例では、インクIkに混入した明るい異物SPが検出されている。これに代えて、インクIkに混入した暗い異物が検出されても良い。この場合には、輝度画像GIにおいて、周囲よりも暗い(輝度Yが低い)領域を異物として検出する必要がある。このために、この場合には、膨張処理として、注目画素の複数個の周囲画素(例えば、8個の周囲画素(
図5(B)))のうちの最小輝度を注目画素の輝度から減算する処理を、輝度画像GIのそれぞれを注目画素として実行することによって、膨張画像を生成する処理が採用される。この膨張処理によれば、輝度画像GIにおいて周囲よりも暗い(輝度Yが低い)領域を膨張することができるので、周囲よりも暗い異物を膨張して得られる膨張異物を含む膨張画像を生成することができる。
【0077】
(4)上記実施例では、膨張処理として、注目画素の複数個の周囲画素(例えば、8個の周囲画素(
図5(B)))のうちの最大輝度を注目画素の輝度に加算する処理が行われ(
図5のS210、S220)、注目画素の輝度と周囲画素の最大輝度との和が、膨張画像WIの対応画素の値とされている。これに代えて、注目画素の複数個の周囲画素のうちの最大輝度を、膨張画像WIの対応画素の値とする膨張処理が採用されても良い。この膨張処理では、インクIkのうちの異物とは異なる部分の輝度が膨張処理によって変化することを抑制できるので、差分画像DIにインクIkのうちの異物とは異なる部分の影響が現れることを、より効果的に抑制できる。したがって、差分画像DIに異物以外の要素がオブジェクトとして現れることを抑制して、異物の検出精度を向上し得る。
【0078】
(5)上記実施例の膨張処理では、
図5(B)のフィルタFLが用いられるが、これに代えて、
図5(C)のフィルタFLbが用いられても良い。フィルタFLbの範囲は、注目画素と、注目画素の上下左右に隣接する4個の画素と、の範囲である。このために、フィルタFLbが用いられる場合には、注目画素についての処理で考慮される複数個の周囲画素は、注目画素の上下左右に隣接する4個の画素である。このように、4個の周囲画素を考慮して注目画素に対応する膨張画像WIの対応画素の輝度を決定しても良い。この場合であっても、輝度画像GIにおける異物SPを適切に膨張することができる。
【0079】
(6)上記第2実施例のS330にて判断される特定条件は、輝度画像GIの平均輝度Yaveが閾値Yth以上であり、かつ、輝度画像GIの分散σが閾値σth以上であることである。これに限らず、判断される特定条件は、輝度画像GIの平均輝度Yaveが閾値Yth以上であることと、輝度画像GIの分散σが閾値σth以上であることと、のいずれか一方だけであっても良い。特定条件は、輝度画像GIの平均輝度Yaveが閾値Yth以上であることと、輝度画像GIの分散σが閾値σth以上であることと、のいずれか一方を少なくとも満たすことであっても良い。また、特定条件の判断に用いられる輝度画像GIの輝度Yの代表値として、平均輝度Yaveとは異なる統計量、例えば、複数個の画素の輝度Yの中央値(メディアン)や最頻値(モード)が用いられても良い。
【0080】
また、検出すべき異物SPが周囲よりも暗い異物である場合には、特定条件は、輝度画像GIの平均輝度Yaveが閾値Yth以上であることに代えて、輝度画像GIの平均輝度Yaveが所定の閾値以下であることを含むことが好ましい。検出すべき異物SPが周囲よりも暗い異物であり、輝度画像GIの全体が明るい場合には、単純二値化の手法で異物SPを十分検出可能であり、輝度画像GIの全体が暗い場合に、膨張画像WIと輝度画像GIとを比較する手法が有効であるためである。
【0081】
(7)上記実施例の異物検出処理(
図2、
図7)は、適宜に変更可能である。例えば、
図2の異物検出処理では、撮影画像PIを輝度画像GIに変換して(
図2のS110)、輝度画像GIを用いて膨張処理(
図2のS130)を含むS120-S180の処理が実行される。これに代えて、例えば、検出すべき異物やインクの種類によっては、撮影画像PIのRGBレイヤーのうちの一つを用いて、膨張処理(
図2のS130)を含むS120-S180の処理が実行されても良い。
【0082】
また、
図2のS120の第1正規化処理やS150の第2正規化処理の一方または両方は、省略されても良い。また、異物SPの検出結果の表示方法は、外接矩形を用いる方法(
図2のS190)に限らず、他の方法であっても良い。例えば、差分画像DIにて検出された環状部SPdに対応する撮影画像PIの複数個の画素の色をハイライトすることによって、異物SPの検出結果が表示されても良い。
【0083】
(8)上記実施例の異常検出処理は、データ処理装置100とは異なる装置、例えば、デジタル顕微鏡400に搭載されたコンピュータによって実行されても良いし、ネットワークを介して互いに通信可能な複数個の計算機(例えば、いわゆるクラウドサーバ)によって実行されても良い。
【0084】
(9)上記各実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部あるいは全部をハードウェアに置き換えるようにしてもよい。
【0085】
また、本発明の機能の一部または全部がコンピュータプログラムで実現される場合には、そのプログラムは、コンピュータ読み取り可能な記録媒体(例えば、一時的ではない記録媒体)に格納された形で提供することができる。プログラムは、提供時と同一または異なる記録媒体(コンピュータ読み取り可能な記録媒体)に格納された状態で、使用され得る。「コンピュータ読み取り可能な記録媒体」は、メモリーカードやCD-ROMのような携帯型の記録媒体に限らず、各種ROM等のコンピュータ内の内部記憶装置や、ハードディスクドライブ等のコンピュータに接続されている外部記憶装置も含み得る。
【0086】
以上、実施例、変形例に基づき本発明について説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれる。
【符号の説明】
【0087】
100…データ処理装置,110…プロセッサ,115…記憶装置,120…揮発性記憶装置,130…不揮発性記憶装置,140…表示部,150…操作部,170…通信インタフェース,400…デジタル顕微鏡,DI…差分画像,GI…輝度画像,Ik…インク,PG…コンピュータプログラム,SP…異物