CLOSE

カラスからゴミを守るシステム (全1記事)

中学1年生が開発した「カラスからゴミを守るシステム」の成果 Python、TensorFlowLite、Raspberry Piなどを活用

2022年度に未踏ジュニアに採択されたクリエイターが、5月から半年間取り組んできたプロジェクトについて発表を行う「未踏ジュニア 成果報告会」。ここで五島氏と、メンターの尾藤氏が登壇。「カラスからゴミを守るシステム」の開発理由から成果について報告します。

五島氏の自己紹介

尾藤正人(以下、尾藤):メンターの尾藤です。僕がメンターをさせてもらった、五島くんのカラスを追い返すシステムの発表をお願いしたいと思います。五島くん、どうぞ。

五島舜太郎氏(以下、五島):はい。みなさんこんにちは。五島舜太郎です。僕は今回「scairecrow」という、カラスからゴミを守るシステムの開発を行いました。

(会場拍手)

ありがとうございます。scarecrowとは英語でカカシを意味する単語ですが、今回は「AIの機能を内蔵したカカシ」という意味を込めて名付けました。

では自己紹介です。年齢は13歳、中学1年生です。趣味はLEGOや電子工作、『Minecraft』などをすることです。電子工作ではArduinoやmicro:bitなどを使っています。『Minecraft』ではJavaでModの製作をしています。

プロジェクトを進めようと思った経緯

五島:では今回、このプロジェクトを進めようと思った経緯です。僕は、通学途中にカラスによってゴミが荒らされているところをよく見かけます。これを見るたびに僕は「汚いなぁ」と感じます。それをなんとかできないかなと思いました。

カラスを駆除すれば、この問題は簡単に解決できると思います。ですが、カラスも生き物です。「うまく共存できないの?」と考えて、このプロジェクトを進めようと思いました。また、このプロジェクトがうまく進むと、ゴミを収集してくれる業者さんの作業も捗るようになるのではないでしょうか。

ということで、「ゴミ荒らしカラス対策装置」という、小学4年生の時に作ったものを紹介します。この時は、AIを簡単に学習させられる「HUSKYLENS」というカメラを使ってカラスを認識して、スプレーのトリガーを引いて水を噴射して撃退するという装置でした。

ですが、これはまったく効果がありません。課題もたくさんありました。なので今回、実用的な改良版を作るために未踏ジュニアに応募しました。

カラスの習性の調査

五島:まずこのプロジェクトを進めるにあたって、カラスの習性について調べ直してみました。カラスの嫌いなものです。カラスは強い光や大きな音を嫌がります。ですが、街中で大きな音をたくさん鳴らすわけにはいきません。小型化も目指したかったので、レーザーポインターを使うと決めました。

レーザーポインターがカラスに本当に効果があるのかを調べた動画がこちらです。

(動画再生開始)

カラスの後ろ側にレーザーポインターを照射すると、カラスは逃げています。ということで、カラスにレーザーポインターは有効であることがわかりました。ちょっと色が見にくいですが、この時は緑色のレーザーポインターを使用しています。

なぜ緑色なのかというと、赤、緑、青の順番でだんだん波長が短くなっていき、波長が短いほど視覚性が良くなるから、外でも見えやすくなります。(今回は)赤、緑、青の中でも比較的入手のしやすい緑色のレーザーポインターを使用しています。

(動画再生終了)

よく狙われているゴミ捨て場の調査

五島:その次に、荒らされている状態の観察をしました。よく狙われているゴミ捨て場です。戸建より集合住宅のほうが、カラスにゴミを荒らされる確率が高くなっています。また、ゴミステーションのような金網で囲われたところではなく、簡単に潜れたり侵入できるネットのところが荒らされやすいです。

集合住宅では多数の人がゴミを捨てるため、個人の特定が難しいからかわかりませんが、ゴミ捨てが雑な人もいます。ゴミ捨てが雑なところもまた、カラスに荒らされやすくなってしまいます。

今回僕は、直径約2メートルほどのゴミ捨て場に対応させたシステムを作ることにしました。

1号機および2号機のシステム構成図と実験

五島:システム構成図です。カメラで映像を出力します。それをRaspberry Piに送ります。そうしたら、OpenCVというライブラリでトリミング加工をします。トリミング加工をすることで、カラスの認識精度を高めています。

次にTensorFlowLiteというライブラリで物体認識をします。このTensorFlowLiteは学習をTensorFlowで行い、Raspberry Piなどで推論を行えるライブラリです。

これでカラスを検知すると照射指示が出ます。そうしたらレーザーポインターが光って、カラスが逃げていく流れになります。

(スライドを示して)この表ではYOLO v2とMobileNet V1を比較していますが、認識のモデルは今回はMobileNetを使用しました。なぜかというと、速度がYOLOより速い上に精度は同じぐらいだったからです。

それを踏まえて1号機を作りました。(スライドを示して)仕様はこんな感じになっています。1号機の課題です。まずは認識の精度の向上が必要だと考えました。また、光の強力化をして、レーザー光を外でも視認できるようにしなければ効果がありません。

そこを踏まえて2号機を作りました。2号機では大きな仕様の変更があり、認知モデルはMobileNet V3という、MobileNet V1の強化バージョンを使用しています。これによって認識の精度が向上しました。レーザーの出力は1ミリワットから100ミリワットにしました。ライブラリや照射方式は変わっていません。

1号機では市販の箱に簡単に設置してみただけだったので、外観を作り直しました。また、追加機能としてLINEの通知機能を作りました。これはカラスが来たらRaspberry Piからメッセージと画像をパソコンやスマホなどに送信できる機能です。

(スライドを示して)実際に送られてきた画像がこんな感じです。実際にカラスが映ると、メッセージとともに送られてきます。

では2号機を実際に使ってみました。

(動画再生開始)

見てください。カラスが来ました。レーザーポインターが出るまでに少し時間がかかるのですが、これは認識に時間がかかっているからです。レーザーポインターの光が真ん中のほうに出ているのがわかると思いますが、気にせずに油揚げを食べられてしまっています。しかもなんと、つつかれて遊ばれてしまいました。

(会場笑)

まったく効果がなくて本当にしょんぼりしていました。ですが、先ほどの実験では動いていました。ではなんでカラスは逃げなかったのか。「そんなことはあり得ない!」と思って、また後日、同じ実験をしましたが効果はありませんでした。レーザーポインターはカラスに効果がないのでしょうか。少し考えてみることにしました。

(動画再生終了)

先ほど見ていただいた映像のとおり、2号機のレーザーポインターの光は止まっていました。それで効果がありませんでした。人間が照射をする時は手元がぶれてしまうので、光が動きます。(つまり)動く光には効果があるのではないかと考えて、レーザーポインターを動かすことにしました。

(スライドを示して)レーザーポインターを動かすということで、レーザーの照射範囲を決めました。それがこの図です。先ほど説明した直径約2メートルほどのゴミ捨て場を対象にしているので、前方には約120センチメートル、左右には約130センチメートルほどの範囲をカバーできています。その時の動きですが、「己」の字を書くようにジグザグに動いていきます。

3号機の仕様と実験

五島:ということで、それを踏まえて3号機を作りました。3号機の仕様変更としては照射方式が可動式に変わったということで、サーボモーターで2軸の制御をしています。

3号機のデバイスなどについてです。流れ自体は変わっていませんが、サーボドライバーに出力が行くようになり、サーボモーターを2つ動かしています。

これには6ボルトの外部電源を使用しています。また、レーザーも1ミリワットから100ミリワットにしたことで、電池の大きさも変えなければいけなくなり、3.7ボルトのリチウムイオン電池を使用しています。

では3号機を実際に使ってみました。

(動画再生開始)

見てください。カラスが来ました。油揚げをくわえます。レーザーが動いた瞬間に逃げていきました! ここでようやくカラスが逃げることがわかりました。そのまま様子を見ていましたが、諦めて逃げていきました。

(会場拍手)

本当にうれしかったです。

(動画再生終了)

2号機を使用したデモ

五島:ということで、デモをしていきたいと思います。

尾藤:ここにカラスの模型があります。ちょっと見えにくいかもしれないですが。

五島:いいですか?

尾藤:はい。どうぞ。

五島:じゃあ動かします。動いてくれればいいけど。動きそうですね。こんな感じでLINEの通知も来ました。わかりにくいと思いますが、こんな感じで画像も送られてきます。

(会場拍手)

五島:尾藤さん、カメラに入ってもらっていいですか? そのままストップで。人間が入ってくると、安全性の配慮から止まるようになっています。

会場:へー。すごい!

(会場拍手)

五島:カラスを取ってもらって大丈夫です。あと1分ほど待っていただくと、2分後の写真も送られてくるようになります。ということで、ちょっとお待ちください。ちなみに、このカラスは手作りです。

会場:おぉー!

五島:親に形を作ってもらって、発泡スチロールと紙ねんどで作ってあります。

尾藤:この模型は2号機なんだよね?

五島:はい。

尾藤:初号機もある。

五島:(会場を示して)初号機はそこにあります。ということで、そろそろ通知が来てほしいんですが、来てくれなくて困っています。ちょっとお待ちください。もうちょっとで来ると思います。

尾藤:これは人が入った時の写真かな?

五島:人が入った時の写真ではなく……。あ、今来ました。カラスがいてもいなくても通知を送信するようになっています。ということで、また戻ります。

半年間を振り返って苦労したところと自身成果

五島:この半年間を振り返って苦労したところです。まずは先ほど見せた実証実験にとても苦労しました。あるマンションのゴミ捨て場を借りていたのですが、数日で僕たちの顔を覚えられて、結局そこにカラスが来なくなってしまって。

(会場笑)

実験が難航して進みませんでした。それの対処法として、しょうがないので庭で実験することにしました。ですが、毎日カラスが来てくれるわけではなかったので、実験がスムーズに進まなくて悲しんでいました。

ソフトウェアとしては初めてPythonを使いました。また、AIの知識も深掘りができていなかったので、そこの学習も大変でした。

ハードウェアとしては、Raspberry Piの環境設定からレーザーの出力を100ミリワット以上にするのかとか、そういうことに一つひとつ苦労しました。それを一つひとつ解決していくのにとても時間がかかっていました。また、オシロスコープなどを使った電気的接続の確認も初めてやったのですが、とても難しかったです。まぁ、最終的には楽しくできるようになりました。

そんなところで、未踏ジュニアの自身の成果です。まずはなんといっても、技術的な成長をすることができました。主にPythonを使えるようになったり、AIの仕組みについて少し深堀りができました。また、2022年度や2021年度の人などの動画を見たりしながら他のクリエイターと出会うことによって、自分の知識や世界が広がった半年間だったと思います。また、数々の問題を解決していくうち、カラスとの知恵比べを繰り広げているうちに、忍耐力がついたと思います。

(会場笑)

以上が、簡単ですが僕の成果報告になります。

最後に実験場所を提供してくださった中村建設さま、最後まで寄り添ってくれた尾藤さん、OBの矢野さん。また未踏ジュニアの関係者のみなさん、本当にありがとうございました。ご清聴ありがとうございました。

(会場拍手)

尾藤:舜太郎くん、発表ありがとうございました。

質疑応答 カラスが来る時間帯について

尾藤:それではさっそく会場からの質問を募集したいんですが、質問のある方はいますでしょうか。(質問者を指して)お願いします。

参加者1:発表をすごく楽しませてもらいました。ちょっと本題とズレる微妙な話ですみません。「カラスが来てくれない日もある」みたいな話があったと思います。来てくれる時って、カラスは時間的にどれぐらいに来てくれるんですか?

五島:時間的にですか?

参加者1:そうです。

五島:時間的にはかなり早朝で、自分は主に9月、10月ぐらいの朝6時ぐらいに起きて。(でも)その状態でもう荒らされてしまっているということもありました。なので、6時から7時あたりがピークになります。

参加者1:油揚げを置いてからだとどれぐらいですか?メチャクチャ聞いちゃってすみません。

五島:家の庭では油揚げがなくなったら定期的に補充する。ずっと置いてあるので。あまり(決まった)時間というのはありません。

参加者1:ありがとうございます(笑)。

五島:でも主に来るのは5時ぐらいの夕方になります。

尾藤:ありがとうございます。

質疑応答 箱の形状の理由について

尾藤:(質問者を指して)じゃあお願いします。

参加者2:箱は下のほうを(レーザーで)照らすかたちになっていると思いますが、それは実験する家の場所を考慮してそのかたちになっているのか、それともそのままゴミの集積場に持って行っても使える形式を想定してのかたちなんですか?

五島:一応、名古屋あたりのゴミ捨て場を想定しているんですが、下を向くほうだったらピントを合わせればどこでも使えます。

参加者2:それはゴミ捨て場にちょうど置けるような場所というか、高い場所があるだろうという感じですか?

五島:はい。だいたい70センチメートルぐらいの高さの壁があって、そこに置けるようになっています。

参加者2:へー。なるほど。ありがとうございます。

質疑応答 サーボ制御の具体的な実装方法と防水対策について

尾藤:(質問者を指して)じゃあ、こちら(の方)。

参加者3:おもしろい発表をありがとうございました。2つ質問があります。1つ目に、サーボの制御は具体的にどう実装されたんでしょうか。MATLABとかを使ったのか、ドライバーでCのAPIを使ったのか。どういう感じなんでしょうか?

五島:これはサーボドライバーと専用のライブラリを引っ張ってきて、角度を指定できるようにした感じです。

参加者3:角度を引数に入れたりすると、それに合わせて動いてくれるみたいな。

五島:はい。そんな感じです。

参加者3:ありがとうございます。2つ目にちょっと気になったのが、防水対策とかってあるんですか?

五島:防水は最初のほうは考えていました。今もまぁまぁ考えてはいるんですが、これは全部自作の箱なんですね。こういうのを曲げた時にちょっと隙間が空いてしまったりとかはあるので、そのあたりで防水対策は最後まではしっかりはできていないです。でも、今後やっていきたいこととしては大いにあります。

参加者3:ありがとうございました。

質疑応答 レーザーを照射を止めるための検知方法について

尾藤:(質問者を指して)じゃあ前の方。

参加者4:先ほど質問してしまったものなんですが、自動的にレーザーを照射するのを止めるというところで、それはどうやって検知しているんですか?

五島:これは人も認識するようになっているので、人が入って、かつカラスも入っている場合は止まるようになっています。

参加者4:人を検出するのはAIで行っている感じですか?

五島:そうです。

参加者4:なるほど。ありがとうございます。

質疑応答 機械のコストについて

尾藤:時間的にもこんな感じですかね。(いや)じゅうぶんある。じゃあ、もう1つぐらい質問があったら。

参加者5:すばらしい発明です。ありがとうございました。ぜひとも我が家のゴミ集積場にも導入したいと思っていますが、もし今このユニット、機械を1つ作るとなった場合のコスト、値段はどれくらいになるんでしょうか。

五島:だいたい1機が10万円ぐらいになっています。

参加者5:おぉー。

五島:少し前に記事になっていた(別の)ものがあって。他にも別の機械があるんですが、それは音を発するようなもので。「1つ150万円ぐらいするものを自治体に売る」みたいなものがありました。それよりは(こちらのほうが)たぶん家庭に寄り添えるのではというところはあるんですが。

ですが、町の中に置いておくと(なると)、小さい子が通った時にレーザーをどう見てしまうかなどの対策はまだできていないので、安全面はまだまだ改良が必要だと思います。

参加者5:はい。その安全面の改良が済んだら、私も購入を検討したいと思います。どうもありがとうございました。

五島:ぜひお願いします!

(会場拍手)

尾藤:ありがとうございます。ではちょうどいい時間になったので、以上にしたいと思います。舜太郎くん、ありがとうございました。

続きを読むには会員登録
(無料)が必要です。

会員登録していただくと、すべての記事が制限なく閲覧でき、
著者フォローや記事の保存機能など、便利な機能がご利用いただけます。

無料会員登録

会員の方はこちら

この記事のスピーカー

同じログの記事

コミュニティ情報

Brand Topics

Brand Topics

  • 1年足らずでエンジニアの生産性が10%改善した、AIツールの全社導入 27年間右肩上がりのサイバーエージェントが成長し続ける秘訣

人気の記事

新着イベント

ログミーBusinessに
記事掲載しませんか?

イベント・インタビュー・対談 etc.

“編集しない編集”で、
スピーカーの「意図をそのまま」お届け!