JP2023126497A - 移動体位置決定装置、移動体位置決定方法及びプログラム - Google Patents

移動体位置決定装置、移動体位置決定方法及びプログラム Download PDF

Info

Publication number
JP2023126497A
JP2023126497A JP2023116430A JP2023116430A JP2023126497A JP 2023126497 A JP2023126497 A JP 2023126497A JP 2023116430 A JP2023116430 A JP 2023116430A JP 2023116430 A JP2023116430 A JP 2023116430A JP 2023126497 A JP2023126497 A JP 2023126497A
Authority
JP
Japan
Prior art keywords
image
camera
marker
dimensional
light emitting
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2023116430A
Other languages
English (en)
Inventor
宣男 飯塚
Norio Iizuka
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP2023116430A priority Critical patent/JP2023126497A/ja
Publication of JP2023126497A publication Critical patent/JP2023126497A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/002Measuring arrangements characterised by the use of optical techniques for measuring two or more coordinates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B66HOISTING; LIFTING; HAULING
    • B66FHOISTING, LIFTING, HAULING OR PUSHING, NOT OTHERWISE PROVIDED FOR, e.g. DEVICES WHICH APPLY A LIFTING OR PUSHING FORCE DIRECTLY TO THE SURFACE OF A LOAD
    • B66F9/00Devices for lifting or lowering bulky or heavy goods for loading or unloading purposes
    • B66F9/06Devices for lifting or lowering bulky or heavy goods for loading or unloading purposes movable, with their loads, on wheels or the like, e.g. fork-lift trucks
    • B66F9/075Constructional features or details
    • B66F9/20Means for actuating or controlling masts, platforms, or forks
    • B66F9/24Electrical devices or systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B66HOISTING; LIFTING; HAULING
    • B66FHOISTING, LIFTING, HAULING OR PUSHING, NOT OTHERWISE PROVIDED FOR, e.g. DEVICES WHICH APPLY A LIFTING OR PUSHING FORCE DIRECTLY TO THE SURFACE OF A LOAD
    • B66F9/00Devices for lifting or lowering bulky or heavy goods for loading or unloading purposes
    • B66F9/06Devices for lifting or lowering bulky or heavy goods for loading or unloading purposes movable, with their loads, on wheels or the like, e.g. fork-lift trucks
    • B66F9/075Constructional features or details
    • B66F9/0755Position control; Position detectors
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C11/00Photogrammetry or videogrammetry, e.g. stereogrammetry; Photographic surveying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • G06T7/248Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30204Marker
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle

Abstract

【課題】位置と方位の算出の自由度を向上させる。【解決手段】サーバ200は、カメラ101aによるマーカ102a及びマーカ102bの撮像によって得られた画像を取得する。次に、サーバ200は、取得した画像の歪みを補正することによって、マーカ102a及びマーカ102bの位置を補正する。更に、サーバ200は、補正後の画像におけるマーカ102a及びマーカ102bの画像位置を、カメラ内部パラメータ等を用いて、カメラ101a(フォークリフト100)の3次元位置に変換する。【選択図】図1

Description

本発明は、移動体位置決定装置、移動体位置決定方法及びプログラムに関する。
従来より、移動体に取り付けられた撮像装置が空間内の発光装置であるマーカを撮像し、その撮像によって得られた画像に基づいて、移動体の3次元空間の位置や方位を算出する技術が存在する(例えば、特許文献1参照)。
特開2014-157051号公報
しかしながら、上述した技術では、マーカを同一平面上に配置しなければならないという制約が存在し、マーカの設置の自由度、更には、位置と方位の算出の自由度が低いと言う問題があった。
本願発明はこのような問題点に鑑みてなされたものであり、位置と方位の算出の自由度を向上させることを目的とする。
上記目的を達成するため、本発明に係る移動体位置決定装置は、
3次元空間における高さが異なる任意の位置に設置されている2つの発光装置を含む前記3次元空間の座標位置が既知である複数の発光装置の中から、移動体に取り付けられた撮像装置により撮像される少なくとも2つの発光装置を含む画像に基づいて、前記少なくとも2つの発光装置の画像内の座標位置を取得し、
前記3次元空間の座標位置及び前記画像内の座標位置に基づいて、前記3次元空間における少なくとも前記移動体の座標位置及び前記移動体が向いている方位のいずれかを決定する、
処理を実行する。
本発明によれば、位置と方位の算出の自由度を向上させることができる。
本発明の実施形態に係る可視光通信システムの一例を示す図である。 サーバの構成の一例を示す図である。 空間におけるカメラとマーカの配置の一例を示す図である。 マーカ3次元位置テーブルの一例を示す図である。 カメラ内部パラメータの一例を示す図である。 (a)は歪み補正前の画像の一例、(b)は歪み補正後の画像の一例を示す図である。 マーカの画像位置及び3次元位置の一例を示す図である。 XY平面ベクトルの一例を示す図である。 (a)はXY平面ベクトルの調整前の一例、(b)、(c)はXY平面ベクトルの調整後の一例を示す図である。 カメラ位置候補線の一例を示す図である。 カメラ位置候補線と延長ベクトルの交点取得の一例を示す図である。 サーバの動作の一例を示す第1のフローチャートである。 サーバの動作の一例を示す第2のフローチャートである。 サーバの動作の一例を示す第3のフローチャートである。 カメラが2台の場合のXY平面ベクトルの一例を示す図である。
以下、図面を参照して、本発明の実施形態に係る移動体位置決定装置としての可視光通信システムを説明する。
図1は、可視光通信システムの構成を示す図である。図1に示すように、可視光通信システム1は、空間500内を移動する移動体としてのフォークリフト100と、フォークリフト100に取り付けられたカメラ101aと、空間500の天井や側面等に取り付けられた光源であるマーカ102a、102b、102c(以下、マーカ102a、102b、102cのそれぞれを限定しない場合には、適宜「マーカ102」と称する)と、移動体位置決定装置に対応するサーバ200とを含んで構成される。マーカ102は、図示しないLED(Light Emitting Diode)を含む。空間500は、X軸の座標(X座標)、Y軸の座標(Y座標)、Z軸の座標(Z座標)からなる3次元のパラメータで定義でき、これにより当該空間500内に存在する物体の位置を特定可能になっている。ここで、X軸及びY軸は双方とも水平方向であり、互いに直交し、Z軸は垂直方向であり、X軸及びY軸と直交する。
本実施形態において、フォークリフト100に取り付けられたカメラ101aは、マーカ102を撮像する。マーカ102は、空間500における3次元位置が既知であり、各種の送信対象の情報で色変調を行い、時系列に沿ってその発光色を変化させて発光することによりその情報を送信する。なお、変調方法は、送信対象の情報をビットデータに変換し、このデータを所定の規則性を持たせて光の三原色(R(赤)G(緑)B(青))の順序に割り当てる方法を採用する。
一方、サーバ200は、カメラ101aによる時系列的に連続した撮像によって得られた光の画像における発光色の変化を復調してマーカ102が発する情報を取得するとともに、空間500におけるカメラ101aの3次元位置をフォークリフト100の3次元位置として算出する。
図2は、サーバ200の構成の一例を示す図である。図2に示すように、サーバ200は、制御部202、無線通信部203、画像処理部204、メモリ205、操作部206、表示部207及び通信部208を含む。
図3は、空間500におけるカメラ101aとマーカ102の配置の一例を示す図である。本実施形態において、サーバ200は、空間500における既知であるマーカ102の3次元位置に基づいて、未知であるカメラ101aの3次元位置を算出する。
カメラ101aは、図示しないレンズを介して入光された光学像を撮像(受光)し、その撮像画角内の画像信号をデジタルデータに変換して画像を生成する。また、カメラ101aは、撮像と画像の生成とを時間的に連続して行い、連続する画像をサーバ200へ無線通信により送信する。サーバ200内の無線通信部203は、画像を受信して画像処理部204へ出力する。画像における各画素や画像領域は、X座標、Y座標からなる2次元の座標平面でその位置が定義される。
再び、図2に戻って説明する。画像処理部204は、無線通信部203から出力された画像(デジタルデータ)をそのまま制御部202へ出力するとともに、当該画像について、表示部207に表示させるべく、画質や画像サイズを調整して制御部202へ出力する。また、画像処理部204は、JPEG(Joint Photographic Experts Group)、MPEG(Moving Photographic Experts Group)等の圧縮符号化方式にて符号化、静止画ファイル化、または、動画ファイル化する機能を有する。
制御部202は、プロセッサであるCPU(Central Processing Unit)によって構成される。制御部202は、メモリ205に記憶されたプログラム(例えば、後述する図12、図13、図14に示すサーバ200の動作を実現するためのプログラム)に従ってソフトウェア処理を実行することにより、サーバ200が具備する各種機能を制御する。
メモリ205は、例えばRAM(Random Access Memory)やROM(Read Only Memory)である。メモリ205は、サーバ200における制御等に用いられる各種情報(プログラム等)を記憶する。
また、メモリ205は、図4に示すマーカ3次元位置テーブルや図5に示すカメラ内部パラメータを記憶している。図4に示すマーカ3次元位置テーブルは、マーカ102a、102b、102cのそれぞれの自己を一意に特定可能なID(Identification)と、空間500における当該マーカ102a、102b、102cの3次元位置(X座標、Y座標、Z座標)とを対応付けたものである。
また、図5に示すカメラ内部パラメータは、画像の歪みを補正する際に用いる画像歪み補正データと、カメラ101aの高さ(Z座標)と、カメラ101aが向いている方向を示す姿勢データとしてのカメラ101aのZ軸を回転軸とする回転を示す3×3行列であるカメラ方位行列Rz(θ)と、カメラ101aが向いている方向を示す姿勢データとしてのカメラ101aのX軸を回転軸とする回転とY軸を回転軸とする回転とを示す3×3行列であるカメラ設置行列Rcとを含んで構成される。
再び、図2に戻って説明する。操作部206は、テンキーやファンクションキー等によって構成され、ユーザの操作内容を入力するために用いられるインタフェースである。表示部207は、例えば、LCD(Liquid Crystal Display)、PDP(Plasma Display Panel)、EL(Electroluminescence)ディスプレイ等によって構成される。表示部207は、制御部202から出力された画像信号に従って画像を表示する。通信部208は、例えばLAN(Local Area Network)カードである。通信部208は、外部の通信装置との間で通信を行う。
制御部202には、画像取得部230、マーカ特定部232、画像位置補正部234及び3次元位置取得部236の各機能が構成される。
画像取得部230は、画像処理部204からの画像を取得する。マーカ特定部232は、画像内のマーカ102の位置(画像位置:画像に対応する2次元平面におけるX座標、Y座標)を検出する。ここで、空間500内におけるマーカ102a、102b、102cは、自己を一意に特定可能なIDで変調された、R(赤)G(緑)B(青)の3色のパターンで巡回的に変化する光を発する。
マーカ特定部232は、カメラ101aの撮像によって得られた各画像に含まれる巡回的な3色のパターンの光を検出する。更に、マーカ特定部232は、この3色の発光のパターンに対応するIDの検出、更にIDへの復調を試みる。IDが検出された場合、マーカ特定部232は、画像内における、そのIDに対応するマーカ102の画像位置を取得する。
更に、マーカ特定部232は、メモリ205に記憶されたマーカ3次元位置テーブルを参照することにより、取得したIDに対応するマーカ102の空間500における3次元位置を取得する。
画像位置補正部234は、マーカ102の画像位置を補正する。具体的には、図6(a)に示すように、通常画像601aには歪みが生じており、その歪みは画像の中心からの距離が長いほど大きくなる。そこで、画像位置補正部234は、図5のカメラ内部パラメータの画像歪み補正データを用いて、歪みを補正する。画像歪み補正データは、画像の中心からの距離が長いほど補正量が大きくなるデータである。これにより、図6(b)に示すように歪みが補正された画像601bとなり、当該画像601bにおけるマーカ102a、102b、102cの位置(画像位置)が補正されることになる。
また、画像位置補正部234は、歪み補正後の画像のうち、四隅に存在するマーカ102をカメラ101aの3次元位置の取得の際に使用しないように設定する。例えば、図6(b)に示すように、画像601bの四隅には、三角形の無効領域603a、603b、603c、603dがそれぞれ設定される。マーカ102cは、無効領域603a内に存在するため、当該マーカ102cはカメラ101aの3次元位置の取得の際に使用されず、マーカ102a、102bのみがカメラ101aの3次元位置の取得の際に使用されることになる。
3次元位置取得部236は、空間500におけるカメラ101aの3次元位置を取得する。具体的には、3次元位置取得部236は、図7に示す画像領域700におけるマーカ102aの画像位置610a及びマーカ102bの画像位置と、マーカ3次元テーブルを参照して得られたマーカ102aの3次元位置及びマーカ102bの3次元位置と、メモリ205に記憶された姿勢データであるカメラ方位行列Rz(θ)及びカメラ設置行列Rcとを用いて既知の手法により、空間500におけるカメラ101aの3次元位置C=(cx,cy,cz)を算出する。
具体的には、3次元位置取得部236は、カメラ101aを中心とする3次元空間の座標系であるカメラ基準相対系において、マーカ102aの3次元位置と、カメラ内部パラメータ及び姿勢データに基づいて、カメラ101aからマーカ102aへ向かう3次元方向ベクトル(vx1,vy1,vz1)を算出するとともに、マーカ102bの画像位置と姿勢データとに基づいて、カメラ101bからマーカ102へ向かう3次元方向ベクトル(vx2,vy2,vz2)とを算出する。
次に、3次元位置取得部236は、カメラ101aからマーカ102aへ向かう3次元方向ベクトル(vx1,vy1,vz1)を3次元空間におけるカメラ101aとマーカ102aとの位置関係に当てはめるために、マーカ102aとカメラ101aの高低差と、カメラ設置行列Rc1とに基づいて、既知の手法により3次元方向ベクトル(vx1,vy1,vz1)をXY平面に投影したXY平面ベクトルV1を算出する。同様に、3次元位置取得部236は、カメラ101aからマーカ102bへ向かう3次元方向ベクトル(vx2,vy2,vz2)を3次元空間におけるカメラ101aとマーカ102bとの位置関係に当てはめるために、マーカ102bとカメラ101aの高低差と、カメラ設置行列Rc2とに基づいて、3次元方向ベクトル(vx2,vy2,vz2)をXY平面に投影したXY平面ベクトルV2を算出する。図8は、XY平面ベクトルV1、V2の一例を示す図である。
更に、3次元位置取得部236は、XY平面ベクトルV1とXY平面ベクトルV2とを調整する。この調整は、カメラ方位行列Rz(θ)が示すZ軸回りの回転角度θの誤差等によって、算出した空間500におけるカメラ101aの3次元位置C=(cx,cy,cz)に誤差が生じている場合に、その誤差を小さくするためである。
例えば、図9(a)に示すように、XY平面上において、カメラ101aとマーカ102a、102bとの位置関係と、XY平面ベクトルV1及びXY平面ベクトルV2とが一致しない場合、3次元位置取得部236は、XY平面ベクトルV1とXY平面ベクトルV2とを調整する。
例えば、3次元位置取得部236は、カメラ方位行列Rz(θ)が示すZ軸回りの回転角度θを調整することにより、カメラ101aとマーカ102a、102bとの位置関係と、XY平面ベクトルV1及びXY平面ベクトルV2とを一致させることを試みる。
また、3次元位置取得部236は、図9(a)では、XY平面ベクトルV1の方がXY平面ベクトルV2より長いため、XY平面ベクトルV1の方が誤差が大きいと見なし、図9(b)に示すように、XY平面ベクトルV2の長さ及び方向を調整することなく、カメラ101aとマーカ102bとの位置関係と、XY平面ベクトルV2とを一致させる一方、XY平面ベクトルV1の長さ及び方向を調整して、カメラ101aとマーカ102bとの位置関係と、XY平面ベクトルV2とを一致させる。
また、3次元位置取得部236は、図9(c)に示すように、XY平面ベクトルV1の長さ及び方向の調整量と、XY平面ベクトルV1の長さ及び方向の調整量との比率を、XY平面ベクトルV1とXY平面ベクトルV2との長さの比率に一致させて、XY平面ベクトルV1及びXY平面ベクトルV2双方の長さ及び方向を調整して、カメラ101aとマーカ102bとの位置関係と、XY平面ベクトルV2とを一致させる。
3次元位置取得部236は、調整後のXY平面ベクトルV1、V2、カメラ方位行列Rz(θ)を用いて、3次元方向ベクトル(vx1,vy1,vz1)、更には、空間500におけるカメラ101aの3次元位置C=(cx,cy,cz)を算出するとともに、カメラ方位行列Rz(θ)及びカメラ設置行列Rcに基づいてカメラ101aの方位を算出する。
更に、3次元位置取得部236は、メモリ205に記憶されたカメラ101aの3次元位置C=(cx,cy,cz)のうち、最良の3次元位置C=(cx,cy,cz)を選択し、最終的なカメラ101aの3次元位置(移動体の座標位置)とする。最良の3次元位置とは、例えば、カメラ101aのそれぞれの3次元位置Cのうち、対応する再投影誤差が最小となる位置や、再投影誤差の逆数に従った重み平均により算出される位置である。3次元位置取得部236は、求めたカメラ101aの3次元位置及び方位と画像に含まれるマーカ102のIDとを対応付けてメモリ205に記憶させる。
また、当初はカメラ101aによって2つ以上のマーカ102が撮像されていたが、その後にカメラ101aの移動によって1つのマーカ102のみが撮像されることになった場合には、その1つのマーカ102の画像位置に基づいて、最終的なカメラ101aの3次元位置及び方位を算出する。
具体的には、3次元位置取得部236は、カメラ101aを中心とする3次元空間の座標系であるカメラ基準相対系においてカメラ101aからマーカ102への3次元方向ベクトルを求める。3次元方向ベクトルは、マーカ102の画像位置と姿勢データとに基づいて求められる。図10に示すように、3次元方向ベクトルV100が求められると、3次元空間におけるカメラ101aの位置(3次元位置)は、マーカ102の直下でカメラ101aと同一平面(XY平面)上の位置C10を中心とする円の外縁部であるカメラ位置候補線710の線上の何れかの位置となる。
更に、3次元位置取得部236は、3次元方向ベクトルについてXY平面との傾きを求め、当該傾きと、カメラ101aとマーカ102との高低差とに基づいて、カメラ101aとマーカ102との水平距離(XY平面上の距離)を求める。
次に、3次元位置取得部236は、メモリ205に記憶しているマーカ102のIDに対応するカメラ101aの3次元位置及び方位の履歴に基づいて、図11に示すように、前々回の測定によるカメラ101aの3次元位置(前々回位置)P1を始点とし、前回の測定によるカメラ101aの3次元位置(前回位置)を終点とする移動ベクトルV110を求め、その移動ベクトルV110を延長した延長ベクトルV120を求める。更に、3次元位置取得部236は、延長ベクトルV120とカメラ位置候補線710との交点C20を現在のカメラ101aの3次元位置C20とする。
次に、3次元位置取得部236は、画像内のマーカ102の横移動(XY平面上での移動)からカメラ101aの方位の変化を求め、その方位の変化量を前回の測定における方位に加えることにより、現在のカメラ101aの方位とする。更に、3次元位置取得部236は、求めたカメラ101aの3次元位置及び方位と、画像に含まれるマーカ102のIDとを対応付けてメモリ205に記憶させる。
次に、フローチャートを参照して、サーバ200の動作を説明する。図12、図13及び図14は、サーバ200の動作の一例を示すフローチャートである。
制御部202内の画像取得部230は、画像処理部204からのカメラ101aによって撮像された画像を取得する(ステップS101)。次に、マーカ特定部232は、画像を解析して、マーカ102のIDの取得を試み、IDを取得したか否かを判定する(ステップS102)。IDが取得されなかった場合には(ステップS102;NO)、一連の動作が終了する。
一方、IDが取得された場合には(ステップS102;YES)、マーカ特定部232は、マーカ3次元位置テーブルを参照し、取得したIDに対応するマーカ102の空間500における3次元位置を取得する(ステップS103)。
画像位置補正部234は、カメラ内部パラメータの画像歪み補正データに基づいて、画像の歪みを補正する(ステップS104)。更に、画像位置補正部234は、歪み補正後の画像のうち、無効領域603a等に存在するマーカ102をカメラ101aの3次元位置の取得の際に使用しないように設定する(ステップS105)。
次に、3次元位置取得部236は、画像内にマーカ102が2点以上存在するか否かを判定する(ステップS106)。画像内にマーカ102が2点以上存在する場合には(ステップS106;YES)、図13に示す動作に移行し、3次元位置取得部236は、マーカ102aの3次元位置、カメラ内部パラメータ及び姿勢データに基づいて、カメラ基準相対系においてカメラ101aからマーカ102へ向かう3次元方向ベクトルを算出する(ステップS201)。
次に、3次元位置取得部236は、マーカ102とカメラ101aの高低差と、カメラ設置行列Rcとに基づいて、3次元方向ベクトルをXY平面に投影したXY平面ベクトルを算出する(ステップS202)。
次に、3次元位置取得部236は、2点以上のマーカ102のうち、2つのマーカ102を終点とする2つのXY平面ベクトルを選択する(ステップS203)。
次に、3次元位置取得部236は、2つのXY平面ベクトルを調整する(ステップS204)。次に、3次元位置取得部236は、調整後のXY平面ベクトル、カメラ方位行列Rz(θ)を用いて、空間500におけるカメラ101aの3次元位置を算出するとともに、カメラ方位行列Rz(θ)及びカメラ設置行列Rcに基づいてカメラ101aの方位を算出し、画像内のマーカ102のIDとともにメモリ205に記憶させる(ステップS205)。
更に、3次元位置取得部236は、2つのXY平面ベクトルの組み合わせの全てについてステップS203~ステップS205の処理が終了したか否かを判定する(ステップS206)。終了していない場合には(ステップS206;NO)、ステップS203以降の動作が繰り返される。一方、終了した場合には(ステップS206;YES)、3次元位置取得部236は、最良のカメラ101aの3次元位置及び方位を選択する(ステップS207)。
一方、図11のステップS106において、画像内にマーカ102が2点以上存在しない場合には(ステップS106;NO)、すなわち、画像内にマーカ102が1点のみである場合には、図14に示す動作に移行し、3次元位置取得部236は、その1点のマーカ102のIDを、過去のカメラ101aの3次元位置及び方位の取得の際に既に取得しているか否かを判定する(ステップS301)。IDを取得済みでない場合には(ステップS301;NO)、一連の動作が終了する。
一方、IDを取得済みである場合には(ステップS301;YES)、3次元位置取得部236は、カメラ101aを中心とする3次元空間の座標系であるカメラ基準相対系においてカメラ101aからマーカ102への3次元方向ベクトルを求める。更に、3次元位置取得部236は、3次元方向ベクトルについてXY平面との傾きを求め、当該傾きと、カメラ101aとマーカ102との高低差とに基づいて、カメラ101aとマーカ102との水平距離(XY平面上の距離)を求める(ステップS302)。
次に、3次元位置取得部236は、メモリ205に記憶しているマーカ102のIDに対応するカメラ101aの3次元位置及び方位の履歴に基づいて、前々回の測定によるカメラ101aの3次元位置(前々回位置)から前回の測定によるカメラ101aの3次元位置(前回位置)へ向かう移動ベクトルを求め、その移動ベクトルを延長した延長ベクトルを求める(ステップS303)。
更に、3次元位置取得部236は、延長ベクトルとカメラ位置候補線との交点を現在のカメラ101aの3次元位置とする(ステップS304)。
次に、3次元位置取得部236は、画像内のマーカ102の横移動からカメラ101aの方位の変化を求め、その方位の変化量を前回の測定における方位に加えることにより、現在のカメラ101aの方位とする(ステップS305)。更に、3次元位置取得部236は、求めたカメラ101aの3次元位置及び方位と、画像に含まれるマーカ102のIDとを対応付けてメモリ205に記憶させる(ステップS306)。
このように本実施形態では、サーバ200は、カメラ101aによるマーカ102の撮像によって得られた画像を取得すると、当該画像の歪みを補正することによってマーカ102の位置を補正し、補正後の画像におけるマーカ102の画像位置をカメラ101a(フォークリフト100)の3次元位置に変換する。本実施形態では、マーカ102の設置位置に制約はなく、フォークリフト100の3次元位置と方位の算出の自由度を向上させることができる。
また、本実施形態では、画像の歪みは当該画像の中心からの距離が長いほど大きくなることに鑑み、サーバ200は、画像の中心からの距離が長いほど補正量が大きくなる画像歪み補正データを用いて画像補正を行うとともに、画像の四隅の無効領域603a等に存在するマーカ102をカメラ101aの3次元位置の取得の際に使用しない。これにより、カメラ101aの3次元位置及び方位の算出精度を向上させることができる。
また、本実施形態では、サーバ200は、XY平面ベクトルを調整しており、カメラ方位行列Rz(θ)が示すZ軸回りの回転角度θの誤差等によって、カメラ101aの3次元位置に誤差が生じている場合には、その誤差を小さくすることができる。
また、本実施形態では、2つのマーカ102の組み合わせ毎に取得されるカメラ101aの3次元位置及び方位に基づいて、最良のものを選択あるいは取得しており、カメラ101aの3次元位置及び方位の算出精度を向上させることができる。
また、本実施形態では、画像内にマーカ102が1つしか含まれない場合であっても、そのマーカ102の3次元位置を利用して過去にカメラ101aの3次元位置及び方位を算出している場合には、現在のカメラ101aの3次元位置及び方位を算出可能である。このため、カメラ101aの3次元位置及び方位の算出の汎用性を向上させることができる。
また、本実施形態では、各マーカ102が独立したIDを持ち、且つ、そのセットのID数は極めて多数にすることができるため、非常に広範囲に多数の異なるIDを有するマーカ102を配置することができる。このため、空間500内においては、前の状態にかかわらず、2点のマーカ102のIDを受信した時点で直ちに、マーカ102までの絶対距離を求めることができる。
なお、本発明は、上記実施形態の説明及び図面によって限定されるものではなく、上記実施形態及び図面に適宜変更等を加えることは可能である。
上述した実施形態では、カメラ101aのみであったが複数のカメラを用いてもよい。例えば、図12に示すように、カメラ101aの他にカメラ101bが設けられる場合には、カメラ101aがマーカ102aを撮像し、カメラ101bがマーカ102bを撮像するとともに、XY平面におけるカメラ101aからカメラ101bに向かうXY平面ベクトルV3が規定されることにより、フォークリフト100の3次元位置を精度よく算出することができる。
また、上述した実施形態では、マーカ102は、時系列に沿って発光色を変化させることによりIDを送信したが、マーカ102の3次元位置を送信してもよい。この場合には、サーバ200は、発光のパターンに対応するマーカ102の3次元位置を検出することができる。このため、図4に示すマーカ3次元位置テーブルは不要である。
また、マーカ102はLEDに限定されない。例えば、表示装置を構成するLCD、PDP、ELディスプレイ等の一部に光源が構成されていてもよい。
また、サーバ200は、カメラ101a、101bからの画像を取得するものであれば、どのような装置でもよい。
また、上記実施形態において、実行されるプログラムは、フレキシブルディスク、CD-ROM(Compact Disc Read - Only Memory)、DVD(Digital Versatile Disc)、MO(Magneto - Optical Disc)等のコンピュータで読み取り可能な記録媒体に格納して配布し、そのプログラムをインストールすることにより、上述の処理を実行するシステムを構成することとしてもよい。
また、プログラムをインターネット等のネットワーク上の所定のサーバが有するディスク装置等に格納しておき、例えば、搬送波に重畳させて、ダウンロード等するようにしてもよい。
なお、上述の機能を、OS(Operating System)が分担して実現する場合又はOSとアプリケーションとの協働により実現する場合等には、OS以外の部分のみを媒体に格納して配布してもよく、また、ダウンロード等してもよい。
以上、本発明の好ましい実施形態について説明したが、本発明は係る特定の実施形態に限定されるものではなく、本発明には、特許請求の範囲に記載された発明とその均等の範囲が含まれる。以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
(付記1)
3次元空間における高さが異なる任意の位置に設置されている2つの発光装置を含む前記3次元空間の座標位置が既知である複数の発光装置の中から、移動体に取り付けられた撮像装置により撮像される少なくとも2つの発光装置を含む画像に基づいて、前記少なくとも2つの発光装置の画像内の座標位置を取得し、
前記3次元空間の座標位置及び前記画像内の座標位置に基づいて、前記3次元空間における少なくとも前記移動体の座標位置及び前記移動体が向いている方位のいずれかを決定する、
処理を実行する移動体位置決定装置。
(付記2)
前記画像を含む、撮像タイミングがそれぞれ異なる複数の画像に基づいて、夫々異なる発光パターンで発光する前記少なくとも2つの発光装置を識別する、
処理を実行する請求項1に記載の移動体位置決定装置。
(付記3)
前記撮像装置の焦点を始点とし、前記少なくとも2つの発光装置の画像内の座標位置を終点とする複数の3次元方向ベクトルと、撮像装置が向いている方向を示す姿勢データと、を取得し、
取得された前記複数の3次元方向ベクトル、及び、前記少なくとも2つの発光装置の前記3次元空間における高低差に基づいて、前記撮像装置から前記少なくとも2つの発光装置までの3次元空間上の各距離と、前記撮像装置が向く光軸方位と、を取得する、
処理を実行する付記1又は2に記載の移動体位置決定装置。
(付記4)
取得された前記各距離のうちの長い方を調整する、
処理を実行する付記3に記載の移動体位置決定装置。
(付記5)
前記複数の3次元方向ベクトルと、取得された前記各距離と、に基づいて算出される前記3次元空間の座標位置とのずれ量の比に従って、前記各距離を調整する、
処理を実行する付記3に記載の移動体位置決定装置。
(付記6)
前記移動体の座標位置決定のために、前記画像における外縁部に存在する発光装置の座標位置を使用しないように制御する、
処理を実行する付記1乃至5のいずれかに記載の移動体位置決定装置。
(付記7)
第1発光装置及びその他の発光装置を含む画像を示す第1画像の取得後に取得される画像が、前記第1発光装置のみを含みその他のいずれの発光装置を含まない第2画像であった場合に、算出される前記第1発光装置移動体の移動ベクトルに基づいて、前記移動体の座標位置を決定する、
処理を実行する付記1乃至6のいずれかに記載の移動体位置決定装置。
(付記8)
前記移動体に取り付けられた複数の前記撮像装置から取得される画像に従って、前記移動体の座標位置を決定する、
処理を実行する付記1乃至7のいずれかに記載の移動体位置決定装置。
(付記9)
コンピュータに、付記1乃至8のいずれかに記載の移動体位置決定装置の処理を実行させる方法。
(付記10)
コンピュータに、付記1乃至8のいずれかに記載の移動体位置決定装置の処理を実行させるプログラム。
1…可視光通信システム、100…フォークリフト、101a、101b…カメラ、102、102a、102b、102c…マーカ、200…サーバ、202…制御部、203…無線通信部、204…画像処理部、205…メモリ、206…操作部、207…表示部、208…通信部、230…画像取得部、232…マーカ特定部、234…画像位置補正部、236…3次元位置取得部、500…空間、601a、601b…画像、603a、603b、603c、603d…無効領域、610a、610b…マーカの画像位置、700…画像領域、710…カメラ位置候補線、C10…中心、C20…カメラの3次元位置、P1…前々回位置、P2…前回位置、V1、V2、V3…XY平面ベクトル、V100…3次元方向ベクトル、V110…移動ベクトル、V120…延長ベクトル

Claims (10)

  1. 3次元空間における高さが異なる任意の位置に設置されている2つの発光装置を含む前記3次元空間の座標位置が既知である複数の発光装置の中から、移動体に取り付けられた撮像装置により撮像される少なくとも2つの発光装置を含む画像に基づいて、前記少なくとも2つの発光装置の画像内の座標位置を取得し、
    前記3次元空間の座標位置及び前記画像内の座標位置に基づいて、前記3次元空間における少なくとも前記移動体の座標位置及び前記移動体が向いている方位のいずれかを決定する、
    処理を実行する移動体位置決定装置。
  2. 前記画像を含む、撮像タイミングがそれぞれ異なる複数の画像に基づいて、夫々異なる発光パターンで発光する前記少なくとも2つの発光装置を識別する、
    処理を実行する請求項1に記載の移動体位置決定装置。
  3. 前記撮像装置の焦点を始点とし、前記少なくとも2つの発光装置の画像内の座標位置を終点とする複数の3次元方向ベクトルと、撮像装置が向いている方向を示す姿勢データと、を取得し、
    取得された前記複数の3次元方向ベクトル、及び、前記少なくとも2つの発光装置の前記3次元空間における高低差に基づいて、前記撮像装置から前記少なくとも2つの発光装置までの3次元空間上の各距離と、前記撮像装置が向く光軸方位と、を取得する、
    処理を実行する請求項1又は2に記載の移動体位置決定装置。
  4. 取得された前記各距離のうちの長い方を調整する、
    処理を実行する請求項3に記載の移動体位置決定装置。
  5. 前記複数の3次元方向ベクトルと、取得された前記各距離と、に基づいて算出される前記3次元空間の座標位置とのずれ量の比に従って、前記各距離を調整する、
    処理を実行する請求項3に記載の移動体位置決定装置。
  6. 前記移動体の座標位置決定のために、前記画像における外縁部に存在する発光装置の座標位置を使用しないように制御する、
    処理を実行する請求項1乃至5のいずれかに記載の移動体位置決定装置。
  7. 第1発光装置及びその他の発光装置を含む画像を示す第1画像の取得後に取得される画像が、前記第1発光装置のみを含みその他のいずれの発光装置を含まない第2画像であった場合に、算出される前記第1発光装置移動体の移動ベクトルに基づいて、前記移動体の座標位置を決定する、
    処理を実行する請求項1乃至6のいずれかに記載の移動体位置決定装置。
  8. 前記移動体に取り付けられた複数の前記撮像装置から取得される画像に従って、前記移動体の座標位置を決定する、
    処理を実行する請求項1乃至7のいずれかに記載の移動体位置決定装置。
  9. コンピュータに、請求項1乃至8のいずれかに記載の移動体位置決定装置の処理を実行させる方法。
  10. コンピュータに、請求項1乃至8のいずれかに記載の移動体位置決定装置の処理を実行させるプログラム。
JP2023116430A 2020-09-18 2023-07-18 移動体位置決定装置、移動体位置決定方法及びプログラム Pending JP2023126497A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2023116430A JP2023126497A (ja) 2020-09-18 2023-07-18 移動体位置決定装置、移動体位置決定方法及びプログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020157122A JP2022050929A (ja) 2020-09-18 2020-09-18 移動体位置決定装置、移動体位置決定方法及びプログラム
JP2023116430A JP2023126497A (ja) 2020-09-18 2023-07-18 移動体位置決定装置、移動体位置決定方法及びプログラム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2020157122A Division JP2022050929A (ja) 2020-09-18 2020-09-18 移動体位置決定装置、移動体位置決定方法及びプログラム

Publications (1)

Publication Number Publication Date
JP2023126497A true JP2023126497A (ja) 2023-09-07

Family

ID=80646003

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2020157122A Pending JP2022050929A (ja) 2020-09-18 2020-09-18 移動体位置決定装置、移動体位置決定方法及びプログラム
JP2023116430A Pending JP2023126497A (ja) 2020-09-18 2023-07-18 移動体位置決定装置、移動体位置決定方法及びプログラム

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2020157122A Pending JP2022050929A (ja) 2020-09-18 2020-09-18 移動体位置決定装置、移動体位置決定方法及びプログラム

Country Status (3)

Country Link
US (1) US11900632B2 (ja)
JP (2) JP2022050929A (ja)
CN (1) CN114199121A (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7136141B2 (ja) * 2020-02-07 2022-09-13 カシオ計算機株式会社 情報管理装置、情報管理方法及びプログラム
US11776382B1 (en) * 2022-12-23 2023-10-03 The Adt Security Corporation Premises security system using ultra-wideband (UWB) functionality to initiate at least one action

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01187608A (ja) * 1988-01-21 1989-07-27 Komatsu Ltd 無人移動体の誘導位置補正装置
JP3494075B2 (ja) * 1999-05-25 2004-02-03 三菱電機株式会社 移動体の自己位置標定装置
JP4032793B2 (ja) * 2002-03-27 2008-01-16 ソニー株式会社 充電システム及び充電制御方法、ロボット装置、及び充電制御プログラム及び記録媒体
JP2005003445A (ja) 2003-06-10 2005-01-06 Shimizu Corp 移動体装置の位置同定システムおよびその位置同定方法
JP4264380B2 (ja) * 2004-04-28 2009-05-13 三菱重工業株式会社 自己位置同定方法及び該装置
KR100776215B1 (ko) * 2005-01-25 2007-11-16 삼성전자주식회사 상향 영상을 이용한 이동체의 위치 추정 및 지도 생성장치 및 방법과 그 장치를 제어하는 컴퓨터 프로그램을저장하는 컴퓨터로 읽을 수 있는 기록 매체
JP4560128B1 (ja) * 2009-08-13 2010-10-13 株式会社パスコ 地図画像統合データベース生成システム及び地図画像統合データベース生成プログラム
JP2011134058A (ja) * 2009-12-24 2011-07-07 B-Core Inc 光学式自己位置検知装置及び方法
CN102980555B (zh) * 2012-12-06 2015-04-08 紫光股份有限公司 一种光学成像式轮式移动机器人方位的检测方法及其装置
JP2014157051A (ja) 2013-02-15 2014-08-28 Toyota Industries Corp 位置検出装置
WO2017096360A1 (en) * 2015-12-03 2017-06-08 Osram Sylvania Inc. Light-based vehicle positioning for mobile transport systems
JP6726118B2 (ja) * 2017-02-22 2020-07-22 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 制御装置、無線通信端末および位置推定システム
JP6834644B2 (ja) * 2017-03-21 2021-02-24 富士ゼロックス株式会社 入力装置、画像形成装置及びプログラム
US11361466B2 (en) * 2018-11-30 2022-06-14 Casio Computer Co., Ltd. Position information acquisition device, position information acquisition method, recording medium, and position information acquisition system

Also Published As

Publication number Publication date
JP2022050929A (ja) 2022-03-31
US20220092815A1 (en) 2022-03-24
CN114199121A (zh) 2022-03-18
US11900632B2 (en) 2024-02-13

Similar Documents

Publication Publication Date Title
JP2023126497A (ja) 移動体位置決定装置、移動体位置決定方法及びプログラム
US11816861B2 (en) Position information acquisition device, position information acquisition method, recording medium, and position information acquisition system
TWI253006B (en) Image processing system, projector, information storage medium, and image processing method
JP3844076B2 (ja) 画像処理システム、プロジェクタ、プログラム、情報記憶媒体および画像処理方法
CN107404637B (zh) 投影仪
TWI249351B (en) Image processing system, projector, and image processing method
JP4572377B2 (ja) 画像処理システム、プロジェクタ、プログラム、情報記憶媒体および画像処理方法
US11956537B2 (en) Location positioning device for moving body and location positioning method for moving body
JP2022090130A (ja) 位置算出システム、位置算出装置、位置算出方法及びプログラム
JP2022092132A (ja) 表示方法、検出装置、および、プログラム
EP3480791A1 (en) System, device, method and computer program for obtaining the location and shooting direction of at least two cameras
JP7396336B2 (ja) 位置情報取得装置、位置情報取得方法及びプログラム
JP2020041822A (ja) 3次元計測システム、3次元計測カメラ、3次元計測方法及びプログラム
JP2004348577A (ja) 情報表示システムおよび情報表示システムにおけるポインティング装置制御方法
JP7006714B2 (ja) 位置測定システム、位置測定装置、位置測定方法及びプログラム
JP7056495B2 (ja) 位置算出システム、位置算出装置、位置算出方法及びプログラム
CN115134570A (zh) 投影设备及其投影图像的校正方法
JP2016146047A (ja) 投影装置、座標入力装置、および処理方法
JP2021001788A (ja) 位置取得装置、位置取得方法及びプログラム
JP2022145428A (ja) 移動体の位置測位装置、移動体の位置測位システム、移動体の位置測位方法及び移動体の位置測位プログラム
JP2022126414A (ja) 投影制御装置及び投影制御装置の制御方法
CN116416315A (zh) 一种外参标定方法及控制设备

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230913