WO2019189381A1 - 移動体、制御装置、および制御プログラム - Google Patents

移動体、制御装置、および制御プログラム Download PDF

Info

Publication number
WO2019189381A1
WO2019189381A1 PCT/JP2019/013231 JP2019013231W WO2019189381A1 WO 2019189381 A1 WO2019189381 A1 WO 2019189381A1 JP 2019013231 W JP2019013231 W JP 2019013231W WO 2019189381 A1 WO2019189381 A1 WO 2019189381A1
Authority
WO
WIPO (PCT)
Prior art keywords
moving body
subject
imaging
drone
unit
Prior art date
Application number
PCT/JP2019/013231
Other languages
English (en)
French (fr)
Inventor
徹 岩岡
Original Assignee
株式会社ニコン
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社ニコン filed Critical 株式会社ニコン
Publication of WO2019189381A1 publication Critical patent/WO2019189381A1/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
    • G03PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
    • G03BAPPARATUS OR ARRANGEMENTS FOR TAKING PHOTOGRAPHS OR FOR PROJECTING OR VIEWING THEM; APPARATUS OR ARRANGEMENTS EMPLOYING ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ACCESSORIES THEREFOR
    • G03B15/00Special procedures for taking photographs; Apparatus therefor
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B64AIRCRAFT; AVIATION; COSMONAUTICS
    • B64UUNMANNED AERIAL VEHICLES [UAV]; EQUIPMENT THEREFOR
    • B64U10/00Type of UAV
    • B64U10/10Rotorcrafts
    • B64U10/13Flying platforms
    • B64U10/14Flying platforms with four distinct rotor axes, e.g. quadcopters

Definitions

  • the present invention relates to a moving object, a control device, and a control program.
  • a stereoscopic image processing system that performs stereoscopic image capturing and image processing (see Patent Document 1 below).
  • a stereo camera is mounted on the tip of an arm that is rotatably supported on a rotation axis that substantially coincides with the center position of the subject, and the arm is driven to rotate by a pulse motor.
  • the shooting process is controlled by a control system including the PC body.
  • the arm In shooting, the arm is rotated to move the stereo camera to a plurality of shooting positions, and a stereo image of the subject is shot by the stereo camera at each shooting position.
  • the stereoscopic image processing system of Patent Document 1 requires large-scale equipment.
  • the moving body disclosed in the present application is a moving body having a first imaging unit that captures an image of a subject, a detection unit that detects a position of the moving body, and a position of the moving body that is detected by the detection unit.
  • a moving control unit that moves the moving body; and an imaging control unit that causes the first imaging unit to image the subject from a plurality of different positions.
  • a control device disclosed in the present application is a control device that controls the moving body including a first imaging unit that captures an image of a subject and a detection unit that detects a position of the moving body, and is detected by the detection unit. And a movement control unit that moves the moving body based on the position of the moving body, and an imaging control unit that causes the first imaging unit to image the subject from a plurality of different positions.
  • a control program disclosed in the present application is a control program that causes a processor to execute control of a moving body having a first imaging unit that captures an image of a subject.
  • the control program is detected by causing the processor to detect the position of the moving body.
  • the moving body is moved based on the position of the moving body, and the subject is imaged by the first imaging unit from a plurality of different positions.
  • FIG. 1 is an explanatory diagram of an example of imaging by the drone according to the first embodiment.
  • FIG. 2 is a block diagram illustrating a hardware configuration example of the drone.
  • FIG. 3 is a block diagram of a functional configuration example of the drone according to the first embodiment.
  • FIG. 4 is an explanatory diagram of an example of drone movement control according to the first embodiment.
  • FIG. 5 is a flowchart of an imaging processing procedure example 1 of the subject by the drone according to the first embodiment.
  • FIG. 6 is a flowchart of the second example of the subject imaging process procedure by the drone according to the first embodiment.
  • FIG. 7 is an explanatory diagram of an example of imaging by the drone according to the second embodiment.
  • FIG. 8 is an explanatory diagram of an example of a scale on a pattern according to the second embodiment.
  • FIG. 9 is a block diagram of a functional configuration example of the drone according to the second embodiment.
  • FIG. 10 is a flowchart illustrating an example of an imaging process procedure of a subject by the drone according to the second embodiment.
  • FIG. 11 is an explanatory diagram of an example of imaging by the drone according to the third embodiment.
  • FIG. 12 is an explanatory diagram of an example of drone movement control according to the third embodiment.
  • FIG. 13 is a flowchart of an example of a subject imaging process procedure by the drone according to the third embodiment.
  • the moving body according to the first embodiment for example, captures a subject (for example, a person or an object) with a moving body equipped with a camera, and acquires three-dimensional information (three-dimensional shape and color) of the subject.
  • a subject for example, a person or an object
  • three-dimensional information three-dimensional shape and color
  • the subject can be photographed from different positions, so that no large-scale equipment is required.
  • the imaging accuracy can be improved.
  • a drone capable of floating and flying in the air will be described as an example of the moving body, but a vehicle or a robot traveling on land may be used.
  • FIG. 1 is an explanatory diagram of an example of imaging by the drone according to the first embodiment.
  • (A) is an external view which shows the imaging state by drone 100
  • (B) is the top view.
  • the drone 100 captures an image with the camera 102 facing the subject 101 while flying around the subject 101 as a center, and generates image data of the subject 101.
  • the X, Y, and Z axes of the global coordinate system GC are axes that are orthogonal to each other, the horizontal direction is defined by the X and Y axes, and the vertical direction is defined by the Z axis. Note that the negative direction of the Z-axis is defined as the direction that coincides with the gravity vector.
  • FIG. 2 is a block diagram illustrating a hardware configuration example of the drone 100.
  • the drone 100 includes a processor 201, an LSI (Large Scale Integration) 202, a storage device 203, a motor 204, a propeller 205, a communication IF (Interface) 206, a GPS (Global Positioning System) module 207, and a gyro sensor. 208, a compass 209, an altimeter 210, and a camera 102. These are communicably connected via a bus 211.
  • the processor 201 controls the drone 100.
  • the LSI 202 is an integrated circuit necessary for controlling the drone 100.
  • the LSI 202 includes, for example, a flight controller and a speed controller.
  • the flight controller controls the attitude of the drone 100 to a stable attitude based on the detection signal from the gyro sensor 208.
  • the speed controller supplies an output command value indicating the moving amount and moving direction of the drone 100 from the processor 201, the flight controller, or the terminal (not shown) to the motor 204.
  • the storage device 203 is a work area for the processor 201.
  • the storage device 203 is a non-temporary or temporary recording medium that stores various programs and data.
  • the storage device 203 holds the above-described floating positional relationship as a table.
  • Examples of the storage device 203 include ROM (Read Only Memory), RAM (Random Access Memory), HDD (Hard Disk Drive), and flash memory.
  • the motor 204 controls the rotation of the propeller 205 according to the output command value from the flight controller.
  • the propeller 205 is rotated by the motor 204 to move or float the drone 100.
  • the communication IF 206 receives a signal from a terminal or a GPS satellite and transmits the signal to the processor 201, the LSI 202, and the GPS module 207.
  • the communication IF 206 transmits a signal from the processor 201 or the LSI 202 to the terminal.
  • the GPS module 207 specifies the horizontal position (x, y) of the drone 100 based on a signal from a GPS satellite received via the communication IF 206.
  • the gyro sensor 208 detects the attitude of the drone 100 as an angular velocity.
  • the compass 209 detects the geomagnetism and identifies the direction in which the drone 100 is facing.
  • Altimeter 210 detects the altitude z of the drone 100.
  • the altimeter 210 for example, an atmospheric pressure sensor or an ultrasonic sensor is used.
  • the GPS module 207 and the altimeter 210 specify the three-dimensional position (x, y, z) of the drone 100.
  • the identified three-dimensional position (x, y, z) of the drone 100 can be represented by the global coordinate system GC.
  • the camera 102 captures an image of the subject 101 and generates image data according to an instruction from the processor 201 or the terminal. There may be a plurality of cameras 102.
  • the camera 102 can also specify the subject distance like a stereo camera or an RGBD camera.
  • the drone 100 may include a separate distance measuring sensor and specify the subject distance by the distance measuring sensor.
  • Image data generated by the camera 102 is stored in the storage device 203.
  • the processor 201 or the LSI 202 may function as an optical flow sensor.
  • the optical flow sensor is image processing that detects the apparent movement direction and the amount of movement of the subject 101 image due to the relative motion between the drone 100 and the subject 101 appearing on the camera 102. Thereby, the flight of the drone 100 can be stabilized and the subject 101 can be tracked.
  • FIG. 3 is a block diagram of a functional configuration example of the drone 100 according to the first embodiment.
  • the drone 100 includes a first imaging unit 301, a detection unit 302, an acquisition unit 303, a movement control unit 304, an imaging control unit 305, and a generation unit 306.
  • the first imaging unit 301 captures the subject 101 and generates first image data including the subject image.
  • the first imaging unit 301 is realized by the camera 102, for example.
  • the first imaging unit 301 is provided on the side surface of the drone 100, for example.
  • the first imaging unit 301 may be a camera 102 such as a stereo camera or an RGBD camera.
  • the generated first image data is 3 of each point of the subject 101 (a pixel in the image data or an area of two or more pixels) in the local coordinate system with the three-dimensional position of the drone 100 at the time of shooting as the origin. Contains dimension coordinate values. Therefore, the three-dimensional coordinate value of the subject 101 is different in the local coordinate system for each photographing.
  • the detecting unit 302 detects, for example, the three-dimensional position of the drone 100 in the global coordinate system GC with the position of the drone 100 at the start of shooting as the origin O of the global coordinate system GC. Specifically, for example, the detection unit 302 sets the three-dimensional position of the drone 100 at the start of shooting to the origin O of the global coordinate system GC.
  • the detection unit 302 may detect the actual horizontal position (latitude and longitude) of the drone 100 by the GPS module 207 at every photographing. Specifically, the detection unit 302 is realized, for example, by causing the processor 201 to execute a program stored in the storage device 203 or by the LSI 202.
  • the acquisition unit 303 acquires data from the first imaging unit 301, the rangefinder, the compass 209, and the altimeter. As described above, the detection unit 302 can detect the three-dimensional position of the drone 100 at the time of shooting in the global coordinate system GC using the GPS module 207 and the altimeter 210. Next, how to detect the three-dimensional position of the subject 101 in the global coordinate system GC will be described. For example, the acquisition unit 303 acquires a distance r between the drone 100 and the subject 101 at the time of shooting using a distance meter or the first imaging unit 301 (stereo camera or RGBD camera). As a result, the detection unit 302 knows that the subject 101 is located on a spherical surface having a radius r, with the position of the drone 100 at the time of shooting as the center.
  • the acquisition unit 303 uses the compass 209 to acquire the imaging direction of the drone 100 in the global coordinate system GC for each shooting.
  • the imaging direction is a direction in which the first imaging unit 301 of the drone 100 faces the subject 101 at the time of shooting.
  • the shooting direction may be defined in the form of a direction vector.
  • the direction vector is a vector of size 1 that faces the direction of the subject 101 starting from the position of the drone 100 at the time of shooting.
  • the detection unit 302 detects that the subject 101 is positioned at the end point of the direction vector having a size r starting from the position of the drone 100 at the time of shooting by the first imaging unit 301 or the distance meter and the compass 209. To do.
  • the detection unit 302 positions the subject 101 at a point that intersects a spherical surface with a radius r centered on the position of the drone 100 at the time of shooting. I understand that. Since the three-dimensional position of the drone 100 at the time of shooting in the global coordinate system GC is known, the detection unit 302 can detect the three-dimensional position of the subject 101 in the global coordinate system GC.
  • the detection unit 302 may detect the three-dimensional position of the drone 100 in the global coordinate system GC at the time of shooting and associate the detected position with the shot image. On the other hand, the detection unit 302 does not have to detect the three-dimensional position of the subject 101 in the global coordinate system GC for each shooting. This is because the three-dimensional position of the subject 101 in the global coordinate system GC does not change unless the subject 101 moves.
  • the detection unit 302 detects the three-dimensional position of the subject 101 in the global coordinate system GC only when the drone 100 starts imaging the subject 101 (that is, when the drone 100 captures the subject 101 from the origin O of the global coordinate system GC). May be detected. Note that the detection unit 302 may detect the three-dimensional position of the subject 101 in the global coordinate system GC for each shooting.
  • the three-dimensional position indicated by the global coordinate system GC can be converted into a three-dimensional local coordinate system with the position of the subject 101 as the origin. That is, the position of the drone 101 is expressed using the local coordinate system with the position of the subject 101 as the origin from the three-dimensional position of the subject 101 in the global coordinate system GC and the three-dimensional position of the drone 101 in the global coordinate system GC. be able to.
  • the three-dimensional position of the drone 101 shown in the local coordinate system is referred to as the position of the drone 101 with the subject 101 as a reference.
  • the movement control unit 304 moves the drone 100. Specifically, for example, the movement control unit 304 controls the movement of the drone 100 based on the three-dimensional position of the drone 100 detected by the detection unit 302. For example, the movement control unit 304 moves the drone 100 by driving the motor and rotating the propeller so that the drone 100 moves on a circular orbit around the subject 101 while maintaining the altitude of the drone 100. .
  • the movement control of the drone 100 will be specifically described.
  • FIG. 4 is an explanatory diagram of an example of movement control of the drone 100 according to the first embodiment. More specifically, this is an example of movement control for moving the drone 100 while maintaining the altitude of the drone 100.
  • FIG. 4 is a view seen from above the subject 101.
  • the local coordinate system LC is a three-dimensional coordinate system in which the position of the subject 101 is the origin OL.
  • the XL axis and the YL axis are orthogonal to each other.
  • a ZL axis (not shown) is parallel to the Z axis of the global coordinate system GC.
  • the local coordinate system LC is a coordinate system converted from the global coordinate system GC. That is, the position OL away from the origin O of the global coordinate system GC is the origin OL with the position of the subject 101 as a reference.
  • the movement control unit 304 sets the drone 100 counterclockwise by an angle ⁇ from the initial position p1 (xl1, yl1, zl1) of the local coordinate system LC to the positions p2 to p8 around the origin OL of the local coordinate system LC.
  • the motor 204 is driven to rotate the propeller so as to move.
  • the initial position p1 of the local coordinate system LC coincides with the origin O of the global coordinate system GC.
  • the angle ⁇ is, for example, a line segment connecting the origin OL (0, 0, zl1) of the local coordinate system LC and the point P1 (xl1, yl1, zl1), and the origin. This is the angle formed by the line connecting OL (0, 0, zl1) and the point P2 (xl2, yl2, zl1).
  • the movement control unit 304 uses the output data from the gyro sensor 208 to drive the propeller 205 by driving the motor 204 so that the imaging direction of the first imaging unit 301 faces the subject 101 at each position p1 to p8.
  • the attitude of the drone 100 is controlled by rotating, and the imaging direction of the first imaging unit 301 is specified using the output data from the compass 209.
  • the movement control unit 304 is realized, for example, by causing the processor 201 to execute a program stored in the storage device 203 or by the LSI 202.
  • the imaging control unit 305 controls the first imaging unit 301. Specifically, for example, when the movement control unit 304 causes the drone 100 to reach the positions p1 to p8, the imaging control unit 305 causes the first imaging unit 301 to image the subject 101 at the positions p1 to p8.
  • the imaging control unit 305 stores, in the storage device 203, image data obtained by imaging the subject 101 and position information indicating the three-dimensional position of the drone 100 that images the subject 101 in the global coordinate system GC.
  • the imaging control unit 305 is realized, for example, by causing the processor 201 to execute a program stored in the storage device 203 or by the LSI 202.
  • the generation unit 306 generates a moving path of the drone 100 that images the subject 101 based on the positions of the subject 101 and the drone 100. Specifically, for example, the generation unit 306 reads a preset movement angle ⁇ from the storage device 203, and obtains the origin O (corresponding to the position p ⁇ b> 1) that is the initial position of the moving object and the first imaging unit 301. The position of the subject 101 is specified by the distance r to the subject 101.
  • the generation unit 306 generates a movement route via the positions p1 to p8 and outputs the movement route to the movement control unit 304.
  • the movement control unit 304 controls movement of the drone 100 according to the movement route from the generation unit 306.
  • the generation unit 306 is realized, for example, by causing the processor 201 to execute a program stored in the storage device 203 or by the LSI 202.
  • the first imaging unit 301 tracks the subject 101 while maintaining the subject distance r.
  • the detection unit 302 detects a motion vector that is opposite to the movement direction from two pieces of image data continuous in the time direction from the acquisition unit 303, and the movement control unit 304 detects the subject distance. Control is performed to move a predetermined amount in the direction of the motion vector while maintaining r and the imaging direction.
  • the drone 100 moves by a predetermined distance in either the left or right horizontal direction while maintaining the subject distance.
  • the detection part 302 specifies the tracking target (for example, face) in the movement destination of the drone 100.
  • FIG. Specifically, for example, the detection unit 302 compares the previous image data with the tracking target at the movement destination using the template as the template. If the comparison result is within the allowable range, tracking is successful, and the movement control unit 304 continues the movement control.
  • the detection unit 302 compares the tracking target at the movement destination with the tracking target at the initial position of the drone 100, and if the comparison result is within the allowable range, the drone 100 has returned to the initial position.
  • the movement control unit 304 ends the movement control. Thereby, the imaging control unit 305 stops imaging by the first imaging unit 301.
  • the imaging control unit 305 has been described as causing the first imaging unit 301 to image the subject 101 at the positions p1 to p8 when the drone 100 reaches the positions p1 to p8 by the movement control unit 304.
  • Imaging may be performed from an arbitrary position.
  • a subject for example, a person or an object
  • three-dimensional information three-dimensional shape and color
  • an image captured from around the subject is required.
  • the position does not necessarily have to be a predetermined distance r from the subject 101.
  • the imaging positions do not need to be equally spaced (such as the angle ⁇ ). If the imaging position (for example, the coordinates of the drone 100 in the local coordinate system LC) at which the subject is captured can be specified, the image can be captured from an arbitrary position.
  • FIG. 5 is a flowchart of an imaging processing procedure example 1 of the subject 101 by the drone 100 according to the first embodiment.
  • An imaging process procedure example 1 for the subject 101 is an example of an imaging process procedure when a movement route is generated.
  • the drone 100 acquires the distance r to the subject 101 and the imaging direction using the acquisition unit 303 (step S501), and detects the initial position serving as the origin of the global coordinate system GC using the detection unit 302 (step S502). Next, the drone 100 generates a movement path by the generation unit 306 (step S503), and images the subject 101 at the current position using the first imaging unit 301 under the control of the imaging control unit 305 (step S504). .
  • the drone 100 moves to the next position on the movement route by the movement control unit 304 (step S505), and determines whether the imaging end condition is satisfied (step S506).
  • the imaging end condition is a condition that all the positions p1 to p8 on the movement route are passed.
  • step S506: No the process returns to step S504.
  • step S506: Yes the drone 100 ends the imaging process of the subject 101.
  • FIG. 6 is a flowchart of an imaging process procedure example 2 of the subject 101 by the drone 100 according to the first embodiment.
  • An imaging process procedure example 2 of the subject 101 is an example of an imaging process procedure when a movement route is not generated.
  • the drone 100 acquires the distance r to the subject 101 and the imaging direction by the acquisition unit 303 (step S601), and detects the initial position p1 that is the origin of the global coordinate system GC by the detection unit 302 (step S602). Next, the drone 100 images the subject 101 at the current position using the first imaging unit 301 under the control of the imaging control unit 305 (step S603), and maintains the subject distance under the control of the movement control unit 304. Move a predetermined amount in the horizontal direction (step S604).
  • the drone 100 determines whether the first imaging unit 301 has succeeded in tracking the subject 101 by the detection unit 302 (step S605). When it fails (step S605: No), the drone 100 ends the imaging process. On the other hand, if successful (step S605: Yes), the drone 100 determines whether or not the imaging end condition is satisfied (step S606).
  • the imaging completion satisfaction condition is a condition that the drone 100 returns to the initial position p1.
  • the imaging end condition is not satisfied (step S606: No)
  • the process returns to step S603.
  • the imaging end condition is satisfied (step S606: Yes)
  • the drone 100 ends the imaging process of the subject 101.
  • the imaging end satisfaction condition may not be a condition that the drone 100 returns to the initial position p1, but may be a condition that an image captured from around the subject 101 is obtained. That is, when a predetermined number of images are acquired, it may be determined that the imaging end condition is satisfied.
  • the three-dimensional information of the subject 101 can be acquired by one drone 100.
  • the subject 101 can be imaged from a plurality of positions on the movement route, and three-dimensional information can be acquired efficiently.
  • the subject 101 since the subject 101 is imaged from a plurality of positions by subject tracking, it is not necessary to generate a movement route, so that the imaging efficiency can be improved.
  • the three-dimensional position information of the drone 100 is acquired using the GPS module 207 and the altimeter 210, but instead, three-dimensional using SLAM (Simultaneous Localization and Mapping). You may make it acquire position information.
  • SLAM is a technology that simultaneously performs self-position estimation and map creation of the drone 100 using information acquired from various sensors. The drone 100 may estimate its own three-dimensional position by SLAM and create a map while correcting the three-dimensional position.
  • Example 2 a concentric pattern is provided on the floor surface, and position detection and flight control are performed using an image acquired by imaging the pattern from the drone 101.
  • symbol is attached
  • FIG. 7 is an explanatory diagram of an example of imaging by the drone 100 according to the second embodiment.
  • (A) is an external view which shows the imaging
  • (B) is the top view.
  • the drone 100 flies around the subject 101 while photographing the subject 101.
  • a concentric pattern 700 is provided on the floor on which the subject 101 is located. The pattern is displayed on the floor or a sheet laid on the floor. The subject 101 is located at the center of a concentric circle.
  • FIG. 8 is an explanatory diagram of an example of a scale on a pattern according to the second embodiment.
  • the pattern has a plurality (for example, five) of concentric circles 801 to 805.
  • an arbitrary concentric circle is expressed as 80i (i is an integer of 1 ⁇ i ⁇ N.
  • I represents the subject distance.
  • A5 is a position separated by 5 scales in front of the subject 101.
  • the distance between the concentric circles 80i in the radial direction is constant.
  • the concentric circle 80i has a plurality of (for example, eight) scales Ai, Bi, Ci, Di, Ei, Fi, Gi, and Hi arranged on the circumference at equal intervals in the circumferential direction.
  • the scales Ai, Bi, Ci, Di, Ei, Fi, Gi include characters, figures, symbols, or any combination thereof.
  • the scales Ai, Bi, Ci, Di, Ei, Fi, Gi are different symbols.
  • the scale A3 of the concentric circle 803 is a symbol having no regularity different from the other scales B3, C3, D3, E3, F3, G3, and H3, and in particular, the scale A3. Is a symbol indicating the starting point of the drone 100.
  • the scales of the concentric circles 801, 802, 804, and 805 are omitted, and may be written in the same manner as the concentric circles 803.
  • FIG. 9 is a block diagram of a functional configuration example of the drone 100 according to the second embodiment.
  • the drone 100 includes a first imaging unit 301, a detection unit 302, a movement control unit 304, an imaging control unit 305, an acquisition unit 303, and a second imaging unit 901.
  • the second imaging unit 901 is realized by the camera 102, for example.
  • the second imaging unit 901 is installed on the bottom surface of the drone 100, for example, and images the lower part of the drone 100 while floating to generate second image data.
  • the second image data includes pattern image data.
  • the second imaging unit 901 may be a camera 102 such as a stereo camera or an RGBD camera.
  • the drone 100 moves so that the horizontal position (x, y) becomes the symbol position while maintaining the height in the Z direction at a constant height. That is, the flight control is performed so that the drone 100 is positioned directly above the symbol displayed on the floor surface.
  • the movement control unit 304 controls the flight of the drone 100 so that the symbol comes to the center of the second image data captured by the second imaging unit 901.
  • the drone 100 images the subject 101 in the imaging direction in which the first imaging unit 301 faces the subject 101 after the position is detected (after moving to a predetermined altitude above the symbol). Since the subject 101 is located at the center of the concentric circle, the movement control unit 304 can specify the direction in which the subject is located from the arc of the second image data captured by the second imaging unit 901. Specifically, the movement control unit 304 uses the normal direction at the symbol position, the altitude from the floor surface, and the subject distance (i: a value indicating how many scales the concentric circles are away from the subject). The imaging direction facing the subject 101 is specified.
  • the drone 100 can control the flight using the altimeter 210 so as to maintain a predetermined altitude. Further, flight control can be performed so as to maintain a predetermined altitude from the size of the circle in the image of the second image data captured by the second imaging unit 901 or the radial interval of the concentric circle 80i. As the altitude increases, the size of the circle in the image decreases (or the radial interval decreases), so the drone 100 can recognize the altitude using the second image data captured by the second imaging unit 901. it can.
  • FIG. 10 is a flowchart illustrating an example of an imaging process procedure of the subject 101 by the drone 100 according to the second embodiment.
  • the drone 100 moves above the symbol A3, which is the initial position, using the second image data captured by the second imaging unit 901 (step S1001).
  • the drone 100 images the subject 101 at the current position using the first imaging unit 301 under the control of the imaging control unit 305 (step S1002), and moves to the next position to be routed by the movement control unit 304. (Step S1003). Then, it is determined whether or not the imaging end condition is satisfied (step S1004).
  • the imaging end condition is a condition that all positions of symbols on the map information (for example, A3 to H3) are passed.
  • step S1004: NO If the imaging end condition is not satisfied (step S1004: NO), the process returns to step S1002. On the other hand, when the imaging end condition is satisfied (step S1004: Yes), the drone 100 ends the imaging process of the subject 101.
  • the drone 100 can be used alone, for example, even in a place where the GPS signal reception sensitivity by the GPS module 207 is poor, such as indoors.
  • Three-dimensional information of the subject 101 can be collected.
  • the pattern has a plurality of concentric circles, and the user may determine which concentric circles are to be imaged by the second imaging unit 901 according to the distance from the subject 101.
  • the drone 100 does not capture the subject 101 while flying around the subject 101 as in the first embodiment, but captures the subject 101 while flying on a virtual plane facing the subject 101. It is an example. Thereby, parallax image data for each imaging position of the drone 100 is obtained.
  • Example 3 the drone 100 is operated like a light field camera.
  • symbol is attached
  • FIG. 11 is an explanatory diagram of an example of imaging by the drone 100 according to the third embodiment.
  • (A) is an external view which shows the imaging state by drone 100
  • (B) is the top view.
  • the drone 100 captures an image with the camera 102 facing the subject 101 while flying on the virtual plane 1100 facing the subject 101, and generates parallax image data of the subject 101.
  • an initial position at which the drone 100 starts imaging the subject 101 is an origin O of the global coordinate system GC.
  • the global coordinate system GC is a coordinate system that serves as a reference for the three-dimensional information of the subject 101 obtained from the parallax image data of the subject 101.
  • the X, Y, and Z axes are orthogonal to each other, the horizontal direction is defined by the X axis and the Y axis, and the vertical direction is defined by the Z axis.
  • FIG. 12 is an explanatory diagram of an example of movement control of the drone 100 according to the third embodiment.
  • the route indicated by the thick arrow is the moving route of the drone 100.
  • the position pij (xij, zij) is a position where the subject 101 is imaged on the virtual plane 1100 facing the subject 101, and the Y coordinate value is the same.
  • i is an integer satisfying 1 ⁇ i ⁇ m
  • j is an integer satisfying 1 ⁇ j ⁇ n.
  • the position p11 (x11, z11) is the initial position of the drone 100, and is the origin O of the global coordinate system GC.
  • the right direction is the + X direction
  • the left direction is the -X direction.
  • the lower direction is the + Z direction
  • the upper direction is the -Z direction. Note that the movement interval from the position pij to the next position pi (j + 1) is set in advance.
  • the drone 100 tracks the subject 101 from the initial position p11 by the first imaging unit 301, that is, moves the control unit while controlling the posture by the gyro sensor 208 and the LSI 202 so that the imaging direction of the first imaging unit 301 is directed toward the subject 101.
  • a predetermined distance is moved in the + X direction by 304, and the parallax image data at the position p1j is acquired by the first imaging unit 301 by the imaging control unit 305 and stored in the storage device 203.
  • the drone 100 stops moving in the + X direction by the movement control unit 304, descends a predetermined distance in the + Z direction, and moves the subject 101 at the position p2n.
  • the first imaging unit 301 tracks the subject 101 from the position p2n and moves it by a predetermined distance in the ⁇ X direction, and the imaging control unit 305 acquires parallax image data at the position p2j by the first imaging unit 301.
  • Such movement and imaging are repeated, and imaging of the subject 101 is terminated when the position pmn that satisfies the imaging termination condition is reached.
  • m ⁇ n parallax image data of the subject 101 captured at positions p11 to pmn are generated.
  • the drone 100 determines whether or not the drone 100 is located in front of the subject 101 by detecting the face image of the subject 101 by the detection unit 302, for example.
  • the drone 100 refers to the face image of the subject 101 by detecting the face by the detection unit 302 and, for example, a part constituting the face (for example, the center line of the face passing through the nose) (for example, It is determined whether the drone 100 is located in front of the subject 101 by comparing the sizes of both eyes.
  • the position pij of the drone 100 is determined to be the left end 1201 side of the virtual plane 1100. If the right eye is larger than the left eye, the position pij of the drone 100 is the right end 1202 side of the virtual plane 1100. It is judged. If the difference in size between the eyes is within the allowable range, the position ij of the drone 100 is determined to be the front of the subject 101.
  • the drone 100 moves in the + X direction from the position pi1 of the left end 1201
  • the drone 100 reaches the front position pij of the subject 101 from the position pi1 (hereinafter, front position pif)
  • the drone 100 is moved from the position pi1 to the front position by the detection unit 302.
  • the moving distance to pif is detected.
  • the drone 100 can obtain the moving speed from the moving time and moving speed from the position pi1 to the front position pif by the detecting unit 302.
  • the square root of the value obtained by subtracting the square of the subject distance from the front position pif from the square of the subject distance from the position pi1 may be used as the movement distance.
  • the drone 100 moves in the + X direction from the front position pif by the detected movement distance, the drone 100 determines that the position pin of the right end 1202 has been reached, and the movement control unit 304 moves down by a predetermined distance in the + Z direction.
  • the drone 100 is lowered by a predetermined distance in the + Z direction by the movement control unit 304 at the position pi1 of the left end 1201. Can do.
  • the distance in the X direction is set in advance, every time the drone 100 reaches the position pin, pi1 by the movement in the X direction regardless of the face direction of the subject 101, the distance decreases by a predetermined distance in the + Z direction. do it.
  • the drone 100 when the drone 100 moves in the + X direction from the initial position p11 of the left end 1201 by the movement control unit 304 and reaches the position p1n of the right end 1202, the number n of imaging positions is determined. Accordingly, the drone 100 can calculate the descending distance when turning back in the X direction by dividing the height in the Z direction at the position p1j by the number n of the imaging positions.
  • the drone 100 may end the imaging and movement.
  • the example of the movement control in which the drone 100 moves in the X direction and moves down in the + Z direction when reaching the left end 1201 or the right end 1202 has been described.
  • the movement control may be performed such that the movement increases in the ⁇ Z direction when reaching.
  • the example of movement control in which the drone 100 moves in the X direction and reaches the left end 1201 or the right end 1202 is described to move down in the + Z direction.
  • the movement may be controlled so as to move a predetermined amount in the + X direction.
  • the drone 100 may perform movement control so that the subject distance is the same distance at each position pij.
  • FIG. 13 is a flowchart illustrating an example of an imaging process procedure of the subject 101 by the drone 100 according to the third embodiment.
  • the imaging process procedure example of the subject 101 is an imaging process procedure example when a movement route is not generated. 12 is the same as that in FIG. 5 except that the moving route is different, and the description thereof will be omitted. Further, in FIG. 13, an example will be described in which a movement is made in the + X direction from the initial position p11, a drop is made in the + Z direction at the position p1n of the right end 1202, and a movement is made in the ⁇ X direction.
  • the drone 100 detects the initial position p11 that is the origin of the global coordinate system GC by the detection unit 302 (step S1301). Next, the drone 100 moves by a predetermined distance in the + X direction from the initial position p11 under the control of the movement control unit 304, and images the subject 101 (step S1302).
  • step S1303 determines whether or not the position of the right end 1202 has been reached. If the position of the right end 1202 has not been reached (step S1303: No), the process returns to step S1302. On the other hand, if the position of the right end 1202 has been reached (step S1303: Yes), the drone 100 determines whether or not it can descend in the + Z direction (step S1304). If it is not possible to descend (step S1304: No), the drone 100 ends the imaging process of the subject 101.
  • step S1304 when it is possible to descend (step S1304: Yes), the drone 100 descends a predetermined distance in the + Z direction from the position of the right end 1202 (step S1305), and the drone 100 is controlled to the initial position p11 by the control of the movement control unit 304. Is moved a predetermined distance in the + X direction, and the subject 101 is imaged (step S1306). Then, the drone 100 determines whether or not the position of the left end 1201 has been reached (step S1307). If the position of the left end 1201 has not been reached (step S1307: No), the process returns to step S1306.
  • step S1307: Yes the drone 100 determines whether or not it can be lowered in the + Z direction (step S1308). If it is not possible to descend (step S1308: No), the drone 100 ends the imaging process of the subject 101. On the other hand, if it is possible to descend (step S1308: Yes), the drone 100 descends a predetermined distance in the + Z direction from the position of the left end 1201 (step S1309), and returns to step S1302.
  • the parallax image data group of the subject 101 can be acquired by one drone 100.
  • the subject 101 can be imaged from a plurality of positions on the movement route, and a parallax image data group can be efficiently acquired.
  • by imaging the subject 101 from a plurality of positions by subject tracking it is not necessary to generate a movement route, and the imaging efficiency of the parallax image data group can be improved.
  • the parallax image data group obtained in each of the first to third embodiments described above is stored in a computer (not shown) having an image processing function, for example.
  • the computer can generate a refocus image by synthesizing the parallax image data group by image processing. Accordingly, it is possible to generate an image in which the in-focus position is changed after the drone 100 has captured the subject 101.
  • the image captured by the drone 100 is associated with position information indicating the captured position.
  • the position information may be stored as one of the EXIF information of the image data.
  • the position information is shown as a coordinate position in the global coordinate system GC, for example.
  • Three-dimensional information having the shape and texture of the subject can be generated from the camera position information and the image obtained by capturing the subject using, for example, a known method disclosed in Japanese Patent Application Laid-Open No. 2010-109783.
  • the generation of the three-dimensional information of the subject 101 may be performed by a computer (not shown) having an image processing function, or may be performed by the drone 100.
  • the drone 100 includes the first imaging unit 301 that images the subject 101, the detection unit 302 that detects the position of the drone 100, and the drone 100 detected by the detection unit 302.
  • the movement control unit 304 that moves the drone 100 based on the position of the first imaging unit 301 and the imaging control unit 305 that causes the first imaging unit 301 to image the drone 100 from a plurality of different positions. This eliminates the need for large-scale equipment and allows the subject to be easily imaged from a plurality of directions.
  • the drone 100 has an acquisition unit 303 that acquires the distance to the subject 101 and the direction of the drone 100 relative to the subject 101, and the detection unit 302 is acquired by the acquisition unit 303. Based on the distance to the subject 101 and the direction of the drone 100 relative to the subject 101, the position of the drone 100 is detected. Thereby, the position of the drone 100 itself can be detected based on the subject distance and direction acquired by the drone 100, and the subject imaging can be automated simply and autonomously from a plurality of positions.
  • the drone 100 includes a second imaging unit 901 that images information on the floor where the subject 101 is located, and the detection unit 302 is captured by the second imaging unit 901. The position of the drone 100 is detected based on the information. As described above, by using the information on the floor surface, the position detection of the drone 100 can be realized easily and with high accuracy, and the high accuracy of the three-dimensional information obtained by subject imaging can be achieved.
  • the drone 100 detects the position of the drone 100 based on the pattern having no regularity imaged by the second imaging unit 901.
  • the second imaging unit 901 can obtain image data of different floor surfaces for each position of the drone 100, and the position detection of the drone 100 can be performed more easily than when similar image data is obtained at different positions. Accuracy can be improved.
  • the drone 100 is configured such that the information captured by the second imaging unit 901 is a figure indicating a circle centered on the position of the subject 101, and the detection unit 302 performs the second imaging. Based on the arc of the circle imaged by the unit 901, the direction of the drone 100 relative to the subject 101 is detected. Thereby, the drone 100 can move around the subject and image the subject, and can acquire the three-dimensional information of the subject with high accuracy.
  • the information captured by the second imaging unit 901 is a figure indicating a plurality of concentric circles centered on the position of the subject 101
  • the detection unit 302 includes a plurality of detection units 302.
  • the distance to the subject 101 is detected based on a specific circle imaged by the second imaging unit 901. Thereby, even when the drone 100 cannot measure the subject distance by the first imaging unit 301, for example, the subject distance can be detected.
  • the information imaged by the second imaging unit 901 is a figure indicating a circle centered on the position of the subject 101, and a plurality of information is provided on the circumference of the circle.
  • the detection unit 302 has a symbol (for example, a scale), and detects the position of the drone 100 based on the symbol imaged by the second imaging unit 901. Thereby, the estimation of the position of the drone 100 itself can be facilitated.
  • the information captured by the second imaging unit 901 is a figure indicating a circle centered on the position of the subject 101, and there are a plurality of types on the circumference of the circle.
  • the detection unit detects the position of the drone 100 based on the type of symbol (for example, a scale) imaged by the second imaging unit 901. Accordingly, the second imaging unit 901 can obtain image data including different symbols for each position of the drone 100, and the position of the drone 100 can be obtained as compared with the case where image data including similar symbols is obtained at different positions. The detection accuracy can be improved.
  • the movement control unit 304 of the drone 100 moves the drone 100 along the circumference of the circle.
  • the subject 101 located at the center of the circle can be imaged from a plurality of positions on the circumference at the same subject distance, and the accuracy of the three-dimensional information obtained from the captured image data group can be improved. . That is, enlargement or reduction between image data is not necessary, and subsequent handling becomes easy.
  • the drone 100 images the information on the floor where the subject 101 is located in the first imaging unit 301, and the detection unit 302 is imaged by the first imaging unit 301. Based on the information, the position of the drone 100 is detected. Thereby, since the image pick-up by the 1st image pick-up part 301 and the image pick-up by the 2nd image pick-up part 901 are performed by one image pick-up part, the number of parts can be decreased and the drone 100 can be reduced in weight. Further, the power consumption required for flying and floating can be reduced by weight reduction.
  • the detection unit 302 of the drone 100 detects the subject 101 and the position when the drone 100 moves while the first imaging unit 301 tracks the subject 101. Thereby, the drone 100 can move while tracking the subject 101 sequentially, and can image the subject from a plurality of positions without recognizing the movement path.
  • the drone 100 includes a generation unit 306 that generates a movement path of the drone 100 that images the subject 101 based on the subject 101 and the position of the drone 100, and the movement control unit 304. Moves the drone 100 according to the movement route generated by the generation unit 306.
  • the drone 100 can recognize the movement path in advance and can stabilize the movement at the time of shooting the subject, thereby improving the accuracy of the image data and three-dimensional information of the subject. it can.
  • the imaging control unit 305 of the drone 100 stores the image obtained by imaging the subject 101 and the position of the drone 100 that images the subject 101. Thereby, the drone 100 can hold
  • the imaging control unit 305 of the drone 100 causes the subject 101 to be imaged from a plurality of different positions around the subject 101. Thereby, image data obtained by viewing the subject from various directions can be obtained, and the three-dimensional information of the subject can be comprehensively acquired.
  • the movement control unit 304 of the drone 100 moves the drone 100 so that the moving path of the drone 100 becomes a surface facing the subject 101. Thereby, a plurality of parallax image data for the subject 101 can be obtained by one drone 100.
  • the detection unit 302 of the drone 100 detects the moving direction of the drone 100 based on the captured image from the first imaging unit 301, and the movement control unit 304 detects the detection unit 302.
  • the drone 100 is moved in the movement direction detected by. Thereby, the drone 100 can autonomously determine the movement range for acquiring the parallax image data group, and the acquisition efficiency of the parallax image data group can be improved.
  • the detection unit 302 of the drone 100 detects the position of the drone 100 with the subject 101 as a reference. That is, the position of the drone 100 can be detected using a three-dimensional local coordinate system LC with the position of the subject 101 as the origin OL.
  • the drone 100 is configured to include the movement control unit 304 and the imaging control unit 305
  • the movement control unit 304 and the imaging control unit 305 are computers that can communicate with the drone 100 ( A control device (not shown) may have.
  • the computer may cause the processor in the computer to execute the control of the movement control unit 304 and the imaging control unit 305.

Abstract

移動体は、被写体を撮像する第1撮像部を有する移動体であって、前記移動体の位置を検出する検出部と、前記検出部によって検出された前記移動体の位置に基づいて、前記移動体を移動させる移動制御部と、複数の異なる位置から前記被写体を前記第1撮像部に撮像させる撮像制御部と、を有する。

Description

移動体、制御装置、および制御プログラム 参照による取り込み
 本出願は、平成30年(2018年)3月30日に出願された日本出願である特願2018-67855の優先権を主張し、その内容を参照することにより、本出願に取り込む。
 本発明は、移動体、制御装置、および制御プログラムに関する。
 従来、立体画像撮影および画像処理を行う立体画像処理システムがある(下記特許文献1を参照)。この立体画像処理システムは、被写体の中心位置とほぼ一致した回転軸上に回動支持されたアームの先端にステレオカメラを装着し、パルスモータによりアームを回転駆動し、アームの回転駆動およびステレオカメラの撮影処理はPC本体を含む制御システムにより制御し、撮影においては、アームを回動させてステレオカメラを複数の撮影位置に移動させ、各撮影位置においてステレオカメラにより被写体のステレオ画像を撮影させる。しかしながら、特許文献1の立体画像処理システムは大掛かりな設備が必要である。
特開2005-338977号公報
 本願において開示される移動体は、被写体を撮像する第1撮像部を有する移動体であって、前記移動体の位置を検出する検出部と、前記検出部によって検出された前記移動体の位置に基づいて、前記移動体を移動させる移動制御部と、複数の異なる位置から前記被写体を前記第1撮像部に撮像させる撮像制御部と、を有する。
 本願において開示される制御装置は、被写体を撮像する第1撮像部と、移動体の位置を検出する検出部と、を有する前記移動体を制御する制御装置であって、前記検出部によって検出された前記移動体の位置に基づいて、前記移動体を移動させる移動制御部と、複数の異なる位置から前記被写体を前記第1撮像部に撮像させる撮像制御部と、を有する。
 本願において開示される制御プログラムは、被写体を撮像する第1撮像部を有する移動体の制御をプロセッサに実行させる制御プログラムであって、前記プロセッサに、前記移動体の位置を検出させ、検出された前記移動体の位置に基づいて、前記移動体を移動させ、複数の異なる位置から前記被写体を前記第1撮像部に撮像させる。
図1は、実施例1にかかるドローンによる撮像例を示す説明図である。 図2は、ドローンのハードウェア構成例を示すブロック図である。 図3は、実施例1にかかるドローンの機能的構成例を示すブロック図である。 図4は、実施例1にかかるドローンの移動制御例を示す説明図である。 図5は、実施例1にかかるドローンによる被写体の撮像処理手順例1を示すフローチャートである。 図6は、実施例1にかかるドローンによる被写体の撮像処理手順例2を示すフローチャートである。 図7は、実施例2にかかるドローンによる撮像例を示す説明図である。 図8は、実施例2にかかるパターン上の目盛の例を示す説明図である。 図9は、実施例2にかかるドローンの機能的構成例を示すブロック図である。 図10は、実施例2にかかるドローンによる被写体の撮像処理手順例を示すフローチャートである。 図11は、実施例3にかかるドローンによる撮像例を示す説明図である。 図12は、実施例3にかかるドローンの移動制御例を示す説明図である。 図13は、実施例3にかかるドローンによる被写体の撮像処理手順例を示すフローチャートである。
 実施例1にかかる移動体は、たとえば、カメラを搭載した移動体で被写体(たとえば、人または物)を撮像して、被写体の3次元情報(3次元形状および色)を取得する。移動体が移動することにより、異なる位置から被写体を撮影することができるので、大掛かりな設備が不要である。また、撮像精度の向上を図ることができる。本実施例では、移動体として、空中を浮遊、飛行可能なドローンを例に挙げて説明するが、陸上を走行する車両やロボットでもよい。
 <ドローンによる撮像例>
 図1は、実施例1にかかるドローンによる撮像例を示す説明図である。(A)は、ドローン100による撮像状態を示す外観図であり、(B)は、その平面図である。ドローン100は、被写体101を中心としてその周囲を飛行しながら、被写体101にカメラ102を向けて撮像し、被写体101の画像データを生成する。
 なお、ドローン100が被写体101の撮像を開始する初期位置を、グローバル座標系GCの原点Oとする。グローバル座標系GCのX軸、Y軸、Z軸は互いに直交しあう軸であり、X軸およびY軸により水平方向が規定され、Z軸により鉛直方向が規定される。なお、Z軸の負方向を重力ベクトルと一致する方向として定める。
 <ドローン100のハードウェア構成例>
 図2は、ドローン100のハードウェア構成例を示すブロック図である。ドローン100は、プロセッサ201と、LSI(Large Scale Integration)202と、記憶デバイス203と、モータ204と、プロペラ205と、通信IF(Interface)206と、GPS(Global Positioning System)モジュール207と、ジャイロセンサ208と、コンパス209と、高度計210と、カメラ102と、を有する。これらは、バス211により通信可能に接続されている。
 プロセッサ201は、ドローン100を制御する。LSI202は、ドローン100の制御に必要な集積回路である。LSI202は、たとえば、フライトコントローラと、スピードコントローラと、を含む。フライトコントローラは、ジャイロセンサ208からの検出信号によりドローン100の姿勢を安定な姿勢となるよう制御する。スピードコントローラは、プロセッサ201、フライトコントローラ、または端末(不図示)からのドローン100の移動量および移動方向を示す出力指令値を、モータ204に供給する。
 記憶デバイス203は、プロセッサ201の作業エリアとなる。また、記憶デバイス203は、各種プログラムやデータを記憶する非一時的なまたは一時的な記録媒体である。記憶デバイス203は、たとえば、上述した浮遊位置関係をテーブルとして保持する。記憶デバイス203としては、たとえば、ROM(Read Only Memory)、RAM(Random Access Memory)、HDD(Hard Disk Drive)、フラッシュメモリがある。
 モータ204は、フライトコントローラからの出力指令値により、プロペラ205を回転制御する。プロペラ205は、モータ204により回転し、ドローン100を移動または浮遊させる。
 通信IF206は、端末やGPS衛星からの信号を受信して、プロセッサ201やLSI202、GPSモジュール207に送信する。また、通信IF206は、プロセッサ201またはLSI202からの信号を端末に送信する。
 GPSモジュール207は、通信IF206を介して受信したGPS衛星からの信号により、ドローン100の水平位置(x,y)を特定する。ジャイロセンサ208は、ドローン100の姿勢を角速度として検出する。コンパス209は、地磁気を検出して、ドローン100が向いている方向を特定する。
 高度計210は、ドローン100の高度zを検出する。高度計210としては、たとえば、気圧センサや超音波センサが用いられる。GPSモジュール207と高度計210とにより、ドローン100の3次元位置(x,y,z)が特定される。特定されたドローン100の3次元位置(x,y,z)は、グローバル座標系GCで表すことができる。カメラ102は、プロセッサ201または端末からの指示により、被写体101を撮像して、画像データを生成する。カメラ102は、複数台あってもよい。カメラ102は、ステレオカメラやRGBDカメラのように被写体距離を特定することもできる。
 なお、ドローン100は、別途測距センサを備え、測距センサにより被写体距離を特定してもよい。カメラ102によって生成された画像データは、記憶デバイス203に保存される。
 また、プロセッサ201またはLSI202は、オプティカルフローセンサとして機能してもよい。オプティカルフローセンサは、ドローン100とカメラ102に映っている被写体101との間の相対運動による被写体101画像の見かけの動きの方向と移動量とを検出する画像処理である。これにより、ドローン100の飛行を安定させたり、被写体101の追跡が可能となる。
 <ドローン100の機能的構成例>
 図3は、実施例1にかかるドローン100の機能的構成例を示すブロック図である。ドローン100は、第1撮像部301と、検出部302と、取得部303と、移動制御部304と、撮像制御部305と、生成部306と、を有する。
 第1撮像部301は、被写体101を撮像して被写体像を含む第1画像データを生成する。第1撮像部301は、具体的には、たとえば、カメラ102により実現される。第1撮像部301は、たとえば、ドローン100の側面に設けられる。また、第1撮像部301は、ステレオカメラまたはRGBDカメラのようなカメラ102であってもよい。この場合、生成された第1画像データは、撮影時のドローン100の3次元位置を原点とするローカル座標系における被写体101の各点(画像データ中の画素または2以上の画素の領域)の3次元座標値を含む。したがって、被写体101の3次元座標値は、撮影ごとにローカル座標系が異なる。
 検出部302は、たとえば、撮影開始時のドローン100の位置をグローバル座標系GCの原点Oとし、グローバル座標系GCにおけるドローン100の3次元位置を検出する。具体的には、たとえば、検出部302は、撮影開始時におけるドローン100の3次元位置をグローバル座標系GCの原点Oに設定する。
 なお、検出部302は、GPSモジュール207により、撮影時ごとにドローン100の実際の水平位置(緯度および経度)を検出してもよい。検出部302は、具体的には、たとえば、記憶デバイス203に記憶されたプログラムをプロセッサ201に実行させることにより、または、LSI202により、実現される。
 取得部303は、第1撮像部301、測距計、コンパス209および高度計からのデータを取得する。上述したように、検出部302は、GPSモジュール207と高度計210とにより、グローバル座標系GCにおける撮影時のドローン100の3次元位置を検出することができる。つぎに、グローバル座標系GCにおける被写体101の3次元位置の検出の仕方について説明する。たとえば、取得部303は、測距計または第1撮像部301(ステレオカメラまたはRGBDカメラ)により、撮影時におけるドローン100と被写体101との間の距離rを取得する。これにより、検出部302は、撮影時におけるドローン100の位置を中心として、半径rの球面上に被写体101が位置することがわかる。
 また、取得部303は、コンパス209により、撮影時毎にグローバル座標系GCにおけるドローン100の撮像方向を取得する。撮像方向は、撮影時にドローン100の第1撮像部301が被写体101に向いている方向となる。
 撮影方向は、方向ベクトルという形式で定義してもよい。方向ベクトルとは、撮影時におけるドローン100の位置を始点として被写体101の方向を向いた大きさ1のベクトルである。検出部302は、第1撮像部301または測距計とコンパス209とにより、撮影時におけるドローン100の位置を始点として大きさがrの方向ベクトルの終点に被写体101が位置していることを検出する。
 また、検出部302は、撮影時におけるドローン100の位置から方向ベクトルをベクトル方向に伸ばした際、撮影時におけるドローン100の位置を中心とした半径rの球面と交差する点に被写体101が位置することがわかる。グローバル座標系GCにおける撮影時のドローン100の3次元位置は既知であるので、検出部302は、グローバル座標系GCにおける被写体101の3次元位置を検出することができる。
 なお、検出部302は、撮影時ごとにグローバル座標系GCにおけるドローン100の3次元位置を検出し、撮影した画像と関連づけるようにしてもよい。一方、検出部302は、撮影時ごとにグローバル座標系GCにおける被写体101の3次元位置を検出しなくてもよい。被写体101が移動しない限り、グローバル座標系GCにおける被写体101の3次元位置は変化しないからである。
 検出部302は、ドローン100が被写体101の撮像を開始する初回(すなわち、ドローン100がグローバル座標系GCの原点Oから被写体101を撮影する場合)のみ、グローバル座標系GCにおける被写体101の3次元位置を検出すればよい。なお、検出部302は、撮影時ごとにグローバル座標系GCにおける被写体101の3次元位置を検出してもよい。
 グローバル座標系GCで示される3次元位置は、被写体101の位置を原点とした3次元のローカル座標系に変換することができる。すなわち、グローバル座標系GCにおける被写体101の3次元位置と、グローバル座標系GCにおけるドローン101の3次元位置とから、被写体101の位置を原点としたローカル座標系を用いてドローン101の位置を表現することができる。上記ローカル座標系で示されるドローン101の3次元位置は、被写体101を基準としたドローン101の位置と呼ぶ。
 移動制御部304は、ドローン100を移動させる。具体的には、たとえば、移動制御部304は、検出部302によって検出されたドローン100の3次元位置に基づいて、ドローン100の移動を制御する。たとえば、移動制御部304は、ドローン100の高度を維持した状態で被写体101を中心とする円の軌道上を移動するように、モータを駆動させ、プロペラを回転させることで、ドローン100を移動させる。ここで、ドローン100の移動制御について具体的に説明する。
 図4は、実施例1にかかるドローン100の移動制御例を示す説明図である。より具体的には、ドローン100の高度を維持した状態でドローン100を移動させる移動制御例である。図4は、被写体101の上方から見た図となる。ローカル座標系LCは、被写体101の位置を原点OLとした3次元の座標系である。XL軸とYL軸は直交しあう。図示しないZL軸は、グローバル座標系GCのZ軸と平行である。ローカル座標系LCは、グローバル座標系GCから変換された座標系である。すなわち、グローバル座標系GCの原点Oから被写体距離r離れた位置が、被写体101の位置を基準とする原点OLである。
 移動制御部304は、ローカル座標系LCの原点OLを中心として、ローカル座標系LCの初期位置p1(xl1,yl1,zl1)から位置p2~p8の順に、ドローン100が反時計回りに角度θずつ移動するように、モータ204を駆動してプロペラを回転させる。なお、ローカル座標系LCの初期位置p1は、グローバル座標系GCの原点Oと一致する。また、図4からも明らかなように、角度θとは、たとえば、ローカル座標系LCの原点OL(0,0,zl1)と点P1(xl1,yl1,zl1)とを結ぶ線分と、原点OL(0,0,zl1)と点P2(xl2,yl2,zl1)とを結ぶ線分との成す角である。
 また、移動制御部304は、ジャイロセンサ208からの出力データを用いて、各位置p1~p8において、第1撮像部301の撮像方向が被写体101に向くようにモータ204を駆動してプロペラ205を回転させることでドローン100の姿勢を制御し、コンパス209からの出力データを用いて第1撮像部301の撮像方向を特定する。移動制御部304は、具体的には、たとえば、記憶デバイス203に記憶されたプログラムをプロセッサ201に実行させることにより、または、LSI202により、実現される。
 図3に戻り、撮像制御部305は、第1撮像部301を制御する。具体的には、たとえば、撮像制御部305は、移動制御部304によりドローン100が位置p1~p8に到達した場合に、位置p1~p8で第1撮像部301に被写体101を撮像させる。撮像制御部305は、被写体101を撮像して得られた画像データと、グローバル座標系GCにおける被写体101を撮像したドローン100の3次元位置を示す位置情報とを、記憶デバイス203に保存する。撮像制御部305は、具体的には、たとえば、記憶デバイス203に記憶されたプログラムをプロセッサ201に実行させることにより、または、LSI202により、実現される。
 生成部306は、被写体101およびドローン100の位置に基づいて、被写体101を撮像するドローン100の移動経路を生成する。具体的には、たとえば、生成部306は、あらかじめ設定された移動角θを記憶デバイス203から読み出し、移動体の初期位置である原点O(位置p1に対応)と第1撮像部301から得られた被写体101までの距離rにより被写体101の位置を特定する。
 そして、生成部306は位置p1~p8を経由する移動経路を生成して、移動制御部304に出力する。これにより、移動制御部304は、生成部306からの移動経路に従って、ドローン100を移動制御する。生成部306は、具体的には、たとえば、記憶デバイス203に記憶されたプログラムをプロセッサ201に実行させることにより、または、LSI202により、実現される。
 生成部306で移動経路を生成せずに移動制御することも可能である。たとえば、第1撮像部301が被写体距離rを維持した状態で被写体101を追尾する。具体的には、たとえば、検出部302は、取得部303からの時間方向に連続する2枚の画像データから移動方向とは逆方向となる動きベクトルを検出し、移動制御部304は、被写体距離rおよび撮像方向を維持しながら動きベクトルの方向に所定量移動するよう制御する。なお、初期位置p1においては、ドローン100は、被写体距離を維持した状態で左右いずれか一方の水平方向に所定距離分移動する。
 そして、検出部302は、ドローン100の移動先での追尾対象(たとえば、顔)を特定する。具体的には、たとえば、検出部302は、1つ前の画像データをテンプレートとして移動先での追尾対象と比較する。比較結果が許容範囲内であれば、追尾が成功しているため、移動制御部304は、移動制御を継続する。検出部302は、移動先での追尾対象とドローン100の初期位置での追尾対象とを比較して、比較結果が許容範囲内であれば、ドローン100が初期位置に戻ったこととなるため、移動制御部304は、移動制御を終了する。これにより、撮像制御部305は、第1撮像部301による撮像を停止する。
 上記の説明では、撮像制御部305は、移動制御部304によりドローン100が位置p1~p8に到達した場合に、位置p1~p8で第1撮像部301に被写体101を撮像させると説明したが、撮像は任意の位置から行ってもよい。被写体(たとえば、人または物)を撮像して、被写体の3次元情報(3次元形状および色)を取得するためには、被写体の周囲から撮像された画像が必要になるが、撮像位置は、必ずしも被写体101から所定の距離r離れた位置である必要はない。また、各撮像位置は、等間隔(角度θなど)である必要もない。被写体を撮影した撮像位置(たとえば、ローカル座標系LCにおけるドローン100の座標)が特定できれば、任意の位置から撮影することができる。
 <撮像処理手順例>
 図5は、実施例1にかかるドローン100による被写体101の撮像処理手順例1を示すフローチャートである。被写体101の撮像処理手順例1は、移動経路を生成する場合の撮像処理手順例である。
 ドローン100は、取得部303により、被写体101までの距離rおよび撮像方向を取得し(ステップS501)、検出部302により、グローバル座標系GCの原点となる初期位置を検出する(ステップS502)。つぎに、ドローン100は、生成部306により、移動経路を生成し(ステップS503)、撮像制御部305の制御により、第1撮像部301を用いて現在位置で被写体101を撮像する(ステップS504)。
 そして、ドローン100は、移動制御部304により移動経路上の次に経由すべき位置に移動し(ステップS505)、撮像終了条件を充足しているか否かを判断する(ステップS506)。撮像終了条件とは、移動経路上の位置p1~p8をすべて経由したという条件である。撮像終了条件を充足していない場合(ステップS506:No)、ステップS504に戻る。一方、撮像終了条件を充足している場合(ステップS506:Yes)、ドローン100は、被写体101の撮像処理を終了する。
 図6は、実施例1にかかるドローン100による被写体101の撮像処理手順例2を示すフローチャートである。被写体101の撮像処理手順例2は、移動経路を生成しない場合の撮像処理手順例である。
 ドローン100は、取得部303により、被写体101までの距離rおよび撮像方向を取得し(ステップS601)、検出部302によりグローバル座標系GCの原点となる初期位置p1を検出する(ステップS602)。つぎに、ドローン100は、撮像制御部305の制御により、第1撮像部301を用いて現在位置で被写体101を撮像し(ステップS603)、移動制御部304の制御により、被写体距離を維持したまま水平方向に所定量移動する(ステップS604)。
 そして、ドローン100は、検出部302により、第1撮像部301が被写体101の追尾に成功したか否かを判断する(ステップS605)。失敗した場合(ステップS605:No)、ドローン100は撮像処理を終了する。一方、成功した場合(ステップS605:Yes)、ドローン100は、撮像終了条件を充足しているか否かを判断する(ステップS606)。
 撮像終了充足条件とは、ドローン100が初期位置p1に戻ったという条件である。撮像終了条件を充足していない場合(ステップS606:No)、ステップS603に戻る。一方、撮像終了条件を充足している場合(ステップS606:Yes)、ドローン100は、被写体101の撮像処理を終了する。なお、撮像終了充足条件とは、ドローン100が初期位置p1に戻ったという条件でなくても、被写体101の周囲から撮影した画像が得られたという条件でもよい。すなわち、所定の枚数の画像を取得した場合に、撮像終了条件を充足したと判断してもよい。
 このように、実施例1によれば、1台のドローン100で被写体101の3次元情報を取得することができる。また、事前にドローン100の移動経路を生成することにより、被写体101を移動経路上の複数の位置から撮像することができ、3次元情報を効率的に取得することができる。また、被写体追尾により被写体101を複数の位置から撮像することにより、移動経路の生成が不要となるため、撮像効率の向上を図ることができる。
 なお、上述した実施例1の説明では、GPSモジュール207と高度計210とを用いてドローン100の3次元位置情報を取得したが、それに替えて、SLAM(Simultaneously Localization and Mapping)を用いて、3次元位置情報を取得するようにしてもよい。SLAMは、各種センサから取得した情報でドローン100の自己位置推定と地図作成を同時に行う技術である。ドローン100は、SLAMにより、自身の3次元位置を推定し、当該3次元位置を修正しながら地図を作成するようにしてもよい。
 実施例2は、床面に同心円のパターンを設け、ドローン101からパターンを撮像して取得した画像を用いて、位置検出および飛行制御を行う。なお、実施例1と同一内容については、同一符号を付し、その説明を省略する。
 <ドローン100による撮像例>
 図7は、実施例2にかかるドローン100による撮像例を示す説明図である。(A)は、ドローン100による撮影状態を示す外観図であり、(B)は、その平面図である。ドローン100は被写体101を撮影しながら、被写体101を中心としてその周囲を飛行する。被写体101が位置する床面には、同心円状のパターン700が設けられている。パターンは、床面または床面上に敷設されたシートに表示される。被写体101は、同心円の中心に位置する。
 図8は、実施例2にかかるパターン上の目盛の例を示す説明図である。パターンは、複数(例として5つ)の同心円801~805を有する。以降、任意の同心円を80iと表記する(iは、1≦i≦Nの整数。Nは同心円の個数で本例の場合、N=5。)。また、iは、被写体距離を示す。たとえば、A5は、被写体101の正面において5目盛り分離れた位置となる。同心円80iの径方向の間隔は一定とする。
 (A)において、同心円80iは、その円周上に、周方向に等間隔で配列する複数(例として8個)の目盛りAi,Bi,Ci,Di,Ei,Fi,Gi,Hiを有する。目盛りAi,Bi,Ci,Di,Ei,Fi,Giは、文字、図形、記号、またはこれらの任意の組み合わせを含む。目盛りAi,Bi,Ci,Di,Ei,Fi,Giは、互いに異なるシンボルとする。
 また、(B)に示すように、たとえば、同心円803の目盛りA3は、他の目盛りB3,C3,D3,E3,F3,G3,H3とは異なる規則性のないシンボルであり、特に、目盛りA3は、ドローン100の出発地点を示すシンボルである。なお、(B)では、同心円801,802,804,805の目盛りは省略されており、同心円803と同様に記されていてもよい。
 <ドローン100の機能的構成例>
 図9は、実施例2にかかるドローン100の機能的構成例を示すブロック図である。ドローン100は、第1撮像部301と、検出部302と、移動制御部304と、撮像制御部305と、取得部303と、第2撮像部901と、を有する。第2撮像部901は、具体的には、たとえば、カメラ102により実現される。
 第2撮像部901は、たとえば、ドローン100の底面に設置されており、浮遊中にドローン100の下方を撮像して、第2画像データを生成する。この場合、第2画像データは、パターンの画像データを含む。第2撮像部901は、ステレオカメラまたはRGBDカメラのようなカメラ102であってもよい。
 ドローン100は、実施例1と同様に、Z方向の高さを一定の高さに維持した状態で、水平位置(x、y)がシンボルの位置となるように移動する。すなわち、ドローン100は、床面に表示されているシンボルの真上に位置するように飛行制御が行われる。
 具体的には、たとえば、移動制御部304は、第2撮像部901が撮像する第2画像データの中心にシンボルが来るようにドローン100を飛行制御する。ドローン100の高度は一定とする。被写体101が目盛りA5の方向を向いているとすると、目盛りC5が第2画像データの中心に来た時点で、ドローン100は被写体101から目盛りC5の方向で距離5(i=5番目の目盛り位置)にいることがわかる。すなわち、ドローン100の位置が検出できていることになる。
 ドローン100は、位置検出ができた後(シンボルの上方で所定の高度に移動した後)、第1撮像部301が被写体101に向く撮像方向で被写体101を撮像する。被写体101は、同心円の中心に位置しているので、第2撮像部901が撮像した第2画像データの円弧から、移動制御部304は、被写体の位置する方向を特定することができる。具体的には、移動制御部304は、シンボルの位置での法線方向と、床面からの高度と、被写体距離(i:被写体から何目盛り離れた同心円であるかを示す値)を用いて、被写体101に向く撮像方向を特定する。
 なお、実施例1で説明したように、ドローン100は、高度計210を用いて所定の高度を保つように飛行制御することができる。また、第2撮像部901が撮像した第2画像データの画像における円の大きさ、または同心円80iの径方向の間隔から所定の高度を保つように飛行制御することができる。高度が上昇すると画像における円の大きさは小さくなる(または径方向の間隔は短くなる)ため、ドローン100は、第2撮像部901が撮像した第2画像データを用いて高度を認識することができる。
 <撮像処理手順例>
 図10は、実施例2にかかるドローン100による被写体101の撮像処理手順例を示すフローチャートである。ドローン100は、第2撮像部901が撮像する第2画像データを用いて、初期位置であるシンボルA3の上方に移動する(ステップS1001)。
 つぎに、ドローン100は、撮像制御部305の制御により、第1撮像部301を用いて現在位置で被写体101を撮像し(ステップS1002)、移動制御部304により、次に経由すべき位置に移動する(ステップS1003)。そして、撮像終了条件を充足しているか否かを判断する(ステップS1004)。撮像終了条件とは、地図情報上のシンボルの位置(たとえば、A3~H3)をすべて経由したという条件である。
 撮像終了条件を充足していない場合(ステップS1004:No)、ステップS1002に戻る。一方、撮像終了条件を充足している場合(ステップS1004:Yes)、ドローン100は、被写体101の撮像処理を終了する。
 このように、ドローン100が床面に表示されたパターン700を用いて飛行制御を実行することにより、たとえば、屋内のようなGPSモジュール207によるGPS信号の受信感度が悪い場所でも、ドローン100単独で被写体101の3次元情報を収集することができる。なお、パターンは、複数の同心円を有するが、どの同心円を第2撮像部901で撮像するかは、被写体101との間隔に応じてユーザが決定すればよい。
 実施例3は、実施例1のようにドローン100が被写体101の周囲を飛行しながら被写体101を撮像するのではなく、被写体101に対向する仮想的な面上を飛行しながら被写体101を撮像する例である。これにより、ドローン100の撮像位置ごとの視差画像データが得られる。
 実施例3では、ドローン100をライトフィールドカメラのように動作させる。なお、実施例1と同一内容については、同一符号を付し、その説明を省略する。
<ドローン100による撮像例>
 図11は、実施例3にかかるドローン100による撮像例を示す説明図である。(A)は、ドローン100による撮像状態を示す外観図であり、(B)は、その平面図である。ドローン100は、被写体101に対向する仮想平面1100上を飛行しながら被写体101にカメラ102を向けて撮像し、被写体101の視差画像データを生成する。なお、ドローン100が被写体101の撮像を開始する初期位置を、グローバル座標系GCの原点Oとする。グローバル座標系GCは、被写体101の視差画像データから得られる被写体101の3次元情報の基準となる座標系である。X軸、Y軸、Z軸は互いに直交しあう軸であり、X軸およびY軸により水平方向が規定され、Z軸により鉛直方向が規定される。
 図12は、実施例3にかかるドローン100の移動制御例を示す説明図である。図12中、太矢印で示した経路がドローン100の移動経路となる。位置pij(xij,zij)は、被写体101に対向する仮想平面1100上で被写体101を撮像する位置であり、Y座標の値は同一とする。なお、iは、1≦i≦mの整数とし、jは、1≦j≦nの整数とする。
 また、位置p11(x11,z11)は、ドローン100の初期位置であり、グローバル座標系GCの原点Oとする。なお、図12において、X方向のうち、右方向を+X方向とし、左方向を-X方向とする。また、Z方向のうち、下方向を+Z方向とし、上方向を-Z方向とする。なお、位置pijから次の位置pi(j+1)への移動間隔は、あらかじめ設定されているものとする。
 ドローン100は、第1撮像部301により初期位置p11から被写体101を追尾、すなわち、第1撮像部301の撮像方向を被写体101に向けるようにジャイロセンサ208やLSI202で姿勢制御しながら、移動制御部304により+X方向へ所定距離移動し、撮像制御部305により第1撮像部301で位置p1jの視差画像データを取得して記憶デバイス203に保存する。
 ドローン100が位置p1nに到達して被写体101の撮像が完了すると、ドローン100は、移動制御部304により+X方向への移動を停止して、+Z方向へ所定距離下降して位置p2nで被写体101を撮像し、第1撮像部301により位置p2nから被写体101を追尾しながら-X方向へ所定距離移動し、撮像制御部305により第1撮像部301で位置p2jの視差画像データを取得する。このような移動および撮像を繰り返し、撮像終了条件を満たす位置pmnに到達した場合に被写体101の撮像を終了する。図11の例では、位置p11~pmnで撮像された被写体101のm×n枚の視差画像データが生成される。
 ここで、仮想平面1100での左端1201または右端1202での折り返しについて説明する。ドローン100は、たとえば、検出部302によって被写体101の顔画像を検出することにより、ドローン100が被写体101の正面に位置している否かを判断する。具体的には、たとえば、ドローン100は、検出部302による顔検出により、被写体101の顔画像を参照して、たとえば、鼻を通る顔の中心線を基準として、顔を構成する部位(たとえば、両目)の大きさを比較することで、ドローン100が被写体101の正面に位置しているか否かを判断する。
 たとえば、左目が右目よりも大きければ、ドローン100の位置pijは、仮想平面1100の左端1201側と判断され、右目が左目よりも大きければ、ドローン100の位置pijは、仮想平面1100の右端1202側と判断される。両目の大きさの差が許容範囲内であれば、ドローン100の位置ijは被写体101の正面と判断される。
 ドローン100が左端1201の位置pi1から+X方向に移動する場合、位置pi1から被写体101の正面の位置pij(以下、正面位置pif)に到達すると、ドローン100は、検出部302により位置pi1から正面位置pifまでの移動距離を検出する。たとえば、ドローン100は、検出部302により、位置pi1から正面位置pifまでの移動時間および移動速度から移動速度を求めることができる。
 また、位置pi1からの被写体距離の二乗から正面位置pifからの被写体距離の二乗を引いた値の平方根を移動距離としてもよい。ドローン100は、検出した移動距離分正面位置pifから+X方向へ移動した場合に右端1202の位置pinに到達したと判断し、移動制御部304により+Z方向に所定距離下降する。-X方向への移動についても同様に検出部302により正面位置pifまでの移動距離を検出することで、ドローン100は、左端1201の位置pi1で移動制御部304により+Z方向に所定距離下降することができる。
 なお、X方向の移動距離があらかじめ設定されている場合は、被写体101の顔の向きにかかわらず、ドローン100がX方向への移動により位置pin,pi1に到達する都度、+Z方向に所定距離下降すればよい。
 つぎに、+Z方向への下降について説明する。ドローン100が、移動制御部304によりX方向の移動を折り返す左端1201の位置pi1または右端1202の位置pinに到達した場合、ドローン100は、+Z方向に所定距離下降するが、折り返し回数m-1は、あらかじめ設定されていてもよい。また、m=nとなるように、すなわち、X方向で撮像する位置の数nとZ方向で撮像する位置の数mとが同じになるようにすればよい。
 この場合、たとえば、ドローン100が、移動制御部304により左端1201の初期位置p11から+X方向に移動して右端1202の位置p1nに到達した場合に、撮像位置の数nが確定する。したがって、ドローン100は、位置p1jでのZ方向の高さを撮像位置の数nで割ることにより、X方向を折り返す場合の下降距離を算出することができる。
 なお、Z方向の下降距離があらかじめ設定されている場合は、ドローン100がX方向への移動が完了する都度、+Z方向に所定距離下降すればよい。この場合、位置pnmにおけるドローン100の高度が所定距離以下となった場合に、ドローン100は撮像および移動を終了すればよい。
 なお、図12では、ドローン100がX方向に移動して左端1201または右端1202に到達した場合に+Z方向に下降するような移動制御例について説明したが、ドローン100がX方向に移動して両端に到達した場合に-Z方向に上昇するような移動制御でもよい。
 また、図12では、ドローン100がX方向に移動して左端1201または右端1202に到達した場合に+Z方向に下降するような移動制御例について説明したが、Z方向に移動して上端または下端に到達した場合に、+X方向に所定量移動するように移動制御してもよい。また、ドローン100は、各位置pijにおいて被写体距離が等距離となるように移動制御してもよい。
 <撮像処理手順例>
 図13は、実施例3にかかるドローン100による被写体101の撮像処理手順例を示すフローチャートである。被写体101の撮像処理手順例は、移動経路を生成しない場合の撮像処理手順例である。なお、図12に示した移動経路を生成部306により生成する場合の撮像処理手順例については、移動経路が異なる点以外は、図5と同様であるため説明を省略する。また、図13では、初期位置p11から+X方向に移動して、右端1202の位置p1nで+Z方向に下降して、-X方向に移動する場合を例に挙げて説明する。
 まず、ドローン100は、検出部302によりグローバル座標系GCの原点となる初期位置p11を検出する(ステップS1301)。つぎに、ドローン100は、移動制御部304の制御により、初期位置p11から+X方向へ所定距離移動し、被写体101を撮像する(ステップS1302)。
 そして、ドローン100は、右端1202の位置に到達したか否かを判断する(ステップS1303)。右端1202の位置に到達していなければ(ステップS1303:No)、ステップS1302に戻る。一方、右端1202の位置に到達していれば(ステップS1303:Yes)、ドローン100は、+Z方向へ下降可能か否かを判断する(ステップS1304)。下降可能でない場合(ステップS1304:No)、ドローン100は、被写体101の撮像処理を終了する。
 一方、下降可能である場合(ステップS1304:Yes)、ドローン100は、右端1202の位置から+Z方向へ所定距離下降し(ステップS1305)、ドローン100は、移動制御部304の制御により、初期位置p11から+X方向へ所定距離移動し、被写体101を撮像する(ステップS1306)。そして、ドローン100は、左端1201の位置に到達したか否かを判断する(ステップS1307)。左端1201の位置に到達していなければ(ステップS1307:No)、ステップS1306に戻る。
 一方、左端1201の位置に到達していれば(ステップS1307:Yes)、ドローン100は、+Z方向へ下降可能か否かを判断する(ステップS1308)。下降可能でない場合(ステップS1308:No)、ドローン100は、被写体101の撮像処理を終了する。一方、下降可能である場合(ステップS1308:Yes)、ドローン100は、左端1201の位置から+Z方向へ所定距離下降し(ステップS1309)、ステップS1302に戻る。
 このように、実施例3によれば、1台のドローン100で被写体101の視差画像データ群を取得することができる。また、事前にドローン100の移動経路を生成することにより、被写体101を移動経路上の複数の位置から撮像することができ、視差画像データ群を効率的に取得することができる。また、被写体追尾により被写体101を複数の位置から撮像することにより、移動経路の生成が不要となり、視差画像データ群の撮像効率の向上を図ることができる。
 上述した各実施例1~3で得られた視差画像データ群は、たとえば、画像処理機能を備えた不図示のコンピュータに格納される。コンピュータは、画像処理により、視差画像データ群を合成することにより、リフォーカス画像を生成することができる。これにより、ドローン100による被写体101の撮像後に合焦位置を変更した画像を生成することが可能となる。
 次に、視差画像データ群から被写体101の3次元情報を生成する方法について説明する。ドローン100によって撮像された画像には、撮像された位置を示す位置情報が関連付けられている。たとえば、画像データのEXIF情報の一つとして位置情報が格納されていてもよい。位置情報は、上述したように、たとえば、グローバル座標系GCにおける座標位置として示されている。カメラ位置情報と被写体を撮像した画像とから、たとえば特開2010‐109783に示される公知の手法により、被写体の形状とテクスチャとを有する3次元情報を生成することができる。なお、被写体101の3次元情報の生成は、画像処理機能を備えた不図示のコンピュータによってなされてもよいし、ドローン100が行ってもよい。
 (1)このように、上述した実施例にかかるドローン100は、被写体101を撮像する第1撮像部301と、ドローン100の位置を検出する検出部302と、検出部302によって検出されたドローン100の位置に基づいて、ドローン100を移動させる移動制御部304と、複数の異なる位置からドローン100を第1撮像部301に撮像させる撮像制御部305と、を有する。これにより、大掛かりな設備が不要であり、被写体を複数の方向から簡易に撮像することができる。
 (2)また、上記(1)において、ドローン100は、被写体101との距離および被写体101に対するドローン100の方向を取得する取得部303を有し、検出部302は、取得部303によって取得された被写体101との距離および被写体101に対するドローン100の方向に基づいて、ドローン100の位置を検出する。これにより、ドローン100が取得した被写体距離および方向でドローン100自身の位置を検出することができ、被写体撮像の自動化を、複数の位置から簡易かつ自律的におこなうことができる。
 (3)また、上記(1)において、ドローン100は、被写体101の位置する床面上の情報を撮像する第2撮像部901を有し、検出部302は、第2撮像部901によって撮像された情報に基づいて、ドローン100の位置を検出する。このように、床面上の情報を用いることにより、ドローン100の位置検出を容易かつ高精度に実現することができ、被写体撮像で得られる3次元情報の高精度化を図ることができる。
 (4)また、上記(3)において、ドローン100は、第2撮像部901によって撮像された規則性のない模様に基づいて、ドローン100の位置を検出する。これにより、ドローン100の位置毎に第2撮像部901は異なる床面の画像データを得ることができ、異なる位置で似たような画像データを得た場合よりも、ドローン100の位置検出の高精度化を図ることができる。
 (5)また、上記(3)において、ドローン100は、第2撮像部901によって撮像された情報は、被写体101の位置を中心とする円を示す図形であり、検出部302は、第2撮像部901によって撮像された円の弧に基づいて、被写体101に対するドローン100の方向を検出する。これにより、ドローン100は、被写体の周囲を移動して被写体を撮像することができ、被写体の3次元情報を高精度に取得することができる。
 (6)また、上記(5)において、ドローン100は、第2撮像部901によって撮像された情報は、被写体101の位置を中心とする複数の同心円を示す図形であり、検出部302は、複数の同心円のうち、第2撮像部901によって撮像された特定の円に基づいて、被写体101との距離を検出する。これにより、ドローン100が、たとえば、第1撮像部301で被写体距離を測定できない場合でも、被写体距離を検出することができる。
 (7)また、上記(3)において、ドローン100は、第2撮像部901によって撮像された情報は、被写体101の位置を中心とする円を示す図形であり、円の円周上に複数のシンボル(たとえば、目盛り)を有し、検出部302は、第2撮像部901によって撮像されたシンボルに基づいて、ドローン100の位置を検出する。これにより、ドローン100自身の位置の推定の容易化を図ることができる。
 (8)また、上記(3)において、ドローン100は、第2撮像部901によって撮像された情報は、被写体101の位置を中心とする円を示す図形であり、円の円周上に複数種類のシンボルを有し、検出部は、第2撮像部901によって撮像されたシンボル(たとえば、目盛り)の種類に基づいて、ドローン100の位置を検出する。これにより、ドローン100の位置毎に第2撮像部901は異なるシンボルを含む画像データを得ることができ、異なる位置で似たようなシンボルを含む画像データを得た場合よりも、ドローン100の位置検出の高精度化を図ることができる。
 (9)また、上記(5)において、ドローン100の移動制御部304は、円の円周に沿ってドローン100を移動させる。これにより、円の中心に位置する被写体101を円周上の複数の位置から同一被写体距離で撮像することができ、撮像した画像データ群から得られる3次元情報の高精度化を図ることができる。すなわち、画像データ間で拡大や縮小が不要となり、後の取扱いが容易となる。
 (10)また、上記(3)において、ドローン100は、第1撮像部301は、被写体101が位置する床面上の情報を撮像し、検出部302は、第1撮像部301によって撮像された情報に基づいて、ドローン100の位置を検出する。これにより、1つの撮像部で第1撮像部301による撮像と第2撮像部901による撮像をおこなうため、部品点数を少なくし、ドローン100の軽量化を図ることができる。また、軽量化により飛行、浮遊に要する消費電力を軽減することができる。
 (11)また、上記(2)において、ドローン100の検出部302は、第1撮像部301が被写体101を追尾しながらドローン100が移動した場合における被写体101および前記の位置を検出する。これにより、ドローン100は、逐次被写体101を追尾しながら移動することができ、移動経路を認識していなくても複数の位置から被写体を撮像することができる。
 (12)また、上記(2)において、ドローン100は、被写体101およびドローン100の位置に基づいて、被写体101を撮像するドローン100の移動経路を生成する生成部306を有し、移動制御部304は、生成部306によって生成された移動経路にしたがってドローン100を移動させる。これにより、ドローン100は事前に移動経路を認識することができ、被写体撮像時の移動の安定性を図ることができ、これにより、被写体の画像データおよび3次元情報の高精度化を図ることができる。
 (13)また、上記(1)において、ドローン100の撮像制御部305は、被写体101を撮像して得られた画像と、被写体101を撮像したドローン100の位置と、を保存する。これにより、ドローン100が3次元情報を保持することができる。
 (14)また、上記(1)において、ドローン100の撮像制御部305は、被写体101の周囲の複数の異なる位置から被写体101を撮像させる。これにより、被写体を各方面から見た画像データを得ることができ、被写体の3次元情報を網羅的に取得することができる。
 (15)また、上記(1)において、ドローン100の移動制御部304は、ドローン100の移動経路が被写体101に対向する面となるようにドローン100を移動させる。これにより、1台のドローン100で被写体101についての複数の視差画像データを得ることができる。
 (16)また、上記(15)において、ドローン100の検出部302は、第1撮像部301からの撮像画像に基づいて、ドローン100の移動方向を検出し、移動制御部304は、検出部302によって検出された移動方向に、ドローン100を移動させる。これにより、視差画像データ群を取得する移動範囲をドローン100が自律的に決定することができ、視差画像データ群の取得効率の向上を図ることができる。
 (17)また、上記(1)において、ドローン100の検出部302は、被写体101を基準としたドローン100の位置を検出する。すなわち、被写体101の位置を原点OLとした3次元のローカル座標系LCを用いてドローン100の位置を検出することができる。
 なお、上述した実施例にかかるドローン100は、移動制御部304と、撮像制御部305と、を有する構成としたが、移動制御部304および撮像制御部305は、ドローン100と通信可能なコンピュータ(不図示の制御装置)が有してもよい。また、当該コンピュータが、移動制御部304および撮像制御部305の制御をコンピュータ内のプロセッサに実行させてもよい。
100 ドローン、101 被写体、102 カメラ、301 第1撮像部、302 検出部、303 取得部、304 移動制御部、305 撮像制御部、306 生成部、700 パターン、901 第2撮像部

Claims (19)

  1.  被写体を撮像する第1撮像部を有する移動体であって、
     前記移動体の位置を検出する検出部と、
     前記検出部によって検出された前記移動体の位置に基づいて、前記移動体を移動させる移動制御部と、
     複数の異なる位置から前記被写体を前記第1撮像部に撮像させる撮像制御部と、
     を有する移動体。
  2.  請求項1に記載の移動体であって、
     前記被写体との距離および前記被写体に対する前記移動体の方向を取得する取得部を有し、
     前記検出部は、前記取得部によって取得された前記被写体との距離および前記被写体に対する前記移動体の方向に基づいて、前記移動体の位置を検出する、移動体。
  3.  請求項1に記載の移動体であって、
     前記被写体が位置する床面上の情報を撮像する第2撮像部を有し、
     前記検出部は、前記第2撮像部によって撮像された情報に基づいて、前記移動体の位置を検出する、移動体。
  4.  請求項3に記載の移動体であって、
     前記情報は、規則性のない模様である移動体。
  5.  請求項3に記載の移動体であって、
     前記情報は、前記被写体の位置を中心とする円を示す図形であり、
     前記検出部は、前記第2撮像部によって撮像された円の弧に基づいて、前記被写体に対する前記移動体の方向を検出する、移動体。
  6.  請求項5に記載の移動体であって、
     前記情報は、前記被写体の位置を中心とする複数の同心円を示す図形であり、
     前記検出部は、前記複数の同心円のうち第2撮像部によって撮像された特定の円に基づいて、前記被写体との距離を検出する、移動体。
  7.  請求項3に記載の移動体であって、
     前記情報は、前記被写体の位置を中心とする円を示す図形であり、前記円の円周上に複数のシンボルを有し、
     前記検出部は、前記第2撮像部によって撮像されたシンボルに基づいて、前記移動体の位置を検出する、移動体。
  8.  請求項3に記載の移動体であって、
     前記情報は、前記被写体の位置を中心とする円を示す図形であり、前記円の円周上に複数種類のシンボルを有し、
     前記検出部は、前記第2撮像部によって撮像されたシンボルの種類に基づいて、前記移動体の位置を検出する、移動体。
  9.  請求項5に記載の移動体であって、
     前記移動制御部は、前記円の円周に沿って前記移動体を移動させる、移動体。
  10.  請求項1に記載の移動体であって、
     前記第1撮像部は、さらに前記被写体が位置する床面上の情報を撮像し、
     前記検出部は、前記第1撮像部によって撮像された情報に基づいて、前記移動体の位置を検出する、移動体。
  11.  請求項2に記載の移動体であって、
     前記検出部は、前記第1撮像部が前記被写体を追尾しながら前記移動体が移動した場合における前記被写体および前記移動体の位置を検出する、移動体。
  12.  請求項2に記載の移動体であって、
     前記被写体の位置および前記移動体の位置に基づいて、前記被写体を撮像する前記移動体の移動経路を生成する生成部を有し、
     前記移動制御部は、前記生成部によって生成された移動経路にしたがって前記移動体を移動させる、移動体。
  13.  請求項1に記載の移動体であって、
     前記撮像制御部は、前記被写体を撮像して得られた画像と、前記被写体を撮像した前記移動体の位置と、を保存する、移動体。
  14.  請求項1に記載の移動体であって、
     前記撮像制御部は、前記被写体の周囲の前記複数の異なる位置から前記被写体を撮像させる、移動体。
  15.  請求項1に記載の移動体であって、
     前記移動制御部は、前記移動体の移動経路が前記被写体に対向する面となるように前記移動体を移動させる、移動体。
  16.  請求項15に記載の移動体であって、
     前記検出部は、前記第1撮像部からの撮像画像に基づいて、前記移動体の移動方向を検出し、
     前記移動制御部は、前記検出部によって検出された移動方向に、前記移動体を移動させる、移動体。
  17.  請求項1に記載の移動体であって、
     前記検出部は、前記被写体を基準とした前記移動体の位置を検出する、移動体。
  18.  被写体を撮像する第1撮像部と、移動体の位置を検出する検出部と、を有する前記移動体を制御する制御装置であって、
     前記検出部によって検出された前記移動体の位置に基づいて、前記移動体を移動させる移動制御部と、
     複数の異なる位置から前記被写体を前記第1撮像部に撮像させる撮像制御部と、
     を有する制御装置。
  19.  被写体を撮像する第1撮像部を有する移動体の制御をプロセッサに実行させる制御プログラムであって、
     前記プロセッサに、
     前記移動体の位置を検出させ、
     検出された前記移動体の位置に基づいて、前記移動体を移動させ、
     複数の異なる位置から前記被写体を前記第1撮像部に撮像させる、
     制御プログラム。
PCT/JP2019/013231 2018-03-30 2019-03-27 移動体、制御装置、および制御プログラム WO2019189381A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018067855 2018-03-30
JP2018-067855 2018-03-30

Publications (1)

Publication Number Publication Date
WO2019189381A1 true WO2019189381A1 (ja) 2019-10-03

Family

ID=68061996

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/013231 WO2019189381A1 (ja) 2018-03-30 2019-03-27 移動体、制御装置、および制御プログラム

Country Status (1)

Country Link
WO (1) WO2019189381A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023177692A1 (en) * 2022-03-14 2023-09-21 Summer Robotics, Inc. Stage studio for immersive 3-d video capture
US11887340B2 (en) 2021-07-29 2024-01-30 Summer Robotics, Inc. Dynamic calibration of 3D acquisition systems
US11974055B1 (en) 2023-10-17 2024-04-30 Summer Robotics, Inc. Perceiving scene features using event sensors and image sensors

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006027448A (ja) * 2004-07-16 2006-02-02 Chugoku Electric Power Co Inc:The 無人飛行体を利用した空撮方法及びその装置
JP2014186567A (ja) * 2013-03-25 2014-10-02 Geo Technical Laboratory Co Ltd 3次元点群解析方法
JP2017076302A (ja) * 2015-10-16 2017-04-20 株式会社プロドローン 小型無人飛行機の制御方法
JP2017138162A (ja) * 2016-02-02 2017-08-10 Jfe鋼板株式会社 構造物の点検システムおよび点検方法
JP2017212531A (ja) * 2016-05-24 2017-11-30 エスゼット ディージェイアイ テクノロジー カンパニー リミテッドSz Dji Technology Co.,Ltd 撮像システム、移動体、撮像方法、及びプログラム
WO2018001601A1 (de) * 2016-06-27 2018-01-04 Huf Hülsbeck & Fürst Gmbh & Co. Kg Schliessbügeleinheit für ein kraftfahrzeug

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006027448A (ja) * 2004-07-16 2006-02-02 Chugoku Electric Power Co Inc:The 無人飛行体を利用した空撮方法及びその装置
JP2014186567A (ja) * 2013-03-25 2014-10-02 Geo Technical Laboratory Co Ltd 3次元点群解析方法
JP2017076302A (ja) * 2015-10-16 2017-04-20 株式会社プロドローン 小型無人飛行機の制御方法
JP2017138162A (ja) * 2016-02-02 2017-08-10 Jfe鋼板株式会社 構造物の点検システムおよび点検方法
JP2017212531A (ja) * 2016-05-24 2017-11-30 エスゼット ディージェイアイ テクノロジー カンパニー リミテッドSz Dji Technology Co.,Ltd 撮像システム、移動体、撮像方法、及びプログラム
WO2018001601A1 (de) * 2016-06-27 2018-01-04 Huf Hülsbeck & Fürst Gmbh & Co. Kg Schliessbügeleinheit für ein kraftfahrzeug

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11887340B2 (en) 2021-07-29 2024-01-30 Summer Robotics, Inc. Dynamic calibration of 3D acquisition systems
WO2023177692A1 (en) * 2022-03-14 2023-09-21 Summer Robotics, Inc. Stage studio for immersive 3-d video capture
US11785200B1 (en) 2022-03-14 2023-10-10 Summer Robotics, Inc. Stage studio for immersive 3-D video capture
US11974055B1 (en) 2023-10-17 2024-04-30 Summer Robotics, Inc. Perceiving scene features using event sensors and image sensors

Similar Documents

Publication Publication Date Title
US11649052B2 (en) System and method for providing autonomous photography and videography
US11237572B2 (en) Collision avoidance system, depth imaging system, vehicle, map generator and methods thereof
CN109238240B (zh) 一种顾及地形的无人机倾斜摄影方法及其摄影系统
US20200346753A1 (en) Uav control method, device and uav
WO2016070318A1 (en) Camera calibration
CN110799921A (zh) 拍摄方法、装置和无人机
JP6765512B2 (ja) 飛行経路生成方法、情報処理装置、飛行経路生成システム、プログラム及び記録媒体
JP5990453B2 (ja) 自律移動ロボット
WO2019183789A1 (zh) 无人机的控制方法、装置和无人机
WO2019230604A1 (ja) 検査システム
US20160368602A1 (en) Camera drone systems and methods for maintaining captured real-time images vertical
WO2019189381A1 (ja) 移動体、制御装置、および制御プログラム
CN111247389B (zh) 关于拍摄设备的数据处理方法、装置及图像处理设备
CN108801225A (zh) 一种无人机倾斜影像定位方法、系统、介质及设备
US20210229810A1 (en) Information processing device, flight control method, and flight control system
CN111699454A (zh) 一种飞行规划方法及相关设备
JP6681101B2 (ja) 検査システム
CN111213107B (zh) 信息处理装置、拍摄控制方法、程序以及记录介质
US20210256732A1 (en) Image processing method and unmanned aerial vehicle
WO2020225979A1 (ja) 情報処理装置、情報処理方法、プログラム、及び情報処理システム
WO2020119572A1 (zh) 形状推断装置、形状推断方法、程序以及记录介质
WO2021134715A1 (zh) 一种控制方法、设备、无人机及存储介质
JP2022095408A (ja) 処理システム、飛行体、処理方法及びプログラム
WO2023047799A1 (ja) 画像処理装置、画像処理方法及びプログラム
JP6681102B2 (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: 19776004

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 19776004

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP