救命救急センターと連携する
交通事故自動通報システムによる交通弱者の被害軽減― 平成 30 年度（中間報告） タカタ財団助成研究論文 ―ISSN 2185-8950

研究代表者

中山 功一

研究実施メンバー

研究代表者

国立大学法人 佐賀大学 工学系研究科
准教授

研究協力者

中山 功一

国立大学法人 佐賀大学 医学部教授

阪本 雄一郎国立大学法人 佐賀大学 工学系研究科
助教

上田 俊

国立大学法人 佐賀大学 工学系研究科
客員研究員

佐藤 三郎

国立大学法人 佐賀大学 工学系研究科
客員研究員

大島 千佳

報告書概要平成 30 年度は，事故検知アプリケーションの検知アルゴリズムを改良した．ドローンの自律飛行システムと事故状況確認システムを改良し，事故状況をより適切に把握できるようにした．具体的には，以下の成果があった．
①事故発生時に，被害者が歩行中／自転車運転中／自動車乗車中のいずれであるかをあらかじめ判別するアルゴリズムを開発し，実装した．予め，加速度センサで，歩行中／自転車
運転中／自動車乗車中という 3 つの移動モードの加速度データを取得しておく．それらのデータから，3 つの移動モードを分類するディープラーニングの分類器を作成する．事故検知
アプリケーションの使用時には，加速度データを分類器にかけることで，30 秒以内に正しい移動モードを判別することができた．
②ドローン操縦用コントローラからの電波が届かない位置で事故が発生した場合にも対応できるように，ドローンが，コントローラから操縦されることなく，目的の位置まで指定された経路で自律飛行するシステムを構築した．これまで，ドローンは，コントローラから半
径 3km 程度の範囲内でしか飛行できなかったが，提案システムにより，バッテリーの続く限
り，遠くまで飛行ができるようになった．さらに，飛行しながら画像処理するシステムを開発した．コントローラから電波が届かない位置で飛行中のドローンが，交通事故などあらかじめ学習済みの画像を見つけると，その上空まで移動して自動で撮影して戻ってくることが可能となった．
③画像処理により，事故現場の撮影映像から，3 次元的状況を把握し，救助隊に立体的に表示するシステムを構築した．また，事故現場の写真から，現場にいる人数や，現場にいる
人の姿勢などを検知するシステムを構築した．
本研究で提案した交通事故の救急システムにより，より広い範囲での交通事故に対応でき
るようになり，より正確に事故現場の状況を把握できるようになった．平成 31 年度は，実用化に向けて，交通事故の被害を軽減につながる救命システムの開発を継続する予定である．

2/27

目

次

救急救命センターと連携する
交通事故自動通報システムによる交通弱者の被害軽減
第 1 章 はじめに
第 2 章 自動通報スマートフォンアプリの改良
2.1

アプリケーションの目的

2.2

アプリの概要

2.3

アプリの改良１：誤検知防止機能の評価

2.4

アプリの改良２：ディープラーニングによる移動モードの判別アルゴリズムの開発

第 3 章 ドローンの自律飛行システムの開発
3.1

システム構成3.2

システム概要

3.3

飛行実験

3.4

3 次元モデル生成用自動操縦アプリの評価

第 4 章 事故現場の状況を把握する WEB システムの開発
4.1 システムの目的
4.2 システムの構成
4.3 システムの実装方法
4.4 実験結果
4.5 考察第 5 章 まとめと今後の課題
参考文献

3/27

第1章
はじめに
5 年連続で全国ワーストであった佐賀県の人身事故発生件数[1]は，2018 年，ようやくワー
ストを脱したものの全国で 2 番目に多く，佐賀県警によると「状況はいまだ深刻」である[2]．
図 1.1 に示すように，人身交通事故発生件数は，平成 28 年は 7,783 件，29 年は 6,765 件と減少してきたが，それでも全国で 2 番目に多い[3]．さらに人口 10 万人あたりのけが人は平成
29 年も 1079 人と，11 年連続でワーストであった[3]．特に歩行時や自転車運転時の被害が顕著である．その中でも佐賀市は，常に全国でワーストを競っている状況である．

図 1.1

交通事故発生件数の推移（出典：佐賀市役所「佐賀市における交通事故発生状況について」）

4/27

筆者らの所属する佐賀大学では，先進事故自動通報システム（Advanced Automatic Collision
Notification : AACN）とドクターヘリシステム[4]を連動させる救急ヘリ病院ネットワーク(HEM-Net）[5]を導入している．自動車には AACN などの通報装置が装備されつつある．自転車や歩行者が事故にあった場合にも，自動で救急通報され，適切に救急救命されるシステ
ムが期待される．
本研究では，交通事故の救急システムを提案している．まず，スマートフォンを用いて，歩行者や自転車の運転者が，自ら通報できないような事故にあった場合でも，自動で事故発
生とその位置情報を通報する Android アプリケーション（以下，自動通報アプリ）を開発す
る．次に，通報された位置情報に従い，小型の無人飛行機「ドローン」を事故現場まで自動飛行させ，上空から事故の様子を動画で撮影し，救命センターに送信する Android アプリケーション（以下，自動操縦アプリ）を開発する．救命センターでは，自動通報アプリからの通報と，自動操縦アプリから送信される上空からの映像をもとに，救急車やドクターヘリの出動を判断する．
筆者らが提案している交通事故救急システムを図 1.2 に示す．図中の青枠で示した自動通報アプリに関する平成 30 年度の研究報告を 2 章で，赤枠で示したドローンの自動操縦アプリ，
およびドローンによる撮影についての研究報告を 3 章および 4 章でそれぞれ述べ，5 章でま
とめる．

図 1.2

救急システムの概念

5/27

第2章
自動通報スマートフォンアプリの改良
2.1

アプリケーションの目的

自動車には，通報装置が次々と実装されている．一方，歩行者や自転車な
どの交通弱者に対する通報装置が少ない．そのため，交通事故が起きたときに通報が遅れ，交通弱者が亡くなる場合も多い．この問題を解決するため，
本研究では，事故を検知して，自動で，仲介サーバに位置情報を送り，病院に事故情報を送る「自動通報アプリ」を開発している．
2.2

アプリの概要このアプリは，スマートフォンの加速度セン
サなどのデータから事故を検知する．事故を検知すると，自動で仲介サーバに位置情報（GPSデ ー タ ） を送り，病院に事故情報（加速度データ／音声データ／事故前後の GPS データ）を送る．仲介サーバの GPS データをもとに，ドローンを事故現場まで自動飛行させ，事故状況を上空から撮影させる．病院側は撮影された映像を見て，適切な対処法を検討する．
アプリは，約 20 秒間の加速度データと GPS
データを常に保持し続ける．交通事故が起きた
とき，交通弱者が持つスマートフォンには，異常な加速度が生じる．アプリは，異常な加速度を検知すると，アラームが鳴る．自力で通報できる人や，スマートフォンを落としたことによる異常な加速度の検知の場合には，10 秒以内にボタンを押してアラームを止める．これにより，誤通報を防ぐ．
図 2.1
2.3

自動通報アプリの画面

アプリの改良１：誤検知防止機能の評価

昨年度，落下など事故ではない衝撃を，事故として誤検知しない判別アルゴリズムを構築した．しかし，衝突実験による評価と検証が実施できていなかった．本節では，落下実験および衝突実験による誤検知防止機能の評価について述べる．
1 つ目の実験は，スマートフォンを様々な方法で落下させる．この実験の目的は，どのよ
うな落とし方をしても事故と判断されないか確認するためである．結果は，様々な方法で落下させた全てにおいて，事故と判断されなかった．そのときの 3 パターンについて，加速度の変化をグラフにしたものを載せる．図 2.2 は，高さ 2m からスマートフォンの画面を上に向けて落とした場合である．図 2.3 は，高さ 1.5m からスマートフォンの画面を横に向けて落と
6/27

した場合である．図 2.4 は，高さ 1m から画面を上向きにしてスマートフォンを軽く前に投げながら落とした場合である．

図 2.2

高さ 2m 画面上向きからの落下

図 2.3

高さ 1.5m 画面横向きからの落下

図 2.4

高さ 1m 画面上向きから前方に落下

図 2.2～図 2.4 の赤枠部分に注目すると，落下する直前は，無重力状態になっていることが分かる．スマートフォンを落とした場合は，落下する直前に無重力状態があるので，誤って事故と判断することはない．

7/27

2 つ目の実験は，衝突実験である．実験方法は，バイクと乗用車の衝突，自転車と乗用車の衝突である(図 2.5～図 2.8)．このとき，バイク，自転車に乗せたダミー人形の腰にスマートフォンを設置した(図 2.9，2.10)．

図 2.5

図 2.7

衝突実験で使用するバイク衝突実験で使用する自転車

図 2.9 バイクに設置したスマートフォン

図 2.6

図 2.8

バイクと乗用車の衝突後の画像

自転車と乗用車の衝突後の画像

図 2.10 自転車に設置したスマートフォン
8/27

実験の目的は，誤検知防止機能を追加しても，正しく事故と判断されるか確認するためである．結果は，のべ４台のスマートフォンのうち，４台とも事故検知に成功した．そのときの 2 台のスマートフォンに注目して，加速度の変化をグラフにしたものを載せる．図 2.11 は，
バイクと乗用車を衝突させたときの加速度の変化をグラフ化したものである．図 2.12 は，自転車と乗用車を衝突させたときの加速度の変化をグラフ化したものである．グラフの横軸について，衝突したときを 0 秒とする．

図 2.11

バイクと乗用車の衝突

図 2.12

自転車と乗用車の衝突

図 2.11，2.12 より，衝突前に無重力状態になっていることはないので，正しく事故と判断される．
2 つの実験より，誤検知防止機能が正しく動作していることが分かる．

9/27

2.4

アプリの改良２：ディープラーニングによる移動モードの判別アルゴリズムの開発

交通事故が起きたとき，歩行しているのか，自転車に乗っているのか，などの状態によって，事故の大きさが変わってくる．そこで，ディープラーニングを用いて，モード判別用の分類器を構築する．ここでのモードは，停止，歩行，自転車，自動車の 4 種類である．
本研究では，加速度のデータを活用し，分類器を構築する．本研究で使用する開発環境を表
5.1 に示す．
表 2.1

開発環境

分類

詳細

ライブラリ

Tensorflow，Keras

実行環境

Jupyter notebook

開発言語

Pythonディープラーニングを用いた分類器を構築するためには，多くのデータが必要となる．そこで，データを取得するアプリを作成した(図 2.13)．

図 2.13

データ取得アプリ

このアプリは，初めにモードを選択してから画面左下のボタンをタップすることでデータの取得が始まる．そして，選択したモードに対応するラベルと x 軸，y 軸，z 軸それぞれの加速度を保存する．学習用データは，停止，歩行，自転車，自動車の 4 つのデータを使う．停止のデータは，スマートフォンを様々な向きに置き，合計 4 時間のデータを集めた．歩行のデータは，被験者を 4 人集め，各 1 時間ずつの合計 4 時間のデータを集めた．自転車のデー
タは，歩行のデータと同じ被験者 4 人で，各 1 時間ずつの合計 4 時間のデータを集めた．自10/27

動車のデータは，歩行のデータの被験者とは異なる被験者を 2 人集め，各 2 時間ずつの合計
4 時間のデータを集めた．この学習用データを用いて，分類器を構築する．
試験用データは，4 つのモードを順不同かつ連続で 5 分ずつ集め，これを連続で 2 回行う(合計 40 分)．そして，被験者を 4 人集め，合計 2 時間 40 分のデータを集めた．集めたデータの時間は，多少前後する．この試験用データを用いて，構築した分類器に分類させる．
初めに，試験用データを分類器に分類させたときの各モードの正解率について結果を述べる．表 2.2 は，各モードの正解サンプル数である．図 2.14 は，各モードの正解率をグラフにしたものである．
表 2.2

各モードの正解サンプル数

図 2.14

各モードの正解率

停止と正しく判断されたサンプル数は 187 個中 71 個で，割合は 38％である．歩行と正しく判断されたサンプル数は 257 個中 248 個で，割合は 97％である．自転車と正しく判断されたサンプル数は 204 個中 172 個で，割合は 84％である．自動車と正しく判断されたサンプル
数は 284 個中 44 個で，割合は 15％である．
次に，モードを切り替えたときに，正しいモードと判断されるまでに必要な時間をまとめたものについて述べる(表 2.3)．ここでは，歩行と自転車についてだけ考える．理由は，歩行と自転車は高い確率で正しく分類でき，停止と自動車は正しく分類できたとは言い難い結果になったからである．

11/27

表 2.3

正しいモードと判断されるまでの必要時間

各モードの切り替わりは，それぞれ合計 8 回ある．歩行は，10 秒で判断されたのが 4 回，
20 秒で判断されたのが 2 回，30 秒で判断されたのが 2 回である．自転車は，10 秒で判断されたのが 4 回，20 秒で判断されたのが 3 回，30 秒で判断されたのが 1 回である．モードが切り替わってから 30 秒あれば，歩行と自転車は，100%の割合で正しく判断される．
本研究で構築した分類器では，歩行と自転車は正しく分類できるが，停止と自動車は正し
く分類できないといえる．そこで，停止と自動車の判別は，GPS を用いることにより解決できると考える．停止は移動距離がないが，自動車は移動距離が長くなるので，正しく判別できることは明らかである．
また，モードを切り替えたときに，正しいモードと判断されるまでに必要な時間は，長くても 30 秒である．30 秒以内に正しいモードと判断されるのであれば，素早いモード判断ができていると考える．
これらのモードの判別と素早いモード判断を行うことにより，交通事故が起きたときに，どのような状態で事故にあったのかを推定することができる．また，正面衝突や横からの衝突，けが人の重症度といった事故の状況や規模などを考慮したデータを集め，分類器に活用することにより，どのような状態で，どの程度の事故で，どの程度の被害が出たのかを推定できると考える．より詳細に推定することにより，助からなかった命が助かるようになると考える．
現時点では，移動モードを事故の検知や被害状況の推定などには用いていない．今後，移動モードに応じた事故検知アルゴリズムや，被害状況の推定アルゴリズムに応用できると期
待される．

12/27

第3章
ドローンの自律飛行システムの開発「防災力の鍵」となる重要な情報として，実際の現場を把握できるデータや映像がある[6]．
事故現場の状況をリアルタイムに把握するための人工知能（AI）ドローンシステムに向けて，
本章では自律飛行を実現するシステムの開発について述べる．
3.1 システム構成
ドローンの自律飛行を実現するため，本研究ではシングルボードコンピュータである
Raspberry Pi と，DJI社より提供されているDJI Onboard SDK[7]，画像処理ライブラリである
OpenCV[8]を利用し，画像判別によるドローンの自律飛行制御システムを開発する．ドローン
は通常，送信機を用いて飛行制御を行うが，DJI社のドローンは自動飛行の手段としてDJI
Mobile SDK及びDJI Onboard SDKが提供されている．これらは相互に通信を行うことが可能であり，連携させることでより高度な飛行制御が可能となる．
3.1.1

DJI Mobile SDKとDJI Onboard SDK

DJI Mobile SDKはDJI社によって提供されているドローンの飛行補助ソフトウェア開発キットである．ドローンを操作する送信機に携帯端末をUSB接続し，携帯端末上でアプリケー
ションを操作することでドローンに飛行およびカメラ制御を行わせることが可能となる．
DJI Onboard SDKはDJI社の特定機種のドローンにコンピュータを搭載し，搭載されたコンピュータ上で動作するC++プログラムによる飛行制御・カメラ制御を可能にするソフトウェ
ア開発キットである．
DJI Mobile SDKによる飛行プログラムは携帯端末上で動作し，携帯端末上のプログラムからの飛行命令をUSB接続された送信機経由でドローンに送信して飛行制御を行う．そのため飛行指示にはドローンと送信機が接続可能な距離内になければならず，ドローンのカメラを用いて画像を撮影してもその画像をその場で処理し，飛行制御に反映させるといったことができない．
一方，DJI Onboard SDKによる飛行プログラムはドローン本体に搭載されたコンピュータ上のプログラムから有線接続でドローンに直接命令が可能であるため，ドローンが送信機との接続が可能な範囲外であっても自律的な飛行制御が可能である．また，ドローンに搭載されたコンピュータ内で画像処理を行うことで，その結果を飛行制御に反映させ，必要な情報を効率的に取得することができる．
これらの点から，本研究では遠隔地で自律飛行し，画像処理によって必要な情報を取得するためにDJI Onboard SDKを用いたドローンの自律飛行制御システムを開発する．

13/27

3.1.2Raspberry Pi

Raspberry PiはRaspberry Pi財団によって開発されたARMプロセッサを搭載した教育用に開発されたシングルボードコンピュータである．microSDカードをストレージとして利用し，LinuxOSを利用可能である．また，カメラやセンサ等の機器を接続可能であり，拡張性にも優れている．本研究では，Raspberry Pi専用カメラモジュールを接続し，OpenCVとDJI Onboard
SDKを導入して画像処理と飛行制御を行う．今回利用したRaspberry Pi 3 Model B+の外観を図3.1に示す．

図 3.1
3.1.3

Raspberry Pi 3 Model B+.

OpenCV

OpenCVはIntelが開発したコンピュータビジョン向けのオープンソース・ライブラリである．
本研究では，OpenCVの画像処理機能を用いてドローンからの空撮画像を解析し，飛行制御に
反映する．
3.1.4

Raspberry Pi専用カメラモジュール

DJI Onboard SDKでは，ドローンに接続されたカメラで撮影された画像を搭載コンピュータ
が取得する機能が標準でサポートされていない．このため，Raspberry Piに専用のカメラモジ
ュールを接続し，ドローンに搭載することでRaspberry Piの画像取得を可能にし，取得した画像を処理することによる飛行経路の制御を可能とする．
Raspberry Pi専用カメラモジュールの標準動作環境はShellおよびPythonであるため，DJI
Onboard SDKの動作環境であるC++で動作させるために，OpenCVでRaspberry Pi専用カメラモ
ジュールを利用可能になるライブラリ「RaspiCam_CV[9]」を用いている．

14/27

3.2 システム概要
3.2.1

ソフトウェアの動作

Raspberry Piから制御信号を送信して飛行させる．飛行中にカメラモジュールの画像を取得
し，OpenCVによって画像処理を行い，撮影対象を探索する．画像内に撮影対象を検出した場
合，撮影対象が真下に来るようにドローンを飛行させ，カメラモジュールおよびドローン付属カメラで撮影を行い，帰還する．飛行プログラムはRaspberry Pi起動時に自動実行される．
現在，自律飛行制御および画像認識の単体動作，および複合時の動作テストが完了している．画像処理と飛行制御の複合動作が今後の課題である．

図3.2
3.2.2

Raspberry Pi を搭載したDJI Matrice100.

ハードウェアの動作

カメラモジュールを接続したRaspberry PiとDJI社のドローンDJI Matrice100を，USBシリア
ル変換モジュールを経由してRC-232で有線接続する．Raspberry Piを搭載したDJI Matrice 100を図3.2に示す．Raspberry Pi本体はドローン上部に格納する．専用カメラモジュールは
Raspberry Piと専用ケーブルで接続してドローン下部に固定し，Raspberry Piの電源はドローンの電池から獲得している．

3.3 飛行実験
3月 に 佐 賀 県 多 久 市 に て ，自 律 飛 行 実 験 を 実 施 し た ．多 久 市 立 病 院 の 付 近 の河川敷をドローン待機場所と，西多久地区の避難所に指定されている西多久
公 民 館 に 事 故 被 害 者 が 運 ば れ て い る と ，そ れ ぞ れ 仮 定 し た ．そ の 間 の 4 k m 程 度の飛行経路をドローンに自律飛行させた．ドローンには救急薬剤に見立てた
薬 剤 ボ ト ル を 装 着 し た ．離 陸 地 点 の 様 子 を 図3.3に ，着 陸 地 点 の 様 子 を 図3.4に 示
す．

15/27

図3.3

飛行実験の離陸地点の様子

図3.4

飛行実験の着陸地点の様子

実験結果から，コントローラの電波が届かない着陸地点であっても，自律飛行できることが確認された．また目標地点での写真撮影や薬剤の運搬も可能であることが確認できた．

16/27

3.4 ３次元モデル生成用自動操縦アプリの評価
昨 年 度 ，事 故 現 場 の 3 次 元 モ デ ル を 生 成 す る た め の 自 動 操 縦 ア プ リ を 作 成 したが，事故現場を想定した撮影実験を実施していなかった．
本年度は，作成したプログラムを用いてドローンを自動飛行させ撮影を行った，撮影にはDJI製のドローンPhantom4を用いた．高度8mから撮影した静止画を入力画像として，
Pix4Dmapperで3Dメッシュモデルと点群データを作成した．作成した3Dメッシュモデルのキャプチャ画像を図3.5に，作成した点群データのキャプチャ画像を図3.6に示す．今回の撮影では，車と人体を容易に認識できる程高精細な3Dモデルを作成することができた．このことか
ら，事故現場の状況を把握するための撮影手法として，十分活用可能であると考えられる．
ただし，以下の精度でモデル化するための撮影モードでは，離陸開始から撮影終了までに2分15秒かかった．精度を落とし，高速にモデル化するための撮影モードでは，離陸開始から撮影終了までに1分46秒であった．状況に応じて，使い分けることが望ましいと考えられる．

図3.5

ドローン撮影画像から作成した3次元モデル（メッシュモデル）図3.6

ローン撮影画像から作成した3次元モデル（点群データ）

17/27

第4章
事故現場の状況を把握する Web システムの開発
4.1

システムの目的

本章では，AI ドローン・画像処理システム・サーバを組み合わせて構築される事故状況把握システムを提案・開発する．前章までの成果と本章のシステムによって，送信機の電波が届かない遠距離の事故現場の状況を，複数同時に，円滑に把握することを可能にする．
本研究で提案する事故状況把握システムは，1 台の端末（サーバ PC）で複数の AI ドロー
ンを制御可能であるという利点を持つ．これは，単純に一人が複数のドローンを扱いやすくするだけでなく，AI ドローン同士が互いの状態（座標やバッテリー残量，ミッションの実行
状況など）を把握できることを意味する．例えば，システムの管理下にある AI ドローンが全てミッションの実行中である時に，新たな事故現場へドローンを向かわせる必要性が生じた場合を考える．各 AI ドローンの現場までの距離，バッテリー残量，現在実行中のミッションの重要度などから，その現場へ向かわせるのに最も適した AI ドローンを選択して指示を出すことが可能になる．
また，サーバを介してドローンを制御するという性質上，他のシステム（事故を検知して座標をサーバに送信するアプリなど）との連携が容易であるという利点も持っている．この事から，事故状況把握システムによって複数の AI ドローンを制御することは，事故状況の円滑な把握につながると考えられる．
4.2

システムの構成

事故状況把握システム全体の構成を図 4.1 に示す．このシステムでは，1 台のサーバが複数の AI ドローンを管理する．サーバは，ドローンに離着陸とミッションの実行を指示する．サーバからの指示は，HTTP 通信で AI ドローンの Raspberry Pi へ送られる．指示を受けた
Raspberry Pi は，指示を解析し，内容に沿ったミッションを実行する．ドローンは，Raspberry
Pi の制御により自律飛行を行う．このようにして，各 AI ドローンは，1 台のサーバにより間接的に制御される．

図 4.1

システムの構成
18/27

4.3

システムの実装方法

事故状況把握システムは，DJI SDK と PHP によるサーバスクリプト，MySQL によって実装を行う．今回は，2 章で解説した画像処理システムを組み込むために，Raspberry Pi の代わ
りに Android 端末を使用し，DJI Mobile SDK を用いた自動飛行制御システムとして実装を行った．事故状況把握システムの具体的な実装方法をサーバ側と AI ドローン側に分けて以下に
示す．
4.3.1

サーバ側の実装

サーバ側で実装する基本的な機能は，命令データの更新とログファイルの作成である．サーバからドローンへ送られる命令データは，MySQL を用いて管理される．各ドローンには，固有の識別番号を設定しておき，この識別番号とミッションの種類，目的地の座標や高度，
ミッションの重要度などをひとまとめにしたものが命令データとなる．ブラウザでの操作やプログラムなどにより新たな命令が指示された時，サーバは，MySQL 上の命令データのテー
ブルを更新する．それと同時に，新たな命令の内容をテキストファイルに追記していくこと
で，命令のログファイルを作成する．
また，ドローンのステータスも命令データと同じように，MySQL を用いて管理される．ドローンから送られてくるステータス情報（座標やバッテリー残量，ミッションの実行状況など）を識別番号と紐づけて，MySQL 上のドローンステータスのテーブルを更新する．それと同時に，ドローンから送られてきたステータス情報をテキストファイルに追記していくこと
で，ドローンステータスのログファイルを作成する．
このようにして，サーバ側では，最新の命令データと最新のドローンステータス，ログの管理を行う．
4.3.2

ドローン側の実装

AI ドローン側は，3 章で述べた自律飛行システムを基本として実装する．飛行プログラムが起動すると，ドローンは待機状態に入る．待機状態のとき，ドローンは，10 秒に 1 回サー
バに識別番号を POST 送信し，返ってくる命令データを保存する．受け取った命令データが，前回受け取って保存した命令データと異なっていれば，新しい命令に従ってミッションを実行する．
自律飛行プログラムには，予め複数のミッション（静止画の撮影や待機，帰還など）を作成しておく．ドローンは，命令データの内容を解析して，次に実行するミッションを決定する．ミッションを実行した後，命令データが更新されていなければ，ドローンは再び待機状態に入る．さらに，ドローンは，待機中やミッションの開始時，などのタイミングでドロー
ンのステータス情報を取得し，識別番号と共にサーバへ POST 送信する．
このようにして，AI ドローン側では，命令データの取得と解析，ミッションの実行，ステータス情報の送信を行う．

19/27

4.4

実験結果

DJI 社のドローン Phantom4 を 2 台用いて実験を行った．実験は，DJI 社が提供している実機シミュレータ上で行った．自動飛行プログラムを実行中の Android アプリ画面を図 4.2 に，システムのメイン画面を図 4.3 に，命令データとドローンステータスのログをそれぞれ図 4.4，
図 4.5 に示す．アプリ画面では，MSTART ボタンを押すことで，ドローンが待機状態に入り，
MSTOP ボタンを押すまで命令データの取得とミッションの実行，ステータス情報の送信を繰り返す．システムのメイン画面では，緯度・経度・高度とミッション内容を入力した後，各ドローンに対応したボタンを押すことで，命令データを更新する．

図 4.2

アプリ画面

20/27

図 4.3システムのメイン画面

図 4.4

命令データのログ

21/27

図 4.5

4.5

ドローンステータスのログ

考察

実験結果より，2 台のドローンを用いて，指定した緯度・経度へ飛行して指定した高度・撮影方法で撮影を行うことに成功した．これより，本システムを用いて，1 台のサーバで複数のドローンを制御することに成功したといえる．
ただし，本章のシステムは，DJI Mobile SDK を用いた自動飛行制御でシステムを実現しているため，現状では，3 章で述べた自律飛行システムとは連動していない．本章のシステム
を自律飛行により実現するために，DJI Onboard SDK と Raspberry Pi を用いた自律飛行制御で実現することが今後の課題である．

22/27

4.6

OpenPose による人体識別

4.6.1

OpenPose

本節では，ドローンのカメラによって得られた静止画から，事故状況把握に有益なデータを抽出する手段として，OpenPose[10]を用いる．OpenPose とは，画像処理によって，人間の姿勢を推定し，それをボーン構造で可視化するソフトウェアである．入力データは動画と静止画が使用可能であるが，今回は静止画のみを入力とする．

4.6.2

処理の流れ

ドローンのカメラによって得られた静止画を入力として，OpenPose の出力画像を表示するまでのデータの流れを図 4.6 に示す．ドローンのカメラで撮影された静止画は，まず，送信機に接続した Android 端末に送信される．静止画を受け取った Android 端末は，HTTP 通信で，その静止画をサーバに送信する．それを受け取ったサーバは，LAN 内の画像処理用の高性能 PC へ受け取った静止画を送信し，画像処理のリクエストを送る．画像処理用の高性能 PC は，受け取った
静止画を OpenPose に入力し，その処理結果をサーバへ送信する．

図 4.6 データの流れ

4.6.3

処理結果の表示方法

OpenPose の処理結果は，サーバに保存される．保存されたデータは，サーバスクリプトを用いてブラウザに表示する．サーバスクリプトでは，画像表示のために，JavaScript のプラグイン
baguetteBox[11]を使用した．ブラウザには，動的に生成されたサムネイル画像が並べて表示され，サムネイルをクリックすると拡大表示される．拡大表示画面では，前後の画像への切り替えボタ
ンと，サムネイル画面へ戻るボタンが表示される．

23/27

4.6.4

実験結果

ドローンで手動撮影を行い，4.6.2 項の処理の流れに従ってデータを作成し，ブラウザで表示した．ドローンで手動撮影した静止画を図 4.7 に，処理結果が表示されたブラウザ画面のサムネ
イル表示・拡大表示をそれぞれ図 4.8，図 4.9 に示す．撮影には，DJI 製のドローン Inspire1 とDJI 製のカメラ Zenmuse X3 を用いた．撮影現場は，佐賀市内の本庄公園であり，撮影日時は，佐賀市の防災訓練の前日の準備の時間帯である 11 月 10 日（土）午後である．

図 4.7 ドローンで撮影した静止画

図 4.8 サムネイル画面
24/27

図 4.9 拡大表示画面

4.6.5

考察

実験結果より，ドローンで上空から撮影した静止画を，サーバを介して OpenPose で処理し，その処理結果を Android 端末で表示することができた．図 2.11 の処理結果を見てみると，人体を問題なく識別できることが分かった．これより，本手法は，ドローンの空撮による静止画から，素早く人体を識別・認識できるデータを作成する手段として有用であると考えられる．高高度からの撮影では，撮影対象との距離が遠くなり，OpenPose の認識率の低下や誤認識が生じるため，人体の識別に問題がある．しかし，この問題は，画像サイズを拡大することで解決可能であるため，Android 端末側のプログラムやサーバ側のスクリプトの変更で対処可能であると考えられる．

25/27

第5章
まとめと今後の課題
平 成 3 0 年 度 は ，事 故 検 知 ア プ リ ケ ー シ ョ ン の 検 知 ア ル ゴ リ ズ ム を 改 良 し た ．
ドローンの自律飛行システムと事故状況確認システムを改良し，事故状況をより適切に把握できるようにした．具体的には，以下の成果があった．
①事故発生時に，被害者が歩行中／自転車運転中／自動車乗車中のいずれであるかをあらかじめ判別するアルゴリズムを開発し，実装した．予め，加速度 セ ン サ で ，歩 行 中 ／ 自 転 車 運 転 中 ／ 自 動 車 乗 車 中 と い う 3 つ の 移 動 モ ー ド の
加 速 度 デ ー タ を 取 得 し て お く ．そ れ ら の デ ー タ か ら ，3つ の 移 動 モ ー ド を 分 類するディープラーニングの分類器を作成する．事故検知アプリケーションの使 用 時 に は ， 加 速 度 デ ー タ を 分 類 器 に か け る こ と で ， 30秒 以 内 に 正 し い 移 動
モードを判別することができた．
②ドローン操縦用コントローラからの電波が届かない位置で事故が発生した
場合にも対応できるように，ドローンが，コントローラから操縦されることなく，目的の位置まで指定された経路で自律飛行するシステムを構築した．
こ れ ま で ，ド ロ ー ン は ，コ ン ト ロ ー ラ か ら 半 径 3 k m程 度 の 範 囲 内 で し か 飛 行 できなかったが，提案システムにより，バッテリーの続く限り，遠くまで飛行ができるようになった．さらに，飛行しながら画像処理するシステムを開発した．コントローラから電波が届かない位置で飛行中のドローンが，交通事
故などあらかじめ学習済みの画像を見つけると，その上空まで移動して自動で撮影して戻ってくることが可能となった．
③ 画 像 処 理 に よ り ， 事 故 現 場 の 撮 影 映 像 か ら ， 3次 元 的 状 況 を 把 握 し ， 救 助 隊に立体的に表示するシステムを構築した．また，事故現場の写真から，現場にいる人数や，現場にいる人の姿勢などを検知するシステムを構築した．
本研究で提案した交通事故の救急システムにより，より広い範囲での交通事故に対応できるようになり，より正確に事故現場の状況を把握できるようになった．しかし，これらのシステムは試験段階であり，実用化までに解決すべき課題はいくつもある．これらを踏まえつつ，交通事故の被害を軽減に
つ な が る 救 命 シ ス テ ム の 開 発 を 継 続 す る ． 平 成 31年 度 は ， 実 用 化 に 向 け て ，
交通事故の被害を軽減につながる救命システムの開発を継続する予定である．

26/27

[1] 佐賀新聞 Live（2017 年 1 月 5 日付）＜http://www.saga-s.co.jp/news/saga/10101/392405＞[2] 西日本新聞（2018 年 2 月 16 日付）＜https://www.nishinippon.co.jp/nnp/national/article/394601/＞[3] 朝日新聞デジタル（2018 年 2 月 16 日付）＜https://www.asahi.com/articles/ ASL2H40ZLL2HTTHB006.html＞[4] 佐賀県医務課，佐賀県ドクターヘリの概要について＜https://www.pref.saga.lg.jp/web/var/rev0/0143/2475/201416144154.pdf＞[5] 特定 NPO 法人救急ヘリ病院ネットワーク，HEM-Net <http://www.hemnet.jp/where/>[6] 中村 孝之 “無人航空機（UAV）を活用した国土地理院の災害対応”, 北海道測量技術講演会, 2017: http://www.gsi.go.jp/common/000150883.pdf[7] DJI Onboard SDK Documentation:
https://developer.dji.com/onboard-sdk/documentation/introduction/homepage.html[8] OpenCV: https://opencv.org/opencv-4-0-0.html[9] RaspiCam_CV: https://github.com/cedricve/raspicam[10] OpenPose: https://github.com/CMU-Perceptual-Computing-Lab/openpose[11] baguetteBox: https://github.com/feimosi/baguetteBox.js

27/27