(57)【特許請求の範囲】
【請求項１】
画像を取得する取得手段と、
ユーザの指示を受け付ける受け付け手段と、
取得した画像の各画素を複数のクラスタに分割し、分割された各クラスタの代表値に基づく複数個のピークを有するヒストグラムを作成し、前記受け付け手段により受け付けた指示にしたがって、当該ヒストグラムの各ピークを、当該各ピーク間の相対的な位置関係により決定される閾値に基づいて分類し、分類された各ピークに対応する代表値が含まれる各クラスタを構成する各画素が配置された当該画像の領域を、各ピークの分類に基づいて識別する識別手段と、
を備えることを特徴とする、情報処理装置。
【請求項２】
前記識別手段は、前記分類の単位となる前記各画素の値の範囲を前記ヒストグラムにより決定し、決定した当該範囲と前記閾値とに基づいて前記各ピークを分類することを特徴とする、請求項１に記載の情報処理装置。
【請求項３】
前記識別手段は、前記受け付け手段により受け付けた分割数Ｋの指示にしたがってＫ−ｍｅａｎｓクラスタリングを行って、前記画像の各画素をＫ個のクラスタに分割することを特徴とする、請求項１に記載の情報処理装置。
【請求項４】
前記識別手段は、分割された前記クラスタごとに、当該クラスタに含まれる各画素をグレースケール処理して当該画素ごとのグレースケール値を求め、当該画素ごとのグレースケール値に基づいて当該クラスタごとの前記代表値を特定し、前記ヒストグラムを作成することを特徴とする、請求項１乃至３のうちいずれか１項に記載の情報処理装置。
【請求項５】
前記識別手段は、前記ヒストグラムの各ピークを２種類に分類し、分類された各ピークに対応する代表値が含まれる各クラスタを構成する各画素のグレースケール値を当該分類に応じて二値化し、二値化された各画素の画素値に応じて、前記画像の領域を２分割して識別することを特徴とする、請求項４に記載の情報処理装置。
【請求項６】
水面を撮影した画像を取得する取得手段と、
ユーザの指示を受け付ける受け付け手段と、
取得した画像の各画素を複数のクラスタに分割し、分割された各クラスタの代表値に基づく複数個のピークを有するヒストグラムを作成し、前記受け付け手段により受け付けた指示にしたがって、当該ヒストグラムの各ピークを、当該各ピーク間の相対的な位置関係により決定される閾値に基づいて、泡に帰属するピークと泡以外に帰属するピークとに分類し、各ピークの分類に基づいて、分類された各ピークに対応する代表値が含まれる各クラスタを構成する各画素が配置された当該画像の領域が、泡を表す領域か否かを識別する識別手段と、
を備えることを特徴とする、情報処理装置。
【請求項７】
コンピュータを制御して、
画像を取得する取得手段と、
ユーザの指示を受け付ける受け付け手段と、
取得した画像の各画素を複数のクラスタに分割し、分割された各クラスタの代表値に基づく複数個のピークを有するヒストグラムを作成し、前記受け付け手段により受け付けた指示にしたがって、当該ヒストグラムの各ピークを、当該各ピーク間の相対的な位置関係により決定される閾値に基づいて分類し、分類された各ピークに対応する代表値が含まれる各クラスタを構成する各画素が配置された当該画像の領域を、各ピークの分類に基づいて識別する識別手段として、
機能させることを特徴とする、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置およびプログラムに関する。
【背景技術】
【０００２】
従来、排水処理場等における排水槽の発砲状況の監視は、目視や、水槽内を撮影した画像を解析することにより行われている。
【０００３】
特許文献１には、透過光量の変化により放水路に排出される排出海水の水面（以下、排出海水面）に生じた泡を検知する技術が開示されている。特許文献２には、赤外線にて測定する温度変化により排出海水面に生じた泡を検知する技術が開示されている。特許文献３には、反射光量により排出海水面に生じた泡を検知する技術が開示されている。
【０００４】
特許文献４には、水槽（反応槽）内を撮影して得られた画像を解析し、水槽内の汚水の状態を検知する技術が開示されている。同文献に記載された技術において、画像の解析には、深層学習により学習された検知装置が用いられている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１３−３４９２１号公報
【特許文献２】特開２０１３−３６７８２号公報
【特許文献３】特開２０１３−３６７８６号公報
【特許文献４】特開２０１９−１５２９６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
水槽内の監視を目視で行うことは、監視者の負担が大きい。画像解析を用いて泡を検知することにより自動監視を行えば、監視者の負担は軽減されるが、既存の技術を用いる場合、単なるパラメータの対比による検知では精度が不十分であった。また、深層学習を用いることにより検知精度を向上させることができるが、深層学習を用いた検知手段を用いると導入コストが増大する。水面の監視に限らず、一般に、画像において監視対象である領域の変化を検出しようとする場合、同様の課題がある。
【０００７】
本発明は、導入コストの増大を抑制しながら、画像における監視対象の領域の変化を自動検出する際の検出精度を向上させることを目的とする。
【課題を解決するための手段】
【０００８】
上記の目的を達成する本発明は、画像を取得する取得手段と、ユーザの指示を受け付ける受け付け手段と、取得した画像の各画素を複数のクラスタに分割し、分割された各クラスタの代表値に基づく複数個のピークを有するヒストグラムを作成し、受け付け手段により受け付けた指示にしたがって、ヒストグラムの各ピークを、各ピーク間の相対的な位置関係により決定される閾値に基づいて分類し、分類された各ピークに対応する代表値が含まれる各クラスタを構成する各画素が配置された画像の領域を、各ピークの分類に基づいて識別する識別手段と、を備えることを特徴とする、情報処理装置である。
ここで、識別手段は、分類の単位となる各画素の値の範囲をヒストグラムにより決定し、決定した範囲と閾値とに基づいて各ピークを分類するようにしても良い。
また、識別手段は、受け付け手段により受け付けた分割数Ｋの指示にしたがってＫ−ｍｅａｎｓクラスタリングを行って、画像の各画素をＫ個のクラスタに分割するようにしても良い。
また、識別手段は、分割されたクラスタごとに、クラスタに含まれる各画素をグレースケール処理して画素ごとのグレースケール値を求め、この画素ごとのグレースケール値に基づいてクラスタごとの代表値を特定し、ヒストグラムを作成するようにしても良い。
また、識別手段は、ヒストグラムの各ピークを２種類に分類し、分類された各ピークに対応する代表値が含まれる各クラスタを構成する各画素のグレースケール値を分類に応じて二値化し、二値化された各画素の画素値に応じて、画像の領域を２分割して識別するようにしても良い。
また、水面の発泡状態の監視に適用し得る本発明は、水面を撮影する撮影装置と、この撮影装置により撮影された画像に基づき水面に生じた泡を検出する情報処理装置と、を備えた監視システムとしても実現される。この情報処理装置は、撮影装置から水面を撮影した画像を取得する取得手段と、ユーザの指示を受け付ける受け付け手段と、取得した画像の各画素を複数のクラスタに分割し、分割された各クラスタの代表値に基づく複数個のピークを有するヒストグラムを作成し、受け付け手段により受け付けた指示にしたがって、ヒストグラムの各ピークを、各ピーク間の相対的な位置関係により決定される閾値に基づいて、泡に帰属するピークと泡以外に帰属するピークとに分類し、各ピークの分類に基づいて、分類された各ピークに対応する代表値が含まれる各クラスタを構成する各画素が配置された画像の領域が、泡を表す領域か否かを識別する識別手段と、を備える。
ここで、撮影装置として、近赤外線カメラを用いて前記水流を撮影することとしても良い。
また、撮影装置から取得した画像から、泡の検出を行う対象となる領域を抽出する画像処理手段をさらに備え、識別手段は、画像処理手段により抽出された領域の画像を対象として、泡を表す領域の識別を行うこととしても良い。
また、上記の目的を達成する他の本発明は、コンピュータを制御して、画像を取得する取得手段と、ユーザの指示を受け付ける受け付け手段と、取得した画像の各画素を複数のクラスタに分割し、分割された各クラスタの代表値に基づく複数個のピークを有するヒストグラムを作成し、受け付け手段により受け付けた指示にしたがって、ヒストグラムの各ピークを、その各ピーク間の相対的な位置関係により決定される閾値に基づいて分類し、分類された各ピークに対応する代表値が含まれる各クラスタを構成する各画素が配置された画像の領域を、各ピークの分類に基づいて識別する識別手段として、機能させることを特徴とする、プログラムである。
【発明の効果】
【０００９】
本発明によれば、導入コストの増大を抑制しながら、画像における監視対象の領域の変化を自動検出する際の検出精度を向上させることができる。
【図面の簡単な説明】
【００１０】
【図１】本実施の形態による監視システムの全体構成を示す図である。
【図２】情報処理装置の機能構成を示す図である。
【図３】情報処理装置としてのコンピュータのハードウェア構成例を示す図である。
【図４】情報処理装置の動作を示すフローチャートである。
【図５】Ｋ−ｍｅａｎｓクラスタリングの手順を示す図であり、図５（Ａ）は、ＲＧＢ空間に各画素の値をプロットした状態を示す図、図５（Ｂ）は、ランダムにＫ個のクラスタ中心を作成した状態を示す図、図５（Ｃ）は、クラスタ中心からの距離に応じて各画素を分類した状態を示す図、図５（Ｄ）は、分類結果に基づきクラスタ中心を更新した状態を示す図、図５（Ｅ）は、更新されたクラスタ中心からの距離に応じて各画素を分類した状態を示す図、図５（Ｆ）は、クラスタ中心の更新および分類を繰り返し、変化がなくなったところで分類終了した状態を示す図である。
【図６】同じ検出対象画像に対して異なる分割数Ｋを適用して識別される泡領域の例を示す図である。
【図７】分割数Ｋ＝６でグレースケール処理を行って得られるヒストグラムの例を示す図である。
【図８】明環境下における可視光で撮影した画像に基づく識別結果と近赤外線で撮影した画像に基づく識別結果とを比較する図であり、図８（Ａ）は可視光で撮影した画像に基づく識別結果を示す図、図８（Ｂ）は近赤外線で撮影した画像に基づく識別結果を示す図である。
【図９】暗環境下における可視光で撮影した画像に基づく識別結果と近赤外線で撮影した画像に基づく識別結果とを比較する図であり、図９（Ａ）は可視光で撮影した画像に基づく識別結果を示す図、図９（Ｂ）は近赤外線で撮影した画像に基づく識別結果を示す図である。
【発明を実施するための形態】
【００１１】
以下、添付図面を参照して、本発明の実施の形態について詳細に説明する。
＜システム構成＞
図１は、本実施の形態による監視システムの全体構成を示す図である。図１に示す監視システムは、監視対象の水面を撮影する撮影装置１００と、情報処理装置２００とを備える。図１に示す例では、出水口３２０から水槽３１０へ給水が行われており、水槽３１０に貯留された水の水面を撮影装置１００により撮影している。本実施の形態の監視システムは、撮影装置１００により撮影された画像を情報処理装置２００により解析し、水槽３１０の水面における発泡状態を監視する。すなわち、この例では、水面が監視対象であり、水面に発生する泡や泡の状態変化が監視における検出対象である。
【００１２】
撮影装置１００は、監視対象である水面を撮影するカメラである。撮影装置１００により撮影される画像は、動画であっても静止画であっても良い。ただし、水面の状況を観察する目的に鑑み、静止画の場合、例えば、一定時間間隔で連続的に撮影される。撮影装置１００として用いられるカメラは、特に限定しないが、例えば、ウェブカメラやＩＰカメラ（ネットワークカメラ）等が用いられる。撮影装置１００に求められる解像度は、監視における泡の検知精度とのトレードオフになるが、例えば、数十センチ四方〜１メートル四方程度の領域（水面）を監視する場合、２００万画素程度としても良い。
【００１３】
撮影装置１００には、近赤外線カメラを用いることが考えられる。水面の撮影自体は例えば可視光による撮影を行うカメラでも可能であるが、近赤外線（０．８〜２．５μｍ程度）で撮影することにより、昼間、夜間、日陰などの撮影環境における明るさの影響や水面の反射の影響を低減させることができる。また、撮影対象が水面であるため、水面の反射の影響を低減させるため、偏光フィルタを用いても良い。
【００１４】
撮影装置１００は、撮影した画像をデジタルデータとして情報処理装置２００へ送信する送信機能を備える。画像のデータ形式は、情報処理装置２００で扱える形式であれば良く、特に限定しない。撮影装置１００から情報処理装置２００へのデータの転送は、ネットワーク接続によって行っても良いし、撮影装置１００と情報処理装置２００とをケーブル等により直接接続して行っても良い。また、撮影装置１００と情報処理装置２００とを接続する回線は、有線であっても無線であっても良い。
【００１５】
情報処理装置２００は、撮影装置１００により撮影された監視対象である水面の画像をクラスタリング（クラスタ分析）により解析し、水面における発泡状態を特定する。本実施の形態では、クラスタリングの手法として、Ｋ−ｍｅａｎｓクラスタリング（Ｋ−ｍｅａｎｓ法、Ｋ平均法などとも呼ぶ）を用いた例について説明する。情報処理装置２００は、水面に泡が発生すると、水面における泡の領域（以下、「泡領域」と呼ぶ）の面積を特定する。
【００１６】
＜情報処理装置２００の機能＞
図２は、情報処理装置２００の機能構成を示す図である。情報処理装置２００は、通信部２１０と、画像取得部２２０と、画像処理部２３０と、識別部２４０と、面積特定部２５０と、操作部２６０と、出力部２７０とを備える。
【００１７】
通信部２１０は、撮影装置１００と接続し、画像のデータを受信するための通信を行うインターフェイスである。情報処理装置２００から撮影装置１００を遠隔操作可能なシステム構成とする場合、通信部２１０は、撮影装置１００を制御するためのコマンドやデータを送信する機能を有していても良い。
【００１８】
画像取得部２２０は、通信部２１０を介して行われる撮影装置１００との通信により、撮影装置１００から画像のデータを取得する。画像取得部２２０は、取得手段の一例である。データは、例えば、画像処理ライブラリであるＯｐｅｎＣＶ（Open Source Computer Vision Library）を用いて読み込むことができる。ＯｐｅｎＣＶを用いることにより、一般的なＷｅｂカメラの規格であるＵＶＣ（USB Video Class）やＩＰカメラの規格ＯＮＶＩＦ（Open Network Video Interface Forum）などに対応したデータを読み込むことができ、読み込んだデータに対して画像処理を行うことができる。撮影装置１００から取得される画像は、監視対象である水面の画像であり、時系列の静止画である。撮影装置１００において動画が撮影されている場合、撮影装置１００から受信した動画のデータから、例えば、フレームごとに静止画として抽出される。
【００１９】
画像処理部２３０は、画像取得部２２０により取得された画像から検出範囲（領域）を抽出する処理を行う。撮影装置１００により撮影された画像には、水槽３１０の壁面等、水面および泡以外の領域が映り込む場合がある。そのような場合に、取得した画像をそのまま用いて泡の検出を行うと、検出精度が低下する可能性がある。そこで、ユーザによる範囲指定の操作を受け付けて、撮影された画像から検出範囲を切り出す。以下、切り出された検出範囲の画像を「検出対象画像」と呼ぶ。検出範囲の指定操作は、例えば、撮影装置１００により撮影された画像を表示装置に表示し、表示された画面上で、マウス等の操作デバイスを用いて行われる。具体的には、画面上の４点を指定することで、指定された４点を頂点とする四角形領域を特定し、検出対象画像として抽出するようにしても良い。
【００２０】
識別部２４０は、監視対象である水面において泡領域を識別する。具体的には、識別部２４０は、画像処理部２３０により抽出された検出対象画像に対してＫ−ｍｅａｎｓクラスタリングを行う。識別部２４０は、Ｋ−ｍｅａｎｓクラスタリングの結果に基づき、水面のヒストグラムを作成する。識別部２４０は、ユーザによる指定操作を受け付けて、水面のヒストグラムから泡領域を表す箇所を特定し、この結果に基づいて、水面をクラスタごとに泡領域と水面領域とに分類（二値化）する。Ｋ−ｍｅａｎｓクラスタリングおよび水面を分類する処理の詳細については後述する。
【００２１】
面積特定部２５０は、識別部２４０により識別された泡領域面積を特定する。具体的には、面積特定部２５０は、識別部２４０により泡領域として識別されたクラスタに含まれる画素（二値化による一方の値を有する画素）を計数し、泡領域の面積を特定（定量化）する。
【００２２】
操作部２６０は、ユーザが上記の各機能に対する入力操作を行うための操作デバイスである。具体的には、操作部２６０を用いて、画像処理部２３０において検出対象画像を切り出すための検出範囲を指定する操作、Ｋ−ｍｅａｎｓクラスタリングの分割数（クラスタ数）Ｋを入力する操作、水面のヒストグラムにおいて泡領域を表す箇所を指定する操作、その他の各種の入力操作が行われる。操作部２６０は、受け付け手段の一例である。操作部２６０は、上記の各機能における処理の実行に要するコマンドやデータを入力可能なデバイスであれば良く、特定のデバイスに限定されない。
【００２３】
出力部２７０は、面積特定部２５０により特定された泡領域の面積の情報を出力する。出力部２７０による情報の出力は、例えば、表示装置に情報を表示させることにより行われる。表示装置には、出力部２７０により出力された泡領域の面積の情報の他、撮影装置１００により撮影された画像、上記各機能による処理の結果、操作部２６０を用いて行われた操作の結果等の種々の情報を表示しても良い。
【００２４】
＜情報処理装置２００のハードウェア構成＞
本実施の形態の情報処理装置２００は、コンピュータにより実現される。図３は、情報処理装置２００としてのコンピュータのハードウェア構成例を示す図である。情報処理装置２００を構成するコンピュータは、演算手段であるＣＰＵ（Central Processing Unit）２０１と、記憶手段であるＲＡＭ（Random Access Memory）２０２、ＲＯＭ（Read Only Memory）２０３、記憶装置２０４と、入力装置２０５と、表示装置２０６とを備える。ＲＡＭ２０２は、主記憶装置（メイン・メモリ）であり、ＣＰＵ２０１が演算処理を行う際の作業用メモリとして用いられる。ＲＯＭ２０３にはプログラムや予め用意された設定値等のデータが保持されており、ＣＰＵ２０１はＲＯＭ２０３から直接プログラムやデータを読み込んで処理を実行することができる。記憶装置２０４は、プログラムやデータの保存手段である。記憶装置２０４にはプログラムが記憶されており、ＣＰＵ２０１は記憶装置２０４に格納されたプログラムを主記憶装置に読み込んで実行する。また、記憶装置２０４には、ＣＰＵ２０１による処理の結果が格納され、保存される。記憶装置２０４としては、例えば磁気ディスク装置やＳＳＤ（Solid State Drive）等が用いられる。入力装置２０５は、ユーザがコマンドやデータを入力するために操作するデバイスであり、キーボードや、マウス（ポインティングデバイス）等が用いられる。表示装置２０６は、各種の画面を表示する装置であり、液晶ディスプレイや有機ＥＬ（Electro-Luminescence）ディスプレイ等が用いられる。また、特に図示しないが、このコンピュータは、外部装置と接続してデータ通信を行うためのインターフェイスを備える。
【００２５】
情報処理装置２００を図３に示すコンピュータにより構成する場合、通信部２１０は、例えば、プログラム制御されたＣＰＵ２０１と、撮影装置１００に接続可能なインターフェイスとにより実現される。画像取得部２２０、画像処理部２３０、識別部２４０および面積特定部２５０の各機能は、例えば、ＣＰＵがプログラムを実行することにより実現される。操作部２６０は、例えば、入力装置２０５により実現される。出力部２７０は、例えば、表示装置２０６により実現される。
【００２６】
＜泡領域の識別処理＞
ここで、情報処理装置２００の識別部２４０により行われる泡領域の識別処理について説明する。識別部２４０は、検出対象画像に対し、Ｋ−ｍｅａｎｓクラスタリング、各クラスタの画素のグレースケール化およびヒストグラムの作成、検出対象画像の各画素の分割の各処理を行う。これにより、情報処理装置２００は、検出対象画像の各画素を、泡に該当する画素（泡領域）と、泡以外の水面に該当する画素（水面領域）とに分割する。以下、各処理について説明する。
【００２７】
＜Ｋ−ｍｅａｎｓクラスタリング＞
Ｋ−ｍｅａｎｓクラスタリングは、分割数Ｋ（Ｋ＝２，３，…）を指定することで、与えられたデータをある基準軸に基づいてＫ個のクラスタに分類するアルゴリズムである。本実施の形態では、検出対象画像のＮ個の各画素が持っている値（画素値）をＲＧＢ空間にマッピングし、そのＲＧＢ空間内における画素間の距離を指標としてクラスタリングを行う。
【００２８】
図５は、Ｋ−ｍｅａｎｓクラスタリングの手順を示す図である。図５（Ａ）は、ＲＧＢ空間に各画素の値をプロットした状態を示す図、図５（Ｂ）は、ランダムにＫ個のクラスタ中心を作成した状態を示す図、図５（Ｃ）は、クラスタ中心からの距離に応じて各画素を分類した状態を示す図、図５（Ｄ）は、分類結果に基づきクラスタ中心を更新した状態を示す図、図５（Ｅ）は、更新されたクラスタ中心からの距離に応じて各画素を分類した状態を示す図、図５（Ｆ）は、クラスタ中心の更新および分類を繰り返し、変化がなくなったところで分類終了した状態を示す図である。
【００２９】
本実施の形態におけるＫ−ｍｅａｎｓクラスタリングでは、まず、図５（Ａ）に示すように、検出対象画像の各画素を、画素ごとのＲＧＢ値に基づき、ＲＧＢの色空間（ＲＧＢ座標上）にプロットする。次に、図５（Ｂ）に示すように、このＲＧＢの色空間に対し、Ｋ個の点（クラスタ中心点）をランダムに配置する。そして、図５（Ｃ）に示すように、このＲＧＢの色空間におけるＫ個のクラスタ中心点とプロットされた各画素の点との距離を計算し、画素ごとに最も近いクラスタ中心点を求め、各画素を最も近いクラスタ中心点が含まれるクラスタに分類する。
【００３０】
ここで、クラスタ中心点と各画素との距離は、以下の式で表される。
【数１】
0006943381.tif 000002
ｉ：サンプルデータ（画素）の番号（ｉ∈Ｎ）
ｊ：クラスタ（分類）の番号（ｊ∈Ｋ）
Samplesi：サンプル（画素）ｉの（Ｒ，Ｇ，Ｂ）の値
Centerslabel j：クラスタ中心点ｊの（Ｒ，Ｇ，Ｂ）の値
【００３１】
次に、図５（Ｄ）に示すように、クラスタごとに、クラスタに含まれる各画素の平均位置（ＲＧＢ値の平均値）を求め、そのクラスタにおけるクラスタ中心点の位置を得られた平均位置に更新する。そして、図５（Ｅ）に示すように、ＲＧＢの色空間において、更新されたＫ個のクラスタ中心点と検出対象画像の各画素の点との距離を計算し、画素ごとに最も近いクラスタ中心点を求め、各画素の分類（所属クラスタ）を更新する。
【００３２】
上記のクラスタごとの各画素の平均値に基づくクラスタ中心点の位置の更新と、更新されたクラスタ中心点に応じた各画素の分類の更新とを繰り返して実行し、変化がなくなったならば分類を終了し、その時の各クラスタを分類結果とする。
【００３３】
Ｋ−ｍｅａｎｓクラスタリングにおいて、分割数Ｋは、泡の検出精度に大きな影響を及ぼすパラメータである。分割数Ｋが小さすぎると、検出対象画像内の細かな違いを分類することができないため、暗く映った泡の個所を水面領域と誤って判断してしまう可能性が高まる。一方、分割数Ｋが大きすぎると、泡領域内でもクラスタを分類してしまい、泡領域の一部を分割して水面領域としてしまう可能性が高まる。そのため、分割数Ｋの値を適切に決定する必要がある。
【００３４】
図６は、同じ検出対象画像に対して異なる分割数Ｋを適用して識別される泡領域の例を示す図である。図６（Ａ）は分割数Ｋ＝２として識別された泡領域の例を示す図、図６（Ｂ）は分割数Ｋ＝６として識別された泡領域の例を示す図、図６（Ｃ）は分割数Ｋ＝８として識別された泡領域の例を示す図、図６（Ｄ）は分割数Ｋ＝９として識別された泡領域の例を示す図である。図６（Ａ）〜（Ｄ）の各図において、上段は検出対象画像であり、下段は各分割数Ｋにより泡領域を識別した様子を示す。下段の図において、白く表された部分が泡領域と識別された領域であり、黒く表された領域が水面領域と識別された領域である。
【００３５】
図６（Ａ）〜（Ｄ）を比較すると、分割数Ｋの違いに応じて、泡領域として認識された領域が異なっている。分割数Ｋ＝２ではクラスタが少なすぎるため、図６（Ａ）の下段画像の中方付近に示されるように、検出対象画像の画像内で明度差があると泡領域をうまく抽出することができていない。分割数Ｋ＝９では、クラスタが多すぎるため、図６（Ｄ）の下段画像の上側領域や右側領域に示されるように、泡が生じていても泡でない領域（水面領域）に分類された領域が多くなっている。分割数Ｋ＝６、８でのクラスタリングの結果によれば、分割数Ｋ＝６では、図６（Ｂ）の下段画像の左上側領域に示されるように、水面の反射を泡として検出してしまっているものの、分割数Ｋ＝８の場合と比較して、図６（Ｂ）、（Ｃ）の中央付近および中央上側領域に示されるように、暗い領域（輝度の低い領域）においても泡が検出できている。そこで、分割数Ｋ＝６を採用することが考えられる。
【００３６】
＜ヒストグラムの作成＞
本実施の形態では、検出対象画像の各画素について、Ｋ−ｍｅａｎｓクラスタリングにより分割されたクラスタに基づいてヒストグラムを作成する。Ｋ−ｍｅａｎｓクラスタリングを行うことにより、以下のようなデータ群Ｄi（ｉ∈Ｋ）が得られる。
【数２】
0006943381.tif 000003
ただし、このときＮiは、クラスタ数をＫとしたときにクラスタｉに含まれるデータの数を表す。
【００３７】
クラスタリングを行い、定常状態に収束したクラスタごとのデータ群の中心座標を、
【数３】
0006943381.tif 000004
と表現する。そして、データ群Ｄiの全要素ｄij（ｊ∈Ｎi）を
【数４】
0006943381.tif 000005
として、クラスタを構成する全要素の値を、各画素が属するクラスタの代表値に置き換える。これにより、検出対象画像中のすべての画素ピクセル値は分割数Ｋに分類されることとなる。
【００３８】
次に、この状態で全ピクセルに対して、グレースケール処理を行う。グレースケール処理とは、各画素のＲＧＢ値をグレースケール値に変換する処理である。グレースケール値は、各画素の持つＲＧＢ値を（Ｒ，Ｇ，Ｂ）＝（Ｉr，Ｉg，Ｉb）としたとき、次式のように表現される。
【数５】
0006943381.tif 000006
以上の処理により、検出対象画像中のすべての画素は、分割数Ｋ個のグレースケール値に変換される。
【００３９】
図７は、分割数Ｋ＝６でグレースケール処理を行って得られるヒストグラムの例を示す図である。各画素の画素値がクラスタごとの代表値に置き換えられるため、図７に示すヒストグラムには、分割数に対応する６個のピーク値が示されている。このヒストグラムには、水面の画素から生成されたピーク（水面に帰属するピーク）と泡の画素から生成されたピーク（泡に帰属するピーク）がそれぞれ複数存在している。このヒストグラムは、情報処理装置２００において、例えば表示装置に表示されユーザに提示される。ユーザは、提示されたヒストグラムを参照し、泡に帰属するピークを指定する。
【００４０】
ここでは、一例として、６個のピークのうち、右から２個のピークを泡に帰属するピークとし、残りの４個のピークを水面に帰属するピークとしている。この例では、右から２個目のピークと３個目のピークとの間に閾値（図では一点鎖線で表示）を設定し、この閾値よりもグレースケール値が大きいピークを泡に帰属するピークとし、閾値よりもグレースケール値が小さいピークを水面に帰属するピークとしている。グレースケール値が大きいとは、検出対象画像において、より明るい領域であることを意味する。
【００４１】
図７に示したように、一つの閾値を設定し、閾値よりも明るい（グレースケール値が大きい）か暗い（グレースケール値が小さい）かに応じて泡領域と水面領域とを識別する場合、単にグレースケール化した検出対象画像に対して閾値を設定して識別しても、上記と同様の結果が得られる。ただし、監視対象の周囲の環境が変化する場合、環境の変化に応じて閾値を設定し直すことが必要となる場合がある。例えば、野外での水面の監視等では時間経過や天候に応じて周囲の明るさが変化する。この場合、周囲の明るさの変化に応じて閾値となるグレースケール値を変化させる必要がある。しかし、周囲の明るさが変化するたびに、毎回、ユーザがグレースケール値のヒストグラムを参照して設定し直すことは、多大な手間を要する。これに対し、図７に示したように、クラスタリングを行ってクラスタごとの代表値によるピークのヒストグラムを作成し、泡に帰属するピークを特定する場合、周囲の明るさが変化しても、各ピークの位置がずれるだけであるため、ピークの相対的な順番にしたがって泡領域を特定すれば良い。したがって、泡領域を特定するのに要するユーザの手間を大きく軽減し得る。
【００４２】
また、上記の例では、図７のヒストグラムに示される６個のピークのうち、右側から２個目のピークと３個目のピークとの間を境界とし、右側の２個（明るい方の２個）を検出対象（この場合は泡）に該当するピークとし、左側の４個（暗い方の４個）を検出対象外（この場合は水面）のピークとして分類した。これに対し、検出対象が中間的な明るさであり、より明るい領域と、より暗い領域とを検出対象外としたい場合であっても、適切にピークを選択することで、検出対象の領域と検出対象外の領域とを分類することができる。
【００４３】
例えば、検出対象のグレースケール値が８０〜１４５であり、検出対象外のグレースケール値が０〜８０と、１４５〜２５５とである場合を考える。そして、分割数ＫでＫ−ｍｅａｎｓクラスタリングを行い、図７に示したヒストグラムが得られたとする。この場合、一番左のピーク（グレースケール値が最も小さいピーク）が、グレースケール値０〜８０である検出対象外の領域に属する画素の多くを表現していると考えられる。そして、左から２番目〜４番目のピークが、グレースケール値８０〜１４５である検出対象領域に属する画素の多くを表現していると考えられる。また、左から５番目〜６番目のピークが、グレースケール値１４５〜２５５である検出対象外の領域に属する画素の多くを表現していると考えられる。したがって、２番目〜４番目のピークを選択することで、検出対象領域を特定することができる。
【００４４】
また、監視対象の水面上に影や周囲の物体の映り込みがある場合、単純に、ある閾値よりも明るい領域を泡領域、暗い領域を水面領域と特定できない場合がある。例えば、水面上の影の部分に生じた泡よりも、影の無い部分の水面の方が明るい場合等である。具体例を挙げると、図７に示したヒストグラムにおいて、最も右側のピークと右から３番目のピークとが泡に帰属するピークであり、残りのピークが水面に帰属するピークであるというようなことが起こり得る。この場合、単にグレースケール化した検出対象画像に閾値を設定するだけでは、泡領域と水面領域とを正しく識別することができない。これに対し、クラスタごとの代表値によるピークのヒストグラムに対して泡に帰属するピークを特定する場合、明るく映った泡だけではなく、暗く映った泡も柔軟に表現し、検出することができるため、検出精度が高くなる。
【００４５】
＜領域の識別＞
ヒストグラムを用いて泡領域に対応するクラスタが検出された後、この検出結果に基づき、検出対象画像を検出対象領域と検出対象外の領域とに分割する。本実施の形態では、二値化処理により、検出対象画像を、検出対象領域である泡領域と、検出対象外の領域である水面領域とに分割する。具体的には、泡に帰属すると判断したピーク（図７の例では右側２つのピークに対応するクラスタに含まれる画素のグレースケール値を２５５（最高値）に、他のピークに対応するクラスタに含まれる画素のグレースケール値を０（最低値）に置き換える。これにより、検出対象画像は、泡領域（グレースケール値が２５５の領域）と水面領域（グレースケール値が０の領域）とに分割される。図６（Ａ）〜（Ｄ）の各図における下段の画像が、それぞれ分割数Ｋ＝２、６、８、９としてＫ−ｍｅａｎｓクラスタリングを行ったときの二値化処理後の検出対象画像である。
【００４６】
＜情報処理装置２００の動作＞
図４は、情報処理装置２００の動作を示すフローチャートである。本実施の形態の監視システムでは、撮影装置１００により監視対象である水面が撮影され、撮影された画像は直ちに情報処理装置２００へ転送される。情報処理装置２００は、撮影装置１００から受信した画像を読み込む（Ｓ４０１）。情報処理装置２００は、例えば、読み込んだ画像を表示装置に表示させる。
【００４７】
次に、情報処理装置２００は、ユーザによる画像の範囲指定を受け付けて、検出対象画像を抽出する（Ｓ４０２）。ここで、撮影装置１００から取得される画像は、撮影装置１００が固定されている限り、水槽３１０を決まった位置から決まった角度で撮影した画像となるので、検出対象画像の範囲指定は１回行えば良く、動画のフレームや取得される静止画ごとに行う必要は無い。
【００４８】
次に、情報処理装置２００は、Ｓ４０３〜Ｓ４０７の処理で泡領域の識別を行う。まず、情報処理装置２００は、ユーザによる分割数Ｋの入力を受け付けて（Ｓ４０３）、Ｓ４０２で抽出した検出対象画像に対してＫ−ｍｅａｎｓクラスタリングを実行する（Ｓ４０４）。このＫ−ｍｅａｎｓクラスタリングにより、検出対象画像の各画素は、Ｋ個のクラスタに分類される。
【００４９】
次に、情報処理装置２００は、Ｋ−ｍｅａｎｓクラスタリングにより得られた各クラスタについて、クラスタごとの代表値を求め、各クラスタの画素値を代表値に置き換えてグレースケール化する。そして、情報処理装置２００は、各クラスタの画素のグレースケール値によるヒストグラムを作成する（Ｓ４０５）。
【００５０】
次に、情報処理装置２００は、ユーザによるヒストグラムにおける泡に帰属するピークの選択を受け付ける（Ｓ４０６）。そして、情報処理装置２００は、Ｓ４０６の選択に応じて、ヒストグラムの各ピークに対応するクラスタに含まれる各画素のグレースケール値を二値化する（Ｓ４０７）。
【００５１】
次に、情報処理装置２００は、泡領域とされた領域の面積を特定する（Ｓ４０８）。そして、特定した泡領域の面積を出力する（Ｓ４０９）。泡領域の面積の出力は、例えば、情報処理装置２００の表示装置に表示することにより行われる。泡領域の面積は、泡領域とされた領域に該当する画素の数で特定されるが、単に画素数のみを提示しても良いし、検出対象画像中における泡領域の画素数の割合で提示しても良い。
【００５２】
＜近赤外線による撮影の効果＞
本実施の形態では撮影装置１００として近赤外線カメラを用い得ることを述べた。ここで、昼間等の明環境および夜間等の暗環境において、可視光で撮影した画像に基づく識別結果と、近赤外線で撮影した画像に基づく識別結果とを比較して、近赤外線カメラを用いる効果を検討する。
【００５３】
図８は、明環境下における可視光で撮影した画像に基づく識別結果と近赤外線で撮影した画像に基づく識別結果とを比較する図である。図８（Ａ）は可視光で撮影した画像に基づく識別結果を示す図、図８（Ｂ）は近赤外線で撮影した画像に基づく識別結果を示す図である。図８（Ａ）、（Ｂ）において、上段は検出対象画像であり、下段は泡領域を識別した様子を示す。下段の図において、白く表された部分が泡領域と識別された領域であり、黒く表された領域が水面領域と識別された領域である。
【００５４】
図８（Ａ）を参照すると、泡の無い水面領域の一部（図の楕円で囲んだ箇所）が、水面の反射によって明るく写ってしまっているため、泡領域に識別されてしまっている。これに対し、図８（Ｂ）を参照すると、泡領域と泡の無い水面領域とがかなり正確に識別されている。赤外線で撮影した画像に基づく識別であっても、水面の反射の影響を完全に除去することは難しい。しかし、図８（Ａ）、（Ｂ）を比較して分かるように、赤外線で撮影した画像を用いることにより、水面の反射の影響を大幅に低減することができる。
【００５５】
図９は、暗環境下における可視光で撮影した画像に基づく識別結果と近赤外線で撮影した画像に基づく識別結果とを比較する図である。図９（Ａ）は可視光で撮影した画像に基づく識別結果を示す図、図９（Ｂ）は近赤外線で撮影した画像に基づく識別結果を示す図である。図９（Ａ）、（Ｂ）において、上段は検出対象画像であり、下段は泡領域を識別した様子を示す。下段の図において、白く表された部分が泡領域と識別された領域であり、黒く表された領域が水面領域と識別された領域である。
【００５６】
図９（Ａ）を参照すると、暗環境において可視光による撮影では泡を鮮明に写すことができず、泡領域の一部が水面領域に識別されてしまっている。これに対し、図９（Ｂ）を参照すると、赤外線を用いることにより暗環境においても泡を鮮明に写すことができ、例えば、上段の画像における楕円の枠線で囲んだ箇所の泡領域等もかなり正確に識別されている。このように、明環境および暗環境の何れにおいても、監視対象の水面を近赤外線で撮影することにより、可視光で撮影する場合と比較して良好な識別結果を得ることができる。
【００５７】
このように、本実施の形態では、検出対象画像をそのまま用いて解析したりヒストグラムを作成したりするのではなく、画像のクラスタリングを行い、得られたクラスタの代表値のヒストグラムを作成した。そして、ヒストグラムにおける各クラスタの代表値に対応するピークに関して、検出対象を特定する分類を行い、このピークの分類に基づいて各クラスタのうち検出対象を表すクラスタを特定することにより、検出対象の状態を把握した。このような構成としたことにより、検出対象画像をそのまま用いて解析したりヒストグラムを作成したりする場合と比較して、検出精度を向上させることができる。また、深層学習を用いた高価な検知手段を導入する場合と比較して、導入コストを抑制することが期待できる。また、撮影装置１００として近赤外線カメラを用いることにより、撮影環境における明るさの違いによる影響や水面の反射の影響を低減させることができる。
【００５８】
＜変形例＞
上記の実施の形態では、情報処理装置２００は、泡領域の検出結果として、泡領域とされた領域の面積を、表示装置に表示出力した。これに対し、情報処理装置２００の出力を外部装置に対する制御情報として出力することが考えられる。一例として、図１に示した水槽３１０および出水口３２０を含み、発泡状態に応じて排水制御を行う排水装置を情報処理装置２００の出力により制御する構成を考える。排水装置は、出水口３２０から流出される排水を一時的に水槽３１０に貯留させて河川等へ排出するものとする。そして、本実施形態の監視システムにより水槽３１０の水面を監視し、水面の泡領域の検出結果（例えば泡領域の面積）を排水装置の制御機構へ出力する。排水装置は、情報処理装置２００による検出結果を入力し、水槽３１０の水面の発泡状態に応じて排水制御を行う。
【００５９】
制御例としては、情報処理装置２００の出力に基づき、一定時間以上、一定レベル以上で泡が検出されたこと（例えば、１時間以上、泡領域の面積が５０％と検出されたこと）を条件として、排水制御を実行すること等が挙げられる。排水制御の具体例としては、水槽３１０から外部（河川等）への排水を停止する、水槽３１０へ消泡剤を自動で投入する等の制御が考えられる。また、排水装置が何らかの製品の生産工程で生じる排水を処理する装置である場合、製品の生産ラインを停止させるような制御を行っても良い。また、排水制御の実施に伴い、異常の発生を知らせるアラートの出力や作業者等に通知したりする等の処理を行っても良い。
【００６０】
以上、本実施の形態について説明したが、本発明の技術的範囲は上記実施の形態には限定されない。例えば、本実施の形態では、検出対象画像のクラスタリング手法としてＫ−ｍｅａｎｓクラスタリングを用いた。これに対し、他の既存のクラスタリング手法（例えば、Ｍｅａｎ−ｓｈｉｆｔアルゴリズム等）を用いて検出対象画像のクラスタリングを行っても良い。
【００６１】
また、本実施の形態では、ヒストグラムを作成する際にクラスタごとに代表値を特定した際、クラスタごとに、クラスタに含まれる各画素のＲＧＢ値をグレースケール処理し、各画素のグレースケール値の平均値をクラスタの代表値とした。しかしながら、クラスタの代表値は、各クラスタに対応付けられると共に、クラスタに含まれる画素の特徴をヒストグラムに反映させ得る値であれば良く、平均値には限定されない。例えば、クラスタに含まれる各画素のグレースケール値の中央値等としても良い。さらに、検出しようとする領域の特性によっては、グレースケール処理ではなく、ＲＧＢの何れかの要素（何れかの色）の値のみを抽出して代表値を設定したり、ＲＧＢの各値の割合に応じて代表値を設定したりしても良い。
【００６２】
本実施の形態では、水面における泡領域の検出に適用した例を示したが、本発明は、一般に、画像を、検出対象である領域を含む複数の領域に分割し、分類する手法として広く適用することができる。
【００６３】
また、本実施の形態では、検出対象画像を泡領域と水面領域とに２分割した。このため、ヒストグラムを用いて行われたクラスタの分類に基づき、検出対象画像の各画素のグレースケール値を二値化処理することにより検出対象画像を分割した。これに対し、検出対象画像を３種類以上の領域に分割することもできる。この場合、分類された各領域を識別するために、各領域の画素に対し、二値化処理ではなく、３種類以上に分類する処理を行う必要がある。一例として、領域の分類ごとに、各領域の画素におけるＲＧＢ値を異なる比率にすることで、各領域を分類に応じて色分けすることが考えられる。
【００６４】
また、本実施の形態では、検出対象画像を取得するための撮影装置１００として近赤外線カメラを用いたが、検出対象や監視対象の状態や種類、監視が行われる環境等によっては、近赤外線以外に、種々の波長の光に感度を有するカメラを用いたり、フィルタを用いたりしても良い。その他、本発明の技術思想の範囲から逸脱しない様々な変更や構成の代替は、本発明に含まれる。
【符号の説明】
【００６５】
１００…撮影装置、２００…情報処理装置、２１０…通信部、２２０…画像取得部、２３０…画像処理部、２４０…識別部、２５０…面積特定部、２６０…操作部、２７０…出力部、３１０…水槽、３２０…出水口
【要約】
【課題】導入コストの増大を抑制しながら、画像における監視対象の領域の変化を自動検出する際の検出精度を向上させる。
【解決手段】画像を取得する画像取得部２２０と、ユーザの指示を受け付ける操作部２６０と、取得した画像の各画素を複数のクラスタに分割し、分割された各クラスタの代表値に基づく複数個のピークを有するヒストグラムを作成し、操作部２６０により受け付けた指示にしたがってヒストグラムの各ピークを分類し、分類された各ピークに対応する代表値が含まれる各クラスタを構成する各画素が配置された画像の領域を、各ピークの分類に基づいて識別する識別部２４０と、を備える。
【選択図】図２【図１】
0006943381.tif 000007
【図２】
0006943381.tif 000008
【図３】
0006943381.tif 000009
【図４】
0006943381.tif 000010
【図５】
0006943381.tif 000011
【図６】
0006943381.tif 000012
【図７】
0006943381.tif 000013
【図８】
0006943381.tif 000014
【図９】
0006943381.tif 000015