IBM Developer Japan Webサイトは2021年3月15日をもって終了となり、日本語コンテンツの一部は、オープンソースとして、提供予定です。 URLはこちら

IBM Developer Blog

IBM Developer サイトで最新の出来事をフォローし、情報を入手しましょう。

2018年のプエルトリコ・ハッカソン優勝者 Pedro Cruz は、彼のプロジェクト DroneAid がオープンソースになったことを発表しました。


2017年9月20日にハリケーン・マリアが私の母国、プエルトリコを襲いました。カテゴリー 5 の記録的な大型ハリケーンを生き延びた後、個人的な影響を受けた私は、ハリケーンがこの島に与える影響を軽減するためのテクノロジーを開発することを自分のミッションにすると決めました。

発想のきっかけとなった Call for Code

300 万人を超える人々を救うための救援活動計画を想像できますか?プエルトリコで最も大きい影響を受けたのは農村部に住む人々でした。ウマカオのコミュニティーもその 1 つです。このコミュニティーの住民たちは約束された救援隊がいつまで経ってもやって来ないことに苛立ちを感じていました。そこでコミュニティーは団結し、ヘリコプターや飛行機が上空からメッセージを見つけることを期待して、地面に「水」、「食糧」という SOS メッセージを描きました。私にとって悲しく、もどかしかったのは、こうした都市圏と農村部との間の現実の格差です。農村部では人命が危険にさらされていたのです。

ハリケーンの襲来から 1 年足らずの 2018 年 8 月、私はプエルトリコのバヤモン Call for Code Puerto Rico ハッカソンに参加しました。コミュニティーが自然災害に対応し、災害後の復旧に備えられるようサポートする持続可能なソリューションの作成を開発者たちに呼び掛ける、この世界規模のチャレンジに興味をそそられたのです。

ハリケーンが去った後、あの SOS メッセージからアイデアを得て、DroneAid を開発しました。視覚認識を使用して一連のドローンで上空から地面の SOS アイコンを検出してカウントした後、緊急救援隊員用の地図に、動画からキャプチャーした緊急のニーズを描画するツールです。上空から迅速に被害を評価するには、ドローンが完璧なソリューションになると考えました。ドローンを利用してキャプチャーした画像は、AI コンピューター・ビジョン・システムで処理することもできます。当初は OCR (光学式文字認識) テクノロジーを使用して文字を認識しようと考えていましたが、この手法で問題になるのは、人によって手書きの文字は異なることです。また、他の言語で機能させる場合、非常に複雑になります。

コーディングに数時間を費やした後、私は方向転換し、標準的なアイコンのセットを処理するように視覚認識を単純化することに決めました。アイコンは、スプレー式塗料で描くことやチョークで書くこと、さらにはマットの上に並べることもできます。ドローンでこれらのアイコンを検出し、コミュニティーの特定の被災者の食糧、水、医薬品に対するニーズを緊急救助隊に伝えることができます。最初のイテレーションでコーディングした DroneAid は、プエルトリコ・ハッカソンで優勝しました。これをきっかけに意欲に駆り立てられた私は、正規の開発者アドボケイトとして IBM に入社することになったのです。

DroneAid はハッカソン用に開発したコードという枠を大幅に超えています。本日、大きな期待を込めて、DroneAid がオープンソース・プロジェクトに進化したことを発表します。IBM が Code and Response プログラムを通じてこのソリューションの適用に取り組んでくれることに大変興奮しています。世界最大の課題に取り組むためにオープンソース・テクノロジーに支えられえたソリューションを作成、開発することを唯一の目的とするこのプログラムに、IBM は 2500 万ドルを投じています。

Code and Response を通じた DroneAid のオープンソース化

DroneAid では、国連が標準化してリリースしているアイコンのサブセットを使用しています。これらのシンボルは事前に災害対策キットで提供することも、手元にある材料を使って手作業で再作成することもできます。ドローンは地域を調べて、個人、家族、またはコミュニティーがさまざまなニーズを知らせるために地面に描いたこれらのアイコンを検出します。DroneAid がアイコンの画像を検出してカウントすると、Web ダッシュボード内の地図上にその状況が描画されます。この情報を基に、地方自治体や支援を提供できる組織による対応の優先順位を付けます。

技術的な観点からすると、この処理は資格認識 AI モデルを標準化されたアイコンに対しトレーニングして、さまざまな状況 (歪んでいたり、消えかかっていたり、あるいは光りがわずかしかない状況) でアイコンを検出する方法を学習させることを意味します。IBM の Cloud Annotations ツール を使用すると、IBM Cloud Object Storage を利用して AI を簡単にトレーニングできます。トレーニング後のモデルは、地域を調査するドローンから送られてくるリアルタイムの画像ストリームに適用されます。この動画の各フレームが分析されて、該当する画像の有無が調べられます。画像の場所がキャプチャーされると、画像がカウントされます。この情報が地図上に描画されて、支援を必要とする被災者の場所と数が示されます。

このシステムをローカルで実行するには、まずは単純なサンプル Tello ドローンを使用して、ソース・コード・リポジトリー内にある手順に従ってください。動画ストリームをキャプチャーできるドローンであれば、どのドローンでも使用できます。それは、この機械学習モデルはブラウザー内で Tensorflow.js を使用するためです。この方法により、任意のドローンからストリームをキャプチャーして、そのストリームに推測を適用できます。 このアーキテクチャーは、さらに多くのドローン、異なる視覚認識タイプ、追加のアラート・システムに適用できます。

DroneAid のアーキテクチャー図

すべての開発者に対する DroneAid オープンソース・コミュニティーへの参加とコラボレーションの呼び掛け

これまでかなり長い道のりをかけて開発してきましたが、今やっと始まりが見えてきたように感じます。一致団結して自然災害による死者を減らし、被災者に必要なものをタイムリーに届け、自然災害がコミュニティーに与えるあらゆる影響を軽減できるよう協力しましょう。

私たちのチームが DroneAid のオープンソース化を決定した理由は、このテクノロジーをできるだけ多くの人々が利用できるようにすることが重要だと感じたからです。標準化されたアイコンのアプローチは世界中のさまざまな自然災害のシナリオ (ハリケーン、津波、地震、山火事など) に適用できます。また、開発者たちが継続的にソフトウェアのトレーニングに貢献できるようにすることで、効率性が高まり、シンボルの用途を拡大できます。私たちが築いた基盤は、開発者たちが新しいアプリケーションを作成し、自然災害の発生時にこのテクノロジーを使用して一連のドローンをデプロイし、制御する構想を描けるようにするためのものです。

DroneAid を適用する方法を理解したら、次のリンク先でこのオープンソース・コミュニティーに参加し、貢献してください。 https://github.com/code-and-response/droneaid