The End of the World

勉強したことのメモが中心。たまに日々の雑感。

リモートセンシングの分類タスク向けデータセット

めっちゃたくさんあった。でも、ソースはほぼGoogle Earthです。リンクは気が向いたら載せます。

Data Set class samples (per class) size resolution source
UC-Merced dataset 21 100 256 x 256 0.3m (1foot) the USGS National Map Urban Area Imagery collection
WHU-RS19 dataset 19 50 600 x 600 ~0.5m Google Earth
RSSCN7 7 400 400 x 400 Google Earth
AID dataset 30 200 ~ 400 600 x 600 0.5~8m Google Earth
PatternNet 38 800 256 x 256 0.062~4.693m Google Earth & Google Map API
SAT-4 dataset 4 約10'000 28 x 28 1m aircraft
SAT-6 dataset 6 約54'000 28 x 28 1m aircraft
RSI-CB 256 35 約685 256 x256 0.3~3m Google Earth & Bing Map
RSI-CB 256 45 約800 128 x 128 0.3~3m Google Earth & Bing Map
NWPU-RESISC45 dataset 45 700 256x256 0.2~30m Google Earth
SIRI-WHU 12 200 200 x 200 2m Google Earth
Brazillian Coffee Scenes 3 64 x 64 1'438~36'577 (計 51'004) おそらく 10m SPOT

tiff画像を扱うpythonモジュール"tifffile"の紹介

tifffile を使おう

あまり無い機会だとは思いますがディープラーニングの源泉画像としてtif形式のものを用いることがあります。 たとえば地理画像の解析をする場合、tiff形式で提供されていることも多く、また4バンド以上の画像を扱わなければいけない場合があります。

gdalというライブラリも多機能で結構便利なのですが使い勝手がやや悪いことがネックになっていました。 自分の環境でgdalのインストールに失敗したこともあって、代わりのライブラリを探していたということもあります。

そんな時に見つけたのがtifffileというそのままの名前のモジュールです。 試してみたところ使い勝手が非常に良かったため紹介させていただきます。

インストール

※anaconda環境の場合


conda install -c conda-forge tifffile

(参照)https://anaconda.org/conda-forge/tifffile

画像の読みこみ

imreadというメソッドを使います


>>> import tifffile
>>> image = tifffile.imread('image.tif')
>>> image.shape
(6000, 6000, 4)

書き方はちょっとopenCVっぽいですね。。。

画像の保存

imsaveというメソッドです


>>> import tifffile
>>> import numpy as np

>>> data = np.random.randint(0,256,(600,600,3))
>>> data = data.astype(np.uint8)
>>> tifffile.imsave('image.tif', data)

ノイズ画像が保存できました。

f:id:dl-kento:20171223140157j:plain



(参考)https://pypi.python.org/pypi/tifffile