特許第6984447号(P6984447)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 富士通株式会社の特許一覧

特許6984447画像処理プログラム、画像処理方法および画像処理装置
<>
  • 特許6984447-画像処理プログラム、画像処理方法および画像処理装置 図000002
  • 特許6984447-画像処理プログラム、画像処理方法および画像処理装置 図000003
  • 特許6984447-画像処理プログラム、画像処理方法および画像処理装置 図000004
  • 特許6984447-画像処理プログラム、画像処理方法および画像処理装置 図000005
  • 特許6984447-画像処理プログラム、画像処理方法および画像処理装置 図000006
  • 特許6984447-画像処理プログラム、画像処理方法および画像処理装置 図000007
  • 特許6984447-画像処理プログラム、画像処理方法および画像処理装置 図000008
  • 特許6984447-画像処理プログラム、画像処理方法および画像処理装置 図000009
  • 特許6984447-画像処理プログラム、画像処理方法および画像処理装置 図000010
  • 特許6984447-画像処理プログラム、画像処理方法および画像処理装置 図000011
  • 特許6984447-画像処理プログラム、画像処理方法および画像処理装置 図000012
  • 特許6984447-画像処理プログラム、画像処理方法および画像処理装置 図000013
  • 特許6984447-画像処理プログラム、画像処理方法および画像処理装置 図000014
  • 特許6984447-画像処理プログラム、画像処理方法および画像処理装置 図000015
  • 特許6984447-画像処理プログラム、画像処理方法および画像処理装置 図000016
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6984447
(24)【登録日】2021年11月29日
(45)【発行日】2021年12月22日
(54)【発明の名称】画像処理プログラム、画像処理方法および画像処理装置
(51)【国際特許分類】
   G06K 9/62 20060101AFI20211213BHJP
   G06K 9/03 20060101ALI20211213BHJP
【FI】
   G06K9/62 640Z
   G06K9/03 J
【請求項の数】7
【全頁数】25
(21)【出願番号】特願2018-13219(P2018-13219)
(22)【出願日】2018年1月30日
(65)【公開番号】特開2019-133289(P2019-133289A)
(43)【公開日】2019年8月8日
【審査請求日】2020年11月10日
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100104190
【弁理士】
【氏名又は名称】酒井 昭徳
(72)【発明者】
【氏名】荻野 雄三
(72)【発明者】
【氏名】北原 和実
【審査官】 松浦 功
(56)【参考文献】
【文献】 特開2010−230988(JP,A)
【文献】 特開2015−161892(JP,A)
【文献】 特開2009−276709(JP,A)
【文献】 特開平11−053476(JP,A)
【文献】 国際公開第2017/104805(WO,A1)
【文献】 特開平10−134146(JP,A)
【文献】 特開2013−105331(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06K 9/00 − 9/82
G09B 7/00 − 7/12
(57)【特許請求の範囲】
【請求項1】
答案の画像データからOCRにより第1の文字であると認識された設問に対する回答の文字の前記第1の文字との一致度を、記憶部に記憶した前記答案及び/又は前記設問に対応付けた学年、科目および設問の種別のうちの少なくともいずれかに対応する一致度の第1の閾値と比較し、
前記回答の文字の前記第1の文字との一致度が前記第1の閾値よりも大きい場合に、前記回答の文字と前記設問の正答の文字とが一致するか否かを判定する、
処理をコンピュータに実行させることを特徴とする画像処理プログラム。
【請求項2】
前記回答の文字の前記第1の文字との一致度が前記第1の閾値以下の場合、前記回答の文字の画像データを出力またはハイライト表示する、処理を前記コンピュータに実行させることを特徴とする請求項1に記載の画像処理プログラム。
【請求項3】
出力またはハイライト表示した前記回答の文字の画像データに対して、前記回答の文字が前記第1の文字と一致するとの入力を受け付けた場合、前記回答の文字の前記第1の文字との一致度に基づいて、前記第1の閾値を更新する、処理を前記コンピュータに実行させることを特徴とする請求項2に記載の画像処理プログラム。
【請求項4】
前記記憶部は、前記答案及び/又は前記設問に対応付けた学年、科目および設問の種別のうちの少なくともいずれかに対応する前記第1の文字についての一致度の隣接差に関する第2の閾値をさらに記憶しており、
前記回答の文字の前記第1の文字との一致度と、前記回答の文字の第2の文字との一致度との差分を前記第2の閾値と比較する、処理を前記コンピュータに実行させ、
前記判定する処理は、
前記回答の文字の前記第1の文字との一致度が前記第1の閾値よりも大きく、かつ、前記差分が前記第2の閾値よりも大きい場合に、前記回答の文字と前記設問の正答の文字とが一致するか否かを判定する、ことを特徴とする請求項1〜3のいずれか一つに記載の画像処理プログラム。
【請求項5】
前記設問と対応付けて、判定した判定結果を出力する、
処理を前記コンピュータに実行させることを特徴とする請求項1〜4のいずれか一つに記載の画像処理プログラム。
【請求項6】
答案の画像データからOCRにより第1の文字であると認識された設問に対する回答の文字の前記第1の文字との一致度を、記憶部に記憶した前記答案及び/又は前記設問に対応付けた学年、科目および設問の種別のうちの少なくともいずれかに対応する一致度の第1の閾値と比較し、
前記回答の文字の前記第1の文字との一致度が前記第1の閾値よりも大きい場合に、前記回答の文字と前記設問の正答の文字とが一致するか否かを判定する、
処理をコンピュータが実行することを特徴とする画像処理方法。
【請求項7】
答案の画像データからOCRにより第1の文字であると認識された設問に対する回答の文字の前記第1の文字との一致度を、記憶部に記憶した前記答案及び/又は前記設問に対応付けた学年、科目および設問の種別のうちの少なくともいずれかに対応する一致度の第1の閾値と比較し、
前記回答の文字の前記第1の文字との一致度が前記第1の閾値よりも大きい場合に、前記回答の文字と前記設問の正答の文字とが一致するか否かを判定する、
制御部を有することを特徴とする画像処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理プログラム、画像処理方法および画像処理装置に関する。
【背景技術】
【0002】
従来、手書きされた文字を光学的に読み取るOCR(Optical Character Reader)と呼ばれる技術がある。また、OCRを利用して、手書きで記入されたテストの答案を文字認識し、テストの自動採点を行うシステムがある。
【0003】
先行技術としては、例えば、利用者がペン入力手段を用いて入力した筆跡を、文字認識手段が漢字辞書を使って認識するときに、利用者の漢字に対する習熟度に応じて、漢字辞書中の認識の候補となる漢字の範囲を限定するものがある。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平10−134146号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、従来技術では、答案に記入された回答に対するOCRの文字認識精度を確保することが難しい。例えば、テストの自動採点を行うにあたり、文字認識精度を確保できなければ、誤採点を招いてしまう。
【0006】
一つの側面では、本発明は、文字認識精度を向上させることを目的とする。
【課題を解決するための手段】
【0007】
1つの実施態様では、答案の画像データからOCRにより第1の文字であると認識された設問に対する回答の文字の前記第1の文字との一致度を、記憶部に記憶した前記答案及び/又は前記設問に対応付けた学年、科目および設問の種別のうちの少なくともいずれかに対応する一致度の第1の閾値と比較し、前記回答の文字の前記第1の文字との一致度が前記第1の閾値よりも大きい場合に、前記回答の文字と前記設問の正答の文字とが一致するか否かを判定する、画像処理プログラムが提供される。
【発明の効果】
【0008】
本発明の一側面によれば、文字認識精度を向上させることができる。
【図面の簡単な説明】
【0009】
図1図1は、実施の形態にかかる画像処理方法の一実施例を示す説明図である。
図2図2は、画像処理システム200のシステム構成例を示す説明図である。
図3図3は、画像処理装置101のハードウェア構成例を示すブロック図である。
図4図4は、答案画像の具体例を示す説明図である。
図5図5は、小片画像の具体例を示す説明図である。
図6図6は、答案画像DB220の記憶内容の一例を示す説明図である。
図7図7は、小片画像DB230の記憶内容の一例を示す説明図である。
図8図8は、正答テーブル240の記憶内容の一例を示す説明図である。
図9図9は、閾値テーブル250の記憶内容の一例を示す説明図である。
図10図10は、画像処理装置101の機能的構成例を示すブロック図である。
図11図11は、文字チェック画面の画面例を示す説明図である。
図12図12は、答案チェック画面の画面例を示す説明図である。
図13図13は、距離値/隣接差テーブル1300の記憶内容の一例を示す説明図である。
図14図14は、画像処理装置101の画像処理手順の一例を示すフローチャート(その1)である。
図15図15は、画像処理装置101の画像処理手順の一例を示すフローチャート(その2)である。
【発明を実施するための形態】
【0010】
以下に図面を参照して、本発明にかかる画像処理プログラム、画像処理方法および画像処理装置の実施の形態を詳細に説明する。
【0011】
(実施の形態)
図1は、実施の形態にかかる画像処理方法の一実施例を示す説明図である。図1において、画像処理装置101は、答案の画像データから文字を認識するコンピュータである。答案は、設問に対する回答が記入された用紙である。答案の画像データは、答案をスキャンして得られる画像データである。
【0012】
ここで、答案の画像データをOCRで文字認識し、認識した設問に対する回答の文字を、その設問の正答の文字と比較することで、答案の自動採点を行う場合がある。しかし、文字を書く能力は、個人差があるだけでなく、学年の違いによって変わる傾向がある。例えば、小学校では、学年が高くなるにつれて、綺麗に文字を書く児童が多くなる傾向があり、低学年ほど、読みやすい字を書く児童は少なくなる。
【0013】
例えば、文字120は、小学6年生の児童が書いた「ア」という文字である。また、文字130は、小学1年生の児童が書いた「ア」という文字である。文字120と文字130とを比較すると、文字120のほうが綺麗に書けており、OCRで正しく認識される可能性が高い。
【0014】
OCRを用いた文字認識では、例えば、ある文字を認識するにあたり、予め登録された複数の文字それぞれとの一致度を求め、一致度が最大となる文字を認識する。ただし、単純に一致度が最大となる文字を認識すると、本来ならば認識エラーとすべきものまで、何らかの文字として認識されてしまうことがある。
【0015】
このため、ある文字を認識するにあたり、予め登録された文字との一致度について閾値を設け、一致度が最大で、かつ、閾値より大きい文字を認識する方式がとられることがある。この方式によれば、本来ならば認識エラーとすべきものが、何らかの文字として認識されるのを防ぐことができる。
【0016】
ところが、上述したように、文字を書く能力は、学年の違いによって変わる傾向がある。このため、1年生から6年生まで一律に閾値を設定すると、文字認識精度を確保できなくなるおそれがある。例えば、6年生に合わせて閾値を厳しめに設定すると、1年生の児童が書いた文字130のような文字は正しく認識されないことになる。
【0017】
しかし、文字130について、児童自身は「ア」という文字を書いており、「ア」と認識されて採点されるべきである。一方、1年生に合わせて閾値を緩めに設定すると、高学年の児童が書いた文字を認識する際に、本来ならば認識エラーとすべきものまで、何らかの文字として認識されてしまうことが増えるおそれがある。
【0018】
このような問題は、学年の違いだけでなく、科目の違い、設問の種別の違いによっても生じる可能性がある。設問の種別とは、設問に対する回答形式を示すものである。設問の種別としては、例えば、単一回答、複数回答、記述回答などがある。単一回答は、選択肢の中から回答を一つ選ぶ形式である。複数回答は、選択肢の中から回答を二つ以上選ぶ形式である。
【0019】
まず、科目によっては、設問に対する回答として、数字や記号(○、×など)を書くことが多いものがある。数字や記号は、ひらがなやカタカナに比べて、文字認識しやすい傾向があるため、閾値は厳しめに設定してもよいといえる。また、設問の種別が「複数回答」の場合、文字同士が近づきすぎたり重なったりするため、「単一回答」に比べて、閾値は緩めに設定することが望ましい。
【0020】
そこで、本実施の形態では、学年、科目および設問の種別のうちの少なくともいずれかに対応する一致度の閾値を用いて、OCRで認識した文字の確からしさを検証することで、文字認識精度の向上を図る画像処理方法について説明する。以下、画像処理装置101の処理例について説明する。
【0021】
(1)画像処理装置101は、答案の画像データからOCRにより第1の文字であると認識された設問に対する回答の文字の第1の文字との一致度を取得する。ここで、第1の文字は、予め登録された複数の文字のうち、設問に対する回答の文字としてOCRで認識された文字(認識文字)である。
【0022】
予め登録された複数の文字は、OCRで認識する文字として登録されたものである。文字の種類としては、例えば、ひらがな(あ、い、う、…)、カタカナ(ア、イ、ウ、…)、数字(1、2、3、…)、アルファベット(A、B、C、…)、記号(○、×、…)、漢字などがある。
【0023】
第1の文字との一致度とは、OCRで認識された文字、すなわち、手書きで記入された文字の第1の文字との一致度合いを示す値である。ここでは、一致度が大きいほど、第1の文字との一致度合いが高いことを示す。ただし、第1の文字との一致度を、第1の文字との違いをあらわす距離によって表現することにしてもよい。この場合、第1の文字との距離が小さいほど、第1の文字との一致度合いが高いことを示す。
【0024】
図1の例では、文字120を、小学6年生に出題されたある設問に対する回答の文字として答案に記入されたものとする。また、文字130を、小学1年生に出題されたある設問に対する回答の文字として答案に記入されたものとする。また、文字120,130は、各答案の画像データからOCRによりそれぞれ第1の文字「ア」であると認識された場合を想定する。また、文字120の第1の文字「ア」との一致度を「80」とし、文字130の第1の文字「ア」との一致度を「40」とする。
【0025】
(2)画像処理装置101は、取得した一致度を、記憶部110に記憶した答案及び/又は設問に対応付けた学年、科目および設問の種別のうちの少なくともいずれかに対応する一致度の第1の閾値と比較する。記憶部110は、学年、科目および設問の種別のうちの少なくともいずれかに対応する一致度の閾値を記憶する。
【0026】
記憶部110は、画像処理装置101が有していてもよく、また、画像処理装置101がアクセス可能な他のコンピュータが有していてもよい。他のコンピュータが記憶部110を有する場合、画像処理装置101は、他のコンピュータにアクセスして、記憶部110の記憶内容を参照する。
【0027】
図1の例では、記憶部110には、各学年(小学1年生〜小学6年生)に対応する一致度の閾値が記憶されている場合を想定する。また、小学6年生に対応する一致度の第1の閾値を「70」とし、小学1年生に対応する一致度の第1の閾値を「30」とする。
【0028】
この場合、画像処理装置101は、文字120の第1の文字「ア」との一致度「80」を、小学6年生に対応する第1の閾値「70」と比較する。また、画像処理装置101は、文字130の第1の文字「ア」との一致度「40」を、小学1年生に対応する第1の閾値「30」と比較する。なお、学年は、答案及び/又は設問に対応付けられている。
【0029】
(3)画像処理装置101は、回答の文字の第1の文字との一致度が第1の閾値よりも大きい場合に、回答の文字と設問の正答の文字とが一致するか否かを判定する。ここで、回答の文字の第1の文字との一致度が第1の閾値よりも大きければ、OCRで正しく文字が認識された可能性が高いといえる。
【0030】
すなわち、画像処理装置101は、OCRで回答の文字が正しく認識されたといえる場合に、回答の文字と設問の正答の文字との一致判定を実施する。設問の正答の文字とは、設問の答えを示す文字である。一方、OCRで回答の文字が正しく認識されたといえない場合には、画像処理装置101は、回答の文字と設問の正答の文字との一致判定を実施しない。
【0031】
図1の例では、文字120の第1の文字「ア」との一致度「80」は、小学6年生に対応する第1の閾値「70」よりも大きい。このため、画像処理装置101は、設問に対する回答の文字(文字120)と、設問の正答の文字とが一致するか否かを判定する。
【0032】
また、文字130の第1の文字「ア」との一致度「40」は、小学1年生に対応する第1の閾値「30」よりも大きい。このため、画像処理装置101は、設問に対する回答の文字(文字130)と、設問の正答の文字とが一致するか否かを判定する。なお、設問の正答の文字を示す情報は、例えば、画像処理装置101に記憶されている。
【0033】
このように、画像処理装置101によれば、学年、科目および設問の種別のうちの少なくともいずれかに対応する第1の閾値(判断基準)を用いて、OCRで認識した文字の確からしさを検証して文字認識精度の向上を図ることができる。
【0034】
例えば、学年に対応する閾値を用いることで、学年の違いによって文字を書く能力が異なることを考慮して、OCRで認識した文字の確からしさを検証することができる。また、科目に対応する閾値を用いることで、科目の違いによって回答として書かれる文字の種類が異なることを考慮して、OCRで認識した文字の確からしさを検証することができる。また、設問の種別に対応する閾値を用いることで、設問の種別の違いによってOCRによる文字認識のしやすさが異なることを考慮して、OCRで認識した文字の確からしさを検証することができる。
【0035】
図1の例では、小学1年生に対しても小学6年生と同じ第1の閾値「70」を用いた場合、文字130の第1の文字「ア」との一致度「40」は、第1の閾値「70」以下となり、文字130は認識されない。これに対して、学年の特性に応じた第1の閾値、すなわち、小学1年生に対応する第1の閾値「30」を用いることで、文字130は、「ア」と正しく認識される。
【0036】
(画像処理システム200のシステム構成例)
つぎに、実施の形態にかかる画像処理システム200のシステム構成例について説明する。ここでは、画像処理システム200を、全国の各拠点で実施されるテストの答案の画像データに対する文字認識を行うシステムに適用する場合を例に挙げて説明する。
【0037】
図2は、画像処理システム200のシステム構成例を示す説明図である。図2において、画像処理システム200は、画像処理装置101と、複数の拠点端末201と、を含む。画像処理システム200において、画像処理装置101および複数の拠点端末201は、有線または無線のネットワーク210を介して接続される。ネットワーク210は、例えば、LAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどである。
【0038】
画像処理装置101は、答案画像DB(DataBase)220、小片画像DB230、正答テーブル240および閾値テーブル250を有する。各種DB等220,230,240,250の記憶内容については、図6図9を用いて後述する。画像処理装置101は、例えば、サーバである。
【0039】
拠点端末201は、テストが実施される各拠点に設置されるコンピュータであり、スキャナ202を有する。スキャナ202は、画像を光学的に読み取る装置である。スキャナ202により読み取られた画像は画像データとして拠点端末201に格納される。拠点端末201は、例えば、PC(Personal Computer)である。
【0040】
画像処理システム200において、スキャナ202は、テストの答案を読み取るために用いられる。スキャナ202により読み取られた答案の画像データは、拠点端末201に取り込まれた後、拠点端末201から画像処理装置101に送信される。画像処理装置101は、拠点端末201から答案の画像データを受信すると、受信した答案の画像データを答案画像DB220に記憶する。答案の画像データの具体例については、図4を用いて後述する。
【0041】
また、画像処理装置101は、答案の画像データを設問単位で区切って小片画像に分割する。小片画像は、各設問の回答欄を含む画像データである。分割された小片画像は、小片画像DB230に記憶される。小片画像の具体例については、図5を用いて後述する。
【0042】
なお、画像処理装置101は、1台のコンピュータによって実現されてもよく、また、複数のコンピュータによって実現されることにしてもよい。
【0043】
(画像処理装置101のハードウェア構成例)
図3は、画像処理装置101のハードウェア構成例を示すブロック図である。図3において、画像処理装置101は、CPU(Central Processing Unit)301と、メモリ302と、I/F(Interface)303と、ディスクドライブ304と、ディスク305と、を有する。また、各構成部は、バス300によってそれぞれ接続される。
【0044】
ここで、CPU301は、画像処理装置101の全体の制御を司る。メモリ302は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)およびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMがOS(Operating System)のプログラムを記憶し、ROMがアプリケーションプログラムを記憶し、RAMがCPU301のワークエリアとして使用される。メモリ302に記憶されるプログラムは、CPU301にロードされることで、コーディングされている処理をCPU301に実行させる。
【0045】
I/F303は、通信回線を通じてネットワーク210に接続され、ネットワーク210を介して外部のコンピュータ(例えば、図2に示した拠点端末201)に接続される。そして、I/F303は、ネットワーク210と装置内部とのインターフェースを司り、外部のコンピュータからのデータの入出力を制御する。I/F303には、例えば、モデムやLANアダプタなどを採用することができる。
【0046】
ディスクドライブ304は、CPU301の制御に従ってディスク305に対するデータのリード/ライトを制御する。ディスク305は、ディスクドライブ304の制御で書き込まれたデータを記憶する。ディスク305としては、例えば、磁気ディスク、光ディスクなどが挙げられる。
【0047】
なお、画像処理装置101は、上述した構成部のほかに、例えば、SSD(Solid State Drive)、入力装置、ディスプレイ等を有することにしてもよい。また、図2に示した拠点端末201についても、画像処理装置101と同様のハードウェア構成により実現することができる。ただし、拠点端末201は、上述した構成部のほかに、スキャナ202(図2参照)、入力装置、ディスプレイ等を有する。
【0048】
(答案画像の具体例)
つぎに、答案画像の具体例について説明する。
【0049】
図4は、答案画像の具体例を示す説明図である。図4において、答案画像P1は、スキャナ202(図2参照)により読み取られた、ある児童(生徒ID:S1)の答案(答案ID:A1)の画像データである。答案(答案ID:A1)は、小学1年生を対象とする算数のテストの答案である。
【0050】
各拠点においてテストが実施されると、答案画像P1のような答案の画像データが、テストを受けた児童の数分、スキャナ202に読み取られて、拠点端末201から画像処理装置101に転送される。この結果、テストを受けた全児童の答案の画像データが画像処理装置101に記憶される。
【0051】
(小片画像の具体例)
つぎに、答案画像から分割された小片画像の具体例について説明する。
【0052】
図5は、小片画像の具体例を示す説明図である。図5において、小片画像p1は、図4に示した答案画像P1から分割された小片画像の一つである。画像処理装置101では、答案画像P1を設問単位に区切って分割することで、小片画像p1のような画像データが設問の数分、答案画像P1から生成される。
【0053】
(各種DB等220,230,240,250の記憶内容)
つぎに、図6図9を用いて、画像処理装置101が有する各種DB等220,230,240,250の記憶内容について説明する。各種DB等220,230,240,250は、例えば、図3に示したメモリ302、ディスク305等の記憶装置により実現される。
【0054】
図6は、答案画像DB220の記憶内容の一例を示す説明図である。図6において、答案画像DB220は、答案ID、学年、科目、児童IDおよび答案画像のフィールドを有し、各フィールドに情報を設定することで、答案画像情報(例えば、答案画像情報600−1〜600−3)をレコードとして記憶する。
【0055】
ここで、答案IDは、テストの答案を一意に識別する識別子である。学年は、テストの対象となる学年である。例えば、学年「1」は、小学1年生を示す。学年「6」は、小学6年生を示す。科目は、テストの科目である。科目としては、国語、社会、算数、理科などがある。児童IDは、テストを受けた児童を一意に識別する識別子である。答案画像は、テストを受けた児童が提出した答案の画像データである。
【0056】
例えば、答案画像情報600−1は、小学1年生の児童S1が提出した算数のテストの答案A1の答案画像P1を示す。
【0057】
図7は、小片画像DB230の記憶内容の一例を示す説明図である。図7において、小片画像DB230は、答案ID、児童ID、設問IDおよび小片画像のフィールドを有し、各フィールドに情報を設定することで、小片画像情報(例えば、小片画像情報700−1〜700−3)をレコードとして記憶する。
【0058】
ここで、答案IDは、テストの答案を一意に識別する識別子である。児童IDは、テストを受けた児童を一意に識別する識別子である。設問IDは、テストの設問を一意に識別する識別子である。小片画像は、答案画像から分割された設問単位の画像データである。
【0059】
例えば、小片画像情報700−1は、児童S1が提出した答案A1に含まれる設問Q1の小片画像p1を示す。
【0060】
図8は、正答テーブル240の記憶内容の一例を示す説明図である。図8において、正答テーブル240は、答案ID、学年、科目、設問ID、設問パターンおよび正答のフィールドを有し、各フィールドに情報を設定することで、正答情報(例えば、正答情報800−1〜800−3)をレコードとして記憶する。
【0061】
ここで、答案IDは、テストの答案を一意に識別する識別子である。学年は、テストの対象となる学年である。科目は、テストの科目である。設問IDは、テストの設問を一意に識別する識別子である。設問パターンは、設問の種別である。設問パターンとしては、例えば、単一回答、複数回答などがある。正答は、設問の答えを示す。
【0062】
例えば、正答情報800−1は、学年「1」の児童を対象とする科目「算数」のテストの答案A1に含まれる設問Q1の設問パターン「単一回答」および正答「ア」を示す。
【0063】
図9は、閾値テーブル250の記憶内容の一例を示す説明図である。図9において、閾値テーブル250は、学年、科目、設問パターン、対象文字、距離閾値および隣接差閾値のフィールドを有し、各フィールドに情報を設定することで、閾値情報(例えば、閾値情報900−1,900−2)をレコードとして記憶する。
【0064】
ここで、学年は、テストの対象となる学年である。科目は、テストの科目である。設問パターンは、設問の種別である。対象文字は、OCRで認識する対象となる文字である。距離閾値は、距離値についての閾値である。隣接差閾値は、距離値の隣接差についての閾値である。
【0065】
例えば、閾値情報900−1は、学年「1」、科目「算数」、設問パターン「単一回答」および対象文字「ア」の組合せに対応する距離閾値「100」および隣接差閾値「500」を示す。
【0066】
(画像処理装置101の機能的構成例)
図10は、画像処理装置101の機能的構成例を示すブロック図である。図10において、画像処理装置101は、取得部1001と、特定部1002と、判断部1003と、判定部1004と、出力部1005と、受付部1006と、記録部1007と、更新部1008と、を含む。取得部1001〜更新部1008は制御部となる機能であり、具体的には、例えば、図3に示したメモリ302、ディスク305などの記憶装置に記憶されたプログラムをCPU301に実行させることにより、または、I/F303により、その機能を実現する。各機能部の処理結果は、例えば、メモリ302、ディスク305などの記憶装置に記憶される。
【0067】
取得部1001は、答案の画像データを取得する。答案は、例えば、各拠点で実施されたテストの設問に対する回答が記入された用紙である。答案の画像データは、例えば、図4に示した答案画像P1である。具体的には、例えば、取得部1001は、拠点端末201からテストの答案の画像データを受信することにより、答案の画像データを取得する。
【0068】
答案の画像データには、例えば、テストの答案、テストの対象となる学年、テストの科目、およびテストを受けた児童を特定する情報が対応付けられている。答案を特定する情報は、例えば、答案IDである。児童を特定する情報は、例えば、児童IDや氏名などである。
【0069】
取得された答案の画像データは、例えば、答案ID、学年、科目および児童IDと対応付けて、図6に示した答案画像DB220に記憶される。
【0070】
なお、図2の例では、拠点端末201がスキャナ202を有することにしたが、画像処理装置101がスキャナ202を有することにしてもよい。この場合、取得部1001は、スキャナ202により読み取られた答案の画像データを取り込むことにより、答案の画像データを取得する。
【0071】
特定部1002は、取得された答案の画像データからOCRにより第1の文字であると認識された設問に対する回答の文字の第1の文字との一致度を特定する。ここで、第1の文字との一致度とは、OCRで認識された文字、すなわち、手書きで記入された文字の第1の文字との一致度合いを示す値である。
【0072】
以下の説明では、第1の文字との一致度として、第1の文字との違いをあらわす距離値を用いる場合を例に挙げて説明する。この場合、第1の文字との距離値が小さいほど、認識した文字と第1の文字との一致度合いが高く、認識した文字が正しい可能性が高いことを示す。
【0073】
具体的には、例えば、まず、特定部1002は、取得された答案の画像データを設問単位で区切って小片画像に分割する。小片画像は、各設問の回答欄を含む画像データである。分割された小片画像は、例えば、図7に示した小片画像DB230に記憶される。なお、答案上の各設問の回答欄の位置を特定する情報は、例えば、答案の答案ID等と対応付けて、メモリ302、ディスク305等の記憶装置に予め記憶されている。
【0074】
つぎに、特定部1002は、分割した小片画像に対してOCR処理を実施して文字を認識する。OCR処理とは、文字を光学的に読み取る文字認識処理である。OCR処理では、例えば、ある文字を認識するにあたり、複数の対象文字それぞれとの距離値(一致度)を求め、距離値が最小となる対象文字(第1の文字)を認識する。
【0075】
対象文字は、OCRで認識する文字として予め登録された文字である。文字間の距離値の算出方法については、既存のいかなる技術を用いることにしてもよい。そして、特定部1002は、認識した第1の文字を回答の文字として特定する。また、特定部1002は、第1の文字であると認識した回答の文字の第1の文字との距離値を特定する。
【0076】
例えば、ある小片画像に対してOCR処理を実施した結果、距離値が低いものから上位3つの文字「ア」、「イ」、「ウ」が候補文字として抽出されたとする。また、候補文字「ア」との距離値を「10」とし、候補文字「イ」との距離値を「110」とし、候補文字「ウ」との距離値を「500」とする。この場合、特定部1002は、3つの候補文字「ア」、「イ」、「ウ」のうち、距離値が最小の候補文字「ア」を認識する。そして、特定部1002は、認識した候補文字「ア」を回答の文字として特定する。また、特定部1002は、回答の文字の候補文字「ア」との距離値「10」を特定する。
【0077】
なお、答案の画像データを小片画像に分割する処理については、画像処理装置101とは異なる他のコンピュータにおいて実行することにしてもよい。また、小片画像に対するOCR処理についても、画像処理装置101とは異なる他のコンピュータにおいて実行することにしてもよい。
【0078】
また、特定部1002は、回答の文字の第1の文字との距離値と、回答の文字の第2の文字との距離値との差分を算出することにしてもよい。ここで、第1の文字は、複数の対象文字のうち、回答の文字との距離値が最小の文字であり、回答の文字との一致度合いが最も高いといえる文字である。また、第2の文字は、複数の対象文字のうち、回答の文字との距離値が第1の文字のつぎに小さい文字であり、回答の文字との一致度合いが第1の文字のつぎに高いといえる文字である。
【0079】
上述した3つの候補文字「ア」、「イ」、「ウ」の例では、第1の文字は候補文字「ア」であり、第2の文字は候補文字「イ」である。この場合、特定部1002は、回答の文字の候補文字「ア」との距離値「10」と、回答の文字の候補文字「イ」との距離値「110」との差分「100」を算出する。
【0080】
以下の説明では、回答の文字の第1の文字との距離値と回答の文字の第2の文字との距離値との差分を「第1の文字/第2の文字間の距離値の隣接差」と表記する場合がある。
【0081】
判断部1003は、特定された第1の文字との距離値を、答案及び/又は設問に対応付けた学年、科目および設問パターンのうちの少なくともいずれかに対応する距離閾値と比較する。距離閾値は、距離値(一致度)についての閾値(第1の閾値)である。距離閾値は、学年、科目および設問パターンのうちの少なくともいずれかに対応付けて保持される。この際、距離閾値は、OCRで認識する文字として登録された対象文字ごとに保持されることにしてもよい。
【0082】
具体的には、例えば、まず、判断部1003は、小片画像DB230を参照して、小片画像に対応する答案IDおよび設問IDを特定する。つぎに、判断部1003は、図8に示した正答テーブル240を参照して、特定した答案IDおよび設問IDに対応する学年、科目および設問パターンを特定する。
【0083】
つぎに、判断部1003は、図9に示した閾値テーブル250を参照して、特定した学年、科目および設問パターンに対応する第1の文字についての距離閾値を特定する。一例として、学年を「1」、科目を「算数」、設問パターンを「単一回答」、第1の文字を「ア」とすると、距離閾値は「100」となる。
【0084】
そして、判断部1003は、第1の文字との距離値が、特定した距離閾値よりも小さいか否かを判断する。上述した候補文字「ア」を第1の文字とする例では、回答の文字の第1の文字「ア」との距離値は「10」である。このため、距離閾値を「100」とすると、判断部1003は、第1の文字「ア」との距離値「10」が距離閾値「100」より小さいと判断する。
【0085】
また、判断部1003は、第1の文字/第2の文字間の距離値の隣接差を、答案及び/又は設問に対応付けた学年、科目および設問パターンのうちの少なくともいずれかに対応する第1の文字についての隣接差閾値と比較することにしてもよい。隣接差閾値は、距離値の隣接差についての対象文字ごとの閾値(第2の閾値)である。
【0086】
ここで、文字によっては、特徴がよく似た他の文字があるものや、特徴が他の文字と大きく異なるものなど様々である。例えば、カタカナの「カ」は「オ」と特徴がよく似ている。このため、隣接差閾値は、対象文字ごとに設けられ、例えば、閾値テーブル250から特定される。一例として、学年を「1」、科目を「算数」、設問パターンを「単一回答」、第1の文字を「ア」とすると、隣接差閾値は「500」となる。
【0087】
そして、判断部1003は、第1の文字/第2の文字間の距離値の隣接差が、第1の文字についての隣接差閾値よりも大きいか否かを判断する。上述した3つの候補文字「ア」、「イ」、「ウ」の例では、第1の文字/第2の文字間の距離値の隣接差は「100」であり、第1の文字「ア」についての隣接差閾値は「500」である。このため、判断部1003は、隣接差「100」が隣接差閾値「500」以下であると判断する。隣接差「100」が隣接差閾値「500」以下であれば、第2の文字「イ」が正しい文字である可能性が無視できない程度に高いといえる。
【0088】
以下の説明では、OCRにより認識された回答の文字の第1の文字との距離値が距離閾値よりも小さいという条件を、「第1の条件」と表記する場合がある。第1の条件を満たすということは、OCRで認識した文字(第1の文字)が正しいと判断できる程度に、回答の文字の第1の文字との一致度合いが高いことを意味する。
【0089】
また、OCRにより認識された回答の文字についての第1の文字/第2の文字間の距離値の隣接差が隣接差閾値よりも大きいという条件を、「第2の条件」と表記する場合がある。第2の条件を満たすということは、第2の文字が正しい文字である可能性が低いことを意味する。換言すれば、第2の条件を満たさなければ、第2の文字が正しい文字である可能性を無視できないことを意味する。
【0090】
判定部1004は、第1の条件を満たすと判断された場合、認識された回答の文字と設問の正答の文字とが一致するか否かを判定する。ここで、設問の正答の文字とは、設問の答えを示す文字である。すなわち、判定部1004は、第1の条件を満たす場合に、OCRにより認識された回答の文字を文字認識結果として決定し、正答の文字との一致判定を行う。
【0091】
具体的には、例えば、判定部1004は、正答テーブル240を参照して、小片画像の答案IDおよび設問IDに対応する正答の文字を特定する。そして、判定部1004は、認識された回答の文字と、特定した正答の文字とが一致するか否かを判定する。
【0092】
これにより、学年、科目、設問パターン等の特性に応じた判断基準を用いてOCRで認識した文字の確からしさが検証された場合、すなわち、OCRで認識した文字が正しいと判断された場合に、正答の文字との一致判定を行うことができる。
【0093】
なお、例えば、設問パターンが「複数回答」の場合、正答の文字は複数存在する。この場合、判定部1004は、認識された回答の文字それぞれと、正答の文字それぞれとを比較して、回答の文字と正答の文字とが一致するか否かを判定する。この場合、全ての正答の文字と一致する回答の文字があれば、正解となる。
【0094】
また、判定部1004は、第1の条件を満たすと判断され、かつ、第2の条件を満たすと判断された場合に、認識された回答の文字と設問の正答の文字とが一致するか否かを判定することにしてもよい。これにより、第2の文字が正しい文字である可能性の高さも考慮して、OCRで認識した文字の確からしさを検証することができる。
【0095】
出力部1005は、設問と対応付けて、判定された判定結果を出力する。出力部1005の出力形式としては、例えば、メモリ302、ディスク305などの記憶装置への記憶、I/F303による他のコンピュータへの送信、不図示のディスプレイへの表示、不図示のプリンタへの印刷出力などがある。
【0096】
具体的には、例えば、出力部1005は、小片画像の答案IDおよび設問IDと対応付けて、判定された判定結果を出力することにしてもよい。これにより、どのテストのどの設問の回答が、正解または不正解であったのかを特定可能となる。なお、画像処理装置101は、判定部1004によって判定された判定結果に基づいて、児童ごとに、答案を採点して、答案の採点結果を出力することにしてもよい。より具体的には、例えば、画像処理装置101は、児童の答案画像上の各設問に対する回答に○記号または×記号を付した採点結果画像を出力することにしてもよい。
【0097】
また、出力部1005は、第1の条件を満たさないと判断された場合、設問に対する回答の文字の画像データを出力またはハイライト表示する。また、出力部1005は、第1の条件または第2の条件の少なくともいずれかを満たさないと判断された場合に、設問に対する回答の文字の画像データを出力またはハイライト表示することにしてもよい。
【0098】
ここで、回答の文字の画像データは、答案に記入された回答の文字を含む画像データであり、例えば、小片画像である。具体的には、例えば、出力部1005は、第1の条件(または、第2の条件)を満たさないと判断された回答の文字を含む小片画像を、チェック担当者が使用するコンピュータに表示することにしてもよい。
【0099】
チェック担当者とは、OCRで認識された文字の正しさをチェックしたり、テストの採点を行ったりする者である。チェック担当者が使用するコンピュータは、例えば、図2に示した拠点端末201である。より具体的には、例えば、出力部1005は、図11に示すような文字チェック画面1100を表示することにしてもよい。
【0100】
図11は、文字チェック画面の画面例を示す説明図である。図11において、文字チェック画面1100は、OCRで認識された文字の正しさをチェックするための操作画面である。文字チェック画面1100には、第1の条件または第2の条件の少なくともいずれかを満たさないと判断された設問に対する回答の文字と、OCRの文字認識結果である第1の文字「ア」が表示されている。
【0101】
文字チェック画面1100において、不図示の入力装置を用いた操作入力により、ボタン1101を選択すると、回答の文字がOCRの文字認識結果と一致するというチェック結果を入力することができる。また、文字チェック画面1100において、ボタン1102を選択すると、回答の文字がOCRの文字認識結果と一致しないというチェック結果を入力するとともに、正しい文字を選択するための操作画面を表示することができる。
【0102】
すなわち、チェック担当者は、OCRの文字認識結果が正しいと判断した場合、ボタン1101を選択する。一方、OCRの文字認識結果が誤っていると判断した場合には、チェック担当者は、ボタン1102を選択して、正しい文字を選択する。
【0103】
また、出力部1005は、例えば、第1の条件または第2の条件の少なくともいずれかを満たさないと判断された回答の文字がハイライト表示された答案の画像データを、チェック担当者が使用するコンピュータに表示することにしてもよい。より具体的には、例えば、出力部1005は、図12に示すような答案チェック画面1200を表示することにしてもよい。
【0104】
図12は、答案チェック画面の画面例を示す説明図である。図12において、答案チェック画面1200は、第1の条件または第2の条件の少なくともいずれかを満たさないと判断された回答の文字がハイライト表示された答案画像P1を表示する操作画面である。具体的には、答案チェック画面1200では、第1の条件または第2の条件の少なくともいずれかを満たさないと判断された回答の文字が、枠1201で囲われて強調表示されている。
【0105】
答案チェック画面1200において、不図示の入力装置を用いた操作入力により、枠1201を選択すると、例えば、図11に示したような文字チェック画面1100に遷移して、OCRで認識された文字の正しさをチェックすることができる。また、答案チェック画面1200において、採点チェックを行えるようにしてもよい。
【0106】
受付部1006は、出力またはハイライト表示された回答の文字の画像データに対して、回答の文字が第1の文字と一致するとの入力を受け付ける。ここで、回答の文字が第1の文字と一致するとの入力は、OCRによる文字認識結果が正しいものであることを示し、例えば、図11に示した文字チェック画面1100において入力される。
【0107】
具体的には、例えば、受付部1006は、拠点端末201から回答の文字がOCRの文字認識結果と一致するというチェック結果を受信することにより、回答の文字が第1の文字と一致するとの入力を受け付ける。
【0108】
また、受付部1006は、回答の文字が第1の文字と一致しないとの入力を受け付けた場合、正しい文字の選択を受け付けることにしてもよい。ここで、回答の文字が第1の文字と一致しないとの入力は、OCRによる文字認識結果が誤っていることを示し、例えば、図11に示した文字チェック画面1100において入力される。
【0109】
具体的には、例えば、受付部1006は、拠点端末201から回答の文字がOCRの文字認識結果と一致しないというチェック結果を受信することにより、回答の文字が第1の文字と一致しないとの入力を受け付ける。そして、受付部1006は、拠点端末201から正しい文字の選択結果を受信することにより、回答の文字についての正しい文字の選択を受け付ける。
【0110】
この場合、判定部1004は、回答の文字について選択された正しい文字と設問の正答の文字とが一致するか否かを判定することにしてもよい。これにより、OCRで誤って認識された文字を用いて正答の文字との一致判定が行われるのを防ぐことができる。
【0111】
記録部1007は、回答の文字が第1の文字と一致するとの入力を受け付けた場合、答案及び/又は設問に対応付けた学年、科目および設問パターンのうちの少なくともいずれかに対応付けて、回答の文字の第1の文字との距離値を記録する。この際、記録部1007は、答案及び/又は設問に対応付けた学年、科目および設問パターンのうちの少なくともいずれかに対応付けて、第1の文字/第2の文字間の距離値の隣接差をあわせて記録することにしてもよい。
【0112】
具体的には、例えば、記録部1007は、答案及び/又は設問に対応付けた学年、科目および設問パターンの組合せに対応付けて、回答の文字の第1の文字との距離値、および第1の文字/第2の文字間の距離値の隣接差を、後述の図13に示すような距離値/隣接差テーブル1300に記録する。
【0113】
これにより、第1の条件または第2の条件を満たさないものの、答案に記入された回答の文字がOCRにより正しく認識されていたときの距離値および距離値の隣接差を、学年、科目および設問パターンの組合せに対応付けて記録することができる。
【0114】
また、記録部1007は、第1の条件を満たすと判断された場合、答案及び/又は設問に対応付けた学年、科目および設問パターンのうちの少なくともいずれかに対応付けて、回答の文字の第1の文字との距離値を記録する。具体的には、例えば、記録部1007は、答案及び/又は設問に対応付けた学年、科目および設問パターンの組合せに対応付けて、回答の文字の第1の文字との距離値を距離値/隣接差テーブル1300に記録する。これにより、第1の条件を満たすときの距離値を、学年、科目および設問パターンの組合せに対応付けて記録することができる。
【0115】
また、記録部1007は、第1の条件を満たすと判断され、かつ、第2の条件を満たすと判断された場合に、答案及び/又は設問に対応付けた学年、科目および設問パターンのうちの少なくともいずれかに対応付けて、回答の文字の第1の文字との距離値、および第1の文字/第2の文字間の距離値の隣接差を記録することにしてもよい。
【0116】
具体的には、例えば、記録部1007は、答案及び/又は設問に対応付けた学年、科目および設問パターンの組合せに対応付けて、回答の文字の第1の文字との距離値、および第1の文字/第2の文字間の距離値の隣接差を、距離値/隣接差テーブル1300に記録する。これにより、第1の条件および第2の条件をともに満たすときの距離値および距離値の隣接差を、学年、科目および設問パターンの組合せに対応付けて記録することができる。
【0117】
ここで、距離値/隣接差テーブル1300の記憶内容について説明する。
【0118】
図13は、距離値/隣接差テーブル1300の記憶内容の一例を示す説明図である。図13において、距離値/隣接差テーブル1300は、対象文字、学年、科目、設問パターン、距離値および隣接差のフィールドを有する。各フィールドに情報を設定することで、距離値/隣接差情報(例えば、距離値/隣接差情報1300−1〜1300−4)がレコードとして記憶される。
【0119】
ここで、対象文字は、OCRで認識する文字として登録された文字である。学年は、テストの対象となる学年である。科目は、テストの科目である。設問パターンは、設問の種別である。距離値は、設問に対する回答の文字がOCRで認識されたときの対象文字(第1の文字)との距離値である。隣接差は、設問に対する回答の文字がOCRで認識されたときの第1の文字/第2の文字間の距離値の隣接差である。
【0120】
更新部1008は、学年、科目および設問パターンのうちの少なくともいずれかに対応付けて記録された回答の文字の第1の文字との距離値に基づいて、距離閾値を更新する。ここで、学年、科目および設問パターンのうちの少なくともいずれかに対応付けて記録された、回答の文字の第1の文字との距離値の分布は、正規分布となることが想定される。
【0121】
そこで、更新部1008は、記録された距離値の統計値に基づいて、全体の95%〜98%程度の距離値が存在する範囲を特定して、更新後の距離閾値を決定することにしてもよい。例えば、正規分布の場合、「平均値±2σ」に全体の約95%が存在することが知られている。σは、標準偏差である。
【0122】
具体的には、例えば、更新部1008は、図13に示した距離値/隣接差テーブル1300を参照して、学年、科目および設問パターンの組合せごとに、各対象文字について、距離値の平均値、標準偏差(σ)を算出する。そして、更新部1008は、「距離値の平均値+2σ」を、各対象文字についての更新後の距離閾値に決定することにしてもよい。
【0123】
これにより、全体の約95%の距離値が含まれるような値を、更新後の距離閾値に決定することができる。更新された対象文字についての距離閾値は、例えば、学年、科目および設問パターンの組合せに対応付けて、図9に示した閾値テーブル250に記憶される。
【0124】
なお、更新部1008は、学年、科目および設問パターンの組合せごとに、全ての対象文字を含めて、距離値の平均値、標準偏差(σ)を算出することにしてもよい。そして、更新部1008は、「距離値の平均値+2σ」を、全ての対象文字に共通の更新後の距離閾値に決定することにしてもよい。
【0125】
また、更新部1008は、学年、科目および設問パターンのうちの少なくともいずれかに対応付けて記録された第1の文字/第2の文字間の距離値の隣接差に基づいて、第1の文字についての隣接差閾値を更新することにしてもよい。
【0126】
具体的には、例えば、更新部1008は、距離値/隣接差テーブル1300を参照して、学年、科目および設問パターンの組合せごとに、各対象文字について、隣接差の平均値、標準偏差(σ)を算出する。そして、更新部1008は、「隣接差の平均値+2σ」を、各対象文字についての更新後の隣接差閾値に決定することにしてもよい。
【0127】
これにより、全体の約95%の隣接差が含まれるような値を、更新後の隣接差閾値に決定することができる。更新された対象文字についての隣接差閾値は、例えば、学年、科目および設問パターンの組合せに対応付けて、閾値テーブル250に記憶される。
【0128】
(画像処理装置101の画像処理手順)
つぎに、画像処理装置101の画像処理手順について説明する。画像処理装置101の画像処理は、例えば、1つのテストが実施されるたびに、そのテストについての各児童の答案画像から分割された小片画像を用いて実行される。
【0129】
図14および図15は、画像処理装置101の画像処理手順の一例を示すフローチャートである。図14のフローチャートにおいて、まず、画像処理装置101は、小片画像DB230から選択されていない未選択の小片画像情報を選択する(ステップS1401)。そして、画像処理装置101は、選択した小片画像情報の小片画像に対してOCR処理を実施する(ステップS1402)。
【0130】
つぎに、画像処理装置101は、小片画像からOCR処理により第1の文字であると認識された設問に対する回答の文字の第1の文字との距離値を特定する(ステップS1403)。そして、画像処理装置101は、回答の文字についての第1の文字/第2の文字間の距離値の隣接差を算出する(ステップS1404)。
【0131】
つぎに、画像処理装置101は、正答テーブル240を参照して、選択した小片画像情報の答案IDおよび設問IDに対応する学年、科目、設問パターンおよび正答を特定する(ステップS1405)。そして、画像処理装置101は、閾値テーブル250を参照して、特定した学年、科目および設問パターンの組合せに対応する第1の文字についての距離閾値、隣接差閾値を特定する(ステップS1406)。
【0132】
つぎに、画像処理装置101は、特定した回答の文字の第1の文字との距離値が、特定した距離閾値よりも小さいか否かを判断する(ステップS1407)。ここで、距離値が距離閾値よりも小さい場合(ステップS1407:Yes)、画像処理装置101は、算出した隣接差が、特定した隣接差閾値よりも大きいか否かを判断する(ステップS1408)。
【0133】
ここで、隣接差が隣接差閾値よりも大きい場合(ステップS1408:Yes)、画像処理装置101は、OCR処理で認識された回答の文字と、特定した正答の文字とが一致するか否かを判定して(ステップS1409)、図15に示すステップS1501に移行する。
【0134】
また、ステップS1407において、距離値が距離閾値以上の場合(ステップS1407:No)、または、ステップS1408において、隣接差が隣接差閾値以下の場合(ステップS1408:No)、画像処理装置101は、OCRで認識された文字の正しさをチェックするための文字チェック画面(例えば、図11参照)を表示する(ステップS1410)。そして、画像処理装置101は、回答の文字がOCRの文字認識結果と一致するというチェック結果の入力を受け付けたか否かを判断する(ステップS1411)。
【0135】
ここで、回答の文字がOCRの文字認識結果と一致するというチェック結果の入力を受け付けた場合(ステップS1411:Yes)、画像処理装置101は、ステップS1409に移行する。
【0136】
一方、回答の文字がOCRの文字認識結果と一致しないというチェック結果とともに、正しい文字の選択を受け付けた場合(ステップS1411:No)、画像処理装置101は、選択された正しい文字と、特定した正答の文字とが一致するか否かを判定して(ステップS1412)、図15に示すステップS1502に移行する。
【0137】
図15のフローチャートにおいて、まず、画像処理装置101は、特定した学年、科目および設問パターンの組合せに対応付けて、特定した回答の文字の第1の文字との距離値、および、算出した第1の文字/第2の文字間の距離値の隣接差を距離値/隣接差テーブル1300に記録する(ステップS1501)。
【0138】
つぎに、画像処理装置101は、小片画像情報の答案IDおよび設問IDと対応付けて、ステップS1409またはステップS1412において判定した判定結果を出力する(ステップS1502)。そして、画像処理装置101は、小片画像DB230から選択されていない未選択の小片画像情報があるか否かを判断する(ステップS1503)。
【0139】
ここで、未選択の小片画像情報がある場合(ステップS1503:Yes)、画像処理装置101は、図14に示したステップS1401に戻る。一方、未選択の小片画像情報がない場合(ステップS1503:No)、画像処理装置101は、距離値/隣接差テーブル1300を参照して、学年、科目および設問パターンの組合せごとに、各対象文字について、距離閾値、隣接差閾値を算出する(ステップS1504)。
【0140】
そして、画像処理装置101は、算出した算出結果に基づいて、閾値テーブル250に記憶された各対象文字についての距離閾値、隣接差閾値を更新して(ステップS1505)、本フローチャートによる一連の処理を終了する。なお、画像処理装置101は、ステップS1502において出力した判定結果に基づいて、各児童の答案を採点して、各児童の答案の採点結果を出力することにしてもよい。
【0141】
これにより、学年、科目および設問パターンの組合せに対応する距離閾値、隣接差閾値を用いて、OCRで認識した文字の確からしさを検証することができる。また、第1の条件または第2の条件を満たさなかったものの、目視確認(目検)によって、回答の文字がOCRにより正しく認識されていたと判断されたときの距離値および距離値の隣接差を用いて、距離閾値および隣接差閾値を更新することができる。
【0142】
以上説明したように、実施の形態にかかる画像処理装置101によれば、答案の画像データからOCRにより第1の文字であると認識された設問に対する回答の文字の第1の文字との距離値を、答案及び/又は設問に対応付けた学年、科目および設問パターンのうちの少なくともいずれかに対応する距離閾値と比較することができる。そして、画像処理装置101によれば、回答の文字の第1の文字との距離値が距離閾値よりも小さい場合に、回答の文字と設問の正答の文字とが一致するか否かを判定することができる。
【0143】
これにより、学年、科目および設問パターンのうちの少なくともいずれかに対応する距離閾値を用いて、OCRで認識した文字の確からしさを検証して文字認識精度の向上を図ることができる。例えば、学年に対応する距離閾値を用いることで、学年の違いによって文字を書く能力が異なることを考慮して、OCRで認識した文字の確からしさを検証することができる。
【0144】
また、画像処理装置101によれば、回答の文字の第1の文字との距離値が距離閾値以上の場合、回答の文字の画像データを出力またはハイライト表示することができる。これにより、OCRで認識した文字が正しいとはいえない場合に、人手による目視確認(目検)を促すことができる。
【0145】
また、画像処理装置101によれば、出力またはハイライト表示した回答の文字の画像データに対して、回答の文字が第1の文字と一致するとの入力を受け付けた場合、回答の文字の第1の文字との距離値に基づいて、距離閾値を更新することができる。これにより、第1の条件は満たさなかったものの、人手による目視確認(目検)を実施したところ、答案に記入された回答の文字がOCRにより正しく認識されていたと判断されたときの距離値を用いて、距離閾値を更新することができる。
【0146】
具体的には、例えば、画像処理装置101は、第1の条件を満たすと判断された場合、答案及び/又は設問に対応付けた学年、科目および設問パターンのうちの少なくともいずれかに対応付けて、回答の文字の第1の文字との距離値を記録する。また、画像処理装置101は、回答の文字が第1の文字と一致するとの入力を受け付けた場合、答案及び/又は設問に対応付けた学年、科目および設問パターンのうちの少なくともいずれかに対応付けて、回答の文字の第1の文字との距離値を記録する。そして、画像処理装置101は、学年、科目および設問パターンのうちの少なくともいずれかに対応付けて記録した距離値の統計値(例えば、平均値、標準偏差など)に基づいて、距離閾値を更新する。
【0147】
これにより、画像処理システム200を運用しながら、OCRにより正しく認識されていたときの距離値を収集し、収集した距離値を用いて、学年、科目、設問パターン等の特性に応じた距離閾値を統計的に求めることができる。この結果、距離閾値が厳しくなりすぎたときは、目視確認で正しい文字であったと判断されることが多くなり、距離閾値が緩くなるように自動調整される。一方、距離閾値が緩くなりすぎたときは、分布が中央に寄り、距離閾値が厳しくなるように自動調整される。
【0148】
また、画像処理装置101によれば、第1の文字/第2の文字間の距離値の隣接差を、答案及び/又は設問に対応付けた学年、科目および設問パターンのうちの少なくともいずれかに対応する第1の文字についての隣接差閾値と比較することができる。そして、画像処理装置101によれば、回答の文字の第1の文字との距離値が距離閾値よりも小さく、かつ、第1の文字/第2の文字間の距離値の隣接差が隣接差閾値よりも大きい場合に、回答の文字と設問の正答の文字とが一致するか否かを判定することができる。
【0149】
これにより、学年、科目および設問パターンのうちの少なくともいずれかに対応する対象文字ごとの隣接差閾値を用いて、2番目に一致度合いが高い文字(第2の文字)が正しい文字である可能性の高さを判断して、OCRで認識した文字の確からしさを検証することができる。
【0150】
また、画像処理装置101によれば、第1の文字/第2の文字間の距離値の隣接差が隣接差閾値以下の場合に、回答の文字の画像データを出力またはハイライト表示することができる。これにより、第2の文字が正しい文字である可能性が無視できない程度にある場合に、人手による目視確認(目検)を促すことができる。
【0151】
また、画像処理装置101によれば、出力またはハイライト表示した回答の文字の画像データに対して、回答の文字が第1の文字と一致するとの入力を受け付けた場合、第1の文字/第2の文字間の距離値の隣接差に基づいて、隣接差閾値を更新することができる。これにより、第2の条件は満たさなかったものの、人手による目視確認(目検)を実施したところ、答案に記入された回答の文字がOCRにより正しく認識されていたと判断されたときの距離値の隣接差を用いて、隣接差閾値を更新することができる。
【0152】
また、画像処理装置101によれば、設問と対応付けて、判定した判定結果を出力することができる。これにより、各設問に対する回答の正否を特定することができ、例えば、児童ごとに答案の自動採点を行うことが可能となる。
【0153】
これらのことから、画像処理装置101によれば、学年、科目、設問パターン等の特性に応じた判断基準を用いて、OCRで認識した文字の確からしさを検証して文字認識精度の向上を図ることができる。これにより、小学生等を対象としたテストの答案についての文字認識精度を確保することが可能となり、ひいては、テストの自動採点の精度を向上させることができる。
【0154】
なお、本実施の形態で説明した画像処理方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本画像処理プログラムは、ハードディスク、フレキシブルディスク、CD(Compact Disc)−ROM、MO(Magneto−Optical disk)、DVD(Digital Versatile Disk)、USB(Universal Serial Bus)メモリ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本画像処理プログラムは、インターネット等のネットワークを介して配布してもよい。
【0155】
上述した実施の形態に関し、さらに以下の付記を開示する。
【0156】
(付記1)答案の画像データからOCRにより第1の文字であると認識された設問に対する回答の文字の前記第1の文字との一致度を、記憶部に記憶した前記答案及び/又は前記設問に対応付けた学年、科目および設問の種別のうちの少なくともいずれかに対応する一致度の第1の閾値と比較し、
前記回答の文字の前記第1の文字との一致度が前記第1の閾値よりも大きい場合に、前記回答の文字と前記設問の正答の文字とが一致するか否かを判定する、
処理をコンピュータに実行させることを特徴とする画像処理プログラム。
【0157】
(付記2)前記回答の文字の前記第1の文字との一致度が前記第1の閾値以下の場合、前記回答の文字の画像データを出力またはハイライト表示する、処理を前記コンピュータに実行させることを特徴とする付記1に記載の画像処理プログラム。
【0158】
(付記3)出力またはハイライト表示した前記回答の文字の画像データに対して、前記回答の文字が前記第1の文字と一致するとの入力を受け付けた場合、前記回答の文字の前記第1の文字との一致度に基づいて、前記第1の閾値を更新する、処理を前記コンピュータに実行させることを特徴とする付記2に記載の画像処理プログラム。
【0159】
(付記4)前記記憶部は、前記答案及び/又は前記設問に対応付けた学年、科目および設問の種別のうちの少なくともいずれかに対応する前記第1の文字についての一致度の隣接差に関する第2の閾値をさらに記憶しており、
前記回答の文字の前記第1の文字との一致度と、前記回答の文字の第2の文字との一致度との差分を前記第2の閾値と比較する、処理を前記コンピュータに実行させ、
前記判定する処理は、
前記回答の文字の前記第1の文字との一致度が前記第1の閾値よりも大きく、かつ、前記差分が前記第2の閾値よりも大きい場合に、前記回答の文字と前記設問の正答の文字とが一致するか否かを判定する、ことを特徴とする付記1〜3のいずれか一つに記載の画像処理プログラム。
【0160】
(付記5)前記設問と対応付けて、判定した判定結果を出力する、
処理を前記コンピュータに実行させることを特徴とする付記1〜4のいずれか一つに記載の画像処理プログラム。
【0161】
(付記6)前記回答の文字の前記第1の文字との一致度が前記第1の閾値以下の場合、または、前記差分が前記第2の閾値以下の場合、前記回答の文字の画像データを出力またはハイライト表示する、処理を前記コンピュータに実行させることを特徴とする付記4に記載の画像処理プログラム。
【0162】
(付記7)出力またはハイライト表示した前記回答の文字の画像データに対して、前記回答の文字が前記第1の文字と一致するとの入力を受け付けた場合、前記回答の文字の前記第1の文字との一致度と、前記回答の文字の前記第2の文字との一致度との差分に基づいて、前記第2の閾値を更新する、処理を前記コンピュータに実行させることを特徴とする付記6に記載の画像処理プログラム。
【0163】
(付記8)前記第1の文字は、OCRで認識する文字として予め登録された複数の文字のうち前記回答の文字との一致度が最大の文字であり、
前記第2の文字は、前記複数の文字のうち前記回答の文字との一致度が前記第1の文字のつぎに大きい文字である、
ことを特徴とする付記4に記載の画像処理プログラム。
【0164】
(付記9)答案の画像データからOCRにより第1の文字であると認識された設問に対する回答の文字の前記第1の文字との一致度を、記憶部に記憶した前記答案及び/又は前記設問に対応付けた学年、科目および設問の種別のうちの少なくともいずれかに対応する一致度の第1の閾値と比較し、
前記回答の文字の前記第1の文字との一致度が前記第1の閾値よりも大きい場合に、前記回答の文字と前記設問の正答の文字とが一致するか否かを判定する、
処理をコンピュータが実行することを特徴とする画像処理方法。
【0165】
(付記10)答案の画像データからOCRにより第1の文字であると認識された設問に対する回答の文字の前記第1の文字との一致度を、記憶部に記憶した前記答案及び/又は前記設問に対応付けた学年、科目および設問の種別のうちの少なくともいずれかに対応する一致度の第1の閾値と比較し、
前記回答の文字の前記第1の文字との一致度が前記第1の閾値よりも大きい場合に、前記回答の文字と前記設問の正答の文字とが一致するか否かを判定する、
制御部を有することを特徴とする画像処理装置。
【符号の説明】
【0166】
101 画像処理装置
110 記憶部
200 画像処理システム
201 拠点端末
202 スキャナ
210 ネットワーク
220 答案画像DB
230 小片画像DB
240 正答テーブル
250 閾値テーブル
300 バス
301 CPU
302 メモリ
303 I/F
304 ディスクドライブ
305 ディスク
1001 取得部
1002 特定部
1003 判断部
1004 判定部
1005 出力部
1006 受付部
1007 記録部
1008 更新部
1100 文字チェック画面
1200 答案チェック画面
1300 距離値/隣接差テーブル
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15