画像認識を使用し、ウェブカメラだけで猫の活動量を計測する

ウェブカメラを接続したパソコンを設置し、カメラを猫のほうに向けて、猫の活動量を計測する。これを使えば、猫に計測機器をつける必要もなく、日ごと、週ごと、月ごとの活動量の計測が可能です。

原理

画像認識技術で猫の顔の位置の座標を取得します。一定の間隔で写真をとって、その座標が移動した距離を、高校数学の3角関数を使って求めます。
また、結果の保存先に、dropbox、onedriveフォルダを指定すれば、外出先でもリアルタイムに活動量を見ることができます。ウェブカメラがついているパソコンがあれば使用できます。パソコンがない場合には、raspberry piを使えば7000円以内で作ることができると思います。(もしraspberry pi zeroで実行できれば4000千円以下)pythonで作っていますので、実行環境を整えるのが大変です。

使い方

1. 後述の方法で起動してください。
2. 撮影間隔・撮影時間・猫の顔のサイズ・カメラの対角画角・結果の保存先を指定してください。
3.撮影開始を押してください。
4.解析結果の画面が出てきます。
5.さきほど選択した保存フォルダに、結果がエクセル形式で保存されています。

初回の起動方法

1.Anacondaをインストールします。https://www.anaconda.com/products/individual
2.以下のzipファイルを解凍してどこかに保存してください。これはpythonのファイルです。

3.このサイト(github)から、cascade.xmlというファイルを先程と同じフォルダに保存してください。

https://github.com/wellflat/cat-fancier/tree/master/detector/models/cat

これは、Qiitaに記事を書いていらっしゃる@wellflatさんという方が、相当な時間を費やして猫の顔を検出できるようにした分類器です。それをお借りしています。感謝。以下が元記事。

https://qiita.com/wellflat/items/c6ffae99be35cecc5680

4.Win: Anaconda Promptを開く。Mac: ternimalを開く

5.以下を記入して、Enterを押す。気長にやってください。

Win: Anaconda promptで以下を順番にコピペし、1つづつEnterを押していく。それぞれ時間かかります。特にtensorflow。

conda create -n catface python=3.6.10
proceed ([y]/n)? → y
activate catface
pip install opencv-python
pip install pandas
pip install matplotlib
pip install openpyxl
pip install tensorflow
pip install keras

Mac: Terminalで以下を順番にコピペし、1つづつEnterを押していく。それぞれ時間かかります。特に最初と、tensorflow。

conda create -n catface python=3.6.10 anaconda
proceed ([y]/n)? → y
conda activate catface
pip install opencv-python
pip install pandas
pip install matplotlib
pip install openpyxl
pip install tensorflow
pip install keras

6.解凍したface.pyファイルのパスをコピー。Winだったらshift+右クリック、macを右クリック後、option。

7. 以下のように記入して、Enterを押す。python 上記で取得したパス
(Win入力例:python “C:\Users\名前\Desktop\catface\catface.py”)
(Mac入力例:python /Users/名前/Desktop/catface/catface.py)実行時に1回エラーがでるかもしれません。再起動してみてください。

次回からは以下の手順

1.Win: Anaconda Promptを開く。Mac: ternimalを開く
2.Win: activate catface Mac: conda activate catface
3.解凍したface.pyファイルのパスをコピー。Winだったらshift+右クリック、macを右クリック後、option。
4. 以下のように記入して、Enterを押す。python 上記で取得したパス
(Win入力例:python “C:\Users\名前\Desktop\catface\catface.py”)
(Mac入力例:python /Users/名前/Desktop/catface/catface.py)

Categories:

category