WO2019216000A1 - 情報処理装置、情報処理方法、及びプログラム - Google Patents

情報処理装置、情報処理方法、及びプログラム Download PDF

Info

Publication number
WO2019216000A1
WO2019216000A1 PCT/JP2019/007418 JP2019007418W WO2019216000A1 WO 2019216000 A1 WO2019216000 A1 WO 2019216000A1 JP 2019007418 W JP2019007418 W JP 2019007418W WO 2019216000 A1 WO2019216000 A1 WO 2019216000A1
Authority
WO
WIPO (PCT)
Prior art keywords
unit
image
information processing
viewpoints
imaging unit
Prior art date
Application number
PCT/JP2019/007418
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 ソニー株式会社
Priority to EP19800467.3A priority Critical patent/EP3793192A4/en
Priority to US17/046,368 priority patent/US11282228B2/en
Publication of WO2019216000A1 publication Critical patent/WO2019216000A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01PMEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
    • G01P15/00Measuring acceleration; Measuring deceleration; Measuring shock, i.e. sudden change of acceleration
    • G01P15/18Measuring acceleration; Measuring deceleration; Measuring shock, i.e. sudden change of acceleration in two or more dimensions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/10Image acquisition
    • G06V10/12Details of acquisition arrangements; Constructional details thereof
    • G06V10/14Optical characteristics of the device performing the acquisition or on the illumination arrangements
    • G06V10/147Details of sensors, e.g. sensor lenses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/24Aligning, centring, orientation detection or correction of the image
    • G06V10/242Aligning, centring, orientation detection or correction of the image by image rotation, e.g. by 90 degrees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N17/00Diagnosis, testing or measuring for television systems or their details
    • H04N17/002Diagnosis, testing or measuring for television systems or their details for television cameras
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0179Display position adjusting means not related to the information to be displayed
    • G02B2027/0187Display position adjusting means not related to the information to be displayed slaved to motion of at least a part of the body of the user, e.g. head, eye
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/012Head tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose

Definitions

  • the present disclosure relates to an information processing apparatus, an information processing method, and a program.
  • an imaging unit such as a digital camera (in other words, an image sensor)
  • the subject captured in the image can be recognized, or the surroundings of the imaging unit
  • Various recognition techniques using captured images have been proposed, such as recognizing the environment.
  • a detection unit such as an acceleration sensor or an angular velocity sensor (for example, an inertial measurement unit (IMU))
  • IMU inertial measurement unit
  • the recognition technology is applied to, for example, AR (Augmented Reality) technology, VR (Virtual Reality) technology, and robotics.
  • Patent Document 1 discloses an example of a technique related to sensor calibration that can be used to realize the above recognition technique.
  • Patent Document 2 discloses an example of a technique related to calibration of an imaging unit that can be used to realize the recognition technique.
  • the relative posture of the other of the imaging unit and the detection unit with respect to the other is more accurately recognized. It is important that in order to realize the above recognition technique in a more preferable aspect, for example, a variation in the relative posture of the other of the imaging unit and the detection unit that may occur when the imaging unit and the detection unit are attached. There is a need to introduce a technique (for example, a technique related to calibration) that can further reduce the influence of (error).
  • the present disclosure proposes a technique that can realize the posture relationship between the imaging unit and the detection unit in a more preferable manner.
  • an acquisition unit that acquires an image captured by the imaging unit, and a gravitational acceleration detection result by the detection unit supported by the imaging unit, and the viewpoint
  • An image processing unit that extracts a plurality of line segments extending in a gravitational direction from the image captured in the image and specifies intersections of straight lines that extend the plurality of line segments; And calculating a relative posture relationship between the imaging unit and the detection unit based on the detection result of the gravitational acceleration acquired for each of the viewpoints and the intersection point specified for each of the plurality of viewpoints.
  • An information processing apparatus including an arithmetic unit is provided.
  • the computer acquires an image captured by the imaging unit and a detection result of the gravitational acceleration by the detection unit supported by the imaging unit for each of a plurality of different viewpoints. Extracting a plurality of line segments extending in the direction of gravity from the image based on the subject imaged in the image for each viewpoint, and specifying intersection points of straight lines extending the plurality of line segments, Based on the detection result of the gravitational acceleration acquired for each of the plurality of viewpoints and the intersection point specified for each of the plurality of viewpoints, a relative posture relationship between the imaging unit and the detection unit is obtained. And an information processing method is provided.
  • the computer acquires, for each of a plurality of different viewpoints, an image captured by the imaging unit, and a detection result of gravity acceleration by the detection unit supported by the imaging unit; Extracting a plurality of line segments extending in the direction of gravity from the image based on the subject imaged in the image for each viewpoint, and specifying intersection points of straight lines extending the plurality of line segments, Based on the detection result of the gravitational acceleration acquired for each of the plurality of viewpoints and the intersection point specified for each of the plurality of viewpoints, a relative posture relationship between the imaging unit and the detection unit is obtained.
  • a program is provided for performing the calculation.
  • a technique is provided that enables recognition of the posture relationship between the imaging unit and the detection unit in a more preferable manner.
  • FIG. 1 is an explanatory diagram for explaining an overview of an example of a system configuration of an information processing system according to an embodiment of the present disclosure.
  • FIG. It is the block diagram which showed an example of the function structure of the information processing system which concerns on the embodiment. It is explanatory drawing for demonstrating an outline
  • FIG. 1 is an explanatory diagram for explaining an overview of an example of a system configuration of an information processing system according to an embodiment of the present disclosure.
  • the information processing system 1 includes an information acquisition device 130 and an information processing device 100.
  • the information acquisition device 130 and the information processing device 100 are configured to be able to transmit and receive information to and from each other via a predetermined network.
  • the type of network connecting the information acquisition apparatus 130 and the information processing apparatus 100 is not particularly limited.
  • the network may be a so-called wireless network such as a network based on the Wi-Fi (registered trademark) standard.
  • the network may be configured by the Internet, a dedicated line, a LAN (Local Area Network), a WAN (Wide Area Network), or the like.
  • the network may include a plurality of networks, and at least a part of the network may be configured as a wired network.
  • the information acquisition device 130 schematically shows a device for acquiring information used for realizing various recognition technologies (in other words, information used for recognition of various states).
  • the information acquisition device 130 may be the mobile body itself that is the target of self-position estimation, or the mobile body. It corresponds to a device that collects various information in order to realize the self-position estimation supported by.
  • the information acquisition device 130 is used to detect changes in the position and orientation of the information acquisition device 130 such as an imaging unit 131 that captures an image of the surrounding environment and acceleration and angular velocity.
  • a detection unit 133 (for example, IMU).
  • the imaging unit 131 and the detection unit 133 are supported so that at least a relative relationship between postures satisfies a predetermined relationship among the respective positions and postures.
  • the imaging unit 131 and the detection unit 133 may be supported so that a relative posture relationship is fixed at least when acquiring information for calibration described later.
  • the imaging unit 131 and the detection unit 133 are preferably supported integrally. Further, the imaging unit 131 and the detection unit 133 may be configured so that the other can be attached to and detached from the other.
  • the information processing apparatus 100 calibrates each component such as the imaging unit 131 and the detection unit 133 supported by the information acquisition device 130.
  • the information processing apparatus 100 calibrates the relative posture variation between the imaging unit 131 and the detection unit 133 that may occur for each information acquisition device 130 with respect to the other.
  • the local coordinate system of the imaging unit 131 that is, a coordinate system that indicates a relative position and direction with the imaging unit 131 as a base point
  • the local coordinate system of the detection unit 133 that is, the base point of the detection unit 133
  • the coordinate system indicating the relative position and direction is not necessarily the same.
  • the local coordinate system of the imaging unit 131 and the local coordinate system of the detection unit 133 may be associated with each other. More specifically, conversion from one coordinate system to the other coordinate system of the local coordinate system of the imaging unit 131 and the local coordinate system of the detection unit 133 is performed by using a predetermined conversion function. May be.
  • the information processing apparatus 100 calibrates the variation in relative posture of the image capturing unit 131 and the detection unit 133 that may occur for each information acquisition device 130 with respect to the other.
  • the information processing apparatus 100 displays an image captured by the imaging unit 131 from the viewpoint and the detection result of gravity acceleration by the detection unit 133 at the viewpoint. Get from.
  • the “viewpoint” indicates the position and orientation of the information acquisition device 130 (and thus the imaging unit 131).
  • the “viewpoint” in the present disclosure refers to the position where the imaging unit 131 that is the base point of the line of sight is held when the optical axis of the imaging unit 131 is viewed as the line of sight, This corresponds to 131 postures.
  • the position of each viewpoint and the subject to be imaged by the imaging unit 131 are set so that a plurality of line segments extending in the gravity direction are extracted from the image captured by the imaging unit 131.
  • thread-like objects M101a and M101b having one end fixed are used as subjects, and images of the objects M101a and M101b are picked up from a plurality of different viewpoints by the image pickup unit 131. It becomes. The details of the calibration method will be described later.
  • FIG. 1 An example of a schematic system configuration of the information processing system according to an embodiment of the present disclosure has been described with reference to FIG.
  • the system configuration described above is merely an example, and the system configuration of the information processing system 1 according to the present embodiment is not necessarily limited.
  • the information acquisition apparatus 130 and the information processing apparatus 100 may be integrally configured.
  • the function of the information processing apparatus 100 may be realized by a plurality of apparatuses operating in cooperation with each other.
  • FIG. 2 is a block diagram illustrating an example of a functional configuration of the information processing system according to the present embodiment.
  • the information processing system 1 includes an information acquisition device 130, an information processing device 100, and a storage unit 151. Further, the information processing system 1 according to the present embodiment may include an input unit 153 and an output unit 155.
  • the information acquisition device 130 corresponds to the information acquisition device 130 illustrated in FIG. That is, the imaging unit 131 and the detection unit 133 correspond to the imaging unit 131 and the detection unit 133 illustrated in FIG. Therefore, detailed description of the information acquisition device 130 and the imaging unit 131 and the detection unit 133 included in the information acquisition device 130 is omitted.
  • the information processing apparatus 100 corresponds to the information processing apparatus 100 shown in FIG. As illustrated in FIG. 2, the information processing apparatus 100 includes an image processing unit 101 and a calculation unit 103. Further, the information processing apparatus 100 may include an input / output control unit 105.
  • the image processing unit 101 acquires images captured by the imaging unit 131 for each of a plurality of viewpoints, and performs analysis processing (image analysis) on the images captured for each viewpoint to capture the images. Based on the subject, a plurality of line segments extending in the direction of gravity are extracted from the image. Further, the image processing unit 101 identifies intersections of straight lines obtained by extending the plurality of line segments in the image based on the extraction results of the plurality of line segments from the image. Then, the image processing unit 101 outputs, to each of the plurality of viewpoints, information indicating the intersection of straight lines obtained by extending the plurality of line segments extracted from the image corresponding to the viewpoints, to the calculation unit 103.
  • analysis processing image analysis
  • the image processing unit 101 may allow the user to specify a subject to be extracted from the line segment and a line segment used for specifying the intersection point.
  • the image processing unit 101 outputs an image captured by the imaging unit 131 to a predetermined output unit (for example, an output unit 155 described later) via the input / output control unit 105 described later.
  • the image may be presented to the user.
  • the image processing unit 101 sends information corresponding to the designation from the user via a predetermined input unit (for example, an input unit 153 described later) to the image presented to the user via the input / output control unit 105. May be obtained.
  • the image processing unit 101 may determine a subject to be extracted from the line segment and a line segment used for specifying the intersection point in accordance with a designation from the user.
  • the calculation unit 103 acquires information according to the acceleration detection result by the detection unit 133 for each of a plurality of viewpoints, and thereby the direction of gravity acceleration in the local coordinate system of the detection unit 133 (in other words, the vector of gravity acceleration). Is identified.
  • the acceleration detected by the detection unit 133 in a state where the detection unit 133 (and thus the information acquisition device 130) is stationary may correspond to a gravitational acceleration. Therefore, for example, the calculation unit 103 recognizes information indicating the detection result of acceleration by the detection unit 133 acquired in a state where the detection unit 133 is stationary as information indicating the detection result of gravity acceleration by the detection unit 133. May be.
  • the method is not particularly limited as long as the direction of gravitational acceleration in the local coordinate system of the detection unit 133 can be specified according to the detection result of the acceleration and angular velocity by the detection unit 133.
  • the calculation unit 103 may specify the direction of gravitational acceleration in consideration of calibration data (for example, bias and scale factor) of the detection unit 133 acquired in advance.
  • the calibration data of the detection unit 133 may be stored in advance in a storage area that can be referred to by the calculation unit 103 (for example, a storage unit 151 described later).
  • the gravity acceleration vector that is, the direction of gravity acceleration
  • the local coordinate system of the detection unit 133 specified as described above may be referred to as “gravity acceleration vector a” for convenience.
  • the local coordinate system of the detection unit 133 corresponds to an example of a “second coordinate system”.
  • the calculation unit 103 displays information indicating intersection points of straight lines obtained by extending a plurality of line segments extracted from the image corresponding to the viewpoint. Obtained from the processing unit 101. For each of the plurality of viewpoints, the calculation unit 103 calculates a vector indicating the gravity direction in the local coordinate system of the imaging unit 131 corresponding to the viewpoint based on information indicating the intersection of straight lines obtained by extending the plurality of line segments. To do. Further, at this time, the calculation unit 103 may calculate a vector in the gravitational direction in consideration of calibration data (for example, lens distortion and internal parameter calibration results) acquired in advance.
  • calibration data for example, lens distortion and internal parameter calibration results
  • the calibration data of the imaging unit 131 may be stored in advance in a storage area (for example, a storage unit 151 described later) that can be referred to by the calculation unit 103.
  • a storage area for example, a storage unit 151 described later
  • the gravity direction vector in the local coordinate system of the imaging unit 131 specified as described above may be referred to as a “gravity direction vector c” for convenience.
  • the local coordinate system of the imaging unit 131 corresponds to an example of a “first coordinate system”.
  • the calculating part 103 calculates the relative attitude
  • a predetermined storage area for example, a storage unit 151 described later
  • the calculation unit 103 obtains information for guiding the movement of the information acquisition device 130 to the position of the viewpoint, so that information about a new viewpoint is acquired according to the acquisition status of information for each viewpoint. You may make it output to a predetermined
  • the user is guided to change the position and orientation of the information acquisition device 130, so that information regarding the gravitational acceleration vector a and calculation of information regarding the gravity direction vector c can be calculated for a new viewpoint. It becomes possible.
  • a new sample for calculating the function R in a more preferable aspect. It becomes possible to guide the user so that it can be acquired.
  • An example of a user interface (UI) related to the guidance will be described later as a modified example.
  • the storage unit 151 is a storage area for storing various data temporarily or permanently.
  • the storage unit 151 may store data for the information processing apparatus 100 to execute various functions.
  • the storage unit 151 may store data (for example, a library) for executing various applications, management data for managing various settings, and the like.
  • the storage unit 151 may store information (that is, a function R for performing coordinate conversion between the imaging unit 131 and the detection unit 133) according to the result of calibration by the calculation unit 103.
  • the input unit 153 corresponds to an input interface for the user to input various information to the information processing apparatus 100.
  • the input unit 153 may include input devices such as buttons, levers, and touch panels, for example.
  • the configuration of the input unit 153 is not particularly limited as long as the user can input information to the information processing apparatus 100.
  • the input unit 153 includes a sound collection unit for collecting a user's voice, and acquires the user's voice input to the sound collection unit as information input from the user. May be.
  • the output unit 155 is an output interface for the information processing apparatus 100 to present various information to the user.
  • the output unit 155 may include a display device that outputs an image such as a still image or a moving image, such as a so-called display.
  • the configuration of the output unit 155 is not particularly limited as long as the information processing apparatus 100 can present various types of information to the user.
  • the output unit 155 may include an acoustic device that outputs sound, such as a speaker.
  • the output unit 155 may include a vibration device that presents the information to the user by vibrating in a pattern corresponding to the information to be presented, such as a so-called vibrator.
  • a configuration corresponding to a part of the information processing apparatus 100 that acquires an image captured from the imaging unit 131 and a part that acquires a detection result from the detection unit 133 corresponds to an example of an “acquisition unit”. That is, a part of the image processing unit 101 that acquires an image captured from the imaging unit 131 and a part of the calculation unit 103 that acquires a detection result from the detection unit 133 can correspond to an example of the “acquisition unit”. . In other words, an interface for the information processing apparatus 100 to acquire various types of information from the imaging unit 131 and the detection unit 133 can correspond to an example of an “acquisition unit”.
  • the functional configuration described above is merely an example, and the functional configuration of the information processing system 1 according to the present embodiment is not necessarily limited.
  • the information acquisition device 130 and the information processing device 100 may be integrally configured.
  • at least a part of the configuration of the storage unit 151, the input unit 153, and the output unit 155 may be included in the information processing apparatus 100.
  • some of the components of the information processing apparatus 100 may be provided outside the information processing apparatus 100.
  • each function of the information processing apparatus 100 may be realized by a plurality of apparatuses that operate in cooperation with each other.
  • FIG. 3 is an explanatory diagram for explaining the outline of the principle of calibration according to the present embodiment.
  • reference numerals 130 a and 130 b schematically indicate different viewpoints (in other words, the information processing apparatuses 130 held at different positions and postures) held by the information acquisition apparatus 130. Yes.
  • the information processing apparatus 100 extracts a plurality of line segments extending in the direction of gravity from the image captured by the imaging unit 131 supported by the information acquisition apparatus 130, and The gravity direction vector c is calculated by specifying the intersection of the straight lines obtained by extending each of the plurality of line segments. Therefore, in the calibration according to the present embodiment, it is desirable to use an object having a portion extending in the direction of gravity as a subject.
  • thread-like objects M101a and M101b having one end fixed and a weight attached to the other end are used as subjects.
  • the objects M101a and M101b that are stretched in the gravitational direction by a weight are captured in the image.
  • the position and orientation (in other words, the viewpoint) of the imaging unit 131 that captures the images of the objects M101a and M101b are set so that the objects M101a and M101b captured as subjects in the images are not parallel to each other. desirable. Therefore, for example, in the example illustrated in FIG. 3, the position and orientation (in other words, the viewpoint) at which the imaging unit 131 captures an image is set so that an image of the objects M101a and M101b viewed obliquely from above is captured. Yes.
  • FIG. 4 is an explanatory diagram for explaining an outline of calibration according to the present embodiment, and shows an example of an image captured so that the objects M101a and M101b shown in FIG. 3 are looked down obliquely from above. .
  • the stretched portions become the coordinate system of the image (that is, , A part of the local coordinate system of the imaging unit 131).
  • the reference symbol P shown in FIG. 4 indicates the intersection of the portions obtained by extending the objects M101a and M101b.
  • the objects M101a and M101b are held so that the thread-like portion extends in the direction of gravity in the real space. That is, on the image, the direction in which the thread portions of the objects M101a and M101b extend indicates the direction of gravity in the coordinate system of the image.
  • the intersection point P of the extended portions of the objects M101a and M101b imaged as subjects is a vanishing point (infinite in the gravity direction). Corresponds to the far point).
  • the information processing apparatus 100 uses the above-described characteristics to calculate the gravity direction vector c in the local coordinate system of the imaging unit 131 based on the subject in the image captured by the imaging unit 131. calculate.
  • the thread-like portions that is, line segments extending in the direction of gravity
  • the objects M101a and M101b without moving the position and orientation of the imaging unit 131 (that is, without moving the viewpoint), the objects M101a and M101b (particularly, a filamentous portion extending in the direction of gravity) exist within the imaging range with the same exposure setting.
  • a case image and a non-existing image may be captured, and the objects M101a and M101b may be extracted as a difference between the two images.
  • the thread-like portions of the objects M101a and M101b are extracted. May be.
  • the above is merely an example, and the method is not particularly limited as long as a plurality of line segments extending in the direction of gravity can be extracted from the image based on the subject imaged in the image.
  • all of the straight lines obtained by extending each of the plurality of extracted line segments may not intersect at one point due to the influence of an observation error or the like. .
  • the point at which the sum of the distances to the respective straight lines is minimized may be regarded as the intersection described above.
  • the intersection of straight lines obtained by extending a plurality of line segments does not necessarily have to be located in the image. That is, even when the intersection is located outside the image, the above-described gravity direction vector c can be calculated based on the identification result of the intersection by specifying the coordinates of the intersection in the local coordinate system of the imaging unit 131. Is possible.
  • the optical axis direction of the imaging unit 131 is the z direction, and the horizontal and vertical directions of the captured image on the imaging surface of the imaging element of the imaging unit 131 are described.
  • the directions corresponding to the directions are defined as an x direction and a y direction, respectively.
  • the imaging unit 131 if the x and y directions, respectively of the focal length and f x and f y, the x and y directions, respectively of the optical center and the c x and c y, inside of the imaging unit 131
  • the parameter matrix K is expressed as (Equation 1) shown below.
  • the two-dimensional point is (p x , p y )
  • the two-dimensional point is Based on the calculation formula shown below as (Formula 2), it can be converted into a three-dimensional vector (v x , v y , v z ) in real space.
  • the information processing apparatus 100 is on the image captured by the imaging unit 131 at the intersections (for example, the intersection point P shown in FIG. 4) of a plurality of line segments extending in the gravity direction extracted from the captured image by the imaging unit 131.
  • the coordinates in the two-dimensional coordinate system are converted into a three-dimensional vector based on the above (Expression 1) and (Expression 2).
  • the three-dimensional vector thus obtained corresponds to the gravity direction vector c in the real space.
  • the information processing apparatus 100 calculates the gravity direction vector c by specifying the intersections of a plurality of line segments extracted from the image. Therefore, it is more desirable to set the viewpoint (in other words, the position and orientation of the imaging unit 131) so that the intersection can be stably identified. Therefore, an example of viewpoint setting conditions capable of more stably calculating the intersection (and hence the gravity direction vector c) will be described below with reference to FIG.
  • FIG. 5 is an explanatory diagram for explaining an outline of calibration according to the present embodiment, and shows an example of a viewpoint setting condition capable of calculating the gravity direction vector c in a more preferable manner.
  • reference numerals M101a and M101b schematically show portions (line segments) extending in the gravitational direction of the objects M101a and M101b shown in FIGS.
  • the reference sign d near schematically represents the distance between the image capturing unit 131 and the end closer to the image capturing unit 131 among the ends of the objects M101a and M101b (line segments) along the gravitational direction. Show. Further, the reference symbol d far indicates the distance between the image capturing unit 131 and the end of the objects M101a and M101b (line segments) that are farther from the image capturing unit 131 along the gravitational direction. This is shown schematically.
  • the viewpoint (in other words, the position and orientation of the imaging unit 131, and thus the position and orientation of the information acquisition device 130) is set so that the distance d near and the distance d far satisfy the following condition (Formula 3).
  • the viewpoint is set so that the distance d near and the distance d far satisfy the following condition (Formula 3).
  • the information processing apparatus 100 calculates the function R based on the gravity direction vector c and the gravity acceleration vector a derived for each viewpoint for each of a plurality of viewpoints.
  • the calculation method of the gravity direction vector c is as described above.
  • the gravitational acceleration vector a can be acquired as a detection result of acceleration (gravity acceleration) by the detection unit 133.
  • the function R in a case where a function that rotates converted to the local coordinate system of the imaging unit 131 from the local coordinate system of the detection unit 133, the relationship between the gravity direction vector c n and the gravitational acceleration vector a n at a certain viewpoint n Is expressed by the relational expression shown below as (Equation 4) when the measurement error can be ignored.
  • N is an integer of 2 or more
  • N is an integer of 2 or more
  • the function R is calculated based on the calculation formula shown below as (Formula 4). Note that errors caused by the imaging unit 131 itself (for example, lens distortion internal parameters), errors caused by the detection unit 133 itself (for example, bias and scale factor), and the like were applied to each in advance. It is assumed that the effect can be ignored by calibration.
  • the function R is estimated by searching for the function R that best satisfies the relationship expressed by the above (formula 5). From such characteristics, among a plurality of viewpoints, so that the gravity direction vector c n and different results as the gravity acceleration vector a n is obtained, it is desirable that each viewpoint is set. Specifically, the position of the intersection specified from the image captured for each viewpoint (that is, the position of the imaging unit 131 in the local coordinate system) is different between at least two viewpoints among a plurality of viewpoints. Each viewpoint may be set.
  • FIG. 6 is a flowchart illustrating an example of the flow of calibration processing according to the present embodiment.
  • the information processing apparatus 100 acquires an image captured by the imaging unit 131 supported by the information acquisition apparatus 130 from the information acquisition apparatus 130.
  • the information processing apparatus 100 (calculation unit 103) acquires information corresponding to the detection result of the gravitational acceleration by the detection unit 133 supported by the information acquisition apparatus 130 from the information acquisition apparatus 130 (S101).
  • the information processing apparatus 100 (the image processing unit 101) performs an analysis process (image analysis) on the image captured for each viewpoint, and based on the subject captured in the image, in the direction of gravity from the image. A plurality of line segments to be drawn are extracted (S103).
  • the information processing apparatus 100 specifies intersections of straight lines obtained by extending the plurality of line segments in the image based on the extraction results of the plurality of line segments from the image (S105).
  • the information processing apparatus 100 performs the processing indicated by the reference buns S101 to S105 while changing the position and orientation (that is, viewpoint) of the information acquisition apparatus 130, and the number of samples of the various information acquired for each viewpoint is equal to or greater than a threshold value. It continues until it becomes (S107, NO).
  • the information processing apparatus 100 (calculation unit 103) captures images based on the various information for each viewpoint.
  • the relative posture relationship between the unit 131 and the detection unit 133 is calculated (S109).
  • the information processing apparatus 100 determines the gravity in the local coordinate system of the detection unit 133 corresponding to the viewpoint according to the acceleration detection result by the detection unit 133 acquired for each of the plurality of viewpoints.
  • An acceleration vector a is specified.
  • the information processing apparatus 100 (calculation unit 103), for each of the plurality of viewpoints, in the local coordinate system of the imaging unit 131 corresponding to the viewpoint based on the identification result of the intersection of the plurality of line segments corresponding to the viewpoint.
  • a gravity direction vector c is calculated.
  • the information processing apparatus 100 (calculation unit 103) is based on the gravitational acceleration vector a and the gravitational direction vector c at each of a plurality of viewpoints, and includes the local coordinate system of the imaging unit 131 and the local coordinate system of the detection unit 133.
  • the function R for converting from one to the other is calculated.
  • a plurality of line segments are extracted from the image based on the subject imaged in the image, and the intersection (disappearance point) of straight lines obtained by extending each of the plurality of line segments. Is identified. Then, a gravity vector c in the local coordinate system of the imaging unit 131 is calculated based on the result of specifying the intersection and the internal parameters of the imaging unit 131. Therefore, for example, in the example described with reference to FIGS. 3 to 5, the thread-like objects M101a and M101b having one end fixed and a weight attached to the other end are connected to the plurality of line segments. It was used as a subject for extracting.
  • the subject to be extracted and used is not particularly limited.
  • some buildings such as buildings have an edge extending in a vertical direction (in other words, a gravitational direction). Therefore, in this way, with an object that is known to have a part extending in the vertical direction (gravity direction) as a subject, a part extending in the vertical direction from the captured image (for example, an edge) The intersection may be specified by extracting as the line segment.
  • FIG. 7 is an explanatory diagram for explaining an example of the calibration method according to the modified example 1, and an example of using a building such as a building as a subject for extracting the plurality of line segments.
  • FIG. 7 shows an example of an image when a building having an edge extending in the vertical direction is imaged so as to look down obliquely from above.
  • the object (building) with the reference sign M201 is taken as the subject, and the portions corresponding to the edges M203a and M203b extending in the vertical direction among the parts of the object are taken from the captured image. Extracted as the line segment.
  • the imaging is performed based on the identification result of the intersection and the internal parameters of the imaging unit 131.
  • the gravity vector c in the local coordinate system of the part 131 can be calculated.
  • FIG. 8 is an explanatory diagram for explaining another example of the calibration method according to the modified example 1, in the case where a building such as a building is used as a subject for extracting the plurality of line segments. Another example is shown. Specifically, FIG. 8 shows an example of an image when a building having an edge extending in the vertical direction is imaged so as to look up obliquely from below. In the example shown in FIG. 8, the object (building) with the reference sign M211 is used as a subject, and the portions corresponding to the edges M213a and M213b extending in the vertical direction are selected from the captured image. Extracted as the line segment.
  • the imaging is performed based on the identification result of the intersection and the internal parameters of the imaging unit 131.
  • the gravity vector c in the local coordinate system of the part 131 can be calculated. Note that the intersection point specified in the example shown in FIG. 8 corresponds to a vanishing point (infinite point) in the direction opposite to the direction of gravity (vertically upward direction).
  • the subject By performing the above-described calibration by the method as described above, as in the example described with reference to FIGS. 3 to 5, the subject is positioned around without preparing a subject to perform the calibration.
  • the object can be used for the calibration. Therefore, for example, when the information acquisition device 130 is configured as a moving body, the calibration can be performed in real time while recognizing the surrounding environment by self-position estimation or the like.
  • the above-described example is just an example, and does not limit the calibration method according to the present embodiment.
  • the subject does not have a linear portion. Also good.
  • the subject may not have a linear portion.
  • an object that is held in a predetermined posture according to the direction in which the gravitational acceleration is applied is a subject, and based on the posture of the object captured in the image, the object is stretched in the gravity direction. It is also possible to calculate a vector (in other words, a line segment).
  • a common subject may not be captured in images corresponding to each of a plurality of viewpoints. That is, if it is possible to extract a plurality of line segments (or a plurality of straight lines) extending in the direction of gravity (vertical direction) from each image for each viewpoint, it is used for extracting each of the plurality of line segments.
  • the subject may be different between a plurality of viewpoints. As a more specific example, the image shown in FIG. 7 is used as an image taken from a certain viewpoint, and the image shown in FIG. 8 is used as an image taken from another viewpoint different from the viewpoint. Good. The same applies to the examples described with reference to FIGS.
  • Modification 2 Example of Coordinate Conversion Function Calculation Method> Subsequently, as a second modification example, a function R that performs conversion between the local coordinate system of the imaging unit 131 and the local coordinate system of the detection unit 133 is described with respect to another example of the calibration method according to the present embodiment. Description will be made by paying attention to the calculation method.
  • Modification 2 with respect to another example of the calibration method according to the present embodiment, in particular, calculation of a function R that performs conversion between the local coordinate system of the imaging unit 131 and the local coordinate system of the detection unit 133. It explained focusing on the method.
  • Modification 3 Example of UI> Subsequently, as a third modification, an example of the UI of the information processing system according to the present embodiment will be described. In the present modification, an example of a UI for guiding the user so that a viewpoint that enables more stable calculation of the function R described above is set will be described.
  • the viewpoint in other words, the position and orientation of the imaging unit 131, and thus the position and orientation of the information acquisition device 130) satisfying the condition described above as (Equation 3).
  • the intersection can be identified more stably.
  • each viewpoint is set such that the position of the intersection specified from the image captured for each viewpoint (that is, the position in the local coordinate system of the imaging unit 131) differs between at least two viewpoints among the plurality of viewpoints. Should be set.
  • FIG. 9 is an explanatory diagram for explaining the outline of the information processing system according to the modification 3, and shows an example of a UI that guides the user so that a more suitable viewpoint is set.
  • the example illustrated in FIG. 9 illustrates an example of a UI for guiding the user so that a viewpoint satisfying the above-described condition as (Equation 3) is set.
  • the position and orientation of the information acquisition device 130 satisfy the condition indicated by (Equation 3) with respect to the image V110 (for example, a through image) captured by the imaging unit 131.
  • a guide V111 for guiding so as to satisfy is superimposed.
  • the user adjusts the position and posture of the information acquisition device 130 so that the thread-like portions of the objects M101a and M101b (that is, the portions extending in the direction of gravity) are along the guide V111. And the posture satisfies the condition shown in the above (Equation 3).
  • the presentation of the guide V111 may be controlled so that the position of the portion corresponding to the intersection of the guide V111 in the image differs for each set viewpoint.
  • the gravity direction vector c n and different results as the gravity acceleration vector a n is obtained, so that the plurality of viewpoints are set .
  • FIG. 10 is an explanatory diagram for explaining the outline of the information processing system according to the modification example 3, and shows another example of the UI for guiding the user so that a more suitable viewpoint is set. Specifically, in the example illustrated in FIG. 10, the direction for changing the position and orientation of the information acquisition device 130 is presented to the user to guide the user so that the viewpoint is set in a more preferable manner. An example of a UI is shown.
  • display information V121 indicating the direction in which the position and orientation of the information acquisition device 130 are changed is superimposed on an image V120 (for example, a through image) captured by the imaging unit 131.
  • the viewpoint is set in a more preferable manner by the user changing the position and orientation of the information acquisition device 130 along the guidance of the display information V121.
  • FIGS. 9 and 10 are merely examples, and the UI for the guidance is not particularly limited as long as each viewpoint can be set in a more preferable manner.
  • 9 and 10 an example in which the user is visually guided by the display information has been described.
  • the guidance method is not necessarily limited.
  • the user may be guided by presentation of voice or force sense.
  • Modification 3 an example of the UI of the information processing system according to the present embodiment has been described.
  • an example of a UI for guiding the user so that a viewpoint capable of more stably calculating the function R described above is set has been described.
  • FIG. 11 is a functional block diagram illustrating an example of a hardware configuration of the information processing apparatus 900 configuring the information processing system according to an embodiment of the present disclosure.
  • the information processing apparatus 900 constituting the information processing system 1 mainly includes a CPU 901, a ROM 902, and a RAM 903.
  • the information processing apparatus 900 further includes a host bus 907, a bridge 909, an external bus 911, an interface 913, an input device 915, an output device 917, a storage device 919, a drive 921, and a connection port 923. And a communication device 925.
  • the CPU 901 functions as an arithmetic processing unit and a control unit, and controls all or a part of the operation in the information processing apparatus 900 according to various programs recorded in the ROM 902, the RAM 903, the storage apparatus 919, or the removable recording medium 927.
  • the ROM 902 stores programs used by the CPU 901, calculation parameters, and the like.
  • the RAM 903 primarily stores programs used by the CPU 901, parameters that change as appropriate during execution of the programs, and the like. These are connected to each other by a host bus 907 constituted by an internal bus such as a CPU bus. Note that the image processing unit 101, the calculation unit 103, and the input / output control unit 105 described above with reference to FIG. 2 can be realized by the CPU 901, for example.
  • the host bus 907 is connected to an external bus 911 such as a PCI (Peripheral Component Interconnect / Interface) bus via a bridge 909.
  • an input device 915, an output device 917, a storage device 919, a drive 921, a connection port 923, and a communication device 925 are connected to the external bus 911 via an interface 913.
  • the input device 915 is an operation means operated by the user, such as a mouse, a keyboard, a touch panel, a button, a switch, a lever, and a pedal. Further, the input device 915 may be, for example, remote control means (so-called remote control) using infrared rays or other radio waves, or an external connection device such as a mobile phone or a PDA corresponding to the operation of the information processing device 900. 929 may be used. Furthermore, the input device 915 includes an input control circuit that generates an input signal based on information input by a user using the above-described operation means and outputs the input signal to the CPU 901, for example. A user of the information processing apparatus 900 can input various data and instruct a processing operation to the information processing apparatus 900 by operating the input device 915.
  • the input unit 153 described above with reference to FIG. 2 can be realized by the input device 915, for example.
  • the output device 917 is a device that can notify the user of the acquired information visually or audibly. Examples of such devices include CRT display devices, liquid crystal display devices, plasma display devices, EL display devices, display devices such as lamps, audio output devices such as speakers and headphones, printer devices, and the like.
  • the output device 917 outputs results obtained by various processes performed by the information processing apparatus 900. Specifically, the display device displays results obtained by various processes performed by the information processing device 900 as text or images.
  • the audio output device converts an audio signal composed of reproduced audio data, acoustic data, and the like into an analog signal and outputs the analog signal.
  • the output unit 155 described above with reference to FIG. 2 can be realized by the output device 917, for example.
  • the storage device 919 is a data storage device configured as an example of a storage unit of the information processing device 900.
  • the storage device 919 includes, for example, a magnetic storage device such as an HDD (Hard Disk Drive), a semiconductor storage device, an optical storage device, or a magneto-optical storage device.
  • the storage device 919 stores programs executed by the CPU 901 and various data.
  • the drive 921 is a reader / writer for a recording medium, and is built in or externally attached to the information processing apparatus 900.
  • the drive 921 reads information recorded on a removable recording medium 927 such as a mounted magnetic disk, optical disk, magneto-optical disk, or semiconductor memory, and outputs the information to the RAM 903.
  • the drive 921 can also write a record to a removable recording medium 927 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory that is mounted.
  • the removable recording medium 927 is, for example, a DVD medium, an HD-DVD medium, a Blu-ray (registered trademark) medium, or the like.
  • the removable recording medium 927 may be a compact flash (registered trademark) (CF: CompactFlash), a flash memory, an SD memory card (Secure Digital memory card), or the like. Further, the removable recording medium 927 may be, for example, an IC card (Integrated Circuit card) on which a non-contact IC chip is mounted, an electronic device, or the like. Note that the storage unit 151 described above with reference to FIG. 2 can be implemented by at least one of the RAM 903 and the storage device 919, for example.
  • the connection port 923 is a port for directly connecting to the information processing apparatus 900.
  • Examples of the connection port 923 include a USB (Universal Serial Bus) port, an IEEE 1394 port, a SCSI (Small Computer System Interface) port, and the like.
  • As another example of the connection port 923 there are an RS-232C port, an optical audio terminal, an HDMI (registered trademark) (High-Definition Multimedia Interface) port, and the like.
  • the communication device 925 is a communication interface configured with, for example, a communication device for connecting to a communication network (network) 931.
  • the communication device 925 is, for example, a communication card for wired or wireless LAN (Local Area Network), Bluetooth (registered trademark), or WUSB (Wireless USB).
  • the communication device 925 may be a router for optical communication, a router for ADSL (Asymmetric Digital Subscriber Line), a modem for various communication, or the like.
  • the communication device 925 can transmit and receive signals and the like according to a predetermined protocol such as TCP / IP, for example, with the Internet or other communication devices.
  • the communication network 931 connected to the communication device 925 is configured by a wired or wireless network, and may be, for example, the Internet, a home LAN, infrared communication, radio wave communication, satellite communication, or the like. .
  • each component described above may be configured using a general-purpose member, or may be configured by hardware specialized for the function of each component. Therefore, it is possible to change the hardware configuration to be used as appropriate according to the technical level at the time of carrying out this embodiment.
  • various configurations corresponding to the information processing apparatus 900 configuring the information processing system 1 according to the present embodiment are naturally provided.
  • a computer program for realizing each function of the information processing apparatus 900 constituting the information processing system 1 according to the present embodiment as described above can be produced and mounted on a personal computer or the like.
  • a computer-readable recording medium storing such a computer program can be provided.
  • the recording medium is, for example, a magnetic disk, an optical disk, a magneto-optical disk, a flash memory, or the like.
  • the above computer program may be distributed via a network, for example, without using a recording medium.
  • the number of computers that execute the computer program is not particularly limited.
  • the computer program may be executed by a plurality of computers (for example, a plurality of servers) in cooperation with each other.
  • a single computer or a combination of a plurality of computers is also referred to as a “computer system”.
  • the technique related to calibration by the information processing apparatus 100 is applicable to any apparatus in which the imaging unit 131 and the detection unit 133 are integrally supported.
  • the other of the imaging unit 131 and the detection unit 133 may be configured to be detachable. That is, the relative posture relationship between the imaging unit 131 and the detection unit 133 is fixed at least temporarily (for example, fixed when acquiring information for calibration), and the other is As long as the apparatus is configured to be held, the technique related to the calibration can be applied.
  • a device configured to be portable, a device assumed to be carried by a user at the time of use, and the like can be given.
  • More specific examples include a communication terminal such as a smartphone, a wearable device that is used by being attached to a part of a user's body, and the like.
  • some controllers and the like that are used by the user holding the casing have a configuration corresponding to the imaging unit 131 and the detection unit 133 in order to realize gesture input and the like.
  • the technique related to the calibration can also be applied to such a controller.
  • a movable body such as a vehicle or a drone, a device configured to be movable such as a so-called autonomous robot, and the like can be given. It is done.
  • FIG. 12 is an explanatory diagram for describing an application example of an embodiment of the present disclosure, and illustrates an example of a configuration of the input / output device 20 that can be a target of calibration by the information processing apparatus 100.
  • the input / output device 20 is configured as a so-called head-mounted device that is used by the user by mounting it on at least a part of the head.
  • the input / output device 20 is configured as a so-called eyewear type (glasses type) device, and at least one of the lenses 293a and 293b is a transmission type display (display unit 211). It is configured as.
  • the input / output device 20 includes first imaging units 201a and 201b, second imaging units 203a and 203b, an operation unit 207, and a holding unit 291 corresponding to a frame of glasses.
  • the holding unit 291 When the input / output device 20 is mounted on the user's head, the holding unit 291 includes the display unit 211, the first imaging units 201a and 201b, the second imaging units 203a and 203b, and the operation unit 207. It holds so that it may become a predetermined positional relationship with respect to the user's head.
  • the input / output device 20 may include a sound collecting unit for collecting the user's voice.
  • the lens 293a corresponds to a right eye side lens
  • the lens 293b corresponds to a left eye side lens. That is, the holding unit 291 holds the display unit 211 so that the display unit 211 (in other words, the lenses 293a and 293b) is positioned in front of the user's eyes when the input / output device 20 is mounted.
  • the first imaging units 201a and 201b are configured as so-called stereo cameras, and when the input / output device 20 is mounted on the user's head, the direction in which the user's head is facing (that is, in front of the user). Are held by the holding portions 291 so as to face each other. At this time, the first imaging unit 201a is held near the right eye of the user, and the first imaging unit 201b is held near the left eye of the user. Based on such a configuration, the first imaging units 201a and 201b capture a subject located in front of the input / output device 20 (in other words, a real object located in real space) from different positions.
  • the input / output device 20 acquires the image of the subject located in front of the user, and also from the input / output device 20 based on the parallax between images captured by the first imaging units 201a and 201b. It is possible to calculate the distance to the subject.
  • the configuration and method are not particularly limited as long as the distance between the input / output device 20 and the subject can be measured.
  • the distance between the input / output device 20 and the subject may be measured based on a method such as multi-camera stereo, moving parallax, TOF (Time Of Flight), or Structured Light.
  • TOF refers to projecting light such as infrared rays to a subject and measuring the time until the posted light is reflected and returned by the subject for each pixel, and based on the measurement result, This is a method of obtaining an image (so-called distance image) including the distance (depth) of the image.
  • the Structured Light is a distance image that includes the distance (depth) to the subject based on the change in the pattern obtained from the imaging result by irradiating the subject with light such as infrared rays and imaging it. It is a method to obtain.
  • the moving parallax is a method of measuring the distance to the subject based on the parallax even in a so-called monocular camera. Specifically, the subject is imaged from different viewpoints by moving the camera, and the distance to the subject is measured based on the parallax between the captured images. At this time, the distance to the subject can be measured with higher accuracy by recognizing the moving distance and moving direction of the camera using various sensors. Note that the configuration of the imaging unit (for example, a monocular camera, a stereo camera, or the like) may be changed according to the distance measurement method.
  • the second imaging units 203a and 203b are respectively held by the holding unit 291 so that when the input / output device 20 is mounted on the user's head, the user's eyeball is positioned within each imaging range.
  • the second imaging unit 203a is held so that the user's right eye is positioned within the imaging range. Based on such a configuration, the line of sight of the right eye based on the image of the right eyeball imaged by the second imaging unit 203a and the positional relationship between the second imaging unit 203a and the right eye. It becomes possible to recognize the direction that is facing.
  • the second imaging unit 203b is held so that the left eye of the user is positioned within the imaging range.
  • the input / output device 20 is configured to include both the second imaging units 203a and 203b. However, only one of the second imaging units 203a and 203b may be provided. Good.
  • the operation unit 207 is configured to accept an operation from the user with respect to the input / output device 20.
  • the operation unit 207 may be configured by an input device such as a touch panel and buttons.
  • the operation unit 207 is held at a predetermined position of the input / output device 20 by the holding unit 291. For example, in the example shown in FIG. 12, the operation unit 207 is held at a position corresponding to a temple of glasses.
  • the input / output device 20 is provided with, for example, an acceleration sensor or an angular velocity sensor (gyro sensor), and the movement of the head of the user wearing the input / output device 20 (in other words, the movement of the input / output device 20 itself). May be configured to be detectable. As a specific example, the input / output device 20 detects components of the yaw direction, the pitch direction, and the roll direction as movements of the user's head. A change in at least one of the position and posture of the head may be recognized.
  • the input / output device 20 may recognize a change in its position and posture in the real space according to the movement of the user's head. At this time, based on the so-called AR technology, the input / output device 20 displays the content on the display unit 211 so that the virtual content (that is, the virtual object) is superimposed on the real object located in the real space. May be presented.
  • the above-described book is used for calibration of the relative relationship between the postures of the first imaging units 201a and 201b and the postures of the acceleration sensor and the angular velocity sensor. It is possible to apply the technique according to the embodiment (that is, the technique related to the calibration described above).
  • HMD Head Mounted Display
  • a see-through HMD a video see-through HMD
  • retinal projection type HMD a see-through HMD
  • the see-through type HMD uses, for example, a half mirror or a transparent light guide plate to hold a virtual image optical system including a transparent light guide unit or the like in front of the user's eyes and display an image inside the virtual image optical system. Therefore, a user wearing a see-through HMD can view an external scenery while viewing an image displayed inside the virtual image optical system.
  • the see-through type HMD for example, is based on the AR technology, based on the recognition result of at least one of the position and orientation of the see-through type HMD, with respect to the optical image of the real object located in the real space. It is also possible to superimpose virtual object images.
  • a specific example of the see-through HMD is a so-called glasses-type wearable device in which a portion corresponding to a lens of glasses is configured as a virtual image optical system.
  • the input / output device 20 illustrated in FIG. 12 corresponds to an example of a see-through HMD.
  • the video see-through HMD When the video see-through HMD is mounted on the user's head or face, the video see-through HMD is mounted so as to cover the user's eyes, and a display unit such as a display is held in front of the user's eyes. Further, the video see-through HMD has an imaging unit for imaging a surrounding landscape, and displays an image of a landscape in front of the user captured by the imaging unit on the display unit. With such a configuration, it is difficult for a user wearing a video see-through HMD to directly view an external landscape, but it is possible to confirm the external landscape from an image displayed on the display unit. Become. At this time, the video see-through HMD superimposes a virtual object on an external landscape image according to the recognition result of at least one of the position and orientation of the video see-through HMD, for example, based on the AR technology. You may let them.
  • a projection unit is held in front of the user's eyes, and the image is projected from the projection unit toward the user's eyes so that the image is superimposed on an external landscape. More specifically, in the retinal projection type HMD, an image is directly projected from the projection unit onto the retina of the user's eye, and the image is formed on the retina. With such a configuration, it is possible to view a clearer video even for a myopic or farsighted user. In addition, the user wearing the retinal projection type HMD can view an external landscape while viewing an image projected from the projection unit.
  • the retinal projection type HMD is based on, for example, the AR technology, and an optical image of a real object located in the real space according to at least one of the positions and orientations of the retinal projection type HMD. It is also possible to superimpose a virtual object image on the image.
  • an HMD called an immersive HMD.
  • the immersive HMD is mounted so as to cover the user's eyes, and a display unit such as a display is held in front of the user's eyes. For this reason, it is difficult for a user wearing an immersive HMD to directly view an external landscape (that is, a real world landscape), and only the image displayed on the display unit enters the view. With such a configuration, the immersive HMD can give an immersive feeling to the user who is viewing the image.
  • the information processing apparatus detects an image captured by the imaging unit and a gravity acceleration detected by the detection unit supported by the imaging unit for each of a plurality of different viewpoints. Get the result. Further, the information processing apparatus extracts a plurality of line segments extending in the direction of gravity from the image based on the subject captured in the image for each viewpoint, and a straight line obtained by extending each of the plurality of line segments. Identify the intersection. Then, the information processing apparatus, based on the detection result of the gravitational acceleration acquired for each of the plurality of viewpoints, and the intersection specified for each of the plurality of viewpoints, between the imaging unit and the detection unit The relative posture relationship between them is calculated.
  • the information processing apparatus has a first coordinate system associated with the imaging unit, a second coordinate system associated with the detection unit, and a posture in one coordinate system of the other coordinate system. Calculating a function R to convert to a posture in the coordinate system;
  • the association (calibration) between the orientation of the imaging unit and the orientation of the detection unit which takes into account errors related to the mounting of the imaging unit and the detection unit, is realized with a smaller amount of calculation. It becomes possible. Further, according to the technology according to the present disclosure, the above association can be realized by a simple facility and a simple procedure without requiring a dedicated facility or a complicated procedure. Thus, according to the information processing apparatus according to an embodiment of the present disclosure, the association between the orientation of the imaging unit and the orientation of the detection unit (in other words, coordinate conversion between the imaging unit and the detection unit). ) Can be realized in a more preferable manner.
  • an acquisition unit that acquires an image captured by the imaging unit and a detection result of gravitational acceleration by the detection unit supported by the imaging unit
  • An image processing unit that extracts a plurality of line segments extending in the direction of gravity from the image based on the subject imaged in the image for each viewpoint, and identifies intersections of straight lines that extend the plurality of line segments;
  • a relative posture relationship between the imaging unit and the detection unit is obtained.
  • a computing unit to calculate, An information processing apparatus comprising: (2) The calculation unit includes a first coordinate system associated with the imaging unit based on a detection result of the gravitational acceleration acquired for each viewpoint and a specification result of the intersection for each viewpoint, and the detection The information processing apparatus according to (1), wherein the second coordinate system associated with the unit is associated.
  • the computing unit is Based on the identification result of the intersection for each viewpoint, calculate a vector of gravity direction in the first coordinate system at the viewpoint, Based on the detection result of the gravitational acceleration acquired for each of the plurality of viewpoints and the vector of the gravity direction calculated for each of the plurality of viewpoints, the first coordinate system and the second coordinate system,
  • the information processing apparatus according to (2) wherein: (4)
  • the computing unit is configured to use the first coordinate system and the second coordinate based on a vector in the gravitational direction in the first coordinate system and a vector corresponding to the gravitational acceleration in the second coordinate system.
  • the information processing apparatus according to (3) wherein a function for converting a posture in one coordinate system of the system to a posture in the other coordinate system is calculated.
  • the image processing unit extracts at least a part of the plurality of line segments based on the posture of an object captured as the subject in the image for each viewpoint and held in a posture according to gravity.
  • the information processing apparatus according to any one of (1) to (4).
  • (6) The information processing apparatus according to (5), wherein the image processing unit extracts the line segment based on the posture of the object for each of the plurality of objects captured as the subject in the image for each viewpoint. .
  • the image processing unit extracts at least a part of the plurality of line segments based on an edge extending in a gravity direction of an object imaged as the subject in the image for each viewpoint.
  • the information processing apparatus according to any one of 4).
  • At least two or more viewpoints included in the plurality of viewpoints are specified from the images captured by the imaging unit from the viewpoints so that the positions of the intersections in the coordinate system associated with the imaging unit are different from each other.
  • the information processing apparatus according to any one of (1) to (9), which is set.
  • the positions of the intersections in the coordinate system associated with the imaging unit specified from the image captured by the imaging unit from the viewpoints are different from each other.
  • the information processing apparatus according to any one of (1) to (10), further including an output control unit that causes an output unit to output information for inducing movement of the viewpoint position.

Landscapes

  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Vascular Medicine (AREA)
  • Biomedical Technology (AREA)
  • Signal Processing (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Details Of Cameras Including Film Mechanisms (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
  • Studio Devices (AREA)

Abstract

【課題】撮像部と検知部との間の姿勢関係の認識をより好適な態様で実現可能とする。 【解決手段】互いに異なる複数の視点それぞれについて、撮像部により撮像された画像と、当該撮像部に支持された検知部による重力加速度の検知結果と、を取得する取得部と、前記視点ごとの前記画像に撮像された被写体に基づき、当該画像中から重力方向に延伸する複数の線分を抽出し、当該複数の線分それぞれを延伸した直線の交点を特定する画像処理部と、前記複数の視点それぞれについて取得された前記重力加速度の検知結果と、当該複数の視点それぞれについて特定された前記交点と、に基づき、前記撮像部と前記検知部との間の相対的な姿勢関係を算出する演算部と、を備える、情報処理装置。

Description

情報処理装置、情報処理方法、及びプログラム
 本開示は、情報処理装置、情報処理方法、及びプログラムに関する。
 画像処理技術の発展に伴い、デジタルカメラ(換言すると、イメージセンサ)等の撮像部により撮像された画像を解析することで、当該画像中に撮像された被写体を認識したり、当該撮像部の周囲の環境を認識する等のような、撮像画像を利用した認識技術が各種提案されている。また、近年では、撮像画像の解析結果と、加速度センサや角速度センサ等の検知部(例えば、慣性計測装置(IMU:inertial measurement unit))による検知結果と、を利用した、より高度な認識技術も提案されている。このような認識技術により、例えば、上記撮像部及び上記検知部が支持された装置の自己位置推定を実現することも可能となる。そのため、当該認識技術は、例えば、AR(Augmented Reality)技術、VR(Virtual Reality)技術、及びロボティックス等にも応用されている。
特開2015-117943号公報 特許第3728900号公報
 上述のような認識技術においては、認識精度を維持するために、当該認識に利用される撮像部や各種センサ等のキャリブレーションが行われる場合が少なくない。例えば、特許文献1には、上記認識技術を実現するために利用され得るセンサのキャリブレーションに係る技術の一例が開示されている。また、特許文献2には、上記認識技術を実現するために利用され得る撮像部のキャリブレーションに係る技術の一例が開示されている。
 特に、撮像部による撮像画像の解析結果と、検知部による検知結果と、を利用した認識技術においては、当該撮像部及び当該検知部のうちの一方に対する他方の相対的な姿勢がより正確に認識されていることが重要となる。換言すると、上記認識技術をより好適な態様で実現するために、例えば、撮像部及び検知部の取り付けに際し生じ得る、当該撮像部及び当該検知部のうちの一方に対する他方の相対的な姿勢のばらつき(誤差)の影響をより低減可能とする技術(例えば、キャリブレーションに係る技術)の導入が求められている。
 そこで、本開示では、撮像部と検知部との間の姿勢関係の認識をより好適な態様で実現可能とする技術について提案する。
 本開示によれば、互いに異なる複数の視点それぞれについて、撮像部により撮像された画像と、当該撮像部に支持された検知部による重力加速度の検知結果と、を取得する取得部と、前記視点ごとの前記画像に撮像された被写体に基づき、当該画像中から重力方向に延伸する複数の線分を抽出し、当該複数の線分それぞれを延伸した直線の交点を特定する画像処理部と、前記複数の視点それぞれについて取得された前記重力加速度の検知結果と、当該複数の視点それぞれについて特定された前記交点と、に基づき、前記撮像部と前記検知部との間の相対的な姿勢関係を算出する演算部と、を備える、情報処理装置が提供される。
 また、本開示によれば、コンピュータが、互いに異なる複数の視点それぞれについて、撮像部により撮像された画像と、当該撮像部に支持された検知部による重力加速度の検知結果と、を取得することと、前記視点ごとの前記画像に撮像された被写体に基づき、当該画像中から重力方向に延伸する複数の線分を抽出し、当該複数の線分それぞれを延伸した直線の交点を特定することと、前記複数の視点それぞれについて取得された前記重力加速度の検知結果と、当該複数の視点それぞれについて特定された前記交点と、に基づき、前記撮像部と前記検知部との間の相対的な姿勢関係を算出することと、を含む、情報処理方法が提供される。
 また、本開示によれば、コンピュータに、互いに異なる複数の視点それぞれについて、撮像部により撮像された画像と、当該撮像部に支持された検知部による重力加速度の検知結果と、を取得することと、前記視点ごとの前記画像に撮像された被写体に基づき、当該画像中から重力方向に延伸する複数の線分を抽出し、当該複数の線分それぞれを延伸した直線の交点を特定することと、前記複数の視点それぞれについて取得された前記重力加速度の検知結果と、当該複数の視点それぞれについて特定された前記交点と、に基づき、前記撮像部と前記検知部との間の相対的な姿勢関係を算出することと、を実行させる、プログラムが提供される。
 以上説明したように本開示によれば、撮像部と検知部との間の姿勢関係の認識をより好適な態様で実現可能とする技術が提供される。
 なお、上記の効果は必ずしも限定的なものではなく、上記の効果とともに、または上記の効果に代えて、本明細書に示されたいずれかの効果、または本明細書から把握され得る他の効果が奏されてもよい。
本開示の一実施形態に係る情報処理システムのシステム構成の一例について概要を説明するための説明図である。 同実施形態に係る情報処理システムの機能構成の一例を示したブロック図である。 同実施形態に係るキャリブレーションの原理について概要を説明するための説明図である。 同実施形態に係るキャリブレーションの概要について説明するための説明図である。 同実施形態に係るキャリブレーションの概要について説明するための説明図である。 同実施形態に係るキャリブレーションの処理の流れの一例について示したフローチャートである。 変形例1に係るキャリブレーション方法の一例について説明するための説明図である。 変形例1に係るキャリブレーション方法の他の一例について説明するための説明図である。 変形例3に係る情報処理システムの概要について説明するための説明図である。 変形例3に係る情報処理システムの概要について説明するための説明図である。 本開示の一実施形態に係る情報処理システムを構成する情報処理装置のハードウェア構成の一例を示す機能ブロック図である。 本開示の一実施形態の応用例について説明するための説明図である。
 以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
 なお、説明は以下の順序で行うものとする。
 1.システム構成
 2.機能構成
 3.キャリブレーションの方法
  3.1.キャリブレーションの原理
  3.2.キャリブレーションの処理の流れ
 4.変形例
  4.1.変形例1:キャリブレーション方法の一例
  4.2.変形例2:座標変換関数の算出方法の一例
  4.3.変形例3:UIの一例
 5.ハードウェア構成
 6.応用例
 7.むすび
 <<1.システム構成>>
 まず、図1を参照して、本開示の一実施形態に係る情報処理システムの概略的なシステム構成の一例について説明する。図1は、本開示の一実施形態に係る情報処理システムのシステム構成の一例について概要を説明するための説明図である。
 図1に示すように、本実施形態に係る情報処理システム1は、情報取得装置130と、情報処理装置100とを含む。情報取得装置130と情報処理装置100とは、所定のネットワークを介して互いに情報を送受信可能に構成されている。なお、情報取得装置130と情報処理装置100とを接続するネットワークの種別は特に限定されない。具体的な一例として、当該ネットワークは、Wi-Fi(登録商標)規格に基づくネットワークのような、所謂無線のネットワークにより構成されていてもよい。また、他の一例として、当該ネットワークは、インターネット、専用線、LAN(Local Area Network)、または、WAN(Wide Area Network)等により構成されていてもよい。また、当該ネットワークは、複数のネットワークを含んでもよく、少なくとも一部が有線のネットワークとして構成されていてもよい。
 情報取得装置130は、各種認識技術の実現に利用する情報(換言すると、各種状態の認識に利用する情報)を取得するための装置を模式的に示している。具体的な一例として、自己位置推定のために各種状態を認識するような状況を想定した場合には、情報取得装置130は、当該自己位置推定の対象となる移動体自体、または、当該移動体に支持された自己位置推定を実現するために各種情報を収集する装置に相当する。
 図1に示すように、情報取得装置130は、周辺環境の画像を撮像するための撮像部131と、加速度や角速度等のように当該情報取得装置130の位置や姿勢の変化を検出するための検知部133(例えば、IMU)とを備える。撮像部131と検知部133とは、それぞれの位置及び姿勢のうち少なくとも姿勢の相対的な関係が所定の関係を満たすように支持される。具体的な一例として、撮像部131と検知部133とは、少なくとも後述するキャリブレーションのための情報の取得時において、相対的な姿勢関係が固定されるように支持されるとよい。より具体的な一例として、撮像部131と検知部133とは一体的に支持されるとよい。また、撮像部131と検知部133とは、一方に対して他方が着脱可能に構成されていてもよい。
 情報処理装置100は、情報取得装置130に支持された撮像部131や検知部133等の各構成のキャリブレーションを行う。特に、本実施形態に係る情報処理装置100は、情報取得装置130ごとに生じ得る、撮像部131と検知部133との間における、一方に対する他方の相対的な姿勢のばらつきのキャリブレーションを行う。
 具体的には、撮像部131と検知部133とを同じ位置に設置することが実質的に困難な場合がある。この場合には、撮像部131のローカル座標系(即ち、撮像部131を基点とした相対的な位置や方向を示す座標系)と、検知部133のローカル座標系(即ち、検知部133を基点とした相対的な位置や方向を示す座標系)とが必ずしも一致するとは限らない。このような状況下では、撮像部131のローカル座標系と、検知部133のローカル座標系との対応付けが行われる場合がある。より具体的には、所定の変換関数を利用することで、撮像部131のローカル座標系と、検知部133のローカル座標系とのうち、一方の座標系から他方の座標系への変換が行われる場合がある。一方で、撮像部131及び検知部133それぞれの取り付けに係る誤差等に応じて、情報取得装置130ごとに、当該撮像部131及び当該検知部133それぞれの姿勢の相対的な関係にばらつきが生じる場合がある。このようなばらつきは、例えば、撮像部131による画像の撮像結果と、検知部133による検知結果とを利用した認識処理において、認識精度の低下の一要因となる場合がある。このような状況を鑑み、情報処理装置100は、情報取得装置130ごとに生じ得る、撮像部131と検知部133との間における、一方に対する他方の相対的な姿勢のばらつきのキャリブレーションを行う。
 具体的には、情報処理装置100は、互いに異なる複数の視点それぞれについて、当該視点から撮像部131により撮像された画像と、当該視点における検知部133による重力加速度の検知結果とを情報取得装置130から取得する。なお、本開示において「視点」とは、情報取得装置130(ひいては、撮像部131)の位置や姿勢を示している。より具体的な一例として、本開示における「視点」とは、撮像部131の光軸を視線として見た場合に、当該視線の基点となる当該撮像部131が保持された位置や、当該撮像部131の姿勢に相当する。このとき、各視点の位置や撮像部131による撮像対象となる被写体については、当該撮像部131により撮像された画像から重力方向に延伸する複数の線分が抽出されるように設定される。例えば、図1に示す例では、一方の端部が固定された糸状のオブジェクトM101a及びM101bを被写体としており、撮像部131により互いに異なる複数の視点から当該オブジェクトM101a及びM101bの画像が撮像されることとなる。なお、上記キャリブレーションの方法については、詳細を別途後述する。
 以上、図1を参照して、本開示の一実施形態に係る情報処理システムの概略的なシステム構成の一例について説明した。なお、上述したシステム構成はあくまで一例であり、必ずしも本実施形態に係る情報処理システム1のシステム構成を限定するものではない。具体的な一例として、情報取得装置130と情報処理装置100とが一体的に構成されていてもよい。また、情報処理装置100の機能が、互いに連携して動作する複数の装置により実現されてもよい。
 <<2.機能構成>>
 続いて、図2を参照して、本開示の一実施形態に係る情報処理システムの機能構成の一例について説明する。図2は、本実施形態に係る情報処理システムの機能構成の一例を示したブロック図である。
 図2に示すように、本実施形態に係る情報処理システム1は、情報取得装置130と、情報処理装置100と、記憶部151とを含む。また、本実施形態に係る情報処理システム1は、入力部153と、出力部155とを含んでもよい。なお、情報取得装置130は、図1に示す情報取得装置130に相当する。即ち、撮像部131及び検知部133は、図1に示す撮像部131及び検知部133に相当する。そのため、情報取得装置130と、当該情報取得装置130が備える撮像部131及び検知部133とについては、詳細な説明は省略する。
 情報処理装置100は、図1に示す情報処理装置100に相当する。図2に示すように、情報処理装置100は、画像処理部101と、演算部103とを含む。また、情報処理装置100は、入出力制御部105を含んでもよい。
 画像処理部101は、複数の視点それぞれについて撮像部131により撮像された画像を取得し、視点ごとに撮像された画像に対して解析処理(画像解析)を施すことで、当該画像に撮像された被写体に基づき、当該画像中から重力方向に延伸する複数の線分を抽出する。また、画像処理部101は、上記画像からの上記複数の線分の抽出結果に基づき、当該画像中における当該複数の線分それぞれを延伸した直線の交点を特定する。そして、画像処理部101は、複数の視点それぞれについて、当該視点に対応する画像から抽出した上記複数の線分それぞれを延伸した直線の交点を示す情報を演算部103に出力する。
 また、画像処理部101は、上記線分の抽出対象とする被写体や、上記交点の特定に利用する線分をユーザに指定させてもよい。この場合には、画像処理部101は、撮像部131により撮像された画像を、後述する入出力制御部105を介して、所定の出力部(例えば、後述する出力部155)に出力させることで、当該画像をユーザに提示してもよい。また、画像処理部101は、ユーザに提示した上記画像に対する、所定の入力部(例えば、後述する入力部153)を介して当該ユーザからの指定に応じた情報を、入出力制御部105を介して取得してもよい。そして、画像処理部101は、ユーザからの指定に応じて、上記線分の抽出対象とする被写体や、上記交点の特定に利用する線分を決定してもよい。
 演算部103は、複数の視点それぞれについて検知部133による加速度の検知結果に応じた情報を取得することで、当該検知部133のローカル座標系における重力加速度の方向(換言すると、重力加速度のベクトル)を特定する。具体的な一例として、検知部133(ひいては、情報取得装置130)が静止した状態で、当該検知部133により検知される加速度は、重力加速度に相当し得る。そのため、例えば、演算部103は、検知部133が静止した状態で取得された当該検知部133による加速度の検知結果を示す情報を、当該検知部133による重力加速度の検知結果を示す情報として認識してもよい。もちろん、検知部133による加速度や角速度の検知結果に応じて、当該検知部133のローカル座標系における重力加速度の方向を特定することが可能であれば、その方法は特に限定されない。また、このとき演算部103は、あらかじめ取得された検知部133のキャリブレーションデータ(例えば、バイアスやスケールファクタ)を加味して、重力加速度の方向を特定してもよい。検知部133のキャリブレーションデータについては、演算部103が参照可能な記憶領域(例えば、後述する記憶部151)にあらかじめ記憶させておけばよい。なお、以降の説明では、上述の通り特定される、検知部133のローカル座標系における重力加速度のベクトル(即ち、重力加速度の方向)を、便宜上「重力加速度ベクトルa」と称する場合がある。また、検知部133のローカル座標系が、「第2の座標系」の一例に相当する。
 また、演算部103は、検知部133による加速度の検知結果を取得した複数の視点それぞれについて、当該視点に対応する画像から抽出された複数の線分それぞれを延伸した直線の交点を示す情報を画像処理部101から取得する。演算部103は、上記複数の視点それぞれについて、当該複数の線分それぞれを延伸した直線の交点を示す情報に基づき、当該視点に対応する撮像部131のローカル座標系における重力方向を示すベクトルを算出する。また、このとき演算部103は、あらかじめ取得された撮像部131のキャリブレーションデータ(例えば、レンズの歪みや内部パラメータのキャリブレーション結果)を加味して、重力方向のベクトルを算出してもよい。撮像部131のキャリブレーションデータについては、演算部103が参照可能な記憶領域(例えば、後述する記憶部151)にあらかじめ記憶させておけばよい。なお、以降の説明では、上述の通り特定される、撮像部131のローカル座標系における重力方向のベクトルを、便宜上「重力方向ベクトルc」と称する場合がある。また、撮像部131のローカル座標系が、「第1の座標系」の一例に相当する。
 そして、演算部103は、複数の視点それぞれにおける重力加速度ベクトルa及び重力方向ベクトルcに基づき、撮像部131と検知部133との間の相対的な姿勢関係を算出する。具体的には、演算部103は、視点ごとの重力加速度ベクトルa及び重力方向ベクトルcに基づき、撮像部131のローカル座標系と、検知部133のローカル座標系とのうちの、一方から他方に変換する関数Rを算出する。そして、演算部103は、当該関数Rの算出結果を示す情報を所定の記憶領域(例えば、後述する記憶部151)に記憶させる。なお、このとき算出される関数Rは、撮像部131及び検知部133それぞれの実際の設置位置に応じて算出される。そのため、当該関数Rを撮像部131及び検知部133間の座標変換に利用することで、当該撮像部131や当該検知部133の取り付けに係る誤差も加味された変換(即ち、当該誤差がキャリブレーションされた変換)を行うことが可能となる。なお、上記関数Rの算出方法(即ち、キャリブレーション)については別途詳細を後述する。
 また、演算部103は、視点ごとの情報の取得状況に応じて、新たな視点について情報が取得されるように、当該視点の位置への情報取得装置130の移動を誘導するための情報を、入出力制御部105を介して所定の出力部に出力させてもよい。このような制御により、ユーザが情報取得装置130の位置や姿勢を変化させるように誘導することで、新たな視点について、重力加速度ベクトルaに関する情報の取得や、重力方向ベクトルcに関する情報の算出が可能となる。換言すると、上記関数Rを算出するための情報(視点ごとに取得される上記情報)としてサンプル数が不足している場合において、当該関数Rを算出するための新たなサンプルをより好適な態様で取得可能となるように、ユーザを誘導することが可能となる。なお、当該誘導に係るユーザインタフェース(UI)の一例については変形例として別途後述する。
 記憶部151は、各種データを一時的または恒常的に記憶するための記憶領域である。例えば、記憶部151には、情報処理装置100が各種機能を実行するためのデータが記憶されていてもよい。具体的な一例として、記憶部151には、各種アプリケーションを実行するためのデータ(例えば、ライブラリ)や各種設定等を管理するための管理データ等が記憶されていてもよい。また、記憶部151は、演算部103によるキャリブレーションの結果に応じた情報(即ち、撮像部131及び検知部133間の座標変換を行うための関数R)を記憶してもよい。
 入力部153は、ユーザが情報処理装置100に対して各種情報を入力するための入力インタフェースに相当する。入力部153は、例えば、ボタン、レバー、及びタッチパネル等のような入力デバイスを含んでもよい。なお、情報処理装置100に対してユーザが情報を入力することが可能であれば、入力部153の構成は特に限定されない。具体的な一例として、入力部153は、ユーザの音声を集音するための集音部を含み、当該集音部に対して入力されたユーザの音声を、当該ユーザから入力された情報として取得してもよい。
 出力部155は、情報処理装置100がユーザに対して各種情報を提示するための出力インタフェースである。出力部155は、例えば、所謂ディスプレイ等のように、静止画像や動画像のような画像を出力する表示デバイスを含んでもよい。なお、情報処理装置100がユーザに対して各種情報を提示することが可能であれば、出力部155の構成は特に限定されない。具体的な一例として、出力部155は、スピーカ等のように音響を出力する音響デバイスを含んでもよい。また、出力部155は、所謂バイブレータ等のように、提示対象となる情報に対応したパターンで振動することで、当該情報をユーザに提示する振動デバイスを含んでもよい。
 なお、図2では明示的に図示はしていないが、情報処理装置100のうち、撮像部131から撮像された画像を取得する部分や、検知部133から検知結果を取得する部分に相当する構成が、「取得部」の一例に相当する。即ち、画像処理部101のうち撮像部131から撮像された画像を取得する部分や、演算部103のうち検知部133から検知結果を取得する部分が、上記「取得部」の一例に相当し得る。換言すると、情報処理装置100が、撮像部131や検知部133から各種情報を取得するためのインタフェースが「取得部」の一例に相当し得る。
 以上、図2を参照して、本開示の一実施形態に係る情報処理システムの機能構成の一例について説明した。なお、上述した機能構成はあくまで一例であり、必ずしも本実施形態に係る情報処理システム1の機能構成を限定するものではない。具体的な一例として、前述したように、情報取得装置130と情報処理装置100とが一体的に構成されていてもよい。また、他の一例として、記憶部151、入力部153、及び出力部155のうち少なくとも一部の構成が情報処理装置100に含まれてもよい。また、情報処理装置100の各構成のうち一部の構成が情報処理装置100の外部に設けられていてもよい。また、情報処理装置100の各機能が、互いに連携して動作する複数の装置により実現されてもよい。
 <<3.キャリブレーションの方法>>
 続いて、本開示の一実施形態に係る情報処理装置100により実行される、撮像部131と検知部133との間の相対的な姿勢関係のキャリブレーションの方法の一例について、以下により詳細に説明する。なお、以降の説明では、情報処理装置100により実行される上記キャリブレーションを、便宜上、単に「本実施形態に係るキャリブレーション」とも称する。
  <3.1.キャリブレーションの原理>
 まず、図3を参照して、本実施形態に係るキャリブレーションの原理について概要を説明する。図3は、本実施形態に係るキャリブレーションの原理について概要を説明するための説明図である。なお、図3において、参照符号130a及び130bのそれぞれは、情報取得装置130が保持される互いに異なる視点(換言すると、互いに異なる位置や姿勢に保持された情報処理装置130)を模式的に示している。
  (重力方向ベクトルcの算出)
 本実施形態に係る情報処理装置100は、概要を前述したように、情報取得装置130に支持された撮像部131により撮像された画像から、重力方向に延伸する複数の線分を抽出し、当該複数の線分それぞれを延伸した直線の交点を特定することで、重力方向ベクトルcを算出する。そのため、本実施形態に係るキャリブレーションでは、重力方向に延伸する部分を有する物体を被写体として利用することが望ましい。
 例えば、図3に示す例では、一方の端部が固定され、かつ他方の端部に錘が取り付けられた糸状のオブジェクトM101a及びM101bを被写体として利用している。このようなオブジェクトM101a及びM101bを被写体として画像を撮像することで、当該画像中には、錘により重力方向に延伸するように張った状態のオブジェクトM101a及びM101bが撮像されることとなる。
 オブジェクトM101a及びM101bの画像を撮像する撮像部131の位置及び姿勢(換言すると、視点)については、当該画像中に被写体として撮像されたオブジェクトM101a及びM101bが互いに平行とならないように設定されることが望ましい。そのため、例えば、図3に示す例では、オブジェクトM101a及びM101bを斜め上方から見下ろした画像が撮像されるように、撮像部131が画像を撮像する位置及び姿勢(換言すると、視点)が設定されている。
 例えば、図4は、本実施形態に係るキャリブレーションの概要について説明するための説明図であり、図3に示すオブジェクトM101a及びM101bを斜め上方から見下すように撮像された画像の一例を示している。図4に示すように、画像中においてオブジェクトM101a及びM101bが互いに平行とならない場合には、オブジェクトM101a及びM101bそれぞれの糸状の部分を延伸すると、それぞれを延伸した部分が、当該画像の座標系(即ち、撮像部131のローカル座標系)の一部において交わることとなる。例えば、図4に示す参照符号Pは、オブジェクトM101a及びM101bのそれぞれを延伸した部分の交点を示している。
 なお、オブジェクトM101a及びM101bは、糸状の部分が実空間上において重力方向に延伸するように保持される。即ち、画像上において、オブジェクトM101a及びM101bそれぞれの糸状の部分が延伸する方向は、当該画像の座標系における重力方向を示している。また、図4に示す例の場合には、上記画像の座標系における、被写体として撮像されたオブジェクトM101a及びM101bそれぞれを延伸した部分の交点Pは、重力方向(鉛直下方向)の消失点(無限遠点)に相当する。
 本実施形態に係る情報処理装置100は、上述のような特性を利用することで、撮像部131により撮像された画像中の被写体に基づき、当該撮像部131のローカル座標系における重力方向ベクトルcを算出する。
 なお、撮像部131により撮像された画像中から、オブジェクトM101a及びM101bそれぞれの糸状の部分(即ち、重力方向に延伸する線分)を抽出する方法については特に限定されない。例えば、撮像部131の位置及び姿勢を動かさずに(即ち、視点を動かさずに)、同じ露光設定でオブジェクトM101a及びM101b(特に、重力方向に延伸する糸状の部分)が撮像範囲内に存在する場合の画像と、存在しない場合の画像とを撮像し、当該2つの画像の差分として当該オブジェクトM101a及びM101bを抽出してもよい。また、他の一例として、2次元ハフ変換により撮像された画像から直線にフィットする部分を抽出することで、オブジェクトM101a及びM101bの糸状の部分(即ち、重力方向に延伸する線分)を抽出してもよい。もちろん、上記はあくまで一例であり、画像中に撮像された被写体に基づき、当該画像中から重力方向に延伸する複数の線分を抽出することが可能であれば、その方法は特に限定されない。
 また、視点ごとの画像から抽出される線分の数が3以上の場合には、観測誤差等の影響により、抽出した複数の線分それぞれを延伸した直線の全てが一点で交わらない場合もある。このような場合には、各直線への距離の和が最小となる点を、上述した交点とみなしてもよい。また、複数の線分それぞれを延長した直線の交点は、必ずしも画像中に位置している必要はない。即ち、当該交点が画像外に位置する場合においても、撮像部131のローカル座標系における当該交点の座標を特定することで、当該交点の特定結果に基づき上述した重力方向ベクトルcを算出することが可能である。
 ここで、重力方向ベクトルcの算出方法について以下に具体的に説明する。なお、以降の説明では、便宜上、撮像部131のローカル座標系において、当該撮像部131の光軸方向をz方向とし、当該撮像部131の撮像素子の撮像面のうち撮像画像の横方向及び縦方向に相当する方向をそれぞれx方向及びy方向とする。また、撮像部131について、x方向及びy方向それぞれの焦点距離をf及びfとし、x方向及びy方向それぞれの光学中心をc及びcとした場合に、当該撮像部131の内部パラメータ行列Kは、以下に示す(式1)のように表される。
Figure JPOXMLDOC01-appb-M000001
 このとき、撮像部131により撮像された画像上の2次元座標系(xy平面)における2次元点(換言すると、画像上における点)を(p,p)とすると、当該2次元点は、以下に(式2)として示す計算式に基づき、実空間上の3次元ベクトル(v,v,v)に変換することが可能である。
Figure JPOXMLDOC01-appb-M000002
 即ち、情報処理装置100は、撮像部131による撮像画像から抽出された重力方向に延伸する複数の線分の交点(例えば、図4に示す交点P)の当該撮像部131により撮像された画像上の2次元座標系における座標を、上記(式1)及び(式2)に基づき3次元ベクトルに変換する。このようにして得られた3次元ベクトルが、実空間上における重力方向ベクトルcに相当する。
 なお、前述の通り、情報処理装置100は、画像中から抽出された複数の線分の交点を特定することで、重力方向ベクトルcを算出する。そのため、当該交点を安定的に特定可能となるように視点(換言すると、撮像部131の位置及び姿勢)が設定されることがより望ましい。そこで、図5を参照して、上記交点(ひいては、重力方向ベクトルc)をより安定的に算出することが可能な視点の設定条件の一例について以下に説明する。図5は、本実施形態に係るキャリブレーションの概要について説明するための説明図であり、重力方向ベクトルcをより好適な態様で算出することが可能な視点の設定条件の一例を示している。
 図5において、参照符号M101a及びM101bは、図3及び図4に示すオブジェクトM101a及びM101bそれぞれの、重力方向に延伸する部分(線分)を模式的に示している。参照符号dnearは、オブジェクトM101a及びM101b(線分)の重力方向に沿った端部のうちの撮像部131により近い方の端部と、当該撮像部131と、の間の距離を模式的に示している。また、参照符号dfarは、オブジェクトM101a及びM101b(線分)の重力方向に沿った端部のうちの撮像部131からより遠い方の端部と、当該撮像部131と、の間の距離を模式的に示している。このとき、上記距離dnear及び距離dfarが、以下に(式3)として示す条件を満たすように視点(換言すると、撮像部131の位置及び姿勢、ひいては情報取得装置130の位置及び姿勢)が設定されることで、上記交点(ひいては、重力方向ベクトルc)をより安定的に算出することが可能となる。
Figure JPOXMLDOC01-appb-M000003
  (関数Rの算出)
 続いて、撮像部131のローカル座標系と、検知部133のローカル座標系とのうちの、一方から他方に回転変換する関数Rの算出方法の一例について説明する。前述したように、本実施形態に係る情報処理装置100は、複数の視点それぞれについて視点ごとに導出された重力方向ベクトルc及び重力加速度ベクトルaに基づき、上記関数Rを算出する。なお、重力方向ベクトルcの算出方法については前述した通りである。また、重力加速度ベクトルaについては、前述の通り、検知部133による加速度(重力加速度)の検知結果として取得することが可能である。ここで、関数Rを、検知部133のローカル座標系から撮像部131のローカル座標系に回転変換する関数とした場合に、ある視点nにおける重力方向ベクトルc及び重力加速度ベクトルa間の関係は、計測誤差を無視できる場合には、以下に(式4)として示す関係式で表される。
Figure JPOXMLDOC01-appb-M000004
 上記観測(例えば、図3及び図4を参照して説明した観測)をN回(Nは2以上の整数)繰り返し、上記(式4)で示す関係が最も良く成立する関数Rを探索することで、当該関数Rを推定することが可能である。即ち、関数Rは、以下に(式4)として示す計算式に基づき算出される。なお、撮像部131自体に起因する誤差(例えば、レンズの歪み内部パラメータ等)や、検知部133自体に起因する誤差(例えば、バイアスやスケールファクタ)等については、あらかじめそれぞれに対して施されたキャリブレーションにより影響を無視できるものとする。
Figure JPOXMLDOC01-appb-M000005
 なお、上述の通り、上記(式5)で示す関係が最も良く成立する関数Rを探索することで、当該関数Rが推定される。このような特性から、複数の視点間において、重力方向ベクトルc及び重力加速度ベクトルaとして異なる結果が得られるように、各視点が設定されることが望ましい。具体的には、視点ごとに撮像された画像から特定される上記交点の位置(即ち、撮像部131のローカル座標系における位置)が、複数の視点のうち少なくとも2以上の視点間で異なるように、各視点が設定されるとよい。
 以上、図3~図5を参照して、本実施形態に係るキャリブレーションの原理について概要を説明した。
  <3.2.キャリブレーションの処理の流れ>
 続いて、図6を参照して、本実施形態に係るキャリブレーションの処理の流れの一例について説明する。図6は、本実施形態に係るキャリブレーションの処理の流れの一例について示したフローチャートである。
 図6に示すように、本実施形態に係る情報処理装置100(画像処理部101)は、情報取得装置130に支持された撮像部131により撮像された画像を当該情報取得装置130から取得する。また、情報処理装置100(演算部103)は、上記情報取得装置130に支持された検知部133による重力加速度の検知結果に応じた情報を、当該情報取得装置130から取得する(S101)。
 情報処理装置100(画像処理部101)は、視点ごとに撮像された画像に対して解析処理(画像解析)を施すことで、当該画像に撮像された被写体に基づき、当該画像中から重力方向に延伸する複数の線分を抽出する(S103)。
 情報処理装置100(画像処理部101)は、上記画像からの上記複数の線分の抽出結果に基づき、当該画像中における当該複数の線分それぞれを延伸した直線の交点を特定する(S105)。
 情報処理装置100は、参照埠頭S101~S105で示した処理を、情報取得装置130の位置及び姿勢(即ち、視点)を変えながら、視点ごとに取得される上記各種情報のサンプル数が閾値以上となるまで継続する(S107、NO)。
 そして、視点ごとに取得される上記各種情報のサンプル数が閾値以上となった場合には(S107、YES)、情報処理装置100(演算部103)は、当該視点ごとの各種情報に基づき、撮像部131と検知部133との間の相対的な姿勢関係を算出する(S109)。
 具体的には、情報処理装置100(演算部103)は、複数の視点それぞれについて取得した検知部133による加速度の検知結果に応じて、当該視点に対応する当該検知部133のローカル座標系における重力加速度ベクトルaを特定する。また、情報処理装置100(演算部103)は、当該複数の視点それぞれについて、当該視点に対応する複数の線分の交点の特定結果に基づき、当該視点に対応する撮像部131のローカル座標系における重力方向ベクトルcを算出する。そして、情報処理装置100(演算部103)は、複数の視点それぞれにおける重力加速度ベクトルa及び重力方向ベクトルcに基づき、撮像部131のローカル座標系と、検知部133のローカル座標系とのうちの、一方から他方に変換する関数Rを算出する。
 以上、図6を参照して、本実施形態に係るキャリブレーションの処理の流れの一例について説明した。
 <<4.変形例>>
 続いて、本開示の一実施形態に係る情報処理システムの変形例について説明する。
  <4.1.変形例1:キャリブレーション方法の一例>
 まず、変形例1として、本実施形態に係るキャリブレーション方法の他の一例について、特に、撮像部131により撮像された画像中の被写体に基づき、当該撮像部131のローカル座標系における重力方向ベクトルcの算出する方法に着目して説明する。
 前述したように、本実施形態に係るキャリブレーションでは、画像中に撮像された被写体に基づき当該画像から複数の線分が抽出され、当該複数の線分それぞれを延伸した直線の交点(消失点)が特定される。そして、当該交点の特定結果と、撮像部131の内部パラメータと、に基づき、当該撮像部131のローカル座標系における重力ベクトルcが算出される。そのため、例えば、図3~図5を参照して説明した例では、一方の端部が固定され、かつ他方の端部に錘が取り付けられた糸状のオブジェクトM101a及びM101bを、上記複数の線分を抽出するための被写体として利用していた。
 一方で、画像中に撮像された被写体に基づき、重力方向に延伸する複数の線分を抽出することが可能であれば、当該複数の線分の抽出利用される被写体は特に限定されない。例えば、ビル等の建築物の中には、鉛直方向(換言すると、重力方向)に延伸するエッジを有するものが存在する。そのため、このように、鉛直方向(重力方向)に延伸する部分を一部に有することが既知であるオブジェクトを被写体として、撮像された画像中から当該鉛直方向に延伸する部分(例えば、エッジ)を上記線分として抽出することで、上記交点を特定してもよい。
 例えば、図7は、変形例1に係るキャリブレーション方法の一例について説明するための説明図であり、ビル等の建築物を上記複数の線分を抽出するための被写体として利用する場合の一例について示している。具体的には、図7は、鉛直方向に延伸するエッジを有する建築物を斜め上方から見下ろすように撮像した場合の画像の一例を示している。図7に示す例では、参照符号M201が付されたオブジェクト(建築物)を被写体として、当該オブジェクトの各部のうち、鉛直方向に延伸するエッジM203a及びM203bそれぞれに相当する部分を、撮像画像中から上記線分として抽出している。即ち、画像中のエッジM203a及びM203bそれぞれに相当する部分(線分)を延伸した直線の交点を特定することで、当該交点の特定結果と、撮像部131の内部パラメータと、に基づき、当該撮像部131のローカル座標系における重力ベクトルcを算出することが可能である。
 また、図8は、変形例1に係るキャリブレーション方法の他の一例について説明するための説明図であり、ビル等の建築物を上記複数の線分を抽出するための被写体として利用する場合の他の一例について示している。具体的には、図8は、鉛直方向に延伸するエッジを有する建築物を斜め下方から見上げるように撮像した場合の画像の一例を示している。図8に示す例では、参照符号M211が付されたオブジェクト(建築物)を被写体として、当該オブジェクトの各部のうち、鉛直方向に延伸するエッジM213a及びM213bそれぞれに相当する部分を、撮像画像中から上記線分として抽出している。即ち、画像中のエッジM213a及びM213bそれぞれに相当する部分(線分)を延伸した直線の交点を特定することで、当該交点の特定結果と、撮像部131の内部パラメータと、に基づき、当該撮像部131のローカル座標系における重力ベクトルcを算出することが可能である。なお、図8に示す例において特定される交点は、重力方向とは反対の方向(鉛直上方向)の消失点(無限遠点)に相当する。
 以上のような方法により上記キャリブレーションが行われることで、図3~図5を参照して説明した例のように、当該キャリブレーションを行うために被写体を用意しなくても、周囲に位置するオブジェクトを上記キャリブレーションに利用することが可能となる。そのため、例えば、情報取得装置130が移動体として構成されている場合に、自己位置推定等により周囲の環境を認識しながら、リアルタイムで上記キャリブレーションを行うことも可能である。
 もちろん、上述した例についてもあくまで一例であり、本実施形態に係るキャリブレーション方法を限定するものではない。例えば、画像中に撮像された被写体を解析することで、重力方向に延伸する複数の線分を当該画像から抽出することが可能であれば、当該被写体が直線状の部分を有していなくてもよい。換言すると、画像から上記交点に相当する重力方向を示す情報を抽出することが可能であれば、被写体が直線状の部分を有していなくてもよい。具体的な一例として、重力加速度が働く方向に応じて所定の姿勢に保持されるオブジェクトを被写体とすることで、画像中に撮像された当該オブジェクトの姿勢に基づき、当該画像中において重力方向に延伸するベクトル(換言すると、線分)を算出することも可能である。
 また、本実施形態に係るキャリブレーションにおいては、複数の視点それぞれに対応する画像に、共通の被写体が撮像されていなくてもよい。即ち、視点ごとの画像それぞれから重力方向(鉛直方向)に延伸する複数の線分(または、複数の直線)を抽出することが可能であれば、当該複数の線分それぞれの抽出に利用される被写体が複数の視点間で互いに異なっていてもよい。より具体的な一例として、ある視点から撮像された画像として、図7に示す画像が使用され、当該視点とは異なる他の視点から撮像された画像として、図8に示す画像が使用されてもよい。これは、図3~図5を参照して説明した例についても同様である。
 以上、変形例1として、本実施形態に係るキャリブレーション方法の他の一例について、特に、撮像部131により撮像された画像中の被写体に基づき、当該撮像部131のローカル座標系における重力方向ベクトルcの算出する方法に着目して説明した。
  <4.2.変形例2:座標変換関数の算出方法の一例>
 続いて、変形例2として、本実施形態に係るキャリブレーション方法の他の一例について、特に、撮像部131のローカル座標系と、検知部133のローカル座標系との間で変換を行う関数Rの算出方法に着目して説明する。
 具体的には、(式5)として前述した関数Rについては、検知部133自体に起因する誤差(例えば、バイアスやスケールファクタ)があらかじめキャリブレーションされていることを前提としていた。これに対して、変形例2では、上記関数Rに加えて、検知部133のバイアスやスケールファクタをあわせて推定する(即ち、キャリブレーションを行う)方法の一例について説明する。
 まず、検知部133のローカル座標系における、当該検知部133のx方向、y方向、及びz方向のバイアスをそれぞれb、b、及びbとした場合には、当該検知部133のバイアスを示すベクトルbは、以下に示す(式6)のように表される。
 
Figure JPOXMLDOC01-appb-M000006
 また、検知部133のローカル座標系における、当該検知部133のx方向、y方向、及びz方向のスケールファクタをそれぞれS、S、及びSとした場合には、当該検知部133のスケールファクタを示す行列Sは、以下に示す(式7)のように表される。
Figure JPOXMLDOC01-appb-M000007
 即ち、(式5)として前述した関数Rの計算式に対して、(式6)として示したバイアスを示すベクトルbと、(式7)として示したスケールファクタを示す行列Sを加味することで、関数Rと、検知部133のバイアス及びスケールファクタと、を推定することが可能となる。具体的には、関数Rと、検知部133のバイアス及びスケールファクタと、については、以下に(式8)として示す計算式に基づき算出することが可能である。gは重力加速度の大きさ(9.8(m/s))。
Figure JPOXMLDOC01-appb-M000008
 以上、変形例2として、本実施形態に係るキャリブレーション方法の他の一例について、特に、撮像部131のローカル座標系と、検知部133のローカル座標系との間で変換を行う関数Rの算出方法に着目して説明した。
  <4.3.変形例3:UIの一例>
 続いて、変形例3として、本実施形態に係る情報処理システムのUIの一例について説明する。本変形例では、上述した関数Rをより安定的に算出可能となる視点が設定されるようにユーザを誘導するためのUIの一例について説明する。
 具体的には、図5を参照して前述したように、(式3)として前述した条件を満たすように視点(換言すると、撮像部131の位置及び姿勢、ひいては情報取得装置130の位置及び姿勢)が設定されることで、上記交点(消失点)をより安定的に特定することが可能となる。また、視点ごとに撮像された画像から特定される上記交点の位置(即ち、撮像部131のローカル座標系における位置)が、複数の視点のうち少なくとも2以上の視点間で異なるように、各視点が設定されるとよい。
 そこで、以下に、情報取得装置130が、上記条件を満たす位置及び姿勢に保持されるように(即ち、より好適な視点が設定されるように)、ユーザを誘導するためのUIの一例について説明する。なお、本変形例では、便宜上、図3~図5を参照して説明したように、一方の端部が固定され、かつ他方の端部に錘が取り付けられた糸状のオブジェクトM101a及びM101bを被写体としてキャリブレーションが行われるものとする。
 例えば、図9は、変形例3に係る情報処理システムの概要について説明するための説明図であり、より好適な視点が設定されるようにユーザを誘導するUIの一例について示している。具体的には、図9に示す例は、(式3)として前述した条件を満たす視点が設定されるようにユーザを誘導するためのUIの一例を示している。
 具体的には、図9に示す例では、撮像部131により撮像された画像V110(例えば、スルー画像)に対して、情報取得装置130の位置及び姿勢が上記(式3)で示した条件を満たすように誘導するためのガイドV111を重畳させている。この場合には、ユーザが、オブジェクトM101a及びM101bそれぞれの糸状の部分(即ち、重力方向に延伸する部分)がガイドV111に沿うように情報取得装置130の位置及び姿勢を調整することで、当該位置及び姿勢が上記(式3)で示した条件を満たすこととなる。
 また、複数の視点それぞれを設定する場合には、設定される視点ごとに、画像中におけるガイドV111の交点に相当する部分の位置が異なるように、当該ガイドV111の提示が制御されてもよい。このような制御によりユーザが誘導されることで、複数の視点間において、重力方向ベクトルc及び重力加速度ベクトルaとして異なる結果が得られるように、複数の視点それぞれが設定されることとなる。
 また、図10は、変形例3に係る情報処理システムの概要について説明するための説明図であり、より好適な視点が設定されるようにユーザを誘導するUIの他の一例について示している。具体的には、図10に示す例では、情報取得装置130の位置及び姿勢を変化させる方向をユーザに提示することで、より好適な態様で視点が設定されるようにユーザを誘導するためのUIの一例を示している。
 具体的には、図10に示す例では、撮像部131により撮像された画像V120(例えば、スルー画像)に対して、情報取得装置130の位置及び姿勢を変化させる方向を示す表示情報V121を重畳させている。この場合には、ユーザが、表示情報V121の誘導に沿って情報取得装置130の位置及び姿勢を変化させることで、より好適な態様で視点が設定されることとなる。
 なお、図9及び図10に示す例はあくまで一例であり、より好適な態様で各視点が設定されるように誘導可能であれば、当該誘導のためのUIは特に限定されない。また、図9及び図10では、表示情報により視覚的にユーザを誘導する場合の一例について説明したが、必ずしも誘導方法を限定するものではない。具体的な一例として、音声や力覚等の提示によりユーザが誘導されてもよい。
 以上、変形例3として、本実施形態に係る情報処理システムのUIの一例について説明した。本変形例では、上述した関数Rをより安定的に算出可能となる視点が設定されるようにユーザを誘導するためのUIの一例について説明した。
 <<5.ハードウェア構成>>
 次に、図11を参照しながら、前述した情報処理装置100ように、本実施形態に係る情報処理システムを構成する情報処理装置900のハードウェア構成について、詳細に説明する。図11は、本開示の一実施形態に係る情報処理システムを構成する情報処理装置900のハードウェア構成の一例を示す機能ブロック図である。
 本実施形態に係る情報処理システム1を構成する情報処理装置900は、主に、CPU901と、ROM902と、RAM903と、を備える。また、情報処理装置900は、更に、ホストバス907と、ブリッジ909と、外部バス911と、インタフェース913と、入力装置915と、出力装置917と、ストレージ装置919と、ドライブ921と、接続ポート923と、通信装置925とを備える。
 CPU901は、演算処理装置及び制御装置として機能し、ROM902、RAM903、ストレージ装置919又はリムーバブル記録媒体927に記録された各種プログラムに従って、情報処理装置900内の動作全般又はその一部を制御する。ROM902は、CPU901が使用するプログラムや演算パラメータ等を記憶する。RAM903は、CPU901が使用するプログラムや、プログラムの実行において適宜変化するパラメータ等を一次記憶する。これらはCPUバス等の内部バスにより構成されるホストバス907により相互に接続されている。なお、図2を参照して前述した、画像処理部101、演算部103、及び入出力制御部105は、例えば、CPU901により実現され得る。
 ホストバス907は、ブリッジ909を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス911に接続されている。また、外部バス911には、インタフェース913を介して、入力装置915、出力装置917、ストレージ装置919、ドライブ921、接続ポート923及び通信装置925が接続される。
 入力装置915は、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチ、レバー及びペダル等、ユーザが操作する操作手段である。また、入力装置915は、例えば、赤外線やその他の電波を利用したリモートコントロール手段(いわゆる、リモコン)であってもよいし、情報処理装置900の操作に対応した携帯電話やPDA等の外部接続機器929であってもよい。さらに、入力装置915は、例えば、上記の操作手段を用いてユーザにより入力された情報に基づいて入力信号を生成し、CPU901に出力する入力制御回路などから構成されている。情報処理装置900のユーザは、この入力装置915を操作することにより、情報処理装置900に対して各種のデータを入力したり処理動作を指示したりすることができる。なお、図2を参照して前述した、入力部153は、例えば、入力装置915により実現され得る。
 出力装置917は、取得した情報をユーザに対して視覚的又は聴覚的に通知することが可能な装置で構成される。このような装置として、CRTディスプレイ装置、液晶ディスプレイ装置、プラズマディスプレイ装置、ELディスプレイ装置及びランプ等の表示装置や、スピーカ及びヘッドホン等の音声出力装置や、プリンタ装置等がある。出力装置917は、例えば、情報処理装置900が行った各種処理により得られた結果を出力する。具体的には、表示装置は、情報処理装置900が行った各種処理により得られた結果を、テキスト又はイメージで表示する。他方、音声出力装置は、再生された音声データや音響データ等からなるオーディオ信号をアナログ信号に変換して出力する。なお、図2を参照して前述した、出力部155は、例えば、出力装置917により実現され得る。
 ストレージ装置919は、情報処理装置900の記憶部の一例として構成されたデータ格納用の装置である。ストレージ装置919は、例えば、HDD(Hard Disk Drive)等の磁気記憶部デバイス、半導体記憶デバイス、光記憶デバイス又は光磁気記憶デバイス等により構成される。このストレージ装置919は、CPU901が実行するプログラムや各種データ等を格納する。
 ドライブ921は、記録媒体用リーダライタであり、情報処理装置900に内蔵、あるいは外付けされる。ドライブ921は、装着されている磁気ディスク、光ディスク、光磁気ディスク又は半導体メモリ等のリムーバブル記録媒体927に記録されている情報を読み出して、RAM903に出力する。また、ドライブ921は、装着されている磁気ディスク、光ディスク、光磁気ディスク又は半導体メモリ等のリムーバブル記録媒体927に記録を書き込むことも可能である。リムーバブル記録媒体927は、例えば、DVDメディア、HD-DVDメディア又はBlu-ray(登録商標)メディア等である。また、リムーバブル記録媒体927は、コンパクトフラッシュ(登録商標)(CF:CompactFlash)、フラッシュメモリ又はSDメモリカード(Secure Digital memory card)等であってもよい。また、リムーバブル記録媒体927は、例えば、非接触型ICチップを搭載したICカード(Integrated Circuit card)又は電子機器等であってもよい。なお、図2を参照して前述した記憶部151は、例えば、RAM903及びストレージ装置919の少なくともいずれかにより実現され得る。
 接続ポート923は、情報処理装置900に直接接続するためのポートである。接続ポート923の一例として、USB(Universal Serial Bus)ポート、IEEE1394ポート、SCSI(Small Computer System Interface)ポート等がある。接続ポート923の別の例として、RS-232Cポート、光オーディオ端子、HDMI(登録商標)(High-Definition Multimedia Interface)ポート等がある。この接続ポート923に外部接続機器929を接続することで、情報処理装置900は、外部接続機器929から直接各種のデータを取得したり、外部接続機器929に各種のデータを提供したりする。
 通信装置925は、例えば、通信網(ネットワーク)931に接続するための通信デバイス等で構成された通信インタフェースである。通信装置925は、例えば、有線若しくは無線LAN(Local Area Network)、Bluetooth(登録商標)又はWUSB(Wireless USB)用の通信カード等である。また、通信装置925は、光通信用のルータ、ADSL(Asymmetric Digital Subscriber Line)用のルータ又は各種通信用のモデム等であってもよい。この通信装置925は、例えば、インターネットや他の通信機器との間で、例えばTCP/IP等の所定のプロトコルに則して信号等を送受信することができる。また、通信装置925に接続される通信網931は、有線又は無線によって接続されたネットワーク等により構成され、例えば、インターネット、家庭内LAN、赤外線通信、ラジオ波通信又は衛星通信等であってもよい。
 以上、本開示の実施形態に係る情報処理システム1を構成する情報処理装置900の機能を実現可能なハードウェア構成の一例を示した。上記の各構成要素は、汎用的な部材を用いて構成されていてもよいし、各構成要素の機能に特化したハードウェアにより構成されていてもよい。従って、本実施形態を実施する時々の技術レベルに応じて、適宜、利用するハードウェア構成を変更することが可能である。なお、図11では図示しないが、本実施形態に係る情報処理システム1を構成する情報処理装置900に対応する各種の構成を当然備える。
 なお、上述のような本実施形態に係る情報処理システム1を構成する情報処理装置900の各機能を実現するためのコンピュータプログラムを作製し、パーソナルコンピュータ等に実装することが可能である。また、このようなコンピュータプログラムが格納された、コンピュータで読み取り可能な記録媒体も提供することができる。記録媒体は、例えば、磁気ディスク、光ディスク、光磁気ディスク、フラッシュメモリなどである。また、上記のコンピュータプログラムは、記録媒体を用いずに、例えばネットワークを介して配信してもよい。また、当該コンピュータプログラムを実行させるコンピュータの数は特に限定されない。例えば、当該コンピュータプログラムを、複数のコンピュータ(例えば、複数のサーバ等)が互いに連携して実行してもよい。なお、単数のコンピュータ、または、複数のコンピュータが連携するものを、「コンピュータシステム」とも称する。
 <<6.応用例>>
 続いて、本開示の一実施形態に係る情報処理システムにおいて、キャリブレーションの対象となる上記情報取得装置130の一例について説明する。
 本実施形態に係る情報処理装置100によるキャリブレーションに係る技術は、撮像部131と検知部133とが一体的に支持された装置であれば適用可能である。このとき、撮像部131及び検知部133の一方に対して他方が着脱可能に構成されていてもよい。即ち、撮像部131及び検知部133の相対的な姿勢関係が少なくとも一時的に固定されるように(例えば、キャリブレーションのための情報の取得時に固定されるように)、一方に対して他方が保持されるように構成された装置であれば、上記キャリブレーションに係る技術を適用することが可能である。このような装置の一例として、例えば、携行可能に構成された装置や、使用時にユーザにより携行されることが想定された装置等が挙げられる。より具体的な一例として、スマートフォン等のような通信端末、ユーザの身体の一部に装着されて使用されるウェアラブルデバイス等が挙げられる。また、近年では、ユーザが筐体を把持して使用するコントローラ等の中には、ジェスチャ入力等を実現するために、上記撮像部131や上記検知部133に相当する構成を備えるものもある。このようなコントローラについても、上記キャリブレーションに係る技術を適用することが可能である。また、上記キャリブレーションに係る技術を適用可能な装置の他の一例として、車両やドローン等のような移動体や、所謂自律型のロボット等のように、移動可能に構成された装置等が挙げられる。
 ここで、上記キャリブレーションに係る技術を適用可能な装置の一例として、AR(Augmented Reality)やVR(Virtual Reality)を実現するために利用されるHMD(Head Mounted Display)のような所謂頭部装着型デバイスについて、より具体的な構成の一例を説明する。例えば、図12は、本開示の一実施形態の応用例について説明するための説明図であり、上記情報処理装置100によるキャリブレーションの対象となり得る入出力装置20の構成の一例について示している。
 入出力装置20は、ユーザが頭部の少なくとも一部に装着して使用する、所謂頭部装着型デバイスとして構成されている。例えば、図12に示す例では、入出力装置20は、所謂アイウェア型(メガネ型)のデバイスとして構成されており、レンズ293a及び293bのうち少なくともいずれかが透過型のディスプレイ(表示部211)として構成されている。また、入出力装置20は、第1撮像部201a及び201bと、第2撮像部203a及び203bと、操作部207と、メガネのフレームに相当する保持部291とを備える。保持部291は、入出力装置20がユーザの頭部に装着されたときに、表示部211と、第1撮像部201a及び201bと、第2撮像部203a及び203bと、操作部207とを、当該ユーザの頭部に対して所定の位置関係となるように保持する。また、図12には図示していないが、入出力装置20は、ユーザの音声を集音するための集音部を備えていてもよい。
 ここで、入出力装置20のより具体的な構成について説明する。例えば、図12に示す例では、レンズ293aが、右眼側のレンズに相当し、レンズ293bが、左眼側のレンズに相当する。即ち、保持部291は、入出力装置20が装着された場合に、表示部211(換言すると、レンズ293a及び293b)がユーザの眼前に位置するように、当該表示部211を保持する。
 第1撮像部201a及び201bは、所謂ステレオカメラとして構成されており、入出力装置20がユーザの頭部に装着されたときに、当該ユーザの頭部が向いた方向(即ち、ユーザの前方)を向くように、保持部291によりそれぞれ保持される。このとき、第1撮像部201aが、ユーザの右眼の近傍に保持され、第1撮像部201bが、当該ユーザの左眼の近傍に保持される。このような構成に基づき、第1撮像部201a及び201bは、入出力装置20の前方に位置する被写体(換言すると、実空間に位置する実オブジェクト)を互いに異なる位置から撮像する。これにより、入出力装置20は、ユーザの前方に位置する被写体の画像を取得するとともに、第1撮像部201a及び201bそれぞれにより撮像された画像間の視差に基づき、当該入出力装置20から、当該被写体までの距離を算出することが可能となる。
 なお、入出力装置20と被写体との間の距離を測定可能であれば、その構成や方法は特に限定されない。具体的な一例として、マルチカメラステレオ、移動視差、TOF(Time Of Flight)、Structured Light等の方式に基づき、入出力装置20と被写体との間の距離が測定されてもよい。ここで、TOFとは、被写体に対して赤外線等の光を投光し、投稿した光が当該被写体で反射して戻るまでの時間を画素ごとに測定することで、当該測定結果に基づき被写体までの距離(深度)を含めた画像(所謂距離画像)を得る方式である。また、Structured Lightは、被写体に対して赤外線等の光によりパターンを照射しそれを撮像することで、撮像結果から得られる当該パターンの変化に基づき、被写体までの距離(深度)を含めた距離画像を得る方式である。また、移動視差とは、所謂単眼カメラにおいても、視差に基づき被写体までの距離を測定する方法である。具体的には、カメラを移動させることで、被写体を互いに異なる視点から撮像し、撮像された画像間の視差に基づき被写体までの距離を測定する。なお、このとき各種センサによりカメラの移動距離及び移動方向を認識することで、被写体までの距離をより精度良く測定することが可能となる。なお、距離の測定方法に応じて、撮像部の構成(例えば、単眼カメラ、ステレオカメラ等)を変更してもよい。
 また、第2撮像部203a及び203bは、入出力装置20がユーザの頭部に装着されたときに、それぞれの撮像範囲内に当該ユーザの眼球が位置するように、保持部291によりそれぞれ保持される。具体的な一例として、第2撮像部203aは、撮像範囲内にユーザの右眼が位置するように保持される。このような構成に基づき、第2撮像部203aにより撮像された右眼の眼球の画像と、当該第2撮像部203aと当該右眼との間の位置関係と、に基づき、当該右眼の視線が向いている方向を認識することが可能となる。同様に、第2撮像部203bは、撮像範囲内に当該ユーザの左眼が位置するように保持される。即ち、第2撮像部203bにより撮像された左眼の眼球の画像と、当該第2撮像部203bと当該左眼との間の位置関係と、に基づき、当該左眼の視線が向いている方向を認識することが可能となる。なお、図12に示す例では、入出力装置20が第2撮像部203a及び203bの双方を含む構成について示しているが、第2撮像部203a及び203bのうちいずれかのみが設けられていてもよい。
 操作部207は、入出力装置20に対するユーザからの操作を受け付けるための構成である。操作部207は、例えば、タッチパネルやボタン等のような入力デバイスにより構成されていてもよい。操作部207は、保持部291により、入出力装置20の所定の位置に保持されている。例えば、図12に示す例では、操作部207は、メガネのテンプルに相当する位置に保持されている。
 また、入出力装置20は、例えば、加速度センサや、角速度センサ(ジャイロセンサ)が設けられ、当該入出力装置20を装着したユーザの頭部の動き(換言すると、入出力装置20自体の動き)を検出可能に構成されていてもよい。具体的な一例として、入出力装置20は、ユーザの頭部の動きとして、ヨー(yaw)方向、ピッチ(pitch)方向、及びロール(roll)方向それぞれの成分を検出することで、当該ユーザの頭部の位置及び姿勢のうち少なくともいずれかの変化を認識してもよい。
 以上のような構成に基づき、例えば、入出力装置20は、ユーザの頭部の動きに応じた、実空間内における自身の位置や姿勢の変化を認識してもよい。また、このとき入出力装置20は、所謂AR技術に基づき、実空間に位置する実オブジェクトに対して、仮想的なコンテンツ(即ち、仮想オブジェクト)が重畳するように、表示部211に当該コンテンツを提示してもよい。このような制御を実現するために、例えば、第1撮像部201a及び201bそれぞれの姿勢と、上記加速度センサや上記角速度センサの姿勢と、の間の相対的な関係のキャリブレーションに、上述した本実施形態に係る技術(即ち、上述したキャリブレーションに係る技術)を応用することが可能である。
 なお、入出力装置20として適用可能な頭部装着型の表示装置(HMD:Head Mounted Display)の一例としては、例えば、AR技術の適用を想定した場合には、シースルー型HMD、ビデオシースルー型HMD、及び網膜投射型HMDが挙げられる。
 シースルー型HMDは、例えば、ハーフミラーや透明な導光板を用いて、透明な導光部等からなる虚像光学系をユーザの眼前に保持し、当該虚像光学系の内側に画像を表示させる。そのため、シースルー型HMDを装着したユーザは、虚像光学系の内側に表示された画像を視聴している間も、外部の風景を視野に入れることが可能となる。このような構成により、シースルー型HMDは、例えば、AR技術に基づき、当該シースルー型HMDの位置及び姿勢のうち少なくともいずれかの認識結果に応じて、実空間に位置する実オブジェクトの光学像に対して仮想オブジェクトの画像を重畳させることも可能となる。なお、シースルー型HMDの具体的な一例として、メガネのレンズに相当する部分を虚像光学系として構成した、所謂メガネ型のウェアラブルデバイスが挙げられる。例えば、図12に示した入出力装置20は、シースルー型HMDの一例に相当する。
 ビデオシースルー型HMDは、ユーザの頭部または顔部に装着された場合に、ユーザの眼を覆うように装着され、ユーザの眼前にディスプレイ等の表示部が保持される。また、ビデオシースルー型HMDは、周囲の風景を撮像するための撮像部を有し、当該撮像部により撮像されたユーザの前方の風景の画像を表示部に表示させる。このような構成により、ビデオシースルー型HMDを装着したユーザは、外部の風景を直接視野に入れることは困難ではあるが、表示部に表示された画像により、外部の風景を確認することが可能となる。また、このときビデオシースルー型HMDは、例えば、AR技術に基づき、当該ビデオシースルー型HMDの位置及び姿勢のうち少なくともいずれかの認識結果に応じて、外部の風景の画像に対して仮想オブジェクトを重畳させてもよい。
 網膜投射型HMDは、ユーザの眼前に投影部が保持されており、当該投影部からユーザの眼に向けて、外部の風景に対して画像が重畳するように当該画像が投影される。より具体的には、網膜投射型HMDでは、ユーザの眼の網膜に対して、投影部から画像が直接投射され、当該画像が網膜上で結像する。このような構成により、近視や遠視のユーザの場合においても、より鮮明な映像を視聴することが可能となる。また、網膜投射型HMDを装着したユーザは、投影部から投影される画像を視聴している間も、外部の風景を視野に入れることが可能となる。このような構成により、網膜投射型HMDは、例えば、AR技術に基づき、当該網膜投射型HMDの位置や姿勢のうち少なくともいずれかの認識結果に応じて、実空間に位置する実オブジェクトの光学像に対して仮想オブジェクトの画像を重畳させることも可能となる。
 また、上記に説明した例以外にも、VR技術の適用を想定した場合には、没入型HMDと呼ばれるHMDを適用することも可能である。没入型HMDは、ビデオシースルー型HMDと同様に、ユーザの眼を覆うように装着され、ユーザの眼前にディスプレイ等の表示部が保持される。そのため、没入型HMDを装着したユーザは、外部の風景(即ち、現実世界の風景)を直接視野に入れることが困難であり、表示部に表示された映像のみが視界に入ることとなる。このような構成により、没入型HMDは、画像を視聴しているユーザに対して没入感を与えることが可能となる。
 以上、上記キャリブレーションに係る技術を適用可能な装置の一例として、図12を参照して、ARやVRを実現するために利用される頭部装着型デバイスの構成の一例について説明した。
 <<7.むすび>>
 以上説明したように、本開示の一実施形態に係る情報処理装置は、互いに異なる複数の視点それぞれについて、撮像部により撮像された画像と、当該撮像部に支持された検知部による重力加速度の検知結果と、を取得する。また、当該情報処理装置は、上記視点ごとの上記画像に撮像された被写体に基づき、当該画像中から重力方向に延伸する複数の線分を抽出し、当該複数の線分それぞれを延伸した直線の交点を特定する。そして、当該情報処理装置は、前記複数の視点それぞれについて取得された前記重力加速度の検知結果と、当該複数の視点それぞれについて特定された前記交点と、に基づき、前記撮像部と前記検知部との間の相対的な姿勢関係を算出する。具体的な一例として、当該情報処理装置は、撮像部に関連付けられた第1の座標系と、前記検知部に関連付けられた第2の座標系と、うちの一方の座標系における姿勢を他方の座標系における姿勢に変換する関数Rを算出する、
 以上のような構成により、撮像部や検知部の取り付けに係る誤差も加味された、撮像部の姿勢と検知部の姿勢との間の対応付け(キャリブレーション)を、より少ない計算量で実現することが可能となる。また、本開示に係る技術に依れば、専用の設備や煩雑な手順を必要とせず、簡易な設備と簡便な手順とにより、上記対応付けを実現することが可能である。このように、本開示の一実施形態に係る情報処理装置に依れば、撮像部の姿勢と検知部の姿勢との間の対応付け(換言すると、当該撮像部及び当検知部間における座標変換)をより好適な態様で実現することが可能となる。これにより、撮像部による撮像画像の解析結果と、検知部による検知結果と、を利用した認識技術をより好適な態様で実現することが可能となる。そのため、例えば、ARやVRの実現に際し、重畳ずれの少ないより正確な視点変化の再現も可能となる。
 以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
 また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
 なお、以下のような構成も本開示の技術的範囲に属する。
(1)
 互いに異なる複数の視点それぞれについて、撮像部により撮像された画像と、当該撮像部に支持された検知部による重力加速度の検知結果と、を取得する取得部と、
 前記視点ごとの前記画像に撮像された被写体に基づき、当該画像中から重力方向に延伸する複数の線分を抽出し、当該複数の線分それぞれを延伸した直線の交点を特定する画像処理部と、
 前記複数の視点それぞれについて取得された前記重力加速度の検知結果と、当該複数の視点それぞれについて特定された前記交点と、に基づき、前記撮像部と前記検知部との間の相対的な姿勢関係を算出する演算部と、
 を備える、情報処理装置。
(2)
 前記演算部は、前記視点ごとに取得された前記重力加速度の検知結果と、当該視点ごとの前記交点の特定結果と、に基づき、前記撮像部に関連付けられた第1の座標系と、前記検知部に関連付けられた第2の座標系と、を対応付ける、前記(1)に記載の情報処理装置。
(3)
 前記演算部は、
 前記視点ごとの前記交点の特定結果に基づき、当該視点における前記第1の座標系における重力方向のベクトルを算出し、
 前記複数の視点それぞれについて取得された前記重力加速度の検知結果と、当該複数の視点それぞれについて算出された前記重力方向のベクトルと、に基づき、前記第1の座標系と前記第2の座標系とを対応付ける、前記(2)に記載の情報処理装置。
(4)
 前記演算部は、前記第1の座標系における前記重力方向のベクトルと、前記第2の座標系における前記重力加速度に応じたベクトルと、に基づき、当該第1の座標系及び当該第2の座標系のうちの一方の座標系における姿勢を他方の座標系における姿勢に変換する関数を算出する、前記(3)に記載の情報処理装置。
(5)
 前記画像処理部は、前記視点ごとの前記画像に前記被写体として撮像された、重力に応じた姿勢に保持されるオブジェクトの当該姿勢に基づき、前記複数の線分のうち少なくとも一部を抽出する、前記(1)~(4)のいずれか一項に記載の情報処理装置。
(6)
 前記画像処理部は、前記視点ごとの前記画像に前記被写体として撮像された複数の前記オブジェクトそれぞれについて、当該オブジェクトの前記姿勢に基づき前記線分を抽出する、前記(5)に記載の情報処理装置。
(7)
 前記複数のオブジェクトのうち、少なくとも一部は、一方の端部が固定された糸状のオブジェクトである、前記(6)に記載の情報処理装置。
(8)
 前記画像処理部は、前記視点ごとの前記画像に前記被写体として撮像されたオブジェクトの重力方向に延伸するエッジに基づき、前記複数の線分のうち少なくとも一部を抽出する、前記(1)~(4)のいずれか一項に記載の情報処理装置。
(9)
 前記オブジェクトは、少なくとも一部に重力方向に延伸する前記エッジを有する建築物である、前記(8)に記載の情報処理装置。
(10)
 前記複数の視点に含まれる少なくとも2以上の視点は、当該視点から前記撮像部により撮像された前記画像から特定される、当該撮像部に関連付けられた座標系における前記交点の位置が互いに異なるように設定される、前記(1)~(9)のいずれか一項に記載の情報処理装置。
(11)
 前記複数の視点のうち少なくとも2以上の視点において、当該視点から前記撮像部により撮像された前記画像から特定される、当該撮像部に関連付けられた座標系における前記交点の位置が互いに異なるように、前記視点の位置の移動を誘導するための情報を出力部に出力させる出力制御部を備える、前記(1)~(10)のいずれか一項に記載の情報処理装置。
(12)
 コンピュータが、
 互いに異なる複数の視点それぞれについて、撮像部により撮像された画像と、当該撮像部に支持された検知部による重力加速度の検知結果と、を取得することと、
 前記視点ごとの前記画像に撮像された被写体に基づき、当該画像中から重力方向に延伸する複数の線分を抽出し、当該複数の線分それぞれを延伸した直線の交点を特定することと、
 前記複数の視点それぞれについて取得された前記重力加速度の検知結果と、当該複数の視点それぞれについて特定された前記交点と、に基づき、前記撮像部と前記検知部との間の相対的な姿勢関係を算出することと、
 を含む、情報処理方法。
(13)
 コンピュータに、
 互いに異なる複数の視点それぞれについて、撮像部により撮像された画像と、当該撮像部に支持された検知部による重力加速度の検知結果と、を取得することと、
 前記視点ごとの前記画像に撮像された被写体に基づき、当該画像中から重力方向に延伸する複数の線分を抽出し、当該複数の線分それぞれを延伸した直線の交点を特定することと、
 前記複数の視点それぞれについて取得された前記重力加速度の検知結果と、当該複数の視点それぞれについて特定された前記交点と、に基づき、前記撮像部と前記検知部との間の相対的な姿勢関係を算出することと、
 を実行させる、プログラム。
 1   情報処理システム
 100 情報処理装置
 101 画像処理部
 103 演算部
 105 入出力制御部
 130 情報取得装置
 131 撮像部
 133 検知部
 151 記憶部
 153 入力部
 155 出力部

Claims (13)

  1.  互いに異なる複数の視点それぞれについて、撮像部により撮像された画像と、当該撮像部に支持された検知部による重力加速度の検知結果と、を取得する取得部と、
     前記視点ごとの前記画像に撮像された被写体に基づき、当該画像中から重力方向に延伸する複数の線分を抽出し、当該複数の線分それぞれを延伸した直線の交点を特定する画像処理部と、
     前記複数の視点それぞれについて取得された前記重力加速度の検知結果と、当該複数の視点それぞれについて特定された前記交点と、に基づき、前記撮像部と前記検知部との間の相対的な姿勢関係を算出する演算部と、
     を備える、情報処理装置。
  2.  前記演算部は、前記視点ごとに取得された前記重力加速度の検知結果と、当該視点ごとの前記交点の特定結果と、に基づき、前記撮像部に関連付けられた第1の座標系と、前記検知部に関連付けられた第2の座標系と、を対応付ける、請求項1に記載の情報処理装置。
  3.  前記演算部は、
     前記視点ごとの前記交点の特定結果に基づき、当該視点における前記第1の座標系における重力方向のベクトルを算出し、
     前記複数の視点それぞれについて取得された前記重力加速度の検知結果と、当該複数の視点それぞれについて算出された前記重力方向のベクトルと、に基づき、前記第1の座標系と前記第2の座標系とを対応付ける、請求項2に記載の情報処理装置。
  4.  前記演算部は、前記第1の座標系における前記重力方向のベクトルと、前記第2の座標系における前記重力加速度に応じたベクトルと、に基づき、当該第1の座標系及び当該第2の座標系のうちの一方の座標系における姿勢を他方の座標系における姿勢に変換する関数を算出する、請求項3に記載の情報処理装置。
  5.  前記画像処理部は、前記視点ごとの前記画像に前記被写体として撮像された、重力に応じた姿勢に保持されるオブジェクトの当該姿勢に基づき、前記複数の線分のうち少なくとも一部を抽出する、請求項1に記載の情報処理装置。
  6.  前記画像処理部は、前記視点ごとの前記画像に前記被写体として撮像された複数の前記オブジェクトそれぞれについて、当該オブジェクトの前記姿勢に基づき前記線分を抽出する、請求項5に記載の情報処理装置。
  7.  前記複数のオブジェクトのうち、少なくとも一部は、一方の端部が固定された糸状のオブジェクトである、請求項6に記載の情報処理装置。
  8.  前記画像処理部は、前記視点ごとの前記画像に前記被写体として撮像されたオブジェクトの重力方向に延伸するエッジに基づき、前記複数の線分のうち少なくとも一部を抽出する、請求項1に記載の情報処理装置。
  9.  前記オブジェクトは、少なくとも一部に重力方向に延伸する前記エッジを有する建築物である、請求項8に記載の情報処理装置。
  10.  前記複数の視点に含まれる少なくとも2以上の視点は、当該視点から前記撮像部により撮像された前記画像から特定される、当該撮像部に関連付けられた座標系における前記交点の位置が互いに異なるように設定される、請求項1に記載の情報処理装置。
  11.  前記複数の視点のうち少なくとも2以上の視点において、当該視点から前記撮像部により撮像された前記画像から特定される、当該撮像部に関連付けられた座標系における前記交点の位置が互いに異なるように、前記視点の位置の移動を誘導するための情報を出力部に出力させる出力制御部を備える、請求項1に記載の情報処理装置。
  12.  コンピュータが、
     互いに異なる複数の視点それぞれについて、撮像部により撮像された画像と、当該撮像部に支持された検知部による重力加速度の検知結果と、を取得することと、
     前記視点ごとの前記画像に撮像された被写体に基づき、当該画像中から重力方向に延伸する複数の線分を抽出し、当該複数の線分それぞれを延伸した直線の交点を特定することと、
     前記複数の視点それぞれについて取得された前記重力加速度の検知結果と、当該複数の視点それぞれについて特定された前記交点と、に基づき、前記撮像部と前記検知部との間の相対的な姿勢関係を算出することと、
     を含む、情報処理方法。
  13.  コンピュータに、
     互いに異なる複数の視点それぞれについて、撮像部により撮像された画像と、当該撮像部に支持された検知部による重力加速度の検知結果と、を取得することと、
     前記視点ごとの前記画像に撮像された被写体に基づき、当該画像中から重力方向に延伸する複数の線分を抽出し、当該複数の線分それぞれを延伸した直線の交点を特定することと、
     前記複数の視点それぞれについて取得された前記重力加速度の検知結果と、当該複数の視点それぞれについて特定された前記交点と、に基づき、前記撮像部と前記検知部との間の相対的な姿勢関係を算出することと、
     を実行させる、プログラム。
PCT/JP2019/007418 2018-05-08 2019-02-27 情報処理装置、情報処理方法、及びプログラム WO2019216000A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP19800467.3A EP3793192A4 (en) 2018-05-08 2019-02-27 INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING METHOD AND PROGRAM
US17/046,368 US11282228B2 (en) 2018-05-08 2019-02-27 Information processing device, information processing method, and program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018-089793 2018-05-08
JP2018089793A JP2021122079A (ja) 2018-05-08 2018-05-08 情報処理装置、情報処理方法、及びプログラム

Publications (1)

Publication Number Publication Date
WO2019216000A1 true WO2019216000A1 (ja) 2019-11-14

Family

ID=68467913

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/007418 WO2019216000A1 (ja) 2018-05-08 2019-02-27 情報処理装置、情報処理方法、及びプログラム

Country Status (4)

Country Link
US (1) US11282228B2 (ja)
EP (1) EP3793192A4 (ja)
JP (1) JP2021122079A (ja)
WO (1) WO2019216000A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3728900B2 (ja) 1997-10-17 2005-12-21 ソニー株式会社 キャリブレーション方法及び装置、並びにキャリブレーション用データ生成方法
JP2015117943A (ja) 2013-12-16 2015-06-25 キヤノン株式会社 電子機器、その制御方法及びプログラム
US20160005164A1 (en) * 2013-02-21 2016-01-07 Regents Of The University Of Minnesota Extrinsic parameter calibration of a vision-aided inertial navigation system
JP2017224984A (ja) * 2016-06-15 2017-12-21 セイコーエプソン株式会社 プログラム、装置、キャリブレーション方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6968094B1 (en) * 2000-03-27 2005-11-22 Eastman Kodak Company Method of estimating and correcting camera rotation with vanishing point location
CN101989126B (zh) * 2009-08-07 2015-02-25 深圳富泰宏精密工业有限公司 手持式电子装置及其屏幕画面自动旋转方法
US9008460B2 (en) * 2012-04-27 2015-04-14 Adobe Systems Incorporated Automatic adjustment of images using a homography
JP5878634B2 (ja) * 2012-08-15 2016-03-08 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 特徴抽出方法、プログラム及びシステム
WO2014048475A1 (en) * 2012-09-27 2014-04-03 Metaio Gmbh Method of determining a position and orientation of a device associated with a capturing device for capturing at least one image
US9135705B2 (en) * 2012-10-16 2015-09-15 Qualcomm Incorporated Sensor calibration and position estimation based on vanishing point determination
US9113077B2 (en) * 2013-01-17 2015-08-18 Qualcomm Incorporated Orientation determination based on vanishing point computation
US9915857B2 (en) * 2013-12-09 2018-03-13 Geo Semiconductor Inc. System and method for automated test-pattern-free projection calibration
US20150371440A1 (en) * 2014-06-19 2015-12-24 Qualcomm Incorporated Zero-baseline 3d map initialization
US9317921B2 (en) * 2014-07-10 2016-04-19 Qualcomm Incorporated Speed-up template matching using peripheral information
US10354364B2 (en) * 2015-09-14 2019-07-16 Intel Corporation Automatic perspective control using vanishing points
US10650526B2 (en) * 2016-06-28 2020-05-12 Canon Kabushiki Kaisha Image processing apparatus, image capturing apparatus, image processing method, and storage medium
WO2018062647A1 (ko) * 2016-09-28 2018-04-05 중앙대학교 산학협력단 정규화된 메타데이터 생성 장치, 객체 가려짐 검출 장치 및 그 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3728900B2 (ja) 1997-10-17 2005-12-21 ソニー株式会社 キャリブレーション方法及び装置、並びにキャリブレーション用データ生成方法
US20160005164A1 (en) * 2013-02-21 2016-01-07 Regents Of The University Of Minnesota Extrinsic parameter calibration of a vision-aided inertial navigation system
JP2015117943A (ja) 2013-12-16 2015-06-25 キヤノン株式会社 電子機器、その制御方法及びプログラム
JP2017224984A (ja) * 2016-06-15 2017-12-21 セイコーエプソン株式会社 プログラム、装置、キャリブレーション方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3793192A4

Also Published As

Publication number Publication date
US20210134004A1 (en) 2021-05-06
JP2021122079A (ja) 2021-08-26
EP3793192A1 (en) 2021-03-17
US11282228B2 (en) 2022-03-22
EP3793192A4 (en) 2021-07-07

Similar Documents

Publication Publication Date Title
CN110647237B (zh) 在人工现实环境中基于手势的内容共享
US10674142B2 (en) Optimized object scanning using sensor fusion
CN109146965B (zh) 信息处理装置、计算机可读介质和头戴式显示装置
US9401050B2 (en) Recalibration of a flexible mixed reality device
EP3407302B1 (en) Information processing device, information processing method, and recording medium
US20190033058A1 (en) Information processing apparatus, information processing method, and recording medium
US10769437B2 (en) Adaptive sampling of training views
JP2018067115A (ja) プログラム、追跡方法、追跡装置
US20200242335A1 (en) Information processing apparatus, information processing method, and recording medium
US20190369807A1 (en) Information processing device, information processing method, and program
EP3528024B1 (en) Information processing device, information processing method, and program
US20200211275A1 (en) Information processing device, information processing method, and recording medium
US12014523B2 (en) Intrinsic parameters estimation in visual tracking systems
EP4246281A1 (en) Information display system, information display method, and carrier means
WO2019216000A1 (ja) 情報処理装置、情報処理方法、及びプログラム
WO2022240933A1 (en) Depth-from- stereo bending correction
US20220374505A1 (en) Bending estimation as a biometric signal
WO2022246382A1 (en) Bending estimation as a biometric signal
EP4338129A1 (en) Depth-from- stereo bending correction
CN118302792A (en) Intrinsic recalibration of camera in monocular vision tracking system
CN117441343A (zh) 曝光和iso的动态调整的相关应用
CN117321635A (zh) 用于多级别特征跟踪的直接尺度级别选择

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: 19800467

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2019800467

Country of ref document: EP

Effective date: 20201208

NENP Non-entry into the national phase

Ref country code: JP