[go: up one dir, main page]

JP2024136150A - Information processing device, information processing system, information processing method, and program - Google Patents

Information processing device, information processing system, information processing method, and program Download PDF

Info

Publication number
JP2024136150A
JP2024136150A JP2023047147A JP2023047147A JP2024136150A JP 2024136150 A JP2024136150 A JP 2024136150A JP 2023047147 A JP2023047147 A JP 2023047147A JP 2023047147 A JP2023047147 A JP 2023047147A JP 2024136150 A JP2024136150 A JP 2024136150A
Authority
JP
Japan
Prior art keywords
position information
imaging device
trajectory
information processing
image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2023047147A
Other languages
Japanese (ja)
Inventor
伸 青木
Shin Aoki
敏弘 岡本
Toshihiro Okamoto
健司 永島
Kenji Nagashima
輔宏 木村
Sukehiro Kimura
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2023047147A priority Critical patent/JP2024136150A/en
Publication of JP2024136150A publication Critical patent/JP2024136150A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Studio Devices (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Image Analysis (AREA)

Abstract

To provide an information processing apparatus, an information processing system, an information processing method, and a program for facilitating calibration work in a system for specifying the position of an object using an imaging device for imaging an object moved by a moving device and three-dimensional position information acquired by another means.SOLUTION: An information processing apparatus 100 is provided with: a first acquisition unit 402 for acquiring first object position information, which is two-dimensional position information of an object, from a first image captured by a first imaging device; a second acquisition unit 403 for acquiring three-dimensional position information of the object; a first calculation unit 404 for calculating second object position information, which is two-dimensional position information on the first image, from the three-dimensional position information of the object acquired by the second acquisition unit 403; a second calculation unit 405 for calculating a distance between a first locus of the object based on the first object position information and a second locus of the object based on the second object position information; and a correction unit 406 for performing correction processing for correcting the distance between the first locus and the second locus.SELECTED DRAWING: Figure 4

Description

本発明は、情報処理装置、情報処理システム、情報処理方法、及びプログラムに関する。 The present invention relates to an information processing device, an information processing system, an information processing method, and a program.

フォークリフト等の移動体により搬送される貨物又はパレット等の物体の位置情報を処理する情報処理装置が知られている(例えば、特許文献1参照)。 There is known an information processing device that processes position information of objects such as cargo or pallets transported by a mobile object such as a forklift (see, for example, Patent Document 1).

また、物体を搬送する搬送車両等の移動体に搭載されたカメラを用いて特定した移動体の位置と、移動体を観測可能な場所に設置されたカメラを用いて特定した移動体の位置とに基づいて、移動体の位置を安定的に得る情報処理装置が知られている(例えば、特許文献2参照)。 In addition, an information processing device is known that stably obtains the position of a moving body based on the position of the moving body determined using a camera mounted on the moving body, such as a transport vehicle that transports an object, and the position of the moving body determined using a camera installed in a location where the moving body can be observed (see, for example, Patent Document 2).

例えば、特許文献2に開示された技術のように、移動体に搭載されたカメラと移動体を観測可能な場所に設置された別のカメラとを用いて移動体等の位置を特定する場合、カメラと別のカメラとの位置と姿勢の関係を事前に把握しておく必要がある。そして、複数の撮像装置(カメラ)の位置と姿勢の関係を把握するためには、撮像装置(カメラ)のキャリブレーション作業が必要となる。この撮像装置(カメラ)のキャリブレーション作業として、従来は、キャリブレーションを行う撮像装置(カメラ)で平面マーカを様々な位置、姿勢で撮影することにより撮像装置(カメラ)のパラメータを調整し、所望の撮像装置(カメラ)の状態に設定されるまで試行と調整を続けるなど、多大な時間を要するという問題があった。 For example, as in the technology disclosed in Patent Document 2, when identifying the position of a moving object using a camera mounted on the moving object and another camera installed in a location where the moving object can be observed, it is necessary to grasp the relationship between the position and attitude of the camera and the other camera in advance. Then, in order to grasp the relationship between the positions and attitudes of multiple imaging devices (cameras), a calibration work of the imaging devices (cameras) is required. Conventionally, the calibration work of the imaging device (camera) requires adjusting the parameters of the imaging device (camera) by photographing a planar marker at various positions and attitudes with the imaging device (camera) to be calibrated, and there is a problem that it takes a lot of time, such as continuing trial and adjustment until the desired imaging device (camera) state is set.

なお、このような問題は、移動体の位置を特定する場合に限られず、例えば、物体を移動する移動装置により移動される物体を撮像する撮像装置と、別の手段で取得した物体の3次元の位置情報とを用いて物体の位置を特定する様々なシステムに共通に存在する。 Note that this problem is not limited to cases where the position of a moving object is to be determined, but is also common to various systems that determine the position of an object using, for example, an imaging device that captures an image of an object moved by a moving device that moves the object, and three-dimensional position information of the object obtained by another means.

本発明の一実施形態は、上記の問題点に鑑みてなされたものであって、移動装置により移動される物体を撮像する撮像装置と、別の手段で取得した3次元の位置情報とを用いて物体の位置を特定するシステムにおいて、キャリブレーション作業(補正)を容易にする。 One embodiment of the present invention has been made in consideration of the above problems, and facilitates calibration (correction) in a system that identifies the position of an object using an imaging device that captures an image of an object moved by a moving device and three-dimensional position information acquired by another means.

上記の課題を解決するため、本発明の一実施形態に係る情報処理装置は、移動装置により移動される物体を撮像する第1の撮像装置と通信可能な情報処理装置であって、前記第1の撮像装置が撮像した第1の画像から前記物体の2次元の位置情報である第1の物体位置情報を取得する第1の取得部と、前記物体の3次元の位置情報を取得する第2の取得部と、前記第2の取得部で取得した前記物体の3次元の位置情報から前記第1の画像上の2次元の位置情報である第2の物体位置情報を算出する第1の算出部と、前記第1の物体位置情報による前記物体の第1の軌跡と、前記第2の物体位置情報による前記物体の第2の軌跡との距離を算出する第2の算出部と、前記第1の軌跡と前記第2の軌跡との距離を補正する補正処理を実行する補正部と、を有する。 In order to solve the above problem, an information processing device according to one embodiment of the present invention is an information processing device capable of communicating with a first imaging device that captures an object moved by a moving device, and includes a first acquisition unit that acquires first object position information, which is two-dimensional position information of the object, from a first image captured by the first imaging device, a second acquisition unit that acquires three-dimensional position information of the object, a first calculation unit that calculates second object position information, which is two-dimensional position information on the first image, from the three-dimensional position information of the object acquired by the second acquisition unit, a second calculation unit that calculates the distance between a first trajectory of the object based on the first object position information and a second trajectory of the object based on the second object position information, and a correction unit that executes a correction process to correct the distance between the first trajectory and the second trajectory.

本発明の一実施形態によれば、移動装置により移動される物体を撮像する撮像装置と、別の手段で取得した3次元の位置情報とを用いて物体の位置を特定するシステムにおいて、キャリブレーション作業が容易になる。 According to one embodiment of the present invention, in a system that identifies the position of an object using an imaging device that captures an image of an object moved by a moving device and three-dimensional position information acquired by another means, calibration work is made easier.

第1の実施形態に係る情報処理システムのシステム構成の例を示す図である。1 is a diagram illustrating an example of a system configuration of an information processing system according to a first embodiment. 第1の実施形態に係る第1の画像のイメージを示す図である。FIG. 2 is a diagram showing an example of a first image according to the first embodiment; 一実施形態に係るコンピュータのハードウェア構成の例を示す図である。FIG. 2 is a diagram illustrating an example of a hardware configuration of a computer according to an embodiment. 一実施形態に係る情報処理システムの機能構成の一例を示す図である。FIG. 1 is a diagram illustrating an example of a functional configuration of an information processing system according to an embodiment. 一実施形態に係る情報処理システムの機能構成の別の一例を示す図である。FIG. 11 is a diagram illustrating another example of a functional configuration of an information processing system according to an embodiment. 一実施形態に係る補正処理の例を示すフローチャートである。10 is a flowchart illustrating an example of a correction process according to an embodiment. 一実施形態に係る撮像画像の受信タイミングのイメージを示す図である。FIG. 11 is a diagram showing an image of reception timing of a captured image according to an embodiment. 一実施形態に係る2つの軌跡のイメージを示す図である。FIG. 13 is a diagram showing an image of two trajectories according to an embodiment. 一実施形態に係る距離の最小化のイメージを示す図である。FIG. 13 is a diagram illustrating an image of distance minimization according to an embodiment. 一実施形態に係る2つの軌跡の間の距離算出処理の例を示すフローチャートである。11 is a flowchart illustrating an example of a process for calculating a distance between two trajectories according to an embodiment. 一実施形態に係る折れ線と点との間の距離算出処理の例を示すフローチャートである。11 is a flowchart illustrating an example of a process for calculating a distance between a polygonal line and a point according to an embodiment. 一実施形態に係る第1~第3の領域について説明するための図である。FIG. 2 is a diagram for explaining first to third regions according to an embodiment. 変形例について説明するための図である。FIG. 13 is a diagram for explaining a modified example. 第1の実施形態に係る第2の撮像装置と物体との位置関係について説明するための図(1)である。FIG. 1 is a diagram for explaining a positional relationship between a second imaging device and an object according to the first embodiment; 第1の実施形態に係る第2の撮像装置と物体との位置関係について説明するための図(2)ある。FIG. 2 is a diagram for explaining a positional relationship between the second imaging device and an object according to the first embodiment. 第2の実施形態に係る情報処理システムのシステム構成の例を示す図である。FIG. 11 is a diagram illustrating an example of a system configuration of an information processing system according to a second embodiment. 第3の実施形態に係る情報処理システムのシステム構成の例を示す図である。FIG. 13 is a diagram illustrating an example of a system configuration of an information processing system according to a third embodiment.

以下、本発明の実施形態について、図面を参照しながら詳細に説明する。各図面において、同一の構成部分には同一符号を付し、重複した説明を省略する。 Embodiments of the present invention will be described in detail below with reference to the drawings. In each drawing, the same components are given the same reference numerals, and duplicated explanations will be omitted.

<システム構成>
[第1の実施形態]
図1は、第1の実施形態に係る情報処理システムのシステム構成の例を示す図である。図1の例では、情報処理システム1は、第1の撮像装置10、移動装置20、移動装置20に搭載された第2の撮像装置21、及び情報処理装置100等を含む。
<System Configuration>
[First embodiment]
Fig. 1 is a diagram showing an example of a system configuration of an information processing system according to a first embodiment. In the example of Fig. 1, the information processing system 1 includes a first imaging device 10, a mobile device 20, a second imaging device 21 mounted on the mobile device 20, an information processing device 100, and the like.

第1の撮像装置10は、例えば、天井2等に設置され、移動装置20が移動する物体22を撮像し、撮像した撮像画像(以下、第1の画像と呼ぶ)を情報処理装置100に送信する固定カメラ等である。なお、第1の撮像装置10は、天井2に限られず、例えば、壁、柱、又は支柱等に設置されていてもよい。ここでは、第1の撮像装置10が、例えば、倉庫等の天井2に設置されているものとして、以下の説明を行う。 The first imaging device 10 is, for example, a fixed camera or the like that is installed on a ceiling 2, captures an image of an object 22 moving with the mobile device 20, and transmits the captured image (hereinafter referred to as a first image) to the information processing device 100. Note that the first imaging device 10 is not limited to being installed on the ceiling 2, and may be installed on, for example, a wall, a pillar, or a support. Here, the following explanation will be given assuming that the first imaging device 10 is installed on the ceiling 2 of, for example, a warehouse or the like.

移動装置20は、例えば、荷物、又は荷物を載せたパレット等の物体22を保持し、保持した状態で搬送することで、物体22を移動するフォークリフト等の搬送装置である。なお、移動装置20は、フォークリフトに限られず、例えば、物体22を移動するロボット、又ドローン等であってもよい。ここでは、移動装置20が、倉庫等で物体22を移動するフォークリフトであるものとして、以下の説明を行う。 The moving device 20 is, for example, a transport device such as a forklift that holds an object 22, such as a baggage or a pallet carrying baggage, and transports the object 22 while holding it. Note that the moving device 20 is not limited to a forklift, and may be, for example, a robot that moves the object 22, a drone, etc. Here, the following explanation will be given assuming that the moving device 20 is a forklift that moves the object 22 in a warehouse, etc.

第2の撮像装置21は、移動装置20に搭載され、移動装置20の周辺、及び物体22等を撮像する1つ以上のカメラを含む。 The second imaging device 21 is mounted on the mobile device 20 and includes one or more cameras that capture images of the surroundings of the mobile device 20 and objects 22, etc.

一例として、移動装置20は、無線LAN(Local Area Network)通信等の通信機能と、コンピュータの構成とを備える。ここで、「移動装置20」は、第2の撮像装置21を含み、通信機能、及びコンピュータの構成は、第2の撮像装置21が有していてもよいし、移動装置20のうち、第2の撮像装置21以外の部分に設けられていてもよい。 As an example, the mobile device 20 has a communication function such as wireless LAN (Local Area Network) communication, and a computer configuration. Here, the "mobile device 20" includes the second imaging device 21, and the communication function and computer configuration may be possessed by the second imaging device 21, or may be provided in a part of the mobile device 20 other than the second imaging device 21.

移動装置20(又は第2の撮像装置21)は、第2の撮像装置21が撮像した画像(以下、第2の画像と呼ぶ)から、例えば、公知のVisual SLAM(Simultaneous Localization and Mapping)技術を用いて、動画フレームごとに第2の撮像装置21の位置を示す3次元の位置情報を計測する。また、移動装置20(又は第2の撮像装置21)は、第2の撮像装置21の3次元の位置情報、及び第2の撮像装置21と物体22との位置関係(相対位置)から、物体22の3次元の位置情報を算出し、算出した物体22の3次元の位置情報を情報処理装置100に送信する。 The mobile device 20 (or the second imaging device 21) measures three-dimensional position information indicating the position of the second imaging device 21 for each video frame from an image captured by the second imaging device 21 (hereinafter referred to as the second image) using, for example, a known Visual SLAM (Simultaneous Localization and Mapping) technique. In addition, the mobile device 20 (or the second imaging device 21) calculates three-dimensional position information of the object 22 from the three-dimensional position information of the second imaging device 21 and the positional relationship (relative position) between the second imaging device 21 and the object 22, and transmits the calculated three-dimensional position information of the object 22 to the information processing device 100.

ここで、SLAMは、周辺の立体物の3次元の位置情報を点群情報として取得し、自己及び周辺立体物の位置を推定する公知技術である。また、Visual SLAM(以下、VSLAMと呼ぶ)は、カメラで撮像した画像を用いてSLAMを行う公知技術である。なお、移動装置20は、例えば、電波、又は超音波等の他の測位技術を利用して、第2の撮像装置21の3次元の位置情報を計測してもよい。 Here, SLAM is a known technology that acquires three-dimensional position information of surrounding three-dimensional objects as point cloud information and estimates the position of the vehicle itself and surrounding three-dimensional objects. Visual SLAM (hereinafter referred to as VSLAM) is a known technology that performs SLAM using images captured by a camera. Note that the mobile device 20 may measure three-dimensional position information of the second imaging device 21 using other positioning technologies, such as radio waves or ultrasound.

別の一例として、移動装置20(又は第2の撮像装置21)は、例えば、無線LAN通信等の通信機能を有し、第2の撮像装置21が撮像した第2の画像を情報処理装置100に送信してもよい。この場合、情報処理装置100が、第2の撮像装置21が撮像した第2の画像に基づいて、物体22の3次元の位置情報を算出する位置情報算出処理を実行する。 As another example, the mobile device 20 (or the second imaging device 21) may have a communication function such as wireless LAN communication, and transmit the second image captured by the second imaging device 21 to the information processing device 100. In this case, the information processing device 100 executes a position information calculation process to calculate three-dimensional position information of the object 22 based on the second image captured by the second imaging device 21.

情報処理装置100は、コンピュータの構成を備えた情報処理装置、又は複数のコンピュータを含むシステムである。また、情報処理装置100は、例えば、無線LAN等を介して、第1の撮像装置10、及び移動装置20(又は第2の撮像装置21)と通信可能に接続されている。 The information processing device 100 is an information processing device having a computer configuration, or a system including multiple computers. The information processing device 100 is also communicatively connected to the first imaging device 10 and the mobile device 20 (or the second imaging device 21) via, for example, a wireless LAN or the like.

情報処理装置100は、所定のプログラムを実行することにより、第1の撮像装置10と、第2の撮像装置とを用いて、物体22の位置を特定するシステムにおいて、第1の撮像装置10と第2の撮像装置との位置と姿勢の関係をキャリブレーション(補正)する。 By executing a specific program, the information processing device 100 calibrates (corrects) the relationship between the position and orientation of the first imaging device 10 and the second imaging device in a system that identifies the position of an object 22 using the first imaging device 10 and the second imaging device.

(処理の概要)
情報処理装置100は、第1の撮像装置10が撮像した第1の画像に基づいて、物体22の2次元の位置情報(以下、第1の物体位置情報と呼ぶ)を取得する。
(Processing Overview)
The information processing device 100 acquires two-dimensional position information of the object 22 (hereinafter referred to as first object position information) based on the first image captured by the first imaging device 10 .

図2は、第1の実施形態に係る第1の画像のイメージを示す図である。物体22には、例えば、図2に示すように、第1の撮像装置10が撮像した第1の画像200に写るように、マーカ210が設けられている。情報処理装置100は、例えば、第1の画像200に写っているマーカ210の中心位置211を、第1の画像200上の物体22の位置として、物体22の2次元の位置情報(2次元座標)を取得する。なお、情報処理装置100は、例えば、公知のAR(Augmented Reality)マーカの技術等を利用して、マーカ210の中心位置211を特定することができる。 FIG. 2 is a diagram showing an image of a first image according to the first embodiment. For example, as shown in FIG. 2, a marker 210 is provided on the object 22 so as to appear in the first image 200 captured by the first imaging device 10. The information processing device 100 acquires two-dimensional position information (two-dimensional coordinates) of the object 22, for example, by taking the center position 211 of the marker 210 appearing in the first image 200 as the position of the object 22 on the first image 200. Note that the information processing device 100 can identify the center position 211 of the marker 210 by using, for example, a known AR (Augmented Reality) marker technology.

また、情報処理装置100は、第2の撮像装置21が撮像した第2の画像に基づいて、物体22の3次元の位置情報(3次元座標)を取得する。例えば、情報処理装置100は、移動装置20(又は第2の撮像装置21)が算出し、情報処理装置100に送信する物体22の3次元の位置情報を取得する。なお、情報処理装置100は、移動装置20が送信する第2の画像から、物体22の3次元の位置情報を算出してもよい。 The information processing device 100 also acquires three-dimensional position information (three-dimensional coordinates) of the object 22 based on the second image captured by the second imaging device 21. For example, the information processing device 100 acquires the three-dimensional position information of the object 22 calculated by the mobile device 20 (or the second imaging device 21) and transmitted to the information processing device 100. Note that the information processing device 100 may calculate the three-dimensional position information of the object 22 from the second image transmitted by the mobile device 20.

さらに、情報処理装置100は、取得した物体22の3次元の位置情報を2次元に投影した2次元の位置情報(以下、第2の物体位置情報と呼ぶ)を算出する。例えば、情報処理装置100は、第1の撮像装置10の位置と姿勢を示す外部パラメータを用いて、物体22の3次元の位置情報を第1の撮像装置10のカメラ座標に変換する。また、情報処理装置100は、第1の撮像装置10の内部パラメータを用いて、カメラ座標に変換した位置情報を第1の画像上の2次元の位置情報である第2の物体位置情報にさらに変換する。なお、第1の撮像装置10の内部パラメータは、予めキャリブレーション等が行われ、既知であるものとする。 Furthermore, the information processing device 100 calculates two-dimensional position information (hereinafter referred to as second object position information) obtained by projecting the acquired three-dimensional position information of the object 22 into two dimensions. For example, the information processing device 100 converts the three-dimensional position information of the object 22 into the camera coordinates of the first imaging device 10 using external parameters indicating the position and orientation of the first imaging device 10. Furthermore, the information processing device 100 further converts the position information converted into the camera coordinates into second object position information, which is two-dimensional position information on the first image, using internal parameters of the first imaging device 10. Note that the internal parameters of the first imaging device 10 are assumed to be known in advance through calibration, etc.

続いて、情報処理装置100は、第1の物体位置情報による物体22の軌跡(以下、第1の軌跡と呼ぶ)と、第2の物体位置情報による物体22の軌跡(以下、第2の軌跡と呼ぶ)との距離を最小化する補正処理を実行する。これにより、第1の撮像装置10の位置と姿勢を示す外部パラメータをキャリブレーションし、第2の撮像装置21が撮像した第2の画像から取得した物体22の3次元の位置情報から、例えば、第1の画像上の2次元の位置情報を、より正確に取得できるようになる。 Then, the information processing device 100 executes a correction process to minimize the distance between the trajectory of the object 22 based on the first object position information (hereinafter referred to as the first trajectory) and the trajectory of the object 22 based on the second object position information (hereinafter referred to as the second trajectory). This calibrates the external parameters indicating the position and attitude of the first imaging device 10, and makes it possible to more accurately obtain, for example, two-dimensional position information on the first image from the three-dimensional position information of the object 22 acquired from the second image captured by the second imaging device 21.

上記の処理により、情報処理システム1は、例えば、フォークリフト等の移動装置20が走行する画像(第1の画像、及び第2の画像)から、第1の撮像装置10と第2の撮像装置21の位置と姿勢の関係を容易にキャリブレーションすることができる。 By performing the above processing, the information processing system 1 can easily calibrate the relationship between the position and attitude of the first imaging device 10 and the second imaging device 21, for example, from images (first image and second image) of a moving device 20, such as a forklift, traveling.

なお、図1に示した、情報処理システム1のシステム構成は一例である。例えば、情報処理システム1は、複数の第1の撮像装置10を有していてもよい。この場合、情報処理装置100は、複数の第1の撮像装置10の各々に対して、同様のキャリブレーションを行う。 Note that the system configuration of the information processing system 1 shown in FIG. 1 is an example. For example, the information processing system 1 may have multiple first imaging devices 10. In this case, the information processing device 100 performs the same calibration for each of the multiple first imaging devices 10.

<ハードウェア構成>
情報処理装置100は、例えば、図3に示すようなコンピュータ300のハードウェア構成を備えている。或いは、情報処理装置100は、複数のコンピュータ300によって構成される。
<Hardware Configuration>
The information processing apparatus 100 includes, for example, the hardware configuration of a computer 300 as shown in Fig. 3. Alternatively, the information processing apparatus 100 may include a plurality of computers 300.

(コンピュータのハードウェア構成)
図3は、一実施形態に係るコンピュータのハードウェア構成の例を示す図である。コンピュータ300は、例えば、図3に示されるように、CPU(Central Processing Unit)301、ROM(Read Only Memory)302、RAM(Random Access Memory)303、HD(Hard Disk)304、HDD(Hard Disk Drive)コントローラ305、ディスプレイ306、外部機器接続I/F(Interface)307、ネットワークI/F308、キーボード309、ポインティングデバイス310、DVD-RW(Digital Versatile Disk Rewritable)ドライブ312、メディアI/F314、及びバスライン315等を備えている。
(Computer hardware configuration)
Fig. 3 is a diagram showing an example of a hardware configuration of a computer according to an embodiment. As shown in Fig. 3, the computer 300 includes, for example, a central processing unit (CPU) 301, a read only memory (ROM) 302, a random access memory (RAM) 303, a hard disk (HD) 304, a hard disk drive (HDD) controller 305, a display 306, an external device connection interface (I/F) 307, a network I/F 308, a keyboard 309, a pointing device 310, a digital versatile disk rewritable (DVD-RW) drive 312, a media I/F 314, and a bus line 315.

これらのうち、CPU301は、コンピュータ300全体の動作を制御する。ROM302は、例えば、起動用ファイル等のコンピュータ300の起動に用いられるプログラム、及びデータ等を記憶する。RAM303は、例えば、CPU301のワークエリア等として使用される。 Of these, the CPU 301 controls the overall operation of the computer 300. The ROM 302 stores, for example, programs used to start up the computer 300, such as startup files, and data. The RAM 303 is used, for example, as a work area for the CPU 301.

HD304は、例えば、OS(Operating System)、アプリケーション、デバイスドライバ等のプログラムや、各種データを記憶する。HDDコントローラ305は、例えば、CPU301の制御に従ってHD304に対する各種データの読み出し又は書き込みを制御する。なお、HD304、及びHDDコントローラ305は、コンピュータ300が備えるストレージデバイスの一例である。 The HD 304 stores, for example, programs such as an OS (Operating System), applications, and device drivers, as well as various data. The HDD controller 305 controls the reading and writing of various data from the HD 304 under the control of the CPU 301. The HD 304 and the HDD controller 305 are examples of storage devices included in the computer 300.

ディスプレイ306は、例えば、カーソル、メニュー、ウィンドウ、文字、又は画像などの各種情報を表示する。なお、ディスプレイ306は、コンピュータ300の外部に設けられていても良い。外部機器接続I/F307は、コンピュータ300に、例えば、外部メモリ等の様々な外部装置を接続するためのインタフェースである。ネットワークI/F308は、例えば、通信ネットワークN等を利用してデータ通信をするためのインタフェースである。なお、ネットワークI/F308は、コンピュータ300が備える通信デバイスの一例である。 The display 306 displays various information such as a cursor, a menu, a window, characters, or an image. The display 306 may be provided outside the computer 300. The external device connection I/F 307 is an interface for connecting various external devices such as an external memory to the computer 300. The network I/F 308 is an interface for data communication using a communication network N, for example. The network I/F 308 is an example of a communication device provided in the computer 300.

キーボード309は、文字、数値、各種指示などの入力のための複数のキーを備えた入力手段の一種である。ポインティングデバイス310は、各種指示の選択や実行、処理対象の選択、カーソルの移動などを行なう入力手段の一種である。なお、キーボード309、及びポインティングデバイス310は、コンピュータ300の外部に設けられていても良い。 The keyboard 309 is a type of input means equipped with multiple keys for inputting characters, numbers, various instructions, etc. The pointing device 310 is a type of input means for selecting and executing various instructions, selecting a processing target, moving a cursor, etc. Note that the keyboard 309 and the pointing device 310 may be provided outside the computer 300.

DVD-RWドライブ312は、着脱可能な記録媒体の一例としてのDVD-RW311に対する各種データの読み出し又は書き込みを制御する。なお、DVD-RW311は、DVD-RWに限らず、他の着脱可能な記録媒体であっても良い。メディアI/F314は、フラッシュメモリ等のメディア313に対するデータの読み出し又は書き込み(記憶)を制御する。バスライン315は、上記の各構成要素を電気的に接続するためのアドレスバス、データバス及び各種の制御信号等を含む。 The DVD-RW drive 312 controls the reading and writing of various data from the DVD-RW 311, which is an example of a removable recording medium. Note that the DVD-RW 311 is not limited to a DVD-RW, and may be other removable recording media. The media I/F 314 controls the reading and writing (storing) of data from the media 313, such as a flash memory. The bus line 315 includes an address bus, a data bus, and various control signals for electrically connecting the above components.

なお、図3に示したコンピュータ300の構成は一例である。コンピュータ300は、例えば、CPU301、ROM302、RAM303、ストレージデバイス、通信デバイス、及びバスライン315等を有していれば、他は任意の構成であって良い。 The configuration of computer 300 shown in FIG. 3 is an example. Computer 300 may have any configuration as long as it has, for example, CPU 301, ROM 302, RAM 303, a storage device, a communication device, and a bus line 315.

また、移動装置20(又は第2の撮像装置)がコンピュータを備えている場合、当該コンピュータは、例えば、CPU301、ROM302、RAM303、ストレージデバイス、通信デバイス、及びバスライン315等を有するものとする。 In addition, if the mobile device 20 (or the second imaging device) is equipped with a computer, the computer has, for example, a CPU 301, a ROM 302, a RAM 303, a storage device, a communication device, and a bus line 315.

<機能構成>
図4は、一実施形態に係る情報処理システムの機能構成の一例を示す図である。図4の例では、情報処理装置100は、例えば、LAN等の通信ネットワークNを介して、第1の撮像装置10、及び移動装置20と通信可能に接続されている。
<Functional configuration>
Fig. 4 is a diagram showing an example of a functional configuration of an information processing system according to an embodiment. In the example of Fig. 4, an information processing device 100 is communicably connected to a first imaging device 10 and a mobile device 20 via a communication network N such as a LAN.

(移動装置の機能構成)
移動装置20は、移動装置20(又は第2の撮像装置21)が備えるコンピュータが所定のプログラムを実行することにより、例えば、通信部411、撮像部412、及び位置情報算出部413等を実現している。また、移動装置20は、移動装置20(又は第2の撮像装置21)が備えるストレージデバイス等により、記憶部414を実現している。なお、上記の各機能構成は、第2の撮像装置21を備えた移動装置20が有していればよい。例えば、図4に示した移動装置10の各機能構成の一部、又は全部は、第2の撮像装置21が有していてもよい。
(Functional configuration of mobile device)
The mobile device 20 realizes, for example, a communication unit 411, an imaging unit 412, and a position information calculation unit 413 by executing a predetermined program by a computer included in the mobile device 20 (or the second imaging device 21). Furthermore, the mobile device 20 realizes a memory unit 414 by a storage device or the like included in the mobile device 20 (or the second imaging device 21). Note that each of the above functional configurations may be possessed by the mobile device 20 equipped with the second imaging device 21. For example, some or all of the functional configurations of the mobile device 10 shown in FIG. 4 may be possessed by the second imaging device 21.

通信部411は、移動装置20が備える通信デバイス(例えば、無線LANデバイス)を用いて、移動装置20を通信ネットワークNに接続し、情報処理装置100と通信する通信処理を実行する。 The communication unit 411 uses a communication device (e.g., a wireless LAN device) provided in the mobile device 20 to connect the mobile device 20 to the communication network N and executes communication processing to communicate with the information processing device 100.

撮像部412は、例えば、第2の撮像装置21を用いて、移動装置20の周辺を撮像した第2の撮像画像を撮像する撮像処理を実行する。 The imaging unit 412 performs imaging processing, for example, using the second imaging device 21 to capture a second captured image of the surroundings of the mobile device 20.

位置情報算出部413は、撮像部412が撮像した第2の画像に基づいて、物体22の位置を示す3次元の位置情報を算出する位置情報算出処理を実行する。例えば、位置情報算出部413は、撮像部412が撮像した第2の画像(動画像)に基づいて、フレームごとに、物体22の3次元の位置情報を算出する。 The position information calculation unit 413 executes a position information calculation process to calculate three-dimensional position information indicating the position of the object 22 based on the second image captured by the imaging unit 412. For example, the position information calculation unit 413 calculates three-dimensional position information of the object 22 for each frame based on the second image (moving image) captured by the imaging unit 412.

好適な一例として、位置情報算出部413は、公知のVSLAM技術を用いて、動画フレームごとに第2の撮像装置21の位置を示す3次元の位置情報を計測する。また、位置情報算出部413は、第2の撮像装置21の3次元の位置情報、及び予め取得した第2の撮像装置21と物体22との相対位置から、物体22の3次元の位置情報を算出する。 As a suitable example, the position information calculation unit 413 uses known VSLAM technology to measure three-dimensional position information indicating the position of the second imaging device 21 for each video frame. In addition, the position information calculation unit 413 calculates three-dimensional position information of the object 22 from the three-dimensional position information of the second imaging device 21 and the relative position between the second imaging device 21 and the object 22 acquired in advance.

なお、位置情報算出部413は、例えば、電波、又は超音波等の他の測位技術を利用して、第2の撮像装置21の3次元の位置情報を計測し、予め取得した第2の撮像装置21と物体22との相対位置から、物体22の3次元の位置情報を算出してもよい。 The position information calculation unit 413 may measure three-dimensional position information of the second imaging device 21 using other positioning technologies, such as radio waves or ultrasound, and calculate the three-dimensional position information of the object 22 from the relative positions between the second imaging device 21 and the object 22 that have been acquired in advance.

また、位置情報算出部413は、算出した物体22の3次元の位置情報を、通信部411を介して、情報処理装置100に送信する。 In addition, the position information calculation unit 413 transmits the calculated three-dimensional position information of the object 22 to the information processing device 100 via the communication unit 411.

記憶部414は、例えば、移動装置20が実行するプログラム、及び物体22の3次元の位置情報の算出に必要なデータ等を記憶する。 The memory unit 414 stores, for example, the programs executed by the mobile device 20 and data necessary for calculating the three-dimensional position information of the object 22.

(情報処理装置の機能構成)
情報処理装置100は、例えば、CPU301で所定のプログラムを実行することにより、通信部401、第1の取得部402、第2の取得部403、第1の算出部404、第2の算出部405、及び補正部406等を実現している。なお、上記の各機能構成のうち、少なくとも一部は、ハードウェアによって実現されるものであってもよい。
(Functional configuration of information processing device)
The information processing device 100 realizes a communication unit 401, a first acquisition unit 402, a second acquisition unit 403, a first calculation unit 404, a second calculation unit 405, a correction unit 406, etc., by executing a predetermined program in the CPU 301, for example. Note that at least a part of the above-mentioned functional configurations may be realized by hardware.

また、情報処理装置100は、例えば、CPU301で実行されるプログラム、HD304、及びHDDコントローラ305等により、記憶部407を実現している。 In addition, the information processing device 100 realizes a memory unit 407, for example, by a program executed by the CPU 301, the HD 304, the HDD controller 305, etc.

通信部401は、例えば、ネットワークI/F308等を用いて、情報処理装置100を通信ネットワークNに接続し、第1の撮像装置10、及び移動装置20等と通信する通信処理を実行する。例えば、通信部401は、第1の撮像装置10が送信する第1の画像、及び移動装置20が送信する物体22の3次元の位置情報等を受信する。 The communication unit 401, for example, uses the network I/F 308 or the like to connect the information processing device 100 to the communication network N and executes communication processing to communicate with the first imaging device 10 and the mobile device 20, etc. For example, the communication unit 401 receives the first image transmitted by the first imaging device 10 and the three-dimensional position information of the object 22 transmitted by the mobile device 20, etc.

第1の取得部402は、第1の撮像装置10が撮像した第1の画像に基づいて、物体22の2次元の位置情報である第1の物体位置情報を取得する第1の取得処理を実行する。例えば、第1の取得部402は、図2に示すような第1の画像200に写っているマーカ210の中心位置211の2次元座標を、第1の物体位置情報として取得する。 The first acquisition unit 402 executes a first acquisition process to acquire first object position information, which is two-dimensional position information of the object 22, based on the first image captured by the first imaging device 10. For example, the first acquisition unit 402 acquires, as the first object position information, the two-dimensional coordinates of the center position 211 of the marker 210 captured in the first image 200 as shown in FIG. 2.

第2の取得部403は、第1の取得部402とは別の手段で、物体22の3次元の位置情報を取得する第2の取得処理を実行する。一例として、第2の取得部403は、第2の撮像装置21が撮像した第2の画像に基づいて算出した物体の3次元の位置情報を取得する。例えば、第2の取得部403は、移動装置20が送信する物体22の3次元の位置情報を、通信部401を介して取得する。具体的には、移動装置20は、前述したように、公知のVSLAM技術を用いて、動画フレームごとに第2の撮像装置21の位置を示す3次元の位置情報を計測する。また、移動装置20は、第2の撮像装置21の3次元の位置情報、及び予め取得した第2の撮像装置21と物体22との相対位置から、物体22の3次元の位置情報を算出する。ただし、これに限られず、移動装置20は、例えば、電波、又は超音波等の他の測位技術を利用して、物体22の3次元の位置情報を算出してもよい。 The second acquisition unit 403 executes a second acquisition process to acquire three-dimensional position information of the object 22 by a means different from the first acquisition unit 402. As an example, the second acquisition unit 403 acquires three-dimensional position information of the object calculated based on the second image captured by the second imaging device 21. For example, the second acquisition unit 403 acquires the three-dimensional position information of the object 22 transmitted by the mobile device 20 via the communication unit 401. Specifically, as described above, the mobile device 20 measures three-dimensional position information indicating the position of the second imaging device 21 for each video frame using a known VSLAM technique. In addition, the mobile device 20 calculates the three-dimensional position information of the object 22 from the three-dimensional position information of the second imaging device 21 and the relative position between the second imaging device 21 and the object 22 acquired in advance. However, this is not limited to this, and the mobile device 20 may calculate the three-dimensional position information of the object 22 using other positioning techniques such as radio waves or ultrasound.

第1の算出部(投影部)404は、第2の取得部403が取得した物体22の3次元の位置情報を2次元に投影した第2の物体位置情報を算出する第1の算出処理を実行する。例えば、第1の算出部404は、第1の撮像装置10の位置と姿勢を示す外部パラメータを用いて、物体22の3次元の位置情報を第1の撮像装置10のカメラ座標に変換する。また、第1の算出部404は、記憶部407等に予め記憶した第1の撮像装置10の内部パラメータを用いて、カメラ座標に変換した位置情報を、第1の画像上の2次元の位置座標に変換する。 The first calculation unit (projection unit) 404 executes a first calculation process to calculate second object position information obtained by projecting the three-dimensional position information of the object 22 acquired by the second acquisition unit 403 into two dimensions. For example, the first calculation unit 404 converts the three-dimensional position information of the object 22 into the camera coordinates of the first imaging device 10 using external parameters indicating the position and orientation of the first imaging device 10. The first calculation unit 404 also converts the position information converted into the camera coordinates into two-dimensional position coordinates on the first image using internal parameters of the first imaging device 10 previously stored in the storage unit 407 or the like.

第2の算出部(距離算出部)405は、第1の物体位置情報による物体22の第1の軌跡と、第2の物体位置情報による物体22の第2の軌跡との距離を算出する第2の算出処理を実行する。 The second calculation unit (distance calculation unit) 405 executes a second calculation process to calculate the distance between the first trajectory of the object 22 based on the first object position information and the second trajectory of the object 22 based on the second object position information.

補正部406は、第1の軌跡と第2の軌跡との距離を補正する補正処理を実行する。例えば、補正部406は、第1の軌跡と第2の軌跡との距離が最小化するように、第1の撮像装置10の位置と姿勢を示す外部パラメータ、又は第2の物体位置等を補正する。また、補正部406は、必要に応じて、補正処理の実行結果に基づいて、第1の撮像装置10の位置と姿勢とを再設定する。なお、補正処理の具体的な処理内容については後述する。 The correction unit 406 executes a correction process to correct the distance between the first trajectory and the second trajectory. For example, the correction unit 406 corrects external parameters indicating the position and orientation of the first imaging device 10, or the second object position, etc., so as to minimize the distance between the first trajectory and the second trajectory. Furthermore, the correction unit 406 resets the position and orientation of the first imaging device 10 based on the execution result of the correction process, as necessary. The specific processing content of the correction process will be described later.

記憶部407は、例えば、第1の画像、第1の物体位置情報、物体22の3次元の位置情報、第1の撮像装置10の内部パラメータと外部パラメータ、又は第2の物体位置情報等の様々なデータと情報を記憶する。 The storage unit 407 stores various data and information, such as, for example, a first image, first object position information, three-dimensional position information of the object 22, internal parameters and external parameters of the first imaging device 10, or second object position information.

なお、図4に示した情報処理システム1の機能構成は一例である。例えば、情報処理システム1は、図5に示すような機能構成を有していてもよい。 Note that the functional configuration of the information processing system 1 shown in FIG. 4 is an example. For example, the information processing system 1 may have a functional configuration as shown in FIG. 5.

図5は、一実施形態に係る情報処理システムの機能構成の別の一例を示す図である。図5の例では、第2の撮像装置21が、撮像した第2の画像を、通信ネットワークNを介して情報処理装置100に送信する構成となっている。また、情報処理装置100は、例えば、CPU301で所定のプログラムを実行することにより、第2の撮像装置21が撮像した第2の画像から、物体22の3次元の位置情報を算出する位置情報算出部413を実現している。この場合、第2の取得部403は、位置情報算出部413から、物体22の3次元の位置情報を取得する。 FIG. 5 is a diagram showing another example of the functional configuration of an information processing system according to an embodiment. In the example of FIG. 5, the second imaging device 21 is configured to transmit the captured second image to the information processing device 100 via the communication network N. In addition, the information processing device 100 realizes a position information calculation unit 413 that calculates three-dimensional position information of the object 22 from the second image captured by the second imaging device 21, for example, by executing a predetermined program in the CPU 301. In this case, the second acquisition unit 403 acquires the three-dimensional position information of the object 22 from the position information calculation unit 413.

<処理の流れ>
続いて、第1の実施形態に係る情報処理方法の処理の流れについて説明する。
<Processing flow>
Next, a process flow of the information processing method according to the first embodiment will be described.

(補正処理)
図6は、一実施形態に係る補正処理の例を示すフローチャートである。この処理は、例えば、図4に示すような機能構成を有する情報処理装置100が、第1の撮像装置10の位置と姿勢を示す外部パラメータを補正する補正処理の例を示している。
(Correction process)
Fig. 6 is a flowchart showing an example of a correction process according to an embodiment. This process shows an example of a correction process in which the information processing device 100 having the functional configuration shown in Fig. 4 corrects external parameters indicating the position and orientation of the first imaging device 10.

ステップS601において、第1の取得部402は、第1の撮像装置10が撮像した第1の画像に基づいて、物体22の2次元の位置情報である第1の物体位置情報を取得する。例えば、第1の取得部402は、第1の撮像装置10が、複数の時刻で撮像した一連の画像から、フレームごとにマーカ210の中心位置211を示す第1の物体位置情報を取得し、取得した第1の物体位置情報を撮像時刻と関連付けて、記憶部407等に記憶する。 In step S601, the first acquisition unit 402 acquires first object position information, which is two-dimensional position information of the object 22, based on the first image captured by the first imaging device 10. For example, the first acquisition unit 402 acquires first object position information indicating the center position 211 of the marker 210 for each frame from a series of images captured by the first imaging device 10 at multiple times, and stores the acquired first object position information in the storage unit 407 or the like in association with the imaging time.

ステップS602において、第2の取得部403は、第2の撮像装置21が撮像した第2の画像に基づいて算出した物体22の3次元の位置情報を取得する。例えば、第2の取得部403は、第2の撮像装置21が、複数の時刻で撮像した一連の画像から、移動装置20の位置情報算出部413が算出した物体22の3次元の位置情報と撮像時刻(又は算出時刻)を、記憶部407等に記憶する。 In step S602, the second acquisition unit 403 acquires three-dimensional position information of the object 22 calculated based on the second image captured by the second imaging device 21. For example, the second acquisition unit 403 stores in the storage unit 407, etc., the three-dimensional position information of the object 22 calculated by the position information calculation unit 413 of the mobile device 20 from a series of images captured at multiple times by the second imaging device 21 and the image capture time (or calculation time).

ステップS603において、補正部406は、第1の撮像装置10の位置と姿勢を任意の値で初期化する。例えば、補正部406は、第1の撮像装置のおよその位置及び向きが分かっていれば、その値を用いて、第1の撮像装置10の位置と姿勢を示す外部パラメータを初期化するとよい。 In step S603, the correction unit 406 initializes the position and orientation of the first imaging device 10 with arbitrary values. For example, if the correction unit 406 knows the approximate position and orientation of the first imaging device, it is preferable to use those values to initialize external parameters indicating the position and orientation of the first imaging device 10.

ステップS604において、第1の算出部404は、第2の取得部403が取得した物体22の3次元の位置情報を2次元に投影した第2の物体位置情報を算出する。例えば、第1の算出部404は、第1の撮像装置10の位置と姿勢を示す外部パラメータを用いて、物体22の3次元の位置情報を第1の撮像装置10のカメラ座標に変換する。また、第1の算出部404は、第1の撮像装置10の内部パラメータを用いて、カメラ座標に変換した位置情報を、第1の画像上の2次元の位置情報である第2の物体位置情報にさらに変換する。なお、情報処理装置100は、例えば、第1の撮像装置10の焦点距離、画像中心、及び歪曲特性等の内部パラメータを、記憶部407等に予め記憶しておく。 In step S604, the first calculation unit 404 calculates second object position information obtained by projecting the three-dimensional position information of the object 22 acquired by the second acquisition unit 403 into two dimensions. For example, the first calculation unit 404 converts the three-dimensional position information of the object 22 into the camera coordinates of the first imaging device 10 using external parameters indicating the position and orientation of the first imaging device 10. The first calculation unit 404 also converts the position information converted into the camera coordinates into second object position information, which is two-dimensional position information on the first image, using internal parameters of the first imaging device 10. Note that the information processing device 100 stores internal parameters such as the focal length, image center, and distortion characteristics of the first imaging device 10 in advance in the storage unit 407, etc.

ステップS605において、第2の算出部405は、第1の物体位置情報による物体22の第1の軌跡と、第2の物体位置情報による物体22の第2の軌跡との距離を算出する距離算出処理を実行する。なお、距離算出処理については後述する。 In step S605, the second calculation unit 405 executes a distance calculation process to calculate the distance between the first trajectory of the object 22 based on the first object position information and the second trajectory of the object 22 based on the second object position information. The distance calculation process will be described later.

ステップS606において、補正部406は、第1の軌跡と第2の軌跡との距離が最小化されたかを判断する。例えば、補正部406は、第1の軌跡と第2の軌跡との距離が最小値で収束している場合、第1の軌跡と第2の軌跡との距離が最小化されたと判断する。第1の軌跡と第2の軌跡との距離が最小化されていない場合、補正部406は、処理をステップS607に移行させる。一方、第1の軌跡と第2の軌跡との距離が最小化された場合、補正部406は、補正処理を終了する。 In step S606, the correction unit 406 determines whether the distance between the first trajectory and the second trajectory has been minimized. For example, if the distance between the first trajectory and the second trajectory has converged to a minimum value, the correction unit 406 determines that the distance between the first trajectory and the second trajectory has been minimized. If the distance between the first trajectory and the second trajectory has not been minimized, the correction unit 406 transitions the process to step S607. On the other hand, if the distance between the first trajectory and the second trajectory has been minimized, the correction unit 406 ends the correction process.

ステップS607に移行すると、補正部406は、第1の撮像装置10の位置姿勢(位置と姿勢)を修正する。例えば、補正部406は、共役勾配法等の公知の非線形最適化法に基づいて、第1の撮像装置10の位置と姿勢を示す外部パラメータを再設定し、処理をステップS604に戻す。 When the process proceeds to step S607, the correction unit 406 corrects the position and orientation (position and orientation) of the first image capture device 10. For example, the correction unit 406 resets the external parameters indicating the position and orientation of the first image capture device 10 based on a known nonlinear optimization method such as the conjugate gradient method, and returns the process to step S604.

図6の処理により、情報処理装置100は、第1の撮像装置10の位置と姿勢を示す外部パラメータを補正することができる。 By the processing of Figure 6, the information processing device 100 can correct the external parameters indicating the position and orientation of the first imaging device 10.

(距離算出処理について)
図7は、一実施形態に係る撮像タイミングのイメージを示す図である。この図は、第1の撮像装置10の撮像タイミングと、第2の撮像装置21の撮像タイミングの一例のイメージを示している。図7の例では、第1の撮像装置10は、時刻t11、t12、t13、・・・に第1の画像を撮像し、第2の撮像装置21は、時刻t21、t22、t23、・・・に第2の画像を撮像することを示している。また、情報処理装置100は、時刻T1、2、T3、・・・に、第1の撮像装置10から第1の画像を受信することを示している。
(Regarding distance calculation processing)
7 is a diagram showing an image of imaging timing according to an embodiment. This diagram shows an example of the imaging timing of the first imaging device 10 and the imaging timing of the second imaging device 21. In the example of FIG. 7, the first imaging device 10 captures a first image at times t11, t12, t13, and so on, and the second imaging device 21 captures a second image at times t21, t22, t23, and so on. Also, it shows that the information processing device 100 receives the first image from the first imaging device 10 at times T1, T2, T3, and so on.

例えば、図7に示すように、第1の撮像装置10の撮像タイミングと、第2の撮像装置21の撮像タイミングは、フレームレートの違い、及び画像転送のタイムラグ等により、一般的に一致しない。これにより、移動装置20が移動している場合、例えば、時刻t11に第1の撮像装置10が移動装置20を撮像したときと、時刻t21に第2の撮像装置21が移動装置20を撮像したときでは、物体22の位置が異なる。 7, the imaging timing of the first imaging device 10 and the imaging timing of the second imaging device 21 generally do not match due to differences in frame rates and time lags in image transfer. As a result, when the mobile device 20 is moving, for example, the position of the object 22 differs between when the first imaging device 10 images the mobile device 20 at time t11 and when the second imaging device 21 images the mobile device 20 at time t21.

従って、従来のキャリブレーション方法では、例えば、移動装置20をある地点に停止させて第1の画像と第2の画像を撮像した後、移動装置20を別に地点に停止させて第1の画像と第2の画像を撮像するという作業を繰り返していた。 Therefore, in conventional calibration methods, for example, the mobile device 20 is stopped at a certain point to capture a first image and a second image, and then the mobile device 20 is stopped at another point to capture the first image and the second image, and this process is repeated.

そこで、本実施形態では、第1の物体位置情報による物体22の軌跡と、第2の物体位置情報による物体22の軌跡との距離を算出することにより、移動装置20が走行中に撮像した第1の画像と第2の画像とを用いてキャリブレーションできるようにする。 Therefore, in this embodiment, the distance between the trajectory of the object 22 based on the first object position information and the trajectory of the object 22 based on the second object position information is calculated, so that calibration can be performed using the first image and the second image captured while the mobile device 20 is traveling.

図8は、一実施形態に係る2つの軌跡のイメージを示す図である。図8において、黒丸811a、811b、811c、・・・は、第1の撮像装置10が撮像した第1の画像に基づく2次元の位置情報である第1の物体位置情報による物体22の位置を示している。また、白丸821a、821b、821c、・・・は、第2の撮像装置21が撮像した第2の画像に基づく2次元の位置情報である第2の物体位置情報による物体22の位置を示している。 Figure 8 is a diagram showing an image of two trajectories according to one embodiment. In Figure 8, black circles 811a, 811b, 811c, ... indicate the position of object 22 according to first object position information, which is two-dimensional position information based on a first image captured by first imaging device 10. Also, white circles 821a, 821b, 821c, ... indicate the position of object 22 according to second object position information, which is two-dimensional position information based on a second image captured by second imaging device 21.

図8に示すように、キャリブレーションが完了していない場合、第1の物体位置情報による物体22の第1の軌跡810と、第2の物体位置情報による物体22の第2の軌跡820は、位置がずれている。 As shown in FIG. 8, when calibration is not completed, the first trajectory 810 of the object 22 based on the first object position information and the second trajectory 820 of the object 22 based on the second object position information are misaligned.

本実施形態に係る情報処理装置100は、第1の物体位置情報による物体22の第1の軌跡810と、第2の物体位置情報による物体22の第2の軌跡820との距離を最小化するように、第1の撮像装置10の位置と姿勢を示す外部パラメータを補正する。これにより、例えば、図9に示すように、第1の軌跡810と第2の軌跡820とがほぼ重なるように、第2の物体位置情報を補正することができる。なお、第1の軌跡と第2の軌跡との距離は、例えば、図10、11の処理により算出することができる。 The information processing device 100 according to this embodiment corrects external parameters indicating the position and orientation of the first imaging device 10 so as to minimize the distance between a first trajectory 810 of the object 22 based on the first object position information and a second trajectory 820 of the object 22 based on the second object position information. This makes it possible to correct the second object position information so that the first trajectory 810 and the second trajectory 820 substantially overlap, for example, as shown in FIG. 9. Note that the distance between the first trajectory and the second trajectory can be calculated, for example, by the processes shown in FIGS. 10 and 11.

(距離算出処理)
図10は、一実施形態に係る2つの軌跡の間の距離算出処理の例を示すフローチャートである。この処理は、例えば、図6のステップS605において、第2の算出部405が、第1の物体位置情報による物体22の第1の軌跡と、第2の物体位置情報による物体22の第2の軌跡との距離を算出する距離算出処理の例を示している。
(Distance calculation process)
Fig. 10 is a flowchart showing an example of a distance calculation process between two trajectories according to an embodiment. This process shows an example of a distance calculation process in which the second calculation unit 405 calculates the distance between the first trajectory of the object 22 based on the first object position information and the second trajectory of the object 22 based on the second object position information in step S605 in Fig. 6, for example.

なお、ここでは、図8に示した、第1の物体位置情報による物体22の位置を示す黒丸811a、811b、811c、・・・を第1の点と呼び、第2の物体位置情報による物体22の位置を示す白丸821a、821b、821c、・・・を第2の点と呼ぶものとする。 Note that here, the black circles 811a, 811b, 811c, ... which indicate the position of the object 22 according to the first object position information shown in FIG. 8 are referred to as first points, and the white circles 821a, 821b, 821c, ... which indicate the position of the object 22 according to the second object position information are referred to as second points.

ステップS1001において、第2の算出部405は、第1の点の各々に対して、ステップS1002~1004の処理を実行する。 In step S1001, the second calculation unit 405 performs the processes of steps S1002 to S1004 for each of the first points.

ステップS1002において、第2の算出部405は、第1の点の撮像時刻から所定の時間内(例えば±3秒以内等)に撮像された第2の点を選択する。ここで、所定の時間は、所定の時間内に複数の第2の点が含まれるように設定する。複数の第2の点の数が3つ以上である場合、3つ以上の第2の点は、第2の点の各々を端点とする線分が連続した折れ線となる。なお、情報処理装置100は、所定の時間内の第2の点を選択することで、物体22が時間を変えて同じ位置を通過した場合でも、誤った軌跡との距離を計算してしまうことを回避することができる。 In step S1002, the second calculation unit 405 selects a second point that is imaged within a predetermined time (e.g., within ±3 seconds) from the image capture time of the first point. Here, the predetermined time is set so that multiple second points are included within the predetermined time. If the number of multiple second points is three or more, the three or more second points become a broken line with continuous line segments having each of the second points as an end point. Note that by selecting second points within the predetermined time, the information processing device 100 can avoid calculating the distance to an incorrect trajectory even if the object 22 passes the same position at different times.

ステップS1003において、第2の算出部405は、選択された第2の点を結ぶ折れ線と、第1の点との間の距離を算出する。例えば、第2の算出部405は、図11で後述する折れ線と点との間の距離の算出処理を実行する。 In step S1003, the second calculation unit 405 calculates the distance between the first point and a broken line connecting the selected second points. For example, the second calculation unit 405 executes a process for calculating the distance between the broken line and the point, which will be described later with reference to FIG. 11.

ステップS1004において、第2の算出部405は、算出した第1の点と折れ線との間の距離を、例えば、記憶部407、又はRAM303等に記録する。 In step S1004, the second calculation unit 405 records the calculated distance between the first point and the broken line, for example, in the memory unit 407 or the RAM 303.

ステップS1005において、第2の算出部405は、第1の点の各々に対して、ステップS1002~S1004の処理を実行すると、処理をステップS1006に移行させる。 In step S1005, the second calculation unit 405 executes the processes of steps S1002 to S1004 for each of the first points, and then transitions to step S1006.

ステップS1006に移行すると、第2の算出部405は、記録した第1の点と折れ線との間の距離の総和を2つの軌跡の間の距離とする。 When proceeding to step S1006, the second calculation unit 405 determines the sum of the distances between the recorded first points and the broken line as the distance between the two trajectories.

(折れ線と点との間の距離の算出処理)
図11は、一実施形態に係る折れ線と点との間の距離算出処理の例を示すフローチャートである。この処理は、例えば、第2の算出部405が、図10のステップS1003で実行する、選択された第2の点を結ぶ折れ線と、第1の点との間の距離を算出する処理の一例を示している。
(Calculation of distance between broken line and point)
11 is a flowchart showing an example of a process for calculating a distance between a polygonal line and a point according to an embodiment. This process shows an example of a process for calculating a distance between a polygonal line connecting selected second points and a first point, which is executed by the second calculation unit 405 in step S1003 in FIG.

ステップS1101において、第2の算出部405は、例えば、図10のステップS1002で選択された第2の点を結ぶ線分の各々に対して、ステップS1102~S1106の処理を実行する。 In step S1101, the second calculation unit 405 performs the processes of steps S1102 to S1106 for each line segment connecting the second points selected in step S1002 of FIG. 10, for example.

ステップS1102において、第2の算出部405は、線分に対する第1の点の位置により処理を分岐させる。例えば、第2の算出部405は、図12に示すように、隣り合う2つの第2の点(白丸821-1、821-2)を通り、線分1201と垂直な2本の線1202、1203で、平面を第1の領域、第2の領域、及び第3の領域に区切る。また、第1の点が第1の領域にある場合、第2の算出部405は、処理をステップS1103に移行させる。第1の点が第2の領域にある場合、第2の算出部405は、処理をステップS1104に移行させる。第1の点が第3の領域にある場合、第2の算出部405は、処理をステップS1105に移行させる。 In step S1102, the second calculation unit 405 branches the process depending on the position of the first point relative to the line segment. For example, as shown in FIG. 12, the second calculation unit 405 divides the plane into a first region, a second region, and a third region with two lines 1202 and 1203 that pass through two adjacent second points (white circles 821-1 and 821-2) and are perpendicular to the line segment 1201. If the first point is in the first region, the second calculation unit 405 shifts the process to step S1103. If the first point is in the second region, the second calculation unit 405 shifts the process to step S1104. If the first point is in the third region, the second calculation unit 405 shifts the process to step S1105.

ステップS1103に移行すると、第2の算出部405は、図12に示すように、第1の点(黒丸811)と、第2の点(白丸821-1)との間の距離1204を算出する。 When the process proceeds to step S1103, the second calculation unit 405 calculates the distance 1204 between the first point (black circle 811) and the second point (white circle 821-1), as shown in FIG. 12.

ステップS1104に移行すると、第2の算出部405は、図12に示すように、第1の点(黒丸811)から線分1201に下ろした垂線の長さ1205を算出する。 When the process proceeds to step S1104, the second calculation unit 405 calculates the length 1205 of the perpendicular line drawn from the first point (black circle 811) to the line segment 1201, as shown in FIG. 12.

ステップS1105に移行すると、第2の算出部405は、図12に示すように、第1の点(黒丸811)と、第2の点(白丸821-2)との間の距離1206を算出する。 When the process proceeds to step S1105, the second calculation unit 405 calculates the distance 1206 between the first point (black circle 811) and the second point (white circle 821-2), as shown in FIG. 12.

ステップS1106において、第2の算出部405は、算出した距離を、例えば、記憶部407、又はRAM303等に記録する。 In step S1106, the second calculation unit 405 records the calculated distance, for example, in the memory unit 407 or the RAM 303.

ステップS1107において、第2の算出部405は、例えば、図10のステップS1002で選択された第2の点を結ぶ線分の各々に対して、ステップS1102~S1106の処理を完了すると、処理をステップS1108に移行させる。 In step S1107, when the second calculation unit 405 completes the processing of steps S1102 to S1106 for each of the line segments connecting the second points selected in step S1002 of FIG. 10, the second calculation unit 405 transitions the processing to step S1108.

ステップS1108において、第2の算出部405は、ステップS1106で記録した距離のうち、最小値を第2の点を結ぶ線分と第1の点との間の距離とする。 In step S1108, the second calculation unit 405 determines the minimum value of the distances recorded in step S1106 as the distance between the line segment connecting the second point and the first point.

図10、11の処理により、第2の算出部405は、第1の物体位置情報による物体22の第1の軌跡と、第2の物体位置情報による物体22の第2の軌跡との距離を算出することができる。 By the processing of Figures 10 and 11, the second calculation unit 405 can calculate the distance between the first trajectory of the object 22 based on the first object position information and the second trajectory of the object 22 based on the second object position information.

(変形例)
図10、11の説明では、図8に示した、第1の物体位置情報による物体22の位置を示す黒丸811a、811b、811c、・・・を第1の点とし、第2の物体位置情報による物体22の位置を示す白丸821a、821b、821c、・・・を第2の点とした。ただし、これに限られず、第2の算出部405は、第1の物体位置情報による物体22の位置を示す黒丸を第2の点とし、第2の物体位置情報による物体22の位置を示す白丸を第1の点として、図10、11の処理を実行してもよい。例えば、第1の撮像装置10の方が、フレームレートが高い場合、第2の算出部405は、図13に示すように、白丸821を第1の点とし、黒丸811を第2の点として、第1の軌跡810と第2の軌跡820との距離を算出することが望ましい。
(Modification)
In the explanation of Fig. 10 and 11, the black circles 811a, 811b, 811c, ... indicating the position of the object 22 according to the first object position information shown in Fig. 8 are set as first points, and the white circles 821a, 821b, 821c, ... indicating the position of the object 22 according to the second object position information are set as second points. However, this is not limited thereto, and the second calculation unit 405 may execute the processing of Fig. 10 and 11 by setting the black circles indicating the position of the object 22 according to the first object position information as second points and the white circles indicating the position of the object 22 according to the second object position information as first points. For example, when the first imaging device 10 has a higher frame rate, it is desirable that the second calculation unit 405 calculates the distance between the first trajectory 810 and the second trajectory 820 by setting the white circles 821 as first points and the black circles 811 as second points, as shown in Fig. 13.

(第2の撮像装置と物体との位置関係について)
位置情報算出部413は、前述したように、VSLAM技術等により算出した第2の撮像装置21の3次元の位置情報、及び予め取得した第2の撮像装置21と物体22との相対位置から、物体22の3次元の位置情報を算出する。従って、位置情報算出部413が、物体22の3次元の位置情報を算出するためには、第2の撮像装置21と物体22との相対位置を予め取得する必要がある。
(Regarding the positional relationship between the second imaging device and the object)
As described above, the position information calculation unit 413 calculates three-dimensional position information of the object 22 from three-dimensional position information of the second imaging device 21 calculated by the VSLAM technique or the like and a previously acquired relative position between the second imaging device 21 and the object 22. Therefore, in order for the position information calculation unit 413 to calculate the three-dimensional position information of the object 22, it is necessary to acquire the relative position between the second imaging device 21 and the object 22 in advance.

好適な一例として、位置情報算出部413は、例えば、図14に示すように、第2の撮像装置21で物体22上に設けられたマーカ210を撮像した画像から、第2の撮像装置21と物体22との相対位置を算出する。例えば、位置情報算出部413は、第2の撮像装置21で物体22上に設けられたマーカ210を撮像し、マーカ210の外径の座標を取得する。また、位置情報算出部413は、取得したマーカ210の外径の座標と、マーカ210の実寸とから、第2の撮像装置21のカメラ座標系におけるマーカ210の中心位置211を算出する。 As a preferred example, the position information calculation unit 413 calculates the relative position between the second imaging device 21 and the object 22 from an image of a marker 210 provided on the object 22 captured by the second imaging device 21, as shown in FIG. 14. For example, the position information calculation unit 413 captures an image of the marker 210 provided on the object 22 by the second imaging device 21, and obtains the coordinates of the outer diameter of the marker 210. In addition, the position information calculation unit 413 calculates the center position 211 of the marker 210 in the camera coordinate system of the second imaging device 21 from the obtained coordinates of the outer diameter of the marker 210 and the actual size of the marker 210.

また、第2の撮像装置21の位置から物体22上に設けられたマーカ210を撮像できない場合、位置情報算出部413は、補助マーカを利用して、第2の撮像装置21のカメラ座標系におけるマーカ210の中心位置211を算出することができる。 In addition, if the marker 210 provided on the object 22 cannot be imaged from the position of the second imaging device 21, the position information calculation unit 413 can use an auxiliary marker to calculate the center position 211 of the marker 210 in the camera coordinate system of the second imaging device 21.

補助マーカ1501は、例えば、図15(B)に示すように、棒1502の上部に固定されたARマーカである補助マーカ1501を用意し、補助マーカ1501の中心1503から棒1502の下端までの距離Lを予め測定しておく。また、例えば、図15(A)に示すように、棒1502の下端をマーカ210の中心に接し、補助マーカ1501全体が第2の撮像装置21の撮像範囲に含まれるようにして、第2の撮像装置21で補助マーカ1501を撮像する。 15(B), the auxiliary marker 1501 is prepared as an AR marker fixed to the top of a rod 1502, and the distance L from the center 1503 of the auxiliary marker 1501 to the bottom end of the rod 1502 is measured in advance. Also, for example, as shown in FIG. 15(A), the bottom end of the rod 1502 is brought into contact with the center of the marker 210, and the auxiliary marker 1501 is imaged by the second imaging device 21 so that the entire auxiliary marker 1501 is included in the imaging range of the second imaging device 21.

位置情報算出部413は、撮像した画像から、第2の撮像装置21を基準とした3次元座標系における、補助マーカ1501の中心1503と、補助マーカ1501の平面上のマーカ縦横方向を指す3次元ベクトルを決定する。また、位置情報算出部413は、補助マーカ1501の中心1503の位置から下方向へ予め測定した棒1502の長さL分だけ下方に移動した点を、マーカ210の中心の位置として算出することができる。 The position information calculation unit 413 determines, from the captured image, the center 1503 of the auxiliary marker 1501 in a three-dimensional coordinate system based on the second imaging device 21, and a three-dimensional vector indicating the vertical and horizontal directions of the marker on the plane of the auxiliary marker 1501. The position information calculation unit 413 can also calculate, as the position of the center of the marker 210, a point that has moved downward from the position of the center 1503 of the auxiliary marker 1501 by the length L of the rod 1502 that was measured in advance.

以上、第1実施形態によれば、移動装置20により移動される物体22を撮像する第1の撮像装置10と、移動装置に搭載された第2の撮像装置21とを用いて物体の位置を特定するシステムにおいて、キャリブレーション作業を容易にすることができる。 As described above, according to the first embodiment, the calibration process can be facilitated in a system that identifies the position of an object using a first imaging device 10 that captures an image of an object 22 moved by a moving device 20 and a second imaging device 21 mounted on the moving device.

[第2の実施形態]
第1の実施形態では、物体22を移動させる移動装置20が、例えば、フォークリフト等の移動体であるものとして説明した。ただし、本実施形態は、これに限られず、例えば、作業エリアに供給されたワークを上方から第1の撮像装置10で撮像して当該ワークの位置を認識して作業するロボットシステム等にも適用することができる。
Second Embodiment
In the first embodiment, the moving device 20 that moves the object 22 has been described as being a moving body such as a forklift, etc. However, the present embodiment is not limited to this, and can also be applied to, for example, a robot system that images a workpiece supplied to a work area from above with the first imaging device 10 and recognizes the position of the workpiece to perform work.

図16は、第2の実施形態に係る情報処理システムのシステム構成の例を示す図である。図16の例では、情報処理システム1600は、第1の撮像装置10、移動装置1611、移動装置1611に搭載された第2の撮像装置21、及び情報処理装置100等を含む。 Fig. 16 is a diagram showing an example of the system configuration of an information processing system according to the second embodiment. In the example of Fig. 16, the information processing system 1600 includes a first imaging device 10, a moving device 1611, a second imaging device 21 mounted on the moving device 1611, and an information processing device 100.

第1の撮像装置10は、例えば、工場等の天井1601等に設置され、移動装置1611が移動するワーク等の物体1602を撮像し、撮像した第1の画像を情報処理装置100に送信する。 The first imaging device 10 is installed, for example, on the ceiling 1601 of a factory or the like, and captures an object 1602 such as a workpiece moved by a moving device 1611, and transmits the captured first image to the information processing device 100.

図16の例では、移動装置1611は、例えば、工場等のフロア1612に設置され、物体1602を移動させる5軸垂直多関節ロボットである。移動装置1611は、例えば、フロア1612に設置された固定ベース1613、及び固定ベース1613上に第1関節軸1614を中心に回転可能に設けられた第1アーム1615を有する。また、移動装置1611は、第1アーム1615の先端に第2関節軸1616によって旋回可能に設けられた第2アーム1617、及び第2アーム1617の先端に第3関節軸1618によって旋回可能に設けられた第3アーム1619を有する。さらに、移動装置1611は、第3アーム1619の先端に第4関節軸1620によって旋回可能に設けられた手首部1621、及び手首部1621に第5関節軸1622を中心に回転可能、かつ交換可能に取り付けられたエンドエフェクタ1623等を有する。これにより、手首部1621に取り付けたエンドエフェクタ1623は、手首部1621の関節軸である第4関節軸1620によって旋回動作するように構成されている。 16, the moving device 1611 is, for example, a five-axis vertical articulated robot that is installed on a floor 1612 of a factory or the like and moves an object 1602. The moving device 1611 has, for example, a fixed base 1613 installed on the floor 1612, and a first arm 1615 rotatably mounted on the fixed base 1613 around a first joint shaft 1614. The moving device 1611 also has a second arm 1617 rotatably mounted on the tip of the first arm 1615 by a second joint shaft 1616, and a third arm 1619 rotatably mounted on the tip of the second arm 1617 by a third joint shaft 1618. Furthermore, the moving device 1611 has a wrist 1621 that is rotatably attached to the tip of the third arm 1619 by a fourth joint shaft 1620, and an end effector 1623 that is rotatable and replaceably attached to the wrist 1621 around a fifth joint shaft 1622. As a result, the end effector 1623 attached to the wrist 1621 is configured to rotate by the fourth joint shaft 1620, which is the joint shaft of the wrist 1621.

ここで、エンドエフェクタ1623は、例えば、吸着ノズル、ハンド、又はグリッパ等で物体1602を保持する。また、第1~第5の各関節軸1614、1616、1618、1620、1622は、それぞれサーボモータにより駆動されるようになっている。これにより、移動装置1611は、物体1602を5軸の自由度で移動することができる。また、移動装置1611の手首部1621には、作業エリアに供給されたワークである物体1602を撮像する第2の撮像装置21が設けられている。 The end effector 1623 holds the object 1602, for example, with a suction nozzle, a hand, or a gripper. The first to fifth joint axes 1614, 1616, 1618, 1620, and 1622 are each driven by a servo motor. This allows the moving device 1611 to move the object 1602 with five degrees of freedom. The wrist 1621 of the moving device 1611 is provided with a second imaging device 21 that captures an image of the object 1602, which is a workpiece supplied to the working area.

上記の構成により、移動装置1611は、エンドエフェクタ1623に、マーカ210を印刷した物体1602を取り付けた状態で、物体1602を移動させる。また、第2の撮像装置21は、移動装置1611の周辺を撮像した第2の画像を、情報処理装置100に送信する。 With the above configuration, the moving device 1611 moves the object 1602, on which the marker 210 is printed, with the object 1602 attached to the end effector 1623. In addition, the second imaging device 21 transmits a second image captured around the moving device 1611 to the information processing device 100.

情報処理装置100は、第1の撮像装置10から受信する第1の画像と、第2の撮像装置21から受信する第2の画像に基づいて、第1の実施形態と同様にして、第1の撮像装置10と第2の撮像装置21の位置と姿勢の関係をキャリブレーションすることができる。 The information processing device 100 can calibrate the relationship between the position and orientation of the first imaging device 10 and the second imaging device 21 based on the first image received from the first imaging device 10 and the second image received from the second imaging device 21 in a manner similar to the first embodiment.

このように、移動装置20は、物体1602を移動する装置であればよく、移動装置20自体は、必ずしも移動できなくてもよい。 In this way, the mobile device 20 only needs to be a device that moves the object 1602, and the mobile device 20 itself does not necessarily need to be capable of moving.

(第3の実施形態)
第1、2の実施形態では、第1の撮像装置10が撮像する第1の画像の撮像時刻と、第2の撮像装置21が撮像する第2の画像の撮像時刻とにずれがあるという前提で説明を行った。第3の実施形態では、別の解決手段として、第1の撮像装置10が撮像する第1の画像の撮像時刻と、第2の撮像装置21が撮像する第2の画像の撮像時刻とのずれをなくす方法について説明する。
Third Embodiment
The first and second embodiments have been described on the premise that there is a difference between the imaging time of the first image captured by the first imaging device 10 and the imaging time of the second image captured by the second imaging device 21. In the third embodiment, as another means for solving the problem, a method for eliminating the difference between the imaging time of the first image captured by the first imaging device 10 and the imaging time of the second image captured by the second imaging device 21 will be described.

図17は、第3の実施形態に係る情報処理システムのシステム構成の例を示す図である。図17の例では、情報処理システム1700は、図1で説明した第1の実施形態に係る情報処理システム1と同様のシステム構成を有している。また、第3の実施形態に係る情報処理装置100は、第1の撮像装置10、及び第2の撮像装置21に撮像を指示するトリガ信号を同時に送信する機能を有している。具体的な一例として、情報処理装置100は、GigEVision等のカメラインタフェース規格のソフトウエアトリガ機能を利用することにより、通信ネットワークN経由でトリガ信号を送信することができる。 Fig. 17 is a diagram showing an example of the system configuration of an information processing system according to the third embodiment. In the example of Fig. 17, the information processing system 1700 has a system configuration similar to that of the information processing system 1 according to the first embodiment described in Fig. 1. Furthermore, the information processing device 100 according to the third embodiment has a function of simultaneously transmitting a trigger signal that instructs the first imaging device 10 and the second imaging device 21 to capture images. As a specific example, the information processing device 100 can transmit a trigger signal via the communication network N by using a software trigger function of a camera interface standard such as GigE Vision.

上記の構成により、第3の実施形態に係る情報処理システム1では、第1の撮像装置10と第2の撮像装置21とが、ほぼ同時に撮像を実行する。なお、例えば、ネットワーク構成の違い等により多少の遅延差が生じた場合でも、移動装置20の移動速度に対して十分小さい誤差(例えば、遅延差による移動装置20の位置の誤差が1mm程度)であれば無視してよい。 With the above configuration, in the information processing system 1 according to the third embodiment, the first imaging device 10 and the second imaging device 21 perform imaging almost simultaneously. Note that even if a slight delay difference occurs due to, for example, differences in network configuration, etc., it may be ignored if the error is sufficiently small relative to the moving speed of the moving device 20 (for example, the error in the position of the moving device 20 due to the delay difference is about 1 mm).

第3の実施形態によれば、移動装置20を停止させなくても、従来のキャリブレーション方法で、第1の撮像装置10と、第2の撮像装置21との位置と姿勢の関係をキャリブレーションできるようになる。 According to the third embodiment, it is possible to calibrate the relationship between the position and orientation of the first imaging device 10 and the second imaging device 21 using a conventional calibration method without stopping the moving device 20.

以上、本発明の各実施形態によれば、移動装置により移動される物体を撮像する第1の撮像装置10と、移動装置に搭載された第2の撮像装置21とを用いて物体の位置を特定するシステムにおいて、キャリブレーション作業が容易になる。 As described above, according to each embodiment of the present invention, the calibration process is facilitated in a system that identifies the position of an object using a first imaging device 10 that captures an image of an object moved by a moving device and a second imaging device 21 mounted on the moving device.

<補足>
上記で説明した各実施形態の各機能は、一又は複数の処理回路によって実現することが可能である。ここで、本明細書における「処理回路」とは、電子回路により実装されるプロセッサのようにソフトウェアによって各機能を実行するようプログラミングされたプロセッサや、上記で説明した各機能を実行するよう設計されたASIC(Application Specific Integrated Circuit)、DSP(digital signal processor)、FPGA(field programmable gate array)や従来の回路モジュール等のデバイスを含むものとする。
<Additional Information>
Each function of each embodiment described above can be realized by one or more processing circuits. Here, the term "processing circuit" in this specification includes a processor programmed to execute each function by software, such as a processor implemented by an electronic circuit, and devices such as an ASIC (Application Specific Integrated Circuit), a DSP (digital signal processor), an FPGA (field programmable gate array), and a conventional circuit module designed to execute each function described above.

また、実施例に記載された装置群は、本明細書に開示された実施形態を実施するための複数のコンピューティング環境のうちの1つを示すものに過ぎない。ある実施形態では、情報処理装置100は、サーバクラスタといった複数のコンピューティングデバイスを含む。複数のコンピューティングデバイスは、ネットワークや共有メモリなどを含む任意のタイプの通信リンクを介して互いに通信するように構成されており、本明細書に開示された処理を実施する。 Furthermore, the group of devices described in the examples represents only one of multiple computing environments for implementing the embodiments disclosed herein. In one embodiment, the information processing device 100 includes multiple computing devices, such as a server cluster. The multiple computing devices are configured to communicate with each other via any type of communication link, including a network, shared memory, etc., and perform the processing disclosed herein.

また、情報処理装置100の各機能構成は、1つの装置にまとめられていてもよいし、複数の装置に分けられていてもよい。さらに、情報処理装置100の各機能構成のうち、少なくとの一部は、移動装置20(又は第2の撮像装置21)が有していてもよい。 Furthermore, each functional configuration of the information processing device 100 may be integrated into one device, or may be divided into multiple devices. Furthermore, at least a part of each functional configuration of the information processing device 100 may be possessed by the mobile device 20 (or the second imaging device 21).

<付記>
本明細書には、下記の各項の情報処理装置、情報処理システム、情報処理方法、及びプログラムが開示されている。
(第1項)
移動装置により移動される物体を撮像する第1の撮像装置と通信可能な情報処理装置であって、
前記第1の撮像装置が撮像した第1の画像から前記物体の2次元の位置情報である第1の物体位置情報を取得する第1の取得部と、
前記物体の3次元の位置情報を取得する第2の取得部と、
前記第2の取得部で取得した前記物体の3次元の位置情報から前記第1の画像上の2次元の位置情報である第2の物体位置情報を算出する第1の算出部と、
前記第1の物体位置情報による前記物体の第1の軌跡と、前記第2の物体位置情報による前記物体の第2の軌跡との距離を算出する第2の算出部と、
前記第1の軌跡と前記第2の軌跡との距離を補正する補正処理を実行する補正部と、
を有する、
情報処理装置。
(第2項)
前記補正部は、前記補正処理の実行結果に基づいて、前記第1の撮像装置の位置と姿勢とを再設定する、請求項1に記載の情報処理装置。
(第3項)
前記第2の算出部は、前記第1の物体位置情報による前記物体の位置を結ぶ線分と、前記第2の物体位置情報による前記物体の位置を示す点と間の距離に基づいて、前記第1の軌跡と前記第2の軌跡との距離を算出する、第1項に記載の情報処理装置。
(第4項)
前記第2の算出部は、前記第2の物体位置情報による前記物体の位置を結ぶ線分と、前記第1物体位置情報による前記物体の位置を示す点との距離に基づいて、前記第1の軌跡と前記第2の軌跡との距離を算出する、第1項に記載の情報処理装置。
(第5項)
前記補正部は、前記第1の軌跡と前記第2の軌跡との距離を最小化するように、前記第2の物体位置情報を補正する、第1項~第4項のいずれかに記載の情報処理装置。
(第6項)
前記第1の算出部は、前記第1の撮像装置の位置と姿勢を示す外部パラメータを用いて、前記物体の3次元の位置情報を前記第1の画像上に投影した前記第2の物体位置情報を算出し、
前記補正部は、前記第1の軌跡と前記第2の軌跡との距離を最小化するように、前記外部パラメータを補正する、第1項~第4項のいずれかに記載の情報処理装置。
(第7項)
前記情報処理装置は、前記移動装置に搭載された第2の撮像装置と通信可能であり、
前記第2の取得部は、前記第2の撮像装置が撮像した第2の画像に基づいて、前記物体の3次元の位置情報を取得する、第1項~第6項のいずれかに記載の情報処理装置。
(第8項)
第7項に記載の情報処理装置と、移動装置に搭載された第2の撮像装置とを含む情報処理システムであって、
前記情報処理システムは、
前記第2の撮像装置が撮像した前記第2の画像に基づいて取得した、前記移動装置の3次元の位置情報、及び前記移動装置と前記物体との相対位置から、前記物体の3次元の位置情報を算出する位置情報算出部を有する、
情報処理システム。
(第9項)
前記第2の撮像装置は、前記物体に設けられたマーカを撮像し、
前記算出部は、前記マーカを撮像した画像から、前記移動装置と前記物体との相対位置を算出する、
第8項に記載の情報処理システム。
(第10項)
前記第2の撮像装置は、前記物体に設けられたマーカの中心位置からの相対位置が一定となるように配置された補助マーカを撮像し、
前記算出部は、前記補助マーカを撮像した画像から、前記移動装置と前記物体との相対位置を算出する、
第8項に記載の情報処理システム。
(第11項)
移動装置により移動される物体を撮像する第1の撮像装置と通信可能な情報処理装置が、
前記第1の撮像装置が撮像した第1の画像から前記物体の2次元の位置情報である第1の物体位置情報を取得する第1の取得処理と、
前記物体の3次元の位置情報を取得する第2の取得処理と、
前記第2の取得処理で取得した前記物体の3次元の位置情報から前記第1の画像上の2次元の位置情報である第2の物体位置情報を算出する第1の算出処理と、
前記第1の物体位置情報による前記物体の第1の軌跡と、前記第2の物体位置情報による前記物体の第2の軌跡との距離を算出する第2の算出処理と、
前記第1の軌跡と前記第2の軌跡との距離を補正する補正処理と、
を実行する、
情報処理方法。
(第12項)
移動装置により移動される物体を撮像する第1の撮像装置と通信可能なコンピュータに、
前記第1の撮像装置が撮像した第1の画像から前記物体の2次元の位置情報である第1の物体位置情報を取得する第1の取得処理と、
前記物体の3次元の位置情報を取得する第2の取得処理と、
前記第2の取得処理で取得した前記物体の3次元の位置情報から前記第1の画像上の2次元の位置情報である第2の物体位置情報を算出する第1の算出処理と、
前記第1の物体位置情報による前記物体の第1の軌跡と、前記第2の物体位置情報による前記物体の第2の軌跡との距離を算出する第2の算出処理と、
前記第1の軌跡と前記第2の軌跡との距離を補正する補正処理と、
を実行させる、
プログラム。
<Additional Notes>
This specification discloses the following information processing device, information processing system, information processing method, and program.
(Section 1)
An information processing device capable of communicating with a first imaging device that captures an image of an object moved by a moving device,
a first acquisition unit that acquires first object position information, which is two-dimensional position information of the object, from a first image captured by the first imaging device;
A second acquisition unit that acquires three-dimensional position information of the object;
a first calculation unit that calculates second object position information, which is two-dimensional position information on the first image, from the three-dimensional position information of the object acquired by the second acquisition unit;
a second calculation unit that calculates a distance between a first trajectory of the object based on the first object position information and a second trajectory of the object based on the second object position information;
a correction unit that executes a correction process to correct a distance between the first trajectory and the second trajectory;
having
Information processing device.
(Section 2)
The information processing device according to claim 1 , wherein the correction unit resets a position and an orientation of the first imaging device based on a result of the execution of the correction process.
(Section 3)
The information processing device described in paragraph 1, wherein the second calculation unit calculates the distance between the first trajectory and the second trajectory based on the distance between a line segment connecting the position of the object according to the first object position information and a point indicating the position of the object according to the second object position information.
(Section 4)
The information processing device described in paragraph 1, wherein the second calculation unit calculates the distance between the first trajectory and the second trajectory based on the distance between a line segment connecting the position of the object according to the second object position information and a point indicating the position of the object according to the first object position information.
(Section 5)
5. The information processing device according to any one of claims 1 to 4, wherein the correction unit corrects the second object position information so as to minimize a distance between the first trajectory and the second trajectory.
(Section 6)
the first calculation unit calculates the second object position information by projecting three-dimensional position information of the object onto the first image using external parameters indicating a position and an orientation of the first imaging device;
5. The information processing device according to any one of claims 1 to 4, wherein the correction unit corrects the external parameters so as to minimize a distance between the first trajectory and the second trajectory.
(Section 7)
the information processing device is capable of communicating with a second imaging device mounted on the mobile device;
7. The information processing device according to any one of claims 1 to 6, wherein the second acquisition unit acquires three-dimensional position information of the object based on a second image captured by the second imaging device.
(Section 8)
8. An information processing system including the information processing device according to claim 7 and a second imaging device mounted on a mobile device,
The information processing system includes:
a position information calculation unit that calculates three-dimensional position information of the object from three-dimensional position information of the mobile device and a relative position between the mobile device and the object, the three-dimensional position information being acquired based on the second image captured by the second imaging device;
Information processing system.
(Section 9)
the second imaging device captures an image of a marker provided on the object;
The calculation unit calculates a relative position between the moving device and the object from an image of the marker.
9. An information processing system according to claim 8.
(Article 10)
the second imaging device captures an image of an auxiliary marker that is disposed so that a relative position from a center position of a marker provided on the object is constant;
The calculation unit calculates a relative position between the moving device and the object from an image of the auxiliary marker.
9. An information processing system according to claim 8.
(Article 11)
an information processing device capable of communicating with a first imaging device that captures an image of an object moved by a moving device,
a first acquisition process for acquiring first object position information, which is two-dimensional position information of the object, from a first image captured by the first imaging device;
A second acquisition process for acquiring three-dimensional position information of the object;
a first calculation process for calculating second object position information, which is two-dimensional position information on the first image, from three-dimensional position information of the object acquired in the second acquisition process;
a second calculation process for calculating a distance between a first trajectory of the object based on the first object position information and a second trajectory of the object based on the second object position information;
a correction process for correcting a distance between the first trajectory and the second trajectory;
Execute
Information processing methods.
(Article 12)
A computer capable of communicating with a first imaging device that images an object moved by a moving device,
a first acquisition process for acquiring first object position information, which is two-dimensional position information of the object, from a first image captured by the first imaging device;
A second acquisition process for acquiring three-dimensional position information of the object;
a first calculation process for calculating second object position information, which is two-dimensional position information on the first image, from three-dimensional position information of the object acquired in the second acquisition process;
a second calculation process for calculating a distance between a first trajectory of the object based on the first object position information and a second trajectory of the object based on the second object position information;
a correction process for correcting a distance between the first trajectory and the second trajectory;
Execute the
program.

以上、本発明の実施形態について説明したが、本発明はかかる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形、及び応用が可能である。 Although the embodiment of the present invention has been described above, the present invention is not limited to such a specific embodiment, and various modifications and applications are possible within the scope of the gist of the present invention described in the claims.

1、1600、1700 情報処理システム
10 第1の撮像装置
20、1611 移動装置
21 第2の撮像装置
22、1602 物体
100 情報処理装置
402 第1の取得部
403 第2の取得部
404 第1の算出部
405 第2の算出部
406 補正部
407 記憶部
413 位置情報算出部
414 記憶部
1, 1600, 1700 Information processing system 10 First imaging device 20, 1611 Moving device 21 Second imaging device 22, 1602 Object 100 Information processing device 402 First acquisition unit 403 Second acquisition unit 404 First calculation unit 405 Second calculation unit 406 Correction unit 407 Storage unit 413 Position information calculation unit 414 Storage unit

特開2022-130032号公報JP 2022-130032 A 特開2019-125354号公報JP 2019-125354 A

Claims (12)

移動装置により移動される物体を撮像する第1の撮像装置と通信可能な情報処理装置であって、
前記第1の撮像装置が撮像した第1の画像から前記物体の2次元の位置情報である第1の物体位置情報を取得する第1の取得部と、
前記物体の3次元の位置情報を取得する第2の取得部と、
前記第2の取得部で取得した前記物体の3次元の位置情報から前記第1の画像上の2次元の位置情報である第2の物体位置情報を算出する第1の算出部と、
前記第1の物体位置情報による前記物体の第1の軌跡と、前記第2の物体位置情報による前記物体の第2の軌跡との距離を算出する第2の算出部と、
前記第1の軌跡と前記第2の軌跡との距離を補正する補正処理を実行する補正部と、
を有する、
情報処理装置。
An information processing device capable of communicating with a first imaging device that captures an image of an object moved by a moving device,
a first acquisition unit that acquires first object position information, which is two-dimensional position information of the object, from a first image captured by the first imaging device;
A second acquisition unit that acquires three-dimensional position information of the object;
a first calculation unit that calculates second object position information, which is two-dimensional position information on the first image, from the three-dimensional position information of the object acquired by the second acquisition unit;
a second calculation unit that calculates a distance between a first trajectory of the object based on the first object position information and a second trajectory of the object based on the second object position information;
a correction unit that executes a correction process to correct a distance between the first trajectory and the second trajectory;
having
Information processing device.
前記補正部は、前記補正処理の実行結果に基づいて、前記第1の撮像装置の位置と姿勢とを再設定する、請求項1に記載の情報処理装置。 The information processing device according to claim 1, wherein the correction unit resets the position and orientation of the first imaging device based on the result of the correction process. 前記第2の算出部は、前記第1の物体位置情報による前記物体の位置を結ぶ線分と、前記第2の物体位置情報による前記物体の位置を示す点との距離に基づいて、前記第1の軌跡と前記第2の軌跡との距離を算出する、請求項1に記載の情報処理装置。 The information processing device according to claim 1, wherein the second calculation unit calculates the distance between the first trajectory and the second trajectory based on the distance between a line segment connecting the positions of the object according to the first object position information and a point indicating the position of the object according to the second object position information. 前記第2の算出部は、前記第2の物体位置情報による前記物体の位置を結ぶ線分と、前記第1の物体位置情報による前記物体の位置を示す点との距離に基づいて、前記第1の軌跡と前記第2の軌跡との距離を算出する、請求項1に記載の情報処理装置。 The information processing device according to claim 1, wherein the second calculation unit calculates the distance between the first trajectory and the second trajectory based on the distance between a line segment connecting the positions of the object according to the second object position information and a point indicating the position of the object according to the first object position information. 前記補正部は、前記第1の軌跡と前記第2の軌跡との距離を最小化するように、前記第2の物体位置情報を補正する、請求項1に記載の情報処理装置。 The information processing device according to claim 1, wherein the correction unit corrects the second object position information so as to minimize the distance between the first trajectory and the second trajectory. 前記第1の算出部は、前記第1の撮像装置の位置と姿勢を示す外部パラメータを用いて、前記物体の3次元の位置情報を前記第1の画像上に投影した前記第2の物体位置情報を算出し、
前記補正部は、前記第1の軌跡と前記第2の軌跡との距離を最小化するように、前記外部パラメータを補正する、請求項1に記載の情報処理装置。
the first calculation unit calculates the second object position information by projecting three-dimensional position information of the object onto the first image using external parameters indicating a position and an orientation of the first imaging device;
The information processing apparatus according to claim 1 , wherein the correction unit corrects the external parameters so as to minimize a distance between the first trajectory and the second trajectory.
前記情報処理装置は、前記移動装置に搭載された第2の撮像装置と通信可能であり、
前記第2の取得部は、前記第2の撮像装置が撮像した第2の画像に基づく前記物体の3次元の位置情報を取得する、請求項1乃至6のいずれか一項に記載の情報処理装置。
the information processing device is capable of communicating with a second imaging device mounted on the mobile device;
The information processing apparatus according to claim 1 , wherein the second acquisition unit acquires three-dimensional position information of the object based on a second image captured by the second imaging device.
請求項7に記載の情報処理装置と、移動装置に搭載された第2の撮像装置とを含む情報処理システムであって、
前記情報処理システムは、
前記第2の撮像装置が撮像した前記第2の画像に基づいて取得した、前記移動装置の3次元の位置情報、及び前記移動装置と前記物体との相対位置から、前記物体の3次元の位置情報を算出する位置情報算出部を有する、
情報処理システム。
An information processing system including the information processing device according to claim 7 and a second imaging device mounted on a mobile device,
The information processing system includes:
a position information calculation unit that calculates three-dimensional position information of the object from three-dimensional position information of the mobile device and a relative position between the mobile device and the object, the three-dimensional position information being acquired based on the second image captured by the second imaging device;
Information processing system.
前記第2の撮像装置は、前記物体に設けられたマーカを撮像し、
前記算出部は、前記マーカを撮像した画像から、前記移動装置と前記物体との相対位置を算出する、
請求項8に記載の情報処理システム。
the second imaging device captures an image of a marker provided on the object;
The calculation unit calculates a relative position between the moving device and the object from an image of the marker.
The information processing system according to claim 8.
前記第2の撮像装置は、前記物体に設けられたマーカの中心位置からの相対位置が一定となるように配置された補助マーカを撮像し、
前記算出部は、前記補助マーカを撮像した画像から、前記移動装置と前記物体との相対位置を算出する、
請求項8に記載の情報処理システム。
the second imaging device captures an image of an auxiliary marker that is disposed so that a relative position from a center position of a marker provided on the object is constant;
The calculation unit calculates a relative position between the moving device and the object from an image of the auxiliary marker.
The information processing system according to claim 8.
移動装置により移動される物体を撮像する第1の撮像装置と通信可能な情報処理装置が、
前記第1の撮像装置が撮像した第1の画像から前記物体の2次元の位置情報である第1の物体位置情報を取得する第1の取得処理と、
前記物体の3次元の位置情報を取得する第2の取得処理と、
前記第2の取得処理で取得した前記物体の3次元の位置情報から前記第1の画像上の2次元の位置情報である第2の物体位置情報を算出する第1の算出処理と、
前記第1の物体位置情報による前記物体の第1の軌跡と、前記第2の物体位置情報による前記物体の第2の軌跡との距離を算出する第2の算出処理と、
前記第1の軌跡と前記第2の軌跡との距離を補正する補正処理と、
を実行する、
情報処理方法。
an information processing device capable of communicating with a first imaging device that captures an image of an object moved by a moving device,
a first acquisition process for acquiring first object position information, which is two-dimensional position information of the object, from a first image captured by the first imaging device;
A second acquisition process for acquiring three-dimensional position information of the object;
a first calculation process for calculating second object position information, which is two-dimensional position information on the first image, from three-dimensional position information of the object acquired in the second acquisition process;
a second calculation process for calculating a distance between a first trajectory of the object based on the first object position information and a second trajectory of the object based on the second object position information;
a correction process for correcting a distance between the first trajectory and the second trajectory;
Execute
Information processing methods.
移動装置により移動される物体を撮像する第1の撮像装置と通信可能なコンピュータに、
前記第1の撮像装置が撮像した第1の画像から前記物体の2次元の位置情報である第1の物体位置情報を取得する第1の取得処理と、
前記物体の3次元の位置情報を取得する第2の取得処理と、
前記第2の取得処理で取得した前記物体の3次元の位置情報から前記第1の画像上の2次元の位置情報である第2の物体位置情報を算出する第1の算出処理と、
前記第1の物体位置情報による前記物体の第1の軌跡と、前記第2の物体位置情報による前記物体の第2の軌跡との距離を算出する第2の算出処理と、
前記第1の軌跡と前記第2の軌跡との距離を補正する補正処理と、
を実行させる、
プログラム。
A computer capable of communicating with a first imaging device that images an object moved by a moving device,
a first acquisition process for acquiring first object position information, which is two-dimensional position information of the object, from a first image captured by the first imaging device;
A second acquisition process for acquiring three-dimensional position information of the object;
a first calculation process for calculating second object position information, which is two-dimensional position information on the first image, from three-dimensional position information of the object acquired in the second acquisition process;
a second calculation process for calculating a distance between a first trajectory of the object based on the first object position information and a second trajectory of the object based on the second object position information;
a correction process for correcting a distance between the first trajectory and the second trajectory;
Execute the
program.
JP2023047147A 2023-03-23 2023-03-23 Information processing device, information processing system, information processing method, and program Pending JP2024136150A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2023047147A JP2024136150A (en) 2023-03-23 2023-03-23 Information processing device, information processing system, information processing method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2023047147A JP2024136150A (en) 2023-03-23 2023-03-23 Information processing device, information processing system, information processing method, and program

Publications (1)

Publication Number Publication Date
JP2024136150A true JP2024136150A (en) 2024-10-04

Family

ID=92911737

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023047147A Pending JP2024136150A (en) 2023-03-23 2023-03-23 Information processing device, information processing system, information processing method, and program

Country Status (1)

Country Link
JP (1) JP2024136150A (en)

Similar Documents

Publication Publication Date Title
KR102747005B1 (en) Automatic calibration for a robot optical sensor
US10173324B2 (en) Facilitating robot positioning
US11911914B2 (en) System and method for automatic hand-eye calibration of vision system for robot motion
JP6855492B2 (en) Robot system, robot system control device, and robot system control method
CN111801198B (en) Hand-eye calibration method, system and computer storage medium
JP5850962B2 (en) Robot system using visual feedback
CN111195897B (en) Calibration method and device for mechanical arm system
CN108453785B (en) Robot system, robot control device, and robot control method
KR20140008262A (en) Robot system, robot, robot control device, robot control method, and robot control program
JP2005201824A (en) Measuring device
WO2020252632A1 (en) Coordinate system calibration method, device, and computer readable medium
JPWO2018043524A1 (en) Robot system, robot system control apparatus, and robot system control method
WO2018209592A1 (en) Movement control method for robot, robot and controller
US12128571B2 (en) 3D computer-vision system with variable spatial resolution
JP2018202542A (en) Measurement device, system, control method, and manufacturing method of article
EP3602214B1 (en) Method and apparatus for estimating system error of commissioning tool of industrial robot
CN119784839A (en) Method, device, storage medium and program product for determining position and posture of a robotic arm
JP2024136150A (en) Information processing device, information processing system, information processing method, and program
US12145279B2 (en) Method and apparatus for calibrating position of robot using 3D scanner
CN115670660A (en) Calibration method, device, surgical robot, electronic equipment and storage medium
CN115488888A (en) Object positioning method, control method and device of robot system and electronic equipment
JP7153442B2 (en) moving body
WO2024057836A1 (en) Control method for controlling transport of object, transport device for transporting object, and work system provided with transport device
JP2024162001A (en) Position and orientation acquisition device and probe
US20230015874A1 (en) Information processing device and information processing method