以下に、図面を参照しながら本発明に係る画像処理装置、画像処理システム、画像処理方法、及びプログラムの実施形態を詳細に説明する。以下の実施形態によって本発明が限定されるものではなく、以下の実施形態における構成要素には当業者が容易に想到できるもの、実質的に同一のもの、及びいわゆる均等の範囲のものが含まれる。以下の実施形態の要旨を逸脱しない範囲で構成要素の種々の省略、置換、変更、及び組み合わせを行うことができる。
(第1の実施形態)
図1は、第1の実施形態に係る画像処理システム1のハードウェア構成例を示す図である。画像処理システム1は、撮像装置2a〜2f、情報処理装置3(画像処理装置)、ネットワーク4、及び外部機器5を含む。
撮像装置2a〜2fは、被写体から照射(反射)された光を電気信号に変換することにより被写体を撮影し、複数のフレーム(静止画像データ)で構成される動画(例えば10[FPS])の映像データを生成するビデオカメラである。撮像装置2a〜2fは、例えば、複数の製品を生産する生産設備、生産ライン等を撮影し、製造物であるワーク(検体)に対する異常を検知する正否判定を実行するための映像データを生成する。本実施形態においては、複数(本例では6台)の撮像装置2a〜2fが備えられているが、1台であってもよい。
情報処理装置3は、各撮像装置2a〜2fによって生成された各映像データに基づいてワークの正否判定を実行する装置として機能するPC(Personal Computer)、ワークステーション等である。本実施形態に係る情報処理装置3は、生産設備等を構成する外部機器5との間で、例えばフィールドバス規格による通信が可能となるように接続されている。
ネットワーク4は、撮像装置2a〜2fと情報処理装置3とを接続するための、例えばEthernet(登録商標)規格のネットワークである。この場合、ネットワーク4ではTCP(Transmission Control Protocol)/IP(Internet Protocol)等のプロトコルによりデータ通信が行われる。この場合、撮像装置2a〜2f及び情報処理装置3は、TCP/IPのプロトコルにより通信するためのMAC(Media Access Control)アドレスを有し、且つプライベートIPアドレス等のIPアドレスが割り当てられる。ネットワーク4の具体的構成の一例として、例えば複数のポートを有するスイッチングハブに撮像装置2a〜2f及び情報処理装置3それぞれがLAN(Local Area Network)ケーブルによって接続されたスター配線形式が挙げられる。なお、ネットワーク4は、TCP/IPによるものに限定されるものではなく、例えば情報処理装置3側にVGA(Video Graphics Array)端子又はUSB(Universal Serial Bus)ポートを複数有し、複数の撮像装置2a〜2fがVGAケーブル又はUSBケーブルで情報処理装置3に接続された形態等であってもよい。
図2は、第1の実施形態に係る情報処理装置3のハードウェア構成例を示す図である。情報処理装置3は、CPU(Central Processing Unit)11、ROM(Read Only Memory)12、RAM(Random Access Memory)13、外部記憶装置14、ディスプレイ15、ネットワークI/F16、キーボード17、マウス18、DVD(Digital Versatile Disc)ドライブ19、外部機器I/F21、及びスピーカ22を含む。
CPU11は、情報処理装置3全体の動作を制御するため演算処理を行う1つ以上の回路からなる装置である。ROM12は、情報処理装置3用のプログラムを記憶している不揮発性記憶装置である。RAM13は、CPU11のワークエリアとして使用される揮発性記憶装置である。
外部記憶装置14は、撮像装置2a〜2fにより生成された映像データ、設定情報等の各種データを記憶するHDD(Hard Disk Drive)、SSD(Solid State Drive)等の記憶装置である。
ディスプレイ15は、カーソル、メニュー、ウィンドウ、文字、画像、正否判定を実行するアプリケーションの画面等を表示する表示装置である。ディスプレイ15は、例えばCRT(Cathode Ray Tube)ディスプレイ、液晶ディスプレイ、プラズマディスプレイ、有機EL(Electroluminescence)ディスプレイ等である。ディスプレイ15は、例えば情報処理装置3の本体に対して、VGAケーブル、HDMI(登録商標)(High-Definition Multimedia Interface)ケーブル、Ethernetケーブル等により接続される。ディスプレイ15は、タッチパネル式の入力操作を可能にするための機構を備えていてもよい。
ネットワークI/F16は、ネットワーク4に接続してデータ通信するためのインターフェースである。ネットワークI/F16は、例えばTCP/IPプロトコルによる通信を可能にするNIC(Network Interface Card)である。具体的には、情報処理装置3は、撮像装置2a〜2fからネットワーク4及びネットワークI/F16を介して、映像データを取得する。
キーボード17は、文字、数字、各種指示の選択、カーソルの移動、設定情報の設定等の入力を行う入力装置である。マウス18は、各種指示の選択(実行)、処理対象の選択、カーソルの移動、設定情報の設定等を行うための入力装置である。
DVDドライブ19は、着脱自在な記憶媒体の一例としてのDVD20に対するデータの読み出し、書き込み、及び削除を制御する装置である。
外部機器I/F21は、外部機器5と接続してデータ通信をするためのインターフェースである。外部機器I/F21は、例えばフィールドバス規格による通信を可能にするインターフェースカードである。具体的には、情報処理装置3は、外部機器5と外部機器I/F21を介してデータ通信を行う。
スピーカ22は、アプリケーションの動作に従って音声を出力する装置である。
上述のCPU11、ROM12、RAM13、外部記憶装置14、ディスプレイ15、ネットワークI/F16、キーボード17、マウス18、DVDドライブ19、外部機器I/F21、及びスピーカ22は、アドレスバス、データバス等のバスによって互いに通信可能に接続されている。ディスプレイ15は、Ethernetケーブルによって接続される場合にはネットワークI/F16に接続されることになり、この場合にはTCP/IP等のプロトコルによりデータ通信が行われる。
なお、図1及び図2に示すハードウェア構成は単なる例示であり、画像処理システム1及び情報処理装置3は、使用状況に応じて適宜なハードウェア及びソフトウェアを利用して構築されるべきものである。
図3は、第1の実施形態に係る情報処理装置3の機能構成例を示すブロック図である。情報処理装置3は、映像受信部101(取得部)、記憶部102、入力部103、領域設定部104、基準画像設定部105(画像設定部)、検知画像設定部106(画像設定部)、ヒストグラム生成部107、平準化部108、比較部109、判定部110、閾値設定部111、表示制御部112、及び外部出力部113を含む。
映像受信部101は、ネットワーク4を介して撮像装置2a〜2fとデータ通信を行い、撮像装置2a〜2fから映像データを受信する。映像受信部101は、受信した映像データを記憶部102に記憶させる。
記憶部102は、映像受信部101により受信された映像データ、設定情報等の各種データを記憶する。
入力部103は、情報処理装置3が実行する各種処理に関するユーザによる入力操作を受け付ける。
領域設定部104は、映像データが示す映像(撮像装置2a〜2fにより撮影された映像)から任意の領域を設定するための処理を行う。領域の設定方法は特に限定されるべきものではないが、例えばディスプレイ15等の表示装置115に映し出された映像上でユーザがマウス18等のポインティングデバイスを操作して任意の領域を指定する操作等により行うことができる。
基準画像設定部105は、領域設定部104により設定された領域に基づいて、判定の基準となる基準画像(第1の画像)を設定するための処理を行う。
検知画像設定部106は、領域設定部104により設定された領域に基づいて、判定の対象となる検体が撮影された検知画像(第2の画像)を設定するための処理を行う。
ヒストグラム生成部107は、基準画像の画素値のヒストグラムである基準ヒストグラム(第1のヒストグラム)及び検知画像の画素値のヒストグラムである検知ヒストグラム(第2のヒストグラム)を生成する。ヒストグラムを生成するための画素値は特に限定されるべきものではないが、例えばHSV(色相(Hue)・彩度(Saturation)・明度(Value))、HLS(色相(Hue)・彩度(Saturation)・輝度(Lightness/Luminance))等の色空間における位置を示す値、グレースケールにおける輝度を示す値(輝度値)等であり得る。基準画像及び検知画像がカラーである場合には、HSV等の色空間における位置を示す画素値が利用される。例えば画素値としてHSVやHLSを採用する場合には、ヒストグラムにおけるビン(階級)はH成分(色相)の数(例えば256)に対応して設定され、各H成分の出現回数(頻度値)が対応するビンに投票される。
平準化部108は、基準ヒストグラム及び検知ヒストグラムに平準化処理を施す。平準化処理とは、ヒストグラムにおける頻度値を当該頻度値に対応するビンの近傍に位置する1つ以上のビンに分散させる処理である。頻度値の分散の仕方は特に限定されるべきものではないが、例えば第100ビンの頻度値を第100ビンに隣接する第99ビンや第101ビンに分配する。また、第100ビンに直接隣接していないがその近傍に位置するビン(例えば第98ビン、第102ビン等)に分配してもよい。このように、平準化処理が施されることにより、あるビンに集中している頻度値が当該ビンの近傍に位置するビンに分配される。これにより、頻度値が投票されるビンの僅かなずれが判定結果に与える影響を緩和することが可能となる。
比較部109は、平準化された基準ヒストグラムである平準化基準ヒストグラム(第1の平準化ヒストグラム)と、平準化された検知ヒストグラムである平準化検知ヒストグラム(第2の平準化ヒストグラム)とを比較し、その比較結果を示す比較情報を生成する。両平準化ヒストグラムを比較する方法は特に限定されるべきものではなく、公知又は新規な方法を適宜利用することができる。比較情報の形態は、採用される比較方法に応じて決定されるものであるが、例えば両平準化ヒストグラムの一致率、異常発生の蓋然性を示す検知率(例えば一致率の逆数)等であり得る。
判定部110は、比較部109による比較結果に基づいて基準画像と検知画像とが一致しているか否かを判定する正否判定処理を行う。本実施形態に係る正否判定処理は、比較情報と閾値とを比較することにより行われる。例えば、比較情報が検知率(値が大きい程不一致(異常)である可能性が高い)である場合、検知率がある閾値(例えば20%)より大きい場合に、基準画像と検知画像とが一致していない(検体は異常である)と判定される。比較情報が一致率(値が小さい程不一致である可能性が高い)である場合、一致率がある閾値(例えば80%)より小さい場合に、基準画像と検知画像とが一致していないと判定される。
閾値設定部111は、正否判定処理における閾値を設定する。閾値の設定方法は特に限定されるべきものではないが、例えばユーザが入力部103に所定の操作を入力することにより任意に閾値を変更可能とすることが好ましい。このとき、ユーザはディスプレイ15等の表示装置115に表示される基準画像、検知画像、ヒストグラム、比較情報(検知率等)等を参照しながら当該閾値の設定が可能であることが好ましい。これにより、ユーザは閾値を適切に設定することが可能となる。例えば、環境光の変化による検知率の増加(一致率の低下)を無視できるように設定したり、検体の配置(検知領域内の位置、検体の向き等)の違いを無視できるように設定したりすることが可能となる。
表示制御部112は、上記各機能部101〜111の機能を実現するために必要な映像(静止画、動画を含む)を表示装置115に表示させるための処理を行う。本実施形態に係る表示制御部112は、各種設定画面(検知領域、基準画像、検知画像、閾値等を設定するための画面)、撮像装置2a〜2fにより撮影された現在又は過去の映像、基準画像、検知画像、各種ヒストグラム(基準ヒストグラム、検知ヒストグラム、平準化基準ヒストグラム、平準化検知ヒストグラム等)、比較情報(検知率、一致率等)、判定結果等を表示装置115に表示させる。
外部出力部113は、上記各機能部101〜111により生成された情報を外部機器5に出力する。外部出力部113は、例えば比較部109により生成された比較情報や判定部110により生成された判定結果を、生産設備等を構成する外部機器5に出力してもよい。
なお、上記判定部110及び閾値設定部111は、必ずしも情報処理装置3内に備えられていなくてもよく、画像処理システム1内に存在する他の情報処理装置を用いて実現されてもよい。また、本例では、上記基準画像設定部105及び検知画像設定部106により、撮像装置2a〜2fにより撮影された映像(映像データ)から基準画像及び検知画像が設定されているが、基準画像及び検知画像の設定方法はこれに限定されるものではない。基準画像及び検知画像は、画像処理システム1のハードウェア構成、監視対象となる検体の性質等に応じて適宜な方法により設定されるべきものである。
上記各機能部101〜113は、例えば1つ以上の集積回路により実現される。上記各機能部101〜113は、CPU11等のプロセッサにプログラムを実行させること、すなわちソフトウェアにより実現されてもよい。また、上記各機能部101〜113は、専用のIC(Integrated Circuit)等のプロセッサ、すなわちハードウェアにより実現されてもよい。また、上記各機能部101〜113は、ソフトウェア及びハードウェアを併用して実現されてもよい。複数のプロセッサを用いる場合、各プロセッサは、各機能部101〜113のうちの1つを実現してもよいし、各機能部101〜113のうちの2以上を実現してもよい。
図4は、第1の実施形態に係る情報処理装置3による処理例を示すフローチャートである。ステップS101〜S108は、正否判定処理を実行する前に行われる設定処理である。先ず、領域設定部104は、検知領域を設定するための処理を行う(S101)。
図5は、第1の実施形態に係る設定画面151の領域設定時の状態の例を示す図である。本例の設定画面151には、第2の撮像装置2b(CAM2)により撮影された映像152が表示されており、当該映像152は第1の撮像装置2a(CAM1)により撮影された映像と切り換えることができるようになされている。また、設定画面151には、映像152が撮影された時刻を指定するためのインジケータ153が設けられている。ユーザがインジケータ153を操作して所望の時刻を指定することにより、当該時刻に対応する映像152が表示される。本例の映像152には、検知領域155と3つの検体161a〜161cとが表示されている。検知領域155は、ユーザの操作により任意に設定されるものであり、例えばマウス18等を用いて映像152上の任意の領域を指定する操作等を行うことにより設定される。本例の検知領域155は、3つの検体161a〜161cの画像が含まれるように設定されている。
その後、図4に示すように、基準画像設定部105は、基準画像を設定するための処理を行う(S102)。
図6は、第1の実施形態に係る設定画面151の基準画像設定時における状態の例を示す図である。本例の設定画面151には、基準画像表示部171、検知画像表示部172、ヒストグラム表示部173、及び閾値操作部174が含まれている。本例の基準画像表示部171には、検知領域155内の画像が表示されている。検知領域155内の画像は、過去又は現在の映像152から切り取られた画像である。ユーザが設定画面151内のOKボタン179を押す操作を行うことにより、基準画像表示部171に表示されている画像が基準画像175として記憶部102に記憶される。
その後、図4に示すように、検知画像設定部106は、検知画像を設定するための処理を行う(S103)。
図7は、第1の実施形態に係る設定画面151の検知画像設定時における状態の例を示す図である。図7に示す検知領域155内の画像は、図6に示す検知領域155と同様に、過去又は現在の映像152から切り取られた画像である。図7に示す検知領域155内の画像は、図6に示す検知領域155内の画像とは異なっている。すなわち、図7に示す映像152が撮影された時刻は、図6に示す映像152が撮影された時刻とは異なっている。本例の検知画像表示部172には、図7に示す検知領域155内の画像が表示されている。ユーザが設定画面151内のOKボタン179を押す操作を行うことにより、検知画像表示部172に表示されている画像が検知画像176として記憶部102に記憶される。
その後、図4に示すように、ヒストグラム生成部107は、基準画像175に画素値のヒストグラムである基準ヒストグラムと、検知画像176の画素値のヒストグラムである検知ヒストグラムとを生成し(S104)、平準化部108は、基準ヒストグラムを平準化した平準化基準ヒストグラムと、検知ヒストグラムを平準化した平準化検知ヒストグラムとを生成する(S105)。
図8は、第1の実施形態に係るヒストグラム生成部107及び平準化部108による具体的な処理例を示すフローチャートである。ここでは、HSVのH(色相)成分の値をヒストグラム化する例を示す。
ヒストグラム生成部107は、基準画像175の各画素のH成分の値から基準ヒストグラムを生成し、検知画像176の各画素のH成分の値から検知ヒストグラムを生成する(S151)。その後、平準化部108は、ヒストグラム生成部107により生成された両ヒストグラムをそれぞれベクトル化したヒストグラムベクトルHと平準化行列Sとを積算し、平準化ベクトルH’を算出する(S152)。すなわち、基準ヒストグラムに対応するヒストグラムベクトルHと平準化行列Sとを積算することにより基準ヒストグラムに対応する平準化ベクトルH’を生成し、検知ヒストグラムに対応するヒストグラムベクトルHと平準化行列Sとを積算することにより検知ヒストグラムに対応する平準化ベクトルH’を生成する。下記式(1)はヒストグラムベクトルHの一例であり、下記式(2)は平準化行列Sの一例であり、下記式(3)は平準化ベクトルH’の一例である。
上記式(1)〜(3)の例は、ヒストグラムのビン数が5である場合の例であり、ヒストグラムベクトルH、平準化ベクトルH’、及び平準化行列Sのサイズはビン数に応じて変化する。例えば、ビン数が256である場合には、ヒストグラムベクトルH及び平準化ベクトルH’のサイズは256となり、平準化行列Sのサイズは256×256となる。
その後、平準化部108は、平準化ベクトルH’に基づいて、平準化されたヒストグラムを生成する(S153)。すなわち、基準ヒストグラムに対応する平準化ベクトルH’に基づいて平準化基準ヒストグラムを生成し、検知ヒストグラムに対応する平準化ベクトルH’に基づいて平準化検知ヒストグラムを生成する。
図9は、第1の実施形態に係る平準化前のヒストグラム181の例を示す図である。図10は、第1の実施形態に係る平準化後のヒストグラム182の例を示す図である。平準化前のヒストグラム181(基準ヒストグラム又は検知ヒストグラム)は、式(1)のヒストグラムベクトルHに対応している。平準化後のヒストグラム182(平準化基準ヒストグラム又は平準化検知ヒストグラム)は、式(3)の平準化ベクトルH’に対応している。
図9に示す平準化前のヒストグラム181においては、第1ビンの頻度値が0、第2ビンの頻度値が2、第3ビンの頻度値が3、そして第4ビンの頻度値が0となっている。図10に示す平準化後のヒストグラム182においては、第1ビンの頻度値が2/3、第2ビンの頻度値が5/3、第3ビンの頻度値が5/3、そして第4ビンの頻度値が1となっている。すなわち、平準化処理により、平準化前の第2ビンの頻度値2及び第3ビンの頻度値3が、これらのビンの近傍に位置する第1ビン及び第4ビンに分配されている。
なお、平準化処理による頻度値の分配の仕方は上記に限られるものではなく、ヒストグラムのビン数、対象とする画素値の特性等に応じて適宜調整されるべきものである。頻度値の分配の仕方は、平準化行列Sの構成を変化させることにより調整することができる。平準化行列Sの構成を変化させることにより、例えば頻度値の他のビンへの分散幅等を変化させることができる。平準化行列Sは、例えば予め記憶部102に記憶されていてもよいし、ユーザにより設定されてもよいし、プログラムにより自動的且つ動的に生成されてもよい。
その後、図4に示すように、比較部109は、平準化された両ヒストグラム(平準化基準ヒストグラム及び平準化検知ヒストグラム)を比較して検知率を算出する(S106)。
平準化基準ヒストグラムと平準化検知ヒストグラムとを比較する方法(検知率、一致率等を算出する方法)は特に限定されるべきものではなく、公知又は新規な方法を適宜利用することができる。例えば、相関、カイ2乗、交差、Bhattacharyya距離等を利用した演算法が知られている(参考:http://opencv.jp/opencv-2svn/cpp/histograms.html)。下記式(4),(5)は相関による計算式であり、下記式(6)はカイ2乗による計算式であり、下記式(7)は交差による計算式であり、下記(8)はBhattacharyya距離による計算式である。下記式中、H1は一方のヒストグラム(例えば平準化基準ヒストグラム201)、H2は他方のヒストグラム(例えば平準化検知ヒストグラム202)、Nはビン数を表す。
その後、表示制御部112は、表示装置115に基準画像175、検知画像176、検知率、正否判定結果、平準化前後のヒストグラム等を表示する(S107)。閾値設定部111は、ユーザによる入力部103への操作に応じて、正否判定の基準となる検知率の閾値を設定するための処理を行う(S108)。このとき、基準画像175又は検知画像176が変更されれば、表示される検知率、正否判定結果、平準化前後のヒストグラム等も変化する。これにより、ユーザは、表示装置115に表示される基準画像175、検知画像176、検知率、正否判定結果、平準化前後のヒストグラム等を参照しながら、検知率の閾値を適切に設定することが可能となる。一致率等の他の比較情報の閾値についても同様である。
図11は、第1の実施形態に係る設定画面151の閾値設定時における第1の状態の例を示す図である。本例においては、基準画像175及び検知画像176の両方に3つの検体161a〜161cが含まれているが、基準画像175に含まれる検体161a〜161cの配置と検知画像176に含まれる3つの検体161a〜161cの配置とが異なっている。
ヒストグラム表示部173には、基準画像175に対応する平準化基準ヒストグラム201と検知画像176に対応する平準化検知ヒストグラム202とが表示されている。両平準化ヒストグラム201,202には、第1の検体161aの色相に対応するピーク201a,202a、第2の検体161bの色相に対応するピーク201b,202b、及び第3の検体161cの色相に対応するピーク201c,202cが含まれている。各ピーク201a,201b,201b,202b,201c,202cについて両平準化ヒストグラム201,202間でいくらかの相違が見られるが、これは各検体161a〜161cの配置によるものであり、検体161a〜161cの不在によるものではない。
上記のように、本実施形態においては、基準ヒストグラムと検知ヒストグラムとを比較するのではなく、平準化基準ヒストグラム201と平準化検知ヒストグラム202とを比較することにより、上記のような検体161a〜161cの配置の違いによる影響等を軽減することができる。また、環境光の変化による微妙な色相の変化等の影響も軽減することができる。これにより、検体161a〜161cの異常以外の要因による影響を軽減して適切に正否判定を行うことが可能となる。
図11に示す例においては、閾値操作部174に示されているように、検知率の閾値が2%に設定されている(検知率が2%以上のときに異常(変化あり)と判定される。)。この閾値は、ユーザが閾値操作部174を操作することにより任意に変更することができる。設定画面151には、正否判定の結果を示す検知率表示部191が含まれている。本例における検知率は3%であり、閾値の2%を超えているため、ここでは「変化あり」と判定されている。
図12は、第1の実施形態に係る設定画面151の閾値設定時における第2の状態の例を示す図である。本例においては、基準画像175に3つの検体161a〜161cが含まれ、検知画像176に2つの検体161a,161cが含まれている。すなわち、本例の検知画像176には検体161bが含まれていない。これに伴い、本例の平準化検知ヒストグラム202には、検体161aに対応するピーク202a及び検体161cに対応するピーク202cは含まれているが、検体161bに対応するピーク202bは含まれていない。そのため、本例における検知率は40%という比較的高い値となっており、正否判定は「変化あり」となっている。
図11に示す第1の例の検知画像176には、基準画像175と同様に3つの検体161a〜161c全てが含まれているが、図12に示す第2の例の検知画像176には2つの検体161a,161cしか含まれていない。このような場合、第1の例の検知画像176を正常(変化なし)と判定し、第2の例の検知画像176を異常(変化あり)と判定することが適当な場合がある。そこで、閾値操作部174を操作して検知率の閾値を3%〜40%の範囲内に設定することにより、図11に示す第1の例の検知画像176のような状態(全ての検体161a〜161cが写っている状態)を正常(変化なし)と判定し、図12に示す第2の例の検知画像176のような状態(複数の検体161a〜161cのうちの1つ以上が写っていない状態)を異常(変化あり)と判定することが可能となる。
図13は、第1の実施形態に係る正否判定の結果例を示す図である。上記のように検知率の閾値を3%〜40%に設定することにより、右側上部の第1の例の検知画像176についての判定結果は「変化なし」となり、右側下部の第2の例の検知画像176についての判定結果は「変化あり」となる。なお、閾値の設定の仕方は上記に限られるものではなく、検体の性質、要求される判定精度等に応じて適宜選択されるべきものである。
図14は、第1の実施形態に係る設定画面151の閾値設定時における第3の状態の例を示す図である。本例に係る設定画面151は、検知率チャート表示部177を含んでいる。検知率チャート表示部177には、リアルタイムに変化する映像152に設定された検知領域155内の画像(検知画像176)についての検知率の変化を示すチャートが表示されている。本例では、検知率の閾値が20%に設定され、リアルタイムに変化する検知率が閾値より大きくなった時点(変化なしから変化ありに転換した時点)と、検知率が閾値より小さくなった時点(変化ありから変化なしに転換した時点)とが示されている。ユーザはこのようなチャートと検知領域155内の画像とを参照しながら、検知率の閾値を設定してもよい。
図15は、第1の実施形態における設定画面151の設定完了時の状態の例を示す図である。設定完了時の設定画面151には、設定内容表示部166が含まれている。設定内容表示部166には、上記のように行った設定の内容を示す情報が表示され、本例では基準画像175及び検知画像176のカラー成分、検知率の閾値等の情報が表示されている。本例のカラー成分は「色合い」となっているが、これは比較の対象となる画像(基準画像175及び検知画像176)がカラー画像であり、カラー画像を構成する各ピクセルの色相を比較して正否判定を行うことを示している。
カラー成分は、「色合い」の他に「グレースケール」、「白黒2値」等が選択可能であってもよい。「グレースケール」が選択された場合、比較の対象となる画像はグレースケール画像となり、平準化基準ヒストグラム(基準ヒストグラム)及び平準化検知ヒストグラム(検知ヒストグラム)は、グレースケールの階調を示す画素値(明度値、濃度値等)を用いて生成される。これにより、グレースケール画像を比較する場合であっても上記と同様に処理することができる。
上記のような設定処理(検知領域155、基準画像175、検知率の閾値等の設定)が完了した後、判定部110は、実際の正否判定処理を開始する(S109)。なお、実際の正否判定処理の実行中に上記設定処理を行えるようにしてもよい。
本実施形態によれば、平準化基準ヒストグラム201と平準化検知ヒストグラム202とを比較することにより、検体161a〜161cの異常以外の要因による影響を軽減して適切に正否判定を行うことが可能となる。また、基準画像175、検知画像176、平準化されたヒストグラム201,202、正否判定結果等を確認しながら検知率の閾値を設定することができるので、適切な正否判定が行われるように閾値を設定することが可能となる。これにより、正否判定の実用性を向上させることが可能となる。
以下に他の実施形態について図を参照して説明するが、第1の実施形態と同一又は同様の作用効果を奏する箇所については同一の符号を付してその説明を省略する場合がある。
(第2の実施形態)
第2の実施形態に係る画像処理システム1(情報処理装置3)は、グレースケール画像を比較対象とする場合に適した構成を含んでいる。図16は、第2の実施形態に係る設定画面221の閾値設定時における第1の状態の例を示す図である。図17は、第2の実施形態に係る設定画面221の閾値設定時における第2の状態の例を示す図である。
本実施形態に係る設定画面221には、差異画像表示部225が含まれている。差異画像表示部225には、基準画像175と検知画像176とを重ね合わせた差異画像226(第2の画像)が表示されている。
本実施形態に係るヒストグラム生成部107は、基準画像175のヒストグラムである基準ヒストグラムと、差異画像226のヒストグラムである差異ヒストグラムとを生成する。このとき、両ヒストグラムの生成に用いられる画素値は、グレースケールの階調を示す明度値等である。本実施形態に係る平準化部108は、基準ヒストグラムを平準化した平準化基準ヒストグラムと、差異ヒストグラムを平準化した平準化差異ヒストグラムとを生成する。本実施形態に係る比較部109は、平準化基準ヒストグラムと平準化差異ヒストグラムとを比較することにより検知率を算出する。
図16に示すように、本実施形態に係るヒストグラム表示部173には、平準化基準ヒストグラム231と平準化差異ヒストグラム232とが表示されている。本実施形態に係る検知率表示部191には、平準化基準ヒストグラム231と平準化差異ヒストグラム232との比較結果を示す検知率が表示されている。
このように、本実施形態においては、比較対象となる画像がグレースケール画像である場合には、基準画像175(平準化基準ヒストグラム)と検知画像176(平準化検知ヒストグラム)とを比較するのではなく、基準画像175(平準化基準ヒストグラム)と差異画像226(平準化差異ヒストグラム)とを比較する。これにより、色相による差別化が困難なグレースケール画像を扱う場合であっても、的確に正否判定を行うことが可能となる。
(第3の実施形態)
図18は、第3の実施形態に係る情報処理装置251の機能構成例を示すブロック図である。本実施形態に係る情報処理装置251は、第1の実施形態に係る情報処理装置3の機能部101〜113に加え、再計算部261(除外部)及び原点移動部262を備えている。
再計算部261は、所定の値を有する画素値をヒストグラムの対象から除外するように、基準画像175及び検知画像176の画素値を再計算する。例えば、画素値がHSVである場合、S成分の値が所定の下限値以下である(彩度が下限値以下である)か、V成分の値が所定の下限値以下である(明度が下限値以下である)か、又はV成分の値が所定の上限値以上である(明度が上限値以上である)画素値を無効とする。
原点移動部262は、平準化基準ヒストグラム及び平準化検知ヒストグラムにおけるピークが各ヒストグラム内に設定された端部領域内に位置しないように、平準化基準ヒストグラム及び平準化検知ヒストグラムの各原点を移動させる。端部領域とは、ヒストグラムの横軸における原点付近の領域と終点付近の領域とからなる領域である。端部領域の設定の仕方は特に限定されるべきものではなく、使用状況に応じて適宜選択されるべきものである。例えば、256ビンのヒストグラムにおいて、第1ビン〜第10ビンの領域及び第247ビン〜第256ビンの領域を端部領域としてもよい。
例えば、ヒストグラムの対象として色空間を示す画素値を利用する場合、ピークが端部領域内に位置すると、比較のための要素が原点付近と終点付近とに集中してしまい、正否判定に不具合が生じる場合がある。そこで、ピークが端部領域内に位置する場合には、ピークがヒストグラムの中央部(例えば第128ビン)付近に位置するようにヒストグラムの原点を移動させる。
図19は、第3の実施形態に係る情報処理装置251による処理例を示すフローチャートである。図19に示す本実施形態に係るフローチャートと図4に示す第1の実施形態に係るフローチャートとの相違点は、主に本実施形態に係るフローチャートが再計算部261に係るステップS201と原点移動部262に係るステップS202とを含んでいる点にある。
ステップS101〜S103により基準画像175及び検知画像176の設定が完了した後、再計算部261は、所定の値を有する画素値をヒストグラムの対象から除外するように、基準画像175及び検知画像176のH成分を再計算する(S201)。その後、再計算された画素値(H成分)を用いて基準ヒストグラム及び検知ヒストグラムが生成され(S104)、当該基準ヒストグラム及び検知ヒストグラムから平準化基準ヒストグラム及び平準化検知ヒストグラムが生成される(S105)。
その後、原点移動部262は、上記のように再計算された画素値から生成された平準化基準ヒストグラム及び平準化検知ヒストグラムのそれぞれについて、ピークが端部領域内に位置しないように原点位置を調整する(S202)。比較部109は、上記のように生成された平準化基準ヒストグラムと平準化検知ヒストグラムとを比較して検知率を算出する(S106)。
図20は、第3の実施形態に係る再計算部261による具体的な処理例を示すフローチャートである。再計算部261は、基準画像と検知画像の各ピクセルについてのHSV成分を取得すると(S251)、未処理の(再計算処理が未だ行われていない)ピクセルがあるか否かを判定する(S252)。
未処理のピクセルがある場合(S252:Yes)、再計算部261は、あるピクセルのHSV成分についてS0≦S且つV0≦V≦V1が成り立つか否かを判定する(S253)。SはS成分の値、S0はS成分の下限値、VはV成分の値、V0はV成分の下限値、そしてV1はV成分の上限値を示す。
S0≦S且つV0≦V≦V1が成り立つ場合(S253:Yes)、再計算部261は、当該ピクセルを有効なピクセルとして設定し(S254)、再度ステップS252を実行する。このとき、再計算部261は、有効なピクセルの画素値を変化させなくてもよい。一方、S0≦S且つV0≦V≦V1が成り立たない場合(S253:No)、再計算部261は、当該ピクセルを無効なピクセルとして設定し(S255)、再度ステップS252を実行する。上記処理を繰り返し、未処理のピクセルがなくなった場合(S252:No)、再計算部261は、無効なピクセルを画像(映像152、基準画像175、検知画像176等)に反映させる(S256)。
図21は、第3の実施形態に係るS成分の下限値S0の例を示す図である。図22は、第3の実施形態に係るV成分の下限値V0及び上限値V1の例を示す図である。図21及び図22において、HSV色空間を示す色空間テーブル271が例示されている。彩度(S)が下限値S0より低くなると画像全体が略黒色となる。また、明度(V)が下限値V0より低くなると画面全体が略黒色となり、明度(V)が上限値V1より高くなると画面全体が略白色となる。従って、S0≦S且つV0≦V≦V1が成り立たないピクセルを無効とすることができる。
図23は、第3の実施形態においてピクセルを無効にする状態の例を示す図である。本例では、S0=10、V0=30、及びV1=100に設定されている。すなわち、彩度(S)の有効範囲は10以上であり、明度の有効範囲は30以上100以下となっている。図23に示す例では、3×3のピクセルのうち、上記有効範囲外のS成分又はV成分を有するピクセルは無効となっている。有効なピクセル(右側の図においてバツ印が付されていないピクセル)のH成分のみを用いてヒストグラムが生成される。
図24は、第3の実施形態に係る設定画面281の基準画像設定時における状態の例を示す図である。本例に係る設定画面281には、変更後画像表示部285が含まれている。変更後画像表示部285には、基準画像175に対して上記無効化処理の結果を反映した変更後画像286が表示されている。変更後画像286においては、検体161a〜161c以外の背景部分のピクセルが無効化され、黒色になっている。ユーザがOKボタン179を押す操作を行うことにより、変更後画像表示部285に表示されている変更後画像286が基準画像として記憶される。なお、ここでは基準画像について説明したが、検知画像についても同様である。
図25は、第3の実施形態に係る設定画面281の判定処理時における状態の例を示す図である。本例に係る設定画面281の基準画像表示部171には、無効化処理による変更後の基準画像288が表示され、検知画像表示部172には、無効化処理による変更後の検知画像289が表示されている。本例の検知画像289には検体161a〜161cが含まれていない。これらの基準画像288及び検知画像289の検体161a〜161c以外の背景部分は、上記無効化処理により黒色になっている。
図26は、第3の実施形態に係る原点移動部262による具体的な処理例を示すフローチャートである。平準化部108が平準化されたヒストグラムh(i)を生成すると(S281)、原点移動部262はi=0に設定する(S282)。iはヒストグラムのビンを表し、例えばi=0〜255である。h(i)は、各ビンに対応する頻度値を表す。その後、原点移動部262は、i≦256が成立するか否かを判定する(S283)。
i≦256が成立する場合(S283:Yes)、原点移動部262は、h(i−1)<h(i)且つh(i)≧h(i+1)が成立するか否かを判定する(S284)。但し、h(−1)=h(255)及びh(256)=h(0)である。h(i−1)<h(i)且つh(i)≧h(i+1)が成立する場合(S284:Yes)、原点移動部262は、頂点位置の候補にiを追加する(S285)。すなわち、隣接する3つのビンにおいて、真中のビンh(i)が直前のビンh(i−1)より大きく且つ直後のビンh(i+1)以上である場合には、iはピーク位置に相当するビンである可能性があると判断される。その後、原点移動部262は、iに1を追加し(S286)、再びステップS283を実行する。一方、h(i−1)<h(i)且つh(i)≧h(i+1)が成立しない場合(S284:No)、ステップS285が実行されることなく、ステップS286が実行される。
上記処理を繰り返し、i≦256が成立しなくなった場合(S283:No)、原点移動部262は、頂点位置の候補となった1つ以上のiの平均値を計算し(S287)、平均値が示す頂点位置がヒストグラムの端部領域内に位置するか否かを判定する(S288)。頂点位置が端部領域内に位置する場合(S288:Yes)、原点移動部262は、頂点位置がヒストグラムの中央部に位置するように、原点位置を移動させる(S289)。例えば、256ビンのヒストグラムにおいて原点を128ビン分移動させることにより、ピークをヒストグラムの略中央に配置することができる。頂点位置が端部領域内に位置しない場合(S288:No)、原点移動部262は、原点位置を移動させることなく当該ルーチンを終了する。
図27は、第3の実施形態に係る原点移動処理を実行する前のヒストグラム(平準化基準ヒストグラム又は平準化検知ヒストグラム)の例を示す図である。図28は、第3の実施形態に係る原点移動処理を実行した後のヒストグラムの例を示す図である。図27に示すように、ヒストグラムのピーク291が原点付近に位置していると、比較のための要素が原点付近と終点付近とに集中してしまう。そこで、図28に示すように、ヒストグラムの原点を移動させることにより、ピーク291がヒストグラムの中央部に位置するようにする。
本実施形態によれば、検体161a〜161cの正否判定に寄与しないピクセルを無効とすることができる。これにより、正否判定の精度を損なうことなく、演算負荷の軽減等を図ることが可能となる。また、比較のための要素がヒストグラムの端部に集中することを防止できるので、正否判定の精度を向上させることが可能となる。
(第4の実施形態)
図29は、第4の実施形態に係る情報処理装置301の機能構成例を示すブロック図である。本実施形態に係る情報処理装置301は、図18に示す第3の実施形態に係る情報処理装置251の機能部101〜113,261,262に加え、色設定部311を備えている。
色設定部311は、比較対象とする対象色を設定する。比較部109は、設定された対象色について生成された平準化基準ヒストグラム及び平準化検知ヒストグラムを比較する。従って、正否判定は設定された対象色についてのみ行われる。対象色の設定方法は特に限定されるべきものではないが、例えばユーザがディスプレイ15等の表示装置115に表示された映像152上でマウス18等を用いて任意の色を指定すること等により行われてもよい。
図30は、第4の実施形態に係る情報処理装置301による処理例を示すフローチャートである。図30に示す本実施形態に係るフローチャートと図19に示す第3の実施形態に係るフローチャートとの相違点は、主に本実施形態に係るフローチャートが色設定部311に係るステップS301を含んでいる点にある。
ステップS101〜S103により基準画像175及び検知画像176の設定が完了した後、色設定部311は、対象色を設定するための処理を行う(S301)。対象色の設定方法は特に限定されるべきものではないが、設定画面上に表示された映像(映像152、基準画像175、検知画像176等)から任意の色を指定すること等により行われる。その後、ステップS201以降の処理が行われる。
図31は、第4の実施形態に係る色設定部311による具体的な処理例を示すフローチャートである。色設定部311は、先ず基準画像175と検知画像176のHSV成分を取得し(S351)、設定された色に基づいて基準色相成分h1、基準彩度成分s1、及び基準明度成分v1を設定する(S352)。基準色相成分h1、基準彩度成分s1、及び基準明度成分v1はそれぞれ、対象色のH成分、S成分、及びV成分に相当する。その後、色設定部311は、未処理のピクセルがあるか否かを判定する(S353)。
未処理のピクセルがある場合(S353:Yes)、色設定部311は、あるピクセルについて、h1−a≦H≦h1+b、且つs1−c≦S≦s1+d、且つv1−e≦V≦v1+fが成り立つか否かを判定する(S354)。a〜fは定数である。すなわち、対象となっているピクセルのH成分の値(H)、S成分の値(S)、及びV成分の値(V)がそれぞれ基準色相成分h1、基準彩度成分s1、及び基準明度成分v1の誤差範囲内に収まっているか否かが判定される。
h1−a≦H≦h1+b、且つs1−c≦S≦s1+d、且つv1−e≦V≦v1+fが成り立つ場合(S354:Yes)、色設定部311は、当該ピクセルを有効なピクセルに設定し(S355)、再度ステップS353を実行する。一方、h1−a≦H≦h1+b、且つs1−c≦S≦s1+d、且つv1−e≦V≦v1+fが成り立たない場合(S354:No)、色設定部311は、当該ピクセルを無効なピクセルに設定し(S356)、再度ステップS353を実行する。上記処理を繰り返し、未処理のピクセルがなくなった場合(S353:No)、色設定部311は、無効なピクセルを画像(映像152、基準画像175、検知画像176等)に反映させる(S357)。
図32は、第4の実施形態に係る設定画面321の色設定処理時における状態の例を示す図である。本例では、設定画面321に表示された映像152から直接色を指定する例が示されている。本例では、マウス18等により操作されるポインタ325によりユーザが所望の色を指定できるようになされている。本例の設定画面321には、設定色表示部327が含まれている。設定色表示部327には、ポインタ325により指定されたピクセルの色が表示されている。ユーザがOKボタン179を押す操作を行うことにより、設定色表示部327に表示された色が対象色として記憶部102に記憶される。
図33は、第4の実施形態に係る設定画面321の対象色反映時における状態の例を示す図である。本例では、設定画面321に表示された映像152において、上記のように設定された色以外の色を有するピクセルは無効となっている。このように対象色が反映された映像152から基準画像及び検知画像を設定してもよいし、基準画像及び検知画像から色指定を行ってもよい。
本実施形態によれば、ヒストグラムや画像の生成の対象となるピクセルを、ユーザが所望する色相を有するピクセルのみに絞り込むことが可能となる。これにより、処理負荷の軽減等を図ることが可能となる。
(第5の実施形態)
第4の実施形態においては、色設定部311は、ユーザが映像152上で指定した1つの色に基づいて対象色を設定する方法を示したが、本実施形態に係る色設定部311は、ユーザが表示装置115に表示された所定の映像(映像152、基準画像175、検知画像176等)上で指定した1以上の色に基づいて、対象色の色範囲を設定する。なお、本実施形態としては、ユーザが指定した色を示す色配列(画素値)としてHSL値を用いる例を示すが、色配列の種類はこれに限定されるものではなく、例えば第4の実施形態と同様にHSV値を用いてもよい。
図34は、第5の実施形態に係る設定画面331の例を示す図である。本実施形態に係る設定画面331は、撮像装置2a〜2fのいずれかにより撮影された映像152を表示する映像表示部332、基準画像175を表示する基準画像表示部171、及び色範囲表示部333を含んでいる。
色範囲表示部333は、対象色の色範囲を表示する部分である。色範囲とは、対象色として認められる色配列(画素値:本実施形態では色相H、彩度S、及び輝度Lの各値)の幅である。本実施形態に係る色範囲表示部333は、最小値表示部341、最大値表示部342、中間値表示部343、許容誤差下限値設定部344、及び許容誤差上限値設定部345を含んでいる。最小値表示部341は、ユーザが所定の映像上で指定した複数の指定点のそれぞれに対応する複数の色配列(HSL値)のうちの最小値を表示する部分である。最大値表示部342は、ユーザが指定した複数の指定点のそれぞれに対応する複数の色配列のうちの最大値を表示する部分である。中間値表示部343は、最小値表示部341に表示された最小値と最大値表示部342に表示された最大値との中間(平均)値(例えば、小数点以下の値を四捨五入、繰上げ、又は繰下げした値)を表示する部分である。なお、色相Hは、256階調(0〜255)において環状の値をとるため、図34に示す例における最大値「18」は、255+18=「273」に相当し、中間値「221」は、(168+273)/2=220.5の四捨五入値又は繰上げ値となっている。許容誤差下限値設定部344は、誤差の許容範囲の下限値を設定するための部分であり、ユーザが任意の値を入力できるように構成されている。許容誤差上限値設定部345は、誤差の許容範囲の上限値を設定するための部分であり、ユーザが任意の値を入力できるように構成されている。
図35は、第5の実施形態に係る設定画面331において1つの指定点が指定された状態の例を示す図である。映像152上の任意の位置(本例では、はさみの柄の一部)をユーザが指定(例えばマウスで位置を指定してクリック)すると、当該位置に第1のマーカM1が描画され、第1のマーカM1に対応するピクセルのHSL値(本例では254,170,87)が取得される。この時点においてはまだ1つの指定点しか指定されていないため、最小値表示部341、最大値表示部342、及び中間値表示部343には、それぞれ同一のHSL値(254,170,87)が表示されている。基準画像表示部171には、許容誤差下限値から許容誤差上限値までのHSL値を有するピクセルから構成される基準画像175が表示される。図35に示す例では、H値が234〜274(234〜255,0〜19)、S値が150〜190、及びL値が67〜107の範囲にあるピクセルから構成された基準画像175が表示される。
図36は、第5の実施形態に係る設定画面331において2つの指定点が指定された状態の例を示す図である。映像152上でユーザが2つめの位置を指定すると、当該位置に第2のマーカM2が描画され、第2のマーカM2に対応するピクセルのHSL値(本例では247,138,103)が取得される。このとき、最小値表示部341には、両マーカM1,M2のHSL値の比較においてより小さい値(本例ではH:247、S:138、及びL:87)が表示され、最大値表示部342には、より大きい値(本例ではH:254、S:170、及びL:103)が表示され、中間値表示部343には、それぞれの最小値と最大値との中間値(本例ではH:251、S:154、及びL:95)が表示される。本例においては、許容誤差下限値が−20、許容誤差上限値が+20に設定され、対象色の色範囲は、HSL値の各最小値から20を減算した値から、各最大値に20を加算した値までの範囲となる。図36に例示する状態においては、基準画像表示部171に、H値が227〜274(227〜255,0〜19)、S値が118〜190、及びL値が67〜123の範囲にあるピクセルから構成された基準画像175が表示される。
図37は、第5の実施形態に係る設定画面331において3つの指定点が指定された状態の例を示す図である。映像152上でユーザが3つめの位置を指定すると、当該位置に第3のマーカM3が描画され、第3のマーカM3に対応するピクセルのHSL値(本例では253,183,82)が取得される。このとき、最小値表示部341には、全マーカM1〜M3のHSV値のうち最も小さい値(本例ではH:247、S:138、及びL:82)が表示され、最大値表示部342には、最も大きい値(本例ではH:254、S:183、及びL:103)が表示され、中間値表示部343には、それぞれの最小値と最大値との中間値(本例ではH:251、S:154、及びL:95)が表示される。基準画像表示部171には、H値が227〜274(227〜255,0〜19)、S値が118〜203、及びL値が62〜123の範囲にあるピクセルから構成された基準画像175が表示される。
本実施形態においては、上記3つのマーカM1〜M3は全てはさみの柄の部分に位置し、当該柄の部分は赤色と認識される色を有するものであるとする。以下に、赤色とは色相が異なる色を有する位置を指定点とした場合の例について説明する。
図38は、第5の実施形態に係る設定画面331において4つの指定点が指定された状態の例を示す図である。ここでは、4つめの指定点として、青色と認識される位置(消しゴムの一部)が指定された場合を例示する。映像152上でユーザが4つめの位置を指定すると、当該位置に第4のマーカM4が描画され、第4のマーカM4に対応するピクセルのHSL値(本例では168,105,72)が取得される。このとき、最小値表示部341には、全マーカM1〜M4のHSL値のうち最も小さい値(本例ではH:168、S:105、及びL:72)が表示され、最大値表示部342には、最も大きい値(本例ではH:254、S:183、及びL:103)が表示され、中間値表示部343には、それぞれの最小値と最大値との中間値(本例ではH:211、S:144、及びL:88)が表示される。基準画像表示部171には、H値が148〜274(148〜255,0〜19)、S値が85〜203、及びL値が52〜123の範囲にあるピクセルから構成された基準画像175が表示される。この場合における基準画像175には、赤色と認識される赤色領域305、青色と認識される青色領域306、並びに、赤色及び青色のいずれでもない色(例えば灰色)と認識される他色領域307が含まれることとなる。これは、赤色とは色相が大きく異なる青色を指定したことにより、対象色の色範囲が大きく拡大されたことに起因する。
上記のように、色相が比較的大きく異なる(例えば階調値の差が所定値以上である)複数の色(例えば赤色と青色等)を同時に指定すると、ユーザが意図しない色(例えば灰色等)が対象色の色範囲に含まれてしまう場合がある。このような問題に対処する方法の1つとして、不適切な指定点を削除する方法がある。
図39は、第5の実施形態に係る設定画面331において指定点を削除するときの状態の例を示す図である。図40は、第5の実施形態に係る設定画面331において指定点が削除された後の状態の例を示す図である。ここでは、第4のマーカM4に対応する指定点を削除する場合を例示する。図39に示すように映像152上でユーザが第4のマーカM4の位置をクリック操作等により再指定すると、図40に示すように映像152から第4のマーカM4が削除され、色範囲表示部333内の表示及び基準画像175が、第4のマーカM4に対応する位置を指定する前の状態(図37に示す状態)に戻る。このように、ユーザが指定点の削除を任意に行えるようにすることにより、対象色の色範囲を適切且つ簡便に調整することが可能となる。
また、本実施形態においては、許容誤差下限値及び許容誤差上限値をユーザが任意の値に調整できるようになされている。
図41は、第5の実施形態に係る設定画面331において許容誤差下限値及び許容誤差上限値を調整するときの状態の例を示す図である。本例では、HSL各値に対応する全ての許容誤差下限値を−20から−4に変更し、H値に対応する許容誤差上限値を+20から+7に変更し、S値に対応する許容誤差上限値を+20から+8に変更し、L値に対応する許容誤差上限値を+20から+8に変更している。これにより、対象色の色範囲は、H値:243〜261(243〜255,0〜6)、S値:134〜191、及びL値:78〜111となり、基準画像表示部171には、当該調整後のHSL値を有するピクセルから構成される赤色領域305’を含む基準画像171が表示される。このように、ユーザが許容誤差下限値及び許容誤差上限値を任意に調整できるようにすることにより、対象色の色範囲をより適切且つ簡便に調整することが可能となる。
図42は、第5の実施形態に係る情報処理装置301による処理例を示すフローチャートである。ここでは、上記のように、ユーザが映像152上で複数の指定点を指定し、各指定点に対応するHSL値に基づいて対象色の色範囲を設定する場合の処理例について説明する。本実施形態に係る色設定部311(図29参照)は、先ず、対象色の色範囲を設定する処理に関する初期値を記憶部101から読み込む(S501)。当該初期値には、ユーザが映像152上で指定可能な指定点の上限値(例えば10)等が含まれる。その後、色設定部311は、ユーザインターフェースを介して、ユーザが映像152上で任意の位置を指定するクリック操作を受け付ける(S502)。
色設定部311は、ユーザが映像152上でクリックした位置にマーカが存在するか否かを判断する(S503)。クリックされた位置にマーカが存在していない場合(S503:No)、色設定部311は、マーカ数(クリック数又は指定点数)が上限値に達したか否かを判断する(S504)。マーカ数が上限値に達していない場合(S504:No)、色設定部311は、クリックされた位置にマーカを追加し(S505)、追加されたマーカの位置に対応するピクセルの色配列(HSL値)を取得し(S506)、取得した1以上の色配列に基づいて上述したように色範囲を算出する(S510)。一方、マーカ数が上限値に達している場合(S504:Yes)、例えば映像152上に既に10個のマーカが配置されている場合には、新たなマーカを追加せず、既にある複数のマーカに対応する各色配列に基づいて色範囲を算出する(S510)。
また、クリックした位置にマーカがある場合(S503:Yes)、色設定部311は、クリックされた位置に存在するマーカを削除し(S507)、削除したマーカに対応する色配列を削除する(S508)。その後、色設定部311は、映像152上にマーカが1以上あるか否かを判断し(S509)、マーカが1以上ない(1つもない)場合(S509:No)にはステップS502に戻り、マーカが1以上ある場合(S509:Yes)には各マーカに対応する色配列に基づいて色範囲を算出する(S510)。
その後、色設定部311は、算出された色範囲に含まれる色配列を有するピクセルから構成される対象色画像(図34〜図41に示す例においては基準画像175)を更新し(S511)、ユーザから色指定の要求があるか否かを判断する(S512)。要求がない場合(S512:No)には本ルーチンを終了し、要求がある場合(S512:Yes)にはステップS502に戻る。
なお、上記においては、色相が比較的大きく異なる複数の色(例えば赤色及び青色)を指定点とした場合に生じる問題(対象色の色範囲に意図しない色が含まれてしまうといった問題)を、一方の色(例えば青色)に対応する指定点を削除することにより解決する例を示したが、実施形態はこれに限定されるものではない。例えば、赤い部分に1以上の指定点を指定し、青い部分に1以上の指定点を指定した場合には、色範囲を赤色領域と青色領域の2つに分割して設定してもよい。また、色範囲を3以上の領域に分割してもよい。
すなわち、複数の指定点の色配列の特徴に応じて、色範囲を複数に分割して設定してもよい。例えば、指定点が複数存在する場合において、色相を示す画素値(例えばH値)の階調値差が所定値以上である場合(例えば256階調のH値の差が50以上である場合等)には、色範囲を複数に分割して設定するようにしてもよい。
例えば、HSV値を色配列とする3つの指定点として、第1の指定点(65,34,124)、第2の指定点(232,230,200)、及び第3の指定点(45,64,98)が指定され、許容誤差下限値が−10、許容誤差上限値が+10である場合について説明する。この場合、第1の指定点(65,34,124)と第3の指定点(45,64,98)とに基づいて、H値の範囲が35〜75、S値の範囲が24〜74、V値の範囲が88〜134である第1の色範囲を設定し、第2の指定点(232,230,200)に基づいて、H値の範囲が222〜242、S値の範囲が220〜240、V値の範囲が190〜210である第2の色範囲を設定することができる。なお、色範囲を分割して設定するためのアルゴリズムは上記に限定されるものではなく、使用条件等に応じて適宜決定されるべきものである。
以上のように、本実施形態によれば、ユーザが指定した1以上の色に基づいて対象色の色範囲が設定される。これにより、対象色の設定をより簡便に行うことが可能となる。
(第6の実施形態)
図43は、第6の実施形態に係る情報処理装置351の機能構成例を示すブロック図である。本実施形態に係る情報処理装置351は、図29に示す第4又は第5の実施形態に係る情報処理装置301の機能部101〜113,261,262,311に加え、拡張化部361を備えている。
拡張化部361は、平準化基準ヒストグラム及び平準化検知ヒストグラムにおけるピークを拡張させる拡張化処理を行う。比較部109は、拡張化された平準化基準ヒストグラムである拡張化基準ヒストグラム(第1の拡張化ヒストグラム)と、拡張化された平準化検知ヒストグラムである拡張化検知ヒストグラム(第2の拡張化ヒストグラム)との比較結果を示す比較情報を生成する。
拡張化処理の方法は特に限定されるべきものではないが、ピーク幅を横軸(ビン軸)方向に拡張させたり、ピーク高さを縦軸(頻度値軸)方向に拡縮させたりすることにより、ピーク内に隙間が形成されないようにピーク形状を横軸方向に拡大させる処理であることが好ましい。
図44は、第6の実施形態に係る情報処理装置351による処理例を示すフローチャートである。図44に示す本実施形態に係るフローチャートと図30に示す第4の実施形態に係るフローチャートとの相違点は、主に本実施形態に係るフローチャートが拡張化部361に係るステップS401,S402を含んでいる点にある。
ステップS202において原点移動部262によりヒストグラムの原点位置が調整された後、拡張化部361は、平準化されたヒストグラム(平準化基準ヒストグラム及び平準化検知ヒストグラム)を拡張化する(S401)。その後、比較部109は、拡張化された両ヒストグラム(拡張化基準ヒストグラム及び拡張化検知ヒストグラム)を比較して検知率を算出する(S402)。その後、ステップS107以降の処理が行われる。
図45は、第6の実施形態に係る拡張化部361による具体的な処理例を示すフローチャートである。拡張化部361は、平準化ベクトルH’(図8のステップS152により生成されたもの)を取得し(S451)、平準化ベクトルH’に対応するヒストグラムにおけるピークに対応する拡張化行列Eを生成する(S452)。その後、拡張化部361は、平準化ベクトルH’と拡張化行列Eとを積算し、拡張化ベクトルH’’を生成する(S453)。
下記式(9)は平準化ベクトルH’の第1の例であり、下記式(10)は拡張化行列Eの第1の例であり、下記式(11)は拡張化ベクトルH’’の第1の例である。
上記式(9)〜(11)の例は、ヒストグラムのビン数が4であり、平準化ベクトルH’に対応する平準化されたヒストグラムの第1のビン及び第2のビンの部分においてピークが形成されている。
下記式(12)は平準化ベクトルH’の第2の例であり、下記式(13)は拡張化行列Eの第2の例であり、下記式(14)は拡張化ベクトルH’’の第2の例である。
上記式(12)〜(14)の例は、ヒストグラムのビン数が4であり、平準化ベクトルH’に対応する平準化されたヒストグラムの第2のビンの部分においてピークが形成されている。
平準化ベクトルH’、拡張化ベクトルH’’、及び拡張化行列Eのサイズはビン数に応じて変化する。また、拡張化行列Eは、平準化ベクトルH’のピーク位置、ピーク幅、ピーク高さ等に応じて変化する。拡張化行列Eは、ユーザにより設定されてもよいし、プログラムにより自動的且つ動的に生成されてもよい。
その後、拡張化部361は、拡張化ベクトルH’’に基づいて拡張化されたヒストグラムを生成する(S454)。すなわち、平準化基準ヒストグラムに対応する拡張化ベクトルH’’に基づいて拡張化基準ヒストグラムを生成し、平準化検知ヒストグラムに対応する平準化ベクトルH’’に基づいて拡張化検知ヒストグラムを生成する。
図46は、第5の実施形態に係る拡張化前のヒストグラムの例を示す図である。図47は、第5の実施形態に係る拡張化後のヒストグラムの例を示す図である。図46に示す拡張化前のヒストグラムは、平準化基準ヒストグラム又は平準化検知ヒストグラムに相当する。図47に示す拡張化後のヒストグラムは、拡張化基準ヒストグラム又は拡張化検知ヒストグラムに相当する。
図46において、拡張化前の3つのピーク371a〜371cを含む折れ線370及び拡張化前の拡張領域373が例示されている。拡張領域373は、3つのピーク371a〜371cを含むように設定された矩形の領域である。本例の拡張領域373は、点a(0,0)、点b(30,0)、点c(0,28000)、及び点d(40,28000)を結ぶ線分により形成されている。本例の3つのピーク371a〜371cは、ビン全体のうちの一部のビン(本例では原点近傍のビン)に集中している。このような状態は、例えば検知領域155全体の面積に対する検体161a〜161c(色相を有する物体)が占める面積の割合が小さい場合に生じる。このようなヒストグラムを用いて比較を行うと、正否判定の精度が低下する場合がある。
図47において、拡張化後の3つのピーク371a’〜371c’を含む折れ線370’及び拡張化後の拡張領域373’が例示されている。拡張化後の拡張領域373’は、点a’(0,−450)、点b’(250,−450)、点c’(0,3400)、及び点d’(250,3400)を結ぶ線分により形成されている。このように、本例における拡張化処理は、全体のビン数(256)を変化させずに行われる。このような拡張化処理により、3つのピーク371a’〜371c’を含む折れ線370’を構成する要素がヒストグラム全体に渡って分散される。比較の対象となる要素が分散されることにより、正否判定の精度を向上させることができる。なお、上記拡張領域373,373’の大きさ、形状、拡張量は単なる一例であり、拡張領域373,373’の設定方法は使用状況に応じて適宜選択されるべきものである。
図48は、第6の実施形態に係る設定画面371の拡張化前における状態の例を示す図である。本例の基準画像175は、背景374のみを映した画像である。本例の検知画像176は、背景374上に1つの検体161aが存在している画像である。本例の検知画像176において、検知画像176全体の面積に対する検体161aの面積が占める割合はかなり小さくなっている。
拡張化前におけるヒストグラム表示部173には、拡張化前のヒストグラム、すなわち基準画像175に対応する平準化基準ヒストグラム375と、検知画像176に対応する平準化検知ヒストグラム376とが表示されている。平準化基準ヒストグラム375は、背景374の色相に対応するピーク380aを含んでいる。平準化検知ヒストグラム376は、背景374の色相に対応するピーク380bと検体161aの色相に対応するピーク381とを含んでいる。平準化検知ヒストグラム376を構成する全要素に対するピーク381を構成する要素の割合はかなり小さい。そのため、平準化基準ヒストグラム375と平準化検知ヒストグラム376との差異は僅かとなり、検知率表示部191に表示された検知率の値は4.0%とかなり低い値になっている。
図49は、第6の実施形態に係る設定画面371の拡張化後における状態の例を示す図である。拡張化後におけるヒストグラム表示部173には、拡張化後のヒストグラム、すなわち平準化基準ヒストグラム375を拡張化させた拡張化基準ヒストグラム391と、平準化検知ヒストグラム376を拡張化させた拡張化検知ヒストグラム392とが表示されている。拡張化基準ヒストグラム391は、背景374の色相に対応する拡張化されたピーク380a’を含んでいる。拡張化検知ヒストグラム392は、背景374の色相に対応する拡張化されたピーク380b’と検体161aの色相に対応する拡張化されたピーク381’とを含んでいる。図49に示すように、拡張化基準ヒストグラム391と拡張化検知ヒストグラム392との差異はかなり大きく、検知率表示部191に表示された検知率の値は69.0%とかなり大きい値になっている。
上記のように、平準化されたヒストグラムに拡張化処理を施すことにより、基準画像175と検知画像176との差異が小さい場合であっても、基準画像175に対応するヒストグラムと検知画像176に対応するヒストグラムとの差異を大きくすることが可能となる。これにより、正否判定の感度を向上させることが可能となる。拡張化の程度は、ユーザにより調整可能であってもよい。例えば、拡張化部361は、入力部103に感度を高くするための操作が入力された場合には、拡張化の程度が大きくなるように拡張化行列Eを生成する。これにより、ユーザは設定画面371上に表示される基準画像175、検知画像176、ヒストグラム375,376,391,392、検知率等を確認しながら、検知率の閾値や拡張化の程度を適切に調整することが可能となる。これにより、正否判定の実用性を更に向上させることが可能となる。
なお、上記第6の実施形態の説明においては、再計算部261、原点移動部262、及び色設定部311が含まれている例が示されているが、再計算部261、原点移動部262、及び色設定部311の全て又は一部が含まれていなくてもよい。
なお、上記第1〜第6の実施形態では、基準画像と検知画像は映像データが示す映像の任意の領域に基づき設定されたが、本発明は係る実施形態に限定されない。例えば、デジタルカメラ等の静止画を撮像する機器により撮像された静止画を基準画像、検知画像としてもよいし、また、基準画像は静止画を撮像する機器により撮像された静止画で、検知画像は映像データに基づいて設定されたものであってもよく、その逆であってもよい。
上記第1〜第6の実施形態に係る画像処理システム1及び情報処理装置3,251,301,351の各種機能の少なくとも一部がプログラムの実行によって実現される場合、プログラムはROM等に予め組み込まれて提供される。また、プログラムはインストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD等のコンピュータで読み取り可能な記録媒体に記録して提供されてもよい。また、プログラムはインターネット等のネットワークに接続されたコンピュータ上に格納され、ネットワーク経由でダウンロードさせることにより提供され得るように構成されてもよい。また、プログラムはインターネット等のネットワーク経由で提供又は配布され得るように構成されてもよい。また、プログラムは上述した各機能の少なくとも一部を含むモジュール構成となっていてもよい。
以上、本発明の実施形態を説明したが、上記実施形態は例として提示したものであり、発明の範囲を限定することを意図するものではない。上記新規な実施形態はその他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で種々の省略、置き換え、変更を行うことができる。上記実施形態及びその変形は発明の範囲及び要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。