(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-17
(45)【発行日】2024-06-25
(54)【発明の名称】連続する動的スキャンのセグメンテーション
(51)【国際特許分類】
G06T 7/00 20170101AFI20240618BHJP
G11B 27/00 20060101ALI20240618BHJP
【FI】
G06T7/00 300D
G11B27/00 E
(21)【出願番号】P 2023501114
(86)(22)【出願日】2021-06-18
(86)【国際出願番号】 JP2021023184
(87)【国際公開番号】W WO2022019018
(87)【国際公開日】2022-01-27
【審査請求日】2023-01-06
(32)【優先日】2020-07-20
(33)【優先権主張国・地域又は機関】US
【前置審査】
(73)【特許権者】
【識別番号】000002945
【氏名又は名称】オムロン株式会社
(74)【代理人】
【識別番号】100145403
【氏名又は名称】山尾 憲人
(74)【代理人】
【識別番号】100189555
【氏名又は名称】徳山 英浩
(74)【代理人】
【識別番号】100091524
【氏名又は名称】和田 充夫
(74)【代理人】
【識別番号】100172236
【氏名又は名称】岩木 宣憲
(72)【発明者】
【氏名】ムーア,ジェイムズ
(72)【発明者】
【氏名】ジーザノフスキー,ルーカス
【審査官】▲広▼島 明芳
(56)【参考文献】
【文献】特開2009-157869(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00 ー 7/90
G06V 10/00 - 20/90
G11B 27/00
(57)【特許請求の範囲】
【請求項1】
画像センサを有する画像取得装置と通信するコンピュータシステムであって、1以上のプロセッサと、前記1以上のプロセッサによって実行されるように構成された1以上のプログラムを記憶するメモリとを有する前記コンピュータシステムで実行される、画像を分析する方法であって、
印刷物の存在を識別するために使用可能な1以上の弁別的特徴を含む既定の同期領域と、前記既定の同期領域からの既定のオフセットに位置する既定の検査領域とを含む、参照テンプレートを受信すること、
前記画像センサから、連続した画像フレームのシーケンスを取得し、前記メモリ内のバッファに前記画像フレームの各々を記憶すること、
前記バッファ内の前記画像フレームの各々に対して、
それぞれの前記画像フレームが、前記
1以上の弁別的特徴に
対応する
特徴を有するそれぞれのサブ領域を含むか否かを判定することと、
それぞれの前記画像フレームが前記
1以上の弁別的特徴に
対応する
特徴を有するそれぞれのサブ領域を含むと判定されたことに従って、
それぞれの前記画像フレーム内で、それぞれの前記サブ領域から前記既定のオフセットにおいて、それぞれの検査領域をキャプチャすることと、
キャプチャされたそれぞれの前記検査領域を前記バッファとは異なる前記コンピュータシステムの前記メモリの不揮発性部分に記憶することと
を備える、方法。
【請求項2】
キャプチャされたそれぞれの前記検査領域を前記コンピュータシステムの前記メモリの不揮発性部分に記憶することは、キャプチャされたそれぞれ前記検査領域に対応するそれぞれの識別子を記憶することを含む、請求項1に記載の方法。
【請求項3】
前記参照テンプレートを記憶することをさらに備え、
前記参照テンプレートを記憶することが、
同期領域サイズ、および、第1の座標セットを有する同期領域位置を記憶することと、
検査領域サイズ、および、第2の座標セットを有する検査領域位置を記憶することと
を含む、請求項1に記載の方法。
【請求項4】
それぞれの前記画像フレームが前記
1以上の弁別的特徴に
対応する
特徴を有するそれぞれのサブ領域を含むか否かを判定することは、1以上の前記弁別的特徴を含むフレームを検出することを含む、請求項1に記載の方法。
【請求項5】
前記既定の同期領域がユーザにより指定され、
前記既定の検査領域がユーザにより指定される、請求項1に記載の方法。
【請求項6】
前記既定の検査領域が前記既定の同期領域を含む、請求項1に記載の方法。
【請求項7】
前記既定の同期領域が前記既定の
検査領域と区別され、離れている、請求項1に記載の方法。
【請求項8】
キャプチャされたそれぞれの前記検査領域を検査に提供することをさらに備える、請求項1に記載の方法。
【請求項9】
キャプチャされたそれぞれの前記検査領域で1以上の既定の視覚テストを実行し、それぞれの前記画像フレームが指定された品質基準を満たすかどうかを評価することと、
キャプチャされたそれぞれの前記検査領域で実行された1以上の前記既定の視覚テストの結果を報告することと
をさらに備える、請求項1に記載の方法。
【請求項10】
キャプチャされたそれぞれの前記検査領域で1以上の既定の視覚テストを実行することは、
評価のための特徴領域を識別することと、
前記特徴領域が前記指定された品質基準を満たすか否かを判定することと
を含み、
キャプチャされたそれぞれの前記検査領域で実行された前記既定の視覚テストの結果を報告することは、前記特徴領域が前記指定された品質基準を満たすか否かの表示を提供することを含む、請求項9に記載の方法。
【請求項11】
前記特徴領域がバーコードを含む、請求項10に記載の方法。
【請求項12】
自動的に1以上の特徴領域を識別することをさらに備え、
1以上の前記特徴領域の少なくとも1つが、バーコードを含む、請求項10に記載の方法。
【請求項13】
前記特徴領域が、ユーザ規定領域である、請求項10に記載の方法。
【請求項14】
前記1以上の弁別的特徴は、前記印刷物のセットにおける全ての前記印刷物に共通である、請求項1に記載の方法。
【請求項15】
画像センサを有する画像取得装置と通信する、画像を分析するためのコンピュータシステムであって、
1以上のプロセッサと、
メモリと、
前記メモリに記憶され、前記1以上のプロセッサによって実行されるように構成された1以上のプログラムと
を備え、
前記1以上のプログラムは、
印刷物の存在を識別するために使用可能な1以上の弁別的特徴を含む既定の同期領域と、前記既定の同期領域からの既定のオフセットに位置する既定の検査領域とを含む、参照テンプレートを受信するための指示と、
前記画像センサから、連続した画像フレームのシーケンスを取得し、前記メモリ内のバッファに前記画像フレームの各々を記憶するための指示と、
前記バッファ内の前記画像フレームの各々に対して、
それぞれの前記画像フレームが、前記
1以上の弁別的特徴に
対応する
特徴を有するそれぞれのサブ領域を含むか否かを判定するための指示と、
それぞれの前記画像フレームが前記
1以上の弁別的特徴に
対応する
特徴を有するそれぞれのサブ領域を含むと判定されたことに従って、
それぞれの前記画像フレーム内で、それぞれの前記サブ領域から前記既定のオフセットにおいて、それぞれの検査領域をキャプチャするための指示と、
キャプチャされたそれぞれの前記検査領域を前記バッファとは異なる前記コンピュータシステムの前記メモリの不揮発性部分に記憶するための指示と
を含む、コンピュータシステム。
【請求項16】
キャプチャされたそれぞれの前記検査領域を前記コンピュータシステムの前記メモリの不揮発性部分に記憶することは、キャプチャされたそれぞれ前記検査領域に対応するそれぞれの識別子を記憶することを含む、請求項15に記載のコンピュータシステム。
【請求項17】
前記1以上のプログラムがさらに前記参照テンプレートを記憶するための指示を含み、
前記参照テンプレートが、
同期領域サイズ、および、第1の座標セットを有する同期領域位置を記憶することと、
検査領域サイズ、および、第2の座標セットを有する検査領域位置を記憶することと
を含む、請求項15に記載のコンピュータシステム。
【請求項18】
それぞれの前記画像フレームが前記
1以上の弁別的特徴に
対応する
特徴を有するそれぞれのサブ領域を含むか否かを判定することは、1以上の前記弁別的特徴を含むフレームを検出することを含む、請求項15に記載のコンピュータシステム。
【請求項19】
前記1以上の弁別的特徴は、前記印刷物のセットにおける全ての前記印刷物に共通である、請求項15に記載のコンピュータシステム。
【請求項20】
画像センサを有する画像取得装置と通信し、1以上のプロセッサと、メモリと、ディスプレイとを有するコンピュータシステムで実行されるように構成された1以上のプログラムを記憶する非一時的なコンピュータ可読記憶媒体であって、
前記1以上のプログラムは、参照テンプレートを受信するための指示を備え、
前記参照テンプレートは、
印刷物の存在を識別するために使用可能な1以上の弁別的特徴を含む既定の同期領域と、
前記既定の同期領域からの既定のオフセットに位置する既定の検査領域と、
前記画像センサから、連続した画像フレームのシーケンスを取得し、前記メモリ内のバッファに前記画像フレームの各々を記憶することと、
前記バッファ内の前記画像フレームの各々に対して、
それぞれの前記画像フレームが、前記
1以上の弁別的特徴に
対応する
特徴を有するそれぞれのサブ領域を含むか否かを判定することと、
それぞれの前記画像フレームが、前記
1以上の弁別的特徴に
対応する
特徴を有するそれぞれのサブ領域を含むと判定されたことに従って、
それぞれの前記画像フレーム内で、それぞれの前記サブ領域から前記既定のオフセットにおいて、それぞれの検査領域をキャプチャすることと、
キャプチャされたそれぞれの前記検査領域を前記バッファとは異なる前記コンピュータシステムの前記メモリの不揮発性部分に記憶することと
を含む、非一時的なコンピュータ可読記憶媒体。
【請求項21】
キャプチャされたそれぞれの前記検査領域を前記コンピュータシステムの前記メモリの不揮発性部分に記憶することは、キャプチャされたそれぞれ前記検査領域に対応するそれぞれの識別子を記憶することを含む、請求項20に記載の非一時的なコンピュータ可読記憶媒体。
【請求項22】
前記1以上のプログラムがさらに前記参照テンプレートを記憶するための指示を含み、
前記参照テンプレートが、
同期領域サイズ、および、第1の座標セットを有する同期領域位置を記憶することと、
検査領域サイズ、および、第2の座標セットを有する検査領域位置を記憶することと
を含む、請求項20に記載の非一時的なコンピュータ可読記憶媒体。
【請求項23】
前記1以上の弁別的特徴は、前記印刷物のセットにおける全ての前記印刷物に共通である、請求項20に記載の非一時的なコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、一般に、画像の分析に関し、より具体的には、連続画像ストリーム内のセグメント化された画像を分析するためのシステムおよび方法に関する。
【背景技術】
【0002】
世界中で生産および出荷される商品および製品の数が増える中、これらの情報の適切な整理およびカタログ化は、正確な情報の提供に依拠している。多くの場合、この情報は、製品のバーコード、出荷ラベル、注文確認書等の印刷物の形で記憶されている。印刷物の誤りは製品のロスおよび/または作業効率の低下を招く場合があるため、印刷物の検査および確認は非常に重要である。
【発明の概要】
【0003】
印刷物の検証は、リアルタイムに取得される高解像度画像の検査を必要とする。多くの場合、リアルタイムでのデータ取得は、ラベル印刷工場のライン等、印刷物がプリンタから出力される際に、画像の連続ストリーム(例えば、ビデオストリーム)としてキャプチャされる。多くの場合、連続したデータの流れは、個々の印刷されるユニットを互いに区別する特徴または目印を提供しない。連続した画像から個々の印刷されるユニットの画像を識別し分割する現在の方法は、プリンタおよび画像取得システム間の緊密な結合を必要とし、プリンタから画像取得システムに送られるトリガ信号を利用して、別々の印刷されるユニットを識別している。プリンタおよび画像取得システム間の緊密な結合および信号は、信号送信、信号受信、無線接続の中断、または、ケーブルの緩みにおけるエラーによって簡単に中断される可能性がある。これは、わずかな誤差を許容する方法につながり、一貫性のない信頼性の低い結果につながることがある。
【0004】
従って、検査および検証用の印刷されるユニットの分割画像(segmented images)を確実かつ効率的に識別し、提供できるツールに対する必要性がある。この問題を解決する一つの方法は、予め設定された印刷されるユニットのパラメータと組み合わせて、特徴認識方法(feature recognition methods)を用いることである。特徴認識方法を用いて識別可能な特徴を含む同期領域を特定し、検証すべき画像(image to be validated)の一部を含む検査領域を特定することにより、画像解析システムは、連続した画像の流れを印刷されるユニットの個々の画像に自動的に分割し、分割された画像を検査用に記憶できる。ある会社に対する送り状伝票(invoice slip)等、特定の印刷パターンでは、各送り状伝票が会社名およびロゴを含む(各送り状が、顧客請求情報、金額、日付等の異なる情報を含む場合がある)。したがって、カンパニーロゴが同期領域として選択され、データ取得システムが印刷された送り状伝票の動的データストリーム(例えば、印刷された送り状伝票のビデオストリーム)を提供する際に、コンピュータがロゴの特徴を探して識別するように構成され得る。コンピュータは、ロゴがデータストリームに示されていることを特定する度に、ロゴに対する対応する検査領域(例えば、ロゴの前10ピクセル、および、ロゴの後500ピクセル)を自動的に特定し、検査領域の画像を送り状伝票の分割画像として記憶する。この技術は、プリンタ出力またはプリンタ信号と画像取得信号とのタイミングを密に結合する必要を排除し(例えば、プリンタがトリガ信号を送ってから10ミリ秒後に画像を取得する)、印刷されたユニットの検査用画像を高解像度で確実に作成する。
【0005】
いくつかの実施態様によれば、画像解析方法は、画像センサを有する画像取得装置と通信するコンピュータシステムで実行される。コンピュータシステムは、ディスプレイと、1以上のプロセッサと、メモリとを含む。例えば、コンピュータシステムは、スマートフォン、タブレット、ノートブックコンピュータ、デスクトップコンピュータ、サーバーコンピュータ、または、サーバーコンピュータシステムであり得る。コンピュータシステムは、既定の同期領域と既定の検査領域とを含む参照テンプレートを受信する。既定の同期領域は、1以上の弁別的特徴を含む。既定の検査領域は、既定の同期領域からの既定のオフセットに位置する。イメージセンサは、連続した画像フレームのシーケンスを取得し、コンピュータは、画像フレームの各々をメモリ内のバッファに記憶する。バッファ内の各画像フレームについて、コンピュータシステムは、それぞれの画像フレームが既定の同期領域にマッチ(match)するそれぞれのサブ領域を含むか否かを判断する。それぞれの画像フレームが既定の同期領域にマッチするそれぞれのサブ領域を含むという判定に従って、コンピュータシステムは、それぞれのサブ領域からの既定のオフセットにおいて、それぞれの画像フレーム内のそれぞれの検査領域をキャプチャし、キャプチャされたそれぞれの検査領域をコンピュータシステムのメモリの不揮発性部分に記憶する。メモリの不揮発性部分は、バッファとは異なっている。
【0006】
いくつかの実施態様では、コンピュータシステムは、キャプチャされたそれぞれの検査領域に対応するそれぞれの識別子をも記憶する。
【0007】
いくつかの実施態様では、コンピュータシステムは、同期領域サイズおよび同期領域位置をも記憶する。同期領域位置は、第1の座標セットを含む。コンピュータシステムは、検査領域サイズおよび検査領域位置をも記憶する。検査領域位置は、第1の座標セットと区別できる(例えば、異なる)第2の座標セットを含む。
【0008】
いくつかの実施態様では、コンピュータシステムは、1以上の弁別的特徴を含むフレームを検出する。
【0009】
いくつかの実施態様では、既定の同期領域および既定の検査領域は、ユーザによって指定される。
【0010】
いくつかの実施態様では、既定の検査領域は、既定の同期領域を含む。
【0011】
いくつかの実施態様では、既定の同期領域は、既定の検査領域と区別され、離れている。
【0012】
いくつかの実施態様では、コンピュータシステムは、キャプチャされたそれぞれの検査領域を検査に提供する。
【0013】
いくつかの実施態様では、コンピュータシステムは、キャプチャされたそれぞれの検査領域で1以上の既定の視覚テストを実行し、それぞれの画像フレームが指定された品質基準を満たすかどうかを評価し、キャプチャされたそれぞれの検査領域で実行された1以上の既定の視覚テストの結果を報告する。
【0014】
いくつかの実施態様では、コンピュータシステムは、評価のための特徴領域を識別し、特徴領域が指定された品質基準を満たすか否かを判定する。コンピュータシステムはまた、特徴領域が指定された品質基準を満たすか否かの表示(indication)を提供する。
【0015】
いくつかの実施態様では、特徴領域はバーコードを含む。
【0016】
いくつかの実施態様では、コンピュータシステムは、1以上の特徴領域を自動的に識別し、1以上の特徴領域の少なくとも1つがバーコードを含む。
【0017】
いくつかの実施態様では、特徴領域は、ユーザ規定領域(user defined region)である。
【0018】
いくつかの実施態様によれば、画像を分析する方法は、画像センサを有する画像取得装置と通信するコンピュータシステムで実行される。コンピュータシステムは、ディスプレイと、1以上のプロセッサと、メモリとを含む。コンピュータシステムは、既定の同期領域に対応する第1の座標セットおよび弁別的特徴のセットを受信する。コンピュータシステムはまた、既定の検査領域に対応する第2の座標セットを受信する。第2の座標セットは、第1の座標セットからの既定のオフセットに位置する。イメージセンサは、画像フレームの連続したシーケンスを取得し、メモリ内のバッファに画像フレームの各々を記憶する。バッファ内の各画像フレームについて、コンピュータシステムは、それぞれの画像フレームが既定の同期領域にマッチするそれぞれのサブ領域を含むか否かを判定する。それぞれの画像フレームが既定の同期領域にマッチするそれぞれのサブ領域を含むという判定に従って、コンピュータシステムは、それぞれのサブ領域からの既定のオフセットにおいて、それぞれの画像フレーム内のそれぞれの検査領域をキャプチャし、キャプチャされたそれぞれの検査領域をコンピュータシステムのメモリの不揮発性部分に記憶する。メモリの不揮発性部分は、バッファとは異なっている。
【0019】
いくつかの実施態様によれば、参照テンプレートを生成する方法は、ディスプレイ、1以上のプロセッサおよびメモリを有するコンピュータシステムで実行される。コンピュータシステムは、コンピュータシステムのユーザインターフェースに画像を表示する。コンピュータシステムは、ユーザインターフェースにおいて、画像内の同期領域を規定するユーザ入力を受信する。同期領域は、1以上の弁別的特徴を含む。コンピュータはまた、ユーザインターフェースにおいて、画像内の検査領域を規定するユーザ入力を受信する。検査領域は、同期領域からの既定のオフセットに位置する。コンピュータは、メモリの不揮発性部において、画像と、画像内の同期領域および検査領域に関する情報とを参照テンプレートとして記憶する。
【0020】
いくつかの実施態様では、画像を表示した後、コンピュータシステムは、画像の推奨領域を同期領域として自動的に提供し、推奨領域を同期領域として受け入れるユーザ入力を受信する。
【0021】
いくつかの実施態様では、コンピュータシステムは、複数のサンプル画像の視覚的分析と、各サンプル画像内の推奨領域が実質的に同一であるとの判定とに基づいて、推奨領域を提供する。
【0022】
いくつかの実施態様では、コンピュータシステムは、同期領域に対応する第1の座標セットおよび1以上の弁別的特徴の画像を記憶する。コンピュータシステムはまた、検査領域に対応する第2の座標セットを記憶する。第2の座標セットは、第1の座標セットと区別される(例えば、異なる)。
【0023】
いくつかの実施態様では、コンピュータシステムは、このコンピュータシステムとは別個の、このコンピュータシステムから離れた別のコンピュータシステムに参照テンプレートを提供する。他のコンピュータシステムは、画像センサを有する画像取得装置と通信する。
【0024】
いくつかの実施態様では、コンピュータシステムは、画像センサを有する画像取得装置と通信し、画像は画像センサによって取得される。
【0025】
典型的には、コンピュータシステム電子装置は、1以上のプロセッサと、メモリと、ディスプレイと、メモリに記憶された1以上のプログラムとを含む。 プログラムは、1以上のプロセッサによって実行されるように構成され、本明細書に記載される方法のいずれかを実行するように構成される。
【0026】
いくつかの実施態様では、非一時的なコンピュータ可読記憶媒体は、1以上のプロセッサと、メモリと、ディスプレイとを有するコンピューティングデバイスによって実行されるように構成された1以上のプログラムを記憶する。1以上のプログラムは、本明細書に記載される方法のいずれかを実行するように構成される。
【0027】
このように、印刷物のセグメント化された画像を効率的かつ確実に提供する方法およびシステムが開示されている。
【0028】
前述の一般的な説明と以下の詳細な説明の両方は例示的かつ説明的であり、請求項に記載の発明をさらに説明するためのものである。
【図面の簡単な説明】
【0029】
これらのシステム、方法およびグラフィカルユーザインターフェース、並びに、患者と治療する臨床医とを関連付ける追加のシステム、方法およびグラフィカルユーザインターフェースについてのより良い理解のために、以下の図面と併せて、以下の実施態様の説明を参照されたい(図中、同様の参照数字は対応する部分を示す)。
【0030】
【
図1A】
図1Aは、いくつかの実施態様に従った画像を提供するためのコンピュータシステムを示す図である。
【
図1B】
図1Bは、いくつかの実施態様に従った参照テンプレートの例を示す図である。
【
図1C】
図1Cは、いくつかの実施態様に従った動的データストリームを検査画像にセグメント化することを示す図である。
【
図1D】
図1Dは、いくつかの実施態様に従った検査画像の提供を示す図である。
【
図2A】
図2Aは、いくつかの実施態様に従ったコンピューティングデバイスを示すブロック図である。
【
図2B】
図2Bは、いくつかの実施態様に従ったサーバを示すブロック図である。
【
図3A】
図3Aは、いくつかの実施態様に従った動的データストリームを示す図である。
【
図3B】
図3Bは、いくつかの実施態様に従った参照テンプレートの生成を示す図である。
【
図3C】
図3Cは、いくつかの実施態様に従った参照テンプレートの生成を示す図である。
【
図3D】
図3Dは、いくつかの実施態様に従った参照テンプレートの生成を示す図である。
【
図3E】
図3Eは、いくつかの実施態様に従った動的データストリームのセグメント化を示す図である。
【
図4A】
図4Aは、いくつかの実施態様に従った参照テンプレートを生成するためのユーザインターフェースを示す図である。
【
図4B】
図4Bは、いくつかの実施態様に従った参照テンプレートを生成するためのユーザインターフェースを示す図である。
【
図4C】
図4Cは、いくつかの実施態様に従ったセグメント化された検査画像の検査用のユーザインターフェースを示す図である。
【
図5A】
図5Aは、いくつかの実施態様に従った参照テンプレートの例を示す図である。
【
図5B】
図5Bは、いくつかの実施態様に従った参照テンプレートの例を示す図である。
【
図6A】
図6Aは、いくつかの実施態様に従った画像を分析する方法のフロー図である。
【
図6B】
図6Bは、いくつかの実施態様に従った画像を分析する方法のフロー図である。
【
図6C】
図6Cは、いくつかの実施態様に従った画像を分析する方法のフロー図である。
【
図7】
図7は、いくつかの実施態様に従った画像を分析する方法のフロー図である。
【
図8A】
図8Aは、いくつかの実施態様に従った参照テンプレートを生成するための方法のフロー図である。
【
図8B】
図8Bは、いくつかの実施態様に従った参照テンプレートを生成するための方法のフロー図である。
【0031】
次に、添付の図面に例示されている実施例を参照する。 以下の説明では、本発明の完全な理解を提供するために、多数の具体的な詳細が記載されている。しかしながら、本発明は、これらの具体的な詳細を必要とせずに実施され得ることは、当業者にとって明らかであろう。
【発明を実施するための形態】
【0032】
次に、添付の図面に例示されている実施態様を参照する。以下の説明では、様々な説明された実施態様の理解を提供するために、多数の具体的な詳細が記載される。しかしながら、当業者であれば、様々な説明された実施態様は、これらの具体的な詳細なしに実施され得ることが明らかであろう。他の例では、周知の方法、手順、構成要素、回路およびネットワークは、実施態様の側面を不必要に不明瞭にしないように、詳細には説明されていない。
【0033】
また、本明細書では、場合によっては、第1、第2などの用語が様々な要素を説明するために使用されているが、これらの要素は、これらの用語によって限定されるべきでないことが理解されるであろう。これらの用語は、1つの要素を別の要素から区別するためにのみ使用される。例えば、第1のパラメータのセットは、第2のパラメータのセットと称することができ、同様に、第2のパラメータのセットは、様々な説明された実施態様の範囲から逸脱することなく、第1のパラメータのセットと称することができる。パラメータの第1のセットとパラメータの第2のセットは、どちらもパラメータのセットであるが、それらは同じパラメータのセットではない。
【0034】
本明細書に記載された様々な実施態様の説明で使用される用語は、特定の実施態様を説明する目的だけのものであり、限定することを意図するものではない。様々に説明された実施態様および添付の請求項の説明で使用されるように、単数形「a」、「an」および「the」は、文脈が明らかに他に示す場合を除き、複数形も含むように意図されている。また、本明細書で使用される「および/または」という用語は、関連する記載項目の1以上の任意の可能な組み合わせを指し、包含することが理解されるであろう。本明細書で使用される場合、用語「含む(includes)」、「含んでいる(including)」、「備える(comprises)」および/または「備えている(comprising)」は、記載された特徴、整数、ステップ、操作、要素および/または成分の存在を規定するが、1以上の他の特徴、整数、ステップ、操作、要素、成分および/またはそれらの群の存在または追加を排除しないことが、さらに理解されよう。
【0035】
本明細書で使用される場合、用語「もし(if)」は、任意選択的に、文脈に応じて、「いつ(when)」または「時に(upon)」または「決定に応答して(in response to determining)」または「検出に応答して(in response to detecting)」または「という決定に従って(in accordance with a determination that)」を意味すると解釈される。同様に、「決定された場合(if it is determined)」または「[記載された条件または事象]が検出された場合(if [a stated condition or event] is detected)」という語は、任意に、文脈に応じて、「決定時に(upon determining)」または「決定に応答して(in response to determining)」または「[記載された条件または事象]を検出したときに(in response to detecting [the stated condition or event])」または「[記載された条件または事象]を検出することに応答して(in response to detecting [the stated condition or event])」または「[記載された条件または事象]が検出される決定に応答して(in accordance with a determination that [a stated condition or event] is detected)」という意味に解釈される。
【0036】
図1Aは、いくつかの実施態様に従った画像を提供するためのコンピュータシステム100を示す。コンピュータシステム100は、サーバーコンピュータ、またはサーバーコンピュータのシステム、デスクトップコンピュータ、ノートブックコンピュータ、タブレットおよびスマートフォンのいずれかの場合がある。いくつかの実施態様では、コンピュータシステム100はサーバである。サーバとしてのコンピュータシステム100の記載は、コンピュータシステム100に帰着する機能を提供するデバイス、システム、プロセッサコアおよび/または他のコンポーネントの機能的記載として意図されている。コンピュータシステム100は、単一のサーバーコンピュータであってもよいし、複数のサーバーコンピュータであってもよいことが理解されよう。さらに、コンピュータシステム100は、他のサーバおよび/またはサーバーシステムと結合されてもよいし、他のクライアントデバイス、データベース、コンテンツ配信ネットワーク(例えば、ピアツーピアネットワーク)、ネットワークキャッシュなどの他のデバイスと結合されてもよい。いくつかの実施態様では、コンピュータシステム100は、協働する複数のコンピューティングデバイスによって実装され、サーバーシステム(例えば、クラウドコンピューティング)の動作を実行する。
【0037】
コンピュータシステム100は、デスクトップコンピュータ、ノートブックコンピュータ、タブレットまたはスマートフォンなどのコンピューティングデバイス102と関連している(例えば、通信する、または、含む)。コンピュータシステム100はまた、画像センサ(例えば、カメラセンサまたは荷電結合素子(CCD)センサ)を含む画像取得装置104(カメラ、カメラシステムなど、本明細書では撮像装置104とも呼ばれる)と通信する。いくつかの実施態様では、コンピュータシステム100はまた、プリンタ106(例えば、印刷システム)と通信する。画像取得デバイス104は、コンピュータシステム100、コンピューティングデバイス102およびプリンタ106の何れとも別個のもので、分離されていてもよい。いくつかの実施態様では、画像取得装置104は、プリンタ106から独立して機能(例えば、動作)する。いくつかの実施態様では、画像取得装置104の動作は、プリンタ106の動作と同期していない。
【0038】
いくつかの実施態様では、コンピュータシステム100、コンピューティングデバイス102、画像取得装置104およびプリンタ106のいずれかは、互いに直接通信できる(例えば、有線接続を介して、および/または、パーソナルエリアネットワーク(例えば、BLUETOOTHまたはBLE)通信技術、無線周波数ベースの近距離通信技術、または、赤外線通信技術に関連するものなどの短距離無線信号を介して)。いくつかの実施態様では、コンピュータシステム100、コンピューティングデバイス102、画像取得装置104およびプリンタ106のいずれかが、1以上のネットワーク108を介して互いに通信する。1以上のネットワーク108は、公衆通信ネットワーク、プライベート通信ネットワークまたは公衆通信ネットワークおよびプライベート通信ネットワークの組合せを含む。例えば、1以上のネットワーク108は、インターネット、他の広域ネットワーク(WAN)、ローカルエリアネットワーク(LAN)、仮想プライベートネットワーク(VPN)、メトロポリタンエリアネットワーク(MAN)、ピアツーピアネットワークおよび/またはアドホック接続を含む場合がある。
【0039】
いくつかの実施態様では、コンピューティングデバイス102は、コンピュータシステム100とは異なる場所に位置し、無線通信を介してコンピュータシステム100と通信するリモートデバイスである。いくつかの実施態様では、コンピューティングデバイス102は、コンピュータシステムにローカルであるか、または、コンピュータシステムと統合されている。このような場合、コンピューティングデバイスは、1以上の有線接続を介してコンピュータシステム100と通信する。いくつかの実施態様では、コンピューティングデバイス102は、1以上のユーザに関連するクライアントデバイスである。
【0040】
いくつかの実施態様では、コンピューティングデバイス102は、1以上のネットワーク108を介してプリンタ制御情報を送信および受信する。例えば、コンピューティングデバイス102は、印刷用の1以上のファイル(例えば、文書、画像または印刷パターン)をプリンタ106に送信してもよい。別の例では、コンピューティングデバイス102は、印刷を開始するための信号または印刷を停止するための信号を送信してもよい。コンピューティングデバイス102はまた、コンピュータシステム100からの情報、または、コンピュータシステム100または1以上のネットワーク108と通信する他のコンピューティングデバイスからの情報を受信できる。例えば、コンピューティングデバイス102は、コンピュータシステム100または1以上のネットワーク108とも通信する他のコンピューティングデバイス(例えば、他のコンピュータ)から印刷用のドキュメントを受信できる。他のコンピューティングデバイスは、例えば、コンピュータシステム100、コンピューティングデバイス102およびプリンタ106から遠隔に位置する他のデスクトップコンピュータであってよい。
【0041】
いくつかの実施態様では、コンピューティングデバイス102は、画像取得装置104からデータ(ダイナミックライブデータなど)を受信する。いくつかの実施態様では、コンピューティングデバイス102は、コンピューティングデバイス102のユーザがダイナミックライブデータをセグメント化するために使用される参照テンプレート(例えば、
図1Bのリファレンステンプレート110)を生成することを可能にする画像セグメンテーションソフトウェア(例えば、
図2Aの画像セグメンテーションアプリケーション222)を含む。画像セグメンテーションソフトウェアはまた、セグメンテーションを実行し、セグメント化された画像をコンピューティングデバイス102のメモリの不揮発性部分に保存する場合がある。いくつかの実施態様では、コンピューティングデバイス102は、セグメント化された画像に対して検査テスト(例えば、視覚テスト)を実行するように構成された検査ソフトウェア228を含む。
【0042】
図1Bは、いくつかの実施態様に従った例示的な参照テンプレート110を示す。参照テンプレート110は、動的ライブデータ(例えば、ライブデータストリームなどのリアルタイムデータ)の自動セグメンテーションのためのテンプレートとして使用される。参照テンプレート110は、ポスター、出荷ラベル、製品ラベル、文書、または、画像など、任意の印刷物に対応できる。いくつかの実施態様では、参照テンプレートは、印刷される印刷物(例えば、出荷ラベルまたは100ポスターのセット)の画像を含む。
図1Bに示す例では、参照テンプレートは、出荷ラベルに対応する。示されているように、参照テンプレート110は、会社ロゴ、返送先住所および配送先住所フィールド、並びに、バーコードなどの情報を含む。
【0043】
参照テンプレート110は、同期領域112および検査領域114を含む。同期領域112は、印刷物の存在を識別するために使用できる1以上の弁別的特徴を含む参照テンプレート110の一部を規定する。従って、同期領域112は、容易かつ正確に識別され得る1以上の弁別的特徴を含み、1以上の弁別的特徴は、印刷物のセットにおける全ての印刷物に共通である。例えば、配送ラベルの会社ロゴは、配送先住所に関係なく同じであることが期待される。従って、ロゴまたはロゴの一部は、同期領域112に含めるための良い候補となるであろう。この例では、同期領域112は、配送ラベルの会社ロゴを含む。検査領域114は、関心(interest)領域を規定する。この場合、関心領域は、出荷ラベル全体である。例えば、5000枚の印刷ラベルの印刷注文を送る会社は、印刷されたテキストが読みやすく、バーコードが正しい情報を含んでいることを確認するために、各ラベルが検査されるのを望む場合がある。つまり、出荷ラベルの検査領域114は、出荷ラベル全体または出荷ラベルの一部(例えば、全てではない)を含む場合がある。この例では、検査領域114は、出荷ラベルの全体を含む。いくつかの実施態様では、同期領域112および検査領域114のいずれかは、ユーザによって規定される。いくつかの実施態様では、コンピュータシステム100は、同期領域112に含めるための参照テンプレート110の1以上の領域を識別(例えば、自動的に識別)し、提案(例えば、自動的に提案または推薦)することができる。いくつかの実施態様では、コンピュータシステム100は、検査領域114に含めるための参照テンプレート110の1以上の領域を識別(例えば、自動的に識別)し、提案(例えば、自動的に提案または推薦)することができる。
【0044】
いくつかの実施態様では、同期領域112および検査領域114に関する詳細を含む参照テンプレート110は、コンピュータシステム100のメモリの不揮発性部分(例えば、コンピューティングデバイス102などの演算装置のメモリの不揮発性部分)に記憶される。いくつかの実施態様では、同期領域112に関する情報(例えば、詳細)を記憶することは、同期領域112に対応する第1の座標セット113(例えば、(x,y)=(5.7、15.4)などのxy座標のセット、または、画素座標)と、同期領域112のサイズ(例えば、x=+43.1、y=+24.3、または、x=106ピクセル、y=29ピクセル)と、同期領域112に対応する1以上の弁別的特徴(例えば、同期領域112の画像、または、同期領域112に示される画像の抽出された特徴)との1つ以上を記憶することを含む。いくつかの実施態様では、検査領域114に関する情報(例えば、詳細)を記憶することは、検査領域に対応する第2の座標セット115(例えば、(x,y)=4.3、2.4またはピクセル座標)と、検査領域114のサイズ(例えば、x=+96.0、y=+144.9、または、x=270ピクセル、y=314ピクセル)と、同期領域112からのオフセット(例えば、検査領域114は、同期領域112からx=-38.3、y=+129.5オフセットされている)との1つ以上を記憶することを含む。いくつかの実施態様では、第1の座標セットおよび第2の座標セットは、同じ座標系を使用し、同じ原点(例えば、(x,y)=(0、0)である点)を参照する。いくつかの実施態様では、原点117は、参照テンプレート110の左上隅に位置する。
【0045】
同期領域112および検査領域114が参照テンプレート110に規定されると、参照テンプレート110は、コンピュータシステム100が動的データストリーム(例えば、ビデオストリーム)から出荷ラベルの画像を自動的にセグメント化するためのテンプレートとして使用され得る。
【0046】
図1Cは、いくつかの実施態様に従って動的データストリーム120を検査画像126にセグメント化することを示す図である。印刷物が生産(例えば、生成または印刷)されると、画像取得装置104は、印刷物がリアルタイムで印刷されているときの印刷物の画像を示す複数のフレーム(例えば、画像フレームまたはビデオフレーム)を含む動的データストリーム120(例えば、ビデオストリーム)を取得できる。コンピュータシステム100は、動的データストリーム120を個々の(例えば、個別の)検査画像126に自動的にセグメント化する。いくつかの実施態様では、動的データストリーム120は、コンピューティングシステム100のメモリ(例えば、メモリの揮発性部分)(例えば、コンピューティングデバイス102のメモリ)内のバッファに書き込まれる(例えば、記録または記憶される)。バッファは有限であるため(例えば、循環バッファ)、画像ストリームの新しい部分が到着する場合にバッファの一部が上書きされる。バッファは、他の理由でも上書きされる可能性がある。例えば、バッファは、コンピューティングシステム100の電源が落ちたとき(例えば、電源がオフされたとき、または、プラグが抜かれたとき)、または、所定の時間が経過したときに、上書きされ得る。
【0047】
図1Bに関して前述した例に従って、動的データストリーム120は、会社A用に印刷された複数の発送ラベルの画像を含む。この例では、4つの印刷ラベルが示されている。コンピュータシステム100は、参照テンプレート110の同期領域112における1以上の弁別的特徴に対応する(例えば、類似する、同じである、または、実質的に同じである)特徴を含む動的データストリーム120内のサブ領域を識別する。この場合、1以上の弁別的特徴は、会社Aのロゴ(Logo)に対応し、4つのサブ領域122-1~122-4は、参照テンプレート110に示されるように、会社Aのロゴの特徴に対応する特徴を有するものとして識別される。識別されたサブ領域122を使用して、コンピュータシステム100は、検査領域124-1~124-2を識別し、検査領域124の各々をそれぞれの検査画像126にセグメント化(例えば、抽出)する。例えば、コンピュータシステム100は、同期領域112に対応するサブ領域122-1を含む動的データストリーム120のフレームを識別した後、検査領域124-1を含む動的データストリーム120のフレームを検査画像126-1として識別し抽出する。コンピュータシステム100は、バッファ内の情報が上書きされた後でも検査画像126-1を(例えば、リアルタイムで、または、後に)提供できるように、検査画像126-1をそのメモリの不揮発性部分に記憶する(例えば、セーブする)。コンピュータシステム100は、識別定されたサブ領域毎にこの処理を繰り返し(例えば、サブ領域122-2、122-3、122-4)、その結果、複数の検査画像126(例えば、126-1~126-4)がコンピュータシステム100に記憶される。いくつかの実施態様では、動的データストリーム120を検査画像126にセグメント化するプロセスは、リアルタイムで実行される。いくつかの実施態様では、動的データストリーム120を検査画像126にセグメント化するプロセスは、画像取得装置104による動的データストリーム120の取得の後の任意の時点で実行される。コンピューティングデバイスは、セグメント化される情報(例えば、動的データストリーム120)が上書きされる前の任意の時点でセグメント化を実行することができる。
【0048】
検査領域124が動的データストリーム120から抽出され、検査画像126として記憶されると、検査用の検査画像126が提供され得る。
【0049】
いくつかの実施態様では、
図1Cに示すように、各印刷ユニット(この例では、配送ラベル)は、印刷材料の同じセット(例えば、バッチ)の他の印刷ユニットに共通する1以上の特徴を含む。言い換えれば、この出荷ラベルのセット全てに共通する、ロゴおよび返送先住所等の特徴がある。いくつかの実施態様では、各印刷ユニット(例えば、各発送ラベル)は、他の出荷ラベルとは異なる少なくとも1つの部分を含んでもよい。例えば、
図1Cは、各配送ラベルが、同じロゴおよびサンドリターンアドレス(sand return address)を含み、各配送ラベルが、他の配送ラベルに示される「送信先」アドレスとは異なる固有の「送信先」アドレスを有することを示している(例えば、検査画像126-1に示されている「送信先」アドレスは、検査画像126-2、126-3、126-4のそれぞれに示されている「送信先」アドレスと異なる)。いくつかの実施態様では、同じセットの印刷物のすべての印刷ユニット(例えば、出荷ラベル)は、すべて同じである(例えば、同一の特徴を含む、互いに異ならない、互いに区別できない)。例えば、100枚のパレードのチラシを印刷する注文は、すべて同一の100枚の印刷ユニットを含み得る。
【0050】
図1Dは、いくつかの実施態様に従った検査画像126-1を提供することを示す図である。記憶される(例えば、コンピューティングデバイス100のメモリの不揮発性部分に記憶される)検査画像126は、コンピューティングデバイス102等のコンピューティングデバイスに、検査のために提供されてもよい。いくつかの実装では、コンピューティングデバイス102は、検査画像126に対して1以上の検査テストを自動的に実行する。いくつかの実施態様では、検査プロセスは、検査画像126を表示することを含む。いくつかの実施態様では、検査プロセスは、コンピューティングデバイス102のユーザインターフェース130(グラフィカルユーザインターフェース130とも呼ばれる)を介して、ユーザに検査画像126を表示することを含む。いくつかの実施態様では、ユーザインターフェース130は、検査アプリケーション(例えば、検査ソフトウェア)用のユーザインターフェースである。
【0051】
図1Dに示すように、ユーザインターフェース130は、検査画像126を表示するための画像表示領域132を含む。いくつかの実施態様では、ユーザインターフェース130はまた、検査画像126に対応する識別子134を表示する。この例では、識別子134は、画像表示領域132に現在表示されている検査画像126が、10,000個の出荷ラベルのセットのうち、127番目に印刷される出荷ラベルに対応することを示す(例えば、識別子は、「ラベル127」または「ラベル127/10,000」である)。識別子134は、英数字および/または記号を含み得る1以上の文字のセットを含む。識別子134は、各検査画像126がそれぞれの識別子134によって他の検査画像126から識別または区別され得るように、対応する検査画像126に固有のものである。
【0052】
いくつかの実施態様では、ユーザインターフェース130は、画像表示領域132において検査画像126を切り替えるための1以上のアフォーダンス136-1、136-2を含む。例えば、アフォーダンス136-1のユーザ選択に応答して、画像表示領域132は前の検査画像126を表示する(例えば、検査画像126/10,000)。別の例では、アフォーダンス136-2のユーザ選択に応答して、画像表示領域132は、次の検査画像126を表示する(例えば、検査画像128/10,000)。
【0053】
いくつかの実施態様では、ユーザインターフェース130は、検査画像126に対応する検査情報を表示するように構成された検査ログ140も含む。例えば、検査ログ140は、それぞれの検査画像126が検査に合格したか不合格であったかのインジケータを含んでもよい。この例では、検査ログ140は、ラベル124、126および127は検査に合格したが、ラベル125は検査に合格しなかったことを示す情報を表示する。
【0054】
いくつかの実施態様では、ユーザインターフェース130は、ユーザがコメントを追加したり、コンピュータデバイスによって自動的に実行される検査の結果を上書きしたりすることを可能にするコメント領域142も含む。例えば、コメント領域142は、ラベル124が検査に合格したことを示すように、ユーザがラベル124の検査結果を上書きしたことを示す。コメント領域142は、ユーザがコンピューティングデバイスと通信するプリンタ106に1以上の信号またはコマンドを提供するための1以上のアフォーダンス143を含むこともできる。例えば、コメント領域142は、印刷を停止するアフォーダンス、および/または、プリンタを特定のラベルに反転させ、特定のラベルの上にストライクスルーパターンを印刷して、特定のラベルが検査に失敗したこと、および/または、特定のラベルを使用すべきではないことを示すアフォーダンスを含んでもよい。
【0055】
いくつかの実施態様では、ユーザインターフェース130は、コンピューティングデバイスと通信するプリンタ106に対応する情報を表示するプリンタステータス領域144も含む。例えば、プリンタ106は、出荷ラベル等の印刷物を生成(例えば、印刷)する最中である可能性がある。この例では、プリンタステータス領域144は、10,000のうち130の出荷ラベルが印刷され、プリンタ106が現在停止している(halted、例えば、stopped)ことを示す。
【0056】
図2Aは、いくつかの実施態様に従って、データストリームのセグメント化操作、および/または、画像の検査を実行可能なコンピューティングシステム100に対応するコンピューティングデバイス200を例示するブロック図である。コンピューティングデバイス200の様々な例は、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、サーバーコンピュータ、サーバーシステム、および、動的データストリームからセグメント化された画像および/または検査画像を生成可能なプロセッサを有する他のコンピューティングデバイスを含む。コンピューティングデバイス200は、1以上のデータベース(例えば、画像または映像のデータベース)、モデルまたはモジュールをホストするデータサーバであってもよいし、様々な実行可能なアプリケーションまたはモジュールを提供してもよい。コンピューティングデバイス200は、典型的には、1以上の処理ユニット(プロセッサまたはコア)202と、1以上のネットワークまたは他の通信インターフェース204と、メモリ214と、これらの構成要素を相互接続するための1以上の通信バス212とを含む。通信バス212は、任意に、システム構成要素間を相互接続し、システム構成要素間の通信を制御する回路素子(チップセットと呼ばれることもある)を含む。コンピューティングデバイス200は、典型的には、ユーザインターフェース206を含む。ユーザインターフェース206は、典型的には、表示装置208(例えば、スクリーンまたはモニタ)を含む。いくつかの実施態様では、コンピューティングデバイス200は、キーボード、マウス、および/または、他の入力ボタン210等の入力デバイスを含む。代替的にまたは追加的に、いくつかの実施態様では、ディスプレイデバイス208は、タッチセンシティブ表面を含む。この場合、ディスプレイデバイス208は、タッチセンシティブディスプレイである。いくつかの実施態様では、タッチセンシティブ表面は、様々なスワイプジェスチャ(例えば、垂直方向および/または水平方向の連続ジェスチャ)および/または他のジェスチャ(例えば、シングルタップ/ダブルタップ)を検出するように構成される。タッチセンシティブディスプレイを有するコンピューティングデバイスでは、物理キーボードはオプションである(例えば、キーボード入力が必要な場合は、ソフトキーボードを表示できる)。また、ユーザインターフェース206は、スピーカ、または、スピーカ、イヤホンまたはヘッドホンに接続された音声出力接続等の音声出力装置を含む。さらに、いくつかのコンピューティングデバイス200は、マイクロフォンおよび音声認識ソフトウェアを使用して、キーボードを補足または置き換える。音声入力装置(例えば、マイクロフォン)は、音声(例えば、ユーザからの発話)を捕捉する。
【0057】
メモリ214は、DRAM、SRAM、DDRRAMまたは他のランダムアクセスソリッドステート記憶装置等の高速ランダムアクセスメモリを含み、1以上の磁気ディスク記憶装置、光ディスク記憶装置、フラッシュメモリ装置または他の不揮発性ソリッドステート記憶装置等の不揮発性メモリを含んでもよい。いくつかの実施態様では、メモリ214は、プロセッサ202から遠隔に位置する1以上の記憶装置を含む。メモリ214、または代替的にメモリ214内の不揮発性メモリデバイス(例えば、部分)は、非一過性のコンピュータ可読記憶媒体を含む。メモリ214はまた、バッファ244のような揮発性メモリを含む。いくつかの実施態様では、メモリ214またはメモリ214のコンピュータ可読記憶媒体は、以下のプログラム、モジュールおよびデータ構造、または、それらのサブセットまたはスーパーセットを記憶する。
・種々の基本的なシステムサービスを処理し、ハードウェアに依存するタスクを実行するための手順を含むオペレーティングシステム216。
・インターネット、他の広域ネットワーク、ローカルエリアネットワーク、メトロポリタンエリアネットワーク等の1以上の通信ネットワークインターフェース204(有線または無線)を介して、コンピューティング装置200を他のコンピュータおよびデバイスに接続するために使用される通信モジュール218。
・ユーザがネットワークを介して遠隔のコンピュータまたはデバイスと通信することを可能にするウェブブラウザ220(または、ウェブページを表示可能な他のアプリケーション)。
・推奨される同期領域112および検査領域114の規定または受け入れを含む参照テンプレート110へのアクセス、参照テンプレート110の生成および編集等、ユーザが画像セグメンテーションアプリケーション222をナビゲートできるようにするグラフィカルユーザインターフェース224を含む、画像セグメンテーションアプリケーション222。画像セグメンテーションアプリケーション222はまた、参照テンプレート110を生成し、編集するための参照テンプレートジェネレータ226を含む。参照テンプレートジェネレータ226は、同期領域ドライバと、検査領域ドライバと、同期領域112および検査領域114を規定および/または提案するための既定の基準ドライバのうちのいずれかを含み得る。画像セグメンテーションアプリケーション222はまた、生成された参照テンプレート110からの情報を使用した動的データストリーム120の自動的セグメンテーションのためのセグメンテーションドライバ246を含む。セグメンテーションドライバ246はまた、動的データストリーム120から生成された(例えば、抽出された、分割された)各検査画像に識別子を割り当てることができる。
・ユーザが検査アプリケーション228をナビゲートできるようにする、例えば、検査画像126を見えるようにする、および/または、確認(例えば、検査)できるようにするグラフィカルユーザインターフェース130を含む、検査アプリケーション228。検査アプリケーション228は、1以上の検査試験を自動的に行うための検査画像ドライバ230と、1以上の検査試験の結果(例えば、合格/不合格)を記録するための結果ログ232と、コンピューティング装置200と通信するプリンタ106に信号および/またはコマンドを伝達し、送るためのプリンタドライバ234とを含む。
・参照用テンプレート110、検査画像126および検査ログ240(例えば、検査結果)などの情報を記憶するデータベース236。
・動的データストリーム120を記憶するためのバッファ244(例えば、揮発性メモリ)。
【0058】
いくつかの実施態様では、メモリ214は、検査画像126を有効化する(例えば、検査する)ためのメトリクスおよび/またはスコアを記憶する。さらに、メモリ214は、検査画像126を有効化する(例えば、検査する)ためのメトリクスおよび/またはスコアと比較される、閾値および他の基準を記憶することができる。
【0059】
前述の識別された実行可能なモジュール、アプリケーション、または、手順のセットの各々は、1以上の先に述べたメモリデバイスに記憶されてもよく、前述の機能を実行するための指示(instruction)のセットに対応する。前述の識別されたモジュールまたはプログラム(すなわち、指示のセット)は、別々のソフトウェアプログラム、手順、または、モジュールとして実装される必要はなく、これらのモジュールの様々なサブセットは、様々な実施態様において組み合わせられるか、または、他の方法で再配置されてもよい。いくつかの実施態様では、メモリ214は、前記の識別されたモジュールおよびデータ構造のサブセットを記憶する。さらに、メモリ214は、前記で説明されていない追加のモジュールまたはデータ構造を記憶することができる。
【0060】
図2Aは、コンピューティングデバイス200を示すが、
図2Aは、本明細書に記載される実施態様の構造概略図としてではなく、存在し得る様々な特徴の機能説明として、より意図されるものである。実際には、そして当業者によって認識されるように、別々に示されたアイテムを組み合わせることができ、いくつかのアイテムを分離することができる。
【0061】
図2Bは、いくつかの実施態様に従ったサーバ290のブロック図である。サーバ290は、1以上のデータベース274をホストすることができ、様々な実行可能なアプリケーションまたはモジュールを提供することができる。サーバ290は、典型的には、1以上の処理ユニット/コア(CPU)202、1以上の通信インターフェース252、メモリ260、および、これらの構成要素を相互接続するための1以上の通信バス254を含む。いくつかの実施態様では、サーバ290は、ディスプレイ258と、キーボードおよびマウスなどの1以上の入力デバイス259とを有するユーザインターフェース256を含む。いくつかの実施態様では、通信バス254は、システムコンポーネント間の通信を相互接続し制御する回路素子(チップセットと呼ばれることもある)を含む。
【0062】
いくつかの実施態様では、メモリ260は、DRAM、SRAM、DDRRAM、または、他のランダムアクセスソリッドステートメモリデバイスなどの高速ランダムアクセスメモリを含み、1以上の磁気ディスク記憶装置、光ディスク記憶装置、フラッシュメモリ装置、または、他の不揮発性ソリッドステート記憶装置などの不揮発性メモリも含むことができる。いくつかの実装では、メモリ260は、1以上のCPU250から遠隔に位置する1以上の記憶装置を含む。メモリ260、または、代替的にメモリ260内の不揮発性メモリデバイス(例えば、部分)は、非一過性のコンピュータ可読記憶媒体を含む。メモリ260はまた、バッファ280などの揮発性メモリを含む。いくつかの実施態様では、メモリ260、または、メモリ260のコンピュータ可読記憶媒体は、以下のプログラム、モジュール、および、データ構造、または、そのサブセットを記憶する。
・様々な基本システムサービスを処理し、ハードウェアに依存するタスクを実行するための手順を含む、オペレーティングシステム262。
・1以上の通信ネットワークインターフェース(有線または無線)を介して、および、インターネット、他の広域ネットワーク、ローカルエリアネットワーク、メトロポリタンエリアネットワークなどの1以上の通信ネットワークを通じて、サーバ290を他のコンピュータに接続するために使用される、ネットワーク通信モジュール264。
・ユーザからのWebリクエストを受信し、レスポンスの良いWebページまたは他のリソースを提供することにより応答する、Webサーバ266(HTTPサーバ等)。
・ユーザのコンピューティングデバイス200のウェブブラウザ266によってダウンロードされ、実行され得る、画像セグメンテーションアプリケーションまたは画像セグメンテーションウェブアプリケーション268。一般に、画像セグメンテーションアプリケーション268は、デスクトップ画像セグメンテーションアプリケーション222と同じ機能性を有するが、ネットワーク接続性を有する任意の場所における任意のデバイスからのアクセスの柔軟性を提供し、インストールおよびメンテナンスを必要としない。
いくつかの実施態様では、画像セグメンテーションウェブアプリケーション268は、特定のタスクを実行するための様々なソフトウェアドライバおよび/またはモジュールを含む。いくつかの実施態様では、画像セグメンテーションウェブアプリケーション268は、画像セグメンテーションウェブアプリケーション268のすべてのアスペクトのためのユーザインターフェース(例えば、グラフィカルユーザインターフェース224)を提供するグラフィカルユーザインターフェースドライバ276を含む。いくつかの実施態様では、画像セグメンテーションウェブアプリケーション268は、コンピューティングデバイス200について前述したように、参照テンプレートジェネレータ226およびセグメンテーションドライバ246を含む。
・ユーザのコンピューティングデバイス200のウェブブラウザ266によってダウンロードされ、実行され得る、検査アプリケーションまたは検査ウェブアプリケーション270。一般に、検査ウェブアプリケーション270は、デスクトップ検査アプリケーション228と同じ機能性を有するが、ネットワーク接続性を有する任意の場所における任意のデバイスからのアクセスの柔軟性を提供し、インストールおよび保守を必要としない。いくつかの実施態様では、検査ウェブアプリケーション270は、特定のタスクを実行するための様々なソフトウェアドライバおよび/またはモジュールを含む。いくつかの実施態様では、検査ウェブアプリケーション270は、検査ウェブアプリケーション270のすべてのアスペクトのためのユーザインターフェース(例えば、グラフィカルユーザインターフェース130)を提供するグラフィカルユーザインタフェースドライバ278を含む。いくつかの実施態様では、検査ウェブアプリケーション270は、コンピューティングデバイス200について前述したように、検査画像ドライバ230、結果ログ232、および、プリンタドライバ234を含む。
・データベース274から検査画像126または検査ログ240を検索するためのデータ検索モジュール272。
・画像セグメンテーションウェブアプリケーション268、画像セグメンテーションアプリケーション222、検査アプリケーション228、および、検査ウェブアプリケーション270のいずれかによって使用または作成されるデータを記憶する、1以上のデータベース274。データベース274は、前述したように、参照テンプレート110、検査画像126、および、検査ログ240(例えば、検査結果)を記憶することができる。
・前述した動的データストリーム120を記憶するためのバッファ280(例えば、揮発性メモリ)。
【0063】
前記識別された実行可能モジュール、アプリケーション、または、手順のセットの各々は、1以上の先に述べたメモリデバイスに記憶されてもよく、前述の機能を実行するための指示のセットに対応する。前記識別されたモジュールまたはプログラム(すなわち、指示のセット)は、別々のソフトウェアプログラム、手順、または、モジュールとして実装される必要はなく、これらのモジュールの様々なサブセットは、様々な実施態様において組み合わせられるか、または、他の方法で再配置されてもよい。いくつかの実施態様では、メモリ260は、前記の識別されたモジュールおよびデータ構造のサブセットを記憶する。いくつかの実施態様では、メモリ260は、前記で説明されていない追加のモジュールまたはデータ構造を記憶する。
【0064】
図2Bはサーバ290を示すが、
図2Bは、本明細書に記載される実装の構造概略図としてではなく、存在し得る様々な特徴の機能説明として、より意図されるものである。実際には、そして、当業者によって認識されるように、別々に示されたアイテムを組み合わせることができ、いくつかのアイテムを分離することができる。さらに、サーバ290に関して前記に示されたプログラム、機能、手順、または、データのいくつかは、コンピューティングデバイス200に記憶され、または、コンピューティングデバイス200で実行され得る。いくつかの実施態様では、機能性および/またはデータは、コンピューティングデバイス200および1以上のサーバ290の間で割り当てられ得る。さらに、当業者は、
図2Bが単一の物理デバイスを示す必要がないことを認識する。いくつかの実施態様では、サーバの機能性は、サーバーシステムを備える複数の物理デバイスにわたって割り当てられる。本明細書で使用される場合、「サーバ」への言及は、記載された機能性を提供するサーバの様々なグループ、コレクション(collections)、または、アレイを含み、物理サーバは物理的に配置される必要はない(例えば、個々の物理デバイスは米国中または世界中に広がり得る)。
【0065】
図3Aは、画像取得装置104によって取得された動的データストリーム300を示す。 動的データストリーム300は、印刷物の画像をリアルタイムで(例えば、それらが印刷されるときに)キャプチャする。この例では、2つの印刷ユニット320-1、320-2が示されている。動的データストリーム300は、印刷物が印刷され、矢印304で示される印刷方向に沿って(例えば、y軸に沿って)プリンタから出力されると、新しいデータ取得ライン302で(例えば、x軸に沿って)印刷物の画像を取得する。
【0066】
図3B~
図3Dは、いくつかの実施態様に従った参照テンプレート110の生成を示す図である。
【0067】
図3Bは、参照テンプレートを生成する際に使用される初期画像310を示す。いくつかの実施態様では、初期画像310は、動的データストリーム(例えば、動的データストリーム300)から取得される。初期画像310はまた、印刷物の特徴(例えば、印刷物の1以上のパターン若しくはデザイン)、または、印刷物の画像、または、印刷物のサンプルに関する情報を含むファイル(例えば、画像ファイル)であり得る。
図3Bに示される初期画像310は、
図3Aに示される動的データストリーム300から生成される。初期画像310を使用して、同期領域312および検査領域114が規定され得る(例えば、ユーザにより手動で、または、画像セグメンテーションアプリケーションにより自動で)。
図3Bは、初期画像310を使用して規定される同期領域312を示す。この例では、同期領域312は、企業ロゴ(例えば、「OMRON」ロゴ)に対応する(例えば、含む)。
【0068】
図3Cは、
図3Bに示される同期領域312に対応するオーバーレイ313を示す。オーバーレイ313は、同期領域312の特徴に対応する弁別的特徴を含み、この例では、「OMRON」ロゴの特徴を含む。同期領域312を規定し記憶する一部として、参照テンプレートジェネレータ226は、バイナリープロジェクション(binary projection)と呼ばれるプロセスを介して、オーバーレイ313の弁別的特徴をx軸およびy軸に沿って投影する。いくつかの実施態様では、参照テンプレートジェネレータ226は、オーバーレイの各ピクセルを前景ピクセルまたは背景ピクセルのいずれかとして識別する(例えば、前景画素に1を割り当て、背景画素に0を割り当てることで)。前景ピクセルの例は、印刷を含むピクセル(例えば、黒色ピクセル)であり、背景ピクセルの例は、印刷を含まないピクセル(例えば、白色ピクセル)である。前景画素は、x軸およびy軸に沿って投影される。いくつかの実施態様では、各前景ピクセルは等しい重みを有する。背景画素は投影に含まれない(例えば、バイナリープロジェクションから減算される)ので、前景画素(例えば、ダークパターンまたは印刷パターン)のみがバイナリープロジェクションに含まれる。投影された前景画素は、x軸およびy軸に沿ってそれぞれ参照信号317、318(例えば、テンプレート信号)を形成する。いくつかの実施態様では、参照テンプレートジェネレータ226はまた、参照信号の二乗を計算する。
図3Cは、x軸に沿った第1参照信号317(例えば、バイナリープロジェクション、オーバーレイプロジェクション、投影特徴(projection features))、および、y軸に沿った第2参照信号318(例えば、バイナリープロジェクション、オーバーレイプロジェクション、投影特徴)の例を示す。前景画素を2つの垂直方向(例えば、x方向およびy方向)に沿って投影することにより、動的データストリームに示される特徴は、同期領域312の1以上の弁別的特徴に大まかにマッチさせるだけでよい。この「大まかな」マッチング技術は、リアルタイムで実行可能な高速マッチングを可能にし、参照テンプレートで規定された同期領域312に対応する動的データストリームにおけるサブ領域の正確な識別を提供するのに十分なマッチロバストネス(match robustness)を有する。
【0069】
同期領域312を動的データストリームの識別マーカとして使用する場合、セグメンテーションドライバ246(例えば、画像セグメンテーションドライバ246)は、参照信号(例えば、参照信号317、318)を動的データストリームに示される特徴に対応する信号とマッチさせようとする。いくつかの実施態様では、インダイナミックデータストリームに示される特徴(例えば、プリンタ106から印刷され出力される特徴)に対応する信号を参照信号317、318にマッチさせるために、セグメンテーションドライバ246は、印刷方向に直角(例えば、鉛直)な方向(例えば、x方向)に沿ってインダイナミックデータストリームに示される特徴に対応する信号との第1参照信号317の畳み込み(convolution)、および、印刷方向(例えば、y方向)に沿って動的データストリームに示される特徴に対応する信号との第2基準信号332の畳み込みのうちの少なくとも1つを決定する(例えば、算出する)。また、セグメンテーションドライバ246は、印刷方向(例えば、y方向)に沿った畳み込みに対応する2乗誤差(squared error)、および、印刷方向に垂直な方向(例えば、x方向)に沿った畳み込みに対応する2乗誤差のうちの少なくとも1つを決定する(例えば、算出する)。そして、セグメンテーションドライバ246は、算出された2乗誤差の少なくとも1つを、対応する軸(例えば、それぞれの軸)に沿った参照信号の2乗に正規化し、その正規化に基づいて一致率を算出する。いくつかの実施態様では、セグメンテーションドライバ246は、両軸に沿った総2乗誤差を参照信号の2乗に正規化し(例えば、第1参照信号および第2参照信号の両方)、この正規化に基づいて一致率を算出する。算出された一致率が予め定められている一致条件(例えば、50%以上、60%以上、65%以上、67%以上、70%以上の一致率などのしきい値)を満たす場合、インダイナミックデータストリームに示される特徴に対応する信号は、マッチするとみなされる。算出された一致率が予め定められた一致条件を満たすことに応じて、セグメンテーションドライバ246は、インダイナミックデータストリームに示される特徴に対応する信号の位置を同期位置として決定する。決定された同期位置に基づいて動的データストリームにおける検査領域を決定することができ、検出された同期領域(例えば、動的データストリームの特徴に対応する検出信号)に対応する検査画像として検査領域を抽出することができる。
【0070】
対応する(例えば、同じ)方向(例えば、軸)に沿って動的データストリームに示される特徴に対応する信号との参照信号の畳み込みにより、セグメンテーションドライバ246は、最適な一致位置を決定する(例えば、見つける、識別する)ことができる。例えば、第1基準信号317とx方向に沿った動的データに示される特徴に対応する信号とをマッチングさせようとする場合、マッチング処理は、データの新しい取得ラインごとに実行される計算を必要としない。前景画素の大部分(例えば、30%以上、50%以上、70%以上)を解析できる間隔(例えば、周波数、時間間隔、空間間隔)で、第1基準信号317とx方向に沿ったダイナミックデータに示される特徴に対応する信号とを評価しさえすれば、印刷方向(例えば、y方向)に沿った一致位置を決定することができる。これにより、印刷工程(例えば、オフセット印刷、ラベルワンダ(label wander)、斜め印刷)に多少の誤差があったとしても、マッチング処理(および、それに続く検査画像としての検査領域の抽出処理)を正確かつ高精度に行うことができる。
【0071】
図3Dは、いくつかの実施態様に従った、初期画像310を使用して検査領域314を規定するプロセスを示す図である。この例では、検査領域314は、1つのラベルに対応する。点線316-1、316-2は、検査領域314が線316-1、316-2間に配置された初期画像310の一部を含むように検査領域314を規定するマージンを示す。検査領域314に含まれない(例えば、線316-1、316-2間に位置しない)初期画像310の部分は、グレーアウトされる(例えば、強調が抑えられる)。検査領域314は、少なくとも1つの方向において(例えば、x方向およびy方向の少なくとも一方に沿って)同期領域312からオフセットされる。いくつかの実施態様では、検査領域314を記憶することは、検査領域314および同期領域312間の予め定められたオフセットを記憶することを含む。同期領域312および検査領域314の両方が規定されると、画像セグメンテーションアプリケーション222(または、画像セグメンテーションウェブアプリケーション268)は、第1参照信号317および第2参照信号318の少なくとも1つを含む同期領域312と、同期領域312および検査領域314間のオフセットを含む検査領域314とを参照テンプレートとして記憶(例えば、セーブ)する。参照テンプレートは、同期領域312の特徴に関する情報(例えば、参照信号317および/または参照信号318)と、同期領域312の特徴に対する検査領域314の位置に関する情報とを含む。参照テンプレートはまた、初期画像310、同期領域312に対応する座標、検査領域314に対応する座標、同期領域312に対応する初期画像310の一部、および、同期領域312に対応する1以上の弁別的特徴のいずれかを含むことができる。例えば、参照テンプレートは、参照信号317、318と、同期領域312からの検査領域314のオフセットに対応するy軸に沿ったオフセット値と、検査領域314のサイズとを含むことができる。
【0072】
図3Eは、いくつかの実施態様に従った動的データストリーム330のセグメント化を示す図である。初期画像310を使用して同期領域312および検査領域314を規定することを含む、参照テンプレートの生成に関して先に提供された例に従って、動的データストリーム330は、初期画像310に対応する(例えば、初期画像310と同じまたは類似のパターンを有する)印刷ユニット(例えば、ラベル)の画像を示す。基準テンプレートを用いて、(画像セグメンテーションアプリケーション222または画像セグメンテーションアプリケーション268の)セグメンテーションドライバ246は、規定された同期領域312に対応する動的データストリーム330における1以上のサブ領域322を識別する。いくつかの実施態様では、1以上のサブ領域322の識別は、
図3Cに関して前述したマッチング方法を用いて実行される。
【0073】
(例えば、印刷されている印刷物の画像フレームをリアルタイムで取得することで)動的データストリーム330が生成されると、セグメンテーションドライバ246は、(例えば、動的データストリーム330の特徴に対応する信号を同期領域312に対応する参照信号317および/または参照信号318にマッチングさせることにより、)動的データストリーム330に示される特徴を同期領域312に示される特徴とマッチさせようと、継続的に試みる(例えば、試行する)。識別された新規のサブ領域332の各々について、セグメンテーションドライバ246は、それぞれの(例えば、対応する)検査領域334を識別し、検査領域334を抽出し、抽出された検査領域334を検査画像336として記憶する(例えば、動的データストリーム330を異なる検査画像にセグメント化して、検査画像を記憶する)。
【0074】
図3Eに示すように、動的データストリーム330の第1サブ領域332-1および第2サブ領域332-2は、同期領域312に対応するものとして識別される。セグメンテーションドライバ246は、第1サブ領域332-1の識別(例えば、第1サブ領域332-1の位置)に基づいて、第1個別プリントユニット(例えば、第1ラベル、ラベル#002)に対応する第1検査領域334-1を識別し、第1検査領域334-1を抽出し(例えば、動的データストリーム330をセグメント化し)、抽出された第1検査領域334-1を第1検査画像316-1として記憶する。また、セグメンテーションドライバ246は、第2サブ領域332-2(例えば、第2サブ領域332-2の位置)に基づいて、第2個別プリントユニット(例えば、2枚目のラベル、ラベル#003)に対応する第2検査領域334-2を識別し、第2検査領域334-2を抽出し(例えば、動的データストリーム330をセグメント化し)、抽出された第2検査領域334-2を第2検査画像316-2として記憶する。第2検査画像316-2は、第1検査画像316-1と区別され(例えば、異なり)、別個のものである。いくつかの実施態様では、第1検査画像316-1は、第1ファイル(例えば、画像ファイル)として記憶され、第2検査画像316-2は、第1ファイルとは区別される(例えば、異なる)第2ファイル(例えば、画像ファイル)として記憶される。
【0075】
図4Aおよび4Bは、いくつかの実装に従った、参照テンプレートを生成するためのユーザインターフェース400を示す。
図4Aおよび4Bは、初期画像を使用して1以上の同期領域および1以上の検査領域を規定することを含む、参照テンプレートを生成するためのグラフィカルユーザインターフェース400(画像セグメンテーションアプリケーション222のグラフィカルユーザインターフェース224、および、画像セグメンテーションウェブアプリケーション268のグラフィカルユーザインターフェースドライバ276のいずれかに対応)を示す。グラフィカルユーザインターフェース400は、初期画像420を図示するパネル410を含む。初期画像420(この場合、動的データストリームから得られた画像)を使用して、ユーザは同期領域422を選択(例えば、規定)することができる。この例では、ユーザは、初期画像420に示されるロゴの周りに長方形の箱を描くことによって、同期領域422を識別(例えば、規定)する。いくつかの実施態様では、示されているように、グラフィカルユーザインターフェース400はまた、可視化領域430を含む。いくつかの実施態様では、示されているように、グラフィカルユーザインターフェース400は、同期領域422を規定する方法に関する指示など、参照テンプレートを設定する際にユーザを助けるための1以上の指示(例えば、プロンプト(prompts)、指揮(directions)、ティップス(tips))を視覚化領域430に表示することができる。同期領域422が規定されると、ユーザは、検査領域の規定に進むことができる。
【0076】
図4Bに示すように、ユーザは、パネル410に示される線423-1、423-2を移動させて、検査領域424が線423-1および線423-2の間に位置するように検査領域424を規定することができる。いくつかの実施態様では、ユーザが線423-1、423-2のいずれかの位置を調整すると、可視化領域430が、線423-1および線423-2の間にある初期画像の部分を表示するように更新される。いくつかの実施態様では、可視化領域430はまた、可視化領域430に1以上の指示(例えば、プロンプト、指示、ヒント)を表示して、検査領域424を規定する際にユーザを助ける。いくつかの実施態様では、1以上の指示は、すべての選択を保存する第1オプション(例えば、規定された同期領域422および検査領域424に対応する情報を記憶する、''終了ボタン'')と、同期領域編集ステップに戻り、新しい同期領域を規定する第2オプション(例えば、「領域選択へ戻る」ボタン)とを含む。ユーザが、規定された同期領域422および規定された検査領域424を受け入れると(例えば、ユーザが''終了''ボタンを選択した場合)、画像セグメンテーションアプリケーション222(または、画像セグメンテーションウェブアプリケーション268)は、参照テンプレートを生成し、動的データストリームのフレーム(例えば、画像)を検査画像にセグメント化する際に用いるため、参照テンプレートを(例えば、画像セグメンテーションアプリケーション222を実行するコンピューティングデバイスの)コンピューティングシステム100のメモリに記憶する。
【0077】
図4Cは、いくつかの実施態様に従った、セグメント化された検査画像の検査のためのユーザインターフェース402を示す図である。
図4Cは、グラフィカルユーザインターフェース402(検査アプリケーション228のグラフィカルユーザインターフェース130、および、検査ウェブアプリケーション270のグラフィカルユーザインターフェースドライバ278のいずれかに対応する)を示す。いくつかの実施態様では、画像セグメンテーションアプリケーション222および検査アプリケーション228は、コンピュータアプリケーションが起動(例えば、シームレスに起動)でき、2つのアプリケーション間を移行(例えば、シームレスに移行)できるように、同じプログラム(例えば、コンピュータプログラム)の一部である。グラフィカルユーザインターフェース402は、下記の構成のいずれかを含むことができる。
・検査画像446を表示するための可視化領域430。
・動的データストリームからセグメント化(例えば、抽出)された検査画像446のサムネイル442(例えば、プレビュー)を表示するためのサムネイルパネル440。
・可視化領域430に表示されている検査画像446に関する情報および/または検査中の検査画像446に関する情報を表示するための情報パネル450。
・参照テンプレートの同期領域422および検査領域444を再設定(例えば、再規定、更新、編集)するためのアフォーダンス460。
・検査結果を表示するための検査ログ462。
・コンピュータシステム100と通信するプリンタ(例えば、プリンタ106)の状態を表示するためのプリンタ状態ログ464。
・動的データストリームをセグメント化し、検査画像446を生成するのに使用される参照テンプレートに対応する参照テンプレートアイコン466(例えば、金色の画像アイコン)。
【0078】
例えば、
図4Cに示すように、可視化領域430は、現在、第1検査画像446-1を表示している。サムネイルパネル440は、2つの検査画像が現在検査に利用可能であることを示す。動的データストリームのセグメント化がリアルタイムで実行される場合(例えば、印刷物が印刷されているとき)等のいくつかの実施態様では、サムネイルパネル440は、より多くの検査画像446が動的データストリームから抽出(例えば、セグメント化)されて記憶(例えば、保存)されると、追加のサムネイル442を追加し続けることができる。さらに、情報パネル450は、使用中の検査テンプレートの名称、ラベルサイズ(例えば、個々の印刷されたユニットの大きさ)、および、検査領域の数を表示する。この例では、検査テンプレートの名称は「sync」であり、検査テンプレートは、検査用の6つの特徴領域470を規定する。「sync」テンプレートに規定されている6つの特徴領域470(例えば、特徴領域470-1~470-6)は、(検査画像に重ねられた)可視化領域430に破線の四角で示されているとともに、検査ログ462に示されている。この例では、5つの特徴領域470が検査に合格し(2.0という低いスコアを獲得した特徴領域470-4を含む)、特徴領域470-2が検査に合格していない。(参照テンプレートに規定されているように)同期領域422に対応する検査画像446-1のサブ領域472が、実線枠で示されている。
【0079】
いくつかの実施態様では、特徴領域470は、検査アプリケーション228(または検査ウェブアプリケーション270)の検査画像ドライバ230によって自動的に識別される。例えば、「sync」検査テンプレートは、検査画像ドライバ230が、バーコードを含む検査画像446-1の部分を検査される特徴領域470として自動的に識別する(例えば、規定する)ように構成され得る。いくつかの実施態様では、特徴領域470は、ユーザによって「sync」検査テンプレートに識別(例えば、規定)される。
【0080】
例えば、特徴領域が1次元(1D)バーコードを含む場合、特徴領域の検査は、1Dバーコードのエッジの検出と、1Dバーコードのバーの幅および高さの測定と、測定した幅および高さのバーコード標準を使用した確認を含むことができる。さらに、バーのサイズおよびバーの間隔は、均一性が検査され、バーおよびスペース間のコントラストが標準または閾値コントラストレベルを満たすことが確認され得る。1Dバーコードに記憶された情報は、データ構造標準を使用してデコードされ、有効化され得る。
【0081】
別の例では、特徴領域が2次元(2D)バーコードを含む場合、特徴領域の検査は、シンボル体系(symbology)に従って固定されたパターンを識別すること、データをデコードするためにグリッド位置でグレイレベル(grey levels)を抽出して測定すること、および、印刷コントラストと均一性を測定することを含むことができる。
【0082】
さらに別の例では、特徴領域が、テキストまたは視覚的マーク(「傷(blemishes)」としても知られている)を含む場合、特徴領域の検査は、特徴領域のテキストおよび/または視覚的マークを識別するために、閾値および/またはブロブ(blob)検出を用いることを含む場合がある。特徴領域がテキストを含む場合、分類方法を用いてテキストを解釈するために、光学文字認識(OCR)および/または光学文字検証(OCV)が使用される場合がある。特徴領域が1以上の視覚的マークを含む場合、検出されたオブジェクト(「ブロブ」とも呼ばれる)は、印刷偏差および欠陥を識別し測定するために、理想的な印刷画像を表すゴールデンイメージと比較される場合がある。
【0083】
図5Aおよび
図5Bは、いくつかの実施態様に従った参照テンプレートの例を示す図である。
【0084】
図5Aは、1つの同期領域512と複数の検査領域514-1、514-2とを含む参照テンプレート500の一例を示す図である。この例では、同期領域512に対応する識別された動的データストリームの各サブ領域に対して、2つの検査画像、検査領域514-1に対応する動的データストリームの一部を示す第1検査画像と、検査領域514-2に対応する動的データストリームの一部を示す第2検査画像とが生成される。
【0085】
図5Aは、複数の同期領域522、532と、複数の検査領域524、534とを含む参照テンプレート502の一例を示す図である。この例では、同期領域522に対応する識別された動的データストリームの各サブ領域に対して、検査領域524に対応する動的データストリームの一部を示す検査画像が記憶される。同様に、同期領域532に対応する識別された動的データストリームの各サブ領域に対して、検査領域534に対応する動的データストリームの一部を示す検査画像が記憶される。このように、ユーザは、検査画像をカスタマイズして、動的データストリームの情報の任意の部分に対応させることができる。
【0086】
図6A~
図6Cは、いくつかの実施態様に従った画像(例えば、検査画像126)を分析するための方法600を示すフロー図である。方法600のステップは、コンピュータデバイス200またはサーバ290に対応するコンピュータシステム100によって実行され得る。いくつかの実施態様では、コンピュータシステム100は、1以上のプロセッサとメモリとを含む。
図6Aおよび
図6Bは、コンピュータメモリまたはコンピュータ可読記憶媒体(例えば、コンピューティングデバイス200のメモリ214)に記憶された指示に対応する。メモリは、1以上のプロセッサによって実行されるように構成された1以上のプログラムを記憶する。例えば、方法600のオペレーションは、少なくとも部分的に、セグメンテーションドライバ246によって実行される(610)。
【0087】
いくつかの実施態様によれば、コンピュータシステム100(または、コンピューティングシステム100のコンピューティングデバイス200)は、画像センサ(例えば、CCDセンサ、CCDカメラ、カメラ)を含む画像取得装置104と通信する。コンピュータシステム100は、既定の同期領域112および既定の検査領域114を含む基準テンプレート110を受信する(620)。同期領域112は、1以上の弁別的特徴を有し、既定の検査領域114は、既定の同期領域112からの既定のオフセットに位置している。コンピュータシステム100は、画像センサからの連続した画像フレーム(例えば、ダイナミックデータストリーム120、ビデオ)のシーケンスを取得し(630)、メモリ内のバッファ(例えば、メモリ214のバッファ244、または、メモリ260のバッファ280)に各画像フレームを記憶する。バッファの各画像フレームについて、コンピュータ100は、それぞれの画像フレームが、既定の同期領域112にマッチするそれぞれのサブ領域122-2を含むか否かを判定する(640)。それぞれの画像フレーム(例えば、ダイナミックデータストリーム120)が既定の同期領域112にマッチするそれぞれのサブ領域122-1を含むという判定に従って、コンピュータシステム100は、(i)それぞれの画像フレーム内で(例えば、動的なデータストリーム120内で)、それぞれのサブ領域122-1からの既定のオフセットにおいて、それぞれの検査領域124-1をキャプチャし(650)、ii)検査画像126-1としてコンピュータシステム100のメモリの不揮発性部分に、キャプチャされたそれぞれの検査領域124-1を記憶する(650)。メモリの不揮発性部分は、バッファとは別個のものである。
【0088】
いくつかの実施態様では、既定の同期領域112は、ユーザによって指定される(621)(例えば、ユーザは、同期領域312に対応するものとして初期画像310の一部を選択する)。
【0089】
いくつかの実装では、既定の検査領域114は、ユーザによって指定される(622)(例えば、ユーザは、検査領域314に対応するものとして初期画像310の一部分を選択する)。
【0090】
いくつかの実施態様では、既定の検査領域114は、検査画像126がサブ領域122を含むように同期領域112を含む(623)。例えば、
図1Bに示すように、検査領域114は、同期領域112を含む(検査画像126-1がロゴを含む、
図1Cも参照)。
図3Dに示す別の例では、検査領域314は、同期領域312を含む(検査画像446-1がロゴに対応するサブ領域472を含む、
図4Cも参照)。
【0091】
いくつかの実施態様では、既定の検査領域114は、検査画像126がサブ領域122から分離される(例えば、異なる、重ならない、含まない)ように、同期領域112から分離される(例えば、異なる、重ならない、含まない)(624)。
【0092】
いくつかの実施態様では、コンピュータシステム100は、同期領域サイズと同期領域位置とを記憶する(625)ことを含む、同期領域112に関する情報を記憶する。同期領域位置は、第1の座標セット113を含む。
【0093】
いくつかの実施態様では、コンピュータシステム100は、検査領域サイズおよび検査領域位置を記憶する(626)ことを含む、検査領域114に関する情報を記憶する。検査領域位置は、第1の座標セット113とは異なる第2の座標セット115を含む。いくつかの実施態様では、第1の座標セット113および第2の座標セット115は、(例えば、同じ座標系の一部である)同じ原点117を参照する。
【0094】
いくつかの実施態様では、それぞれの画像フレーム(例えば、動的データストリーム120)が既定の同期領域112にマッチするそれぞれのサブ領域122を含むか否かを判定する(640)ために、コンピュータシステム100は、同期領域112に対応する1以上の弁別的特徴を含むフレーム(例えば、画像フレーム、ビデオフレーム)を検出する(642)。例えば、コンピュータシステム100は、同期領域312に対応する参照信号317、318を、
図3Cに関して前述したようなラフマッチング法を用いて動的データストリーム320に示される特徴に対応する信号とマッチさせる場合がある。
【0095】
いくつかの実施態様では、コンピュータシステム100は、検査用のキャプチャされたそれぞれの検査領域114を(例えば、検査画像126として)提供する(660)。例えば、
図4Cは、コンピュータシステム100またはコンピュータシステム100のユーザが検査画像446-1に対して1以上の検査テストを実行できるように検査画像446-1を表示する、グラフィカルユーザインターフェース402を示す図である。
【0096】
いくつかの実施態様では、コンピュータシステム100は、キャプチャされたそれぞれの検査領域(例えば、検査画像446-1)で、1以上の既定の視覚試験を行い(670)、それぞれの画像フレームが所定の品質基準を満たすか否かを評価する。例えば、
図4Cは、1以上の視覚テストを受けた検査画像446-1を示す図であり、視覚テストの結果(複数可)が検査ログ462に表示されている。
【0097】
いくつかの実施態様では、1以上の既定の視覚テストを実行する(670)ために、コンピュータシステム100は、評価(例えば、検証、検査)用の特徴領域470を識別する(671)。
【0098】
いくつかの実施態様では、1以上の既定の視覚テストを実行する(670)ために、コンピュータシステム100は、特徴領域470が指定された品質基準を満たすか否かを判定する(672)。
【0099】
いくつかの実施態様では、特徴領域470は、バーコード(例えば、クイックレスポンスコード(QRコード)、1Dバーコード、2Dバーコード)を含む。例えば、特徴領域470-4は、QRコードを含む。別の例では、特徴領域470-5は、バーコードを含む。
【0100】
いくつかの実施態様では、1以上の既定の視覚テストを実行する(670)ために、コンピュータシステム100は、1以上の特徴領域470を自動的に識別し(674)、特徴領域470の少なくとも1つがバーコードを含む。
【0101】
いくつかの実施態様では、特徴領域470は、ユーザ規定領域である。例えば、ユーザは、特徴領域470であり、検査する必要がある情報または特徴を含むものとして検査画像の一部を識別する検査テンプレートを生成する場合がある。
【0102】
いくつかの実施態様では、コンピュータシステム100は、キャプチャされたそれぞれの検査領域(例えば、検査画像126または446-1)で実行された1以上の既定の視覚テストの結果を報告する(680)。
【0103】
いくつかの実施態様では、コンピュータシステム100は、特徴領域470が指定された品質基準を満たすか否かの表示を提供する(682)。
【0104】
図7は、いくつかの実施態様に従った画像を分析するための方法700を示すフロー図である。方法700のステップは、コンピュータ装置200またはサーバ290に対応するコンピュータシステム100によって実行され得る。いくつかの実施態様では、コンピュータシステム100は、1以上のプロセッサとメモリとを含む。
図7は、コンピュータメモリまたはコンピュータ可読記憶媒体(例えば、コンピューティングデバイス200のメモリ214)に記憶された指示に対応する。メモリは、1以上のプロセッサによって実行されるように構成された1以上のプログラムを記憶する。例えば、方法700のオペレーションは、少なくとも部分的に、セグメンテーションドライバ246によって実行される(710)。
【0105】
いくつかの実施態様によれば、コンピュータシステム100(またはコンピューティングシステム100のコンピューティングデバイス200)は、画像センサ(例えば、CCDセンサ、CCDカメラ、カメラ)を含む画像取得装置104と通信する。コンピュータシステム100は、既定の同期領域112に対応する第1の座標セット113および弁別的特徴のセットを受信する(720)。コンピュータシステムはまた、既定の検査領域114に対応する第2の座標セット115を受信する(730)。コンピュータシステム100は、イメージセンサから連続した画像フレーム(例えば、ダイナミックデータストリーム120、ビデオ)のシーケンスを取得し(740)、メモリ内のバッファ(例えば、メモリ214のバッファ244、または、メモリ260のバッファ280)に画像フレームの各々を記憶する。バッファの各画像フレームについて、コンピュータ100は、それぞれの画像フレームが、既定の同期領域112にマッチするそれぞれのサブ領域122-2を含むか否かを判定する(740)。それぞれの画像フレーム(例:ダイナミックデータストリーム120)が既定の同期領域112にマッチするそれぞれのサブ領域122-1を含むという判定に従って、コンピュータシステム100は、(i)それぞれの画像フレーム内で(例えば、動的なデータストリーム120内で)、それぞれのサブ領域122-1からの既定のオフセットにおいて、それぞれの検査領域124-1をキャプチャし(750)、ii)検査画像126-1としてコンピュータシステム100のメモリの不揮発性部分に、キャプチャされたそれぞれの検査領域124-1を記憶する(750)。メモリの不揮発性部分は、バッファとは別個のものである。
【0106】
図8Aおよび
図8Bは、いくつかの実施態様に従った参照テンプレートを生成するための方法800を示すフロー図である。方法800のステップは、コンピュータシステム100またはサーバ290と通信するコンピューティングデバイス102に対応可能なコンピューティングデバイス200によって実行され得る。いくつかの実施態様では、コンピューティングデバイス200は、1以上のプロセッサおよびメモリを含む。
図8Aおよび
図8Bは、コンピュータメモリまたはコンピュータ可読記憶媒体(例えば、コンピューティングデバイス200のメモリ214)に記憶された指示に対応する。メモリは、1以上のプロセッサによって実行されるように構成された1以上のプログラムを格納する。例えば、方法800のオペレーションは、少なくとも部分的に、参照テンプレートジェネレータ226によって実行される(810)。
【0107】
いくつかの実施態様によれば、コンピューティングデバイス200は、コンピュータデバイス200のユーザインターフェースにおいて、画像(例えば、初期画像310)を表示する(820)。コンピュータデバイス200は、ユーザインターフェース130において、初期画像310内の同期領域312を規定するユーザ入力を受信する(840)。同期領域312は、1以上の弁別的特徴を含む。コンピュータデバイス200はまた、ユーザインターフェース130において、初期画像310内の検査領域314を規定するユーザ入力を受信する(850)。検査領域314は、同期領域312からの既定のオフセットに位置する。コンピュータデバイス200は、メモリ214の不揮発性部分において、同期領域312および検査領域314に関する情報を参照テンプレートとして記憶する。
【0108】
いくつかの実施態様では、コンピューティングデバイス200は、画像310の推奨領域を同期領域312として自動的に提供する(830)。いくつかの実施態様では、推奨領域は、複数のサンプル画像の視覚的分析、および、各サンプル画像内の推奨領域が実質的に同じであると判定することに基づいて推奨される。
【0109】
いくつかの実施態様では、初期画像310内の同期領域312を規定する(842)ユーザ入力は、推奨領域を同期領域312として受け入れるユーザ入力である。
【0110】
いくつかの実施態様では、同期領域312に関する情報を参照テンプレートとして記憶する(860)ことは、同期領域312に対応する第1の座標セットを記憶する(862)ことを含む。いくつかの実施態様では、コンピューティングデバイス200はまた、同期領域312に対応する1以上の弁別的特徴の画像と、同期領域312に対応する参照信号317、318とのいずれかを記憶する。
【0111】
いくつかの実施態様では、検査領域314に関する情報を参照テンプレートとして記憶する(860)ことは、検査領域314に対応する第2の座標セットを記憶する(864)ことを含む。第2の座標セットは、第1の座標セットと区別される(例えば、異なる)。
【0112】
いくつかの実施態様では、同期領域312および検査領域314に関する情報を参照テンプレートとして記憶する(860)ことは、参照テンプレートを生成するために使用される初期画像310(例えば、初期画像310)を記憶することを含む。
【0113】
いくつかの実施態様では、コンピューティングデバイス200は、コンピューティングシステム100のコンピューティングデバイス200と通信し、コンピューティングデバイス200と区別され、コンピューティングデバイス200から離れた第2コンピュータシステム(例えば、第2コンピュータ装置)に参照テンプレートを提供する(870)こともできる。第2コンピュータシステムは、画像センサを有する画像取得装置104と通信する。
【0114】
本明細書の発明の説明で使用される用語は、特定の実施態様を説明する目的のみのものであり、本発明を限定することを意図するものではない。本発明の説明および添付の特許請求の範囲で使用されるように、単数形「a」、「an」および「the」は、文脈が明らかにそうでないことを示していない限り、複数形を含むことが意図されている。また、本明細書で使用される「および/または」という用語は、関連する記載項目の1以上の任意の可能な組み合わせを指し、包含することが理解されるであろう。本明細書で使用される場合、用語「comprise」および/または「comprising」は、記載された特徴(features)、ステップ(steps)、操作(operations)、要素(elements)、および/または、コンポーネント(components)の存在を示すが、1以上の他の特徴、ステップ、操作、要素、コンポーネント、および/または、それらのグループの存在または追加を排除しないことがさらに理解されよう。
【0115】
前述の説明は、説明のために、特定の実施態様を参照して説明されている。しかしながら、上記の例示的な議論は、網羅的であること、または、本発明を開示された正確な形態に限定することを意図していない。多くの修正および変形が、上記の教示に鑑みて可能である。本発明の原理およびその実用的用途を最もよく説明し、それによって当業者が、企図される特定の用途に適するように様々な変更を加えた本発明および様々な実施態様を最もよく利用できるようにするために、実施態様が選択され、説明された。