<進捗>
Androidアプリケーションの開発環境を構築し、簡単なアプリケーションの開発を行った。
<次週の課題>
OpenCVのライブラリを用いた簡単なAndroidアプリケーションを実装・動作させる。
<進捗>
17枚の注文書(100商品224項目)の文字認識及びデータベースマッチング・画像マッチングを行った。
<データベースマッチングの課題>
商品名に包含関係が成り立つ場合に適切な出力が得られない(例:"METAL" , "METALLIC" 前者のOCR結果を用いてDB検索を行うと必ず後者も検索にヒットしてしまい識別ができない)→文字列の長さを条件として与えれば解決?
<画像マッチングの課題>
認識速度が遅い。とりわけ商品の型番は類似したものが多いため画像によるマッチングは難しい。
<来週以降の課題>
認識精度の改善策の検討
Android アプリケーション開発の学習
<進捗>17枚の注文書(100商品名)の文字認識用学習データの作成・結合とデータベースの作成を行った。
<来週の課題>注文書のイメージデータを作成した文字認識システム(曖昧検索と文字画像の特徴マッチング)に入力して認識結果の検討を行う。
商品名をOCRで読取り、その結果からデータベース検索を行い、商品名を特定するプログラムを作成した。以下は検索の流れ。画像は入力画像
1.OCR結果より疑似乱数を用いて商品ごとに無作為に三文字抽出
2.抽出した三文字によってsqliteの曖昧検索(LIKE検索)を行う
3.検索にヒットした商品名をカウントする
4.1~3の流れを複数回行う(今回は100回)。これにより最も多く検索にヒットしたものを決定する。
以上のOCR及び検索によって得られた出力結果は以下のようになった。
<OCR結果>
INDICATOR 800*900
INDICATOR 800*1100
INDICAWTOR 275 (25)
INDICATOR 550*1400*25
BDICATOR 1100*1400**25
SIGNWEIGHT (HDB) Y
SIGNWBIGHT (S ()RBEN)
MA SEAWHHS
MA STAND-Y
F*18ABH
F-18AD -
DESIGN FEN(B PANFL- (DS) -M
CLAMP*FENCE BAND4
BEADTY BASE
C()ANE BASE
ASHCCAN W/CIIP
STEELPATES-A
<検索を通した最終的な出力結果の一例>
INDICATOR 800*900
INDICATOR 800*1100
INDICATOR 275(25)
INDICATOR 550*1400*25
INDICATOR 1100*1400*25
SIGNWEIGHT(HDG)
SIGNWEGHT (S GREEN)
MA STAND-Y
MA STAND-Y
F-18AEM
F-18AD
DESIGN FENCE PANEL (DS)-M
CLAMP-FENCE BAND
BEAUTY BASE
CONE BASE
ASH CAN W/CUP
STEEL PATES-A
’MA STAND-G’のOCR結果が’MA SEAWHHS’となったため検索結果が'MA STAND-Y'となってしまった。また乱数を使用しているため、特に商品名が短いものに関しては正確な出力結果が得られない場合があった。
opencvに含まれているadaptiveTreshold関数を用いて二値化した画像からfastN1MeansDenoising関数を用いてノイズを除去した画像を用いて文字認識を行った(画像はノイズ除去後)。
文字認識結果は以下のようになった。
<正解>
INDICATOR 800*900
INDICATOR 800*1100
INDICATOR 275(25)
INDICATOR 550*1400*25
INDICATOR 1100*1400*25
SIGNWEIGHT(HDG)
SIGNWEIGHT (S GREEN)
MA STAND-G
MA STAND-Y
F-18AEM
F-18AD
DESIGN FENCE PANEL(DS)-M
CLAMP-FENCE BAND
BEAUTY BASE
CONE BASE
ASH CAN W/CUP
STEEL PATES-A
<認識結果>
INDICATOR 800*900
INDICATOR 800*1100
DIDICATOR 275 (25)
DIDICATOR 550*1400*25
INDICATOR 1100*1400*25
SIGT*WEIGHF (HDG) P
SIGIMUWEIGHT (S GRBEN)
MA SDARDG
MA STAND-Y
F-18ABM
F-18AD -
DESIGN FENCE PANEL (DS) -M
CLAMP*FEIGCE BADTD
BEAUWY BASE
CCNE BASB
ASHUCAN W/CUP
STEELPATES-A -T
tesseract-OCRの学習データを新規で作成し、添付画像に対して文字認識を行った
。以下は正解の文字列及び既存の学習データを用いた場合と新規に作成した学習データを用いた場合の出力結果。
<正解>
INDICATOR 800*900
INDICATOR 800*1100
INDICATOR 275(25)
INDICATOR 550*1400*25
INDICATOR 1100*1400*25
SIGNWEIGHT(HDG)
SIGNWEIGHT (S GREEN)
MA STAND-G
MA STAND-Y
F-18AEM
F-18AD
DESIGN FENCE PANEL(DS)-M
CLAMP-FENCE BAND
BEAUTY BASE
CONE BASE
ASH CAN W/CUP
STEEL PATES-A
<既存の学習データ>
nwxcmx eooeeoo
mnrcmx soomoo
INDICATOR 275 (25)
mnlcmk 55ot14oo==2s
mnlmmx 11oo«14oa+<25
SIGh‘7BIGH1‘(HDG)
smmtcar (s cm)
m mm
In STA?!)-Y
F-ism!
F-IEAD «
DESIGN PE-N03 mm. (vs) -11
mu?-mm mm
as/nmr mi
00245 ms}:
ASH.CAN I/CUP
srsm. PATES-A 7
<新規の学習データ>
OSDICATOR 800*900
INDICAIOR 800*1100
INDI()ATOR 275 (25)
IIWDICADR 550*141)0*25
INDIULTOR 1100*1400*25
SIGRUUWEIGPU-(EDG)
SIGBUWEIGISP (S …
Continue Reading ››
・anacondaおよびopencvのインストールを行い、spyder(開発環境)で簡単な画像処理プログラムの実装と動作確認を行った。
・pythonの基礎的な文法の学習を行った。
6/20(火)に実施された模試の復習を重点的に行った。
今後の予定
苦手分野の復習とプログラミングの未学習分野(ファイル入出力と構造体)の学習。