太陽光発電所の草刈りが大変な時期が近づいてきました。
Nobestでは、太陽光発電所の維持管理を楽にすべく、草刈り自動化ソリューションを作っています。
発電所の草刈りを自動化するためには、まず画像の中から雑草を見つける必要があります。
ただ、実際にこの「雑草を見つける」という言葉は、思った以上に幅の広い課題だと分かりました。
単に緑色の部分を検出するだけであれば、画像処理としてはそれほど複雑に見えないかもしれません。
しかし、現場で使える情報にするためには、
「どこに植物が写っているか」
だけではなく、
「その領域は、草刈り判断に関係する候補なのか」
まで考える必要があります。
今回の開発では、まずこの入口部分である 雑草候補の抽出 に取り組みました。
「雑草」は画像上のクラス名ではなく、現場上の意味である
最初に難しいと感じたのは、「雑草」という言葉そのものです。
人間は現場の文脈を見て、自然に「ここは雑草が伸びている」と判断します。
しかし画像解析では、画像の中に写っている色や形、境界、周辺構造から候補領域を取り出す必要があります。
太陽光発電所の画像には、草だけでなく、太陽光パネル、支柱、通路、影、地面の色むらなどが同時に写ります。
現場画像では、草・土・影・支柱・パネルが複雑に重なって見える
同じ緑色に見える領域でも、実際には作業対象になる場合もあれば、監視だけでよい場合もあります。
また、パネルの近くやロボットが入ってはいけない領域の周辺では、単純に「草があるから刈る」とは判断できません。
つまり、ここで扱うべきものは、単なる “weed” という物体検出ではなく、後段の作業判断につながる vegetation candidate です。
この違いを意識することが、今回の開発の最初のポイントでした。
ピクセル単位で細かく見つけ、あとで現場単位にまとめる
今回の方針では、最初から「この場所を刈る / 刈らない」と決めるのではなく、まず画像上の植生らしい領域をできるだけ細かく抽出します。
細かく抽出した結果は、そのままでは現場の人にとって扱いやすい情報ではありません。
そこで、ピクセル単位の mask をもとに、まとまりのある領域へ集約し、面積・広がり方・分散の仕方・周辺構造との関係を見ます。
この段階で重要なのは、AI の出力をそのまま最終判断にしないことです。
画像解析の結果は、あくまで第一段階の候補です。
そこから、
· 広く連続している領域なのか
· 小さく分散している領域なのか
· パネルや通路に近いのか
· 監視でよいのか
· 作業候補として扱うべきなのか
といった情報に変換していきます。
この中間表現を作ることで、技術的な segmentation 結果を、現場や営業側にも説明しやすい形に近づけることができます。
植生らしい領域を抽出し、現場で扱いやすい候補へまとめる
現場画像では、きれいな正解だけを期待できない
現場データで難しいのは、画像ごとの条件がかなり違うことです。
日差しが強い画像もあれば、影が多い画像もあります。
草の色も、季節や撮影条件によって変わります。
低コントラストの画像では、植物と地面の差がはっきり出ないこともあります。
さらに、太陽光発電所ではパネルの列や支柱が強い構造を持っています。
そのため、単に画像全体から緑色を拾うだけでは、業務上ほしい情報とはずれてしまいます。
単純な緑色抽出と、整理された植生候補の違い
特に意識したのは、検出結果を過信しすぎないこと です。
現場画像では、ある領域が植物に見えても、それが本当に作業対象かどうかは、周辺の構造と一緒に見なければ判断できません。
逆に、画像上では小さく見える領域でも、パネル間の通路や作業導線に関係する場合は、無視できないことがあります。
このあたりは、モデルの精度だけではなく、後処理や判断ロジックの設計が重要になる部分だと感じました。
検出結果を「現場で使える情報」に変換する
今回の開発で一番面白かったのは、雑草候補の抽出が単体のタスクでは終わらないところです。
画像上で候補領域を抽出できたとしても、それだけではまだ業務には使えません。
現場で必要なのは、
「ここに何か緑色の領域があります」
という情報ではなく、
「この領域は作業判断に関係しそうです」
「この領域は監視で十分かもしれません」
「この領域はパネルや立入禁止領域との関係を確認する必要があります」
という、次の判断につながる情報です。
そのため、検出結果を mask として出すだけでなく、領域ごとの特徴を整理し、後段の判断や作業計画に接続しやすい形へ変換することを意識しました。
この部分は、単純な画像認識というより、現場の判断プロセスを少しずつデータ構造に落とし込んでいく作業に近いと感じています。
まとめ
今回の開発を通じて、「雑草を検出する」という一見シンプルなテーマの中に、いくつもの層があることを実感しました。
· 画像上の植生を見つけること。
· それを領域として整理すること。
· 現場の作業判断につながる候補に変換すること。
· そして、パネルや通路、立入禁止領域との関係を後段で扱えるようにすること。
最初の一歩は雑草候補の抽出ですが、実際にはそこから先の設計がとても重要です。
AI が何かを検出するだけではなく、現場で使える情報へ変換していく。
そこに、この開発の難しさと面白さがあると感じました。
次回は、この雑草候補を太陽光パネルの no-go 領域と組み合わせ、どのように作業候補へ近づけていったのかについて書きたいと思います。