SlideShare ist ein Scribd-Unternehmen logo
1 von 44
Downloaden Sie, um offline zu lesen
有限会社   来栖川電算 山口陽平
オープンソースカンファレンス名古屋2012
あじぇんだ
         
 自己紹介
 はじめに
 紹介するOSS
 設計
 実装
 ???
 まとめ
 参考文献
自己紹介
   
  山口陽平
有限会社来栖川電算
山口陽平
               
 プログラミング言語・型理論の研究者
  世界を美しく記述することを夢見る33歳
  名古屋工業大学大学院出身
  未踏ソフトウェア経験
 人を驚かせるのが好き
    Nativeコードより速いJavaコード
    1日でHaskellを作る
    ハードリアルタイムJavaVM
    1000台越え構成のペタバイト級分散DB
    PC上で秒間1000万クエリ処理できるKVS
                              ※あくまでもイメージです。
                              実物に髪の毛はありません。
有限会社来栖川電算
           
 概要
  名古屋工業大学発ベンチャー(2003年)
 目的
  ソフトウェアの品質・生産性向上
 スタッフ
  役員3人・正社員7人・アルバイト9人
  データ作成4人・家政婦2人
  IPA未踏ソフトウェア経験者多数
 社風
  職人・挑戦・自由
                          イオン千種・名大病院・名工大の間
  昼食・夕食・飲み会は無料
はじめに
  
 何を作るの?
 準備するもの
 取り組む姿勢
何を作るの?
        
 スマホで撮影した写真から単語を抽出するアプリ
準備するもの
              
 スマホ                       開発環境
  Android 2.3                サーバと同じソフト
 サーバ                         android-sdk_r18
    Scientific Linux 6.2     Eclipse Indigo JavaEE IDE
    Java SE 7                 for Web Developers.
                                  CDT
    Apache Tomcat 7.0
                                  ADT
    OpenCV-2.2.0
    O2-tools-2.00       ここを紹介するよ!
    nhocr-0.20
取り組む姿勢
           
 考慮すること
  動くこと
  分かりやすさ
 考慮しないこと
    認識精度
    安全性
    信頼性
    可用性
    拡張性
紹介するOSS
       
     OpenCV
  NHocr & O2-tools
OpenCV
                  
 元はインテル製の画像処理ライブラリ
  APIが単純で割と使いやすい
      様々な画像(※GIF除く)の読み書きに便利

  様々な分野のアルゴリズムを網羅
      画像処理・特徴抽出とディスクリプタ抽出
      クラスタリング・多次元空間探索・オブジェクト検出
      ビデオ解析・カメラキャリブレーション・姿勢推定
      ステレオ・機械学習

 サイト
  【公式】http://opencv.willowgarage.com/
  【日本コミュニティ】http://opencv.jp/
NHocr & O2-tools
             
 日本語OCR・画像処理ライブラリ
  一文字認識の認識精度はわりとよい
      一応、行認識もできる

  コマンドラインツールがある
      画像ファイルの文字認識・フォントからの辞書作成




                                   あ
  本格的に使うにはわりと改良がいる
      コード量が少ないので難しくはない

 サイト
  【後藤研究室】http://www.imglab.org/
 注意
  一部をコメントアウトしないとビルドできない場合が
設計
  
概要(もう一度)
 スマホアプリ
文字認識サービス
文字認識コマンド
概要
          
 スマホで撮影した写真から単語を抽出するアプリ
スマホアプリ
        
 マッシュアップでシンプルに!
  主な作り込みは単語抽出(言語処理)だけ
文字認識サービス
       
 中継するだけ!
  主な作り込みは文字認識コマンドの中
文字認識コマンド
        
 OepnCV・NHocrのAPIはシンプルで使いやすい!
  難しいのは文字領域抽出だけ
実装
 
 画像読込
  二値化
文字領域抽出
 文字認識
 XML出力
 言語処理
画像読込
                           
 OpenCVなら画像の読み書きが簡単!
  BMP DIB JPEG JPG JPE PNG PBM PGM PPM SR RAS TIFF TIF




     #include <opencv/cv.h>
     #include <opencv/highgui.h>
     int main() {
       IplImage* tImage = cvLoadImage("input/club_adriana.jpg", CV_LOAD_IMAGE_COLOR);
       cvNot(tImage, tImage);
       cvSaveImage("output/not_club_adriana.png", tImage);
       cvReleaseImage(&tImage);
       return 0;
     }
二値化
                                  
 OpenCVには基本的な二値化アルゴリズムがある!
  cvThreshold:与えた閾値で二値化する。(大津の方法も)
  cvAdaptiveThreshold:近傍の平均から閾値を決める。
 #include <opencv/cv.h>
 #include <opencv/highgui.h>
 int main() {
   IplImage* tImage = cvLoadImage(
    "input/club_adriana.jpg", CV_LOAD_IMAGE_GRAYSCALE);     ライトが
   IplImage* tBinarizedImage = cvCreateImage(               当たって
    cvGetSize(tImage), tImage->depth, tImage->nChannels);   いるとな
   cvAdaptiveThreshold(tImage, tBinarizedImage, 256,
    CV_ADAPTIVE_THRESH_MEAN_C, CV_THRESH_BINARY, 19);       かなかう
   cvSaveImage("output/binarized_club_adriana.png",         まくいか
    tBinarizedImage);                                       ない
   cvReleaseImage(&tBinarizedImage);
   cvReleaseImage(&tImage);
   return 0;
 }
文字領域抽出
        
 ヒストグラムで文字がある場所を見つけるぞ!
  ぐるぐるループしながら四則演算するだけ
  行の上下に余分なものが写っているとうまくいかない
文字認識
                            #include <opencv/cv.h>

 NHocrなら文字認識が簡単!            #include <opencv/highgui.h>
                             #include <siplib.h>

  ①辞書の選択・初期化など              #include <nhocr.h>
                             int main() {
                               NHrec tNHrec;
    ascii+(英数字)               tNHrec.setlibdir(
    jpn(日本語)                   (char*) "/usr/local/moji/nhocr-0.20/share/");
                               tNHrec.setdiccodes((char*) "ascii+");
    ユーザ辞書                     tNHrec.open();
                               IplImage* tImage = cvLoadImage("input/Ao.png",
  ②画像形式の変換                     CV_LOAD_IMAGE_GRAYSCALE);
                               SIPImage* tSIPImage = createSIPImage(tImage);
    OpenCV ⇒ NHocr            int tCount = 10;
                               RecResultItem tCondidates[tCount];
  ③文字認識                       tNHrec.rec_character(tSIPImage, 0, 0,
                                tImage->width, tImage->height, tCondidates);
    入力                        for (int tIndex = 0; tIndex < tCount; tIndex++)

      文字の場所
                                printf("%c:%f¥n", (char)tCondidates[tIndex].id,
                                  tCondidates[tIndex].dist);
    出力                        sip_DestroyImage(tSIPImage);
                               cvReleaseImage(&tImage);
      {文字:距離, ..., 文字:距離}     tNHrec.close();
                               return 0;
                             }
XML出力
                       
 各文字領域は複数の候補を持つ
 各候補は文字と距離を持つ
   <result>
    <candidates>
     <candidate><character>H</character><distance>1</distance></candidates>
     <candidate><character>4</character><distance>2</distance></candidates>
    </candidates>
    <candidates>
     <candidate><character>O</character><distance>1</distance></candidates>
     <candidate><character>0</character><distance>2</distance></candidates>
    </candidates>
    <candidates>
     <candidate><character>M</character><distance>1</distance></candidates>
     <candidate><character>m</character><distance>2</distance></candidates>
    </candidates>
    <candidates>
     <candidate><character>U</character><distance>1</distance></candidates>
     <candidate><character>u</character><distance>2</distance></candidates>
    </candidates>
   </result>
言語処理
          
 様々な言語処理
  距離の和が最も小さいパスを選ぶ。
  文字種を限定する。
   記号・数字・英字(大・小)・かな・カナ・漢字
  辞書に含まれている単語だけを選ぶ。
  文法にあうパスを選ぶ。
   正規表現・文脈自由・自然言語
簡単に使えるけど
それ以外が難しい
            
   AdaptiveThresholdもあんまり使えない
ヒストグラム使った文字領域抽出が話にならない
 1位だけを採用する言語処理でも話にならない
まだまだ利用申請できるよ!どんどんしてね!


         recognize.jp
             
 WebAPIで画像をPOSTするだけ
  難しいことは全部サーバでやってくれる!
タンゴチュウが
(前より)賢くなった!
               
4月のrecognize.jpのアップデートで目に見えて良くなったぞ!


   1年前とくらべて・・・   4倍      の賢さだ!
情
                     文   景
                         画
                    字   像
                         か
                     認   ら
                     識   の

                     サ
                     ー
http://tangochu.jp
                     ビ
説明前に宣伝させて!
                     ス
タンゴチュウとは
               
 写真(情景画像)から単語を抽出
  例えば メニュー チラシ お菓子のパッケージ
  レシート 名刺 看板 …
情景画像の文字認識とは

    
情景画像の文字認識とは

    
情景画像の文字認識とは

              
 従来のOCRとは戦場が違う
  悪環境下での文字認識
   手書き・様々な書体・かすれ・点描・きつい
    パース・統一性のない並び・逆光・陰・影・グ
    ラデーション・モアレなど




    目指すはこんなかっこいい世界!
タンゴチュウ
            for Twitter


              
 手軽に文字認識を体験できる!


        @tcfox
タンゴチュウ
           for Twitter


             
 手軽に文字認識を体験できる!
タンゴチュウ
           for Evernote


             
 写真の検索・整理に役立つ!
0.0
           1.0
           2.0
           3.0
           4.0
           5.0
           6.0
           7.0
2011年06月

2011年07月

2011年08月

2011年09月

2011年10月
                                        4倍の賢さ・6倍の速さ
                                   着実に進化している!




2011年11月

2011年12月
                                               



2012年01月
              情景画像文字認識ではトップクラス




2012年02月
                                                       性能推移




2012年03月

2012年04月
カスタマイズOK
                
  棚卸し・検査・電子辞書などに
     用途を限定すると非常に高精度
        既に稼働していて、驚くほど高性能
     出版系・測量系からも引き合いがきているぞ!




Android端末
への組み込み
もやってるよ
とにかくアクセス!

       



               萌えキャラたちも待ってるぞ!



    http://tangochu.jp
まとめ
         
 オープンソースを活用すれば
 とりあえず動くものは作れる
    性能がでるかは腕次第
 recognize.jpを使えば割とよい

今回のスマホアプリのソースコードは
ダウンロードできるようにしておくよ!
参考文献
  
 リンクとか
参考文献①
                   
 Scientific Linux
    http://www.scientificlinux.org/
 Jave SE
    http://www.oracle.com/technetwork/java/
 Apache Tomcat
    http://tomcat.apache.org/
 Android SDK & ADT (Eclipse Plugin)
    http://developer.android.com/index.html
 Eclipse & CDT
    http://www.eclipse.org/
参考文献②
                 
 OpenCV
   http://opencv.willowgarage.com/
   【日本コミュニティ】http://opencv.jp/
 O2-tool
   http://www.imglab.org/p/O2/
 NHocr
   http://code.google.com/p/nhocr/
参考文献③
                 
 recognize.jp(情景画像文字認識API)
   http://recognize.jp/
 撮って文字入力(文字認識IME)
   http://www.nttdocomo.co.jp/smt/service/trial/trial_app/to
    tte_moji/index.html
 タンゴチュウ(情景画像文字認識サービス)
   http://tangochu.jp/
 来栖川電算
   http://kurusugawa.jp/
ご清聴ありがとうございました

      




どんどん賢くするので応援してね

Weitere ähnliche Inhalte

Was ist angesagt?

PHPからgoへの移行で分かったこと
PHPからgoへの移行で分かったことPHPからgoへの移行で分かったこと
PHPからgoへの移行で分かったことgree_tech
 
MicroPythonで作る人工生命っぽい何か
MicroPythonで作る人工生命っぽい何かMicroPythonで作る人工生命っぽい何か
MicroPythonで作る人工生命っぽい何かMakoto Koike
 
VRM 標準シェーダ MToon の使い方
VRM 標準シェーダ MToon の使い方VRM 標準シェーダ MToon の使い方
VRM 標準シェーダ MToon の使い方VirtualCast, Inc.
 
「龍が如く7 光と闇の行方」の自動テスト活用事例とテスト自動化チーム(仮)による若手育成の取り組みについて
「龍が如く7 光と闇の行方」の自動テスト活用事例とテスト自動化チーム(仮)による若手育成の取り組みについて「龍が如く7 光と闇の行方」の自動テスト活用事例とテスト自動化チーム(仮)による若手育成の取り組みについて
「龍が如く7 光と闇の行方」の自動テスト活用事例とテスト自動化チーム(仮)による若手育成の取り組みについてSEGADevTech
 
画像処理ライブラリ OpenCV で 出来ること・出来ないこと
画像処理ライブラリ OpenCV で 出来ること・出来ないこと画像処理ライブラリ OpenCV で 出来ること・出来ないこと
画像処理ライブラリ OpenCV で 出来ること・出来ないことNorishige Fukushima
 
Windowsフォームで大丈夫か?一番良いのを頼む。
Windowsフォームで大丈夫か?一番良いのを頼む。Windowsフォームで大丈夫か?一番良いのを頼む。
Windowsフォームで大丈夫か?一番良いのを頼む。Yuya Yamaki
 
深層学習の新しい応用と、 それを支える計算機の進化 - Preferred Networks CEO 西川徹 (SEMICON Japan 2022 Ke...
深層学習の新しい応用と、 それを支える計算機の進化 - Preferred Networks CEO 西川徹 (SEMICON Japan 2022 Ke...深層学習の新しい応用と、 それを支える計算機の進化 - Preferred Networks CEO 西川徹 (SEMICON Japan 2022 Ke...
深層学習の新しい応用と、 それを支える計算機の進化 - Preferred Networks CEO 西川徹 (SEMICON Japan 2022 Ke...Preferred Networks
 
計算機アーキテクチャを考慮した高能率画像処理プログラミング
計算機アーキテクチャを考慮した高能率画像処理プログラミング計算機アーキテクチャを考慮した高能率画像処理プログラミング
計算機アーキテクチャを考慮した高能率画像処理プログラミングNorishige Fukushima
 
Python製BDDツールで自動化してみた
Python製BDDツールで自動化してみたPython製BDDツールで自動化してみた
Python製BDDツールで自動化してみたKeijiUehata1
 
基礎から学ぶ組み込みAndroid
基礎から学ぶ組み込みAndroid基礎から学ぶ組み込みAndroid
基礎から学ぶ組み込みAndroiddemuyan
 
ガイデットフィルタとその周辺
ガイデットフィルタとその周辺ガイデットフィルタとその周辺
ガイデットフィルタとその周辺Norishige Fukushima
 
サービスブループリント導入ガイド A Guide to Service Blueprinting Japanese Edition
サービスブループリント導入ガイド A Guide to Service Blueprinting Japanese Editionサービスブループリント導入ガイド A Guide to Service Blueprinting Japanese Edition
サービスブループリント導入ガイド A Guide to Service Blueprinting Japanese EditionGraat(グラーツ)
 
CEDEC 2020 - 高品質かつ低負荷な3Dライブを実現するシェーダー開発 ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スク...
CEDEC 2020 - 高品質かつ低負荷な3Dライブを実現するシェーダー開発 ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スク...CEDEC 2020 - 高品質かつ低負荷な3Dライブを実現するシェーダー開発 ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スク...
CEDEC 2020 - 高品質かつ低負荷な3Dライブを実現するシェーダー開発 ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スク...KLab Inc. / Tech
 
【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!
【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!
【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!Unity Technologies Japan K.K.
 
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践Yoshifumi Kawai
 
プログラミング初心者がOpenCVと機械学習でOCRエンジン自作に挑戦する話
プログラミング初心者がOpenCVと機械学習でOCRエンジン自作に挑戦する話プログラミング初心者がOpenCVと機械学習でOCRエンジン自作に挑戦する話
プログラミング初心者がOpenCVと機械学習でOCRエンジン自作に挑戦する話marika_hotani
 
アジャイル開発導入のためにやってきたこと
アジャイル開発導入のためにやってきたことアジャイル開発導入のためにやってきたこと
アジャイル開発導入のためにやってきたことArata Fujimura
 
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps OnlineGKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps OnlineGoogle Cloud Platform - Japan
 
モバイル向けニューラルネットワーク推論エンジンの紹介
モバイル向けニューラルネットワーク推論エンジンの紹介モバイル向けニューラルネットワーク推論エンジンの紹介
モバイル向けニューラルネットワーク推論エンジンの紹介卓然 郭
 
【CEDEC2018】Scriptable Render Pipelineを使ってみよう
【CEDEC2018】Scriptable Render Pipelineを使ってみよう【CEDEC2018】Scriptable Render Pipelineを使ってみよう
【CEDEC2018】Scriptable Render Pipelineを使ってみようUnity Technologies Japan K.K.
 

Was ist angesagt? (20)

PHPからgoへの移行で分かったこと
PHPからgoへの移行で分かったことPHPからgoへの移行で分かったこと
PHPからgoへの移行で分かったこと
 
MicroPythonで作る人工生命っぽい何か
MicroPythonで作る人工生命っぽい何かMicroPythonで作る人工生命っぽい何か
MicroPythonで作る人工生命っぽい何か
 
VRM 標準シェーダ MToon の使い方
VRM 標準シェーダ MToon の使い方VRM 標準シェーダ MToon の使い方
VRM 標準シェーダ MToon の使い方
 
「龍が如く7 光と闇の行方」の自動テスト活用事例とテスト自動化チーム(仮)による若手育成の取り組みについて
「龍が如く7 光と闇の行方」の自動テスト活用事例とテスト自動化チーム(仮)による若手育成の取り組みについて「龍が如く7 光と闇の行方」の自動テスト活用事例とテスト自動化チーム(仮)による若手育成の取り組みについて
「龍が如く7 光と闇の行方」の自動テスト活用事例とテスト自動化チーム(仮)による若手育成の取り組みについて
 
画像処理ライブラリ OpenCV で 出来ること・出来ないこと
画像処理ライブラリ OpenCV で 出来ること・出来ないこと画像処理ライブラリ OpenCV で 出来ること・出来ないこと
画像処理ライブラリ OpenCV で 出来ること・出来ないこと
 
Windowsフォームで大丈夫か?一番良いのを頼む。
Windowsフォームで大丈夫か?一番良いのを頼む。Windowsフォームで大丈夫か?一番良いのを頼む。
Windowsフォームで大丈夫か?一番良いのを頼む。
 
深層学習の新しい応用と、 それを支える計算機の進化 - Preferred Networks CEO 西川徹 (SEMICON Japan 2022 Ke...
深層学習の新しい応用と、 それを支える計算機の進化 - Preferred Networks CEO 西川徹 (SEMICON Japan 2022 Ke...深層学習の新しい応用と、 それを支える計算機の進化 - Preferred Networks CEO 西川徹 (SEMICON Japan 2022 Ke...
深層学習の新しい応用と、 それを支える計算機の進化 - Preferred Networks CEO 西川徹 (SEMICON Japan 2022 Ke...
 
計算機アーキテクチャを考慮した高能率画像処理プログラミング
計算機アーキテクチャを考慮した高能率画像処理プログラミング計算機アーキテクチャを考慮した高能率画像処理プログラミング
計算機アーキテクチャを考慮した高能率画像処理プログラミング
 
Python製BDDツールで自動化してみた
Python製BDDツールで自動化してみたPython製BDDツールで自動化してみた
Python製BDDツールで自動化してみた
 
基礎から学ぶ組み込みAndroid
基礎から学ぶ組み込みAndroid基礎から学ぶ組み込みAndroid
基礎から学ぶ組み込みAndroid
 
ガイデットフィルタとその周辺
ガイデットフィルタとその周辺ガイデットフィルタとその周辺
ガイデットフィルタとその周辺
 
サービスブループリント導入ガイド A Guide to Service Blueprinting Japanese Edition
サービスブループリント導入ガイド A Guide to Service Blueprinting Japanese Editionサービスブループリント導入ガイド A Guide to Service Blueprinting Japanese Edition
サービスブループリント導入ガイド A Guide to Service Blueprinting Japanese Edition
 
CEDEC 2020 - 高品質かつ低負荷な3Dライブを実現するシェーダー開発 ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スク...
CEDEC 2020 - 高品質かつ低負荷な3Dライブを実現するシェーダー開発 ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スク...CEDEC 2020 - 高品質かつ低負荷な3Dライブを実現するシェーダー開発 ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スク...
CEDEC 2020 - 高品質かつ低負荷な3Dライブを実現するシェーダー開発 ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スク...
 
【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!
【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!
【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!
 
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
 
プログラミング初心者がOpenCVと機械学習でOCRエンジン自作に挑戦する話
プログラミング初心者がOpenCVと機械学習でOCRエンジン自作に挑戦する話プログラミング初心者がOpenCVと機械学習でOCRエンジン自作に挑戦する話
プログラミング初心者がOpenCVと機械学習でOCRエンジン自作に挑戦する話
 
アジャイル開発導入のためにやってきたこと
アジャイル開発導入のためにやってきたことアジャイル開発導入のためにやってきたこと
アジャイル開発導入のためにやってきたこと
 
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps OnlineGKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online
 
モバイル向けニューラルネットワーク推論エンジンの紹介
モバイル向けニューラルネットワーク推論エンジンの紹介モバイル向けニューラルネットワーク推論エンジンの紹介
モバイル向けニューラルネットワーク推論エンジンの紹介
 
【CEDEC2018】Scriptable Render Pipelineを使ってみよう
【CEDEC2018】Scriptable Render Pipelineを使ってみよう【CEDEC2018】Scriptable Render Pipelineを使ってみよう
【CEDEC2018】Scriptable Render Pipelineを使ってみよう
 

Ähnlich wie オープンソースで作るスマホ文字認識アプリ

【関東GPGPU勉強会#3】OpenCVの新機能 UMatを先取りしよう
【関東GPGPU勉強会#3】OpenCVの新機能 UMatを先取りしよう【関東GPGPU勉強会#3】OpenCVの新機能 UMatを先取りしよう
【関東GPGPU勉強会#3】OpenCVの新機能 UMatを先取りしようYasuhiro Yoshimura
 
2008.10.18 L4u Tech Talk
2008.10.18 L4u Tech Talk2008.10.18 L4u Tech Talk
2008.10.18 L4u Tech Talkmitamex4u
 
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011Hiroh Satoh
 
【関東GPGPU勉強会#2】OpenCVのOpenCL実装oclMat
【関東GPGPU勉強会#2】OpenCVのOpenCL実装oclMat【関東GPGPU勉強会#2】OpenCVのOpenCL実装oclMat
【関東GPGPU勉強会#2】OpenCVのOpenCL実装oclMatYasuhiro Yoshimura
 
OpenCVをAndroidで動かしてみた
OpenCVをAndroidで動かしてみたOpenCVをAndroidで動かしてみた
OpenCVをAndroidで動かしてみた徹 上野山
 
C・C++用のコードカバレッジツールを自作してみた話
C・C++用のコードカバレッジツールを自作してみた話C・C++用のコードカバレッジツールを自作してみた話
C・C++用のコードカバレッジツールを自作してみた話simotin13 Miyazaki
 
1.29.user,user,user
1.29.user,user,user1.29.user,user,user
1.29.user,user,userTonny Xu
 
.NETの自作ツール公開手段
.NETの自作ツール公開手段.NETの自作ツール公開手段
.NETの自作ツール公開手段Pierre3 小林
 
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力ThinReports
 
T69 c++cli ネイティブライブラリラッピング入門
T69 c++cli ネイティブライブラリラッピング入門T69 c++cli ネイティブライブラリラッピング入門
T69 c++cli ネイティブライブラリラッピング入門伸男 伊藤
 
Vision-and-Language Navigation: Interpreting visually-grounded navigation ins...
Vision-and-Language Navigation: Interpreting visually-grounded navigation ins...Vision-and-Language Navigation: Interpreting visually-grounded navigation ins...
Vision-and-Language Navigation: Interpreting visually-grounded navigation ins...Yoshitaka Ushiku
 
13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejs13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejsTakayoshi Tanaka
 

Ähnlich wie オープンソースで作るスマホ文字認識アプリ (20)

【関東GPGPU勉強会#3】OpenCVの新機能 UMatを先取りしよう
【関東GPGPU勉強会#3】OpenCVの新機能 UMatを先取りしよう【関東GPGPU勉強会#3】OpenCVの新機能 UMatを先取りしよう
【関東GPGPU勉強会#3】OpenCVの新機能 UMatを先取りしよう
 
2008.10.18 L4u Tech Talk
2008.10.18 L4u Tech Talk2008.10.18 L4u Tech Talk
2008.10.18 L4u Tech Talk
 
Introduction of Python
Introduction of PythonIntroduction of Python
Introduction of Python
 
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
 
【関東GPGPU勉強会#2】OpenCVのOpenCL実装oclMat
【関東GPGPU勉強会#2】OpenCVのOpenCL実装oclMat【関東GPGPU勉強会#2】OpenCVのOpenCL実装oclMat
【関東GPGPU勉強会#2】OpenCVのOpenCL実装oclMat
 
OpenCVをAndroidで動かしてみた
OpenCVをAndroidで動かしてみたOpenCVをAndroidで動かしてみた
OpenCVをAndroidで動かしてみた
 
ゆるかわPhp
ゆるかわPhpゆるかわPhp
ゆるかわPhp
 
つぶLT20121215
つぶLT20121215つぶLT20121215
つぶLT20121215
 
C・C++用のコードカバレッジツールを自作してみた話
C・C++用のコードカバレッジツールを自作してみた話C・C++用のコードカバレッジツールを自作してみた話
C・C++用のコードカバレッジツールを自作してみた話
 
1.29.user,user,user
1.29.user,user,user1.29.user,user,user
1.29.user,user,user
 
ロボット用Open Source Software
ロボット用Open Source Softwareロボット用Open Source Software
ロボット用Open Source Software
 
.NETの自作ツール公開手段
.NETの自作ツール公開手段.NETの自作ツール公開手段
.NETの自作ツール公開手段
 
Adobe JSX入門
Adobe JSX入門Adobe JSX入門
Adobe JSX入門
 
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
 
RとWeb API
RとWeb APIRとWeb API
RとWeb API
 
HCL Nomad と OCR
HCL Nomad と OCRHCL Nomad と OCR
HCL Nomad と OCR
 
T69 c++cli ネイティブライブラリラッピング入門
T69 c++cli ネイティブライブラリラッピング入門T69 c++cli ネイティブライブラリラッピング入門
T69 c++cli ネイティブライブラリラッピング入門
 
Vision-and-Language Navigation: Interpreting visually-grounded navigation ins...
Vision-and-Language Navigation: Interpreting visually-grounded navigation ins...Vision-and-Language Navigation: Interpreting visually-grounded navigation ins...
Vision-and-Language Navigation: Interpreting visually-grounded navigation ins...
 
20120118 titanium
20120118 titanium20120118 titanium
20120118 titanium
 
13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejs13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejs
 

Mehr von 陽平 山口

Mehr von 陽平 山口 (20)

NGK2023S ChatGPT
NGK2023S ChatGPTNGK2023S ChatGPT
NGK2023S ChatGPT
 
JAWS DAYS 2022
JAWS DAYS 2022JAWS DAYS 2022
JAWS DAYS 2022
 
NGK2022S
NGK2022SNGK2022S
NGK2022S
 
KCI PROFILE 2021-10-07
KCI PROFILE 2021-10-07KCI PROFILE 2021-10-07
KCI PROFILE 2021-10-07
 
JAWSUG 20210128
JAWSUG 20210128JAWSUG 20210128
JAWSUG 20210128
 
AWS Webinar 20201224
AWS Webinar 20201224AWS Webinar 20201224
AWS Webinar 20201224
 
SIAI2020
SIAI2020SIAI2020
SIAI2020
 
MISO20200530
MISO20200530MISO20200530
MISO20200530
 
ML@Loft 20200430
ML@Loft 20200430ML@Loft 20200430
ML@Loft 20200430
 
JAWS FESTA 20191102
JAWS FESTA 20191102JAWS FESTA 20191102
JAWS FESTA 20191102
 
JAWSUG 20191028 (modified)
JAWSUG 20191028 (modified)JAWSUG 20191028 (modified)
JAWSUG 20191028 (modified)
 
JAWSUG 20191028
JAWSUG 20191028JAWSUG 20191028
JAWSUG 20191028
 
JAWSUG 20190828
JAWSUG 20190828JAWSUG 20190828
JAWSUG 20190828
 
AI Utilization Seminar 20190709
AI Utilization Seminar 20190709AI Utilization Seminar 20190709
AI Utilization Seminar 20190709
 
JAWSUG 20190620
JAWSUG 20190620JAWSUG 20190620
JAWSUG 20190620
 
JAWS DAYS 2019
JAWS DAYS 2019JAWS DAYS 2019
JAWS DAYS 2019
 
JAWS FESTA 2018 OSAKA AHAB
JAWS FESTA 2018 OSAKA AHABJAWS FESTA 2018 OSAKA AHAB
JAWS FESTA 2018 OSAKA AHAB
 
JAWS FESTA 2018 OSAKA KCI SESSION
JAWS FESTA 2018 OSAKA KCI SESSIONJAWS FESTA 2018 OSAKA KCI SESSION
JAWS FESTA 2018 OSAKA KCI SESSION
 
NAGOSUTA 20181020
NAGOSUTA 20181020NAGOSUTA 20181020
NAGOSUTA 20181020
 
JAWSUG20180925
JAWSUG20180925JAWSUG20180925
JAWSUG20180925
 

Kürzlich hochgeladen

知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptxsn679259
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsWSO2
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video UnderstandingToru Tamaki
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Gamesatsushi061452
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...Toru Tamaki
 

Kürzlich hochgeladen (10)

知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 

オープンソースで作るスマホ文字認識アプリ

  • 1. 有限会社 来栖川電算 山口陽平 オープンソースカンファレンス名古屋2012
  • 2. あじぇんだ   自己紹介  はじめに  紹介するOSS  設計  実装  ???  まとめ  参考文献
  • 3. 自己紹介  山口陽平 有限会社来栖川電算
  • 4. 山口陽平   プログラミング言語・型理論の研究者  世界を美しく記述することを夢見る33歳  名古屋工業大学大学院出身  未踏ソフトウェア経験  人を驚かせるのが好き  Nativeコードより速いJavaコード  1日でHaskellを作る  ハードリアルタイムJavaVM  1000台越え構成のペタバイト級分散DB  PC上で秒間1000万クエリ処理できるKVS ※あくまでもイメージです。 実物に髪の毛はありません。
  • 5. 有限会社来栖川電算   概要  名古屋工業大学発ベンチャー(2003年)  目的  ソフトウェアの品質・生産性向上  スタッフ  役員3人・正社員7人・アルバイト9人  データ作成4人・家政婦2人  IPA未踏ソフトウェア経験者多数  社風  職人・挑戦・自由 イオン千種・名大病院・名工大の間  昼食・夕食・飲み会は無料
  • 6. はじめに  何を作るの? 準備するもの 取り組む姿勢
  • 7. 何を作るの?   スマホで撮影した写真から単語を抽出するアプリ
  • 8. 準備するもの   スマホ  開発環境  Android 2.3  サーバと同じソフト  サーバ  android-sdk_r18  Scientific Linux 6.2  Eclipse Indigo JavaEE IDE  Java SE 7 for Web Developers.  CDT  Apache Tomcat 7.0  ADT  OpenCV-2.2.0  O2-tools-2.00 ここを紹介するよ!  nhocr-0.20
  • 9. 取り組む姿勢   考慮すること  動くこと  分かりやすさ  考慮しないこと  認識精度  安全性  信頼性  可用性  拡張性
  • 10. 紹介するOSS  OpenCV NHocr & O2-tools
  • 11. OpenCV   元はインテル製の画像処理ライブラリ  APIが単純で割と使いやすい  様々な画像(※GIF除く)の読み書きに便利  様々な分野のアルゴリズムを網羅  画像処理・特徴抽出とディスクリプタ抽出  クラスタリング・多次元空間探索・オブジェクト検出  ビデオ解析・カメラキャリブレーション・姿勢推定  ステレオ・機械学習  サイト  【公式】http://opencv.willowgarage.com/  【日本コミュニティ】http://opencv.jp/
  • 12. NHocr & O2-tools   日本語OCR・画像処理ライブラリ  一文字認識の認識精度はわりとよい  一応、行認識もできる  コマンドラインツールがある  画像ファイルの文字認識・フォントからの辞書作成 あ  本格的に使うにはわりと改良がいる  コード量が少ないので難しくはない  サイト  【後藤研究室】http://www.imglab.org/  注意  一部をコメントアウトしないとビルドできない場合が
  • 13. 設計  概要(もう一度) スマホアプリ 文字認識サービス 文字認識コマンド
  • 14. 概要   スマホで撮影した写真から単語を抽出するアプリ
  • 15. スマホアプリ   マッシュアップでシンプルに!  主な作り込みは単語抽出(言語処理)だけ
  • 16. 文字認識サービス   中継するだけ!  主な作り込みは文字認識コマンドの中
  • 17. 文字認識コマンド   OepnCV・NHocrのAPIはシンプルで使いやすい!  難しいのは文字領域抽出だけ
  • 18. 実装  画像読込 二値化 文字領域抽出 文字認識 XML出力 言語処理
  • 19. 画像読込   OpenCVなら画像の読み書きが簡単!  BMP DIB JPEG JPG JPE PNG PBM PGM PPM SR RAS TIFF TIF #include <opencv/cv.h> #include <opencv/highgui.h> int main() { IplImage* tImage = cvLoadImage("input/club_adriana.jpg", CV_LOAD_IMAGE_COLOR); cvNot(tImage, tImage); cvSaveImage("output/not_club_adriana.png", tImage); cvReleaseImage(&tImage); return 0; }
  • 20. 二値化   OpenCVには基本的な二値化アルゴリズムがある!  cvThreshold:与えた閾値で二値化する。(大津の方法も)  cvAdaptiveThreshold:近傍の平均から閾値を決める。 #include <opencv/cv.h> #include <opencv/highgui.h> int main() { IplImage* tImage = cvLoadImage( "input/club_adriana.jpg", CV_LOAD_IMAGE_GRAYSCALE); ライトが IplImage* tBinarizedImage = cvCreateImage( 当たって cvGetSize(tImage), tImage->depth, tImage->nChannels); いるとな cvAdaptiveThreshold(tImage, tBinarizedImage, 256, CV_ADAPTIVE_THRESH_MEAN_C, CV_THRESH_BINARY, 19); かなかう cvSaveImage("output/binarized_club_adriana.png", まくいか tBinarizedImage); ない cvReleaseImage(&tBinarizedImage); cvReleaseImage(&tImage); return 0; }
  • 21. 文字領域抽出   ヒストグラムで文字がある場所を見つけるぞ!  ぐるぐるループしながら四則演算するだけ  行の上下に余分なものが写っているとうまくいかない
  • 22. 文字認識  #include <opencv/cv.h>  NHocrなら文字認識が簡単! #include <opencv/highgui.h> #include <siplib.h>  ①辞書の選択・初期化など #include <nhocr.h> int main() { NHrec tNHrec;  ascii+(英数字) tNHrec.setlibdir(  jpn(日本語) (char*) "/usr/local/moji/nhocr-0.20/share/"); tNHrec.setdiccodes((char*) "ascii+");  ユーザ辞書 tNHrec.open(); IplImage* tImage = cvLoadImage("input/Ao.png",  ②画像形式の変換 CV_LOAD_IMAGE_GRAYSCALE); SIPImage* tSIPImage = createSIPImage(tImage);  OpenCV ⇒ NHocr int tCount = 10; RecResultItem tCondidates[tCount];  ③文字認識 tNHrec.rec_character(tSIPImage, 0, 0, tImage->width, tImage->height, tCondidates);  入力 for (int tIndex = 0; tIndex < tCount; tIndex++)  文字の場所 printf("%c:%f¥n", (char)tCondidates[tIndex].id, tCondidates[tIndex].dist);  出力 sip_DestroyImage(tSIPImage); cvReleaseImage(&tImage);  {文字:距離, ..., 文字:距離} tNHrec.close(); return 0; }
  • 23. XML出力   各文字領域は複数の候補を持つ  各候補は文字と距離を持つ <result> <candidates> <candidate><character>H</character><distance>1</distance></candidates> <candidate><character>4</character><distance>2</distance></candidates> </candidates> <candidates> <candidate><character>O</character><distance>1</distance></candidates> <candidate><character>0</character><distance>2</distance></candidates> </candidates> <candidates> <candidate><character>M</character><distance>1</distance></candidates> <candidate><character>m</character><distance>2</distance></candidates> </candidates> <candidates> <candidate><character>U</character><distance>1</distance></candidates> <candidate><character>u</character><distance>2</distance></candidates> </candidates> </result>
  • 24. 言語処理   様々な言語処理  距離の和が最も小さいパスを選ぶ。  文字種を限定する。  記号・数字・英字(大・小)・かな・カナ・漢字  辞書に含まれている単語だけを選ぶ。  文法にあうパスを選ぶ。  正規表現・文脈自由・自然言語
  • 25. 簡単に使えるけど それ以外が難しい  AdaptiveThresholdもあんまり使えない ヒストグラム使った文字領域抽出が話にならない 1位だけを採用する言語処理でも話にならない
  • 26. まだまだ利用申請できるよ!どんどんしてね! recognize.jp   WebAPIで画像をPOSTするだけ  難しいことは全部サーバでやってくれる!
  • 27. タンゴチュウが (前より)賢くなった!  4月のrecognize.jpのアップデートで目に見えて良くなったぞ! 1年前とくらべて・・・ 4倍 の賢さだ!
  • 28. 文 景 画  字 像 か 認 ら 識 の サ ー http://tangochu.jp ビ 説明前に宣伝させて! ス
  • 29. タンゴチュウとは   写真(情景画像)から単語を抽出  例えば メニュー チラシ お菓子のパッケージ レシート 名刺 看板 …
  • 32. 情景画像の文字認識とは   従来のOCRとは戦場が違う  悪環境下での文字認識  手書き・様々な書体・かすれ・点描・きつい パース・統一性のない並び・逆光・陰・影・グ ラデーション・モアレなど 目指すはこんなかっこいい世界!
  • 33. タンゴチュウ for Twitter   手軽に文字認識を体験できる! @tcfox
  • 34. タンゴチュウ for Twitter   手軽に文字認識を体験できる!
  • 35. タンゴチュウ for Evernote   写真の検索・整理に役立つ!
  • 36. 0.0 1.0 2.0 3.0 4.0 5.0 6.0 7.0 2011年06月 2011年07月 2011年08月 2011年09月 2011年10月  4倍の賢さ・6倍の速さ  着実に進化している! 2011年11月 2011年12月  2012年01月  情景画像文字認識ではトップクラス 2012年02月 性能推移 2012年03月 2012年04月
  • 37. カスタマイズOK   棚卸し・検査・電子辞書などに  用途を限定すると非常に高精度  既に稼働していて、驚くほど高性能  出版系・測量系からも引き合いがきているぞ! Android端末 への組み込み もやってるよ
  • 38. とにかくアクセス!  萌えキャラたちも待ってるぞ!  http://tangochu.jp
  • 39. まとめ  オープンソースを活用すれば とりあえず動くものは作れる 性能がでるかは腕次第 recognize.jpを使えば割とよい 今回のスマホアプリのソースコードは ダウンロードできるようにしておくよ!
  • 40. 参考文献  リンクとか
  • 41. 参考文献①   Scientific Linux  http://www.scientificlinux.org/  Jave SE  http://www.oracle.com/technetwork/java/  Apache Tomcat  http://tomcat.apache.org/  Android SDK & ADT (Eclipse Plugin)  http://developer.android.com/index.html  Eclipse & CDT  http://www.eclipse.org/
  • 42. 参考文献②   OpenCV  http://opencv.willowgarage.com/  【日本コミュニティ】http://opencv.jp/  O2-tool  http://www.imglab.org/p/O2/  NHocr  http://code.google.com/p/nhocr/
  • 43. 参考文献③   recognize.jp(情景画像文字認識API)  http://recognize.jp/  撮って文字入力(文字認識IME)  http://www.nttdocomo.co.jp/smt/service/trial/trial_app/to tte_moji/index.html  タンゴチュウ(情景画像文字認識サービス)  http://tangochu.jp/  来栖川電算  http://kurusugawa.jp/
  • 44. ご清聴ありがとうございました  どんどん賢くするので応援してね