mecobalamin’s diary

人間万事塞翁が馬

https://help.hatenablog.com/entry/developer-option

OpenCVを使って物体認識その1、環境構築

OpenCVを使って物体認識を試した

mecobalamin.hatenablog.com
前にインストールしたところまで書いた

実行してみてなんとなくうまくいっているみたいなので
一旦環境構築から認識させるところまでをまとめる

流れとしてはこんな感じ

  1. OpenCVを使って物体認識その1、環境構築 - mecobalamin’s diary (python, miniconda, Image J) このページ
  2. OpenCVを使って物体認識その2、正解データの作成 - mecobalamin’s diary(Image J)
  3. OpenCVを使って物体認識その3、不正解データの作成 - mecobalamin’s diary(ImageJ)
  4. OpenCVを使って物体認識その4、createsamplesとtraincascade - mecobalamin’s diary(opencv_createsamples、opencv_traincascade)
  5. OpenCVを使って物体認識その5、pythonスクリプトで物体認識 - mecobalamin’s diary(python script)

あと使用する画像についてもいくつか記事を書いた


まずOpenCVについて

OpenCV(オープンシーヴィ、英語: Open Source Computer Vision Library)とはインテルが開発・公開したオープンソースのコンピュータビジョン向けライブラリ。

OpenCV - Wikipedia
物体認識につかうコマンドを含んでいる

OpenCVを利用した物体検出は検索かけると出てくる
人の顔とか猫とか、いろいろ。
Haar Cascadesを使った顔検出 — OpenCV-Python Tutorials 1 documentation
世界一いらない人工知能??OpenCVを用いたカワウソ分類器作成奮闘記 | Aidemy Blog
OpenCVで猫検出 (モデル配布) - Qiita

画像の前処理にも使われてる
機械学習のためのOpenCV入門 - Qiita

物体認識はiOSでもできる
Pythonista(iOSで動くPython)で顔認識 - Togetter

仕組みについてはCNNというのもあるらしいけどまたあとで
Convolutional Neural Networkとは何なのか - Qiita
画像認識で「綾鷹を選ばせる」AIを作る - Qiita

スクリプトなどは以下のサイトを参考にさせてもらった
openCVで物体認識 by traincascade - Qiita

まずは環境構築のおさらい
pythonはWSLに
ImageJはwindowsにインストールする

WSLのインストール
mecobalamin.hatenablog.com

minicondaをWSLにインストールする
配布元にインストール用のシェルスクリプトがある
Miniconda — Conda documentation

実行方法は以下のようにする

$ cd ~/
$ cd mkdir ./tmp
$ cd ./tmp
$ wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh
$ bash Miniconda3-latest-Linux-x86_64.sh

condaを使ってopencvをインストールする

conda install -c conda-forge opencv
conda install -c anaconda libopencv

こちらの環境の問題だったかもしれないが
opencvのコマンドを実行したときに
libGL.so.1がないというエラーが出たことがある
その場合はここを参考にする
apt-getでファイルがダウンロードできない - mecobalamin’s diary

次にImageJをインストールする
正解・不正解画像をImageJで作る

ImageJとは

ImageJはオープンソースパブリックドメインの画像処理ソフトウェアである

ImageJ - Wikipedia

Windows版をダウンロードしてインストールする
ImageJ download
Download

macroを自作するので必要な関数や命令はここから探す
Macro Language
Built-in Macro Functions

続きます