説明

マーク読取装置、マーク読取方法、及びプログラム

【課題】マークを読み取りやすくしたマーク読取装置、マーク読取方法、及びプログラムを提供することを目的とする。
【解決手段】明暗いずれかの階調を有する単位領域が配列され構成される情報単位が複数個配列されて構成されている情報マークを撮像する。得られた撮像画像を、明度が異なるそれぞれの単位領域を含む所定の大きさの画像に分割する。そして、分割された画像毎に、明の階調を有する明単位領域の明度が所定範囲内の値となるように、各画素の明度を補正する。そして明度に基づいて、前記撮像画像上の複数の前記単位領域の境界位置を判別し、判別した該境界位置に基づいて前記情報マークを読み取る。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、マークを読み取るためのマーク読取装置、マーク読取方法、及びプログラムに関する。
【背景技術】
【0002】
倉庫や工場等に設置された搬送装置において、予め設置されたマークを読み取りながら走行する搬送装置が知られている。このような搬送装置としては、例えば、搬送装置の移動方向に基準位置を示すマークを所定間隔で設置し、搬送装置がこのマークを識別しながら走行する方法等が提案されている。
【0003】
例えば特許文献1には、帯状に伸びる走行マークと照度が異なる複数のマークからなる位置マークとを、移動体が搭載したカメラで撮影し、撮影画像を処理することで、移動体の現位置を正確に把握できるとするマーク読取装置が提案されている。
【特許文献1】特開平8−26666号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1に提案されたマーク読取装置では、マークの一部に外光があたっていたり影があったりする場合に、マークを正確に読み取ることができない場合があった。
【0005】
本発明は、上記問題点を解決するためになされたものであり、マークを読み取りやすくしたマーク読取装置、マーク読取方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
上記目的を達成するため、本発明に係るマーク読取装置は、明暗いずれかの階調を有する単位領域が配列され構成される情報単位が複数個配列され構成されている情報マークを撮像し、撮像画像を出力するカメラと、前記カメラが出力した前記情報マークの撮像画像を、明度が異なるそれぞれの前記単位領域を含む所定の大きさの画像に分割する撮像画像分割手段と、分割された画像毎に、明の階調を有する明単位領域の明度が所定範囲内の値となるように、各画素の明度を補正する明度補正手段と、前記明度補正手段により補正された明度に基づいて、前記撮像画像上の複数の前記単位領域の境界位置を判別し、判別した該境界位置に基づいて前記情報マークを読み取るマーク読取手段と、を備えることを特徴とする。
【0007】
前記カメラは、異なったタイミングで前記情報マークを撮影して複数の撮像画像を出力し、前記撮像画像分割手段は、前記複数の撮像画像のそれぞれを前記所定の大きさの画像に分割し、前記明度補正手段は、1つの撮像画像において前記明単位領域の明度を所定範囲の値とするために必要な累算回数を求める累算回数取得手段と、前記1つの撮像画像の画素の明度に、他の撮像画像の対応する画素の明度を、前記累算回数取得手段で取得した累算回数に相当する撮像画像の数だけ加算して新たな明度とする加算手段とを備えてもよい。
【0008】
また、前記明度補正手段は、分割された画像毎に前記明単位領域の明度を所定範囲内の値とするために必要な倍率を求める倍率取得手段と、分割された画像の各画素の明度に前記倍率取得手段で取得した倍率を乗算して新たな明度とする乗算手段と、を備えてもよい。
【0009】
また、前記カメラが出力した前記情報マークの撮像画像にローパスフィルタ処理を実行するローパスフィルタ処理手段と、所定の閾値を設定し、前記ローパスフィルタ処理がされた前記撮像画像の画素の明度を2値化する2値化処理手段と、をさらに備えてもよい。
【0010】
また、前記所定の大きさは、前記情報単位のサイズに等しく設定してもよい。
【0011】
また、前記情報マークは、該情報マークが配置されている位置を表わし、前記マーク読取手段は、前記明度補正手段により補正された画素の明度に基づいて、前記情報マークが示す位置を読み取り、前記マーク読取手段が読み取った読取情報に基づいて前記カメラを移動するカメラ移動手段をさらに備えてもよい。
【0012】
また、上記目的を達成するため、本発明に係るマーク読取方法は、明暗いずれかの階調を有する単位領域が配列され構成される情報単位が複数個配列され構成されている情報マークを撮像し、撮像画像を出力する撮像ステップと、前記撮像ステップが出力した前記撮像画像を、明度が異なるそれぞれの前記単位領域を含む所定の大きさの画像に分割する撮像画像分割ステップと、分割された画像毎に、明の階調を有する明単位領域の明度が所定範囲内の値となるように、各画素の明度を補正する明度補正ステップと、前記明度補正ステップにより補正された明度に基づいて、前記撮像画像上の複数の前記単位領域の境界位置を判別し、判別した該境界位置に基づいて前記情報マークを読み取るマーク読取ステップと、を備えることを特徴とする。
【0013】
また、上記目的を達成するため、本発明に係るプログラムは、コンピュータに、明暗いずれかの階調を有する単位領域が配列され構成される情報単位が複数個配列され構成されている情報マークを撮像し、撮像画像出力する撮像ステップと、前記撮像ステップが出力した前記撮像画像を、明度が異なるそれぞれの前記単位領域を含む所定の大きさの画像に分割する撮像画像分割ステップと、分割された画像毎に、明の階調を有する明単位領域の明度が所定範囲内の値となるように、各画素の明度を補正する明度補正ステップと、前記明度補正ステップにより補正された明度に基づいて、前記撮像画像上の複数の前記単位領域の境界位置を判別し、判別した該境界位置に基づいて前記情報マークを読み取るマーク読取ステップと、を実行させることを特徴とする。
【発明の効果】
【0014】
本発明によれば、マークを読み取りやすくすることができる。
【発明を実施するための最良の形態】
【0015】
以下、本発明の実施形態に係るマーク読取装置を備えた荷物搬送設備を、図面を参照して説明する。荷物搬送設備は、荷物の搬送に使用するクレーンとカメラとを備えた移動体を一軸上に移動させ、所定の間隔で設置されている位置検出用マークを撮像し解析して、移動体の現位置を検出する。
【0016】
図1及び図2に示すように、荷物搬送設備100は、情報マークである位置検出用マーク10と、ガイドレール20と、移動体30と、カメラコントローラ40と、カメラ45と、モータコントローラ50と、移動モータ55と、クレーンコントローラ60と、クレーン65と、制御部70とを備える。
【0017】
図1に示すように、2本のガイドレール20は、平行に配設され、移動体30を図中の矢印で示す方向にガイド可能に支承している。また、ガイドレール20は、移動体30を支承可能な十分な剛度を備えた鋼材から構成されている。
【0018】
移動体30は、カメラ45及びクレーン65が固定的に取り付けられており、ガイドレール20に沿って移動モータ55を用いて移動する。さらに詳しく説明すると、移動体30の下面には、移動モータ55により駆動される複数の車輪(不図示)が取り付けられている。複数の車輪は、離間したそれぞれのガイドレール20位置に備えられ、移動体30は、この複数の車輪を介してガイドレール20に支承されている。
【0019】
カメラコントローラ40は、制御部70からの指示を受け、カメラ45に所要の動作を実行させるとともに、カメラ45で撮像された画像を制御部70に転送する。
【0020】
カメラ45は、カメラコントローラ40の指示に従って、位置検出用マーク10を撮像する。カメラ45はモノクロカメラで、後述する位置検出用マーク10を構成する単位領域である明部最小単位11と暗部最小単位12とが、複数の画素で撮像できる位置に配されている。
【0021】
モータコントローラ50は、制御部70からの指示を受け、移動モータ55に所要の動作を実行させる。
【0022】
移動モータ55は、移動体30の下面に取り付けられ、モータコントローラ50の指示に従って移動体30を移動する。
【0023】
クレーンコントローラ60は、制御部70からの指示を受け、クレーン65に所要の動作を実行させる。
【0024】
クレーン65は、移動体30の下面に取り付けられ、クレーンコントローラ60の指示に従って荷取りと荷置きとを行う。
【0025】
制御部70は、例えば、ROM(Read Only Memory)、CPU(Central Processing Unit:中央演算処理装置)、及び、RAM(Random Access Memory)等を備え、例えば、撮像画像分割手段、明度補正手段(明度補正手段は累算回数取得手段、加算手段、倍率取得手段、乗算手段を備えている)、マーク読取手段、ローパスフィルタ処理手段、2値化処理手段として機能する。ROMは、動作プログラムを記憶し、CPUは、その動作プログラムに従って荷物搬送設備100全体を制御し、RAMは、CPUのワークエリアとして機能する。
制御部70は、カメラコントローラ40とモータコントローラ50とクレーンコントローラ60とに接続され、それらを制御する。
具体的には、制御部70は、移動体30を移動させながらカメラ45で位置検出用マーク10を撮像し、撮像された画像を処理することにより移動体30の現位置を把握する。制御部70は、移動体30が目的位置まで移動したと判断すると、移動体30を停止させる。
【0026】
また、2本のガイドレール20に沿ってマーク設置面80が設けられている。マーク設置面80には、移動体30の位置を把握するための位置検出用マーク10が複数取付けられおり、位置検出用マーク10の中心位置を示した中心ライン17(図3)は、移動体30の移動方向における所定の位置(ある基準位置から所定の距離だけ離れた位置)と合致している。
【0027】
位置検出用マーク10は、図3に示すように、異なる色からなる0あるいは1を表す複数の情報単位である最小情報マーク13が所定の配列をなして構成されている。なお、本実施例の最小情報マーク13は白及び黒で構成されているので、本実施例の色の違いは明度の違いとして記載する。この最小情報マーク13は、さらに高い明度(白色に近い)からなる2つの明部最小単位11と、低い明度(黒色に近い)からなる2つの暗部最小単位12とが、所定の配列をなして構成されている。なお、本明細書では、「最小情報マーク13」は、1を表わした1表示マーク13aと、0を表わした0表示マーク13bとを総称した用語として用いている。
【0028】
1表示マーク13aは、図中左上と図中右下とに配された明部最小単位11と、図中右上と図中左下とに配された暗部最小単位12とから構成されることで、“1”を表わすマークとして制御部70に認識される。
また、0表示マーク13bは、図中右上と図中左下とに配された明部最小単位11と、図中左上と図中右下とに配された暗部最小単位12とから構成されることで、“0”を表わすマークとして制御部70に認識される。
つまり、図3に示した位置検出用マーク10は、図中上から下にかけて、左から右に“0,1”、“1,1”、“1,0”、“0,1”を表わしたマークとして制御部70に認識される。
【0029】
なお、撮像画像において明部最小単位11及び暗部最小単位12が複数の画素に相当する大きさで撮像されるように、明部最小単位11及び暗部最小単位12の寸法が設定されている。
【0030】
ここで、カメラ45で撮像した位置検出用マーク10の撮像画像と、この撮像画像から検出する位置検出用マーク10の明度とについて説明する。
図4(a)は、カメラ45で撮像された位置検出用マーク10の一部を示したものである。なお、図中点線で格子状に区切られた領域は、撮像画像の画素領域を示している。本実施形態では、明部最小単位11及び暗部最小単位12は、9つの画素に相当する大きさで撮像されている。なお、図4(a)のYi+1の画素上には第1の走査線16aが、図中Yi+4の画素上には第2の走査線16bが設定されており、制御部70はこれらの走査線16(走査線16a,走査線16b)上にある画素の明度を検出する。
【0031】
第1の走査線16aで検出された各画素の明度の一例を、図4(b)に示す。図4(b)の横軸は第1の走査線16aに沿った距離を示しており、縦軸は検出された明度を示している。検出された明度は0乃至255の数値で表現され、明度が255に近くなるにつれ白色、明度が0に近くなるにつれ黒色であることを示している。
【0032】
なお、図4(b)に示すように、検出された明度は過剰明度区間、明部適正明度区間、暗部適正明度区間の3つに区分される。
過剰明度区間とは、明度が255から所定の値までの区間であり、この過剰明度区間内に位置する明度が検出された画素は、受光により発生した電荷が飽和状態であることを示している。このような画素は、周辺画素の電荷も飽和状態とするため、周辺画素の正確な明度を検出することができない。
また、明部適正明度区間とは、明部最小単位11の明度を良好なSN比(Signal to Noise ratio)で検出することができるが、暗部最小単位12の明度の検出には信号が大きすぎて正確に明度を検出することができない区間を示す。
また、暗部適正明度区間とは、暗部最小単位12の明度を良好なSN比で検出することができるが、明部最小単位11の明度の検出にはSN比が悪くなる区間を示す。
つまり、明部最小単位11の明度が明部適性明度区間内で検出され、且つ、暗部最小単位12の明度が暗部適正明度区間内で検出された位置検出用マーク10は、適正な露光量で撮像されたことを示している。
【0033】
なお、明部適性明度区間と暗部適正明度区間とを区分する線は、検出された明度の境界位置(明部最小単位11と暗部最小単位12との境界位置)を検出するライン(以下、明度境界検出ラインと記す)に設定される。例えば、図4(b)に示すように、位置検出用マーク10が適正な露光量で撮像されると、明度境界検出ラインと明度を示すグラフとは、図中のa点、b点、c点で交差する。制御部70は、これらa点、b点、c点の撮像画像内での位置を検出する。
【0034】
次に、上述した位置検出用マーク10を検出して、移動体30の位置合わせを行う手順について、図5乃至図8に示したフローチャートを参照して説明する。
なお、制御部70は、外部より又はROMに記憶された動作プログラムにより移動体30を所定の目的地に移動させるように指示を受けると、ROMに記憶されたプログラムに従って下記に示す動作を自動的に行う。
【0035】
まず、制御部70は、図5に示すように、モータコントローラ50を制御して、移動モータ55を作動させ、移動体30を所定の方向に移動させる(S100)。
【0036】
次に、制御部70は、カメラコントローラ40を制御して、カメラ45に位置検出用マーク10を撮像させる(S110)。
【0037】
続いて、制御部70は、S110において撮像された画像を取得し、位置検出用マーク10が所定範囲内に撮像されていると判断すると、撮像画像において予め設定されていた走査線16(図3)上の画素の明度を検出する(S120)。
走査線16は、位置検出用マーク10を構成するそれぞれの明部最小単位11及び暗部最小単位12を、少なくとも一本の走査線16が横断するように、その本数と間隔とが設定されている。このとき、位置検出用マーク10に対するカメラ45の高さと距離とを、移動体30が移動する際も常に一定とすることにより、走査線16は撮像画像において常に同じ高さに設定することができる。
【0038】
次に制御部70は、S120において検出された明度から、位置検出用マーク10が適正露光量で撮像されたかどうか判断する(S130)。例えば、全ての明部最小単位11の明度が図4(b)に示す明部適性明度区間にあり、且つ、全ての暗部最小単位12の明度が図4(b)に示す暗部適正明度区間にある場合に、制御部70は、位置検出用マーク10が適性露光量で撮像されたと判断する。
【0039】
S130において、位置検出用マーク10の最小情報マーク13の全てが適正露光量で撮像されたと判断すると(S130:Yes)、制御部70は、位置検出用マーク10が表わした情報を読み取り、移動体30の現位置を算出する(S140)。なお、S140の手順(移動体の現位置算出処理)については後述する。
【0040】
続いて、制御部70は、S140で算出した移動体30の現位置が、目的位置と一致するか判断する(S150)。
【0041】
S150において、移動体30が目的位置にあると判断すると(S150;Yes)、制御部70は、移動体30を停止し(S160)、移動体30の位置合わせ処理を終了する。
【0042】
S150において、移動体30が目的位置にないと判断すると(S150;NO)、制御部70は、カメラ45にt時間後に再度、位置検出用マーク10を撮像させ(S170)、処理をS120に戻す。
【0043】
次に、S140で示した移動体の現位置算出処理を、図6に示したフローチャートを用いて説明する。
【0044】
先ず、制御部70は、S120(図5)で得た画素の明度から、撮像画像における位置検出用マーク10の中心位置P0−xを特定する(S141)。例えば、図4(b)に示した明度境界検出ラインと明度の示したグラフとの交差位置を、ソーベルフィルタ等による処理で求め、位置検出用マーク10の中心位置P0−xを特定する。
【0045】
次に、制御部70はマーク読取手段として機能し、位置検出用マーク10が表わした位置情報を読み取り、位置検出用マーク10の設置位置Dを算出する(S142)。例えば、図3に示す位置検出用マーク10では、マーク読取手段として機能している制御部70は、図中上から下へ、左から右に、01111001という情報を読み取る。この情報は、所定の基準位置から位置検出用マーク10の設置位置までの位置(距離)Dを、2進法で表現したものである。つまり、図3に示した位置検出用マーク10、は所定の基準位置から121mの位置に設置されていることを示している。
【0046】
続いて、制御部70は、撮像画像において、撮像画像の中心(任意の位置でもよい)が、S141で特定した位置検出用マーク10の中心位置P0−x以上であるか否か、つまり、カメラ45の撮像中心が位置検出用マーク10の中心位置P0−xを越えているか否か判別する(S143)。
【0047】
カメラ45の撮像中心が設置基準位置P0−xを越えていない場合には(S143;YES)、制御部70は、位置検出用マーク10の設置位置Dの値から、P0−xを所定値Aで割った値を減じ、得られた値を移動体30の現在位置とし(S144)、移動体30の現位置算出処理を終了する。ここで所定値Aとは、画面上(解析上)で扱った寸法(距離)を、実寸法に変換するための値である。
【0048】
カメラ45の撮像中心が設置基準位置P0−xを越えている場合には(S143;NO)、制御部70は、位置検出用マーク10の設置位置Dの値から、P0−xを所定値Aで割った値を加え、得られた値を移動体30の現在位置の座標とし(S145)、移動体の現位置算出処理を終了する。
【0049】
S130において、位置検出用マーク10の最小情報マーク13の少なくとも一つが適正露光量で撮像されていないと判断すると(S130;No)、制御部70は、適正露光量で無い最小情報マーク13は露光量が多かったか判断する(S180)。つまり、S120で得た最小情報マーク13各々の明度の中で、過剰明度区間(図4(b))内にある明度があるか、あるいは明度境界検出ライン(図4(b))より大きな暗部最小単位12の明度があるか判断する。
【0050】
S180において、カメラ45の露光量が多いと判断すると(S180;Yes)、制御部70は、カメラ45の露光量を減らし位置検出用マーク10を再撮像する(S190)。そして、処理を再びS120に戻す。
【0051】
ここでS180において、カメラ45の露光量が多い場合とは、例えば図9(a)に示す明度が検出された場合である。図9(a)は、S120で得た明部最小単位11の明度が過剰明度区間にあり、受光により発生する電荷が飽和状態にあることを示している。また、S120で得た暗部最小単位12の明度は、明部適正明度区間にあり、信号が大きすぎて正確に明度を検出することができない。そこで、カメラ45の露光量を減らし位置検出用マーク10を再撮像する。これにより、図9(b)に示すように、明部最小単位11及び暗部最小単位12の明度を落とすことができ、明度最小単位11の明度を明部適性明度区間で、暗部最小単位12の明度を暗部適正明度区間で検出することができる。
【0052】
S180において、カメラ45の露光量が多くないと判断すると(S180;No)、制御部70は、最小情報マーク13に相当する画像データ領域毎に画像データの補正を行なう(S200)。
なお、S180において、カメラ45の露光量が多くないと判断する場合とは、例えば図10に示す明度が検出された場合である。この場合、明部最小単位11の明度が暗部適正明度区間にあり、明部最小単位11の明度の検出にはSN比が悪いため、そのままでは正確な明度を検出することができない。
【0053】
次に、S200(分割画像データの補正処理)について図7のフローチャートを用いて説明する。
【0054】
まず、制御部70は撮像画像分割手段として機能し、図7に示すように、S110で得た撮像画像を情報単位である最小情報マーク13に相当する領域に分割する(S201)。
例えば、図4(a)において、点線Aで囲んだ領域(以下、領域Aとする。)は、分割された撮像画像(以下、分割画像とする。)の1つの領域を示している。撮像画像を分割するにあたり、位置検出用マーク10に対するカメラ45の高さと距離とを一定とすることで、位置検出用マーク10が写ることのない領域を分割する必要はなくすことができる。
ところで、分割画像は最小情報マーク13ごとに分割する必要はない。これは、最小情報マーク13が等しい面積の明部最小単位11と暗部最小単位12とから構成されていることから、最小情報マーク13に相当する領域に分割した分割画像は、ほぼ等しく明部最小単位11と暗部最小単位12を含むこととなるからで、例えば、複数の情報単位マークを1単位として分割してもよい。
【0055】
次に、制御部70は、分割画像内毎にS120で得た明度の最大値を抽出し、抽出した複数の明度の中から最小の明度を抽出する(S202)。
例えば、図11(a)に示したData1が、領域Aにおける走査線上の画素の明度であるとする。制御部70は、このData1の中から最大の明度“72” (Xi+5,Yi+1)を抽出する。そして、制御部70は、明度“72”が、他の分割画像から抽出した最大の明度の中で最小である場合、Data1の最大の明度“72”を抽出する。
【0056】
続いて、制御部70は、S202で抽出した明度に整数を乗じた値が、明度適正明度区間(図4(b))を超えない最大の整数(乗数)を求め、求めた整数(乗数)から1減じた値を撮像回数とする(S203)。
例えば、図4(b)に示す過剰明度区間と明部適性明度区間との明度の境界値が“240”に設定されているとする。すると、制御部70は、この明度の境界値“240”を超える事のない“72”の乗数として、“3”を算出する。そして、制御部70は、算出した乗数“3”から“1”を減じた“2”を撮像回数に決定する。
【0057】
次に、制御部70は、S203で得た撮像回数だけ、位置検出用マーク10の撮像を行なう(S204)。
【0058】
続いて、制御部70は、S120(図5)と同様の処理を行い、S204で得た撮像画像の走査線上の明度を検出する(S205)。
【0059】
次に、制御部70は撮像画像分割手段として機能し、S204で得た撮像画像を、S201と同様の処理を行なうことで、位置検出用マーク10を最小情報マーク13に相当する領域に分割する(S206)。この時、位置検出用マーク10を最小情報マーク13毎の画像に分割することにより、S201で分割された画像と、S206で分割された画像とを対応付けることができる。
【0060】
続いて、制御部70は累算回数取得手段として機能し、S202で得た分割画像毎の明度の最大値に整数を乗じた値が、明部適正明度区間(図4(b))を超えない最大の整数(乗数)を分割画像毎に求める。そして、累算回数取得手段として機能している制御部70は、求めた整数(乗数)から“1”減じた値を、分割画像毎の加算回数とする(S207)。
例えば、図11(a)に示したData1において、累算回数取得手段として機能している制御部70は、明度の境界値“240”を超えることのない“72”の乗数として、“3”を算出する。そして、累算回数取得手段として機能している制御部70は、算出した乗数“3”から“1”を減じた“2”を、明度の加算回数に決定する。
【0061】
次に、制御部70は加算手段として機能し、S201で得た分割画像毎に、S206で得た対応する分割画像のデータを、S207で得た回数だけ、加算する(S208)。
例えば、上述した領域Aにおいて、S207で得た加算回数は2回であったとすると、加算手段として機能している制御部70は、S201で得た分割画像データにS206で得た2つの分割画像データを加算する。ここで、加算する2つの分割画像の明度が、図11(a)に示すData2、Data3であるとする。加算手段として機能している制御部70は、これらの画素の明度を、Data1に示した対応する画素の明度に加算する。加算手段として機能している制御部70は、このようにして得られた明度の加算値(図11(a)の最下段)を、領域Aの明度として取り扱う。
【0062】
次に、制御部70は、処理をS140に進め、移動体30を所定の目的位置に停止させる。なお、以後の処理は、上述した通りであるので、説明は省略する。
【0063】
上述した実施の形態によれば、位置検出用マーク10を分割し、得られた分割画像毎に画像データの重ね合わせ回数を決定することで、分割画像毎にカメラ45の露光時間を制御した場合と同様の効果を得ることができる。つまり、分割した全ての画像を、適切な露光量で撮像した画像のように取り扱えるようになる。特に、位置検出用マーク10の一部に光が当たっている箇所がある場合には、カメラ45全体の露光量を少なくすることで、過剰明度区間に位置する画素(いわゆる白とび)を防ぐことができる。これにより、位置検出用マーク10を読み取りやすくすることができる。
【0064】
本発明は上述した実施形態に限られず、様々な変形及び応用が可能である。例えば、図5に示したS200(分割画像データの補正処理)を他の処理方法で実施可能である。以下、他の分割画像データの補正処理として、分割画像の明度に適切な乗算を行なう処理方法について、図8に示したフローチャートを用いて説明する。
【0065】
まず、制御部70は撮像画像分割手段として機能し、図7に示すS201と同様の処理を行い、S110(図5)で得た位置検出用マーク10の撮像画像を、最小情報マーク毎に分割する(S211)。
例えば、図4(a)において、点線Aで囲んだ領域(以下、領域Aとする。)は、分割画像の1つの領域を示している。
【0066】
次に、制御部70は倍率取得手段として機能し、分割画像毎にS120(図5)で得た明度の最大値を抽出する(S212)。例えば、領域Aにおいて、S120で得た明度が図11(b)で示したData1であるとする。倍率取得手段として機能している制御部70は、領域Aにおいて、Data1における明度の最大値72(Xi+5,Yi+1)を抽出する。
【0067】
続いて、倍率取得手段として機能している制御部70は、S212で得た明度の最大値に整数を乗じた値が、明部適正明度区間(図4(b))を超えない最大の整数(乗数)を求め、求めた整数(乗数)を倍率として設定する(S213)。例えば、図4(b)に示す過剰明度区間と明部適性明度区間との明度の境界値が“240”に設定されているとする。倍率取得手段として機能している制御部70は、この明度の境界値“240”を超える事のない“72”の乗数として、“3”を算出する。
【0068】
次に、制御部70は2値化処理手段として機能し、分割画像毎にS120(図5)で得た明度の平均を閾値として2値化処理を行う(S214)。例えば、図11(b)のData1に示した明度の平均は、“40”である。2値化処理手段として機能している制御部70は、この明度の平均値“40”よりも大きな明度を、S212で抽出した明度の最大値“72”に置き換える。また、2値化処理手段として機能している制御部70は、明度の平均値“40”よりも小さな明度を、Data1で抽出した最小の明度“8”に置き換える。図11(b)に示したData2は、S214による2値化処理後に置き換えをした明度を示している。
【0069】
続いて、制御部70は乗算手段として機能し、S214により分割画像毎に2値化処理して置き換えを行ったそれぞれの明度に、S213で求めた倍率を掛け、明度の補正を行う(S215)。例えば、乗算手段として機能している制御部70は、図11(b)のData2に示した各画素の明度に、S213で求めた倍率“3”を掛け、Data3を求める。
このように、制御部70は、分割画像毎に、2値化処理を施した後、明度の最大値が過剰明度区間とならない乗数で各画素の明度に乗算を行い、得た値を分割画像の各画素の明度として取り扱う。
【0070】
次に、制御部70は、処理をS140に進め、上述したように移動体30を目的の停止位置に停止させる。
【0071】
上述した、図8に示した分割画像データの補正処理によれば、位置検出用マーク10を分割して得た画像毎に、2値化処理を施し、得られた分割画像の明度に適切な乗算を行なうことにより、分割画像毎にカメラ45の露光時間を制御するのと同様の効果を得ることができる。つまり、全ての分割画像を適切な露光量で撮像した画像として取り扱える。
【0072】
また、図8に示した分割画像データの補正処理において、S214の2値化処理を行なう前に、S211で得た分割画像の明度にローパスフィルタ処理を施してもよい。
【0073】
例えば、図11(c)に示すように、S201で得た分割画像の明度(Data1)にローパスフィルタ処理手段として機能する制御部70がローパスフィルタ処理を実行した値をData2に示す。ローパスフィルタ処理手段として機能している制御部70は、注目画素と、これに隣接する画素との明度との平均値を算出し、得られた平均値を注目画素の明度として置き換えている。続いて、図8に示した分割画像データの補正処理と同様に、S214とS215による処理を実行する。図11(c)に示したData3は、S214により置き換えた各画素の明度、Data4はS215により置き換えた各画素の明度を示している。
【0074】
このように、ローパスフィルタ処理手段として機能している制御部70が、分割画像の各画素の明度にローパスフィルタ処理を実行することで、画像の局所的な特徴が除去されて、マクロな明度分布を求めることができる。これにより、移動体30の移動に伴う撮像画像のぶれが無視し得ない場合に、画像ぶれによる局所的な特徴が低減され、位置検出用マーク10を読み取りやすくすることができる。
【0075】
一般に色は、色相、彩度、輝度や明るさを量的なものとして表されるが、本発明を実施するにあたり検出する色は、それら全てを検出する必要は必ずしもない。例えば、上記実施の形態においては、色相を有していない色(モノトーン)で塗り分けることにより、位置検出用マーク10を形成した。本発明は、これに限定されず、色相を有する色により、位置検出用マーク10の塗り分けを行なってもよい。この場合、例えば、カメラとしてカラーカメラを使用し、各画素の色度と明度の変化を判別すればよい。また、モノクロカメラを用いて、色相を無視して明度のみで領域を判別するようにしてもよい。
【0076】
また、上述した実施の形態によれば、位置検出用マーク10の中心位置を、明部最小単位11と暗部最小単位12との図心を算出して求めたが、例えば、位置検出用マーク10の中心ライン17(図3)位置に、明部最小単位11と暗部最小単位12と明度が異なる中心線を配置して、その中心線を検出することにより、位置検出用マーク10の中心位置を求めてもよい。また、明部最小単位11と暗部最小単位12との境界を検出するようにして、その境界位置から位置検出用マーク10の中心位置を求めてもよい。
【0077】
また、上記実施の形態では、プログラムが、ROM等に予め記憶されているものとして説明した。しかし、上述の処理動作を実行させるためのプログラムを、フレキシブルディスク、CD−ROM(Compact Disk Read-Only Memory)、DVD(Digital Versatile Disk)、MO(Magneto-Optical Disk)等のコンピュータ読み取り可能な記録媒体に格納して配布し、そのプログラムをコンピュータにインストールすることにより、コンピュータに上記動作を実行させるように構成してもよい。
【図面の簡単な説明】
【0078】
【図1】本発明の実施形態に係る荷物搬送設備の斜視図。
【図2】本発明の実施形態に係る荷物搬送設備の構成図。
【図3】本発明の実施形態に係る位置検出用マークを示した詳細図。
【図4】位置検出用マークの説明図で、(a)は位置検出用マークの部分図、(b)は検出された明度の一例を示したグラフ。
【図5】本発明の実施形態に係る位置検出用マークを用いた移動体の位置合わせ処理を示したフローチャート。
【図6】移動体の現位置を算出するための処理を示したフローチャート。
【図7】分割した画像データの補正処理を示したフローチャート。
【図8】分割した画像データの補正処理を示したフローチャート。
【図9】検出された位置検出用マークの明度の一例を示した図で、(a)は、検出された明度が高い場合の一例、(b)は適正露光で撮像した場合の一例。
【図10】検出された位置検出用マークの明度が低い場合の一例を示した図。
【図11】分割画像の明度に補正処理を施した一覧表で、(a)は第1の実施例、(b)は第2の実施例、(c)は第3の実施例。
【符号の説明】
【0079】
10 位置検出用マーク
11 明部最小単位
12 暗部最小単位
13 最小情報マーク
13a 1表示マーク
13b 0表示マーク
16 走査線
20 ガイドレール
30 移動体
40 カメラコントローラ
45 カメラ
50 モータコントローラ
55 移動モータ
60 クレーンコントローラ
65 クレーン
70 制御部
80 マーク設置面
100 荷物搬送設備
A 分割画像領域

【特許請求の範囲】
【請求項1】
明暗いずれかの階調を有する単位領域が配列され構成される情報単位が複数個配列され構成されている情報マークを撮像し、撮像画像を出力するカメラと、
前記カメラが出力した前記情報マークの撮像画像を、明度が異なるそれぞれの前記単位領域を含む所定の大きさの画像に分割する撮像画像分割手段と、
分割された画像毎に、明の階調を有する明単位領域の明度が所定範囲内の値となるように、各画素の明度を補正する明度補正手段と、
前記明度補正手段により補正された明度に基づいて、前記撮像画像上の複数の前記単位領域の境界位置を判別し、判別した該境界位置に基づいて前記情報マークを読み取るマーク読取手段と、
を備えることを特徴とするマーク読取装置。
【請求項2】
前記カメラは、異なったタイミングで前記情報マークを撮影して複数の撮像画像を出力し、
前記撮像画像分割手段は、前記複数の撮像画像のそれぞれを前記所定の大きさの画像に分割し、
前記明度補正手段は、1つの撮像画像において前記明単位領域の明度を所定範囲の値とするために必要な累算回数を求める累算回数取得手段と、前記1つの撮像画像の画素の明度に、他の撮像画像の対応する画素の明度を、前記累算回数取得手段で取得した累算回数に相当する撮像画像の数だけ加算して新たな明度とする加算手段とを備える、ことを特徴とする請求項1に記載のマーク読取装置。
【請求項3】
前記明度補正手段は、分割された画像毎に前記明単位領域の明度を所定範囲内の値とするために必要な倍率を求める倍率取得手段と、分割された画像の各画素の明度に前記倍率取得手段で取得した倍率を乗算して新たな明度とする乗算手段と、を備えることを特徴とする請求項1に記載のマーク読取装置。
【請求項4】
前記カメラが出力した前記情報マークの撮像画像にローパスフィルタ処理を実行するローパスフィルタ処理手段と、
所定の閾値を設定し、前記ローパスフィルタ処理がされた前記撮像画像の画素の明度を2値化する2値化処理手段と、をさらに備えることを特徴とする請求項3に記載のマーク読取装置。
【請求項5】
前記所定の大きさは、前記情報単位のサイズに等しいことを特徴とする請求項1乃至請求項4のいずれか1項に記載のマーク読取装置。
【請求項6】
前記情報マークは、該情報マークが配置されている位置を表わし、
前記マーク読取手段は、前記明度補正手段により補正された画素の明度に基づいて、前記情報マークが示す位置を読み取り、
前記マーク読取手段が読み取った読取情報に基づいて前記カメラを移動するカメラ移動手段をさらに備える、ことを特徴とする請求項1乃至請求項5に記載のマーク読取装置。
【請求項7】
明暗いずれかの階調を有する単位領域が配列され構成される情報単位が複数個配列され構成されている情報マークを撮像し、撮像画像を出力する撮像ステップと、
前記撮像ステップが出力した前記撮像画像を、明度が異なるそれぞれの前記単位領域を含む所定の大きさの画像に分割する撮像画像分割ステップと、
分割された画像毎に、明の階調を有する明単位領域の明度が所定範囲内の値となるように、各画素の明度を補正する明度補正ステップと、
前記明度補正ステップにより補正された明度に基づいて、前記撮像画像上の複数の前記単位領域の境界位置を判別し、判別した該境界位置に基づいて前記情報マークを読み取るマーク読取ステップと、
を備えることを特徴とするマーク読取方法。
【請求項8】
コンピュータに、
明暗いずれかの階調を有する単位領域が配列され構成される情報単位が複数個配列され構成されている情報マークを撮像し、撮像画像を出力する撮像ステップと、
前記撮像ステップが出力した前記撮像画像を、明度が異なるそれぞれの前記単位領域を含む所定の大きさの画像に分割する撮像画像分割ステップと、
分割された画像毎に、明の階調を有する明単位領域の明度が所定範囲内の値となるように、各画素の明度を補正する明度補正ステップと、
前記明度補正ステップにより補正された明度に基づいて、前記撮像画像上の複数の前記単位領域の境界位置を判別し、判別した該境界位置に基づいて前記情報マークを読み取るマーク読取ステップと、
を実行させることを特徴とするプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate


【公開番号】特開2009−276856(P2009−276856A)
【公開日】平成21年11月26日(2009.11.26)
【国際特許分類】
【出願番号】特願2008−125168(P2008−125168)
【出願日】平成20年5月12日(2008.5.12)
【出願人】(396004981)セイコープレシジョン株式会社 (481)
【Fターム(参考)】