SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Javaで学ぶグラフィックス処理

ニューラルネットワークを用いたパターン認識

車両のナンバープレートの読取りシステムへの応用


プログラムの使い方

 アプレットを起動すると、まず「学習モード」の画面が現れて、上部に学習するパターンが表示され、実行中の「外部サイクルの回数」と「二乗誤差の合計」が表示されます。「外部サイクルの回数」は、200回(0から199まで)に設定されています。

 学習が終わると、学習結果が表示されます。斜めに赤色の「YES」が、それ以外は青色の「NO」になれば、学習は正しく行われています。もし誤りや黒色の「?」があれば、[再学習]ボタンをクリックします。

 学習に成功すれば、[学習終了]ボタンをクリックして「認識モード」に移ります。

プログラムの実行結果

 図2は、「学習モード」で学習が終わった状態を示しています。二乗誤差は、10-4程度と十分小さくなっており、結果の確認でも良好な結果が得られています。

図2「学習モード」で学習が終了した画面
図2「学習モード」で学習が終了した画面

 図3は、図2の状態で[学習終了]ボタンをクリックして「認識モード」に移り、数字の「8」を手書きで入力してから[認識]ボタンをクリックした結果を示します。手書き入力を丁寧にしなかったため、「8」との一致が81%と示されています。学習に使用したパターンに近く丁寧に入力すると、100%の一致が得られます。

図3 「認識モード」で文字を入力し、[認識]ボタンをクリックした画面
図3 「認識モード」で文字を入力し、[認識]ボタンをクリックした画面

まとめ

 ニューラルネットワークのシミュレーションの例として、車両のナンバープレートの読み取りを試みました。ナンバープレートの画像をサンプルとして使用しないで、手書きによる入力で代用しましたので、手書き文字(数字)認識装置のように見えますが、学習に使用した文字は、ナンバープレート用のものです。

 内外のウエブ上に、本稿に似たアプレットが公開されていますが、私が試した範囲の限られた例では、満足に動作するものは見当たりませんでした(Java Runtimeのバージョンの違いもあるかも?)。

 ニューラルネットの研究者からみると、本稿で紹介したものはオモチャのようなものですが、専門家以外の方にも関心を持ってもらい、別な角度から新しい応用や改善を提案していただければ幸いです。

参考資料

 この記事は、筆者のウエブサイト「Visual C++ 6.0の易しい使い方(17)-ニューロンをシミュレーションして排他的論理和を実現する-(ただし、現在はVisual C++ 2005 Express Edition版に改定)」を改良してJava言語に書き直し、分かりやすく加筆したものです。

 ウエブ上には、多数の優れた資料があり、下記は一例です。

 著書では、下記が比較的分かりやすいと思われます。

修正履歴

この記事は参考になりましたか?

連載通知を行うには会員登録(無料)が必要です。
既に会員の方はを行ってください。
Javaで学ぶグラフィックス処理連載記事一覧

もっと読む

この記事の著者

石立 喬(イシダテ タカシ)

1955年東京工大卒。同年、NECへ入社し、NEC初のコンピュータの開発に参画。磁気メモリ、半導体メモリの開発、LSI設計などを経て、1989年帝京大学理工学部教授。情報、通信、電子関係の教育を担当。2002年定年により退職し現在に至る。2000年より、Webサイト「Visual C++の勉強部屋」を公開。...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/372 2008/03/16 10:34

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー