弊社にて活動を開始した『農業 × IoT』新プロジェクト。
まだまだ案件立ち上げにも満たない状況であり、この先どうなるかも分かりません。
しかし、いざ実現性・実効性が見えてきた時に、多くの方のご協力が必要になることは間違いありません。
また、活動していく中で、様々な(技術的な要素を含む)知見が蓄積されることでしょう。
そこで「プロジェクトレポート」として、定期的に情報発信することに決めました。
当内容が、何かのお役に立ちますと幸いです。
また、少しでもご興味がございましたら、お声がけいただけますととても嬉しいです。
Zoom等も可能です!
(本件に関するご質問・ご相談なども可能です)
おことわり
当記事は、現時点で公開できる情報のみの掲載となります。
機密情報等もございますので、行間がなくてやや「?」かもしれませんが、その点はご了承ください。
また、当記事のご利用によって不都合・不具合などが発生した場合においても、弊社においては何の責も負いません。
登場人物
農家さん
本件の課題発生元であり、学生時代からの親友。
元システムエンジニア。
Java等のプログラミングに始まり、システムプロジェクトマネジメント、システム(サービス)企画など経験。
数年前に、農家になることを目的に地方に移住。その後、農家に転身。
農業 × ITを駆使した、まさに現場で生きている人間。
(弊社)グロリア 石黒
当サイトのオーナーであり、株式会社グロリア 代表取締役。
※弊社、ならびに石黒については以下もご参照ください。
企画、アーキテクチャ設計、プログラミング、マネジメントなど、全てをフットワーク軽く活動できるのがウリ。
本件のような「企画」×「課題化」×「システム実装」×「マネジメント」が必要となる活動においては、無双っぷりを発揮する。
全体概況
現在『準備#1』(2022.05)
解決したい課題
農業は自然との戦いです。
様々な事象により、農作物被害が発生します。
もちろん様々な対策は行っていくわけですが、
- そもそも対策が難しい
- 費用対効果が合わず、効果的な対策が打てない
- 導入や運用が難しくて(コスト面以外の理由でも)導入できない
などにより、現実的に手が打てないケースが多く存在します。
※日本中で同じ悩みを抱えているような問題もあります
そんな自然による農作物被害の1つのケースに対して、
- 現実的に導入できる対策を作り、被害を防ぎたい
ということが大きな目標です。
検討メンバーがそもそもシステムエンジニアでしたので、
もちろんシステム(IoT)などを主眼においた対策を検討していきます。
まず検討している対策として、「周囲の状況を取得する」必要があります。
例えば「カメラで監視する」というのも1つの入口ですね。
※具体的な内容についてはまだ述べられませんので、ご容赦ください。
準備#1
対策の構想はありつつも、実現性が不明で、検証するためのデータも(ほぼ)ない、というのが実状。
まずは「現地(農地)において、実際にどのような情報(主に画像)が取得できるのか」という点を確認する必要があります。
ということで、まずは現地での情報収集を行うことに。
「準備#1」として、現地での情報収集の機材等を準備します。
(準備#1の)目的
現地での情報収集(おもに写真)のための機材等を準備します。
できる範囲で準備するしかありませんが、主な要件を下記と定めました。
- 連続で写真が撮れること
- (+α)動体検知した上で写真が撮れること
- 様々な(レンズの)画角で撮影が試せること
- 少なくとも15時間は連続稼働できること(1日1回、機材入替は可能)
- 防水、防塵であること
- 検証用機材は安価であること
- 代替機がすぐに準備できること
- (今回は)通信できる環境ではないため、通信に頼らないこと
- (+α)画像識別をエッジ側で行い、その識別力の実験ができること
構築物1:Androidスマホで連続撮影(アプリ構築)
そのまま使えるアプリがあるかな?と思いきや、意外とズバリなものが見つかりませんでした。
近しいアプリもあれど、不安定だったり、保存の仕方などに難があったりと・・・
※見つからなかっただけかもしれませんが・・・
今後を考えると、スマホは防水・防塵、通信機能付き、様々な処理が実装可能、と、有力なガジェットでもあります。
ということで、テスト用のAndroidアプリを構築しちゃいました。
超どシンプルです。
「指定した間隔で、写真を撮り続けるのみ」のアプリです。
オートフォーカスは効きますので、周りの状況が変われば自動でフォーカスを合わせてくれます。
給電は必要となりますが、24時間連続稼働できることは確認しています。
Androidが提供している「Camera2 API」を使って構築するか、、、でも、実装するのは結構面倒そうだな、、、と思っていたのですが、
その「Camera2 API」をラッピングしたような「CameraX」というライブラリがGoogleから提供されていました。
さらに、そのチュートリアルが秀逸。
※ここまで簡単に再現できるチュートリアルは珍しいです
https://developer.android.com/codelabs/camerax-getting-started
こちらのチュートリアルに沿ってカメラアプリを構築。
そこからUIや写真保存ロジックを作り込みました。
コルーチン(非同期処理)なども使いつつ、シンプルではありますが、ストレスのない操作ができるように心がけました。
構築物2:Android スマホ内で画像識別(アプリ構築)
最終的には、TensorFlow等で機械学習をさせ、モデルを作る必要があるかもしれません。
そうした学習済みモデルをエッジ(スマホ)側(TensorFlow Lite)で稼働させることができますが、このご時世、それよりももう一段楽に画像識別ができないか?と思いますよね。
そうです、あります。
これまたGoogleが提供している「MLKit」を活用します。
「MLKit」は、簡単に画像識別ができるエンジンで、Googleが提供している学習済みモデルをエッジに保存、エッジのみで画像識別させることができます。
(Google Cloud側で処理させることも可能、ただし従量課金です。)
Use on-device machine learning in your apps to easily solve …
「MLKit」自体は「バーコードの読み取り」など色々な部品がありますが、今回目を付けたのは「Image Labeling」です。
対象となるイメージ映像(写真等)に、何が映っているのかをラベリングしてくれます。
現時点、下記の446種類のラベリングが可能なようです。
先ほどの「CameraX」アプリを土台に、MLKitを組み込んで構築。
カメラ画像(ストリーミング)の情報を使い、画像識別できるようにしました。
上記の画像だと「Mobile phone 0.6435943」といった1行が、識別した結果情報です。
※なお、上記のショット時点の内容を識別した情報ではなく、その手前に映していた時に識別した情報です
「0.6435943」というのは、「64%の精度でスマホかな」といった意味合いになります。
1枚のイメージに対して複数のオブジェクトを識別することもあります。(まあ、当たり前ではありますが)
そして、識別した名称(Mobile phone等)をファイル名に付与し、写真として端末に保存できるように実装しました。
こうすることで、
稼働させておくだけで画像識別をし続ける
-> 識別したデータを写真として端末に保存
-> 後で見た時に(写真ファイル名から)何と識別したか分かる
と、放置プレイ可能な形に仕立てました。
構築物3:ラズパイで連続撮影
IoTと言えば、ラズパイでしょうか。(?)
安価ですし、カメラも使えますし、Linuxベースですので使えるフリーソフトが多いです。
カメラ以外の様々なセンサーが導入できる点も魅力です。
WiFiやBluetoothも備わってますし。
レンズの画角が色々ある点も、今回の検証に向いています。
ただし、防水・防塵対策必要。
壊れてもよい前提で、3Dプリンターでケースを作っちゃうか、、、と考えています。
で、ラズパイを使ったことがある人からすると、連続撮影させること自体は簡単です。
極論、カメラ撮影のコマンドをシェル等でループさせるだけですね。。
Androidアプリに比べると、ソフト的には速攻作れますので、取り急ぎ作りました。
ただし、昨今の半導体不足で、ラズパイ本体が手に入りにくいという状況です・・・
ラズパイ自体はいくつか手元にあるので、そちらを活用する予定です。
構築物4:ラズパイで動体検知
お試しするレベルのものを構築するのであれば、実はかなり簡単です。
「motion」というフリーのソフトがあり、インストールして設定するだけでいわゆる「監視カメラ」が作れます。
動体検知を行い、検知した時に写真として残しておく、といったことが簡単にできます。
ネット上に色々と情報もありますので、ご参考ください。(例)
前回から間があいてしまいましたが、今回はRaspberry Piを使って動体検知で動画を記録する監視カメラを作ります。 …
まだまだ・・・
実際に現地に設置するには、物理的にどう固定するか、バッテリーをどうするか、などの検討も必要です。
日々の運用を楽にするような工夫も必要になってきます。
準備することはまだまだありますが、とは言え、一番コアとなる部分はある程度クリアできたかなと考えています。
なお、現地設置は6月下旬をターゲットとしています。
購入物
せっかくなので、利用機材を少々ご紹介。
防水・防塵スマホ
防水・防塵、大容量バッテリー、安価、SDカード装着可能、という目線で探してみました。
そこで目についたのが「OUKITEL WP5 Pro」というスマホです。
上記要件を全て満たし、8000mAhという大容量バッテリー。
2021年発売のモデルにも関わらず、2万円未満という価格帯。
Androidアプリの開発機も兼ねて、購入しました。
ラズパイ カメラレンズ
とりあえず広角レンズが欲しかったので、160度を選択。
2000円ちょっとですが、本体であるラズパイZero WHとほぼ同価格帯という、微妙な感じも・・・笑
同志募集中^^
まだまだ企画立ち上げの段階ではありますが、この先、多くの方のご協力が必要になることは間違いありません。
少しでもご興味があります方は、ぜひ、お声がけいただけますと嬉しいです!
雑談、情報交換会、入れ知恵(笑)など、楽しくコミュニケーションできますと嬉しいです。
(Zoom等も可能です)
また、上述でご紹介したアプリ等に関するご質問・ご相談も可能です。
(カスタマイズ等も含めて)ご提供することも可能です。
まだまだ出だしでしかありませんが、日本の農業の課題を解決すべく、弊社の力も注いでいきたいと思います!
次のレポート
活動中の『農業×IoT』新プロジェクト。 そのうち、ラズパイを使ったデータ収集機を準備しておりますので、そちらをご紹介いたします。 ※プロジェクトレポート Vol.1 でご紹介した「構築物4:ラズパイで動体検知」です。 [[…]
プロジェクトレポート INDEX
弊社にて活動を開始した『農業 × IoT』新プロジェクト。 まだまだ案件立ち上げにも満たない状況であり、この先どうなるかも分かりません。 しかし、いざ実現性・実効性が見えてきた時に、多くの方のご協力が必要になることは間違いありません[…]
活動中の『農業×IoT』新プロジェクト。 そのうち、ラズパイを使ったデータ収集機を準備しておりますので、そちらをご紹介いたします。 ※プロジェクトレポート Vol.1 でご紹介した「構築物4:ラズパイで動体検知」です。 [[…]
活動中の『農業×IoT』新プロジェクト。 できる限りの機材準備を行い、現地にて設置を行ってきました。 今回は、そうした様子をご紹介いたします。 ※過去レポートは以下を参照ください。 [sitecard subtitle=[…]
絶賛配信中!
メルマガ詳細はこちら >>>
広告を含むご案内のメールをお送りする場合があります。
以下も、ぜひご活用ください^^