Keras/TensorFlowを試してみたので紹介します。参考にさせていただいたのは、以下のページです。https://www.pyimagesearch.com/2020/05/04/covid-19-face-mask-detector-with-opencv-keras-tensorflow-and-deep-learning/上記サイトからコード一式をダウンロードして、ラズパイに転送します。Keras/TensorFlow」の構成です。大きく分けると、マスク検出の学習フェーズと適用フェーズの2つにわかれます。学習フェーズでは、マスクあり・なし画像データ(dataset)を元に学習します。学習フェーズが完了すると、学習済のモデル(mask_detector.model)が生成されます。適用フェースでは、先程学習したモデルを使って、マスク検出を行い結果を表示します。Keras/TensorFlowの構成図ライブラリのインストールプログラムのインポートモジュールをみると、TensorFlowとimutils,sklearnが必要になるのでインストールします。ライブラリのインストールにはpipを使用します。参考までに、自分の環境のPythonとPipのバージョンは以下です。Pythonは標準でインストールされているものを使用しました。3.7)まず、TensorFlowをインストールします。tensorflow続いて、imutils,sklearnをインストールします。sklearn以上でインストール作業は完了です。Phase1:マスク検出データの学習マスクあり・なしの画像データ(dataset)を元に学習させます。directorytensorflowのインポートでエラーが表示されますが、影響はなさそうなので、とりあえず無視しています。ラズパイ4で学習させようと試みたのですが、ラズパイ4(2GB)モデルだとメモリが足りたいみたいで途中で落ちてしまいます。カーネルを64ビット化してもダメでした。メモリを搭載しているモデル(4GB/8GB)だと上手くいくかもしれません。size.とりあえず、Debianをインストールした64ビットPC(メモリいっぱい積んでる)で学習させてみました。学習が無事に完了すると、”mask_detector.model”と”plot.png”ファイルが更新されます。実行結果をみてみると、20回ほど学習させて信頼性を上げているようです。model...学習結果は、出力される”plot.png”ファイルで確認することができます。Epoch#(学習回数)が増えるごとにLossが下がって、Accuracyが上がっているのが分かりますね。学習結果のグラフ(plot.png)今回は、この学習済のモデルをラズパイにコピーして使用しました。初期状態でも学習済みのモデルが入ってるようなので、学習せずにマスク検出のみを試すこともできると思います。学習済のデータを元にサンプル画像を使ってマスク検出を行います。images/pic1.jpegサンプル画像(pic1.jpeg)から正しくマスクを検出できています。次は映像入力を使って、リアルタイムにマスクあり・なしを検出してみます。detect_mask_video.pyマスクをつけたり、はずしたりして正しく認識できているか確認します。マスクなしの場合は赤枠と赤文字(No_Mask)で、マスクありの場合は緑枠と緑文字(Mask)が表示されています。ラズパイで検出するとパワー不足なのか画像がカクカクなるので、体温測定結果を表示する際に、マスク検出を行ってマスク有無の結果表示のみするようにすれば使えそうです。コロナ禍で、マスク有無を検出する場合にはとても助かりますね。体温測定と組み合わせて試してみようと思います。コメントをキャンセルメールアドレスが公開されることはありません。※サイト上に表示された文字を入力してください。