(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-09-20
(45)【発行日】2023-09-28
(54)【発明の名称】貨物計数方法及び装置、コンピュータ装置、並びに記憶媒体
(51)【国際特許分類】
G06T 7/60 20170101AFI20230921BHJP
G06T 7/70 20170101ALI20230921BHJP
G06T 7/62 20170101ALI20230921BHJP
G06M 9/00 20060101ALI20230921BHJP
【FI】
G06T7/60 110
G06T7/70 Z
G06T7/62
G06M9/00 Z
(21)【出願番号】P 2022140440
(22)【出願日】2022-09-05
【審査請求日】2022-09-05
(31)【優先権主張番号】202111586634.6
(32)【優先日】2021-12-21
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】522194898
【氏名又は名称】ビジョンナビ ロボティクス(シェンチェン)カンパニー,リミテッド
(74)【代理人】
【識別番号】100079108
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【氏名又は名称】内藤 和彦
(72)【発明者】
【氏名】ファン,ム
(72)【発明者】
【氏名】リ,ルーヤン
(72)【発明者】
【氏名】ル,ユジエ
(72)【発明者】
【氏名】ヤン,ビンチュアン
(72)【発明者】
【氏名】ディン,ハン
【審査官】小太刀 慶明
(56)【参考文献】
【文献】特開2010-023950(JP,A)
【文献】特開2021-056765(JP,A)
【文献】中国特許出願公開第112258452(CN,A)
【文献】米国特許出願公開第2021/0133666(US,A1)
【文献】小倉 且也,複数の立体物で構成された三次元点群の切り分け手法の検討,マルチメディア,分散,協調とモバイル(DICOMO2018)シンポジウム論文集 情報処理学会シンポジウムシリーズ Vol.2018 No.1 [CD-ROM] IPSJ Symposium Series,日本,一般社団法人情報処理学会,2018年07月,pp. 236-246
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00 - 7/90
G06M 9/00
G06V 10/00 - 20/90
(57)【特許請求の範囲】
【請求項1】
コンピュータによって実行される貨物計数方法であって、
貨物計数命令に基づいて
3次元レーザースキャナーを制御することで収集された、予め設定された載置領域内の貨物群の3次元点群データを取得する(S202)ことと、
前記貨物群が第1の載置状態にあるか否かを前記3次元点群データに基づいて判断する(S204)こと
であって、前記第1の載置状態とは、前記貨物群が、前記予め設定された載置領域内における、貨物計数に有利な位置にあることである、判断することと、
前記貨物群が前記第1の載置状態にある場合に、前記貨物群における貨物の数を計算する(S206)ことと、を含
み、
前記貨物群が前記第1の載置状態にあるか否かを前記3次元点群データに基づいて判断することは、
前記3次元点群データを地平面に投影することによって、統計ベースのグリッドマップを取得することと、
前記グリッドマップに対して直線検出を行うことによって、複数の直線方程式を取得することと、
前記複数の直線方程式の各々に対応する直線の傾きが0又は1に等しい場合に、前記貨物群が前記第1の載置状態にあると確定することと、を含む、
ことを特徴とする貨物計数方法。
【請求項2】
前記貨物計数命令に基づいて
前記3次元レーザースキャナーを制御することで収集された、前記予め設定された載置領域内の前記貨物群の前記3次元点群データを取得することは、
少なくとも2つの
前記3次元レーザースキャナーの各々によって収集された、前記予め設定された載置領域内の前記貨物群の候補点群データを取得することと、
前記少なくとも2つの3次元レーザースキャナーの各々によって収集された前記候補点群データを統合することによって、前記貨物群の完全な3次元点群データを取得することと、を含む、
ことを特徴とする請求項1に記載の貨物計数方法。
【請求項3】
前記少なくとも2つの3次元レーザースキャナーは第1のスキャナー及び少なくとも1つの第2のスキャナーを含み、前記少なくとも2つの3次元レーザースキャナーの各々によって収集された、前記予め設定された載置領域内の前記貨物群の前記候補点群データを取得することは、
前記第1のスキャナーによって収集された、前記予め設定された載置領域内の前記貨物群の候補点群データを取得することと、
前記第2のスキャナーの各々によって収集された、前記予め設定された載置領域内の前記貨物群の候補点群データを取得することと、を含み、
前記第1のスキャナーは、リファレンススキャナーである、
ことを特徴とする請求項2に記載の貨物計数方法。
【請求項4】
前記少なくとも2つの3次元レーザースキャナーの各々によって収集された前記候補点群データを統合することによって、前記貨物群の完全な前記3次元点群データを取得することは、
前記第2のスキャナーごとに、前記第1のスキャナーに対する前記第2のスキャナーの位置・姿勢パラメータを取得することと、
前記第2のスキャナーごとに取得された前記第1のスキャナーに対する前記第2のスキャナーの前記位置・姿勢パラメータに基づいて、前記第2のスキャナーの各々によって収集された、前記予め設定された載置領域内の前記貨物群の前記候補点群データに対して平行移動及び回転変換を行うことによって、前記第1のスキャナーの座標系における3次元点群データを取得することと、
前記第1のスキャナーの前記座標系における取得されたすべての3次元点群データと、前記第1のスキャナーによって収集された、前記予め設定された載置領域内の前記貨物群の前記候補点群データとを統合することによって、前記貨物群の前記完全な3次元点群データを取得することと、を含む、
ことを特徴とする請求項3に記載の貨物計数方法。
【請求項5】
前記貨物群はキャリアに載せられており、前記貨物群の前記3次元点群データを取得することは、前記キャリア及び前記貨物群の前記3次元点群データを取得することを含み、前記貨物群における前記貨物の前記数を計算することは、
1つの貨物の高さと底面積、前記キャリアの高さ、1つの層を埋めつくす貨物の数、前記キャリアと前記貨物群の高さの合計、及び最上層にある貨物の総面積を確定することと、
前記最上層にある前記貨物の前記総面積が面積閾値より小さいか否かを確定することであって、前記面積閾値は、前記1つの貨物の前記底面積を、前記1つの層を埋めつくす前記貨物の前記数に掛けることによって取得されることと、
前記最上層にある前記貨物の前記総面積が前記面積閾値より小さい場合に、前記1つの貨物の前記高さと前記底面積、前記キャリアの前記高さ、前記1つの層を埋めつくす前記貨物の前記数、前記キャリアと前記貨物群の前記高さの合計、及び前記最上層にある前記貨物の前記総面積に基づいて、前記貨物群における前記貨物の前記数を確定することと、
前記最上層にある前記貨物の前記総面積が前記面積閾値に等しい場合に、前記1つの貨物の前記高さ、前記キャリアの前記高さ、前記1つの層を埋めつくす前記貨物の前記数、及び前記キャリアと前記貨物群の前記高さの合計に基づいて、前記貨物群における前記貨物の前記数を確定することと、を含む、
ことを特徴とする請求項1に記載の貨物計数方法。
【請求項6】
前記1つの貨物の前記高さと前記底面積、前記キャリアの前記高さ、前記1つの層を埋めつくす前記貨物の前記数、前記キャリアと前記貨物群の前記高さの合計、及び前記最上層にある前記貨物の前記総面積に基づいて、前記貨物群における前記貨物の前記数を確定することは、
前記キャリアと前記貨物群の前記高さの合計、前記キャリアの前記高さ、及び前記1つの貨物の前記高さに基づいて、前記貨物群の層数を確定することと、
前記最上層にある前記貨物の前記総面積、及び前記1つの貨物の前記底面積に基づいて、前記最上層にある前記貨物の数を確定することと、
前記貨物群の前記層数、前記1つの層を埋めつくす前記貨物の前記数、及び前記最上層にある前記貨物の前記数に基づいて、前記貨物群における前記貨物の前記数を確定することと、を含む、
ことを特徴とする請求項
5に記載の貨物計数方法。
【請求項7】
前記1つの貨物の前記高さ、前記キャリアの前記高さ、前記1つの層を埋めつくす前記貨物の前記数、及び前記キャリアと前記貨物群の前記高さの合計に基づいて、前記貨物群における前記貨物の前記数を確定することは、
前記キャリアと前記貨物群の前記高さの合計、前記キャリアの前記高さ、及び1つの貨物の前記高さに基づいて、前記貨物群の層数を確定することと、
前記貨物群の前記層数、及び前記1つの層を埋めつくす前記貨物の前記数に基づいて、前記貨物群における前記貨物の前記数を確定することと、を含む、
ことを特徴とする請求項
5に記載の貨物計数方法。
【請求項8】
前記キャリアと前記貨物群の前記高さの合計、及び前記最上層にある前記貨物の前記総面積は、前記3次元点群データに対して点群ボクセルグリッド化を行うことによって確定される、
ことを特徴とする請求項
5に記載の貨物計数方法。
【請求項9】
前記貨物群はキャリアに載せられており、前記貨物群の前記3次元点群データを取得することは、前記キャリア及び前記貨物群の前記3次元点群データを取得することを含み、前記貨物群における前記貨物の前記数を計算することは、
前記3次元点群データに対して点群ボクセルグリッド化を行うことによって、前記キャリアと前記貨物群の高さの合計、及び最上層にある貨物の総面積を取得する(S302)ことと、
1つの貨物の高さと底面積、前記キャリアの高さ、及び1つの層を埋めつくす貨物の数を取得する(S304)ことと、
前記最上層にある前記貨物の前記総面積、及び前記1つの貨物の前記底面積に基づいて、前記最上層にある前記貨物の前記数を確定する(S306)ことと、
前記キャリアと前記貨物群の前記高さの合計、前記キャリアの前記高さ、及び前記1つの貨物の前記高さに基づいて、前記貨物群の層数を確定する(S308)ことと、
前記貨物群の前記層数、前記1つの層を埋めつくす前記貨物の前記数、及び前記最上層にある前記貨物の前記数に基づいて、前記貨物群における前記貨物の前記数を確定する(S310)ことと、を含む、
ことを特徴とする請求項1に記載の貨物計数方法。
【請求項10】
前記貨物計数命令に基づいて
前記3次元レーザースキャナーを制御することで収集された、前記予め設定された載置領域内の前記貨物群の前記3次元点群データを取得した後、前記貨物計数方法は、
前記3次元点群データに対して前処理を行うことによって、前処理された3次元点群データを取得すること、をさらに含み、
前記貨物群が前記第1の載置状態にあるか否かを前記3次元点群データに基づいて判断することは、
前記前処理された3次元点群データに基づいて、前記貨物群が前記第1の載置状態にあるか否かを判断すること、を含む、
ことを特徴とする請求項1に記載の貨物計数方法。
【請求項11】
前記3次元点群データに対して前処理を行うことによって、前記前処理された3次元点群データを取得することは、
前記3次元点群データに対して、領域外点群フィルタリング、地平面点群フィルタリング、及び点群フィルタリングを行うことによって、前記前処理された3次元点群データを取得すること、を含み、
前記領域外点群フィルタリングは、予め設定された載置領域外にある点群データをフィルタリングすることであり、前記地平面点群フィルタリングは、地平面の点群データをフィルタリングして前記貨物群の点群データを残すことであり、前記点群フィルタリングは、点群データにおけるハッシュポイント及び孤立点をフィルタリングすることである、
ことを特徴とする請求項
10に記載の貨物計数方法。
【請求項12】
貨物計数装置であって、
データ取得モジュール(510)、判断モジュール(520)、及び計算モジュール(530)を含み、
前記データ取得モジュール(510)は、貨物計数命令に基づいて
3次元レーザースキャナーを制御することで収集された、予め設定された載置領域内の貨物群の3次元点群データを取得するように構成され
ており、
前記判断モジュール(520)は、前記貨物群が第1の載置状態にあるか否かを前記3次元点群データに基づいて判断するように構成され
ており、前記第1の載置状態とは、前記貨物群が、前記予め設定された載置領域内における、貨物計数に有利な位置にあることであり、
前記計算モジュール(530)は、前記貨物群が前記第1の載置状態にある場合に、前記貨物群における貨物の数を計算するように構成され
ており、
前記貨物群が前記第1の載置状態にあるか否かを前記3次元点群データに基づいて判断するように構成された前記判断モジュール(520)は、
前記3次元点群データを地平面に投影することによって、統計ベースのグリッドマップを取得し、
前記グリッドマップに対して直線検出を行うことによって、複数の直線方程式を取得し、
前記複数の直線方程式の各々に対応する直線の傾きが0又は1に等しい場合に、前記貨物群が前記第1の載置状態にあると確定するように構成されている、
ことを特徴とする貨物計数装置。
【請求項13】
プロセッサ及びメモリを含むコンピュータ装置であって、
前記メモリは、前記プロセッサに結合され且つコンピュータプログラムを記憶するように構成されており、前記コンピュータプログラムは、前記プロセッサによって実行されると、前記プロセッサが請求項1~
11のいずれか一項に記載の貨物計数方法を実行すること、を可能にする、
ことを特徴とするコンピュータ装置。
【請求項14】
コンピュータプログラムを記憶している不揮発性コンピュータ可読記憶媒体であって、
前記コンピュータプログラムは、プロセッサによって実行されると、前記プロセッサが請求項1~
11のいずれか一項に記載の貨物計数方法を実行すること、を可能にする、
ことを特徴とする不揮発性コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は貨物計数の技術分野に関し、特に、貨物計数方法及び装置、コンピュータ装置、並びに記憶媒体に関する。
【背景技術】
【0002】
貨物計数技術の発展に伴い、ケース丸ごとで貨物を計数することが容易になっている。しかし、現在、ばら積み貨物は依然として手作業による計数に頼っている。ばら積み貨物の数と種類が比較的に多いため、ばら積み貨物の手作業による計数は、時間と労力がかかり、その結果、計数効率が低くなる。
【発明の概要】
【0003】
そこで、ばら積み貨物の計数効率が低いという上記技術的課題を解決することができる貨物計数方法及び装置、コンピュータ装置、並びにコンピュータ記憶媒体を提供する必要がある。
【0004】
第一様態において、本出願では、貨物計数方法が提供される。当該方法は以下を含む。
貨物計数命令に基づいて収集された、予め設定された載置領域内の貨物群の3次元点群データを取得する。貨物群が第1の載置状態にあるか否かを3次元点群データに基づいて判断する。貨物群が第1の載置状態にある場合に、貨物群における貨物の数を計算する。
【0005】
第二様態において、本出願では、貨物計数装置がさらに提供される。当該貨物計数装置は、データ取得モジュール、判断モジュール及び計算モジュールを含む。
データ取得モジュールは、貨物計数命令に基づいて収集された、予め設定された載置領域内の貨物群の3次元点群データを取得するように構成されている。判断モジュールは、貨物群が第1の載置状態にあるか否かを3次元点群データに基づいて判断するように構成されている。計算モジュールは、貨物群が第1の載置状態にある場合に、貨物群における貨物の数を計算するように構成されている。
【0006】
第三様態において、本出願では、コンピュータ装置がさらに提供される。当該コンピュータ装置は、プロセッサ及びメモリを含む。当該メモリは、プロセッサに結合され且つコンピュータプログラムを記憶するように構成されており、コンピュータプログラムは、プロセッサによって実行されると、プロセッサが第一様態に記載の貨物計数方法を実行することを可能にする。
【0007】
第四様態において、本出願では、不揮発性コンピュータ可読記憶媒体がさらに提供される。当該不揮発性コンピュータ可読記憶媒体は、コンピュータプログラムを記憶している。コンピュータプログラムは、プロセッサによって実行されると、プロセッサが第一様態に記載の貨物計数方法を実行すること、を可能にする。
【0008】
上記貨物計数方法及び装置、コンピュータ装置、並びに記憶媒体によれば、貨物計数命令に基づいて収集された、予め設定された載置領域内の貨物群の3次元点群データを取得することができる。貨物群が第1の載置状態にあるか否かを3次元点群データに基づいて判断する。貨物群が第1の載置状態にある場合に、貨物群における貨物の数を計算する。それによって、ばら積み貨物の数は、取得された貨物群の点群データに基づいて計算されることができ、ばら積み貨物の計数の効率を高めることができる。
【図面の簡単な説明】
【0009】
【
図1】
図1は、本出願の1つの実施形態に係る貨物計数方法のアプリケーションシナリオを示す図である。
【
図2】
図2は、本出願の1つの実施形態に係る貨物計数方法を示すフローチャートである。
【
図3】
図3は、本出願の1つの実施形態に係る貨物群における貨物の数の計算を示すフローチャートである。
【
図4】
図4は、本出願のもう1つの実施形態に係る貨物計数方法を示すフローチャートである。
【
図5】
図5は、本出願の1つの実施形態に係る貨物計数装置の構造を示すブロック図である。
【
図6】
図6は、本出願の1つの実施形態に係るコンピュータ装置の内部構造を示す概略図である。
【発明を実施するための形態】
【0010】
本出願の目的、技術的解決策及び利点をより明確にするために、以下、図面及び実施形態を参照しながら、本出願についてさらに詳しく説明する。以下に記載される具体的な実施形態は、本出願を説明するためのみに用いられるが、本出願を限定するために用いられない。
【0011】
本出願の実施形態に係る貨物計数方法は、
図1に示されるアプリケーションシナリオに適用されることができる。端末102は、ネットワークを介してサーバ104と通信可能に接続されており、サーバ104はデータ記憶システム106と通信可能に接続されている。データ記憶システム106は、サーバ104が処理する必要のあるデータを記憶することができる。データ記憶システム106は、サーバ104に集積されてもよく、クラウド上に配置されてもよく、又は、他のネットワークサーバに集積されてもよい。サーバ104は、予め設定された載置領域内の貨物群の3次元点群データを取得する。上記3次元点群データは、貨物計数命令に基づいて収集され且つ端末102に記憶されている。サーバ104は、貨物群が第1の載置状態にあるか否かを3次元点群データに基づいて判断し、貨物群が第1の載置状態にある場合に、貨物群における貨物の数を計算する。端末102は、様々なパソコン、ノートブックコンピュータ、スマートフォン、タブレットコンピュータ、IoT(internet of things)装置、及び携帯型ウェアラブルデバイスであってもよいが、それらに限定されない。IoT装置は、スマートスピーカー、スマートテレビ、スマートエアコン、スマート車載機器などであってもよい。携帯型ウェアラブルデバイスは、スマートウォッチ、スマートブレスレット、頭部装着型デバイスなどであってもよい。サーバ104は、独立したサーバによって実装されてもよく、複数のサーバからなるサーバクラスタによって実装されてもよい。
【0012】
本出願の実施形態において、貨物計数方法が提供される。当該方法が
図1におけるサーバ104に適用されることを例として説明する。
図2に示されるように、当該方法は以下のステップを含む。
【0013】
ステップ202:貨物計数命令に基づいて収集された、予め設定された載置領域内の貨物群の3次元点群データを取得する。
【0014】
上記貨物は計数しようとする貨物であり、例えば、ばら積み貨物である。予め設定された載置領域とは、貨物が載置される予め設定された領域を指す。3次元点群データとは、3次元座標系におけるベクトルの集合であり、点の形でスキャナーによってスキャンされ記録されたものである。各点は3次元座標を含む。一部の点は、色情報や反射強度情報などを含むことも可能である。ここで、色情報とは、空間的な色情報を指し、反射強度情報とは、スキャナーのスキャン中にレーザが異なる平面をスキャンした際に反射することによって得られる強度の異なる情報を指す。3次元点群データは、予め設定された載置領域内の貨物をスキャンすることによって取得される。
【0015】
具体的に、貨物を載置するための予め設定された載置領域が提供され、且つ予め設定された載置領域の周囲に3次元レーザースキャナーが配置される。次に、予め設定された載置領域内に貨物が載置された後、サーバ104(例えば、中央制御システムのプロセッサ)は、貨物計数命令を取得し、予め設定された載置領域内の貨物をスキャンするよう3次元レーザースキャナーを貨物計数命令に基づいて制御し、貨物の3次元点群データを取得する。
【0016】
ステップ204:3次元点群データに基づいて、貨物群が第1の載置状態にあるか否かを判断する。
【0017】
第1の載置状態とは、貨物群が、予め設定された載置領域内における、貨物計数に有利な位置にあることである。即ち、貨物群は標準的な載置状態にあり、例えば、貨物群は予め設定された標準的な並べ方で予め設定された載置領域内に置かれている。1つの実施形態において、予め設定された標準的な並べ方は、貨物群の長手方向が予め設定された載置領域の長手方向と平行であり、貨物群の短手方向が予め設定された載置領域の短手方向と平行である状態を意味する。貨物群の一部が予め設定された載置領域の境界を越えている場合に、又は貨物群が予め設定された載置領域内に置かれている並べ方は予め設定された標準的な並べ方ではない場合に、当該貨物群が第1の載置状態にないと確定される。
【0018】
具体的に、プロセッサは、まず予め設定された載置領域内の貨物群の3次元点群データを取得し、次に、予め設定された載置領域内の貨物群の3次元点群データに基づいて、貨物群の載置位置が貨物計数に有利であるか否かを判断する。
【0019】
ステップ206:貨物群が第1の載置状態にある場合に、貨物群における貨物の数を計算する。
【0020】
具体的に、貨物群が第1の載置状態にある場合に、プロセッサは、3次元点群データを分析することによって貨物群における貨物の数を計算する。
【0021】
上記貨物計数方法において、貨物計数命令に基づいて収集された、予め設定された載置領域内の貨物群の3次元点群データを取得する。貨物群が第1の載置状態にあるか否かを3次元点群データに基づいて判断する。貨物群が第1の載置状態にある場合に、貨物群における貨物の数を計算する。このように、取得された貨物群の3次元点群データに基づいて、貨物群における貨物の数を計算することによって、貨物計数の効率を高めることができる。
【0022】
1つの実施形態において、貨物計数命令に基づいて収集された、予め設定された載置領域内の貨物群の3次元点群データを取得することは、以下を含む。少なくとも2つの3次元レーザースキャナーの各々によって取得された、予め設定された載置領域内の貨物群の候補点群データを取得する。少なくとも2つの3次元レーザースキャナーの各々によって取得された候補点群データを統合することによって、貨物群の完全な3次元点群データを取得する。
【0023】
3次元レーザースキャナーとは、実世界の物体の形状や外観などの情報を収集するための、マルチラインレーザー及び回転コンポーネントからなるデバイスである。3次元レーザースキャナーは主に、予め設定された載置領域内の貨物群をスキャンすることによって、貨物群の候補点群データを取得するように構成されている。候補点群データとは、3次元レーザースキャナーの各々によって収集された、予め設定された載置領域内の貨物群の3次元点群データを指す。少なくとも2つの3次元レーザースキャナーの各々によって収集された、予め設定された載置領域内の貨物群の候補点群データに対して点群スティチング(point cloud stitching)を行うことによって、貨物群の完全な3次元点群データを取得する。点群スティチングは主に、異なる点群に対して空間変換を行い、複数の点群を整合性のある3次元点群モデルにステッチすることである。
【0024】
1つの可能な実施形態において、少なくとも2つの3次元レーザースキャナーは、第1のスキャナー及び少なくとも1つの第2のスキャナーを含む。少なくとも2つの3次元レーザースキャナーの各々によって収集された、予め設定された載置領域内の貨物群の候補点群データを取得することは、以下を含む。第1のスキャナーによって収集された、予め設定された載置領域内の貨物群の候補点群データを取得する。第1のスキャナーは、リファレンススキャナーである。第2のスキャナーの各々によって収集された、予め設定された載置領域内の貨物群の候補点群データを取得する。
【0025】
1つの可能な実施形態において、少なくとも2つの3次元レーザースキャナーの各々によって収集された候補点群データを統合することによって、貨物群の完全な3次元点群データを取得することは、以下を含む。
第2のスキャナーごとに、第1のスキャナーに対する第2のスキャナーの位置・姿勢パラメータを取得する。
第2のスキャナーごとに取得された第1のスキャナーに対する第2のスキャナーの位置・姿勢パラメータに基づいて、第2のスキャナーの各々によって収集された、予め設定された載置領域内の貨物群の候補点群データに対して平行移動及び回転変換を行うことによって、第1のスキャナーの座標系における3次元点群データを取得する。
第1のスキャナーの座標系における取得されたすべての3次元点群データと、第1のスキャナーによって収集された、予め設定された載置領域内の貨物群の候補点群データとを統合することによって、貨物群の完全な3次元点群データを取得する。
【0026】
1つの可能な実施形態において、プロセッサは、少なくとも2つの3次元レーザースキャナーの各々によって収集された、予め設定された載置領域内の貨物群の候補点群データを取得する。上記少なくとも2つの3次元レーザースキャナーは、リファレンススキャナーとして用いられる第1のスキャナーと少なくとも1つの第2のスキャナーとを含む。プロセッサは、第2のスキャナーごとに、リファレンススキャナーに対する第2のスキャナーの位置・姿勢パラメータを取得する。プロセッサは、第2のスキャナーごとに取得されたリファレンススキャナーに対する第2のスキャナーの位置・姿勢パラメータに基づいて、少なくとも1つの第2のスキャナーの各々によって収集された、予め設定された載置領域内の貨物群の候補点群データに対して平行移動及び回転変換を行うことによって、リファレンススキャナーの座標系における3次元点群データを取得する。プロセッサは、リファレンススキャナーの座標系における取得されたすべての3次元点群データと、リファレンススキャナーによって収集された、予め設定された載置領域内の貨物群の候補点群データとを統合することによって、貨物群の完全な3次元点群データを取得する。
【0027】
具体的な例として、少なくとも2つの3次元レーザースキャナーは、リファレンススキャナーとして用いられる1つの第1のスキャナーと1つの第2のスキャナーとを含む。プロセッサは、第1のスキャナーと第2のスキャナーのそれぞれによって収集された、予め設定された載置領域内の貨物群の(3次元)候補点群データを取得する。プロセッサは、第1のスキャナーに対する第2のスキャナーの位置・姿勢パラメータを取得する。プロセッサは、取得された第1のスキャナーに対する第2のスキャナーの位置・姿勢パラメータに基づいて、第2のスキャナーによって収集された、予め設定された載置領域内の貨物群の候補点群データに対して平行移動及び回転変換を行う。プロセッサは、第2のスキャナーによって収集された、予め設定された載置領域内の貨物群の平行移動及び回転変換の後の候補点群データと、第1のスキャナーによって収集された、予め設定された載置領域内の貨物群の候補点群データとを統合することによって、貨物群の完全な3次元点群データを取得する。
【0028】
本実施形態において、載置領域内の貨物群の3次元候補点群データを取得し、統一座標系におけるすべての3次元候補点群データを統合して、貨物群の完全な3次元点群データを取得する。このように、精確な点群モデルを取得することができ、貨物計数の精度を向上させることができる。
【0029】
1つの実施形態において、貨物群が第1の載置状態にあるか否かを3次元点群データに基づいて判断することは、以下を含む。3次元点群データを地平面に投影することによって、統計ベースのグリッドマップ(statistics-based grid map)を取得する。グリッドマップに対して直線検出を行うことによって、複数の直線方程式を取得する。複数の直線方程式の各々に対応する直線の傾きが0又は1に等しい場合に、貨物群が第1の載置状態にあると確定する。
【0030】
グリッドマップとは、複数の小さな正方形からなるグラフである。グリッドマップにおける各小さな正方形の位置と色値は、色の濃淡の変化を反映することができる。グリッドマップは主に、3次元点群データの分析のために用いられる。画像空間x-yでは、直角座標系における直線はy=kx+bで表されることができ、y=kx+bは「直線方程式」とも呼ばれ、kは直線の傾きを表すパラメータであり、bは直線の切片を表すパラメータである。直線方程式は、グリッドマップに対して直線検出を行うことによって取得される。直線方程式の直線の傾きが0であることは、貨物群の長手方向が予め設定された載置領域の長手方向と平行であることを意味し、直線方程式の直線の傾きが1であることは、貨物群の短手方向が予め設定された載置領域の短手方向と平行であることを意味する。
【0031】
具体的に、プロセッサは、3次元点群データを地平面に投影する(即ち、3次元点群データのZ軸を0に設定する)ことによって、グリッドマップを取得する。プロセッサは、ハフ変換による直線検出というアルゴリズムでグリッドマップを処理することによって、複数の直線方程式を取得し、各直線方程式に基づいて直線の傾きを判断する。各直線方程式の直線の傾きが0又は1に等しい場合に、プロセッサは、貨物群が第1の載置状態にあると確定する。ハフ変換による直線検出というアルゴリズムは、画像処理のアルゴリズムの1つであり、画像から幾何学的形状(例えば、直線)を検出するための基本的な方法の1つである。ハフ変換による直線検出というアルゴリズムは、任意の直線をパラメータ空間に変換することができ、それによって、画像空間における直線検出課題をパラメータ空間における点検出課題へと簡略化することができる。例えば、平面上の任意の直線はy=kx+bで表され、相応に、任意の直線はパラメータ空間における1つの点(k,b)で表されることができる。また、グリッドマップの処理には、ハフ変換による直線検出というアルゴリズム以外に、任意の直線をパラメータ空間に変換することができるアルゴリズムが採用されることもできる。
【0032】
本実施形態において、貨物群の載置領域を判断することによって、貨物の総量の計算における誤り率を効果的に低下させることができる。
【0033】
1つの実施形態において、貨物群はキャリアに載せられており、貨物群の3次元点群データを取得することは、キャリア及び貨物群の3次元点群データを取得することを含む。貨物群における貨物の数を計算することは、以下を含む。
1つの貨物の高さと底面積、キャリアの高さ、1つの層を埋めつくす貨物の数、キャリアと貨物群の高さの合計、及び最上層にある貨物の総面積を確定する。
最上層にある貨物の総面積が面積閾値より小さいか否かを確定する。面積閾値は、1つの貨物の底面積を、1つの層を埋めつくす貨物の数に掛けることによって取得される。
最上層にある貨物の総面積が面積閾値より小さい場合に、1つの貨物の高さと底面積、キャリアの高さ、1つの層を埋めつくす貨物の数、キャリアと貨物群の高さの合計、及び最上層にある貨物の総面積に基づいて、貨物群における貨物の数を確定する。
最上層にある貨物の総面積が面積閾値に等しい場合に、1つの貨物の高さ、キャリアの高さ、1つの層を埋めつくす貨物の数、及びキャリアと貨物群の高さの合計に基づいて、貨物群における貨物の数を確定する。
【0034】
なお、本出願において、最上層以外の各層は貨物で埋め尽くされており、最上層は、貨物で埋め尽くされている状態にある可能性があれば、貨物で埋め尽くされていない状態にある可能性もある。また、各層に載置されることが許される貨物の最大数は(正しく載置された場合に)固定数である。即ち、各層では、1つの層を埋めつくす貨物の数が同じである。最上層が貨物で埋め尽くされていない状態にある場合に、最上層にある貨物の数は、1つの層を埋めつくす貨物の数より少ない。相応に、最上層にある貨物の総面積は、1つの層を埋めつくす貨物の総面積より小さい。最上層が貨物で埋め尽くされている状態にある場合に、最上層にある貨物の数は、1つの層を埋めつくす貨物の数に等しい。相応に、最上層にある貨物の総面積は、1つの層を埋めつくす貨物の総面積に等しい。本出願の面積閾値は、1つの貨物の底面積を、1つの層を埋めつくす貨物の数に掛けることによって取得され、1つの層を埋めつくす貨物の総面積を表す。最上層にある貨物の総面積が面積閾値より小さいと確定することは、最上層が貨物で埋め尽くされていない状態にあることを意味する。最上層にある貨物の総面積が面積閾値に等しいと確定する場合に、最上層が貨物で埋め尽くされている状態にあることを意味する。
【0035】
本出願の技術的解決策は、1つのキャリアに積み重ねられた貨物の計数というシナリオに適用され、例えば、複数の貨物が1つのキャリアに積み重ねられているシナリオに適用される。また、計数の誤り率を低下させるために、貨物の並べ方は特定の条件を満たす必要がある。具体的に、キャリア上に積み重ねられた複数の貨物は予め設定された載置領域内に完全に置かれる必要があり、且つ貨物が第1の載置状態にある。
【0036】
1つの実施形態において、1つの貨物の高さと底面積、キャリアの高さ、1つの層を埋めつくす貨物の数、キャリアと貨物群の高さの合計、及び最上層にある貨物の総面積に基づいて、貨物群における貨物の数を確定することは、以下を含む。
キャリアと貨物群の高さの合計、キャリアの高さ、及び1つの貨物の高さに基づいて、貨物群の層数を確定する。
最上層にある貨物の総面積、及び1つの貨物の底面積に基づいて、最上層にある貨物の数を確定する。
貨物群の層数、1つの層を埋めつくす貨物の数、及び最上層にある貨物の数に基づいて、貨物群における貨物の数を確定する。
【0037】
1つの実施形態において、1つの貨物の高さ、キャリアの高さ、1つの層を埋めつくす貨物の数、及びキャリアと貨物群の高さの合計に基づいて、貨物群における貨物の数を確定することは、以下を含む。
キャリアと貨物群の高さの合計、キャリアの高さ、及び1つの貨物の高さに基づいて、貨物群の層数を確定する。
貨物群の層数、及び1つの層を埋めつくす貨物の数に基づいて、貨物群における貨物の数を確定する。
【0038】
1つの実施形態において、キャリアと貨物群の高さの合計、及び最上層にある貨物の総面積は、3次元点群データに対して点群ボクセルグリッド化を行うことによって確定される。
【0039】
なお、本出願において、キャリアと貨物群の高さの合計、及び最上層にある貨物の総面積は、取得された貨物群の完全な3次元点群データを分析することによって確定される。貨物に関連する物理的なデータ及びキャリアに関連する物理的なデータ(例えば、1つの貨物の高さと底面積、キャリアの高さ、及び1つの層を埋めつくす貨物の数)は、予めに認知されることができる。
【0040】
具体的に、(1)プロセッサは、1つの貨物の高さhと底面積s、キャリアの高さa、及び1つの層を埋めつくす貨物の数nを確定し、キャリアと貨物群の3次元点群データに対してボクセルグリッド化を行うことによって取得されたグリッド化画像に基づいて、キャリアと貨物群の高さの合計H及び最上層にある貨物の総面積Sを確定する。(2)プロセッサは、最上層にある貨物の総面積Sが面積閾値TSより小さいか否かを確定する。面積閾値TSは、1つの貨物の底面積sを、1つの層を埋めつくす貨物の数nに掛けることによって取得される。(3)最上層にある貨物の総面積Sが面積閾値TSより小さい場合に、プロセッサは、キャリアと貨物群の高さの合計H、キャリアの高さa、及び1つの貨物の高さhを、公式w=(H-a)/hに代入することによって、貨物群の層数wを確定する。プロセッサは、最上層にある貨物の総面積S及び1つの貨物の底面積sを公式n’=S/sに代入することによって、最上層にある貨物の数n’を確定する。プロセッサは、貨物群の層数w、1つの層を埋めつくす貨物の数n、及び最上層にある貨物の数n’を、公式N=(w-1)・n+n’に代入することによって、貨物群における貨物の数Nを確定する。(4)最上層にある貨物の総面積Sが面積閾値TSに等しい場合に、プロセッサは、キャリアと貨物群の高さの合計H、キャリアの高さa、及び1つの貨物の高さhを、公式w=(H-a)/hに代入することによって、貨物群の層数wを確定する。プロセッサは、貨物群の層数w及び1つの層を埋めつくす貨物の数nを公式N=w・nに代入することによって、貨物群における貨物の数Nを確定する。
【0041】
1つの実施形態において、貨物群はキャリアに載せられており、貨物群の3次元点群データを取得することは、キャリア及び貨物群の3次元点群データを取得することを含み、貨物群における貨物の数を計算することは、以下を含む。
【0042】
ステップ302:3次元点群データに対して点群ボクセルグリッド化を行うことによって、キャリアと貨物群の高さの合計、及び最上層にある貨物の総面積を取得する。
【0043】
ボクセルグリッド化とは、物体の幾何学的表現を当該物体に最も近いボクセル表現に変換することであり、ボクセルグリッドは、貨物を表すための規則的な3次元グリッドの一形態で、3次元における2次元の画素の対照と見なされることができる。
【0044】
具体的に、プロセッサは、3次元点群データに対してボクセルグリッド化を行うことによってグリッド化画像を取得し、グリッド化画像に基づいてキャリアと貨物群の高さの合計及び最上層にある貨物の総面積を取得する。
【0045】
ステップ304:1つの貨物の高さと底面積、キャリアの高さ、1つの層を埋めつくす貨物の数を取得する。
【0046】
具体的に、プロセッサは、1つの貨物の高さと底面積、キャリアの高さ、1つの層を埋めつくす貨物の数を取得する。
【0047】
ステップ306:最上層にある貨物の総面積、及び1つの貨物の底面積に基づいて、最上層にある貨物の数を確定する。
【0048】
具体的に、プロセッサは、最上層にある貨物の総面積、及び1つの貨物の底面積に基づいて、最上層にある貨物の数を確定する。最上層にある貨物の数は、公式n’=S/sに基づいて計算され、n’は最上層にある貨物の数を表し、Sは最上層にある貨物の総面積を表し、sは1つの貨物の底面積を表す。
【0049】
ステップ308:キャリアと貨物群の高さの合計、キャリアの高さ、及び1つの貨物の高さに基づいて、貨物群の層数を確定する。
【0050】
具体的に、プロセッサは、キャリアと貨物群の高さの合計、キャリアの高さ、及び1つの貨物の高さに基づいて、貨物群の層数を確定する。貨物群の層数は、公式w=(H-a)/hに基づいて計算され、wは貨物群の層数を表し、Hはキャリアと貨物群の高さの合計を表し、hは1つの貨物の高さを表し、aはキャリアの高さを表す。
【0051】
ステップ310:貨物群の層数、1つの層を埋めつくす貨物の数、及び最上層にある貨物の数に基づいて、貨物群における貨物の総数を確定する。
【0052】
具体的に、プロセッサは、貨物群の層数、1つの層を埋めつくす貨物の数、及び最上層にある貨物の数に基づいて、貨物群における貨物の総数を確定する。貨物群における貨物の総数は、公式N=(w-1)・n+n’に基づいて計算され、Nは貨物群における貨物の総数を表し、wは貨物群の層数を表し、nは1つの層を埋めつくす貨物の数を表し、n’は最上層にある貨物の数を表す。
【0053】
なお、本出願において、各ステップにおける操作は、説明と異なる順序で実行されてもよいことに留意されたい。例えば、連続した2つのステップ(例として、ステップ302と304)は、実際に並行して実行されてもよく、時には逆の順序で実行されてもよい。それについては、本出願では限定されない。
【0054】
本実施形態において、取得された3次元点群データを分析すること及び貨物群とキャリアに関連した物理的なデータを取得することによって、貨物群における貨物(即ち、ばら積み貨物)の総数を計算する。このように、貨物の計数を実現し、貨物計数の効率を高めることができる。
【0055】
1つの実施形態において、貨物計数命令に基づいて収集された、予め設定された載置領域内の貨物群の3次元点群データを取得した後、上記方法は以下をさらに含む。3次元点群データに対して前処理を行うことによって、前処理された3次元点群データを取得する。貨物群が第1の載置状態にあるか否かを3次元点群データに基づいて判断することは、以下を含む。前処理された3次元点群データに基づいて、貨物群が第1の載置状態にあるか否かを判断する。
【0056】
3次元点群データの前処理とは、有効な点群情報を利用して(後続のデータ分析に不利なデータを除く)3次元再構築を行うことであり、即ち、予め設定された載置領域内の貨物群の3次元点群データを処理することである。1つの実施形態において、3次元点群データの前処理は、冗長データの除去、孤立点のフィルタリング、点群データの簡素化、及び点群データのレジストレーション(registration)を含む。冗長データの除去とは、繰り返して現れるデータを除去することである。孤立点のフィルタリングとは、孤立した点をフィルタリングすることである。点群データの簡素化とは、点群データを圧縮し、元のデータの内容を変えずに圧縮後のデータのサイズを元のデータより小さくすることである。点群データのレジストレーションとは、網羅的検索に基づくレジストレーションアルゴリズムと特徴マッチングに基づくレジストレーションアルゴリズムで、異なるスキャナーによって収集された点群データに対して、レジストレーションを行うことである。
【0057】
具体的に、プロセッサは、3次元点群データに対して前処理を行い、次に、前処理された3次元点群データに基づいて、貨物群が第1の載置状態にあるか否かを判断する。
【0058】
本実施形態において、3次元点群データに対して前処理を行うことによって、精確な3次元点群データを取得することができ、貨物群が第1の載置状態にあるか否かを判断する正確率を向上させることができる。
【0059】
1つの実施形態において、3次元点群データに対して前処理を行うことによって、前処理された3次元点群データを取得することは、以下を含む。
3次元点群データに対して、領域外点群フィルタリング(out-of-area point cloud filtering)、地平面点群フィルタリング(ground-plane point cloud filtering)、及び点群フィルタリング(point cloud filtering)を行うことによって、前処理された3次元点群データを取得する。
領域外点群フィルタリングは、予め設定された載置領域外にある点群データをフィルタリングすることであり、地平面点群フィルタリングは、地平面の点群データをフィルタリングして貨物群の点群データを残すことであり、点群フィルタリングは、点群データにおけるハッシュポイント及び孤立点をフィルタリングすることである。
【0060】
地平面点群フィルタリングは、RANSAC(RANdom SAmple Consensus)を利用して地平面の方程式をフィッティングして、フィルタリングしようとする点を取得し、次に、地平面を含む点群をフィルタリングして貨物群の点群データのみを残す。点群フィルタリングは、ガウス分布に基づく統計フィルタリングを利用して、点群データにおけるハッシュポイント及び孤立点をフィルタリングすることである。
【0061】
具体的に、プロセッサは、領域外点群フィルタリング、地平面点群フィルタリング、及び点群フィルタリングで、3次元点群データに対して前処理を行う。
【0062】
本実施形態において、3次元点群データに対して前処理を行うことによって、精確な3次元点群データを取得することができ、貨物群が第1の載置状態にあるか否かを判断する正確率を向上させることができる。
【0063】
以下、本出願の実施形態に係る貨物計数方法に基づいて、1つの詳細な実施例で貨物計数の具体的なステップが説明される。
【0064】
(1)サーバ(例えば、中央制御システム)は、貨物載置命令を発行して、無人フォークリフトに、貨物載置命令に基づいて貨物を取り出して予め設定された載置領域(例えば、矩形の載置領域)内に載置するよう指示する。また、中央制御システムは、無人フォークリフトが貨物載置の操作を完了した後のフィードバック情報を受信する。
【0065】
(2)中央制御システムは、貨物計数命令(例えば、ばら積み貨物の計数命令)を発行し、貨物の上部の対角に取り付けられた2つの3次元レーザースキャナーの各々を介して予め設定された載置領域内の貨物の情報を収集して、予め設定された載置領域内の貨物の候補点群データ(例えば、目標情報)を取得する。
【0066】
(3)中央制御システムは、2つの3次元レーザースキャナーの位置・姿勢パラメータを取得する。
【0067】
(4)中央制御システムは、2つの3次元レーザースキャナーの位置・姿勢パラメータに基づいて、2つの3次元レーザースキャナーによって収集された、予め設定された載置領域内の貨物の候補点群データを変換し、変換後の点群データを貨物の完全な3次元点群データ(例えば、レーザー点群データ)に統合する。
【0068】
(5)中央制御システムは、完全なレーザー点群データに対して一連の前処理(例えば、領域外点群フィルタリング、地平面点群フィルタリング、点群フィルタリングなど)を行う。
【0069】
(6)中央制御システムは、前処理されたレーザー点群データを地平面に投影することによって、統計ベースのグリッドマップを取得する。中央制御システムは、ハフ変換による直線検出というアルゴリズムでグリッドマップを処理することによって、複数の直線方程式を取得する。複数の直線方程式の各々の直線の傾きが0又は1に等しければ、貨物が標準的な載置状態にあると確定し、即ち、貨物が第1の載置状態にあると確定する。そうでなければ、貨物が標準的な載置状態にないと確定し、即ち、貨物が第2の載置状態にあると確定する。貨物が第2の載置状態にあると確定する場合に、中央制御システムは、無人フォークリフトに、上記貨物(例えば、ばら積み貨物)を異常領域へ搬送するよう指示する。
【0070】
(7)中央制御システムは、ばら積み貨物が第1の載置状態にあると検出した場合に、レーザー点群データに対して点群ボクセルグリッド化を行うことによって、キャリアと貨物群の高さの合計H、及び最上層にある貨物の総面積S(例えば、最上層にあるばら積み貨物の総面積)を取得する。
【0071】
(8)中央制御システムは、1つの貨物の高さhと底面積s、キャリア(例えば、パレット)の高さa、及び1つの層を埋めつくす貨物の数nを取得する。中央制御システムは、公式w=(H-a)/hに基づいて貨物群の層数(例えば、ばら積み貨物の層数)を計算し、公式n’=S/sに基づいて最上層にある貨物の数(例えば、最上層にあるばら積み貨物の数)を計算し、また、公式N=(w-1)・n+n’に基づいて貨物群における貨物の総数(例えば、ばら積み貨物の総数)を計算する。
【0072】
上記各実施形態に係るフローチャートにおける各ステップは、矢印に従って順次に記述されているが、それらのステップは必ずしも矢印に従って順次に実行されるというわけではないことを理解されたい。本明細書で明示しない限り、それらのステップの実行は厳密にその順序に限定されなく、それらのステップは他の順序で実行されてもよい。さらに、上記各実施形態に係るフローチャートにおけるステップの少なくとも一部は、複数のステップ又は段階を含んでいてもよく、それらのステップ又は段階は、必ずしも同時に実行されて完了するというわけではなく、異なるタイミングで実行されてもよい。また、それらのステップ又は段階の実行は必ずしも連続的であるというわけではなく、他のステップや他のステップにおけるステップ又は段階の少なくとも一部と順番に、又は交代で実行されてもよい。
【0073】
同じ発明概念に基づいて、本出願の実施形態において、上記貨物計数方法を実施するための貨物計数装置がさらに提供される。当該装置における解決策は上記方法における解決策と類似であるため、以下に提供される貨物計数装置の1つ又は複数の実施形態については、上記貨物計数方法の実施形態を参照することができ、本明細書で繰り返さない。
【0074】
本出願の実施形態において、貨物計数装置が提供される。
図5に示されるように、当該貨物計数装置は、データ取得モジュール510、判断モジュール520、及び計算モジュール530を含む。
データ取得モジュール510は、貨物計数命令に基づいて収集された、予め設定された載置領域内の貨物群の3次元点群データを取得するように構成されている。
判断モジュール520は、3次元点群データに基づいて、貨物群が第1の載置状態にあるか否かを判断するように構成されている。
計算モジュール530は、貨物群が第1の載置状態にある場合に、貨物群における貨物の数を計算するように構成されている。
【0075】
1つの実施形態において、貨物計数命令に基づいて収集された、予め設定された載置領域内の貨物群の3次元点群データを取得することについて、データ取得モジュール510は、少なくとも2つの3次元レーザースキャナーの各々によって収集された、予め設定された載置領域内の貨物群の候補点群データを取得し、少なくとも2つの3次元レーザースキャナーの各々によって収集された候補点群データを統合することによって、貨物群の完全な3次元点群データを取得するようにさらに構成されている。
【0076】
1つの実施形態において、少なくとも2つの3次元レーザースキャナーの各々によって収集された、予め設定された載置領域内の貨物群の候補点群データを取得することについて、データ取得モジュール510は、第1のスキャナーによって収集された、予め設定された載置領域内の貨物群の候補点群データを取得し、少なくとも第2のスキャナーの各々によって収集された、予め設定された載置領域内の貨物群の候補点群データを取得するようにさらに構成されている。第1のスキャナーは、リファレンススキャナーである。
【0077】
1つの実施形態において、少なくとも2つの3次元レーザースキャナーの各々によって収集された候補点群データを統合することによって、貨物群の完全な3次元点群データを取得することについて、データ取得モジュール510は、以下のようにさらに構成されている。
第2のスキャナーごとに、第1のスキャナーに対する第2のスキャナーの位置・姿勢パラメータを取得する。第2のスキャナーごとに取得された第1のスキャナーに対する第2のスキャナーの位置・姿勢パラメータに基づいて、第2のスキャナーの各々によって収集された、予め設定された載置領域内の貨物群の候補点群データに対して平行移動及び回転変換を行うことによって、第1のスキャナーの座標系における3次元点群データを取得する。第1のスキャナーの座標系における取得されたすべての3次元点群データと、第1のスキャナーによって収集された、予め設定された載置領域内の貨物群の候補点群データとを統合することによって、貨物群の完全な3次元点群データを取得する。
【0078】
1つの実施形態において、上記貨物計数装置は、検出モジュールをさらに含む。検出モジュールは、3次元点群データを地平面に投影することによって統計ベースのグリッドマップを取得し、グリッドマップに対して直線検出を行うことによって複数の直線方程式を取得し、複数の直線方程式の各々に対応する直線の傾きが0又は1に等しい場合に貨物群が第1の載置状態にあると確定するように構成されている。
【0079】
1つの実施形態において、貨物群はキャリアに載せられている。貨物群の3次元点群データを取得することについて、データ取得モジュール510は、キャリア及び貨物群の3次元点群データを取得するように構成されている。
データ取得モジュール510は、以下のようにさらに構成されている。3次元点群データに対して点群ボクセルグリッド化を行うことによって、キャリアと貨物群の高さの合計、及び最上層にある貨物の総面積を取得する。1つの貨物の高さと底面積、キャリアの高さ、及び1つの層を埋めつくす貨物の数を取得する。
計算モジュール530は、以下のように構成されている。最上層にある貨物の総面積、及び1つの貨物の底面積に基づいて、最上層にある貨物の数を確定する。キャリアと貨物群の高さの合計、キャリアの高さ、及び1つの貨物の高さに基づいて、貨物群の層数を確定する。貨物群の層数、1つの層を埋めつくす貨物の数、及び最上層にある貨物の数に基づいて、貨物群における貨物の数を確定する。
【0080】
1つの実施形態において、貨物群はキャリアに載せられている。貨物群の3次元点群データを取得することについて、データ取得モジュール510は、キャリア及び貨物群の3次元点群データを取得するように構成されている。
データ取得モジュール510は、1つの貨物の高さと底面積、キャリアの高さ、1つの層を埋めつくす貨物の数、キャリアと貨物群の高さの合計、及び最上層にある貨物の総面積を確定するように構成されている。
計算モジュール530は、以下のように構成されている。最上層にある貨物の総面積が面積閾値より小さいか否かを確定する。面積閾値は、1つの貨物の底面積を、1つの層を埋めつくす貨物の数に掛けることによって取得される。最上層にある貨物の総面積が面積閾値より小さい場合に、1つの貨物の高さと底面積、キャリアの高さ、1つの層を埋めつくす貨物の数、キャリアと貨物群の高さの合計、及び最上層にある貨物の総面積に基づいて、貨物群における貨物の数を確定する。最上層にある貨物の総面積が面積閾値に等しい場合に、1つの貨物の高さ、キャリアの高さ、1つの層を埋めつくす貨物の数、及びキャリアと貨物群の高さの合計に基づいて、貨物群における貨物の数を確定する。
【0081】
1つの実施形態において、計算モジュール530は、以下のように構成されている。最上層にある貨物の総面積が面積閾値より小さい場合に、キャリアと貨物群の高さの合計、キャリアの高さ、及び1つの貨物の高さに基づいて、貨物群の層数を確定する。最上層にある貨物の総面積、及び1つの貨物の底面積に基づいて、最上層にある貨物の数を確定する。貨物群の層数、1つの層を埋めつくす貨物の数、及び最上層にある貨物の数に基づいて、貨物群における貨物の数を確定する。
【0082】
1つの実施形態において、計算モジュール530は、以下のように構成されている。最上層にある貨物の総面積が面積閾値に等しい場合に、キャリアと貨物群の高さの合計、キャリアの高さ、及び1つの貨物の高さに基づいて、貨物群の層数を確定する。貨物群の層数、及び1つの層を埋めつくす貨物の数に基づいて、貨物群における貨物の数を確定する。
【0083】
1つの実施形態において、キャリアと貨物群の高さの合計、及び最上層にある貨物の総面積は、3次元点群データに対して点群ボクセルグリッド化を行うことによって確定される。
【0084】
1つの実施形態において、上記貨物計数装置は、前処理モジュールをさらに含む。前処理モジュールは、3次元点群データに対して前処理を行うことによって、前処理された3次元点群データを取得するように構成されている。
3次元点群データに基づいて、貨物群が第1の載置状態にあるか否かを判断することについて、判断モジュール520は、前処理された3次元点群データに基づいて、貨物群が第1の載置状態にあるか否かを判断するように構成されている。
【0085】
1つの実施形態において、前処理モジュールは、3次元点群データに対して、領域外点群フィルタリング、地平面点群フィルタリング、及び点群フィルタリングを行うことによって、前処理された3次元点群データを取得するように構成されている。領域外点群フィルタリングは、予め設定された載置領域外にある点群データをフィルタリングすることであり、地平面点群フィルタリングは、地平面の点群データをフィルタリングして貨物群の点群データを残すことであり、点群フィルタリングは、点群データにおけるハッシュポイント及び孤立点をフィルタリングすることである。
【0086】
開示される装置は、他の形態により実装され得ると理解されるべきである。例えば、上記装置の実施形態は、例示的なものに過ぎない。例えば、上記ユニットの分割はロジック機能の分割に過ぎず、実際に実装される場合に、別の分割形態を有してもよい。例えば、複数のユニット又はコンポーネントを組み合わせ、又は別のシステムに集積させ、又はその若干の特徴を無視し、又は実行しなくてもよい。また、示される又は検討される相互間の結合や直接結合や通信接続は、いくつかのインタフェース、装置、又はユニットによる間接結合や通信接続であってもよく、電気又は他の形態であってもよい。
【0087】
上記貨物計数装置における各モジュールは、その全部又は一部が、ソフトウェア、ハードウェア及びそれらの組み合わせによって実装されてもよい。上記各モジュールは、ハードウェアの形態でコンピュータ装置内のプロセッサに埋め込まれてもよく、コンピュータ装置内のプロセッサから独立してもよく、ソフトウェアの形態でコンピュータ装置内のメモリに記憶されてもよく、それによって、プロセッサは上記各モジュールに対応する操作を呼び出して実行することができる。
【0088】
本出願の実施形態において、コンピュータ装置が提供される。当該コンピュータ装置は、サーバであってもよく、その内部構造図は
図6に示されている。当該コンピュータ装置は、システムバスを介して互いに接続されたプロセッサ、メモリ、ネットワークインタフェース及び入出力(I/O)インターフェースを含む。当該コンピュータ装置のプロセッサは、計算及び制御機能を提供するように構成されている。当該コンピュータ装置のメモリは、不揮発性記憶媒体及び内部メモリを含む。当該不揮発性記憶媒体は、オペレーティングシステム、コンピュータプログラム及びデータベースを記憶している。当該内部メモリは、不揮発性記憶媒体におけるオペレーティングシステム及びコンピュータプログラムの実行環境を提供する。当該コンピュータ装置のデータベースは、貨物の点群データを記憶するために用いられる。当該コンピュータ装置のネットワークインターフェースは、ネットワーク接続を介して外部端末と通信するために用いられる。当該コンピュータプログラムは、上記貨物計数方法を実行するように、プロセッサによって実行される。
【0089】
図6に示された構造は、本出願の解決策に関連する一部の構造のブロック図に過ぎず、本出願の解決策が適用されるコンピュータ装置を制限するものではないことを当業者は理解することができる。コンピュータ装置は、図面より多い又はより少ないコンポーネントを含んでもよく、特定のコンポーネントを組み合わせてもよく、異なるコンポーネントの配置を有してもよい。
【0090】
本出願の実施形態において、コンピュータ装置が提供される。当該コンピュータ装置は、メモリ及びプロセッサを含む。メモリは、プロセッサに結合され且つコンピュータプログラムを記憶している。当該コンピュータプログラムは、プロセッサによって実行されると、プロセッサが以下を実行すること、を可能にする。
貨物計数命令に基づいて収集された、予め設定された載置領域内の貨物群の3次元点群データを取得する。貨物群が第1の載置状態にあるか否かを3次元点群データに基づいて判断する。貨物群が第1の載置状態にある場合に、貨物群における貨物の数を計算する。
【0091】
1つの実施形態において、貨物計数命令に基づいて収集された、予め設定された載置領域内の貨物群の3次元点群データを取得することについて、プロセッサは、
少なくとも2つの3次元レーザースキャナーの各々によって収集された、予め設定された載置領域内の貨物群の候補点群データを取得し、
少なくとも2つの3次元レーザースキャナーの各々によって収集された候補点群データを統合することによって、貨物群の完全な3次元点群データを取得するように構成されている。
【0092】
1つの実施形態において、貨物計数命令に基づいて収集された、予め設定された載置領域内の貨物群の候補点群データを取得することについて、プロセッサは、以下のように構成されている。
第1のスキャナーによって収集された、予め設定された載置領域内の貨物群の候補点群データを取得する。少なくとも1つの第2のスキャナーの各々によって収集された、予め設定された載置領域内の貨物群の候補点群データを取得する。第1のスキャナーは、リファレンススキャナーである。第2のスキャナーごとに、第1のスキャナーに対する第2のスキャナーの位置・姿勢パラメータを取得する。第2のスキャナーごとに取得された第1のスキャナーに対する第2のスキャナーの位置・姿勢パラメータに基づいて、第2のスキャナーの各々によって収集された、予め設定された載置領域内の貨物群の候補点群データに対して平行移動及び回転変換を行うことによって、第1のスキャナーの座標系における3次元点群データを取得する。第1のスキャナーの座標系における取得されたすべての3次元点群データと、第1のスキャナーによって収集された、予め設定された載置領域内の貨物群の候補点群データとを統合することによって、貨物群の完全な3次元点群データを取得する。
【0093】
1つの実施形態において、貨物群が第1の載置状態にあるか否かを3次元点群データに基づいて判断することについて、プロセッサは、3次元点群データを地平面に投影することによって統計ベースのグリッドマップを取得し、グリッドマップに対して直線検出を行うことによって複数の直線方程式を取得し、複数の直線方程式の各々に対応する直線の傾きが0又は1に等しい場合に貨物群が第1の載置状態にあると確定するように構成されている。
【0094】
1つの実施形態において、貨物群はキャリアに載せられている。貨物群の3次元点群データを取得することについて、プロセッサは、キャリア及び貨物群の3次元点群データを取得するように構成されている。貨物群における貨物の数を計算することについて、プロセッサは、以下のように構成されている。
3次元点群データに対して点群ボクセルグリッド化を行うことによって、キャリアと貨物群の高さの合計、及び最上層にある貨物の総面積を取得する。1つの貨物の高さと底面積、キャリアの高さ、及び1つの層を埋めつくす貨物の数を取得する。最上層にある貨物の総面積、及び1つの貨物の底面積に基づいて、最上層にある貨物の数を確定する。キャリアと貨物群の高さの合計、キャリアの高さ、及び1つの貨物の高さに基づいて、貨物群の層数を確定する。貨物群の層数、1つの層を埋めつくす貨物の数、及び最上層にある貨物の数に基づいて、貨物群における貨物の数(即ち、総数)を確定する。
【0095】
1つの実施形態において、貨物群はキャリアに載せられている。貨物群の3次元点群データを取得することについて、プロセッサは、キャリア及び貨物群の3次元点群データを取得するように構成されている。貨物群における貨物の数を計算することについて、プロセッサは、以下のように構成されている。
1つの貨物の高さと底面積、キャリアの高さ、1つの層を埋めつくす貨物の数、キャリアと貨物群の高さの合計、及び最上層にある貨物の総面積を確定する。最上層にある貨物の総面積が面積閾値より小さいか否かを確定する。面積閾値は、1つの貨物の底面積を、1つの層を埋めつくす貨物の数に掛けることによって取得される。最上層にある貨物の総面積が面積閾値より小さい場合に、1つの貨物の高さと底面積、キャリアの高さ、1つの層を埋めつくす貨物の数、キャリアと貨物群の高さの合計、及び最上層にある貨物の総面積に基づいて、貨物群における貨物の数を確定する。最上層にある貨物の総面積が面積閾値に等しい場合に、1つの貨物の高さ、キャリアの高さ、1つの層を埋めつくす貨物の数、及びキャリアと貨物群の高さの合計に基づいて、貨物群における貨物の数を確定する。
【0096】
1つの実施形態において、1つの貨物の高さと底面積、キャリアの高さ、1つの層を埋めつくす貨物の数、キャリアと貨物群の高さの合計、及び最上層にある貨物の総面積に基づいて、貨物群における貨物の数を確定することについて、プロセッサは、以下のように構成されている。
キャリアと貨物群の高さの合計、キャリアの高さ、及び1つの貨物の高さに基づいて、貨物群の層数を確定する。最上層にある貨物の総面積、及び1つの貨物の底面積に基づいて、最上層にある貨物の数を確定する。貨物群の層数、1つの層を埋めつくす貨物の数、及び最上層にある貨物の数に基づいて、貨物群における貨物の数を確定する。
【0097】
1つの実施形態において、1つの貨物の高さ、キャリアの高さ、1つの層を埋めつくす貨物の数、及びキャリアと貨物群の高さの合計に基づいて、貨物群における貨物の数を確定することについて、プロセッサは、
キャリアと貨物群の高さの合計、キャリアの高さ、及び1つの貨物の高さに基づいて、貨物群の層数を確定し、
貨物群の層数、及び1つの層を埋めつくす貨物の数に基づいて、貨物群における貨物の数を確定するように構成されている。
【0098】
1つの実施形態において、キャリアと貨物群の高さの合計、及び最上層にある貨物の総面積は、3次元点群データに対して点群ボクセルグリッド化を行うことによって確定される。
【0099】
1つの実施形態において、貨物計数命令に基づいて収集された、予め設定された載置領域内の貨物群の3次元点群データを取得した後、プロセッサは、3次元点群データに対して前処理を行うことによって、前処理された3次元点群データを取得するようにさらに構成されている。
貨物群が第1の載置状態にあるか否かを3次元点群データに基づいて判断することについて、プロセッサは、前処理された3次元点群データに基づいて、貨物群が第1の載置状態にあるか否かを判断するように構成されている。
【0100】
1つの実施形態において、3次元点群データに対して前処理を行うことによって、前処理された3次元点群データを取得することについて、プロセッサは、3次元点群データに対して、領域外点群フィルタリング、地平面点群フィルタリング、及び点群フィルタリングを行うことによって、前処理された3次元点群データを取得するように構成されている。領域外点群フィルタリングは、予め設定された載置領域外にある点群データをフィルタリングすることであり、地平面点群フィルタリングは、地平面の点群データをフィルタリングして貨物群の点群データを残すことであり、点群フィルタリングは、点群データにおけるハッシュポイント及び孤立点をフィルタリングすることである。
【0101】
本出願の実施形態において、不揮発性コンピュータ可読記憶媒体がさらに提供される。当該不揮発性コンピュータ可読記憶媒体は、コンピュータプログラムを記憶している。当該コンピュータプログラムは、プロセッサによって実行されると、プロセッサが本出願の実施形態に係る貨物計数方法を実行すること、を可能にする。
【0102】
本出願の実施形態において、コンピュータプログラム製品がさらに提供される。当該コンピュータプログラム製品は、コンピュータプログラムを含む。当該コンピュータプログラムは、プロセッサが上記方法実施形態に記載の貨物計数方法における操作の一部又は全部を実行すること、を可能にするよう動作することができる。当該コンピュータプログラム製品は、ソフトウェアインストールパッケージであることができる。
【0103】
上記実施形態では、各実施形態の説明にはそれぞれ焦点がある。ある実施形態において、詳しく説明されなかった部分については、他の実施形態の関連説明を参照することができる。
【0104】
本出願の様々な形態は、本出願の実施形態に係る方法、装置、コンピュータ装置、及び記憶媒体のフローチャート及び/又はブロック図を参照しながら説明された。フローチャート及び/又はブロック図の各ブロック、及びフローチャート及び/又はブロック図の各ブロックの組み合わせは、コンピュータ可読プログラム命令によって実装され得ることを理解されたい。
【0105】
なお、本出願に係るユーザ情報(ユーザ機器情報、ユーザ個人情報を含むがそれらに限定されない)及びデータ(分析用データ、記憶されたデータ、示されたデータを含むがそれに限定されない)はいずれも、ユーザによって許可され又は関係者によって完全に許可された情報及びデータであることに留意する必要がある。
【0106】
上記実施形態の方法におけるプロセスの全部又は一部は、コンピュータプログラムが関連ハードウェアを指示することによって完成され得るということを、当業者は理解することができる。当該コンピュータプログラムは、不揮発性コンピュータ可読記憶媒体に記憶されることができる。当該コンピュータプログラムは、実行されると、上記方法実施形態のプロセスを実行するように動作可能である。本出願に係る各実施形態に使用されるメモリ、データベース、又は他の媒体への任意の引用は、不揮発性メモリ及び発揮性メモリのうちの少なくとも1つを含むことができる。不揮発性メモリは、読み取り専用メモリ(read only memory、ROM)、磁気テープ、フロッピーディスク、フラッシュメモリ、光メモリ、高密度・組み込み型不発揮性メモリ(high-density embedded non-transitory memory)、抵抗変化型メモリ(resistive memory、ReRAM)、磁気抵抗メモリ(magnetoresistive random access memory、MRAM)、強誘電体メモリ(ferroelectric RAM、FRAM)、相変化メモリ(phase change memory、PCM)、グラフェンメモリ(graphene memory)などを含むことができる。揮発性メモリは、ランダムアクセスメモリ(random access memory、RAM)、外部キャッシュメモリなどを含むことができる。限定的ではなく例示的な例として、RAMは、様々な形態を有することができ、例えば、スタティック・ランダム・アクセス・メモリ(static RAM、SRAM)、ダイナミック・ランダム・アクセス・メモリ(dynamic RAM、DRAM)などが挙げられる。本出願の各実施形態に係るデータベースは、リレーショナルデータベース及び非リレーショナルデータベースのうちの少なくとも1つを含むことができる。非リレーショナルデータベースは、ブロックチェーンベースの分散型データベース(blockchain-based distributed database)などを含むことができ、それに限定されない。本出願の各実施形態に係るプロセッサは、汎用プロセッサ、中央処理装置、グラフィックプロセッサ、デジタル信号プロセッサ、プログラマブル・ロジック・デバイス、量子計算ベースのデータ処理ロジックデバイス(data processing logic device based on quantum computing)などであることができるが、それらに限定されない。
【0107】
上記実施形態の各技術的特徴は、任意に組み合わせられることができる。簡潔さのために、上記実施形態における各技術的特徴のすべての可能な組み合わせが記載されているわけではない。しかし、それらの技術的特徴の組み合わせに矛盾がない限り、それらの組み合わせはすべて本明細書の記載の範囲にあると考えるべきである。