(57)【要約】【課題】水路を流れる浮遊物を精度良く検知することが可能な監視システムを提供する。【解決手段】監視システム１は、設備に水を供給する水路を撮像する監視カメラ３００と、撮像により得られた連続する複数のフレーム画像の各々を二値化する二値化処理部１２１と、二値化により得られた二値化画像の各々において、白色部分Ｊの重心位置Ｃを算出する重心位置算出部１２２と、重心位置Ｃの時間的な変化態様に基づき、白色部分Ｊに浮遊物が含まれているか否かを判定する判定部１２３と、白色部分Ｊに浮遊物が含まれていると判定されたことに基づき、予め定められた報知を行う報知手段とを備える。【選択図】図１１
2019218771.tif 000002
【特許請求の範囲】
【請求項１】
設備に水を供給する水路を撮像する撮像手段と、
前記撮像により得られた連続する複数のフレーム画像の各々を二値化する二値化手段と、
前記二値化により得られた二値化画像の各々において、白色の部分の重心位置を算出する算出手段と、
前記重心位置の時間的な変化態様に基づき、前記白色の部分に浮遊物が含まれているか否かを判定する判定手段と、
前記白色の部分に前記浮遊物が含まれていると判定されたことに基づき、予め定められた報知を行う報知手段とを備える、監視システム。
【請求項２】
前記判定手段は、
前記二値化画像の一辺に平行な第１の軸の軸方向における、連続する２つの前記二値化画像間での前記重心位置の移動の向きを判定し、
前記移動の向きのうち、正の向きの移動回数と負の向きの移動回数とに基づき、前記白色の部分に前記浮遊物が含まれているか否かを判定する、請求項１に記載の監視システム。
【請求項３】
前記判定手段は、
前記正の向きの移動回数と前記負の向きの移動回数との差分を算出し、
前記差分の絶対値が予め定められた閾値以上であることを条件に、前記白色の部分に前記浮遊物が含まれていると判定する、請求項２に記載の監視システム。
【請求項４】
前記判定手段は、
前記第１の軸に直交する第２の軸の軸方向における、連続する２つの前記二値化画像間での前記重心位置の移動の向きをさらに判定し、
前記第２の軸の軸方向における前記移動の向きのうち、正の向きの移動回数と負の向きの移動回数とに基づき、前記白色の部分に前記浮遊物が含まれているか否かをさらに判定する、請求項２または３に記載の監視システム。
【請求項５】
前記判定手段は、
前記第２の軸の軸方向における前記正の向きの移動回数と前記負の向きの移動回数との差分を算出し、
当該差分の絶対値が予め定められた閾値以上であることを条件に、前記白色の部分に前記浮遊物が含まれていると判定する、請求項４に記載の監視システム。
【請求項６】
前記撮像手段は、前記水路のうち取水口が設けられた場所を撮像する、請求項１から５のいずれか１項に記載の監視システム。
【請求項７】
前記設備は、発電設備であって、
前記浮遊物は、スノージャム、クラゲの群れ、または流木である、請求項１から６のいずれか１項に記載の監視システム。
【請求項８】
設備に水を供給する水路を撮像するステップと、
前記撮像により得られた連続する複数のフレーム画像の各々を二値化するステップと、
前記二値化により得られた二値化画像の各々において、白色の部分の重心位置を算出するステップと、
前記重心位置の時間的な変化態様に基づき、前記白色の部分に浮遊物が含まれているか否かを判定するステップと、
前記白色の部分に前記浮遊物が含まれていると判定されたことに基づき、予め定められた報知を行うステップとを備える、監視方法。
【請求項９】
設備に水を供給する水路を撮像することにより得られた連続する複数のフレーム画像の各々を二値化するステップと、
前記二値化により得られた二値化画像の各々において、白色の部分の重心位置を算出するステップと、
前記重心位置の時間的な変化態様に基づき、前記白色の部分に浮遊物が含まれているか否かを判定するステップと、
前記判定結果を出力するステップとを、情報処理装置のプロセッサに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、監視システム、監視方法、およびプログラムに関する。
【背景技術】
【０００２】
従来、河川から発電所に発電用水を供給する水路には、冬季等においてスノージャムが発生し得る。また、海水を冷却水として用いる発電所の水路には、クラゲが流入することもある。
【０００３】
特許文献１には、スノージャム検出装置が開示されている。また、非特許文献１には、監視カメラの映像を利用してクラゲの流入を検知するシステムが開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００１−６４９５２号公報
【非特許文献】
【０００５】
【非特許文献１】川角  浩亮  外2名  “監視カメラの映像を利用したクラゲ流入検知システム”、［online］、2001年、T.IEE Japan, Vol.121-C No.5、［平成30年5月28日検索］、インターネット〈URL：https://www.jstage.jst.go.jp/article/ieejeiss1987/121/5/121_5_854/_pdf>
【発明の概要】
【発明が解決しようとする課題】
【０００６】
非特許文献１にも記載されているように、従来の技術では、波風がある水面の映像から浮遊物（たとえば、スノージャム、クラゲの群れ）を検出することは困難である。
【０００７】
本開示は、上記の問題点に鑑みなされたものであって、その目的は、水路を流れる浮遊物を精度良く検知することが可能な監視システム、監視方法、およびプログラムを提供することにある。
【課題を解決するための手段】
【０００８】
本開示のある局面に従うと、監視システムは、設備に水を供給する水路を撮像する撮像手段と、撮像により得られた連続する複数のフレーム画像の各々を二値化する二値化手段と、二値化により得られた二値化画像の各々において、白色の部分の重心位置を算出する算出手段と、重心位置の時間的な変化態様に基づき、白色の部分に浮遊物が含まれているか否かを判定する判定手段と、白色の部分に浮遊物が含まれていると判定されたことに基づき、予め定められた報知を行う報知手段とを備える。
【発明の効果】
【０００９】
本開示によれば、水路を流れる浮遊物を精度良く検知することができる。
【図面の簡単な説明】
【００１０】
【図１】スノージャムを説明するための図である。
【図２】発電設備（発電所）に水を供給する水路を撮像することにより得られた画像を表した図である。
【図３】スノージャムが発生しているときの重心位置の時間的変化を説明するための図である。
【図４】スノージャムが発生していないときの重心位置の時間的に変化を説明するための図である。
【図５】監視システムのシステム構成を説明するための図である。
【図６】二値化画像における白色部分の重心位置の座標系を説明するための図である。
【図７】Ｘ軸方向の正の向きへの重心位置の移動と、Ｘ軸方向の負の向きへの重心位置の移動とを表した図である。
【図８】所定期間における重心位置の移動例を表した図である。
【図９】Ｙ軸方向の正の向きへの重心位置の移動と、Ｙ軸方向の負の向きへの重心位置の移動とを表した図である。
【図１０】所定期間における重心位置の移動例を表した図である。
【図１１】サーバ装置の機能的構成を説明するための図である。
【図１２】判定処理の前半部分を表したフロー図である。
【図１３】判定処理の後半部分を表したフロー図である。
【図１４】サーバ装置のハードウェア構成の典型例を表した図である。
【図１５】フレーム画像間の差分を用いる手法（比較例）と、本例との処理の特徴点を整理した図である。
【発明を実施するための形態】
【００１１】
以下、図面を参照しつつ、本発明の各実施の形態に係るシステムについて説明する。以下の説明では、同一の部材には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
【００１２】
また、以下では、水路を流れる浮遊物（水路を詰まらせる要因となる物体）として、スノージャムを例に挙げて説明する。ただし、浮遊物は、スノージャムに限定されず、たとえば、海水を冷却手段として使用する発電所の場合には、浮遊物はクラゲの群れであってもよい。
【００１３】
＜Ａ．スノージャム＞
図１は、スノージャムを説明するための図である。
【００１４】
図１を参照して、状態（i）に示すように、山に積もった雪が落ちる。次いで、状態（ii）に示すように、落ちた雪が水路に流れ込む。これにより、スノージャムが発生する。さらに、状態（iii）に示すように、発電所の上流に設けられた上部水槽が、スノージャムにより詰まる。これにより、状態（iv）に示すように、水路から水が溢れる。その結果、発電所に水路の水（冷却水）が供給されなくなり、状態（v）に示すように、発電が停止する。したがって、スノージャムの発生を早期に検知することができれば、発電が停止することを防ぐことができる。
【００１５】
また、スノージャムが発生する場所は、通常、発電所の作業員が常駐していない場所である。それゆえ、本例においては、水路をカメラによって撮像された映像を用いて、スノージャムの発生を検知する。
【００１６】
ところで、スノージャムの発生初期から中期にかけては、水路がスノージャムによって詰まっておらず、水流がある。それゆえ、スノージャム（雪塊）は水路を流れる。その一方、スノージャムの発生後期においては、水路がつまり、雪が一ヶ所に滞り始める。本例では、このような特徴を考慮し、スノージャムの発生初期から発生中期におけるスノージャムの検知を行う。
【００１７】
図２は、発電設備（発電所）に水を供給する水路を撮像することにより得られた画像を表した図である。具体的には、当該画像Ｇ１は、映像（動画像）のある時点の画像（静止画、１枚のフレーム画像）を表した図である。より詳しくは、画像Ｇ１は、冬季において、水路のうち取水口が設けられた場所を撮像したものである。
【００１８】
図２を参照して、水路には、複数のスノージャム（白色で表示した物体）が水面に浮遊している。また、取水口の上部（画像Ｇ１の左上部分）には、雪が積もっている。
【００１９】
このような水路では、水の流れ自体や風によって波が立つことにより、水面の状態が変化する。また、夜間の照明によって水面が照らされ、水底においても夜間照明の反射が起こる。また、昼間の降雪、夜間の降雪なども発生する。このように、水路においては、昼夜を含めた日照条件の違いを含む気象条件の違いによって、撮像される画像も画一的ではない。
【００２０】
本例では、このような条件下においてもスノージャムの発生を精度良く検知可能なシステムを説明する。詳しくは後述するが、本例では、二値化後の画像における白色部分の重心位置の時間的な変化態様に基づき、白色部分にスノージャムが含まれるか否かを判定する。換言すれば、二値化により抽出（特定）したフレーム画像の一定輝度以上の領域の重心位置の時間的な変化態様に基づき、一定輝度以上の領域にスノージャムが含まれるか否かを判定する。
【００２１】
フレーム画像を二値化する理由は、スノージャムが発生しているときに撮像された画像を確認すると、スノージャムは昼夜を問わずに白く映っているためである。
【００２２】
図３は、スノージャムが発生しているときの重心位置の時間的変化を説明するための図である。図３（Ａ）は、映像のある時点のフレーム画像Ｇ２１と、フレーム画像Ｇ２１に対して二値化処理をしたときに得られる二値化画像Ｂ２１とを表した図である。図３（Ｂ）は、フレーム画像Ｇ２１よりも数十フレーム後の時点のフレーム画像Ｇ２２と、フレーム画像Ｇ２２に対して二値化処理をしたときに得られる二値化画像Ｂ２２とを表した図である。
【００２３】
図３（Ａ），（Ｂ）を参照して、白色部分の重心位置Ｃは、時間の経過とともに大きく移動していることが分かる。また、他の複数のフレーム画像を確認したところ、重心位置Ｃは一方向へ移動する傾向があることが判明した。
【００２４】
図４は、スノージャムが発生していないときの重心位置の時間的に変化を説明するための図である。図４（Ａ）は、映像のある時点のフレーム画像Ｇ３１と、フレーム画像Ｇ３１に対して二値化処理をしたときに得られる二値化画像Ｂ３１とを表した図である。図４（Ｂ）は、フレーム画像Ｇ３１よりも数十フレーム後の時点のフレーム画像Ｇ３２と、フレーム画像Ｇ３２に対して二値化処理をしたときに得られる二値化画像Ｂ３２とを表した図である。
【００２５】
図４（Ａ），（Ｂ）を参照して、白色部分の重心位置Ｃは、時間が経過しても位置は大きくは変化しない。また、他の複数のフレーム画像を確認したところ、重心位置Ｃは、気象条件にかかわらず、一ヶ所で振動的に移動していることが判明した。
【００２６】
本例では、スノージャム発生時と未発生時とにおける重心位置Ｃの変動の違いに基づいて、スノージャムの発生を検知する。
【００２７】
＜Ｂ．システム構成＞
図５は、監視システムのシステム構成を説明するための図である。
【００２８】
図５を参照して、監視システム１は、サーバ装置１００と、端末装置２００と、監視カメラ３００とを備える。監視カメラ３００は、サーバ装置１００と通信可能に接続されている。端末装置２００は、ネットワークを介して通信可能にサーバ装置１００に接続されている。
【００２９】
監視カメラ３００は、水路５００を撮像するために水路５００の傍に設置されている。本例では、監視カメラ３００は、水路５００のうち取水口７００の状態を監視するために、取水口７００が設けられた場所を撮像するように設置されている。なお、取水口７００には、一定形状をした大きな異物（流木等）が発電設備に流れ込まないように、柵が設けられている。
【００３０】
監視カメラ３００によって撮像された映像（動画像）は、サーバ装置１００に送られる。当該映像は、たとえば端末装置２００等の装置で見ることができる。つまり、発電所の作業員等は、取水口７００の状態を映像によって監視することができる。
【００３１】
さらに、監視システム１では、このような監視カメラ３００によって撮像された映像を利用して、スノージャムの発生を検知する。詳しくは、サーバ装置１００が、所定期間Ｔａ（たとえば数秒）における重心位置Ｃの時間的な変化に基づき、スノージャムの発生の有無を判定する。つまり、スノージャムの発生の有無は、所定期間Ｔａ（所定周期Ｔａ）毎に判定される。
【００３２】
＜Ｃ．検知処理＞
図６は、二値化画像における白色部分Ｊの重心位置Ｃの座標系を説明するための図である。
【００３３】
図６を参照して、二値化画像の一辺に平行な軸を「Ｘ軸」とし、Ｘ軸に垂直な軸を「Ｙ軸」とする。なお、二値化画像はフレーム画像を二値化したものであるため、Ｘ軸はフレーム画像の一辺に平行な軸であり、Ｙ軸は当該一辺に垂直な軸とも言える。
【００３４】
重心位置Ｃは、このようなＸ軸とＹ軸とからなる直交座標系において定義される。なお、以下では、Ｘ軸方向の「正の向き」とは、Ｘ座標値が大きくなる方向（図６では右向き）を意味し、Ｘ軸方向の「負の向き」とは、Ｘ座標値が小さくなる方向（図６では左向き）を意味する。また、Ｙ軸方向の「正の向き」とは、Ｙ座標値が大きくなる方向（図６では上向き）を意味し、Ｙ軸方向の「負の向き」とは、Ｙ座標値が小さくなる方向（図６では下向き）を意味する。
【００３５】
（ｃ１．Ｘ軸方向への移動）
サーバ装置１００は、連続する２つの二値化画像間（連続する２つのフレーム画像に基づき得られた二値化画像間）での重心位置ＣのＸ軸方向への移動の向きを判定する。詳しくは、サーバ装置１００は、１つ前の二値化画像における重心位置Ｃと、最新のフレーム画像における重心位置Ｃとに基づき、重心位置Ｃが、Ｘ軸方向の正の向きに移動したか、Ｘ軸方向の負の向きに移動したか、あるいはＸ軸方向には移動していないかを判定する。
【００３６】
図７は、Ｘ軸方向の正の向きへの重心位置Ｃの移動と、Ｘ軸方向の負の向きへの重心位置Ｃの移動とを表した図である。
【００３７】
図７を参照して、状態（Ａ）に示すように、ｋ番目（ｋは、自然数）のフレーム画像の次のｋ＋１番目フレーム画像において、重心位置ＣがＸ軸方向の正の向きに移動した場合には、サーバ装置１００は、サーバ装置１００のメモリに記憶している変数Ｘｐの値をインクリメントする（１だけ増加させる）。つまり、サーバ装置１００は、変数Ｘｐを用いて、所定期間ＴａにおけるＸ軸方向の正の向きの移動回数をカウントする。
【００３８】
状態（Ｂ）に示すように、ｋ番目（ｋは、自然数）のフレーム画像の次のｋ＋１番目フレーム画像において、重心位置ＣがＸ軸方向の負の向きに移動した場合には、サーバ装置１００は、サーバ装置１００のメモリに記憶している変数Ｘｎの値をインクリメントする（１だけ増加させる）。つまり、サーバ装置１００は、変数Ｘｎを用いて、所定期間ＴａにおけるＸ軸方向の負の向きの移動回数をカウントする。
【００３９】
このように、変数Ｘｐの値は、所定期間Ｔａにおける、Ｘ軸方向の正の向きへの移動回数を表し、変数Ｘｎの値は、所定期間Ｔａにおける、Ｘ軸方向の負の向きへの移動回数を表す。
【００４０】
サーバ装置１００は、重心位置Ｃの正の向きの移動回数と負の向きの移動回数とに基づき、白色部分がスノージャムであるか否かを判定する。典型的には、正の向きの移動回数と負の向きの移動回数との差分の絶対値Ｄｘ（Ｄｘ＝｜Ｘｐ−Ｘｎ｜）を算出し、当該差分の絶対値Ｄｘが予め定められた閾値Ｔｈ以上であることを条件に、白色部分がスノージャムであると判定する。
【００４１】
なお、変数Ｘｐ，Ｘｎといった２つの変数を使用せずに、１つの変数Ｘを用いて、所定期間Ｔａにおける、Ｘ軸方向の正の向きへの移動回数とＸ軸方向の負の向きへの移動回数との差分を算出してもよい。たとえば、サーバ装置１００は、重心位置ＣがＸ軸方向の正の向きに移動した場合には変数Ｘの値をインクリメント（１だけ増加）し、重心位置ＣがＸ軸方向の負の向きに移動した場合には変数Ｘの値をディクリメント（１だけ減少）してもよい。
【００４２】
また、上記のような移動が行われる度に更新される変数を用いずに、フレーム番号（フレーム画像の識別番号）あるいは二値化画像の番号（識別番号）に対して、正の向きへの移動である場合には、数値“＋１”を対応付け、負の向きへの移動である場合には、数値“−１”を対応付けておいてもよい。この場合には、所定期間Ｔａ経過後に、各フレームに対応付けられた数値の総和（Σ）を求めることにより、上記差分が得られる。
【００４３】
いずれにしても、サーバ装置１００は、重心位置Ｃの正の向きの移動回数と負の向きの移動回数とに基づき、白色部分がスノージャムであるか否かを判定する。
【００４４】
図８は、所定期間Ｔａにおける重心位置Ｃの移動例を表した図である。詳しくは、図８は、上述したように、所定期間Ｔａ経過後に各フレームに対応付けられた数値の総和（Σ）を求める構成を示した図である。
【００４５】
図８を参照して、重心位置ＣがＸ軸方向の正の向きに移動した場合には、フレーム番号（現在のフレーム画像の識別番号）に対して数値“＋１”を対応付ける。重心位置ＣがＸ軸方向の負の向きに移動した場合には、フレーム番号に対して数値“−１”を対応付ける。重心位置ＣがＸ軸方向に移動していない場合には、フレーム番号に対して０を対応付ける。
【００４６】
サーバ装置１００は、上述したように、所定期間Ｔａ経過後に、各フレームに対応付けられた数値の総和（Σ）を求める。サーバ装置１００は、当該総和が閾値Ｔｈ以上の場合には、スノージャムが発生していると判定する。サーバ装置１００は、当該総和が閾値Ｔｈ未満の場合には、スノージャムが発生していないと判定する。
【００４７】
（ｃ２．Ｙ軸方向への移動）
サーバ装置１００は、連続する２つの二値化画像間での重心位置ＣのＹ軸方向への移動の向きを判定する。詳しくは、サーバ装置１００は、１つ前のフレーム画像における重心位置Ｃと、最新の二値化画像における重心位置Ｃとに基づき、重心位置Ｃが、Ｙ軸方向の正の向きに移動したか、Ｙ軸方向の負の向きに移動したか、あるいはＹ軸方向には移動していないかを判定する。
【００４８】
図９は、Ｙ軸方向の正の向きへの重心位置Ｃの移動と、Ｙ軸方向の負の向きへの重心位置Ｃの移動とを表した図である。
【００４９】
図９を参照して、状態（Ａ）に示すように、ｋ番目（ｋは、自然数）のフレーム画像の次のｋ＋１番目フレーム画像において、重心位置ＣがＹ軸方向の正の向きに移動した場合には、サーバ装置１００は、サーバ装置１００のメモリに記憶している変数Ｙｐの値をインクリメントする（１だけ増加させる）。つまり、サーバ装置１００は、変数Ｙｐを用いて、所定期間ＴａにおけるＹ軸方向の正の向きの移動回数をカウントする。
【００５０】
状態（Ｂ）に示すように、ｋ番目（ｋは、自然数）のフレーム画像の次のｋ＋１番目フレーム画像において、重心位置ＣがＹ軸方向の負の向きに移動した場合には、サーバ装置１００は、サーバ装置１００のメモリに記憶している変数Ｙｎの値をインクリメントする（１だけ増加させる）。つまり、サーバ装置１００は、変数Ｙｎを用いて、所定期間ＴａにおけるＹ軸方向の負の向きの移動回数をカウントする。
【００５１】
このように、変数Ｙｐの値は、所定期間Ｔａにおける、Ｙ軸方向の正の向きへの移動回数を表し、変数Ｙｎの値は、所定期間Ｔａにおける、Ｙ軸方向の負の向きへの移動回数を表す。
【００５２】
サーバ装置１００は、重心位置Ｃの正の向きの移動回数と負の向きの移動回数とに基づき、白色部分がスノージャムであるか否かを判定する。典型的には、正の向きの移動回数と負の向きの移動回数との差分の絶対値Ｄｙ（Ｄｙ＝｜Ｙｐ−Ｙｎ｜）を算出し、当該差分の絶対値Ｄｙが予め定められた閾値Ｔｈ以上であることを条件に、白色部分がスノージャムであると判定する。
【００５３】
なお、変数Ｙｐ，Ｙｎといった２つの変数を使用せずに、１つの変数Ｙを用いて、所定期間Ｔａにおける、Ｙ軸方向の正の向きへの移動回数とＹ軸方向の負の向きへの移動回数との差分を算出してもよい。たとえば、サーバ装置１００は、重心位置ＣがＹ軸方向の正の向きに移動した場合には変数Ｙの値をインクリメント（１だけ増加）し、重心位置ＣがＹ軸方向の負の向きに移動した場合には変数Ｙの値をディクリメント（１だけ減少）してもよい。
【００５４】
また、上記のような移動が行われる度に更新される変数を用いずに、フレーム番号（フレーム画像の識別番号）あるいは二値化画像の番号（識別番号）に対して、正の向きへの移動である場合には、数値“＋１”を対応付け、負の向きへの移動である場合には、数値“−１”を対応付けておいてもよい。この場合には、所定期間Ｔａ経過後に、各フレームに対応付けられた数値の総和（Σ）を求めることにより、上記差分が得られる。
【００５５】
いずれにしても、サーバ装置１００は、重心位置Ｃの正の向きの移動回数と負の向きの移動回数とに基づき、白色部分がスノージャムであるか否かを判定する。
【００５６】
図１０は、所定期間Ｔａにおける重心位置Ｃの移動例を表した図である。詳しくは、図１０は、上述したように、所定期間Ｔａ経過後に各フレームに対応付けられた数値の総和（Σ）を求める構成を示した図である。
【００５７】
図１０を参照して、重心位置ＣがＹ軸方向の正の向きに移動した場合には、フレーム番号（現在のフレーム画像の識別番号）に対して数値“＋１”対応付ける。重心位置ＣがＹ軸方向の負の向きに移動した場合には、フレーム番号に対して数値“−１”対応付ける。重心位置ＣがＹ軸方向に移動していない場合には、フレーム番号に対して０を対応付ける。
【００５８】
サーバ装置１００は、上述したように、所定期間Ｔａ経過後に、各フレームに対応付けられた数値の総和（Σ）を求める。サーバ装置１００は、当該総和が閾値Ｔｈ以上の場合には、スノージャムが発生していると判定する。サーバ装置１００は、当該総和が閾値Ｔｈ未満の場合には、スノージャムが発生していないと判定する。
【００５９】
以上のように、サーバ装置１００は、Ｘ軸方向の移動とは別に、Ｙ軸方向の移動を検知する。これにより、監視カメラ３００の姿勢および／またはスノージャムの移動方向に関わらず、スノージャムの発生を検知することができる。
【００６０】
＜Ｄ．機能的構成＞
図１１は、サーバ装置１００の機能的構成を説明するための図である。なお、図１１では、重心位置Ｃの移動回数を正の向きおよび負の向きの各々においてカウントする構成を例に挙げて説明する。すなわち、変数Ｘｐ，Ｘｎと変数Ｙｐ，Ｙｎとを用いる場合を例に挙げて説明する。
【００６１】
図１１を参照して、サーバ装置１００は、通信ＩＦ部１０１と、制御部１０２とを備える。通信ＩＦ部１０１は、受信部１１１と、送信部１１２とを備える。制御部１０２は、二値化処理部１２１と、重心位置算出部１２２と、判定部１２３とを備える。判定部１２３は、移動回数カウント部１３１〜１３４と、差分算出部１３５，１３６と、比較部１３７，１３８とを備える。
【００６２】
（判定の前処理）
通信部ＩＦ１０１は、外部の機器と通信するためのインターフェイスである。受信部１１１は、監視カメラ３００から水路５００の取水口７００が設けられた場所の映像をリアルタイムに受信する。つまり、受信部１１１は、連続するフレーム画像を順次受信する。フレーム画像の各々は、二値化処理部１２１に送られる。
【００６３】
二値化処理部１２１は、フレーム画像毎に二値化処理を行なう。詳しくは、二値化処理部１２１は、画像を白と黒との２階調に変換する。二値化処理では、画素の値が予め定められた閾値より大きければ白、小さければ黒に変換する。二値化処理部１２１は、フレーム画像を二値化して得られる二値化画像を重心位置算出部１２２に送る。
【００６４】
重心位置算出部１２２は、二値化画像毎に重心位置Ｃを算出する。重心位置算出部１２２は、重心位置Ｃ（具体的には、ＸＹ座標系の座標値）を判定部１２３に送る。
【００６５】
判定部１２３は、連続する２つの二値化画像間での重心位置Ｃの移動の向きを判定する。詳しくは、判定部１２３は、Ｘ軸方向に関し、重心位置Ｃの移動の向きが、正の向きか、負の向きかを判定する。さらに、判定部１２３は、Ｙ軸方向に関し、重心位置Ｃの移動の向きが、正の向きか、負の向きかを判定する。
【００６６】
（Ｘ軸方向の移動に基づく判定）
移動回数カウント部１３１は、連続する２つの二値化画像間での重心位置ＣのＸ軸方向の正の向きの移動回数をカウントする。移動回数カウント部１３２は、連続する２つの二値化画像間での重心位置ＣのＸ軸方向の負の向きの移動回数をカウントする。
【００６７】
差分算出部１３５は、移動回数カウント部１３１，１３２によってカウントされた移動回数の情報を利用して、所定期間Ｔａにおける、重心位置ＣのＸ軸方向の正の向きの移動回数と、重心位置ＣのＸ軸方向の負の向きの移動回数との差分の絶対値Ｄｘを算出する。
【００６８】
比較部１３７は、差分算出部１３５によって算出された絶対値Ｄｘと、予め定められた閾値Ｔｈとの大小を比較する。
【００６９】
判定部１２３は、比較部１３７による比較の結果、絶対値Ｄｘが閾値Ｔｈ以上の場合には、スノージャムが発生していると判定する。この場合、判定部１２３は、送信部１１２に対して判定結果を出力する。判定部１２３は、絶対値Ｄｘが閾値Ｔｈ未満の場合には、スノージャムが発生していないと判定する。
【００７０】
（Ｙ軸方向の移動に基づく判定）
移動回数カウント部１３３は、連続する２つの二値化画像間での重心位置ＣのＹ軸方向の正の向きの移動回数をカウントする。移動回数カウント部１３４は、連続する２つの二値化画像間での重心位置ＣのＹ軸方向の負の向きの移動回数をカウントする。
【００７１】
差分算出部１３６は、移動回数カウント部１３３，１３４によってカウントされた移動回数の情報を利用して、所定期間Ｔａにおける、重心位置ＣのＹ軸方向の正の向きの移動回数と、重心位置ＣのＹ軸方向の負の向きの移動回数との差分の絶対値Ｄｙを算出する。
【００７２】
比較部１３８は、差分算出部１３６によって算出された絶対値Ｄｙと、予め定められた閾値Ｔｈとの大小を比較する。
【００７３】
判定部１２３は、比較部１３８による比較の結果、絶対値Ｄｙが閾値Ｔｈ以上の場合には、スノージャムが発生していると判定する。この場合、判定部１２３は、送信部１１２に対して判定結果を出力する。判定部１２３は、絶対値Ｄｙが閾値Ｔｈ未満の場合には、スノージャムが発生していないと判定する。
【００７４】
（報知処理）
判定部１２３によってスノージャムが発生していると判断されると、送信部１１２は、スノージャムが発生していることを端末装置２００に対して通知する。
【００７５】
端末装置２００は、サーバ装置１００から当該通知を受信すると、ディスプレイに所定の表示をすること、あるいはスピーカらの所定の音声を出力することなどにより、作業員に対して所定の報知を行う。
【００７６】
また、サーバ装置１００は、端末装置２００に通知を行うとともに、サーバ装置１００のディスプレイ等においてスノージャムが発生していること報知してもよい。
【００７７】
このように、報知の主体は、端末装置２００（詳しくは、端末装置２００のディスプレイ、スピーカ）であってもよいし、サーバ装置１００自体（詳しくは、サーバ装置１００のディスプレイ、スピーカ）であってもよい。このようなユーザに対する報知の他、サーバ装置１００から端末装置２００への上記通知を報知（つまり、機器への報知）とも捉えることもできる。
【００７８】
なお、判定部１２３は、スノージャムが発生していないと判定した場合であっても、当該判定結果を送信部１１２に対して出力してもよい。この場合、送信部１１２は、スノージャムが発生していないことを端末装置２００に対して通知してもよい。端末装置２００は、当該通知を受信した場合、スノージャムが発生していないことを示す情報を表示等してもよい。あるいは、端末装置２００は、当該通知の受信確認のみをサーバ装置１００に返信するだけで、スノージャムが発生していないことを示す情報を表示等しなくてもよい。
【００７９】
（小括）
監視システム１は、設備に水を供給する水路５００を撮像する監視カメラ３００と、撮像により得られた連続する複数のフレーム画像の各々を二値化する二値化処理部１２１と、二値化により得られた二値化画像の各々において、白色部分の重心位置Ｃを算出する重心位置算出部１２２と、重心位置Ｃの時間的な変化態様に基づき、白色部分がスノージャムであるか否かを判定する判定部１２３と、白色の部分にスノージャムが含まれていると判定されたことに基づき、予め定められた報知を行う報知手段とを備える。
【００８０】
このような構成によれば、気象条件、昼夜、照明状態に関係なく、スノージャムを精度良く検知することができる。
【００８１】
＜Ｅ．制御構造＞
次に、変数Ｘｐ，Ｘｎと変数Ｙｐ，Ｙｎとを用いた場合の処理の流れについて説明する。
【００８２】
図１２は、判定処理の前半部分を表したフロー図である。図１３は、判定処理の後半部分を表したフロー図である。詳しくは、図１２，１３は、所定期間Ｔａの周期で実行される一連の処理のうち、各周期（所定期間Ｔａ毎）に実行される処理の流れを表した図である。すなわち、図１２および図１３の処理が周期毎（所定期間Ｔａ毎）に実行される。
【００８３】
図１２を参照して、ステップＳ１において、サーバ装置１００（詳しくは、サーバ装置１００のプロセッサ）は、変数Ｘｐ，Ｘｎ，Ｙｐ，Ｙｎの値を０にリセットする。
【００８４】
ステップＳ２において、サーバ装置１００は、１つのフレーム画像の二値化処理を実行し、二値化画像を得る。ステップＳ３において、二値化画像における白色部分の重心位置Ｃを算出する。
【００８５】
ステップＳ４において、サーバ装置１００は、この周期において１つ前の重心位置Ｃが存在することを条件に、Ｘ軸方向における重心位置Ｃの移動の向きを判定する。移動の向きが正の向きであると判定された場合（ステップＳ５で正）、ステップＳ６において、変数Ｘｐの値をインクリメントする。移動の向きが負の向きであると判定された場合（ステップＳ５で負）、ステップＳ１４において、変数Ｘｎの値をインクリメントする。
【００８６】
ステップＳ７において、サーバ装置１００は、この周期において１つ前の重心位置Ｃが存在することを条件に、Ｙ軸方向における重心位置Ｃの移動の向きを判定する。移動の向きが正の向きであると判定された場合（ステップＳ８で正）、ステップＳ９において、変数Ｙｐの値をインクリメントする。移動の向きが負の向きであると判定された場合（ステップＳ８で負）、ステップＳ１５において、変数Ｙｎの値をインクリメントする。
【００８７】
ステップＳ１０において、サーバ装置１００は、所定期間Ｔａが経過したか否かを判断する。換言すれば、フレーム画像のフレームレートは一定であるため、所定期間Ｔａに対応する数のフレーム画像を二値化したか否かを判断する。
【００８８】
所定期間Ｔａが経過していないと判断された場合（ステップＳ１０においてＮＯ）、サーバ装置１００は、処理をステップＳ２に戻して、次のフレーム画像を二値化する。所定期間Ｔａが経過したと判断された場合（ステップＳ１０においてＹＥＳ）、図１３を参照して、ステップＳ１１において、サーバ装置１００は、ＸｐとＸｎとの差の絶対値Ｄｘが閾値Ｔｈ以上であるか否かを判断する。
【００８９】
ＸｐとＸｎとの差の絶対値Ｄｘが閾値Ｔｈ以上であると判断された場合（ステップＳ１１においてＹＥＳ）、サーバ装置１００は、スノージャムが発生していると判断する（ステップＳ１２）。この場合、ステップＳ１３において、サーバ装置１００は、端末装置２００に対して所定の通知を行う。なお、端末装置２００は、当該通知を受信すると、作業員に対して所定の報知を行う。
【００９０】
ＸｐとＸｎとの差の絶対値Ｄｘが閾値Ｔｈ未満であると判断された場合（ステップＳ１１においてＮＯ）、サーバ装置１００は、ステップＳ１６において、サーバ装置１００は、ＹｐとＹｎとの差の絶対値Ｄｙが閾値Ｔｈ以上であるか否かを判断する。
【００９１】
ＹｐとＹｎとの差の絶対値Ｄｙが閾値Ｔｈ以上であると判断された場合（ステップＳ１６においてＹＥＳ）、サーバ装置１００は、スノージャムが発生していると判断する（ステップＳ１２）。ＹｐとＹｎとの差の絶対値Ｄｙが閾値Ｔｈ未満であると判断された場合（ステップＳ１６においてＮＯ）、サーバ装置１００は、スノージャムが発生していないと判断する（ステップＳ１７）。
【００９２】
図１２および図１３に示した一連の判定処理は、一例であって、これに限定されるものではない。サーバ装置１００は、スノージャムの発生の有無を判断する一連の判定処理を連続的に繰り返し行うために（つまり、周期的に行うために）、以下に示すように、１つのフレーム画像を複数回の判定処理に用いてもよい。
【００９３】
サーバ装置１００が、連続するｍ個のフレーム画像を用いてスノージャムの発生の有無を判断する構成の場合、サーバ装置１００は、ある周期において、ｊ番目からｊ＋ｍ−１番目迄のｍ個のフレーム画像（詳しくは、二値化画像）を用いてスノージャムの発生の有無を判断すると、次の周期では、ｊ＋１番目からｊ＋ｍ番目迄のｍ個のフレーム画像を用いてスノージャムの発生の有無を判断する。なお、ｍ，ｊは、自然数である。
【００９４】
つまり、サーバ装置１００は、次の周期では、当該次の周期の１つ前の周期で使用した複数のフレーム画像のうちの一番古いフレーム画像を削除し、新たなフレーム画像（具体的には、当該１つ前の周期に含まれる一番新しいフレーム画像の次のフレーム画像）を追加することにより、スノージャムの発生の有無を判断する。このように、サーバ装置１００は、１つのフレーム画像が得られる度に、スノージャムが発生しているか否かを判断する。このような構成によれば、精度の高い検出が可能となる。
【００９５】
＜Ｆ．ハードウェア構成＞
図１４は、サーバ装置１００のハードウェア構成の典型例を表した図である。
【００９６】
図１４を参照して、サーバ装置１００は、主たる構成要素として、プログラムを実行するプロセッサ１５１と、データを不揮発的に格納するＲＯＭ１５２と、プロセッサ１５１によるプログラムの実行により生成されたデータ、又は入力装置を介して入力されたデータを揮発的に格納するＲＡＭ１５３と、データを不揮発的に格納するＨＤＤ１５４と、通信ＩＦ（Interface）１５５と、操作キー１５６と、電源回路１５７と、ディスプレイ１５８とを含む。各構成要素は、相互にデータバスによって接続されている。なお、通信ＩＦ１５５は、他の機器と間における通信を行なうためのインターフェイスである。
【００９７】
サーバ装置１００における処理は、各ハードウェアおよびプロセッサ１５１により実行されるソフトウェアによって実現される。このようなソフトウェアは、ＨＤＤ１５４に予め記憶されている場合がある。また、ソフトウェアは、その他の記憶媒体に格納されて、プログラムプロダクトとして流通している場合もある。あるいは、ソフトウェアは、いわゆるインターネットに接続されている情報提供事業者によってダウンロード可能なプログラムプロダクトとして提供される場合もある。このようなソフトウェアは、読取装置によりその記憶媒体から読み取られて、あるいは、通信ＩＦ１５５等を介してダウンロードされた後、ＨＤＤ１５４に一旦格納される。そのソフトウェアは、プロセッサ１５１によってＨＤＤ１５４から読み出され、ＲＡＭ１５３に実行可能なプログラムの形式で格納される。プロセッサ１５１は、そのプログラムを実行する。
【００９８】
同図に示されるサーバ装置１００を構成する各構成要素は、一般的なものである。したがって、本発明の本質的な部分は、ＲＡＭ１５３、ＨＤＤ１５４、記憶媒体に格納されたソフトウェア、あるいはネットワークを介してダウンロード可能なソフトウェアであるともいえる。なお、サーバ装置１００の各ハードウェアの動作は周知であるので、詳細な説明は繰り返さない。
【００９９】
なお、端末装置２００は、サーバ装置１００と同様な構成を備えるため、端末装置２００のハードウェア構成については、繰り返し説明しない。
【０１００】
＜Ｇ．補足＞
上述したように、本実施の形態では、フレーム画像を二値化した上で白色部分の重心位置を求め、かつ重心位置の移動に着目してスノージャムの発生の有無を判断した。換言すれば、二値化により抽出（特定）したフレーム画像の一定輝度以上の領域の重心位置Ｃの移動態様に基づき、スノージャムの発生の有無を判断した。
【０１０１】
動体の重心位置の移動については、フレーム画像間の差分を用いることも考えられるが、この方法では、後述するように、スノージャムの発生の有無を検知できない。
【０１０２】
図１５は、フレーム画像間の差分を用いる手法（比較例）と、本例との処理の特徴点を整理した図である。
【０１０３】
図１５を参照して、比較例では、静穏な室内環境（動体が単発的に発生する環境）においては、動体有無の判定と、動体の特定と、動体移動傾向の判定と、動体移動方向の判定とが可能である。しかしながら、この比較例では、屋外の自然環境（動体が連続的に発生する環境）においては、動体有無の判定と、動体の特定と、動体移動傾向の判定と、動体移動方向の判定との全てができない。この理由として、（i）フレーム画像間の差分を取ったときに動体自体が背景となってしまい、動体の領域の抽出ができないため、（ii）外光、照明の反射、波、波紋、雨、雪などの自然に起因するノイズが、動体領域を抽出する際の障害になるためである。
【０１０４】
その一方、本例では、静穏な室内環境および屋外の自然環境においては、動体の特定と、動体移動方向の判定はできない。しかしながら、静穏な室内環境および屋外の自然環境においては、上述したように二値化画像の白色部分の重心位置Ｃ（換言すれば、フレーム画像の一定輝度以上の領域の重心位置）の移動を観察することにより、動体有無の判定と、動体移動傾向の判定ができる。
【０１０５】
このように、二値化処理を行ない、白色部分の重心位置の時間的な変化態様に基づけば、水路５００にスノージャムが発生しているか否かを判断することができる。
【０１０６】
＜Ｈ．変形例＞
（１）上記においては、所定期間Ｔａ毎にスノージャムが発生しているか否かを判定する構成を例に挙げて説明したが、これに限定されるものではない。たとえば、以下のような手法により、スノージャムの発生の有無を判定してもよい。
【０１０７】
サーバ装置１００は、所定期間Ｔｂにフレーム画像に基づき、スノージャムの発生を検知する。ここで、Ｔｂは、ＴａのＮ（Ｎは２以上の整数）倍とする。つまり、Ｔｂ＝Ｎ×Ｔａとする。
【０１０８】
サーバ装置１００は、各所定期間Ｔａにおいて、ＸｐとＸｎとの差の絶対値Ｄｘが閾値Ｔｈよりも大きい場合（図１３のステップＳ１１でＹＥＳ）、あるいは、ＹｐとＹｎとの差の絶対値Ｄｙが閾値Ｔｈよりも大きい場合（図１３のステップＳ１６でＹＥＳ）の場合、別途設けられた変数Ｔｇの値をインクリメントする。一方、両絶対値Ｄｘ，Ｄｙのいずれもが閾値Ｔｈ未満の場合には、変数Ｔｇの値を維持する。
【０１０９】
サーバ装置１００は、所定期間Ｔｂにおいて、変数Ｔｇの値が、Ｎ未満の所定の閾値以上である場合に、スノージャムが発生したと判断する。たとえば、Ｎが１０の場合、当該閾値を７とする。
【０１１０】
つまり、サーバ装置１００は、複数の連続する所定期間Ｔａにおいて、所定以上の割合でスノージャムが発生していると判断したことに基づき、スノージャムの発生を確定する。このような処理によれば、精度良く、スノージャムの発生を検知できる。
【０１１１】
（２）上記においては、取水口の場所を監視カメラ３００により撮像したが、これに限定されるものではない。ただし、取水口には、作業員が取水口付近を映像によって確認する目的で監視カメラが設けられていることが多く、この監視カメラを利用することにより、コストを抑えることができる。また、取水口７００では、柵によって浮遊物が滞留しやすいため、他の場所に比べて、浮遊物の存在の有無を検知するのに好適である。
【０１１２】
（３）上記においては、二値化画像の一辺をＸ軸とし、他の辺をＹ軸にしたが、これに限定されるものではない。Ｘ軸およびＹ軸が二値化画像の辺に平行とならないように、ＸＹ座標系を設定してもよい。
【０１１３】
（４）水路５００から水の供給を受ける設備は、発電設備（発電所）に限定されるものではない。
【０１１４】
＜Ｉ．付記＞
［構成１］監視システム１は、設備に水を供給する水路５００を撮像する撮像手段（監視カメラ３００）と、前記撮像により得られた連続する複数のフレーム画像の各々を二値化する二値化手段（二値化処理部１２１）と、前記二値化により得られた二値化画像の各々において、白色の部分の重心位置（Ｃ）を算出する算出手段（重心位置算出部１２２）と、前記重心位置（Ｃ）の時間的な変化態様に基づき、前記白色の部分に浮遊物が含まれているか否かを判定する判定手段（判定部１２３）と、前記白色の部分に前記浮遊物が含まれていると判定されたことに基づき、予め定められた報知を行う報知手段（サーバ装置１００のディスプレイおよび／またはスピーカ、あるいは、端末装置２００（詳しくは、端末装置２００のディスプレイおよび／またはスピーカ））とを備える。
【０１１５】
［構成２］
前記判定手段（判定部１２３）は、前記二値化画像の一辺に平行な第１の軸の軸方向における、連続する２つの前記二値化画像間での前記重心位置の移動の向きを判定し、前記移動の向きのうち、正の向きの移動回数と負の向きの移動回数とに基づき、前記白色の部分に前記浮遊物が含まれているか否かを判定する。
【０１１６】
［構成３］
前記判定手段（判定部１２３）は、前記正の向きの移動回数（変数Ｘｐの値）と前記負の向きの移動回数（変数Ｘｎの値）との差分を算出し、前記差分の絶対値（Ｄｘ）が予め定められた閾値（Ｔｈ）以上であることを条件に、前記白色の部分に前記浮遊物が含まれていると判定する。
【０１１７】
［構成４］
前記判定手段（判定部１２３）は、前記第１の軸に直交する第２の軸の軸方向における、連続する２つの前記二値化画像間での前記重心位置の移動の向きをさらに判定し、前記第２の軸の軸方向における前記移動の向きのうち、正の向きの移動回数と負の向きの移動回数とに基づき、前記白色の部分に前記浮遊物が含まれているか否かをさらに判定する。
【０１１８】
［構成５］
前記判定手段（判定部１２３）は、前記第２の軸の軸方向における前記正の向きの移動回数（変数Ｙｐの値）と前記負の向きの移動回数（変数Ｙｎの値）との差分を算出し、当該差分の絶対値Ｄｙが予め定められた閾値（Ｔｈ）以上であることを条件に、前記白色の部分に前記浮遊物が含まれていると判定する。
【０１１９】
［構成６］
前記撮像手段（監視カメラ３００）は、前記水路のうち取水口が設けられた場所を撮像する。
【０１２０】
［構成７］
前記設備は、発電設備であって、前記浮遊物は、スノージャム、クラゲの群れ、または流木である。
【０１２１】
今回開示された実施の形態は例示であって、上記内容のみに制限されるものではない。本発明の範囲は特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１２２】
１  監視システム、１００  サーバ装置、１０１  通信ＩＦ部、１０２  制御部、１１１  受信部、１１２  送信部、１２１  二値化処理部、１２２  重心位置算出部、１２３  判定部、１３１，１３２，１３３，１３４  移動回数カウント部、１３５，１３６  差分算出部、１３７，１３８  比較部、１５１  プロセッサ、１５２  ＲＯＭ、１５３  ＲＡＭ、１５６  操作キー、１５７  電源回路、１５８  ディスプレイ、２００  端末装置、３００  監視カメラ、５００  水路、７００  取水口、Ｂ２１，Ｂ２２，Ｂ３１，Ｂ３２  二値化画像、Ｃ  重心位置、Ｇ１，Ｇ２１，Ｇ２２，Ｇ３１，Ｇ３２  フレーム画像、Ｊ  白色部分。
【図１】
2019218771.tif 000003
【図２】
2019218771.tif 000004
【図３】
2019218771.tif 000005
【図４】
2019218771.tif 000006
【図５】
2019218771.tif 000007
【図６】
2019218771.tif 000008
【図７】
2019218771.tif 000009
【図８】
2019218771.tif 000010
【図９】
2019218771.tif 000011
【図１０】
2019218771.tif 000012
【図１１】
2019218771.tif 000013
【図１２】
2019218771.tif 000014
【図１３】
2019218771.tif 000015
【図１４】
2019218771.tif 000016
【図１５】
2019218771.tif 000017