これをまとめると、42のクラスがあり、それぞれ約10枚の画像があると予想します。
これは2つのことが必要で、かなり真正面あなたを配置します
あなたは既にコメントでデータ増大のためそうな必要性に対処してきた、そしてあなた're spot on:クラスごとに10枚の画像を最大限に活用するには、それらに一連の変換を適用したいと思うでしょう。おそらく多くのより10/20トータルイメージ:
- スケーリング
- をトリミング
- ノイズ
- コントラスト/色/明るさ調整
- 回転
データ増強の好例画像分類の場合はofficial resnet example model
2つ目は、移転学習です。ごくわずかなデータから42のクラスのモデルを学習しようとすると、他のデータを訓練したモデルから始めて、新しいデータセットで最後の(いくつかの)レイヤーを再学習すれば、おそらくもっとうまくいくでしょう。この背後にあるのは、最初のトレーニングのサンプル空間がはるかに大きいので、クラシファイアが、トランスファーによって分類されたクラシファイアが、より高いレベルの認識をより迅速に実現するために使用できるさまざまな一般的な画像機能を学習するのに役立ちます。
もちろん、能動的な学習をすることもできます。分類子を訓練して、トークンの画像を表示します(ウェブカムを介して、各フレームを分類するなど)。そして、それを次のトレーニングラウンドの例として保存します。これはより多くの作業を必要とし、インフラストラクチャを構築しなければならないので、私は転送学習から始めます。
次に、転送の学習にどのようなアーキテクチャを使用するのかという質問があります。あなたがやっていることの開始はおそらく多すぎますが、ストックのMNISTモデルはおそらくあなたが望むよりも簡単です。あなたはいくつかの実験をする必要があります - 一般的なMNISTの例のように修正されたLeNetスタイルのクラシファイアはかなりうまくいくでしょう(別の畳み込みレイヤーを追加し、batchnormと多少のドロップアウトを加える)。また、事前に訓練されたMobilenetネットワークで開始し、そこから学習を移すこともできます。推論のスピードに厳しい計算上の制限がない限り、後者から始めたいと思うでしょう。
画像には、まずJPEG画像のディレクトリを作成します。それらを処理する最も「公式な」方法は、this answerのプロセスです。
出典
2017-11-22 02:03:23
dga
これに答えるには - あなたの画像は何ですか?幾つ?それらはラベル付けされていますか大きさは?クラスとは何ですか?あなたは、分類やもっと洗練された何かをしたいですか? – dga
私はそれに別のシンボルを持つ42のトークンを持っています。シンボルは実際には様式化されているので、イメージのサイズは本当に低品質になる可能性があります。私の目標は、私が写真を作ったトークンを認識することです。これは、それぞれ異なるラベルを持つ42個のトークンを意味します。 –
ラベル付きデータセットを作成するために事前に写真を撮っている物理的なトークン?さまざまな条件(背景、照明、向きなど)で、どれくらいの写真を撮りたいですか? :) – dga