iMind Developers Blog

iMind開発者ブログ

画像処理

Pillowのequalize/autocontrastとOpenCVのequalizeHistの比較

概要 ヒストグラム平坦化を行うPillowのequalizeとOpenCVのequalizeHistの結果を比較する。 ついでにPillowのautocontrastの結果も並べてみる。 バージョン情報 opencv-python==4.1.0.25 Pillow==6.0.0 利用する画像 下記のようなとてもかわいい犬の写真を4…

Pythonのimghdrで画像の形式判定

概要 Pythonのimghdrモジュールを使って画像ファイルの形式を判定する。 バージョン情報 Python 3.7.6 参考ページ https://docs.python.org/ja/3/library/imghdr.html ファイル名を指定して判定 pngファイルをimghdrで判定してみる。 test.pngというファイル…

PillowとOpenCVで画像にテキストを追加する

概要 Pillowで画像を読み込んでテキストを表示する。ついでにOpenCVでも同じことをしてみる。 バージョン情報 Pillow==6.0.0 opencv-python==4.1.0.25 Pillowで画像の読み込みと表示 単純に画像を読み込んで表示だけするコード。 %matplotlib inline import …

Open Image Dataset v5のデータを使って物体検知

概要 Open Image Dataset v5(以下OID)のデータを使って、SSDでObject Detectionする。 全クラスを学習するのは弊社の持っているリソースでは現実的ではない為、リンゴ、オレンジ、苺、バナナの4クラスだけで判定するモデルを作ってみる。 バージョン情報 P…

Tensorflow/modelsのdata augmentationの動きを確認する

概要 Tensorflowのmodelsのresearchのところにいる物体検知(object detection)系のコードで、data augmentation周りの処理がいろいろ用意されていたのでそれぞれの動きを確認しておく。 バージョン情報 Python 3.7.3 tensorflow-gpu==1.13.1 tensorflow/mo…

Open Image Dataset V5を使ってみる

概要 Open Image Dataset V5をダウンロードして中身を確認する。 BoxやSegmentationの情報をplotしてみる。 Open Image Dataset V5とは Googleが公開しているアノテーション付きの画像データ 600カテゴリ、1585万のボックス 350カテゴリ、278万のセグメンテ…

Open Image Dataset v4を使ってみる

概要 Open Image Dataset v4から600クラスのデータを落としてきて中身を確認したり軽く使ってみたり、Pascal VOCの形式に変換したりする。 v5が出たこの時期にいまさらな記事。 ダウンロード 下記からダウンロードする https://storage.googleapis.com/openi…

Python+OpenCVで画像をリサイズして保存する

概要 OpenCVで画像を読み込んでサイズを一定のルールで変更して保存する処理を実行する。 用途としては機械学習用に集めた画像データを保存しておく用として、最大で縦横のどっちか長い方が512pixelになるようにしておくことを想定している。 バージョン情報…

Tensorflow2.0 alphaのBEGINNER TUTORIALSを読む - その1

概要 Tensorflow2.0のalpha版が出ていたのでBIGGINER TUTORIALSを読む。 バージョン情報 tensorflow-gpu==2.0.0a0 Python 3.7.3 読んだページ Get started with TensorFlow 2.0 for beginnersのクイックスタート、服の分類問題、回帰、モデルの保存とリスト…

FaceNetを動かしてみる

概要 顔認識システムのFaceNetを使って顔の距離計算をしてみる。 バージョン情報 FaceNet Latest commit 096ed77 on 17 Apr 2018 顔認証の実装について 顔認証が可能な実装として他にOpenFaceがある。アルゴリズムはFaceNetに近い。 FaceNetはTensorflowとPy…

FaceNetの論文を読んだメモ

概要 顔認証の勉強中に、FaceNet: A Unified Embedding for Face Recognition and Clusteringを読む。そのメモ書き。 下記がその論文。 https://arxiv.org/abs/1503.03832 下記がその実装。 https://github.com/davidsandberg/facenet Abstract まずはFaceNe…

OpenCVとdlibによるFace Detection(顔認識)

概要 Face DetectしたかったのでOpenCVとdlibをそれぞれサンプルコードを動かす。 バージョン情報 Python 3.7.3 dlib==19.17.0 OpenCV==3.4.2 インストール condaで仮想環境作ってOpenCVとdlibを導入する。 pipとかjupyterとかscikit-imageとか他に使いそう…

scikit-imageとscikit-learn付属のサンプル画像

概要 画像処理のコードを書いてブログに例を載せたい時に、拾い物の写真だと権利周りが気になる。 そんな時に使えることがあるskimageやsklearnのサンプル画像を貼っていく。 バージョン情報 scikit-image==0.15.0 scikit-learn==0.20.3 データの配置場所 sc…

Pythonでヒストグラム平坦化とガンマ補正

概要 暗いところで撮った写真をさらっと明るくしたい。 バージョン情報 Python 3.6.5 opencv-python==3.4.2.17 サンプル画像 暗いところで撮影したかわいいワンコの画像があります。 暗い中でもそのかわいさは隠しきれませんが、よりかわいさが見えやすくな…

Pythonでの画像の連結

概要 複数の画像を連結して1枚にして返す用事があったので、NumpyやOpenCVを利用して動作を確認した。だいたいNumPyで愚直に実行。Pillowは利用していない。 バージョン情報 Python 3.6.5 opencv-python==3.4.2.17 サンプル画像 かわいいワンコが仲睦まじく…

OpenCVのSobel, CannyでのEdge Dtection

概要 OpenCVを使ってedge detection(輪郭検出)を行う。有名ドコロのSobel operatorとCanny edge detectorを利用。 導入及び環境 インストールはcondaにて実行。 $ conda install -c conda-forge opencv バージョン情報。 $ python --version Python 3.6.5 …