【解決手段】画素抽出部20は、消火活動を時系列に撮影した、温度に応じた画素値を有する複数の熱画像から、画素毎に、放水部分を表しているか否かを判定する。輪郭抽出部22は、放水部分を表していると判定された画素からなる画素群から、放水領域の2本の輪郭部分の各々について、当該輪郭部分を表す画素群を抽出する。輪郭抽出部22は、放水領域の2本の輪郭部分の各々について、当該輪郭部分を表す画素群に対応する近似曲線を求め、放水領域の2本の輪郭部分の各々について求められた近似曲線を表す画像を出力する。
前記画素判定部は、画素毎に、時系列に撮影された複数の前記熱画像における前記画素の温度又は温度の分散に基づいて、放水部分を表しているか否かを判定する請求項2〜請求項4の何れか1項記載の消火システム。
【発明を実施するための形態】
【0016】
以下、図面を参照して本発明の実施の形態を詳細に説明する。
【0017】
<本発明の実施の形態の概要>
本発明の実施の形態では、石油コンビナート等の大規模火災や特殊火災において自動的かつ自律的に消火活動を行う消防ロボットシステムにおいて、放水砲から放射された水又は泡消火薬剤の軌跡(以下、放水軌跡)及び放水中心点を熱画像で撮影し、当該軌跡、及び放水中心点又は着水点を画像処理により識別、可視化して、当該識別結果を基に放水砲を制御する消火システムについて説明する。
【0018】
具体的には、放水軌跡を熱画像カメラにて複数枚撮影し、画像処理にて放水軌跡及び放水中心点又は着水点を識別し、上記放水中心点又は着水点をGUI上に可視化し、操作者が同GUIで設定する目標放水中心点又は目標着水点からのズレに応じて、放水砲の旋回角又は俯仰角の修正を自動で行う。
【0019】
上述したように、大規模空間における固定式の消火設備では、予め防護範囲(防護する座標系)が定まっており、火災時に赤外線カメラで火災発生点の座標を特定するとともに、予め決定してある放水軌跡式を基に、火源発生点に最適に放水できる放水砲旋回・俯仰角を決定して放水、消火を自動で行う(特許文献4)。
【0020】
一方、消防車や、大容量泡放水砲、特定事業所の自衛防災組織が保有する3点セット等の移動式可搬式の防災資機材等については、火災に応じて放水砲ノズルの設置位置や放水目標位置が変わるため、防護範囲が固定されていない。それゆえ前記消火方法をとることが難しく、未だに人間が目視によって放水軌跡や放水中心点を識別し、手動で放水砲を制御する手法が主流となっている。
【0021】
そこで本発明の実施の形態では、放水軌跡を撮影した複数の熱画像データを基に、熱画像上(画像座標系)のどこに放水軌跡や放水中心点又は着水点が存在するのかを独自の画像処理にて識別し、可視化する。当該可視化により、放水状況(操作者が任意に設定する放水目標位置と、現在の着水位置のズレ等)を容易に把握することが可能となり、更には、画像上の前記ズレ量を計算することで、放水砲の旋回角又は俯仰角の修正を自動で行うことも可能とした。本発明の実施の形態により、大規模空間での火災時に、放水砲付近に人間が常駐して放水砲操作を行う必要が無くなり、安全性が向上する。
【0022】
また大規模・特殊な災害においては、消防隊員の安全を考慮し、自動消火ロボットなるものが種々提案されており、これらロボットに対しても本発明の実施の形態を適用することができる。
【0023】
次に、放水軌跡を推定する原理について説明する。
【0024】
放水軌跡を表す熱画像を時間経過に沿って比較すると、軌跡の周囲や放水が落下していく場所において相対的に高い温度分散を確認できる。したがって、複数枚の熱画像の各画素について、温度変化の標準偏差をあらかじめ設定した閾値で振るい分ける(二値化する)ことで、放水軌跡(放水軌跡に該当すると思われる画素群)を識別できる。ただし前記画素群には、実際には放水軌跡に該当しない画素群(ノイズ)も存在するため、画像処理プロセスに独自のノイズ処理を設け、放水軌跡のみを正確に抽出する。なお上記識別には、熱画像の取得条件(フレームレート、取得枚数)も重要となり、解析に最適な値が存在する。
【0025】
上記手法により、放水される水と同程度の放射量を発散する物体(雨雲、消防ホース、水たまり等)をノイズ成分として削除し、放水軌跡のみを正確に抽出することができる。熱画像上で放水軌跡が識別された後、近似曲線を用いて放水中心点を算出し、操作者がGUI等で設定する放水目標位置とズレがある場合、カメラの性能や撮影位置からズレ量を計算し、放水砲の旋回角又は俯仰角の修正を自動で行う。
【0026】
操作者が任意に設定する放水目標位置に対して、赤外線熱画像の取得から、放水砲旋回・俯仰角の修正までを繰り返すことにより、放水中に風向風速等の環境が変化した場合も、都度、放水砲の旋回角又は俯仰角の修正が行われ、操作者が希望する放水目標位置に放水を続けることができる。
【0027】
以上説明したように、本発明の実施の形態は、複数の熱画像データから放水軌跡及び放水中心点を識別し、制御することを特徴とする。
【0028】
また、前記放水軌跡及び放水中心点をGUI上に描画し、同GUI上にて放水目標位置を設定できるようにしたことで、放水砲の旋回角又は俯仰角の修正、及び制御を可視的に行えるようにしたことを特徴とする。
【0029】
<システム構成>
以下、本発明の実施の形態に係る消火システムについて説明する。
【0030】
図1に示すように、本発明の実施の形態に係る消火システム100は、消防ロボット制御装置10と、飛行型偵察ロボット60と、走行型偵察ロボット70と、放水砲ロボット80と、を備えている。飛行型偵察ロボット60と走行型偵察ロボット70は、消防ロボット制御装置10と無線通信により接続されている。放水砲ロボット80は、消防ロボット制御装置10と有線又は無線通信により接続されている。
【0031】
飛行型偵察ロボット60は、消防ロボット制御装置10からの指令に応じて飛行し、搭載した熱画像カメラ60Aによって撮影された熱画像、及びGPS等により計測した自装置の位置情報を、消防ロボット制御装置10へ送信する。
【0032】
走行型偵察ロボット70は、消防ロボット制御装置10からの指令に応じて地上を走行し、搭載した熱画像カメラ70Aによって撮影された熱画像、及びGPS等により計測した自装置の位置情報を、消防ロボット制御装置10へ送信する。
【0033】
放水砲ロボット80は、ポンプ車から送られてきた水又は泡消火薬剤を放射する放水砲80Aを備えている。放水砲ロボット80は、消防ロボット制御装置10からの指令に従って、放水砲80Aによる放水を制御する。具体的には、消防ロボット制御装置10からの指令に従って、放水砲80Aの俯仰角及び旋回角を制御すると共に、放水砲80Aの放水量を制御する。また、放水砲ロボット80は、搭載した熱画像カメラ80Bによって撮影された熱画像、搭載した風センサ(図示省略)によって検出したセンサ情報、及びGPS等により計測した自装置の位置情報を、消防ロボット制御装置10へ送信する。
【0034】
熱画像カメラ60A、70A、80Bとしては、例えば、赤外線カメラを用いればよい。
【0035】
<消防ロボット制御装置の構成>
図2に示すように、消防ロボット制御装置10は、CPU(Central Processing Unit)11、ROM(Read Only Memory)12、RAM(Random Access Memory)13、ストレージ14、入力部15、表示部16及び通信インタフェース(I/F)17を有する。各構成は、バス19を介して相互に通信可能に接続されている。
【0036】
CPU11は、中央演算処理ユニットであり、各種プログラムを実行したり、各部を制御したりする。すなわち、CPU11は、ROM12又はストレージ14からプログラムを読み出し、RAM13を作業領域としてプログラムを実行する。CPU11は、ROM12又はストレージ14に記憶されているプログラムに従って、上記各構成の制御及び各種の演算処理を行う。本実施形態では、ROM12又はストレージ14には、放水軌跡を推定するための放水軌跡推定プログラムが格納されている。放水軌跡推定プログラムは、1つのプログラムであっても良いし、複数のプログラム又はモジュールで構成されるプログラム群であっても良い。
【0037】
ROM12は、各種プログラム及び各種データを格納する。RAM13は、作業領域として一時的にプログラム又はデータを記憶する。ストレージ14は、HDD(Hard Disk Drive)又はSSD(Solid State Drive)により構成され、オペレーティングシステムを含む各種プログラム、及び各種データを格納する。
【0038】
入力部15は、マウス等のポインティングデバイス、及びキーボードを含み、各種の入力を行うために使用される。
【0039】
表示部16は、例えば、液晶ディスプレイであり、各種の情報を表示する。表示部16は、タッチパネル方式を採用して、入力部15として機能しても良い。
【0040】
通信インタフェース17は、他の機器と通信するためのインタフェースであり、例えば、イーサネット(登録商標)、FDDI、Wi−Fi(登録商標)等の規格が用いられる。
【0041】
次に、消防ロボット制御装置10の機能構成について説明する。
図3は、消防ロボット制御装置10の機能構成の例を示すブロック図である。
【0042】
消防ロボット制御装置10は、機能的には、
図3に示すように、画素抽出部20、輪郭抽出部22、放水中心点算出部24、放水目標位置設定部26、及び放水制御部28を備えている。なお、画素抽出部20は画素判定部の一例である。
【0043】
画素抽出部20は、熱画像カメラ60A又は70A又は80Bにより消火活動を時系列に撮影した複数の熱画像から、画素毎に、放射された水又は泡消火薬剤(以下、放水部分)を表しているか否かを判定する。
【0044】
具体的には、熱画像カメラ60A又は70A又は80Bを用いて任意の時間間隔で消火活動を撮影した熱画像を、任意枚数取得する。ただし、放水部分を表しているか否かを識別するうえで、取得時間の間隔や取得枚数が重要なパラメータとなる。これらパラメータは放水砲ノズルの形状や流量、放射環境(風向風速等)によって適切な値が変動するものの、放射流量400〜6000[L/min]程度のコンスタントフローノズルでは、以下の値にて識別可能となることを実験的に明らかにした。なお本ノズルは、消火・防火設備や防災資機材にて、一般的に用いられるノズルとなる。また、当該値以外の流量のノズルや形状の異なるノズルに対しても、以下の値を調整することにより識別が可能である。
【0045】
熱画像取得間隔:0.1[fps]〜9[fps]
抽出枚数:5〜15枚
【0046】
そして、複数の熱画像から、画素毎に、放水部分に該当するか否かを判定し、放水部分を表す画素群を抽出する。ここで実際に得られた放水部分を表す熱画像を時間経過に沿って比較すると、放水部分の周囲において特有の温度分散を確認できる。したがって、画素毎に温度変化(時間経過)の標準偏差を解析し、当該標準偏差値に閾値を設けて画素毎に二値化を行うことで、放水部分を表す画素群を抽出できる。
【0047】
また、画素の二値化においては上記閾値が重要なパラメータとなるが、前記熱画像取得条件と同様に環境条件によって適切な値が変動するものの、前記熱画像取得条件では、以下の値にて識別可能性が高くなることを見出した。なお、気温センサや、放水砲に放水する水の温度を測定するセンサを設けておき、当該値に応じて、上記閾値を変更してもよい(例えば、水温と気温の差が大きい場合には、閾値を上げる等)。これにより、より精度の高い識別が可能となる。
【0048】
標準偏差下限閾値:0.5
標準偏差上限閾値:4.0
【0049】
従って、標準偏差が、0.5以上かつ4.0以下の画素を、放水部分が表す画素として判定することにより、放水部分を表す画素群を抽出する。
【0050】
更に、実際の火災現場等では火炎に起因する温度変動が大きいため、各熱画像の画素に対して以下の通り温度閾値を併せて設けることにより、放水部分を表す画素群をのみを正確に抽出する。
【0051】
温度下限閾値:0[℃]
温度上限閾値:100[℃]
【0052】
従って、温度が、0[℃]以上かつ100[℃]以下であり、標準偏差が、0.5以上かつ4.0以下の画素を、放水部分が表す画素として判定することにより、放水部分を表す画素群を抽出する。
【0053】
本手法により、放水される水と同程度の放射量を発散する物体(雨雲、消防ホース、水たまり等)はノイズ成分として削除され、放水軌跡のみを正確に抽出することができる。
【0054】
輪郭抽出部22は、放水部分を表していると判定された画素からなる画素群から、放水部分を表している放水領域の2本の輪郭部分の各々について、当該輪郭部分を表す画素群を抽出し、放水領域の2本の輪郭部分の各々について、当該輪郭部分を表す画素群に対応する近似曲線を求め、放水領域の2本の輪郭部分の各々について求められた近似曲線を表す画像を出力する。
【0055】
具体的には、画素抽出部20で得られた二値化画像(便宜上、白と黒で表現)では、放水部分に該当する画素に加え、ノイズ成分となる画素が含まれる。したがって得られた二値化画像に対して、ノイズ除去等の画像処理を行い、放水部分に該当する画素群のみを正確に抽出する。更に、抽出された画素群に対して回帰分析を行い、放水領域の輪郭部分に該当する近似曲線を算出する。ただし、画像認識アルゴリズムは以下の通り放水部分の撮影方向によって解析方法が異なる。
【0056】
撮影方向1:放水部分を側面より撮影する場合(熱画像では、画面右から左、又は画面左から右へ水が移動)
撮影方向2:放水部分を正面又は背面より撮影する場合(熱画像では、画面手前から奥、又は奥から手前へ水が移動)
【0057】
放水中心点算出部24は、出力された画像上で指定された水平線と近似曲線との交点に基づいて、放水中心点を算出し、画像上に放水中心点を表示させる。
【0058】
放水目標位置設定部26は、出力された画像上で指定された水平線上で、放水目標位置を受け付ける。
【0059】
放水制御部28は、放水目標位置と、放水中心点との差分に基づいて、放水砲80Aによる放水の角度として、上下角度(以下、俯仰角)及び回転角度(以下、旋回角)を制御するために、角度信号を、放水砲ロボット80に対して出力する。これにより、放水砲ロボット80は、角度信号に応じて、放水砲80Aの角度を制御する。なお、放水部分の撮影方向によって制御される角度種は異なるものとし、放水部分を側面撮影した熱画像では俯仰角が、放水部分を背面撮影した熱画像では旋回角が、それぞれ制御されるものとする。
【0060】
<消火システムの作用>
次に、本発明の実施の形態に係る消火システム100の作用について説明する。まず、火災が発生している際に、飛行型偵察ロボット60の熱画像カメラ60A又は走行型偵察ロボット70の熱画像カメラ70A又は放水砲ロボットの熱画像カメラ80Bにより、放水砲80Aによる放水部分を表す熱画像を時系列に撮影し、消防ロボット制御装置10に送信される。このとき、消防ロボット制御装置10によって、
図4に示す放水軌跡推定処理ルーチンが実行される。なお、放水部分の撮影方向が、側面撮影であるか背面撮影であるかは、自動的に識別される。例えば、放水部分の撮影方向は、放水対象と放水砲ロボットの位置座標(放水方向)、および偵察ロボット(熱画像カメラ)の位置座標、および熱画像カメラの向きから、自動的に識別可能である。
【0061】
ステップS100では、画素抽出部20は、熱画像カメラ60A又は70A又は80Bを用いて任意の時間間隔で消火活動を撮影した熱画像を、任意枚数取得する。
【0062】
ステップS102では、画素抽出部20は、複数の熱画像から、画素毎に、当該画素が表す温度の標準偏差を算出する。ステップS104では、画素抽出部20は、画素毎に、温度の標準偏差の閾値と、温度の閾値とを用いて、当該画素が放水部分に該当するか否かを判定し、放水部分を表す画素群を抽出し、画像の二値化を行う。
【0063】
ステップS106では、指定された放水部分の撮影方向が、側面撮影であるか背面撮影であるかを判定する。指定された放水部分の撮影方向が、側面撮影である場合には、ステップS108へ進み、一方、指定された放水部分の撮影方向が、背面撮影である場合には、ステップS124へ進む。
【0064】
ステップS108では、輪郭抽出部22は、上記ステップS104で得られた二値化画像に対して、ノイズ除去等の画像処理を行い、放水領域の輪郭に該当する画素のみ抽出する。具体的には、以下に説明する、第1のノイズ除去と、第2のノイズ除去とを行う。
【0065】
第1のノイズ除去では、二値化画像の各行ごとに画素の走査を行う(
図5参照)。各行で最右端画素を起点として左側に画素走査を行い、5個以上の黒色画素(画素値=1となる画素)が連続して存在した場合、白色画素(画素値=0となる画素)と隣接する黒色画素のみを抽出する。なお、同図の二値化画像については、二値化を視覚的に理解できるよう、各座標で数値が「0」の場所を「白色」で、数値が「1」の場所を「黒色」としており、以下に記載する図についても同様の表現方法を用いている。
【0066】
また、最左端画素を起点として右側へも画素走査を行い、同様に黒色画素を抽出する。
図5の例の場合、本法則に従うと「×」と記された画素が抽出される。ただし、下記規則A又はBの条件に該当する場合は、当該規則に従うものとする。
【0067】
規則A:最右端(最左端)画素が黒色画素で、当該画素を含めて5個以上の黒色画素が連続する場合には、最右端(最左端)画素のみを抽出する。
【0068】
規則B:走査する行が全て黒色画素の場合、最右端(最左端)画素のみを抽出する。
【0069】
上記条件に基づいて二値化画像の全行を走査し、画素の抽出を行う。ここで、二値化画像から抽出された画素を表す二値化データのイメージを、
図6に示す。なお同図中の黒色画素が、第1のノイズ除去にて抽出された画素である。
【0070】
第2のノイズ除去では、第1のノイズ除去を経て得られた二値化データについて、再度、各行ごとに画素の走査を行う。本走査では、最右端画素を起点として左側に画素走査を行い、最初に発見された黒色画素を抽出する。また、最左端画素を起点として右側へも画素走査を行い、同様に黒色画素を抽出する。
図7の例の場合、本法則に従うと「×」と記された画素が抽出される。ただし、下記規則の条件に該当する場合は、当該規則に従うものとする。
【0071】
規則:最右端(最左端)画素が黒色画素の場合、最右端(最左端)画素を抽出する。
【0072】
上記条件に基づいて二値化データの全行を走査し、画素の抽出を行う。ここで、上記
図6に示す二値化データから抽出された二値化データのイメージを、
図8に示す。なお同図について、黒色画素は画面最右端からの、灰色画素(
図8中のドット部分の画素。以降の図面も同様。)は画面最右端からの走査によりそれぞれ抽出された画素である。
【0073】
両色画素については、後述する、放水領域の上部の輪郭抽出にて使用するため、区別されるものとする。
【0074】
ステップS110では、輪郭抽出部22は、放水領域の上部の輪郭抽出と、放水領域の下部の輪郭抽出とを行う。
【0075】
具体的には、放水領域の上部の輪郭抽出として、上記ステップS108を経て得られた二値化データを基に、放水軌跡の上部の輪郭抽出を行う。
【0076】
本抽出では、灰色及び黒色画素でそれぞれ最も高い行に存在する画素を原点と設定し、周囲に存在する同色の画素を走査して、上記輪郭に該当する画素を抽出していく。例として、上記
図8の二値化データの点線部分では、
図9の通り原点がそれぞれ設定される。ただし、下記規則A又はBの条件に該当する場合は、当該規則に従うものとする。
【0077】
規則A:灰色及び黒色画素で原点が同一となる場合、当該画素からそれぞれ走査を行う。
規則B:灰色及び黒色画素の原点が、二値化データの最上行に存在する場合、二値化データから当該画素を削除し、最上行かつ灰色及び黒色画素の中間となる列に存在する画素を、原点画素と書き換え、本画素からそれぞれ走査を行う。
【0078】
原点を決定した後、灰色及び黒色画素に対してそれぞれ走査を行う。
【0079】
灰色画素の場合については、
図10に示すように、原点画素(X,Y)から1行下のY−1行を参照し、当該行の0列(画像左端)からX+40列の範囲内に同色の画素が存在するか、検索する。該当する画素が存在する場合、当該画素を原点画素(X’,Y)と再設定し、本座標を基に上記と同様の検索を下行に繰り返し実施する。反対に存在しない場合、原点画素(X,Y)から2行下のY−2行を参照し、当該行の0列からX+40列の範囲内に同色画素が存在するか検索する。更に該当する画素が存在しない場合は3行下のY−3行を検索し、最大で50行下のY−50行まで順に検索していく。ここで「40」列、「50」行との部分はパラメータ値であり、プログラム上の変数となる部分である(設定ファイルにて変更可能とする)。なお、本検索を繰り返して以下のケースA〜Cの何れかになった時点で、本プロセスを終了する。
【0080】
ケースA:Y−50行まで検索しても該当する画素が存在しない場合。
ケースB:原点画素(X’,Y)が二値化データの最左端列(X’=0)に到達した場合。
ケースC:原点画素(X’,Y)が二値化データの最下行(Y’=0)に到達した場合。
【0081】
黒色画素の場合については、灰色画素と同様に走査を行うが、
図11に示すように、各行での走査範囲が異なり、X−40列から639列(VGAの場合の範囲)を走査範囲とする。ここで「40」列、「639」列との部分はパラメータ値であり、プログラム上の変数となる部分である(設定ファイルにて変更可能とする)。なお、走査を繰り返して以下のケースA〜Cの何れかになった時点で、本プロセスを終了する。
【0082】
ケースA:Y−50行まで走査しても該当する画素が存在しない場合。
ケースB:原点画素(X’,Y’)が二値化データの最右端列に到達した場合。
ケースC:原点画素(X’,Y’)が二値化データの最下行に到達した場合。
【0083】
上記プロセスにより二値化データから抽出された放水領域の上部の輪郭の点群イメージを、
図12に示す。
【0084】
また、放水領域の下部の輪郭抽出では、まず、上部の輪郭抽出で抽出された放水領域の上部の輪郭の点群イメージ(
図12)のうち、黒色画素部分のみに対して2次の回帰分析を行い、以下の式の通り近似関数f
1(x)を算出する(
図13参照)。ここで本関数は、放水領域の下部の輪郭に該当する画素を検索するうえで、基準となる関数である。なお、式中の各Sは下付き文字に対する共分散である。
【0086】
また、第1のノイズ除去を経て得られた二値化データ(上記
図6参照)に戻り、列ごとに画素の走査を行い、二値化データを作成する。本走査では、
図14の通り最下行の画素を起点として上側に画素走査を行い、各列で最初に発見された黒色画素を抽出する。ただし、最下段画素が黒色画素の場合は、当該画素を抽出する。ここで、上記
図6に示す二値化データから抽出された二値化データのイメージを、
図15に示す。
【0087】
そして、
図15に示す二値化データから、以下の条件A、Bの何れも満たす画素を抽出する。本操作では、
図16に示したイメージの通り、算出された近似関数f
1(x)によって決定される範囲に存在する黒色画素を抽出する。
【0088】
条件A:近似関数f
1(x)の列内(xの範囲内)に存在する黒色画素であること。
【0089】
条件B:列ごとに、近似関数f
1(x)に対して任意のXを代入して得られる値f
1(X)(四捨五入して整数とする)に存在する画素を基準とし、f
1(X)−220<Y<f
1(X)−20を満たす範囲に存在する黒色画素であること。
【0090】
ただし、上記「220」、「20」との部分はパラメータ値であり、プログラム上の変数となる部分である(設定ファイルにて変更可能とする)。
【0091】
上記プロセスにより二値化データ(
図15)から抽出された、放水領域の下部の輪郭の点群イメージを、
図17に示す。
【0092】
ステップS112では、輪郭抽出部22は、上記ステップS110で得られた、放水領域の上部の輪郭及び下部の輪郭の各々の点群イメージ(
図12及び
図17)を基に、放水領域の輪郭を表す近似曲線の描画を行う。
【0093】
ここで放水領域の輪郭については、上部及び下部の両者とも点群イメージを基に3次の回帰分析を行い、下記の通り近似曲線を算出して描画する。ただし、本近似曲線の算出は2〜5次関数までできるものとし、GUIにて任意に変更できるものとする。
【0094】
具体的には、放水領域の上部の輪郭を表す近似曲線を描画する際に、上部の輪郭の点群イメージ(
図12)について、灰色画素と黒画素の両方を併せて回帰分析を行い、近似式
【0096】
を算出する。その後、算出された近似式f
2(x)にxを等間隔(Δx=5、0≦x≦639)で代入してy=f
2(x)をそれぞれ算出し、当該近似曲線を、熱画像上に描く(
図18参照)。ただし、以下の条件A〜Cに該当する部分は、近似曲線の描画を行わない。
【0097】
条件A:f
2(x)<0となる部分であること。
条件B:放水方向が画面上の右から左の場合、放水領域の上部の輪郭の点群イメージ(
図12)の最右端列より右側の部分であること。
条件C:放水方向が画面上の左から右の場合、放水領域の上部の輪郭の点群イメージ(
図12)の最左端列より左側の部分であること。
【0098】
また、放水領域の下部の輪郭を表す近似曲線を描画する際に、下部の輪郭の点群イメージ(
図12)について回帰分析を行い、近似式
【0100】
を算出する。その後、算出された近似式f
2(x)にxを等間隔(Δx=5、0≦x≦639)で代入してy=f
3(x)をそれぞれ算出し、当該近似曲線を熱画像上に描く(
図19参照)。ただし、以下の条件A〜Dに該当する部分は、近似曲線の描画を行わない。
【0101】
条件A:f
3(x)<0となる部分であること。
条件B:放水方向が画面上の右から左の場合、放水領域の上部の輪郭の点群イメージ(
図12)の最右端列より右側の部分であること。
条件C:放水方向が画面上の左から右の場合、放水領域の上部の輪郭の点群イメージ(
図12)の最左端列より左側の部分であること。
条件D:放水領域の下部の輪郭に係る近似曲線が、放水領域の上部の輪郭に係る近似曲線を下から突き抜けて交差する場合、当該交点以降(突き抜けた先)の部分であること。
【0102】
最終的に、放水領域の上部の輪郭を表す近似曲線(
図18)と、放水領域の下部の輪郭を表す近似曲線(
図19)とを、放水領域の2本の輪郭とし、纏めて一枚の熱画像上に描画を行う(
図20)。また、GUIへは本結果を表示するが、前記解析から算出された近似曲線が、上部の輪郭の近似曲線のみの場合は、当該曲線のみを熱画像上に表示する。反対に、算出された近似曲線が下部の輪郭の近似曲線のみの場合、または何れも算出されない場合は、解析できない旨を当該熱画像上に表示する。
【0103】
ステップS114では、放水中心点算出部24は、出力された熱画像上で、水平線の設定を受け付ける。
【0104】
具体的には、まず、GUIに示された放水領域の2本の輪郭を表す近似曲線と熱画像の合成画像(
図20)上で、
図21の通り、操作者の操作により、水平線の設定を受け付ける。水平線の設定により、放水領域の下部の輪郭を表す近似曲線及び上部の輪郭を表す近似曲線と当該水平線に交点が生じ、交点間の距離が水平線における放水領域の輪郭間の幅となる。ここで下部の輪郭を表す近似曲線と水平線の交点のx座標をX
max、上部の輪郭を表す近似曲線と水平線の交点のx座標をX
minとすると、両者の幅は(X
max−X
min)で表現される。ただし以下の規則に該当する場合は、当該規則に従うものとする。
【0105】
規則A:下部の輪郭を表す近似曲線が描画されなかった場合には、各行の画面右端をX
minとする。
規則B:上部の輪郭を表す近似曲線と水平線の交点が算出できなかった場合には、当該行の画面左端をX
maxとし、下部の輪郭を表す近似曲線と水平線の交点が算出できなかった場合には、当該行の画面右端をX
minとする。
【0106】
ステップS116では、放水中心点算出部24は、出力された画像上で指定された水平線と近似曲線との交点に基づいて、放水中心点を算出し、画像上に放水中心点を表示させる。
【0107】
具体的には、水平線の設定箇所(設定行)に応じて中心点を描画する。例えば、放水中心点は、何れの行でも上記で算出される幅(X
max−X
min)の一定割合に位置するとし、上記幅と当該割合αの積α(X
max−X
min)にて表現される。したがって、水平線の設定位置に応じて交点座標および上記幅が変わるとともに、放水中心点の位置も変化する。ただし、αはパラメータ値としてプログラム上の変数となる部分であり、放水砲ノズルの形状や種類に応じて変更できる。なお、今回の放水砲ロボットに搭載されるセミアスピレートノズルにおいては、実測値としてαを0.73とした。最終的に放水中心点のX座標X
Mは、放水の方向に応じて以下の何れかの式で算出される。
【0108】
放水方向が画面上の右から左の場合、以下の式で放水中心点のX座標X
Mが算出される。
【0110】
放水方向が画面上の左から右の場合、以下の式で放水中心点のX座標X
Mが算出される。
【0112】
以上より放水中心点が算出され、放水領域の輪郭を表す近似曲線と熱画像の合成画像(
図20)上に、操作者が任意で設定した水平線と共に、放水中心点が示される(
図22)。
【0113】
ステップS118では、放水目標位置設定部26は、出力された熱画像上で指定された水平線上で、放水目標位置の設定を受け付ける。
【0114】
具体的には、GUIに示される放水領域の輪郭を表す近似曲線及び放水中心点の表示イメージ(
図22)上で、
図23のような垂直線の設定を受け付ける。本線は左右の列方向に任意に移動できるものとし、水平線との交点として放水目標位置が設定される。ただし放水中心位置と放水目標位置は水平線上の同一行に設定されることとし、当該線の(上下)移動に応じて両点も移動する。
【0115】
ここで放水目標位置とは、現在の放水中心位置(画像上では点線の「×」で表記)に対して、操作者が変更したい(狙いたい)放水位置となり、本目標位置と放水中心点の位置関係を基に、放水砲80Aの俯仰角の制御方向(プラス、マイナス)が決定される。したがって制御方向は、現在(熱画像を取得した時点)の放水砲80Aの俯仰角を基準として、放水目標位置への放水を行うための放水砲俯仰角の修正方向(プラス、マイナス)となる。
【0116】
ステップS120では、放水制御部28は、放水砲ロボット80の放水砲80Aの現在の俯仰角を取得する。
【0117】
そして、ステップS122では、放水制御部28は、放水目標位置と、放水中心点との差分、及び現在の俯仰角に基づいて、放水砲80Aによる放水の角度として、俯仰角を制御するための角度信号を、放水砲ロボット80に対して出力する。
【0118】
具体的には、放水砲80Aの俯仰角の制御方向(プラス、マイナス)が、上記画面上での放水方向(右から左、左から右)や、放水中心位置に対する放水目標位置の設定場所、並びに取得した放水砲80Aの俯仰角θに応じて決まる。例えば、表1に示すように、放水砲80Aの俯仰角の制御方向が決定される。
【0120】
例えば、
図23の場合、放水方向は「右から左」、放水中心位置に対する放水目標位置の設定場所は「右側」であり、現在の放水砲俯仰角θが35°と仮定すると、「プラス」の制御方向が決定される。ただし同表に記載の通り、俯仰角θが30°以上33°以下の一部条件では、制御方向が出力されず、放水範囲外のため俯仰角を修正できない旨を、同GUI上に表記する。
【0121】
そして、上記のように制御方向が決定された後、修正角度の初期値2°として、出力値を出力する。例として修正方向が「マイナス」であった場合、「−2°」を現在の放水砲俯仰角θに加えた値(θ−2°)を出力する。ただし、「2°」との部分はパラメータ値であり、プログラム上の変数となる部分である(設定ファイルにて変更可能とする)。そして、ステップ118にて設定した放水目標位置を記憶したままステップS100からステップS122までを一定時間毎に繰り返すことにより、放水中心位置が放水目標位置へ近づくよう放水砲俯仰角が制御される。なお、定められた角度の修正を繰り返し行う場合を例に説明したが、これに限定されるものではなく、放水軌跡と熱画像カメラ間の距離や、熱画像カメラの画角、解像度を基に、修正角度を絶対値として算出してもよい。
【0122】
一方、ステップS124では、放水砲ロボット80の放水砲80Aの現在の旋回角を取得する。
【0123】
ステップS126では、輪郭抽出部22は、上記ステップS104で得られた二値化画像に対して、ノイズ除去等の画像処理を行い、放水領域の輪郭に該当する画素のみ抽出する。解析に使用する熱画像及び二値化データ例を
図24Aに示す。
【0124】
図24Aの右側に示す二値化データでは、放水領域の輪郭に該当する画素に加え、ノイズ成分となる画素が含まれる。したがって得られた二値化画像に対してノイズ除去を行い、輪郭に該当する画素のみ抽出する。なお、下線部分はパラメータ値であり、プログラム上の変数となる部分である(設定ファイルにて変更可能とする)
【0125】
具体的には、以下に説明する、第3のノイズ除去と、第4のノイズ除去とを行う。
【0126】
第3のノイズ除去では、上記ステップS108の第1のノイズ除去と同じ規則で実施する。ここで、
図24Aの右側に示す二値化データから抽出された二値化データのイメージを、
図24Bに示す。なお同図中の黒色画素が、第3のノイズ除去にて抽出された画素である。
【0127】
第4のノイズ除去では、第3のノイズ除去を経て得られた二値化データについて、再度、各行ごとに画素の走査を行う。本走査では、最右端画素を起点として左側に画素走査を行い、2番目に発見された黒色画素を抽出する。また、最左端画素を起点として右側へも画素走査を行い、同様に黒色画素を抽出する。
図25の例の場合、本法則に従うと「×」と記された画素が抽出される。ただし、下記規則の条件に該当する場合は、当該規則に従うものとする。
【0128】
規則:最右端(最左端)画素が黒色画素の場合、最右端(最左端)画素を1番目に発見される黒色画素とする。
【0129】
上記のように二値化データの全行を走査し、画素の抽出を行う。ここで、上記
図24Bに示す二値化データから抽出された二値化データのイメージを、
図26に示す。なお同図について、黒色画素は画面最右端からの、灰色画素は画面最右端からの走査によりそれぞれ抽出された画素である。両色画素については、放水領域の輪郭の描画にて使用するため、区別されるものとする。
【0130】
ステップS128では、輪郭抽出部22は、放水領域の2本の輪郭を抽出し、ステップS130で、放水領域の2本の輪郭を表す近似曲線を描画する。具体的には、上記ステップS126の二値化画像のノイズ除去で得られた灰色、及び黒の点群イメージを基に、近似曲線を、放水領域の2本の輪郭として抽出し、放水領域の2本の輪郭を表す近似曲線を描画する。ここで近似曲線の描画に当たっては、上記放水領域の輪郭をxに係る高次関数で表現できない場合(xに2つ以上の解が生じる場合)があり、当該場合に対応できるよう、二値化データの各画素座標のみを逆転させた二値化データを作成する(
図27参照)。
【0131】
輪郭抽出部22は、得られた二値化データについて、灰色画素と黒画素の点群それぞれに対して2次の回帰分析を行い、近似式
【数6】
【0132】
を算出する。なお上記回帰分析および近似式の算出は、y座標が指定範囲に含まれるデータのみで行う。これは、ノイズが発生しやすい地上付近(画面下部)の影響を削減するためである。また、y座標の指定範囲はプログラム上の変数となる部分とし、初期値は120≦y≦479とする(設定ファイルにて変更可能とする)。その後、上記で算出された近似式f
4(x)にxを等間隔(Δx=5、0≦x≦479)で代入してy=f
4(x)をそれぞれ算出し、当該近似曲線を描く(
図28参照)。ただし、画素座標が逆転しているため、xの代入範囲は0〜479となる。なお本近似曲線の算出は2〜4次関数までできるものとし、GUIにて任意に変更できるものとする。
【0133】
なお、320<x<479列の範囲内にて黒色画素の近似曲線と灰色画素の近似曲線が交差した場合、交点(X,Y)から右列以降(X<x<479)の曲線については描画しない。
【0134】
最終的に、上記で得られた近似曲線(
図28)を放水領域の輪郭とし、二値化データの各画素座標および放水領域の輪郭y=f
4(x)を再度逆転させたデータを作成して、一枚の熱画像上に描画を行う(
図29)。なおGUIへは本結果を表示するが、前記解析から算出された近似曲線が1本のみの場合は、当該近似曲線のみを熱画像上に表示する。更に近似曲線が算出されない場合は、解析できない旨を当該熱画像上に表示する。
【0135】
ステップS132では、放水中心点算出部24は、ステップS114と同様に、出力された熱画像上で、水平線の設定を受け付ける。
【0136】
ステップS134では、放水中心点算出部24は、出力された画像上で指定された水平線と近似曲線との交点に基づいて、放水中心点を算出し、画像上に放水中心点を表示させる。
【0137】
具体的には、まず、上記ステップS130で描画された2本の近似曲線のうち、一方は放水砲80Aから最大射高までの放水軌跡(以下、放水砲側)に該当し、他方は最大射高から放水中心点までの放水軌跡(以下、着水側)に該当する。ここで、放水中心点の解析には、両者がどちらに該当するか識別しておく必要がある。
【0138】
図30の通り、放水を背面から撮影する熱画像カメラ80Bは放水砲80Aと連動しており、放水砲80A直近の放水軌跡は、熱画像内の放水砲回転角度(旋回角)に対応した位置に存在する。本特長を活かして、放水砲回転角度(旋回角)の数値に応じた基準場所(座標)をテーブルファイル等で予め設定し、角度情報を基に、放水方向の識別を行う。具体的には、2本の近似曲線のうち、基準座標(X,Y)とY行で画素距離が短い方を「放水砲側」、遠い方を「着水側」と識別する。例として基準座標を
図31記載の位置とすると、2本の近似曲線に該当する画素のうち、基準座標に近い画素は黒色画素となり、当該画素を含む近似曲線を「放水砲側」と設定する。なお両者への距離が等しい場合、基準座標から一行上のY+1行にて同一の判定を行うものとする。更に等しい場合はY+2行にて同一の判定を行い、最大で50行上のY+50行まで順に判定していく。
【0139】
そして、上記ステップS130で得らえた放水領域の輪郭を表す近似曲線を元に、放水中心点を解析する。ここで、GUIに示された放水軌跡と熱画像の合成画像上では、
図32のように水平線が設定されると、本線の設定箇所(設定行)に応じて中心点が描画される。また同図の通り、着水側の放水軌跡については、水平線の設定位置に応じて、当該線から下行の部分は、点線での表現となる。
【0140】
ここで水平線の設定によって、「放水砲側」放水軌跡及び「着水側」放水軌跡と当該線に交点が生じ、両交点のうちx座標が大きい点をX
max、x座標が小さい点をX
minとすると、以下の2つの式の何れかによって放水中心点のX座標X
Mが算出される。ただし、放水軌跡幅L
hは放水砲回転角度(旋回角)に別に予め設定される値であり、参照した角度情報を基に、決定される。
【0141】
X
maxが「着水側」放水軌跡と水平線の交点である場合(上記
図32参照)、以下の式によって放水中心点のX座標X
Mが算出される。
【0143】
X
maxが「放水砲側」放水軌跡と水平線の交点である場合(
図33参照)、以下の式によって放水中心点のX座標X
Mが算出される。
【0145】
以上より放水中心点が算出され、放水領域の輪郭を表す近似曲線と熱画像の合成画像上に、操作者が任意で設定した水平線と共に、放水中心点が示される(
図32、
図33)。
【0146】
ステップS136では、放水目標位置設定部26は、出力された熱画像上で指定された水平線上で、放水目標位置の設定を受け付ける。
【0147】
具体的には、GUIに示される放水領域の輪郭を表す近似曲線及び放水中心点の表示イメージ上で、
図34のような垂直線の設定を受け付ける。本線は左右の列方向に任意に移動できるものとし、水平線との交点として放水目標位置が設定される。ただし放水中心位置と放水目標位置は水平線上の同一行に設定されることとし、当該線の(上下)移動に応じて両点も移動する。
【0148】
ここで放水目標位置とは、現在の放水中心位置(画像上では灰色字「×」で表記)に対して、操作者が変更したい(狙いたい)放水位置となり、本目標位置と放水中心点の位置関係を基に、放水砲80Aの旋回角の制御方向(プラス、マイナス)が決定される。したがって制御方向は、現在(熱画像を取得した時点)の放水砲80Aの旋回角を基準として、放水目標位置への放水を行うための放水砲旋回角の修正方向(プラス、マイナス)となる。
【0149】
そして、ステップS138では、放水制御部28は、放水目標位置と、放水中心点との差分、及び現在の旋回角に基づいて、放水砲80Aによる放水の角度として、旋回角を制御するための角度信号を、放水砲ロボット80に対して出力する。
【0150】
具体的には、放水砲80Aの旋回角の制御方向(プラス、マイナス)が、放水中心位置に対する放水目標位置の設定場所に応じて決まる。例えば、表2に示すように、放水砲80Aの旋回角の制御方向が決定される。
【0151】
【表2】
最終的に上記で制御方向が決定された後、修正角度の初期値2°として、制御値を出力する。例として修正方向が「プラス」であった場合、「+2°」を現在の放水砲旋回角θに加えた値(θ+2°)を出力する。ただし、「2°」との部分はパラメータ値であり、プログラム上の変数となる部分である。そして、ステップ136にて設定した放水目標位置を記憶したままステップS100からステップS106、およびステップS124からステップS138までを一定時間毎に繰り返すことにより、放水中心位置が放水目標位置へ近づくよう放水砲旋回角が制御される。なお、定められた角度の修正を行う場合を例に説明したが、これに限定されるものではなく、放水軌跡と熱画像カメラ間の距離や、熱画像カメラの画角、解像度を基に、修正角度を絶対値として算出してもよい。
【0152】
以上説明したように、本発明の実施の形態に係る消火システムによれば、時系列に撮影した複数の熱画像に基づいて、放水部分を表していると判定された画素からなる画素群から、放水領域の2本の輪郭部分の各々について、当該輪郭部分を表す画素群を抽出し、当該輪郭部分を表す画素群に対応する近似曲線を求めることにより、画像上の放水軌跡を精度良く推定することができる。
【0153】
また、操作者が任意に設定する放水目標位置に対して、熱画像の取得から放水砲旋回角・俯仰角の修正までを繰り返すことにより、放水中に風向風速等の環境が変化した場合も、都度、放水砲旋回角・俯仰角の修正が行われ、操作者が希望する放水目標位置に放水を続けることができる。
【0154】
<変形例>
なお、本発明は、上述した実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【0155】
例えば、上記の実施の形態では、操作者が任意に設定する放水目標位置に対して放水砲を制御する場合を例に説明したが、これに限定されるものではない。例えば、熱画像カメラの監視範囲内に火炎が存在している場合、熱画像から当該火炎の位置を識別し、放水目標位置に設定してもよい。これにより、熱画像カメラの監視範囲内で火炎が発生した場合、自動的に放水目標位置が設定され、放水砲の旋回角・俯仰角の制御によって正確に火炎に放水することが可能となる。
【0156】
更に、貯蔵タンク火災に対して泡消火薬剤の放射による消火活動を行う場合、燃焼油面の被覆によって火炎が縮小していくと火炎中央が継時変化していくため、当該位置を赤外線カメラで識別して放水中央位置として都度修正し、それに応じて放水砲の角度を制御することにより、効率的な消火が可能となる。
【0157】
また、熱画像カメラ60A、70A、80Bの何れかから熱画像を取得して、放水砲の制御を行う場合を例に説明したが、これに限定されるものではない。例えば、飛行型偵察ロボット60の熱画像カメラ60Aから熱画像を取得すると共に、地上偵察型ロボット70の熱画像カメラ70Aから熱画像を取得して、双方の熱画像を、放水砲の制御に使用するようにしてもよい。具体的には、放水側面を撮影した熱画像を、地上偵察型ロボット70の熱画像カメラ70Aにより取得し、放水背面を撮影した熱画像を、飛行型偵察ロボット60の熱画像カメラ60Aにより取得して、放水砲の旋回角度と俯仰角度の同時制御を行ってもよい。また、放水砲ロボット80の熱画像カメラ80Bからも熱画像を取得し、熱画像カメラ60A、70A、80Bの各々の熱画像から、操作者が任意に2つの熱画像を選択して放水砲の制御を行うようにしてもよい。これにより、例えば一台の熱画像カメラが障害物等で放水軌跡をうまく撮影できない場合でも、他の熱画像カメラを使用することにより、安定して放水砲の制御を行うことができる。
【0158】
また、時系列に撮影した複数の熱画像に基づいて、放水部分を表していると判定された画素からなる画素群から、放水領域の1本の輪郭部分について、当該1本の輪郭部分を表す画素群を抽出し、当該1本の輪郭部分を表す画素群に対応する近似曲線を求めるようにしてもよい。例えば、放水を近くから撮影したり、放水の上側のみを撮影した場合、放水領域の輪郭部分が1本しか(上側の軌跡しか)映らないため、放水領域の1本の輪郭部分について、当該輪郭部分を表す画素群を抽出し、当該1本の輪郭部分を表す画素群に対応する近似曲線を求めるようにすればよい。
【0159】
また、放水中心点ではなく着水点を推定するようにしてもよい。