1

私はこの質問が以前に尋ねられたことを知っていますが、私はまだ仕事をすることができる回答を見つけることができませんでした。私はPythonとTensorflowを初めて使いましたが、MNISTイメージセットで+ 99.3%の精度を得ることができました。今私は自分のイメージを使用しようとしていますが、これは予想よりも私にとって難しいことが分かりました。TensorFlowで自分の画像を使用するにはどうすればいいですか?

私はTensorflowサイトのチュートリアルページを何百回も読んだことがありますが、私には分かりません。今私は自分自身でそれを理解したいですが、自分のイメージで作業するのが最も簡単な方法を誰かが持っていますか?あるいは何かの例?私はそれらをオンラインで見てきましたが、私は1000のものを見つけるように感じていますが、それらのどれも私が理解できる方法で説明されていません。

ご協力いただきありがとうございます。

+0

これに答えるには - あなたの画像は何ですか?幾つ?それらはラベル付けされていますか大きさは?クラスとは何ですか?あなたは、分類やもっと洗練された何かをしたいですか? – dga

+0

私はそれに別のシンボルを持つ42のトークンを持っています。シンボルは実際には様式化されているので、イメージのサイズは本当に低品質になる可能性があります。私の目標は、私が写真を作ったトークンを認識することです。これは、それぞれ異なるラベルを持つ42個のトークンを意味します。 –

+0

ラベル付きデータセットを作成するために事前に写真を撮っている物理的なトークン?さまざまな条件(背景、照明、向きなど)で、どれくらいの写真を撮りたいですか? :) – dga

答えて

1

これをまとめると、42のクラスがあり、それぞれ約10枚の画像があると予想します。

これは2つのことが必要で、かなり真正面あなたを配置します

あなたは既にコメントでデータ増大のためそうな必要性に対処してきた、そしてあなた're spot on:クラスごとに10枚の画像を最大限に活用するには、それらに一連の変換を適用したいと思うでしょう。おそらく多くのより10/20トータルイメージ:

  • スケーリング
  • をトリミング
  • ノイズ
  • コントラスト/色/明るさ調整
  • 回転

データ増強の好例画像分類の場合はofficial resnet example model

2つ目は、移転学習です。ごくわずかなデータから42のクラスのモデルを学習しようとすると、他のデータを訓練したモデルから始めて、新しいデータセットで最後の(いくつかの)レイヤーを再学習すれば、おそらくもっとうまくいくでしょう。この背後にあるのは、最初のトレーニングのサンプル空間がはるかに大きいので、クラシファイアが、トランスファーによって分類されたクラシファイアが、より高いレベルの認識をより迅速に実現するために使用できるさまざまな一般的な画像機能を学習するのに役立ちます。

もちろん、能動的な学習をすることもできます。分類子を訓練して、トークンの画像を表示します(ウェブカムを介して、各フレームを分類するなど)。そして、それを次のトレーニングラウンドの例として保存します。これはより多くの作業を必要とし、インフラストラクチャを構築しなければならないので、私は転送学習から始めます。

次に、転送の学習にどのようなアーキテクチャを使用するのかという質問があります。あなたがやっていることの開始はおそらく多すぎますが、ストックのMNISTモデルはおそらくあなたが望むよりも簡単です。あなたはいくつかの実験をする必要があります - 一般的なMNISTの例のように修正されたLeNetスタイルのクラシファイアはかなりうまくいくでしょう(別の畳み込みレイヤーを追加し、batchnormと多少のドロップアウトを加える)。また、事前に訓練されたMobilenetネットワークで開始し、そこから学習を移すこともできます。推論のスピードに厳しい計算上の制限がない限り、後者から始めたいと思うでしょう。

画像には、まずJPEG画像のディレクトリを作成します。それらを処理する最も「公式な」方法は、this answerのプロセスです。

+0

この回答は素晴らしいです、ありがとうございました!私はすでに、基本的なMNISTモデルがうまく動作しないと考えていたので、自分のイメージを自分のコードにインポートしてから、ドキュメントを使ってたくさんのテストを行い、すべてのオプションを感じ取ることができるようにしました。それを行う最も効率的な方法ではありませんが、これは私が多くのことを試して試行錯誤して自分の道を見つけることができるように学ぶことを試みています。すでに私の関心を引いているMobilenetネットワークを見てきました。私は、転送学習を使ってそれをトークンに使用する方法を検討します。 –

関連する問題