前回の続き
今回の内容は以前私が投稿したEdge Impulse検証(3)ーM5Stack製ESP32CAM PSRAMの故障調査の続きです。内容の把握のため以前の投稿を読んでいただくことをお勧めします。
前回の調査でESP32CAM PSRAMではなくOV2640カメラが故障した可能性が高いことまで突き止めました。今回は新しくOV2640カメラだけ購入し、交換して使ってみます。
購入品
今回故障したカメラの交換として以下のカメラモジュールを購入しました。
amazonの販売リンク
2個 カメラモジュール、OV2640カメラ160°広角レンズ2メガピクセルセンサーI2CサポートJPEG RGB YUV for MCUカメラ
私はamazonから購入しましたが、楽天にも売られていました。
楽天の商品リンク
|
|
故障したと思われるカメラを取り外し、これをESP32CAM PSRAMに接続します。
またマイコンの高熱が気になるため、マイコンとカメラ両方にヒートシンクを取り付けました。
秋月購入リンク
私は秋月で購入しましたが、amazonや楽天でも同様のものが売られているようです。
amazon購入リンク
アルミニウムヒートシンク Raspberry Pi用 9枚入り
楽天購入リンク
|
|
このヒートシンクは本来Raspberry Pi用として使用されるものです。
大小2種類のサイズがあり14x14x6[mm]がESP32CAM PSRAMのマイコン部分、8.8×8.8×5[mm]がカメラ部分に貼り付けるのにちょうどよかったのでこれを選びました。
M5stackカメラの簡易自作カバー
M5stack ESP32CAM PSRAMを保持するのに以下のような簡易カバーを3Dプリンターで作りました。

このようなカバーを作った狙いは以下の3点があります。
- もともとM5stackに付属していたカメラと比べて、購入したカメラのケーブルが長く、そのままでは持つのに不便だった。
- M5stackに付属していたカメラではケーブル接続後、両面テープでマイコンに貼り付けていた。これがカメラにマイコンからの発熱を伝え、故障した可能性がある。
- 使用中はカメラも発熱する可能性があるため、カメラにもヒートシンクを貼り付けて対策したい。
M5stack ESP32CAM PSRAM、カメラ、ヒートシンクをひとまとめで持ちやすくするカバーを設計することにしました。
3Dモデルの設計はFreeCADを使用し、3DプリンターはBambu lab A1 miniを使用しました。
Camera Web Serverプログラムの実施
前回使用したCamera Web Serverプログラムを使用して、まずカメラがつながるかを確認しました。
プログラムは前回使用したものと同じです。
無事接続ができました。やはりカメラの故障は正しかったようです。
Edge Impulseプログラムの実施
Edge Impulseの使い方については前の投稿を参照してください。
Edge Impulse検証(2)ーM5Stack製ESP32CAM PSRAMの使用
実はこの時から引っ越しを行っており、床の色が変わっていること、もう少しサンプル画像を増やしたいことから、もう一度Edge Impulseを走らせてプログラムを作成しました。
対象を発見すると以下のような文字列がシリアルモニタに表示されます。
/*略*/
Predictions (DSP: 2 ms., Classification: 132 ms., Anomaly: 0 ms.):
Object detection bounding boxes:
flypan (0.554688) [ x: 24, y: 24, width: 8, height: 8 ] //フライパンを写したとき
/*略*/
Predictions (DSP: 2 ms., Classification: 132 ms., Anomaly: 0 ms.):
Object detection bounding boxes:
kettle (0.812500) [ x: 24, y: 16, width: 8, height: 8 ] //やかんを写したとき
/*略*/
Predictions (DSP: 2 ms., Classification: 132 ms., Anomaly: 0 ms.):
Object detection bounding boxes:
mouse (0.554688) [ x: 16, y: 8, width: 8, height: 8 ] //マウスを写したとき
Predictions (DSP: 2 ms., Classification: 132 ms., Anomaly: 0 ms.):
Object detection bounding boxes:
/*略*/
狙い通り、カメラで写ったものが何者なのかを回答することができました。
しかしマウスに関しては検知するまでだいぶ失敗しました。
フライパンややかんは比較的検出しやすいのですが、マウスは写真写りが悪かったのかサンプル画像の質が良くなかったようです。
素人考えですが、黒色なのが影響しているかもしれません。
総評
Edge Impulseを用いて無料で物体検出ができました。
Edge Impulseには以下のようなメリットがあると思います。
- AIを使用して無料で物体検出プログラムが、高度なプログラミング知識なしでできる。
- サンプル画像の登録、ラベル付けなど画像認識で使用する基礎的な知識を学べる。
ただし以下の点に注意が必要です。
- 無料なのでしょうがないが、情報漏洩のリスク
- かなりの数のサンプル数を用意しないと誤検知が多発する。
個人がDIYや電子工作で遊ぶ分にはいいですが、仕事に使用するには向かないと思います。
また物体検出の精度を上げるにはそれなりにサンプル画像が必要です。
今回全部で32枚のサンプル画像を登録しましたが、フライパンややかんの時でも誤検知が多かったです。
フライパンしか写していないはずなのに、フライパン検出のコメントの後にやかんを検出したとコメントアウトしていました。
32枚では足りないようです。
向きだけでなく外乱光の状態も変化させたサンプル画像も用意したほうが精度があげられるかもしれません。
ともかく故障の原因と完成報告ができてよかったです。
蛇足
昔画像検査の展示会に行った際、似たようなシステムの説明を受けたことがありました。
Edge Impulseと同じように画像を登録し、検出対象を枠で囲み、ラベル付け。その後自動でモデル作成を行うところはよく似ていました。
当時そのシステムの金額がたしか400万円/年ほどだったと思います。
それと同じようなことが無料でできるようになったのは驚きですね(もちろん精度や完成度のレベルは違いますが)。
FA備忘録の村