質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

91.02%

MNISTで学習後、実際の手書き文字を認識するために必要なこと

解決済

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 829

Takamu2445

score 6

MNISTで学習後、実際の手書き文字を認識したいと考えています。
下記のようなステップが必要と思いますが、合ってますでしょうか。
また、それぞれの方法を学ぶのに役立つサイトなどがありましたら
教えていただけないでしょうか。(これらの技術を表す用語もわからず
どうやって調べたらいいのかがわかりません)

1.画像の中にある全ての数字を1文字単位で抜き出す。
・理想をいうと数字以外の文字があっても無視したい。
・理想をいうと枠などの文字でない情報は無視したい。
2.1文字を28x28dotに変換する

以上、よろしくお願いします。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

checkベストアンサー

0

MNISTで学習後、実際の手書き文字を認識したいと考えています。
下記のようなステップが必要と思いますが、合ってますでしょうか。

Step.1が広大なのに対して、Step.2はかなり小さい話なので、やるとすればこのステップは逆になります。

それぞれの方法を学ぶのに役立つサイトなどがありましたら教えていただけないでしょうか。
(これらの技術を表す用語もわからずどうやって調べたらいいのかがわかりません)


初めにすること)
今ここで、"手書きひらがなの認識で99.78%の精度をディープラーニングで"の記事に沿って処理をして数字だけ抜き出せば!だとか、直線を認識するならハフ変換だ!だとか言葉を並べてもなかなか実感がわかないと思います。

なので、まずは気になるブログをひたすら読み、気になる解説ページをひたすら読み、それらから出てきた気になる言葉をひたすら調べてください。ここで出てきた気になる言葉は、かなり高い確率で今探し求めている技術用語です。調べるにはGoogle検索が一番おススメです。

70億人中男は35億ですが、日本語でMNISTのことを公開している技術者は恐らく数百人も居ません。その貴重な人たちは、Qiitaにたくさんいらっしゃるので、彼らの記事を優先的に読むと分かりやすいと思います。

一方、英語でMNISTのことを公開している技術者は、恐らく日本語で公開している技術者の数よりも何桁か増えます。なので、もし余力があれば、先ほど出てきた気になる言葉を英語に切り替えてGoogle検索してください。この中で、Stackoverflowが出てきたら優先的に読んだ方が良いと思います。

次にすること)

  • 実践
    tensroflowのMNISTサンプルがありますよね。あれはいじり倒してもRaspberry Piのように焼けませんので、とにかくパラメータを触ってみる、動かしてみる、エラーが出たらエラーを調べる、を繰り返してください。

  • 文献
    必要であれば本を買った方が良いと思います。MNIST等に興味のある方の話を読む限り、一番見た率が高そうなのはオライリーの「ゼロから作るディープラーニング」です。


ここまでやってこればたぶん何とかなると思います。それでも分からないことがあれば、実際のコードを示しながらここで質問を投稿すると、皆様からあれこれ実のあるアドバイスをもらえると思います。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/10/23 21:50

    回答ありがとうございます。
    言葉足らずな部分があったのと、数字以外の文字や枠を無視したいというのは大きすぎたので、
    もう少し限定させていただきます。
    例えばあるモノクロ画像中に5~10桁の数字のみが書かれていることがわかっていてこの数字を
    認識したいとすると、
     ①1文字毎に切り出す(1文字を含む長方形領域のx,y,width,heightを明らかにする) 
     ②各切り出し画像を数字として識別する
    が必要と思います。googleで「画像 数字 抜き出し」等で調べるとOCR関係の情報
    は見つかるのですがこれは①②を同時に行ってしまいます。この①だけを行う
    ための方法や用語を知りたいのですがご存知でしたら教えていただけないでしょうか。

    キャンセル

  • 2017/10/24 07:44 編集

    文字の話)
    下のサイトだとノイズの取り除き方から文字の抜き取り方までのっていますね。
    http://linx.jp/casestudy/halcon-character

    ここで"Python" "文字抽出"のような感じで調べると、"tesseract-ocr"に突き当たります。
    http://independence-sys.net/main/?p=1777

    "tesseract-ocr"について調べると、以下のサイトが見つかります。
    http://no89.hatenablog.com/entry/2017/03/25/114925

    用語ってほどの用語ではなさそうですが、もうこれで実装できそうですね。

    汎用的な話)
    画像 抽出 pythonと探すと色々な抽出方法が出てきます。
    文字だと区切る場所が重要になってくると思うので、チョッと工夫が必要かもしれませんね。

    キャンセル

  • 2017/10/24 07:45

    tesseract-ocrは文字認識まで行ってしまいそうなので避けていました。
    文字抽出のみ行うのはなかなか情報見つかりませんでしたが
    http://linx.jp/casestudy/halcon-character
    こちらのサイトを参考にしてみようと思います。
    ありがとうございました。

    キャンセル

  • 2017/10/24 18:54

    文字の抽出はやったことがありませんが、たぶんモノの抽出以上に癖がありそうなので、いろいろ試してみてくださいね。

    キャンセル

  • 2017/10/25 21:08

    C#しか経験ありませんが興味本位でAIを始め、tensorflowを使えるようになれば色々できるようになると期待してチュートリアルまで理解したつもりですが、tensorflow以上に前処理(と言っていいのかわかりませんが今回質問させていただいたようなこと)が重要ではないかと思い始めました。tensorflowに比べて情報が少ないので、まずは色々試してみようと思います。ありがとうございました。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 91.02%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

  • 解決済

    MNISTデータセットの読み込み

    ディープラーニングで使用される手書き数字の画像セット「MNIST」の読み方を教えてください。 google検索で探した MNISTに関するサイトのコードをanacondaに入

  • 解決済

    MNISTのコードについて

    ディープラーニングのMNISTで以下のコードがありました。 下記のコードの def img_show(img): pil_img = Image.fromarray(np.u

  • 解決済

    python MNISTデータセットの読み込み

    前提・実現したいこと python ゼロからのDeep Learning(73p)でMNISTデータセット読み込む時にエラーメッセージが発生しました。どうしたらMNISTを読み込

  • 受付中

    MNISTデータを多層パーセプトロンで学習する問題です。

    以下のエラーが発生し、精度を算出することができません。 global xを入れる場所がわからず困っています。 エラーメッセージ UnboundLocalError    

  • 解決済

    値がおかしい?MNISTデータセットを多層パーセプトロン(MLP)で学習

    質問内容 結果の値がおかしいと思われるが、コードのどの部分がおかしいかわからない。 条件 homework関数内のみで作成 MLPの作成にTensorflowなどのライブラリを

  • 解決済

    mnist for ML Beginnersについて

    https://qiita.com/kkk3H/items/c3eb0d868170b29b0b87 こちらの記事を読ませていただいて自分も同じことをしてみたいと思ってやってみ

  • 解決済

    [Python3]MNISTデータセットの読み込み

     前提・実現したいこと ゼロから作るDeep Learning  ――Pythonで学ぶディープラーニングの理論と実装を勉強中です。 第3章のMNISTのデータの読み込みを行い

  • 解決済

    MNISTデータの読み込み

     前提・実現したいこと ゼロから作るDeep Learning  ――Pythonで学ぶディープラーニングの理論と実装を勉強中です。 第3章のMNISTのデータの読み込みを行い

同じタグがついた質問を見る