「人工知能」の技術が盛んに応用されています。
そんな中、
- 「画像認識」をしたい!
と思われる方も多いのではないでしょうか。
「画像認識」は、人工知能の中で教師あり学習の1つです。
「教師あり学習」は、既知の正解データから学習することをいいます。
得られた学習結果を使って、
未知のデータを「分類」したり「予測」したりします。
学習アルゴリズムにはいろいろあるのですが、
画像認識においては、
2012年ごろから特にブレークスルーが起こり、
「ディープラーニング(深層学習)」
で、高い精度が得られることがわかりました。
つまり、画像認識をひとことで言うと、
- ディープラーニングに画像を与えて学習させる
というのが現在の定番となっています。
ディープラーニングについては、
様々な無料(フリー)ソフトやライブラリなどを活用することで実装が可能です。
そこで必要となるのは、画像データになります。
ディープラーニングの性質上、
(モノによりますが)大量の画像データが必要になります。
また、データの質も重要であることが知られています。
そこで本記事では、
- 画像認識には、どんな画像データが必要なの?
- 画像データを得たいんだけど、どうしたらいいの?
- 有名な画像データセットって?
といった画像認識で必要になる画像データセットについて、サクッとまとめたいと思います。
本記事の概要
「画像認識」に必要な「画像データセット」とは?どうやって集めればいいの?有名な画像データセットとは?といった点を知りたいあなたはこちらをどうぞ【画像データセット】】
画像データセットに必要な条件とは?
画像認識をするには、画像データが必要、と書きました。
インターネットやSNSなどには大量の画像があるので、
クローリングやスクレイピングすればいいんじゃないの?
と思われるかもしれません。
クローリングやスクレイピングって何?って方はこちら↓
『「クローリング」や「スクレイピング」を学びたいあなたにおすすめの本、8冊+α はこちらです』
しかし、画像認識システムを作る時の画像データとしてはこれでは不十分なんです。
え?なんで?
と思われるかもしれません。
画像認識で必要とする画像データには、
必要な条件があるからです。
画像認識に適切な画像データとは、
- 画像
- それが何の画像かのラベル
の2点がセットになっているものになります。
具体的に言うと、例えば、
- 「犬」の画像には、正解ラベルとして「犬」
- 「猫」の画像には正解ラベルとして「猫」
- 「コップ」の画像には正解ラベルとして「コップ」
・・・・
のように、
画像と正解ラベルがセットになったもの
というわけです。
画像認識のための画像データセットはどうやって集めるの?
多くの人が画像認識を行っていますが、
1人ひとりがそれぞれ画像とラベルを手作業で作っていったら、非効率的ですよね。
大量のラベル付け作業は、なるべく避けたいものです。
そこで役立つのが、
既にラベル付けされた画像データセットです。
画像認識のコミュニティでは、
いくつかの画像データセットが、無料で公開されています。
それらを使えば、画像認識モデルを作ることができる、というわけです。
ちなみに、どうしても独自データを作成したい!
という場合には、
クラウドソーシングなどを使うことで、
ラベル付けを安価にやってもらうことも可能です。
例えば、以下の書籍などがございます↓
というわけで、ここでは有名な画像データセットについて紹介します。
画像認識に使える、有名な画像データセットとは
もっとも有名なものの1つに、手書き数字のデータセットがあります。
MNIST, Extended MNIST
6万枚もの手書き数字(0から9)の画像が、
その答えラベル(0から9)とともにまとめられています。
画像認識の練習問題としてよく出てくるタスクの1つとなっています。
画像サイズは28×28で、グレースケール画像です。
MNISTは、Modified National Institute of Standards and Technology の略で、
画像数を増やした、Extended MNIST (EMNIST)も作成されています。
EMNISTは、28万の手書き数字と英文画像のデータセットになっています。
CIFAR-10
6万枚の一般的な物体の画像データセットです。
CIFAR-10の10は、クラスが10種類であることを表しています。
クラスには、
- 飛行機, 車, 船, トラック
- 鳥, ネコ, 鹿, 犬, カエル, 馬
の10種類があります。
6万枚の画像をこの10種類に分類できるように画像認識器を学習させることができます。
画像サイズは32×32で、カラー画像になっています。
CIFAR-100
CIFAR-10を拡大したデータセットです。
100種類のクラスラベルが付けられており、
それぞれに600枚の画像データセットがあります。
加えて、20種類のスーパークラスのラベルもあります。
一枚の画像には、
- より抽象度の高いスーパークラスのラベル(coarse label)
- より具体的なクラスのラベル(fine label)
の2種類のラベルがあるわけです。
画像サイズは32×32で、カラー画像になっています。
ImageNet
約1420万枚もの巨大な画像データセットです。
2万種類以上のラベルが使って分類されています。
また、少なくとも100万種類には、バウンディングボックスの情報も示されています。
(バウンディングボックスとは、物体検出で使われる
画像中に物体がある領域を示した四角の箱のことです。)
ちなみに、画像認識コンテストの1つである
ILSVRC : the ImageNet Large Scale Visual Recognition Challenge
でも使われています。
冒頭で述べた、ディープラーニングの画像認識精度の大幅な向上は、このコンテストで示されました。
ちなみに、こんな大きな画像データにラベルをつけるなんてすごいと思われるかもしれませんが、
ラベル付けにはクラウドソーシングの1種であるAmazon Mechanical Turkが使われました。
そこで活躍するラベル付けの職人さんは、
平均的には、1分間に50枚ものラベルをつけるそうです。
というわけで、本記事では、
- 画像認識には、どんな画像データが必要なの?
- 画像データを得たいんだけど、どうしたらいいの?
- 有名な画像データセットって?
といった画像データセットについて、サクッとまとめました。
↓こちら無料で読めます
ちなみにこちらでご紹介したシリーズは、Kindle Unlimitedの登録することで、
無料で読むことが可能です。
お試し登録(解約できて無料)をしてみてはいかがでしょうか(初回30日間無料で体験できます)↓
こちらもございます↓
『「機械学習」に関する記事のまとめ(目次)はこちらからどうぞ』
『「画像処理」や「画像認識」に関する記事の一覧(目次)はこちらです』