CIFAR-10とは

機械学習の勉強用に画像が必要になりググっていると、
CIFAR-10さんの画像データセットが良さげです。
解像度は32×32と小さいけれど、犬や猫など種類が10種類あり、各6000枚と圧倒的な量です。
Windowsでデータ利用したかったので、
バイナリ提供されているものを画像ファイルに変換することにしました。

データ形式

・解像度:32 x 32
・画像の種類は10種類あります。アメリカンなチョイスですね。
 airplane:飛行機
 automobile:自動車
 bird:鳥
 cat:猫
 deer:鹿
 dog:犬
 frog:カエル
 horse:馬
 ship:船
 truck:トラック
・各種類ごとに6000枚。
 トレーニング用画像が5000枚。
 テスト用画像が1000枚
・バイナリ構造のイメージ図です。

画像バイナリファイルの入手方法

・サイト:The CIFAR-10 dataset
 Download先:CIFAR-10 binary version (suitable for C programs)
 ダウンロードしたら解凍展開します。
・展開後のフォルダ構成は以下のとおりです。
 cifar-10-batches-bin
  batches.meta.txt ラベル名
  data_batch_1.bin トレーニング画像の1
  data_batch_2.bin トレーニング画像の2
  data_batch_3.bin トレーニング画像の3
  data_batch_4.bin トレーニング画像の4
  data_batch_5.bin トレーニング画像の5
  test_batch.bin テスト画像

変換ツールの作成

・んで本題です。VSを起動してプロジェクトの作成。
・Nugetで「System.Drawing.Common」をインストールしてください。
・MainWindow.xamlとMainWindow.xaml.csを編集してください。

変換ツールの実行


ビルドして実行すると、画面にボタンでるのでクリックすると画像を作成します。
実行前にexeの実行フォルダに、cifar-10-batches-binフォルダを配置してから実行してください。

参考

http://aidiary.hatenablog.com/entry/20151014/1444827123
https://blog.hatappi.me/entry/2018/02/27/224707
http://note.websmil.com/vb/グラフィック/cifar-10データセットを画面表示する