キーエンス開発プロジェクト

ハンディターミナル BT

99.8%の認識率と、残り0.2%の壁。人間の感覚に近づく、6,000万パターンの道のり。

能⾒ ⼤河 [自動認識事業部]

近年、スマートフォン向けの名刺リーダーといったアプリの普及により、急激に身近な存在となった「OCR(optical character recognition)」。読み取った文字を認識しデータ化するこの画期的な機能は、あふれる情報を整理しながら効率良く活用していけるというビジネスにおける救世主のような存在だ。しかし、数十年前から研究されている分野とはいえ、製造や流通の現場で「本当に使える」レベルの技術はその難解さゆえ実用化されてこなかった。そう、真に求められている現場で活用することのできるハンディターミナルにおけるOCRリーダーはどこにもなかったのだ。それはつまり、誰もが目をつぶり諦めてきた技術だということ。そんな困難を極めることが容易に想像されるプロジェクトのアルゴリズム開発を任されたのは、入社2年目の能見であった。

既存の方法論では届かない領域。ならば、創り出すしかない。

製造や流通の現場で管理されるべき文字情報は、実に様々。フォントや印字方式、文字の大きさは多岐にわたる。しかし、既存のOCRリーダーは、専用のフォントや決まった桁数しか読めないものや、ユーザーごとのカスタマイズを前提にしたものばかり。しかも、照明の強さ・明るさなどの環境によっても読み取り精度は左右される。また、どこからどこまでが一文字なのか(WとV Vなど)を識別する力も、日付ならO(オー)ではなく0(ゼロ)と解釈するなどよく似た文字を読み分ける力も必要だ。それに、作業効率を上げるためには、どんな角度でかざそうとも安定してスピーディーに読み取れなくては意味がない。考えねばならないことは、こうも多岐にわたるのか…。既存のOCRと同じやり方ではだめだということはすぐにわかった。やるしかない、能見はそう闘志を燃やし、全く新しい認識アルゴリズムの開発へと着手したのだった。

「人に読めるものは、OCRでも読めなければならない」

様々なアルゴリズムを試みた結果、ついにテスト評価で99.8%の認識率を達成した。さらに速度と精度を両立できる見通しも立ち、自信をもってユーザーの現場にプロトタイプを持って行った。だが、結果はまさかの惨敗。「おもしろいけど、これじゃ使い物にはならない」と告げられた。読み取り性能の低さや読み違いの多発が原因だった。現場の環境は照明も暗く、読みたい文字も想定以上に難解。これはOCRで読み取れなくても仕方がないよな…。開発者目線に縛られてしまいかけた時、能見の開発魂に再び火をつけたのはユーザーからの厳しすぎる一言だった。「それでも自分にはこの文字が認識できる。人が読めるものは、OCRでも認識できるべきだ」という無茶苦茶な要求。でもそうだ、「人が読める」ということは何かの情報を使っているということだ。それは何だ?何かルールがあるのではないか?それを突き詰めれば、必ず解決できるはずだ!こうして、認識性能、読み取り性能の改善に苦闘する日々が始まった。人も見ている映像を脳で信号として処理し識字しているのだから、何かつかみ損ねている情報があるはずなんだ。いかに人間の頭脳に近づけていくか。それが答えだ。解は必ずあると、思考をあらゆる方向へ広げ悩み抜くことで、「まだ無いもの」へ一歩ずつ近づいていった。

残り0.2%への泥臭い挑戦の結末は、"当たり前"だった

読み取り性能の改善に苦闘する日々は、来る日も来る日も続いた。スーパーや薬局に足を運び、ダンボールや包装を頂戴してはひたすら読み取りを行い、課題を洗い出してはまた策を練る。とにかく泥臭いことでしか、前に進むためのヒントは見つけらない。求められたのは洗練されたアルゴリズムに加えて、現場・現物に基づいた問題解決だった。業務で使える商品として成立させるためには、残り0.2%の誤読に目を背けることはできなかった。現場に即した実験を繰り返して見えてきたのは、「誤読のフォローを人に委ねる」という解だった。物理的に発生するケースとして、読みたい文字列の一部が視野外に出ることで桁落ちする場合や、光沢による文字の白飛び、薄い印字などを誤読パターンにまとめ、アラートを出す機能へと組み込んでいった。読み取り性能を極限まで高めた上で、それでも届かないところを人の判断に委ねる。そのためのアラート機能を充実させ、文字認識・データ管理を徹底的にサポートできるレベルまで辿りつくことができた。

こうした改善の結果、これまでOCRでの運用を諦めていたユーザーには「こんなに読めるのか!」と初のOCR導入へと踏み切っていただくことができた。また別のユーザーからは、アラート機能を見て「当然こういうものがないとダメだよね」と言っていただき、狙った方向が間違っていなかったと確信。誰にも辿り着けなかったもの、それがユーザーにとって「当たり前」と感じる現場に即した解法であったことは、最大の勝利だ。開発者としてこれほど嬉しいことはない。新たなスタンダードを生み出せた実感が、能見の胸中にこみ上げた。

入社2年目での奮闘。
キーエンスの開発者として、最も大切なことを知る。

能見がこのプロジェクトを担当したのは、入社2年目になってすぐのこと。付加価値の高いアルゴリズムを開発するには、筋の良い技術を選ぶセンスと、現場・現物に即した考え方の両輪が必要となる。最新の研究成果を学ぶことも欠かせない一方で、泥臭いトライアンドエラーやユーザーがどう使うのかを自らの体験とともに考える力が必要だということを身をもって学んだ。難解なことにも、若手でも、挑戦を楽しんでいける環境があるからこそ、世の中で誰よりも先に次のニーズに応える開発ができ、世の中のありようを変える製品を生み出すことができるのだ。「ソフトウェア開発者として、自分が開発したものがそのまま付加価値になるということは、これ以上ないやりがい。」そう語る能見の視線は、もう次の挑戦へと向かっている。

キーエンス開発プロジェクト