(58)【調査した分野】(Int.Cl.,DB名)
バーコード又はこれに類する所定向きに偏った境界部分を有する対象を撮像対象として撮像した撮像画像より、当該撮像画像において撮像対象が所定方式の認識処理を施すのに十分な画質を有するか判定する情報端末装置であって、
前記撮像画像より方向ごとの特徴量を算出し、方向ごとに前記撮像対象の存在する候補領域を検出する検出部と、
当該検出された候補領域に対して、露出及び/又はぼけに関する所定条件を満たすことと、前記所定の認識処理の成否に関連する所定特徴量が所定条件を満たすこととが、少なくとも1つの方向における候補領域について成立するかを判定し、当該成立判定された場合は前記所定方式の認識処理を施すのに十分な画質を有する旨を決定する評価部と、を備え、
前記検出部が、
所定の各方向ごとに、当該方向の垂直方向とセットで輝度変化量を算出する方向付輝度変化算出部と、
当該方向及びその垂直方向のそれぞれにおける輝度変化量の値に基づいて、当該方向における輝度変化量のうち前記撮像対象に起因しうるものを抽出する境界候補抽出部と、
前記抽出された輝度変化量の前記撮像画像内での分布に基づいて、当該分布のうち輝度変化量が所定の閾値条件を満たす部分として前記撮像対象の存在する候補領域を検出する領域検出部と、を含み、
前記境界候補抽出部が、当該方向における輝度変化量が所定の閾値条件を満たして大きいと判定され、その垂直方向における輝度変化量が所定の閾値条件を満たして小さいと判定される場合に、前記撮像対象に起因しうるものとして抽出することを特徴とする情報端末装置。
バーコード又はこれに類する所定向きに偏った境界部分を有する対象を撮像対象として撮像した撮像画像より、当該撮像画像において撮像対象が所定方式の認識処理を施すのに十分な画質を有するか判定する情報端末装置であって、
前記撮像画像より方向ごとの特徴量を算出し、方向ごとに前記撮像対象の存在する候補領域を検出する検出部と、
当該検出された候補領域に対して、露出及び/又はぼけに関する所定条件を満たすことと、前記所定の認識処理の成否に関連する所定特徴量が所定条件を満たすこととが、少なくとも1つの方向における候補領域について成立するかを判定し、当該成立判定された場合は前記所定方式の認識処理を施すのに十分な画質を有する旨を決定する評価部と、を備え、
前記検出部が、
所定の各方向ごとに、当該方向の垂直方向とセットで輝度変化量を算出する方向付輝度変化算出部と、
当該方向及びその垂直方向のそれぞれにおける輝度変化量の値に基づいて、当該方向における輝度変化量のうち前記撮像対象に起因しうるものを抽出する境界候補抽出部と、
前記抽出された輝度変化量の前記撮像画像内での分布に基づいて、当該分布のうち輝度変化量が所定の閾値条件を満たす部分として前記撮像対象の存在する候補領域を検出する領域検出部と、を含み、
前記領域検出部が、前記抽出された輝度変化量の当該方向に沿った平均を求め、当該平均の当該方向の垂直方向における分布を求め、当該分布の最大値を与える位置の所定の近傍範囲として、前記撮像対象の存在する候補領域が当該垂直方向において占める範囲を定めることを特徴とする情報端末装置。
前記領域検出部がさらに、前記定められた垂直方向において占める範囲内において、前記抽出された輝度変化量の当該方向に沿って動く所定長のウィンドウ内での平均を求め、当該平均の当該ウィンドウ位置に対する分布を求め、当該分布の最大値を与える位置の所定の近傍範囲として、前記撮像対象の存在する候補領域が当該方向において占める範囲を定めることを特徴とする請求項2に記載の情報端末装置。
バーコード又はこれに類する所定向きに偏った境界部分を有する対象を撮像対象として撮像した撮像画像より、当該撮像画像において撮像対象が所定方式の認識処理を施すのに十分な画質を有するか判定する情報端末装置であって、
前記撮像画像より方向ごとの特徴量を算出し、方向ごとに前記撮像対象の存在する候補領域を検出する検出部と、
当該検出された候補領域に対して、露出及び/又はぼけに関する所定条件を満たすことと、前記所定の認識処理の成否に関連する所定特徴量が所定条件を満たすこととが、少なくとも1つの方向における候補領域について成立するかを判定し、当該成立判定された場合は前記所定方式の認識処理を施すのに十分な画質を有する旨を決定する評価部と、を備え、
前記検出部が、
所定の各方向ごとに、当該方向の垂直方向とセットで輝度変化量を算出する方向付輝度変化算出部と、
当該方向及びその垂直方向のそれぞれにおける輝度変化量の値に基づいて、当該方向における輝度変化量のうち前記撮像対象に起因しうるものを抽出する境界候補抽出部と、
前記抽出された輝度変化量の前記撮像画像内での分布に基づいて、当該分布のうち輝度変化量が所定の閾値条件を満たす部分として前記撮像対象の存在する候補領域を検出する領域検出部と、を含み、
前記検出部が、さらに、
前記所定の各方向ごとに検出された候補領域に対して、当該方向の垂直方向に沿った画素値の変化が所定条件を満たして小さいと判定される候補領域を選別する第一領域選別部を含み、
前記評価部は、当該選別された候補領域のみを対象として、前記判定を実施することを特徴とする情報端末装置。
前記評価部が、前記成立判定されない場合は、前記露出及び/又はぼけに関する所定条件と、前記所定の認識処理の成否に関連する所定特徴量についての所定条件と、のうち満たされない条件に関するエラー情報を出力することを特徴とする請求項1ないし4のいずれかに記載の情報端末装置。
バーコード又はこれに類する所定向きに偏った境界部分を有する対象を撮像対象として撮像した撮像画像より、当該撮像画像において撮像対象が所定方式の認識処理を施すのに十分な画質を有するか判定する情報端末装置であって、
前記撮像画像より方向ごとの特徴量を算出し、方向ごとに前記撮像対象の存在する候補領域を検出する検出部と、
当該検出された候補領域に対して、露出及び/又はぼけに関する所定条件を満たすことと、前記所定の認識処理の成否に関連する所定特徴量が所定条件を満たすこととが、少なくとも1つの方向における候補領域について成立するかを判定し、当該成立判定された場合は前記所定方式の認識処理を施すのに十分な画質を有する旨を決定する評価部と、を備え、
前記評価部は、
前記検出された候補領域において、露出に関して所定条件を満たして白飛び又は黒潰れが発生していないか否か判定し、否と判定された場合はその旨を出力すると共に前記成立判定には該当しないものと判断する領域露出判定部を含み、
前記領域露出判定部は、
画素値が所定の閾値条件を満たして大きいと判定される画素を白飛びが発生していると判定し、当該白飛び発生判定された画素数の前記候補領域内における割合が所定の閾値条件を満たして多いと判定される場合は当該候補領域において白飛びが発生していると判定し、
画素値が所定の閾値条件を満たして小さいと判定される画素を黒潰れが発生していると判定し、当該黒潰れ発生判定された画素数の前記候補領域内における割合が所定の閾値条件を満たして多いと判定される場合は当該候補領域において黒潰れが発生していると判定することを特徴とすることを特徴とする情報端末装置。
バーコード又はこれに類する所定向きに偏った境界部分を有する対象を撮像対象として撮像した撮像画像より、当該撮像画像において撮像対象が所定方式の認識処理を施すのに十分な画質を有するか判定する情報端末装置であって、
前記撮像画像より方向ごとの特徴量を算出し、方向ごとに前記撮像対象の存在する候補領域を検出する検出部と、
当該検出された候補領域に対して、露出及び/又はぼけに関する所定条件を満たすことと、前記所定の認識処理の成否に関連する所定特徴量が所定条件を満たすこととが、少なくとも1つの方向における候補領域について成立するかを判定し、当該成立判定された場合は前記所定方式の認識処理を施すのに十分な画質を有する旨を決定する評価部と、を備え、
前記評価部は、
前記検出された候補領域において、当該候補領域におけるぼけが所定条件を満たして少ないか否か判定し、否と判定された場合はその旨を出力すると共に前記成立判定には該当しないものと判断するぼけ判定部を含み、
前記ぼけ判定部は、前記候補領域内における最大輝度値と最小輝度値との差を前記撮像対象に想定される所定の最大輝度変化量で割った値を鮮明量として求め、当該鮮明量が所定の閾値条件を満たして大きい場合、ぼけが前記所定条件を満たして少ないと判定することを特徴とする情報端末装置。
バーコード又はこれに類する所定向きに偏った境界部分を有する対象を撮像対象として撮像した撮像画像より、当該撮像画像において撮像対象が所定方式の認識処理を施すのに十分な画質を有するか判定する情報端末装置であって、
前記撮像画像より方向ごとの特徴量を算出し、方向ごとに前記撮像対象の存在する候補領域を検出する検出部と、
当該検出された候補領域に対して、露出及び/又はぼけに関する所定条件を満たすことと、前記所定の認識処理の成否に関連する所定特徴量が所定条件を満たすこととが、少なくとも1つの方向における候補領域について成立するかを判定し、当該成立判定された場合は前記所定方式の認識処理を施すのに十分な画質を有する旨を決定する評価部と、を備え、
前記評価部は、
前記検出された候補領域において、前記所定方式の認識処理の成否に関連する所定特徴量が、当該所定の認識処理の成功に関する所定条件を満たすか否か判定し、否と判定された場合はその旨を出力すると共に前記成立判定には該当しないものと判断する分布判定部を含み、
前記分布判定部は、所定の学習用画像に対して前記所定方式の認識処理を適用した際の成否と、当該所定の学習用画像における前記所定特徴量と、に機械学習を適用して得られる所定の判定式を用いて、前記判定を行うことを特徴とする情報端末装置。
【発明を実施するための形態】
【0016】
以下、図面を参照して本発明を説明する。以下では、情報端末装置として携帯端末を利用し、撮像対象をバーコードとした場合について説明する。しかし、本発明の情報端末装置は、携帯端末に限られるものではなく、例えば、デスクトップ型、ラップトップ型又はその他のコンピュータなどでもよい。情報端末装置は撮像部を備えるが、当該撮像部は外付けであってもよい。また、後述するように、撮像対象は必ずしもバーコードではなく、バーコードに類する特徴を有するものであってもよい。
【0017】
図1は、一実施形態に係る認識システムの機能ブロック図である。認識システム3は、情報端末装置1及び認識サーバ2を含む。情報端末装置1は、撮像部10、検出部20、評価部30及び表示部40と、選択的に利用可能な全体露出判定部310と、を備える。検出部20は、方向付輝度変化算出部21、境界候補抽出部22、領域検出部23及び(選択的に利用可能な)領域選別部24を含む。評価部30は、領域露出判定部31、ぼけ判定部32及び分布判定部33を含む。認識サーバ2は、認識部35を備える。
【0018】
撮像部10は、撮像対象を撮像して、その撮像画像を検出部へ出力する。撮像部10としては携帯端末に標準装備されるデジタルカメラを用いることができるが、その他ネットワークを経由する場合を含めた外付けカメラなどを用いてもよい。
【0019】
検出部20は、撮像画像を含まれる各部21,22,23によって処理することで、輝度変化量算出の各方向における撮像対象の候補領域を検出して、評価部30へと出力する。この際、領域選別部24を追加的に適用することによって、当該各方向のうち一部分のみあるいは1つだけにおける候補領域を選別して、評価部30へと出力するようにしてもよい。
【0020】
後述の領域選別部24によるアスペクト比・面積を用いた一実施形態などにおいては、当該各方向の候補領域は、各方向に関する所定順番で検出して、当該検出される順番の途中において領域選別部24が1つの候補領域が撮像対象を含むものであると確定した際は、当該順番のその後に検出される予定であった候補領域の検出処理を省略して計算量を削減してもよい。
【0021】
また、後述の領域選別部24によるバーコードのバーの長辺に平行な方向における画素値の変化が少なくなる性質を利用する一実施形態では、各方向の全てにおいて候補領域を検出してから、最も画素値の変化が少ない1つの方向における候補領域のみを評価部30へと出力することで、検出精度を高めるようにしてもよい。検出部20における処理の詳細は後述する。
【0022】
評価部30は、含まれる各部31,32,33においてそれぞれ露出判定処理、ぼけ判定処理、分布判定処理を行い、検出部20で検出された候補領域から当該各処理に応じた画像特徴量を算出し、認識部35で処理するのに十分な画質を持つか否かをそれぞれ評価する。
【0023】
その詳細に関しては後述する一実施形態では、評価部30において各判定処理で評価された画質がいずれも十分であると判定された場合は、認識部35へ撮像画像を出力する。この場合さらに、画質が十分と判定された旨を表示部40へ出力してもよい。各判定処理のひとつでも十分でないと判定された場合は、当該判定時点において後続の判定処理(各判定処理のうち未実施であったもの)を実行すること無く、表示部40へ判定結果および判定理由を出力する。
【0024】
また、簡略化された別の一実施形態では、評価部30は上記一実施形態における露出判定処理、ぼけ判定処理、分布判定処理のうちの一部分(当該3つのうち任意の1つ又は2つの処理)のみを行うようにしてもよいが、少なくとも分布判定処理は行うことが好ましい。
【0025】
認識部35は、撮像画像から撮像対象を読み取るための所定の認識処理を行い、認識結果を表示部40へと出力する。当該所定の認識処理は、撮像対象(例えばバーコード)に応じた公知の所定の処理を利用することができる。
【0026】
表示部40は、評価部30から出力された画質が十分である旨の判定情報又は画質が不十分でエラー情報として得られた評価結果や、認識部35から得られた認識結果を表示する。当該認識結果を表示する際は、認識に用いた撮像画像と共に表示するようにしてもよい。
【0027】
なお、
図1において認識部35は、情報端末装置1とは別途の認識サーバ2に備わるものとして描かれているが、認識部35を情報端末装置1自身が備えていてもよい。当該別途の認識サーバ2による構成は、認識部35の認識処理が情報端末装置1において実行するには負荷が大きく好ましくない場合等おいてに好適である。
【0028】
また当該場合においては、情報端末装置1から撮像画像を認識サーバ2へと送信して認識処理を行い、さらにその結果を情報端末装置1にて受信することとなる。このようなやりとりの際に、そもそも撮像画像が認識処理を適用可能な状態(画質)であるかを本発明によって前もって判定することで、無駄な送受信による時間ロス等を防止することが可能となる。認識部35を情報端末装置1自身が備える場合であっても同様に、無駄な計算の実行を防止することが可能となる。
【0029】
なおまた、本発明は、コンピュータによって実行されることで、当該コンピュータを情報端末装置1として機能させるプログラムとして提供することも可能である。この場合、特に当該コンピュータのCPU(中央演算装置)の制御処理によって、検出部20及び評価部30が実現される。認識部35を情報端末装置1が備える構成の場合、認識部35の処理もCPUの制御処理によって実現される。撮像部10及び表示部40に関してはCPUとは別途のデバイスで実現され、別途のメモリ等を介してCPUとの間で必要なデータの授受がなされればよい。
【0030】
また同様に、本発明は当該プログラムを記録したコンピュータ読み取り可能な記録媒体として提供されてもよい。
【0031】
以下、検出部20の各部の詳細を、検出すべき撮像対象がバーコードであるものとして説明する。ここで、バーコードにおける各種の太さからなる一連の平行なバーとスペースとの組み合わせとしての特徴、特に、バー及びスペースの境界線の向きが当該平行な方向に揃い境界部分の向きが偏っていることを利用して、検出が行われる。従って、本発明は当該バーコードに類する特徴を有し、認識部35によって所定の認識方式によって認識可能であるものに対しても適用可能である。
【0032】
方向付輝度変化算出部21は、各方向ごとに輝度変化量を算出するため、まず、撮像画像がカラー画像である場合はグレースケール画像に変換する。この際、処理速度を優先して、以下の[式1]の近似式を利用してもよい。
【0034】
ここでp(x , y)は(x , y)座標におけるグレースケール画像の輝度値を示し、r(x , y) , g(x , y) , b(x , y) はそれぞれ同座標における入力画像の赤、緑、青の画素値を表す。演算子 >> は左ビットシフトを表し、「>>5」は5ビットの左シフトを表す。
【0035】
次に、各方向ごとの輝度変化量の算出処理に移る。
図2は当該処理を説明するための図である。バーコードの場合、その一連の平行なバーとスペースとの境界部に線分として形成される一連の平行なエッジを検出するために、方向付輝度変化算出部21は、
図2の(1)に概念的に示すように、(a)評価対象の方向における輝度変化量と、(b)その垂直方向における輝度変化量(直交する輝度変化量)と、をセットで求める。
【0036】
輝度変化量の算出にはノイズ平滑化の効果を有するSobel(ソーベル)フィルタ等を利用してもよいが、ノイズの影響は後段の各処理で除外することが可能であるので、単純に注目している点(x,y)の近傍2点の画素の差分絶対値を用いることで、計算負荷を削減してもよい。
【0037】
例えば、45°刻みで4方向の輝度変化変化量を算出する場合、以下の[式2-1]〜[式2-4]を用いてもよい。なお、
図2の(2)は、3×3の各マスが当該位置関係にある画素を表し、中央位置を注目する点(x, y)として、各矢印A0〜A135で当該[式2-1]〜[式2-4]にそれぞれ対応する輝度変化量算出画素位置を示すものである。
【0039】
上記[式2-1]〜[式2-4]において、p
θ(x, y), a
θはそれぞれグレースケール画像の座標(x , y) に対して角度 θ 方向の輝度変化量、前記輝度変化量を算出する際に参照する画素までの画素間距離(x軸又はy軸上での距離)を示す。関数abs() は絶対値算出処理である。各画素間距離a
θに関しては、
図2の(2)よりも明らかなように、水平・垂直方向での隣接画素距離を1とすると、当該単位値に等しい以下[式2-5],[式2-6]の値となる。後述の任意方向θの場合には、同じく後述する(i, j)のいずれかを当該画素間距離a
θに用いればよい。
【0041】
なお、上記45°刻みの評価の場合、[式2-1]のθ=0°方向の輝度変化量の算出の際には、
図2の(1)に概念的に示したセットで算出すべき垂直方向における輝度変化量は、[式2-3]のθ=90°方向で算出したものを用いることができる。また、逆に[式2-3]のθ=90°方向の輝度変化量の算出の際には、セットで算出すべき垂直方向における輝度変化量は[式2-1]のθ=0°方向で算出したものを用いることができる。[式2-2]及び[式2-4]のθ=45°及び135°の各方向についても同様に、セットで算出すべき垂直方向における輝度変化量に互いの算出結果を利用することができる。
【0042】
なおまた、上記45°刻みの評価以外にも、当該評価対象の画素位置(x, y)に対して輝度変化量を算出する2つの画素位置を(x+i, y+j)及び(x−i, y−j)として設定することで、以下の任意の角度θ方向における輝度変化量を求めることができる。
θ = arctan( j / i )
また、当該θ方向に垂直な方向θ+90°は、以下の関係より2つの画素位置(x−j, y+i)及び(x+j, y−i)から定めることができるので、当該垂直方向θ+90°における輝度変化量も算出が可能となる。
θ+90° = arctan( −i/j )
【0043】
従って、
図2の(3)に模式的に示すように、当該(i, j)の組を所望のようにあらかじめセットで定めておくことで、複数の方向θにおける輝度変化量を求め、本発明において利用することができる。(i, j)は互いに素とすることで、評価対象の画素位置(x, y)からできる限り離れない位置間で輝度変化量を算出することが好ましい。
【0044】
続いて、境界候補抽出部22は、方向付輝度変化算出部21の算出した各方向における輝度変化量に対して、セットとなるその垂直方向の輝度変化量も参照することで、バーコードによるエッジに起因しない可能性が高いものをゼロとなすノイズ除去処理を施す。すなわち、バーコードのバー及びスペースの直線性を利用して、方向毎に当該輝度変化量が大きく、且つセットとなる直交する輝度変化量が小さいようなもののみを選択してその値を保持させ、該当しないものに関してはその値をゼロとなす。
【0045】
前述の[式2-1]〜[式2-4]の例であれば、否定と論理積とを利用することで当該ノイズ除去処理はそれぞれ、以下の[式3-1]〜[式3-4]のように表される。
【0047】
ここで、Δq
θ(x, y)は、[式2-1]〜[式2-4]の各方向θの輝度変化量Δp
θ(x, y)からノイズ除去された輝度変化量を表す。演算子&及び〜はそれぞれ、論理積及び否定を表し、この際に所定の閾値処理を施して論理演算を行ってよい。例えば、[式3-1]であれば、以下の[式3-10]のように、当該評価対象方向の輝度変化量Δp
0(x, y)が所定の閾値TH
0より大きく、且つセットとなる直交する輝度変化量Δp
90(x, y)が所定の閾値TH
90より小さい場合にのみ、その値を保持し、それ以外の場合、すなわち、当該閾値条件を満たさない場合はゼロとなすようにしてもよい。
【0049】
最後に、領域検出部23は当該ノイズ除去された方向毎の輝度差分量の分布を利用して、撮像対象のバーコードの候補領域を当該方向毎に検出し、当該方向毎の候補領域を評価部30に出力する。
図3は、当該領域検出処理を(A)〜(C)として順次説明するための概念的な図である。
図3では、撮像画像全体の領域R1内に、縦方向(y軸方向)に並ぶバー及びスペースを有するバーコードが領域R10として存在する場合に、当該領域R10が候補領域として検出される場合を例として示す。なお、図示するように、撮像画像全体の領域R1を、幅W高さHの矩形とし、当該矩形の左上側の頂点を原点(0, 0)とする。すなわち、当該全体の領域R1は以下の通りである。
R1={(x, y)|0≦x≦W−1, 0≦y≦H−1}
【0050】
図3の中に検出処理の各ステップとして示す(A)〜(C)は以下の通りである。
【0051】
(A)
まず、輝度変化量算出の方向に沿う各直線上において、輝度変化量の平均を求めることにより、当該平均の、輝度変化量算出方向に垂直方向での分布を求める。
図3の(A)に示す分布は、輝度変化量算出の方向として、[式2-1]や[式3-1]のx軸方向(θ=0°)を取り、これに対して垂直方向すなわちy軸方向における輝度変化量平均の分布として求められた例である。すなわち、当該分布をD
0(y)(0≦y≦H−1)とすると、その各値は以下の[式4-1]通りである。
【0053】
さらに、当該分布D
0(y)内で最大値を取る座標y
maxをその内部に含み、最大値に近い値を取りかつ当該座標と連続する範囲{y|y1≦y≦y2}を選択する。具体的には、
図4に概念的に示すように、分布の最大値の点をP1とすると、当該P1をピークとして所定の閾値TH以上にある所定の範囲R101として、当該連続する範囲が選択される。
【0054】
ここで、閾値TH以上である条件のみ課したとすると、当該最大値の点P1を含む範囲R101とは分断されているその他の範囲R102(ピークの点がP2)なども得られるが、連続する範囲の条件を課すことによって、こうした範囲R102はノイズ起因であるものとして除外される。
【0055】
(B)
続いて、撮像画像全体の領域R1のうち、上記(A)で最大値周辺の範囲として得た{y|y1≦y≦y2}の制約を課して限定された以下のような領域R2内における輝度変化量を対象として、さらに分布を求める。
R2={(x, y)|0≦x≦W−1, y1≦y≦y2}
【0056】
すなわち、当該領域R2内において、輝度変化算出の方向に沿う所定長さLのウィンドウ内での当該方向における輝度変化量の平均を求め、当該ウィンドウ位置に対するその分布を求める。[式4-1]の例を継続して用いることで輝度変化算出方向をx軸方向とし、中心を定義する便宜上ウィンドウ長さLが奇数であるとする。ウィンドウの中心位置x(その他のウィンドウ内の所定位置でもよい)に対して当該求める分布E
0(x)は、以下の[式4-2]の通りである。なお、
図3の(B)では当該長さLのウィンドウがR5として、スライド方向を示す矢印と共に示されている。
【0058】
なお、[式4-2]の内外2つの和演算Σに関して、外側のyに関する和に対する、内側のインデクスiに関する和について、例えばウィンドウ長L=3の場合について書き下せば、i=−1, 0, +1であって、上記[式4-2]は以下の[式4-3]となる。
【0060】
なお、上記[式4-2]及び[式4-3]ではウィンドウは撮像画像内にあるものとして分布位置xの範囲を制限しているが、ウィンドウ位置xが撮像画像の境界の近くにあってウィンドウの一部が撮像画像領域の外に出るようなxの範囲も含めて分布を求めるようにしてもよい。この場合、後述する平均を求めるための規格化項(y2―y1+1)*Lを適宜修正すればよい。
【0061】
さらに続いて、当該求めた分布E
0(x)に対して、前述の分布D
0(y)に対して
図4を用いて説明したのと同様の最大値を与える点x
max周りの連続範囲x1≦x≦x2を求める。ただしこの際、閾値THに関しては、分布D
0(y)にて用いた値とは別の所定の値を用いてよい。
図3の(B)には当該範囲x1≦x≦x2が例示されている。
【0062】
(C)
領域検出部23における輝度変化算出方向毎の最終的な検出結果であり、後段の評価部30に候補領域として出力する領域を、(A)で得た範囲と(B)で得た範囲との両方で制限された領域として定める。以上説明した例のように輝度変化算出方向がx軸方向であれば、当該方向について最終的に定まる領域は、(C)として図示するように、(A)における範囲y1≦y≦y2且つ(B)における範囲x1≦x≦x2で与えられた以下の領域R10となる。
R10={(x, y)| x1≦x≦x2, y1≦y≦y2 }
【0063】
なお、
図3は輝度変化算出方向がx軸方向である場合の例であるが、その他の算出方向についても全く同様に、当該方向における領域候補を検出する。[式2-1]〜[式2-4]のように45°刻みの各方向で輝度変化量を算出した場合であれば、当該x軸方向(θ=0°)に加え、残りの3方向(θ=45°, 90°, 135°)の各方向x
45, x
90(=y軸方向), x
135(当該各方向x
θは
図2に併記の通り)についてもそれぞれ、ペアとなる直交方向x
135, x
0(=x軸方向), x
45において平均の分布を求めることで(A)の分布D
45(x
135), D
90(x
0), D
135(x
45)を求め、当該各方向x
45, x
90, x
135の(B)のウィンドウ位置におけるウィンドウ内平均値の分布E
45(x
45), E
90(x
90), E
135(x
135)を求め、それぞれの方向につき(C)の領域候補を求める。
【0064】
なお、当該4方向につき求める場合であれば、θ=0°で求めた(C)の矩形状の候補領域R10に対して、残りの3方向(θ=45°, 90°, 135°)で求まる候補領域はそれぞれ当該角度θだけ傾いて配置された矩形状の候補領域となる。
【0065】
上記[式4-1]及び[式4-2]では、「平均」の分布を求めたが、「和」でなく「平均」であることの意義は次の通りである。特に、θ=45°,135°のような撮像画像の座標系に対して傾いた方向における候補領域を求める際には、当該分布を「和」として求めると、傾きのために位置によって足し合わせる個数自体が異なるために、撮像対象を検出する効果のある分布が得られない。そこで、当該個数の影響を除去するため、当該個数で規格化された「平均」を求める。当該足し合わせる個数が所定の閾値より少ない部分は、分布算出から除外してもよい。
【0066】
なお、一般の傾いた方向θにおける各分布を求める際は、[式4-1]のWや、[式4-2]の(y2―y1+1)*Lといった平均を求めるための規格化項を、分布位置に依存した値(=上記の「足し合わせる個数」)に修正する必要があるが、当該修正された値を求めること自体は当業者にはきわめて容易であるので、その詳細の説明は省略する。
【0067】
なおまた、最終的にバーコードの領域として決定されるのは各方向について求まる領域候補のうち、後段の評価部30による評価をパスしたいずれかの方向より定まったものである。ここで、計算量を削減可能な実施形態として、後段の評価部30に検出部20で検出した各方向の候補領域を全て出力する代わりに、各方向の領域候補の中から、領域選別部24によって1つの方向の候補領域のみを選別して、あるいは全方向の中から一部分のみに絞り込まれた複数の方向を選別して、評価部30に出力する各実施形態を説明する。
【0068】
一実施形態では、バーコードが正しく検出されている候補領域においては、輝度変化量算出方向の垂直方向に概ねバーコードのバー及びスペースが並んでいるので、当該垂直方向の各ライン上においては画素値の変化が少なくなる、という性質を利用して選別を実施する。
【0069】
例えば、
図3の(C)の領域R10であれば、算出方向x軸の垂直方向y軸に沿う各ライン(x軸の値[x1≦x≦x2]にて当該ラインが指定される)上において、以下の[式5-1]のように画素値の平均からの変化指標として標準偏差σ(x)を求める。さらに、以下の[式5-2]のように、当該標準偏差の各ラインの平均を当該方向θ=0°における候補領域R10全体としての規格化された画素値の変化度合いV(θ=0°)として定める。(N及びMが規格化項となる。)
【0071】
その他の方向(例えばθ=45°, 90°, 135°)についても全く同様にしてV(θ)を求め、当該V(θ)が最小の1つの方向における候補領域を選別して、あるいは所定の閾値以下となる複数の候補領域を選別して、評価部30に出力してもよい。
【0072】
また、一実施形態では、領域選別部24は、各方向につき検出された候補領域の撮像画像内における面積の割合と、矩形状の候補領域のアスペクト比と、の少なくとも一方に関する所定の閾値条件(あらかじめマニュアルで与えておく)を満たすもののみを評価部30へ出力するものとして選別してもよい。
【0073】
例えば、撮像対象のバーコードの形状が予め既知であれば、矩形におけるアスペクト比が当該形状から想定される所定範囲内に収まることを条件として課してもよい。また、撮像対象のバーコードの実寸(幅及び高さ)と、撮像部10のカメラの焦点距離及び撮像面のサイズとが既知であれば、ピントが合っている場合には撮像画像上である面積より小さいことが既知となるので、当該面積を閾値として課してもよい。
【0074】
すなわち、当該各情報が既知の場合、バーコードを撮像部10に対してある距離より近づけるとピントが合わなくなることが既知となるので、領域候補が当該ピントの合わない状況でしか生じないような大きな面積を有している場合、除外することが可能となる。同様に、実寸で与えられる幅及び高さが撮像画像上の候補領域の矩形のいずれ側の辺に対応するかを長短で区別した上で、当該撮像画像上における候補領域の幅及び高さのそれぞれについて所定値より小さいことを評価部30へ出力するための条件として課してもよい。
【0075】
次に、評価部30の詳細につき説明する。
図5は評価部30による判定処理のフローチャートである。
図5に示すように、判定処理の行われる順番は、各処理で全て適切な画質であると判定された場合は、(ステップS1)領域露出判定部31による露出判定処理、(ステップS2)ぼけ判定部32によるぼけ判定処理、(ステップS3)分布判定部33による分布判定処理となり、当該全ての判定において適切であると判断された候補領域を有する撮像画像が、ステップS4で認識部35へと出力される。
【0076】
一方、当該各判定ステップS1〜S3のいずれかにおいて不適切な画質であると判定された場合、ステップS5へ進んで当該不適切である旨のエラー情報(不適切と判定された処理の種類及びその理由を含む)を表示部40に出力し、表示部40は当該エラー表示を行う。特に、ステップS1で不適切と判定されればステップS2,S3(及びS4)は実行されず、ステップS2で不適切と判定されればステップS3(及びS4)は実行されない。
【0077】
なお、領域選別部24によって1つに絞り込まれない限り、検出部20は輝度変化量算出の各方向(例えば4方向θ=0°, 45°, 90°, 135°)における候補領域を評価部30に出力している。
図5の各判定ステップ(S1〜S3)は、当該各方向の候補領域の全てについて実行され、不適切の判定を受けた方向の候補領域は判定対象から順次除外してゆき、全方向の候補領域において不適切な画質であると判定されるに至ったステップにおいて、当該ステップの判定をエラー情報として、ステップS5に移る。
【0078】
例えば、ステップS1が上記4方向のうち、3方向θ=0°, 45°, 90°の候補領域において適切と判定されたのであれば、ステップS2が、当該3方向θ=0°, 45°, 90°の候補領域を対象として実行される。当該ステップS2が、3方向のうち1方向θ=0°のみの候補領域で適切と判定されたのであれば、ステップS3が、当該1方向θ=0°の候補領域を対象として実行される。
【0079】
当該1方向θ=0°を対象としたステップS3において、適切と判定されたのであれば、ステップS4に至るが、不適切と判定されたのでれば、ステップS5へ移り、当該不適切と判定されたステップS4における当該判定対象の1方向θ=0°における候補領域の判定結果に基づくエラー情報が生成される。
【0080】
以上のように、
図5のフローでは各方向における候補領域のうち、少なくとも1つの方向における候補領域についてステップS1〜S3で適切な画質である判定が下されれば、当該撮像画像自体について適切な画質であるものと決定され、ステップS4へ至ることとなる。
【0081】
以下、評価部30の各部の詳細を説明する。
【0082】
領域露出判定部31は、候補領域を対象として露出判定処理を行い、候補領域における白飛び、黒潰れの有無を判定する。白飛びに関しては、候補領域のグレースケール画像から第一の閾値以上になる輝度値の個数を算出し、候補領域の画素数に対する割合が第二の閾値以上になるか否かで判定する。
【0083】
同様に、黒潰れに関しては、候補領域のグレースケール画像から第三の閾値以下になる輝度値の個数を算出し、候補領域の画素数に対する割合が第四の閾値以上になるか否かで判定する。白飛び又は黒潰れと判定された場合は、撮像画像は認識に不適と判断し、当該エラー情報を表示部40へ出力する。そうでない場合は、次のぼけ判定処理へと移る。
【0084】
なお、当該出力されるエラー情報には、白飛び又は黒潰れのいずれが発生したかの情報が文字などとして含まれる。従って、ユーザが撮像部10を用いて撮像画像を得ている場合であれば、当該ユーザは当該エラー情報を通知されることで、露出設定などを変更して再度撮影を試みることができる。
【0085】
また、当該出力されるエラー情報には、当該白飛び又は黒潰れの発生したと判定された領域候補の撮像画像内における位置情報が含まれていてもよい。当該位置情報は撮像画像と共に提示されるようにしてもよい。こうして、ユーザはどの位置の露出を修正すべきかさらに詳細に把握することができる。
【0086】
なおまた、領域露出判定部31と同様の露出判定処理(閾値などは適宜別の値を設定しておいてもよい)を、候補領域のみを対象とする代わりに撮像画像全体の領域を対象として、全体露出判定部310が実施してもよい。この場合、全体露出判定部310による露出判定処理をパスした撮像画像のみが、検出部20以降での処理対象とされ、パスしなかった場合は検出部20以降の処理は省略されると共に、上記説明したエラー情報を表示部40にて表示させるべく出力する。
【0087】
ぼけ判定部32は、以下に[式6]として説明する鮮明量bが所定の閾値以上であるか否かによって、候補領域がぼけていないか否か(鮮明であるか否か)を判定する。ぼけていないと判定された場合は、分布判定部33の処理へ移る。ぼけていると判定された場合、その旨のエラー情報を表示部40に出力することで、撮像画像を撮像しているユーザなどに注意を促す。露出判定の際のエラー情報と同様に、ユーザ側において詳細な把握を可能とすべく、ぼけ判定がなされた候補領域の位置情報をさらに提示してもよい。
【0088】
ぼけは画素値と点拡がり関数との畳み込み演算でモデル化できるため、ぼけの量は当該関数の半径に比例する。一般にぼけが強いほど本来の画素値から乖離し、輝度変化量は減少する方向へ働く。一方、該関数の半径内が同一画素値であれば影響は受けず本来の画素値を維持する。領域内には該当する画素値が存在すると仮定すれば、ぼけの有無に関わらず本来の輝度変化量を得られる。
【0089】
よって、本来の輝度変化量(撮像対象のバーコードで想定される理想値としての所定の最大変化量Δp
max)と実際の輝度変化量(撮像画像内の候補領域から実際に求まる最大値p
max及び最小値p
minの差)の比を、ぼけていない度合いを表す鮮明量b として、以下の[式6]で鮮明量を算出する。鮮明量が1に近いほど鮮明であり、0に近いほどぼけていることを意味する。
【0091】
図6は、鮮明量を定義する上記[式6]における各項を説明するための例を示す図である。グラフG1は、撮像対象のバーコードにおいて想定される理想的な輝度変化のグラフであり、その値は0(黒)又は255(白)のいずれかとなることが、予め既知である。従って、当該理想値として、
Δp
max = 255
が得られる。
【0092】
一方、グラフG2は実際の撮像画像上の候補領域においてぼけの影響を受けた輝度変化を表しており、以下のように点P10における最大値は理想値と一致しているが、点P20における最小値が理想値とは一致していない。
p
max = 255 (最大点P10での値)
p
min = 30 (最小点P20での値)
【0093】
以上より、
図6の例であれば、鮮明量b=(225/255)となる。なお、候補領域内から最大値p
max及び最小値p
minを探索するに際しては、候補領域の全体を探索対象とする代わりに、領域検出部23における前述の
図3の(A)の処理の際に求めた分布の最大値の点P1を通って当該輝度変化量算出の方向に延びる線分上に探索対象を限定するようにしてもよい。
【0094】
当該限定は、
図3の例では領域R10の全体の代わりに線分y=y
max(x1≦x≦x2)上のみに探索対象を限定することに相当し、当該候補領域が正しくバーコードを検出している場合には、当該バーコード領域の一連のバー及びスペースを概ね中央で垂直に横切る線分に限定することに相当する。従って当該限定は、算出される鮮明量bにおいて、バーコード領域の外の領域によるぼけの影響を受けにくく、バーコード領域のみにおけるぼけの影響を反映させるようにできる点で好ましい。
【0095】
分布判定部33は、分布判定処理を行い、検出部20から入力された候補領域内の画素分布が認識部35における認識処理に適しているか否かを、当該候補領域内の特徴量から判定する。適していると判定されれば、認識部35へ撮像画像が出力される。不適であると判定されれば、その旨のエラー情報を表示部40へ出力する。この際、露出判定及びぼけ判定の場合と同様に、候補領域の位置情報をエラー情報に含めてもよい。
【0096】
当該判定に用いる特徴量の例としては、輝度ヒストグラム、前記ヒストグラムを2 分する際にそれぞれの分散比を最大化する閾値、前記閾値による2 値化処理で得られる背景色と前景色の個数比、各色の平均・分散、ヒストグラムにおける各色のピークの個数と前記閾値での個数との比等を利用できる。
【0097】
予め複数の学習用画像に対して認識部35で認識させた際の成否(バーコードであれば、読みとれたか否か)を判定しておき、判定結果と前記特徴量とを機械学習により所定の判定式を算出しておく。処理負荷の低減の観点から、機械学習ではJ48等の決定木を用いることが望ましい。認識部35の成否に応じた決定木を用いることで、認識処理に適した判定を下すことができる。また、決定木で判定処理を構築することで処理負荷も低く抑えることが可能となる。