HOZANの新型USBカメラL-836でSSDによる物体検出をやってみた話

2021年6月19日

今回は、HOZANさんのご厚意で新型USBカメラL-836をお借りすることができたので、SSDで物体検出をやってみました。

このページで分かること

1.HOZANさんを知らない人のための簡単な説明
2.新型USBカメラL-836の外観、仕様、特徴
3.新型USBカメラL-836とELP製USBカメラの撮影画像比較
4.SSDによる物体検出結果

HOZANさんを知らない人のための簡単な説明

はじめに、HOZANさんについて簡単に説明します。

HOZANさんは、ハンダゴテやピンセットなどの工具類から、実態顕微鏡やマイクロスコープなど検査に必要な装置類まで幅広く取り扱っている業界でも有名な企業です。製造業の方ならHOZANさんの工具や検査装置類は一度は使ったことがあると思います。

HOZANさんのホームページはココ

今回お借りしたUSBカメラは、2020年4月30日に発売したばかりの最新モデルです。

早速、その実力を紹介して行きます。

新型USBカメラL-836の外観、仕様、特徴

外観

USBカメラL-836の外観を示します。筐体は黒色で堅牢な作りです。また、円形部の直径はφ50mmです。

前方から見た様子

センサにホコリが付くのを防止するため、レンズキャップを付けた状態で撮影しています。

真上から見た様子

筐体には、カメラネジ(1/4インチネジ)が1つとM4ネジが4つあります。M4ネジについては筐体の4面全てにあります。また、今回お借りしたカメラにはカメラネジの上にM2.5くらいのネジ穴が2つありました。

仕様

主な仕様を以下に示します。

項目仕様
型番L-836
撮像素子1 / 2.5″ CMOSイメージセンサ
出力コネクターUSB2.0
有効画素数(最大)2592×1944(500万画素)
保存画素数(最大)静止画 2592×1944(500万画素
動画 1920×1080(200万画素
フレームレート(最大)30fps
記録ファイル形式静止画 JPG / BMP / PNG / PDF
動画 AVI
レンズマウントCマウント
電源DC5V(USB)
消費電力0.35W
動作環境(注1)OS:Windows 10/8/8.1/7/(32bit及び64bit)
CPU:Intel Core 2.8GHz 相当以上
メモリ:2GB以上
ハードディスク:20GB以上の空き容量
USBポート:USB2.0
外形寸法48(W)×48(H)×46.5(D)mm
(突起物含まず)
コード長さ1.8m
重量200g
価格(注2)54,120円(税込み)
注1.詳しくはHOZANのホームページを参照ください。
注2.現在の価格です。詳しくはHOZANのホームページを参照ください。

特徴

イメージセンサにCMOSを使用

仕様で最も注目すべき所は、イメージセンサに高感度CMOSを使っていることです。

もちろん、これまでUSBカメラでCMOSを使ったものがなかったわけではありません。

産業用途で高額なものは存在していました。それに比べれば価格もかなり安いです。

一般ユーザーや実験的に導入してみたい方には最適なカメラだと思います。

CMOSは高感度タイプ

本USBカメラは高感度CMOSを搭載しています。

高感度なため補助照明がない環境でも30fpsで撮影できます。

これはかなりメリットがあります。

実際の業務で使用する場合、USBカメラを装置やスタンドに取り付けるのが一般的です。

拡散光を照射するタイプの補助照明は、レンズ先端に取り付けて使用しますが、大きいために装置やスタンドに干渉して結構邪魔になる場合が多いです。

補助照明なしで使えればそんな悩みはありません。

なお、HOZANさんのホームページにも記載がありますが、使用するレンズによっては補助照明が必要な場合もあります。

私が試した範囲では、ZOOM LENS(L-815)を使用した場合は補助照明(L-711)が必要でした。

OpenCVでUSBカメラとして使える

これはHOZANさんのホームページには乗っていない情報です。

今回お借りした一番の目的は、SSDで物体検出できるカメラとして使用できるかどうか試したかったというのが本音です。

結論:使用できます。

リアルタイムに物体検出を行う場合、OpenCVを使って画像を取り込み、SSD等で推論するのが一般的だと思います。

今回、OpenCVを使ったcaptureプログラムでリアルタイムに画像が取り込めるか確認しました。

なお、captureプログラムはPythonで書いています。興味がある方は過去の記事を参考にしてください。

結果として、capture プログラムでリアルタイムに画像を取り込むことができました。

以下に取り込み画像の一例を示します。

取り込み画像の一例

上段の2枚は L-815レンズで補助照明ありで撮影した画像です。

下段の2枚は市販のCマウントレンズ(焦点距離:5~50mm)を取り付け、補助照明なしで撮影した画像です。

各画像の撮影対象を以下にまとめます。

画像撮影対象
上段左野菜の種
・細長いのは「春菊」
・赤いのは「ほうれん草」
・黒くて丸いのは「つるむらさき」
上段右積層セラミックコンデンサ
(C1608:1.6mm×0.8mm)
下段左右チロルチョコ

なお、各画像の左上に表示された数字は画像取り込み時のフレームレート(FPS)です。

USBカメラの仕様としては最大フレームレートが 30fps でした。

しかし、実際の取り込み画像には 28fps や 48fps、50fps と表示されています。

この理由として以下の2点が考えられます。

一つは、OpenCVを使って画像を取り込む際、capture プログラムの内部では取り込んだ画像を 900px× 900px サイズに切り抜いてその後の処理を行っています。

このため、計算負荷が多少軽くなっていると考えられ、表示速度が上がった(fps が上がった)と考えられます。

もう一つは、本 capture プログラムの実行環境(パソコン)が高性能であることが考えられます。マシンスペックは過去の記事を参考にしてください。

今回のようにリアルタイムに画像を取り込み、その後、画像を加工して画面に表示させるという一連のタスクを処理するための時間は、要するにCPUの計算速度(タスクの処理速度)に依ります。

今回使用したパソコンは、CPUにIntel の Core i9-9900K を使用しており、さらにオーバークロックして全8コアを5GHz 駆動させています。

現在市販されているコンシューマ向けパソコンとしては最速の部類に入ると思います。

このため、fps に多少のばらつきはあるものの最大 50fps での画像取り込みが出来ていると推測します。

新型USBカメラL-836とELP製USBカメラの取り込み画像比較

L-836の特筆すべき点は、画像のクリアさ色の鮮やかさです。

クリアさを感じるのはノイズが少ないためです。

また色の鮮やかさを感じるのはRGBの分離が良いためです。

今回、取り込み画像のヒストグラムをRGBに分解表示して、物体と背景の分離具合を確認しました。

画像のヒストグラムとRGB分解結果

以下の画像をみてください。

これは L-836で撮影した「ほうれん草の種」の画像です。

一番左の画像が撮影画像、真ん中の図がカラー画像のヒストグラム(RGB混合)を表しています。

一番右の図がヒストグラム(RGB混合)をRGB(赤、緑、青)が分かるように分解表示したものです。

この図から、赤の成分が緑と青の成分からはっきりと分離していることが分かります。

つまり、「ほうれん草の種」の色と背景の緑マットの色ははっきりと分離しているということです。

次に、ELPのUSBカメラで撮影した画像を示します。

先ほどと同様に、一番左の画像が撮影画像、真ん中の図がカラー画像のヒストグラム(RGB混合)を表しています。

また、一番右の図がヒストグラム(RGB混合)をRGB(赤、緑、青)が分かるように分解表示したものです。

この図を見ると、赤と緑と青の成分のほとんどが重なり合っているのが分かります。

つまり、「ほうれん草の種」の色と背景の緑マットの色ははっきりと分離していないということです。

これはL-836で撮影した画像のヒストグラムとは全く違う傾向です。

SSDで学習させる際も、物体が背景から分離している方が特徴を残しやすいと考えられるため、このL-836を用いた撮影画像のヒストグラム傾向は、モデル作成に有利に働くと思われます。

SSDによる物体検出結果

物体検出の様子をYouTubeでご覧ください。

L-836 USBカメラの場合

動画を見て気づくのは以下の4点です。

1.ノイズが少ない
2.色が鮮やか
3.バウンディングボックスの揺らぎが少ない
4.物体検出が安定している

1と2については先に述べましたが、3と4は非常にすばらしいです。

3のバウンディングボックスとは、物体を検出した際に物体のまわりに表示する境界線のことです。

この境界線の揺らぎが少ないということは、物体を推論する際に迷いが少ない、つまり安定した物体検出ができていることを示しています。

理由として、推論モデル作成時(SSD学習時)に物体の特徴がしっかり学習できているためではないかと考えられます。

つまり、L-836で撮影した画像は、物体と背景の色がしっかりと分離しているため、それらの画像を使ってSSDで学習させると、うまく特徴を残した推論モデルが作成できると考えられます。

ELPのUSBカメラの場合

動画を見て気づくのは以下の4点です。

1.ノイズが多い
2.色がくすんでいる
3.バウンディングボックスの揺らぎが多い
4.物体検出が不安定

1と2については一目瞭然です。3と4はL-836の場合とは逆の結果です。

バウンディングボックスの揺らぎが多いということは、物体を推論する際に迷っている、つまり安定した物体検出ができていないことを示しています。

その証拠に、重なっているものや画面の端の方に映っているものは、物体の周りにバウンディングボックスが表示されておらず、うまく検出できていないことが分かります。

理由としては、推論モデル作成時(SSD学習時)に物体の特徴をしっかりと学習できていないことが考えられます。

つまり、ELPのUSBカメラで撮影した画像は、物体と背景の色がしっかりと分離しておらず、それらの画像を使ってSSDで学習させると、うまく特徴を残せていない(特徴抽出が甘い)推論モデルが作成されるためではないかと考えられます。

まとめ

  • L-836 はOpenCVでUSBカメラとして使える
  • L-836で撮影した画像はノイズが少なく、クリアで色が鮮やか
  • 画像のヒストグラムをRGBに分解してみると物体と背景がはっきり分離している
  • SSDで物体検出するとバウンディングボックスの揺らぎが少なく安定した物体検出ができる

あとがき

今回はHOZANさんのご厚意で新型USBカメラL-836をお借りすることができ大変勉強になりました。

ここにお礼申し上げます。

今回の記事で気になった方は、HOZANさんのホームページからデモ機の無料貸出を受付ていますので、気軽に問い合わせてみてください。

やっぱり使ってみないとわかりませんので。何事も経験です。