(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-02-14
(45)【発行日】2022-02-22
(54)【発明の名称】監視システム
(51)【国際特許分類】
E02B 9/04 20060101AFI20220215BHJP
G08B 21/00 20060101ALI20220215BHJP
G06T 7/215 20170101ALI20220215BHJP
【FI】
E02B9/04 B
G08B21/00 A
G06T7/215
(21)【出願番号】P 2018117715
(22)【出願日】2018-06-21
【審査請求日】2021-03-19
(73)【特許権者】
【識別番号】000156938
【氏名又は名称】関西電力株式会社
(74)【代理人】
【識別番号】110001195
【氏名又は名称】特許業務法人深見特許事務所
(72)【発明者】
【氏名】小野 俊二
【審査官】湯本 照基
(56)【参考文献】
【文献】特開平10-055425(JP,A)
【文献】特開平06-307350(JP,A)
【文献】特開平09-293141(JP,A)
【文献】特開2018-092495(JP,A)
【文献】米国特許出願公開第2009/0110240(US,A1)
【文献】特開平08-171689(JP,A)
【文献】特開2002-188135(JP,A)
【文献】特開2001-064952(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
E02B 9/04
G08B 21/00
G06T 7/215
(57)【特許請求の範囲】
【請求項1】
設備に水を供給する水路を撮像する撮像手段と、
前記撮像により得られた連続する複数のフレーム画像の各々を二値化する二値化手段と、
前記二値化により得られた二値化画像の各々において、白色の部分の重心位置を算出する算出手段と、
前記重心位置の時間的な変化態様に基づき、前記白色の部分に浮遊物が含まれているか否かを判定する判定手段と、
前記白色の部分に前記浮遊物が含まれていると判定されたことに基づき、予め定められた報知を行う報知手段とを備える、監視システム。
【請求項2】
前記判定手段は、
前記二値化画像の一辺に平行な第1の軸の軸方向における、連続する2つの前記二値化画像間での前記重心位置の移動の向きを判定し、
前記移動の向きのうち、正の向きの移動回数と負の向きの移動回数とに基づき、前記白色の部分に前記浮遊物が含まれているか否かを判定する、請求項1に記載の監視システム。
【請求項3】
前記判定手段は、
前記正の向きの移動回数と前記負の向きの移動回数との差分を算出し、
前記差分の絶対値が予め定められた閾値以上であることを条件に、前記白色の部分に前記浮遊物が含まれていると判定する、請求項2に記載の監視システム。
【請求項4】
前記判定手段は、
前記第1の軸に直交する第2の軸の軸方向における、連続する2つの前記二値化画像間での前記重心位置の移動の向きをさらに判定し、
前記第2の軸の軸方向における前記移動の向きのうち、正の向きの移動回数と負の向きの移動回数とに基づき、前記白色の部分に前記浮遊物が含まれているか否かをさらに判定する、請求項2または3に記載の監視システム。
【請求項5】
前記判定手段は、
前記第2の軸の軸方向における前記正の向きの移動回数と前記負の向きの移動回数との差分を算出し、
当該差分の絶対値が予め定められた閾値以上であることを条件に、前記白色の部分に前記浮遊物が含まれていると判定する、請求項4に記載の監視システム。
【請求項6】
前記撮像手段は、前記水路のうち取水口が設けられた場所を撮像する、請求項1から5のいずれか1項に記載の監視システム。
【請求項7】
前記設備は、発電設備であって、
前記浮遊物は、スノージャム、クラゲの群れ、または流木である、請求項1から6のいずれか1項に記載の監視システム。
【請求項8】
設備に水を供給する水路を撮像するステップと、
前記撮像により得られた連続する複数のフレーム画像の各々を二値化するステップと、
前記二値化により得られた二値化画像の各々において、白色の部分の重心位置を算出するステップと、
前記重心位置の時間的な変化態様に基づき、前記白色の部分に浮遊物が含まれているか否かを判定するステップと、
前記白色の部分に前記浮遊物が含まれていると判定されたことに基づき、予め定められた報知を行うステップとを備える、監視方法。
【請求項9】
設備に水を供給する水路を撮像することにより得られた連続する複数のフレーム画像の各々を二値化するステップと、
前記二値化により得られた二値化画像の各々において、白色の部分の重心位置を算出するステップと、
前記重心位置の時間的な変化態様に基づき、前記白色の部分に浮遊物が含まれているか否かを判定するステップと、
前記判定結果を出力するステップとを、情報処理装置のプロセッサに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、監視システム、監視方法、およびプログラムに関する。
【背景技術】
【0002】
従来、河川から発電所に発電用水を供給する水路には、冬季等においてスノージャムが発生し得る。また、海水を冷却水として用いる発電所の水路には、クラゲが流入することもある。
【0003】
特許文献1には、スノージャム検出装置が開示されている。また、非特許文献1には、監視カメラの映像を利用してクラゲの流入を検知するシステムが開示されている。
【先行技術文献】
【特許文献】
【0004】
【非特許文献】
【0005】
【文献】川角 浩亮 外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>
【発明の概要】
【発明が解決しようとする課題】
【0006】
非特許文献1にも記載されているように、従来の技術では、波風がある水面の映像から浮遊物(たとえば、スノージャム、クラゲの群れ)を検出することは困難である。
【0007】
本開示は、上記の問題点に鑑みなされたものであって、その目的は、水路を流れる浮遊物を精度良く検知することが可能な監視システム、監視方法、およびプログラムを提供することにある。
【課題を解決するための手段】
【0008】
本開示のある局面に従うと、監視システムは、設備に水を供給する水路を撮像する撮像手段と、撮像により得られた連続する複数のフレーム画像の各々を二値化する二値化手段と、二値化により得られた二値化画像の各々において、白色の部分の重心位置を算出する算出手段と、重心位置の時間的な変化態様に基づき、白色の部分に浮遊物が含まれているか否かを判定する判定手段と、白色の部分に浮遊物が含まれていると判定されたことに基づき、予め定められた報知を行う報知手段とを備える。
【発明の効果】
【0009】
本開示によれば、水路を流れる浮遊物を精度良く検知することができる。
【図面の簡単な説明】
【0010】
【
図2】発電設備(発電所)に水を供給する水路を撮像することにより得られた画像を表した図である。
【
図3】スノージャムが発生しているときの重心位置の時間的変化を説明するための図である。
【
図4】スノージャムが発生していないときの重心位置の時間的に変化を説明するための図である。
【
図5】監視システムのシステム構成を説明するための図である。
【
図6】二値化画像における白色部分の重心位置の座標系を説明するための図である。
【
図7】X軸方向の正の向きへの重心位置の移動と、X軸方向の負の向きへの重心位置の移動とを表した図である。
【
図8】所定期間における重心位置の移動例を表した図である。
【
図9】Y軸方向の正の向きへの重心位置の移動と、Y軸方向の負の向きへの重心位置の移動とを表した図である。
【
図10】所定期間における重心位置の移動例を表した図である。
【
図11】サーバ装置の機能的構成を説明するための図である。
【
図12】判定処理の前半部分を表したフロー図である。
【
図13】判定処理の後半部分を表したフロー図である。
【
図14】サーバ装置のハードウェア構成の典型例を表した図である。
【
図15】フレーム画像間の差分を用いる手法(比較例)と、本例との処理の特徴点を整理した図である。
【発明を実施するための形態】
【0011】
以下、図面を参照しつつ、本発明の各実施の形態に係るシステムについて説明する。以下の説明では、同一の部材には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
【0012】
また、以下では、水路を流れる浮遊物(水路を詰まらせる要因となる物体)として、スノージャムを例に挙げて説明する。ただし、浮遊物は、スノージャムに限定されず、たとえば、海水を冷却手段として使用する発電所の場合には、浮遊物はクラゲの群れであってもよい。
【0013】
<A.スノージャム>
図1は、スノージャムを説明するための図である。
【0014】
図1を参照して、状態(i)に示すように、山に積もった雪が落ちる。次いで、状態(ii)に示すように、落ちた雪が水路に流れ込む。これにより、スノージャムが発生する。さらに、状態(iii)に示すように、発電所の上流に設けられた上部水槽が、スノージャムにより詰まる。これにより、状態(iv)に示すように、水路から水が溢れる。その結果、発電所に水路の水(冷却水)が供給されなくなり、状態(v)に示すように、発電が停止する。したがって、スノージャムの発生を早期に検知することができれば、発電が停止することを防ぐことができる。
【0015】
また、スノージャムが発生する場所は、通常、発電所の作業員が常駐していない場所である。それゆえ、本例においては、水路をカメラによって撮像された映像を用いて、スノージャムの発生を検知する。
【0016】
ところで、スノージャムの発生初期から中期にかけては、水路がスノージャムによって詰まっておらず、水流がある。それゆえ、スノージャム(雪塊)は水路を流れる。その一方、スノージャムの発生後期においては、水路がつまり、雪が一ヶ所に滞り始める。本例では、このような特徴を考慮し、スノージャムの発生初期から発生中期におけるスノージャムの検知を行う。
【0017】
図2は、発電設備(発電所)に水を供給する水路を撮像することにより得られた画像を表した図である。具体的には、当該画像G1は、映像(動画像)のある時点の画像(静止画、1枚のフレーム画像)を表した図である。より詳しくは、画像G1は、冬季において、水路のうち取水口が設けられた場所を撮像したものである。
【0018】
図2を参照して、水路には、複数のスノージャム(白色で表示した物体)が水面に浮遊している。また、取水口の上部(画像G1の左上部分)には、雪が積もっている。
【0019】
このような水路では、水の流れ自体や風によって波が立つことにより、水面の状態が変化する。また、夜間の照明によって水面が照らされ、水底においても夜間照明の反射が起こる。また、昼間の降雪、夜間の降雪なども発生する。このように、水路においては、昼夜を含めた日照条件の違いを含む気象条件の違いによって、撮像される画像も画一的ではない。
【0020】
本例では、このような条件下においてもスノージャムの発生を精度良く検知可能なシステムを説明する。詳しくは後述するが、本例では、二値化後の画像における白色部分の重心位置の時間的な変化態様に基づき、白色部分にスノージャムが含まれるか否かを判定する。換言すれば、二値化により抽出(特定)したフレーム画像の一定輝度以上の領域の重心位置の時間的な変化態様に基づき、一定輝度以上の領域にスノージャムが含まれるか否かを判定する。
【0021】
フレーム画像を二値化する理由は、スノージャムが発生しているときに撮像された画像を確認すると、スノージャムは昼夜を問わずに白く映っているためである。
【0022】
図3は、スノージャムが発生しているときの重心位置の時間的変化を説明するための図である。
図3(A)は、映像のある時点のフレーム画像G21と、フレーム画像G21に対して二値化処理をしたときに得られる二値化画像B21とを表した図である。
図3(B)は、フレーム画像G21よりも数十フレーム後の時点のフレーム画像G22と、フレーム画像G22に対して二値化処理をしたときに得られる二値化画像B22とを表した図である。
【0023】
図3(A),(B)を参照して、白色部分の重心位置Cは、時間の経過とともに大きく移動していることが分かる。また、他の複数のフレーム画像を確認したところ、重心位置Cは一方向へ移動する傾向があることが判明した。
【0024】
図4は、スノージャムが発生していないときの重心位置の時間的に変化を説明するための図である。
図4(A)は、映像のある時点のフレーム画像G31と、フレーム画像G31に対して二値化処理をしたときに得られる二値化画像B31とを表した図である。
図4(B)は、フレーム画像G31よりも数十フレーム後の時点のフレーム画像G32と、フレーム画像G32に対して二値化処理をしたときに得られる二値化画像B32とを表した図である。
【0025】
図4(A),(B)を参照して、白色部分の重心位置Cは、時間が経過しても位置は大きくは変化しない。また、他の複数のフレーム画像を確認したところ、重心位置Cは、気象条件にかかわらず、一ヶ所で振動的に移動していることが判明した。
【0026】
本例では、スノージャム発生時と未発生時とにおける重心位置Cの変動の違いに基づいて、スノージャムの発生を検知する。
【0027】
<B.システム構成>
図5は、監視システムのシステム構成を説明するための図である。
【0028】
図5を参照して、監視システム1は、サーバ装置100と、端末装置200と、監視カメラ300とを備える。監視カメラ300は、サーバ装置100と通信可能に接続されている。端末装置200は、ネットワークを介して通信可能にサーバ装置100に接続されている。
【0029】
監視カメラ300は、水路500を撮像するために水路500の傍に設置されている。本例では、監視カメラ300は、水路500のうち取水口700の状態を監視するために、取水口700が設けられた場所を撮像するように設置されている。なお、取水口700には、一定形状をした大きな異物(流木等)が発電設備に流れ込まないように、柵が設けられている。
【0030】
監視カメラ300によって撮像された映像(動画像)は、サーバ装置100に送られる。当該映像は、たとえば端末装置200等の装置で見ることができる。つまり、発電所の作業員等は、取水口700の状態を映像によって監視することができる。
【0031】
さらに、監視システム1では、このような監視カメラ300によって撮像された映像を利用して、スノージャムの発生を検知する。詳しくは、サーバ装置100が、所定期間Ta(たとえば数秒)における重心位置Cの時間的な変化に基づき、スノージャムの発生の有無を判定する。つまり、スノージャムの発生の有無は、所定期間Ta(所定周期Ta)毎に判定される。
【0032】
<C.検知処理>
図6は、二値化画像における白色部分Jの重心位置Cの座標系を説明するための図である。
【0033】
図6を参照して、二値化画像の一辺に平行な軸を「X軸」とし、X軸に垂直な軸を「Y軸」とする。なお、二値化画像はフレーム画像を二値化したものであるため、X軸はフレーム画像の一辺に平行な軸であり、Y軸は当該一辺に垂直な軸とも言える。
【0034】
重心位置Cは、このようなX軸とY軸とからなる直交座標系において定義される。なお、以下では、X軸方向の「正の向き」とは、X座標値が大きくなる方向(
図6では右向き)を意味し、X軸方向の「負の向き」とは、X座標値が小さくなる方向(
図6では左向き)を意味する。また、Y軸方向の「正の向き」とは、Y座標値が大きくなる方向(
図6では上向き)を意味し、Y軸方向の「負の向き」とは、Y座標値が小さくなる方向(
図6では下向き)を意味する。
【0035】
(c1.X軸方向への移動)
サーバ装置100は、連続する2つの二値化画像間(連続する2つのフレーム画像に基づき得られた二値化画像間)での重心位置CのX軸方向への移動の向きを判定する。詳しくは、サーバ装置100は、1つ前の二値化画像における重心位置Cと、最新のフレーム画像における重心位置Cとに基づき、重心位置Cが、X軸方向の正の向きに移動したか、X軸方向の負の向きに移動したか、あるいはX軸方向には移動していないかを判定する。
【0036】
図7は、X軸方向の正の向きへの重心位置Cの移動と、X軸方向の負の向きへの重心位置Cの移動とを表した図である。
【0037】
図7を参照して、状態(A)に示すように、k番目(kは、自然数)のフレーム画像の次のk+1番目フレーム画像において、重心位置CがX軸方向の正の向きに移動した場合には、サーバ装置100は、サーバ装置100のメモリに記憶している変数Xpの値をインクリメントする(1だけ増加させる)。つまり、サーバ装置100は、変数Xpを用いて、所定期間TaにおけるX軸方向の正の向きの移動回数をカウントする。
【0038】
状態(B)に示すように、k番目(kは、自然数)のフレーム画像の次のk+1番目フレーム画像において、重心位置CがX軸方向の負の向きに移動した場合には、サーバ装置100は、サーバ装置100のメモリに記憶している変数Xnの値をインクリメントする(1だけ増加させる)。つまり、サーバ装置100は、変数Xnを用いて、所定期間TaにおけるX軸方向の負の向きの移動回数をカウントする。
【0039】
このように、変数Xpの値は、所定期間Taにおける、X軸方向の正の向きへの移動回数を表し、変数Xnの値は、所定期間Taにおける、X軸方向の負の向きへの移動回数を表す。
【0040】
サーバ装置100は、重心位置Cの正の向きの移動回数と負の向きの移動回数とに基づき、白色部分がスノージャムであるか否かを判定する。典型的には、正の向きの移動回数と負の向きの移動回数との差分の絶対値Dx(Dx=|Xp-Xn|)を算出し、当該差分の絶対値Dxが予め定められた閾値Th以上であることを条件に、白色部分がスノージャムであると判定する。
【0041】
なお、変数Xp,Xnといった2つの変数を使用せずに、1つの変数Xを用いて、所定期間Taにおける、X軸方向の正の向きへの移動回数とX軸方向の負の向きへの移動回数との差分を算出してもよい。たとえば、サーバ装置100は、重心位置CがX軸方向の正の向きに移動した場合には変数Xの値をインクリメント(1だけ増加)し、重心位置CがX軸方向の負の向きに移動した場合には変数Xの値をディクリメント(1だけ減少)してもよい。
【0042】
また、上記のような移動が行われる度に更新される変数を用いずに、フレーム番号(フレーム画像の識別番号)あるいは二値化画像の番号(識別番号)に対して、正の向きへの移動である場合には、数値“+1”を対応付け、負の向きへの移動である場合には、数値“-1”を対応付けておいてもよい。この場合には、所定期間Ta経過後に、各フレームに対応付けられた数値の総和(Σ)を求めることにより、上記差分が得られる。
【0043】
いずれにしても、サーバ装置100は、重心位置Cの正の向きの移動回数と負の向きの移動回数とに基づき、白色部分がスノージャムであるか否かを判定する。
【0044】
図8は、所定期間Taにおける重心位置Cの移動例を表した図である。詳しくは、
図8は、上述したように、所定期間Ta経過後に各フレームに対応付けられた数値の総和(Σ)を求める構成を示した図である。
【0045】
図8を参照して、重心位置CがX軸方向の正の向きに移動した場合には、フレーム番号(現在のフレーム画像の識別番号)に対して数値“+1”を対応付ける。重心位置CがX軸方向の負の向きに移動した場合には、フレーム番号に対して数値“-1”を対応付ける。重心位置CがX軸方向に移動していない場合には、フレーム番号に対して0を対応付ける。
【0046】
サーバ装置100は、上述したように、所定期間Ta経過後に、各フレームに対応付けられた数値の総和(Σ)を求める。サーバ装置100は、当該総和が閾値Th以上の場合には、スノージャムが発生していると判定する。サーバ装置100は、当該総和が閾値Th未満の場合には、スノージャムが発生していないと判定する。
【0047】
(c2.Y軸方向への移動)
サーバ装置100は、連続する2つの二値化画像間での重心位置CのY軸方向への移動の向きを判定する。詳しくは、サーバ装置100は、1つ前のフレーム画像における重心位置Cと、最新の二値化画像における重心位置Cとに基づき、重心位置Cが、Y軸方向の正の向きに移動したか、Y軸方向の負の向きに移動したか、あるいはY軸方向には移動していないかを判定する。
【0048】
図9は、Y軸方向の正の向きへの重心位置Cの移動と、Y軸方向の負の向きへの重心位置Cの移動とを表した図である。
【0049】
図9を参照して、状態(A)に示すように、k番目(kは、自然数)のフレーム画像の次のk+1番目フレーム画像において、重心位置CがY軸方向の正の向きに移動した場合には、サーバ装置100は、サーバ装置100のメモリに記憶している変数Ypの値をインクリメントする(1だけ増加させる)。つまり、サーバ装置100は、変数Ypを用いて、所定期間TaにおけるY軸方向の正の向きの移動回数をカウントする。
【0050】
状態(B)に示すように、k番目(kは、自然数)のフレーム画像の次のk+1番目フレーム画像において、重心位置CがY軸方向の負の向きに移動した場合には、サーバ装置100は、サーバ装置100のメモリに記憶している変数Ynの値をインクリメントする(1だけ増加させる)。つまり、サーバ装置100は、変数Ynを用いて、所定期間TaにおけるY軸方向の負の向きの移動回数をカウントする。
【0051】
このように、変数Ypの値は、所定期間Taにおける、Y軸方向の正の向きへの移動回数を表し、変数Ynの値は、所定期間Taにおける、Y軸方向の負の向きへの移動回数を表す。
【0052】
サーバ装置100は、重心位置Cの正の向きの移動回数と負の向きの移動回数とに基づき、白色部分がスノージャムであるか否かを判定する。典型的には、正の向きの移動回数と負の向きの移動回数との差分の絶対値Dy(Dy=|Yp-Yn|)を算出し、当該差分の絶対値Dyが予め定められた閾値Th以上であることを条件に、白色部分がスノージャムであると判定する。
【0053】
なお、変数Yp,Ynといった2つの変数を使用せずに、1つの変数Yを用いて、所定期間Taにおける、Y軸方向の正の向きへの移動回数とY軸方向の負の向きへの移動回数との差分を算出してもよい。たとえば、サーバ装置100は、重心位置CがY軸方向の正の向きに移動した場合には変数Yの値をインクリメント(1だけ増加)し、重心位置CがY軸方向の負の向きに移動した場合には変数Yの値をディクリメント(1だけ減少)してもよい。
【0054】
また、上記のような移動が行われる度に更新される変数を用いずに、フレーム番号(フレーム画像の識別番号)あるいは二値化画像の番号(識別番号)に対して、正の向きへの移動である場合には、数値“+1”を対応付け、負の向きへの移動である場合には、数値“-1”を対応付けておいてもよい。この場合には、所定期間Ta経過後に、各フレームに対応付けられた数値の総和(Σ)を求めることにより、上記差分が得られる。
【0055】
いずれにしても、サーバ装置100は、重心位置Cの正の向きの移動回数と負の向きの移動回数とに基づき、白色部分がスノージャムであるか否かを判定する。
【0056】
図10は、所定期間Taにおける重心位置Cの移動例を表した図である。詳しくは、
図10は、上述したように、所定期間Ta経過後に各フレームに対応付けられた数値の総和(Σ)を求める構成を示した図である。
【0057】
図10を参照して、重心位置CがY軸方向の正の向きに移動した場合には、フレーム番号(現在のフレーム画像の識別番号)に対して数値“+1”対応付ける。重心位置CがY軸方向の負の向きに移動した場合には、フレーム番号に対して数値“-1”対応付ける。重心位置CがY軸方向に移動していない場合には、フレーム番号に対して0を対応付ける。
【0058】
サーバ装置100は、上述したように、所定期間Ta経過後に、各フレームに対応付けられた数値の総和(Σ)を求める。サーバ装置100は、当該総和が閾値Th以上の場合には、スノージャムが発生していると判定する。サーバ装置100は、当該総和が閾値Th未満の場合には、スノージャムが発生していないと判定する。
【0059】
以上のように、サーバ装置100は、X軸方向の移動とは別に、Y軸方向の移動を検知する。これにより、監視カメラ300の姿勢および/またはスノージャムの移動方向に関わらず、スノージャムの発生を検知することができる。
【0060】
<D.機能的構成>
図11は、サーバ装置100の機能的構成を説明するための図である。なお、
図11では、重心位置Cの移動回数を正の向きおよび負の向きの各々においてカウントする構成を例に挙げて説明する。すなわち、変数Xp,Xnと変数Yp,Ynとを用いる場合を例に挙げて説明する。
【0061】
図11を参照して、サーバ装置100は、通信IF部101と、制御部102とを備える。通信IF部101は、受信部111と、送信部112とを備える。制御部102は、二値化処理部121と、重心位置算出部122と、判定部123とを備える。判定部123は、移動回数カウント部131~134と、差分算出部135,136と、比較部137,138とを備える。
【0062】
(判定の前処理)
通信部IF101は、外部の機器と通信するためのインターフェイスである。受信部111は、監視カメラ300から水路500の取水口700が設けられた場所の映像をリアルタイムに受信する。つまり、受信部111は、連続するフレーム画像を順次受信する。フレーム画像の各々は、二値化処理部121に送られる。
【0063】
二値化処理部121は、フレーム画像毎に二値化処理を行なう。詳しくは、二値化処理部121は、画像を白と黒との2階調に変換する。二値化処理では、画素の値が予め定められた閾値より大きければ白、小さければ黒に変換する。二値化処理部121は、フレーム画像を二値化して得られる二値化画像を重心位置算出部122に送る。
【0064】
重心位置算出部122は、二値化画像毎に重心位置Cを算出する。重心位置算出部122は、重心位置C(具体的には、XY座標系の座標値)を判定部123に送る。
【0065】
判定部123は、連続する2つの二値化画像間での重心位置Cの移動の向きを判定する。詳しくは、判定部123は、X軸方向に関し、重心位置Cの移動の向きが、正の向きか、負の向きかを判定する。さらに、判定部123は、Y軸方向に関し、重心位置Cの移動の向きが、正の向きか、負の向きかを判定する。
【0066】
(X軸方向の移動に基づく判定)
移動回数カウント部131は、連続する2つの二値化画像間での重心位置CのX軸方向の正の向きの移動回数をカウントする。移動回数カウント部132は、連続する2つの二値化画像間での重心位置CのX軸方向の負の向きの移動回数をカウントする。
【0067】
差分算出部135は、移動回数カウント部131,132によってカウントされた移動回数の情報を利用して、所定期間Taにおける、重心位置CのX軸方向の正の向きの移動回数と、重心位置CのX軸方向の負の向きの移動回数との差分の絶対値Dxを算出する。
【0068】
比較部137は、差分算出部135によって算出された絶対値Dxと、予め定められた閾値Thとの大小を比較する。
【0069】
判定部123は、比較部137による比較の結果、絶対値Dxが閾値Th以上の場合には、スノージャムが発生していると判定する。この場合、判定部123は、送信部112に対して判定結果を出力する。判定部123は、絶対値Dxが閾値Th未満の場合には、スノージャムが発生していないと判定する。
【0070】
(Y軸方向の移動に基づく判定)
移動回数カウント部133は、連続する2つの二値化画像間での重心位置CのY軸方向の正の向きの移動回数をカウントする。移動回数カウント部134は、連続する2つの二値化画像間での重心位置CのY軸方向の負の向きの移動回数をカウントする。
【0071】
差分算出部136は、移動回数カウント部133,134によってカウントされた移動回数の情報を利用して、所定期間Taにおける、重心位置CのY軸方向の正の向きの移動回数と、重心位置CのY軸方向の負の向きの移動回数との差分の絶対値Dyを算出する。
【0072】
比較部138は、差分算出部136によって算出された絶対値Dyと、予め定められた閾値Thとの大小を比較する。
【0073】
判定部123は、比較部138による比較の結果、絶対値Dyが閾値Th以上の場合には、スノージャムが発生していると判定する。この場合、判定部123は、送信部112に対して判定結果を出力する。判定部123は、絶対値Dyが閾値Th未満の場合には、スノージャムが発生していないと判定する。
【0074】
(報知処理)
判定部123によってスノージャムが発生していると判断されると、送信部112は、スノージャムが発生していることを端末装置200に対して通知する。
【0075】
端末装置200は、サーバ装置100から当該通知を受信すると、ディスプレイに所定の表示をすること、あるいはスピーカらの所定の音声を出力することなどにより、作業員に対して所定の報知を行う。
【0076】
また、サーバ装置100は、端末装置200に通知を行うとともに、サーバ装置100のディスプレイ等においてスノージャムが発生していること報知してもよい。
【0077】
このように、報知の主体は、端末装置200(詳しくは、端末装置200のディスプレイ、スピーカ)であってもよいし、サーバ装置100自体(詳しくは、サーバ装置100のディスプレイ、スピーカ)であってもよい。このようなユーザに対する報知の他、サーバ装置100から端末装置200への上記通知を報知(つまり、機器への報知)とも捉えることもできる。
【0078】
なお、判定部123は、スノージャムが発生していないと判定した場合であっても、当該判定結果を送信部112に対して出力してもよい。この場合、送信部112は、スノージャムが発生していないことを端末装置200に対して通知してもよい。端末装置200は、当該通知を受信した場合、スノージャムが発生していないことを示す情報を表示等してもよい。あるいは、端末装置200は、当該通知の受信確認のみをサーバ装置100に返信するだけで、スノージャムが発生していないことを示す情報を表示等しなくてもよい。
【0079】
(小括)
監視システム1は、設備に水を供給する水路500を撮像する監視カメラ300と、撮像により得られた連続する複数のフレーム画像の各々を二値化する二値化処理部121と、二値化により得られた二値化画像の各々において、白色部分の重心位置Cを算出する重心位置算出部122と、重心位置Cの時間的な変化態様に基づき、白色部分がスノージャムであるか否かを判定する判定部123と、白色の部分にスノージャムが含まれていると判定されたことに基づき、予め定められた報知を行う報知手段とを備える。
【0080】
このような構成によれば、気象条件、昼夜、照明状態に関係なく、スノージャムを精度良く検知することができる。
【0081】
<E.制御構造>
次に、変数Xp,Xnと変数Yp,Ynとを用いた場合の処理の流れについて説明する。
【0082】
図12は、判定処理の前半部分を表したフロー図である。
図13は、判定処理の後半部分を表したフロー図である。詳しくは、
図12,13は、所定期間Taの周期で実行される一連の処理のうち、各周期(所定期間Ta毎)に実行される処理の流れを表した図である。すなわち、
図12および
図13の処理が周期毎(所定期間Ta毎)に実行される。
【0083】
図12を参照して、ステップS1において、サーバ装置100(詳しくは、サーバ装置100のプロセッサ)は、変数Xp,Xn,Yp,Ynの値を0にリセットする。
【0084】
ステップS2において、サーバ装置100は、1つのフレーム画像の二値化処理を実行し、二値化画像を得る。ステップS3において、二値化画像における白色部分の重心位置Cを算出する。
【0085】
ステップS4において、サーバ装置100は、この周期において1つ前の重心位置Cが存在することを条件に、X軸方向における重心位置Cの移動の向きを判定する。移動の向きが正の向きであると判定された場合(ステップS5で正)、ステップS6において、変数Xpの値をインクリメントする。移動の向きが負の向きであると判定された場合(ステップS5で負)、ステップS14において、変数Xnの値をインクリメントする。
【0086】
ステップS7において、サーバ装置100は、この周期において1つ前の重心位置Cが存在することを条件に、Y軸方向における重心位置Cの移動の向きを判定する。移動の向きが正の向きであると判定された場合(ステップS8で正)、ステップS9において、変数Ypの値をインクリメントする。移動の向きが負の向きであると判定された場合(ステップS8で負)、ステップS15において、変数Ynの値をインクリメントする。
【0087】
ステップS10において、サーバ装置100は、所定期間Taが経過したか否かを判断する。換言すれば、フレーム画像のフレームレートは一定であるため、所定期間Taに対応する数のフレーム画像を二値化したか否かを判断する。
【0088】
所定期間Taが経過していないと判断された場合(ステップS10においてNO)、サーバ装置100は、処理をステップS2に戻して、次のフレーム画像を二値化する。所定期間Taが経過したと判断された場合(ステップS10においてYES)、
図13を参照して、ステップS11において、サーバ装置100は、XpとXnとの差の絶対値Dxが閾値Th以上であるか否かを判断する。
【0089】
XpとXnとの差の絶対値Dxが閾値Th以上であると判断された場合(ステップS11においてYES)、サーバ装置100は、スノージャムが発生していると判断する(ステップS12)。この場合、ステップS13において、サーバ装置100は、端末装置200に対して所定の通知を行う。なお、端末装置200は、当該通知を受信すると、作業員に対して所定の報知を行う。
【0090】
XpとXnとの差の絶対値Dxが閾値Th未満であると判断された場合(ステップS11においてNO)、サーバ装置100は、ステップS16において、サーバ装置100は、YpとYnとの差の絶対値Dyが閾値Th以上であるか否かを判断する。
【0091】
YpとYnとの差の絶対値Dyが閾値Th以上であると判断された場合(ステップS16においてYES)、サーバ装置100は、スノージャムが発生していると判断する(ステップS12)。YpとYnとの差の絶対値Dyが閾値Th未満であると判断された場合(ステップS16においてNO)、サーバ装置100は、スノージャムが発生していないと判断する(ステップS17)。
【0092】
図12および
図13に示した一連の判定処理は、一例であって、これに限定されるものではない。サーバ装置100は、スノージャムの発生の有無を判断する一連の判定処理を連続的に繰り返し行うために(つまり、周期的に行うために)、以下に示すように、1つのフレーム画像を複数回の判定処理に用いてもよい。
【0093】
サーバ装置100が、連続するm個のフレーム画像を用いてスノージャムの発生の有無を判断する構成の場合、サーバ装置100は、ある周期において、j番目からj+m-1番目迄のm個のフレーム画像(詳しくは、二値化画像)を用いてスノージャムの発生の有無を判断すると、次の周期では、j+1番目からj+m番目迄のm個のフレーム画像を用いてスノージャムの発生の有無を判断する。なお、m,jは、自然数である。
【0094】
つまり、サーバ装置100は、次の周期では、当該次の周期の1つ前の周期で使用した複数のフレーム画像のうちの一番古いフレーム画像を削除し、新たなフレーム画像(具体的には、当該1つ前の周期に含まれる一番新しいフレーム画像の次のフレーム画像)を追加することにより、スノージャムの発生の有無を判断する。このように、サーバ装置100は、1つのフレーム画像が得られる度に、スノージャムが発生しているか否かを判断する。このような構成によれば、精度の高い検出が可能となる。
【0095】
<F.ハードウェア構成>
図14は、サーバ装置100のハードウェア構成の典型例を表した図である。
【0096】
図14を参照して、サーバ装置100は、主たる構成要素として、プログラムを実行するプロセッサ151と、データを不揮発的に格納するROM152と、プロセッサ151によるプログラムの実行により生成されたデータ、又は入力装置を介して入力されたデータを揮発的に格納するRAM153と、データを不揮発的に格納するHDD154と、通信IF(Interface)155と、操作キー156と、電源回路157と、ディスプレイ158とを含む。各構成要素は、相互にデータバスによって接続されている。なお、通信IF155は、他の機器と間における通信を行なうためのインターフェイスである。
【0097】
サーバ装置100における処理は、各ハードウェアおよびプロセッサ151により実行されるソフトウェアによって実現される。このようなソフトウェアは、HDD154に予め記憶されている場合がある。また、ソフトウェアは、その他の記憶媒体に格納されて、プログラムプロダクトとして流通している場合もある。あるいは、ソフトウェアは、いわゆるインターネットに接続されている情報提供事業者によってダウンロード可能なプログラムプロダクトとして提供される場合もある。このようなソフトウェアは、読取装置によりその記憶媒体から読み取られて、あるいは、通信IF155等を介してダウンロードされた後、HDD154に一旦格納される。そのソフトウェアは、プロセッサ151によってHDD154から読み出され、RAM153に実行可能なプログラムの形式で格納される。プロセッサ151は、そのプログラムを実行する。
【0098】
同図に示されるサーバ装置100を構成する各構成要素は、一般的なものである。したがって、本発明の本質的な部分は、RAM153、HDD154、記憶媒体に格納されたソフトウェア、あるいはネットワークを介してダウンロード可能なソフトウェアであるともいえる。なお、サーバ装置100の各ハードウェアの動作は周知であるので、詳細な説明は繰り返さない。
【0099】
なお、端末装置200は、サーバ装置100と同様な構成を備えるため、端末装置200のハードウェア構成については、繰り返し説明しない。
【0100】
<G.補足>
上述したように、本実施の形態では、フレーム画像を二値化した上で白色部分の重心位置を求め、かつ重心位置の移動に着目してスノージャムの発生の有無を判断した。換言すれば、二値化により抽出(特定)したフレーム画像の一定輝度以上の領域の重心位置Cの移動態様に基づき、スノージャムの発生の有無を判断した。
【0101】
動体の重心位置の移動については、フレーム画像間の差分を用いることも考えられるが、この方法では、後述するように、スノージャムの発生の有無を検知できない。
【0102】
図15は、フレーム画像間の差分を用いる手法(比較例)と、本例との処理の特徴点を整理した図である。
【0103】
図15を参照して、比較例では、静穏な室内環境(動体が単発的に発生する環境)においては、動体有無の判定と、動体の特定と、動体移動傾向の判定と、動体移動方向の判定とが可能である。しかしながら、この比較例では、屋外の自然環境(動体が連続的に発生する環境)においては、動体有無の判定と、動体の特定と、動体移動傾向の判定と、動体移動方向の判定との全てができない。この理由として、(i)フレーム画像間の差分を取ったときに動体自体が背景となってしまい、動体の領域の抽出ができないため、(ii)外光、照明の反射、波、波紋、雨、雪などの自然に起因するノイズが、動体領域を抽出する際の障害になるためである。
【0104】
その一方、本例では、静穏な室内環境および屋外の自然環境においては、動体の特定と、動体移動方向の判定はできない。しかしながら、静穏な室内環境および屋外の自然環境においては、上述したように二値化画像の白色部分の重心位置C(換言すれば、フレーム画像の一定輝度以上の領域の重心位置)の移動を観察することにより、動体有無の判定と、動体移動傾向の判定ができる。
【0105】
このように、二値化処理を行ない、白色部分の重心位置の時間的な変化態様に基づけば、水路500にスノージャムが発生しているか否かを判断することができる。
【0106】
<H.変形例>
(1)上記においては、所定期間Ta毎にスノージャムが発生しているか否かを判定する構成を例に挙げて説明したが、これに限定されるものではない。たとえば、以下のような手法により、スノージャムの発生の有無を判定してもよい。
【0107】
サーバ装置100は、所定期間Tbにフレーム画像に基づき、スノージャムの発生を検知する。ここで、Tbは、TaのN(Nは2以上の整数)倍とする。つまり、Tb=N×Taとする。
【0108】
サーバ装置100は、各所定期間Taにおいて、XpとXnとの差の絶対値Dxが閾値Thよりも大きい場合(
図13のステップS11でYES)、あるいは、YpとYnとの差の絶対値Dyが閾値Thよりも大きい場合(
図13のステップS16でYES)の場合、別途設けられた変数Tgの値をインクリメントする。一方、両絶対値Dx,Dyのいずれもが閾値Th未満の場合には、変数Tgの値を維持する。
【0109】
サーバ装置100は、所定期間Tbにおいて、変数Tgの値が、N未満の所定の閾値以上である場合に、スノージャムが発生したと判断する。たとえば、Nが10の場合、当該閾値を7とする。
【0110】
つまり、サーバ装置100は、複数の連続する所定期間Taにおいて、所定以上の割合でスノージャムが発生していると判断したことに基づき、スノージャムの発生を確定する。このような処理によれば、精度良く、スノージャムの発生を検知できる。
【0111】
(2)上記においては、取水口の場所を監視カメラ300により撮像したが、これに限定されるものではない。ただし、取水口には、作業員が取水口付近を映像によって確認する目的で監視カメラが設けられていることが多く、この監視カメラを利用することにより、コストを抑えることができる。また、取水口700では、柵によって浮遊物が滞留しやすいため、他の場所に比べて、浮遊物の存在の有無を検知するのに好適である。
【0112】
(3)上記においては、二値化画像の一辺をX軸とし、他の辺をY軸にしたが、これに限定されるものではない。X軸およびY軸が二値化画像の辺に平行とならないように、XY座標系を設定してもよい。
【0113】
(4)水路500から水の供給を受ける設備は、発電設備(発電所)に限定されるものではない。
【0114】
<I.付記>
[構成1]監視システム1は、設備に水を供給する水路500を撮像する撮像手段(監視カメラ300)と、前記撮像により得られた連続する複数のフレーム画像の各々を二値化する二値化手段(二値化処理部121)と、前記二値化により得られた二値化画像の各々において、白色の部分の重心位置(C)を算出する算出手段(重心位置算出部122)と、前記重心位置(C)の時間的な変化態様に基づき、前記白色の部分に浮遊物が含まれているか否かを判定する判定手段(判定部123)と、前記白色の部分に前記浮遊物が含まれていると判定されたことに基づき、予め定められた報知を行う報知手段(サーバ装置100のディスプレイおよび/またはスピーカ、あるいは、端末装置200(詳しくは、端末装置200のディスプレイおよび/またはスピーカ))とを備える。
【0115】
[構成2]
前記判定手段(判定部123)は、前記二値化画像の一辺に平行な第1の軸の軸方向における、連続する2つの前記二値化画像間での前記重心位置の移動の向きを判定し、前記移動の向きのうち、正の向きの移動回数と負の向きの移動回数とに基づき、前記白色の部分に前記浮遊物が含まれているか否かを判定する。
【0116】
[構成3]
前記判定手段(判定部123)は、前記正の向きの移動回数(変数Xpの値)と前記負の向きの移動回数(変数Xnの値)との差分を算出し、前記差分の絶対値(Dx)が予め定められた閾値(Th)以上であることを条件に、前記白色の部分に前記浮遊物が含まれていると判定する。
【0117】
[構成4]
前記判定手段(判定部123)は、前記第1の軸に直交する第2の軸の軸方向における、連続する2つの前記二値化画像間での前記重心位置の移動の向きをさらに判定し、前記第2の軸の軸方向における前記移動の向きのうち、正の向きの移動回数と負の向きの移動回数とに基づき、前記白色の部分に前記浮遊物が含まれているか否かをさらに判定する。
【0118】
[構成5]
前記判定手段(判定部123)は、前記第2の軸の軸方向における前記正の向きの移動回数(変数Ypの値)と前記負の向きの移動回数(変数Ynの値)との差分を算出し、当該差分の絶対値Dyが予め定められた閾値(Th)以上であることを条件に、前記白色の部分に前記浮遊物が含まれていると判定する。
【0119】
[構成6]
前記撮像手段(監視カメラ300)は、前記水路のうち取水口が設けられた場所を撮像する。
【0120】
[構成7]
前記設備は、発電設備であって、前記浮遊物は、スノージャム、クラゲの群れ、または流木である。
【0121】
今回開示された実施の形態は例示であって、上記内容のみに制限されるものではない。本発明の範囲は特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0122】
1 監視システム、100 サーバ装置、101 通信IF部、102 制御部、111 受信部、112 送信部、121 二値化処理部、122 重心位置算出部、123 判定部、131,132,133,134 移動回数カウント部、135,136 差分算出部、137,138 比較部、151 プロセッサ、152 ROM、153 RAM、156 操作キー、157 電源回路、158 ディスプレイ、200 端末装置、300 監視カメラ、500 水路、700 取水口、B21,B22,B31,B32 二値化画像、C 重心位置、G1,G21,G22,G31,G32 フレーム画像、J 白色部分。