fc2ブログ

Raspberry Pi Picoを買う

 Raspberry Pi Picoスイッチサイエンスで衝動買いしました。とはいえ、1個550円で2個購入、送料200円の合計1,300円なので衝動ということもないですが・・・・。以前、スイッチサイエンスで販売された際、入荷案内のメールが来たのですが、購入しようとした時にはすでに在庫がゼロでした。そのまま存在を忘れていた今日この頃、再度入荷メールが入ったので、即発注。今回は購入できました。届いた物は写真の通りで、半導体のテープリールからはさみで切り出した感じでした。RaspiPico_210425.png
 早速使ってみようと、ネットをさまよっていると、たくさん情報が出てきましたので、その中のサイトを参考にさせていただきました。Raspberry Pi Picoはパソコンというよりはマイコンで、コードはMicro Pythonか、Cで書き込みます。エディタは使い慣れたVS codeが使えるようなので、ネット情報を参考に、Pico-Goをインストールしました。

 Raspi Picoの基板に実装されているLEDのON/OFFと、温度測定を手始めに、TempMeasure_result_210425.png何度か利用したことがある温湿度、気圧センサのBME280でのI2C通信によるデータ収集を行いました。パーツをかき集め、格好は悪いですが、以下の通りセットアップしました。BME280_setting_210425.png
プログラムはGitHubにあったコードを利用させてもらいました。ありがとうございました。結果は以下の通りで、うまく動作しました。BME280_result_210425.png
 今回は何も考えずに、ネット上の情報を参考にRaspi Picoを味見しました。550円という安価なデバイスですが、無線機能がないので、IoT用途で直接利用するには無線モジュールが別途必要ですね。初めからWi-Fiを使う場合は、価格はUpしますが、ESP32やRaspi Zeroを1台の方がシンプルで良いと思いました。

 Raspi PicoはRaspbianの入っていないマイコンとして利用する形態なので、用途としては棲み分けていくのでしょうね。ArduinoやPICの親戚のような感じがします。ただ、Micro PythonでコーディングできるのはCの苦手なユーザにはうれしいかもしれません。私はどちらでも良いですが・・。まだ、可能性を十分引き出せていないので、何か面白いことができないか、GWにでも思案してみようと思います。
スポンサーサイト



OpenCV AI KITで遊ぶ(2)

 年明けから超多忙で土日もゆっくりできませんでした。3月は娘の新生活の準備、引っ越し等で忙しさもMaxでした。ようやく最近落ち着いてきたので、久々に(約1か月ぶりに)ブログを更新できました。ブログが危うくまた広告ページに変身する所でした・・。

 1月のブログでお話ししたOpenCV AI KITを再び触ったのでその備忘録です。
 今回は、カメラ(DepthAIデバイス)を制御するDepthAI APIを使ったプログラムを動かして、その理解を試みました。プログラムはGitHubに公開されているものを利用しました。物体検出を行わない「カメラ画像プレビュー」と3種のAIモデルを使った物体検出の4つです。

 ① カラー画像プレビュー
 ② Mobile-net
 ③ tiny-Yolo-V3
 ④ tiny-Yolo-V4

①のカラー画像プレビューは、市販の汎用Webカメラの画像をOpenCVでPCに取り込む関数ではなく、DepthAI-APIの専用の関数で行っています。プログラムを理解する前に、DepthAI-APIに使われている用語を整理すると以下の通りです。

【用語の説明】
 ・ホスト側: DepthAIが接続されているPCやラズパイ本体。
 ・デバイス側: DepthAIのカメラ、プロセッサ(Myriad X)本体。
 ・ノード: DepthAIの入力または出力、あるいはその両方。カメラ​​ノード、ニューラルネットワークノード等。
 ・接続: あるノードの出力と別のノードの入力の間の接続。
 ・パイプライン: デバイス側のワークフローのことで、ノードとノード間の接続で構成。
 ・XLink: デバイスとホスト間でデータを交換できるミドルウェア。DataPath_210404.png
また、AIの処理を行う場合のプログラムの一般的なフローは以下の通りです。
  ① パイプラインの定義
  ② 入力ノードとしてカラーカメラを定義
  ③ ニューラルネットワークのノードを定義
  ④ カラーカメラのプレビュー出力をニューラルネットワークの入力に接続
  ⑤ カラーカメラフレームとニューラルネットワークの推論結果(デバイス側の結果出力)をXLinkでホスト側に転送

 物体検出を行わない「カメラ画像プレビュー」は③、④がなく、⑤でカラーカメラフレームのみXLinkでホスト側(PC側)に転送します。転送された画像、以下の通りです。BGR_img_210404.png撮像した画像を用いれば、プログラム上でOpenCVでモノクロ化や二値化も可能です。Mono_img_210404.pngBin_img_210404.png
 次に、3種の物体検出の結果です。以下の学習データをプロセッサ内に読み込んで処理を行いました。
1. Mobile-netmobilenet-ssd_openvino_2021.2_6shave.blob (21 items)Mobilenet_img_210404.png2. tiny-Yolo-V3tiny-yolo-v3_openvino_2021.2_6shave.blob (80 items)YoloV3_img_210404.png3. tiny-Yolo-V4tiny-yolo-v4_openvino_2021.2_6shave.blob (80 items)YoloV4_img_210404.png 3.のtiny-Yolo-V4モデルが一番物体の情報を検出できました。

今回はデモプログラムをそのまま動かしただけですが、今後、もう少し掘り下げて調査していこうと思います。

ご訪問者数

(Since 24 July, 2016)

タグクラウド


プロフィール

Dr.BobT

Author: Dr.BobT
興味のおもむくままに生涯考え続けるエンジニアでありたい。

月別アーカイブ

メールフォーム

名前:
メール:
件名:
本文: