ハイパースペクトルカメラを使ってgLupe で外観検査してみた

そもそもハイパースペクトルカメラって何?

ハイパースペクトルカメラとは

まず、ハイパースペクトルカメラとは何なのでしょうか?

人間の目が明るさを感じることができる光(電磁波)を可視光といい、波長約380nm~750nm の光のことを指します。波長の違いで光は異なる色に見えますが、それらの色はRGB(赤、緑、青)の組み合わせで作ることができます。

普段使っているスマートフォンなどのカメラは可視光カメラと呼ばれています。可視光カメラとは可視光をRGBの3つの波長帯(バンド)に分け、それらの信号をデジタルデータ化するものです。

001

対して、ハイパースペクトルカメラは可視光カメラより細かく波長を分光し、数十バンド以上の波長情報を得られます。位置情報と画素毎のスペクトルを得られるため、対象物の成分分析や識別に利用されています。製品によっては、可視光だけでなく赤外光までカバーできるものもあります。

002

ハイパースペクトルカメラの撮像イメージ
アバールデータ社製 AHS-U20MIR 製品ページより)

ハイパースペクトルカメラの適用事例

このハイパースペクトルカメラは2000年代に入って衛星観測(地球観測)といったハイエンドなシステムから実用化が進んできておりました。その後のハード・ソフト面の技術進歩によって、より身近な産業分野へ導入が進みつつあります。近い未来にはより私たちの身近なツール(例えばスマートフォンなど)に採用が進んでいくかもしれません。

ハイパースペクトルカメラの適用事例で有名なものとしてリサイクル現場でのプラスチックの選別が挙げられます。粉砕したプラスチック破片の組成の違いで破片毎の吸収スペクトルが異なることを利用し、リサイクル対象のプラスチック破片とそうでないものの識別・選別に使用されています。

その他には、農作物の品質検査への適用ですとか、ドローンからの環境分析への応用が検討されています。製品の外観検査への適用はこれから進んでくる分野であると予想されています。

ハイパースペクトルカメラで撮影した画像の例

今回は株式会社アバールデータ様にご協力いただき、アバールデータ製ハイパースペクトルカメラ(AHS-U20MIR)を使った撮影を行っていただきました。

今回使用したハイパースペクトルカメラ(AHS-U20MIR)は、1300nm~2150nmの近赤外領域を96バンドのスペクトル情報として取得できる近赤外ハイパースペクトルカメラで、2000nm付近の長波長域まで対応しているところが大きな特徴です。

ハイパースペクトルカメラAHS-U20MIR
(アバールデータ社製 AHS-U20MIR 製品ページより)

今回はこの近赤外ハイパースペクトルカメラ(AHS-U20MIR)を使ってサンプルをいくつか撮影してみました。とはいえ今回のカメラは近赤外カメラですので、その特徴を生かした撮影をした方が面白いはず、ということで「可視光カメラではよく見えないけども近赤外カメラではよく見えるもの」を撮影することにしました。具体的には「白い粉」です。

「白い粉」と言っても物騒なものではなく、皆さんが普段口にしている調味料である「塩」、「砂糖」「クエン酸」、「重曹」、「合成調味料」です。撮影は「白い粉」をシャーレに入れて行いました。

例えば、塩を近赤外ハイパースペクトルカメラで1回撮影をすると、以下のような96枚のグレイスケールの画像が1度に得られます。

ハイパースペクトルカメラで撮影した塩の画像
ハイパースペクトルカメラで撮影した塩の画像

また、重曹を近赤外ハイパースペクトルカメラで撮影すると以下のような96枚のグレイスケールの画像が得られます。塩に比べると長波長域(1749nm以上のバンド)で黒く映っています。これは重曹が長波長の電磁波を吸収しているためです。

ハイパースペクトルカメラで撮影した重曹の画像
ハイパースペクトルカメラで撮影した重曹の画像

クエン酸の撮影結果も見てみましょう。全体的に黒く映っています。特に1458nmのバンドあたりからすでに黒くなっています。

ハイパースペクトルカメラで撮影したクエン酸の画像
ハイパースペクトルカメラで撮影したクエン酸の画像

ということは、塩に重曹やクエン酸を混ぜると、あるバンドで何かが混入していることが見えたりするのでは?ということで撮影してみました。予想通りの結果です。

ハイパースペクトルカメラで撮影した塩+重曹+クエン酸の画像
ハイパースペクトルカメラで撮影した塩+重曹+クエン酸の画像

このように各物質の吸収スペクトルをあらかじめ把握しておくことで、ハイパースペクトルカメラの画像から何がどこに写っているかを推測できることがお分かりいただけたかと思います。また、今回は近赤外ハイパースペクトルカメラを用いたことで、可視光(つまり人間の目)で見えない色情報を可視化できることもわかりました。

ハイパースペクトルカメラ画像を使って gLupe で実験してみた

実験の概要

ハイパースペクトルカメラで撮影した画像を紹介するだけではもったいないので、gLupeで簡単な実験をすることにしました。塩に混入した異物(砂糖、重曹、クエン酸、合成調味料)を検出する実験です。異物の検出エンジンにはgLupeを使いました。

まず、検査対象とするバンドを選びました。塩と異物(砂糖、重曹、クエン酸、合成調味料)が異なって見えるバンドを目視で探した結果、1797nmのバンドあたりで塩と異物(砂糖、重曹、クエン酸、合成調味料)が異なって見えることがわかりました。

ハイパースペクトルカメラで撮影した1797nmバンドの 塩と異物(砂糖、重曹、クエン酸、合成調味料)の画像例
ハイパースペクトルカメラで撮影した1797nmバンドの 塩と異物(砂糖、重曹、クエン酸、合成調味料)の画像例

したがって、今回は1797nmのバンドの画像とgLupeを使って、塩に混入した異物(砂糖、重曹、クエン酸、合成調味料)を検出してみることにしました。

そもそもハイパースペクトルカメラを外観検査に使う場合、事前にどのバンドで異常が発生するかは自明ではないケースがほとんどです。本来であれば、バンド毎の画像を使って学習を行い、バンド毎の学習モデルで推論(異物検出)を行うべきです。
今回は実験を簡単にするために、事前に異常が発生するバンドを特定し、そのバンドの画像を使った学習と推論を実施しました。

塩のみが写っている画像(良品データ)3枚を教師データとし、塩のみが写っている画像(良品データ)2枚と塩に異物(砂糖、重曹、クエン酸、合成調味料)が混入している画像(不良品)8枚を評価データに選定しました。いずれも1797nmバンドの画像を使っています。データ数は少ないですが、ひとまずこれで実験してみました。

実験結果

gLupeで教師データ(良品データ)を学習させてモデルを生成し、評価データを推論させてみました。その結果が以下になります。赤色でオーバーレイされている領域は、gLupeが検出した異物混入箇所です。良品には反応せず、混入した異物にはうまく反応していることがわかります。

ハイパースペクトルカメラで撮影した1797nmバンド画像に対して gLupeで塩に購入した異物(砂糖、重曹、クエン酸、合成調味料)を検出した例
ハイパースペクトルカメラで撮影した1797nmバンド画像に対して
gLupeで塩に購入した異物(砂糖、重曹、クエン酸、合成調味料)を検出した例

通常可視光カメラで同様の検査を実施しようとすると非常に難易度が高くなると思いますが、今回はハイパースペクトルカメラを使うことで課題を非常にシンプル・簡単なものに落とし込むことができました。ハイパースペクトルカメラの特性を理解し、うまく活用することで、外観検査システム構築の非常に大きな武器になることがお分かりいただけたと思います。

まとめ

今回は特殊なカメラであるハイパースペクトルカメラを紹介し、近赤外ハイパースペクトルカメラで撮影した画像で簡単な外観検査の実験をgLupeで実施してみました。

ハイパースペクトルカメラは一度にたくさんのバンドの画像を得ることができるお得(?)なカメラであること、近赤外ハイパースペクトルカメラでは可視光カメラでは得られない様々な情報(塩に混入したクエン酸等)を得ることができることを紹介しました。

gLupeを使った簡単な外観検査の実験では、ハイパースペクトルカメラで撮影した特定のバンドの画像とgLupeを使って、塩に混入した異物(砂糖、重曹、クエン酸、合成調味料)の検出が簡単にできることを紹介しました。

今後、ISPではハイパースペクトルカメラで撮影した画像をgLupeで簡単に扱えるような取り組みを進めていく予定です。こちらもご期待ください。