(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-06-03
(45)【発行日】2022-06-13
(54)【発明の名称】監視方法、監視方法を実現するためのコンピュータプログラム、および、監視システム
(51)【国際特許分類】
G06T 7/62 20170101AFI20220606BHJP
G06T 7/00 20170101ALI20220606BHJP
H04N 7/18 20060101ALI20220606BHJP
E02B 5/00 20060101ALI20220606BHJP
【FI】
G06T7/62
G06T7/00 350B
H04N7/18 D
E02B5/00 Z
(21)【出願番号】P 2020072453
(22)【出願日】2020-04-14
【審査請求日】2021-03-19
(73)【特許権者】
【識別番号】000156938
【氏名又は名称】関西電力株式会社
(74)【代理人】
【識別番号】110001195
【氏名又は名称】特許業務法人深見特許事務所
(72)【発明者】
【氏名】角田 恵
(72)【発明者】
【氏名】土増 壯則
(72)【発明者】
【氏名】高橋 一紀
(72)【発明者】
【氏名】小野 俊二
【審査官】片岡 利延
(56)【参考文献】
【文献】特開2020-060852(JP,A)
【文献】特開2019-218771(JP,A)
【文献】特開2020-033792(JP,A)
【文献】沖電気工業株式会社測機事業部,クラゲ検知装置,沖電気研究開発,沖電気工業株式会社,1993年,Vol.60 No.1
【文献】山本 益生,電力会社における設備監視システムの現状と今後の画像利用,テレビジョン学会誌,1995年,Vol.49 No.3,pp.274-280
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/62
G06T 7/00
H04N 7/18
E02B 5/00
(57)【特許請求の範囲】
【請求項1】
水路を撮影することにより得られた連続する複数のフレーム画像の入力を受けるステップと、
前記複数のフレーム画像のうちの最初のフレーム画像において設定された個数の特徴点の移動を、前記複数のフレーム画像にわたり前記特徴点毎に検出するステップと、
予め準備された学習済みモデルを用いて、前記複数のフレーム画像のうちの1つのフレーム画像を構成する各画素が、前記水路における浮遊物に該当するか否かを判定するステップと、
前記判定の結果に基づいて、前記1つのフレーム画像において浮遊物が存在すると判定された画素数の比率を算出するステップと、
前記特徴点の個数と予め定められた閾値との大小関係と、前記画素数の比率とに基づいて、前記浮遊物が所定の状態で前記水路に存在しているか否かを判定するステップとを含む、監視方法。
【請求項2】
前記浮遊物が所定の状態で前記水路に存在しているか否かを判定するステップは、
前記特徴点の個数が前記予め定められた閾値以上であることと、前記画素数の比率が予め定められた比率以上であることとに基づいて、前記浮遊物が
所定の状態で前記水路に存在していると判定することを含む、請求項1に記載の監視方法。
【請求項3】
前記複数のフレーム画像のうち所定数のフレーム画像を用いた判定処理を、前記判定処理に使用される先頭のフレーム画像を次のフレーム画像にずらすことにより、予め定められた回数だけ行なって得られた結果を蓄積して、特徴点の個数の合計値を算出するステップと、
前記合計値を算出する処理を予め定められた回数繰り返すことにより得られた前記特徴点の個数の合計値を累積するステップとをさらに含み、
前記特徴点の個数が前記予め定められた閾値以上であることは、前記特徴点の個数の合計値が予め定められた閾値以上であることを含む、請求項2に記載の監視方法。
【請求項4】
請求項1~3のいずれかに記載の監視方法を実現するためのコンピュータプログラム。
【請求項5】
請求項4に記載のコンピュータプログラムを格納したメモリと、
前記コンピュータプログラムを実行する1つ以上のプロセッサとを備える、監視システム。
【発明の詳細な説明】
【技術分野】
【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】
スノージャム、葉、クラゲその他の浮遊物を早期に検出したいという要請がある。スノージャムの検知に関し、例えば、オプティカルフローを用いた検知方法も考えられるが、使用環境によっては、誤検知する場合も有り得る。したがって、誤検知を抑制しつつ早期にオプティカルフローを検知する技術が必要とされている。
【0007】
本開示は上述のような背景に鑑みてなされたものであって、誤検知を抑制しつつ早期に浮遊物を検知する技術が開示される。
【課題を解決するための手段】
【0008】
ある実施の形態に従う監視方法は、水路を撮影することにより得られた連続する複数のフレーム画像の入力を受けるステップと、複数のフレーム画像のうちの最初のフレーム画像において設定された予め定められた個数の特徴点の移動を、複数のフレーム画像にわたり特徴点毎に検出するステップと、予め準備された学習済みモデルを用いて、複数のフレーム画像のうちの1つのフレーム画像を構成する各画素が、水路における浮遊物に該当するか否かを判定するステップと、判定の結果に基づいて、1つのフレーム画像において浮遊物が存在すると判定された画素数の比率を算出するステップと、特徴点の個数と予め定められた個数との大小関係と、画素数の比率とに基づいて、浮遊物が水路に存在しているか否かを判定するステップとを含む。
【0009】
ある局面において、浮遊物が水路に存在しているか否かを判定するステップは、特徴点の個数が予め定められた個数以上であることと、画素数の比率が予め定められた比率以上であることとに基づいて、浮遊物が水路に存在していると判定することを含む。
【0010】
ある局面において、当該監視方法は、複数のフレーム画像のうち所定数のフレーム画像を用いた判定処理を、判定処理に使用される先頭のフレーム画像を次のフレーム画像にずらすことにより、予め定められた回数だけ行なって得られた結果を蓄積して、特徴点の個数の合計値を算出するステップと、合計値を算出する処理を予め定められた回数繰り返すことにより得られた特徴点の個数の合計値を累積するステップとをさらに含む。特徴点の個数が予め定められた個数以上であることは、特徴点の個数の合計値が予め定められた閾値以上であることを含む。
【0011】
他の実施の形態に従うと、上記のいずれかに記載の監視方法を実現するためのコンピュータプログラムが提供される。
【0012】
さらに他の実施の形態に従うと、上記コンピュータプログラムを格納したメモリと、コンピュータプログラムを実行する1つ以上のプロセッサとを備える、監視システムが提供される。
【発明の効果】
【0013】
ある実施の形態に従うと、誤検知を抑制しつつ早期に浮遊物を検知することができる。
この発明の上記および他の目的、特徴、局面および利点は、添付の図面と関連して理解されるこの発明に関する次の詳細な説明から明らかとなるであろう。
【図面の簡単な説明】
【0014】
【
図1】浮遊物を早期に検出する監視システムとして作動するコンピュータシステムのプロセッサが実行する処理の一部を表わすフローチャートである。
【
図3】発電設備(発電所)に水を供給する水路を撮像することにより得られた画像を表した図である。
【
図4】監視システムのシステム構成を説明するための図である。
【
図5】特徴点を設定するために用いる複数の基準座標(位置)を説明するための図である。
【
図6】特徴点の初期位置の設定方法の一例を説明するための図である。
【
図7】特徴点の初期座標Ei[1]を表した図である。
【
図8】50番目のフレーム画像F50を表した図である。
【
図9】100番目のフレーム画像F100を表した図である。
【
図10】特徴点の初期座標Ei[1]を表した図である。
【
図11】100番目のフレーム画像F100’を表した図である。
【
図12】夜間における動画像データに基づく検証結果を説明するための図である。
【
図13】昼間における動画像データに基づく検証結果を説明するための図である。
【
図14】監視システム1のサーバ装置100の機能的構成を説明するための機能ブロック図である。
【
図15】サーバ装置100において実行される処理の前半部分の流れを説明するためのフロー図である。
【
図16】サーバ装置100において実行される処理の後半部分の流れを説明するためのフロー図である。
【
図17】サーバ装置100のハードウェア構成の典型例を表した図である。
【
図19】オプティカルフローを用いた検出における特徴点の基準座標および枠の配置の一例を表わす図である。
【
図20】監視システムとして機能するサーバ装置100のプロセッサ151が実行する処理の一部を表わすフローチャートである。
【
図21】ある発電所において12時30分に保安停止された場合においてスノージャムが検知されたタイミングを表わす図である。
【
図22】ある発電所において、保安停止がなかったもののカメラに水滴が付着したことによりスノージャムが発生したと誤検知された場合も含む検知結果の一例を表わす図である。
【
図23】誤検知要因が有った場合における検知結果を表わす図である。
【
図24】2018年12月29日に観測された雪面積比率(5分間の平均)の推移を表わす図である。
【
図25】誤検知要因が有った場合における検知結果を表わす図である。
【
図26】2018年12月29日に観測された雪面積比率(前回値との差分)の推移を表わす図である。
【
図27】ある実施の形態に従う監視システムが誤検知対策として採用する手法の一例を概念的に表わす図である。
【
図28】監視システムが、閾値10%として、雪面積比率をそのまま判定に使用した場合における検知結果を表わす図である。
【
図29】監視システムが、閾値140%として、雪面積比率の累積値を判定に使用した場合における検知結果を表わす図である。
【
図30】PoC(Proof of Concept)1モデルのみ、オプティカルフローのみ、および、PoC1モデル&オプティカルフローの併用、の各々の方式による検知特性を表わす図である。
【
図31】学習済みモデルの評価結果とオプティカルフローとの組み合わせを説明するための図である。
【
図32】2018年12月28日にスノージャムにより取水が停止した場合におけるスノージャムの発生の検知のタイミングを表わす図である。
【
図33】2019年1月24日にスノージャムにより取水が停止した場合におけるスノージャムの発生の検知のタイミングを表わす図である。
【
図34】2019年1月15日に、スノージャムが発生していないにもかかわらずスポットライトの光による誤検知が発生した場合の状態を表わす図である。
【
図35】2019年1月27日に、スノージャムが発生していないにもかかわらず、水面へ映りこんだ壁面の雪や雲などによる誤検知が発生した場合の状態を表わす図である。
【
図36】2019年2月13日の昼間における、監視システムによる検知結果を表わす図である。
【
図37】オプティカルフローモデルが採用された場合に誤検知し易い状況下において、PoC1モデルが誤検知しない画像と、そのオリジナルの画像とを表わす図である。
【発明を実施するための形態】
【0015】
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
【0016】
図1を参照して、本開示に係る技術思想の概要について説明する。
図1は、浮遊物を早期に検出する監視システムとして作動するコンピュータシステムのプロセッサが実行する処理の一部を表わすフローチャートである。
【0017】
まず、監視システムは、検査対象を撮影することによって得られたフレーム画像の入力を受け付けて、オプティカルフローの処理を準備する。より具体的には、ステップS110にて、プロセッサは、カメラによって撮影された画像として、フレーム画像を取得する。ステップS120にて、プロセッサは、期間uの第v番目のフレーム画像中の第1領域に複数の特徴点を設定する。ステップS125にて、プロセッサは、各特徴点を追跡する。
【0018】
監視システムは、オプティカルフローに基づく判定基準を設定する。より具体的には、ステップS130にて、プロセッサは、フレーム画像中の第2領域に含まれている特徴点の個数を算出する。ステップS135にて、プロセッサは、オプティカルフローに基づく判断基準Aを設定する。
【0019】
次に、監視システムは、学習済みモデル又は画素数比率に基づく判定基準Bを設定する。より具体的には、ステップS140にて、プロセッサは、フレーム画像中の各画素毎に浮遊物の判定処理を実行する。ステップS145にて、プロセッサは、浮遊物と判定された画素数の比率を算出する。ステップS150にて、プロセッサは、学習済みモデル又は画素数比率に基づく判定基準Bを設定する。
【0020】
次に、監視システムは、浮遊物の検出処理を実行する。より具体的には、ステップS160にて、プロセッサは、浮遊物の判定処理の結果が判定基準Aを充足し、かつ、学習済みモデル又は画素数の比率が判定基準Bを充足しているか否かを判断する。ステップS170にて、プロセッサは、浮遊物が存在していると判定する。ステップS180にて、プロセッサは、所定の通知処理を実行する。ステップS190にて、プロセッサは、次のフレーム画像を処理の対象に設定する。
【0021】
なお、判定基準Aが設定される順序と、判定基準Bが設定される順序とは逆であっても良い。したがって、ステップS130,S135は、ステップS140~S150の後に行なわれてもよい。
【0022】
次に、
図2~
図17を参照して、スノージャムの検出の詳細について説明する。
以下の実施の形態では、水路を流れる浮遊物(水路を詰まらせる要因となる物体)として、スノージャムを例に挙げて説明する。ただし、浮遊物は、スノージャムに限定されず、たとえば、海水を冷却手段として使用する発電所の場合には、浮遊物はクラゲの群れであってもよい。さらに、以下に示す、枚数、個数、および閾値等の各数値は、例示であって、記載された具体的数値に限定されるものではない。
【0023】
図2は、スノージャムを説明するための図である。
図2を参照して、状態(i)に示すように、山に積もった雪が落ちる。次いで、状態(ii)に示すように、落ちた雪が水路に流れ込む。これにより、スノージャムが発生する。さらに、状態(iii)に示すように、発電所の上流に設けられた上部水槽が、スノージャムにより詰まる。これにより、状態(iv)に示すように、水路から水が溢れる。その結果、発電所に水路の水(冷却水)が供給されなくなり、状態(v)に示すように、発電が停止する。したがって、スノージャムの発生を早期に検出することができれば、発電が停止することを防ぐことができる。
【0024】
また、スノージャムが発生する場所は、通常、発電所の作業員が常駐していない場所である。それゆえ、本例においては、水路をカメラによって撮像された映像を用いて、スノージャムの発生を検出する。
【0025】
ところで、スノージャムの発生初期から中期にかけては、水路がスノージャムによって詰まっておらず、水流がある。それゆえ、スノージャムは水路を流れる。その一方、スノージャムの発生後期においては、水路が詰まり、雪が一ヶ所に滞り始める。本例では、このような特徴を考慮し、スノージャムの発生初期から発生中期におけるスノージャムの検出を行う。
【0026】
図3は、発電設備(発電所)に水を供給する水路を撮像することにより得られた画像を表した図である。具体的には、当該画像G1は、映像(動画像)のある時点の画像(静止画、1枚のフレーム画像)を表した図である。より詳しくは、画像G1は、冬季において、水路のうち取水口が設けられた場所を撮像したものである。
【0027】
図3を参照して、水路には、複数のスノージャム(白色で表示した物体)が水面に浮遊している。また、取水口の上部(画像G1の左上部分)には、雪が積もっている。
【0028】
このような水路では、水の流れ自体や風によって波が立つことにより、水面の状態が変化する。また、夜間の照明によって水面が照らされ、水底においても夜間照明の反射が起こる。また、降雪なども発生する。このように、水路においては、昼夜を含めた日照条件の違いを含む気象条件の違いによって、撮像される画像も画一的ではない。
【0029】
本例では、このような条件下においてもスノージャムの発生を精度良く検出可能なシステムを説明する。
【0030】
<A.システム構成>
図4は、監視システムのシステム構成を説明するための図である。
【0031】
図4を参照して、監視システム1は、サーバ装置100と、端末装置200と、監視カメラ300とを備える。監視カメラ300は、サーバ装置100と通信可能に接続されている。端末装置200は、ネットワークを介して通信可能にサーバ装置100に接続されている。
【0032】
監視カメラ300は、水路500を撮像するために水路500の傍に設置されている。本例では、監視カメラ300は、水路500のうち取水口700の状態を監視するために、取水口700が設けられた場所を撮像するように設置されている。なお、取水口700には、一定形状をした大きな異物(流木等)が発電設備に流れ込まないように、柵が設けられている。
【0033】
監視カメラ300によって撮像された映像(動画像)は、サーバ装置100に送られる。当該映像は、たとえば端末装置200等の装置で見ることができる。つまり、発電所の作業員等は、取水口700の状態を映像によって監視することができる。
【0034】
さらに、監視システム1では、このような監視カメラ300によって撮像された映像を利用して、サーバ装置100がスノージャムの発生を検出する。詳しくは、動体検出の分野で一般的に用いられているオプティカルフロー(optical flow)を本実施の形態で用いることにより、後述する特徴点の移動を追跡する。これにより、サーバ装置100がスノージャムの発生を検出する。なお、オプティカルフローは公知の技術であるため、ここでは繰り返し説明しない。
【0035】
詳しくは、以下では、連続する100枚のフレーム画像を1つの判定単位として、スノージャムの発生の有無を判定する構成を例に挙げて説明する。すなわち、サーバ装置100は、最初の100枚のフレーム画像に基づきスノージャムの発生の有無を判定した後、次の100枚のフレーム画像に基づきスノージャムの発生の有無を判定する。この後、サーバ装置100は、このような判定処理を繰り返す。
【0036】
<B.特徴点の設定および移動検出>
図5は、特徴点を設定するために用いる複数の基準座標(位置)を説明するための図である。
【0037】
図5を参照して、本例の場合、サーバ装置100において、40個の基準座標D1~D40が予め設定(指定)されている。当該基準座標の設定は、たとえば、スノージャムの判定に用いるプログラムのユーザ(端末装置200のユーザ)によってなされる。あるいは、当該プログラムを設計者が、デフォルトで事前に基準座標を設定しておいてもよい。
【0038】
基準座標の設定は、撮像対象および撮像方向によって、適宜変更可能である。本例の場合、水路500の上流側(画像の右下の領域)に、略等間隔に40個の基準座標が設定されている。たとえばユーザが端末装置200からサーバ装置100にアクセスすることにより、サーバ装置100での基準座標の設定あるいは基準座標の設定の変更を行うことができる。なお、以下では、iを1~40の自然数として、基準座標を「Di」を用いて表記する。
【0039】
図6は、特徴点の初期位置の設定方法の一例を説明するための図である。
図6を参照して、サーバ装置100は、基準座標Diに基づき特徴点の初期座標Ei[1]を設定する。典型的には、サーバ装置100は、基準座標Diを含む予め定められた大きさの要素領域Aiにおいて、1つの特徴点の初期座標Ei[1]を設定する。特徴点の初期座標Eiが重複しないようにするため、要素領域Ai同士は重複しないことが好ましい。
【0040】
サーバ装置100は、たとえば、監視カメラ300による撮像により得られたフレーム画像に対して所定の画像処理を実行することにより、特徴点の初期座標Ei[1]を設定する。たとえば、サーバ装置100は、要素領域Ai内において、輝度の勾配(変化)の最も強い位置を特徴点の初期座標Eiに設定する。このような処理によって、40個の基準座標Diから40個の特徴点の初期座標Ei[1]が設定される。
【0041】
特徴点の初期座標Ei[1]の設定は、たとえば、オープンソースのコンピュータビジョン向けライブラリであるOpenCV(Open Source Computer Vision Library)を用いることにより実現できる。詳しくは、サーバ装置100は、OpenCVによって提供されている関数“cv2.cornerSubPix()”を利用して、初期座標Eiを設定する。より詳しくは、サーバ装置100は、当該関数の引数を“self.gray_next”とし(つまり、画像をグレー画像とし)、隣接する各画素の明るさの違いからコーナを設定(認識)する。特徴点の初期座標Ei[1]の設定は、このような公知の技術を用いればよいため、これ以上の詳細な説明については、ここでは繰り返さない。
【0042】
次に、特徴点の移動態様を、例を挙げて説明する。
(b1.第1のケース)
スノージャムが数珠繋状態となっている場合における特徴点の移動の態様を説明する。
【0043】
図7は、特徴点の初期座標Ei[1]を表した図である。
図7を参照して、サーバ装置100は、1番目のフレーム画像F1において、各基準座標Diに基づき、40個の特徴点の初期座標E1[1],E2[1],…,E8[1],…,E16[1],…,E33[1],…,E40[1]を設定する。なお、各要素領域Aiが事前に設定されているため、特徴点の初期座標E1[1]~E40[1]は、予め定めされた領域Q2(第2の領域の例)において設定される。なお、「1番目のフレーム画像」とは、100枚のうちの最初のフレーム画像を意味する。
【0044】
また、領域Q2は、領域Q1(第1の領域の例)と重複しないように設定されている。領域Q1は、設備に水路500の水を取り込む取水口700の画像が表示された領域と少なくとも一部が重複するように事前に設定されている。領域Q2の設定もユーザあるいはプログラムの設計者によってなされる。
【0045】
図8は、50番目のフレーム画像F50を表した図である。
図8を参照して、複数の特徴点が領域Q1内に移動している。このような特徴点の移動は、上述したように、オプティカルフロー(optical flow)を用いることにより検出できる。なお、
図7におけるEi[50]は、50番目のフレーム画像F50における特徴点の各座標を表している。
【0046】
図9は、100番目のフレーム画像F100を表した図である。
図9を参照して、
図8の状態よりも多くの特徴点が領域Q1内に移動している。
図7,
図8,
図9に基づけば、100枚のフレーム画像の期間において時間の経過とともに、領域Q2よりも下流側の領域Q1に特徴点が移動していることが分かる。なお、
図9におけるEi[100]は、100番目のフレーム画像F100における特徴点の各座標を表している。
【0047】
具体的には、フレーム画像F100では、40個の特徴点のうち、15個の特徴点が領域Q1内に移動している。また、40個の特徴点のうち、8個の特徴点が途中で追跡できなくなり、消滅している。
【0048】
(b2.第2のケース)
スノージャムが水面を覆っている状態における特徴点の移動の態様を説明する。
【0049】
図10は、特徴点の初期座標Ei[1]を表した図である。
図10を参照して、サーバ装置100は、1番目のフレーム画像F1’において、各基準座標Diに基づき、領域Q2内において、40個の特徴点の初期座標E1[1],E2[1],…,E8[1],E9[1],…,E33[1],…,E40[1]を設定する。
【0050】
図11は、100番目のフレーム画像F100’を表した図である。
図11を参照して、多くの特徴点が領域Q1内に移動している。100枚のフレーム画像の期間において時間の経過とともに、領域Q2よりも下流側の領域Q1に特徴点が移動している。
【0051】
具体的には、フレーム画像F100’では、40個の特徴点のうち、33個の特徴点が領域Q1内に移動している。また、40個の特徴点のうち、37個の特徴点が消滅することなく残存している。スノージャムが水面を覆っている状態では、消滅する特徴点が少ないといった傾向がある。
【0052】
(b3.第3のケース)
スノージャムの発生初期時には、100番目のフレーム画像において領域Q1に移動する特徴点の数は、第1のケースよりも少なくなる。また、途中で消滅する特徴点の数も、第1のケースよりも多くなる。
【0053】
<C.判定基準の設定>
サーバ装置100は、「A:スノージャムの発生初期状態」(以下、「A状態」とも称する)と、「B:スノージャムが数珠繋状態」(以下、「B状態」とも称する)と、「C:スノージャムが水面を覆っている状態」(以下、「C状態」とも称する)とを判定するように構成されている。
【0054】
詳しくは、サーバ装置100は、100番目のフレーム画像における領域Q1内の特徴点の個数Rと、100番目のフレーム画像全体での特徴点の個数Z(以下、「残存個数Z」とも称する)と、個数Rに関する閾値Tha,Thbと、残存個数Zに関する閾値Thcとに基づき、スノージャムの発生状態を判定する。
【0055】
以下では、「A:スノージャムの発生初期状態」の検出、「B:スノージャムが数珠繋状態」の検出、「C:スノージャムが水面を覆っている状態」の検出の順に、検出すべき優先度が高くなるように設定されている構成を例に挙げて説明する。
【0056】
本例の場合、残存個数Zに関する閾値Thcを、30個に設定する。また、個数Rに関する閾値Thbを15個に設定する。さらに、個数Rに関する閾値Thaを5個に設定する。
【0057】
100番目のフレーム画像において特徴点の残存個数が30個以上(閾値Thc以上)であれば、他の条件に関わらず、サーバ装置100は、「C:スノージャムが水面を覆っている状態」と判定する。この判定がなされた場合、サーバ装置100は、取水口700からの取水を停止させる制御を実行する。
【0058】
100番目のフレーム画像において領域Q1における特徴点の個数が15個以上(閾値Thb以上)であれば、「C:スノージャムが水面を覆っている状態」でないことを条件に、サーバ装置100は、「B:スノージャムが数珠繋状態」と判定する。この判定がなされた場合も、サーバ装置100は、取水口700からの取水を停止させる制御を実行する。
【0059】
100番目のフレーム画像において領域Q1における特徴点の個数が5個以上かつ15個未満(閾値Tha以上かつ閾値Thb未満)であれば、「C:スノージャムが水面を覆っている状態」ではないことを条件に、サーバ装置100は、「A:スノージャムの発生初期状態」と判定する。この判定がなされた場合、サーバ装置100は、所定の警告を端末装置200に通知する。なお、警告の通知先は、予め登録された機器であればよく、端末装置200に限定されるものではない。
【0060】
<D.検証>
監視カメラ300を用いた過去の撮像により得られた動画像データ(連続する複数のフレーム画像からなる動画像データ)を利用して、監視システム1の有効性(オプティカルフローによる検出の精度)について検証した。なお、本例では、監視カメラ300は、毎秒10回の撮像を行うものとする。
【0061】
(d1.第1の検証結果)
図12は、夜間における動画像データに基づく検証結果を説明するための図である。
【0062】
(1)水路日誌
図12を参照して、水路日誌には、期間T5内の午前4時5分にスノージャムが発生していることが記録されている。水路日誌への記録は、現場の監視員が監視カメラ300によって得られた動画像をリアルタイムに目視で確認することにより行われる。
【0063】
(2)後日の確認結果
後日、別の者がこのような動画像を注視することにより、スノージャムの発生状態を確認した結果を、「目視確認」の時系列表に記載している。
【0064】
期間T1(17289フレーム画像分:約28.8分間)においては、注視の結果、「A:スノージャムの発生初期状態」が断続的に継続していることが判明した。期間T1の直後の期間T2(372フレーム画像分:約0.6分間)においては、注視の結果、状態が「B:スノージャムが数珠繋状態」となっていることが判明した。期間T2の直後の期間T3(1355フレーム画像分:約2.2分間)においては、状態が「C:スノージャムが水面を覆っている状態」となっていることが判明した。
【0065】
期間T3の直後の期間T4(1806フレーム画像分:約3分間)においては、状態が「B:スノージャムが数珠繋状態」となっていることが判明した。つまり、スノージャムの発生量が、一旦、減少したが判明した。期間T4の直後の期間T5(703フレーム画像分:約1.2分間)においては、状態が、再度、「C:スノージャムが水面を覆っている状態」となっていることが判明した。水路日誌によれば、この期間T5においてスノージャムの発生が記録されている。期間T5の直後の期間T6(1054フレーム画像分:約1.8分間)においては、状態が「B:スノージャムが数珠繋状態」となっていることが判明した。つまり、スノージャムの発生量が、再度、減少したことが判明した。
【0066】
期間T6の直後の期間T7(8893フレーム画像分:約14.8分間)においては、注視の結果、状態が、再度、「C:スノージャムが水面を覆っている状態」となっていることが判明した。
【0067】
なお、期間T7の直後の期間T8(408フレーム画像分:約0.7分間)においては、監視カメラ300を意図的に移動させ、取水口700以外を撮像した。それゆえ、スノージャムが派生している状態にかかわらず、A状態,B状態,C状態の何れかの判定が行われていない。なお、期間T8の直後に監視カメラ300の位置を元の位置に戻した。
【0068】
期間T8の直後の期間T9(4190フレーム画像分:約7分間)においては、状態が、「C:スノージャムが水面を覆っている状態」となっていることが判明した。
【0069】
なお、人間の目視では、フレーム画像の各々を識別できないため、上述したフレーム数は参考値である。
【0070】
(3)オプティカルフローを用いた検出結果
期間T1においては、上述した特徴点の移動に基づく状態判定によって、「A:スノージャムの発生初期状態」が断続的に継続していることが検出された。具体的には、約172回ないし173回(≒17289フレーム÷100フレーム)の検出において、A状態であることが21回検出された。
【0071】
期間T2においては、「A:スノージャムの発生初期状態」と、「C:スノージャムが水面を覆っている状態」とが検出された。具体的には、4回の検出において、A状態であることが3回、C状態であることが1回検出された。なお、
図11では、A状態とC状態とが同じタイミングで生じているかのような記載となっているが、これは便宜的なものであって、A状態とC状態との発生検出タイミングは重複するものではない。このことは、以降の期間T3~T9においても同様である。
【0072】
期間T3においては、「A:スノージャムの発生初期状態」と、「B:スノージャムが数珠繋状態」と、「C:スノージャムが水面を覆っている状態」とが検出された。具体的には、14回の検出において、A状態であることが3回、B状態であることが8回、C状態であることが3回検出された。
【0073】
期間T4においては、A状態であることが6回、B状態であることが10回、C状態であることが2回検出された。期間T5においては、A状態であることが1回、B状態であることが4回、C状態であることが1回検出された。水路日誌によれば、上述したように、この期間T5においてスノージャムの発生が記録されている。
【0074】
以下、同様に、期間T6においては、A状態であることが4回、B状態であることが6回検出された。期間T7においては、A状態であることが13回、B状態であることが65回、C状態であることが6回検出された。期間T8では、上述したように、監視カメラ300を意図的に移動させ、取水口700以外を撮像したため、A状態,B状態,C状態の何れかの検出が行われていない。期間T9においては、A状態であることが3回、B状態であることが27回、C状態であることが10回検出された。
【0075】
後日の目視による確認結果と比較すれば明らかなように、オプティカルフローによる検出結果は、概ね正しい結果を示していると言える。特に、水路日誌に記載されたスノージャムの発生時刻よりも前に、スノージャムの発生を検出することができている。このように、監視システム1によれば、スノージャムの発生を自動的に検出することができる。
【0076】
また、スノージャムが数珠繋になった場合、設備にスノージャムが取り込まれると、上述したように、設備での発電が停止してしまう。しかしながら、監視システム1では、「B:スノージャムが数珠繋状態」になったことと、「C:スノージャムが水面を覆っている状態」になったこととを検出できるため、これらの検出タイミングで取水(設備への給水)の停止を停止する制御を行うことより、スノージャムの設備への流れ込によって発電が停止してしまうことを防止できる。
【0077】
(d2.第2の検証結果)
図13は、昼間における動画像データに基づく検証結果を説明するための図である。
【0078】
(1)水路日誌
図13を参照して、水路日誌には、期間T14内の15時5分~6分の間に取水を停止したことが記載されている。さらに、水路日誌には、期間T15内の15時6分~7分の間に放流を開始したことが記載されている。
【0079】
(2)後日の確認結果
図12と同様、後日、別の者がこのような動画像を注視することにより、スノージャムの発生状態を確認した結果を、「目視確認」の時系列表に記載している。
【0080】
期間T11および期間T13は、監視カメラ300を意図的に移動させ、取水口700以外を撮像した期間である。それゆえ、スノージャムの発生状態を判定できていない。
【0081】
期間T11と期間T13との間の期間T12(724フレーム画像分:約1.2分間)においては、注視の結果、状態が「C:スノージャムが水面を覆っている状態」となっていることが判明した。また、期間T13の直後の期間T14(4250フレーム画像分:約7分間)においても、期間T12と同様、状態が「C:スノージャムが水面を覆っている状態」となっていることが判明した。
【0082】
期間T15では、C状態からの放流が開始されたため、スノージャムの状態ではないが、スノージャムに類似した状態が発生していることが視認された。期間T15の直後では、スノージャムの発生が視認されず、水が流れている状態となっていることが判明した。
【0083】
(3)オプティカルフローを用いた検出結果
期間T12において、A状態であることが1回、B状態であることが4回、C状態であることが2回検出された。期間T14においては、A状態であることが12回、B状態であることが23回、C状態であることが2回検出された。
【0084】
放流が開始された直後の期間T15においては、A状態,B状態,C状態の何れかの状態も検出されなかった。このように、オプティカルフローを利用した監視システム1によれば、「スノージャムの状態ではないが、スノージャムに類似した状態」(期間T15の状態)であっても、「スノージャムの状態である」との誤検出はなされない。このように、監視システム1によれば、放流がなされた場合であっても、精度の高い検出を行うことが可能となる。
【0085】
<E.機能的構成>
図14は、監視システム1のサーバ装置100の機能的構成を説明するための機能ブロック図である。
【0086】
図14を参照して、サーバ装置100は、監視カメラ300と、取水装置400と、端末装置200とに通信可能に接続されている。サーバ装置100は、通信IF(Interface)部101と、制御部102とを備える。
【0087】
通信IF部101は、サーバ装置100が他の装置と通信するためのインターフェイスである。通信IF部101は、受信部111と、送信部112とを含む。
【0088】
制御部102は、サーバ装置100の全体的な動作を制御する。制御部102は、典型的には、プロセッサ151(
図16参照)がプログラムを実行することによって実現される。制御部102は、基準座標設定部141と、特徴点設定部142と、検出部143と、判定部144と、給水制御部145と、報知部146とを含む。
【0089】
受信部111は、設備に水を供給する水路500を撮像する監視カメラ300から、連続してフレーム画像を受信する。
【0090】
基準座標設定部141は、外部入力(たとえば、ユーザ操作)に基づき、複数の基準座標Diを設定する。なお、基準座標Diがデフォルトで設定されている場合等には、外部入力は必ずしも必要でない。各基準座標Diは、特徴点設定部142に送られる。
【0091】
制御部102が、スノージャムの検出処理の開始を指示する入力(たとえば、ユーザ操作)を受け付けると、特徴点設定部142は、当該入力の時点で受信されたフレーム画像を最初のフレーム画像(100枚中の1枚目のフレーム画像)として、当該最初のフレーム画像の領域Q2において40個の特徴点を設定する(
図6参照)。設定された特徴点の座標Eiは、検出部143に送られる。
【0092】
検出部143は、撮像により得られた連続する100枚のフレーム画像のうちの最初のフレーム画像において設定された40個の特徴点の移動を、100枚のフレーム画像にわたり特徴点毎に検出する。つまり、検出部143により特徴点の追跡がなされる。なお、「100枚のフレーム画像にわたり特徴点毎に検出する」とは、99回(100枚のフレーム画像におけるフレーム画像間の個数に相当)の移動を追跡することを意味する。
【0093】
検出部143は、検出結果を判定部144に送る。具体的には、検出部143は、100番目のフレーム画像全体における残存個数Zと、100番目のフレーム画像の領域Q1における特徴点の個数Rとを、判定部144に送る。
【0094】
判定部144は、スノージャムの発生状態が、「A:スノージャムの発生初期状態」と、「B:スノージャムが数珠繋状態」と、「C:スノージャムが水面を覆っている状態」とのいずれの状態であるかを判定する。
【0095】
判定部144は、上述したB状態に関し、100枚のフレーム画像のうちの最後のフレーム画像における領域Q1に存在する特徴点の個数が、閾値Thb(15個)以上と判定されたことに基づき、水路500にスノージャムが存在していると判定する。詳しくは、判定部144は、スノージャムの発生状態が「B:スノージャムが数珠繋状態」(B状態)であると判定する。
【0096】
また、判定部144は、上述したC状態に関し、最後のフレーム画像における特徴点の個数が閾値Thc(30個)以上であると判定された場合には、水路500にスノージャムが存在していると判定する。詳しくは、判定部144は、スノージャムの発生状態が「C:スノージャムが水面を覆っている状態」(C状態)であると判定する。より詳しくは、判定部144は、最後のフレーム画像における領域Q1に存在する特徴点の個数が閾値Thb(15個)未満と判定された場合であっても、最後のフレーム画像における特徴点の個数が閾値Thc(30個)以上であると判定された場合には、水路500にスノージャムが存在していると判定する。なお、本実施の形態の例では、C状態の方がB状態よりもスノージャムの発生度合いが大きいため、C状態の判定をB状態の判定よりも優先する。
【0097】
さらに、判定部144は、最後のフレーム画像(100番目のフレーム画像)における領域Q1に存在する特徴点の個数が、閾値Thb(15個)未満かつ閾値Tha(5個)以上の場合、スノージャムの発生状態が「A:スノージャムの発生初期状態」(A状態)であると判定する。
【0098】
判定部144は、B状態またはC状態と判定すると、給水制御部145に所定の指示を送信する。この場合、給水制御部145は、判定部144から上記指示を受け付けると、設備の取水装置400に対し、送信部112を介して取水停止命令を送信する。取水装置400は、取水停止命令を受信すると、水路500から設備への水の給水(取水)を停止する。
【0099】
また、判定部144は、A状態と判定すると、報知部146に対し、予め定められた指示を送信する。この場合、報知部146は、判定部144から上記指示を受け付けると、端末装置200に対し、送信部112を介して予め定められた報知を行う。典型的には、報知部146は、端末装置200に対して、スノージャムが発生したことを通知する。
【0100】
<F.制御構造>
図15は、サーバ装置100において実行される処理の前半部分の流れを説明するためのフロー図である。
【0101】
図15を参照して、ステップS101において、サーバ装置100(詳しくは、プロセッサ151)は、監視カメラ300によって得られたフレーム画像の取得を開始する。ステップS102において、サーバ装置100は、予め定められた変数u,vの値を1にリセットする。
【0102】
ステップS103において、サーバ装置100は、第uの期間におけるv番目のフレーム画像の領域Q2内において、40個の特徴点を設定する。ステップS104において、サーバ装置100は、変数vの値をインクリメントする。すなわち、サーバ装置100は、vの値を1だけ増加させる。
【0103】
ステップS105において、サーバ装置100は、第uの期間におけるv番目のフレーム画像における各特徴点を追跡する。ステップS106において、サーバ装置100は、変数vの値が100以上になったか否かを判断する。
【0104】
サーバ装置100は、vの値が100未満であると判断すると(ステップS106においてNO)、処理をステップS104に進める。サーバ装置100は、vの値が100以上であると判断すると(ステップS106においてYES)、ステップS107において、v番目のフレーム画像全体に含まれている特徴点の個数(すなわち、残存個数Z)を算出する。次いで、ステップS108において、サーバ装置100は、v番目のフレーム画像の領域Q1に含まれている特徴点の個数Rを算出する。その後、サーバ装置100は、処理をステップS109(
図15)に進める。
【0105】
図16は、サーバ装置100において実行される処理の後半部分の流れを説明するためのフロー図である。
【0106】
図16を参照して、ステップS109において、サーバ装置100(詳しくは、プロセッサ151)は、残存個数Zが30個(閾値Thc)以上であるか否かを判断する。サーバ装置100は、残存個数Zが30個以上であると判断すると(ステップS109においてYES)、ステップS114において、スノージャムの発生状態が「C:スノージャムが水面を覆っている状態」であると判定する。その後、サーバ装置100は、処理をステップS112に進める。
【0107】
サーバ装置100は、残存個数Zが30個未満であると判断すると(ステップS109においてNO)、ステップS110において、領域Q1に含まれる特徴点の個数Rが15個(閾値Thb)以上であるか否かを判断する。サーバ装置100は、個数Rが15個以上であると判断すると(ステップS110においてYES)、ステップS115において、スノージャムの発生状態が「B:スノージャムが数珠繋状態」であると判定する。その後、サーバ装置100は、処理をステップS112に進める。
【0108】
サーバ装置100は、個数Rが15個未満であると判断すると(ステップS110においてNO)、ステップS111において、領域Q1に含まれる特徴点の個数Rが5個(閾値Tha)以上であるか否かを判断する。サーバ装置100は、個数Rが5個以上であると判断すると(ステップS111においてYES)、ステップS116において、スノージャムの発生状態が「A:スノージャムの発生初期状態」であると判定する。その後、サーバ装置100は、処理をステップS112に進める。
【0109】
ステップS112において、サーバ装置100は、変数uの値をインクリメントする。ステップS113において、サーバ装置100は、変数vの値を1にリセットする。その後、サーバ装置100は、処理をステップS103(
図14)に進めることにより、次の100枚のフレーム画像を用いたスノージャムの検出処理を実行する。
【0110】
<G.ハードウェア構成>
図17は、サーバ装置100のハードウェア構成の典型例を表した図である。
【0111】
図17を参照して、サーバ装置100は、主たる構成要素として、プログラムを実行するプロセッサ151と、データを不揮発的に格納するROM152と、プロセッサ151によるプログラムの実行により生成されたデータ、又は入力装置を介して入力されたデータを揮発的に格納するRAM153と、データを不揮発的に格納するHDD154と、通信IF(Interface)155と、操作キー156と、電源回路157と、ディスプレイ158とを含む。各構成要素は、相互にデータバスによって接続されている。なお、通信IF155は、他の機器と間における通信を行なうためのインターフェイスである。
【0112】
サーバ装置100における処理は、各ハードウェアおよびプロセッサ151により実行されるソフトウェアによって実現される。このようなソフトウェアは、HDD154に予め記憶されている場合がある。また、ソフトウェアは、その他の記憶媒体に格納されて、プログラムプロダクトとして流通している場合もある。あるいは、ソフトウェアは、いわゆるインターネットに接続されている情報提供事業者によってダウンロード可能なプログラムプロダクトとして提供される場合もある。このようなソフトウェアは、読取装置によりその記憶媒体から読み取られて、あるいは、通信IF155等を介してダウンロードされた後、HDD154に一旦格納される。そのソフトウェアは、プロセッサ151によってHDD154から読み出され、RAM153に実行可能なプログラムの形式で格納される。プロセッサ151は、そのプログラムを実行する。
【0113】
同図に示されるサーバ装置100を構成する各構成要素は、一般的なものである。したがって、本発明の本質的な部分は、RAM153、HDD154、記憶媒体に格納されたソフトウェア、あるいはネットワークを介してダウンロード可能なソフトウェアであるともいえる。なお、サーバ装置100の各ハードウェアの動作は周知であるので、詳細な説明は繰り返さない。
【0114】
なお、端末装置200は、サーバ装置100と同様な構成を備えるため、端末装置200のハードウェア構成については、繰り返し説明しない。
【0115】
<H.小括>
上述した処理の一部を抽出すると、以下のとおりである。
【0116】
(1)監視システム1は、設備に水を供給する水路500を撮像する監視カメラ300と、上記撮像により得られた連続する複数のフレーム画像のうちの最初のフレーム画像において設定された予め定められた個数の特徴点の移動を、上記複数のフレーム画像にわたり上記特徴点毎に検出する検出部143と、上記複数のフレーム画像のうちの最後のフレーム画像における領域Q1に存在する上記特徴点の個数が、閾値Thb以上と判定されたことに基づき、水路500にスノージャムが存在していると判定する判定部144とを備える。このような構成によれば、水路500を流れるスノージャムを精度良く検出することが可能となる。
【0117】
(2)また、判定部144は、上記最後のフレーム画像における領域Q1に存在する上記特徴点の個数が閾値Thb未満と判定された場合であっても、上記最後のフレーム画像における上記特徴点の個数が閾値Thc以上であると判定された場合には、水路500にスノージャムが存在していると判定する。この場合にも、水路500を流れるスノージャムを精度良く検出することが可能となる。
【0118】
(3)監視システム1は、水路500にスノージャムが存在していると判断されたことに基づき、上記設備への水の供給を停止させる給水制御部145をさらに備える。このような構成によれば、設備が停止してしまうことを防止できる。
【0119】
(4)監視システム1は、上記最後のフレーム画像における領域Q1に存在する上記特徴点の個数が、閾値Thb未満かつ閾値Tha以上と判定されたことに基づき、予め定められた報知を行う報知部146をさらに備える。このような構成によれば、設備の管理者等は、スノージャムの発生を早期に知ることができる。
【0120】
(5)監視システム1は、上記最初のフレーム画像の領域Q2において上記予め定められた個数の特徴点を設定する特徴点設定部142をさらに備える。また、領域Q1は、領域Q2よりも水路500の下流側の領域である。
【0121】
(6)特徴点設定部142は、領域Q2における上記予め定められた個数の予め指定された座標を基準として、上記複数の特徴点の各々を設定する。このような構成によれば、ユーザ等が座標を指定するだけで、サーバ装置100が自動的に特徴点を設定(探索)してくれる。
【0122】
(7)特徴点設定部142は、上記指定された座標(基準座標)を含む予め定められた大きさの要素領域Aiにおいて、1つの上記特徴点を設定する。このような構成によれば、特徴点の座標が重複してしまうことを低減することができる。
【0123】
(8)領域Q1は、上記設備に水路500の水を取り込む取水口700の画像が表示された領域と少なくとも一部が重複する。取水口700には柵が設置されているため、スノージャムは取水口700に溜まりやすい。それゆえ、このような構成によれば、スノージャムの発生を精度良く検出可能となる。
【0124】
<I.変形例>
(1)上記においては、取水口の場所を監視カメラ300により撮像したが、これに限定されるものではない。ただし、取水口には、作業員が取水口付近を映像によって確認する目的で監視カメラが設けられていることが多く、この監視カメラを利用することにより、コストを抑えることができる。また、取水口700では、柵によって浮遊物が滞留しやすいため、他の場所に比べて、浮遊物の存在の有無を検出するのに好適である。
【0125】
(2)水路500から水の供給を受ける設備は、発電設備(発電所)に限定されるものではない。
【0126】
<誤検知要因>
図18および
図19を参照して、オプティカルフローまたは学習済みモデルを用いた場合の誤検知要因について説明する。
【0127】
図18は、誤検知要因を表わす図である。写真Aにおいて、領域1800は、水の流れの方向に照明の反射が伸び縮みしている状態を示している。この伸び縮みは、オプティカルフローにおいて特徴点の誤検知の要因となり得る。写真Bは、昼間の水路の表面で光が反射している状態を表わす。画像Cは、写真Bの画像データを用いて学習済みモデル(「PoC1モデル」という場合もある)による2値化処理を行なって得られた画像である。写真Bに基づく画像Cの場合、瞬間値として、観察時の雪面積比率が35.2%であるとして誤検知されている。また、5分間の平均値をスノージャムの発生の検知に用いた場合には、雪面積比率が29.3%であるとして、誤検知されている。
【0128】
本実施の形態において、PoC1モデルとは、ある水路を撮影して得られた画像を用いてスノージャムを検知するために使用された画像を用いて学習させることにより得られた学習済みモデルをいう。PoC1モデルによれば、監視システム1は、流雪に敏感に反応するものの、水面からの反射をスノージャムと誤検知する場合もある。
【0129】
PoC2モデルとは、PoC1モデルに対して、誤検知要因が写った画像、あるいは、他の場所(例えば、発電所)のスノージャム画像を追加学習させることにより得られた学習済みモデルをいう。PoC2モデルによれば、PoC1モデルが使用される場合に生じた誤検知を大幅に削減できる。
【0130】
図19は、オプティカルフローを用いた検出における特徴点の基準座標および枠の配置の一例を表わす図である。状態(A)は、映像において浮遊物が横方向に流れる場合における特徴点および枠1910の配置の一例を表わす。状態(B)は、映像において浮遊物が斜め方向に流れる場合における特徴点および枠1920の配置の一例を表わす。
【0131】
図19に示されるようなオプティカルフローモデルを採用する場合、浮遊物が流れる方向およびその流れる速さに応じて、領域Q1としての枠1910,1920の大きさ、形状および位置を設定する必要がある。しかしながら、浮遊物の流れる方向や速さは、観察対象となる水路の流れその他の実際の環境に大きく依存する。したがって、監視システムが稼働する前に事前チューニングを行なうことが難しい。
【0132】
図20を参照して、ある実施の形態に従う監視システムの制御構造について説明する。
図20は、監視システムとして機能するサーバ装置100のプロセッサ151が実行する処理の一部を表わすフローチャートである。
【0133】
ステップS2010にて、プロセッサ151は、フレーム画像の取得を開始する。フレーム画像は、例えば、監視カメラ300による撮影画像として、サーバ装置100に送信される。
【0134】
ステップS2015にて、プロセッサ151は、初期化のため、変数u,vの値を1にリセットする。
【0135】
ステップS2020にて、プロセッサ151は、第uの期間におけるv番目のフレーム画像の領域Q2内において、予め設定された数(例えば、40個)の特徴点を設定する。
【0136】
ステップS2025にて、プロセッサ151は、変数vの値をインクリメントする(v←v+1)。
【0137】
ステップS2030にて、プロセッサ151は、第uの期間におけるv番目のフレーム画像における各特徴点を追跡し、各特徴点の座標を特定する。
【0138】
ステップS2035にて、プロセッサ151は、変数vの値が6以上であるか否かを判断する。変数vの値が6以上である場合には(ステップS2035にてYES)、プロセッサ151は、制御をステップS2040およびステップS2050に切り替える。そうでない場合には(ステップS2035にてNO)、プロセッサ151は、制御をステップS2025に戻す。
【0139】
ステップS2040にて、プロセッサ151は、v番目のフレーム画像の領域Q1に含まれている特徴点の個数Rを算出する。
【0140】
ステップS2041にて、プロセッサ151は、配列ac5の格納数が5であるか否かを判断する。プロセッサ151は、配列ac5の格納数が5であると判断すると(ステップS2041にてYES)、制御をステップS2042に切り替える。そうでない場合には(ステップS2041にてNO)、プロセッサ151は、制御をステップS2043に切り替える。
【0141】
ステップS2042にて、プロセッサ151は、配列ac5における5番目の値を削除し、初期化する。
【0142】
ステップS2043にて、プロセッサ151は、個数Rを配列ac5の1番目に登録する。
【0143】
ステップS2044にて、プロセッサ151は、配列ac5の合計値ac5sumを算出する。
【0144】
ステップS2045にて、プロセッサ151は、配列ac12の格納数が12であるか否かを判断する。プロセッサ151は、配列ac12の格納数が12であると判断すると(ステップS2045にてYES)、制御をステップS2046に切り替える。そうでない場合には(ステップS2045にてNO)、プロセッサ151は、制御をステップS2047に切り替える。
【0145】
ステップS2046にて、プロセッサ151は、配列ac12における12番目の値を削除し、初期化する。
【0146】
ステップS2047にて、プロセッサ151は、合計値ac5sumを配列ac12の1番目に登録する。
【0147】
ステップS2048にて、プロセッサ151は、配列ac12の合計値ac12sumを算出する。
【0148】
ステップS2050にて、プロセッサ151は、v番目のフレーム画像の各画素毎にPoC1モデルによるスノージャム判定を実施する。
【0149】
ステップS2051にて、プロセッサ151は、v番目のフレーム画像でスノージャムと判定された画素数比率areaを算出する。
【0150】
ステップS2052にて、プロセッサ151は、前回の判定結果pre_areaが登録されているか否かを判断する。前回の判定結果pre_areaが登録されている場合には(ステップS2052にてYES)、プロセッサ151は、制御をステップS2060に切り替える。そうでない場合には(ステップS2052にてNO)、プロセッサ151は、制御をステップS2053に切り替える。
【0151】
ステップS2053にて、プロセッサ151は、前回の判定結果pre_areaにステップS2051にて算出した画素数比率areaの値を入力する。
【0152】
ステップS2060にて、プロセッサ151は、配列ac12の合計値ac12sumが予め設定された閾値(たとえば115)よりも大きく、かつ、画素数比率areaと前回の判定結果pre_areaとの差が予め設定された閾値(例えば4)よりも大きいか否かを判断する。配列ac12の合計値ac12sumが予め設定された閾値(たとえば115)よりも大きく、かつ、画素数比率areaと前回の判定結果pre_areaとの差が予め設定された閾値(例えば4)よりも大きい場合には(ステップS2060にてYES)、プロセッサ151は、制御をステップS2070に切り替える。そうでない場合には(ステップS2070にてNO)、プロセッサ151は、制御をステップS2080に切り替える。
【0153】
ステップS2070にて、プロセッサ151は、スノージャムが監視対象領域に発生していると判定する。プロセッサ151は、サーバ装置100のディスプレイ158に、スノージャムが発生している旨を表示する。他の局面において、プロセッサ151は、サーバ装置100に接続されている他の情報端末に、スノージャムが発生していることを通知する警告を送信する。当該警告は、例えば、当該監視対象領域の管理者が使用する携帯通信端末に送信される。
【0154】
ステップS2080にて、プロセッサ151は、前回の判定結果pre_areaにステップS2051にて算出した画素数比率areaの値を入力する。
【0155】
ステップS2085にて、プロセッサ151は、変数uの値を1だけインクリメントする。
【0156】
ステップS2090にて、プロセッサ151は、変数vの値を1にリセットする。
なお、
図20では、オプティカルフローモデルに基づく判断基準を導出する処理(ステップS2040~S2048)と、学習済みモデル(PoC1またはPoC2)に基づく判断基準を導出する処理(ステップS2050~2053)とは、並行して実行される態様で例示されているが、他の局面において、これらの処理は、順次実行されてもよい。
【0157】
本実施の形態に係る監視システム1を構成するサーバ装置100は、オプティカルフローモデルに基づく判断基準と、学習済みモデルに基づく判断基準とを併用することにより、スノージャムの判断時の誤検知を抑制しつつ、スノージャムを早期に検知することができる。以下、各モデルに基づく検知精度の相違について説明する。
【0158】
<スノージャムの検知精度の比較>
図21および
図22を参照して、スノージャムを検知する各方式の精度の比較結果について説明する。
図21は、ある発電所において12時30分に保安停止された場合においてスノージャムが検知されたタイミングを表わす図である。
【0159】
[PoC2モデル]
グラフ(A)は、PoC2モデルにおいて4秒ごとに推定し5分間の平均を採用した場合における検知のタイミングを表わす。この場合、サーバ装置100は、11時11分39秒にスノージャムを検知したと判断している。
【0160】
グラフ(B)は、PoC2モデルにおいて4秒ごとに推定し前回の値との差分でスノージャムの検知の判定が行われた場合における検知のタイミングを表わす。この場合、サーバ装置100は、11時10分23秒にスノージャムを検知したと判断している。
【0161】
[PoC1モデル&オプティカルフロー]
グラフ(C)およびグラフ(D)は、PoC1モデルとオプティカルフローとの組み合わせでスノージャムの検知が行なわれた場合のタイミングを表わす。グラフ(C)とグラフ(D)との違いは、オプティカルフローにおけるチューニング(設定)の内容である。
【0162】
より具体的には、グラフ(C)は、PoC1モデルにおいて4秒ごとに推定し5分間の平均が採用され、かつ、「チューニング1」が行なわれたオプティカルフローによる判定結果が組み合わされた場合における検知のタイミングを表わす。この場合、サーバ装置100は、9時45分40秒および11時11分51秒に、スノージャムをそれぞれ検知したと判断している。チューニング1では、PoC1モデルの推論結果の5分間の平均値が使用された場合において、雪面積比率およびオプティカルフローの累積値が、閾値として採用される。
【0163】
グラフ(D)は、PoC1モデルにおいて4秒ごとに推定し5分間の平均が採用され、かつ、「チューニング2」が行なわれたオプティカルフローによる判定結果が組み合わされた場合における検知のタイミングを表わす。この場合、サーバ装置100は、9時45分20秒および11時11分51秒に、スノージャムをそれぞれ検知したと判断している。チューニング2では、PoC1モデルの推論結果の前回値との差分(変化量)が閾値として採用される。
【0164】
[オプティカルフロー]
グラフ(E)は、オプティカルフローのみが採用された場合におけるスノージャムの検知結果を表わす。すなわち、サーバ装置100は、9時45分40秒および11時11分59秒に、スノージャムをそれぞれ検知したと判断している。
【0165】
グラフ(A)およびグラフ(B)から明らかなように、PoC2モデルのみが採用された場合には、スノージャムは、一度だけ検知されている。すなわち、9時45分過ぎのスノージャムは、PoC2モデルでは検知されていない。これに対して、グラフ(C)、グラフ(D)およびグラフ(E)から明らかなように、オプティカルフローが組み合わされた各方式によれば、いずれも、9時45分過ぎのスノージャムも検知されている。
【0166】
図22は、ある発電所において、保安停止がなかったもののカメラに水滴が付着したことによりスノージャムが発生したと誤検知された場合も含む検知結果の一例を表わす図である。すなわち、日誌によれば、8時8分47秒頃に水滴がカメラに付着していることが観察されている。スノージャムに至らない「流雪」は、10時14分31秒に観察されたことが記録されている。
図22に示される観測が行なわれた発電所では、保安停止が行なわれていない。
【0167】
グラフ(A)は、PoC2モデルにおいて4秒ごとに推定し5分間の平均を採用した場合における検知のタイミングを表わす。この場合、サーバ装置100は、8時13分42秒にスノージャムを検知したと判断している。その後の流雪が観測された時点では、サーバ装置100は、スノージャムを検知したとは判断しておらず、この時は誤検知が生じていない。
【0168】
グラフ(B)は、PoC2モデルにおいて4秒ごとに推定し前回の値との差分でスノージャムの検知の判定が行われた場合における検知のタイミングを表わす。この場合、サーバ装置100は、8時12分38秒にスノージャムを検知したと判断している。さらに、サーバ装置100は、10時16分6秒にスノージャムを検知したと判断している。
【0169】
[PoC1モデル&オプティカルフロー]
グラフ(C)およびグラフ(D)は、PoC1モデルとオプティカルフローとの組み合わせでスノージャムの検知が行なわれた場合のタイミングを表わす。グラフ(C)とグラフ(D)との違いは、PoC1モデルにおけるチューニングの内容である。
【0170】
グラフ(C)およびグラフ(D)から明らかなように、いずれの場合も、サーバ装置100は、8時12分54秒および10時16分59秒にスノージャムを検知したと判断している。
【0171】
[オプティカルフロー]
グラフ(E)は、オプティカルフローのみが採用された場合におけるスノージャムの検知結果を表わす。すなわち、サーバ装置100は、8時12分58秒に、スノージャムを検知したと判断している。
【0172】
図23を参照して、スノージャムの検知結果についてさらに説明する。
図23は、誤検知要因が有った場合における検知結果を表わす図である。
【0173】
グラフAは、ある一日(2019年1月26日)に、従来の監視システムに映る水路に水滴が付着した場合において誤検知とスノージャムの検知とが行なわれたときの5分間の雪面積の平均値の比率の推移を表わす。この場合、監視システムは、7時8分24秒頃にスノージャムが発生したと誤検知した。このときの比率は1.735(%)であった。また、監視システムは、8時14分18秒頃に、スノージャムの発生を正しく検知している。
【0174】
グラフBは、他の一日(2019年2月7日)に、従来の監視システムのレンズカバーに水滴が付着し、さらに風波が観測された場合において誤検知とスノージャムの検知とが行なわれたときの5分間の雪面積の平均値の比率の推移を表わす。この場合、監視システムは、17時35分35秒頃にスノージャムが発生したと誤検知した。このときの比率は1.736(%)であった。そこで、ある実施の形態に従う監視システムは、平均値の比率の閾値として、1.8(%)を採用し得る。
【0175】
図24を参照して、他の監視日における検知結果について説明する。
図24は、2018年12月29日に観測された雪面積比率(5分間の平均)の推移を表わす図である。より具体的には、11時12分34秒頃から流雪が観測され始め、12時3分32秒には監視システムに映る水路は、雪で埋もれた状態となっている。
【0176】
図25を参照して、スノージャムの検知結果についてさらに説明する。
図25は、誤検知要因が有った場合における検知結果を表わす図である。
【0177】
グラフAは、ある一日(2019年1月26日)に、従来の監視システムのレンズカバーに水滴が付着した場合において誤検知とスノージャムの検知とが行なわれたときの5分間の雪面積の比率(前回の計測値との差分)の推移を表わす。この場合、監視システムは、8時21分32秒頃および10時26分54秒頃にスノージャムが発生したと検知した。
【0178】
グラフBは、他の一日(2019年2月7日)に、従来の監視システムのレンズカバーに水滴が付着し、さらに風波が観測された場合において誤検知とスノージャムの検知とが行なわれたときの5分間の雪面積の比率(前回の計測値との差分)の推移を表わす。この場合、監視システムは、15時26分42秒頃と17時35分35秒頃に、スノージャムが発生したと誤検知した。このときの比率の最大値は、6.427(%)であった。そこで、ある実施の形態に従う監視システムは、雪面積の比率の前回値との差分の閾値として、6.5(%)を採用し得る。
【0179】
図26を参照して、他の監視日における検知結果について説明する。
図26は、2018年12月29日に観測された雪面積比率(前回値との差分)の推移を表わす図である。より具体的には、11時12分34秒頃から流雪が観測され始め、12時3分32秒には監視システムに映る水路は、雪で埋もれた状態となっている。
【0180】
図27を参照して、監視システムの誤検知対策について説明する。
図27は、ある実施の形態に従う監視システムが誤検知対策として採用する手法の一例を概念的に表わす図である。
【0181】
例えば、ある一日において、監視システムがスノージャムを誤検知した場合において検出した特徴点の数が9個であるとき、閾値を10個以上と設定することが考えられる。しかしながら、このように設定すると、監視システムは、小規模なスノージャム(例えば検出した特徴点の個数が9以下)を検知できなくなる。そこで、本実施の形態に従う監視システムは、累積値を用いることにより、小規模なスノージャムを検知し得る。
【0182】
より具体的には、本実施の形態に従う監視システムは、5回分の判定結果を累積し、さらに、その累積を12回繰り返し、その結果を用いてスノージャムが発生しているか否かを検知する。
【0183】
図28および
図29を参照して、監視システムの精度の相違について説明する。
図28は、監視システムが、閾値10として、検出した特徴点の個数をそのまま判定に使用した場合における検知結果を表わす図である。
図29は、監視システムが、閾値140として、検出した特徴点個数の累積値を判定に使用した場合における検知結果を表わす図である。
【0184】
図28のグラフAに示されるように、2018年12月29日において、監視システムは、11時13分21秒頃に、スノージャムを検知している。実際には、スノージャムは11時12分頃には観測されている。他方、グラフBに示されるように、2019年2月7日には、23時36分頃に検出した特徴点の個数が9となっているが、この時は実際にはスノージャムは観測されていない。
【0185】
図29のグラフAに示されるように、2018年12月29日において、監視システムは、11時11分59秒頃に、スノージャムを検知している。実際には、スノージャムは11時12分頃には観測されている。他方、グラフBに示されるように、2019年2月7日には、20時40分頃に検出した特徴点の個数の累積値が129となっているが、この時は実際にはスノージャムは観測されていない。
【0186】
図29のグラフAから明らかなように、監視システムは、スノージャムの発生の判定に検出した特徴点の個数の累積値を用いることで、
図28の場合のように検出した特徴点の個数をそのまま使用する場合に比べて、スノージャムを早期に検知することができる。
【0187】
図30を参照して、監視システムが採用する方式の相違による誤検知の可能性について説明する。
図30は、PoC1モデルのみ、オプティカルフローのみ、および、PoC1モデル&オプティカルフローの併用、の各々の方式による検知特性を表わす図である。いずれの方式も、スノージャムを検知できる。ただし、PoC1モデル方式は、昼間において、水面からの反射に起因して誤検知する場合があり得る。オプティカルフロー方式は、夜間において、水面からの反射に起因して、スノージャムの発生を誤検知し得る(
図18の画像Bおよび画像C参照)。これに対して、両方式を併用する方式は、そのような誤検知が生じない。
【0188】
本実施の形態において、2つの調整(チューニング1およびチューニング2)が監視システムに適用され得る。
【0189】
チューニング1では、PoC1モデルの推論結果の5分間の平均値が使用された場合において、雪面積比率およびオプティカルフローの累積値が、閾値として採用される。この時の関係は、一例として次式のように示され、PoC1モデルについては単独では難しかった閾値を設定でき、オプティカルフローについても
図29で示した単独でチューニングした時の値より小さくすることが出来る。
・5分平均の雪面積比率>4% かつ オプティカルフローの累積値>115
チューニング2では、PoC1モデルの推論結果の前回値との差分(変化量)が閾値として採用される。この場合、雪面積の変化量およびオプティカルフローの累積値の関係は、一例として、次式のように示され、PoC1モデルについては単独では難しかった閾値を設定でき、オプティカルフローについても
図29で示した単独でチューニングした時の値より小さくすることが出来る。
・雪面積変化量>4% かつ オプティカルフローの累積値>115
図31は、学習済みモデルの評価結果とオプティカルフローとの組み合わせを説明するための図である。画像A~画像Cは、20倍速(30fps)で保存されている。推論は、10fpsに1回(オリジナル時間で6.67秒に1回)実施され、監視システムは、5分間の平均値でスノージャームの発生の検知を行なう。この場合の検知の条件は、雪面積比率>9.48%、である。
【0190】
画像Aは、ある局面においてスノージャムが発生した初期に撮影された画像および画像処理の結果を表わす。より具体的には、画像3100は、スノージャムが発生した初期におけるPoC1モデルによる検知結果を表わす。画像3110は、スノージャムが発生した初期におけるPoC2モデルによる検知結果を表わす。ある局面では、PoC1モデルは、スノージャムの発生を検知できているが、PoC2モデルは、スノージャムの発生を検知できていない。
【0191】
画像Bは、他の局面において、水面に映った壁面の雪や雲がスノージャムとして誤検知された場合の画像および画像処理の結果を表わす。より具体的には、画像3120は、PoC1モデルによる検知結果を表わす。画像3130は、PoC2モデルによる検知結果を表わす。この局面では、PoC1モデルによれば、監視システムは、水面に映った壁面の雪や雲をスノージャムが発生したと誤検知している。他方、PoC2モデルによれば、監視システムは、水路の表面を流れる雪と、水面に映った雪の識別とを区別できている。
【0192】
画像Cは、オプティカルフローによりスノージャムの発生を検知する場合の画像を表わす。オプティカルフローによる判定では、保存映像に対し12フレーム毎(オリジナル時間で8秒に1回)に判定が実施される。特徴点については、1フレーム目で42の基準座標が与えられ、監視システムは、12フレーム目の領域3140内の特徴点の個数でスノージャムの発生を判定する。この場合、例えば、領域3140内の特徴点が8個以上である場合、監視システムは、スノージャムが発生したと判定する。
【0193】
図32を参照して、スノージャムの発生のタイミングの相違について説明する。
図32は、2018年12月28日にスノージャムにより取水が停止した場合におけるスノージャムの発生の検知のタイミングを表わす図である。この日の観測時には、監視システムのカメラについて、3回の画角変更が行なわれている。そのとき、特徴点の数が一時的に急変している。
【0194】
グラフAは、雪面積比率が判定基準に用いられる場合における学習済みモデルの検知結果を表わす。閾値は、雪面積比率が9.48%以上である。PoC1モデルによれば、監視システムは、2018年12月28日の2時33分8秒頃にスノージャムの発生を検知している。PoC2モデルによれば、監視システムは、同日の2時36分15秒頃にスノージャムの発生を検知している。したがって、この場合は、PoC1モデルが、PoC2モデルよりも早期にスノージャムを検知できたことになる。
【0195】
グラフBは、オプティカルフローによる検知結果を表わす。閾値は、特徴点の数が8個である。画角変更が行なわれた時刻を除外すると、監視システムは、オプティカルフローによれば、2時24分頃にスノージャムの発生を検知できたことになる。
【0196】
図33は、2019年1月24日にスノージャムにより取水が停止した場合におけるスノージャムの発生の検知のタイミングを表わす図である。
【0197】
グラフAは、雪面積比率が判定基準に用いられる場合における学習済みモデルの検知結果を表わす。検知の条件(閾値)は、雪面積比率が9.48%以上である。PoC1モデルによれば、監視システムは、2019年1月24日の0時54分47秒頃にスノージャムの発生を検知している。PoC2モデルによれば、監視システムは、同日の0時56分56秒頃にスノージャムの発生を検知している。したがって、この場合は、PoC1モデルが、PoC2モデルよりも早期にスノージャムを検知できたことになる。
【0198】
グラフBは、オプティカルフローによる検知結果を表わす。閾値は、特徴点の数が8個である。監視システムは、オプティカルフローによれば、0時54分頃にスノージャムの発生を検知できたことになる。
【0199】
図34は、2019年1月15日に、スノージャムが発生していないにもかかわらずスポットライトの光による誤検知が発生した場合の状態を表わす。
【0200】
グラフAは、雪面積比率が判定基準に用いられる場合における学習済みモデルの検知結果を表わす。検知の条件は、雪面積比率≧閾値(9.48%)である。PoC1モデルによれば、監視システムは、2019年1月15日の19時26分頃に、スノージャムが発生したと誤検知している。PoC2モデルによれば、監視システムは、スノージャムが発生したと判定していない。したがって、この場合は、PoC1モデルのみが、誤検知したことになる。
【0201】
グラフBは、オプティカルフローによる検知結果を表わす。検知の条件は、特徴点の数≧閾値(8個)である。監視システムは、オプティカルフローによれば、現実と同様に、スノージャムが発生したと判定していないことになる。
【0202】
図35は、2019年1月27日に、スノージャムが発生していないにもかかわらず、水面へ映りこんだ壁面の雪や雲などによる誤検知が発生した場合の状態を表わす。
【0203】
グラフAは、雪面積比率が判定基準に用いられる場合における学習済みモデルの検知結果を表わす。検知の条件は、雪面積比率≧閾値(9.48%)である。PoC1モデルによれば、監視システムは、2019年1月27日の11時36分頃に、スノージャムが発生したと誤検知している。PoC2モデルによれば、監視システムは、スノージャムが発生したと判定していない。したがって、この場合は、PoC1モデルのみが、誤検知したことになる。
【0204】
グラフBは、オプティカルフローによる検知結果を表わす。検知の条件は、特徴点の数≧閾値(8個)である。監視システムは、オプティカルフローによれば、現実と同様に、スノージャムが発生したと判定していないことになる。
【0205】
図36は、2019年2月13日の昼間における、監視システムによる検知結果を表わす。スノーボードの検知の条件は、雪面積比率≧閾値(9.48%)である。PoC1モデルおよびPoC2モデルのいずれによっても、監視システムは、スノージャムが発生したと判定していない。
【0206】
図37は、オプティカルフローモデルが採用された場合に誤検知し易い状況下において、PoC1モデルが誤検知しない画像と、そのオリジナルの画像とを表わす図である。
【0207】
画像Aは、
図29のグラフBに示される累積値が129となった時点の撮影、すなわち、2019年2月7日20時41分頃の撮影によって取得された画像を表わす。画像Bは、その画像をPoC1モデルに適用した場合に得られた画像である。
図37に例示される画像によれば、オプティカルフローモデルが誤検知し易い状況下において、PoC1モデルが検知した雪面積比率は、0.041%となり、PoC1モデルを採用する監視システムは、殆ど誤検知していないことが見て取れる。
【0208】
以上のようにして、本開示によれば、学習済みモデルを用いた判定とオプティカルフローを用いた判定との組み合わせにより、スノージャムその他の浮遊物を早期に検知できる。また、各判定の基準が組み合わされるため、学習済みモデルを用いた検知の場合に生じ得る誤検知を抑制し得る。これにより、誤検知を抑制しつつ早期に浮遊物を検知できる監視システムを実現することができる。
【0209】
ある局面において、監視システム1は、監視カメラ300、サーバ装置100および端末装置200を所有する事業者によって使用される。他の局面において、監視カメラ300によって撮影された画像が、監視サービスを運営する事業者のコンピュータに送られ、当該コンピュータが、サーバ装置100としてスノージャムの検知処理を実行することにより、監視システム1が構成されてもよい。この場合、当該事業者は、各電力会社からの画像を受信し、当該画像を用いた監視サービスを提供することができる。
【0210】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【産業上の利用可能性】
【0211】
開示された技術的特徴は、雪、葉又はクラゲのような浮遊物を含む障害物の存在を検知する必要がある場所、例えば、発電所の取水口を監視する技術として適用可能である。
【符号の説明】
【0212】
1 監視システム、100 サーバ装置、101 通信IF部、102 制御部、111 受信部、112 送信部、141 基準座標設定部、142 特徴点設定部、143 検出部、144 判定部、145 給水制御部、146 報知部、151 プロセッサ、152 ROM、153 RAM、156 操作キー、157 電源回路、158 ディスプレイ、200 端末装置、300 監視カメラ、400 取水装置、500 水路、700 取水口、800,Q1,Q2 領域、1910,1920 枠。