Liteの最近のブログ記事

QR Code Scanner with TensorFlow Lite

QR Code Scanner with TensorFlow Lite と言うのがあったので、試してみる。

正確には、Android 版だが、
Android QR Code Detection with TensorFlow Lite

modelの作成は、下記、model_maker を参考にしているみたい。
Object Detection with TensorFlow Lite Model Maker

最終的には、Raspi 3b+ で試してみようと思います。
注) Raspi 3b+ に、Coral USB TPU を使っても効果は無いみたい。もっとパワーが必要じゃ。

Raspi TensorFlow Lite Object detection は、
examples/lite/examples/object_detection /raspberry_pi
を参考にします。

1. 開発環境
開発は、PC 上で行います。
PC Ubuntu Mate 22.04
Intel Core i-5 4570 3.2GHz x 4 with 12G Memory
Python 3.9
tflite-model-maker 0.4.2

1.1 Python3.9 を別途インストールします。
Python の Dual インストールは、下記を参照しました。

Install Python 3.9 or 3.8 on Ubuntu 22.04 LTS Jammy JellyFish

Coral Edge TPU USB のサンプルの Object Detection が公開されていたので、 試してみました。の #4 です。

今回は、気になった点の改善を行ってみました。

https://github.com/google-coral/examples-camera

テスト環境
Windows10
Python3.6
Tensorflow 1.15.0 GPU
USB カメラ

 試したのは、上記プログラムの、examples-camera/opencv/ です。

最近、guichristmann/edge-tpu-tiny-yolo を試してみて、再度、こちらの Coral Edge TPU USB のサンプルの Object Detecton を試す。
を動かしてみると、微妙に検出ボックスが大きい気がしました。

プログラムを調べてみると、 guichristmann/edge-tpu-tiny-yolo と、examples-camera/opencv/ では、画像の取り込みと、
検出ボックスの変換に違いがありました。

Coral Edge TPU USB のサンプルの Object Detection が公開されていたので、
試してみました。の#3 です。

https://github.com/google-coral/examples-camera

テスト環境
Raspberry Pi 3B+
Coral Edge TPU USB
Python3.7
Tensorflow 1.15.0
Raspi カメラ

前回のプログラムでは、Raspi で実行させると、発声のタイミングで、Stream バッファに画像が貯まるので、声が出た後の画像が、
実際のカメラの前の映像と一致しない問題が出ました。

OpenCV でのStream バッファのクリア自体は用意されていなくて、代替手段として、cap.read() または、 cap.grab() を5回繰り返して、
受け捨てする方法が、Web に出ていたので試してみました。が、

結論としては、余り良くないので、 picamera stream to OpenCV が出来ないか、Webで検索していたら、
丁度良いサンプルが在ったので、それを取り入れてみました。

Accessing the Raspberry Pi Camera with OpenCV and Python

結局は、下記、が元ネタみたいです。
色々な使い方が、出来るようです。

https://picamera.readthedocs.io/en/release-1.13/recipes2.html

Keras CNN Sound Classify #6

Keras CNN で 音の分類 #6。update 2020.5.29

ディープラーニングで音声分類 のサンプルが出ていたので、試してみましたの #6です。
今度は、Inception V3 を使っての学習ができたので、学習済モデルを、Tensorflow Lite に変換して試してみました。

開発環境
OS: Windwos10
GPU: GeForece GTX 1070 8GB
Anaconda
Python3.6
TensorFlow 1.15.0 GPU
Keras 2.3.1

注1) 今回は、TensorFlow 1.15.0 を使いました。
TensorFlow 1.14.0 では、Tensoflow Liteへの変換が上手く行きませんでした。
また、こちらの方が、Tensorflow Lite の実行速度が速いきがします。
注2)  Keras は、オリジナルを使っています。
tensorflow.python.keras を敢えて使っていません。

TensorFlow Lite Object Detection on PC(CentOS7)

公開されている、Object Detection API を TensorFlow Lite で書いてみました。

プログラムのベースは、 object_detection_tutorial.ipynblabel_image.py です。

使ったモデルは、こちらで公開されている、 ssd_mobilenet_v1_coco_2018_01_28 をダウンロードして、
下記ページに従って、
Running on mobile with TensorFlow Lite
ssd_mobilenet_v1_coco_2018_01_28 -> detect.tflite へ変換しました。

因みに、おんちゃんは、 CentOS7 に Python3.5 (IUS版) をインストールして、
その後、 TensorFlow を buzel でソースビルドを行っています。

Tensorflow Lite は、with XLA JIT support=y を指定して、Buzel でのソースビルドが必要です。
当初、Windows10 でCmake で試しみましたが、上記のオプションが指定できないので、
結局、CentOS7 になりました。

実行時の注意点は、vis_util.visualize_boxes_and_labels_on_image_array() のパラメータで
min_score_thresh=0.3 (default=0.5) にして、ボックスの表示を多くしています。
そうすると、ssd_mobilenet_v1_coco でも結構検出しているのが、目で見えるので、楽しいです。

このアーカイブについて

このページには、過去に書かれたブログ記事のうちLiteカテゴリに属しているものが含まれています。

前のカテゴリはCIFAR-10です。

次のカテゴリはMNISTです。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

カテゴリ

ウェブページ

サイトナビ