以下、添付図面を参照して本発明を実施するための形態につき説明する。なお、以下に示す構成はあくまでも一例であり、例えば細部の構成については本発明の趣旨を逸脱しない範囲において当業者が適宜変更することができる。また、以下の実施形態で取り上げる数値は、参考数値であって、本発明を限定するものではない。
以下では、撮像手段で撮像され、記憶装置に格納された画像データを制御装置によって管理する画像データ管理方法、製造装置、生産システム、ないし生産システムの画像管理方法に関するいくつかの実施形態を示す。この場合、記憶装置は、例えば、ネットワーク接続されたHDDやSSDなどを用いた大容量のデータストレージであって、例えば複数の撮影装置で撮影された被写体の画像データを格納するために用いられる。また、本発明の画像データ管理に用いられる制御装置は、例えば、複数の撮影装置のそれぞれの制御装置で構成することができる。また、この制御装置は、上位のコントローラ(例えば生産ラインに配置されるPLC(Programmable Logic Controller)のような制御装置)によって構成することもできる。
以下の実施形態において、特に画像データ管理方法においては、制御装置が次のような処理ステップを実行する。
・撮像手段で被写体を撮像する撮像ステップ。
・撮像手段で撮像された被写体の状態に応じて、画像データの保管優先度を計算する保管優先度計算ステップ。
・画像データと、当該の画像データに関して計算された保管優先度と、を関連づけて、複数の撮像手段で撮像された画像データを格納可能な記憶装置に格納させる格納ステップ。
・撮像手段で撮像された被写体が特定の状態であった場合に、記憶装置に格納された撮像手段で撮像された画像データの保管優先度を更新する更新ステップ。
上記の保管優先度は、撮像された各画像データに対して付与する情報であり、その当該の画像データを優先的にデータストレージに残すか否かを数値あるいは優先度の上下関係を識別可能な文字や記号で表現したものである。例えば、以下の実施形態では、保管優先度は、0、50、100の3通りとする。保管優先度0は最小、保管優先度100は最大の優先度であり、保管優先度50はその中間の優先度を示す。この本実施形態の保管優先度の表現形式はあくまでも一例であり、他の任意の異なる形式を採用しても良い。
例えば、以下の実施形態では、保管優先度データストレージ(記憶装置)の空き容量が所定値を下回った時、データストレージに格納した画像データを削除する順序を決定するのに用いる。例えば、保管優先度の低い画像データから順に削除するが、保管優先度が0の画像データは、保管優先度が最小で、データストレージの空き容量が所定値を下回っている場合に最初に削除される。そして、保管優先度が50の画像データは、保管優先度が0の画像データが全て削除されてもなおデータストレージの容量が不足している(例えば上記所定値に足りない)場合に削除する。保管優先度が100の画像データは、保管優先度が最大であり、保管優先度が0や50の画像データが全て削除されてもなおデータストレージの容量が不足している(例えば上記所定値に足りない)場合に削除される。
<実施形態1>
本実施形態では、複数の撮像手段を備えるシステムにおいて、特定の撮像手段で撮像された被写体(ワークや製造装置)が特定の状態であった場合に、データストレージ(記憶装置)に格納された、その特定の撮像手段で撮像された画像データの保管優先度を更新する。被写体(ワークや製造装置)が特定の状態(例えば良/不良品である、動作が正常か異常であるかなど)であるか否かは、例えば撮像手段で撮像した画像データに対する画像処理の結果に基づき判断する。特に本実施形態では、被写体が工業製品や製造中の部品であって、被写体の検品(良品/不良品の検査)のために被写体を撮像手段で撮像し、その画像データに対して画像処理を行う。そして、その画像処理結果に応じて、被写体の状態が正常範囲外か否かを検査し、被写体が良品/不良品のいずれであるかを判定する。そして、不良品判定が行われた場合には、その特定の撮像手段で撮像された画像データの保管優先度を過去に遡って高い値に更新する。
図1は、本発明の実施形態1に係る撮影装置の構成を示す。同図に示すように、撮影装置101は、撮像手段102、画像処理手段104、画像出力手段107、保管優先度付与手段108、画像削除手段109から構成される。撮像手段102は、例えばイメージセンサを備えたデジタルカメラから構成される。図1において、104、107、108、および109の参照符号で示したブロックは、例えば後述の制御装置(図10)のCPU601が実行するソフトウェアによって構成することができる。
図1の画像処理手段104は、撮像手段102が撮像した画像データに対して、何らかの画像処理を行い、その結果を下記のコントローラ110に送信することができる。この画像処理は、例えば、図9のように生産システムの製造装置の状態、あるいはそれにより取り扱われるワークの状態に関する情報を取得するために行われる。
本実施形態1において、図1の撮影装置101は、例えば、図9のように生産ラインを構成する複数の製造装置1001、1002、1003…に撮影装置1011、1012、1013…としてそれぞれ1台ずつ配置することができる。撮影装置1011、1012、1013…は、各々の撮像手段102によって、製造装置1001、1002、1003…の製造機構および/または製造機構が取り扱うワーク61、62、63…を撮像する。図9の例では、製造装置1001、1002、1003…の製造機構は、垂直多軸構成のロボット装置31、32、33(ロボットアーム)…であって、ロボット制御装置41、42、43…によって制御される。また、製造装置1001、1002、1003…には、各々の製造機構および/または製造機構が取り扱うワーク61、62、63…の状態を検出するセンサ71、72、73…を配置することができる。センサ71、72、73は、光学センサ、磁気センサ、ロータリエンコーダ、リニアエンコーダなどのその他の任意のセンサであって、製造機構(各ロボット装置)および/または製造機構が取り扱うワーク61、62、63…の状態を検出することができる。
製造装置1001、1002、1003…のロボット装置31、32、33…は、それぞれのロボット制御装置41、42、43…を介していわゆるPLCのような装置から成る、上位のコントローラ110によって制御される。製造ラインの制御手段としてのコントローラ110は、図示の製造装置1001、1002、1003…の動作を制御することにより、ワーク(61、62、63…)に対する製造工程を統轄的に制御する。また、図9の構成では、コントローラ110の設定変更などを行うため、有線(ないし無線)接続のネットワーク200を介して端末180が接続されている。
また、各撮影装置1011、1012、1013…の撮像手段(撮像装置)102で撮像した製造機構および/または製造機構が取り扱うワーク61、62、63…の画像データは、HDDやSSDなどを用いた大容量のデータストレージ111に格納(蓄積ないし保管)する。なお、図9では、ネットワーク200は端末180とコントローラ110の間を接続するかの如く図示してある。しかしながら、破線で示すように、コントローラ110と、ロボット制御装置41、42、43…、撮影装置1011、1012、1013…、センサ71、72、73…の各々を接続するためにネットワーク200を用いてもよい。以下では、コントローラ110と、撮影装置1011、1012、1013…との間の一部の信号はLVTTL(Low Voltage Transistor-Transistor Logic)の“High”および“Low”の1bitで通信する。
ここで、図10に撮影装置101(1011、1012、1013…)の制御装置、あるいは上位のコントローラ110の制御装置の構成を示しておく。図1の撮影装置101(1011、1012、1013…)の画像処理手段104、画像出力手段107、保管優先度付与手段108、画像削除手段109は、図10のような制御装置によって実現できる。例えば、これらの手段は、CPU601が、ROM602(あるいは他のコンピュータ読み取り可能な記録媒体)に格納された、後述の制御手順を記述した制御プログラムを実行することにより実現される。
図10の制御装置が、撮影装置101(1011、1012、1013…)の制御系を構成するとした場合、撮像手段102(図1)を構成するカメラ611(例えばデジタルカメラ)がインターフェース604を介してCPU601のシステムバスに接続される。また、同図の制御装置が例えば、コントローラ110(あるいは端末180)の制御系であるとした場合は、破線内に示したカメラ611とインターフェース604とを除いた構成が、コントローラ110(あるいは端末180)の制御系に相当する。また、データストレージ111は、いわゆるNAS(Network Attached Storage)構成のネットワーク接続されたストレージであるような場合には、図10と同様の制御系がデータストレージ111に設けられる。その場合、例えば、図10の破線内に示したカメラ611とインターフェース604とを除いた構成に、外部記憶装置としてHDDやSSD(不図示)を加えた構成がデータストレージ111の制御系となる。
図10の制御装置は、主制御手段としてのCPU601、記憶装置としてのROM602、およびRAM603を備える。ROM602には、後述する制御手順を実現するためのCPU601の制御プログラムや定数情報などを格納しておくことができる。また、RAM603は、後述する制御手順を実行する時にCPU601のワークエリアなどとして使用される。
なお、後述の制御手順を実現するためのCPU601の制御プログラムは、不図示のHDDやSSDなどの外部記憶装置、ROM602の(例えばEEPROM領域)のような記憶部に格納しておくこともできる。その場合、後述の制御手順を実現するためのCPU601の制御プログラムは、ネットワークインターフェース606を介して、上記の各記憶部に供給し、また新しい(別の)プログラムに更新することができる。あるいは、後述の制御手順を実現するためのCPU601の制御プログラムは、各種の磁気ディスクや光ディスク、フラッシュメモリなどの記憶手段と、そのためのドライブ装置を経由して、上記の各記憶部に供給し、またその内容を更新することができる。上述の制御手順を実現するためのCPU601の制御プログラムを格納した状態における各種の記憶手段、記憶部は、本発明の制御手順を格納したコンピュータ読み取り可能な記録媒体を構成することになる。
図10では、必ずしも必須の構成ではないが、インターフェース605を介して入力装置607(ユーザーインターフェース装置)がCPU601に接続されている。ユーザーがデータを入力可能な入力装置607は、ハンディターミナルのような端末、あるいはキーボード、ディスプレイ、ポインティングデバイスなどのデバイス(あるいはそれらを備えた制御端末)によって構成することができる。ユーザーは、入力装置607にて、保管優先度を付与する条件を設定することができる。
また、CPU601には、通信手段としてネットワークインターフェース606が接続されている。このネットワークインターフェース606を介して、CPU601は生産制御に必要な各種の制御信号を送受信することができる。その場合、ネットワークインターフェース606は、例えばIEEE 802.3のような有線通信、IEEE 802.11、802.15のような無線通信による通信規格で構成することが考えられる。ネットワークインターフェース606は、本実施形態の生産ラインに配置された生産管理を行うPLCのような統轄制御装置や、管理サーバなどとの間の通信に用いることができる。あるいは、ネットワークインターフェース606は、生産ラインに、ロボットアームやXYステージなどによって構成された他の生産(製造)装置が配置される場合、それらの生産(製造)装置との間の通信に用いることができる。
図2は、例えば図9のような構成において、5台の撮影装置101(図9では1011、1012、1013…)と、コントローラ110と、データストレージ111と、を配置する場合の接続構成を示している。
図2に示すように、コントローラ110は、配置された5台の撮影装置101、101…に対して、撮像タイミングを指示するためのトリガ信号1101を出力し、撮影装置101、101…の各々に被写体を撮像させることができる。撮影装置101の撮像手段102(図1)が撮像した画像データは、撮影情報、および本実施形態の保管優先度とともにデータストレージ111に送信され、格納される。撮影情報には、当該の画像データを撮像した撮像手段102(カメラ)の個体を識別する識別情報、撮影日時情報などが含まれる。画像データの格納フォーマットは任意であるが、画像データを生産システムの管理などに用いる場合は、好ましくは非圧縮の画像データフォーマットであることが望ましい。撮影情報および保管優先度は画像データのヘッダ部分に格納されていてもよく、あるいは当該の画像データとの関連付けが可能な形式であれば、画像データとは別のファイルに格納されていてもよい。
また、撮影装置101、101…では、撮像手段102が撮像した画像データに対して、画像処理手段104が何らかの画像処理を行い、例えば被写体の検査を行い、その検査結果1102をコントローラ110に送信する。図9のような生産システムであれば、コントローラ110は、撮影装置101、101…から受信した検査結果1102、1102…を介して、生産ラインの各部の状態を監視することができる。その場合、検査結果1102、1102…は、図9のような生産システムであれば、製造装置の状態、あるいはそれにより取り扱われるワークの状態に関する検査の結果に相当する。そのため、例えば、検査結果1102、1102…を介して、被写体、即ち、製造装置やワークに関する正常な状態から逸脱した状態が検出された場合、コントローラ110はこれを検出できる。その場合、コントローラ110は、検査結果1102、1102…を用いて、警報を発生したり、当該の製造装置ないしライン全体を非常停止させたりする生産制御を行うことができる。
図2において、撮影装置101、101…は、コントローラ110に対してトリガ入力用ケーブルと結果出力用ケーブルで接続されているものとする。本実施形態では、トリガ信号1101、1101…と検査結果1102、1102…については、それぞれLVTTLの“High”および“Low”の1bitで通信するものとして説明する。しかしながら、トリガ入力と結果出力がそれぞれ複数bitで通信できるように接続されていても構わない。また、通信プロトコルを用いてトリガ入力と結果出力の送受信を行ってもよい。
また、撮影装置101、101…は、データストレージ111に対して画像データ、保管優先度の変更要求、画像データの削除要求を出力するため、ネットワークケーブルで接続されているものとする。この画像データ、保管優先度の変更要求、画像データの削除要求などの出力はLAN(Local Area Network)を介して通信するものとする。ただし、このデータストレージ111に対する画像データ、保管優先度の変更要求、画像データの削除要求などの出力は、その他のパラレル通信やシリアル通信により行ってもよい。
以上の構成において、検査ないし測定対象の被写体を撮影して検査結果および画像データを出力するときの流れを説明する。まず、図3のフローチャートを参照し、被写体を撮影して検査結果および画像データを出力するときの制御手順を説明する。なお、図3の制御手順は、主に撮影装置101(1011、1012、1013…)で実行されるものであるが、その制御主体は例えばCPU601(図10)である(後述の他のフローチャートでも同様)。また、図3で破線で示したステップS106は、ストレージの空き容量に応じて保管優先度を参照して画像データのファイル削除を行うものである(後述の他のフローチャートでも同様)。このステップS106の部分は、例えば撮影装置101の画像削除手段109で行う他、コントローラ110またはデータストレージ111の制御系によって実行される構成であってもよい(後述の他のフローチャートでも同様)。
コントローラ110は、予めプログラムされた制御シーケンス、例えば、図9の構成であれば、各製造装置による生産工程を管理する制御シーケンスに従い、特定の撮影装置101(1011、1012、1013…)に対してトリガ信号を出力する。例えば、コントローラ110は、特定の製造装置の特定の動作タイミングに同期してトリガ信号1101(図2)を送信する。トリガ信号1101を入力した撮影装置101では、ステップS101(撮像ステップ)において、撮像手段102による撮像、と画像データ生成を実行する。この時、撮像手段102は、検査(測定)対象の被写体を撮像して、画像データを生成し、画像データを画像処理手段104に対して出力する。
ステップS102(画像処理ステップ)では、画像処理手段104は、画像データに対して画像処理を施して画像特徴量を算出し、画像特徴量に基づいて得られた検査結果1102(図2)をコントローラ110に対して出力する。画像データと検査結果1102を画像出力手段107に対して出力する。
コントローラ110は、検査結果1102に基づいて予め指定した動作シーケンスに基づいて動作を続ける。コントローラ110の動作と並行し、画像出力手段107(図1)は、画像データをデータストレージ111に対して出力するとともに、検査結果1102を保管優先度付与手段108に対して出力する。この画像出力手段107での画像および検査結果1102の出力は、ステップS103(画像出力ステップ)で実行される。データストレージ111は送信された画像データを保存する。
続いて、図3のステップS104a(保管優先度計算ステップ)において、保管優先度付与手段108は、検査結果1102に基づいて、保管優先度を計算する。ステップS104aでは、画像出力手段107がデータストレージ111に対して出力(S103)した画像データ、および既にデータストレージ111に保存されている、同じ当該の撮像手段102で撮像された過去の画像データの保管優先度を計算する。なお、上記保管優先度計算ステップは、別の言い方をすれば、画像データの保管優先度を求める保管優先度取得ステップということもできる。
ステップS105(保管優先度付与ステップ)では、計算した、保管優先度の変更要求をデータストレージ111に対して出力する。ここでは、少なくとも、画像出力手段107がデータストレージ111に対して出力(S103)した画像データの保管優先度の付与をデータストレージ111に対して要求する。また、後述のような理由でデータストレージ111に保存されている同じ当該の撮像手段102で撮像された過去の画像データの保管優先度を変更する必要が生じた場合には、その旨の変更要求をデータストレージ111に対して出力する。これに応じて、データストレージ111は、画像データの保管優先度の変更要求に基づいて上記の画像データの保管優先度を変更する。
即ち、上記保管優先度付与ステップ(S105)は、撮像手段によって撮像された画像データと、当該の画像データに関して求められた保管優先度と、を関連づけて、記憶装置に記憶させる付与ステップと、撮像手段で撮像された被写体が特定の状態であった場合に、少なくとも被写体が特定の状態となったことが判定された画像データよりも前に記憶装置に格納されている画像データを含んだ画像データに関し、特定の状態が検出されたことに基づいて、関連付けられている保管優先度を更新する更新ステップを含んで構成されている。
なお、以上では説明を容易にするため、ステップS103、S104a、S105の順序で示している。しかしながら、ステップS104aの保管優先度の計算を、ステップS101で撮像した画像データに対して行ってからデータストレージ111に対して画像データを出力(S103)するようにしてもよい。あるいは、これら各ステップの順序は図3のままとし、ステップS103では、例えば、デフォルトの保管優先度として0(最低の保管優先度)を付与して画像データを出力するようにしてもよい。これらの場合、ステップS103が上記付与ステップとなる。
また、図3のステップS106(画像削除ステップ)において、データストレージ111の空き容量(残容量)が僅少か否かを判定する。ここでは、例えば、撮影装置101の画像削除手段109(図1)は、データストレージ111にアクセスし、その空き容量(残容量)が僅少、即ち予め決定した閾値以下(あるいは未満)か否かを確認する(S1061)。そして、空き容量が僅少である場合、保管優先度の低い画像データから順に、空き容量僅少に係る閾値を満足するまで、データストレージ111に削除させる(S1062)。また、空き容量が閾値より多い場合には、この削除要求は行わない。この時、保管優先度が等しい画像データが複数存在する場合には、同じ保管優先度の画像データの中で、その撮影情報などに記録された撮影時刻(日時)が古い順に削除する。
本実施形態では、特定の撮影装置101(1011、1012、1013…)の撮像手段102が撮像して得た画像データに対する検査結果が製品不良や計測異常を示している場合には、その特定の撮像手段102で撮像された画像データの保管優先度を高い値に更新する。データストレージ111では、特定の撮影装置101で撮影された画像データは、例えばその画像データの撮影情報(撮像手段102を識別可能な情報を含む)によって識別することができる。この撮影情報は、撮影日時(撮影タイミング)の情報も含むものとする。このような撮影データを生成し、画像データに付与(あるいは関連づけ)する処理は、例えば、保管優先度付与手段108によって行うことができる。
また、検査結果が製品不良や計測異常を示している場合、特定の撮影装置101で撮像された画像データの保管優先度を高い値に更新する。その場合、予め指定した期間内の過去の撮影装置101で撮像した画像データの保管優先度を全て、あるいは一定間隔毎に高くする。
また、保管優先度付与手段108は、予め指定した期間内の過去の画像データを調べ、中に製品不良や計測異常を示すものがある場合、特定の撮像手段102で撮像した画像データの保管優先度を高い値に更新する処理を行ってもよい。その場合、今回、撮影装置101が撮像した画像データに対する検査結果が製品不良や計測異常を示していなくても、画像データの保管優先度を高い値に更新する処理を行ってもよい。
以上の処理により、データストレージ111の空き容量が僅少となり、画像データの削除が必要になった場合でも、製品不良や計測異常、およびそれらの兆候を示す画像データの保管優先度が高い値に更新される。これにより、製品不良や計測異常、およびそれらの兆候を示す画像データが優先的に保管されるので、後の動作解析などにおいて重要度の高い画像データを失うことなく、長期間、保存できる。
ここで、図1および図2(あるいはさらに図9)に示した各要素の詳細を説明する。ここでは、まず、撮影装置101(1011、1012、1013…)に接続する周辺機器としてのコントローラ110とデータストレージ111について説明する。
コントローラ110は、例えば図9のような生産システムにおいては、周知のPLC(Programmable Logic Controller)であるものとする。その場合、コントローラ110は、専用の記述言語によって指定された動作シーケンスに従い、接続された1つまたは複数の(製造)機器に対してLVTTLや特定のプロトコルによる通信を行える。
ここでは、撮影装置101(1011、1012、1013…)がコントローラ110に5台接続されているものとする。これらの撮影装置101(1011、1012、1013…)の画像処理手段104は、例えば、被写体の有無検査を行う。その場合、例えば、画像処理手段104は、撮影した画像領域内に検査対象の被写体が存在する(“OK”)か、存在しない(“NG”)かを判定する。
また、コントローラ110は、5台の撮影装置101に対して、生産ラインの制御シーケンスなどに応じて、任意のタイミングで、検査の開始指示を意味する1bitのトリガ信号を個別に出力することができる。また、コントローラ110は、5台の撮影装置101から画像検査が“OK”(“High”)か“NG”(“Low”)を意味する1bitの結果信号を個別に受信することができる。なお、ここでは、画像処理手段104で算出した画像特徴量に応じて行う画像検査内容を測定対象の被写体の有無検査として説明する。しかしながら、測定対象の被写体の有無検査以外の、位置検査、位相検査、ゴミ・汚れ・欠損などの外観検査、液体の塗布検査、2次元/3次元形状検査などを検査内容としてもよい。また、複数台の撮影装置101はそれぞれ別の検査を実行しても構わない。
データストレージ111は、例えばデータの読み書きを行う機器(撮影装置101(1011、1012、1013…)やコントローラ110)とネットワーク接続可能なNAS構成を取る。データストレージ111に対して、LANで接続された機器(撮影装置101(1011、1012、1013…)やコントローラ110)は、データの追加、変更、削除などの処理を実行することができる。本実施形態においては、データストレージ111は例えば32TBの容量を有し、5台の撮影装置101と通信できるLANインターフェースを備えるものとする。
次に、撮影装置101(図1)の要素について説明する。本実施形態において、撮像手段102は、例えば約5メガピクセル(2448×2058画素)の空間解像度を有し、各画素は8bitのbit深度を持ち、画像データを出力する、グレースケール画像を撮影するデジタルカメラである。なお、本実施形態では、撮像手段102は、1画面の撮像データあたり、約5メガピクセルの空間解像度、8bitのbit深度を有する構成として説明するが、空間解像度やbit深度がこのような特定の数値に限定されないのはいうまでもない。
また、本実施形態では、撮像手段スマートカメラ等撮像手段、撮像手段と処理機能とが一体化されたデバイスを撮影装置として用いる場合について説明している。しかし、撮像手段102がデジタルカメラであり、別体の画像処理手段と組み合わせたものを撮影装置101として用いてもよい。撮像手段102は、SPI(Serial Peripheral Interface)等の通信を介して撮像手段102に内蔵するレジスタへ撮像を制御する種々の設定値を書込んだ上で、その画像センサから約5メガピクセルの画像信号を読み出す。
撮像手段102はトリガ入力を備え、トリガ信号(1101)が入力されると、即時撮影を実行できるトリガ待ち状態とすることができるものとする。撮像手段102は、撮像ステップS101(図3)を実行する。撮像ステップS101は、まず撮像手段102をトリガ待ち状態として機能させる設定値を撮像手段102に内蔵するレジスタへ書込み、撮像手段102をトリガ待ち状態に設定し、トリガ信号(1101)が入力されたら撮像し、画像データを取得する。撮像手段102が撮像して得た画像データは、後述する画像処理手段104へ出力される。
撮影装置101の画像処理手段104、画像出力手段107、保管優先度付与手段108、画像削除手段109は、本実施形態ではCPU、メモリ、記憶装置、外部インターフェースを備えた図10のような制御装置によって実現される。
なお、本実施形態では画像処理手段104、画像出力手段107、保管優先度付与手段108、画像削除手段109をコンピュータ(CPU)の演算処理で実現する前提として説明する。しかしながら、これらの手段は、周知の汎用ロジック回路等、処理機能を持った周知のデバイスで実現してもよい。そのようなデバイスとしては、マイクロコンピュータ、DSP(Digital Signal Processor)、FPGA(Field Programmable Gate Array)などが考えられる。
画像処理手段104は、画像処理ステップS102を実行する。画像処理ステップS102は、画像データに対して画像処理を施して画像特徴量を計算し、画像特徴量に基づいて検査結果を取得する。
本実施形態においては、画像処理手段104が行う画像処理内容を被写体の有無検査とし、検査に用いる画像特徴量として、画像データの二値面積を計算する。この二値面積の計算では、まず、画像データの二値化を行う。
本実施形態における画像データは、約5メガピクセル(2448×2058画素)の空間解像度を持ち、各画素は8bitのbit深度、即ち各画素はグレースケールで0から255の輝度値を持つ。画像データの二値化は、画像データの各画素について、0から255の値をとる輝度値が、設定した閾値以上であれば輝度値を“1”に、閾値よりも低ければ輝度値を“0”とした、二値画像を生成する。
画像を二値化するときは、例えば画像の輝度ヒストグラムを参照し、白色側の山と黒色側の山の中点をもって閾値とする。本実施形態においては、二値化の閾値は128であるとする。次に、二値面積を計算する。二値面積は、二値化により生成した二値画像の全ての画素値を足し合わせることで計算する。このように計算した二値面積に基づいて判定した検査結果は、コントローラ110および画像出力手段107へ出力される。なお、本実施形態では画像処理として二値面積の計算を行うものとして説明するが、周知の各種フィルタ処理を施してもよいし、周知の各種画像処理で二値面積以外の画像特徴量を計算してもよい。また、二値化面積の計算方法についても、二値化の閾値は予め設定した値ではなく、周知の動的閾値法などにより自動的に決定されてもよい。また、計算する画像特徴量は1つに限られるものではなく、複数の異なる画像特徴量を計算してもよい。
画像処理手段104は、さらに画像処理ステップS102(図3)において、計算した画像特徴量に基づいて検査結果を生成する。本実施形態においては、例えば計算した二値面積を予め設定した閾値と比較し、設定した閾値以上であれば画像処理に基づく被写体の検査結果を“OK”(良)に、閾値より低ければ検査結果を“NG”(不良)となるよう、検査結果を生成する。この検査は、例えば、撮像した画像データの画像領域内に、特徴的な二値面積を有する被写体(ワーク61やロボット装置31、32…の一部)が存在するか否かを判定する処理に相当する。
二値化面積の閾値の決定方法の例としては、予め検査結果が“NG”となる二値画像と検査結果が“OK”となる二値画像を複数用意し、“OK”“NG”それぞれの二値面積の平均値を求め、2つの平均値を足して2で割った値を閾値とする。
なお、例えば周知の製品検査に見られるように、“OK”(良品)を“NG”(不良品)と誤判定するよりも“NG”を“OK”と誤判定するほうが不良品流出の観点でリスクが大きい。そのため、“NG”を“OK”と誤判定する方向に閾値をシフトするなど、どちらかの判定結果に振られやすくする意図があれば、2つの平均値を足して2で割った値に、リスクに応じた値を乗じてもよい。本実施形態においては、検査結果を判定するための二値面積の閾値を2,000,000とする。このように判定した検査結果は、画像出力手段107へ出力される。なお、二値面積の閾値は被写体(ワークやロボット装置の一部)の特性量に基づく何らかの演算によって自動的に決定されてもよいし、検査結果の判定方法として、周知の各種判定方法を用いてもよい。
画像出力手段107は、画像出力ステップS103を実行する。画像出力ステップS103は、撮像手段102が生成した画像データをデータストレージ111に出力する。なお、画像出力手段107は、画像ファイルと同名のテキストファイルに保管優先度を保存する、あるいは、画像データのヘッドに保管優先度を書き込む、などの手段を用いて、画像データと保管優先度とを関連付けした上でデータストレージ111に送信し、格納させる。本実施形態の趣旨から、当然ながら、保管優先度の部分のデータは、画像データの実体部分に影響を与えることなく、自由に書き換えられるものとする。
本実施形態においては、画像出力手段107(画像出力ステップS103)は、コンピュータに搭載されたLANインターフェースとし、LANを介してコンピュータからデータストレージ111に画像ファイルを送信するものとする。また、以下では、保管優先度は画像ファイルのヘッダ情報として記録できるものとし、ストレージ111に送信する際に書き込む保管優先度を初期値(例えば最低の保管優先度である0)とする。なお、画像出力手段107はLANインターフェースに限らず、USB等の周知のシリアル通信のインターフェースであってもよい。また、前述のように、保管優先度は画像ファイルのヘッダ情報でなく、画像ファイルと紐付けられたテキストファイルとして備えられてもよい。
保管優先度付与手段108は、図3の保管優先度計算ステップS104aおよび保管優先度付与ステップS105を実行する。保管優先度計算ステップS104aは、データストレージ111に保管されたデータに対して、検査結果を参照し、検査結果の“NG”に対応する画像データの保管優先度を高い値に更新する。その場合、例えば、予め設定した過去の特定の期間の画像データの保管優先度を連続的に、全て、高い値に更新する。また、その場合、保管優先度は例えば0から50、50から100のように、値を+50加算する(加算する値は50以外でもよい)処理を行う。また、予め設定した期間だけ遡った過去の画像の保管優先度を連続的に、全て高い値に更新するのではなく、予め設定したサンプリング間隔毎に高い値に更新する処理を行ってもよい。
保管優先度付与ステップS105(図3)は、保管優先度計算ステップS104a(同)が決定した保管優先度に基づいて、データストレージ111に保管された画像データの保管優先度を変更する。本実施形態では、過去の特定の期間の画像データに限り、その保管優先度を高い値に更新するが、例えばこの特定の期間を2週間と設定し、過去の画像データの保管優先度を連続的に、全て高い値に更新する。これにより、例えば、最新の2週間分の特定の撮像手段102で撮像した画像データの保管優先度を重点的に連続的に、全て高い値に更新する。
保管優先度の範囲は、例えば0から100とし、0が最小の保管優先度、100が最大の保管優先度とする。例えば、検査結果出力手段105の検査結果が“OK”であれば画像出力手段107がデータストレージ111に画像データを出力した後、保管優先度付与手段108はデータストレージ111に保管された画像データに対して保管優先度の更新は行わない。あるいは、検査結果出力手段105の検査結果が“OK”の時は、最低の保管優先度0を用いるようにする。
一方、検査結果出力手段105の検査結果が“NG”であった場合は、画像出力手段107がデータストレージ111に画像データを出力した後、例えば保管優先度付与手段108は、出力した画像データに対して100の保管優先度を付加する。そして、さらに、過去2週間の画像データの全てに対して50の保管優先度を付与する(あるいは+50の値を加算する)。なお、本実施形態では特定の期間内の、同じ撮像手段102で撮像した全ての画像データに対して保管優先度を付与または更新するが、例えば画像データ10個ごとに保管優先度を付与または更新するなど、特定の間隔で保管優先度を付与または更新してもよい。このように特定の間隔で保管優先度を付与する場合、その間隔は一定値でもよいし状況によって変動する動的な間隔でもよい。
なお、本実施形態では、前述のように0、50、100の三値の保管優先度を用いるものとするが、“NG”が発生したタイミングや外部機器の情報に基づいて保管優先度が中間的な値を取るよう制御してもよい。また、保管優先度を最小値と最大値の二値(例えば、0と1、0と100など)で付与する構成であってもよい。また、“NG”が発生した画像データに“NG”が発生した旨のデータを関連づけてデータストレージ111に記憶させておく構成を採用してもよい。そして、一定期間遡った画像データに“NG”が発生しているときに現在の画像データに保管優先度を付与することにより、“NG”が発生した後の一定期間の画像データの保管優先度を高い値に更新する。なお、“NG”が発生した後の画像データが不要であれば、“NG”が発生する前の画像データのみに保管優先度を付与してもよい。
また、画像データに保管優先度を付与するとともに、保管優先度を付与した日付・時刻や保管優先度を付与したときの適用条件をログ情報としてデータストレージ111に保存してもよい。例えば、過去に保管優先度が変更された履歴情報(日付・時刻・保管優先度・保管優先度が変更された適用条件など)をログ情報としてデータストレージ111に保存する。
画像削除手段109は、画像削除ステップS106(図3)を実行する。画像削除ステップS106では、データストレージ111の空き容量が僅少である(予め決定した閾値以下、あるいは未満)か否かを確認する。そして、空き容量が僅少である場合は、保管優先度の低い画像データから順に、空き容量が上記の僅少を示す閾値の条件を満足するまで削除する。このとき、保管優先度が等しい画像データが複数存在する場合には、データストレージ111に格納されている撮影情報を参照し、同じ保管優先度の画像データの中で、撮像日時が古いものから順に削除する。
なお、空き容量が僅少ではない場合は、当然ながら上記の削除処理は行われない。本実施形態においては、例えばデータストレージ111の空き容量の僅少を示す閾値として、例えばデータストレージ全容量の10%(上記の例では3.2TB)を設定する。
画像削除ステップS106(図3)では、データストレージ111の空き容量が10%を下回ったとき、保管優先度が低い画像、即ち本実施形態においては保管優先度が0の画像データの中で、最も古いものを削除する。そして、さらにデータストレージ111の空き容量を確認しながら、空き容量が10%以上となるまで古い順に画像データを削除する。保管優先度が0の画像データが全て無くなってもなお空き容量が10%を下回る場合は、その次に高い保管優先度の画像データ、即ち本実施形態においては保管優先度が100の画像データの中で、古い順に画像データを削除する。
なお、本実施形態においては、空き容量が不足したときに画像データを削除する例を示したが、削除する画像データが膨大で処理に時間がかかるような場合は、処理系の負荷が高いタイミングは削除処理を保留し、処理負荷の低い時間帯にまとめて削除してもよい。また、予め撮影装置101(1011、1012、1013…)を稼働させない時間帯を決めておき、その時間に画像データを削除してもよい。
このような画像データの削除形態においては、画像削除ステップS106(図3)は、撮影装置101の画像削除手段109ではなく、コントローラ110や、データストレージ111の制御装置によって実行してもよい。その場合、例えば、上位の生産管理端末やPLCからの入力信号により撮影装置が稼働しないタイミングを取得し、画像データを削除することが考えられる。また、光センサやマイクや監視カメラ(例えば図9のセンサ71、72…)の出力情報から、生産ラインが休止状態であることを検出し、その時間に画像データを削除してもよい。
また、画像データを削除したときに、画像データのファイル名や削除時の日付・時刻や過去に保管優先度が変更された履歴情報(日付・時刻・保管優先度・保管優先度が変更されたときの適用条件など)をログ情報として保存してもよい。このログ情報は例えばデータストレージ111に保存することができる。このようなログ情報を参照することにより、画像データが削除された原因を特定できるので、重要な画像ファイルが削除された場合には保管優先度の付与条件を見直すことができる。
以上の処理を、図2に示す5台の撮影装置101(1011、1012、1013…)においてそれぞれ同様に実施する。これにより、本実施形態によれば、“NG”が発生した画像データだけでなく、“NG”画像が発生する前および後の一定期間の画像データをデータストレージ111に残すことができる。従って、データストレージ111の容量に限りがある場合でも、製品不良や計測異常の原因を分析するために必要な画像データをなるべく削除せず、優先的に、長期間、保管できる。
以下、実施形態2~5として、画像処理手段104が行う異なる画像処理、それに基づく被写体の状態の異なる検査、および、保管優先度の更新処理について説明する。以下では、ハードウェア的な構成は、図1、図2、図9、図10などに示したものと同様であるものとし、特に必要のある場合を除き、重複した説明は省略するものとする。また、ソフトウェア的にも、上記実施形態の図3に示した制御手順の全体の流れは、以下の実施形態2~5制御手順(それぞれ図4~図8に相当)でも同等である。また、実施形態2~5でも、制御手順を実行する制御主体は、上記同様に、撮影装置101(あるいはコントローラ110やデータストレージ111)の制御系を構成する、例えば制御装置(図10)のCPU(601)などである。また、制御手順は、例えば制御装置(図10)のROM(602)ないし、他のコンピュータ読み取り可能な記録媒体に格納されるものとする。以下の実施形態2~5では、それぞれ図4~図8に示す制御手順については、特にその実施形態で特徴的な保管優先度計算ステップS104b~S104eに重点を置いて説明する。
<実施形態2>
前述した実施形態1では、撮影装置としての検査結果が実際に製品不良や計測異常(“NG”)を示す場合に、その直前および直後の画像データを優先的に保管するよう保管優先度を決定し、あるいは更新した。
しかしながら実際の生産工場の現場などにおいては、製品不良や計測異常に至っていない時でも、装置の故障や製品の急激な変化により、潜在的に製品不良や計測異常に至りやすくなる場合がある。この場合、装置の故障や製品の変化を製品不良や計測異常に至る前に原因を調べて修正すれば、トラブルなき生産を継続的に行うことができる。それに対して実施形態1では、製品不良や計測異常を示した前後(例えば2週間のタイムスパン)の画像データしか優先的に残らない可能性がある。従って、過去に起きた潜在的なトラブルの解析や検証には充分ではない場合も考えられる。
そこで、本実施形態2では、製品不良や計測異常に至らなくても、検査結果の判定に用いる画像特徴量が閾値範囲内に含まれているか否かによって、製品不良や計測異常に至るリスクが高まったことを検知し、それをトリガにしてその前後の画像データを優先的に保管できるような制御手順を示す。
ここで、まず、検査結果を判定するための画像特徴量が判定値に近づく具体的な事例を示す。ここでは部品の有無検査として、画像処理手段104により、白色の部品(ワーク)の載った黒色トレイを撮像した画像データ二値化する。そして、二値画像の(部品に相当する白色部分の)面積が2,000,000を超えれば“OK”、二値画像の面積が2,000,000以下であれば“NG”と判定する、被写体の検査工程を採用しているものとする。つまり、検査の判定に用いる判定値として、二値画像の面積=2,000,000を設定したとする。
そして、生産システムおよび検査環境を構築した当初は、この画像処理による被写体検査によって、“OK”判定の二値画像面積は3,000,000(標準偏差σ=100,000)の数値を取っていたものとする。また、同様に、“NG”判定の二値画像面積は1,000,000(標準偏差σ=30,000)の数値をとり、これら“OK”および“NG”判定は安定していたとする。
その後、あるタイミングで、例えばトレイの色が黒色から明るい色や半透明色に変更され、トレイ部分の撮影輝度が上がり、“NG”判定の二値画像面積が1,900,000程度となったとする。この場合、“NG”判定の二値画像面積は判定値2,000,000に迫っており、部品が無く本来は“NG”と判定するべきところを“OK”と誤判定してしまう可能性が高くなる。同様の誤判定は、あるタイミングで周囲に新しい装置が設置され、その装置から発せられる照明により撮影輝度が変わってしまう場合等にも発生しうる。また、上記の部品の有無検査において、あるタイミングで組立場所の天井の蛍光灯が切れ、部品部分の撮影輝度が下がり、“OK”判定の二値画像面積が2,100,000程度となったとする。この場合、部品が有り本来は“OK”と判定するべきところを“NG”と誤判定としてしまう可能性が高くなる。同様の誤判定は、上記の部品の有無検査において、部品のロット違いや金型のキャビティ違いや金型の短期的・長期的な変化により、部品表面の状態が変化することにより部品部分の撮影輝度が変化してしまう場合等にも発生しうる。
このような画像データの画像特徴量(ここでは二値画像面積)の変化をトリガとしてその前後の画像データを保管しておくことができれば、後にこの画像データを参照して行う検証、解析においては、トレイの状態や部品の状態や外部環境に変化が生じたことを発見できる。そして、トレイや部品や外部環境を適正化したり、判定値を変更したり、あるいは画像処理アルゴリズムを変更する、といった対応を行うことが可能となる。
なお、以上では検査の判定に用いる画像特徴量として、二値画像の面積を用いて被写体の有無検査を行う例を示した。しかしながら、例えば周知のパターンマッチングを行いマッチングスコアの大小によって可否判定する検査において、マッチングスコアが閾値に近づくことをトリガにすることも考えられるし、その他の周知の画像特徴量をトリガに用いることも考えられる。また、画像ファイルのフォーマット(拡張子・空間解像度・bit深度・カラー/グレーなど)、撮影設定(露光時間・ゲイン・切出し設定・エフェクト・フィルタ・照明光量など)を画像データの特徴量として取り扱うことも考えられる。あるいは、撮影した画像ファイルの容量、画像ファイルの作成日時、画像ファイル間の撮影時刻の差、累積撮影枚数、画像ファイル間の一致度などを画像データの特徴量として取り扱い、保管優先度を更新するトリガにしてもよい。
図4は、本実施形態2の制御手順を示している。図4で図3と異なるのは、保管優先度計算ステップS104b、及びステップS102画像処理ステップS102の処理内容である。
図4の制御手順において、撮影装置101に対するコントローラ110のトリガ信号(1101)の送信、および撮像ステップ(S101)は、実施形態1と同様に行われる。撮像手段102は、被写体を撮像して画像データを生成し画像データを画像処理手段104に対して出力する。撮像手段102での撮像と画像データ生成は、画像処理手段104による画像処理は、実施形態1と同様にステップS102(画像処理ステップ)で実行する。画像処理手段104は、画像データに対して検査結果を出力するのに必要な画像処理を施して画像特徴量を計算し、画像特徴量に基づく検査結果(1102)をコントローラ110に対して出力する。また、画像処理手段104は、画像特徴量に基づいて検査結果(1102)を生成してコントローラ110に対して出力するとともに、画像特徴量と画像データと検査結果を画像出力手段107に対して出力することができる。
コントローラ110は、検査結果に基づいて予め指定した動作シーケンスに基づいて動作を続ける。一方、画像出力手段107は、画像データをデータストレージ111に対して出力するとともに、画像特徴量と検査結果を保管優先度付与手段108に対して出力する。そして、ステップS103(画像出力ステップ)において、画像出力手段107での画像データおよび画像特徴量がデータストレージ111に送信され、格納される。
続いて、図4のステップS104b(保管優先度計算ステップ)において、保管優先度付与手段108は、画像特徴量と検査結果に基づいて、データストレージ111に格納されている画像データの保管優先度を決定する。ここでは、画像出力手段107がデータストレージ111に対して出力した、あるいは過去に出力した画像データの保管優先度を決定する。そして、データストレージ111に対して、保存されている画像データの保管優先度の変更要求を出力する。保管優先度付与手段108での過去の画像データの保管優先度決定は、保管優先度計算ステップS104bにて実行する。
保管優先度付与手段108での保管優先度の変更要求の出力は、保管優先度付与ステップS105にて実行する。データストレージ111は、画像データの保管優先度の変更要求に基づいて画像データの保管優先度を変更する。データストレージ111での画像データの保管優先度の変更は、保管優先度付与ステップS105にて実行する。図4において、ステップS106(画像削除ステップ)の構成は、図3と同等である。ここでは重複した説明は省略するものとする。
また、本実施形態では、撮像手段102が撮像して得た画像データから計算した画像特徴量に基づく検査結果が製品不良や計測異常を示していたり、画像特徴量が製品不良や計測異常を発生させる兆候を示していたりした場合に、保管優先度を高い値に更新する。また、画像データの撮像日時や、撮像に用いられた撮像手段を特定する識別情報は、撮影情報に含めてデータストレージ111に記憶させる。また、検査結果が製品不良や計測異常を示していたり、画像特徴量製品不良や計測異常を発生させる兆候を示していたりした場合に、過去の特定期間内の画像データの保管優先度を高い値に更新する処理を行う。
また、撮像手段102が撮像して得た画像データに対する予め指定した期間内の過去の画像データの中に製品不良や計測異常を示すものがあるか製品不良や計測異常を発生させる兆候を示していた場合、画像データの保管優先度を高くする制御を行ってもよい。画像削除手段109は、ステップS106(画像削除ステップ)において、データストレージ111にアクセスし、データストレージ111の空き容量が僅少である(予め決定した閾値以下か、あるいは未満)か否かを確認する。空き容量が僅少である場合は、上記実施形態1と同様に保管優先度の低い画像データから順に、空き容量が前記閾値以上(あるいはそれより多くなるまで)削除する。
本実施形態2によれば、以上の処理によって、製品不良や計測異常が発生しなくても、製品不良や計測異常が発生する可能性の高まった画像データが優先的に保管される。そのため、データストレージ111の容量に限りがある場合でも、製品不良や計測異常の原因を分析するために必要な画像データをなるべく削除せず、優先的に、長期間、保管できる。
上記のように、本実施形態2においても、撮影装置101(1011、1012、1013…)、コントローラ110、データストレージ111から成るハードウェア的な構成は、図1、図2、図9、図10などに示したものと同様であるものとする。また、撮影装置101を構成する撮像手段102、画像処理手段104、画像出力手段107、画像削除手段109は、実施形態1と同様なため説明を省略するものとする。以下では、撮影装置101(1011、1012、1013…)の保管優先度付与手段108(図4のS104b)について重点的に説明する。
保管優先度付与手段108は、保管優先度計算ステップS104b、あるいはさらに保管優先度付与ステップS105を実行する。保管優先度計算ステップS104bでは、データストレージ111に保管された画像データに対して、検査結果を参照し、検査結果が“NG”であった場合に画像データの保管優先度を高い値に更新する。また、予め設定した期間だけ遡った過去の画像データの保管優先度を連続的に、あるいは予め設定したサンプリング間隔毎に高くするように決定、ないし更新する。
また、画像処理手段104が計算した画像特徴量が、設定した閾値を超えた場合に画像データの保管優先度を高くすると同時に、予め設定した期間だけ遡った過去の画像データの保管優先度が高い値になるよう決定、ないし更新する。保管優先度付与ステップS105では、保管優先度計算ステップS104bで決定した保管優先度に基づいて、データストレージ111に保管された画像データの保管優先度を更新する。本実施形態2においては、上記実施形態1と同様に画像データの保管優先度が高い値になるよう更新する設定期間を2週間と設定し、その期間の過去の画像データの保管優先度を連続的に高くする制御を行う。また、保管優先度の範囲を0から100とし、0が最小の保管優先度、100が最大の保管優先度とするのも同様である。
ここで、本実施形態2の保管優先度の具体的な決定方法を説明する。本実施形態2では、画像データの特徴量として、例えば、検査ないし測定対象の被写体に相当する二値画像面積を用いる。例えば定常時に、“OK”判定の二値画像面積は平均値が3,000,000、その標準偏差σ=100,000であるとする。このとき、“OK”判定のうち99.7%の結果は、定常時の平均値よりも3σ(3×標準偏差)までしか低下しないはずであり、定常時の3σよりも低い値となったことを検出すれば、想定外に二値画像面積が低くなった事象として画像を保管することができる。
なお、システムの判定精度やストレージの容量に応じて、3σでなく1σ、2σを使用して閾値を設定してもよいし、4σ、5σを使用してもよいのはいうまでもない。また、“OK”判定のうち平均値よりも+3σ以上大きい(二値画像面積が高すぎる)場合にも保管優先度を高くしてもよいし、“NG”判定の±3σを超える場合にも保管優先度を高くしてもよい。本実施形態では、判定値2,000,000に対して、定常時の二値画像面積平均値3,000,000から3σ=300,000を引いた、2,700,000を閾値とする。そして、対象の被写体が“OK”(良)と判定された場合、二値画像面積の計算結果が閾値以上であれば保管優先度を最小値0とし、二値画像面積の計算結果が閾値未満であれば保管優先度を50とする。なお、二値画像面積が2,000,000を下回る場合、即ち判定が“NG”(不良)の場合には保管優先度を最大値100とする。このようにして決定した保管優先度を画像データに付与、あるいは過去の画像データの保管優先度を更新する。これにより、検査結果が“NG”である場合の画像データに加えて、“NG”となる可能性が高まっている状態において撮像した画像データも、平常時よりも優先度を上げて保管することができる。
ステップS105(保管優先度付与ステップ)では、データストレージ111に画像データを出力した後、出力した画像データと過去の特定期間、例えば直近の2週間に撮像した画像データに対して、上記のように決定した保管優先度に変更する。撮像日時のデータは、画像データのヘッダに格納された(あるいは画像データに関連づけられた)撮影情報から特定することができる。この時、画像データの元の保管優先度が変更しようとしている保管優先度よりも高ければ、保管優先度を変更しない。即ち、変更前と変更後のうち、保管優先度が高いほうの値を採用する。なお、本実施形態では期間内の全ての画像データに対して保管優先度を付与するが、例えば画像データ10個ごとに保管優先度を付与するなど、特定の間隔で保管優先度を付与ないし更新してもよい。また、このように特定の間隔で保管優先度を付与ないし更新する場合、その間隔は一定値でもよいし状況によって変動する動的な間隔でもよい。また、画像特徴量が判定閾値を超えた後の一定期間の画像データの保管優先度を高くしてもよいし、発生後の画像データが不要であれば、発生前の画像データのみに保管優先度を付与してもよい。また、画像データに保管優先度を付与するとともに、保管優先度を付与した日付・時刻や保管優先度を付与したときの適用条件をログ情報として保存してもよい。また、過去に保管優先度が更新された履歴情報(日付・時刻・保管優先度・保管優先度が変更されたときの適用条件など)をログ情報として保存してもよい。このようなログ情報は例えばデータストレージ111に保存することができる。
以上のようにして、本実施形態によれば、特定の撮影装置で撮像した画像データの特徴量が正常範囲からの逸脱を示す閾値を超えたことをトリガとして、同じ撮影装置で取得した画像データの画像保管優先度を過去に遡って高い値に更新する。このため、“NG”が発生した画像データのみならず、“NG”の発生に至る可能性のある画像データについても、“NG”や“NG”の兆候が発生する前、および後の一定期間の画像データをデータストレージ111に残すことが可能となる。従って、データストレージ111の容量に限りがある場合でも、製品不良や計測異常の原因を分析するために必要な画像データを削除することなく、長期間、保管できる。
<実施形態3>
本実施形態3では、検査結果を判定するための画像データの画像特徴量の分散値が増加したことをトリガとし、保管優先度の更新を行う。即ち、製品不良や計測異常に至る前の段階において、製品不良や計測異常に至るリスクが高まったことをトリガにしてその前後の画像データを優先的に保管できるよう制御する。
まず、検査結果を判定するための画像データの特徴量の分散値が増加する具体的な事例を示す。ここでは部品の有無検査として、撮像手段102で白色の部品(ワーク)の載った黒色トレイを撮像し、輪郭抽出処理を行った上で、その輪郭をテンプレートデータと比較するテンプレートマッチング処理を行うものとする。そして、画像データの画像特徴量としてのマッチングスコア(最小値0.0、最大値1.0)が0.8を超えれば“OK”、マッチングスコアが0.8未満であれば“NG”と判定する検査工程が画像処理手段104の検査スキームとして採用されているものとする。
この画像検査では、検査環境を構築した当初、“OK”判定のマッチングスコアは平均値0.90、分散値0.04(分散値の標準偏差σ=0.01)の数値を取り安定していたとする。また、“NG”判定の二値画像面積は平均値0.10、分散値0.04(分散値の標準偏差σ=0.01)の数値を取り安定していたとする。ところが、あるタイミングで撮像手段102に衝撃が加わるなどして、フォーカスがずれ、“OK”判定のマッチングスコアの分散が0.10程度に増加したとする。この場合、マッチングスコアがバラつく状態に変化したことにより、本来は“OK”と判定するべきところを“NG”判定としてしまう可能性が高まる。
同様の誤判定は、上記の部品の有無検査において、部品のロット違いや金型のキャビティ違いや金型の短期的・長期的な変化により、部品のサイズがわずかに変化することにより部品部分にピントが合わなくなった場合等にも発生しうる。
上記のような検査態様では、例えば画像データの特徴量、例えば二値画像面積の変化の分散の変化をトリガとしてその前後の画像データの保管優先度を高い値に更新し、優先的に保管できる可能性がある。これにより、後にこの画像データを参照し、解析、検証を行う時、撮像手段102の状態やトレイの状態や部品の状態や外部環境に変化が生じたことに気付くことができる。そして、撮像手段102、あるいはトレイや部品や外部環境を適正化したり、判定閾値を変更したり、画像処理アルゴリズムを変更する、といった対応が可能となる。なお、以上では、テンプレートマッチングのマッチングスコア判定による有無検査を例として説明したが、その他の画像データに係る周知の画像特徴量の分散の変化をトリガにすることも考えられる。
上記のように、本実施形態3においても、撮影装置101(1011、1012、1013…)、コントローラ110、データストレージ111から成るハードウェア的な構成は、図1、図2、図9、図10などに示したものと同様であるものとする。また、撮影装置101を構成する撮像手段102、画像処理手段104、画像出力手段107、画像削除手段109は、実施形態1と同様なため説明を省略するものとする。以下では、撮影装置101(1011、1012、1013…)の保管優先度付与手段108(特に図5のS104c)について重点的に説明する。また、本実施形態3の制御手順は図5に示してあるが、そのステップS101(撮像ステップ)、ステップS103(画像出力ステップ)、画像削除ステップS106などは実施形態1と同様なので重複した説明は省略するものとする。
本実施形態3の画像処理手段104は、図5のステップS102(画像処理ステップ)において、部品の有無検査のため、製品不良や計測異常の原因の特定に必要な画像データの特徴量として、上記のテンプレートマッチングのマッチングスコアを計算する。なお、本実施形態3では画像データの特徴量を取得するのにテンプレートマッチングによるマッチングスコアの計算を行うものとして説明する。しかしながら、マッチングスコアの計算には、周知の各種のフィルタ処理を用いてもよく、周知の他の画像処理方式によって特徴量としてのマッチングスコアを計算してもよい。
本実施形態3の保管優先度付与手段108の処理は、例えば図5のステップS104c(保管優先度計算ステップ)、およびステップS105(保管優先度付与ステップ)に相当する。ステップS104c(保管優先度計算ステップ)では、データストレージ111の画像データの内、画像処理手段104が計算したマッチングスコアの分散値が所定以上であるものにつき、過去に遡って画像データの保管優先度を高い値に更新する。この時予め設定した期間(例えば2週間)だけ過去に遡った同一の撮像手段102で撮像した画像データの保管優先度を連続的に、あるいは予め設定したサンプリング間隔毎に高い値になるよう更新する。
ステップS105(保管優先度付与ステップ)では、ステップS104c(保管優先度計算ステップ)で決定した保管優先度に基づいて、データストレージ111に保管された画像データの保管優先度を更新する。この時、本実施形態においても、保管優先度を更新するのに遡る過去の特定の期間を2週間と設定し、その期間に同じ撮像手段102で撮像された画像データの保管優先度を連続的に高い値になるよう更新する。また、本実施形態においても、保管優先度の範囲は0から100とし、0が最小の保管優先度、100が最大の保管優先度とする。
ここで、本実施形態3の保管優先度付与手段108における、保管優先度の具体的な決定方法を説明する。例えば、定常時に、検査ないし測定対象の被写体に関して“OK”(良)判定を行うための画像特徴量としての上記マッチングスコアの分散は、平均値が0.04で、またその標準偏差σ=0.01であるものとする。このような検査スキームでは、“OK”判定のうち99.7%の結果は、定常時の平均値よりも3σ(3×標準偏差)までしか増加しないはずである。従って、マッチングスコアの分散が定常時の3σよりも高い値となったことをトリガとして、つまり、想定外にマッチングスコアの分散が高くなった事をトリガとして、その画像データの保管優先度を高い値に更新する。なお、特徴量としてのマッチングスコアの分散値の閾値は標準偏差3σに限らず、システムの判定精度やストレージの容量に応じて、1σ、2σを閾値として使用してもよいし、4σ、5σを使用してもよい。また、“OK”判定のうち平均値よりも-3σ以下(マッチングスコアの分散値が低すぎる)の場合にも保管優先度を高い値に更新するよう制御してもよい。また、“NG”判定のマッチングスコアの分散値が±3σを超える場合にも保管優先度を高くしてもよい。例えば、本実施形態3では、 “OK”と判定される定常時のマッチングスコアの分散値0.04に3σ=0.03を足した、0.07を閾値とする。そして、過去20枚の画像データに対するマッチングスコア(特徴量)の分散値の計算結果が閾値以下であれば保管優先度を最小値0とし、また、マッチングスコア(特徴量)の分散値の計算結果が閾値より大きければ保管優先度を50とする。
ステップS105(保管優先度付与ステップ)では、データストレージ111に画像データを出力した後、出力した画像データと、直近の過去の特定期間、例えば直近の2週間の画像データを上記のように決定した高い値の保管優先度に変更する。その時、その特定期間において、上記のように決定した高い値の保管優先度に変更するのは、同じ撮影装置101で取得した画像データの保管優先度であるのはいうまでもない。また、この時、画像データの元の保管優先度が変更しようとしている保管優先度よりも高ければ、保管優先度を変更しない。つまり、変更前と変更後のうち、保管優先度が高いほうの値を採用する。この点も実施形態2と同様である。また、過去の特定期間内の全ての画像データに対して保管優先度を付与する他、例えば画像データ10個ごとに保管優先度を付与する等、特定の間隔で保管優先度を付与してもよい。また、特定の間隔で保管優先度を付与する場合、その間隔は一定値でもよいし状況によって変動する動的な間隔でもよい。また、画像特徴量の分散値が閾値を超えた後の一定期間の画像データの保管優先度を高くしてもよいし、発生後の画像データが不要であれば、発生前の画像データのみに保管優先度を付与してもよい。これらの点についても、実施形態2と同様である。また、画像データに保管優先度を付与するとともに、保管優先度を付与した日付・時刻や保管優先度を付与したときの適用条件をログ情報として保存してもよい。また、過去に保管優先度が変更された履歴情報(日付・時刻・保管優先度・保管優先度が変更されたときの適用条件など)をログ情報として保存してもよい。このようなログ情報は例えばデータストレージ111に保存することができる。
以上のようにして、本実施形態によれば、特定の撮像手段で撮像した画像データの特徴量の分散値と閾値との比較に基づき、同じ撮像手段で撮像した画像データの画像保管優先度を過去に遡って高い値に更新する。このため、“NG”が発生した画像データのみならず、“NG”の発生に至る可能性のある画像データについても、“NG”や“NG”の兆候が発生する前および後の特定期間の画像データをデータストレージ111に残すことが可能となる。従って、データストレージ111の容量に限りがある場合でも、製品不良や計測異常の原因を分析するために必要な画像データを削除することなく、長期間、保管できる。
<実施形態4>
本実施形態4では、検査結果を判定するための画像データの特徴量の検査結果を判定するための画像特徴量の変化率、例えば勾配が変化したことをトリガとし、保管優先度の更新を行う。即ち、製品不良や計測異常に至る前の段階において、製品不良や計測異常に至るリスクが高まったことをトリガにしてその前後の画像データを優先的に保管できるよう制御する。
まず、検査結果を判定するための画像データの画像特徴量の変化率、例えば勾配が変化する具体的な事例を示す。例えば、白色部品の載った黒色トレイをLED光源(不図示)により照明し、撮像手段102で撮影し、二値化画像を得る。そして検査ないし測定対象の部品(ワーク)の有無検査として、部品に相当する白色の二値画像の面積が2,000,000を超えれば“OK”、二値画像の面積が2,000,000以下であれば“NG”と判定する検査工程を実行するものとする。
この画像検査では、検査環境を構築した当初、“OK”判定の二値画像面積は3,000,000±500,000の数値をとり、“NG”判定の二値画像面積は1,000,000±500,000の数値をとり安定していたとする。一方、LED照明は、時間とともに輝度が低下し、その輝度低下の勾配は、例えば-10%/8,760時間でほぼ一定である。これにより、同じ被写体の二値画像面積は1年間に300,000程度ずつ低下するので、3年間ごとに新しいLED照明に交換することにより判定閾値2,000,000を下回らないようにしていたとする。ところが、あるタイミングで作業者が輝度設定を変更するなどして、輝度低下の勾配が-20%/10,000時間に低下したとする。この場合、2年間で二値画像面積が1,200,000程度まで低下する可能性がある。これによって、LED照明を交換する前に、部品が画角中に存在して本来は“OK”と判定するべき画像データであっても“NG”判定が生じる可能性がある。
上記のような検査態様では、例えば画像データの画像特徴量、例えば二値画像面積の変化の勾配(変化率)をトリガとしてその前後の画像データの保管優先度を高い値に更新し、優先的に保管できる可能性がある。これにより、後にこの画像データを参照し、解析、検証を行う時、撮像手段102の状態やトレイの状態や部品の状態や外部環境に変化が生じたことに気付くことができる。そして、撮像手段102、あるいはトレイや部品や外部環境を適正化したり、判定値を変更したり、画像処理アルゴリズムを変更する、といった対応が可能となる。なお、以上では二値画像面積判定による有無検査を例として説明したが、その他の画像データに係る周知の画像特徴量の変化の勾配(変化率)をトリガにすることも考えられる。
本実施形態4においても、撮影装置101(1011、1012、1013…)、コントローラ110、データストレージ111から成るハードウェア的な構成は、図1、図2、図9、図10などに示したものと同様であるものとする。また、撮影装置101を構成する撮像手段102、画像処理手段104、画像出力手段107、画像削除手段109は、実施形態1と同様なため説明を省略するものとする。以下では、撮影装置101(1011、1012、1013…)の保管優先度付与手段108(特に図6のS104d)について重点的に説明する。また、本実施形態4の制御手順は図6に示してあるが、そのステップS101(撮像ステップ)、ステップS103(画像出力ステップ)、画像削除ステップS106などは実施形態1と同様なので重複した説明は省略するものとする。
本実施形態4の画像処理手段104は、図6のステップS102(画像処理ステップ)において、部品の有無検査のため、製品不良や計測異常の原因の特定に必要な画像データの特徴量として、上記の部品の有無検査のための二値画像面積を計算する。なお、本実施形態4では画像データの画像特徴量を取得するのに二値画像面積の計算を行うものとして説明する。しかしながら、部品の有無検査のためには、周知の各種のフィルタ処理を用いてもよく、また、周知の他の画像処理方式によって別の画像特徴量を計算し、その勾配(変化率)を評価してもよい。
本実施形態4の保管優先度付与手段108の処理は、例えば図6のステップS104d(保管優先度計算ステップ)、およびステップS105(保管優先度付与ステップ)に相当する。ステップS104d(保管優先度計算ステップ)では、画像処理手段104が計算した画像特徴量が、設定した範囲の勾配でなくなった場合に、過去に遡ってデータストレージ111に格納された画像データの保管優先度を高い値に更新する。この時、予め設定した期間(例えば2週間)だけ過去に遡った同一の撮像手段102で撮像した画像データの保管優先度を連続的に、あるいは予め設定したサンプリング間隔毎に高い値になるよう更新する。
ステップS105(保管優先度付与ステップ)では、ステップS104d(保管優先度計算ステップ)で決定した保管優先度に基づいて、データストレージ111に保管された画像データの保管優先度を更新する。この時、本実施形態においても、保管優先度を更新するのに遡る過去の特定の期間を2週間と設定し、その期間に同じ撮像手段102で撮像された画像データの保管優先度を連続的に高い値になるよう更新する。また、設定期間と保管優先度の付与間隔は勾配の緩急によって切り替えるようにしてもよい。また、本実施形態においても、保管優先度の範囲は0から100とし、0が最小の保管優先度、100が最大の保管優先度とする。
ここで、本実施形態4の保管優先度付与手段108における、保管優先度の具体的な決定方法を説明する。例えば定常時に、被写体有無の判定が“OK”判定の二値画像面積の勾配(変化率)は平均値が-100,000/8,760時間で標準偏差σ=10,000/8,760時間であるものとする。このとき、“OK”判定のうち99.7%の結果は、定常時の平均値よりも3σ(3×標準偏差)までしか低下しないはずである。従って、定常時の3σよりも低い値となったことをトリガとし、つまり、想定外に二値画像面積の勾配(変化率)が急になった事をトリガとして、その画像データの保管優先度を高い値に更新する。また、定常時の3σよりも高い値となったことを検出すれば、想定していたよりも二値画像面積は低下していないはずなので保管優先度の値を高い値に更新せず、データストレージ111の容量を節約することもできる。なお、特徴量としてのマッチングスコアの分散値の閾値は標準偏差3σに限らず、システムの判定精度やストレージの容量に応じて、1σ、2σを閾値として使用してもよいし、4σ、5σを使用してもよい。また、例えば部品のデータシートに輝度劣化の仕様・温度特性・その他のバラつきに関する仕様が記載されているか、または正確なシミュレーションが可能であったりして、二値画像面積の勾配のとりうる範囲が既知である場合、その範囲の境界を閾値としてもよい。
本実施形態4では、“OK”と判定された場合の、定常時の二値画像面積の勾配-100,000/8,760時間から3σ=30,000/8,760時間を引いた、-130,000/8,760時間を第1の閾値とする。また、定常時の二値画像面積の勾配-100,000/8,760時間に3σ=30,000/8,760時間を足した、-70,000/8,760時間を第2の閾値とする。そして、同じ撮像手段102で撮像した、例えば直近の過去20枚の画像に対する計算結果が第1の閾値(-130,000/8,760時間)以下であれば、保管優先度を過去に遡って80に更新する。この場合も、保管優先度の設定期間は過去の特定期間、例えば2週間の期間に同じ撮像手段102で撮像した画像データに対して保管優先度の更新を連続的に行う。
また、計算結果が第2の閾値以上であれば保管優先度を最小値0とする。計算結果が第1の閾値と第2の閾値の間であれば保管優先度の設定期間を過去3か月、保管優先度の付与間隔を1日毎に設定した上で保管優先度を50とする。このようにして、複数の画像データから得た特徴量の勾配が緩やかなときは、長期的な変化を確認するために間隔を空けて画像を保管し、勾配が急な時は、短期的な変化を確認するために連続的に画像を保管するように設定を切り替えることができる。
ステップS105(保管優先度付与ステップ)では、データストレージ111に画像データを出力した後、出力した画像データと、直近の過去の特定期間、例えば直近の2週間の画像データを上記のように決定した高い値の保管優先度に変更する。その時、その特定期間において、上記のように決定した高い値の保管優先度に変更するのは、同じ撮像手段102で撮像した画像データの保管優先度であるのはいうまでもない。また、この時、画像データの元の保管優先度が変更しようとしている保管優先度よりも高ければ、保管優先度を変更しない。つまり、変更前と変更後のうち、保管優先度が高いほうの値を採用する。この点も実施形態2、3と同様である。また、画像特徴量の勾配(変化率)が変化した後の一定期間の画像データの保管優先度をある期間毎に高くしてもよい。あるいは、画像特徴量の勾配(変化率)が生じた後の画像データが不要であれば、画像特徴量の勾配(変化率)が生じる前の画像データのみに高い保管優先度を付与、ないしは更新してもよい。また、画像データに保管優先度を付与するとともに、保管優先度を付与した日付・時刻や保管優先度を付与したときの適用条件をログ情報として保存してもよい。また、過去に保管優先度が変更された履歴情報(日付・時刻・保管優先度・保管優先度が変更されたときの適用条件など)をログ情報として保存してもよい。このようなログ情報は例えばデータストレージ111に保存することができる。
なお、本実施形態4では説明のために1つの画像データの画像特徴量についての閾値との余裕度、分散値の増加、勾配の変化を確認しているが、複数の異なる画像特徴量について確認を実施し、複合的に保管優先度を付与してもよい。
以上のようにして、本実施形態によれば、特定の撮像手段で撮像した画像データの特徴量の勾配(変化率)の変化に応じて、同じ撮像手段で撮像した画像データの画像保管優先度を過去に遡って高い値に更新する。このため、“NG”が発生した画像データのみならず、“NG”の発生に至る可能性のある画像データについても、“NG”や“NG”の兆候が発生する前および後の特定期間の画像データをデータストレージ111に残すことが可能となる。従って、撮影装置のデータストレージに限りがある場合でも、製品不良や計測異常の原因を分析するために必要な画像データを削除することなく、長期間、保管できる。
<実施形態5>
以上の実施形態1~4では、例えば図1、図2に示したように、各々の撮影装置101の制御装置によって、その撮影装置101の撮像手段102で撮像した画像データの保管優先度を決定し、また、過去に遡って保管優先度を更新する構成を示した。しかしながら、特定の撮像手段で撮像された画像データの保管優先度を決定し、また、過去に遡って保管優先度を更新する制御主体は、必ずしも撮影装置101の制御装置である必要はない。例えば、保管優先度を決定し、また、過去に遡って保管優先度を更新する制御をコントローラ110が実行する構成であってもよい。
図7は、コントローラ110が図2と同等の様式によって、保管優先度を決定し、また、過去に遡って保管優先度を更新する制御を行う構成を図示している。図7の構成は、コントローラ110とデータストレージ111との間に制御信号1104の経路が追加されている以外は図2と同様である。制御信号1104は、コントローラ110がデータストレージ111に対する保管優先度の付与ないし更新、あるいは画像データの削除などを要求するために用いられる。
本実施形態5では、撮影装置101(1011、1012、1013…)、コントローラ110、データストレージ111から成るハードウェア的な構成は、図1、図2、図9、図10などに示したものと同様であるものとする。ただし、撮影装置101には、少なくとも撮像手段102、画像処理手段104、画像出力手段107があればよく、保管優先度付与手段108と画像削除手段109は本実施形態5では必ずしも必要ではない。
本実施形態5の制御手順は図8に示してある。図8では、図3~図6と同様の処理ステップには同じステップ番号を用いてあり、その処理内容は上述と同様であるものとする。図8のステップS101(撮像ステップ)、ステップS102(画像処理・結果判定ステップ)、ステップS103(画像出力ステップ)は、撮影装置101の撮像手段102、画像処理手段104、画像出力手段107によって行なわれる。これらのステップの内容は実施形態1と同様であるが、例えばステップS102(画像処理・結果判定ステップ)による被写体(ワークや製造装置)の状態に係るデータは、当該の画像データとともにデータストレージ111に送信されるものとする。その場合、画像処理の結果、得られた被写体(ワークや製造装置)の状態に係るデータは、当該の撮影装置の撮像手段で撮像された画像データと関連づけされた上、データストレージ111に格納(あるいは画像データのヘッダに格納)されるものとする。
一方、破線(S200:S1061、S104e、S105、S1062)で示した処理は、本実施形態5ではコントローラ110で実行する。これにより、保管優先度の計算を個々の撮影装置101(1011、1012、1013…)側で行わなくて良いため、各撮影装置の処理負荷が小さくて済む利点がある。
また、図8において、コントローラ110が実行する保管優先度の計算(S104e)、保管優先度の変更(S105)は、実施形態1~4の図3~図6(ステップS104a~S104d、S105)で説明したいずれの演算手法によっても実行可能である。
また、図8の制御では、コントローラ110の制御装置(図10)が上記実施形態と同様の手法によりデータストレージ111の空き容量を確認(S1061)し、その値が僅少である場合に、ステップS104e、S105およびS1062を実行する。即ち、データストレージ111の空き容量が僅少である場合に保管優先度の計算(S104e)、保管優先度の変更(S105)、および画像データ削除(S1062)の各処理を行う。このため、システム全体の処理負荷が小さくて済む可能性がある。
なお、図8の制御において、保管優先度の計算と変更(S104e、S105)では、特定の画像データに関連づけてデータストレージ111に格納されている被写体の状態を示すデータを参照して、保管優先度を付与ないし過去に遡って更新する制御を行う。また、特に保管優先度を過去に遡って更新する場合には、当然ながら当該の画像データの撮影情報などにより特定された同一の撮像手段102で撮像された画像データをその対象とするのはいうまでもない。
以上のように、本実施形態では、特定の撮像手段で撮像された画像データの保管優先度を決定し、また、過去に遡って保管優先度を更新し、あるいはさらに保管優先度を利用して画像データを削除する制御をコントローラ110によって実行することができる。これにより、撮影装置101(1011、1012、1013…)の構成や処理負荷を軽減することができる。また、データストレージ111の空き容量が僅少である場合に保管優先度の計算(S104e)、保管優先度の変更(S105)、および画像データ削除(S1062)の各処理を行う事によりシステム全体の処理負荷を大きく軽減することができる。
なお、以上では、画像データと、その撮像に用いられた撮像手段を特定する撮影情報は、何らかの関連付けを持ってデータストレージ111に格納されるか、あるいは画像データのヘッダに格納されるものとして説明した。しかしながら、例えば、特定の同じ撮像手段で撮像された画像データや保管優先度のデータ、撮影情報などを、データストレージ111のファイルシステムの特定のディレクトリ(フォルダ)に集めて格納する、構成を採用してもよい。このような構成によれば、同じ撮像手段で撮像された画像データの保管優先度を更新したり、画像データを削除したりする時、同じディレクトリ(フォルダ)中にあるデータを対象とすればよい。従って、このような構成によれば、データ管理に必要な制御装置の処理負担を軽減できる可能性がある。
また、以上では、主に撮像手段で撮像された被写体(ワークや製造装置)の状態をその画像データの画像特徴量を介して評価する構成につき説明した。しかしながら、被写体(ワークや製造装置)の状態、例えば被写体の有無、特定位置への移動状態や、動作ストロークなどの動作状態などは、図9に示したセンサ71、72、73…のようなセンサによって検出することもできる。センサとして、光センサ、振動センサ、温度センサなど、被写体が置かれた環境に関する値を検出するものを用いることができる。そして、センサ71、72、73…によって検出した被写体(ワークや製造装置)の状態が正常範囲から逸脱したことをトリガとして、保管優先度を更新する制御を行うようにしてもよい。あるいはさらに、画像データの特徴量の評価に基づき決定した保管優先度と、センサ71、72、73…が検出する被写体(ワークや製造装置)の状態によって決定した保管優先度と、を組合せて用いるようにしてもよい。例えば、画像データの画像特徴量の評価に基づき決定した保管優先度と、センサ71、72、73…の検出によって決定した保管優先度とを加減算して、最終的な保管優先度を取得するような構成も考えられる。
本発明は、上述の実施例の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステムまたは装置に供給し、そのシステムまたは装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
実施形態1~5では、複数の撮像手段を備える生産システムの例について説明したが、当然ながら、本発明は撮像手段が1つの場合にも適用することができる。また、本発明は生産システムに限定されるものではなく、監視カメラなど画像データを長期にわたって保存するシステムへも適用することができる。監視カメラの場合、例えば、人物や車などが特定位置を通過したことを検出すると、それをトリガとして、データストレージに保存されている、予め設定した期間だけ画像データの保管優先度を平常時よりも高めるように更新して保管するとよい。
保管優先度を計算する条件および/または保管優先度を更新する条件は、ユーザーが設定可能な構成とするのが好ましい。例えば、図10に示した入力装置607がユーザーに情報を提示する表示部を備えており、表示部に設定/確認画面を表示してユーザーがデータを入力できるように構成する。設定/確認画面は、例えば、装置の立ち上げ時や、データストレージの空き容量が僅少となったタイミングなど、任意のタイミングで画面を呼び出して表示し、設定/確認が可能な構成とするのが好ましい。
入力装置607が備えるディスプレイの設定/確認画面には、ユーザーに入力させる項目を表示する。例えば、入力項目として、「保管優先度の更新期間」「保管優先度の更新トリガ」「保管優先度更新トリガの閾値」を設けるとよい。
「保管優先度の更新期間」は、複数の選択肢からユーザーに選択させてもよいし、ユーザーに任意に設定させてもよい。「保管優先度の更新トリガ」は、実施形態1で用いた検査結果、実施形態2で用いた画像特徴量、実施形態3で用いた画像特徴量の分散値など、予め用意した複数の選択肢の中からユーザーに選択させるのが好ましい。ユーザーが任意の選択肢を作成可能な構成とするのも好ましい。保管優先度の更新トリガは、1種類に限定されるものではなく、複数種類を設定できるようにしておくのが好ましい。また、「更新トリガの閾値」は、設定した更新トリガに対して、ユーザーが任意に設定できるか、選択肢から選択可能とするのが好ましい。