予告.OCR

はてなCAPTCHA破りとかやった僕だけど、予告.outを読み取るOCRはやらないよ。

つか、数時間で作れるようなもんじゃない。画像を作るのは簡単で、それを解析して元のデータを復元しようとするのはいつも難しい。だからCAPTCHAが実効性を持つんだ。

OCRについては論文が飛び交う世界で、それだけで一大分野を築いてる。自分もプログラムのプロではあるけども、OCRなんてのは専門外だから、アイデアを考えるぐらいはできるけども、ノウハウを持った専門家の足元にも及ばない。*1

予告.outがせめて、等幅フォントを使っていたならば、あるいは一晩で予告.OCRを作れたかもしれない。予告.outのソースを見ると分かるけど横幅が可変なTrueTypeフォント使ってるんだよね。その上文字コードUnicodeだ。昔みたいに等幅フォント+ShiftJISとかだったら力技で一応の変換ができる程度まではもっていけたんだろうけど。

CAPTCHA破りの難しさの話題でも、難しいのはマッチングではなくて文字の分割だって話だった。ちょっとアルゴリズムを考えていたんだけど、やっぱり分割が困る。「絶望」と「糸色望」を読み分けるのは簡単じゃない。半角カタカナとか本当にやめて欲しい。にんべんと「イ」をまじめに区別したかったら単語辞書でも作らないと精度出せないんじゃないだろうか。

電子的なフォントだから手書き文字の識別に比べれば格段に簡単とは言っても、比較して簡単の世界でいずれも難易度が高いにもほどがある。*2

縦に細長い領域を切り出して、順次読み進めつつ、領域の形状でマッチング対象を絞り込むような効率化である程度は認識精度を出せるかもしれないなぁとか考えつつも、一応のサービスにこぎつけるまでに世間はこの話題を忘れてしまいそうだ。

*1:そんな僕にも簡単に破れてしまう、はてなCAPTCHAは強度が弱すぎる

*2:情報処理学会の論文誌で日本の古い文献をOCRでデジタル化するような話が載っていたけども、草書の文字をパースするなんて離れ業がかかれていてげんなりした。世の中化け物だらけだ。