(57)【特許請求の範囲】
【請求項１】
コンピュータにナンバープレースの正誤判定機能を実現させるプログラムであって、前記正誤判定機能は、
手書きで解答したナンバープレースの画像を取得する画像取得機能と、
取得した画像から、ナンバープレースの解答枠を検出する解答枠検出機能と、
検出した解答枠が所定の形状および大きさとなるように画像を正規化する正規化機能と、
正規化された解答枠から、９行９列の８１個の数字特定領域に区分けする区分け機能と、
区分けされた数字特定領域それぞれに１文字ずつ記載されている数字を特定する数字特定機能と、
区分けされた８１個の数字特定領域の中から、９個の数字特領域をひとつの解答確認領域として、複数の異なる解答確認領域を設定する解答確認領域設定機能と、
設定された複数の解答確認領域それぞれについて、１から９までの数字が漏れなくかつ重複なく特定されているか否かを確認する正誤確認機能と、
確認結果を通知する通知機能とを含むことを特徴とするプログラム。
【請求項２】
前記正誤判定機能は、
ナンバープレースのルールを取得する種類取得機能をさらに備え、
前記解答確認領域設定機能は、取得したナンバープレースのルールをもとに、解答確認領域を設定することを特徴とする請求項１に記載のプログラム。
【請求項３】
前記数字特定機能は、
数字特定領域に記載されている数字を認識する数字認識機能と、
前記数字認識機能による数字の特定に失敗した場合、ユーザから数字の入力を受け付ける数字受付機能を含むことを特徴とする請求項１または２に記載のプログラム。
【請求項４】
前記数字特定機能は、
区分けされた数字特定領域それぞれの中から、数字が記載されている領域の候補である候補領域を設定する候補領域設定機能とをさらに含み、
前記数字認識機能は、設定された候補領域に記載されている数字を認識することを特徴とする請求項３に記載のプログラム。
【請求項５】
前記正誤判定機能は、
手書きで解答したナンバープレースの解答用紙を撮像素子に撮影させて解答画像を生成する撮影機能をさらに含み、当該撮影機能は、前記解答枠検出機能による解答枠の検出に失敗した場合、前記解答用紙を撮像素子に再撮影させることを特徴とする請求項１から４のいずれかに記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はプログラムに関し、特にコンピュータにナンバープレースの正誤判定機能を実現させるコンピュータプログラムに関する。
【背景技術】
【０００２】
近年、科学技術の発展に伴い、様々な分野で電子化が進み、便利な電子ツールが実用化されている。これはナンバープレース（Number Place）を始めとするペンシルパズルにおいても同様であり、主に問題を提供するものや自動解答を行うものが数多く存在する。この中には、例えば紙に印刷されたナンバープレースの問題をＷｅｂカメラの映像から認識し、リアルタイムで自動解答を行うというシステムも提案されている。
【０００３】
その他にも、問題のデータを手入力することで同様に自動解答を行うものや、解答過程を入力していくことで各マスに入る数字候補の明示化や解答手順の記録を行う機能を持つ補助ツールなどが存在している。このように、ナンバープレースに関する多くの電子ツールがインターネットを通じて広く公開されている。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Webカメラで解く数独 -MATLAB ビデオ- MathWorks日本, http://www.mathworks.co.jp/videos/solving-asudoku-puzzle-using-a-webcam-87733.html,(２０１４年９月５日検索)。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
こうした電子化の流れが進む一方で、それでも「紙媒体に手書きで解く」というナンバープレースの解答形式は未だ高い人気を誇っており、現在も多くのユーザが鉛筆片手にナンバープレースを楽しんでいる。本来であればそれら手書きでの解答に対する便益向上を目的とした電子ツールも存在して然るべきであることから、本願の発明者は、手書きのナンバープレースの解答について正誤判定を実現する技術の有用性について認識するに至った。
【０００６】
本発明はこうした状況に鑑みてなされたものであり、その目的は、手書きで解答したナンバープレースの正誤を判定する技術を提供することにある。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明のある態様は、コンピュータにナンバープレースの正誤判定機能を実現させるプログラムである。このプログラムがコンピュータに実現させる正誤判定機能は、手書きで解答したナンバープレースの画像を取得する画像取得機能と、取得した画像から、ナンバープレースの解答枠を検出する解答枠検出機能と、検出した解答枠が所定の形状および大きさとなるように画像を正規化する正規化機能と、正規化された解答枠から、９行９列の８１個の数字特定領域に区分けする区分け機能と、区分けされた数字特定領域それぞれに１文字ずつ記載されている数字を特定する数字特定機能と、区分けされた８１個の数字特定領域の中から、９個の数字特領域をひとつの解答確認領域として、複数の異なる解答確認領域を設定する解答確認領域設定機能と、設定された複数の解答確認領域それぞれについて、１から９までの数字が漏れなくかつ重複なく特定されているか否かを確認する正誤確認機能と、確認結果を通知する通知機能とを含む。
【０００８】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、サーバ、システム、コンピュータプログラム、当該コンピュータプログラムを格納した記録媒体などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【０００９】
本発明によれば、手書きで解答したナンバープレースの正誤を判定する技術を提供することができる。
【図面の簡単な説明】
【００１０】
【図１】ナンバープレースの問題例を示す図である。
【図２】実施の形態に係る情報処理装置の機能構成を模式的に示す図である。
【図３】画像取得部が取得する解答済み画像の一例を示す図である。
【図４】解答枠検出部が検出した解答枠を正規化部が正規化した結果の一例を示す図である。
【図５】区分け部が区分けした数字特定領域の画像の一例を示す図である。
【図６】数字特定部の機能構成を模式的に示す図である。
【図７】実施の形態に係る情報処理装置が実行するナンバープレースの正誤判定処理の流れを示すフローチャートである。
【図８】実施の形態に係る数字特定部が実行する数字特定処理の流れを説明するフローチャートである。
【発明を実施するための形態】
【００１１】
図１は、ナンバープレースの問題例を示す図である。ナンバープレースは、有名なペンシルパズルの一種である。このパズルの内容は、予めいくつかのマスが埋められた９行９列のマス目状の盤面を問題とし、ルールに従って残りのマスに１〜９の数字を当てはめるというものである。ナンバープレースは世界的に流行しており、毎年世界選手権なども開催されている。また、書店や１００円ショップにナンバープレース問題集のコーナーが存在することなどを見ても、ナンバープレースが一般に広く普及し、人々に楽しまれていることがわかる。
【００１２】
ナンバープレースを手書きで解く場合、「書き込みの自由度の高さ」という非常に重要度が高い利点があると考えられる。ナンバープレースでは、ある程度難易度の高い問題を解答する場合、途中でメモを記入しながら解答を進めるのが一般的である。この際、手書きであれば好きな場所に好きなようにメモや解答を書くことができる。一方、アプリ等の電子的な手段でナンバープレースを解く場合、アプリの中にあまり自由な形でメモが書けないものもあり、そもそもメモ書き機能がついていないものが多い。したがって、ナンバープレースを紙媒体で解くことには大きなメリットがあると考えられる。この他にも、ナンバープレースを手書きで解くことには、問題の紙と鉛筆１本で手軽に出来るという利点もある。
【００１３】
一方で、手書きでナンバープレースを解答するデメリットの１つに、「解答後の答え合わせが面倒である」ということが挙げられる。ナンバープレースの答え合わせは、基本的に解答枠を１マスずつ確認しなければならず手間がかかる。また、ミスに気付かずに最後まで解答してしまうこともあり、答え合わせをしないというのも憚られる。そこで、実施の形態に係る情報処理装置は、手書きで解答したナンバープレースの画像を取得し、ナンバープレースの答え合わせを自動化する。以下、図２〜図６を参照して、実施の形態に係る情報処理装置についてより詳細に説明する。
【００１４】
図２は、実施の形態に係る情報処理装置１００の機能構成を模式的に示す図である。情報処理装置１００は、撮影部２、画像取得部４、解答枠検出部６、正規化部８、区分け部１０、数字特定部１２、ユーザインタフェース１４、通知部１６、正誤確認部１８、解答確認領域設定部２０、および種類取得部２２を備える。
【００１５】
図２は、実施の形態に係る情報処理装置１００がナンバープレースの正誤判定処理を実現するための機能構成を示しており、その他の構成は省略している。図２において、さまざまな処理を行う機能ブロックとして記載される各要素は、ハードウェア的には、ＣＰＵ（Central Processing Unit）、メインメモリ、その他のＬＳＩ（Large Scale Integration）で構成することができる。またソフトウェア的には、メインメモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組み合わせによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
【００１６】
以下本明細書において、情報処理装置１００はスマートフォンであり、ナンバープレースの正誤判定機能は情報処理装置１００が実行するプログラムによって実現されることを前提に説明する。しかしながら、情報処理装置１００はスマートフォンに限られず、携帯電話、デスクトップＰＣ（Personal Computer）、ノートＰＣ、タブレットＰＣ、ファブレット、ウェアラブルコンピュータ、ゲーム機、携帯テレビ、電子辞書、メインフレーム、あるいはクラウドコンピューティングを用いて実現されてもよい。
【００１７】
撮影部２は、手書きで解答したナンバープレースの解答用紙を撮像素子（不図示）に撮影させて解答画像を生成する。撮像素子は情報処理装置１００に備えられているカメラモジュールであり、例えばＣＣＤ（Charge Coupled Device）イメージセンサやＣＭＯＳ（Complementary Metal Oxide Semiconductor Image Sensor）等で実現できる。
【００１８】
画像取得部４は、手書きで解答したナンバープレースの解答済みの画像を取得する。なお、画像取得部４が取得する解答済みの画像は、撮影部２が生成した画像に限られない。この他にも、図示しないスキャナで読み込んだ解答済みの画像を取得してもよいし、ネットワークを介して解答済みの画像を取得してもよい。
【００１９】
図３は、画像取得部４が取得する解答済み画像の一例を示す図である。雑誌等に掲載されているナンバープレースの画像を撮影する場合、図３に示す例のように、解答枠がゆがんで撮像される場合もありうる。そこで解答枠検出部６は、画像取得部４が取得した解答済みの画像から、ナンバープレースの解答枠を検出する。解答枠検出部６による解答枠の検出処理は例えば２値化処理、エッジ抽出処理等の既知の画像処理技術を用いて実現できる。
【００２０】
ここで、解答枠検出部６が解答枠の検出に失敗した場合、撮影部２は、ナンバープレースの解答用紙を撮像素子に再撮影させてもよい。このとき、解答枠検出部６は、解答枠の検出に失敗したことをユーザインタフェース１４を介してユーザに通知してもよい。
【００２１】
ユーザインタフェース１４は、例えば情報処理装置１００が備える図示しないタッチスクリーンや、スピーカ、マイク、カメラ等で実現される。解答枠検出部６は、解答枠の検出に失敗した場合、情報処理装置１００のユーザにナンバープレースの解答用紙の全体が撮像されるように設置することを促すメッセージをユーザインタフェース１４に表示したり、音声で案内したりする。これにより、ユーザが、例えばナンバープレースの解答用紙のゆがみを正したり、折りたたまれた解答用紙を伸ばしたりする等、解答枠検出部６が解答枠を検出しやすいようにする契機となる。これにより、ひとたび解答枠検出部６が解答枠の検出に失敗したとしても、再度の撮影によって解答枠の検出に成功する確率を向上することができる。
【００２２】
正規化部８は、解答枠検出部６が検出した解答枠が所定の形状および大きさとなるように画像を正規化する。限定はしないが、例として、正規化部８は、画像中の解答枠の外周が縦３６０ピクセル、横３６０ピクセルの大きさの正方形となるように、画像を変換する。これは例えば射影変換や、歪み補正等の既知の画像処理技術を用いて実現できる。
【００２３】
図４は、解答枠検出部６が検出した解答枠を正規化部８が正規化した結果の一例を示す図である。図４に示すように、解答枠の画像は２値化されており、解答枠の外周が正方形となるように変換されている。区分け部１０は、正規化部８によって正規化された解答枠から、９行９列の８１個の数字特定領域に区分けする。
【００２４】
上述したように、ナンバープレースの解答用紙は９×９の格子状の領域である。正規化部８は解答枠の外周が縦３６０ピクセル、横３６０ピクセルの大きさの正方形となるように正規化している。したがって、ひとつの数字特定領域の大きさは縦４０ピクセル、横４０ピクセルの正方形となる。
【００２５】
図５は、区分け部１０が区分けした数字特定領域の画像の一例を示す図である。図５に示す例では、背景画像は黒色の画素で構成され、前景画像は白色の画素で構成されている。白色の画素で構成される画像が、数字として認識すべき認識対象のデータとなる。
【００２６】
例えば難易度の高いナンバープレースの解答画像には、場合によっては数字特定領域の中にメモ書きが存在することもある。図５に示す例は、そのようなメモ書きが存在する数字特定領域の画像の一例を示している。数字特定部１２は、区分け部１０によって区分けされた数字特定領域それぞれに１文字ずつ記載されている数字を特定する。
【００２７】
図６は、数字特定部１２の機能構成を模式的に示す図である。数字特定部１２は、候補領域設定部１２０、数字認識部１２２、および数字受付部１２４を含む。
【００２８】
候補領域設定部１２０は、区分け部１０によって区分けされた数字特定領域それぞれの中から、数字が記載されている領域の候補である候補領域を設定する。図５に示すように、数字特定領域には認識すべき数字以外のメモ書きが存在する場合もある。そこで候補領域設定部１２０は、数字特定領域中のデータの中から、認識対象とするデータが存在する領域を候補領域として設定する。
【００２９】
一般に、ナンバープレースの解答枠に記載されるメモ書きは、真の解答である数字よりも小さな文字であると考えられる。そこで候補領域設定部１２０は、数字特定領域それぞれについて、ラベリング処理を実行する。ラベリング処理とは、前景画像のうち互いに隣接し連続する画素毎に同じラベル（例えば、通し番号）を割り当てる処理をいう。図５に示す例では、ラベリング処理によって４つの領域に分割される。候補領域設定部１２０は、連結する画素の数が最も多いラベルの要素を含む領域を、候補領域として設定する。これにより、数字特定領域中にメモ書きが存在する場合であっても、そのメモ書きを除去することができる。
【００３０】
メモ書きは認識対象とは異なるデータであり、数字認識の観点から見るといわばノイズデータといえる。候補領域設定部１２０が候補領域を設定することによってノイズデータが除去されるため、数字認識の精度を向上することができる。なお、数字特定領域中にメモ書きがない場合には、数字特定領域中の前景画像を含む領域のみがラベリングされる。このため、候補領域設定部１２０は前景画像をそのまま候補領域として設定することになる。
【００３１】
数字認識部１２２は、候補領域設定部１２０によって設定された候補領域に記載されている数字を認識する。数字認識部１２２が実行する数字認識は、ｋ−ＮＮ法、ＳＶＭ（Support Vector Machine）、ブースティング、ニューラルネットワーク等の機械学習手法など、既知の文字認識技術を用いて実現できる。また、数字認識部１２２が数字認識に用いる特徴量は、例えば候補領域における輪郭方向分布特徴量やＳＩＦＴ−ｄｅｓｃｒｉｐｔｏｒ等、既知の特徴抽出技術を利用すればよい。
【００３２】
数字受付部１２４は、数字認識部１２２が数字の特定に失敗した場合、その旨をユーザインタフェース１４を用いてユーザに通知する。数字受付部１２４はさらに、数字認識部１２２が数字の特定に失敗した場合は、ユーザインタフェース１４を介してユーザから数字の入力を受け付ける。数字受付部１２４は、例えばタッチスクリーンにテンキーを表示してユーザに数字を入力させることで数字を取得する。あるいは数字受付部１２４は、ユーザに発声させた数字の音声をマイクで取得し、既知の音声認識技術を用いて数字を認識して取得してもよい。
【００３３】
このように、数字受付部１２４がユーザから数字を取得することにより、仮に８１個の数字特定領域のうちいくつかの数字特定領域において数字認識部１２２が数字の認識に失敗したとても、それによってナンバープレースの正誤判定処理全体が停止することが回避できる。
【００３４】
ところで、ナンバープレースにはいくつかの種類があり、その種類によってナンバープレースを解答するためのルールが異なる。しかしながら、いずれのルールであっても、以下に記載する３つの基本ルールは共通であると仮定する。
ルール１：９行９列の８１個の数字特定領域のうち、いずれの縦１列にも、１〜９までの数字が漏れなく重複なく入る。
ルール２：９行９列の８１個の数字特定領域のうち、いずれの横１行にも、１〜９までの数字が漏れなく重複なく入る。
ルール３：９行９列の８１個の数字特定領域のうち、所定の９個の数字特定領域をひとつの解答確認領域として定められる。いずれの解答確認領域にも、１〜９までの数字が漏れなく重複なく入る。
【００３５】
例えば、最も基本的なナンバープレースの解答用紙においては、９行９列の８１個の数字特定領域は、図１にも例示すように、さらに３行３列の９個の数字特定領域からなる９つの部分領域に区切られる。この場合、上記ルール３における解答確認領域は、９つの３行３列の部分領域となる。この他、正方形以外の解答領域が設定され、それぞれの解答確認領域が異なる色で塗り分けられていたり、９行９列の８１個の数字特定領域の対角線も、９までの数字が漏れなく重複なく入るというルールが追加されたりする。
【００３６】
そこで種類取得部２２は、ナンバープレースのルールまたは種類を取得する。これは例えば種類取得部２２が、ナンバープレースのルールに関する説明をユーザインタフェース１４に表示し、ユーザに選択させることによって実現できる。あるいはナンバープレースの解答用紙に、そのナンバープレースの種類を特定するための情報（例えば、ＱＲコード（登録商標）等）が記載されている場合には、種類取得部２２がその情報を読み取ることでも実現できる。
【００３７】
解答確認領域設定部２０は、種類取得部２２が取得したナンバープレースのルールの情報を取得する。解答確認領域設定部２０は、取得したナンバープレースのルールをもとに、区分け部１０によって区分けされた８１個の数字特定領域の中から、９個の数字特領域をひとつの解答確認領域として、複数の異なる解答確認領域を設定する。
【００３８】
正誤確認部１８は、解答確認領域設定部２０によって設定された複数の解答確認領域それぞれについて、１から９までの数字が漏れなくかつ重複なく特定されているか否かを確認する。ここで「解答確認領域」は、正誤確認部１８が１から９までの数字が漏れなくかつ重複なく特定されているか否かを確認すべき領域である。したがって、上述したルール１における各列およびルール２における各行も、解答確認領域となる。
【００３９】
通知部１６は、正誤確認部１８による確認結果をユーザに通知する。具体的には、通知部１６は、ナンバープレースが正しく解答されている場合にはその旨をユーザインタフェース１４に表示したり、音声で通知したりする。ナンバープレースの解答が誤っている場合には、通知部１６は誤っていることを示すメッセージをユーザインタフェース１４に表示したり、音声で通知したりする。
【００４０】
図７は、実施の形態に係る情報処理装置１００が実行するナンバープレースの正誤判定処理の流れを示すフローチャートである。本フローチャートにおける処理は、例えば情報処理装置１００が、ナンバープレースの正誤判定処理を実現するためのプログラムを起動したときに開始する。
【００４１】
撮影部２は、手書きで解答したナンバープレースの解答用紙を撮像素子に撮影させて解答画像を生成する（Ｓ２）。画像取得部４は、撮影部２が生成したナンバープレースの解答画像を取得する（Ｓ４）。
【００４２】
解答枠検出部６は、画像取得部４が取得した解答画像中に写っているナンバープレースの解答枠を検出する（Ｓ６）。解答枠検出部６による解答枠の検出が失敗した場合（Ｓ８のＮ）、解答枠検出部６は、解答枠の検出に失敗した旨をユーザインタフェース１４を介してユーザに通知する（Ｓ１０）。
【００４３】
解答枠検出部６による解答枠の検出が成功した場合（Ｓ８のＹ）、正規化部８は、解答枠検出部６が検出した解答枠が、所定の形状および大きさ（例えば、縦３６０ピクセル、横３６０ピクセルの正方形）となるように、解答画像を正規化する（Ｓ１２）。
【００４４】
区分け部１０は、正規化部８が正規化した解答画像中の解答枠を、９行９列の８１個の数字特定領域に区分けする（Ｓ１４）。数字特定部１２は、区分け部１０が区分けした数字特定領域それぞれに１文字ずつ記載されている数字を特定する（Ｓ１６）。
【００４５】
種類取得部２２は、ユーザインタフェース１４を介してユーザからナンバープレースのルールを取得する（Ｓ１８）。解答確認領域設定部２０は、種類取得部２２が取得したルールの種類にしたがって、区分け部１０が区分けした８１個の数字特定領域の中から、９個の数字特領域をひとつの解答確認領域として、複数の異なる解答確認領域を設定する（Ｓ２０）。
【００４６】
正誤確認部１８は、解答確認領域設定部２０が設定した複数の解答確認領域それぞれについて、１から９までの数字が漏れなくかつ重複なく特定されているか否かを確認する（Ｓ２２）。通知部１６は、正誤確認部１８による確認結果をユーザインタフェース１４を介してユーザに通知する（Ｓ２４）。通知部１６が確認結果を通知すると、本フローチャートにおける処理は終了する。
【００４７】
図８は、実施の形態に係る数字特定部１２が実行する数字特定処理の流れを説明するフローチャートであり、図７におけるステップＳ１６をより詳細に説明する図である。
【００４８】
候補領域設定部１２０は、区分け部１０が区分した数字特定領域のうち、数字が記載されている領域の候補である候補領域を設定する（Ｓ４０）。数字認識部１２２は、候補領域設定部１２０が設定した候補領域に記載されている数字を１文字認識する（Ｓ４２）。
【００４９】
数字認識部１２２が候補領域に記載されている数字の認識に失敗した場合（Ｓ４６のＮ）、数字受付部１２４は、数字入力のためのインタフェースをユーザインタフェース１４に表示する（Ｓ４８）。数字入力のためのインタフェースは、例えばテンキーのＧＵＩ（Graphical User Interface）である。数字受付部１２４は、数字入力のインタフェースを介してユーザから数字の入力を受け付ける（Ｓ５０）。数字認識部１２２が候補領域に記載されている数字の認識に成功した場合（Ｓ４６のＹ）、数字受付部１２４はステップＳ４８およびステップＳ５０に記載した数字入力処理を実行しない。
【００５０】
全ての数字特定領域について上述したステップＳ４０からステップＳ５０までの数字認識処理が完了しない間（Ｓ５２のＮ）、数字特定領域を変更しながらステップＳ４０からステップＳ５０までの数字認識処理を実行する。全ての数字特定領域について数字認識処理が完了すると（Ｓ５２のＹ）、本フローチャートにおける処理は終了する。
【００５１】
以上説明したように、実施の形態に係る情報処理装置１００は、手書きで解答したナンバープレースの正誤を判定することができる。特に、ナンバープレースの解答枠の認識や数字認識に失敗した場合はその旨をユーザに通知してユーザからのフィードバックを取得することにより、数字認識処理に失敗しても正誤判定処理を停止することなく実行することができる。
【００５２】
ナンバープレースの答え合わせは、基本的に１マスずつ確認しなければならず手間がかかる。また、ミスに気付かずに最後までいくこともしばしばあるため、答え合わせをしないというのも憚られる。実施の形態に係る情報処理装置１００によれば、ナンバープレースの正誤判定を電子的に自動化することができるため、ナンバープレースの手書きでの解答の便益を向上することができる。さらに、数多くいると考えられる紙に印刷されたナンバープレースの問題を手書きで解くことを好むユーザのナンバープレースを解く意欲を向上することもできる。
【００５３】
以上、本発明を実施の形態をもとに説明した。これらの実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【００５４】
上記の説明では、数字特定部１２中の候補領域設定部１２０が、ラベリング処理によって分割された領域のうち、連結する画素の数が最も多いラベルの要素を含む領域を、認識対象とする候補領域として設定する場合について説明した。これに加えて、候補領域設定部１２０は、数字特定領域中の画素の色相や彩度を候補領域の設定に用いてもよい。
【００５５】
この場合、撮影部２がナンバープレースの解答用紙を撮影させる撮像素子として、カラー画像を撮影できる撮像素子を利用する。一般に、ナンバープレースの問題として最初から印刷されている数字は、ユーザが解答のために用いる筆記用具で記載した文字と色相や彩度が異なる。例えば、ナンバープレースの問題として最初から印刷されている数字は濃い黒色であるが、ユーザが解答に用いる鉛筆で書いた文字は薄いグレーである場合、それらの彩度に差異が生じる。あるいは、ナンバープレースの問題として最初から印刷されている数字の文字色と、ユーザが解答に用いるペンのインクの色が異なるかもしれない。また、ナンバープレースの問題として最初から数字が印刷されている領域の背景色は、他の領域の背景色とは異なる場合もある。
【００５６】
そこで候補領域設定部１２０は、まず数字特定領域中の画素の色相や彩度を利用して、印刷文字と手書き文字とをクラスタリングする。一般に、メモ書きは手書き文字が記載されている数字特定領域に含まれると考えられる。このため、候補領域設定部１２０が実行するラベリング処理によって複数のラベルが割り当てられる数字特定領域を含む方が、手書き文字のクラスタと推定することができる。
【００５７】
あるいはまた、印刷されているナンバープレースの解答枠の色と、問題として最初から印刷されている数字の色とが同一か、少なくとも類似する同系統の色である場合には、候補領域設定部１２０は、色情報を用いて印刷文字と手書き文字とをクラスタリングしてもよい。より具体的には、候補領域設定部１２０は、解答枠検出部６が検出した解答枠の位置を取得し、取得した位置情報をもとに解答枠の色相を検出する。続いて候補領域設定部１２０は、数字特定領域中の画素の色相と解答枠の色相とを比較する。これにより、候補領域設定部１２０は、解答枠の色相に近い色相を持つ画素を持つ数字特定領域を含むクラスタを、印刷文字のクラスタと推定することができる。
【００５８】
文字を印刷文字と手書き文字とにクラスタリングした場合、手書き文字用の文字認識エンジンと、印刷文字用の文字認識エンジンとを別に用意してもよい。一般に、同じ数字であっても印刷文字と手書き文字とは異なる形状となるため、それぞれ専用の認識エンジンを用意することにより、文字認識の精度をより高めることができる。
【００５９】
なお、本発明の実施の形態は、以下の項目によって特定されてもよい。
［項目１］
手書きで解答したナンバープレースの画像を取得する画像取得部４と、
取得した画像から、ナンバープレースの解答枠を検出する解答枠検出部６と、
検出した解答枠が所定の形状および大きさとなるように画像を正規化する正規化部８と、
正規化された解答枠から、９行９列の８１個の数字特定領域に区分けする区分け部１０と、
区分けされた数字特定領域それぞれに１文字ずつ記載されている数字を特定する数字特定部１２と、
区分けされた８１個の数字特定領域の中から、９個の数字特領域をひとつの解答確認領域として、複数の異なる解答確認領域を設定する解答確認領域設定部２０と、
設定された複数の解答確認領域それぞれについて、１から９までの数字が漏れなくかつ重複なく特定されているか否かを確認する正誤確認部１８と、
確認結果を通知する通知部１６とを備えることを特徴とする情報処理装置１００。
［項目２］
ナンバープレースのルールを取得する種類取得部２２をさらに備え、
前記解答確認領域設定部２０は、取得したナンバープレースのルールをもとに、解答確認領域を設定することを特徴とする項目１に記載の情報処理装置１００。
［項目３］
前記数字特定部１２は、
数字特定領域に記載されている数字を認識する数字認識部１２２と、
前記数字認識部１２２が数字の特定に失敗した場合、ユーザから数字の入力を受け付ける数字受付部１２４を備えることを特徴とする項目１または２に記載の情報処理装置１００。
［項目４］
前記数字特定部１２は、
区分けされた数字特定領域それぞれの中から、数字が記載されている領域の候補である候補領域を設定する候補領域設定部１２０とをさらに備え、
前記数字認識部１２２は、設定された候補領域に記載されている数字を認識することを特徴とする項目３に記載の情報処理装置１００。
［項目５］
手書きで解答したナンバープレースの解答用紙を撮像素子に撮影させて解答画像を生成する撮影部２をさらに備え、
前記撮影部２は、前記解答枠検出部６が解答枠の検出に失敗した場合、前記解答用紙を前記撮像素子に再撮影させることを特徴とする項目１から４のいずれかに記載の情報処理装置１００。
［項目６］
プロセッサがナンバープレースの正誤判定処理を実行する情報処理方法であって、前記正誤判定処理は、
手書きで解答したナンバープレースの画像を取得する画像取得ステップと、
取得した画像から、ナンバープレースの解答枠を検出する解答枠検出ステップと、
検出した解答枠が所定の形状および大きさとなるように画像を正規化する正規化ステップと、
正規化された解答枠から、９行９列の８１個の数字特定領域に区分けする区分けステップと、
区分けされた数字特定領域それぞれに１文字ずつ記載されている数字を特定する数字特定ステップと、
区分けされた８１個の数字特定領域の中から、９個の数字特領域をひとつの解答確認領域として、複数の異なる解答確認領域を設定する解答確認領域設定ステップと、
設定された複数の解答確認領域それぞれについて、１から９までの数字が漏れなくかつ重複なく特定されているか否かを確認する正誤確認ステップと、
確認結果を通知する通知機能とを含むことを特徴とする情報処理方法。
［項目７］
コンピュータにナンバープレースの正誤判定機能を実現させるプログラムを格納した記録媒体であって、前記正誤判定機能は、
手書きで解答したナンバープレースの画像を取得する画像取得機能と、
取得した画像から、ナンバープレースの解答枠を検出する解答枠検出機能と、
検出した解答枠が所定の形状および大きさとなるように画像を正規化する正規化機能と、
正規化された解答枠から、９行９列の８１個の数字特定領域に区分けする区分け機能と、
区分けされた数字特定領域それぞれに１文字ずつ記載されている数字を特定する数字特定機能と、
区分けされた８１個の数字特定領域の中から、９個の数字特領域をひとつの解答確認領域として、複数の異なる解答確認領域を設定する解答確認領域設定機能と、
設定された複数の解答確認領域それぞれについて、１から９までの数字が漏れなくかつ重複なく特定されているか否かを確認する正誤確認機能と、
確認結果を通知する通知機能とを含むことを特徴とするコンピュータが読み出し可能な記録媒体。
【符号の説明】
【００６０】
２  撮影部、  ４  画像取得部、  ６  解答枠検出部、  ８  正規化部、  １０  区分け部、  １２  数字特定部、  １４  ユーザインタフェース、  １６  通知部、  １８  正誤確認部、  ２０  解答確認領域設定部、  ２２  種類取得部、  １００  情報処理装置、  １２０  候補領域設定部、  １２２  数字認識部、  １２４  数字受付部。
【図１】
0006348038.tif 000002
【図２】
0006348038.tif 000003
【図３】
0006348038.tif 000004
【図４】
0006348038.tif 000005
【図５】
0006348038.tif 000006
【図６】
0006348038.tif 000007
【図７】
0006348038.tif 000008
【図８】
0006348038.tif 000009