LoginSignup
4
1

More than 3 years have passed since last update.

グレースケールをRGB変換してGIST特徴量を抽出(Python)

Posted at

グレースケール画像をRGB変換させて、特徴量の抽出をしたい

機械学習に興味を持ち、画像分類に手を出したのがはじまり。GIST特徴量をpythonで取得したいけど、画像データがグレースケールしかない!って場合におススメ。

動作確認環境

  • Google Colaboratory(Python 3)

https://colab.research.google.com/notebooks/welcome.ipynb?hl=ja

グレースケール画像をRGB変換する

OpenCVを入れる

!pip install opencv-python

必要なものをインポート

※筆者の場合は、numpyに格納しています

import cv2
import PIL
import numpy as np

グレースケール画像をRGB変換

#グレースケール画像を読み込む
grayImg = np.array(PIL.Image.open('画像のパス'))
print(grayImg.shape) # (height, width)
#RGB変換
rgbImg = cv2.cvtColor(grayImg,cv2.COLOR_GRAY2RGB)
print(rgbImg.shape) # (height, width, 3)

cvtColorはRGB変換を含め多くに対応しているらしいです。

http://imagingsolution.blog.fc2.com/blog-entry-242.html

リファレンスはこちら

http://opencv.jp/opencv-2svn/c/miscellaneous_image_transformations.html#cvtcolor

GIST特徴量の抽出

GISTについて詳しい説明はこちら

http://lang.sist.chukyo-u.ac.jp/Classes/ComputerVision/KeypointDescription.html#GIST%E8%A8%98%E8%BF%B0%E5%AD%90

lear-gist-pythonのダウンロード

※pipではインストールできません。

!git clone https://github.com/tuttieee/lear-gist-python.git

作業ディレクトリの移動

cd  ./lear-gist-python/

libfftw3-devのダウンロード

!sudo apt-get install libfftw3-dev

GISTのダウンロード

! ./download-lear.sh

GISTのセットアップ

!python setup.py build_ext
!python setup.py install

GIST特徴量の抽出

使い方はGitHubを見てください。

https://github.com/tuttieee/lear-gist-python

feature = gist.extract(rgbImg, 16)

GIST特徴量のメリット

  • 特徴量が固定長で出力される
  • グリッドにする際のセル数の指定が容易(APIがある)

さいごに

グレースケールをRGB変換する機会はあまりないと思います。筆者の場合は、マルウェア解析の精度比較のため、画像化した際に使用しました。

https://www.kaggle.com/c/malware-classification/

今後、マルウェアの分類について時間があったらどこかで書き残しておきます。

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1