Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7816581B2 - Extraction device, extraction method, and extraction program - Google Patents
[go: Go Back, main page]

JP7816581B2 - Extraction device, extraction method, and extraction program - Google Patents

Extraction device, extraction method, and extraction program

Info

Publication number
JP7816581B2
JP7816581B2 JP2024571597A JP2024571597A JP7816581B2 JP 7816581 B2 JP7816581 B2 JP 7816581B2 JP 2024571597 A JP2024571597 A JP 2024571597A JP 2024571597 A JP2024571597 A JP 2024571597A JP 7816581 B2 JP7816581 B2 JP 7816581B2
Authority
JP
Japan
Prior art keywords
point cloud
cylindrical object
unit
height
extraction
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.)
Active
Application number
JP2024571597A
Other languages
Japanese (ja)
Other versions
JPWO2024154360A1 (en
Inventor
雄介 櫻原
幸弘 五藤
展之 岡野
崇 海老根
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.)
NTT Inc
NTT Inc USA
Original Assignee
Nippon Telegraph and Telephone Corp
NTT Inc USA
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 Nippon Telegraph and Telephone Corp, NTT Inc USA filed Critical Nippon Telegraph and Telephone Corp
Publication of JPWO2024154360A1 publication Critical patent/JPWO2024154360A1/ja
Application granted granted Critical
Publication of JP7816581B2 publication Critical patent/JP7816581B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/26Measuring arrangements characterised by the use of optical techniques for measuring angles or tapers; for testing the alignment of axes
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C15/00Surveying instruments or accessories not provided for in groups G01C1/00 - G01C13/00

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Image Analysis (AREA)

Description

開示の技術は、抽出装置、抽出方法、及び抽出プログラムに関する。 The disclosed technology relates to an extraction device, an extraction method, and an extraction program.

従来、屋外構造物を車載した3次元レーザスキャナ(Mobile Mapping System:MMS)により、屋外構造物を3次元モデル化する技術がある(特許文献1)。当該技術は、点群が存在しない空間上に点群及びスキャンラインを創り出した後に3次元モデルを作製することで、点群が疎の状態(車両速度が速い状態)でも良好な結果が得られるようにしている。 Conventionally, there is a technology for creating 3D models of outdoor structures using a vehicle-mounted 3D laser scanner (Mobile Mapping System: MMS) (Patent Document 1). This technology creates a point cloud and scan lines in a space where no point cloud exists, and then creates a 3D model, thereby achieving good results even when the point cloud is sparse (when the vehicle is traveling at high speed).

特開2017-156179号公報JP 2017-156179 A

3次元LiDAR(Light Detection and Ranging)により取得した点群を利用して、施工中に障害物接触を避けるためリアルタイムで円柱物抽出を実現することが考えられる。しかし、従来技術では、円柱物が地面に対して直立している前提の下、円検出を行うことで円柱物を抽出していることに加え、スキャンラインの創出、3Dモデル作製に時間を要するため、リアルタイムに物体検知することは難しい。施工中であれば円柱物は直立状態に限らず、空中で斜めに傾いたり、地面に置いたりしているため、ある軸に沿って円形状に点群が並んでいる場合もあれば、障害物により円形状に並んでいない場合もある。従来技術を適用して円検出を実施しても、円柱物の傾きが大きくなってくると点群の並びが直立状態と変わってくるため円検出ができなくなる。また、取得点群数が少なく円形状と認識されない場合もある。そのため、直立以外の状態での円柱物をリアルタイムに抽出することは困難である、という課題があった。 It is conceivable to use point clouds acquired by 3D LiDAR (Light Detection and Ranging) to achieve real-time cylindrical object extraction to avoid contact with obstacles during construction. However, conventional technology extracts cylindrical objects by performing circle detection under the assumption that the cylindrical object is upright relative to the ground. In addition, creating scan lines and creating a 3D model requires time, making real-time object detection difficult. During construction, cylindrical objects are not limited to being upright; they may be tilted in the air or placed on the ground. Therefore, the point cloud may be arranged in a circular shape along a certain axis, or it may not be arranged in a circular shape due to obstacles. Even when circle detection is performed using conventional technology, as the tilt of the cylindrical object increases, the arrangement of the point cloud changes from that of an upright object, making circle detection impossible. Furthermore, the number of acquired point clouds may be small, and the object may not be recognized as a circle. As a result, real-time extraction of cylindrical objects in positions other than upright has been problematic.

開示の技術は、上記の点に鑑みてなされたものであり、円柱物が傾いている場合であっても円柱物の抽出が可能となる抽出装置、抽出方法、及び抽出プログラムを提供することを目的とする。 The disclosed technology has been developed in consideration of the above points, and aims to provide an extraction device, extraction method, and extraction program that are capable of extracting cylindrical objects even when the cylindrical objects are tilted.

本開示の第1態様は、抽出装置であって、入力された点群について、前記点群に含まれる円柱物の傾きの角度を取得する取得部と、前記取得した角度を用いて、前記円柱物の傾きの角度が基準角度となるように、前記点群の座標を変換する変換部と、前記変換された前記点群の座標に基づいて、前記点群から円柱物を抽出する抽出部と、を含む。 A first aspect of the present disclosure is an extraction device that includes an acquisition unit that acquires the tilt angle of cylindrical objects included in an input point cloud, a conversion unit that converts the coordinates of the point cloud using the acquired angle so that the tilt angle of the cylindrical objects becomes a reference angle, and an extraction unit that extracts cylindrical objects from the point cloud based on the converted coordinates of the point cloud.

本開示の第2態様は、抽出方法であって、取得部が、入力された点群について、前記点群に含まれる円柱物の傾きの角度を取得し、変換部が、前記取得した角度を用いて、前記円柱物の傾きの角度が基準角度となるように、前記点群の座標を変換し、抽出部が、前記変換された前記点群の座標に基づいて、前記点群から円柱物を抽出する。 A second aspect of the present disclosure is an extraction method in which an acquisition unit acquires the tilt angle of a cylindrical object included in an input point cloud, a conversion unit uses the acquired angle to convert the coordinates of the point cloud so that the tilt angle of the cylindrical object becomes a reference angle, and an extraction unit extracts the cylindrical object from the point cloud based on the converted coordinates of the point cloud.

本開示の第3態様は、抽出プログラムであって、入力された点群について、前記点群に含まれる円柱物の傾きの角度を取得し、前記取得した角度を用いて、前記円柱物の傾きの角度が基準角度となるように、前記点群の座標を変換し、前記変換された前記点群の座標に基づいて、前記点群から円柱物を抽出する、処理をコンピュータに実行させる。 A third aspect of the present disclosure is an extraction program that causes a computer to execute the following process: for an input point cloud, obtain the tilt angle of a cylindrical object contained in the point cloud; use the obtained angle to transform the coordinates of the point cloud so that the tilt angle of the cylindrical object becomes a reference angle; and extract the cylindrical object from the point cloud based on the transformed coordinates of the point cloud.

開示の技術によれば、円柱物が傾いている場合であっても円柱物の抽出が可能となる。 The disclosed technology makes it possible to extract cylindrical objects even if they are tilted.

点群の高さグループの一例を示す図である。FIG. 10 is a diagram illustrating an example of height groups of a point cloud. 高さグループの点群から平面的に円検出する様子を示す図である。FIG. 10 is a diagram showing how circles are detected in a plane from a point cloud of height groups. 本実施形態の円柱物の抽出の過程の一例を示す。10 shows an example of a process for extracting a cylindrical object according to this embodiment. 抽出装置のハードウェア構成を示すブロック図である。FIG. 2 is a block diagram showing a hardware configuration of the extraction device. 本実施形態の抽出装置の構成を示すブロック図である。1 is a block diagram showing a configuration of an extraction device according to an embodiment of the present invention; 本実施形態の抽出装置の抽出部の構成を示すブロック図である。FIG. 2 is a block diagram showing the configuration of an extraction unit of the extraction device of the present embodiment. 抽出装置による抽出処理の流れを示すフローチャートである。10 is a flowchart showing the flow of extraction processing by the extraction device. 点群計測器の計測点を基準としたx軸、y軸、z軸を示す図である。FIG. 2 is a diagram showing x-axis, y-axis, and z-axis based on the measurement points of the point cloud measuring instrument. 抽出装置による抽出処理の流れを示すフローチャートである。10 is a flowchart showing the flow of extraction processing by the extraction device. 抽出装置による抽出処理の流れを示すフローチャートである。10 is a flowchart showing the flow of extraction processing by the extraction device. 抽出装置による抽出処理の流れを示すフローチャートである。10 is a flowchart showing the flow of extraction processing by the extraction device. 斜め電柱を抽出する例を示す図である。FIG. 10 is a diagram illustrating an example of extracting a diagonal utility pole.

以下、開示の技術の実施形態の一例を、図面を参照しつつ説明する。なお、各図面において同一又は等価な構成要素及び部分には同一の参照符号を付与している。また、図面の寸法比率は、説明の都合上誇張されており、実際の比率とは異なる場合がある。 An example of an embodiment of the disclosed technology will be described below with reference to the drawings. Note that identical or equivalent components and parts in each drawing are given the same reference numerals. Also, the dimensional proportions in the drawings have been exaggerated for the sake of explanation and may differ from the actual proportions.

まず、本開示の実施形態の手法について説明する。 First, we will explain the methodology of an embodiment of the present disclosure.

本開示の実施形態では、点群内から円柱物(例えば、電柱)を抽出し、点群を識別する。 In an embodiment of the present disclosure, cylindrical objects (e.g., utility poles) are extracted from the point cloud and the point cloud is identified.

具体的には、図1に示すように点群を任意の軸に沿ってある大きさで区切り、グループ化する。グループ化された点群から、図2に示すように、平面的に円検出し、円検出されたグループ数が閾値を超えていたら円柱物とみなす。図1では、円柱物である電柱を重機で把持している様子を示している。図2では、円柱物を表す点群から円を検出した結果を、上から見た様子を示している。 Specifically, as shown in Figure 1, the point cloud is divided into groups at a certain size along an arbitrary axis. Circles are detected in a planar manner from the grouped point cloud, as shown in Figure 2, and if the number of circle-detected groups exceeds a threshold, the object is deemed to be a cylindrical object. Figure 1 shows a utility pole, which is a cylindrical object, being held by heavy machinery. Figure 2 shows the results of detecting circles from the point cloud representing the cylindrical object, viewed from above.

対象とする円柱物を、例えば施工中の電柱とすると、地面に置いた状態、把持及び吊架状態、自立状態等、状況により向いている方向及び角度が変化し、円検出する軸が不明状態となる。そのため、事前に3次元LiDARを基準とした角度を事前に入力することで、どのような状態においても抽出可能となる。例えば、第一の入力方法として、計算前に角度を人目で判断し、入力する。このとき、x軸、y軸、z軸に対してどの程度傾いているかをある程度把握しているとする。あるいは、第二の入力方法として、電柱や重機に、反射率の高い材料や構造を有した物体又は特異な形状の物体を装着し、軸の算出に利用する。 If the target cylindrical object is, for example, a utility pole under construction, its direction and angle will change depending on the situation, such as whether it is placed on the ground, held or suspended, or freestanding, making the axis used to detect the circle unknown. Therefore, by inputting the angle based on 3D LiDAR in advance, extraction is possible in any state. For example, as a first input method, the angle is determined visually and input before calculation. At this time, it is assumed that the degree of inclination relative to the x-axis, y-axis, and z-axis is known to some extent. Alternatively, as a second input method, an object made of a highly reflective material or structure, or an object with an unusual shape, is attached to the utility pole or heavy equipment, and used to calculate the axis.

上記第一の入力方法では、x軸、y軸、z軸に対してどの程度傾いているかを入力し、入力した方向の軸に沿って円検出を実施する。また、3次元LiDARからの距離、抽出された点群の大きさ等に閾値を設定し、電柱点群を抽出する。 In the first input method, the degree of tilt relative to the x-axis, y-axis, and z-axis is input, and circle detection is performed along the axis of the input direction. Thresholds are also set for the distance from the 3D LiDAR, the size of the extracted point cloud, etc., and the utility pole point cloud is extracted.

上記第二の入力方法では、例えば重機の把持部に反射率の高い物体を2つ装着する。装着した物体を抽出し、2つの物体を繋いだ軸を電柱の軸とし、円検出を実施する。 In the second input method described above, for example, two highly reflective objects are attached to the grip of a heavy machine. The attached objects are extracted, and the axis connecting the two objects is used as the axis of the utility pole, and circle detection is performed.

なお、対象物が直立に近い状態においては、軸の角度を入力せずとも、抽出された円の中心点のずれの閾値を大きくとることで、円柱物の抽出は可能である。 In addition, when the object is nearly upright, it is possible to extract a cylindrical object by setting a large threshold for the deviation of the center point of the extracted circle without inputting the axis angle.

また、x軸を東西方向、y軸を南北方向、z軸を高さ方向とする。 Also, the x-axis is the east-west direction, the y-axis is the north-south direction, and the z-axis is the height direction.

また、円柱物の抽出時にはz軸に対してある閾値以内の状態で実施する。これは、傾きすぎていると軸に沿って円検出を実施しても検出が不可能なためである。 In addition, when extracting cylindrical objects, the detection is performed within a certain threshold value relative to the z-axis. This is because if the object is tilted too much, it will be impossible to detect the circle along the axis.

また、円の検出後、円の中心を算出し、中心を繋ぎ中心軸を算出してもよい。 Also, after detecting the circles, the centers of the circles can be calculated and the central axis can be calculated by connecting the centers.

また、円の検出には公知のRANSAC(Random Sample Consensus)処理などを用いることができる。 In addition, well-known RANSAC (Random Sample Consensus) processing can be used to detect circles.

上記により、点群中から、傾いている円柱物の点群の抽出が可能である。 The above makes it possible to extract points representing tilted cylindrical objects from a point cloud.

また、本開示の実施形態では、円柱物の点群の切り出し、追跡、移動量の算出、検知エリアの移動、を繰り返し、円柱物の点群を追跡することで点群内の円柱物の点群を抽出する。 In addition, in an embodiment of the present disclosure, the point cloud of the cylindrical object is extracted from the point cloud by repeatedly cutting out the point cloud of the cylindrical object, tracking it, calculating the amount of movement, and moving the detection area, and tracking the point cloud of the cylindrical object.

具体的には、図3に示すように、初期状態で抽出された円柱物の点群の周囲に検知エリアを設定し、その検知エリアを、円柱物の移動量により動かしていくことで、検知エリアを最小限に抑え、計算時間を削減しながら、点群内の円柱物の点群を抽出する。 Specifically, as shown in Figure 3, a detection area is set around the point cloud of the cylindrical object extracted in the initial state, and the detection area is then moved according to the amount of movement of the cylindrical object, thereby minimizing the detection area and extracting the point cloud of the cylindrical object within the point cloud while reducing calculation time.

図3に、本実施形態の円柱物の抽出の過程の一例を示す。図3では、円柱物が電柱である例を示している。過程をA1~A7で示す。なお、A1、A2、A3、A5、及びA6は、xyz軸の3次元空間の円柱物を示している。 Figure 3 shows an example of the process for extracting a cylindrical object in this embodiment. Figure 3 shows an example in which the cylindrical object is a utility pole. The process is indicated by A1 to A7. Note that A1, A2, A3, A5, and A6 represent cylindrical objects in three-dimensional space along the x, y, and z axes.

A1では初期状態で抽出された円柱物と、検知エリアを示している。A2において、初期状態より1秒後の点群から、A1と同じ検知エリアで、円柱物を抽出している。A3において、A1、A2の円柱物の追跡を実施し、移動量を算出している。A4において、A3で算出した移動量から新しい検知エリアを計算している。A5において、初期状態より2秒後の点群から、A4で計算した検知エリアで、円柱物を抽出している。A6において、A2、A5の円柱物の追跡を実施し、移動量を算出している。A7において、A6で算出した移動量から新しい検知エリアを計算している。 A1 shows the cylinder extracted in the initial state and the detection area. In A2, a cylinder is extracted from the point cloud one second after the initial state, in the same detection area as A1. In A3, the cylinders in A1 and A2 are tracked and the amount of movement is calculated. In A4, a new detection area is calculated from the amount of movement calculated in A3. In A5, a cylinder is extracted from the point cloud two seconds after the initial state, in the detection area calculated in A4. In A6, the cylinders in A2 and A5 are tracked and the amount of movement is calculated. In A7, a new detection area is calculated from the amount of movement calculated in A6.

ここで、検知エリアの設定では、抽出した円柱物から中心軸を算出し、中心軸から、x軸方向にxcm、y軸方向にycm、上端・下端からそれぞれ延長方向にzcmとする。なお、手動で検知エリアを設定してもよい。この場合、「電柱下端の位置」、「電柱長さ」、「伸びている方向」を用いて、検知エリアを設定すればよい。 To set the detection area, calculate the central axis of the extracted cylindrical object, and set the distance from the central axis to x cm in the x-axis direction, y cm in the y-axis direction, and z cm in the extension direction from the top and bottom ends. The detection area can also be set manually. In this case, the detection area can be set using the "position of the bottom end of the utility pole," "utility pole length," and "extension direction."

以上のような本実施形態の手法により、リアルタイムに点群中から、傾いている円柱物点群の抽出が可能である。 The method of this embodiment described above makes it possible to extract inclined cylindrical object point clouds from a point cloud in real time.

<構成>
以下、本実施形態の構成について説明する。
<Configuration>
The configuration of this embodiment will be described below.

図4は、抽出装置100のハードウェア構成を示すブロック図である。 Figure 4 is a block diagram showing the hardware configuration of the extraction device 100.

図4に示すように、抽出装置100は、CPU(Central Processing Unit)11、ROM(Read Only Memory)12、RAM(Random Access Memory)13、ストレージ14、入力部15、表示部16及び通信インタフェース(I/F)17を有する。各構成は、バス19を介して相互に通信可能に接続されている。 As shown in FIG. 4, the extraction device 100 has a CPU (Central Processing Unit) 11, a ROM (Read Only Memory) 12, a RAM (Random Access Memory) 13, storage 14, an input unit 15, a display unit 16, and a communication interface (I/F) 17. Each component is connected to each other via a bus 19 so that they can communicate with each other.

CPU11は、中央演算処理ユニットであり、各種プログラムを実行したり、各部を制御したりする。すなわち、CPU11は、ROM12又はストレージ14からプログラムを読み出し、RAM13を作業領域としてプログラムを実行する。CPU11は、ROM12又はストレージ14に記憶されているプログラムに従って、上記各構成の制御及び各種の演算処理を行う。本実施形態では、ROM12又はストレージ14には、抽出プログラムが格納されている。 The CPU 11 is a central processing unit that executes various programs and controls each component. That is, the CPU 11 reads programs from the ROM 12 or storage 14 and executes the programs using the RAM 13 as a working area. The CPU 11 controls the above components and performs various calculations in accordance with the programs stored in the ROM 12 or storage 14. In this embodiment, the ROM 12 or storage 14 stores an extraction program.

ROM12は、各種プログラム及び各種データを格納する。RAM13は、作業領域として一時的にプログラム又はデータを記憶する。ストレージ14は、HDD(Hard Disk Drive)又はSSD(Solid State Drive)等の記憶装置により構成され、オペレーティングシステムを含む各種プログラム、及び各種データを格納する。 ROM 12 stores various programs and data. RAM 13 temporarily stores programs or data as a working area. Storage 14 is composed of a storage device such as an HDD (Hard Disk Drive) or SSD (Solid State Drive), and stores various programs including the operating system, and various data.

入力部15は、マウス等のポインティングデバイス、及びキーボードを含み、外部の点群計測器90から外部データとして入力される点群データを含む各種の入力を行うために使用される。 The input unit 15 includes a pointing device such as a mouse and a keyboard, and is used to make various inputs, including point cloud data input as external data from an external point cloud measuring device 90.

表示部16は、例えば、液晶ディスプレイであり、各種の情報を表示する。表示部16は、タッチパネル方式を採用して、入力部15として機能してもよい。 The display unit 16 is, for example, a liquid crystal display, and displays various information. The display unit 16 may also function as the input unit 15 by adopting a touch panel system.

通信インタフェース(I/F)17は、端末等の他の機器と通信するためのインタフェースである。当該通信には、例えば、イーサネット(登録商標)若しくはFDDI等の有線通信の規格、又は、4G、5G、若しくはWi-Fi(登録商標)等の無線通信の規格が用いられる。 The communication interface (I/F) 17 is an interface for communicating with other devices such as terminals. For this communication, a wired communication standard such as Ethernet (registered trademark) or FDDI, or a wireless communication standard such as 4G, 5G, or Wi-Fi (registered trademark) is used.

次に、抽出装置100の各機能構成について説明する。図5は、本実施形態の抽出装置100の構成を示すブロック図である。各機能構成は、CPU11がROM12又はストレージ14に記憶された抽出プログラムを読み出し、RAM13に展開して実行することにより実現される。Next, we will explain each functional configuration of the extraction device 100. Figure 5 is a block diagram showing the configuration of the extraction device 100 of this embodiment. Each functional configuration is realized when the CPU 11 reads out an extraction program stored in the ROM 12 or storage 14, expands it in the RAM 13, and executes it.

図5に示すように、抽出装置100は、読込部110と、取得部112と、変換部114と、抽出部116と、設定部118と、追跡部120と、再設定部122と、発報部124とを含んだ各処理部で構成されている。なお、各処理部は、装置として構成してもよい。 As shown in FIG. 5, the extraction device 100 is composed of processing units including a reading unit 110, an acquisition unit 112, a conversion unit 114, an extraction unit 116, a setting unit 118, a tracking unit 120, a resetting unit 122, and an alarm issuing unit 124. Note that each processing unit may be configured as a device.

読込部110は、外部の点群計測器90から外部データとして点群データを読み込む。 The reading unit 110 reads point cloud data as external data from an external point cloud measuring instrument 90.

取得部112は、読込部110によって読み込んだ点群データが表す点群について、点群に含まれる円柱物の傾きの角度を取得する。 The acquisition unit 112 acquires the inclination angle of the cylindrical objects included in the point cloud represented by the point cloud data read by the reading unit 110.

具体的には、x軸、y軸、z軸に対してどの程度傾いているかを、入力部15により入力し、点群に含まれる円柱物の傾きの角度として取得する。あるいは、円柱物に反射率の高い物体を2つ装着しておき、点群データから、装着した2つの物体を抽出し、2つの物体を繋いだ軸の傾きを、点群に含まれる円柱物の傾きの角度として取得する。 Specifically, the degree of tilt with respect to the x-axis, y-axis, and z-axis is input via the input unit 15, and the tilt angle of the cylindrical object included in the point cloud is obtained. Alternatively, two highly reflective objects are attached to the cylindrical object, and the two attached objects are extracted from the point cloud data, and the tilt of the axis connecting the two objects is obtained as the tilt angle of the cylindrical object included in the point cloud.

変換部114は、取得した角度を用いて、円柱物の傾きの角度が基準角度となるように、点群の座標を変換する。 The conversion unit 114 uses the acquired angle to convert the coordinates of the point cloud so that the angle of inclination of the cylindrical object becomes the reference angle.

抽出部116は、変換された点群の座標に基づいて、点群から円柱物を抽出する。 The extraction unit 116 extracts cylindrical objects from the point cloud based on the coordinates of the transformed point cloud.

抽出部116は、図6に示すように、分割部132と、円情報算出部134と、円柱物判定部136とを含んで構成されている。抽出部116の各構成の態様は後述する。As shown in Figure 6, the extraction unit 116 is configured to include a division unit 132, a circle information calculation unit 134, and a cylindrical object determination unit 136. The configuration of each component of the extraction unit 116 will be described later.

設定部118は、抽出部116によって抽出された円柱物の中心軸を基に、あらかじめ設定した条件により円柱物の周囲に検知エリアを設定する。 The setting unit 118 sets a detection area around the cylindrical object based on the central axis of the cylindrical object extracted by the extraction unit 116, using pre-set conditions.

追跡部120は、検知エリア内の点群から、次の時刻における円柱物を追跡する。 The tracking unit 120 tracks the cylindrical object at the next time from the point cloud within the detection area.

再設定部122は、追跡した円柱物について移動量を算出し、検知エリアを移動量だけ移動させるように検知エリアを設定する。 The resetting unit 122 calculates the amount of movement for the tracked cylindrical object and sets the detection area so that the detection area is moved by the amount of movement.

追跡部120による追跡と、再設定部122による移動量の算出及び検知エリアの設定とを繰り返す。 Tracking by the tracking unit 120 and calculation of the amount of movement and setting of the detection area by the resetting unit 122 are repeated.

発報部124は、抽出された円柱物と、入力された点群のうちの、円柱物の周囲の点群との距離を算出し、距離が閾値以下である場合に、アラームを発報する。 The alarm unit 124 calculates the distance between the extracted cylindrical object and the point cloud surrounding the cylindrical object from the input point cloud, and issues an alarm if the distance is below a threshold value.

次に、抽出部116の各部について説明する。 Next, we will explain each part of the extraction unit 116.

分割部132は、点群を高さ方向(z軸方向)にNの数だけ分割し、高さグループを生成する。Nは任意の数である。なお、読込部110で読み込まれた点群データに含まれる点群の各々から、Z座標が任意の高さ以下の点群を除外してもよい。 The dividing unit 132 divides the point cloud into N number of height groups in the height direction (z-axis direction) to generate height groups. N is an arbitrary number. Note that point clouds whose Z coordinates are equal to or less than an arbitrary height may be excluded from each of the point clouds included in the point cloud data read by the reading unit 110.

円情報算出部134は、高さグループの各々について、当該高さグループの点群をx軸とy軸を含むXY平面に投影し、グループ単位で円検出を行う。円検出には公知のRANSAC(Random Sample Consensus)処理などを用いる。また、円情報算出部134は、当該グループから円検出された場合は中心座標及び円半径を算出する。 For each height group, the circle information calculation unit 134 projects the point cloud of that height group onto an XY plane including the x-axis and y-axis, and performs circle detection on a group-by-group basis. Circle detection uses well-known methods such as RANSAC (Random Sample Consensus) processing. Furthermore, if a circle is detected from the group, the circle information calculation unit 134 calculates the center coordinates and the circle radius.

円柱物判定部136は、高さグループの各々について検出された円が所定の条件を満たすか否かを判定する。所定の条件は、例えば、以下の1.~3.の条件の少なくとも一つ、又は何れか2以上の組み合わせとする。これにより、検出された円が円柱物であるか否かを判定する。なお、1~3の条件は、1つだけでもよいし、複数を組み合わせて用いてもよい。 The cylindrical object determination unit 136 determines whether the circle detected for each height group satisfies a predetermined condition. The predetermined condition may be, for example, at least one of the following conditions 1 to 3, or a combination of two or more of them. This determines whether the detected circle is a cylindrical object. Note that conditions 1 to 3 may be used alone or in combination.

1.円検出されたグループ数がN分割したグループのうち任意の割合以上か
2.検出された各中心座標(x,y)が任意の誤差範囲以内であるか
3.検出された各円半径が任意の誤差範囲以内であるか
1. Is the number of groups in which circles are detected equal to or greater than a given percentage of the N divided groups? 2. Are the detected center coordinates (x, y) within a given error range? 3. Are the detected circle radii within a given error range?

<作用>
次に、抽出装置100の作用について説明する。
<Effect>
Next, the operation of the extraction device 100 will be described.

図7は、抽出装置100による抽出処理の流れを示すフローチャートである。CPU11がROM12又はストレージ14から抽出プログラムを読み出して、RAM13に展開して実行することにより、抽出処理が行なわれる。CPU11が抽出装置100の各部として処理を行うことにより抽出処理を実行する。なお、抽出処理が、抽出方法の一例である。 Figure 7 is a flowchart showing the flow of the extraction process performed by the extraction device 100. The extraction process is performed by the CPU 11 reading the extraction program from the ROM 12 or storage 14, expanding it into the RAM 13, and executing it. The extraction process is performed by the CPU 11 performing processing as each part of the extraction device 100. Note that the extraction process is an example of an extraction method.

ステップS100において、CPU11は、読込部110として、外部の点群計測器90から外部データとして点群データを読み込む。 In step S100, the CPU 11, as the reading unit 110, reads point cloud data as external data from the external point cloud measuring device 90.

ステップS102において、CPU11は、読み込まれた点群データに含まれる点群の各々から、点群計測器90の計測点からの距離が、任意の距離以上の点群を削除する。 In step S102, the CPU 11 deletes from each of the point clouds contained in the loaded point cloud data any point clouds whose distance from the measurement point of the point cloud measuring instrument 90 is greater than an arbitrary distance.

ステップS103において、CPU11は、取得部112として、対象の円柱物のx-y平面に対するz軸方向の角度aを取得する。例えば、図8に示すように、点群計測器90の計測点を基準に東西をx軸、南北をy軸、高度をz軸とする。 In step S103, the CPU 11, as the acquisition unit 112, acquires the angle a of the z-axis direction of the target cylindrical object relative to the x-y plane. For example, as shown in Figure 8, with the measurement point of the point cloud measuring instrument 90 as the reference, the x-axis is east-west, the y-axis is north-south, and the z-axis is altitude.

ここで、角度aは、ユーザにより入力される。あるいは、全方向の軸を対象に、点群データから円検出を実施して、角度aを推定してもよいし、z軸に沿ってある高さ毎に円検出を実施し、円の中心点のずれを小さくする角度aを推定してもよい。 Here, angle a is input by the user. Alternatively, angle a can be estimated by performing circle detection from point cloud data for all axes, or by performing circle detection at each height along the z axis and estimating angle a that minimizes the deviation of the circle's center point.

ステップS104において、CPU11は、変換部114として、上記ステップS103で取得した角度aに基づいて、円柱物の軸がz軸となるよう点群を補正することにより、点群の座標を変換する。具体的には、角度aの分だけ、点群データを軸回転するように、点群の座標を変換する。In step S104, the CPU 11, as the conversion unit 114, converts the coordinates of the point cloud by correcting the point cloud so that the axis of the cylinder is the z-axis based on the angle a acquired in step S103. Specifically, the coordinates of the point cloud are converted so that the point cloud data is rotated around the axis by the amount of angle a.

ステップS105において、CPU11は、分割部132として、Z軸方向に任意の高さで点群データを分割し、グループ化する。具体的には、点群を高さ方向(z軸方向)にNの数だけ分割し、高さグループを生成する。In step S105, the CPU 11, as the division unit 132, divides and groups the point cloud data at any height in the Z-axis direction. Specifically, the point cloud is divided into N number of height groups in the height direction (z-axis direction) to generate height groups.

ステップS106において、CPU11は、円情報算出部134として、グループ毎にx-y平面上に点群を投影し円検出を実施する。具体的には、高さグループの各々について、当該高さグループの点群をXY平面に投影し、グループ単位で円検出を行う。高さグループの各々について、当該グループから円検出された場合は中心点の座標を算出する。 In step S106, the CPU 11, as the circle information calculation unit 134, projects the point cloud onto the xy plane for each group and performs circle detection. Specifically, for each height group, the point cloud for that height group is projected onto the xy plane and circle detection is performed on a group-by-group basis. For each height group, if a circle is detected from that group, the coordinates of the center point are calculated.

ステップS107において、CPU11は、円柱物判定部136として、Z軸に沿って円検出できた高さグループの数が閾値以上であり、かつ円検出できた高さグループ間の円の中心点のずれが閾値以内であるか否かを判定する。Z軸に沿って円検出できた高さグループの数が閾値未満である場合、又は円検出できた高さグループ間の円の中心点のずれが閾値より大きい場合には、円柱物候補点群がないと判断し、上記ステップS100へ戻る。In step S107, the CPU 11, as the cylindrical object determination unit 136, determines whether the number of height groups for which circles were detected along the Z axis is equal to or greater than a threshold value and whether the deviation of the center points of the circles between the height groups for which circles were detected is within a threshold value. If the number of height groups for which circles were detected along the Z axis is less than the threshold value or if the deviation of the center points of the circles between the height groups for which circles were detected is greater than the threshold value, it determines that there is no cylindrical object candidate point group and returns to step S100 above.

一方、Z軸に沿って円検出できた高さグループの数が閾値以上であり、かつ円検出できた高さグループ間の円の中心点のずれが閾値以内である場合には、ステップS108へ移行する。 On the other hand, if the number of height groups in which circles were detected along the Z axis is greater than or equal to the threshold value and the deviation of the center points of the circles between the height groups in which circles were detected is within the threshold value, proceed to step S108.

ステップS108において、CPU11は、分割された各高さグループのうち、Z軸に沿って円検出できた高さグループの点群を、円柱物候補クラスタiとする。 In step S108, the CPU 11 designates the point group of the height group in which a circle can be detected along the Z axis as the cylindrical object candidate cluster i.

なお、上記ステップS100~S108の各処理の代わりに、図9に示すステップS100~S216の各処理を行ってもよい。また、上記ステップS100~S108の各処理と、ステップS100~S216の各処理との双方を行ってもよい。 Instead of the processes of steps S100 to S108 above, the processes of steps S100 to S216 shown in Figure 9 may be performed. Also, both the processes of steps S100 to S108 above and the processes of steps S100 to S216 may be performed.

図9に示すステップS100において、CPU11は、読込部110として、外部の点群計測器90から外部データとして点群データを読み込む。 In step S100 shown in Figure 9, the CPU 11, as the reading unit 110, reads point cloud data as external data from the external point cloud measuring device 90.

ステップS102において、CPU11は、読み込まれた点群データに含まれる点群の各々から、点群計測器90の計測点からの距離が、任意の距離以上の点群を削除する。 In step S102, the CPU 11 deletes from each of the point clouds contained in the loaded point cloud data any point clouds whose distance from the measurement point of the point cloud measuring instrument 90 is greater than an arbitrary distance.

ステップS204において、CPU11は、取得部112として、点群データから、特徴点群クラスタを求め、2つの特徴点群クラスタを結び、軸を算出する。ここで、特徴点群クラスタとは、反射強度が高い、あるいは、特異な形状等の特徴を持つ物体の点群のクラスタである。反射強度が高い、あるいは、特異な形状等の特徴を持つ物体は、電柱に装着または近接していることが望ましく、例えば足場ボルトや重機把持部である。In step S204, the CPU 11, functioning as the acquisition unit 112, obtains feature point cloud clusters from the point cloud data, connects two feature point cloud clusters, and calculates an axis. Here, a feature point cloud cluster is a cluster of point clouds of objects with characteristics such as high reflection intensity or a unique shape. Objects with characteristics such as high reflection intensity or a unique shape are preferably attached to or located close to utility poles, such as scaffolding bolts or heavy equipment grips.

ステップS206において、CPU11は、変換部114として、上記ステップS204で算出した軸に基づいて、円柱物の軸がz軸となるよう点群データを軸回転して補正することにより、点群の座標を変換する。 In step S206, the CPU 11, as the conversion unit 114, converts the coordinates of the point cloud by rotating and correcting the point cloud data based on the axis calculated in step S204 so that the axis of the cylindrical object becomes the z-axis.

ステップS208において、CPU11は、分割部132として、Z軸方向に任意の高さで点群データを分割し、グループ化する。点群を高さ方向(z軸方向)にNの数だけ分割し、高さグループを生成する。In step S208, the CPU 11, as the division unit 132, divides and groups the point cloud data at any height in the Z-axis direction. The point cloud is divided into N number of height groups in the height direction (z-axis direction) to generate height groups.

ステップS210において、CPU11は、円情報算出部134として、グループ毎にx-y平面上に点群を投影し円検出を実施する。具体的には、高さグループの各々について、当該高さグループの点群をXY平面に投影し、グループ単位で円検出を行う。高さグループの各々について、当該グループから円検出された場合は中心点の座標を算出する。 In step S210, the CPU 11, as the circle information calculation unit 134, projects the point cloud onto the xy plane for each group and performs circle detection. Specifically, for each height group, the point cloud for that height group is projected onto the XY plane and circle detection is performed on a group-by-group basis. For each height group, if a circle is detected from that group, the coordinates of the center point are calculated.

ステップS212において、CPU11は、円柱物判定部136として、Z軸に沿って円検出できた高さグループの数が閾値以上であり、かつ円検出できた高さグループ間の円の中心点のずれが閾値以内であるか否かを判定する。Z軸に沿って円検出できた高さグループの数が閾値未満である場合、又は円検出できた高さグループ間の円の中心点のずれが閾値より大きい場合には、円柱物候補点群がないと判断し、上記ステップS100へ戻る。In step S212, the CPU 11, as the cylindrical object determination unit 136, determines whether the number of height groups for which circles were detected along the Z axis is equal to or greater than a threshold value and whether the deviation of the center points of the circles between the height groups for which circles were detected is within a threshold value. If the number of height groups for which circles were detected along the Z axis is less than the threshold value or if the deviation of the center points of the circles between the height groups for which circles were detected is greater than the threshold value, it determines that there is no cylindrical object candidate point group and returns to step S100 above.

一方、Z軸に沿って円検出できた高さグループの数が閾値以上であり、かつ円検出できた高さグループ間の円の中心点のずれが閾値以内である場合には、ステップS216へ移行する。 On the other hand, if the number of height groups in which circles were detected along the Z axis is greater than or equal to the threshold value and the deviation of the center points of the circles between the height groups in which circles were detected is within the threshold value, proceed to step S216.

ステップS216において、CPU11は、分割された各高さグループのうち、Z軸に沿って円検出できた高さグループの点群を、円柱物候補クラスタiとする。 In step S216, the CPU 11 designates the point group of the height group in which a circle can be detected along the Z axis as the cylindrical object candidate cluster i.

そして、図10に示すステップS110において、CPU11は、設定部118として、円柱物候補クラスタiの点群の周囲に検知エリアを設定する。例えば、円柱物の中心軸をz‘軸とすると、x’軸方向にa[cm]、y’軸方向にb[cm]、z’軸方向にc[cm]を検知エリアとする。 Then, in step S110 shown in Figure 10, the CPU 11, as the setting unit 118, sets a detection area around the point cloud of cylindrical object candidate cluster i. For example, if the central axis of the cylindrical object is the z' axis, the detection area is set to a [cm] in the x' axis direction, b [cm] in the y' axis direction, and c [cm] in the z' axis direction.

ステップS112において、CPU11は、読込部110として、外部の点群計測器90からt秒後の点群データを読み込み、t秒後の点群において、初期状態と同じ検知エリアで点群を切り出す。 In step S112, the CPU 11, as the reading unit 110, reads the point cloud data after t seconds from the external point cloud measuring device 90, and extracts the point cloud after t seconds using the same detection area as the initial state.

そして、円柱物候補クラスタi(i≦円柱物候補クラスタ総数)の各々について、後述するステップS114~S120の処理を繰り返す。 Then, for each cylindrical object candidate cluster i (i≦total number of cylindrical object candidate clusters), the processing of steps S114 to S120 described below is repeated.

ステップS114において、CPU11は、追跡部120として、円柱物候補クラスタの点群をトラッキングし、移動量Dを算出する。 In step S114, the CPU 11, as the tracking unit 120, tracks the point cloud of the cylindrical object candidate cluster and calculates the movement amount D.

ステップS116において、CPU11は、移動量Dは下限閾値以上かつ上限閾値以下であるか否かを判定する。移動量Dが下限閾値未満である場合、円柱物候補クラスタが表す円柱物が動いていないため、追跡対象とする必要がないと判断し、ステップS118へ移行する。また、移動量Dが上限閾値より大きい場合には、円柱物候補クラスタが、対象とする円柱物とは異なる物体を表しているため、追跡対象とする必要がないと判断し、ステップS118へ移行する。一方、移動量Dが下限閾値以上かつ上限閾値以下である場合には、ステップS120へ移行する。 In step S116, the CPU 11 determines whether the amount of movement D is greater than or equal to the lower threshold and less than or equal to the upper threshold. If the amount of movement D is less than the lower threshold, it is determined that the cylindrical object represented by the cylindrical object candidate cluster is not moving and therefore does not need to be tracked, and the process proceeds to step S118. If the amount of movement D is greater than the upper threshold, it is determined that the cylindrical object candidate cluster represents an object different from the target cylindrical object and therefore does not need to be tracked, and the process proceeds to step S118. On the other hand, if the amount of movement D is greater than or equal to the lower threshold and less than or equal to the upper threshold, the process proceeds to step S120.

ステップS118において、CPU11は、円柱物候補クラスタiを追跡対象の円柱物クラスタとしない。 In step S118, the CPU 11 does not select the cylindrical object candidate cluster i as the cylindrical object cluster to be tracked.

ステップS120において、CPU11は、円柱物候補クラスタiを、追跡対象の円柱物クラスタi’とする。 In step S120, the CPU 11 sets the cylindrical object candidate cluster i to the cylindrical object cluster i' to be tracked.

上記のように、抽出された円柱物候補クラスタから、追跡対象の円柱物を抽出する。 As described above, the cylindrical object to be tracked is extracted from the extracted cylindrical object candidate cluster.

そして、図11に示すように、t’秒後の点群データからΔt秒毎に、後述するステップS122~S136の処理を繰り返す。 Then, as shown in Figure 11, the processing of steps S122 to S136 described below is repeated every Δt seconds starting from the point cloud data after t' seconds.

ステップS122において、CPU11は、再設定部122として、前回の検知エリアを移動量Dだけ移動させるように検知エリアを設定する。 In step S122, the CPU 11, as the resetting unit 122, sets the detection area so as to move the previous detection area by the movement amount D.

ステップS124において、CPU11は、読込部110として、外部の点群計測器90からt’秒後の点群データを読み込み、t’秒後の点群において、上記ステップS122で設定された検知エリアで点群を切り出す。 In step S124, the CPU 11, as the reading unit 110, reads the point cloud data after t' seconds from the external point cloud measuring device 90, and extracts the point cloud after t' seconds from the detection area set in step S122 above.

ステップS126において、CPU11は、追跡部120として、追跡対象の円柱物クラスタi’の点群をトラッキングし、移動量D’を算出する。 In step S126, the CPU 11, as the tracking unit 120, tracks the point cloud of the cylindrical object cluster i' to be tracked and calculates the movement amount D'.

ステップS128において、CPU11は、算出した移動量D’は閾値以下であるか否かを判定する。算出した移動量D’が閾値より大きい場合には、ステップS130へ移行する。一方、算出した移動量D’が閾値以下である場合には、ステップS134へ移行する。In step S128, the CPU 11 determines whether the calculated movement amount D' is equal to or less than the threshold value. If the calculated movement amount D' is greater than the threshold value, the process proceeds to step S130. On the other hand, if the calculated movement amount D' is equal to or less than the threshold value, the process proceeds to step S134.

ステップS130において、CPU11は、検知エリアを拡大し、再度、円柱物を抽出する。 In step S130, the CPU 11 expands the detection area and extracts the cylindrical object again.

ステップS132において、CPU11は、上記ステップS130で円柱物を抽出できたか否かを判定する。上記ステップS130で円柱物が抽出されなかった場合には、上記ステップS100へ戻る。一方、上記ステップS130で円柱物が抽出された場合には、ステップS134へ移行する。In step S132, the CPU 11 determines whether or not a cylindrical object was extracted in step S130. If a cylindrical object was not extracted in step S130, the process returns to step S100. On the other hand, if a cylindrical object was extracted in step S130, the process proceeds to step S134.

ステップS134において、CPU11は、発報部124として、周囲の点群との距離が閾値以下であるか否かを判定する。周囲の点群との距離が閾値以下である場合には、ステップS136へ移行する。In step S134, the CPU 11, as the alarm unit 124, determines whether the distance to the surrounding point cloud is less than or equal to the threshold. If the distance to the surrounding point cloud is less than or equal to the threshold, the process proceeds to step S136.

一方、周囲の点群との距離が閾値より大きい場合には、t’=t’+Δtとして、上記ステップS122へ戻る。 On the other hand, if the distance to the surrounding point cloud is greater than the threshold, set t' = t' + Δt and return to step S122 above.

ステップS136において、CPU11は、発報部124として、アラームを発報して、抽出処理を終了する。 In step S136, the CPU 11, as the alarm issuing unit 124, issues an alarm and terminates the extraction process.

このように、追跡対象の円柱物クラスタと周囲の点群との距離を算出し、近接したらアラームを発報する。追跡対象の円柱物クラスタの移動量が閾値より大きい等のエラーが検知された場合、最初からやり直す。 In this way, the distance between the tracked cylindrical cluster and the surrounding point cloud is calculated, and an alarm is issued if they come close. If an error is detected, such as the movement of the tracked cylindrical cluster being greater than the threshold, the process starts over.

<実施例>
円柱物として図12に示す斜め電柱を抽出する実施例について説明する。まず、斜め電柱を抽出するための設定パラメータについて説明する。
<Example>
An example of extracting a diagonal utility pole as a cylindrical object, as shown in Fig. 12, will be described. First, the setting parameters for extracting the diagonal utility pole will be described.

円検出時、上から見た際に密度が薄くてもクラスタリングを可能にするため、点群の分割高さを狭めるように、分割高さを、0.4[m]とし、分割部132での分割数Nを設定する。また、分割高さの指定を狭めたため、円柱物判定部136における、検出された各中心座標が誤差範囲であるか否かを判定するための閾値を、0.6[m]とする。これは、この閾値を、0.7[m]~0.8[m]くらいに設定すると、建柱中の電柱のそばにいる作業員から検出された円と建柱中の円がグループ化されてしまうためである。 When detecting circles, to enable clustering even when the density is low when viewed from above, the division height of the point cloud is narrowed to 0.4 m, and the division number N in the division unit 132 is set. Furthermore, because the division height is narrowed, the threshold used by the cylindrical object determination unit 136 to determine whether each detected center coordinate is within the error range is set to 0.6 m. This is because if this threshold were set to around 0.7 m to 0.8 m, circles detected from a worker near a utility pole being erected would be grouped with circles in the pole being erected.

初期状態の円柱物の傾きの角度を入力しなくとも、上記パラメータにより45°までの傾斜であれば円柱物の抽出が可能である。この場合、変換部114による変換も省略する。図12の点線の吹き出し部分では、斜め電柱の点群の高さグループ毎に円検出を行った結果を示している。 Even if the initial tilt angle of the cylindrical object is not input, it is possible to extract the cylindrical object with an inclination of up to 45° using the above parameters. In this case, the conversion by the conversion unit 114 is also omitted. The dotted bubble in Figure 12 shows the results of circle detection for each height group of the point cloud of the diagonal utility pole.

本実施例では、建柱中の電柱が、ケーブルや壁面に接触しようとする状況をリアルタイムに検知して、アラームを発報することができる。 In this embodiment, it is possible to detect in real time when a utility pole being erected is about to come into contact with a cable or wall, and to issue an alarm.

トラッキングには「SHOT」及び「ICP」という手法を組み合わせる方法が最有力であるが、「Spinimage」及び「ICP」を組み合わせる方法もある。「Cropbox」により、XYZ幅を指定したボックス(検知エリア)を作成した後、平行移動と回転を加えて任意の位置の切り取りを行う。 The most effective method for tracking is to combine the techniques "SHOT" and "ICP," but there is also a method that combines "Spiniimage" and "ICP." "Cropbox" creates a box (detection area) with specified XYZ widths, then adds translation and rotation to crop at any position.

トラッキング後の移動量を移動距離100cm以内とし、傾斜角度45°以内とする。ここで、「SHOT」、「ICP」、「Spinimage」、「Cropbox」はPCL(Point Cloud Library)に含まれるライブラリを指す。 The amount of movement after tracking must be within a distance of 100 cm and an inclination angle of 45°. Here, "SHOT", "ICP", "Spinimage", and "Cropbox" refer to libraries included in PCL (Point Cloud Library).

以上説明したように本実施形態の抽出装置100は、入力された点群について、点群に含まれる円柱物の傾きの角度を取得し、取得した角度を用いて、円柱物の傾きの角度が基準角度となるように、点群の座標を変換し、変換された点群の座標に基づいて、点群から円柱物を抽出する。これにより、円柱物が傾いている場合であっても精度よく円柱物の抽出が可能となる。As explained above, the extraction device 100 of this embodiment obtains the tilt angle of cylinders contained in an input point cloud, uses the obtained angle to convert the coordinates of the point cloud so that the tilt angle of the cylinders becomes a reference angle, and extracts cylinders from the point cloud based on the converted coordinates of the point cloud. This makes it possible to extract cylinders with high accuracy even when the cylinders are tilted.

また、抽出された円柱物の中心軸を基に、あらかじめ設定した条件により円柱物の周囲に検知エリアを設定し、検知エリア内の点群から、次の時刻における円柱物を追跡する。これにより、リアルタイムで、円柱物の追跡が可能となる。 In addition, based on the central axis of the extracted cylindrical object, a detection area is set around the cylindrical object according to pre-set conditions, and the cylindrical object is tracked at the next time from the point cloud within the detection area. This makes it possible to track cylindrical objects in real time.

また、追跡した円柱物について移動量を算出し、検知エリアを移動量だけ移動させるように検知エリアを設定し、追跡と、移動量の算出及び検知エリアの設定とを繰り返す。これにより、リアルタイムでの円柱物の追跡が可能となる。 The system also calculates the amount of movement of the tracked cylindrical object, sets the detection area so that it moves by the amount of movement, and repeats tracking, calculating the amount of movement, and setting the detection area. This makes it possible to track cylindrical objects in real time.

また、取得された点群データを入力し、対象とする円柱物の傾きの角度を入力し、もしくは特徴点群クラスタに基づき対象とする円柱物の傾きの角度を検出し、該角度を用いて点群データの座標を該円柱物の中心軸をz軸に一致させるように変換し、座標変換後の点群データに対して該円柱物を抽出する。これにより、取得された点群データから非直立状態の円柱物をリアルタイムに抽出することができる。 The acquired point cloud data is input, and the tilt angle of the target cylindrical object is input, or the tilt angle of the target cylindrical object is detected based on the feature point cloud cluster, and the coordinates of the point cloud data are converted using this angle so that the central axis of the cylinder is aligned with the z-axis, and the cylinder is extracted from the point cloud data after coordinate conversion. This makes it possible to extract non-upright cylindrical objects from the acquired point cloud data in real time.

なお、上記実施形態では、点群を高さ方向に分割し、高さグループ単位で円検出を行い、円検出の結果に基づいて円柱物の抽出を行う場合を例に説明したが、これに限定されるものではない。他の手法により、点群の座標を変換した結果から、円柱物を抽出してもよい。また、円柱物が、電柱である場合を例に説明したが、これに限定されるものではない。電柱以外の円柱物を対象としてもよい。 In the above embodiment, an example was described in which the point cloud was divided in the height direction, circle detection was performed for each height group, and cylindrical objects were extracted based on the results of the circle detection, but this is not limited to this. Cylinders may also be extracted from the results of converting the coordinates of the point cloud using other methods. Also, while an example was described in which the cylindrical objects were utility poles, this is not limited to this. Cylinders other than utility poles may also be targeted.

また、上記実施形態でCPUがソフトウェア(プログラム)を読み込んで実行した抽出処理を、CPU以外の各種のプロセッサが実行してもよい。この場合のプロセッサとしては、FPGA(Field-Programmable Gate Array)等の製造後に回路構成を変更可能なPLD(Programmable Logic Device)、GPU(Graphics Processing Unit)、及びASIC(Application Specific Integrated Circuit)等の特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路等が例示される。また、抽出処理を、これらの各種のプロセッサのうちの1つで実行してもよいし、同種又は異種の2つ以上のプロセッサの組み合わせ(例えば、複数のFPGA、及びCPUとFPGAとの組み合わせ等)で実行してもよい。また、これらの各種のプロセッサのハードウェア的な構造は、より具体的には、半導体素子等の回路素子を組み合わせた電気回路である。 Furthermore, the extraction process executed by the CPU in the above embodiment by loading software (programs) may be executed by various processors other than the CPU. Examples of processors in this case include dedicated electrical circuits, such as PLDs (Programmable Logic Devices) whose circuit configuration can be changed after manufacture, such as FPGAs (Field-Programmable Gate Arrays), GPUs (Graphics Processing Units), and ASICs (Application Specific Integrated Circuits), which are processors with circuit configurations designed specifically to execute specific processes. Furthermore, the extraction process may be executed by one of these various processors, or by a combination of two or more processors of the same or different types (e.g., multiple FPGAs, or a combination of a CPU and an FPGA, etc.). Furthermore, the hardware structure of these various processors is, more specifically, an electric circuit that combines circuit elements such as semiconductor elements.

また、上記実施形態では、抽出プログラムがストレージ14に予め記憶(インストール)されている態様を説明したが、これに限定されない。プログラムは、CD-ROM(Compact Disk Read Only Memory)、DVD-ROM(Digital Versatile Disk Read Only Memory)、及びUSB(Universal Serial Bus)メモリ等の非一時的(non-transitory)記憶媒体に記憶された形態で提供されてもよい。また、プログラムは、ネットワークを介して外部装置からダウンロードされる形態としてもよい。 In addition, while the above embodiment describes a configuration in which the extraction program is pre-stored (installed) in storage 14, this is not limited to this. The program may be provided in a form stored on a non-transitory storage medium such as a CD-ROM (Compact Disk Read Only Memory), a DVD-ROM (Digital Versatile Disk Read Only Memory), or a USB (Universal Serial Bus) memory. The program may also be downloaded from an external device via a network.

上述したように、本開示の実施形態で説明した抽出装置はコンピュータとプログラムによっても実現でき、プログラムを記録媒体に記録することも、ネットワークを通して提供することも可能である。 As mentioned above, the extraction device described in the embodiments of the present disclosure can also be realized by a computer and a program, and the program can be recorded on a recording medium or provided via a network.

以上の実施形態に関し、更に以下の付記を開示する。 The following notes are further disclosed regarding the above embodiments.

(付記項1)
メモリと、
前記メモリに接続された少なくとも1つのプロセッサと、
を含み、
前記プロセッサは、
入力された点群について、前記点群に含まれる円柱物の傾きの角度を取得し、
前記取得した角度を用いて、前記円柱物の傾きの角度が基準角度となるように、前記点群の座標を変換し、
前記変換された前記点群の座標に基づいて、前記点群から円柱物を抽出する
ように構成されている抽出装置。
(Additional note 1)
Memory and
at least one processor coupled to said memory;
Including,
The processor:
For the input point cloud, obtain the tilt angle of the cylindrical object included in the point cloud;
Using the acquired angle, convert the coordinates of the point cloud so that the angle of inclination of the cylindrical object becomes a reference angle;
an extraction device configured to extract a cylindrical object from the point cloud based on the transformed coordinates of the point cloud.

(付記項2)
抽出処理を実行するようにコンピュータによって実行可能なプログラムを記憶した非一時的記憶媒体であって、
前記抽出処理は、
入力された点群について、前記点群に含まれる円柱物の傾きの角度を取得し、
前記取得した角度を用いて、前記円柱物の傾きの角度が基準角度となるように、前記点群の座標を変換し、
前記変換された前記点群の座標に基づいて、前記点群から円柱物を抽出する
非一時的記憶媒体。
(Additional note 2)
A non-transitory storage medium storing a program executable by a computer to perform an extraction process,
The extraction process includes:
For the input point cloud, obtain the tilt angle of the cylindrical object included in the point cloud;
Using the acquired angle, convert the coordinates of the point cloud so that the angle of inclination of the cylindrical object becomes a reference angle;
extracting cylinders from the point cloud based on the transformed coordinates of the point cloud.

11 CPU
14 ストレージ
15 入力部
90 点群計測器
100 抽出装置
110 読込部
112 取得部
114 変換部
116 抽出部
118 設定部
120 追跡部
122 再設定部
124 発報部
132 分割部
134 円情報算出部
136 円柱物判定部
11 CPU
14 Storage 15 Input unit 90 Point cloud measuring instrument 100 Extraction device 110 Reading unit 112 Acquisition unit 114 Conversion unit 116 Extraction unit 118 Setting unit 120 Tracking unit 122 Resetting unit 124 Notification unit 132 Division unit 134 Circle information calculation unit 136 Cylindrical object determination unit

Claims (6)

入力された点群について、前記点群に含まれる円柱物の傾きの角度を取得する取得部と、
前記取得した角度を用いて、前記円柱物の傾きの角度が基準角度となるように、前記点群の座標を変換する変換部と、
前記変換された前記点群の座標に基づいて、前記点群から円柱物を抽出する抽出部と、
を含み、
前記抽出部は、
点群を高さ方向に分割し、高さグループを生成する分割部と、
分割された点群について、前記高さグループの各々について、当該高さグループの点群をx軸とy軸を含むXY平面に投影し、グループ単位で円検出を行う円情報算出部と、
円検出できた高さグループの数が閾値以上であり、かつ円検出できた高さグループ間の円の中心点のずれが閾値以内である場合、各高さグループのうち、円検出できた高さグループの点群を、円柱物として抽出する円柱物判定部と、
を含む抽出装置。
an acquisition unit that acquires the inclination angle of a cylindrical object included in an input point cloud;
a conversion unit that converts the coordinates of the point cloud using the acquired angle so that the angle of inclination of the cylindrical object becomes a reference angle;
an extraction unit that extracts a cylindrical object from the point cloud based on the coordinates of the transformed point cloud;
Including,
The extraction unit
a division unit that divides the point cloud in a height direction and generates height groups;
a circle information calculation unit that projects the point cloud of each height group onto an XY plane including an x-axis and a y-axis and performs circle detection for each group of the divided point clouds;
a cylindrical object determination unit that extracts, from among the height groups, a point cloud of a height group in which a circle can be detected as a cylindrical object when the number of height groups in which a circle can be detected is equal to or greater than a threshold value and the deviation of the center points of the circles between the height groups in which a circle can be detected is within a threshold value;
An extraction device comprising :
前記抽出部によって抽出された前記円柱物の中心軸を基に、あらかじめ設定した条件により前記円柱物の周囲に検知エリアを設定する設定部と、
前記検知エリア内の点群から、次の時刻における前記円柱物を追跡する追跡部と
を更に含む請求項1記載の抽出装置。
a setting unit that sets a detection area around the cylindrical object according to preset conditions based on the central axis of the cylindrical object extracted by the extraction unit;
The extraction device according to claim 1 , further comprising: a tracking unit that tracks the cylindrical object at a next time from the point cloud within the detection area.
前記追跡した前記円柱物について移動量を算出し、前記検知エリアを前記移動量だけ移動させるように前記検知エリアを設定する再設定部を更に含み、
前記追跡部による追跡と、前記再設定部による移動量の算出及び前記検知エリアの設定とを繰り返す請求項2記載の抽出装置。
a resetting unit that calculates a movement amount of the tracked cylindrical object and resets the detection area so as to move the detection area by the movement amount;
3. The extraction device according to claim 2, wherein the tracking by the tracking unit and the calculation of the amount of movement and the setting of the detection area by the resetting unit are repeated.
前記抽出された前記円柱物と、入力された点群のうちの、前記円柱物の周囲の点群との距離を算出し、前記距離が閾値以下である場合に、アラームを発報する発報部を更に含む請求項3記載の抽出装置。 The extraction device of claim 3 further includes an alarm unit that calculates the distance between the extracted cylindrical object and a point cloud surrounding the cylindrical object from the input point cloud, and issues an alarm if the distance is equal to or less than a threshold value. 取得部が、入力された点群について、前記点群に含まれる円柱物の傾きの角度を取得し、
変換部が、前記取得した角度を用いて、前記円柱物の傾きの角度が基準角度となるように、前記点群の座標を変換し、
抽出部が、前記変換された前記点群の座標に基づいて、前記点群から円柱物を抽出する
ことを含み、
前記円柱物を抽出することでは、
点群を高さ方向に分割し、高さグループを生成し、
分割された点群について、前記高さグループの各々について、当該高さグループの点群をx軸とy軸を含むXY平面に投影し、グループ単位で円検出を行い、
円検出できた高さグループの数が閾値以上であり、かつ円検出できた高さグループ間の円の中心点のずれが閾値以内である場合、各高さグループのうち、円検出できた高さグループの点群を、円柱物として抽出する
抽出方法。
an acquisition unit acquires, for the input point cloud, an inclination angle of a cylindrical object included in the point cloud;
a conversion unit converts the coordinates of the point cloud using the acquired angle so that the angle of inclination of the cylindrical object becomes a reference angle;
An extraction unit extracts a cylindrical object from the point cloud based on the coordinates of the transformed point cloud.
This includes:
In extracting the cylindrical object,
Divide the point cloud in the height direction and generate height groups.
For each of the divided point clouds, the point cloud of the height group is projected onto an XY plane including the x-axis and the y-axis, and circle detection is performed for each group.
If the number of height groups in which circles can be detected is equal to or greater than the threshold, and the deviation of the center points of the circles between the height groups in which circles can be detected is within the threshold, the point cloud of the height group in which circles can be detected is extracted as a cylindrical object.
Extraction method.
入力された点群について、前記点群に含まれる円柱物の傾きの角度を取得し、
前記取得した角度を用いて、前記円柱物の傾きの角度が基準角度となるように、前記点群の座標を変換し、
前記変換された前記点群の座標に基づいて、前記点群から円柱物を抽出する
ことを含み、
前記円柱物を抽出することでは、
点群を高さ方向に分割し、高さグループを生成し、
分割された点群について、前記高さグループの各々について、当該高さグループの点群をx軸とy軸を含むXY平面に投影し、グループ単位で円検出を行い、
円検出できた高さグループの数が閾値以上であり、かつ円検出できた高さグループ間の円の中心点のずれが閾値以内である場合、各高さグループのうち、円検出できた高さグループの点群を、円柱物として抽出する
処理をコンピュータに実行させる抽出プログラム。
For the input point cloud, obtain the tilt angle of the cylindrical object included in the point cloud;
Using the acquired angle, convert the coordinates of the point cloud so that the angle of inclination of the cylindrical object becomes a reference angle;
Extracting cylindrical objects from the point cloud based on the coordinates of the transformed point cloud.
This includes:
In extracting the cylindrical object,
Divide the point cloud in the height direction and generate height groups.
For each of the divided point clouds, the point cloud of the height group is projected onto an XY plane including the x-axis and the y-axis, and circle detection is performed for each group.
If the number of height groups in which circles can be detected is equal to or greater than the threshold, and the deviation of the center points of the circles between the height groups in which circles can be detected is within the threshold, the point cloud of the height group in which circles can be detected is extracted as a cylindrical object.
An extraction program that causes a computer to perform the processing.
JP2024571597A 2023-01-20 2023-01-20 Extraction device, extraction method, and extraction program Active JP7816581B2 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2023/001805 WO2024154360A1 (en) 2023-01-20 2023-01-20 Extraction device, extraction method, and extraction program

Publications (2)

Publication Number Publication Date
JPWO2024154360A1 JPWO2024154360A1 (en) 2024-07-25
JP7816581B2 true JP7816581B2 (en) 2026-02-18

Family

ID=91955663

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2024571597A Active JP7816581B2 (en) 2023-01-20 2023-01-20 Extraction device, extraction method, and extraction program

Country Status (2)

Country Link
JP (1) JP7816581B2 (en)
WO (1) WO2024154360A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2026053412A1 (en) * 2024-09-09 2026-03-12 Ntt株式会社 Measuring system

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013064688A (en) 2011-09-20 2013-04-11 Pasuko:Kk Data analyzer, data analysis method, and program
WO2019016879A1 (en) 2017-07-19 2019-01-24 株式会社日立製作所 Object detection device and object detection method
JP2021056885A (en) 2019-09-30 2021-04-08 キヤノン株式会社 Detector, detection method, and program
JP2021189822A (en) 2020-06-01 2021-12-13 オリンパス株式会社 Image processing system, image processing method, and image processing program
JP7014930B1 (en) 2021-11-10 2022-02-01 オリエンタル白石株式会社 Earth bucket recognition system and program
JP2022175364A (en) 2021-05-13 2022-11-25 若築建設株式会社 Construction support system, construction support method, height calculation method, construction support program
JP2022186029A (en) 2021-06-04 2022-12-15 日本電気通信システム株式会社 Distance measuring apparatus, method, and program

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2700566B2 (en) * 1988-09-16 1998-01-21 日本電信電話株式会社 Anabori built pillar car
JP2017227463A (en) * 2016-06-20 2017-12-28 清水建設株式会社 Position and attitude determination device

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013064688A (en) 2011-09-20 2013-04-11 Pasuko:Kk Data analyzer, data analysis method, and program
WO2019016879A1 (en) 2017-07-19 2019-01-24 株式会社日立製作所 Object detection device and object detection method
JP2021056885A (en) 2019-09-30 2021-04-08 キヤノン株式会社 Detector, detection method, and program
JP2021189822A (en) 2020-06-01 2021-12-13 オリンパス株式会社 Image processing system, image processing method, and image processing program
JP2022175364A (en) 2021-05-13 2022-11-25 若築建設株式会社 Construction support system, construction support method, height calculation method, construction support program
JP2022186029A (en) 2021-06-04 2022-12-15 日本電気通信システム株式会社 Distance measuring apparatus, method, and program
JP7014930B1 (en) 2021-11-10 2022-02-01 オリエンタル白石株式会社 Earth bucket recognition system and program

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
LOPEZ-ESCOGIDO, Daniel et al.,Automatic Extraction of Geometric Models from 3D Point Cloud Datasets,2014 11th International Conference on Electrical Engineering, Computing Science and Automatic Contro,2014年,特に、III. METHODOLOGY PROPOSED

Also Published As

Publication number Publication date
JPWO2024154360A1 (en) 2024-07-25
WO2024154360A1 (en) 2024-07-25

Similar Documents

Publication Publication Date Title
JP3910582B2 (en) Three-dimensional structure shape automatic generation apparatus, automatic generation method, program thereof, and recording medium recording the program
WO2021170015A1 (en) Method for acquiring point cloud data, and related device
CN111596298A (en) Target object positioning method, device, device and storage medium
CN112833815B (en) A laser-based house measurement and wall flatness detection method
JP7816581B2 (en) Extraction device, extraction method, and extraction program
CN114387506A (en) Transmission tower monitoring method and device, computer equipment and storage medium
CN111598941A (en) A method, device, equipment and storage medium for measuring the inclination of a tower
JP2006323608A (en) 3D structure group model creation device, 3D structure group model creation method, and 3D model creation system
CN116559847B (en) External parameter calibration method, device and related equipment of laser radar
CN114241083A (en) Lane line generation method and device, electronic equipment and storage medium
CN120472200B (en) Method and system for judging instability mode of dangerous rock mass of high and steep side slope
CN115861362B (en) Subway limit space detection method, device, equipment and storage medium
JP7768392B2 (en) Linear object detection device, linear object detection method, and linear object detection program
CN118981882A (en) Crane anti-collision warning method, system, electronic and electrical equipment and storage medium
CN206209409U (en) UAV control system and UAV
JP7743779B2 (en) Bridge data extraction device, bridge data extraction method, and program
WO2022050026A1 (en) Measurement data processing device, measurement data processing method, and storage medium
CN115841635B (en) A method, apparatus, device, and storage medium for segmenting ground points.
JP7786588B2 (en) Extraction device, extraction method, and extraction program
CN119379606A (en) A method for detecting high-altitude insulators based on laser radar point cloud data decoding
CN111583406A (en) Pole tower foot base point coordinate calculation method and device and terminal equipment
CN115236687B (en) Object tracking method, device, equipment and storage medium
CN118730048A (en) Tower inclination measurement method, device, storage medium and electronic device
CN116664809A (en) Three-dimensional information acquisition method, device, computer equipment, storage medium and product
WO2024105830A1 (en) Information processing device, information processing method, and information processing program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20250327

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20251007

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20251126

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20260106

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20260119

R150 Certificate of patent or registration of utility model

Ref document number: 7816581

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150