WO2018025842A1 - 点群データ変換システム、その方法、及びプログラム - Google Patents

点群データ変換システム、その方法、及びプログラム Download PDF

Info

Publication number
WO2018025842A1
WO2018025842A1 PCT/JP2017/027840 JP2017027840W WO2018025842A1 WO 2018025842 A1 WO2018025842 A1 WO 2018025842A1 JP 2017027840 W JP2017027840 W JP 2017027840W WO 2018025842 A1 WO2018025842 A1 WO 2018025842A1
Authority
WO
WIPO (PCT)
Prior art keywords
marker
coordinate system
dimensional
point cloud
coordinate
Prior art date
Application number
PCT/JP2017/027840
Other languages
English (en)
French (fr)
Inventor
卓弥 澤口
秀樹 岩澤
Original Assignee
株式会社Hielero
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
Priority claimed from JP2017140062A external-priority patent/JP6574461B2/ja
Application filed by 株式会社Hielero filed Critical 株式会社Hielero
Publication of WO2018025842A1 publication Critical patent/WO2018025842A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/24Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures

Definitions

  • the present invention relates to a system and a method for converting an image of a target object by a non-depth camera from an arbitrary measurement position into point cloud data in real time.
  • the non-depth camera means a camera that acquires two-dimensional image data by projecting the surface of a subject in a three-dimensional space onto an image plane through a lens.
  • an image camera for example, a color camera
  • a thermography camera for example, a thermography camera, a hyperspectral camera, a multispectral camera
  • an IR camera infrared camera
  • UV camera ultraviolet camera
  • a three-dimensional measuring device such as a laser scanner separately from a non-depth camera
  • the contour of a non-planar shape measurement object with irregularities on an existing building for example, a plant such as a nuclear power plant or a cultural property
  • point cloud data representing.
  • Such a three-dimensional measurement apparatus acquires point cloud data having a three-dimensional coordinate value at a measurement point of a measurement object (for example, Patent Document 1).
  • a “depth camera” configured by combining a depth sensor with, for example, a normal image camera is known. By measuring the measurement object using such a depth camera, it is possible to simultaneously acquire image data of the measurement object having both the depth coordinates together with, for example, RGB color information, in units of pixels on the surface of the measurement object.
  • a depth camera configured by combining a depth sensor with, for example, a normal image camera.
  • the present invention converts two-dimensional image data acquired by an arbitrary “non-depth camera” into point cloud data in real time using a “depth camera image” acquired by a “depth camera” taken from another position ( It is an object of the present invention to provide a three-dimensional system.
  • the present invention relates to two-dimensional image data obtained by projecting the surface of a subject in a three-dimensional space onto an image plane through a lens, and a three-dimensional spatial coordinate value (A point cloud data conversion system that associates two-dimensional image data into point cloud data by associating the two-dimensional image data with a first three-dimensional space coordinate system (a “depth camera coordinate system” described later).
  • a first electronic device including a dimension measuring unit (a “depth camera” described later) and a second three-dimensional spatial coordinate system (a “non-depth camera coordinate system” described later) different from the first three-dimensional spatial coordinate system.
  • a second electronic device including a two-dimensional image acquisition unit (hereinafter referred to as “non-depth camera”) that acquires two-dimensional image data of the subject by projecting a subject onto an image plane, and four vertices;
  • a marker (a “jig coordinate system marker” described later) provided with a predetermined marker on the four vertices in which the sides facing each other of a quadrilateral obtained by connecting the four vertices adjacent to each other are parallel, and the three-dimensional A first marker position that calculates first marker position information that is a coordinate value in the first three-dimensional spatial coordinate system of at least three vertices of the marker based on the point cloud data of the marker measured by the measurement unit Based on the two-dimensional image data on the image plane of the marker acquired by the information calculation unit and the two-dimensional image acquisition unit (non-depth camera), the squares face each other.
  • the present invention relates to a point group data conversion system including a point group data conversion unit that converts two-dimensional image data of a subject into point group data by associating the point group data converted into coordinate values in a three-dimensional space coordinate system.
  • the marker further includes another vertex provided with a predetermined marker that is not included on the plane constituted by the quadrangle
  • the first marker position information calculation unit further includes the The point cloud data conversion system according to (1), wherein the first marker position information including a coordinate value of another vertex in the first three-dimensional space coordinate system is calculated.
  • the point cloud data conversion system further includes a global coordinate system in a three-dimensional space, the coordinate value of the global coordinate system of the vertex of the marker is known, and the point cloud data conversion unit further includes: The point cloud data conversion system according to (1) or (2), wherein the two-dimensional image data of the subject is converted into point cloud data having coordinate values in the global coordinate system.
  • the marker further includes a jig coordinate system in a three-dimensional space
  • the point group data converter further includes a point group having coordinate values in the jig coordinate system for the two-dimensional image data of the subject.
  • the point cloud data conversion system according to any one of (1) to (3), wherein the data is converted into data.
  • the two-dimensional image acquisition unit (a “non-depth camera” to be described later) is configured by a thermography camera, and the two-dimensional image data of the subject includes thermal image data and is a marker disposed at the vertex of the marker
  • the point cloud data conversion system according to any one of (1) to (4), wherein the object is a heating element.
  • the two-dimensional image acquisition unit is configured by an infrared camera (a “non-depth camera” described later), and the two-dimensional image data of the subject includes spectral information of a predetermined wavelength,
  • the point cloud according to any one of (1) to (4), wherein the marker placed at the apex of the marker is a light source that outputs light of a predetermined wavelength that can be received by the infrared camera. Data conversion system.
  • the two-dimensional image acquisition unit is configured by an ultraviolet camera (a “non-depth camera” to be described later), and the two-dimensional image data of the subject includes spectral information of a predetermined wavelength,
  • the point cloud according to any one of (1) to (4), wherein the marker placed at the apex of the marker is a light source that outputs light of a predetermined wavelength that can be received by the ultraviolet camera. Data conversion system.
  • the two-dimensional image acquisition unit is configured by a multispectral camera (a “non-depth camera” described later), and the two-dimensional image data of the subject includes spectral information of a predetermined wavelength,
  • a multispectral camera a “non-depth camera” described later
  • the marker placed at the apex of the marker is a light source that outputs light of a predetermined wavelength that can be received by the multispectral camera Group data conversion system.
  • the two-dimensional image acquisition unit (a “non-depth camera” described later) is configured by a hyperspectral camera, and the two-dimensional image data of the subject includes hyperspectral information and is arranged at the vertex of the marker.
  • the point cloud data conversion system according to any one of (1) to (4), wherein the marker is a light source that outputs light of a predetermined wavelength that can be received by the hyperspectral camera.
  • the two-dimensional image acquisition unit (a “non-depth camera” to be described later) is configured by a color camera, and the two-dimensional image data of the subject includes the color image data of the subject and is arranged at the vertex of the marker
  • the point cloud data conversion system according to any one of (1) to (4), wherein each of the labeled objects has a surface colored with a preset color.
  • the present invention relates to two-dimensional image data acquired by projecting the surface of a subject in a three-dimensional space onto an image plane through a lens, and a three-dimensional spatial coordinate value (A point cloud data conversion method for associating point cloud data) and converting the two-dimensional image data into point cloud data, the surface of the subject being based on a first three-dimensional spatial coordinate system (depth camera coordinate system) A three-dimensional measurement step of measuring point cloud data including image data at each point and coordinate values of each point in the first three-dimensional spatial coordinate system; and the first three-dimensional spatial coordinate system (depth camera coordinates).
  • 2D image data of the subject is obtained by projecting the subject in the three-dimensional space onto an image plane based on a second three-dimensional space coordinate system (non-depth camera coordinate system) different from the system)
  • intersection (disappearance point) on the image plane between the parallel sides of the quadrangle facing each other, and the An equation on the image plane of a straight line connecting two intersections (disappearance line) is calculated, and second marker position information which is a coordinate value in the second three-dimensional space coordinate system of at least three vertices of the marker is calculated.
  • second marker position information which is a coordinate value in the second three-dimensional space coordinate system of at least three vertices of the marker is calculated.
  • a point group data conversion method comprising: a point group data conversion step of converting the two-dimensional image data of the subject into point group data by associating the point group data converted into coordinate values in (non-depth camera coordinate system).
  • the marker further includes another vertex provided with a predetermined marker that is not included on the plane constituted by the quadrangle
  • the first marker position information calculation step further includes the step The point cloud data conversion method according to (11), wherein the first marker position information including a coordinate value in the first three-dimensional space coordinate system of another vertex is calculated.
  • the present invention relates to a computer program for causing a computer to execute each step of the method described in (11) or (12).
  • the “depth camera image” acquired by the “depth camera” obtained by photographing the two-dimensional image data acquired by an arbitrary “non-depth camera” from another position is used.
  • point cloud data can be converted (three-dimensional) in real time.
  • the point cloud data conversion system 1 includes one or more first electronic devices 10, one or more second electronic devices 20, a jig coordinate system marker 30, and a coordinate system calculation unit 40.
  • the coordinate system calculation unit 40 is included in another device (for example, the first electronic device 10), the coordinate system calculation unit 40 and the first electronic device 10 are connected via an internal interface. .
  • the point cloud data conversion system 1 is configured to have a coordinate system unique to the system (hereinafter also referred to as “reference coordinate system” or “global coordinate system”).
  • reference coordinate system can be set using a “jig coordinate system marker 30” described later. Details will be described later.
  • the first electronic device 10 includes a control unit 101, a storage unit 102 that stores programs that can be executed by the control unit 101, a wired and / or wireless communication unit 103, and a depth camera 104. And a timer 105.
  • it can be constituted by a personal computer including a notebook personal computer, or an arithmetic board equipped with arithmetic chips such as a CPU and a DSP.
  • the depth camera 104 is a camera composed of an image camera and a depth sensor. By measuring the measurement object, each point on the surface of the measurement object is converted into, for example, RGB in units of pixels. The image data of the measurement object having both the color information and the depth coordinates of each point on the surface of the measurement object are simultaneously acquired.
  • the control unit 101 and the first communication unit 1011 and each surface of the subject can be made to function as a three-dimensional measuring unit 1012 that measures position information together with, for example, RGB color information in units of pixels.
  • the control unit 101 may further function as the time synchronization unit 1013. Note that the time synchronization unit 1013 is not indispensable and may be arbitrarily provided as necessary.
  • the program may be installed in the first electronic device 10 in advance.
  • the program may be installed from a computer-readable recording medium as necessary or downloaded from a server set in advance as needed.
  • the “computer-readable recording medium” means a storage device 103 such as a portable medium such as a flexible disk, a magneto-optical disk, a ROM, a CD-ROM, or a hard disk built in the computer system.
  • First communication unit 1011 Control signals and various data are exchanged with other devices (for example, the coordinate system calculation unit 40, the 3D data processing unit 50, and the 3D data display control unit 60) via the communication unit 103 by wired or wireless. I do. For example, when the first electronic device 10 includes other devices, the exchange is performed via the internal interface.
  • “Depth sensor” mainly includes (1) Time-of-flight method, (2) Triangulation method, (3) Depth of Defense method, etc., but (1) Time-of-flight method is Light such as laser or infrared light is reflected on the object to be measured, calculated based on the flight time until it reaches the sensor, and the distance from the depth sensor to each point on the surface of the object to be measured ( Hereinafter, it is a sensor capable of instantaneously obtaining “depth”. The depth sensor can grasp the depth of each point of the measurement object in units of pixels.
  • the measurement object is not only a non-planar shape measurement object having unevenness of an existing building (for example, a plant such as a nuclear power plant or a cultural property), but also a moving human, a moving animal, An object such as an object whose shape changes over time can be included.
  • the three-dimensional measuring unit 1012 measures a measurement target with a depth camera 104 configured by combining a depth sensor with a normal image camera, for example, so that each point on the surface of the measurement target is combined with, for example, RGB color information in units of pixels. It is possible to generate image data (point cloud data) of a measurement object having both coordinate values (hereinafter also referred to as “depth coordinates”) in a three-dimensional coordinate system included in the depth camera.
  • the depth camera 104 includes a first three-dimensional space coordinate system (hereinafter also referred to as “depth camera coordinate system”) based on a unique reference position.
  • the position of each point (pixel unit) on the surface of the measurement object measured by the depth camera 104 is represented by a three-dimensional coordinate (X, Y, Z) by the depth camera coordinate system.
  • the first electronic device 10 is arranged in advance at an arbitrary position in the three-dimensional space. By doing so, the depth camera coordinate system with which the depth camera 104 is provided is set. Therefore, when measuring with the depth camera 104, the three-dimensional coordinates (X, Y, Z) representing the position of each point (pixel unit) on the surface of the measurement object, and the measurement object surface at the three-dimensional coordinate position.
  • a set of point data including RGB color information can be acquired as measurement data.
  • the three-dimensional measurement unit 1012 can acquire information on each point on the surface of the measurement target in units of pixels at preset time intervals. For example, by setting 1/30 seconds as the time interval, the three-dimensional measurement unit 1012 can acquire 30 frames of image data (30 fps) per second.
  • the image data measured by the three-dimensional measuring unit 1012 can be given a time stamp that is a measurement time.
  • the time interval is not limited to 1/30 seconds. For example, it may be set arbitrarily such as 1/24 seconds, 1/12 seconds, or the like.
  • the time synchronization unit 1013 synchronizes the internal time of the second electronic device 20 with the reference time using, for example, a protocol defined in IEEE 1588. As described above, when the first electronic device 10 and the second electronic device 20 acquire images at preset time intervals, the time synchronization unit 1013 synchronizes the measurement time, thereby obtaining a depth at the same time. It can be configured to acquire image data and non-depth image data. Note that the time synchronization unit 1013 is not an essential configuration, and for example, the time synchronization unit 1013 may not be provided when there is no substantial shift in the acquisition time of the depth image data and the non-depth image data. Further, by performing linear interpolation processing based on the time stamps given to the image data acquired by the first electronic device 10 and the second electronic device 20, respectively, the depth image data and the non-depth image data at the same time are obtained. You may comprise.
  • the point cloud data conversion system 1 may be configured to include M (M ⁇ 1) first electronic devices 10 (depth cameras 104).
  • M M is the number of first electronic devices 10.
  • i (1 ⁇ i ⁇ M) M is the number of first electronic devices 10
  • the depth of the first electronic device 10 with the index (identification number) i is provided.
  • the camera 104 and the depth camera coordinate system are referred to as a depth camera 104 (i) and a depth camera coordinate system (i), respectively.
  • the three-dimensional measuring unit 1012 included in the first electronic device 10 (control unit 101) with the index (identification number) i is referred to as a three-dimensional measuring unit 1012 (i).
  • the image data (i) measured by the depth camera (i) of each electronic device 10 (i) is a time stamp that is a measurement time. Can be associated with each other.
  • the first electronic device 10 may include a plurality of depth cameras 104, and the three-dimensional measurement unit 1012 may be configured to measure depth coordinates based on measurement information from each depth camera 104.
  • the second electronic device 20 includes a control unit 201, a storage unit 202 that stores programs executable by the control unit 201, a wired and / or wireless communication unit 203, and a non-depth camera. 204 and a timing unit 205.
  • a thermography camera is applied as the non-depth camera 204.
  • non-depth camera 204 or “non-depth camera 204 (thermographic camera)”.
  • non-depth camera 204 thermography camera
  • a predetermined program is installed, and the control unit 201 executes the predetermined program stored in the memory 202, so that the control unit 201 is changed to a second communication unit 2011, a two-dimensional image acquisition unit. It can be made to function as 2012. Further, the control unit 201 may further function as the time synchronization unit 2013. Note that the time synchronization unit 2013 is not indispensable and may be arbitrarily provided as necessary. Details of each functional unit of the control unit 201 will be described later.
  • the program may be installed in the second electronic device 20 in advance.
  • the program may be installed from a computer-readable recording medium as necessary or downloaded from a server set in advance as needed.
  • the “computer-readable recording medium” refers to a portable medium such as a flexible disk, a magneto-optical disk, a ROM, and a CD-ROM, and a storage device such as a hard disk built in the computer system.
  • the second electronic device 20 acquires temperature data of each point on the surface of the subject as image data by the non-depth camera 204 (thermographic camera).
  • the non-depth camera 204 has a unique second three-dimensional spatial coordinate system (hereinafter referred to as “non-depth camera coordinate system”). Further, the non-depth camera 204 (thermographic camera) can acquire image data composed of temperature data of the surface of the subject at preset time intervals. For example, by setting 1/30 seconds as the time interval, the non-depth camera 204 (thermographic camera) can acquire 30 frames of image data (30 fps) per second.
  • the image data measured by the non-depth camera 204 (thermographic camera) can be attached with a time stamp as a measurement time.
  • the time interval is not limited to 1/30 seconds as in the depth camera 104.
  • it may be set arbitrarily such as 1/24 seconds, 1/12 seconds, or the like. Since the two-dimensional image acquired by the non-depth camera 204 is converted into point cloud data based on the point cloud data from the depth camera 104, the time interval of the non-depth camera 204 is an integral multiple of the time interval of the depth camera 104. It is preferable to set so that
  • the second electronic device 20 is arranged in advance at an arbitrary position in the three-dimensional space. By doing so, the non-depth camera coordinate system with which the 2nd electronic device 20 (non-depth camera 204) is provided is set. As described above, it is preferable that the first electronic device 10 and the second electronic device 20 are arranged at a short distance. Further, when the first electronic device 10 and the second electronic device 20 acquire image data at predetermined time intervals, the time synchronization unit 2013 (to be described later) synchronizes the measurement time, thereby obtaining a depth at the same time. You may make it comprise so that image data and non-depth image data (temperature data) may be acquired. Note that the time synchronization unit 2013 may not be provided when there is substantially no difference in the acquisition time of the depth image data and the non-depth image data.
  • the point cloud data conversion system 1 may be configured to include N (N ⁇ 1) second electronic devices 20 (non-depth cameras 204).
  • N is the number of second electronic devices 20
  • the non-equipment of the second electronic device 20 with the index (identification number) j is provided.
  • the depth camera 204 is referred to as a non-depth camera 204 (j).
  • the depth camera coordinate system of the non-depth camera 204 (j) is referred to as a non-depth camera coordinate system (j).
  • image data (j) measured by the non-depth cameras 204 (j) of each second electronic device 20 (j) is measured. Association can be made by a time stamp as time.
  • Control signals and various data are exchanged with other devices (for example, the coordinate system calculation unit 40, the three-dimensional data processing unit 50, and the three-dimensional data display control unit 60) through a wired or wireless line.
  • other devices for example, the coordinate system calculation unit 40, the three-dimensional data processing unit 50, and the three-dimensional data display control unit 60
  • the exchange is performed via the internal interface.
  • each point of the measurement object is determined by a two-dimensional image plane (hereinafter referred to as "image plane” or “projection” determined by the set position of the non-depth camera 204. Projected to a point on the plane).
  • image plane two-dimensional image plane
  • the camera lens center of the non-depth camera 204 is the origin O, the lens center O is passed, the straight line (camera optical axis) orthogonal to the lens surface is the Z axis, and the lens center O is passed.
  • straight lines parallel to the x-axis and y-axis on the two-dimensional image plane (projection plane) are the X-axis and Y-axis, respectively
  • the coordinate system represented by the X-axis, Y-axis, and Z-axis is the non-depth camera coordinates It is called a system.
  • the distance from the lens center O to the two-dimensional image plane (projection plane) corresponds to the focal length f of the lens.
  • the two-dimensional image information measurement unit projects the coordinates (X, Y, Z) of the point in space in the non-depth camera coordinate system onto the point (x, y) on the two-dimensional image plane (projection plane). That's right.
  • the two-dimensional image data acquired by projecting the surface of the subject in the three-dimensional space onto the image plane through the lens is the non-depth camera coordinate system of the surface of the subject. It can be said that the exothermic temperature at the location corresponding to the coordinates (X, Y, Z) is measured as an RGB value corresponding to the exothermic temperature at the point (x, y) on the two-dimensional image plane (projection plane).
  • the time synchronization unit 2013 synchronizes the internal time of the second electronic device 20 with the reference time using, for example, a protocol defined in IEEE 1588. As described above, when the first electronic device 10 and the second electronic device 20 acquire images at preset time intervals, the time synchronization unit 2013 synchronizes the measurement time, thereby obtaining a depth at the same time. It can be configured to acquire image data and non-depth image data. Note that the time synchronization unit 2013 is not an essential configuration, and the time synchronization unit 2013 may not be provided if, for example, the acquisition time of the depth image data and the non-depth image data is not substantially deviated.
  • the depth image data and the non-depth image data at the same time are obtained.
  • the functions of the first electronic device 10 and the second electronic device 20 have been described.
  • the coordinate system calculation unit 40, the three-dimensional data processing unit 50, and the three-dimensional data display control unit 60 included in the point cloud data conversion system 1 will be described.
  • 3E to 3H show functional block diagrams of the coordinate system calculation unit 40, the three-dimensional data processing unit 50, and the three-dimensional data display control unit 60, respectively.
  • the coordinate system calculation unit 40 includes a first marker position information calculation unit 401, a first calibration processing unit 402, a second marker position information calculation unit 403, and a second calibration processing unit 404. And a coordinate transformation matrix creation unit 405. Details will be described later.
  • the three-dimensional data processing unit 50 includes a point group data coordinate value conversion unit 501, a point group data conversion unit 502, a point group data synthesis unit 503, and a storage unit 504. Details will be described later.
  • the three-dimensional data display control unit 60 includes a viewpoint operation unit 601, a data display method selection unit 602, a data reproduction / save instruction unit 603, and a three-dimensional data display processing unit 604. . Details will be described later.
  • the three-dimensional data storage unit 70 includes a point cloud data storage unit 701 and a second electronic device position information storage unit 702. Details will be described later.
  • the coordinate system calculation unit 40, the three-dimensional data processing unit 50, the three-dimensional data display control unit 60, and the three-dimensional data storage unit 70 have a wired and / or wireless communication function.
  • a wired and / or wireless communication function For example, one or more personal computers or tablets
  • An electronic device such as a terminal, a smartphone, or a server, or an arithmetic board equipped with an arithmetic chip such as a CPU or DSP can be used.
  • some or all of the coordinate system calculation unit 40, the three-dimensional data processing unit 50, the three-dimensional data display control unit 60, and the three-dimensional data storage unit 70 may be on a virtual server on the cloud.
  • a part or all of the coordinate system calculation unit 40, the three-dimensional data processing unit 50, the three-dimensional data display control unit 60, and the three-dimensional data storage unit 70 are configured by the first electronic device 10 or the second electronic device 20. You can also In any case, by causing the control unit 201 included in the first electronic device 10 or the second electronic device 20, the server, or the arithmetic board described above to execute a predetermined program stored in the memory, the electronic device or the arithmetic board Can be made to function as the coordinate system calculation unit 40, the three-dimensional data processing unit 50, the three-dimensional data display control unit 60, and the three-dimensional data storage unit 70.
  • the program may be installed in advance on the electronic device or the virtual server on the cloud.
  • the program may be installed from a computer-readable recording medium as necessary or downloaded from a server set in advance as needed.
  • a coordinate conversion matrix j T d for converting coordinate values into coordinate values in the jig coordinate system and a coordinate conversion matrix j T t for converting coordinate values in the non-depth camera coordinate system into coordinate values in the jig coordinate system are calculated. To do. By doing so, it is possible to calculate a coordinate transformation matrix t T d that transforms coordinate values in the depth camera coordinate system into coordinate values in the non-depth camera coordinate system.
  • the coordinate value of the point cloud data of the subject measured by the first electronic device 10 may be converted into the coordinate value in the non-depth camera coordinate system. it can. By doing so, it is possible to obtain point cloud data close to the point cloud data of the subject measured by placing the depth camera 104 at the same position as the non-depth camera 204.
  • the first electronic device 10 and the second electronic device 20 at short distance positions, only the point cloud data of the subject measured by placing the depth camera 104 at the same position as the non-depth camera 204 is limited. Close point cloud data can be obtained.
  • the point cloud data conversion system 1 is a predetermined marker (hereinafter referred to as “jig coordinate system marker 30” or simply “marker”) having a plurality of visual features provided at positions where coordinate values that are linearly independent are known. Say). With the “jig coordinate system marker 30”, the jig coordinate system can be set in the point cloud data conversion system 1.
  • FIG. 6 shows an example of the jig coordinate system marker 30.
  • the marker has a four-sided structure in which each apex has a sphere with the same radius, and two sets of opposite sides are parallel to each other (parallelogram). Can do.
  • the parallelogram is preferably a rectangle in which the lengths of two sides sandwiching a right angle are different.
  • the marker is described as a rectangle.
  • the vertices of the rectangle are P 0 , P 1 , P 2 , and P 3 , respectively, and the size of the vector P 0 P 1 is smaller than the size of the vector P 0 P 3 .
  • Each of the four spheres generates heat (for example, a heat generation lamp).
  • one heat generation temperature corresponding to P 0 is configured to generate heat higher than other spheres.
  • the four spheres are detected, and the sphere P 0 that generates heat higher than the other spheres, and the second It is easy to detect a sphere (P 1 ) that generates a very high temperature.
  • the surface of the four spheres is a preset color so that three of the four spheres (P 0 , P 1 , P 3 ) can be identified. It is configured so that it is colored (for example, red). By doing so, it becomes easy to detect three (P 0 , P 1 , P 3 ) of the four spheres based on the measurement result acquired by the depth camera 104.
  • the radius of the sphere, the color of the surface of the sphere, and the length of the sides of the rectangle can be set as appropriate.
  • the size of the vector P 0 P 1 is smaller than the size of the vector P 0 P 3 , based on the measurement data measured by the depth camera 104, the sphere P 0 , the sphere P 1 , it is possible to detect the spherical P 3, respectively.
  • the vertices of the rectangle are P 0 , P 1 , P 2 , and P 3 , respectively.
  • the size of the vector P 0 P 1 is smaller than the size of the vector P 0 P 3. .
  • the size of the vector is an example, and the size of the vector P 0 P 1 may be larger than the size of the vector P 0 P 3 .
  • vector P 0 P 1 a vector having the vertex P 0 as the start point and the vertex P 1 as the end point
  • vector P 0 P 3 a vector having the vertex P 0 as the start point and the vertex P 3 as the end point
  • the jig coordinate system marker 30 makes P 0 the origin, the vector PoP 1 direction as the X axis, the vector P 0 P 3 direction as the Y axis, and the vector P 0 P 4 direction as the Z axis.
  • a jig coordinate system can be defined.
  • regulation is an example and is not limited to this.
  • the vector PoP 3 direction may be the X axis
  • the vector P 0 P 1 direction may be the Y axis.
  • FIG. 7 is a schematic diagram showing the relationship between the depth camera coordinate system and the jig coordinate system.
  • the first marker position information calculation unit 401 of the coordinate system calculation unit 40 detects the jig coordinate system marker 30 based on the measurement information acquired by the first electronic device 10 (depth camera 104), and detects the detected marker.
  • a coordinate value (hereinafter referred to as “first marker position information”) of a constituent element (such as a vertex of a marker) in a depth camera coordinate system can be calculated.
  • the first calibration processing unit 402 of the coordinate system calculating section 40 the coordinate transformation matrix d T j for transforming a coordinate value in the jig coordinate system into coordinate values in the depth camera coordinate system, and vice versa
  • a coordinate conversion matrix j T d for converting the coordinate values in the depth camera coordinate system to be a matrix into coordinate values in the jig coordinate system can be calculated.
  • the color of the surface of three spheres (P 0 , P 1 , P 3 ) corresponding to the jig coordinate system marker 30 is RED, and the radius of the sphere is Rcm.
  • the first marker position information calculation unit 401 extracts a portion of color RED in the depth image data measured by the depth camera 104, and extracts the depth image data of the extracted portion of RED, that is, the portion of the extracted RED.
  • a set of point data consisting of (R) which is RGB color information of each point on the surface and three-dimensional coordinates (x, y, z) in the depth camera coordinate system representing the position of each point (pixel unit).
  • R RGB color information of each point on the surface and three-dimensional coordinates (x, y, z) in the depth camera coordinate system representing the position of each point (pixel unit).
  • the first marker position information calculation unit 401 uses a jig coordinate system based on the depth image data measured by the depth camera 104 and the position information of the depth image data (RED) whose color is stored in the storage unit 406. A circle indicating a sphere constituting the marker 30 is extracted. Specifically, the first marker position information calculation unit 401 extracts the contour portion of the object from the depth image data by, for example, known Laplacian conversion, Sobel method or Canny method, and generates an edge image. At this time, the first marker position information calculation unit 401 generates an edge image for depth image data (RED) whose color is RED stored in the storage unit 406 and image data including the periphery thereof. Also good.
  • the first marker position information calculation unit 401 extracts a circle from the edge image by a known Hough transform.
  • the first marker position information calculation unit 401 extracts the coordinates of the extracted circle included in the depth image data (RED) whose color is RED stored in the storage unit 406.
  • the first marker position information calculation unit 401 is further configured to extract only a circle whose radius matches the radius Rcm of the sphere by calculating the radius of the extracted circle. By doing so, the first marker position information calculation unit 401 extracts a circle corresponding to each sphere ⁇ P 0 , P 1 , P 3 ⁇ corresponding to each vertex of the rectangle of the jig coordinate system marker 30.
  • the first marker position information calculation unit 401 calculates the coordinate value in the depth camera coordinate system of each vertex ⁇ P 0 , P 1 , P 3 ⁇ of the jig coordinate system marker 30. After that, the first marker position information calculation unit 401 calculates the side of each triangle based on the coordinate value in the depth camera coordinate system of each vertex ⁇ P 0 , P 1 , P 3 ⁇ of the calculated jig coordinate system marker 30. Based on the calculated side length, it is possible to determine which of the vertices P 0 , P 1 , P 3 of the jig coordinate system marker 30 corresponds to each of the vertices.
  • the first marker position information calculation unit 401 can calculate the coordinate value in the depth camera coordinate system that represents the position of each vertex P 0 , P 1 , P 3 of the jig coordinate system marker 30.
  • the first marker position information calculation unit 401 extracts a portion where the color within the measurement target range is color A, RGB color information of each point on the surface of the extracted portion of color A, and each point (pixel A set of point data consisting of three-dimensional coordinates (X, Y, Z) representing the position of (unit) may be extracted as depth image data (color A).
  • the first marker position information calculation unit 401 generates an edge image, extracts a circle from the generated edge image by Hough transform, calculates the radius of the circle, and thereby calculates the radius of the sphere with the color A and the radius R. It can be configured to determine the center.
  • first marker position information the coordinate values (hereinafter, “first marker position information”) of the detected marker components (such as the vertex of the marker) in the depth camera coordinate system. ”) was explained.
  • the coordinate transformation matrix d T j for transforming the coordinate value in the jig coordinate system to the coordinate value in the depth camera coordinate system, and the coordinate value in the depth camera coordinate system, which is the inverse matrix thereof, are the coordinates in the jig coordinate system.
  • An example of a method for calculating the coordinate transformation matrix j T d for conversion into values will be described.
  • the first calibration processing unit 402 converts the coordinate value in the jig coordinate system into the depth camera based on the coordinate value in the depth camera coordinate system representing the positions of the vertices P 0 , P 1 , and P 3 of the jig coordinate system marker 30.
  • a coordinate conversion matrix d T j for converting into coordinate values in the coordinate system can be calculated.
  • the first calibration processing unit 402 is based on the coordinate values (formula 1) in the depth camera coordinate system representing the positions of the vertices P 0 , P 1 , and P 3 of the jig coordinate system marker 30. Then, an X-axis direction unit vector, a Y-axis direction unit vector, and a Z-axis direction unit vector of jig coordinates in the depth camera coordinate system are calculated. The calculated results are expressed by Equations 2 to 4.
  • the X-axis direction unit vector calculated by the first calibration processing unit 402 is The Y-axis direction unit vector calculated by the first calibration processing unit 402 is The Z-axis direction unit vector calculated by the first calibration processing unit 402 is And
  • the first calibration processing unit 402 calculates the jig coordinate X-axis direction unit vector, Y-axis direction unit vector, Z-axis direction unit vector, and depth camera coordinate system in the depth camera coordinate system calculated in this way. Based on the coordinate value of the origin P 0 of the jig coordinate system, a coordinate conversion matrix d T j for converting the coordinate value in the jig coordinate system into the coordinate value in the depth camera coordinate system can be calculated (Formula 5). ).
  • the first calibration processing unit 402 calculates a reverse matrix of d T j , thereby obtaining a coordinate conversion matrix j T d for converting a coordinate value in the depth camera coordinate system into a coordinate value in the jig coordinate system. (Equation 6).
  • the first calibration processing unit 402 converts the coordinate value in the jig coordinate system into the coordinate value in the depth camera coordinate system, d T j , and A coordinate conversion matrix j T d for converting the coordinate values in the depth camera coordinate system, which is the inverse matrix thereof, to the coordinate values in the jig coordinate system can be calculated.
  • the first calibration processing unit 402 calculates the coordinate transformation matrix d T j for converting the coordinate value in the jig coordinate system into the coordinate value in the depth camera coordinate system, and the coordinate in the depth camera coordinate system that is the inverse matrix thereof.
  • a coordinate conversion matrix j T d for converting values into coordinate values in the jig coordinate system is stored in the storage unit 504 of the three-dimensional data processing unit 50, for example.
  • FIG. 9 is a schematic diagram showing the relationship between the non-depth camera coordinate system and the jig coordinate system.
  • FIG. 10 shows an outline of a projection plane in which the vertexes P 0 , P 1 , P 2 , and P 3 of the marker are projected as two-dimensional image data by the non-depth camera 204 (thermographic camera).
  • the second marker position information calculation unit 403 of the coordinate system calculation unit 40 is based on the two-dimensional image data on the image plane (projection plane) acquired by the second electronic device 20 (non-depth camera), and the jig coordinate system.
  • the vertexes P 0 , P 1 , P 2 , P 3 of the marker 30 are detected, and the three-dimensional coordinate values (hereinafter referred to as “below”) of the detected marker vertices P 0 , P 1 , P 2 , P 3 in the non-depth camera coordinate system. 2nd marker position information ").
  • the second calibration processing unit 404 a coordinate transformation matrix t T j for transforming a coordinate value in the jig coordinate system into coordinate values in the non-depth camera coordinate system, and non-depth and vice versa matrix
  • a coordinate transformation matrix j T t for transforming coordinate values in the camera coordinate system into coordinate values in the jig coordinate system can be calculated.
  • the second marker position information calculation unit 403 displays the jig coordinate system marker 30 based on the two-dimensional image data on the image plane (projection plane) acquired by the second electronic device 20 (non-depth camera 204).
  • the coordinate values (x, y) in the two-dimensional image data (projection plane) of the detected marker constituent elements (vertices P 0 , P 1 , P 2 , P 3 of the marker) can be calculated.
  • the second marker position information calculation unit 403 includes high temperature portions (four) in the two-dimensional image data on the image plane (projection plane) acquired by the non-depth camera 204 (thermographic camera).
  • p 1y ) can be determined as images projected onto the projection planes of the vertexes P 0 and P 1 of the markers, respectively.
  • the second marker position information calculation unit 403 calculates the coordinate values of the four points ⁇ p 0 , p 1 , p 2 , p 3 ⁇ of the marker in the two-dimensional image data (projection plane). Based on this, the intersection A on the projection plane of the two opposite sides (side p 0 p 1 and side p 2 p 3 ) of the rectangle formed by the four points ⁇ p 0 , p 1 , p 2 , p 3 ⁇ .
  • the coordinate value (B x , B y ) of the intersection B on the projection plane of the coordinate value (A x , A y ) and the other two sides (side p 0 p 3 and side p 1 p 2 ) is calculated.
  • An intersection A of the side p 0 p 1 and the side p 2 p 3 on the projection plane is an disappearance where two parallel lines (straight line P 0 P 1 and straight line P 2 P 3 ) in the three-dimensional space intersect at the projection plane. It becomes a point.
  • the intersection B of the side p 0 p 3 and the side p 1 p 2 on the projection plane is two parallel lines (straight line P 0 P 3 and straight line P 1 P 2 ) in the three-dimensional space. It will be a vanishing point that intersects.
  • the second marker position information calculation unit 403 calculates an equation of a straight line passing through the two vanishing points A and B on the projection plane (Expression 7).
  • the calculated straight line corresponds to a vanishing line on the projection plane of the jig plane constituting the marker.
  • the normal vector of the plane including the jig coordinate system marker 30 (hereinafter referred to as “jig plane”)
  • N (n 1 , n 2 , n 3 )
  • the focal length of the non-depth camera 204 is f
  • jig plane a normal vector of a plane including the jig coordinate system marker 30 (hereinafter referred to as “jig plane”)
  • N (n 1 , n 2 , n 3 )
  • a non-depth camera coordinate system three-dimensional space
  • the equation of the jig plane in (non-depth camera coordinate system) can be calculated.
  • the coordinate values P 0 (P 0x , P 0y , P 0z ) on the three-dimensional space (non-depth camera coordinate system) of the points P 0 , P 1 , P 2 , P 3 of the jig coordinate system marker 30.
  • the second marker position information calculation unit 403 calculates the values of h, t, and s based on Expressions 10 to 13.
  • a marker shall be installed in the position looked down on from the top. Therefore, a negative value is adopted as the calculated h.
  • the second marker position information calculating unit 403 can calculate the coordinates of the three-dimensional space of the point P 0, P 1 (Non depth camera coordinate system).
  • the second marker position information calculation unit 403 converts the variable t and the variable s so as to be expressed by the variable h based on Expressions 10 to 12, respectively (Expression 14 and Expression 15).
  • t h / (n 1 ⁇ p 0x + n 2 ⁇ p 0y + n 3 ⁇ f)
  • s h / (n 1 ⁇ p 1x + n 2 ⁇ p 1y + n 3 ⁇ f) (Formula 15)
  • P 1 (P 1x, converted so as to express at P 1y, P 1z) the variable h.
  • the second marker position information calculation unit 403 can calculate the value of the variable h based on Equation 13. Next, the second marker position information calculation unit 403 calculates variables t and s using Expression 14 and Expression 15 based on the value of the variable h, respectively. The second marker position information calculation unit 403 calculates the coordinate values of the marker vertices P 0 and P 1 in the non-depth camera coordinate system based on Expressions 11 and 12.
  • the second marker position information calculation unit 403 performs a three-dimensional space of the points P 2 and P 3 (non-depth camera coordinate system). ) The upper coordinate value can be calculated.
  • the second marker position information calculation unit 403 is based on the jig plane equation in the three-dimensional space (non-depth camera coordinate system) and the perspective transformation, and the non-depth camera coordinate system (three-dimensional space) of the four vertices of the marker.
  • the coordinate value at (hereinafter referred to as “second marker position information”) can be calculated.
  • the second calibration processing unit 404 converts the coordinate value in the jig coordinate system into the non-depth coordinate system based on the coordinate value in the non-depth camera coordinate system representing the positions of the vertices P 0 , P 1 and P 2 of the jig coordinate system marker 30.
  • a coordinate conversion matrix t T j for conversion into coordinate values in the depth camera coordinate system can be calculated.
  • the second calibration processing unit 404 uses the non-depth camera based on the coordinate values (formula 15) in the non-depth camera coordinate system of the apexes P 0 , P 1 , and P 3 of the jig coordinate system marker 30.
  • An x-axis direction unit vector, a y-axis direction unit vector, and a z-axis direction unit vector of jig coordinates in the coordinate system are calculated.
  • the calculated results are expressed by Equations 16 to 18.
  • the x-axis direction unit vector calculated by the second calibration processing unit 404 is
  • the y-axis direction unit vector calculated by the second calibration processing unit 404 is
  • the z-axis direction unit vector calculated by the second calibration processing unit 404 is And
  • the second calibration processing unit 404 calculates the jig coordinate X-axis direction unit vector, Y-axis direction unit vector, Z-axis direction unit vector, and non-depth camera coordinate system in the non-depth camera coordinate system thus calculated. Based on the coordinate value of the origin P 0 of the jig coordinate system, a coordinate conversion matrix t T j for converting the coordinate value in the jig coordinate system into the coordinate value in the non-depth camera coordinate system is calculated (Formula 19).
  • the second calibration processing unit 404, t T by calculating the inverse matrix of j, non depth coordinate conversion matrix for converting the coordinate values to coordinate values in the jig coordinate system in the camera coordinate system j T t Is calculated (Equation 20).
  • the second calibration processing unit 404 converts the coordinate value in the jig coordinate system to the coordinate value in the non-depth camera coordinate system, t T j , And a coordinate conversion matrix j T t for converting the coordinate value in the non-depth camera coordinate system, which is the inverse matrix thereof, into the coordinate value in the jig coordinate system can be calculated.
  • the second calibration processing unit 404 calculates the coordinate transformation matrix t T j for converting the calculated coordinate value in the jig coordinate system into the coordinate value in the non-depth camera coordinate system, and the non-depth camera coordinate system that is the inverse matrix thereof.
  • a coordinate transformation matrix j T t for transforming the coordinate values in to the coordinate values in the jig coordinate system is stored in the storage unit 504 of the three-dimensional data processing unit 50, for example.
  • the coordinate system calculation unit 40 uses the coordinate conversion matrix d T j for converting the coordinate values in the jig coordinate system into the coordinate values in the depth camera coordinate system, and the depth camera coordinate system that is the inverse matrix thereof.
  • the inverse matrix thereof a coordinate conversion matrix j T t for converting the coordinate values in the non-depth camera coordinate system into the coordinate values in the jig coordinate system is calculated.
  • the coordinate transformation matrix creation unit 405 uses the coordinate values in the depth camera coordinate system of each point of the depth camera image measured by the depth camera 104. Is converted to a coordinate conversion matrix t T d for converting into a coordinate value in the non-depth camera coordinate system.
  • the coordinate transformation matrix creating unit 405 the coordinate values in the coordinate transformation matrix j T d and the jig coordinate system for converting a coordinate value in the depth camera coordinate system into coordinate values in the jig coordinate system
  • Non depth Coordinates for converting the coordinate value in the depth camera coordinate system of each point of the depth camera image into the coordinate value in the non-depth camera coordinate system based on the coordinate conversion matrix t T j for converting into the coordinate value in the camera coordinate system
  • a transformation matrix t T d is calculated (Formula 21).
  • the coordinate transformation matrix creation unit 405 converts the calculated coordinate value in the depth camera coordinate system into the coordinate value in the non-depth camera coordinate system, the coordinate transformation matrix t T d .
  • it is stored in the storage unit 504 of the three-dimensional data processing unit 50. Thereafter, the jig coordinate system marker 30 can be removed from the real space.
  • FIG. 11A the subject is measured at the same time by the depth camera 104 and the non-depth camera 204 arranged at different positions. At this time, as described above, it is preferable to arrange the depth camera 104 and the non-depth camera 204 at positions at a short distance.
  • 3 indicating the position in the depth camera coordinate system of each point (pixel unit) on the surface of the measurement object obtained by measuring the measurement object with the three-dimensional measurement unit 1012 (depth camera 104).
  • a set of dimension coordinates is ⁇ (X′n, Y′n, Z′n) ⁇ (1 ⁇ n ⁇ C).
  • C means the number of points of the point cloud data measured by the depth camera 104.
  • the measurement object is measured by the non-depth camera 204 on the two-dimensional image plane (projection plane) generated at the position of the focal length f of the lens from the lens center O of the image camera included in the non-depth camera 204. Projected on.
  • a point on the image plane in which temperature data of each point on the surface of the measurement object is acquired as image data by the non-depth camera 204 (thermography camera) at the same time t is represented by (x, y).
  • the point cloud data coordinate value conversion unit 501 of the three-dimensional data processing unit 50 is based on a coordinate conversion matrix t T d that converts coordinate values in the depth camera coordinate system into coordinate values in the non-depth camera coordinate system.
  • the point cloud data conversion unit 502 of the three-dimensional data processing unit 50 is based on the point cloud data ⁇ (Xn, Yn, Zn) ⁇ of the measurement object by the depth camera 104 converted to the viewpoint of the non-depth camera 204.
  • a point (x n , y n ) projected on the image plane by the depth camera 204 is calculated by (Equation 22).
  • the point cloud data conversion unit 502 can be configured to perform the following processing.
  • the point cloud data conversion unit 502 can be configured to perform high-speed arithmetic processing using a GPU (Graphics Processing Unit) in order to calculate C coordinate values (x n , y n ) at high speed. Assuming that the number C of point clouds is 640 ⁇ 480, when the point cloud data is divided into 32 ⁇ 80 threads, the calculation is performed at a high speed by calculating 120 times for each of x n and y n per thread. can do.
  • the point cloud data conversion unit 502 uses the calculated coordinate values (x n , y n ) as the coordinate values on the image plane projected by the non-depth camera 204, thereby measuring the measurement target object. It can be associated with surface pixel data (pixel data). For example, the point cloud data conversion unit 502 converts the coordinate values (x n , y n ) on the image plane on the image plane of each pixel data (pixel data) acquired by the non-depth camera 204 as follows. Can be associated with pixel coordinates.
  • FIG. 12 is a schematic diagram showing the relationship between the xy coordinates on the image plane onto which the subject is projected by the non-depth camera 204 and the pixel coordinates on the image plane.
  • the pixel coordinate is the pixel at the upper left pixel of the image plane as the origin (0, 0), the pixel x coordinate for the right pixel, and the pixel y coordinate for the lower pixel. Is a two-dimensional coordinate.
  • the pixel x coordinate is represented by Pixelx
  • the pixel y coordinate is represented by Pixely.
  • the xy coordinates on the image plane are such that the center of the image plane is the origin (0, 0), the horizontal direction is the x axis, and the vertical direction is the y axis.
  • the x coordinate is represented by x and the y coordinate is represented by y.
  • the horizontal length of the image plane is Lx, and the vertical length of the image plane is Ly. Further, H and G are respectively predetermined positive integers, the pixel x coordinate value Pixelx is an integer value satisfying (0 ⁇ Pixel ⁇ (H ⁇ 1)), and the pixel y coordinate value Pixely is (0 ⁇ Pixel ⁇ (G ⁇ The integer value satisfying 1)) shall be taken. These values are set based on the specifications of the non-depth camera 204. Based on (Equation 23), the point cloud data conversion unit 502 converts the coordinate value (x, y) on the image plane on the image plane of each pixel data (pixel data) acquired by the non-depth camera 204. Corresponding to pixel coordinates (Pixelx, Pixely).
  • the point cloud data conversion unit 502 rounds off the value calculated by (Equation 23).
  • Pixelx (H / Lx) ⁇ (x + Lx / 2)
  • Pixely (G / Ly) ⁇ ( ⁇ y + Ly / 2) (Formula 23)
  • pixel coordinates (Pixelx, Pixely) may be associated with each other by rounding down to the nearest whole number.
  • the point cloud data ⁇ (Xn, Yn, Zn) ⁇ is obtained by performing viewpoint conversion on the point cloud data ⁇ (X′n, Y′n, Z′n) ⁇ measured from the depth camera viewpoint.
  • viewpoint conversion There is a possibility that a plurality of points are associated with temperature data at the same position on the surface of the measurement object. In such a case, it is necessary to associate the object in the foreground so that the object behind it is hidden from view (occlusion).
  • the point cloud data conversion unit 502 when the calculated coordinate values (x n , y n ) are associated with the same pixel coordinate values (Pixelx, Pixely) on the image plane, Of the points, only the point having the smallest value of Zn is configured to be associated with pixel coordinate values (Pixelx, Pixely) on the image plane (that is, temperature data on the surface of the measurement object). By doing so, it is possible to eliminate depth data located behind from the viewpoint of the non-depth camera. Note that by making each point of the point group having the smallest value of Zn a triangular mesh, the points existing behind this mesh may not be associated with the data of the non-depth camera 204.
  • the point cloud data conversion unit 502 obtains the “non-depth camera” by associating the depth coordinates of the “depth image” with the two-dimensional image data captured by the non-depth camera 204. Two-dimensional image data can be converted into point cloud data (three-dimensional).
  • the depth camera 104 and the non-depth camera 204 are configured to acquire the depth image data and the non-depth image data at the same time when the image data (30 fps) of 30 frames per second can be acquired, for example.
  • the point cloud data conversion unit 502 associates each depth coordinate of the “depth image” acquired at 30 fps with each two-dimensional image data acquired at 30 fps by the non-depth camera 204.
  • Two-dimensional image data acquired at 30 fps by a “non-depth camera” can be converted into point cloud data (three-dimensional) at 30 fps.
  • the coordinate system of the image data acquired non-depth camera A by a non-depth camera A, and the point group data is point group data reduction and ⁇ (X A n, Y A n, Z A n), T A n ⁇
  • the point cloud data obtained by converting the image data acquired by the non-depth camera B into point cloud data using the coordinate system of the non-depth camera B is ⁇ (X B m, Y B m, Z B m), T B m ⁇ . .
  • T A n coordinate values of the coordinate system of the non-depth camera A (X A n, Y A n, Z A n) is the temperature data in
  • T B m is the coordinate system of the non-depth camera B coordinate value (X B m, Y B m , Z B m) is the temperature data in.
  • a coordinate conversion matrix j T A for converting a coordinate value in the coordinate system of the non-depth camera A into a coordinate value in the jig coordinate system and a coordinate value in the coordinate system of the non-depth camera B are converted into a coordinate value in the jig coordinate system.
  • the point group data combining unit 503 the point cloud data ⁇ (X A n, Y A n, Z A n), T A n ⁇ and the point cloud data ⁇ (X B n, Y B n, Z B n), T B n ⁇ after aligning the overlapping parts based on the coordinate values of the jig coordinate system, if necessary, in the jig coordinate system between the point group data due to measurement errors, etc. Even if the coordinate values of are the same, it is possible to acquire more accurate one composite point group data with few missing portions by performing correction when a positional deviation occurs.
  • the two point cloud data are converted into coordinate values in the same coordinate system (jig coordinate system), Alignment was performed.
  • the same coordinate system is not limited to the jig coordinate system.
  • the point cloud data composition unit 503 converts the point cloud data ⁇ (X B n, Y B n, Z B n), T B n ⁇ converted into point cloud data by the coordinate system of the non-depth camera B to the non-depth camera.
  • T B m ⁇ T B m ⁇
  • the three-dimensional data display control unit 60 includes a viewpoint operation unit 601, a data display method selection unit 602, a data reproduction / save instruction unit 603, and a three-dimensional data display processing unit 604. .
  • the point cloud data can be rendered in the same format, but the data format is often not suitable for various three-dimensional processes. For this reason, the point cloud data can be converted into a surface format and can be handled as, for example, a polygon, an irregular triangular mesh, and a CAD model. By doing so, for example, image data (temperature data) acquired by the non-depth camera 204 (thermographic camera) can be represented by a set of triangles. By doing so, it becomes possible to measure the area of a certain temperature part.
  • the viewpoint operation unit 601 can receive input from the user such as the user's viewpoint direction and viewpoint coordinates. This enables operations similar to camera work such as zooming of the display image.
  • the data display method selection unit 602 can receive an instruction regarding the display method of the display image from the user. For example, it is possible to select on which projection plane the point cloud data in the three-dimensional space is projected.
  • the data reproduction / storage instruction unit 603 can receive an instruction regarding reproduction or storage of the three-dimensional model data generated from the point cloud data from the user.
  • the three-dimensional data display processing unit 604 performs mapping processing on the point cloud data created by the point cloud data conversion unit 502 or the point cloud data synthesis unit 503 based on the virtual viewpoint of the user input by the viewpoint operation unit 601. And the resulting display image is three-dimensionally displayed on the display screen.
  • the three-dimensional data storage unit 70 includes a point cloud data storage unit 701.
  • Point cloud data storage unit 701 converts the image data acquired by the non-depth camera 204 into point cloud data ⁇ (Xn, Yn, Zn), Tn ⁇ obtained by converting the image data acquired by the coordinate system of the non-depth camera 204 into the measurement.
  • Point cloud data information associated with a time stamp is stored for each non-depth camera 204.
  • the point cloud data storage unit 701 is, for example, 1/30.
  • FIG. 13 simply shows a series of processing flows in the embodiment of the present invention described so far.
  • an example is shown in which the depth camera 104 and the non-depth camera 204 each acquire 30 frames of image data (30 fps) per second.
  • the jig coordinate system marker 30 is set at a predetermined location in ST1.
  • the depth camera 104 and the non-depth camera 204 are each set at a predetermined location.
  • the depth camera 104 is preferably disposed near the non-depth camera 204.
  • a coordinate transformation matrix t T d for converting coordinate values in the depth camera coordinate system into coordinate values in the non-depth camera coordinate system is stored in the storage unit 504 of the three-dimensional data processing unit 50, for example. To do.
  • the measurement operator starts measuring the measurement object using the non-depth camera 204 and the depth camera 104.
  • the point cloud data conversion unit 42 associates each two-dimensional image data acquired at 30 fps by the non-depth camera 204 with each depth coordinate of the “depth image” acquired at 30 fps.
  • the two-dimensional image data acquired at 30 fps by the “non-depth camera” is converted to point cloud data (three-dimensional) at 30 fps.
  • the 3D data display control unit 60 displays a 3D image viewed from the viewpoint of the non-depth camera 204.
  • the surface temperature data of the subject measured by the non-depth camera 204 can be converted into point cloud data.
  • the point cloud data obtained by doing so into, for example, the point cloud data into a surface format (for example, a triangular mesh)
  • the temperature distribution on the surface of the subject can be represented by a set of triangles.
  • the area can be measured.
  • the jig coordinate system marker 30 has four sides in which the vertices P 0 , P 1 , P 2 , and P 3 are spheres having the same radius, and 2 opposite each other.
  • a structure for example, a rectangle
  • a quadrangular shape parallel to each other was used.
  • the depth image data of the jig coordinate system marker 30 measured by the depth camera 104 is image-analyzed by the first marker position information calculation unit 401, whereby the vertices P 0 , P 1 , P of the jig coordinate system marker 30 are analyzed.
  • P 3 in the depth camera coordinate system is calculated, and based on the calculated depth camera coordinate values of P 0 , P 1 , P 3 , the coordinate value of P 4 (vector P 0 P 4 direction)
  • the coordinate conversion matrix d T j for converting the coordinate value in the jig coordinate system into the coordinate value in the depth camera coordinate system was calculated (Formula 5).
  • the jig coordinate system marker 30 is analyzed.
  • the coordinate values of the vertices P 0 , P 1 , P 2 , and P 3 in the non-depth camera coordinate system are calculated, and based on the thus calculated non-depth camera coordinate values of P 0 , P 1 , and P 3 , P
  • a coordinate conversion matrix t T j for converting the coordinate value in the jig coordinate system to the coordinate value in the non-depth camera coordinate system is calculated.
  • the position of the sphere Q 4 may be, for example, the end point of the outer product vector of the vector P 0 P 1 and the vector P 0 P 3, and the size of the vector P 0 Q 4 is a predetermined ratio to the size of the outer product vector. You may make it the value which multiplied.
  • the jig coordinate system marker 30A By using the jig coordinate system marker 30A, calibration between the non-depth camera coordinate system and the depth camera coordinate system can be performed more efficiently. Details will be described below.
  • about 2nd Embodiment it demonstrates centering around a different point from 1st Embodiment mainly, and abbreviate
  • the description of the first embodiment is appropriately applied to points that are not particularly described. Also in the second embodiment, the same effects as in the first embodiment are achieved.
  • the first marker position information calculation unit 401 performs the jig coordinate system in the same manner as the coordinate value in the depth camera coordinate system of each vertex ⁇ P 0 , P 1 , P 3 ⁇ of the jig coordinate system marker 30 is calculated. It is possible to calculate the coordinate value of the depth camera coordinate system of the vertices Q 4 markers 30A. In this way, the first marker position information calculation unit 401 can calculate the coordinate value in the depth camera coordinate system of each vertex ⁇ P 0 , P 1 , P 3 , Q 4 ⁇ of the jig coordinate system marker 30A. .
  • the first marker position information calculation unit 401 uses, for example, each coordinate value in the depth camera coordinate system of each vertex ⁇ P 0 , P 1 , P 3 , Q 4 ⁇ of the calculated jig coordinate system marker 30A to The side length of the triangle is calculated, and based on the calculated side length, which vertex corresponds to one of the vertices P 0 , P 1 , P 3 , Q 4 of the jig coordinate system marker 30 is determined. Can be determined. The operator may associate each vertex ⁇ P 0 , P 1 , P 3 , Q 4 ⁇ of the jig coordinate system marker 30A with each coordinate value in the depth camera coordinate system.
  • the first calibration processing unit 402 is based on the coordinate values in the depth camera coordinate system of the points ⁇ P 0 , P 1 , P 3 , Q 4 ⁇ calculated by the first marker position information calculation unit 401.
  • An X-axis direction unit vector, a Y-axis direction unit vector, and a Z-direction unit vector of jig coordinates in the coordinate system can be calculated.
  • the X-axis direction unit vector calculated by the first calibration processing unit 402 is The Y-axis direction unit vector calculated by the first calibration processing unit 402 is The Z-axis direction unit vector calculated by the first calibration processing unit 402 is And
  • the first calibration processing unit 402 calculates the jig coordinate X-axis direction unit vector, Y-axis direction unit vector, Z-axis direction unit vector, and depth camera coordinate system in the depth camera coordinate system calculated in this way.
  • coordinate value of the origin P 0 jig coordinate system (P'0x, P'0y, P' 0z) based on the coordinate transformation for transforming a coordinate value in the jig coordinate system into coordinate values in the depth camera coordinate system
  • the matrix d T j can be calculated (Equation 27).
  • the second calibration processing unit 404 calculates the non-depth camera coordinates based on the coordinate values in the non-depth camera coordinate system of the points ⁇ P 0 , P 1 , P 3 ⁇ calculated by the second marker position information calculation unit 403.
  • An X-axis direction unit vector, a Y-axis direction unit vector, and a Z-direction unit vector of jig coordinates in the system can be calculated.
  • the coordinate value of the origin P 0 of the jig coordinate system in the non-depth camera coordinate system is (P 0x , P 0y , P 0z )
  • the X-axis direction unit vector calculated by the second calibration processing unit 404 is
  • the X-axis direction unit vector calculated by the second calibration processing unit 404 is
  • the second calibration processing unit 404 calculates the Z-axis direction unit vector calculated by the outer product of the X-axis direction unit vector and the Y-axis direction unit vector.
  • the second calibration processing unit 404 calculates the jig coordinate X-axis direction unit vector, Y-axis direction unit vector, Z-axis direction unit vector, and non-depth camera coordinates in the non-depth camera coordinate system thus calculated.
  • the matrix t T j can be calculated (Equation 27).
  • the coordinate transformation matrix creating unit 405 the non-depth camera coordinate a coordinate value in the coordinate transformation matrix j T d and the jig coordinate system for converting the coordinate values to coordinate values in the jig coordinate system in the depth camera coordinate system
  • Coordinate transformation matrix for transforming the coordinate value in the depth camera coordinate system of each point of the depth camera image into the coordinate value in the non-depth camera coordinate system based on the coordinate transformation matrix t T j for transforming into coordinate values in the system t T d can be calculated (Equation 32).
  • the calibration between the non-depth camera coordinate system and the depth camera coordinate system can be performed more efficiently by using the jig coordinate system marker 30A.
  • the first electronic device 10 In the point cloud data conversion system 1 of the present invention, the first electronic device 10, the second electronic device 20, the coordinate system calculation unit 40, the three-dimensional data processing unit 50, the three-dimensional data display control unit 60, and the three-dimensional data storage Concentrating or distributing each functional unit included in the unit 70 on a specific computer as appropriate is a design matter that can be appropriately performed for the user.
  • the function of the first electronic device 10 may be used.
  • the second marker position information calculation unit 403 uses the four vertices P 0 , P 1 , P 2 , P of the jig coordinate system marker 30 from the image acquired by the non-depth camera 204. to 3 easily determined, one of the heating temperature corresponding to P 0 as an example, and configured to generate heat temperatures higher than the other spheres. Similarly, one heat generation temperature corresponding to P 1 was configured to generate heat higher than the other spheres among the three spheres excluding P 0 . However, one heating temperature corresponding to the point P 0 may only generate a higher temperature than the other spheres.
  • Heat generation temperature of the three spheres with the exception of P 0 is not may be a temperature that is different even in the same temperature.
  • the second marker position information calculation unit 403 specifies the coordinate values in the non-depth camera coordinate system (three-dimensional space) of the four vertices of the marker in a state where P 0 is specified and P 1 and P 2 are not specified. (Second marker position information) is calculated. Thereafter, the second marker position information calculating unit 403, for example, P 0 the length of P 1 may configured to be shorter than the length of the P 0 P 3, P 0 of P 1 length and P 0 P 3 By calculating and comparing the lengths, the vertex P 1 and the vertex P 3 can be specified respectively.
  • the second marker position information calculation unit 403 when the second marker position information calculation unit 403 is configured with vertices P 1 , P 2 , and P 3 , for example, counterclockwise around the center of gravity of the marker 30, the second marker position information calculation unit 403 specifies the vertex P 1 and the vertex P 3 , respectively. May be. Note that the second marker position information calculation unit 403 determines the coordinate positions of the vertexes P 0 , P 1 , P 2 , and P 3 of the markers in the image data acquired by the non-depth camera 204 (thermographic camera), for example, an operator May be instructed.
  • the four exothermic temperatures corresponding to the four apexes P 0 , P 1 , P 2 , and P 3 of the jig coordinate system marker 30 can be set to the same temperature.
  • the heating element P 4 is arranged in the vicinity of the vertex P 0 of the marker.
  • the second marker position information calculation unit 403 can specify the vertex P 0 even when there is no difference in the temperature of the heating elements. Thereafter, as described in the first modification, the vertex P 1 and the vertex P 3 can be specified.
  • thermography camera is applied as the non-depth camera 204, but any non-depth camera other than the thermography camera can be applied.
  • a color camera can be applied as a non-depth camera. In this case, it is preferable that the color camera has a higher resolution than the resolution of the camera constituting the depth camera 104.
  • the second marker position information calculation unit 403 performs P 0 P 1 By calculating and comparing the length of P 0 and the length of P 0 P 3 , the vertex P 1 and the vertex P 3 can be respectively identified. Further, when the vertexes P 1 , P 2 , and P 3 are configured counterclockwise around the center of gravity of the marker 30, for example, the second marker position information calculation unit 403 may specify the vertex P 1 and the vertex P 3 , respectively. it can. Further, in the same manner as described in the modification 2, by configuring to place, for example, RED to P 4 in the vicinity of the vertex P 0, the second marker position information calculating unit 403 specifies the vertex P 0 It becomes possible.
  • an IR camera infrared camera
  • Near-infrared rays have a low absorptance in biological constituents, and particularly near-infrared rays having a wavelength of 800 to 1000 nm have a high biological transmittance.
  • the second marker position information calculation unit 403 outputs the four infrared peaks P 0 , P 1 , and P 2 by outputting near infrared rays having a predetermined wavelength using the relationship between the color temperature of the halogen lamp and the peak wavelength. It can be configured to identify the P 3.
  • the second marker position information calculation unit 403 changes the wavelength of the light emitted from the halogen lamp arranged at the vertex P 0 and the halogen lamps arranged at the other vertexes P 1 , P 2 , P 3 , so 0 can be specified. Thereafter, as described in the first modification, when the second marker position information calculation unit 403 is configured so that the length of P 0 P 1 is shorter than the length of P 0 P 3 , for example, P 0 P 1 by the calculated length and the length of P 0 P 3 comparison can identify the vertices P 1 and vertex P 3, respectively.
  • the second marker position information calculation unit 403 may specify the vertex P 1 and the vertex P 3 , respectively. it can. Further, as described in the second modification, the second marker position information calculation unit 403 is configured to arrange the vertex P 0 by arranging, for example, another halogen lamp P 4 in the vicinity of the vertex P 0 . It is also possible to specify.
  • a hyperspectral camera can be applied as the non-depth camera 204.
  • the hyperspectral camera can acquire a spectrum split into several tens of bands or more for each pixel of an image. For this reason, it becomes possible to discriminate color information and material materials that are difficult with conventional RGB, and it is widely used for foreign matter inspection, quality control, component analysis, environmental investigation, and the like.
  • Even when a hyperspectral camera is applied to the non-depth camera 204 light sources that match the wavelengths of light that can be received by the hyperspectral camera are arranged at the four vertices P 0 , P 1 , P 2 , and P 3 of the marker 30.
  • the second marker position information calculation unit 403 can identify the four vertices P 0 , P 1 , P 2 , and P 3 of the marker 30. Further, the second marker position information calculation unit 403 changes the wavelength of light emitted from the light source arranged at the vertex P 0 and the light sources arranged at the other vertices P 1 , P 2 , and P 3 to change the vertex P 0 Can be identified.
  • the second marker position information calculation unit 403 performs P 0 P 1 By calculating and comparing the length of P 0 and the length of P 0 P 3 , the vertex P 1 and the vertex P 3 can be respectively identified. Further, when the vertexes P 1 , P 2 , and P 3 are configured counterclockwise around the center of gravity of the marker 30, for example, the second marker position information calculation unit 403 may specify the vertex P 1 and the vertex P 3 , respectively. it can. Further, in the same manner as described in the modification 2, by configuring to place the another of the light source P 4 for example near the vertex P 0, the second marker position information calculating unit 403 identifies the vertex P 0 It is also possible to do.
  • a multispectral camera can be applied.
  • the multispectral camera arbitrarily selects a plurality of wavelengths and specializes in measuring the wavelengths, thereby enabling spectrum measurement at a moving image rate. For this reason, it becomes possible to discriminate color information and material materials that are difficult with conventional RGB, and it is widely used for foreign matter inspection, quality control, component analysis, environmental investigation, and the like.
  • Even when a multispectral camera is applied to the non-depth camera 204 light sources that match the wavelengths of light that can be received by the multispectral camera are arranged at the four vertices P 0 , P 1 , P 2 , and P 3 of the marker 30.
  • the second marker position information calculation unit 403 can identify the four vertices P 0 , P 1 , P 2 , and P 3 of the marker 30. Note that the second marker position information calculation unit 403 can specify the vertex P 0 , the vertex P 1, and the vertex P 3 in the same manner as in Modification 5 (hyperspectral camera).
  • the non-depth camera 204 a UV camera (ultraviolet camera) can be applied.
  • a UV camera ultraviolet camera
  • the second marker position information calculation unit 403 is arranged by arranging light sources that generate only ultraviolet rays of a specific wavelength at the four vertices P 0 , P 1 , P 2 , and P 3.
  • Four vertices P 0 , P 1 , P 2 , and P 3 can be specified.
  • the second marker position information calculation unit 403 changes the wavelength of light emitted from the light source arranged at the vertex P 0 and the light sources arranged at the other vertices P 1 , P 2 , and P 3 to change the vertex P 0 Can be identified. Thereafter, as described in the first modification, for example, when the length of P 0 P 1 is configured to be shorter than the length of P 0 P 3 , the second marker position information calculation unit 403 performs P 0 P 1 By calculating and comparing the length of P 0 and the length of P 0 P 3 , the vertex P 1 and the vertex P 3 can be respectively identified.
  • the second marker position information calculation unit 403 may specify the vertex P 1 and the vertex P 3 , respectively. it can. Further, in the same manner as described in the modification 2, by configuring to place the another of the light source P 4 for example near the vertex P 0, the second marker position information calculating unit 403 identifies the vertex P 0 It is also possible to do.
  • Non-depth camera 204 an image camera (for example, a color camera), a thermography camera, a hyperspectral camera, a multispectral camera, an IR camera (infrared camera), and a UV camera (ultraviolet camera) have been described as examples.
  • Non-depth cameras are not limited to these examples.
  • any non-depth camera can be applied.
  • special information can be added to the point cloud data. This enables “segmentation (significant separation of images)” necessary for recognition of the outside world by a computer.
  • recognition processing such as separation of a machine and a human body
  • separation of normal cells and cancer cells can be performed using a realistic three-dimensional image.

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Length Measuring Devices By Optical Means (AREA)

Abstract

3次元空間中の被写体をレンズを通して画像平面へ投影することで取得する2次元画像データを点群データに変換する点群データ変換システムを提供する。 点群データ変換システム1は、深度カメラ座標系に基づいて被写体の点群データを計測する深度カメラ104を備える第1電子機器10と、非深度カメラ座標系に基づいて、被写体の2次元画像データを取得する非深度カメラ204を備える第2電子機器20と、非深度カメラ204により取得された被写体の2次元画像データに対して、深度カメラ104により計測される被写体の表面の各点の深度カメラ座標系における座標値を非深度カメラ座標系における座標値に変換した点群データを対応付けることにより、被写体の2次元画像データを点群データに変換する点群データ変換部502と、を備える。

Description

点群データ変換システム、その方法、及びプログラム
 本発明は、任意の計測位置からの非接触計測による対象物の非深度カメラによる画像をリアルタイムに点群データに変換するシステム及びその方法に関する。ここで、非深度カメラとは、3次元空間中の被写体の表面をレンズを通して画像平面へ投影することにより2次元画像データを取得するカメラを意味する。例えば、画像カメラ(例えばカラーカメラ)、サーモグラフィカメラ、ハイパースペクトルカメラ、マルチスペクトルカメラ、IRカメラ(赤外線カメラ)、UVカメラ(紫外線カメラ)等が非深度カメラの例として挙げられる。
 非深度カメラとは別に、レーザースキャナ等の三次元計測装置を使用して、既設の建造物(例えば原子力発電所等のプラントや文化財等)の凹凸を有する非平面形状の計測対象物の輪郭を表す点群データを計測することが知られている。このような3次元計測装置は、測定対象物の測定点における三次元の座標値を有する点群データを取得する(例えば、特許文献1)。
 また、深度センサを、例えば通常の画像カメラと組み合わせて構成される「深度カメラ」が知られている。このような深度カメラを用いて計測対象物を計測することで、計測対象物表面の各点を画素単位で例えばRGBの色情報とともに深度座標を併せ持つ、計測対象物の画像データを同時に取得することができる(例えば、特許文献2)。
特開2010-097419号公報 特開2016-125897号公報
 上述した三次元計測装置又は深度カメラでは、図1に示すように「深度画像」と「非深度画像」が同じ位置から撮影されていたため、取得した画像を単純に重ね合わせるだけで点群データに色情報を紐づけることができた。しかしながら、例えば、計測対象物表面の各点のRGBデータを画像データとして取得するデジタルカメラ、計測対象物表面の各点の温度データを画像データとして取得するサーモグラフィカメラ、計測対象物表面の各点の波長データを画像データとして取得するハイパースペクトルカメラ等の任意の「非深度カメラ」により取得される2次元画像データを点群データ化(3次元化)することはできない。
 本発明は、任意の「非深度カメラ」により取得される2次元画像データを、別の位置から撮影した「深度カメラ」により取得される「深度カメラ画像」を用いてリアルタイムに点群データ化(3次元化)するシステムを提供することを目的とする。
 (1)本願発明は、3次元空間中の被写体の表面をレンズを通して画像平面へ投影することにより取得される2次元画像データに対して、前記被写体の表面の各点の3次元空間座標値(後述の「点群データ」)を対応付け、前記2次元画像データを点群データに変換する点群データ変換システムであって、第1の3次元空間座標系(後述の「深度カメラ座標系」)に基づいて前記被写体の表面の各点における画像データ及び前記各点の前記第1の3次元空間座標系(後述の「深度カメラ座標系」)における座標値を含む点群データを計測する3次元計測部(後述の「深度カメラ」)を備える第1電子機器と、前記第1の3次元空間座標系とは異なる、第2の3次元空間座標系(後述の「非深度カメラ座標系」)に基づいて3次元空間中の前記被写体を画像平面へ投影することにより、前記被写体の2次元画像データを取得する2次元画像取得部(後述の「非深度カメラ」)を備える第2電子機器と、4つの頂点を有し、隣り合う前記4つの頂点を結ぶことで得られる四角形の互いに向かい合う辺が平行となる前記4つの頂点に所定の標識物が設けられるマーカー(後述の「治具座標系マーカー」)と、前記3次元計測部により計測された前記マーカーの点群データに基づいて、前記マーカーの少なくとも3つの頂点の前記第1の3次元空間座標系における座標値である第1マーカー位置情報を算出する第1マーカー位置情報算出部と、前記2次元画像取得部(非深度カメラ)により取得された前記マーカーの前記画像平面上の2次元画像データに基づいて、前記四角形の互いに向かい合う平行となる辺同士の前記画像平面上での交点(後述の「消失点」)及び前記2つの交点を結ぶ直線(後述の「消失線」)の前記画像平面上の方程式を算出し、前記マーカーの有する少なくとも3つの頂点の前記第2の3次元空間座標系における座標値である第2マーカー位置情報を算出する、第2マーカー位置情報算出部と、前記第1マーカー位置情報算出部により算出される前記第1マーカー位置情報及び前記第2マーカー位置情報算出部により算出される前記第2マーカー位置情報に基づいて、前記第1の3次元空間座標系における座標値を前記第2の3次元空間座標系における座標値に変換するための座標変換行列()を算出する座標変換行列算出部と、前記2次元画像取得部により取得された前記被写体の2次元画像データに対して、前記3次元計測部により計測される前記被写体の表面の各点の前記第1の3次元空間座標系における座標値を前記座標変換行列()により前記第2の3次元空間座標系における座標値に変換した点群データを対応付けることにより、前記被写体の2次元画像データを点群データに変換する点群データ変換部と、を備える点群データ変換システムに関する。
 (2)前記マーカーは、さらに、前記四角形により構成される平面上に含まれない、所定の標識物が設けられた別の頂点を有し、前記第1マーカー位置情報算出部は、さらに、前記別の頂点の前記第1の3次元空間座標系における座標値を含む前記第1マーカー位置情報を算出する(1)に記載の点群データ変換システム。
 (3)前記点群データ変換システムは、さらに、3次元空間のグローバル座標系を備え、前記マーカーの前記頂点の前記グローバル座標系の座標値が既知であり、前記点群データ変換部は、さらに、前記被写体の2次元画像データを前記グローバル座標系における座標値を有する点群データに変換することを特徴とする(1)又は(2)に記載の点群データ変換システム。
 (4)前記マーカーは、さらに、3次元空間の治具座標系を備え、前記点群データ変換部は、さらに、前記被写体の2次元画像データを前記治具座標系における座標値を有する点群データに変換することを特徴とする(1)~(3)に記載の点群データ変換システム。
 (5)前記2次元画像取得部(後述の「非深度カメラ」)は、サーモグラフィカメラによって構成され、前記被写体の2次元画像データは、熱画像データを含み、前記マーカーの頂点に配置される標識物は発熱体であることを特徴とする、(1)~(4)のいずれかに記載の点群データ変換システム。
 (6)前記2次元画像取得部は、赤外線カメラ(後述の「非深度カメラ」)によって構成され、前記被写体の2次元画像データは、所定の波長のスペクトル情報を含み、
 前記マーカーの頂点に配置される標識物は、前記赤外線カメラの受光できる所定の波長の光を出力する光源であることを特徴とする、(1)~(4)のいずれかに記載の点群データ変換システム。
 (7)前記2次元画像取得部は、紫外線カメラ(後述の「非深度カメラ」)によって構成され、前記被写体の2次元画像データは、所定の波長のスペクトル情報を含み、
 前記マーカーの頂点に配置される標識物は、前記紫外線カメラの受光できる所定の波長の光を出力する光源であることを特徴とする、(1)~(4)のいずれかに記載の点群データ変換システム。
 (8)前記2次元画像取得部は、マルチスペクトルカメラ(後述の「非深度カメラ」)によって構成され、前記被写体の2次元画像データは、所定の波長のスペクトル情報を含み、
 前記マーカーの頂点に配置される標識物は、前記マルチスペクトルカメラの受光できる所定の波長の光を出力する光源であることを特徴とする、(1)~(4)のいずれかに記載の点群データ変換システム。
 (9)前記2次元画像取得部(後述の「非深度カメラ」)は、ハイパースペクトルカメラによって構成され、前記被写体の2次元画像データは、ハイパースペクトル情報を含み、前記マーカーの頂点に配置される標識物は、前記ハイパースペクトルカメラの受光できる所定の波長の光を出力する光源であることを特徴とする、(1)~(4)のいずれかに記載の点群データ変換システム。
 (10)前記2次元画像取得部(後述の「非深度カメラ」)は、カラーカメラによって構成され、前記被写体の2次元画像データは、前記被写体のカラー画像データを含み、前記マーカーの頂点に配置される標識物は、それぞれ表面が予め設定された色で着色されていることを特徴とする、(1)~(4)のいずれかに記載の点群データ変換システム。
 (11)本願発明は、3次元空間中の被写体の表面をレンズを通して画像平面へ投影することにより取得される2次元画像データに対して、前記被写体の表面の各点の3次元空間座標値(点群データ)を対応付け、前記2次元画像データを点群データに変換する点群データ変換方法であって、第1の3次元空間座標系(深度カメラ座標系)に基づいて前記被写体の表面の各点における画像データ及び前記各点の前記第1の3次元空間座標系における座標値を含む点群データを計測する3次元計測ステップと、前記第1の3次元空間座標系(深度カメラ座標系)とは異なる、第2の3次元空間座標系(非深度カメラ座標系)に基づいて3次元空間中の前記被写体を画像平面へ投影することにより、前記被写体の2次元画像データを取得する2次元画像データ取得ステップと、3次元空間に配置される、4つの頂点を有し、隣り合う前記4つの頂点を結ぶことで得られる四角形の互いに向かい合う辺が平行となる前記4つの頂点に所定の標識物が設けられるマーカーを被写体として、前記3次元計測ステップにおいて計測して得られる前記マーカーの点群データに基づいて、前記マーカーの少なくとも3つの頂点の前記第1の3次元空間座標系における座標値である第1マーカー位置情報を算出する第1マーカー位置情報算出ステップと、前記マーカーを被写体として、前記2次元画像データ取得ステップにおいて取得された前記マーカーの前記画像平面上の2次元画像データに基づいて、前記四角形の互いに向かい合う平行となる辺同士の前記画像平面上での交点(消失点)及び前記2つの交点を結ぶ直線(消失線)の前記画像平面上の方程式を算出し、前記マーカーの有する少なくとも3つの頂点の前記第2の3次元空間座標系における座標値である第2マーカー位置情報を算出する第2マーカー位置情報算出ステップと、前記第1マーカー位置情報算出ステップにおいて算出される前記第1マーカー位置情報及び前記第2マーカー位置情報算出部により算出される前記第2マーカー位置情報に基づいて、前記第1の3次元空間座標系(深度カメラ座標系)における座標値を前記第2の3次元空間座標系(非深度カメラ座標系)における座標値に変換するための座標変換行列()を算出する座標変換行列算出ステップと、前記2次元画像情報取得ステップにおいて取得された前記被写体の2次元画像データに対して、前記3次元計測ステップにおいて計測される前記被写体の表面の各点の前記第1の3次元空間座標系における座標値を前記座標変換行列()により前記第2の3次元空間座標系(非深度カメラ座標系)における座標値に変換した点群データを対応付けることにより、前記被写体の2次元画像データを点群データに変換する点群データ変換ステップと、を備える、点群データ変換方法に関する。
 (12)前記マーカーは、さらに、前記四角形により構成される平面上に含まれない、所定の標識物が設けられた別の頂点を有し、記第1マーカー位置情報算出ステップは、さらに、前記別の頂点の前記第1の3次元空間座標系における座標値を含む前記第1マーカー位置情報を算出する、(11)に記載の点群データ変換方法。
 (13)本願発明は、コンピュータに、(11)又は(12)に記載の方法の各ステップを実行させるためのコンピュータプログラムに関する。
 本発明の点群データ変換システムによれば、任意の「非深度カメラ」により取得される2次元画像データを、別の位置から撮影した「深度カメラ」により取得される「深度カメラ画像」を用いて、リアルタイムに点群データ化(3次元化)することができる。
従来の深度カメラによる点群データ取得の一例を示す概略図である。 本発明の一実施形態に係る点群データ変換システムの概略図である。 本発明の一実施形態に係る第1電子機器のハードウェア構成図である。 本発明の一実施形態に係る第1電子機器の概略ブロック図である。 本発明の一実施形態に係る第2電子機器のハードウェア構成図である。 本発明の一実施形態に係る第2電子機器の概略ブロック図である。 本発明の一実施形態に係る非深度カメラ座標系と2次元画像面(射影平面)との関係を示す概略図である。 本発明の一実施形態に係る座標系算出部の概略ブロック図である。 本発明の一実施形態に係る3次元データ処理部の概略ブロック図である。 本発明の一実施形態に係る3次元データ表示制御部の概略ブロック図である。 本発明の一実施形態に係る3次元データ保存部の概略ブロック図である。 本発明の一実施形態に係るマーカーの一例を示す概略図である。 本発明の一実施形態に係る深度カメラ座標系と治具座標系との間の関連を示す概略図である。 本発明の一実施形態に係るキャリブレーションを説明する各座標系間の変換行列の関連を示す概略図である。 本発明の一実施形態に係る非深度カメラ座標系と治具座標系との間の関連を示す概略図である。 本発明の一実施形態において、非深度カメラによりマーカーの頂点が2次元画像データとして射影された射影平面の概要を示す概略図である。 深度カメラ及び非深度カメラにより被写体を計測する様子を示す概要図である。 深度カメラ座標系の座標値を非深度カメラ座標系の座標値に変換する様子を示す概要図である。 本発明の一実施形態に係る非深度カメラにより被写体が投影される画像平面上のxy座標と該画像平面上のピクセル座標との関係を示す概略図である。 本発明の一実施形態における一連の処理の流れを示す図である。
 以下、本発明の点群データ変換システムの好ましい実施形態について、図面を参照しながら説明する。ここで、下記の実施形態はいずれも本発明の一例であり、これに限定されるものではない。
[第1実施形態]
 図2に示すように、点群データ変換システム1は、1つ以上の第1電子機器10と、1つ以上の第2電子機器20と、治具座標系マーカー30と、座標系算出部40と、3次元データ処理部50と、3次元データ表示制御部60と、3次元データ保存部70と、を含んで構成される。これらは、有線及び/又は無線ネットワーク等を介して接続されている。
 なお、例えば座標系算出部40が他の機器(例えば、第1電子機器10)に含まれるような場合、座標系算出部40と第1電子機器10とは、内部インタフェースを介して接続される。
 後述するように、点群データ変換システム1は、システムに固有の座標系(以下、「基準座標系」又は「グローバル座標系」ともいう)を有するように構成される。例えば、後述する「治具座標系マーカー30」を用いて、基準座標系を設定することができる。詳細については後述する。
<第1電子機器10>
 図3Aに示すように、第1電子機器10は、制御部101と、制御部101で実行可能なプログラム等を記憶する記憶部102と、有線及び/又は無線による通信部103と、深度カメラ104と、計時部105と、を備える。例えばノートパソコンを含むパソコン、あるいはCPU、DSP等の演算チップを搭載した演算ボードで構成することができる。なお、深度カメラ104とは、前述したように、画像カメラと深度センサとから構成されるカメラであって、計測対象物を計測することで、計測対象物表面の各点を画素単位で例えばRGBの色情報とともに計測対象物表面の各点の深度座標を併せ持つ、計測対象物の画像データを同時に取得する。
 所定のプログラムをインストールし、メモリ102に記憶される所定のプログラムを制御部101で実行させることで、図3Bに示すように、制御部101を、第1通信部1011と、被写体の表面の各点を画素単位で例えばRGBの色情報とともに位置情報を計測する3次元計測部1012として機能させるようにすることができる。また、制御部101を、さらに時刻同期部1013として機能させるようにしてもよい。なお、時刻同期部1013は必須ではなく、必要に応じて任意に備えるようにしてもよい。
 なお、当該プログラムは、第1電子機器10に予めインストールされていてもよい。また、当該プログラムは、コンピュータ読み取り可能な記録媒体から必要に応じてインストール又は予め設定されたサーバから必要に応じて適宜ダウンロードされてもよい。以下、「コンピュータで読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置103のことをいう。
[第1通信部1011]
 有線又は無線により、他の機器(例えば、座標系算出部40、3次元データ処理部50、及び3次元データ表示制御部60)との間で通信部103を介して制御信号、各種データのやり取りを行う。なお、例えば、他の機器を第1電子機器10が備える場合、内部インタフェースを介してやりとりを行う。
[3次元計測部1012]
 3次元デジタイザ、レーザースキャナ等と同様の3次元計測手段として、「深度センサ」がある。「深度センサ」には主に、(1)Time-of-flight方式、(2)三角測量方式、(3)Depth of Deforce方式等があるが、(1)のTime-of-flight方式は、レーザや赤外線等の光を計測対象物に対して照射して反射させ、センサに届くまでの飛行時間をもとに計算し、計測対象物表面の各点までの深度センサのからの距離等(以下、「深度」ともいう)を瞬時に得ることができるセンサである。深度センサは計測対象物各点の深度を画素単位で把握することができる。
 ここで、計測対象物とは、例えば、既設の建造物(例えば原子力発電所等のプラントや文化財等)の凹凸を有する非平面形状の計測対象物のみならず、動く人間、動く動物、動く物等、時間の経過に伴って形状が変化する物体を含むことができる。
 3次元計測部1012は、深度センサを例えば通常の画像カメラと組み合わせて構成する深度カメラ104により計測対象物を計測することで、計測対象物表面の各点を画素単位で例えばRGBの色情報とともに深度カメラの備える3次元の座標系における座標値(以下「深度座標」ともいう)を併せ持つ、計測対象物の画像データ(点群データ)を生成することができる。
 深度カメラ104は、固有の基準位置に基づく第1の3次元空間座標系(以下「深度カメラ座標系」ともいう)を備えている。深度カメラ104により計測された計測対象物表面の各点(画素単位)の位置は、深度カメラ座標系により、3次元座標(X、Y、Z)により表される。
 第1電子機器10は、予め3次元空間の任意の位置に配置される。そうすることで、深度カメラ104の備える深度カメラ座標系が設定される。
 したがって、深度カメラ104により計測する場合には、計測対象物表面の各点(画素単位)の位置を表す3次元座標(X、Y、Z)と、その3次元座標位置における計測対象物表面のRGBの色情報と、からなる点データの集合を計測データとして取得することができる。
 また、3次元計測部1012は、計測対象物の表面の各点の情報を画素単位で、予め設定した時間間隔で取得することができる。例えば、時間間隔として1/30秒を設定することで、3次元計測部1012は、1秒間に30コマの画像データ(30fps)を取得することができる。3次元計測部1012により計測された画像データには、計測時刻となるタイムスタンプを付すことができる。
 なお、時間間隔については、1/30秒に限定されない。例えば、1/24秒、1/12秒等、任意に設定してもよい。
[時刻同期部1013]
 時刻同期部1013は、例えば、IEEE1588に規定されたプロトコルを用いて、第2電子機器20の内部時刻を基準時刻に同期させる。
 第1電子機器10及び第2電子機器20が、それぞれ予め設定した時間間隔で画像を取得する際に、前述したように、時刻同期部1013により計測時刻の同期を取ることにより、同一時刻に深度画像データ及び非深度画像データを取得するように構成することができる。なお、時刻同期部1013は必須の構成ではなく、例えば深度画像データ及び非深度画像データの取得時刻に実質的にずれがない場合には、時刻同期部1013を備えなくてもよい。
 また、第1電子機器10及び第2電子機器20によりそれぞれ取得した画像データに付与したタイムスタンプに基づいて、線形補間処理を行うことで、同一時刻の深度画像データ及び非深度画像データとするように構成してもよい。
 点群データ変換システム1は、第1電子機器10(深度カメラ104)をM(M≧1)個備えるようにシステムを構成してもよい。
 ここで、i(1≦i≦M)(Mは第1電子機器10の個数)を第1電子機器10の識別番号とした場合、インデックス(識別番号)iの第1電子機器10の備える深度カメラ104及び深度カメラ座標系をそれぞれ深度カメラ104(i)、及び深度カメラ座標系(i)という。また、インデックス(識別番号)iの第1電子機器10(制御部101)の備える3次元計測部1012を3次元計測部1012(i)という。
 第1電子機器10(深度カメラ104)を複数個(M個)備える場合、各電子機器10(i)の深度カメラ(i)により計測された画像データ(i)は、計測時刻となるタイムスタンプにより、関連付けをすることができる。
 なお、第1電子機器10が複数の深度カメラ104を備え、3次元計測部1012は各深度カメラ104による計測情報により深度座標を計測するように構成してもよい。
<第2電子機器20>
 図3Cに示すように、第2電子機器20は、制御部201と、制御部201で実行可能なプログラム等を記憶する記憶部202と、有線及び/又は無線による通信部203と、非深度カメラ204と、計時部205と、を備える。
 第1実施形態においては、非深度カメラ204としてサーモグラフィカメラを適用する。
 以下、「非深度カメラ204」又は「非深度カメラ204(サーモグラフィカメラ)」と記載する。サーモグラフィカメラ特有でない非深度カメラの記述に際しては「非深度カメラ204」と記載し、サーモグラフィカメラ特有の記述に際しては、「非深度カメラ204(サーモグラフィカメラ)」と記載する。
 図3Dに示すように、所定のプログラムをインストールし、制御部201が、メモリ202に記憶される所定のプログラムを実行することで、制御部201を、第2通信部2011、2次元画像取得部2012として機能させるようにすることができる。また、制御部201を、さらに時刻同期部2013として機能させるようにしてもよい。なお、時刻同期部2013は必須ではなく、必要に応じて任意に備えるようにしてもよい。制御部201の各機能部の詳細については後述する。
 なお、当該プログラムは、第2電子機器20に予めインストールされていてもよい。また、当該プログラムは、コンピュータ読み取り可能な記録媒体から必要に応じてインストール又は予め設定されたサーバから必要に応じて適宜ダウンロードされてもよい。以下、「コンピュータで読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
 第2電子機器20は、非深度カメラ204(サーモグラフィカメラ)により被写体の表面の各点の温度データを画像データとして取得する。非深度カメラ204(サーモグラフィカメラ)は、固有の第2の3次元空間座標系(以下、「非深度カメラ座標系」という)を有する。
 また、非深度カメラ204(サーモグラフィカメラ)は、被写体の表面の温度データからなる画像データを予め設定した時間間隔で取得することができる。例えば、時間間隔として1/30秒を設定することで、非深度カメラ204(サーモグラフィカメラ)は、1秒間に30コマの画像データ(30fps)を取得することができる。非深度カメラ204(サーモグラフィカメラ)により計測された画像データには、計測時刻となるタイムスタンプを付すことができる。
 なお、時間間隔については、深度カメラ104と同様に1/30秒に限定されない。例えば、1/24秒、1/12秒等、任意に設定してもよい。なお、深度カメラ104による点群データに基づいて、非深度カメラ204で取得した2次元画像を点群データ化することから、非深度カメラ204の時間間隔は深度カメラ104の時間間隔の整数倍となるように設定することが好ましい。
 第2電子機器20は、予め3次元空間の任意の位置に配置される。そうすることで、第2電子機器20(非深度カメラ204)の備える非深度カメラ座標系が設定される。
 前述したように、第1電子機器10と第2電子機器20は、近距離の位置に配置することが好ましい。
 また、第1電子機器10及び第2電子機器20が、それぞれ予め設定した時間間隔で画像データを取得する際に、後述の時刻同期部2013により計測時刻の同期を取ることにより、同一時刻に深度画像データ及び非深度画像データ(温度データ)を取得するように構成するようにしてよい。なお、深度画像データ及び非深度画像データの取得時刻に実質的にずれがない場合には、時刻同期部2013を備えなくてもよい。
 また、点群データ変換システム1は、第2電子機器20(非深度カメラ204)をN(N≧1)個備えるようにシステムを構成してもよい。
 ここで、j(1≦j≦N)(Nは第2電子機器20の個数)を第2電子機器20の識別番号とした場合、インデックス(識別番号)jの第2電子機器20の備える非深度カメラ204を非深度カメラ204(j)という。同様に、非深度カメラ204(j)の備える深度カメラ座標系を非深度カメラ座標系(j)という。
 第2電子機器20(非深度カメラ204)を複数個(N個)備える場合、各第2電子機器20(j)の非深度カメラ204(j)により計測された画像データ(j)は、計測時刻となるタイムスタンプにより、関連付けをすることができる。
 次に制御部201の機能部について説明する。
 [第2通信部2011]
 有線、又は無線回線により、他の機器(例えば、座標系算出部40、3次元データ処理部50、及び3次元データ表示制御部60)との間で制御信号、各種データをやり取りを行う。なお、例えば、他の機器を第2電子機器20が備える場合、内部インタフェースを介してやりとりを行う。
[2次元画像取得部2012]
 非深度カメラ204により計測対象物の画像を取得することにより、計測対象物の各点は、当該非深度カメラ204の設定位置により決定される2次元画像平面(以下、「画像平面」又は「射影平面」ともいう)上の点に投影される。
 図4に示すように、非深度カメラ204のカメラレンズ中心を原点Oとし、レンズの中心Oを通り、レンズ面に直交する直線(カメラの光軸)をZ軸とし、レンズの中心Oを通り、2次元画像面(射影平面)上のx軸及びy軸と平行な直線をそれぞれX軸及びY軸とした場合、X軸、Y軸、Z軸で表される座標系を非深度カメラ座標系という。
 レンズ中心Oから2次元画像面(射影平面)までの距離は、レンズの焦点距離fに相当する。そして、非深度カメラ座標系で、(X,Y,Z)にある空間の点は、2次元画像面(射影平面)上の点(x、y)=(f・(X/Z)、f・(Y/Z))に投影される。
 このように、2次元画像情報計測部は、空間の点の非深度カメラ座標系での座標(X,Y,Z)を2次元画像面(射影平面)上の点(x、y)に投影するといえる。
 非深度カメラ204としてサーモグラフィカメラを適用した場合、3次元空間中の被写体の表面をレンズを通して画像平面へ投影されることにより取得される2次元画像データは、被写体の表面の非深度カメラ座標系での座標(X,Y,Z)に対応する個所の発熱温度を2次元画像面(射影平面)上の点(x、y)における当該発熱温度に対応するRGB値として計測するといえる。
[時刻同期部2013]
 時刻同期部2013は、例えば、IEEE1588に規定されたプロトコルを用いて、第2電子機器20の内部時刻を基準時刻に同期させる。
 第1電子機器10及び第2電子機器20が、それぞれ予め設定した時間間隔で画像を取得する際に、前述したように、時刻同期部2013により計測時刻の同期を取ることにより、同一時刻に深度画像データ及び非深度画像データを取得するように構成することができる。なお、時刻同期部2013は必須の構成ではなく、例えば深度画像データ及び非深度画像データの取得時刻に実質的にずれがない場合には、時刻同期部2013を備えなくてもよい。
 また、第1電子機器10及び第2電子機器20によりそれぞれ取得した画像データに付与したタイムスタンプに基づいて、線形補間処理を行うことで、同一時刻の深度画像データ及び非深度画像データとするように構成してもよい。
 以上、第1電子機器10及び第2電子機器20のそれぞれ備える機能について説明した。
 次に、点群データ変換システム1の備える、座標系算出部40、3次元データ処理部50、3次元データ表示制御部60について説明する。図3E~図3Hは、それぞれ座標系算出部40、3次元データ処理部50、3次元データ表示制御部60の機能ブロック図を示す。
<座標系算出部40>
 図5Aに示すように、座標系算出部40は、第1マーカー位置情報算出部401と、第1キャリブレーション処理部402と、第2マーカー位置情報算出部403と、第2キャリブレーション処理部404と、座標変換行列作成部405と、を備える。
 詳細は、後述する。
<3次元データ処理部50>
 図5Bに示すように、3次元データ処理部50は、点群データ座標値変換部501と、点群データ変換部502と、点群データ合成部503と、記憶部504と、を備える。
 詳細は後述する。
<3次元データ表示制御部60>
 図5Cに示すように、3次元データ表示制御部60は、視点操作部601と、データ表示方式選択部602と、データ再生・保存指示部603と、3次元データ表示処理部604と、を備える。
 詳細は後述する。
<3次元データ保存部70>
 図5Dに示すように、3次元データ保存部70は、点群データ記憶部701と、第2電子機器位置情報記憶部702と、を備える。
 詳細は、後述する。
 座標系算出部40、3次元データ処理部50、3次元データ表示制御部60、及び3次元データ保存部70は、有線及び/又は無線通信機能を備える、例えば、1台又は複数のパソコン、タブレット端末、スマートフォン、サーバ等の電子機器、あるいはCPU、DSP等の演算チップを搭載した演算ボードで構成することができる。
 また、座標系算出部40、3次元データ処理部50、3次元データ表示制御部60、及び3次元データ保存部70の一部又は全てをクラウド上の仮想サーバ上においてもよい。
 また、座標系算出部40、3次元データ処理部50、3次元データ表示制御部60、及び3次元データ保存部70の一部又は全てを第1電子機器10、又は第2電子機器20により構成することもできる。
 いずれにしても、前述した第1電子機器10又は第2電子機器20、サーバ又は演算ボードの備える制御部201に、メモリに記憶される所定のプログラムを実行させることで、電子機器、又は演算ボードを、座標系算出部40、3次元データ処理部50、3次元データ表示制御部60、及び3次元データ保存部70として機能させるようにすることができる。
 なお、プログラムは、予め前述した電子機器又はクラウド上の仮想サーバにインストールされていてもよい。また、当該プログラムは、コンピュータ読み取り可能な記録媒体から必要に応じてインストール又は予め設定されたサーバから必要に応じて適宜ダウンロードされてもよい。
 次に、3次元空間の任意の位置に配置された第1電子機器10(深度カメラ104)の備える深度カメラ座標系における座標値を、第2電子機器20(非深度カメラ204)の備える非深度カメラ座標系における座標値に変換する座標変換行列の算出について説明する。
 具体的には、予め、治具座標系を有する治具座標系マーカー30を所定の位置に配置し、深度カメラ座標系及び非深度カメラ座標系のキャリブレーションを行うことで、深度カメラ座標系における座標値を、治具座標系における座標値に変換する座標変換行列及び非深度カメラ座標系における座標値を、治具座標系における座標値に変換する座標変換行列をそれぞれ算出する。
 そうすることで、深度カメラ座標系における座標値を非深度カメラ座標系における座標値に変換する座標変換行列を算出することができる。
 なお、算出された座標変換行列に基づいて、第1電子機器10(深度カメラ)で計測される被写体の点群データの座標値を非深度カメラ座標系における座標値に変換することができる。
 そうすることで、深度カメラ104をあたかも非深度カメラ204と同じ位置に配置して計測される被写体の点群データに近い点群データを得ることができる。
 特に、第1電子機器10と第2電子機器20を近距離の位置に配置することで、深度カメラ104をあたかも非深度カメラ204と同じ位置に配置して計測される被写体の点群データに限りなく近い点群データを得ることができる。
[治具座標系マーカー30について]
 点群データ変換システム1は、線形独立となる座標値が既知である位置に設けられる複数の視覚的特徴を有する所定の標識物(以下、「治具座標系マーカー30」又は単に「マーカー」ともいう)を備える。
 「治具座標系マーカー30」により、点群データ変換システム1に治具座標系を設定することができる。
 図6に、治具座標系マーカー30の一例を示す。図6に示すように、マーカーは、各頂点を同一の半径の球体とした4辺を有し、向かい合う2組の辺がそれぞれ平行な四角形(平行四辺形)の形状をした構造体とすることができる。また、平行四辺形は直角を挟む2辺の長さが異なる長方形とすることが好ましい。以下、簡単のため、マーカーは長方形として説明する。また、長方形の各頂点をそれぞれ、P,P,P,Pとし、ベクトルPの大きさは、ベクトルPの大きさよりも小さいものとする。
 4個の球体は、それぞれ、熱を発するもの(例えば、発熱ランプ)とする。一例としてPに対応する1個の発熱温度は、他の球体よりも高い温度を発熱するように構成する。同様にPに対応する1個の発熱温度は、Pを除く3個の球体のうち、他の球体よりも高い温度を発熱するように構成する。
 そうすることで、非深度カメラ204(サーモグラフィカメラ)により取得された画像データに基づいて、当該4個の球体を検出するとともに、他の球体よりも高い温度を発熱する球体P、及び2番目に高い温度を発熱する球体(P)を検出することが容易となる。
 また、深度カメラ104により計測された計測データにおいて、当該4個の球体の内3個(P,P,P)を識別できるように、4個の球体の表面が予め設定された色(例えば赤色)で着色されているように構成する。
 そうすることで、深度カメラ104により取得された計測結果に基づいて、当該4個の球体の内3個(P,P,P)を検出することが容易となる。なお、球体の半径、球体の表面の色、及び長方形の辺の長さは、適宜設定することができる。
 例えばベクトルPの大きさが、ベクトルPの大きさよりも小さくなるように構成することで、深度カメラ104により計測された計測データに基づいて、球体P,球体P,球体Pをそれぞれ検出することができる。
[治具座標系]
 図6を参照して、治具座標系マーカー30により設定される治具座標系について説明する。前述したように、長方形の各頂点をそれぞれ、P,P,P,Pとし、例えば、ベクトルPの大きさは、ベクトルPの大きさよりも小さいものとする。なお、ベクトルの大きさは一例であって、ベクトルPの大きさは、ベクトルPの大きさよりも大きいものとしてもよい。この場合、頂点Pを始点として頂点Pを終点とするベクトル(以下「ベクトルP」という)と、頂点Pを始点として頂点Pを終点とするベクトル(以下「ベクトルP」という)との外積ベクトルを頂点Pを始点として表現した場合の終点をPとする。
 このようにして、一例として、治具座標系マーカー30により、Pを原点、ベクトルPoP方向をX軸、ベクトルP方向をY軸、ベクトルP方向をZ軸とする、治具座標系を規定することができる。なお、この規定は、一例であって、これに限定されない。例えば、ベクトルPoP方向をX軸、ベクトルP方向をY軸としてもよい。
[深度カメラ座標系と治具座標系]
 次に、図7を参照しながら、深度カメラ座標系と治具座標系との間の座標変換について説明する。図7は、深度カメラ座標系と治具座標系との間の関連を示す概略図である。
 座標系算出部40の第1マーカー位置情報算出部401は、第1電子機器10(深度カメラ104)により取得された計測情報に基づいて、治具座標系マーカー30を検出し、検出したマーカーの構成要素(マーカーの頂点等)の深度カメラ座標系における座標値(以下「第1マーカー位置情報」という)を算出することができる。
 そうすることで、座標系算出部40の第1キャリブレーション処理部402は、治具座標系における座標値を深度カメラ座標系における座標値に変換するための座標変換行列、及びその逆行列となる深度カメラ座標系における座標値を治具座標系における座標値に変換するための座標変換行列を算出することができる。
[第1マーカー位置情報算出部401による第1マーカー位置情報の算出]
 第1マーカー位置情報算出部401による治具座標系マーカー30の検出方法の一例について説明する。
 ここでは、説明を簡単にするために、治具座標系マーカー30に対応する球体の内3個(P,P,P)の表面の色をRED、球体の半径をRcmとする。
 また、キャリブレーションの際には、深度カメラ104による計測対象範囲内には、治具座標系マーカー30以外に(特に、半径Rcm、色がREDとなる)球体を設置しないようにすることが好ましい。
 第1マーカー位置情報算出部401は、深度カメラ104により計測された深度画像データ内において色がREDの部分を抽出して、当該抽出したREDの部分の深度画像データ、すなわち当該抽出したREDの部分表面の各点のRGBの色情報である(R)と、各点(画素単位)の位置を表す深度カメラ座標系における3次元座標(x、y、z)と、からなる点データの集合を深度画像データ(RED)として取得し、記憶部406に記憶する。
 第1マーカー位置情報算出部401は、深度カメラ104により計測された深度画像データ及び記憶部406に格納された色がREDである深度画像データ(RED)の位置情報に基づいて、治具座標系マーカー30を構成する球体を示す円を抽出する。
 具体的には、第1マーカー位置情報算出部401は、深度画像データから例えば公知のラプラシアン変換、Sobel法又はCanny法等により、物体の輪郭部分の抽出を行い、エッジ画像を生成する。この際、第1マーカー位置情報算出部401は、記憶部406に格納された色がREDである深度画像データ(RED)とその周辺を含む画像データを対象として、エッジ画像を生成するようにしてもよい。第1マーカー位置情報算出部401は、エッジ画像から公知のHough変換により円を抽出する。第1マーカー位置情報算出部401は、抽出された円の座標が記憶部406に格納された色がREDである深度画像データ(RED)に含まれるものを抽出する。第1マーカー位置情報算出部401は、さらに、抽出された円の半径を計算することにより、半径が球体の半径Rcmと一致する円のみを抽出するように構成される。こうすることで、第1マーカー位置情報算出部401は、治具座標系マーカー30の長方形の各頂点に対応する各球体{P,P,P}に対応する円を抽出する。
 第1マーカー位置情報算出部401は、このようにして治具座標系マーカー30の各頂点{P,P,P}の深度カメラ座標系における座標値を算出する。その後、第1マーカー位置情報算出部401は、算出した治具座標系マーカー30の各頂点{P,P,P}の深度カメラ座標系における座標値に基づいて、各三角形の辺の長さを算出し、算出した辺の長さに基づいて、各頂点が治具座標系マーカー30の頂点P,P,Pのいずれに対応するか、を判定することができる。
 このように、第1マーカー位置情報算出部401は、治具座標系マーカー30の各頂点P,P,Pの位置を表す深度カメラ座標系における座標値を算出することができる。
 上記の例においては、治具座標系マーカー30の頂点P,P,Pに対応する球体の表面の色をREDと仮定したが、球体の色をRED以外の色(例えば、色A)とすることができる。
 この場合、第1マーカー位置情報算出部401は、計測対象範囲内の色が色Aの部分を抽出して、抽出した色Aの部分表面の各点のRGBの色情報と、各点(画素単位)の位置を表す3次元座標(X、Y、Z)と、からなる点データの集合を深度画像データ(色A)として抽出すればよい。
 そうした上で、第1マーカー位置情報算出部401は、エッジ画像を生成し、生成したエッジ画像からHough変換により円を抽出し、円の半径を計算することにより、色Aで半径Rの球体の中心を求めるように構成することができる。
 以上、第1マーカー位置情報算出部401による、治具座標系マーカー30の検出、及び検出したマーカーの構成要素(マーカーの頂点等)の深度カメラ座標系における座標値(以下「第1マーカー位置情報」という)の算出について説明した。
[第1キャリブレーション処理部402による座標変換行列の算出]
 次に、治具座標系における座標値を深度カメラ座標系における座標値に変換するための座標変換行列、及びその逆行列となる深度カメラ座標系における座標値を治具座標系における座標値に変換するための座標変換行列の算出方法の一例について説明する。
 第1キャリブレーション処理部402は、治具座標系マーカー30の頂点P、P、Pの位置を表す深度カメラ座標系における座標値に基づいて、治具座標系における座標値を深度カメラ座標系における座標値に変換するための座標変換行列を算出することができる。
 具体的には、第1キャリブレーション処理部402は、治具座標系マーカー30の頂点P、P、Pのそれぞれの位置を表す深度カメラ座標系における座標値(式1)に基づいて、深度カメラ座標系における治具座標のX軸方向単位ベクトル、Y軸方向単位ベクトル、及びZ軸方向単位ベクトルを算出する。算出した結果を式2~式4で表す。
Figure JPOXMLDOC01-appb-M000001
 第1キャリブレーション処理部402により算出したX軸方向単位ベクトルを
Figure JPOXMLDOC01-appb-M000002
 第1キャリブレーション処理部402により算出したY軸方向単位ベクトルを
Figure JPOXMLDOC01-appb-M000003
 第1キャリブレーション処理部402により算出したZ軸方向単位ベクトルを
Figure JPOXMLDOC01-appb-M000004
 とする。
 そうすると、第1キャリブレーション処理部402は、このようにして算出した深度カメラ座標系における治具座標のX軸方向単位ベクトル、Y軸方向単位ベクトル、Z軸方向単位ベクトル、及び深度カメラ座標系における治具座標系の原点Pの座標値に基づいて、治具座標系における座標値を深度カメラ座標系における座標値に変換するための座標変換行列を算出することができる(式5)。
Figure JPOXMLDOC01-appb-M000005
 また、第1キャリブレーション処理部402は、の逆行列を算出することにより、深度カメラ座標系における座標値を治具座標系における座標値に変換するための座標変換行列を算出することができる(式6)。
Figure JPOXMLDOC01-appb-M000006
 以上のようにして、図8に示すように、第1キャリブレーション処理部402は、治具座標系における座標値を深度カメラ座標系における座標値に変換するための座標変換行列、及びその逆行列となる深度カメラ座標系における座標値を治具座標系における座標値に変換するための座標変換行列を算出することができる。
 第1キャリブレーション処理部402は算出した、治具座標系における座標値を深度カメラ座標系における座標値に変換するための座標変換行列、及びその逆行列となる深度カメラ座標系における座標値を治具座標系における座標値に変換するための座標変換行列を、例えば3次元データ処理部50の記憶部504に記憶する。
[非深度カメラ座標系と基準座標系]
 次に、図9及び図10を参照しながら、非深度カメラ座標系と基準座標系との間の座標変換について説明する。図9は、非深度カメラ座標系と治具座標系との間の関連を示す概略図である。図10は、非深度カメラ204(サーモグラフィカメラ)によりマーカーの頂点P,P,P,Pが2次元画像データとして射影された射影平面の概要を示す。
 座標系算出部40の第2マーカー位置情報算出部403は、第2電子機器20(非深度カメラ)により取得された画像平面(射影平面)上の2次元画像データに基づいて、治具座標系マーカー30の各頂点P,P,P,Pを検出し、検出したマーカーの頂点P,P,P,Pの非深度カメラ座標系における3次元座標値(以下「第2マーカー位置情報」という)を算出する。
 そうすることで、第2キャリブレーション処理部404は、治具座標系における座標値を非深度カメラ座標系における座標値に変換するための座標変換行列、及びその逆行列となる非深度カメラ座標系における座標値を治具座標系における座標値に変換するための座標変換行列を算出することができる。
[第2マーカー位置情報算出部403による第2マーカー位置情報の算出]
 第2マーカー位置情報算出部403による治具座標系マーカー30の検出方法の一例について図10を参照しながら説明する。
 まず、第2マーカー位置情報算出部403は、第2電子機器20(非深度カメラ204)により取得された画像平面(射影平面)上の2次元画像データに基づいて、治具座標系マーカー30を検出し、検出したマーカーの構成要素(マーカーの頂点P,P,P,P)の2次元画像データ(射影平面)における座標値(x、y)を算出することができる。
 具体的には、第2マーカー位置情報算出部403は、非深度カメラ204(サーモグラフィカメラ)により取得された画像平面(射影平面)上の2次元画像データ内において温度が高い部分(4個)を抽出して、そのうち、温度が最も高い部分を抽出して、当該温度が最も高い部分の中心となる射影平面上の点の座標値p=(p0x、p0y)とする。第2マーカー位置情報算出部403は、温度が2番目に高い部分の中心となる射影平面上の点の座標値p=(p1x、p1y)を算出する。
 そうすることで、第2マーカー位置情報算出部403は、画像平面(射影平面)上の点p=(p0x、p0y)及び射影平面上の点の座標値p=(p1x、p1y)をそれぞれマーカーの頂点P及び頂点Pの射影平面上に射影された画像と判定することができる。
 第2マーカー位置情報算出部403は、射影平面上の点の座標値p=(p1x、p1y)と向かい合う、温度が高い部分の中心となる射影平面上の点の座標値p=(p2x、p2y)を算出し、マーカーの頂点Pの射影平面上に作成された画像と判定することができる。そして、残りの温度が高い部分の中心となる射影平面上の点の座標値p=(p3x、p3y)を算出し、マーカーの頂点Pの射影平面上に作成された画像と判定することができる。
 図10に示すように、第2マーカー位置情報算出部403は、2次元画像データ(射影平面)における、マーカーの4点{p、p、p、p}のそれぞれの座標値に基づいて、当該4点{p、p、p、p}の構成する長方形の互いに向かい合う2辺(辺p及び辺p)の当該射影平面上での交点Aの座標値(A,A)と他の2辺(辺p及び辺p)の当該射影平面上での交点Bの座標値(B,B)を算出する。
 辺p及び辺pの当該射影平面上での交点Aは、3次元空間における2つの平行線(直線P及び直線P)が当該射影平面で交わる消失点となる。同様に、辺p及び辺pの当該射影平面上での交点Bは、3次元空間における2つの平行線(直線P及び直線P)が当該射影平面で交わる消失点となる。
 次に、第2マーカー位置情報算出部403は、当該射影平面上における2つの消失点A及びBの通る直線の方程式を算出する(式7)。ここで、算出される直線は、マーカーを構成する治具平面の当該射影平面上での消失線に相当する。
Figure JPOXMLDOC01-appb-M000007
 他方、治具座標系マーカー30を含む平面(以下「治具平面」という)の法線ベクトルをN=(n,n,n)、非深度カメラ204の焦点距離をfとした場合、消失線は、
     nx+ny+f・n=0   (式8)
で表されることが知られている。
 第2マーカー位置情報算出部403は、式7及び式8に基づいて、治具平面の法線ベクトルN=(n,n,n)の値を算出することができる(式9)。
   n=A-B
   n=-(A-B
   n=((A×B)-(B×A))/f
                          (式9)
 他方、治具座標系マーカー30を含む平面(以下「治具平面」という)の法線ベクトルをN=(n,n,n)とした場合、非深度カメラ座標系(3次元空間)における、治具平面の方程式は、式10で表される。
      nX+nY+nZ=h   (式10)
 このようにして、第2マーカー位置情報算出部403は、射影平面上の消失線を算出することにより、治具平面の法線ベクトルN=(n,n,n)及び3次元空間(非深度カメラ座標系)における治具平面の方程式を算出することができる。
 他方、治具座標系マーカー30の各点P,P,P、Pの3次元空間(非深度カメラ座標系)上の座標値P=(P0x,P0y、P0z)、P=(P1x,P1y、P1z)、P=(P2x,P2y、P2z)、及びP=(P3x,P3y、P3z)、は、それぞれ、射影平面上の各点p、p、p、pの画像座標値p=(p0x、p0y)、p=(p1x、p1y)、p=(p2x、p2y)、p=(p3x、p3y)に比例することが知られている。
 すなわち、各点P,Pの3次元空間(非深度カメラ座標系)上の座標値をそれぞれ、射影平面上の各点p、pの画像座標値に基づいて表すと式11及び式12のように表現される(透視変換)。
  P0x= t・p0x
  P0y= t・p0y
  P0z= t・f             (式11)
  P1x= s・p1x
  P1y= s・p1y
  P1z= s・f             (式12)
 また、点Pと点Pとの距離(既知)をLとすると、点Pと点Pとの距離は、式13のように表現される。
  (P0x-P1x+(P0y-P1y+(P0z-P1z
  =L                (式13)
 第2マーカー位置情報算出部403は、式10~式13に基づいて、h、t、sの値を算出する。ここで、第1実施形態では上から見下ろす位置にマーカーを設置するものとする。したがって、算出されるhとして、負の値を採用する。
 そうすることで、第2マーカー位置情報算出部403は、点P,Pの3次元空間(非深度カメラ座標系)上の座標値を算出することができる。
 具体的には、第2マーカー位置情報算出部403は、式10~式12に基づいて、変数tと変数sをそれぞれ変数hで表現するように変換する(式14、式15)。
  t=h/(n・p0x+n・p0y+n・f)  (式14)
  s=h/(n・p1x+n・p1y+n・f)  (式15)
 次に第2マーカー位置情報算出部403は、式11及び式12に基づいて、点Pと点Pの3次元空間(非深度カメラ座標系)上の座標値P=(P0x,P0y、P0z)、P=(P1x,P1y、P1z)を変数hで表現するように変換する。
 第2マーカー位置情報算出部403は、式13に基づいて、変数hの値を算出することができる。次に、第2マーカー位置情報算出部403は、変数hの値に基づいて、式14及び式15により、変数t、sをそれぞれ算出する。
 第2マーカー位置情報算出部403は、式11及び式12に基づいて、マーカーの頂点P,Pの非深度カメラ座標系における座標値を算出する。
 点Pと点Pの非深度カメラ座標系における座標値の算出と同様にして、第2マーカー位置情報算出部403は、点P,点Pの3次元空間(非深度カメラ座標系)上の座標値を算出することができる。
 以上のように、第2マーカー位置情報算出部403は、射影平面上の2次元画像データに基づいて、治具座標系マーカー30を検出し、検出したマーカーを構成する長方形の互いに向かい合う2辺(辺P及び辺P)及び他の2辺(辺P及び辺P)のそれぞれの当該射影平面上での2つの異なる消失点A,Bの2次元座標値を算出することで、マーカーを構成する治具平面の当該射影平面上での消失線(nx+ny+f・n=0)を算出する。
 第2マーカー位置情報算出部403は、算出した消失線に基づき、治具平面の非深度カメラ座標系(3次元空間)における法線ベクトル(N=(n,n,n))を算出することで、3次元空間(非深度カメラ座標系)における治具平面の方程式(nX+nY+nZ=h)を算出する。
 第2マーカー位置情報算出部403は、3次元空間(非深度カメラ座標系)における治具平面の方程式、及び透視変換に基づいて、マーカーの4つの頂点の非深度カメラ座標系(3次元空間)における座標値(以下「第2マーカー位置情報」という)を算出することができる。
[第2キャリブレーション処理部404による座標変換行列の算出]
 次に、治具座標系における座標値を非深度カメラ座標系における座標値に変換するための座標変換行列、及びその逆行列となる非深度カメラ座標系における座標値を治具座標系における座標値に変換するための座標変換行列の算出方法の一例について説明する。
 第2キャリブレーション処理部404は、治具座標系マーカー30の頂点P、P、Pの位置を表す非深度カメラ座標系における座標値に基づいて、治具座標系における座標値を非深度カメラ座標系における座標値に変換するための座標変換行列を算出することができる。
 具体的には、第2キャリブレーション処理部404は、治具座標系マーカー30の頂点P、P、Pの非深度カメラ座標系における座標値(式15)に基づいて、非深度カメラ座標系における治具座標のx軸方向単位ベクトル、y軸方向単位ベクトル、及びz軸方向単位ベクトルを算出する。算出した結果を式16~式18で表す。
Figure JPOXMLDOC01-appb-M000008
 第2キャリブレーション処理部404により算出されたx軸方向単位ベクトルを
Figure JPOXMLDOC01-appb-M000009
 第2キャリブレーション処理部404により算出されたy軸方向単位ベクトルを
Figure JPOXMLDOC01-appb-M000010
 第2キャリブレーション処理部404により算出されたz軸方向単位ベクトルを
Figure JPOXMLDOC01-appb-M000011
 とする。
 第2キャリブレーション処理部404は、このようにして算出した非深度カメラ座標系における治具座標のX軸方向単位ベクトル、Y軸方向単位ベクトル、Z軸方向単位ベクトル、及び非深度カメラ座標系における治具座標系の原点Pの座標値に基づいて、治具座標系における座標値を非深度カメラ座標系における座標値に変換するための座標変換行列を算出する(式19)。
Figure JPOXMLDOC01-appb-M000012
 また、第2キャリブレーション処理部404は、の逆行列を算出することにより、非深度カメラ座標系における座標値を治具座標系における座標値に変換するための座標変換行列を算出する(式20)。
Figure JPOXMLDOC01-appb-M000013
 以上のようにして、図8に示すように、第2キャリブレーション処理部404は、治具座標系における座標値を非深度カメラ座標系における座標値に変換するための座標変換行列、及びその逆行列となる非深度カメラ座標系における座標値を治具座標系における座標値に変換するための座標変換行列を算出することができる。
 第2キャリブレーション処理部404は算出した、治具座標系における座標値を非深度カメラ座標系における座標値に変換するための座標変換行列、及びその逆行列となる非深度カメラ座標系における座標値を治具座標系における座標値に変換するための座標変換行列を、例えば3次元データ処理部50の記憶部504に記憶する。
 以上のように、座標系算出部40は、治具座標系における座標値を深度カメラ座標系における座標値に変換するための座標変換行列、及びその逆行列となる深度カメラ座標系における座標値を治具座標系における座標値に変換するための座標変換行列、並びに治具座標系における座標値を非深度カメラ座標系における座標値に変換するための座標変換行列、及びその逆行列となる非深度カメラ座標系における座標値を治具座標系における座標値に変換するための座標変換行列を算出する。
 このようにして得られた座標行列及び座標行列に基づいて、座標変換行列作成部405は、深度カメラ104で計測した深度カメラ画像の各点の深度カメラ座標系における座標値を非深度カメラ座標系における座標値に変換するための座標変換行列を算出する。
 具体的には、座標変換行列作成部405は、深度カメラ座標系における座標値を治具座標系における座標値に変換するための座標変換行列及び治具座標系における座標値を非深度カメラ座標系における座標値に変換するための座標変換行列に基づいて、深度カメラ画像の各点の深度カメラ座標系における座標値を非深度カメラ座標系における座標値に変換するための座標変換行列を算出する(式21)。
       =  -1   (式21)
 以上のようにして、図8に示すように、座標変換行列作成部405は、算出した深度カメラ座標系における座標値を非深度カメラ座標系における座標値に変換する座標変換行列を、例えば3次元データ処理部50の記憶部504に記憶する。
 その後、治具座標系マーカー30を現実空間から撤去することができる。
[非深度カメラ画像データの点群データ化について]
 次に、3次元空間の任意の位置に配置された第2電子機器20(非深度カメラ204)により取得される2次元画像データを、別の位置に配置された第1電子機器10(深度カメラ104)により取得される「深度カメラ画像」を用いてリアルタイムに点群データ化(3次元化)する処理について、図11A~図11Bを参照しながら説明する。
 図11Aに示すように、異なる位置に配置した深度カメラ104及び非深度カメラ204により、同時刻に被写体を計測する。この際、前述したように、深度カメラ104と非深度カメラ204とを近距離の位置に配置することが好ましい。
 以下、ある時刻tに、計測対象物を3次元計測部1012(深度カメラ104)により計測して取得した、計測対象物表面の各点(画素単位)の、深度カメラ座標系における位置を示す3次元座標の集合を{(X´n、Y´n、Z´n)}(1≦n≦C)とする。ここで、Cは、深度カメラ104で計測される点群データの点の個数を意味する。
 また、前述したように、非深度カメラ204により計測対象物は、非深度カメラ204の備える画像カメラのレンズ中心Oからレンズの焦点距離fの位置に生成される2次元画像面(射影平面)上に投影される。
 同時刻tに計測物を非深度カメラ204(サーモグラフィカメラ)により、計測対象物の表面の各点の温度データを画像データとして取得した画像平面上の点を(x、y)で表す。
 前述したように、非深度カメラ座標系で、(X,Y,Z)にある空間の点は、当該2次元画像面(射影平面)上の点(x、y)=(f・(X/Z)、f・(Y/Z))に投影される。
 3次元データ処理部50の点群データ座標値変換部501は、深度カメラ座標系における座標値を非深度カメラ座標系における座標値に変換する座標変換行列に基づいて、深度カメラ座標系における位置を示す3次元座標値の集合{(X´n、Y´n、Z´n)}(1≦n≦C)を、非深度カメラ座標系における位置を示す3次元座標値の集合{(Xn、Yn、Zn)}(1≦n≦C)に変換する。
 そうすることで、図11Bに示すように第1電子機器10(深度カメラ104)をあたかも第2電子機器20(非深度カメラ204)と同じ位置に配置して計測される計測対象物の点群データを得ることができる。すなわち、非深度カメラ204の視点に変更された深度カメラ104の点群データを得ることができる。
 3次元データ処理部50の点群データ変換部502は、非深度カメラ204の視点に変換された深度カメラ104による計測対象物の点群データ{(Xn、Yn、Zn)}に基づいて、非深度カメラ204により画像平面上に投影される点(x、y)を(式22)により算出する。
  (x、y)=(f・(Xn/Zn)、f・(Yn/Zn))  (式22)
 このようにして、非深度カメラ204により取得される2次元画像データに対して、非深度カメラ204の視点に変換された深度カメラ104による計測対象物の点群データ{(Xn、Yn、Zn)}を対応づけることができる。すなわち、非深度カメラ204により取得される2次元画像データをリアルタイムに点群データ化(3次元化)することができる。
 一例として、点群データ変換部502は、次の処理を行うように構成することができる。
 点群データ変換部502は、C個の座標値(x、y)を高速に計算するために、GPU(Graphics Processing Unit)による高速演算処理を行うように構成することができる。
 点群の個数Cを640×480個と仮定すると、点群データを32×80のスレッドに分割した場合、1スレッドあたり、x及びyそれぞれ120回の計算を行うことで、高速に演算することができる。
 次に、点群データ変換部502は、算出された座標値(x、y)を、非深度カメラ204により投影された画像平面上の座標値とすることで、計測された計測対象物表面のピクセルデータ(画素データ)に対応づけることができる。
 点群データ変換部502は、例えば次のように、画像平面上の座標値(x、y)を、非深度カメラ204により取得される各ピクセルデータ(画素データ)の該画像平面上のピクセル座標に対応づけることができる。
 図12は、非深度カメラ204により被写体が投影される画像平面上のxy座標と該画像平面上のピクセル座標との関係を示す概略図である。
 図12に示すように、ピクセル座標は、画像平面の左上端のピクセルを原点(0,0)とし,右方向にいくつめであるかをピクセルx座標,下方向にいくつめであるかをピクセルy座標とする2次元座標である。以下、ピクセルx座標をPixelx、ピクセルy座標をPixelyで表す。
 これに対して、画像平面上のxy座標は、前述したように画像平面の中心を原点(0,0)とし、水平方向をx軸、垂直方向をy軸とするものである。以下、x座標をx、y座標をyで表す。
 画像平面の横方向の長さをLx,画像平面の縦方向の長さをLyとする。また、H及びGをそれぞれ所定の正整数として、ピクセルx座標値Pixelxを(0≦Pixelx≦(H-1))を満たす整数値とし、ピクセルy座標値Pixelyを(0≦Pixely≦(G-1))を満たす整数値をとるものとする。なお、これらの値は、非深度カメラ204の仕様に基づいて設定される。
 点群データ変換部502は、(式23)に基づいて、画像平面上の座標値(x、y)を、非深度カメラ204により取得される各ピクセルデータ(画素データ)の該画像平面上のピクセル座標(Pixelx、Pixely)に対応づける。なお、点群データ変換部502は、(式23)により算出した値を四捨五入する。
 Pixelx=(H/Lx)×(x+Lx/2)
 Pixely=(G/Ly)×(-y+Ly/2)    (式23)
 なお、四捨五入に換えて小数点以下を切り捨てることで、ピクセル座標(Pixelx、Pixely)を対応づけてもよい。
 なお、点群データ{(Xn、Yn、Zn)}は、深度カメラ視点で計測した点群データ{(X´n、Y´n、Z´n)}を視点変換したものであることから、複数の点が計測対象物表面の同じ位置の温度データに対応付けされる可能性がある。
 このような場合、手前にある物体が背後にある物体を隠して見えないようにする(オクルージョン)ように対応づける必要がある。
 このため、点群データ変換部502は、算出された複数の座標値(x、y)が、画像平面上の同一ピクセル座標値(Pixelx、Pixely)に対応付けされる場合、それら複数の点の内、Znの値が最も小さな値となる点のみを画像平面上のピクセル座標値(Pixelx、Pixely)(すなわち計測対象物表面の温度データ)に対応付けるように構成する。そうすることで、非深度カメラ視点で奥に位置する深度データを排除することができる。
 なお、Znの値が最も小さな値となる点群の各点を三角系メッシュにすることで、このメッシュの奥に存在する点は非深度カメラ204のデータに対応付けないようにしてもよい。
 以上のように、点群データ変換部502は、非深度カメラ204により撮影された2次元画像データに、「深度画像」の深度座標を対応付けすることで、「非深度カメラ」により取得される2次元画像データを点群データ化(3次元化)することができる。
 なお、深度カメラ104及び非深度カメラ204が、それぞれ例えば1秒間に30コマの画像データ(30fps)を取得することができる場合、同一時刻に深度画像データ及び非深度画像データを取得するように構成することで、点群データ変換部502は、非深度カメラ204により30fpsで取得される各2次元画像データに、30fpsで取得された「深度画像」の各深度座標を対応付けすることで、「非深度カメラ」により30fpsで取得される2次元画像データを30fpsで点群データ化(3次元化)することができる。
[複数の非深度カメラにより撮影された2次元画像データのマッチング]
 これまでの説明は、簡単のため、1台の非深度カメラ204と1台の深度カメラ104を用いる例について説明した。
 次に、複数の非深度カメラ204により撮影した複数の2次元画像データを同一座標系による点群データに変換する処理について説明する。
 簡単のために、2つの異なる位置に配置した非深度カメラA及び非深度カメラBにより撮影した2次元画像データの場合を例として説明する。この際、2つの非深度カメラA及び非深度カメラBによる画像は、重複する部分を含むものとする。
 非深度カメラAにより取得した画像データを非深度カメラAの座標系により、点群データ化された点群データを{(Xn、Yn、Zn)、Tn}とし、非深度カメラBにより取得した画像データを非深度カメラBの座標系により、点群データ化された点群データを{(Xm、Ym、Zm)、Tm}とする。ここで、Tnは、非深度カメラAの座標系の座標値(Xn、Yn、Zn)における温度データであり、Tmは、非深度カメラBの座標系の座標値(Xm、Ym、Zm)における温度データである。
 非深度カメラAの座標系における座標値を治具座標系における座標値に変換するための座標変換行列及び非深度カメラBの座標系における座標値を治具座標系における座標値に変換するための座標変換行列とする。
 点群データ合成部503は、非深度カメラAの座標系により点群データ化された点群データ{(Xn、Yn、Zn)、Tn}を座標変換行列により、治具座標系における座標値による点群データ{(n、n、n)、n}に変換するとともに、非深度カメラBの座標系により点群データ化された点群データ{(Xn、Yn、Zn)、Tn}を座標変換行列により、治具座標系における座標値による点群データ{(n、n、n)、n}に変換する。
 そうすることで、点群データ合成部503は、点群データ{(Xn、Yn、Zn)、Tn}及び点群データ{(Xn、Yn、Zn)、Tn}を治具座標系の座標値に基づいて重なる部分の位置合わせを行った後に、必要に応じて、測定誤差等により、各点群データ間の治具座標系での座標値が同じであっても、位置ずれの発生した場合の補正を行うことで、より正確な、欠損部分の少ない1つの合成点群データを取得することができる。
 なお、2つの異なる座標系の座標値で表現される点群データを合成するために、2つの点群データを同一座標系(治具座標系)における座標値に変換した上で、重なる部分の位置合わせを行った。同一座標系は治具座標系に限定されない。
 例えば、点群データ合成部503は、非深度カメラBの座標系により点群データ化された点群データ{(Xn、Yn、Zn)、Tn}を非深度カメラAの座標系に基づいて変換することで、2つの点群データ{(Xn、Yn、Zn)、Tn}及び{(Xm、Ym、Zm)、Tm}を合成するようにしてもよい。
 同様に、点群データ合成部503は、非深度カメラAの座標系により点群データ化された点群データ{(Xn、Yn、Zn)、Tn}を非深度カメラBの座標系に基づいて変換することで、点群データ合成部503は、非深度カメラBの座標系に基づいて、2つの点群データ{(Xn、Yn、Zn)、Tn}及び{(Xm、Ym、Zm)、Tm}を合成するようにしてもよい。
<3次元データ表示制御部60>
 次に、3次元データ表示制御部60について説明する。
 図5Cに示すように、3次元データ表示制御部60は、視点操作部601と、データ表示方式選択部602と、データ再生・保存指示部603と、3次元データ表示処理部604と、を備える。
 点群データは、そのままの形式でレンダリングすることは可能であるが、そのデータ形式のままでは、各種の3次元処理には適さないことが多い。
 このため、点群データを面形式に変換し、例えばポリゴン、不整三角網のメッシュ、及びCADモデルとして扱うことができる。
 そうすることで、例えば、非深度カメラ204(サーモグラフィカメラ)で取得した画像データ(温度データ)を三角形の集合で表すことができる。そうすることで、ある温度の部分の面積を計測することが可能となる。
[視点操作部601]
 視点操作部601は、利用者の視点方向、視点座標等の入力を利用者から受け取ることができる。このことにより、表示画像のズーム等のカメラワークと同様の操作が可能となる。
[データ表示方式選択部602]
 データ表示方式選択部602は、表示画像の表示方式に関する指示を利用者から受け取ることができる。例えば、3次元空間上の点群データをどのような投影面に投影するか、を選択することができる。
[データ再生・保存指示部603]
 データ再生・保存指示部603は、点群データから生成された3次元モデルデータの再生又は保存に関する指示を利用者から受け取ることができる。
[3次元データ表示処理部604]
 3次元データ表示処理部604は、点群データ変換部502又は点群データ合成部503により作成された点群データを、視点操作部601により入力された利用者の仮想視点に基づいて、マッピング加工を行い、その結果の表示画像をディスプレイ画面に3次元表示する。
 次に、3次元データ保存部70について説明する。
 図5Dに示すように、3次元データ保存部70は点群データ記憶部701を備える。
[点群データ記憶部701]
 点群データ記憶部701は、非深度カメラ204により取得した画像データを非深度カメラ204の座標系により点群データ化された点群データ{(Xn、Yn、Zn)、Tn}に、当該計測時刻となるタイムスタンプを関連付けた点群データ情報を、非深度カメラ204毎に記憶する。
 前述したように、例えば、深度カメラ104及び非深度カメラ204が、それぞれ1秒間に30コマの画像データ(30fps)を取得することができる場合、点群データ記憶部701は、例えば、1/30秒単位の計測時刻(t)毎に生成される、非深度カメラ204により取得した画像データを非深度カメラ204の座標系により点群データ化された点群データ{(Xn、Yn、Zn)、Tn}(t)}を記憶する(t:タイムスタンプ)。
 以上、これまで説明した本発明の実施形態における、一連の処理の流れを簡単に図示したものが図13である。
 ここでは、深度カメラ104及び非深度カメラ204が、それぞれ1秒間に30コマの画像データ(30fps)を取得する例を示す。
 図13を参照すると、ST1において、治具座標系マーカー30が所定の場所に設定される。深度カメラ104及び非深度カメラ204がそれぞれ所定の場所に設定される。ここで、深度カメラ104は、非深度カメラ204の近くに配置することが好ましい。
 ST2において、キャリブレーションを行うことで、深度カメラ座標系における座標値を非深度カメラ座標系における座標値に変換する座標変換行列を、例えば3次元データ処理部50の記憶部504に記憶する。
 ST3において、治具座標系マーカー30を現実空間から撤去する。
 ST4において、計測作業者が、非深度カメラ204及び深度カメラ104により、計測対象物の計測を開始する。
 ST5において、測定時刻t毎に、点群データ変換部42は、非深度カメラ204により30fpsで取得される各2次元画像データに、30fpsで取得された「深度画像」の各深度座標を対応付けすることで、「非深度カメラ」により30fpsで取得される2次元画像データを30fpsで点群データ化(3次元化)する。
 ST6において、3次元データ表示制御部60により、非深度カメラ204の視点から見た3次元画像が表示される。
 以上のように、第1実施形態によれば、非深度カメラ204(サーモグラフィカメラ)により計測した被写体の表面温度データを点群データに変換することができる。
 そうすることで得られた点群データを例えば点群データを面形式(例えば三角形メッシュ)に変換することで、被写体の表面の温度分布を三角形の集合で表すことができ、ある温度の部分の面積を計測することが可能となる。
(第2実施形態)
 第1実施形態において、治具座標系マーカー30として、図6に示すように、各頂点P,P,P,Pを同一の半径の球体とした4辺を有し、向かい合う2組の辺がそれぞれ平行な四角形(平行四辺形)の形状をした構造体(例えば長方形)とした。そして、頂点Pを始点として頂点Pを終点とするベクトル(ベクトルP)と、頂点Pを始点として頂点Pを終点とするベクトル(ベクトルP)との外積ベクトルを算出し、外積ベクトルを頂点Pを始点として表現した場合の終点をPとすることで、例えばPを原点、ベクトルPoP方向をX軸、ベクトルP方向をY軸、ベクトルP方向をZ軸とする、治具座標系を規定した。
 他方、深度カメラ104により計測された治具座標系マーカー30の深度画像データを第1マーカー位置情報算出部401により画像解析することで、治具座標系マーカー30の頂点P,P,P,Pの深度カメラ座標系における座標値を算出し、このように算出したP,P,Pの深度カメラ座標値に基づいて、Pの座標値(ベクトルP方向の単位ベクトル)を算出することで、治具座標系における座標値を深度カメラ座標系における座標値に変換するための座標変換行列を算出した(式5)。
 同様に、非深度カメラ204により取得した治具座標系マーカー30の画像平面(射影平面)上2次元画像データを第2マーカー位置情報算出部403により画像解析することで、治具座標系マーカー30の頂点P,P,P,Pの非深度カメラ座標系における座標値を算出し、このように算出したP,P,Pの非深度カメラ座標値に基づいて、Pの座標値(ベクトルP方向の単位ベクトル)を算出することで、治具座標系における座標値を非深度カメラ座標系における座標値に変換するための座標変換行列を算出した(式19)。
 このように、第1実施形態においては、点Pの治具座標系における座標値、深度カメラ座標系における座標値、及び非深度カメラ座標系における座標値を、それぞれ点P,P,Pの治具座標系における座標値、深度カメラ座標系における座標値、及び非深度カメラ座標系における座標値に基づいて外積演算により算出した。
(治具座標系マーカー30A)
 これに対して、第2実施形態においては、治具座標系マーカー30に替えて、例えば、ベクトルPとベクトルPとの外積ベクトル上に他の球体(P,P,P,P)と同じ形状をした球体Qを設けた、治具座標系マーカー30Aを利用する。
 この場合、球体Qを識別できるように、球体Qの表面を他の球体(P,P,P)の表面と同様に予め設定された色(例えば赤色)で着色されるように構成する。また、球体Qの位置は、例えばベクトルPとベクトルPとの外積ベクトルの終点としてもよいし、ベクトルPの大きさが外積ベクトルの大きさに所定の比率を掛けた値になるようにしてもよい。
 治具座標系マーカー30Aを利用することで、非深度カメラ座標系と深度カメラ座標系とのキャリブレーションをより効率的に行うことができる。
 以下に詳細について説明する。なお、第2実施形態については、主として、第1実施形態と異なる点を中心に説明し、第1実施形態と同様な構成については詳細な説明を省略する。第2実施形態において、特に説明しない点は、第1実施形態についての説明が適宜適用される。また、第2実施形態においても、第1実施形態と同様な効果が奏される。
(治具座標系マーカー30Aの頂点Qの深度カメラ座標系における座標値)
 第1マーカー位置情報算出部401は、治具座標系マーカー30の各頂点{P,P,P}の深度カメラ座標系における座標値を算出するのと同様にして、治具座標系マーカー30Aの頂点Qの深度カメラ座標系における座標値を算出することができる。
 第1マーカー位置情報算出部401は、このようにして治具座標系マーカー30Aの各頂点{P,P,P,Q}の深度カメラ座標系における座標値を算出することができる。
 なお、第1マーカー位置情報算出部401は、算出した治具座標系マーカー30Aの各頂点{P,P,P,Q}の深度カメラ座標系における座標値に基づいて、例えば各三角形の辺の長さを算出し、算出した辺の長さに基づいて、各頂点が治具座標系マーカー30の頂点P,P,P,Qのいずれに対応するか、を判定することができる。また、オペレータにより、治具座標系マーカー30Aの各頂点{P,P,P,Q}と深度カメラ座標系における各座標値との対応付けてもよい。
(治具座標系と深度カメラ座標系とのキャリブレーション)
 第1キャリブレーション処理部402は、第1マーカー位置情報算出部401により算出された、点{P,P,P,Q}の深度カメラ座標系における座標値に基づいて、深度カメラ座標系における治具座標のX軸方向単位ベクトル、Y軸方向単位ベクトル、及びZ方向単位ベクトルを算出することができる。
 具体的には、深度カメラ座標系における治具座標系の原点Pの座標値を
  (P´0x,P´0y,P´0z)とし、
 第1キャリブレーション処理部402により算出したX軸方向単位ベクトルを
Figure JPOXMLDOC01-appb-M000014
 第1キャリブレーション処理部402により算出したY軸方向単位ベクトルを
Figure JPOXMLDOC01-appb-M000015
 第1キャリブレーション処理部402により算出したZ軸方向単位ベクトルを
Figure JPOXMLDOC01-appb-M000016
 とする。
 そうすると、第1キャリブレーション処理部402は、このようにして算出した深度カメラ座標系における治具座標のX軸方向単位ベクトル、Y軸方向単位ベクトル、Z軸方向単位ベクトル、及び深度カメラ座標系における治具座標系の原点Pの座標値(P´0x,P´0y,P´0z)に基づいて、治具座標系における座標値を深度カメラ座標系における座標値に変換するための座標変換行列を算出することができる(式27)。
Figure JPOXMLDOC01-appb-M000017
(治具座標系と非深度カメラ座標系とのキャリブレーション)
 第2キャリブレーション処理部404は、第2マーカー位置情報算出部403により算出された、点{P,P,P}の非深度カメラ座標系における座標値に基づいて、非深度カメラ座標系における治具座標のX軸方向単位ベクトル、Y軸方向単位ベクトル、及びZ方向単位ベクトルを算出することができる。
 具体的には、非深度カメラ座標系における治具座標系の原点Pの座標値を
  (P0x,P0y,P0z)とし、
 第2キャリブレーション処理部404により算出したX軸方向単位ベクトルを
Figure JPOXMLDOC01-appb-M000018
 第2キャリブレーション処理部404により算出したX軸方向単位ベクトルを
Figure JPOXMLDOC01-appb-M000019
 第2キャリブレーション処理部404により、X軸方向単位ベクトルとY軸方向単位ベクトルとの外積により算出したZ軸方向単位ベクトルを
Figure JPOXMLDOC01-appb-M000020
 とする。
 そうすると、第2キャリブレーション処理部404は、このようにして算出した非深度カメラ座標系における治具座標のX軸方向単位ベクトル、Y軸方向単位ベクトル、Z軸方向単位ベクトル、及び非深度カメラ座標系における治具座標系の原点Pの座標値(P0x,P0y,P0z)に基づいて、治具座標系における座標値を非深度カメラ座標系における座標値に変換するための座標変換行列を算出することができる(式27)。
Figure JPOXMLDOC01-appb-M000021
 以上から、座標変換行列作成部405は、深度カメラ座標系における座標値を治具座標系における座標値に変換するための座標変換行列及び治具座標系における座標値を非深度カメラ座標系における座標値に変換するための座標変換行列に基づいて、深度カメラ画像の各点の深度カメラ座標系における座標値を非深度カメラ座標系における座標値に変換するための座標変換行列を算出することができる(式32)。
       =  -1   (式32)
 以上のように、第2実施形態によると、治具座標系マーカー30Aを利用することで、非深度カメラ座標系と深度カメラ座標系とのキャリブレーションをより効率的に行うことができる。
 以上、本発明の点群データ変換システム1の好ましい実施形態について説明したが、本発明は上述の実施形態に制限されるものではなく、適宜変更が可能である。
[システム構成の自由度]
 本発明の点群データ変換システム1において、第1電子機器10、第2電子機器20、座標系算出部40、3次元データ処理部50、及び3次元データ表示制御部60、及び3次元データ保存部70の有する各機能部をそれぞれ、適宜特定のコンピュータに集中させるか、又は分散させることは、ユーザにとって適宜成しえる設計事項である。
 例えば、第1実施形態又は第2実施形態において、座標系算出部40、3次元データ処理部50、3次元データ表示制御部60、3次元データ保存部70の機能の一部、一部の組み合わせ、又は全部を、例えば、第1電子機器10の機能としてもよい。
 また、座標系算出部40、3次元データ処理部50、3次元データ表示制御部60、3次元データ保存部70の機能を1つのコンピュータ又は複数のコンピュータで実装することも当業者が適宜設計できる事項である。
<変形例1>
 第1実施形態又は第2実施形態において、第2マーカー位置情報算出部403が、非深度カメラ204により取得した画像から治具座標系マーカー30の4つの頂点P,P,P、Pを判定しやすくするために、一例としてPに対応する1個の発熱温度を、他の球体よりも高い温度を発熱するように構成した。同様にPに対応する1個の発熱温度を、Pを除く3個の球体のうち、他の球体よりも高い温度を発熱するように構成した。
 しかしながら、点Pに対応する1個の発熱温度が、他の球体よりも高い温度を発熱するようにするだけでもよい。Pを除く3個の球体の発熱温度は同じ温度であっても異なる温度であっても構わない。
 この場合、Pを特定して、PとPを特定しない状態で、第2マーカー位置情報算出部403は、マーカーの4つの頂点の非深度カメラ座標系(3次元空間)における座標値(第2マーカー位置情報)を算出する。
 その後、第2マーカー位置情報算出部403は、例えばPの長さがPの長さよりも短くなるように構成した場合、Pの長さ及びPの長さを算出して比較することで、頂点P及び頂点Pをそれぞれ特定することができる。
 また、第2マーカー位置情報算出部403は、マーカー30の重心を中心として例えば左回りに頂点P,P、Pと構成した場合、頂点P及び頂点Pをそれぞれ特定するようにしてもよい。
 なお、第2マーカー位置情報算出部403は、非深度カメラ204(サーモグラフィカメラ)により取得された画像データ内において、マーカーの頂点P,P,P,Pの座標位置を、例えばオペレータにより指示されるようにしてもよい。
<変形例2>
 さらには、治具座標系マーカー30の4つの頂点P,P,P、Pに対応する4個の発熱温度を同じ温度とすることもできる。
 この場合、マーカーの頂点Pの近傍に例えば発熱体Pを配置するように構成する。そうすることで、第2マーカー位置情報算出部403は、発熱体の温度に違いがない場合であっても、頂点Pを特定することが可能となる。その後は、変形例1で説明したのと同様に、頂点P及び頂点Pをそれぞれ特定することができる。
<変形例3>
 第1実施形態又は第2実施形態では、非深度カメラ204としてサーモグラフィカメラを適用したが、サーモグラフィカメラ以外の任意の非深度カメラを適用することができる。
 非深度カメラとして、カラーカメラを適用することができる。この場合、深度カメラ104を構成するカメラの解像度よりも高解像度なカラーカメラであることが好ましい。
 治具座標系マーカー30としては、頂点P,P,Pに対応する球体の表面の色を例えばREDとした場合、頂点Pに対応する球体の色をRED以外の色とすることができる。そうすることで、第2マーカー位置情報算出部403は、頂点Pを特定することができる。
 その後、変形例1で説明したように、例えばPの長さがPの長さよりも短くなるように構成した場合、第2マーカー位置情報算出部403は、Pの長さ及びPの長さを算出して比較することで、頂点P及び頂点Pをそれぞれ特定することができる。
 また、マーカー30の重心を中心として例えば左回りに頂点P,P、Pと構成した場合、第2マーカー位置情報算出部403は、頂点P及び頂点Pをそれぞれ特定することができる。
 また、変形例2で説明したのと同様に、頂点Pの近傍に例えばREDのPを配置するように構成することで、第2マーカー位置情報算出部403は、頂点Pを特定することが可能となる。
<変形例4>
 非深度カメラ204として、IRカメラ(赤外線カメラ)を適用することができる。近赤外線は生体構成物質での吸収率が小さく、特に800~1000nmの波長の近赤外線は生体透過率が高い特性を有する。この特性を利用することで、測定対象に近赤外線を照射して、吸収された度合(吸光度)又は反射の変化によって成分を算出することが可能となる。
 例えば、近赤外線用のIRカメラの場合750nm~1400nm付近の波長の光を取得するカメラであることから、4つの頂点P,P,P、Pには、例えばハロゲンランプを配置することができる。また、ハロゲンランプの色温度とピークの波長の関係を用いて、所定の波長の近赤外線を出力させることで、第2マーカー位置情報算出部403は、4つの頂点P,P,P、Pを特定するように構成できる。
 また、頂点Pに配置するハロゲンランプと他の頂点P,P、Pに配置するハロゲンランプの発する光の波長を変えておくことで第2マーカー位置情報算出部403は、頂点Pを特定することができる。
 その後、変形例1で説明したように、第2マーカー位置情報算出部403は、例えばPの長さがPの長さよりも短くなるように構成した場合、Pの長さ及びPの長さを算出して比較することで、頂点P及び頂点Pをそれぞれ特定することができる。
 また、マーカー30の重心を中心として例えば左回りに頂点P,P、Pと構成した場合、第2マーカー位置情報算出部403は、頂点P及び頂点Pをそれぞれ特定することができる。
 また、変形例2で説明したのと同様に、頂点Pの近傍に例えば別のハロゲンランプPを配置するように構成することで、第2マーカー位置情報算出部403は、頂点Pを特定することも可能である。
<変形例5>
 非深度カメラ204として、ハイパースペクトルカメラを適用することができる。ハイパースペクトルカメラは、数10バンド以上に分光されたスペクトルを画像1ピクセル毎に取得することができる。このため、従来のRGBでは困難な色情報、物質の材質を判別することが可能となり、異物検査・品質管理・成分分析・環境調査等に広く利用される。
 非深度カメラ204にハイパースペクトルカメラを適用した場合においても、ハイパースペクトルカメラの受光できる光の波長に合わせた光源をマーカー30の4つの頂点P,P,P、Pに配置することで第2マーカー位置情報算出部403は、マーカー30の4つの頂点P,P,P、Pを特定することが可能となる。
 また、頂点Pに配置する光源と他の頂点P,P、Pに配置する光源の発する光の波長を変えておくことで第2マーカー位置情報算出部403は、頂点Pを特定することができる。
 その後、変形例1で説明したように、例えばPの長さがPの長さよりも短くなるように構成した場合、第2マーカー位置情報算出部403は、Pの長さ及びPの長さを算出して比較することで、頂点P及び頂点Pをそれぞれ特定することができる。
 また、マーカー30の重心を中心として例えば左回りに頂点P,P、Pと構成した場合、第2マーカー位置情報算出部403は、頂点P及び頂点Pをそれぞれ特定することができる。
 また、変形例2で説明したのと同様に、頂点Pの近傍に例えば別の光源Pを配置するように構成することで、第2マーカー位置情報算出部403は、頂点Pを特定することも可能である。
<変形例6>
 非深度カメラ204として、マルチスペクトルカメラを適用することができる。マルチスペクトルカメラは、任意に複数波長を選択し、その波長の測定に特化することで、動画レートでのスペクトル測定を可能とする。このため、従来のRGBでは困難な色情報、物質の材質を判別することが可能となり、異物検査・品質管理・成分分析・環境調査等に広く利用される。
 なお、非深度カメラ204にマルチスペクトルカメラを適用した場合においても、マルチスペクトルカメラの受光できる光の波長に合わせた光源をマーカー30の4つの頂点P,P,P、Pに配置することで第2マーカー位置情報算出部403は、マーカー30の4つの頂点P,P,P、Pを特定することが可能となる。
 なお、頂点P、頂点P及び頂点Pの特定について、第2マーカー位置情報算出部403は、変形例5(ハイパースペクトルカメラ)の場合と同様にできる。
<変形例7>
 非深度カメラ204として、UVカメラ(紫外線カメラ)を適用することができる。UVカメラを利用することで、可視光域では見えにくい表面のキズ、シミなどを鮮明にとらえることが可能となる。
 例えば、UVカメラを適用する場合、4つの頂点P,P,P、Pには特定の波長の紫外線のみを発生させる光源を配置することで、第2マーカー位置情報算出部403は、4つの頂点P,P,P、Pを特定するように構成できる。
 また、頂点Pに配置する光源と他の頂点P,P、Pに配置する光源の発する光の波長を変えておくことで第2マーカー位置情報算出部403は、頂点Pを特定することができる。
 その後、変形例1で説明したように、例えばPの長さがPの長さよりも短くなるように構成した場合、第2マーカー位置情報算出部403は、Pの長さ及びPの長さを算出して比較することで、頂点P及び頂点Pをそれぞれ特定することができる。
 また、マーカー30の重心を中心として例えば左回りに頂点P,P、Pと構成した場合、第2マーカー位置情報算出部403は、頂点P及び頂点Pをそれぞれ特定することができる。
 また、変形例2で説明したのと同様に、頂点Pの近傍に例えば別の光源Pを配置するように構成することで、第2マーカー位置情報算出部403は、頂点Pを特定することも可能である。
 以上のように、非深度カメラ204として、画像カメラ(例えばカラーカメラ)、サーモグラフィカメラ、ハイパースペクトルカメラ、マルチスペクトルカメラ、IRカメラ(赤外線カメラ)、UVカメラ(紫外線カメラ)を例として説明したが、非深度カメラはこれらの例に限定されるものではない。
 本願発明においては、任意の非深度カメラを適用することができる。例えば、水分量、糖度、癌細胞と正常細胞の分離、血管の強調等、様々な画像情報を取得できる非深度カメラが存在する。そのような特殊な非深度カメラと深度カメラとを組み合わせることによって、点群データに特殊な情報を付加することができる。これは、コンピュータによる外界の認識に必要な「セグメント化(画像の有意味な分離)」を可能にする。
 これらにより、例えば、機械と人体の分離、正常細胞と癌細胞の分離等の認識処理が、リアルな3次元画像を用いて行うことができるようになる。これらは、ロボットによる手術を行う場合等に有用な技術である。
1 点群データ変換システム
10 第1電子機器
101 制御部
1011 第1通信部
1012 3次元計測部
1013 時刻同期部
102 記憶装置
103 有線及び/又は無線通信部
104 深度カメラ
105 計時部
20 第2電子機器
201 制御部
2011 第2通信部
2012 3次元計測部
2013 時刻同期部
202 記憶装置
203 有線及び/又は無線通信部
204 非深度カメラ(サーモグラフィカメラ)
205 時計部
30、30A 治具座標系マーカー
40 座標系算出部
401 第1マーカー位置情報算出部
402 第1キャリブレーション処理部
403 第2マーカー位置情報算出部
404 第2キャリブレーション処理部
405 座標変換行列作成部
406 記憶部
50 3次元データ処理部
501 点群データ座標値変換部
502 点群データ変換部
503 点群データ合成部
504 記憶部
60 3次元データ表示制御部
601 視点操作部
602 データ表示方式選択部
603 データ再生・保存指示部
604 3次元データ表示処理部
70 3次元データ保存部
701 点群データ記憶部

Claims (13)

  1.  3次元空間中の被写体の表面をレンズを通して画像平面へ投影することにより取得される2次元画像データに対して、前記被写体の表面の各点の3次元空間座標値を対応付け、前記2次元画像データを点群データに変換する点群データ変換システムであって、
     第1の3次元空間座標系に基づいて前記被写体の表面の各点における画像データ及び前記各点の前記第1の3次元空間座標系における座標値を含む点群データを計測する3次元計測部を備える第1電子機器と、
     前記第1の3次元空間座標系とは異なる、第2の3次元空間座標系に基づいて3次元空間中の前記被写体を画像平面へ投影することにより、前記被写体の2次元画像データを取得する2次元画像取得部を備える第2電子機器と、
     4つの頂点を有し、隣り合う前記4つの頂点を結ぶことで得られる四角形の互いに向かい合う辺が平行となる前記4つの頂点に所定の標識物が設けられるマーカーと、
     前記3次元計測部により計測された前記マーカーの点群データに基づいて、前記マーカーの少なくとも3つの頂点の前記第1の3次元空間座標系における座標値である第1マーカー位置情報を算出する第1マーカー位置情報算出部と、
     前記2次元画像取得部により取得された前記マーカーの前記画像平面上の2次元画像データに基づいて、前記四角形の互いに向かい合う平行となる辺同士の前記画像平面上での交点及び前記2つの交点を結ぶ直線の前記画像平面上の方程式を算出し、前記マーカーの有する少なくとも3つの頂点の前記第2の3次元空間座標系における座標値である第2マーカー位置情報を算出する、第2マーカー位置情報算出部と、
     前記第1マーカー位置情報算出部により算出される前記第1マーカー位置情報及び前記第2マーカー位置情報算出部により算出される前記第2マーカー位置情報に基づいて、前記第1の3次元空間座標系における座標値を前記第2の3次元空間座標系における座標値に変換するための座標変換行列を算出する座標変換行列算出部と、
     前記2次元画像取得部により取得された前記被写体の2次元画像データに対して、前記3次元計測部により計測される前記被写体の表面の各点の前記第1の3次元空間座標系における座標値を前記座標変換行列により前記第2の3次元空間座標系における座標値に変換した点群データを対応付けることにより、前記被写体の2次元画像データを点群データに変換する点群データ変換部と、
     を備える点群データ変換システム。
  2.  前記マーカーは、さらに、
      前記四角形により構成される平面上に含まれない、所定の標識物が設けられた別の頂点を有し、
     前記第1マーカー位置情報算出部は、さらに
      前記別の頂点の前記第1の3次元空間座標系における座標値を含む前記第1マーカー位置情報を算出する、請求項1に記載の点群データ変換システム。
  3.  前記点群データ変換システムは、さらに、
      3次元空間のグローバル座標系を備え、
      前記マーカーの前記頂点の前記グローバル座標系の座標値が既知であり、
     前記点群データ変換部は、さらに、
      前記被写体の2次元画像データを前記グローバル座標系における座標値を有する点群データに変換することを特徴とする請求項1又は請求項2に記載の点群データ変換システム。
  4.  前記マーカーは、さらに、
      3次元空間の治具座標系を備え、
     前記点群データ変換部は、さらに、
      前記被写体の2次元画像データを前記治具座標系における座標値を有する点群データに変換することを特徴とする請求項1~請求項3の何れか1項に記載の点群データ変換システム。
  5.  前記2次元画像取得部は、サーモグラフィカメラによって構成され、前記被写体の2次元画像データは、熱画像データを含み、
     前記マーカーの頂点に配置される標識物は発熱体であることを特徴とする、請求項1~請求項4のいずれかに1項に記載の点群データ変換システム。
  6.  前記2次元画像取得部は、赤外線カメラによって構成され、前記被写体の2次元画像データは、所定の波長のスペクトル情報を含み、
     前記マーカーの頂点に配置される標識物は、前記赤外線カメラの受光できる所定の波長の光を出力する光源であることを特徴とする、請求項1~請求項4のいずれかに1項に記載の点群データ変換システム。
  7.  前記2次元画像取得部は、紫外線カメラによって構成され、前記被写体の2次元画像データは、所定の波長のスペクトル情報を含み、
     前記マーカーの頂点に配置される標識物は、前記紫外線カメラの受光できる所定の波長の光を出力する光源であることを特徴とする、請求項1~請求項4のいずれかに1項に記載の点群データ変換システム。
  8.  前記2次元画像取得部は、マルチスペクトルカメラによって構成され、前記被写体の2次元画像データは、所定の波長のスペクトル情報を含み、
     前記マーカーの頂点に配置される標識物は、前記マルチスペクトルカメラの受光できる所定の波長の光を出力する光源であることを特徴とする、請求項1~請求項4のいずれかに1項に記載の点群データ変換システム。
  9.  前記2次元画像取得部は、ハイパースペクトルカメラによって構成され、前記被写体の2次元画像データは、ハイパースペクトル情報を含み、
     前記マーカーの頂点に配置される標識物は、前記ハイパースペクトルカメラの受光できる所定の波長の光を出力する光源であることを特徴とする、請求項1~請求項4のいずれかに1項に記載の点群データ変換システム。
  10.  前記2次元画像取得部は、カラーカメラによって構成され、前記被写体の2次元画像データは、前記被写体のカラー画像データを含み、
     前記マーカーの頂点に配置される標識物は、それぞれ表面が予め設定された色で着色されていることを特徴とする、請求項1~請求項4のいずれかに1項に記載の点群データ変換システム。
  11.  3次元空間中の被写体の表面をレンズを通して画像平面へ投影することにより取得される2次元画像データに対して、前記被写体の表面の各点の3次元空間座標値(点群データ)を対応付け、前記2次元画像データを点群データに変換する点群データ変換方法であって、
     第1の3次元空間座標系に基づいて前記被写体の表面の各点における画像データ及び前記各点の前記第1の3次元空間座標系における座標値を含む点群データを計測する3次元計測ステップと、
     前記第1の3次元空間座標系とは異なる、第2の3次元空間座標系に基づいて3次元空間中の前記被写体を画像平面へ投影することにより、前記被写体の2次元画像データを取得する2次元画像データ取得ステップと、
     3次元空間に配置される、4つの頂点を有し、隣り合う前記4つの頂点を結ぶことで得られる四角形の互いに向かい合う辺が平行となる前記4つの頂点に所定の標識物が設けられるマーカーを被写体として、前記3次元計測ステップにおいて計測して得られる前記マーカーの点群データに基づいて、前記マーカーの少なくとも3つの頂点の前記第1の3次元空間座標系における座標値である第1マーカー位置情報を算出する第1マーカー位置情報算出ステップと、
     前記マーカーを被写体として、前記2次元画像データ取得ステップにおいて取得された前記マーカーの前記画像平面上の2次元画像データに基づいて、前記四角形の互いに向かい合う平行となる辺同士の前記画像平面上での交点及び前記2つの交点を結ぶ直線の前記画像平面上の方程式を算出し、前記マーカーの有する少なくとも3つの頂点の前記第2の3次元空間座標系における座標値である第2マーカー位置情報を算出する第2マーカー位置情報算出ステップと、
     前記第1マーカー位置情報算出ステップにおいて算出される前記第1マーカー位置情報及び前記第2マーカー位置情報算出ステップにおいて算出される前記第2マーカー位置情報に基づいて、前記第1の3次元空間座標系における座標値を前記第2の3次元空間座標系における座標値に変換するための座標変換行列を算出する座標変換行列算出ステップと、
     前記2次元画像情報取得ステップにおいて取得された前記被写体の2次元画像データに対して、前記3次元計測ステップにおいて計測される前記被写体の表面の各点の前記第1の3次元空間座標系における座標値を前記座標変換行列により前記第2の3次元空間座標系における座標値に変換した点群データを対応付けることにより、前記被写体の2次元画像データを点群データに変換する点群データ変換ステップと、
     を備える、点群データ変換方法。
  12.  前記マーカーは、さらに、
      前記四角形により構成される平面上に含まれない、所定の標識物が設けられた別の頂点を有し、
     前記第1マーカー位置情報算出ステップは、さらに
      前記別の頂点の前記第1の3次元空間座標系における座標値を含む前記第1マーカー位置情報を算出する、請求項11に記載の点群データ変換方法。
  13.  コンピュータに、請求項11又は請求項12に記載の方法の各ステップを実行させるためのコンピュータプログラム。
PCT/JP2017/027840 2016-08-04 2017-08-01 点群データ変換システム、その方法、及びプログラム WO2018025842A1 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2016-153818 2016-08-04
JP2016153818 2016-08-04
JP2017-140062 2017-07-19
JP2017140062A JP6574461B2 (ja) 2016-08-04 2017-07-19 点群データ変換システム及びその方法

Publications (1)

Publication Number Publication Date
WO2018025842A1 true WO2018025842A1 (ja) 2018-02-08

Family

ID=61073878

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2017/027840 WO2018025842A1 (ja) 2016-08-04 2017-08-01 点群データ変換システム、その方法、及びプログラム

Country Status (1)

Country Link
WO (1) WO2018025842A1 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108734772A (zh) * 2018-05-18 2018-11-02 宁波古德软件技术有限公司 基于Kinect fusion的高精度深度图像获取方法
CN112498731A (zh) * 2020-12-15 2021-03-16 西安飞机工业(集团)有限责任公司 一种锯齿型壁板对接修配方法
CN112529097A (zh) * 2020-12-23 2021-03-19 北京百度网讯科技有限公司 样本图像生成方法、装置以及电子设备
CN112529958A (zh) * 2020-12-10 2021-03-19 神华天津煤炭码头有限责任公司 一种单激光雷达散货货船舱口位置识别方法
CN112686859A (zh) * 2020-12-30 2021-04-20 中国农业大学 基于热红外和rgb-d相机的作物cwsi的检测方法
CN114136357A (zh) * 2021-12-09 2022-03-04 易思维(杭州)科技有限公司 一种适用于面结构光传感器的测试方法及测试系统
CN114862940A (zh) * 2022-05-17 2022-08-05 浙江大华技术股份有限公司 体积的确定方法、装置、存储介质及电子装置
CN116386016A (zh) * 2023-05-22 2023-07-04 杭州睿影科技有限公司 一种异物处理方法、装置、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011523742A (ja) * 2008-05-20 2011-08-18 本田技研工業株式会社 Rgb及び奥行き計測ハイブリッドカメラセンサを使用する長方形テーブル検知
JP2012050013A (ja) * 2010-08-30 2012-03-08 Team Lab Inc 撮像装置、画像処理装置、画像処理方法及び画像処理プログラム
US20120176478A1 (en) * 2011-01-11 2012-07-12 Sen Wang Forming range maps using periodic illumination patterns
JP2013073459A (ja) * 2011-09-28 2013-04-22 Oki Electric Ind Co Ltd 画像処理装置、画像処理方法、プログラム、および画像処理システム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011523742A (ja) * 2008-05-20 2011-08-18 本田技研工業株式会社 Rgb及び奥行き計測ハイブリッドカメラセンサを使用する長方形テーブル検知
JP2012050013A (ja) * 2010-08-30 2012-03-08 Team Lab Inc 撮像装置、画像処理装置、画像処理方法及び画像処理プログラム
US20120176478A1 (en) * 2011-01-11 2012-07-12 Sen Wang Forming range maps using periodic illumination patterns
JP2013073459A (ja) * 2011-09-28 2013-04-22 Oki Electric Ind Co Ltd 画像処理装置、画像処理方法、プログラム、および画像処理システム

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108734772A (zh) * 2018-05-18 2018-11-02 宁波古德软件技术有限公司 基于Kinect fusion的高精度深度图像获取方法
CN112529958A (zh) * 2020-12-10 2021-03-19 神华天津煤炭码头有限责任公司 一种单激光雷达散货货船舱口位置识别方法
CN112529958B (zh) * 2020-12-10 2022-08-26 神华天津煤炭码头有限责任公司 一种单激光雷达散货货船舱口位置识别方法
CN112498731A (zh) * 2020-12-15 2021-03-16 西安飞机工业(集团)有限责任公司 一种锯齿型壁板对接修配方法
CN112498731B (zh) * 2020-12-15 2022-11-18 西安飞机工业(集团)有限责任公司 一种锯齿型壁板对接修配方法
CN112529097A (zh) * 2020-12-23 2021-03-19 北京百度网讯科技有限公司 样本图像生成方法、装置以及电子设备
CN112529097B (zh) * 2020-12-23 2024-03-26 北京百度网讯科技有限公司 样本图像生成方法、装置以及电子设备
CN112686859A (zh) * 2020-12-30 2021-04-20 中国农业大学 基于热红外和rgb-d相机的作物cwsi的检测方法
CN112686859B (zh) * 2020-12-30 2024-03-15 中国农业大学 基于热红外和rgb-d相机的作物cwsi的检测方法
CN114136357B (zh) * 2021-12-09 2023-06-02 易思维(杭州)科技有限公司 一种适用于面结构光传感器的测试方法及测试系统
CN114136357A (zh) * 2021-12-09 2022-03-04 易思维(杭州)科技有限公司 一种适用于面结构光传感器的测试方法及测试系统
CN114862940A (zh) * 2022-05-17 2022-08-05 浙江大华技术股份有限公司 体积的确定方法、装置、存储介质及电子装置
CN116386016A (zh) * 2023-05-22 2023-07-04 杭州睿影科技有限公司 一种异物处理方法、装置、电子设备及存储介质
CN116386016B (zh) * 2023-05-22 2023-10-10 杭州睿影科技有限公司 一种异物处理方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
JP6574461B2 (ja) 点群データ変換システム及びその方法
WO2018025842A1 (ja) 点群データ変換システム、その方法、及びプログラム
JP6940047B2 (ja) コンピュータによる鉄筋測定検査システム及び鉄筋測定検査方法
Luhmann et al. Sensor modelling and camera calibration for close-range photogrammetry
US9207069B2 (en) Device for generating a three-dimensional model based on point cloud data
CN108307675B (zh) 用于vr/ar应用中的深度增强的多基线相机阵列系统架构
EP2104365A1 (en) Method and apparatus for rapid three-dimensional restoration
EP3115741B1 (en) Position measurement device and position measurement method
US9740914B2 (en) Face location detection
CN111060023A (zh) 一种高精度3d信息采集的设备及方法
CN101821580A (zh) 用于实物形状的三维测量的系统和方法
WO2022078442A1 (zh) 一种基于光扫描和智能视觉融合的3d信息采集方法
JP2003203220A (ja) 三次元画像処理方法、三次元画像処理装置、三次元画像処理システムおよび三次元画像処理プログラム
JP2009053147A (ja) 3次元計測方法および3次元計測装置
CN102788559A (zh) 一种宽视场结构光视觉测量系统及测量方法
JP2006099188A (ja) 情報処理方法および装置
CN103196370A (zh) 一种导管接头空间位姿参数的测量方法和装置
CN106767526A (zh) 一种基于激光mems振镜投影的彩色多线激光三维测量方法
EP3916677A1 (en) Three-dimensional measurement device
CN111160136A (zh) 一种标准化3d信息采集测量方法及系统
JP2010145186A (ja) 形状測定装置およびプログラム
JP5522630B2 (ja) 三次元化装置
CN106568394A (zh) 一种手持式三维实时扫描方法
Zhang et al. Relative orientation based on multi-features
JP4821009B2 (ja) エッジ検出によるモデルマッチングを用いたカメラ校正方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17836946

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 29/05/2019)

122 Ep: pct application non-entry in european phase

Ref document number: 17836946

Country of ref document: EP

Kind code of ref document: A1