(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024037105
(43)【公開日】2024-03-18
(54)【発明の名称】電子機器、段差検出方法及びプログラム
(51)【国際特許分類】
G01S 17/86 20200101AFI20240311BHJP
G06T 7/521 20170101ALI20240311BHJP
G06T 7/00 20170101ALI20240311BHJP
G01S 17/88 20060101ALI20240311BHJP
G08B 21/02 20060101ALI20240311BHJP
H04M 1/00 20060101ALI20240311BHJP
【FI】
G01S17/86
G06T7/521
G06T7/00 650A
G01S17/88
G08B21/02
H04M1/00 R
【審査請求】未請求
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2022141774
(22)【出願日】2022-09-06
(71)【出願人】
【識別番号】000006633
【氏名又は名称】京セラ株式会社
(71)【出願人】
【識別番号】504143441
【氏名又は名称】国立大学法人 奈良先端科学技術大学院大学
(74)【代理人】
【識別番号】100147485
【弁理士】
【氏名又は名称】杉村 憲司
(74)【代理人】
【識別番号】230118913
【弁護士】
【氏名又は名称】杉村 光嗣
(74)【代理人】
【識別番号】100132045
【弁理士】
【氏名又は名称】坪内 伸
(74)【代理人】
【識別番号】100203264
【弁理士】
【氏名又は名称】塩川 未久
(72)【発明者】
【氏名】藤川 千恵
(72)【発明者】
【氏名】三島 寛之
(72)【発明者】
【氏名】黒木 俊宏
(72)【発明者】
【氏名】田島 英樹
(72)【発明者】
【氏名】佐藤 秀人
(72)【発明者】
【氏名】河野 嵩
(72)【発明者】
【氏名】榊原 有理
(72)【発明者】
【氏名】内山 英昭
【テーマコード(参考)】
5C086
5J084
5K127
5L096
【Fターム(参考)】
5C086AA46
5C086CA12
5C086CA28
5C086CB36
5C086DA08
5C086EA40
5C086EA45
5C086FA02
5C086FA06
5J084AA04
5J084AA05
5J084AA13
5J084AA14
5J084AB16
5J084AB20
5J084AC08
5J084AD01
5J084AD02
5J084AD03
5J084AD05
5J084BA34
5J084BA40
5J084BA50
5J084BB28
5J084CA26
5J084CA28
5J084CA34
5J084CA65
5J084CA67
5J084CA70
5J084EA04
5J084EA29
5K127BA03
5K127GD07
5K127JA06
5K127JA14
5K127JA15
5K127KA04
5L096AA09
5L096DA02
5L096FA66
5L096FA69
5L096GA38
(57)【要約】
【課題】段差の検出精度を向上させることができる。
【解決手段】電子機器は、測距センサを含む生成部と、制御部とを備える。測距センサは、空間に放射した電磁波の反射波によって、空間に存在する物体までの距離の情報を含むデプス画像を生成する。制御部は、デプス画像に含まれる距離の情報のうち、信頼性が所定の閾値より高い距離の情報に基づいて、段差を検出する第1検出処理を実行する。
【選択図】
図2
【特許請求の範囲】
【請求項1】
空間に放射した電磁波の反射波によって、前記空間に存在する物体までの距離の情報を含むデプス画像を生成する測距センサを含む生成部と、
前記デプス画像に含まれる前記距離の情報のうち、信頼性が所定の閾値より高い前記距離の情報に基づいて、段差を検出する第1検出処理を実行する制御部と、
を備える電子機器。
【請求項2】
前記生成部は、前記空間を撮像して撮像画像を生成するカメラを含み、
前記制御部は、
前記撮像画像に含まれる段差候補の所定距離内の地点までの距離に基づいて、段差を検出する第2検出処理を実行し、前記段差候補の所定距離内の地点までの距離は、前記デプス画像に基づいて取得される、請求項1に記載の電子機器。
【請求項3】
前記制御部は、前記第2検出処理において、前記撮像画像に複数の段差候補が含まれる場合、その延在方向が同じ方向である複数の段差候補を1つの段差候補として認識する、請求項2に記載の電子機器。
【請求項4】
前記制御部は、前記第2検出処理において、前記撮像画像に複数の前記段差候補が含まれる場合、前記複数の段差候補のうちで他の段差候補よりもその延在方向の長さが長い前記段差候補に基づいて前記段差を検出する、請求項2に記載の電子機器。
【請求項5】
前記制御部は、前記第2検出処理において、前記段差候補の延在方向に直交する方向の前記所定距離の地点までの距離に基づいて、前記段差を検出する、請求項3又は4に記載の電子機器。
【請求項6】
前記制御部は、前記第2検出処理において、前記段差候補を挟んで前記段差候補の延在方向に直交する方向の2つの地点である第1部分及び第2部分のそれぞれまでの距離の差分に基づいて、前記段差を検出する、請求項3又は4に記載の電子機器。
【請求項7】
前記制御部は、前記第2検出処理において、前記撮像画像に含まれる所定の物体、模様又は色彩の何れかに基づいて前記段差候補を検出する、請求項2に記載の電子機器。
【請求項8】
前記制御部は、前記第1検出処理の実行によって前記段差が検出されない場合、前記第2検出処理を実行する、請求項2に記載の電子機器。
【請求項9】
前記制御部は、前記第2検出処理において、駅のホーム端の画像と当該画像における段差の位置を教師データとして学習した認識器を用いて、前記段差候補を検出して検出する、請求項7に記載の電子機器。
【請求項10】
前記制御部は、前記第1検出処理において、駅のホーム端のデプス画像と当該デプス画像における段差の位置を教師データとして学習した認識器を用いて、前記段差を検出する、請求項1に記載の電子機器。
【請求項11】
空間に放射した電磁波の反射波によって、前記空間に存在する物体までの距離の情報を含むデプス画像を生成することと、
前記デプス画像に含まれる前記距離の情報のうち、信頼性が所定の閾値より高い前記距離の情報に基づいて、段差を検出する第1検出処理を実行することと、
を含む、段差検出方法。
【請求項12】
コンピュータに、
空間に放射した電磁波の反射波によって、前記空間に存在する物体までの距離の情報を含むデプス画像を生成することと、
前記デプス画像に含まれる前記距離の情報のうち、信頼性が所定の閾値より高い前記距離の情報に基づいて、段差を検出する第1検出処理を実行することと、
を含む動作を実行させる、プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、電子機器、段差検出方法及びプログラムに関する。
【背景技術】
【0002】
従来、ステレオカメラを用いて段差を検出する技術が知られている。例えば、特許文献1には、路面をステレオ撮影する少なくとも第1のカメラと第2のカメラと、高さ検出部とを備える路面段差検出装置が記載されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ステレオカメラを用いて段差を検出する従来の技術には、段差の検出精度に関し、改善の余地がある。例えば、ステレオカメラに含まれる複数のカメラの光軸が経年劣化又は衝撃等によりずれると、段差の検出誤差が大きくなる場合がある。また、カメラ画像を使用するため、特に明るさの変化等の環境変化の影響が大きいと、段差の検出誤差が大きくなる場合がある。
【0005】
かかる点に鑑みてなされた本開示の目的は、段差の検出精度を向上させることにある。
【課題を解決するための手段】
【0006】
本開示の一実施形態に係る電子機器は、
空間に放射した電磁波の反射波によって、前記空間に存在する物体までの距離の情報を含むデプス画像を生成する測距センサを含む生成部と、
前記デプス画像に含まれる前記距離の情報のうち、信頼性が所定の閾値より高い前記距離の情報に基づいて、段差を検出する第1検出処理を実行する制御部と、
を備える。
【0007】
本開示の一実施形態に係る段差検出方法は、
空間に放射した電磁波の反射波によって、前記空間に存在する物体までの距離の情報を含むデプス画像を生成することと、
前記デプス画像に含まれる前記距離の情報のうち、信頼性が所定の閾値より高い前記距離の情報に基づいて、段差を検出する第1検出処理を実行することと、
を含む。
【0008】
本開示の一実施形態に係るプログラムは、
コンピュータに、
空間に放射した電磁波の反射波によって、前記空間に存在する物体までの距離の情報を含むデプス画像を生成することと、
前記デプス画像に含まれる前記距離の情報のうち、信頼性が所定の閾値より高い前記距離の情報に基づいて、段差を検出する第1検出処理を実行することと、
を含む動作を実行させる。
【発明の効果】
【0009】
本開示の一実施形態によれば、段差の検出精度を向上させることができる。
【図面の簡単な説明】
【0010】
【
図1】本開示の一実施形態に係る検出システムの概略構成を示す図である。
【
図2】
図1に示す検出システムのブロック図である。
【
図9】本開示の一実施形態に係る危険予知処理の一例を示すフローチャートである。
【
図10】本開示の一実施形態に係る危険予知処理の一例を示すフローチャートである。
【
図11】本開示の一実施形態に係る段差のデータの取得処理の一例を示すフローチャートである。
【
図12】本開示の一実施形態に係る対象平面の検出処理の一例を示すフローチャートである。
【発明を実施するための形態】
【0011】
本開示において「水平方向」は、3次元実空間における水平方向を意味する。水平方向は、3次元実空間における水平面に含まれる任意の方向であってよい。水平面は、重力が働く方向に垂直な平面である。本開示において「鉛直方向」は、3次元実空間における鉛直方向を意味する。鉛直方向は、重力が働く方向である。鉛直方向は、水平方向に直交する。重力が働く方向は、慣性センサより取得可能である。
【0012】
以下、本開示に係る実施形態について、図面を参照して説明する。以下の実施形態では、本開示を適用して検出される段差は、駅のホーム端であるものとして説明する。駅のホーム端は、駅のホーム面に立っているユーザから見て、高い方から低い方への段差となる。ただし、本開示を適用して検出される段差は、後述するように、駅のホーム端に限定されない。
【0013】
図1に示すように、本実施形態に係る検出システム1は、電子機器10を含む。電子機器10は、ユーザによって所持される。
図1では、電子機器10を所持したユーザが、駅のホーム面に立っている。電子機器10は、例えば、スマートフォンである。ただし、電子機器10は、ユーザが所持可能な任意の機器であってよい。
【0014】
電子機器10は、危険予知処理を実行することができる。危険予知処理は、駅のホーム端を検出し、検出したホーム端とユーザとの間の距離が短い場合、ユーザに危険を報知する処理である。ユーザに危険を報知することにより、ユーザは、自身とホーム端との間の距離が短いことを知ることができる。このような構成により、ユーザは、駅のホームから落ちる危険性を察知することができる。
【0015】
(電子機器の構成)
図2に示すように、電子機器10は、生成部と、慣性センサ13と、測位部14と、通信部15と、入力部16と、出力部17と、振動部18と、記憶部19と、制御部20とを備える。生成部は、測距センサ11を含む。生成部は、測距センサ11に加えて、カメラ12を含んでよい。
【0016】
測距センサ11は、電磁波によって物体までの距離を計測可能である。本実施形態では
、測距センサ11は、LiDAR(Light Detection And Ranging)を含んで構成される。ただし、測距センサ11は、電磁波によって物体までの距離を計測可能な任意の要素を含んで構成されてよい。
【0017】
測距センサ11は、空間に電磁波を放射する。例えば、測距センサ11は、
図1に示すように電子機器10の背面に位置し、電子機器10の背面側の空間に電磁波を放射する。測距センサ11が放射した電磁波は、物体で反射されて反射波として測距センサ11まで返ってくる。測距センサ11は、放射した電磁波のうち、物体で反射されて返ってくる電磁波すなわち反射波を検出する。測距センサ11は、電磁波を放射してから放射した電磁波の反射波を検出するまでの時間を直接計測することにより、物体までの距離を計測する。つまり、測距センサ11は、dTоF(direct Time of Flight)方式によって物体までの距離を計測する。ただし、測距センサ11は、iTоF(indirect Time of Flight)方式等の他の方式によって物体までの距離を計測してもよい。
【0018】
測距センサ11は、電磁波によって空間を走査しつつ、電磁波の反射波を検出して複数の地点の距離の情報を点群情報として取得することにより、デプス画像を生成可能である。デプス画像が取得される実空間上の範囲は、カメラ12が撮像する実空間上の撮像範囲と一致してもよいし、又は、その一部が重複してもよい。デプス画像は、「深度画像」とも称される。デプス画像は、複数の画素を含む。デプス画像の各画素には、電子機器10から物体までの距離の情報が画素値として対応付けられる。電磁波によって空間を走査する走査方式は、例えば、メカニカル走査方式、MEMS(Micro Electro Mechanical Systems)方式、Solid-State方式、フェーズドアレイ方式、3D(Dimensional)フラッシュ方式又はToF方式等である。測距センサ11は、任意のフレームレートでデプス画像を生成してよい。測距センサ11は、カメラ12が撮像画像を生成するフレームレートに基づいて、任意のフレームレートでデプス画像を生成してよい。例えば、測距センサ11は、カメラ12と同じフレームレートで、デプス画像を生成してよい。
【0019】
測距センサ11は、電磁波によって空間を走査しつつ、放射した電磁波のうちの物体で反射されて返ってくる反射波のデータを検出していくことにより、反射強度マップのデータを生成可能である。測距センサ11は、デプス画像を生成するとともに、反射強度マップを生成してよい。反射強度マップは、複数の画素を含む。反射強度マップの各画素には、反射波の強度に対応する画素値が対応付けられる。
【0020】
デプス画像の生成においては、測距センサ11で取得される周囲の物体までの距離の情報(点群情報)のうち、測距の精度についての信頼性が高い情報を用いることにより、高精度なデプス画像を生成することができる。測距の精度についての信頼性は任意の方法で求めてよく、信頼性が所定以上の情報を信頼性が高い情報とすることができる。一例として、測距センサ11は、取得した反射強度データに基づいて、信頼性が低いと判定される物体までの距離の情報を補正、又は削除して得たデータによって、デプス画像を生成してよい。この場合、例えば、測距センサ11は、前フレームのデプス画像に対応する反射強度マップのデータを用いて、同じ空間位置で取得された反射強度の反射強度分布の時系列データを取得する。測距センサ11は、この反射強度の反射強度分布の時系列データから生成した時系列フィルタを用いて、特定の画素についての画素値を修正してよい。また、測距センサ11は、特定の画素の周辺の画素に対応する地点の反射強度分布から空間フィルタを生成し、特定の画素についての画素値を修正してよい。測距センサ11は、時系列フィルタと空間フィルタを組合せて、ノイズ除去を行い、信頼性が高い距離の情報を取得してよい。
【0021】
デプス画像は、任意の方法で生成されてよい。例えば、電子機器10に搭載される測距センサ11とカメラ12との相対的な位置関係が既知である場合、後述の制御部20は、
測距センサ11が取得した3次元の点群情報を、カメラ12が生成した撮像画像に投影してもよい。制御部20は、3次元の点群情報を撮像画像に投影し、これらにおいて位置合わせを行うことにより、高解像なデプス画像を生成することができる。近赤外線レーザと、近赤外光と可視光を同時に取得可能な撮影装置を用いれば、高解像なデプス画像を生成することもできる。高解像度の3次元の点群情報を取得できれば、より高精度なデプス画像を生成することができる。
【0022】
カメラ12は、空間を撮像して撮像画像を生成可能である。例えば、カメラ12は、
図1に示すように電子機器10の背面に位置し、電子機器10の背面側の空間を撮像して撮像画像を生成する。カメラ12は、例えば、単眼カメラを含んで構成される。単眼カメラは、例えば、可視光カメラである。カメラ12は、任意のフレームレートで撮像画像を生成してよい。
【0023】
慣性センサ13は、互いに直交する3軸方向における加速度及び角速度を検出可能である。慣性センサ13は、加速度センサ及びジャイロセンサ等を含んで構成される。慣性センサ13は、IMU(Inertial Measurement Unit)であってもよい。
【0024】
測位部14は、電子機器10の位置情報を取得可能である。測位部14は、衛星測位システムに対応する少なくとも1つの受信モジュールを含んで構成される。受信モジュールは、例えば、GPS(Global Positioning System)に対応した受信モジュールである。ただし、受信モジュールは、これに限定されない。受信モジュールは、任意の衛星測位システムに対応した受信モジュールであってよい。
【0025】
通信部15は、ネットワークに接続可能な少なくとも1つの通信モジュールを含んで構成される。通信モジュールは、例えば、LTE(Long Term Evolution)、4G(4th Generation)又は5G(5th Generation)等の移動体通信規格に対応した通信モジュールである。ただし、通信モジュールは、これに限定されない。通信モジュールは、任意の通信規格に対応してよい。
【0026】
入力部16は、ユーザからの入力を受け付け可能である。入力部16は、ユーザからの入力を受け付け可能な少なくとも1つの入力用インタフェースを含んで構成される。入力用インタフェースは、例えば、物理キー、静電容量キー、ポインティングデバイス、ディスプレイと一体的に設けられたタッチスクリーン又はマイク等である。ただし、入力用インタフェースは、これに限定されない。
【0027】
出力部17は、データを出力可能である。出力部17は、データを出力可能な少なくとも1つの出力用インタフェースを含んで構成される。出力用インタフェースは、例えば、ディスプレイ又はスピーカ等である。ディスプレイは、例えば、LCD(Liquid Crystal
Display)又は有機EL(Electro Luminescence)ディスプレイ等である。ただし、出力用インタフェースは、これに限定されない。
【0028】
振動部18は、電子機器10を振動可能である。振動部18は、振動素子を含んで構成される。振動素子は、例えば、圧電素子等である。
【0029】
記憶部19は、少なくとも1つの半導体メモリ、少なくとも1つの磁気メモリ、少なくとも1つの光メモリ又はこれらのうちの少なくとも2種類の組み合わせを含んで構成される。半導体メモリは、例えば、RAM(Random Access Memory)又はROM(Read Only Memory)等である。RAMは、例えば、SRAM(Static Random Access Memory)又はDRAM(Dynamic Random Access Memory)等である。ROMは、例えば、EEPROM(Electrically erasable programmable read only memory)等である。記憶部19は、主
記憶装置、補助記憶装置又はキャッシュメモリとして機能してよい。記憶部19には、電子機器10の動作に用いられるデータと、電子機器10の動作によって得られたデータとが記憶される。
【0030】
記憶部19には、例えば、第1座標系から第2座標系へ変換するためのプログラムが記憶されてよい。第1座標系は、デプス画像に定めされる2次元座標系である。第2座標系は、撮像画像に定めされる2次元座標系である。
【0031】
記憶部19には、測距センサ11又はカメラ12の画角等のセンサスペックに関するデータが記憶されてよい。記憶部19には、測距センサ11、カメラ12及び慣性センサ13等の電子機器10への搭載位置の情報が記憶されてよい。記憶部19には、測距センサ11、カメラ12及び慣性センサ13から取得されるデータを処理するためのプログラム、並びに、周囲の環境地図データ等が記憶されてよい。
【0032】
制御部20は、少なくとも1つのプロセッサ、少なくとも1つの専用回路又はこれらの組み合わせを含んで構成される。プロセッサは、例えば、CPU(Central Processing Unit)若しくはGPU(Graphics Processing Unit)等の汎用プロセッサ又は特定の処理に特化した専用プロセッサである。専用回路は、例えば、FPGA(Field-Programmable
Gate Array)又はASIC(Application Specific Integrated Circuit)等である。制御部20は、電子機器10の各部を制御しながら、電子機器10の動作に関わる処理を実行する。
【0033】
制御部20は、記憶部19に記憶されたプログラムによって、以下の処理を実行可能であってよい。
【0034】
制御部20は、危険予知処理の実行開始を指示する入力を、入力部16によって受け付け得る。この入力は、例えば、ユーザが駅に着いたときに、ユーザによって入力部16から入力される。制御部20は、この入力を受け付けると、危険予知処理の実行を開始する。ただし、制御部20は、任意の方法に基づいて、危険予知処理の実行を開始してよい。一例として、制御部20は、測位部14によって取得した電子機器10の位置情報と、記憶部19に記憶された地図データとを比較することにより、ユーザが駅に着いたか否かを判定してもよい。この場合、制御部20は、ユーザが駅に着いたと判定した場合、危険予知処理の実行を開始してもよい。
【0035】
<平面検出処理>
制御部20は、危険予知処理の実行開始をすると、ユーザの周囲から平面を検出する平面検出処理を実行する。制御部20は、カメラ12から撮像画像を取得し、取得した撮像画像に含まれる特徴量に基づいて、平面検出処理を実行してもよい。制御部20は、測距センサ11から点群情報を取得し、取得した点群情報に基づいて、平面検出処理を実行してもよい。平面検出処理は、撮像画像又は/及び点群情報に基づいて、Deep Learning等の機械学習又はRANSACアルゴリズム等によって実行されてもよい。制御部20は、カメラ12と測距センサ11のフュージョンによる距離情報を有する撮像画像に基づいて、Deep Learning等の機械学習によって、平面検出処理を実行してもよい。
【0036】
制御部20は、平面検出処理によって平面が検出されると、
図3に示すような鉛直距離d1のデータを測距センサ11によって取得する。鉛直距離d1は、鉛直方向における電子機器10からホーム面等の平面までの距離である。制御部20は、鉛直距離d1が設定範囲内であるか否かを判定する。
【0037】
設定範囲は、ユーザが電子機器10を所持して路面に立っているときの、鉛直方向における電子機器10から平面までの距離の範囲を想定して設定されてよい。一例として、設定範囲は、ユーザの身長に基づいて設定されてよい。この場合、制御部20は、入力部16からユーザの身長のデータを予め受け付けておいてよい。設定範囲は、ユーザの身長の所定割合から所定値を減算した値から、ユーザの身長の所定割合に所定値を加算した値までの範囲であってよい。所定割合は、ユーザが電子機器10を所持して平面に立っているときの、ユーザの身長に対する鉛直方向における電子機器10から平面までの距離の割合を考慮し、設定されてよい。所定値は、個人差又は誤差の範囲を考慮して設定されてよい。例えば、所定割合を80[%]とし、所定値を10[cm]とする場合、所定範囲は、{ユーザの身長[cm]×80[%]-10[cm]}から{ユーザの身長[cm]×80[%]+10[cm]}までの範囲である。他の例として、設定範囲は、人の平均身長に基づいて設定されてもよい。例えば、設定範囲は、77[cm]から152[cm]までの範囲である。
【0038】
制御部20は、鉛直距離d1が設定範囲内であると判定した場合、平面検出処理によって検出した平面のうちから対象平面を決定する対象平面の決定処理を開始する。対象平面は、段差を検出する対象となる平面である。鉛直距離d1が設定範囲内である場合、ユーザが電子機器10を所持して駅のホーム面に立っている可能性が高い。そのため、鉛直距離d1が設定範囲内であると判定した場合に対象平面の決定処理を開始することにより、ホーム面が対象平面に決定される可能性を高めることができる。ホーム面が対象平面に決定される可能性を高めることにより、ホーム端が段差として対象平面によって検出される可能性を高めることができる。
【0039】
<対象平面の決定処理>
制御部20は、上述した平面検出処理によって第1対象範囲内から平面が検出されたか否かを判定する。第1対象範囲は、
図3に示すような水平方向における電子機器10の位置から第1距離D1までの範囲である。第1距離D1は、測距センサ11が検出可能な距離の範囲内で設定されてよい。例えば、第1距離D1は、0[m]から3[m]までの範囲内で決定されてよい。制御部20は、第1対象範囲内から平面が検出されたと判定した場合、
図3に示すような水平方向において電子機器10の位置を含む平面が検出されたか否かを判定する。
図3に示すような平面30は、水平方向において電子機器10の位置を含む。
図3では、制御部20は、水平方向において電子機器10の位置を含む平面30が検出されたと判定する。
【0040】
制御部20は、
図3に示すように平面検出処理によって水平方向において電子機器10の位置を含む平面が1つ検出された場合、検出された平面を対象平面に決定する。例えば
図3の場合、制御部20は、平面30を対象平面に決定する。
【0041】
制御部20は、
図4に示すように平面検出処理によって水平方向において電子機器10の位置を含む平面が複数検出された場合、検出された複数の平面において電子機器10の位置に近い平面を優先的に対象平面に決定する。本実施形態では、制御部20は、検出された複数の平面のうちで電子機器10の位置に最も近い平面を対象平面に決定する。制御部20は、検出した複数の平面のそれぞれの中心のうち、その中心が電子機器10の位置に最も近い平面を対象平面に決定してもよい。例えば、
図4に示すように、複数の平面が検出されている場合、制御部20は、平面30,31,32のうち、電子機器10の位置に最も近い、平面30を対象平面に決定する。
【0042】
制御部20は、第1対象範囲内から平面が検出されない場合又は水平方向において電子機器10の位置を含む平面が検出されない場合、測距センサ11から取得するデプス画像によって、第2対象範囲内から平面を検出する平面検出処理を実行する。第2対象範囲は
、
図5に示すような水平方向における、電子機器10の位置から第2距離D2までの範囲である。第2距離D2は、
図3に示すような第1距離D1よりも長い。第2距離D2は、測距センサ11の検出精度に基づいて設定されてよい。第2距離D2は、例えば、0[m]から3[m]までの範囲内で決定されてよい。
【0043】
制御部20は、
図5に示すように平面検出処理によって第2対象範囲内から平面が1つ検出された場合、検出された平面を対象平面に決定する。
図5では、制御部20は、第2対象範囲内から平面33を1つ検出する。制御部20は、平面33を対象平面に決定する。
【0044】
制御部20は、
図6に示すように平面検出処理によって第2対象範囲内から平面が複数検出された場合、検出された複数の平面において電子機器10の位置に近い平面を優先的に対象平面に決定する。本実施形態では、制御部20は、検出された複数の平面のうち電子機器10の位置に最も近い平面を対象平面に決定する。制御部20は、検出した複数の平面のそれぞれに含まれる頂点のうち、電子機器10の位置に最も近い頂点を含む平面を対象平面に決定してよい。
図6では、制御部20は、第2対象範囲から平面33,34,35を検出する。平面33の頂点33P、平面34の頂点34P及び平面35の頂点35Pのうち、頂点33Pが電子機器10の位置に最も近い。制御部20は、平面33を対象平面に決定する。
【0045】
<段差の第1検出処理>
制御部20は、測距センサ11から、デプス画像のデータを取得する。制御部20は、デプス画像に含まれる距離の情報のうち、信頼性が所定の閾値より高い距離の情報に基づいて、段差を検出する第1検出処理を実行する。本実施形態では、制御部20は、デプス画像と対象平面とによって、第1検出処理を実行する。
【0046】
まず、制御部20は、対象平面から、段差の候補となる段差候補を検出する。一例として、制御部20は、デプス画像に対して平滑化処理を実行し、Canny法によるエッジ抽出の処理を実行した後、段差候補の線分を検出するためのハフ変換処理を実行することにより、段差候補を検出する。ただし、段差候補を検出する方法は、これに限定されない。他の例として、制御部20は、駅のホーム端のデプス画像におけるデプス分布と当該デプス画像における段差の位置を教師データとして学習した認識器を用いて、段差候補を検出してもよい。さらに他の例として、制御部20は、デプス画像から駅のホーム面に設けられる滑り止め用のゴムの位置を検出し、検出した滑り止め用のゴムの位置に基づいて段差候補を検出してもよい。滑り止め用のゴムが駅のホーム端の近傍に設けれることにより、滑り止め用のゴムの位置から、段差候補を検出することができる。
【0047】
<<段差の決定処理>>
制御部20は、段差候補を検出すると、検出した段差候補のうちから、段差を決定する段差の決定処理を実行する。この段差の決定処理は、段差の第1検出処理に含まれてもよいし、段差の第2検出処理に含まれてもよい。
【0048】
制御部20は、段差候補から所定距離内の、段差候補の周辺部分の3次元実空間上の距離のデータを測距センサ11によって取得する。制御部20は、例えば、段差候補の周辺部分として段差候補の両側部分の3次元実空間上の距離のデータを測距センサ11によって取得してよい。制御部20は、段差候補の両側部分の距離のデータを、取得済みのデプス画像によって取得してもよいし、測距センサ11によって新たに取得してもよい。段差候補の両側部分は、段差候補の外側の部分である。段差候補の両側部分は、電子機器10から見て、段差候補よりも奥行側の部分と、段差候補よりも手前側の部分とを含む。段差候補の両側部分は、第1部分及び第2部分を含んでよい。第1部分及び第2部分は、段差
候補が延在する延在方向に直交する方向において、段差候補を挟んで位置する。第1部分及び第2部分は、段差候補が延在する延在方向に直交する方向において、互いに対向してよい。第1部分及び第2部分は、それぞれ、段差候補が延在する延在方向に直交する方向に沿って、段差候補から所定距離離れて位置する。所定距離は、撮像画像の解像度等に基づいて設定されてよい。所定距離離れた位置は、例えば、3次元実空間上の10[cm]に対応する距離離れた位置であってよい。所定距離離れた位置は、例えばデプス画像において5~10画素離れた位置であってよい。
【0049】
例えば、
図7では、制御部20は、段差候補62の両側部分として、第1部分62P11及び第2部分62P21の3次元実空間上の距離のデータを測距センサ11によって取得する。段差候補62は、駅のホーム面に設けられる滑り止め用のゴムに対応する。第1部分62P11及び第2部分62P21は、段差候補62の延在方向に直交する方向において、段差候補62を挟んで位置する。また、制御部20は、段差候補63の両側部分として、第1部分63P11及び第2部分63P21の3次元実空間上の距離のデータを測距センサ11によって取得する。段差候補63は、駅のホーム端に対応する。第1部分63P11及び第2部分63P21は、段差候補63の延在方向に直交する方向において、段差候補63を挟んで位置する。
【0050】
ここで、制御部20は、複数の段差候補を検出する場合がある。この場合、制御部24は、複数の段差候補を1つの段差候補として認識してよい。制御部24は、1つの段差候補として認識した段差候補の第1部分及び第2部分の距離のデータを取得してよい。
【0051】
また、制御部20は、複数の段差候補を検出した場合、複数の段差候補のうちで同じ線上にあるものについては、複数の段差候補のそれぞれの線分の長さを比較した結果に基づいて、第1部分及び第2部分の距離のデータを取得する段差候補を決定してよい。例えば、制御部24は、同じ線上にある複数の段差候補のうちで、その線分の長さが他の段差候補の線分よりも長い段差候補を、第1部分及び第2部分の距離のデータを取得する段差候補に決定してよい。
【0052】
図8に示すように、段差候補62がホーム面に設けられる滑り止め用のゴムに対応することにより、電子機器10から第1位置62p11までの距離と電子機器10から第2位置62p21までの距離とは同程度になる。第1位置62p11は、
図7に示すような撮像画像60の第1部分62P11の3次元空間上の位置である。第2位置62p21は、
図7に示すような撮像画像60の第2部分62P21の3次元空間上の位置である。
図8に示すように、段差候補63がホーム端に対応することにより、電子機器10から第1位置63p11までの距離と電子機器10から第2位置63p21までの距離との差分は、段差候補62と比較して、大きくなる。第1位置63p11は、
図7に示すような撮像画像60の第1部分63P11の3次元空間上の位置である。第2位置63p21は、
図7に示すような撮像画像60の第2部分63P21の3次元空間上の位置である。
【0053】
そこで、制御部20は、段差候補の両側部分の距離の差分が第1距離閾値を超えるか否かを判定する。制御部20は、段差候補の両側部分の距離の差分が第1距離閾値を超えると判定した場合、その段差候補を段差として検出する。第1距離閾値は、段差の3次元実空間における高さに基づいて設定されてよい。例えば、第1距離閾値は、線路面からホーム面までの高さに基づいて設定されてよい。制御部20は、段差候補の両側部分のうちの一方の距離が所定値を超えると判定した場合、その段差候補を段差として検出してもよい。所定値は、例えば、段差候補の両側部分が段差ではないと仮定した場合の電子機器10から段差候補を介した線路面までの距離である。例えば、段差候補63の場合、所定値は、
図8に示すような電子機器10から段差候補63を介した線路面までの距離Aとなる。所定値は、電子機器10から線路面までの段差候補を通る直線の長さであってもよい。
【0054】
例えば、
図7では、段差候補62について、制御部20は、段差候補62の両側部分すなわち第1部分62P11及び第2部分62P21の距離の差分が第1距離閾値以下であると判定する。制御部20は、段差候補62を段差として検出しない。段差候補63について、制御部20は、段差候補63の両側部分すなわち第1部分63P11及び第2部分63P21の距離の差分が第1距離閾値を超えると判定する。制御部20は、段差候補63を段差として検出する。
【0055】
このように段差候補の両側部分の距離の差分が第1距離閾値を超える場合にその段差候補を段差として検出することにより、段差の位置の検出精度を向上させることができる。
【0056】
ここで、制御部20は、段差候補について、2組の第1部分及び第2部分の3次元実空間上の距離のデータを測距センサ11によって取得してもよい。制御部20は、2組の第1部分及び第2部分の距離のデータを取得することにより、2つの第1部分の距離のデータと、2つの第2部分の距離のデータとを取得することができる。制御部20は、2つの第1部分の距離のデータによって、2つの第1部分が3次元実空間において同じ平面に位置するか否かを判定してよい。また、制御部20は、2つの第2部分の距離のデータによって、2つの第2部分が同じ平面に位置するか否かを判定してよい。制御部20は、2つの第1部分が3次元実空間上の同じ平面に位置すると判定し、さらに2つの第2部分が3次元実空間上の同じ平面に位置すると判定した場合、上述したように段差候補の両側部分の距離の差分が第1距離閾値を超えるか否かを判定してよい。制御部20は、2組の第1部分及び第2部分のうちの何れか一方によって、段差候補の両側部分の距離の差分が第1距離閾値を超えるか否かを判定してよい。
【0057】
例えば、
図7に示すような段差候補62において、2組の第1部分及び第2部分は、第1部分62P11及び第2部分62P21の組と、第1部分62P12及び第2部分P62の組とである。制御部20は、第1部分62P11及び第2部分62P21の距離のデータと、第1部分62P12及び第2部分P62の距離のデータとを測距センサ11によって取得する。制御部20は、第1部分62P11と第1部分62P12とが3次元実空間上の同じ平面に位置するか否かを判定する。また、制御部20は、第2部分62P21と第2部分62P22とが3次元実空間上の同じ平面に位置するか否かを判定する。
【0058】
例えば、
図7に示すような段差候補63において、2組の第1部分及び第2部分は、第1部分63P11及び第2部分63P21の組と、第1部分63P12及び第2部分P63P22の組とである。制御部20は、第1部分63P11及び第2部分63P21の距離のデータと、第1部分63P12及び第2部分P63の距離のデータとを測距センサ11によって取得する。制御部20は、第1部分63P11と第1部分63P12とが3次元実空間上の同じ平面に位置するか否かを判定する。また、制御部20は、第2部分63P21と第2部分63P22とが3次元実空間上の同じ平面に位置するか否かを判定する。
【0059】
制御部20は、上述したような、2つの第1部分が3次元実空間上の同じ平面に位置するか否かを判定する判定処理と、2つの第2部分が3次元実空間上の同じ平面に位置するか否かを判定する判定処理とのうちの、何れか一方の判定処理のみを実行してもよい。この場合、制御部20は、2つの第1部分が3次元実空間上の同じ平面に位置すると判定した場合又は2つの第2部分が3次元実空間上の同じ平面に位置すると判定した場合、段差候補の両側部分の距離の差分が第1距離閾値を超えるか否かを判定してよい。
【0060】
<段差の3次元座標データへの第1変換処理>
制御部20は、第1検出処理によって段差を検出すると、段差の第1座標系の2次元座
標のデータを取得する。第1座標系は、上述したように、デプス画像に対して定めされる2次元座標系である。制御部20は、デプス画像から段差として検出した画素の第1座標系の2次元座標のデータを、段差の第1座標系の2次元座標のデータとして取得する。
【0061】
制御部20は、段差の第1座標系の2次元座標のデータを、ローカル座標系の3次元座標のデータに変換する第1変換処理を実行する。ローカル座標系は、電子機器10の位置を基準とする3次元座標系である。一例として、制御部20は、対象平面に対して段差の第1座標系の2次元座標のデータをレイキャスティング法を用いて投影することにより、段差の対象平面上の3次元座標データを取得する。制御部20は、段差の対象平面上の3次元座標データをローカル座標系の3次元座標のデータとして取得する。
【0062】
<段差の第2検出処理>
制御部20は、カメラ12から、撮像画像のデータを取得する。制御部20は、撮像画像によって段差を検出する第2検出処理を実行する。制御部20は、第1検出処理の実行によって段差が検出されない場合、第2検出処理を実行してもよい。
【0063】
まず、制御部20は、段差の候補となる段差候補を検出する。一例として、制御部20は、撮像画像に対して平滑化処理を実行し、Canny法によるエッジ抽出の処理を実行した後、段差候補の線分を検出するためのハフ変換処理を実行し、段差候補を検出する。ただし、段差候補を検出する方法は、これに限定されない。さらに他の例として、制御部20は、CPライン等の所定の物体、模様又は色彩の何れかに基づいて、段差候補を検出してもよい。制御部20は、駅のホーム端の画像と当該画像における段差の位置を教師データとして学習した認識器を用いて段差候補を検出してもよい。
【0064】
例えば、制御部20は、
図7に示すような撮像画像60のデータを取得する。撮像画像60の領域61は、駅のホーム面に対応する領域である。制御部20は、撮像画像60によって段差候補62,63を検出する。
【0065】
制御部20は、段差候補を検出すると、上述した段差候補のうちから段差を決定する段差の決定処理を実行する。
【0066】
<段差の3次元座標データへの第2変換処理>
制御部20は、第2検出処理によって段差を検出すると、段差の第2座標系の2次元座標のデータを取得する。第2座標系は、上述したように、撮像画像に対して定めされる2次元座標系である。制御部20は、撮像画像から段差として検出した画素の第2座標系の2次元座標のデータを、段差の第2座標系の2次元座標のデータとして取得する。例えば、
図7では、制御部20は、段差として検出した段差候補63を構成する複数の画素のそれぞれの第2座標系の2次元座標のデータを、段差の第2座標系の2次元座標のデータとして取得する。
【0067】
制御部20は、段差の第2座標系の2次元座標のデータを、ローカル座標系の3次元座標のデータに変換する第2変換処理を実行する。一例として、制御部20は、対象平面に対して段差の第2座標系の2次元座標のデータをレイキャスティング法を用いて投影することにより、段差の対象平面上の3次元座標データを取得する。制御部20は、段差の対象平面上の3次元座標データを、段差のローカル座標系の3次元座標のデータとして取得する。
【0068】
<危険報知処理>
制御部20は、電子機器10のグローバル座標系の3次元座標のデータを取得する。グローバル座標系は、3次元実空間における所定位置を基準とする3次元座標系である。
【0069】
一例として、制御部20は、SLAM(Simultaneous Localization and Mapping)を実行することにより、自己位置推定の処理を実行し、電子機器10のグローバル座標系の3次元座標を取得してよい。制御部20は、カメラ12から取得する撮像画像のデータと、慣性センサ13から取得する加速度及び角速度のデータとによって、SLAMを実行してよい。SLAMを実行することにより、制御部20は、リアルタイム性の高い電子機器10のグローバル座標系の3次元座標を取得することができる。また、SLAMを実行することにより、制御部20は、ユーザが屋内にいるときでも、ユーザの3次元座標を取得することができる。制御部20は、自己位置推定処理として、VIO(Visual inertial Odometry)を実行してもよい。
【0070】
制御部20は、電子機器10のグローバル座標系の3次元座標のデータによって、電子機器10のローカル座標系の3次元座標のデータを取得する。例えば、制御部20は、自己位置推定処理で取得したグローバル座標系の3次元座標のデータをレイキャスト法で対象平面上に投影することにより、電子機器10のローカル座標系の3次元座標のデータを取得してよい。
【0071】
制御部20は、取得した電子機器10のローカル座標系の3次元座標のデータと、段差のローカル座標系の3次元座標のデータとによって、電子機器10から段差までの距離を算出する。制御部20は、水平方向における電子機器10から段差までの距離を算出してもよい。段差のローカル座標系の3次元座標のデータは、上述したように、第1変換処理又は第2変換処理によって取得されたデータであってよい。制御部20は、電子機器10のローカル座標系の3次元座標のデータと段差のローカル座標系の3次元座標のデータとの間で時刻同期処理を実行した後、電子機器10から段差までの距離を算出してもよい。
【0072】
制御部20は、電子機器10から段差までの距離を算出すると、算出した距離が第2距離閾値を超えるか否かを判定する。第2距離閾値は、ユーザが駅のホームから落ちる可能性が高いユーザとホーム端との間の距離を考慮して設定されてよい。第2距離閾値は、ユーザによって任意の値に設定されてよい。第2距離閾値は、ユーザの移動速度に応じて、可変に設定されてよい。
【0073】
制御部20は、電子機器10から段差までの距離が第2距離閾値を超えると判定した場合、ユーザに危険を報知する。報知として、制御部20は、アラーム音を出力部17のスピーカに出力させてもよいし、危険を示すメッセージを出力部17のスピーカに出力させてもよい。危険を示すメッセージは、例えば、「ホーム端に接近しています」といったメッセージである。制御部20は、段差のローカル座標系の3次元座標及び電子機器10のグローバル座標系の3次元座標のデータによって、ユーザから見た段差が位置する方向を検出してもよい。この場合、制御部20は、検出した段差が位置する方向を音声として出力部17のスピーカに出力させてもよい。報知として、制御部20は、振動部18を振動させてもよい。ユーザに危険を報知することにより、ユーザは、自身とホーム端との間の距離が短いことを知ることができる。このような構成により、ユーザは、駅のホームから落ちる危険性を察知することができる。
【0074】
(電子機器の動作)
図9及び
図10は、本開示の一実施形態に係る危険予知処理の一例を示すフローチャートである。例えば、制御部20は、危険予知処理の実行開始を指示する入力を入力部16によって受け付けると、
図9に示すようなステップS1の処理を開始する。
【0075】
制御部20は、ユーザの周囲から平面を検出する平面検出処理を実行する(ステップS1)。ステップS1の処理では、制御部20は、測距センサ11から、デプス画像のデー
タを取得する。
【0076】
制御部20は、ステップS1の処理で検出した平面のうちから対象平面を決定する対象平面の決定処理を実行する(ステップS2)。
【0077】
制御部20は、ステップS2の処理で決定した対象平面と、ステップS1の処理で取得したデプス画像のデータとによって、段差候補を検出する(ステップS3)。
【0078】
制御部20は、ステップS3の処理で検出した段差候補から、段差を決定する段差の決定処理を実行する(ステップS4)。ステップS4の処理は、後述の
図11に示すようなステップS23,24,S25の処理を含んでよい。
【0079】
ステップS5の処理では、制御部20は、ステップS3の処理で検出した段差の第1座標系の2次元座標のデータを取得する。制御部20は、段差の第1座標系の2次元座標をローカル座標系の3次元座標に変換する第1変換処理を実行する(ステップS5)。
【0080】
制御部20は、ステップS5の処理の実行後、
図10に示すようなステップS6の処理に進む。
【0081】
ステップS6の処理では、制御部20は、SLAMを実行することにより、自己位置推定の処理を実行する。制御部20は、自己位置推定の処理を実行することにより、電子機器10のグローバル座標系の3次元座標を取得する。さらに、制御部20は、自己位置推定処理で取得したグローバル座標系の3次元座標データをレイキャスト法で対象平面上に投影することにより、電子機器10のローカル座標の3次元座標のデータを取得する。
【0082】
制御部20は、ステップS6の処理で取得した電子機器10のローカル座標系の3次元座標のデータと、ステップS5の処理で取得した段差のローカル座標系の3次元座標のデータとの間で時刻同期処理を実行する(ステップS7)。
【0083】
制御部20は、電子機器10のローカル座標系の3次元座標と、段差のローカル座標系の3次元座標とによって、電子機器10から段差までの距離を算出する(ステップS8)。
【0084】
制御部20は、ステップS8の処理で算出した距離が第2距離閾値を超えるか否かを判定する(ステップS9)。制御部20は、算出した距離が第2距離閾値を超えると判定した場合(ステップS9:YES)、ステップS10の処理に進む。ステップS10の処理では、制御部20は、ユーザに危険を報知する。制御部20は、算出した距離が第2距離閾値以下であると判定した場合(ステップS9:NO)、ステップS1の処理に戻る。
【0085】
制御部20は、ステップS10の処理の実行後、危険予知処理を終了する。ただし、制御部20は、危険予知処理の実行終了を指示する入力を入力部16によって受け付けるまで、危険予知処理を繰り返し実行してもよい。
【0086】
図11は、本開示の一実施形態に係る段差のデータの取得処理の一例を示すフローチャートである。例えば、制御部20は、危険予知処理の実行開始を指示する入力を入力部16によって受け付けると、
図11に示すようなステップS21の処理を開始してよい。例えば、制御部20は、
図9に示すようなステップS3,S4の処理で段差を検出できない場合、
図11に示すようなステップS21の処理を開始してよい。制御部20は、
図9に示すようなステップS1~S5の処理と並行して
図11に示すような段差のデータの取得処理を実行してよい。
【0087】
制御部20は、カメラ12から、撮像画像のデータを取得する(ステップS21)。
【0088】
制御部20は、ステップS21の処理で取得した撮像画像によって段差候補を検出する(ステップS22)。
【0089】
ステップS23の処理では、制御部20は、段差候補の両側部分の3次元実空間上の距離のデータを測距センサ11によって取得する。ステップS22の処理で複数の段差候補が検出された場合、制御部20は、複数の段差候補のうちの何れかの段差候補の両側部分の距離のデータを取得する。
【0090】
ステップS24の処理では、制御部20は、ステップS23の処理で取得した段差候補の両側部分の距離の差分が第1距離閾値を超えるか否かを判定する。
【0091】
制御部20は、ステップS23の処理で取得した段差候補の両側部分の距離の差分が第1距離閾値を超えると判定した場合(ステップS24:YES)、その段差候補を段差として検出する(ステップS25)。
【0092】
制御部20は、ステップS23の処理で取得した段差候補の両側部分の距離の差分が第1距離閾値以下であると判定した場合(ステップS24:NO)、ステップS23の処理に戻る。再度実行するステップS23の処理では、制御部20は、ステップS22の処理で検出された複数の段差候補のうち、両側部分の距離のデータが取得済みではない段差候補を特定する。制御部20は、特定した段差候補の両側部分の距離のデータを測距センサ11によって取得し、段差候補の両側部分の距離の差分が第1距離閾値を超えるか否かを判定する。ここで、ステップS22の処理で検出した全ての段差候補の両側部分の距離のデータが取得済みである場合、制御部20は、ステップS23の処理に戻らず、ステップS26の処理に進んでよい。
【0093】
ステップS26の処理では、制御部20は、ステップS25の処理で検出した段差の第2座標系の2次元座標のデータを取得する。制御部20は、取得した段差の第2座標系の2次元座標のデータを、ローカル座標系の3次元座標に変換する第2変換処理を実行する。
【0094】
ここで、制御部20は、ステップS22の処理において複数の段差候補を検出した場合、その延在方向が同じ方向である複数の段差候補を1つの段差候補として認識してよい。この場合、ステップS23の処理では、制御部24は、1つの段差候補として認識した段差候補の両側部分の3次元実空間上の距離のデータを測距センサ11等によって取得する。
【0095】
また、制御部20は、ステップS22の処理において複数の段差候補を検出した場合、複数の段差候補の延在方向の長さを比較した結果に基づいて、ステップS23の処理で両側部分の距離のデータを取得する段差候補を決定してよい。例えば、制御部24は、複数の段差候補のうちで、その延在方向の長さが他の段差候補よりも長い段差候補を、ステップS23の処理で両側部分の距離のデータを取得する段差候補を決定してよい。
【0096】
図12は、本開示の一実施形態に係る対象平面の検出処理の一例を示すフローチャートである。制御部20は、
図9に示すようなステップS2の処理として
図12に示すような対象平面の検出処理を実行してよい。この場合、制御部20は、
図9に示すようなステップS1の処理の実行後、ステップS31の処理を開始する。
【0097】
制御部20は、
図3に示すような鉛直距離d1を取得する。制御部20は、鉛直距離d1が設定範囲内であるか否かを判定する(ステップS31)。制御部20は、鉛直距離d1が設定範囲内であると判定した場合(ステップS31:YES)、ステップS32の処理に進む。制御部20は、鉛直距離d1が設定範囲外であると判定した場合(ステップS31:NO)、ステップS1の処理に戻る。
【0098】
ステップS32の処理では、制御部20は、ステップS1の処理すなわち平面検出処理によって第1対象範囲内から平面が検出されたか否かを判定する。
【0099】
制御部20は、第1対象範囲内から平面が検出されたと判定した場合(ステップS32:YES)、ステップS33の処理に進む。制御部20は、第1対象範囲内から平面が検出されたと判定しない場合(ステップS32:NO)、ステップS37の処理に進む。
【0100】
ステップS33の処理では、制御部20は、ステップS1の処理すなわち平面検出処理によって
図3に示すような水平方向において電子機器10の位置を含む平面が検出されたか否かを判定する。制御部20は、電子機器10の位置を含む平面が検出されたと判定した場合(ステップS33:YES)、ステップS34の処理に進む。制御部20は、電子機器10の位置を含む平面が検出されたと判定しない場合(ステップS33:NO)、ステップS37の処理に進む。
【0101】
ステップS34の処理では、制御部20は、ステップS1の処理すなわち平面検出処理によって水平方向において電子機器10の位置を含む平面が複数検出されたか否かを判定する。制御部20は、当該平面が複数検出されたと判定しない場合すなわち当該平面が1つ検出されたと判定した場合(ステップS34:NO)、ステップS35の処理に進む。制御部20は、当該平面が複数検出されたと判定した場合(ステップS34:YES)、ステップS36の処理に進む。
【0102】
ステップS35の処理では、制御部20は、
図3に示すような水平方向において電子機器10の位置を含む検出された平面を対象平面に決定する。
【0103】
ステップS36の処理では、制御部20は、
図4に示すような水平方向において電子機器10の位置を含む検出された複数の平面のうち、電子機器10の位置に最も近い平面を対象平面に決定する。
【0104】
ステップS37の処理では、制御部20は、第2対象範囲内から平面を検出する平面検出処理を実行する。制御部20は、平面検出処理によって第2対象範囲内から平面が検出されたか否かを判定する。
【0105】
制御部20は、平面検出処理によって第2対象範囲内から平面が検出されたと判定した場合(ステップS37:YES)、ステップS38の処理に進む。制御部20は、平面検出処理によって第2対象範囲内から平面が検出されたと判定しない場合(ステップS37:NO)、上述したステップS1の処理に戻る。
【0106】
ステップS38の処理では、制御部20は、第2対象範囲内から平面が複数検出されたか否かを判定する。制御部20は、第2対象範囲内から平面が複数検出されたと判定しない場合すなわち平面が1つ検出されたと判定した場合(ステップS38:NO)、ステップS39の処理に進む。制御部20は、第2対象範囲内から平面が複数検出されたと判定した場合(ステップS38:YES)、ステップS40の処理に進む。
【0107】
ステップS39の処理では、制御部20は、
図5に示すような第2対象範囲内から検出
された平面を対象平面に決定する。
【0108】
ステップS40の処理では、制御部20は、
図6に示すような第2対象範囲から検出された複数の平面のうち、電子機器10の位置に最も近い平面を対象平面に決定する。
【0109】
以上のように本実施形態では、電子機器10の制御部20は、デプス画像に含まれる距離の情報のうち、信頼性が所定の閾値より高い距離の情報に基づいて、段差を検出する第1検出処理を実行する。このような構成により、本実施形態によれば、例えば撮像画像を用いる場合よりも、段差の検出精度を向上させることができる。
【0110】
さらに、本実施形態では、制御部20は、距離の情報に基づいて段差を検出する第1検出処理の実行によって段差が検出されない場合、撮像画像によって段差を検出する第2検出処理を実行してもよい。つまり、制御部20は、デプス画像から段差を検出することができない場合に、撮像画像によって検出される段差のデータを採用すると決定してもよい。撮像画像のデータによって検出される段差のデータを採用すると決定することにより、デプス画像から段差を検出できない場合でも、段差を検出することができる。
【0111】
また、本実施形態では、制御部20は、
図3に示すように、測距センサ11によって鉛直方向における電子機器10から平面までの鉛直距離d1のデータを取得してもよい。制御部20は、鉛直距離d1が設定範囲内であると判定した場合、対象平面の決定処理を開始してもよい。鉛直距離d1が設定範囲内である場合、ユーザが電子機器10を所持して駅のホーム面に立っている可能性が高い。鉛直距離d1が設定範囲内であると判定した場合に対象平面の決定処理を開始することにより、ホーム面が対象平面に決定される可能性を高めることができる。
【0112】
また、本実施形態では、制御部20は、デプス画像によって、対象平面の決定処理を実行してもよい。制御部20は、デプス画像と対象平面とによって、段差を検出する第1検出処理を実行してもよい。このような構成により、制御部20は、デプス画像に含まれる画素のうち、対象平面に対応する部分から、段差を検出する処理等をすることができる。つまり、制御部20は、デプス画像の全てに対して段差を検出する処理等を実行しなくてよい。このような構成により、処理負荷を削減することができる。
【0113】
また、本実施形態では、制御部20は、対象平面の決定処理において、
図3に示すような第1距離D1までの第1対象範囲内から水平方向において電子機器10の位置を含む平面が1つ検出された場合、検出された平面を対象平面に決定してもよい。検出された平面が1つである場合、この検出された平面は、駅のホーム面である可能性が高い。このような平面を対象平面に決定することにより、ホーム端が段差として検出される可能性を高めることができる。
【0114】
また、本実施形態では、制御部20は、対象平面の決定処理において、
図4に示すように第1距離D1までの第1対象範囲内から水平方向において電子機器10の位置を含む平面が複数検出された場合、検出された複数の平面のうちから対象平面を決定してもよい。制御部20は、検出された複数の平面において電子機器10の位置に近い平面を優先的に対象平面に決定してもよい。制御部20は、検出された複数の平面のうち電子機器10の位置に最も近い平面を対象平面に決定してもよい。このような構成により、以下に説明するような効果を得ることができる。
【0115】
例えば、ユーザの電子機器10の持ち方によっては、デプス画像から1つのホーム面が複数の平面として検出される場合がある。デプス画像から1つのホーム面が複数の平面として検出された場合でも、検出された複数の平面のうちで電子機器10の位置に最も近い
平面を対象平面に決定することにより、ユーザに最も近いホーム端を段差として検出することができる。このような構成により、ユーザが駅のホームから落ちる危険をより確実に回避することができる。
【0116】
例えば、ユーザの電子機器10の持ち方によっては、デプス画像からホーム面に加えて線路面が平面として検出される場合がある。ユーザがホーム面に立っている場合、ホーム面及び線路面のうち、ホーム面の方が、ユーザすなわち電子機器10の位置に近い。デプス画像からホーム面に加えて線路面が平面として検出された場合でも、検出された複数の平面のうちで電子機器10の位置に最も近い平面を対象平面に決定することにより、ホーム面を対象平面に決定することができる。
【0117】
また、本実施形態では、制御部20は、対象平面の決定処理において、デプス画像によって、
図5に示すように水平方向における電子機器10の位置から第2距離D2までの第2対象範囲内から平面を検出する平面検出処理を実行してもよい。制御部20は、平面検出処理によって第2対象範囲内から平面が1つ検出された場合、検出された平面を対象平面に決定してもよい。検出された平面が1つである場合、この検出された平面は、駅のホーム面である可能性が高い。このような平面を対象平面に決定することにより、ホーム端が段差として検出される可能性を高めることができる。
【0118】
また、本実施形態では、制御部20は、対象平面の決定処理において、デプス画像によって、
図6に示すように水平方向における電子機器10の位置から第2距離D2までの第2対象範囲内から平面を検出する平面検出処理を実行してもよい。制御部20は、平面検出処理によって第2対象範囲内から平面が複数検出された場合、検出された複数の平面において電子機器10の位置に近い平面を対象平面に決定してもよい。制御部20は、検出された複数の平面のうち電子機器10の位置に最も近い平面を対象平面に決定してもよい。上述と同じ又は類似に、デプス画像から1つのホーム面が複数の平面として検出された場合でも、検出された複数の平面のうち電子機器10の位置に最も近い平面を対象平面に決定することにより、ユーザに最も近いホーム端を段差として検出することができる。上述と同じ又は類似に、デプス画像からホーム面に加えて線路面が平面として検出された場合でも、検出された複数の平面のうち電子機器10の位置に最も近い平面を対象平面に決定することにより、ホーム面を対象平面に決定することができる。
【0119】
また、本実施形態では、制御部20は、第2検出処理において、
図7に示すように、撮像画像に含まれる複数の画素のうち、隣接する画素間の画素値の差分が画素閾値を超えると判定した場合、隣接する画素を段差候補として検出してもよい。制御部20は、段差候補の両側部分の3次元空間上の距離の差分が第1距離閾値を超えると判定した場合、段差候補を段差として検出してもよい。このような構成により、上述したように、段差の検出精度を向上させることができる。
【0120】
また、本実施形態では、制御部20は、採用すると決定した段差のデータによって電子機器10から段差までの距離を算出し、算出した距離が第2距離閾値を超える場合、ユーザに危険を報知してもよい。ユーザに危険を報知することにより、ユーザは、自身とホーム端との間の距離が短いことを知ることができる。また、ユーザは、駅のホームから落ちる危険性を察知することができる。
【0121】
一実施形態において、(1)電子機器は、
空間に放射した電磁波の反射波によって、前記空間に存在する物体までの距離の情報を含むデプス画像を生成する測距センサを含む生成部と、
前記デプス画像に含まれる前記距離の情報のうち、信頼性が所定の閾値より高い前記距離の情報に基づいて、段差を検出する第1検出処理を実行する制御部と、
を備える。
【0122】
(2)上記(1)の電子機器において、
前記生成部は、前記空間を撮像して撮像画像を生成するカメラを含み、
前記制御部は、
前記撮像画像に含まれる段差候補の所定距離内の地点までの距離に基づいて、段差を検出する第2検出処理を実行し、前記段差候補の所定距離内の地点までの距離は、前記デプス画像に基づいて取得されてもよい。
【0123】
(3)上記(1)又は(2)の電子機器において、
前記制御部は、前記第2検出処理において、前記撮像画像に複数の段差候補が含まれる場合、その延在方向が同じ方向である複数の段差候補を1つの段差候補として認識してもよい。
【0124】
(4)上記(1)から(3)までの何れかの電子機器において、
前記制御部は、前記第2検出処理において、前記撮像画像に複数の前記段差候補が含まれる場合、前記複数の段差候補のうちで他の段差候補よりもその延在方向の長さが長い前記段差候補に基づいて前記段差を検出してもよい。
【0125】
(5)上記(1)から(4)までの何れかの電子機器において、
前記制御部は、前記第2検出処理において、前記段差候補の延在方向に直交する方向の前記所定距離の地点までの距離に基づいて、前記段差を検出してもよい。
【0126】
(6)上記(1)から(5)までの何れかの電子機器において、
前記制御部は、前記第2検出処理において、前記段差候補を挟んで前記段差候補の延在方向に直交する方向の2つの地点である第1部分及び第2部分のそれぞれまでの距離の差分に基づいて、前記段差を検出してもよい。
【0127】
(7)上記(1)から(6)までの何れかの電子機器において、
前記制御部は、前記第2検出処理において、前記撮像画像に含まれる所定の物体、模様又は色彩の何れかに基づいて前記段差候補を検出してもよい。
【0128】
(8)上記(1)から(7)までの何れかの電子機器において、
前記制御部は、前記第1検出処理の実行によって前記段差が検出されない場合、前記第2検出処理を実行してもよい。
【0129】
(9)上記(1)から(8)までの何れかの電子機器において、
前記制御部は、前記第2検出処理において、駅のホーム端の画像と当該画像における段差の位置を教師データとして学習した認識器を用いて、前記段差候補を検出してもよい。
【0130】
(10)上記(1)から(9)までの何れかの電子機器において、
前記制御部は、前記第1検出処理において、駅のホーム端のデプス画像と当該デプス画像における段差の位置を教師データとして学習した認識器を用いて、前記段差を検出もよい。
【0131】
一実施形態において、(11)段差検出方法は、
空間に放射した電磁波の反射波によって、前記空間に存在する物体までの距離の情報を含むデプス画像を生成することと、
前記デプス画像に含まれる前記距離の情報のうち、信頼性が所定の閾値より高い前記距離の情報に基づいて、段差を検出する第1検出処理を実行することと、を含む。
【0132】
一実施形態において、(12)プログラムは、
コンピュータに、
空間に放射した電磁波の反射波によって、前記空間に存在する物体までの距離の情報を含むデプス画像を生成することと、
前記デプス画像に含まれる前記距離の情報のうち、信頼性が所定の閾値より高い前記距離の情報に基づいて、段差を検出する第1検出処理を実行することと、を含む動作を実行させる。
【0133】
本開示を諸図面及び実施例に基づき説明してきたが、当業者であれば本開示に基づき種々の変形又は修正を行うことが容易であることに注意されたい。したがって、これらの変形又は修正は本開示の範囲に含まれることに留意されたい。例えば、各機能部に含まれる機能等は論理的に矛盾しないように再配置可能である。複数の機能部等は、1つに組み合わせられたり、分割されたりしてよい。上述した本開示に係る各実施形態は、それぞれ説明した各実施形態に忠実に実施することに限定されるものではなく、適宜、各特徴を組み合わせたり、一部を省略したりして実施され得る。つまり、本開示の内容は、当業者であれば本開示に基づき種々の変形及び修正を行うことができる。したがって、これらの変形及び修正は本開示の範囲に含まれる。例えば、各実施形態において、各機能部、各手段、各ステップ等は論理的に矛盾しないように他の実施形態に追加し、若しくは、他の実施形態の各機能部、各手段、各ステップ等と置き換えることが可能である。また、各実施形態において、複数の各機能部、各手段又は各ステップ等を1つに組み合わせたり、或いは分割したりすることが可能である。また、上述した本開示の各実施形態は、それぞれ説明した各実施形態に忠実に実施することに限定されるものではなく、適宜、各特徴を組み合わせたり、一部を省略したりして実施することもできる。
【0134】
本開示において「第1」及び「第2」等の記載は、当該構成を区別するための識別子である。本開示における「第1」及び「第2」等の記載で区別された構成は、当該構成における番号を交換することができる。例えば、第1検出処理は、第2検出処理と識別子である「第1」と「第2」とを交換することができる。識別子の交換は同時に行われる。識別子の交換後も当該構成は区別される。識別子は削除してよい。識別子を削除した構成は、符号で区別される。本開示における「第1」及び「第2」等の識別子の記載のみに基づいて、当該構成の順序の解釈、小さい番号の識別子が存在することの根拠に利用してはならない。
【0135】
例えば、上述した実施形態では、電子機器10は、ホーム端を段差として検出するものとして説明した。ただし、本開示を適用して検出される段差は、ホーム端に限定されない。本開示を適用して検出される段差は、任意の段差であってよい。一例として、本開示を適用して検出される段差は、移動体が走行する路面の段差であってよい。この場合、本開示に係る段差検出方法は、移動体の移動ナビゲーションシステムに組み込まれてよい。移動体は、例えば、自律移動ロボット又は低速移動モビリティ等である。自律移動ロボット又は低速移動モビリティが、電子機器10と同じ又は類似の処理を実行し、段差を検出してよい。自律移動ロボット又は低速移動モビリティは、デプス画像が後述する所定条件を満たすと判定した場合、段差の検出処理を実行してもよい。自律移動ロボット又は低速移動モビリティは、段差を検出すると、転落等の事故が発生しないように、安全な移動経路を生成してよい。
【0136】
例えば、上述した実施形態では、制御部20は、対象平面の決定処理を実行するものとして説明した。ただし、制御部20は、対象平面の決定処理を実行しなくてもよい。この場合、制御部20は、
図9に示すようなステップS2を実行しなくてもよい。また、制御部20は、ステップS1の処理で取得したデプス画像が所定条件を満たすと判定した場合
、ステップS3の処理を開始してもよい。一例として、所定条件は、ステップS1の処理で取得したデプス画像に含まれる複数の画素の画素値の最大値と最小値との差分が所定値を超えるとの第1条件であってよい。所定値は、段差に対応する複数の画素の画素値の最大値と最小値とに基づいて設定されてよい。他の例として、所定条件は、ステップS1の処理で取得したデプス画像に含まれる複数の画素の画素値の二乗平均平方根すなわちRMS(Root Mean Square)値が所定値を超えるとの第2条件であってよい。所定値は、段差に対応する画素がデプス画像に含まれる場合のデプス画像の画素値のRMS値に基づいて設定されてよい。所定条件は、第1条件と第2条件とを組み合わせたものであってもよい。
【0137】
例えば、上述した実施形態では、測距センサ11は、LiDARを含んで構成されるものとして説明した。ただし、測距センサ11は、LiDARと他の要素とを含んで構成されてもよい。一例として、測距センサ11は、LiDARと、可視光による撮像画像を生成可能なカメラとを含んで構成されてもよい。測距センサ11は、アップサンプリングを実行することにより、LiDARによって生成されるデプス画像のデータを、カメラによって生成される撮像画像のデータによって補間してもよい。この場合、制御部20は、第1検出処理において、
図7を参照して上述したような第2検出処理と同じ又は類似の処理を実行してもよい。つまり、制御部20は、デプス画像に含まれる複数の画素のうち、隣接する画素間の画素値の差分が画素閾値を超えるか否かを判定してよい。制御部20は、隣接する画素間の画素値の差分が画素閾値を超えると判定した場合、隣接する画素を段差候補として検出してもよい。さらに、制御部20は、段差候補の両側部分の3次元空間上の距離の差分が第1距離閾値を超えると判定した場合、段差候補を段差として検出してもよい。このような構成により、上述した実施形態と同じく、段差の検出精度を向上させることができる。
【0138】
例えば、上述した実施形態では、電子機器10が段差を検出するものとして説明した。ただし、電子機器10以外の他の装置が段差を検出してもよい。一例として、検出システム1は、電子機器10と、サーバとを含んでもよい。この場合、サーバが段差を検出してもよい。例えば、電子機器10では、制御部20は、ネットワークを介してサーバに、測距センサ11が生成したデプス画像のデータ及びカメラ12が生成した撮像画像のデータを通信部15によって送信する。サーバは、ネットワークを介して電子機器10から、デプス画像のデータ及び撮像画像のデータを受信する。サーバは、デプス画像において、反射波の強度が強度閾値以下になる低下領域を特定する。サーバは、低下領域以外の領域では、デプス画像によって検出される段差のデータを採用すると決定する。サーバは、低下領域では、撮像画像によって検出される段差のデータを採用すると決定する。
【0139】
例えば、汎用のコンピュータを、上述した実施形態に係る電子機器10として機能させる実施形態も可能である。具体的には、上述した実施形態に係る電子機器10の各機能を実現する処理内容を記述したプログラムを、汎用のコンピュータのメモリに格納し、プロセッサによって当該プログラムを読み出して実行させる。したがって、本開示は、プロセッサが実行可能なプログラム、又は、当該プログラムを記憶する非一時的なコンピュータ可読媒体としても実現可能である。
【符号の説明】
【0140】
1 検出システム
10 電子機器
11 距センサ
12 カメラ
13 慣性センサ
14 測位部
15 通信部
16 入力部
17 出力部
18 振動部
19 記憶部
20 制御部
24 制御部
30,33,34,35 平面
33P,34P,35P 頂点
40 デプス画像
60 撮像画像
61 領域
62,63 段差候補
62P11,62P12,63P11,63P12 第1部分
62P21,62P22,63P21,63P22 第2部分
62p11,62p12,63p11,63p12 第1位置
62p21,62p22,63p21,63p22 第2位置
D1 第1距離
D2 第2距離