アクセル×『Interface』編集部特別企画 現場で役立つ! AI装置やアプリ製作 第一回 個人でエッジAI開発の環境が整った!

本連載は、コンピューター・サイエンス&テクノロジ専門誌『Interface』編集部と、株式会社アクセルの共同企画です。記事を担当するのは、現役のきゅうり農家を営みながらプログラミングや開発を行う、小池 誠さん。連載では製作やアプリ開発を通してエッジAIの技術解説を行います。
AIの推論モデル実行には、アクセルのエッジAI用推論エンジン「アイリアSDK(ailia SDK)」を使います。
2025年6月には著者による「農業×エッジAIセミナ」を開催する予定です。
※本企画は『Interface』2025年5月号に掲載された記事を再編集したものです。

 近年、AI分野で特に注目を集めているのは、ChatGPTやGeminiに代表される大規模言語モデルです。新しいモデルが発表されるたびに、大きな話題となりニュースでも取り上げられています。コーディング支援など、実際の業務で活用している読者も多いのではないでしょうか。

 一方で、2016〜2020年ごろに活発に研究されていた一般物体画像データセット(ImageNetやCOCOなど)を対象とした画像分類や物体検出は、人間の認識能力と同等の精度を達成したことにより、研究対象としての関心から応用や実用化への関心に移行しています。方法論が確立し利用しやすくなったことで、製造業における不良品検出や、医療分野での病変部位の特定など、さまざまな分野での実用化が進んでいます。

 そこで連載では、手軽に利用できるようになった物体検出や画像異常検知の技術を活用し、農業現場で役に立つアプリケーションの製作方法について紹介します。ディープ・ラーニングの利点は、学習データさえ集めれば、高度な専門知識や高価なソフトウェアがなくても、実用レベルの画像認識が可能になる点です。大企業が対応しない個人レベルのニッチな課題は、DIY精神で解決していきましょう。

連載でつくるもの

●その1…害虫モニタリング装置

 農業における害虫対策は、高品質な作物を安定的に栽培するために欠かせない重要な仕事です。害虫が大量発生し、作物に被害を及ぼす前に、早期に兆候を発見し、適切な対策を講じることが重要です。そこで、害虫の発生を24時間体制で監視し、早期検知を可能にするモニタリング装置を製作しました(写真1、図1)。この装置では、ディープ・ラーニングに基づく画像異常検知手法であるPatchCoreを用いて、粘着シートで捕獲した害虫を定量化し、害虫発生量を可視化します。

(図1)害虫モニタリング装置の構成

(写真1)今回開発した害虫モニタリング装置…PCで学習モデルを作りラズベリー・パイで推論する

(b)シートに付いた虫の数を数える
(c)ラズパイとカメラで推論する

(d)シートに付いた虫の数をカウントする学習モデルを作る

(d-1)正常画像
(d-2)異常画像

●その2…出荷数カウント・アプリ

 農家の重要な仕事の1つに、出荷作業があります。収穫した作物は等級ごとに箱詰めして,卸売市場へ出荷します。出荷した段ボール箱の数は、等級ごとに集計して卸売市場へ報告する必要があります。もちろん、正確な個数の報告が求められますが、人間が目視で行う作業なので、まれにケアレスミスが発生しクレームにつながることがあります。そこで、出荷した段ボールの積み荷をスマートフォンで撮影するだけで、自動的に等級ごとに集計し、出荷数を確認できるアプリを製作しました(写真2)。このアプリは、物体検出技術であるYOLOXを活用し、箱の等級分類とカウントを同時に行います。

(写真2)開発した出荷数カウント・アプリ…連載第5回、第6回で紹介予定

●その3…今後の展開次第で

 読者からの反響が多ければ、農業に役立つアプリをさらに開発します。ぜひ、雑誌『Interface』の読者アンケートで感想をお聞かせください。

エッジAIアプリ開発3種の神器

■1…画像認識のライブラリ

 2012 〜 2020年ごろ盛んに研究されていた画像認識や物体検出の手法は、ResNetやYOLOなどのモデル・アーキテクチャの確立により、広く普及し安定した(枯れた)技術となりました。現在では、これらモデル・アーキテクチャの実装コードはPythonライブラリとして提供されるようになっており、少ないコード量で簡単にモデルの学習を試せるようになっています。表1に代表的なライブラリとライブラリで利用できるモデルを示します。これらライブラリはpipコマンドで簡単にインストールでき、豊富なドキュメントも整備されています。これにより、自分で収集した画像データを活用して、画像認識や物体検出のモデルを容易に作成できるようになりました。

名称用途主な対応モデル
torchvision画像分類,物体検出,セグメンテーションVGG, ResNet, DenseNet, MobileNet,Faster R-CNN, Mask R-CNN,FCN, DeepLabV3
ultralytics物体検出,キーポイント検出YOLO11, YOLO11-pose
timm画像分類ViT, Swin Transformer
Detectron2物体検出,セグメンテーションRetinaNet, Faster R-CNN, Mask R-CNN
MMDetection物体検出EfficientDet, DETR, YOLOX,
Anomalib異常検知PaDiM, PatchCore
(表1)AI画像認識のPythonライブラリ

■2…ONNX モデル対応の推論エンジン

●簡単になったデバイスへの組み込み

 2016年ごろ、TensorFlowやPyTorchなどの深層学習フレームワークが登場し広く使われるようになりましたが、当時は各フレームワーク間でモデルのフォーマットが異なっていたため、以下のような問題が発生していました。

▶1、モデル移植の問題
 モデルの構築は扱いやすいPyTorchを使用したものの、当時のPyTorchはエッジ・デバイス向けのサポートが弱かったため,実用化の段階でTensorFlow(TFLite)による再実装が必要になるケースがありました。

▶2、ハードウェア最適化の問題
 インテルやエヌビディアなどのハードウェア・ベンダは、それぞれのハードウェアに最適化したランタイムを提供していましたが、各フレームワーク向けに個別の対応が求められていました。

●モデルを共有するための共通フォーマットONNX

 これらの問題を解決するため、2017年にマイクロソフトとメタが共同で、異なるフレームワーク間でモデルを共有するための共通フォーマットONNX(オニキス)を開発しました。

 ONNXはオープンソースとして公開され,2018年にはONNXモデルの推論を高速に行うためのONNX Runtimeもオープンソースで公開されましたONNX Runtimeは、推論実行のバックエンドとして、

  • CUDA(エヌビディア)
  • TensorRT
  • OpenVINO(インテル)
  • XNNPACK(グーグル)
  • CoreML(アップル)

など多数のバックエンドに対応しており、さまざまなデバイスで最適化された推論を実行可能です。表2にONNXモデルを使った推論を可能にする推論エンジン&開発環境を示します。

名称概要対応環境
ONNX Runtimeマイクロソフトが開発したオープンソースの推論エンジン.さまざまなデバイスやハードウェア・アクセラレータに対応しており,デファクト・スタンダードな位置付けのランタイムPython,C,C#,C++,JavaScript/TypeScrip,Objective-C,Java/Kotlin
ailia SDK(株)アクセルが開発したクロス・プラットフォームな高速推論エンジン&SDK.Vulkan/Metalに対応し幅広いデバイスでの高速実行と,UnityやFlatterなどに簡単に統合できるSDKとして提供されている点も特徴.個人は無償利用できるPython,C++,JNI,Unity, Flutter
Unity BarracudaUnityの公式パッケージとして提供しているONNXの推論エンジン.Unity上でONNXの推論を実行でき,VR/ARアプリ開発での利用が可能Unity
ONNX.jsマイクロソフトが開発したブラウザ上で実行可能な推論エンジン.現在は開発終了しているJavaScript
(表2)エッジAI対応の推論モデルを実行できる,作れる「推論エンジン&開発環境」…連載ではailia SDKを利用する

■3…教師データセットを作るためのアノテーション・ツール

 深層学習モデルを学習するには、大量の高品質なデータと正確なラベル付け作業が必要です。このデータ収集やアノテーションの工程は、現在においても時間と労力をかけて行う必要のある重要なプロセスであることは本質的に変わっていません。むしろ、機械学習やAIの分野で著名な研究者Andrew Ng氏が提唱したように、「AIの性能向上には,モデル・アーキテクチャの改良(Model-Centric)ではなく、データの品質を高めるアプローチ(Data-Centric)が重要である」という考え方が広まり、データの収集と活用の重要性は以前にも増して高まっています。

 一方で,データ管理やアノテーション作業を支援するツールなどが充実したことにより、以前と比べてアノテーション作業の効率は格段に向上しました。表3に、無料で利用できるアノテーション・ツールを示します。 なお、表3以外にも、アノテーションに特化したウェブ・サービスなども多数登場しており、学習済みモデルを活用した自動アノテーション機能や作業工程管理機能など、生産性を向上させるさまざまな機能が提供されています。

ツール名概要
CVAT複数人による同時作業やOpenCVを用いた自動アノテーション機能などに対応した.BBox,セグメンテーション,キーポイントのアノテーションに対応しており,サポートする出力形式も多い
Label StudioHumanSignalが提供する.文章,音声,画像,映像,時系列データなどさまざまなデータ・タイプに対応する
VoTTマイクロソフトが提供する.学習済みモデルを使ったアノテーション支援機能に対応.Pascal VOC形式やCNTK形式などの出力に対応する
LabelImgシンプル.現在はLabel Studioコミュニティに統合され,こちらの更新は終了している.Pascal VOC形式とYOLO形式の出力に対応する
COCO AnnotatorWebベース.COCO形式の出力に対応する
(表3)オープンソースのアノテーション・ツール

 連載では今後、上記のツールを利用しつつ、効率的に農業向けAIアプリを開発していきます。

小池 誠 氏

キュウリ農家、博士(情報学。大学卒業後、自動車部品メーカーにてソフトウェア・エンジニアとして勤務・退職後、2015年から農業に従事。現在は農業を行う傍ら、大学においてスマート農業に関する研究に取り組んでいる。

コンピューター・サイエンス&テクノロジ専門誌『Interface』

CQ出版社が発行するコンピュータ技術専門の月刊誌です。1974年の創刊以来、組み込みシステム、ソフトウェア、AI、IoTなど、時代とともに進化するコンピュータ技術を幅広く紹介しています。理論だけでなく、実践的なプログラミングや実機製作の記事も豊富で、エンジニアから学生まで、コンピュータ技術を深く学びたい読者に支持されています。
https://interface.cqpub.co.jp/

SHARE THIS ARTICLE