研究成果報告書
研究課題名：シングルボードコンピュータによる全天候・低照度時に対応した無人河川観測
IoTシステムの開発
研究代表者

新潟大学 災害・復興科学研究所 安田浩保

1．研究目的平成27年9月関東・東北豪雨における鬼怒川の破堤氾濫、平成28年8月の台風10号による北海道中央部での水害、平成29年7月の九州北部豪雨をはじめとした甚大な被害をもたらした河川災害が頻発している。このような計画規模を超える大規模な洪水においてはソフト対策が重要性であることが再認識されている。実効性の高い水防活動や避難活動の実現にあたっては河川水位と堤防状態のリアルタイムでの把握が望ましい。しかし、現状では、河川水位の縦断的に連続した把握はこれに適した計測技術が未確立であることから叶わず、堤防の低い整備率と相まって越流点の把握さえ困難である。現在の河川の危機管理に用いられる水位計は1箇所あたりの設置費用は数百万円と言われ、設置数の増加が容易でないこともこの状態を膠着させる一因となっている。管理河道延長が5000kmに及ぶ新潟県内の河川において、河川水位と堤防状態のいずれとも目視により把握すること事実上不可能かつ洪水時の高速流に巻き込まれるなどの危険性が高いため、安全性、経済性、実現性の三者に優れた河川の統合的モニタリングシステムが希求されている。これらの課題の解決に向け、本研究では、近年、急速に普及してきている安価かつ汎用的なシステム開発が比較的容易なシングルボードコンピュータを用いたIoT型の河川モニタリングシステムの開発の本格的な実装に向け、プログラム制御される
Raspberry Piによる画像撮影と画像解析の実証を行った。

2．Raspberry Piの概要
本研究ではシングルボードコンピュータとしてRaspberry Pi（図-1）を用いた。RaspberryPiはイギリスに本拠地を置くRaspberry財団により開発されたシングルボードコンピュータで、2012年2月に発売が開始された。
Raspberry Piは外形寸法が86mm x 57 mmで重量が45gの基板上に、AMR製の1GHzほどで動作するCPU、1GBのRAM、4つのUSBポー
ト、100BASEの有線LANポート、1つのHDMI

図-1 Raspberry Pi

ポート、1つのmicro SDカードスロット、1つのカメラインターフェイスCSI、1つのディスプレイインターフェイルDSI、1つの40ピンGPIO、v4.1規格のBluetooth1、IEEE802.11b/g/n

の無線LANのインターフェイスを搭載し、Raspberry Piだけで一台のコンピュータとして単独で動作が可能である。また、必要な電源は直流5V、消費電流は1.3Aとなっており、省電力のために電源供給に様々な方法を選択肢にできることも特徴の一つである。
これらのハードの制御には様々なOSが選択でき、その中でも最も普及しているのは、
Raspberry財団が公式にサポートするDebian

図-2 Raspberry PiのGUIをベースとしたRaspbianである。Raspbianの特徴は、完全なGUI（図-2）を備え、Python、Scratch、Sonic Pi、Java、Mathematicaなどがプレインストールされることである。
RaspbianはSDカード上にインストールしてRaspberry Piに電源を投入すれば起動できる。また、Raspberry Piの専用カメラセンサなら、静止画の撮影はraspistill、動画の撮影はraspividという非常に簡潔なコマンドだけで制御できることも利点である。このため、Raspberry Piのもともとの開発目的は学校で基本的なコンピュータ科学の教育促進であったものの、現在では、気圧計や温度計などの物理センサ、カメラセンサを基盤に直接接続してプログラムを通したきめ細かに制御できる特長を活かし、IoTの実装拡大の起爆剤となっている。Raspberry Pi本体と専用のカメラセンサの一式の価格は1万円程度と、既存の同様の機能を備える電子デバイスと比較すると極めて安価である事も急速な普及に拍車をかける要因となっている。

3．研究方法
本研究では、Raspberry Piのpythonなどのプログラミング言語を経由した柔軟な制御が可能である特徴と、1台あたりの価格が安価なために容易に複数のRaspberry Piの設置できる特徴に着目し、複数のカメラモジュールを接続したRaspberry Piを主にpythonにより制御することで河川の流速と水位の計測ができる無人型の河川モニタリングシステムの試作を以下のとおり行った。本研究では、流速計測などにおいて必要となる作業フローの自動化の検証と、カメラモジュールを経由して取得された画像解析の精度検証に主眼を置き、構築したシステムの動作検証及び画像解析により推定された水理量の検証が容易となる模型実験において以下の作業を行った。
3.1 流速計測
本研究では、合計8台のカメラモジュールが接続されたRaspberry Piを準備し、これらを水路直上に固定して縦断方向に一列に並べるように設置し、それぞれが受け持つ写真撮影の範囲を決め、それぞれのRaspberry Piにより撮影された画像から水表面の流速を推定する計測システムの構築を行った。

本計測システムのシステム開発における特徴は、ハード面においては目的の達成のために十分な性能を備えたハードをiOSなどで動作するタブレットなどと比べて非常に安価に入手できること、ソフト面においては同様の機能の実現が推測されるiOSデバイスを用いたシステム開発に比べてpythonでほとんどの機能制御を実現できるためにシステム開発のための広範な知識を必要としないことが挙げられる。特に、Raspberry Piを採用する利点として、iOSデバイスにより同様のシステム開発を行う場合に比べてデバイスの経事前処理
・Raspberry PI により対象範囲 (1m) の静止画を撮影
camera.capture('ﬁle_name.jpg')
・座標の基準となる４地点のマーカーの座標検出
cv2.cvtColor・ピクセル番号と計測範囲の平面座標の対応関係を構築
計測区間毎に処理を繰り返す

トレーサーの撮影
・上流から散布したトレーサを動画撮影
camera.start_recording(ﬁle_name + '.h264')
・動画を静止画に分割し、二値化処理でトレーサと背景を識別
cv2.VideoCaputure、cv2.cvtColor、cv2.threthold

表面流速の算出
・OpenPIV により計測した全時間の表面流速 (u, v) を算出
・座標毎に算出した表面流速 (u, v) のうち、計測時間内で最大の表面流速を求める

済コストは少なくとも1/5に抑制できる

計測データの集約

上、本システムで重要となる複数台のデ・全計測区間の計測値を結合し、格子状にデータを構造化

バイスの一体制御のコード開発の技術的

赤：picamera 青：OpenCV

緑：OpenPIV

黒：Numpy

な難易度が高くないことが挙げられる。
構 築 し た 流 速 計 測 シス テム の 作 業 フ
ローは図-3に示したとおり、事前処理、Raspberry PI

図-3 Raspberry Piを用いた表面流速計測のフロートレーサー撮影、表面流速の推定、計測データの集約の4段階に分けられる。本研究における流速推定では、移動物を連続に撮影した画像に基づき流速推定を行うPIV法とOptical FLow法の二つを用いることにした。PIV法とOptical FLow法を流量推定法に用いる理由は、実河川の洪水時に大小様々な浮遊物が流下する事に着目し、これらの浮遊物が同一の撮影地点から動画などにより時間的に連続して撮影されれば、非接触の流速推定法であるこれらの方法により水表面の流速の推定が可能となるものと推測したことによる。
事前処理としては、カメラモジュールにより撮影される画像の撮影範囲を特定するために各Raspberry Pi毎に以下を行う。1) camera.capture(‘foo.jpg’)という静止画像の撮影のコマンドを用い、静止画像の撮影とその画像の指定フォルダへの保存を行う。2) cv2.cvtColorという色空間を相互に変換するコマンドを用いて撮影画像に撮影された4地点の位置を検出し、ピクセル番号と計測範囲の平面座標の対応関係を構築する。1)に用いるコマンドはpicameraライブラリ、2)に用いるコマンドはOpenCV2のライブラリである。
PIV法による流速推定が可能となる移動物体の撮影として、水路の直上からの動画撮影と、撮影された動画に対してPIV解析に適した画像を得るために以下の処理を行う。

1) camera.start_recording(foo + ‘.h264’)という動画撮影コマンドを用い、動画 撮 影 と そ の 動 画 の 指 定 フ ォ ル ダ へ の 保 存 を 行 う 。 2 ) cv2.VideoCaputure、cv2.cvtColor、cv2.thretholdというコマンドを用い、動画の静止画への分割、二値化処理によるトレーサと背景を判別する。1)に用いるコマンドはpicameraライブラリ、2)に用いるコマンドはOpenCV2ライブラリである。
PIV法による表面流速の算出としては、OpenCVライブラリを用い、撮影された動画から得られた静止画像のOptical FLow解析により流跡線を得てこれから表面流速(u, v)を取得する。
最後にデータの集約処理として、複数台のRaspberry Piで取得された全ての計測区間の計測値を結合し、構造型の格子状データを生成する。
上記の自動処理の検証は図-4に示した模型
実験水路にRaspberry Piを設置して実施した。この水路の大きさは、全長12m、全幅0.45mで、この時にこの水路に与えた水理条件は、水路床勾配1/200、上流端での供給流量1.7l/s、下流端の水深は流量と水路床勾配から決定される等流水深とした。この時に水路の状態は等流であることが推測されるため、いずれの地点における流速も0.31m/sとなる

図-4 Raspberry Piを設置した模型実験水路ことが理論的に推測される。
このPIV法とOptical FLow解析による流速推定の実証実験では、洪水時の浮遊物を模擬するために直径2mmの発泡スチロール製の球体を模型実験水路の上流側から投入した。この実験における動画撮影の撮影条件はfpsを25、画像解像度を1920 x 750、Raspberry Piを撮影範囲が流下方向に1m、流路幅方向に0.45mの画像が撮影できる位置に設置した。

4．結果
4.1 PIV法による流速計測
図-5の上段にPIV解析を適用するために撮影した動画から抽出した二つの時刻の静止画像、同図の下段にその画像を二値化した画像を示した。また、図-6にOpenPIVライブラリを用いて推定した流速の平面的な分布図を示した。同図a)は、明るい赤色の着色は0.3m/sほどの流速で2mmの球形に発砲スチロールが流下したことを示し、前述した設定した実験条件から理論的に推定される0.31m/sと良好に一致する事が明らかとなった。同図b)は、同一の水理条件での移動床実験において自律的に形成された交互砂州上の流速分布である。

図-5 PIV解析を適用するために撮影した動画から抽出した二つの時刻の静止画像を二値化

4.2 Optical Flow法による流速計測
図-7にOptical Flow法により得られた0.5秒ごとの流跡線を示した。図示した撮影範囲の流下方向の長さは1mとなっており、画面の右端にあった粒子群が3秒後には画面の 左 端 に 到 達 して い る こ と が 分 か る 。
Optical Flow法により得られた流跡線の長さa) 直線流路（平坦床上の流れ）から撮影画像内の流速は0.3m/sほどである事が推定され、上述までのとおり計測対象の水Flow

理状態における理論的に推定された0.31m/sと一致する結果となった。
Velocity(PIV)

豪雨時における越流開始箇所とのその開始時刻は、世界で最も監視網が充実している日本の河川でも現状では不可能である。このよ45cm

5．おわりに100cm

Bed level(ST)うな深刻な現状に対して本研究では、安価かつ汎用的なシステム開発が比較的容易なシングルボードコンピュータを用いたIoT型の河川モニタリングシステムの開発の本格的な実装b) 直線流路（交互砂州上の流れ）
図-6 OpenPIVによる推定流速の平面分布図に向け、プログラム制御されるRaspberry Piによる画像撮影と画像解析の実証を行った。その結果、模型実験ではあるものの河川の物理

図-7 Optical Flow法により得られた0.5秒ごとの流跡線状態を時間と空間のどちらにもの連続した把握が可能となる可能性が示された。
河川災害は以下に大別でき、一つは、河川の下流から中流にかけての河川水位が堤防高さを上回って発生する越流型である。2015年9月の鬼怒川を起因とした茨城県常総市の被災が典型で、その被害額は1600億円に及んだ。首都圏を直撃する被害額は34兆円と試算されている。現時点の国内の堤防完成率は50%程度で、連続した築堤には百年単位の時間を要し、危険性は容易に解消されない。また、河川の監視は10km程度毎の水位だけで、この補完のためにデータ同化を導入した数理解析が実施されている。しかし、正確な水位推定には少なくとも1km毎の水位観測の必要性が判明し、1000万円/1箇所の水位観測所の増設は容易ではないた
め、数理解析にも当面期待できない。もう一つは、人口居住地の流路長の40%を占める中流での浸食型である。2016年8月の北海道中央と、2017年7月の九州北部の河川災害が典型である。洪水中の数ｍもの河床高の増減とこれに伴う洪水流の偏心によって、50以上の落橋や沿川の道路流失、沿川の家屋群の流失により30名以上の人命が喪失した。河道変形の予兆検出と対策工法の開発は事実上断念されいるものの、今後、都道府県は中流の河川の危機管理の問題を直視しなければならない。本研究の成果は、中小河川の危機管理における閉塞状態を打開する選択肢を与えるものと言える。
＜了＞