JP2021125768A - 画像処理装置、その制御方法、及びプログラム - Google Patents

画像処理装置、その制御方法、及びプログラム Download PDF

Info

Publication number
JP2021125768A
JP2021125768A JP2020017233A JP2020017233A JP2021125768A JP 2021125768 A JP2021125768 A JP 2021125768A JP 2020017233 A JP2020017233 A JP 2020017233A JP 2020017233 A JP2020017233 A JP 2020017233A JP 2021125768 A JP2021125768 A JP 2021125768A
Authority
JP
Japan
Prior art keywords
image
learning
image data
printed matter
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2020017233A
Other languages
English (en)
Inventor
智志 池田
Satoshi Ikeda
智志 池田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2020017233A priority Critical patent/JP2021125768A/ja
Publication of JP2021125768A publication Critical patent/JP2021125768A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)
  • Control Or Security For Electrophotography (AREA)
  • Image Input (AREA)
  • Facsimiles In General (AREA)

Abstract

【課題】本発明は、機械学習を用いて正常印刷物の読取画像を生成して基準画像を自動で設定する仕組みを提供する。【解決手段】本実画像処理装置は、印刷物に印刷された画像を読み取り、読み取られた読取画像の画像データと、印刷物の印刷に利用された画像データとを用いて、印刷物の検査を行うための基準画像を推定するモデルを学習する。また、本画像処理装置は、学習済みのモデルを用いて、印刷対象の画像データを入力として印刷物の検査を行うための基準画像を推定する。さらに、本画像処理装置は、推定された基準画像と、対応する印刷物から読み取った被検査画像とを比較して、当該印刷物の異常を検査する。【選択図】 図4

Description

本発明は、画像処理装置、その制御方法、及びプログラムに関する。
近年、デジタル印刷技術の性能向上に伴い、従来の有版式アナログ印刷機に迫る画質を実現した電子写真方式やインクジェット方式のデジタル印刷機が登場している。デジタル印刷では、従来の有版式アナログ印刷より低コストで印刷成果物を提供可能であるため、デジタルプロダクションの印刷物が一般化してきている。
しかし、電子写真方式やインクジェット方式のデジタル印刷機では、転写不良やノズル不良に起因して、白抜けやスジなどの異常画像を出力する場合がある。大量の枚数を連続で印刷するデジタルプロダクションプリンティングの分野では、排紙された印刷成果物に異常がないか一枚一枚人目でチェックしなければならず、多大な検査工数が掛かっていた。
このため、印刷物に異常がないかを自動で検知し除外する、画像処理装置が求められている。特許文献1には、印刷成果物の撮影画像と、予め登録した正常印刷物の撮影画像(基準画像)とを比較することで、自動で印刷異常を検知する技術が提案されている。
特開2010−66516号公報
しかしながら、上記従来技術には以下に記載する少なくとも2つの課題がある。1つ目は、正常画像を検査装置に登録する作業のユーザ負荷が大きいという点である。上記従来技術では、まず印刷異常がない印刷物をユーザが選定し、基準画像として登録する作業が必要であった。正常印刷物の選定は人目で行わなければならず、上述したように多大な作業工数を要するものである。
2つ目は、ユーザによって基準画像の選定基準が異なるため、検査精度にばらつきが生じるという点である。上記従来技術は、基準画像と対象印刷物の読取画像の比較により異常を検知するため、基準画像の品質が検品精度に大きく影響する。しかし、基準画像は人目で選定されるため、ユーザが適切な画像を選定できるか否かによって、検品精度にばらつきが生じていた。
本発明は、上述の問題の少なくとも一つに鑑みて成されたものであり、機械学習を用いて正常印刷物の読取画像を生成して基準画像を自動で設定する仕組みを提供する。
本発明は、例えば、画像処理装置であって、印刷物に印刷された画像を読み取る読取手段と、前記読取手段によって読み取られた読取画像の画像データと、前記印刷物の印刷に利用された画像データとを用いて、印刷物の検査を行うための基準画像を推定するモデルを学習する学習手段と、前記学習手段による学習済みのモデルを用いて、印刷対象の画像データを入力として印刷物の検査を行うための基準画像を推定する推定手段とを備えることを特徴とする。
本発明によれば、機械学習を用いて正常印刷物の読取画像を生成して基準画像を自動で設定することができる。
一実施形態に係る画像処理装置の構成例を示す図。 一実施形態に係る印刷品質の検査を行う検査装置の構成を示す模式図。 一実施形態に係る検査装置に基準画像を設定する基準画像設定部の構成を示す模式図。 一実施形態に係る画像推定部の動作を示す模式図。 一実施形態に係るラスタデータ、スキャンデータ及び中間データを表す模式図。 一実施形態に係る第1の推定部の構成を表す模式図。 一実施形態に係る第1の学習部の動作を表す模式図。 一実施形態に係る第1の判別部を表す模式図。 一実施形態に係る第1の学習部による学習処理の動作を表すフローチャート。 一実施形態に係る第2の学習部の動作を表す模式図。 一実施形態に係る基準画像設定部の構成を表す模式図。 一実施形態に係る基準画像選定部の動作を表すフローチャート。 一実施形態に係る基準画像選定部の動作を表すフローチャート。
以下、添付図面を参照して実施形態を詳しく説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものでない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
なお、実施形態に係る画像処理装置として複合機(デジタル複合機/MFP/Multi Function Peripheral)を例に説明する。しかしながら適用範囲は複合機に限定はせず、画像処理装置であればよい。
<第1の実施形態>
以下では、本発明の第1の実施形態について説明する。本実施形態では、機械学習を用いた画像推定部により生成した画像を基準画像に用いる検品装置について説明する。当該画像推定部は、ラスタ画像を入力とし、当該画像を印刷した印刷物の読取画像をシミュレーションした画像データを出力とする。なお、本開示においてラスタ画像とは、CMYK4プレーンの画像データであり、ユーザによって印刷指示された入力データに対してRIP処理及び中間処理等の画像処理を適用することで取得される。また、印刷物とは、ラスタ画像を記録媒体上に印刷した画像のことである。また、検品装置とは、被検査印刷物の撮影画像と基準画像を比較することで、印刷物の異常を検知する装置である。本実施形態によれば、機械学習により生成された画像を基準として用いるため、人目で正常印刷物を選定することなく、印刷物の検品が可能となる。
以下の実施形態では画像データが保持する各色空間に対応した色をR(レッド)、G(グリーン)、B(ブルー)又はC(シアン)、M(マゼンタ)、Y(イエロー)、K(ブラック)などの英字で表すものとする。すなわち、RとはRGB色空間における赤色成分を示し、CとはCMYK色空間におけるシアン成分を示す。画像データとは、色毎のプレーンを持つ、複数プレーンの二次元データである。例えばRGB色空間の画像データとはR、G、B毎の3つの二次元平面の層構造データを示す。
<画像処理装置の構成>
図1を参照して、本実施形態に係る画像処理装置100のハードウェア構成を説明する。画像処理装置100は、CPU101、ROM102、RAM103、大容量記憶装置104、表示部105、操作部106、エンジンI/F107、ネットワークインタフェース(I/F)108、スキャナI/F109及び検査装置114を備える。これら各部はシステムバス110を介して相互に接続される。また、画像処理装置100は、プリンタエンジン111及びスキャナユニット112を更に備える。プリンタエンジン111及びスキャナユニット112は、それぞれエンジンI/F107及びスキャナI/F109を介してシステムバス110に接続される。なお、スキャナI/F109、スキャナユニット112及び検査装置114は、画像処理装置100とは独立した装置として構成されてもよい。
CPU101は、画像処理装置100全体の動作を制御する。CPU101は、ROM102に格納されたプログラムをRAM103に読み出して実行することによって、後述する各種の処理を実現する。ROM102は、読み出し専用メモリであり、システム起動プログラムやプリンタエンジンの制御を行うためのプログラム、及び文字データや文字コード情報等が格納されている。RAM103は、揮発性のランダムアクセスメモリであり、CPU101のワークエリア、及び各種のデータの一時的な記憶領域として使用される。例えば、RAM103には、ダウンロードによって追加的に登録されたフォントデータ、外部装置から受信した画像ファイル等を格納するための記憶領域として使用される。大容量記憶装置104は、例えばHDDやSSDであり、各種のデータがスプールされ、プログラム、情報ファイル及び画像データ等の格納、又は作業領域として使用される。
表示部105は、例えば液晶ディスプレイ(LCD)で構成され、画像処理装置100の設定状態、実行中の処理の状況、エラー状態等の表示を行う。操作部106は、ハードキー及び表示部105上に設けられたタッチパネル等の入力デバイスで構成され、ユーザの操作によって入力(指示)を受け付ける。操作部106は、画像処理装置100の設定の変更、設定のリセット等を行うために使用され、また、色調整処理を実行する際の画像処理装置100の色調整処理モードを実行するために使用される。
エンジンI/F107は、印刷を実行する際に、CPU101からの指示に応じてプリンタエンジン111を制御するためのインタフェースとして機能する。エンジンI/F107を介して、CPU101とプリンタエンジン111との間でエンジン制御コマンド等が送受信される。ネットワークI/F108は、画像処理装置100を外部ネットワークに接続するためのインタフェースとして機能する。なお、外部ネットワークは、例えば、LANであってもよいし、電話回線網(PSTN)であってもよいし、有線接続及び無線接続の何れであってもよい。プリンタエンジン111は、システムバス110側から受信した印刷画像データに基づいて、複数色(ここではCMYKの4色)の現像剤(トナー)を用いてマルチカラー画像を、紙等の記録媒体上に形成する。スキャナI/F109は、スキャナユニット112による原稿の読み取りを行う際に、CPU101からの指示に応じてスキャナユニット112を制御するためのインタフェースとして機能する。スキャナI/F109を介して、CPU101とスキャナユニット112との間でスキャナユニット制御コマンド等が送受信される。スキャナユニット112は、CPU101による制御によって、原稿の画像を読み取って読取画像データを生成し、スキャナI/F109を介してRAM103又は大容量記憶装置104に画像データを送信する。検査装置114は、スキャナI/F109及びスキャナユニット112を介して、プリンタエンジン111にて形成された記録媒体の読取画像を取得し、当該記録媒体における異常画像の有無を検知する。
<検査装置114の構成>
次に、図2を参照して、本実施形態に係る検査装置114の機能構成について説明する。検査装置114は、機能構成として、基準画像設定部201、被検査画像取得部202、及び画像検査部203を備える。
基準画像設定部201は、画像検査部203で用いる被検査画像の検査を行うための基準画像の設定を行う。基準画像設定部201の処理の詳細については後述する。被検査画像取得部202は、スキャナユニット112及びスキャナI/F109を介して、被検査対象の印刷物の読取画像(被検査画像)を取得する。被検査画像は、例えばRGB3プレーンからなる画像データである。画像検査部203では、設定された基準画像及び被検査画像を比較して、当該印刷物に異常がないかを検知する。
<基準画像設定部201の構成>
次に、図3を参照して、本実施形態に係る基準画像設定部201の構成例を説明する。基準画像設定部201は、ラスタ画像取得部301と、画像推定部302とを備える。
ラスタ画像取得部301は、CPU101を介して、印刷物のラスタ画像をRAM103から取得する。ラスタ画像は、前述のとおり、CMYK4プレーンの画像データである。画像推定部302は、ラスタ画像を入力とし、当該データを用いて画像処理装置100で印刷した印刷物の読取画像をシミュレーションした(推定した)画像データを、検査装置114の基準画像データとして出力する。なお、画像推定部302は、画像処理装置100そのもの、又は同機種の印刷物の読取画像を学習データとして使用することが望ましい。また、当該基準画像データはRGB3プレーンの画像データであり、画像検査部203の基準画像として設定される。当該画像推定部302の詳細な動作については図4を用いて後述する。
<画像推定部302の動作>
次に、図4を参照して、本実施形態における画像推定部302の動作を説明する。まず、画像入力部401にて、ラスタ画像取得部301からラスタ画像を取得する。続いて、画像推定処理部402において、画像入力部401によって入力されたラスタ画像データから、モデル化する特定のプリンタ及び記録媒体で印刷した印刷結果の読取画像を推定する。本実施形態では、ラスタ画像データは、CMYK1ビットの画像データである。また、画像推定処理部402から出力される推定結果としての推定画像データは、プリンタで印刷された印刷結果をスキャナで読み取って生成される読取画像データに相当する、8ビットのRGB画像データである。
画像推定処理部402は、内部に第1の推定部403及び第2の推定部404を有する。第1の推定部403は、1画素1ビットのラスタ画像データから1画素1ビットの中間データを出力する。ここで、第1の推定部403から出力される中間データは、ラスタ画像データと同じ1画素CMYK1ビットの画像データであり、プリンタで印刷した際の色材の飛び散り又は滲みの具合が再現された2値画像データである。中間データの詳細については後述する。また、第2の推定部404は、1画素1ビットの中間データから、1画素8ビットの推定画像データを出力する。これら第1の推定部403及び第2の推定部404の内部パラメータは、学習部405にて学習される。このように、本実施形態によれば、第1の推定部403と第2の推定部404とが直列に接続され、第1の推定部403おいて印刷した際の色材の飛び散りや滲みの具合が推定され、第2の推定部404においてボケが推定される。
なお、本実施形態では、ラスタ画像データの階調を1ビット、中間データの階調を1ビット、推定画像データの階調を8ビットとしたが、本発明を限定する意図はない。例えば、ラスタ画像データを2ビット、中間データの階調を2ビット、推定画像データの階調を16ビットとしてもよい。
学習部405は、第1の学習部406、第2の学習部407、及び学習用中間データ取得部408を有する。第1の学習部406は、第1の推定部403に対して、その内部パラメータであるニューラルネットワークの各層の重みを学習させる。同様に第2の学習部407は、第2の推定部404に対して、その内部パラメータであるニューラルネットワークの各層の重みを学習させる。
学習用入力データ取得部409は、学習用ラスタ画像データ群をデータベース411から取得する。データベース411は、大容量記憶装置104に設けられてもよいし、外部記憶装置に設けられてもよい。正解データ取得部410は、学習用ラスタ画像データ群をモデル化するプリンタで印刷し、印刷結果をスキャナで読み取った読取画像データ群をデータベース411から取得する。なお、学習部405で用いる学習用ラスタ画像データ群及び読取画像データ群は、学習用ラスタ画像データと、それを用いて生成された読取画像データとを対応付けてデータベース411に予め格納されている。学習用ラスタ画像データとそれに対応する読取画像データとの対応付けは、例えば、それらのメタデータに共通の識別情報を書き込んでおき、その識別情報に基づいて行われる。なお、学習用ラスタ画像データ群は、複数の任意の多階調画像データをそれぞれハーフトーン処理した複数の2値画像データであり、複数の任意の画像データには、階調数の異なる画像データが含まれていることが望ましい。学習用ラスタ画像データとして、例えば自然画像データをハーフトーン処理したものを用いてもよい。
学習用中間データ取得部408は、正解データ取得部410で取得した読取画像データ群から、学習用中間データ群を生成する。第1の学習部406は、学習用入力データ取得部409で得られた学習用ラスタ画像データ群と、学習用中間データ取得部408で得られた学習用中間データ群とを用いてパラメータの学習を行う。第2の学習部407は、学習用中間データ取得部408で得られた学習用中間データ群と、正解データ取得部410で得られた読取画像データ群とを用いてパラメータの学習を行う。
なお、画像推定処理部402と学習部405とは、一体の装置として動作してもよいし、別々の装置として動作してもよい。例えば、学習部405で予め画像推定処理部402の内部パラメータを学習しておき、画像推定時には学習部405から内部パラメータを読み出して画像推定処理部402のみを動作させるというように、別々の装置とし構成してもよい。また、学習用入力データ取得部409の出力は、学習部405を通って第1の推定部403に入力されているが、学習部405を介さずに第1の推定部403に直接入力する構成としてもよい。
<画像データ>
図5を参照して、ラスタ画像データ、中間データ、及び読取画像データの関係について説明する。画像データ501は白及び黒のみから構成された2値画像データであるラスタ画像データを示す。画像データ502は画像データ501に示すラスタ画像データを印刷し、スキャナで読み取った読取画像データを示す。画像データ502では、プリンタの印刷プロセスにより色材が飛び散ったり滲んだりして、線のエッジががたついている様子が分かる。また、画像データ501のラスタ画像データは2値画像であるため白及び黒の画素のみから構成されているが、画像データ502の読取画像データは256階調の画像データであるためグレーの画素が存在し、線のエッジ周辺にボケが発生している。画像データ503は、画像データ502の読取画像データを2値化して作成した中間データである。画像データ502と画像データ503とでは、黒の画素領域の輪郭の形状は一致しており、画像データ503は、画像データ502の読取画像データから所定値以上の画素値を有する画素の位置情報のみを抽出し、色材の濃淡情報を省いたデータとなっている。
画像データ501のラスタ画像データから画像データ502の読取画像データを直接推定するモデルを構築すると、出力される推定画像データは実物の読取画像データよりもボケた画像データとなってしまう。これは、画像データ502のエッジのがたつきが、色材の飛び散りや滲みに起因し、ランダムに発生するからである。このようなランダムなエッジのがたつきの推定結果を多階調画像データとして出力するように学習させると、エッジのがたつきのランダム成分が平均化された値は、グレー値として画像データに書き出されることになる。そのため、エッジのがたつきの推定とボケの推定とを1つの推定部に学習させると、エッジのがたつきに由来するボケを含んだ、読取画像データよりもボケた画像データを出力するモデルが学習される。エッジのがたつきの推定とエッジのボケの推定とを2つの別々の推定部を直列に接続して読取画像データの推定を行うことで、高精度な基準画像を生成できる。
第1の推定部403は、画像データ501に示すようなラスタ画像データを入力とし、画像データ503に示すような中間データを出力とする第1モデルを学習している。画像データ501に示す1画素1ビットのラスタ画像データから画像データ503の1ビットの中間データには、色材の飛び散りや滲みに起因するエッジのランダムな変化が含まれている。一方、第1の推定部403の推定には、出力される中間データが2値画像データであり、色材の濃淡を表現する階調を有さないため、色材の濃淡に起因する画像のボケ推定は含まない。
第2の推定部404は、画像データ503に示すような中間データを入力とし、画像データ502に示すような1画素CMYK8ビットの階調を有する印刷結果の読取画像データを推定する第2モデルを学習している。画像データ502と画像データ503とでは、画素値が最小(黒)の画素群の輪郭は一致しており、エッジは変化していない。すなわち、第2の推定部404の推定には、色材の飛び散りや滲みに起因するエッジのランダムな変化の推定は含まない。これにより、実物と同等のボケを再現する、2値中間データから多値読取画像への画像変換が実現できる。
<第1の推定部403の構成>
以下では、第1の推定部403の構成について説明する。図6は、第1の推定部403におけるニューラルネットワークの構成例を示す。以下では、本実施形態の動作を図6に示すニューラルネットワークに基づき説明するが、本発明を限定する意図はない。例えば、より層の深いニューラルネットワークであってもよいし、U−netの形式であってもよい。また、本実施形態では、7016×4960×4(600dpi、A4サイズ画像)のCMYK画像データを入力とした場合の動作について説明するが、本発明を限定する意図はない。モノクロ複写機を想定し、K画像データを入力としてもよいし、異なるサイズの画像を用いてもよい。
まず、第1の推定部403に入力されたラスタ画像データは、Convolution(畳み込み)レイヤ601において畳み込み演算が行われる。ラスタ画像データの(x,y)位置の画素値をI(x,y,p1)とすると、Convolutionレイヤ601の出力画像データIG1(x,y,p2)は、以下の式で計算できる。
Figure 2021125768
ここで、p1はラスタ画像のプレーン番号を表し、1≦p1≦4である。また、p2はIG1のプレーン番号であり、本実施形態では1≦p2≦8とした。また、
Figure 2021125768
はニューラルネットワークが保持しているConvolutionレイヤ601における重みであり、s、t、p1、p2の組み合わせごとに異なる値を有している。なお、上記式(数1)中のI(x+s,x+t)であるが、参照位置がラスタ画像データの有する画素位置外(例えば、I(−1,−1)など)の場合は、画素値を0として演算が行われる。以上の演算により、Convolutionレイヤ601の出力は、7016×4960×8の画像データとなる。すなわち7016×4960の画像が8プレーン存在する画像データとなる。
次に、Activationレイヤ602では、Convolutionレイヤ601の出力画像データIG1(x,y,p)に対して、非線形関数を適用する。具体的には、Activationレイヤ602の出力画像データIG2(x,y,p2)は、ランプ関数を用いて以下の数式3で計算される。
IG2(x,y,p2)=max(0,IG1(x,y,p2))・・・数式3
なお、当該処理で適用される非線形関数は、これに限定されない。例えば、双曲線正接関数(hyperbolic tangent)などを用いてもよい。以上の演算により、Activationレイヤ602の出力画像データIG2(x,y,p2)は、3508×2480×8の画像データ、すなわち3508×2480の画像が8プレーン存在する画像データとなる。
次に、Poolingレイヤ603にて、情報の圧縮が行われる。ここでは、2×2のmax poolingを行うことで、出力画像データIG2(x,y,p)の縮小を行う。具体的には、Poolingレイヤ603の出力画像データIG3(u,v,p)は、以下の数式4で計算される。
IG3(u,v,p)=max(IG2(2u,2v,p),IG2(2u,2v+1,p),IG2(2u+1,2v,p),IG2(2u+1,2v+1,p))・・・数式4
なお、u及びvの範囲は、0≦u≦3507、0≦v≦2479である。以上の演算により、Poolingレイヤ603の出力画像データIG3(u,v,p)は、3508×2480×8の画像データとなる。
次に、Deconvolution(デコンボリューション)レイヤ604にて、出力画像データIG3(u,v,p)の拡大が行われる。当該処理では、Poolingレイヤ603の出力画像データIG3(u,v,p)を一度拡大したのち、プレーンを跨いだ畳み込み演算を実施する。まず、Poolingレイヤ603の出力画像データIG3(u,v,p)の拡大は、下記数式5の手順によって行われる。
IT(2u,2v,p)=IG3(u,v,p)
IT(2u,2v+1,p)=0
IT(2u+1,2v,p)=0
IT(2u+1,2v+1,p)=0・・・数式5
次に、Deconvolutionレイヤ604にて、当該拡大処理により得られたIT(x,y,p)を入力として、畳み込み演算を以下の式で実施する。
Figure 2021125768
ここで、
Figure 2021125768
は当該ニューラルネットワークが保持しているDeconvolutionレイヤ604における重みであり、Convolutionレイヤ601で用いた重みとは異なる。なお、上記式中のIT(x+s,y+t,p)であるが、参照位置が画像外(例えば、IT(−1,−1,1)など)の場合は、画素値を0として演算を行う。以上の演算により、Deconvolutionレイヤ604の出力画像データIG4(x,y)は、7016×4960×3の画像データとなる。すなわち7016×4960の画像が3プレーン存在する画像データとなる。
Activation(活性化)レイヤ605では、Deconvolutionレイヤ604の出力に対して、非線形関数を適用する。当該処理における動作はActivationレイヤ602と同様であるが、非線形関数はActivationレイヤ602と同じでなくてもよい。
<第2の推定部404の動作>
以下では、第2の推定部404の動作について説明する。第2の推定部404は、ニューラルネットワークにて構成されており、その動作は第1の推定部403と同様である。ただし、そのニューラルネットワークのネットワーク構成や重みは第1の推定部403と必ずしも同じである必要はない。また、本実施形態では、計算量及びメモリ削減のため、学習データ及び正解データは、256×256サイズに切り出した画像を用いるが、本発明はこれに限定されない。128×128等のより小さい画像サイズを用いてもよいし、画像を切り出さずそのまま用いてもよい。
<第1の学習部406の構成及び動作>
本実施形態では、第1の学習部406は、第1の推定部403にGAN(Generative Adversarial Network)のフレームワークを用いて学習させる。本実施形態では、学習用入力データ及び正解データの組を入力とし、第1の推定部403の出力画像誤差、すなわち学習用ラスタ画像データと正解データとの差が最小となるように、モデル(第1モデル)を学習する。ここで、学習用入力データとは、学習用に予めデータベース化しておいた、多階調画像データをハーフトーン処理して2値画像データに変換し、256×256サイズに切り出したデータ群である。また、正解データは、学習用ラスタ画像データ群をプリンタによって記録媒体へ印刷し、その印刷結果の読取画像を256x256サイズに切り出したデータ群から作成した学習用中間データを用いる。学習用中間データは、読取画像データを2値化したものであり、色材の飛び散り又は滲みの具合に関する情報を含むボケの無い画像データである。学習用中間データの具体的な算出方法については後述する。
図7を参照して、本実施形態における第1の学習部406の構成例を説明する。学習対象である第1の推定部403は、ラスタ画像データを入力として中間データを取得する。
第1の判定部701は、第1の学習部406に入力された画像データが正解データであるか、第1の推定部403が出力した中間データであるかを判定する。第1の判定部701は、第1の推定部403のパラメータを学習するための判定器であり、ニューラルネットワークにて構成されている。第1の判定部701は、入力された画像データを正解データと判定した場合は1を、第1の推定部403が出力した中間データと判定した場合は0を返す。第1の判定部701の構成は後述する。
誤差算出部702は、第1の学習部406に入力された画像データに対する第1の判定部701の判定結果に基づき、第1の推定部403が出力した中間データと正解データとの誤差を算出する。
パラメータ更新部703は、誤差算出部702が算出した誤差に基づき、第1の推定部403及び第1の判定部701のパラメータを更新する。
<第1の判定部701の構成>
以下では、第1の判定部701の構成について説明する。図8に、第1の判定部701におけるニューラルネットワークの構成例を示す。以下では、本実施形態の動作を図8に示すニューラルネットワークに基づき説明するが、本開示の技術はこれに限定されない。例えば、より層の深いニューラルネットワークであってもよいし、U−netの形式をとっていてもよい。また、本実施形態では、256×256×3のRGB画像データを入力とするが、本開示の技術はこれに限定されない。
まず、入力された画像データに対して、Convolutionレイヤ801で畳み込み演算が行われる。当該処理の動作はConvolutionレイヤ601と同様であり、Convolution(畳み込み)レイヤ801が出力する出力画像データID1(x,y,p1)は、以下の式で算出される。
Figure 2021125768
ここでp1はID1のプレーン番号であり、1≦p1≦6である。同様に、pは画像Iのプレーン番号であり、1≦p≦3である。
次に、Activation(活性化)レイヤ802が、Convolutionレイヤ801の出力画像データID1(x,y,p)に対して非線形関数を適用することで出力画像データID2(x,y,p)を出力する。当該処理の動作は、Activation(活性化)レイヤ602と同様である。
次に、Pooling(プーリング)レイヤ803が、情報の圧縮を行い、出力画像データID3(x,y,p)を出力する。当該処理の動作はPooling(プーリング)レイヤ603と同様である。
次に、Full Connected(全結合)レイヤ804が、Poolingレイヤ803の出力画像データID3(x,y,p)から1つの数値であるv値を算出する。Full Connectedレイヤ804が出力するv値は、以下の式で計算される。
Figure 2021125768
ここで、
Figure 2021125768
は当該ニューラルネットワークが保持している重みである。
最後に、Activation(活性化)レイヤ805が、v値に非線形処理を施して判定結果として0値を出力する。ここでは、シグモイド関数を適用することで、v値を値域[0,1]の0値に変換する。
<第1の学習部406の動作>
次に、図9を参照して、第1の学習部406の具体的な動作を説明する。なお、図9のフローチャートで示す処理は、CPU101が、ROM102に格納されているプログラムをRAM103に展開し、その展開プログラムを実行することにより実現される。
S901で、第1の判定部701は、当該第1の判定部701における処理で使用するパラメータを初期化する。本実施形態では、正規分布に従う乱数でパラメータの初期値を決定する。続いて、S902で、第1の推定部403は、当該第1の推定部403における処理で使用するパラメータを初期化する。本実施形態では、正規分布に従う乱数でパラメータの初期値を決定する。
S903で、学習用中間データ取得部408は、学習用ラスタ画像データ全てに対して、第1の推定部403で推定された中間データを取得する。ここで得られる中間データをEstm(1≦m≦M)とする。ここで、Mは入力データの数を示す。続いて、S904で、第1の判定部701は、中間データEstm及び正解データRefm(1≦m≦M)に対する判定を行う。中間データEstmに対する判定結果を
Figure 2021125768
とし、正解データRefmに対する判定結果を
Figure 2021125768
とする。
次に、S905で、誤差算出部702は、S904での判定結果と中間データ及び正解データとに基づき、誤差eを取得する。本実施形態では、誤差eを以下の式で定義する。
Figure 2021125768
ここで、||Refm−Estm1||1は中間データと正解データとのL1ノルムを示す。また、λは正規化項の係数であり、本実施形態ではλ=0.1としているが本発明を限定する意図はない。
S906で、パラメータ更新部703は、誤差が閾値以内であるかを判定する。閾値以内でなければS907に進み、閾値以内であれば本処理を終了する。S907で、パラメータ更新部703は、S905で取得した誤差に基づいて第1の判定部701のパラメータを更新する。更新は勾配法により行われる。第1の判定部701のパラメータ、即ちConvolutionレイヤ801の重みと、Full Connectedレイヤ804の重みとを
θd={w(D1),w(D4)}・・・数式14
とすると、パラメータの更新は以下の式で行われる。
Figure 2021125768
ここで、γは学習係数であり、本実施形態ではγ=0.01とした。また、
Figure 2021125768
は誤差eの各パラメータにおける偏微分値であり、自動微分により計算してもよい。
次に、S908で、パラメータ更新部703は、S905で取得した誤差に基づいて第1の推定部403のパラメータを更新する。更新は勾配法により行われる。第1の推定部403のパラメータ、即ちConvolutionレイヤ601の重みと、Deconvolutionレイヤ604の重みとを
θg={w(G1),w(G4)}・・・数式17
とすると、パラメータの更新は以下の式で行われる。
Figure 2021125768
としてパラメータを更新する。ここで、δは学習係数であり、本実施形態ではδ=0.01とした。また、
Figure 2021125768
は誤差eの各パラメータにおける偏微分値であり、自動微分により計算してもよい。S908で第1の推定部403のパラメータを更新した後は、CPU101はS903に処理を戻す。S903に処理を戻すことにより、誤差eが所定の閾値以内に収まるまで、第1の判定部701及び第1の推定部403のパラメータの更新を繰り返すことになる。
<学習用中間データ取得部408の動作>
第1の学習部406では、正解データとして読取画像データから取得した学習用中間データを用いた。学習用中間データとは、読取画像データを2値化したものであり、色材の飛び散り又は滲みの具合を表すボケの無い画像データである。本実施形態では、読取画像データをCMYK画像に変換した後、閾値thを用いて読取画像データを2値化する。具体的には、入力された読取画像データをI(x,y、pRGB)とすると、2値化画像データB(x,y、pCMYK)は、以下の式で得られる。
Figure 2021125768
ここで、convはRGBからCMYKへの色変換を行う関数であり、例えば4×3の行列変換で実現してもよい。
なお、閾値thは、例えば大津法を用いて決定してもよいし、プレーンごとに異なる数値を用いてもよい。
<第2の学習部407の構成及び動作>
本実施形態では、第2の学習部407は、第2の推定部404にGANのフレームワークを用いて学習させる。ここでは、学習用ラスタ画像データ及び正解データの組を入力とし、第2の推定部404の出力画像誤差、即ち、学習用ラスタ画像データと正解データとの差が最小となるようにモデル(第2モデル)を学習する。ここで、学習用ラスタ画像データは、学習用中間データ取得部408で取得された学習用中間データである。また、正解データには、学習用ラスタ画像データ群をモデル化するプリンタにおいて記録媒体に印刷を行い、その印刷結果をスキャンした読取画像データ群を用いる。
図10を参照して、本実施形態に係る第2の学習部407の構成例を説明する。第2の学習部407は、第2の判定部1001、誤差算出部1002、及びパラメータ更新部1003を含む。学習対象である第2の推定部404は、入力された中間データに対して推定画像データを取得する。
第2の判定部1001は、入力された画像が正解データである読取画像データであるか、第2の推定部404が出力した推定画像データであるかを判定する判定器である。第2の判定部1001は、第2の推定部404のパラメータを学習するための判定器であり、ニューラルネットワークにて構成されている。第2の判定部1001は、入力された画像データを正解データと判定した場合は1を、第2の推定部404が出力した推定画像データと判定された場合は0を返す。第2の判定部1001の構成及び動作は、第1の判定部701と同様であるため詳細な説明は省略する。
誤差算出部702は、第2の推定部404が出力した推定画像データ及び正解データに対する第2の判定部1001の判定結果に基づき、2つのデータ間の誤差を算出(取得)する。
パラメータ更新部1003は、誤差算出部1002が算出した誤差と所定の閾値とに基づき、第2の推定部404及び第2の判定部1001のパラメータを更新する。なお、第2の学習部407の動作は、第1の学習部406と同様である。
以上説明したように、本実施形態に係る画像処理装置は、印刷物に印刷された画像を読み取り、読み取られた読取画像の画像データと、印刷物の印刷に利用された画像データとを用いて、印刷物の検査を行うための基準画像を推定するモデルを学習する。また、本画像処理装置は、学習済みのモデルを用いて、印刷対象の画像データを入力として印刷物の検査を行うための基準画像を推定する。さらに、本画像処理装置は、推定された基準画像と、対応する印刷物から読み取った被検査画像とを比較して、当該印刷物の異常を検査する。このように、本実施形態によれば、機械学習を用いた画像推定により、印刷品質の検査装置で使用する基準画像を自動で生成した。本実施形態によれば、人手による基準画像の選定なしで検品が可能であり、工数の削減及び検査品質の平準化が可能である。
<第2の実施形態>
以下では、本発明の第2の実施形態について説明する。第1の実施形態では、機械学習を用いた画像推定部の出力画像をそのまま基準画像に設定し、印刷品質の検査を実施する形態について説明した。しかしながら、画像推定部の出力画像は必ずしも実際の印刷物の読取画像と同様ではない。そこで本実施形態では、複数の印刷物の読取画像の中から、画像推定部の出力画像に最も類似した読取画像を検査装置の基準画像として設定する形態について説明する。なお、以下では、上記第1の実施形態と異なる構成及び制御について主に説明する。
<基準画像設定部201の構成>
図11を参照して、本実施形態における基準画像設定部1100の構成を説明する。基準画像設定部1100は、デジタル画像取得部1101、画像推定部1102、基準候補画像取得部1103、及び基準画像選定部1104を含む。
デジタル画像取得部1101は、当該印刷物のデジタル画像を取得する。デジタル画像とは、ユーザによって、操作部106を介して印刷指示された入力データに対して、RIP処理及び中間処理等の画像処理を適用した結果であり、CMYK4プレーンの画像データとして保持されている。画像推定部1102は、デジタルデータを入力とし、当該デジタルデータを画像処理装置100で印刷した印刷物の読取画像に相当するシミュレーション画像データを出力する。画像推定部1102は、第1の実施形態の画像推定部302と同様の構成であるため詳細な説明は省略する。
基準候補画像取得部1103は、基準画像の候補となる複数の読取画像(基準候補画像群)を取得する。当該基準画像群は、検査予定の印刷物と同じ画像データ、かつ、同じ記録媒体で印刷した複数の印刷物をスキャナユニット112よりスキャンしたデータ群である。基準画像選定部1104は、当該基準候補画像群とシミュレーション画像データの類似度に基づき、基準候補画像群から一つの画像を選定し、検品装置の基準画像として設定する。
<基準画像選定部1104の動作>
次に、図12を参照して、本実施形態における基準画像選定部1104の動作について説明する。なお、当該フローチャートで示す処理は、CPU101が、ROM102に格納されているプログラムをRAM103に展開し、その展開プログラムを実行することにより実現される。
S1201で、基準画像選定部1104は、画像推定部1102が出力した画像をシミュレーション画像Is(x、y)として取得する。続いて、S1202で、基準画像選定部1104は、基準候補画像群を基準候補画像取得部1103により取得する。
次に、S1203で、基準画像選定部1104は、全基準候補画像に対してS1204の処理を実施したかを判断する。まだ実施していない基準候補画像があればS1204に進み、そうでなければS1205に処理を移す。S1204で、基準画像選定部1104は、当該基準候補画像Ic(x、y)と推定画像の類似度を計算する。本実施形態では、画素値の平均絶対誤差の逆数を類似度sとし、以下の数式21で求めることができる。
s=1/(1/NΣ|Is(x、y)−Ic(x、y)|)・・・数式21
ここで、Nは画素数である。なお、類似度の算出方法は、例えばSSIM(Structural SIMilarity)や平均二乗誤差など、他の方法を用いてもよい。
S1205で、基準画像選定部1104は、S1204で各読取画像に対して求めた類似度のうち、最大の類似度を有する読取画像を基準画像として設定する。つまり、ここでは、類似度が最大の基準候補画像を基準画像として選定する。
以上説明したように、本実施形態によれば、読み取られた複数の読取画像のうち、学習済みモデルから生成された生成画像との類似度が最も高い読取画像を、基準画像として推定する。これにより、上記第1の実施形態と同様に、自動で選定された実読取画像が基準画像となるため、人手による基準画像の選定を必要とせず、更には、高精度な検査が可能となる。
<第3の実施形態>
上記第2の実施形態では、画像推定部の出力画像に最も類似した読取画像を検査装置の基準画像として設定した。しかしながら、必ずしも画像推定部の出力画像に類似した画像が基準画像として最適であるとは限らない。例えば、印刷の欠陥として局所的な白抜けやスジなどがあった場合、画像の類似度は高く判定され、適切な基準画像を設定できない場合がある。そこで本実施形態では、画像推定部の出力画像を仮の基準画像として検査装置に設定し、複数の印刷物の読取画像に対して検査を実施する。そして検査装置により異常がないと判断された印刷物の読取画像を基準画像として設定(更新)する。つまり、本実施形態は、上記第1及び第2の実施形態と組み合わせて実施されるものであり、一旦上記第1及び第2の実施形態において推定された基準画像を用いて被検査画像を検査し、検査の結果、異常がないと判断された読取画像を基準画像として更新する。以下では、上記第2の実施形態との差分について主に説明する。
<基準画像選定部1104の動作>
図13を参照して、本実施形態における基準画像選定部1104の動作について説明する。なお、当該フローチャートで示す処理は、CPU101が、ROM102に格納されているプログラムをRAM103に展開し、その展開プログラムを実行することにより実現される。
S1301で、基準画像選定部1104は、画像推定部1102が出力した画像をシミュレーション画像Is(x、y)として取得する。続いて、S1302で、基準画像選定部1104は、生成したシミュレーション画像Isを検査部の仮の基準画像として登録する。さらに、S1303で、基準画像選定部1104は、基準候補画像群を基準候補画像取得部1103により取得する。
次に、S1304で、基準画像選定部1104は、全基準候補画像に対してS1305の処理を実施したかを判断する。まだ実施していない基準候補画像があればS1305に進み、そうでなければS1306に処理を移す。S1305で、画像検査部203は、当該基準候補画像Icに対して検査を実行する。さらに、S1306で、基準画像選定部1104は、画像検査部203で異常なしと判定された読取画像を基準画像として更新し、処理を終了する。なお、基準画像の更新は、検査が行われるたびに行われてもよいし、定期的に実施されるようにしてもよいし、ユーザ指示に応じて実施するようにしてもよい。また、これらの更新タイミングについてはユーザの設定に従って切り替えることができるようにしてもよい。
以上説明したように、本実施形態では、上記第1及び第2の少なくとも1つの実施形態に加えて、さらに、検査によって異常がないと判断された被検査画像を基準画像として更新する。このように、本実施形態では、機械学習により生成した画像を仮の基準画像として印刷物の検査を行い、正常画像と判定された読取画像を実検査時の基準画像として設定する。これにより、局所的な異常が印刷物にあった際も、適切に基準画像を選択することができる。
<その他の実施形態>
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。
100:画像処理装置、101:CPU、102:ROM、103:RAM、104:大容量記憶装置、105:表示部、106:操作部、107:エンジンI/F、108:ネットワークI/F、109:スキャナI/F、110:システムバス、111:プリンタエンジン、112:スキャナユニット、114:検査装置、201:基準画像設定部、202:被検査画像取得部、203:画像検査部

Claims (13)

  1. 画像処理装置であって、
    印刷物に印刷された画像を読み取る読取手段と、
    前記読取手段によって読み取られた読取画像の画像データと、前記印刷物の印刷に利用された画像データとを用いて、印刷物の検査を行うための基準画像を推定するモデルを学習する学習手段と、
    前記学習手段による学習済みのモデルを用いて、印刷対象の画像データを入力として印刷物の検査を行うための基準画像を推定する推定手段と
    を備えることを特徴とする画像処理装置。
  2. 前記推定手段は、前記学習済みモデルから生成された生成画像を基準画像として推定することを特徴とする請求項1に記載の画像処理装置。
  3. 前記推定手段は、前記読取手段によって読み取られた複数の読取画像のうち、前記学習済みモデルから生成された生成画像との類似度が最も高い読取画像を、前記基準画像として推定することを特徴とする請求項1に記載の画像処理装置。
  4. 前記推定手段によって推定された前記基準画像と、対応する印刷物を前記読取手段によって読み取った被検査画像とを比較して、該印刷物の異常を検査する検査手段をさらに備えることを特徴とする請求項1乃至3の何れか1項に記載の画像処理装置。
  5. 前記推定手段は、さらに、前記検査手段によって異常がないと判断された被検査画像を前記基準画像として更新することを特徴とする請求項4に記載の画像処理装置。
  6. 前記推定手段は、
    入力される画像データから、第1モデルを用いて1画素1ビットの中間データを出力する第1の推定手段と、
    前記中間データを入力として、第2モデルを用いて1画素8ビットの生成画像を出力する第2の推定手段と
    を備えることを特徴とする請求項1乃至5の何れか1項に記載の画像処理装置。
  7. 前記第1の推定手段は、印刷対象のデータを記録媒体に印刷した際の色材の飛び散り又は滲みの具合を再現し、かつ、ボケの無い前記中間データを出力し、
    前記第2の推定手段は、ボケを再現した前記生成画像を出力することを特徴とする請求項6に記載の画像処理装置。
  8. 前記第1の推定手段と前記第2の推定手段とは直列に接続されることを特徴とする請求項6又は7に記載の画像処理装置。
  9. 前記学習手段は、
    前記第1の推定手段で用いる前記第1モデルを学習させる第1の学習手段と、
    前記第2の推定手段で用いる前記第2モデルを学習させる第2の学習手段と
    を備えることを特徴とする請求項6乃至8の何れか1項に記載の画像処理装置。
  10. 前記第1の学習手段は、
    前記第1の推定手段により出力された前記中間データと、正解データとの誤差が所定の閾値を超えると、前記第1モデルのパラメータを更新することを特徴とする請求項9に記載の画像処理装置。
  11. 前記第2の学習手段は、
    前記第2の推定手段により出力された前記生成画像のデータと、正解データとの誤差が所定の閾値を超えると、前記第2モデルのパラメータを更新することを特徴とする請求項9又は10に記載の画像処理装置。
  12. 画像処理装置の制御方法であって、
    読取手段が、印刷物に印刷された画像を読み取る読取工程と、
    学習手段が、前記読取工程で読み取られた読取画像の画像データと、前記印刷物の印刷に利用された画像データとを用いて、印刷物の検査を行うための基準画像を推定するモデルを学習する学習工程と、
    推定手段が、前記学習工程で学習済みのモデルを用いて、印刷対象の画像データを入力として印刷物の検査を行うための基準画像を推定する推定工程と
    を含むことを特徴とする画像処理装置の制御方法。
  13. 画像処理装置の制御方法における各工程をコンピュータに実行させるためのプログラムであって、前記制御方法は、
    読取手段が、印刷物に印刷された画像を読み取る読取工程と、
    学習手段が、前記読取工程で読み取られた読取画像の画像データと、前記印刷物の印刷に利用された画像データとを用いて、印刷物の検査を行うための基準画像を推定するモデルを学習する学習工程と、
    推定手段が、前記学習工程で学習済みのモデルを用いて、印刷対象の画像データを入力として印刷物の検査を行うための基準画像を推定する推定工程と
    を含むことを特徴とするプログラム。
JP2020017233A 2020-02-04 2020-02-04 画像処理装置、その制御方法、及びプログラム Pending JP2021125768A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020017233A JP2021125768A (ja) 2020-02-04 2020-02-04 画像処理装置、その制御方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020017233A JP2021125768A (ja) 2020-02-04 2020-02-04 画像処理装置、その制御方法、及びプログラム

Publications (1)

Publication Number Publication Date
JP2021125768A true JP2021125768A (ja) 2021-08-30

Family

ID=77460179

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020017233A Pending JP2021125768A (ja) 2020-02-04 2020-02-04 画像処理装置、その制御方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP2021125768A (ja)

Similar Documents

Publication Publication Date Title
KR102246058B1 (ko) 화상 처리 장치 및 그 제어 방법
US11233921B2 (en) Image processing apparatus that specifies edge pixel in target image using single-component image data
KR100660453B1 (ko) 화상 처리 장치, 묘화 데이터 처리 방법 및 이 방법을실행하기 위한 프로그램
US9092858B2 (en) Method and system for determining void pantograph settings
US10373030B2 (en) Image processing apparatus that executes halftone process on target image data including edge pixel
US10592766B2 (en) Image processing apparatus and medium storing program executable by image processing apparatus
US9667833B2 (en) History generating apparatus and history generating method
US8675968B2 (en) Image processing apparatus
US10742845B2 (en) Image processing apparatus identifying pixel which satisfies specific condition and performing replacement process on pixel value of identified pixel
JP2015178971A (ja) 画像検査装置、画像形成システム及び画像検査方法
JP2021125768A (ja) 画像処理装置、その制御方法、及びプログラム
US10339636B2 (en) Image processing apparatus that specifies edge pixel in target image by calculating edge strength
JP6452342B2 (ja) 画像処理装置、画像形成装置、画像処理方法及びプログラム
JP2019140538A (ja) 画像処理装置、画像形成装置、画像処理方法、及びプログラム
JP5067224B2 (ja) オブジェクト検出装置、オブジェクト検出方法、オブジェクト検出プログラムおよび印刷装置
US10389909B2 (en) Image processing apparatus that specifies edge pixel in target image using minimum and maximum component values of pixel value in target image data
JP2021018483A (ja) 画像処理装置およびその制御方法
JP7512765B2 (ja) 印刷時推定画像生成装置、印刷時推定画像生成方法及びプログラム
US20090116045A1 (en) System and method for driver-based image manipulation
US20200371725A1 (en) Image processing apparatus, learning apparatus, image processing method, learning method, and storage medium
JP2023020343A (ja) 画像処理装置、画像処理方法、プログラム
JP2022036658A (ja) 印刷時推定画像生成装置、印刷時推定画像生成方法及びプログラム
JP4492644B2 (ja) 赤目修正装置、赤目修正方法および赤目修正プログラム
CN109040516A (zh) 图像处理装置和图像处理方法
US9224079B2 (en) Image processing apparatus configured to perform pixel dithering based on dithering table and pass information

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20210103

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210113