WO2022202016A1 - 情報処理装置、情報処理方法、記憶媒体 - Google Patents

情報処理装置、情報処理方法、記憶媒体 Download PDF

Info

Publication number
WO2022202016A1
WO2022202016A1 PCT/JP2022/006671 JP2022006671W WO2022202016A1 WO 2022202016 A1 WO2022202016 A1 WO 2022202016A1 JP 2022006671 W JP2022006671 W JP 2022006671W WO 2022202016 A1 WO2022202016 A1 WO 2022202016A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
calibration
camera
estimated
estimation information
Prior art date
Application number
PCT/JP2022/006671
Other languages
English (en)
French (fr)
Inventor
敦 石原
広幸 安賀
Original Assignee
ソニーグループ株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ソニーグループ株式会社 filed Critical ソニーグループ株式会社
Publication of WO2022202016A1 publication Critical patent/WO2022202016A1/ja

Links

Images

Classifications

    • 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
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/66Transforming electric information into light information

Definitions

  • the present technology relates to the technical field of an information processing device, an information processing method, and a storage medium that performs calibration for appropriately estimating the position and orientation of a device worn by a user.
  • HMD head-mounted display
  • Accuracy of self-position and posture estimation is based on correctness of various parameters (such as optical axis direction, focal length, etc.) of the camera provided in the HMD. A process for calculating the parameters of is performed.
  • an observation camera is arranged at the position of the eye when the user is wearing the device, and the imaging results of the HMD camera and the observation camera are compared.
  • the present technology has been made in view of such problems, and proposes an information processing apparatus capable of calibrating various parameters in order to correctly estimate the position and orientation of a wearable device such as an HMD. With the goal.
  • An information processing apparatus includes first estimation information indicating the position and orientation of the display unit estimated based on a first captured image captured by a first camera worn on the user together with the display unit; an acquisition unit configured to acquire second estimation information indicating the position and orientation of the display unit estimated based on a second captured image captured by a second camera installed in a space where the user exists; a calibration processing unit that generates correction information used for calibration of parameters of either the first camera or the second camera based on the first estimation information and the second estimation information. . This makes it possible to calibrate the parameters used for estimating the position and orientation of the display unit without arranging an observation camera for calibration that is arranged at the position of the user's eyes.
  • FIG. 4 is a diagram showing a state in which a user wearing an HMD is positioned in a vehicle compartment space as a target space;
  • FIG. 4 is a diagram schematically showing the positional relationship between the first camera and the second camera in the first mode and the second mode;
  • It is a block diagram which shows the structural example of HMD.
  • 1 is a block diagram showing a configuration example of a vehicle system;
  • FIG. 2 is a schematic diagram showing the positional relationship between each part of the HMD and each part of the vehicle system;
  • FIG. 10 is an explanatory diagram showing a state in which a virtual object VOB serving as navigation information on the windshield of a vehicle is superimposed and displayed;
  • FIG. 10 is an explanatory diagram showing a state in which a virtual object VOB is displayed superimposed on controls arranged on a dashboard of a vehicle;
  • FIG. 10 is a flowchart showing an example of processing executed by the HMD together with FIG. 9;
  • FIG. FIG. 9 is a flowchart showing an example of processing executed by the HMD together with FIG. 8;
  • FIG. 4 is a flowchart showing an example of processing executed by a vehicle system;
  • FIG. 4 is a diagram for explaining that each parameter is stored for each temperature range;
  • FIG. FIG. 14 is a flowchart showing an example of processing executed by the HMD in the second embodiment together with FIG. 13;
  • FIG. 13 is a flowchart showing an example of processing executed by the HMD according to the second embodiment together with FIG.
  • FIG. 12 It is a figure which shows an example of the 2nd captured image imaged in order to determine whether calibration is required.
  • a diagram showing an example of the relationship between the position of the virtual object determined based on the first estimation information, the position of the virtual object determined based on the second estimation information, and the actual position of the steering wheel in the third embodiment. is.
  • FIG. 4 is a diagram showing an example of the relationship between the position of a virtual object determined based on third estimation information generated from first estimation information and second estimation information and the actual position of a steering wheel;
  • FIG. 9 is a flowchart showing an example of processing executed by the HMD in the modified example together with FIG. 8 ;
  • FIG. 11 is a flowchart showing an example of processing executed by an HMD in another modified example;
  • a head-mounted display (hereinafter referred to as "HMD 1") will be described as an example of a device worn by a user.
  • the HMD 1 may be an eyeglass-type device, or may be a mobile terminal device such as a smart phone. Further, calibration of various parameters is performed by the user wearing the HMD 1 while riding in the vehicle 100 .
  • the HMD 1 is equipped with an optical see-through type display unit 2 as shown in FIG. 1, through which the user can visually recognize the real world.
  • the display unit 2 includes a left-eye area 2a and a right-eye area 2b, and by displaying images for binocular parallax in the left-eye area 2a and the right-eye area 2b, respectively, a predetermined position in the real world can be displayed.
  • the user can visually recognize an augmented reality (AR) space in which the virtual object VOB is arranged. Specifically, it is possible to superimpose an image in which the outline of the pedestrian is emphasized on the windshield of the vehicle 100, or to display navigation information. In addition, it is also possible to superimpose an explanatory caption on the controls provided on the vehicle 100 on the controls.
  • AR augmented reality
  • the HMD 1 includes an imaging section capable of imaging the front of the display section 2 .
  • the front of the display unit 2 is the line-of-sight direction of the user wearing the HMD 1 .
  • a camera capable of capturing an image of the driver (user) sitting in the driver's seat is provided on the dashboard, ceiling, or the like of the vehicle 100 .
  • the imaging unit included in the HMD 1 will be referred to as the first camera 3, and the camera provided in the vehicle 100 and capable of capturing an image of the user will be referred to as the second camera 101.
  • the space in which the second camera 101 is arranged is, for example, the cabin space of the vehicle 100 as a moving object, and this space is referred to as "target space CS".
  • the HMD 1 estimates its own position and orientation in order to place the virtual object VOB at the desired position. Then, when the estimated self position and orientation are not appropriate, various parameters of the HMD 1 are corrected by performing calibration, which will be described later.
  • the position and orientation of the HMD 1 may be estimated by estimating the position and orientation (orientation) of the display unit 2 of the HMD 1, or by estimating the position and orientation of other specific parts of the HMD 1. It may be
  • the position and orientation of the HMD 1 may be estimated based on the first captured image G1 captured by the first camera 3 or based on the second captured image G2 captured by the second camera 101.
  • the mode for estimating the position and orientation of the HMD 1 based on the first captured image G1 is defined as "first mode MD1”
  • the mode for estimating the position and orientation of the HMD1 based on the second captured image G2. is referred to as "second mode MD2”.
  • first estimation information P1 The position and orientation estimation information of the HMD 1 estimated based on the first captured image G1 is defined as “first estimation information P1", and the position and orientation estimation information of the HMD 1 estimated based on the second captured image G2. is referred to as "second estimation information P2".
  • the first camera 3 is an imaging unit provided in the HMD 1 worn by the user, while the second camera 101 is an imaging device installed (fixed) in the target space CS.
  • the second estimated information P2 is more likely to be more accurate information.
  • the HMD 1 basically operates in the first mode MD1 in which the self position and orientation are estimated using the first captured image G1.
  • 2nd mode MD2 which estimates the position and attitude
  • the HMD 1 includes the display section 2 and the first camera 3 as described above. Moreover, the HMD 1 further includes a sensor section 10 , a communication section 11 , a control section 12 and a marker 13 .
  • the sensor unit 10 comprehensively represents various sensors, and is configured with various sensors.
  • the above-described first camera 3 is also an example of sensors included in the sensor unit 10 .
  • the sensor section 10 also includes an inertial sensor 14 and a temperature sensor 15 .
  • the first camera 3 may be a camera capable of acquiring a color image, or an IR camera having sensitivity to IR (Infrared) light.
  • the first camera 3 may be a camera having a distance measurement function capable of acquiring a distance image. Note that a camera that combines a plurality of functions, such as a camera capable of acquiring both a color image and a range image, may be used.
  • the inertial sensor 14 is an IMU (Inertial Measurement Unit) equipped with an acceleration sensor, a gyro sensor, and the like.
  • the inertial sensor 14 can be used to detect the position and orientation of the display section 2 of the HMD1.
  • the temperature sensor 15 is a sensor that measures the internal temperature of the HMD 1 and the like. Temperature data output from the temperature sensor 15 is used for correction and selection of parameters that change with temperature.
  • the configuration of the sensor unit 10 shown in FIG. 3 is merely an example, and a part of the configuration shown in FIG. 3 may not be provided, or a sensor other than the configuration shown in FIG. 3 may be provided. good.
  • the sensor unit 10 may include at least a part of a sensor capable of detecting signals based on GNSS (Global Navigation Satellite System), a ranging sensor other than the first camera 3, or an ultrasonic sensor.
  • GNSS Global Navigation Satellite System
  • the communication unit 11 performs transmission/reception processing of information necessary for the HMD 1 to implement various types of processing described later. For example, in order to synchronize the first camera 3 and the second camera 101 , time information is transmitted to the control unit of the second camera 101 . At this time, the communication unit 11 may transmit information to the control unit of the second camera 101 via the communication unit of the vehicle 100 .
  • the communication unit 11 receives the second estimated information P2 from the second camera 101 or the vehicle system S that controls the vehicle 100 .
  • the communication unit 11 may use wireless communication or may use wired communication.
  • the control unit 12 has a function of performing various processes.
  • the control unit 12 includes a recognition unit 16, a display processing unit 17, a system clock 18, an acquisition unit 19, a determination unit 20, a calibration processing unit 21, a synchronization processing unit 22 and a presentation processing unit 23 .
  • the recognition unit 16 uses output signals from various sensors provided in the sensor unit 10 to estimate the self position and orientation of the HMD 1 and create an environment map (SLAM: Simultaneous Localization and Mapping), that is, the first estimation information P1. and detection of physical objects ROB located in the vicinity.
  • the physical object ROB is an object that actually exists during driving, such as an operator such as a steering wheel and buttons, or a pedestrian positioned outside the vehicle. Note that the detection of the physical object ROB may be performed by detecting a marker provided on the physical object ROB.
  • Detection of the physical object ROB by the recognition unit 16 may be performed by using depth information estimated from stereo images, may be performed by pattern matching using color captured images, or may be performed by using learning data. It may be performed by using conventional machine learning (for example, deep learning, etc.).
  • the accuracy of the first estimation information P1 generated by the recognition unit 16 and the recognition result of the position and orientation of the real object ROB to be recognized can be improved by considering temperature characteristics of various data such as parameters used for estimation. . Therefore, the recognizing unit 16 can acquire parameters that vary with temperature from the parameter holding unit 24 .
  • the data that fluctuates with temperature are, for example, parameters used for lens distortion correction in the first camera 3, data output from the IMU, and the like.
  • the recognition unit 16 may use a CPU (Central Processing Unit) or a GPU (Graphics Processing Unit) in self-position and orientation estimation processing, creation of an environment map, and detection of a physical object ROB, or may use machine learning.
  • a TPU Transistor Processing Unit
  • CPU Central Processing Unit
  • GPU Graphics Processing Unit
  • the display processing unit 17 generates drawing data for drawing the virtual object VOB based on the estimated information about the self position and orientation output from the recognition unit 16, and outputs the drawing data to the display unit 2. Specifically, the display processing unit 17 generates drawing data to be displayed in the left-eye area 2a of the display unit 2 and drawing data to be displayed in the right-eye area 2b. These drawing data are for making the virtual object VOB arranged at a predetermined position in the three-dimensional space visible using binocular parallax.
  • the display unit 2 performs display processing based on the drawing data output from the display processing unit 17 .
  • the virtual object VOB is displayed on the display unit 2 .
  • a user wearing the HMD 1 can visually recognize the real object ROB on which the virtual object VOB is superimposed via the display unit 2 .
  • the display processing unit 17 performs both a first display process for displaying the virtual object VOB based on the first estimation information P1 and a second display process for displaying the virtual object VOB based on the second estimation information P2. It is possible.
  • LCD Liquid Crystal Display
  • organic EL Electro Luminescence
  • the system clock 18 counts the elapsed time since the HMD 1 system was activated.
  • the acquisition unit 19 performs a process of acquiring the first estimated information P1 from the recognition unit 16 and a process of acquiring the second estimated information P2 from the vehicle system S and the second camera 101.
  • the second estimated information P2 may be generated by the recognition unit 16 that receives the second captured image G2, and in that case, the second estimated information P2 is acquired from the recognition unit 16.
  • the determination unit 20 performs a process of comparing the first estimated information P1 and the second estimated information P2 to determine which estimated information has higher accuracy, and performs calibration to increase the accuracy of the first estimated information P1.
  • a process for determining the presence or absence, a process for determining whether or not to perform calibration for increasing the accuracy of the second estimated information P2, and the like are executed.
  • the determination result as to whether or not to perform calibration is output to the calibration processing unit 21.
  • the determination result here is, for example, flag information indicating whether or not calibration is performed to increase the accuracy of the first estimated information P1, or flag information indicating whether or not calibration is performed to increase the accuracy of the second estimated information P2. information, etc.
  • the determination result may include information for specifying the parameter to be corrected.
  • the calibration processing unit 21 performs calibration based on the result of determination as to whether or not calibration is to be performed.
  • the parameters used for deriving the first estimated information P1 and the second estimated information P2 may be corrected. may be asked for.
  • the calibration processing unit 21 When correcting the parameter itself used for deriving the second estimated information P2, the calibration processing unit 21 generates a command or the like for causing the vehicle system S or the second camera 101 to perform calibration, and communicates the command. Instructions may be given via the unit 11 .
  • the parameters used to derive the first estimated information P1 include internal parameters such as the optical axis direction, focal length, and distortion of the first camera 3, and the positional relationship between the first camera 3 and the display unit 2.
  • external parameters for These parameters that is, the parameters used for deriving the first estimation information P1 are collectively referred to as "first parameters”.
  • Parameters used for deriving the second estimation information P2 include parameters such as the optical axis direction, focal length, and distortion aberration of the second camera 101 .
  • a parameter for specifying the positional relationship between the second camera 101 and a predetermined part (such as a steering wheel) fixed inside the vehicle may be included in the parameters used for deriving the second estimated information P2.
  • second parameters that is, the parameters used for deriving the second estimation information P2 are collectively described as "second parameters”.
  • the first parameter to be calibrated is stored in the parameter holding unit 24.
  • the synchronization processing unit 22 performs processing for synchronizing the first camera 3 and the second camera 101 . Note that it is not necessary for the first camera 3 and the second camera 101 to capture images at exactly the same timing. The delay time of the communication between the first camera 3 and the second camera 101 may be grasped so that the second captured image G2 can be specified.
  • the presentation processing unit 23 performs processing for presenting options and the like to the user. As will be described later, the case of selecting which of the virtual object VOB generated based on the first estimation information P1 and the virtual object VOB generated based on the second estimation information P2 is placed at an appropriate position. There is In that case, the presentation processing unit 23 presents options through the display unit 2 for selection.
  • the control unit 12 is configured with a microcomputer having an arithmetic processing unit such as a CPU and a storage unit such as ROM and RAM, and realizes the various functions described above by executing various processes according to programs stored in the ROM. do.
  • a part or all of the various functions described above may be configured by hardware.
  • the marker 13 is a mark provided at a predetermined portion of the HMD 1, and is used to estimate the position and orientation of the HMD 1 by appearing in the second captured image G2 captured by the second camera 101.
  • second estimation information P2 that estimates the position and orientation of HMD 1 is generated by detecting how the shape and size of marker 13 appear on second captured image G2.
  • a plurality of markers 13 may be provided, and in that case, it is possible to improve the accuracy of the second estimation information P2.
  • a dedicated portion having only the function of the marker 13 may not be provided.
  • a corner or the like of the display unit 2 may function as the marker 13 . That is, the second estimation information P2 may be generated by estimating the position and orientation of the display unit 2 by specifying a predetermined portion of the display unit 2 from the second captured image G2 captured by the second camera 101 .
  • the vehicle system S includes a vehicle sensor section 30 , a vehicle communication section 31 , a vehicle control section 32 and a specific target section 33 .
  • the vehicle sensor unit 30 is configured with various sensors.
  • FIG. 4 representatively describes sensors used for calculating the second estimation information P2 that estimates the position and orientation of the HMD 1 .
  • Vehicle sensor unit 30 includes second camera 101 and temperature sensor 34 .
  • Various camera devices can be employed as the second camera 101 .
  • a camera capable of acquiring a color captured image, an IR camera, or the like can be employed as the second camera 101 .
  • the temperature sensor 34 is a sensor that can measure the internal temperature of the second camera 101 .
  • the temperature data acquired here is used for selection of parameters for the second camera 101, and the like.
  • the vehicle sensor unit 30 may also include a ranging sensor, an ultrasonic sensor, and the like.
  • the vehicle communication unit 31 performs transmission/reception processing for information related to generation of the second estimation information P2. Specifically, the vehicle communication unit 31 performs a process of transmitting the generated second estimation information P2 to the HMD 1 and whether or not to perform calibration targeting the second parameter used for calculating the second estimation information P2. It performs processing for receiving such instruction information.
  • the vehicle control unit 32 performs overall control of the vehicle 100 and also performs various processes related to the generation of the second estimated information P2. Also, calibration is performed to improve the accuracy of the second estimation information P2.
  • the vehicle control unit 32 includes a position/orientation estimation unit 35 , a specific target object recognition unit 36 and a calibration processing unit 37 .
  • the position and orientation estimation unit 35 estimates the position and orientation of the HMD 1 or estimates the position and orientation of the display unit 2 and generates second estimation information P2.
  • the specific object recognition unit 36 performs processing for recognizing a specific object that the vehicle 100 has. Anything not incorporated in the vehicle system S may be used as long as the vehicle 100 is equipped with the same.
  • the steering wheel H as a steering device incorporated in the vehicle system S is the specific object.
  • the calibration processing unit 37 calibrates the second parameters used to estimate the second estimation information P2.
  • internal parameters such as the optical axis direction, focal length, and distortion of the second camera 101 can be targets for calibration.
  • the calibration is performed according to how the steering wheel H as the specific object appears in the second captured image G2 captured by the second camera 101 . For example, when the imaging region of the steering wheel H in the previously captured second captured image G2 is deviated from the imaging region of the steering wheel H in the latest second captured image G2, the above-described calibration of the second parameter is performed. done.
  • the calibration processing unit 37 may calibrate the second parameter based on the command received from the calibration processing unit 21 of the HMD 1.
  • the specific target portion 33 is a subject used for calibration, such as the handle H described above.
  • the parameter holding unit 38 stores second parameters to be calibrated.
  • the second camera 101 in the vehicle system S and the steering wheel H as a specific object
  • the positional relationship of is assumed to be self-evident by prior calibration.
  • the transformation matrix A1 from the coordinate position of the handle H (hereinafter simply referred to as “position”) to the position of the second camera 101 is self-explanatory.
  • the positional relationship between the left-eye area 2a, the right-eye area 2b, the first camera 3, and the marker 13 of the display unit 2 in the HMD 1 is also made obvious by prior calibration. That is, the transformation matrix A2 from the position of the marker 13 to the position of the left eye region 2a and the transformation matrix A3 from the position of the marker 13 to the position of the right eye region 2b are self-explanatory. Similarly, the conversion matrix A4 from the position of the first camera 3 to the position of the left eye area 2a and the conversion matrix A5 from the position of the first camera 3 to the position of the right eye area 2b are self-explanatory.
  • the positional relationship between the first camera 3 and the handle H, and the positional relationship between the second camera 101 and the left eye area 2a and the right eye area 2b change from moment to moment.
  • the position and orientation of the marker 13 are recognized, and based on the recognition result, the position and orientation of the display unit 2 in the target space CS are determined.
  • the transformation matrix B1 from the position of the second camera 101 to the position of the left-eye area 2a is obtained by multiplying the transformation matrix B0 from the position of the second camera 101 to the position of the marker 13 by the transformation matrix A2.
  • the transformation matrix B2 from the position of the second camera 101 to the position of the right eye region 2b is obtained by multiplying the transformation matrix B0 from the position of the second camera 101 to the position of the marker 13 by the transformation matrix A3. Become.
  • the transformation matrix from the position of the handle H to the positions of the left-eye area 2a and the right-eye area 2b is obtained by multiplying the transformation matrix A1 by the transformation matrix B1 and the transformation matrix B2, respectively.
  • the transformation matrix from the position of the handle H to the position of the left eye area 2a estimated in this manner and the transformation matrix from the position of the handle H to the position of the right eye area 2b are the second estimated information P2.
  • the first estimation information P1 will also be described.
  • the position and orientation of the handle H are identified.
  • a transformation matrix B3 from the position of the first camera 3 to the position of the handle H is calculated.
  • the transformation matrix from the position of the handle H to the positions of the left eye area 2a and the right eye area 2b can be calculated by multiplying the inverse matrix of the transformation matrix B3 by the transformation matrix A4 and the transformation matrix A5 respectively.
  • the transformation matrix from the position of the handle H thus calculated to the positions of the left eye area 2a and the right eye area 2b is the first estimation information P1.
  • the calibration processing unit 21 performs calibration using the difference between the first estimated information P1 and the second estimated information P2.
  • the contents of the calibration processing may include correcting the first parameter and the second parameter themselves used for deriving the first estimation information P1 and the second estimation information P2.
  • a transformation matrix for the position and orientation for bringing P1 closer to the true value may be obtained. A specific procedure for obtaining the transformation matrix will be described below.
  • Equation 1 For example, consider a case where the virtual object VOB is superimposed on the handle H arranged at a predetermined position and orientation in the target space CS.
  • Equation 1 In order to convert a three-dimensional point on the virtual object VOB into a point on the two-dimensional screen coordinate system of the left-eye area 2a on the display unit 2, the following (Equation 1) is used.
  • Pose in (Equation 1) represents the position and orientation of the handle H in the three-dimensional World coordinate system.
  • Pose is an x-coordinate, y-coordinate, and z-coordinate representing a position and a rotation matrix or quaternion representing a posture.
  • V in (Formula 1) is a transformation matrix from the World coordinate system to the camera coordinate system of the first camera 3 .
  • the transformation matrix V indicates the position and orientation of the handle H viewed from the first camera 3, and is based on the first estimation information P1.
  • P in (Formula 1) is a transformation matrix from the camera coordinate system to the screen coordinate system of the left eye area 2a.
  • the conversion matrix P is based on the positional relationship between the first camera 3 and the left eye area 2a.
  • Pos in (Equation 1) represents the pixel position in the screen coordinate system of the left eye area 2a.
  • the user can visually recognize the state in which the virtual object VOB is accurately superimposed on the handle H. can do.
  • the first estimated information P1 may deviate from the correct value due to various factors as described above. If a deviation occurs, the conversion matrix V′ for correction is calculated based on the second estimation information P2, thereby obtaining Pos as the arrangement position of the virtual object VOB in the screen coordinate system of the left-eye area 2a. can be corrected.
  • Pos is corrected using the following (formula 2).
  • V′ is position and orientation information as first estimation information P1 estimated based on the first captured image G1 and position and orientation information as second estimation information P2 estimated based on the second captured image G2.
  • Equation 1 For example, if the difference between the first estimated information P1 and the second estimated information P2 is infinitely small, (Equation 1) may be used. In this case, since it is not necessary to calculate the conversion matrix V', the processing load can be reduced.
  • the purpose of the virtual object VOB is to display navigation information to the user, or to display information that does not depend on a specific physical object ROB.
  • the equation (1) may be used even when the first estimated information P1 contains an error.
  • (Formula 1) is used to determine the display position (that is, the x-coordinate and y-coordinate in the screen coordinate system) of the virtual object VOB1 as the navigation information.
  • the display position of the virtual object VOB2 is determined using the second estimation information, which is information in which the position and orientation of the left-eye area 2a of the display unit 2 are accurately estimated. This prevents the presentation of an erroneous functional explanation to the user.
  • FIGS. 8 and 9 are flowcharts that start from a state before the user gets into the vehicle 100.
  • FIG. It should be noted that the flow connection between drawings is indicated by "c1".
  • step S101 of FIG. 8 the control unit 12 of the HMD 1 determines whether or not it has detected that the second camera 101 has entered the vehicle interior space as the target space CS in which the second camera 101 is fixedly arranged.
  • the entry into the target space CS may be detected based on the result of image processing on the first captured image G1, or may be detected based on information received from the vehicle system S, for example.
  • step S101 If it is determined in step S101 that it has not been detected, the control unit 12 executes the process of step S101 again.
  • control unit 12 acquires information on the internal temperature of the HMD 1 from the temperature sensor 15 in step S102.
  • the control unit 12 acquires various parameter information from the parameter holding unit 24 based on the internal temperature information of the HMD 1.
  • the parameter acquired here is the first parameter necessary for generating the first estimated information and the first parameter that changes with temperature. For example, as shown in FIG. 11, the value of each parameter is stored for each predetermined temperature range, and the corresponding parameter is obtained from the parameter holding unit 24 based on the temperature information obtained from the temperature sensor 15.
  • step S104 the control unit 12 shares the World coordinate system.
  • the World coordinate system is shared by defining the X-, Y-, and Z-axes with the position of the handle H as the specific object as the origin.
  • the control unit 12 starts transmitting time information to the vehicle system S in step S105. Specifically, it transmits to the vehicle system S the information on the elapsed time since the system startup, which is counted by the system clock 18 .
  • the vehicle control unit 32 of the vehicle system S when the vehicle control unit 32 of the vehicle system S receives the elapsed time information from the HMD 1, it transmits (responses) some information to the HMD 1.
  • the information returned here may be information such as an ACK (Acknowledgment) indicating that the elapsed time information has been received, or may be time information received from the HMD 1 . In the following description, the case of returning the received time information to the HMD 1 will be described.
  • step S106 the control unit 12 calculates the time required for the round trip of data transmission/reception between the HMD 1 and the vehicle system S, and defines communication delays and variations.
  • the data transmission in step S105 is performed a plurality of times, and the returned data is received the same number of times.
  • the communication delay is defined by calculating the difference between the transmission time and the reception time of each data and taking the average value.
  • the dispersion of the communication delay is defined by calculating the variance of the difference.
  • the round-trip time can be estimated based on the difference from the reception time.
  • step S107 the control unit 12 transmits an instruction (command) to the vehicle system S to start generating the second estimation information P2.
  • the second estimation information P2 is generated using the second captured image G2.
  • the second estimated information P2 generated in the vehicle system S is linked to the time information received from the HMD 1 and transmitted to the HMD 1 as appropriate.
  • the time information associated with the second estimation information P2 is the time information closest to the imaging time of the second captured image G2 used to generate the second estimation information P2. Therefore, the control unit 12 can obtain the imaging time of the second captured image G2 used to generate the second estimated information P2 based on the time information received together with the second estimated information P2.
  • the control unit 12 generates the first estimated information P1 using the first captured image G1 in step S108 of FIG.
  • the first estimated information P1 generated here is estimated based on the first captured image G1 captured at approximately the same time as the second captured image G2 used for estimating the second estimated information P2.
  • the first estimated information P1 and the second estimated information P2 generated based on the first captured image G1 and the second captured image G2 captured at approximately the same time are referred to as "corresponding estimated information”. do.
  • the substantially same time may be exactly the same time as the second captured image G2 used to generate the second estimated information P2, or the difference is less than a predetermined threshold such as several milliseconds or several tens of milliseconds. It may be the time.
  • step S109 the control unit 12 determines whether or not predetermined data has been obtained.
  • the predetermined data here refers to at least one set of the first estimated information P1 and the second estimated information P2, and the first estimated information P1 and the second estimated information P2 as the corresponding estimated information.
  • the first estimated information P1 and the second estimated information P2 may be one set, but in order to perform calibration with higher accuracy, a plurality of sets of the first estimated information P1 and the second estimated information P2 are acquired. It may be determined in step S109 whether or not it has been completed. For example, in addition to a set of first estimated information P1 and second estimated information P2 estimated for the HMD 1 at a certain position and orientation, another set of estimated information for the HMD 1 at a different position and orientation at other timings may be used. If a pair of the first estimated information P1 and the second estimated information P2 can be acquired, it may be determined as "Yes" in step S109. By comparing the first estimated information P1 and the second estimated information P2 for a plurality of positions and orientations, highly accurate calibration can be performed. Note that the predetermined data may be three or more sets of estimated information.
  • step S109 If the control unit 12 determines that the predetermined data has not been acquired in step S109, the control unit 12 generates the first estimation information P1 in step S108 again.
  • the first estimated information P1 generated here is estimated information corresponding to the new second estimated information P2 received from the vehicle system S.
  • FIG. The processing of step S108 is repeatedly executed until predetermined data can be secured.
  • step S109 determines whether or not the difference between the first estimated information P1 and the second estimated information P2 is equal to or greater than the threshold.
  • the control unit 12 determines whether or not the difference between the first estimated information P1 and the second estimated information P2 is equal to or greater than the threshold.
  • the difference is less than the threshold.
  • the estimated positions and orientations are significantly different, it is determined that the difference is greater than or equal to the threshold.
  • the average value of differences for each set may be compared with a threshold value, the largest difference may be compared with a threshold value, or the largest difference may be compared with a threshold value.
  • a small difference may be compared with a threshold. When comparing the largest difference to a threshold, one would check that all pair differences are less than the threshold.
  • the control unit 12 determines in step S111 whether or not calibration is possible. For example, when performing calibration by recalculating the internal parameters and external parameters stored in the parameter holding unit 24, there are cases where values must be set beyond the expressible range of each parameter. be. In such a case, it is determined that calibration is impossible.
  • the control unit 12 performs calibration for the first estimated information P1 in step S112.
  • Calibration of the first estimated information P1 may be, for example, correction of the first parameter used for deriving the first estimated information P1, or calibration of the display unit 2 calculated as the first estimated information P1.
  • a transformation matrix may be obtained to bring the position and orientation information closer to the true value.
  • step S113 the control unit 12 switches to the second mode MD2. Since the second mode MD2 estimates the position and orientation of the HMD1 using the second camera 101 fixedly arranged in the target space CS as the vehicle interior space, it is considered that the estimation accuracy is high. Therefore, by switching to the second mode MD2, the virtual object VOB can be superimposed and displayed with high accuracy.
  • the control unit 12 notifies the user that the calibration cannot be performed in step S114.
  • the user notification may be performed using the virtual object VOB, or may be notified by vibration or sound.
  • step S114 After finishing the process of step S114, the control unit 12 ends the series of processes shown in FIGS. Note that after the process of step S114 is finished, the process of switching to the second mode MD2 in step S113 may be performed.
  • FIG. 10 shows an example of processing executed by the vehicle control unit 32 of the vehicle system S while the control unit 12 of the HMD 1 is executing each processing shown in FIGS. 8 and 9 .
  • step S201 the vehicle control unit 32 determines whether or not the time information transmitted from the control unit 12 has been received. This time information is the time information transmitted in step S105 of FIG.
  • step S202 the vehicle control unit 32 performs an information return process in step S202. Note that when the periodical transmission process of time information is started in step S105, the vehicle control unit 32 executes the processes of steps S201 and S202 at predetermined time intervals. Then, in that case, each process of step S201 and step S202 may be executed in parallel while executing each process after step S203.
  • step S203 the vehicle control unit 32 determines whether or not an instruction to start generating the second estimated information P2 has been received.
  • the instruction is transmitted from the control unit 12 in step S107 of FIG.
  • the vehicle control unit 32 When determining that the instruction to start generating the second estimated information P2 has not been received, the vehicle control unit 32 returns to the process of step S201. On the other hand, when determining that the instruction to start generating the second estimated information P2 has been received, the vehicle control unit 32 proceeds to step S204 and acquires temperature information output from the temperature sensor 34 .
  • step S205 the vehicle control unit 32 acquires parameters according to the temperature information.
  • FIG. 11 shows an example in which various parameters for the first camera 3 are stored for each predetermined temperature range. stored in step S205, appropriate parameters for the second camera 101 are acquired according to the temperature conditions.
  • the vehicle control unit 32 generates the second estimated information P2 in step S206. Subsequently, in step S207, the vehicle control unit 32 performs a process of transmitting the generated second estimation information P2 to the HMD1.
  • step S208 the vehicle control unit 32 determines whether or not the condition for stopping the generation of the second estimated information P2 is satisfied.
  • the condition for stopping the generation of the second estimated information P2 is, for example, when a generation presentation instruction is received from the control unit 12 of the HMD 1 or when the HMD 1 worn by the user moves out of the angle of view of the second camera 101. or when the engine of the vehicle 100 is stopped.
  • the vehicle control unit 32 returns to the process of step S201.
  • the vehicle control unit 32 returns to step S204 to generate the second estimated information P2 again. Thereby, the 2nd estimation information P2 is produced
  • step S204 when the second estimation information P2 is generated every several tens of milliseconds or hundreds of milliseconds, the process of step S204 does not have to be performed each time.
  • the process of step S204 is a process of acquiring temperature information, but since it is difficult to imagine that the temperature will suddenly change in a short period of time such as several hundred milliseconds, the process of step S204 is executed every few seconds or every few minutes. , the process of step S204 may be skipped at other timings.
  • step S208 an example of determining whether or not an instruction to stop generating the second estimated information P2 has been received from the HMD1 has been described, but the instruction to generate the second estimated information P2 may be received from the HMD1 each time. In that case, determination processing may be performed in step S208 depending on whether it is detected that the HMD 1 has moved outside the angle of view or that the engine has stopped.
  • the second estimated information P2 is assumed to be basically correct information, and calibration is performed to bring the first estimated information P1 closer to the true value based on the second estimated information P2. .
  • the second embodiment when it is determined that the second estimated information P2 is incorrect, calibration is performed to bring the second estimated information P2 closer to the true value.
  • descriptions of the same configurations and processes as in the first embodiment will be omitted as appropriate.
  • the configurations of the HMD 1 and the vehicle system S are the same as in the first embodiment, so descriptions thereof will be omitted.
  • the control unit 12 determines whether or not it has detected that the vehicle has entered the vehicle interior space as the target space CS in step S101 of FIG.
  • step S101 If it is determined in step S101 that it has not been detected, the control unit 12 executes the process of step S101 again.
  • control unit 12 transmits an instruction to activate the second camera 101 to the vehicle system S in step S120.
  • step S121 the control unit 12 transmits an imaging instruction to the vehicle system S for imaging the steering wheel H as the specific object.
  • the second camera 101 may perform imaging regardless of whether the handle H is positioned within the angle of view.
  • step S122 the control unit 12 instructs the vehicle system S to perform a process of comparing the photographed result of the previous calibration (that is, the second captured image G2) with the photographed result of this time.
  • the image area in which the handle H as the specific object is imaged in the second captured image G2 captured last time is compared with the current image area to determine the deviation of the image area (that is, the image area is a pixel number of pixels shifted) is calculated as the difference.
  • FIG. 14 is an example of a second captured image G2 of the vehicle interior space as the target space CS captured by the second camera 101.
  • a handle H' drawn with a broken line is shown in addition to the handle H drawn with a solid line.
  • a solid-line handle H indicates the current position of the handle H.
  • the dashed handle H' indicates the position of the handle H in the second captured image G2 captured in the past.
  • the positional difference between the solid-line handle H and the broken-line handle H' is calculated.
  • step S123 the control unit 12 receives the difference information from the vehicle system S and determines whether the difference is less than the threshold.
  • the threshold used here is a threshold for determining whether or not there is a deviation that cannot be corrected by calibration of the second parameter, which will be described later.
  • control unit 12 proceeds to step S124 in FIG. 13, performs notification processing to notify the user that repair is necessary, and terminates the series of processing.
  • FIG. 12 shows an example in which each process of steps S121, S122, and S123 is executed by sending an instruction from the control unit 12 of the HMD 1 to the vehicle control unit 32 of the vehicle system S, but each process may be executed in the vehicle system S.
  • step S120 an instruction to execute a series of processes including activation of the second camera may be transmitted to the vehicle system S.
  • the vehicle control unit 32 of the vehicle system S executes the photographing of the specific object, the comparison of the photographing results, and the determination processing of whether or not the difference is less than the threshold value, and the control unit 12 of the HMD 1 performs the processing. It may be configured to receive results.
  • step S123 If it is determined in step S123 that the difference is less than the threshold, the control unit 12 performs processing to display the virtual object VOB superimposed on the handle H as the specific object in step S125 of FIG.
  • the display position of the virtual object VOB to be displayed here is both the display position determined based on the first estimation information P1 and the display position determined based on the second estimation information P2. That is, the user visually recognizes the handle H on which the virtual object VOB is superimposed based on the first estimated information P1, and then visually recognizes the handle H on which the virtual object VOB is superimposed and displayed based on the second estimated information P2. do.
  • step S126 the control unit 12 prompts the user to visually recognize the handle H as the specific object from multiple viewpoints. Then, the control unit 12 performs superimposed display in step S125 from a plurality of viewpoints.
  • control unit 12 acquires and records the first estimated information P1 and the second estimated information P2 for each of a plurality of viewpoints.
  • step S1208 the control unit 12 allows the user to select which of the superimposed position of the virtual object VOB1 based on the first estimated information P1 and the superimposed position of the virtual object VOB2 based on the second estimated information P2 is more appropriate.
  • the display processing unit 17 performs a first display process for displaying the virtual object VOB1 based on the first estimation information P1 and a second display process for displaying the virtual object VOB2 based on the second estimation information P2. conduct.
  • the presentation processing unit 23 prompts the user to make a selection by presenting options to the user. As the presentation process, it may be displayed on the display unit 2, or may be presented by voice.
  • step S129 the control unit 12 determines whether or not the superimposition position based on the first estimated information P1 is selected as more appropriate. If it is selected that the superimposed position of the virtual object VOB1 based on the first estimated information P1 is more appropriate, it indicates that the second estimated information P2 needs to be corrected more than the first estimated information P1. . Conversely, if it is selected that the superimposed position of the virtual object VOB2 based on the second estimated information P2 is more appropriate, the correction of the first estimated information P1 is more necessary than that of the second estimated information P2. indicates that
  • step S102 in FIG. Calibrate If the first estimation information P1 needs to be corrected, the process proceeds to step S102 in FIG. Calibrate.
  • step S130 determines whether or not calibration is possible. For example, to determine whether or not calibration is possible, a value exceeding the representable range must be set for the second parameter such as the internal parameter or the external parameter stored in the parameter holding unit 38. It depends on whether or not.
  • step S129 and the processing of step S130 are determination processing for double checking by the user and checking by numerical values.
  • step S129 by omitting the processing of step S129, only the numerical check may be performed, and by omitting the processing of step S130, only the user's check may be performed.
  • control unit 12 proceeds to step S124 and performs processing to notify the user that repair is necessary.
  • the control unit 12 performs calibration for the second estimated information P2 in step S131.
  • the calibration of the second estimated information P2 may be, for example, correction of the second parameter used for deriving the second estimated information P2, or calibration of the display unit 2 calculated as the second estimated information P2.
  • a transformation matrix may be obtained to bring the position and orientation information closer to the true value.
  • Pose2 in (Formula 3) represents the position and orientation of the handle H in the three-dimensional World coordinate system.
  • Pose is an x-coordinate, y-coordinate, and z-coordinate representing a position and a rotation matrix or quaternion representing a posture.
  • V2 in (Equation 3) is a transformation matrix from the World coordinate system to the camera coordinate system of the second camera 101 .
  • the transformation matrix V2 indicates the position and orientation of the handle H viewed from the second camera 101, and is based on the second estimation information P2.
  • Equation 3 is a transformation matrix from the camera coordinate system to the screen coordinate system of the left eye area 2a.
  • the transformation matrix P is based on the positional relationship between the second camera 101 and the left eye area 2a.
  • Pos in (Formula 3) represents the pixel position in the screen coordinate system of the left eye area 2a.
  • the user can see that the virtual object VOB is accurately superimposed on the handle H by displaying the virtual object VOB at the coordinates (Pos) of the screen coordinate system calculated by (Equation 3). You can see the status.
  • the second estimated information P2 is generated based on the second parameter, which is subject to calibration because of deviation from the correct value due to various factors as described above. Therefore, it is necessary to optimize the arrangement position of the virtual object VOB in the screen coordinate system of the left eye area 2a by performing correction based on the first estimation information P1.
  • the position and orientation information as the second estimation information P2 estimated based on the second captured image G2 is used as the position and orientation information as the first estimation information P1 estimated based on the first captured image G1.
  • a transformation matrix V2' for transforming into information of is calculated.
  • the transformation matrix V2' is a determinant for eliminating the error of the second estimation information P2 and bringing it closer to the true value on the premise that the first estimation information P1 is correct.
  • the control unit 12 After completing the calibration for the second estimation information P2, the control unit 12 performs a process of switching to the second mode in step S113. As a result, the virtual object VOB can be superimposed and displayed based on the second estimated information P2 optimized using the conversion matrix V2'.
  • the third embodiment does not treat either the first estimated information P1 or the second estimated information P2 as information indicating the correct position and orientation, but uses both estimated information to determine the position and orientation of the display unit 2.
  • Third estimation information P3 is calculated by estimating the posture, and the virtual object VOB is superimposed and displayed based on the third estimation information P3.
  • the position of the handle H is specified using the first estimation information P1, which is the position and orientation of the display unit 2 estimated based on the first captured image G1, and the virtual object VOB3 imitating the handle H is arranged at that position. .
  • the position of the handle H is specified using the second estimation information P2, which is the position and orientation of the display unit 2 estimated based on the second captured image G2, and a virtual object VOB4 that simulates the handle H is placed at that position. Deploy.
  • FIG. 15 shows the difference between the virtual object VOB and the handle H on a larger scale for ease of understanding.
  • the third estimation information P3 is generated based on the first estimation information P1 and the second estimation information P2. For example, an intermediate position between the position and orientation of the display unit 2 as the first estimation information P1 and the position and orientation of the display unit 2 as the second estimation information P2 is used as the third estimation information P3 about the position and orientation of the display unit 2. and Then, the position of the handle H is specified using the third estimation information P3, and the virtual object VOB5 is displayed at that position. An example is shown in FIG.
  • the virtual object VOB5 is superimposed on the actual handle H so as to substantially overlap.
  • the third estimated information P3 is generated using the first estimated information P1 and the second estimated information P2
  • the third estimated information P3 is generated using the first estimated information P1 and the second estimated information P2.
  • the display position of the virtual object VOB may be determined based on the information P3.
  • FIG. 16 is an example in which the first estimated information P1 and the second estimated information P2 are weighted one to one. By changing the weighting of the first estimated information P1 and the second estimated information P2, it is possible to bring the estimated information of the position and orientation of the display section 2 closer to the true values.
  • the virtual object VOB can be temporarily superimposed substantially accurately on the real object ROB until the repair is performed. becomes possible.
  • This modification is an example of finely classifying the difference between the first estimated information P1 and the second estimated information P2 using a plurality of threshold information.
  • the control unit 12 in this modification executes each process shown in FIG. 17 after executing each process shown in FIG. Since each process shown in FIG. 8 is the same as each process described in the first embodiment, description thereof will be omitted in this modification. Note that the flow connection between FIGS. 8 and 17 is indicated by "c1".
  • the control unit 12 of the HMD 1 instructs the vehicle control unit 32 to start generating the second estimated information P2 by executing each process shown in FIG.
  • control unit 12 generates the first estimation information P1 based on the first captured image G1 captured by the first camera 3, and generates the first estimation information P1. and the second estimation information P2, and performs processing according to the magnitude of the difference.
  • step S108 of FIG. 17 the control unit 12 generates the first estimated information P1, and in subsequent step S109, determines whether or not predetermined data has been obtained. If the predetermined data cannot be obtained, the user is instructed to look at the steering wheel H from a different angle, and the first estimation information P1 is generated again in step S108.
  • control unit 12 determines in step S141 whether the difference between the first estimated information P1 and the second estimated information P2 is so small that calibration is unnecessary. This determination process may be performed using a threshold value.
  • control unit 12 switches to the second mode MD2 in step S113.
  • step S141 If it is determined in step S141 that the difference is not so small that calibration is unnecessary, the control unit 12 performs processing of comparing the difference with the first threshold Th1 in step S142. As a result of the comparison, when it is determined that the difference is smaller than the first threshold Th1, the control unit 12 performs calibration for the first estimated information P1 in step S112, and switches to the second mode MD2 in subsequent step S113.
  • the first threshold Th1 used for comparison with the difference is a threshold for determining whether calibration is possible, and also determines whether the state can sufficiently return to a normal state by calibration. is the threshold for
  • the controller 12 When determining that the difference is equal to or greater than the first threshold Th1, the controller 12 proceeds to step S143 and compares the difference with a second threshold Th2 larger than the first threshold Th1.
  • a second threshold Th2 is a threshold for determining whether the deviation of the first estimated information P1 can be recovered by calibration.
  • control unit 12 When determining that the difference is less than the second threshold Th2, the control unit 12 proceeds to step S144 and performs processing to record that the difference is greater than or equal to the first threshold Th1. With this process, the user can be notified that the time for fundamental repairs to correct the internal parameters and the like of the first camera 3 is approaching.
  • control unit 12 switches to the second mode MD2 by executing steps S112 and S113.
  • the user is notified that the difference exceeds the recoverable range. In this case, switching to the second mode MD2 is not performed. In this way, different processes are executed according to the degree of divergence between the first estimated information P1 and the second estimated information P2. This allows the user to think about the timing of repairs.
  • FIG. 18 shows a part of the flow charts shown in FIGS. 8 and 9 modified.
  • the control unit 12 of the HMD 1 in this modification executes steps S151 and S152 shown in FIG. 18 after executing the processes of steps S101 to S109 shown in FIG. It executes the process of step S114. Description of the above-described processing is omitted.
  • the control unit 12 determines that the predetermined data has been acquired in step S109, that is, the first estimation information P1 which is information obtained by estimating the position and orientation of the display unit 2 when the handle H is viewed from a plurality of angles. and the second estimation information P2 have been acquired, the control unit 12 identifies the scene in step S151.
  • the scene is specified based on the first captured image G1 captured by the first camera 3, the second captured image G2 captured by the second camera 101, and information acquired from other sensors.
  • the current scene is a running scene or a stopped scene.
  • a running scene by increasing the superimposition accuracy, it is possible to ensure safety by preventing the user, who is the driver, from being unnecessarily confused.
  • the scene may be identified based on the superimposed physical object ROB.
  • the control unit 12 determines a threshold based on the superimposition accuracy that should be satisfied in the specified scene.
  • the threshold determined here is a threshold for determining whether or not the difference between the first estimated information P1 and the second estimated information P2 is permissible.
  • a low threshold is determined for a scene that requires high superimposition accuracy, and a high threshold is determined for a scene that does not require low superimposition accuracy.
  • control unit 12 After determining the threshold, the control unit 12 proceeds to step S110 and determines whether or not the difference between the first estimated information P1 and the second estimated information P2 is equal to or greater than the threshold.
  • control unit 12 can flexibly perform calibration and notify that calibration cannot be performed by determining an appropriate threshold value for each scene. In addition, this makes it possible to prevent unnecessary calibration from being performed in a scene where low superimposition accuracy is acceptable, and to perform appropriate calibration in a scene that requires high superimposition accuracy. .
  • the target space CS does not have to be a space related to a moving object such as the vehicle 100 .
  • the entrance of a facility such as a shopping mall or a stadium is set as the target space CS, and by performing appropriate calibration in the target space CS when entering from the entrance, information for each store opened in the shopping mall is presented. It is possible to appropriately superimpose a virtual object VOB for displaying information about sports games and concerts held at a stadium.
  • the HMD 1 as the information processing device has a display estimated based on the first captured image G1 captured by the first camera 3 worn by the user together with the display unit 2.
  • the calibration processing unit 21 may correct parameters used for estimating the position and orientation of the display unit 2 using the correction information.
  • the correction information is, for example, information specifying parameters to be calibrated. By correcting the parameters, the accuracy of estimating the position and orientation of the display unit 2 can be improved, and information and the like to be visually recognized by the user can be presented at appropriate positions.
  • the HMD 1 may include a determination section 20 that determines whether or not to perform calibration. By determining whether or not calibration can be executed, it is possible to prevent unnecessary calibration processing from being executed, and to reduce the processing load on the device that performs calibration processing.
  • the determination unit 20 may determine whether or not to perform calibration based on whether the parameter exceeds the representable range. For example, if parameters must be set beyond the expressible range, it is determined that calibration is impossible. This prevents execution of unnecessary calibration processing.
  • the determination unit 20 determines whether or not to perform calibration. It may be determined that calibration is not necessary for If the difference is small, it is conceivable that the effect of calibration is small. Moreover, there is a high possibility that the user will not be disadvantaged even if calibration is not performed. In such a case, it is possible to reduce the processing load of the device that executes the calibration process by determining that the calibration is unnecessary.
  • the second estimation information P2 is estimated based on the second captured image G2 in which a predetermined portion of the housing (HMD 1) having the display unit 2 is captured so as to be identifiable. It may be information about the position and orientation of the display unit 2 .
  • the position and orientation of the display unit 2 are estimated based on a predetermined location in the device mounted integrally with the display unit 2, in other words, a location where the positional relationship with respect to the display unit 2 is basically unchanged. As a result, it is possible to more accurately estimate the position and orientation of the display unit 2, so that appropriate calibration can be performed.
  • the second estimation information P2 is the position and orientation of the display unit 2 estimated based on the second captured image G2 in which the marker 13 provided at a predetermined location is captured. information.
  • the markers 13 By providing the markers 13 at predetermined locations, it becomes easier to estimate the position and orientation of the display unit 2 from the second captured image G2, and accurate estimation is possible. Therefore, it is possible to perform appropriate calibration.
  • the calibration processing section 21 may perform calibration when the difference between the first estimated information P1 and the second estimated information P2 is equal to or greater than the threshold. If the difference between the first estimated information P1 and the second estimated information P2 is large, the superimposed position of the virtual object VOB, etc. may be too deviated from the correct position, and inappropriate information may be presented to the user. . On the other hand, when the difference is small, the superimposed position of the virtual object VOB can be set at a substantially correct position, so there is a high possibility that appropriate information can be presented to the user. According to this configuration, whether or not to perform calibration is determined according to the amount of the difference. Therefore, necessary calibration can be performed and unnecessary calibration can be prevented from being performed. can be done.
  • the calibration processing unit 21 may calibrate the first parameter used for estimating the first estimation information P1. This corrects the inaccuracy of the first estimated information P1. Therefore, the position, orientation, etc. of the virtual object VOB to be superimposed can be optimized using the first estimated information P1, and the possibility of presenting appropriate information to the user can be increased.
  • the first parameter may be a parameter for specifying the positional relationship between the first camera 3 and the display unit 2 .
  • the positional relationship between the first camera 3 and the display unit 2 may change due to usage conditions, aged deterioration, and the like, even in a device such as the integrated HMD 1 . Even in such a case, with this configuration, the latest positional relationship between the first camera 3 and the display unit 2 is redefined. As a result, it is possible to appropriately correct the deviation of the first estimation information P1, and to accurately arrange the virtual object VOB and the like.
  • the first parameter may include at least one of the optical axis direction, focal length, and distortion of the first camera 3 .
  • Parameters such as the optical axis direction of the first camera 3 may change due to deterioration over time. Even in such a case, with this configuration, the internal parameters are recalculated and appropriately set. As a result, it is possible to appropriately correct the deviation of the first estimation information P1, and to accurately arrange the virtual object VOB and the like.
  • the calibration processing unit 21 of the HMD 1 performs calibration on the vehicle system S with respect to the second parameter used for estimating the second estimation information P2 as the calibration described above.
  • a process may be performed to Specifically, a command for executing calibration may be sent to the calibration processing unit 37 provided in the vehicle system S to cause the calibration processing unit 37 to execute calibration for the second parameter.
  • This corrects the inaccuracy of the second estimated information P2. Therefore, the position, orientation, etc. of the virtual object VOB to be superimposed can be optimized using the second estimated information P2, and the possibility of presenting appropriate information to the user can be increased.
  • the second parameter may include at least one of the optical axis direction, focal length, and distortion of the second camera 101 .
  • Parameters such as the optical axis direction of the second camera 101 may change due to deterioration over time. Even in such a case, with this configuration, the internal parameters are recalculated and appropriately set. As a result, the deviation of the second estimated information P2 can be appropriately corrected, and the virtual object VOB and the like can be accurately arranged.
  • the calibration processing unit 21 performs calibration of the second parameter based on the imaging area of the specific object (for example, the handle H) in the second captured image G2.
  • the specific object for example, the handle H
  • the second parameter is calibrated. becomes possible. Therefore, even if the position and orientation of the display unit 2 cannot be accurately estimated only by the calibration of the first parameter, the position and orientation of the display unit 2 can be estimated by performing the calibration of the second parameter. can be estimated more accurately. Then, the virtual object VOB can be displayed at a desired position.
  • the calibration processing unit 21 performs predetermined processing using the first estimation information P1 from the first mode MD1 to the second estimation information Calibration may be performed when switching to the second mode MD2 in which predetermined processing is performed using P2.
  • the user can switch to the second mode MD2 by moving to a space (target space CS) in which the second camera 101 is arranged while wearing a device such as the HMD 1 having the first camera 3 .
  • the timing at which the user moves to the space where the second camera 101 is arranged is the timing suitable for performing the above-described calibration using the first camera 3 and the second camera 101 .
  • the synchronization processing unit 22 that synchronizes the first camera 3 and the second camera 101 may be provided.
  • the first camera 3 and the second camera 101 By synchronizing the first camera 3 and the second camera 101, calibration can be performed using the first captured image G1 and the second captured image G2 captured at the same timing or close timing. Therefore, since the first estimated information P1 and the second estimated information P2 can be appropriately compared, the accuracy of the calibration process can be improved, and the difference between the first estimated information P1 and the second estimated information P2 can be calculated. can be made smaller.
  • the calibration processing unit 21 is used to estimate the first captured image G1 used for estimating the first estimation information P1 used for calibration and the second estimation information P2.
  • First estimation information P1 and second estimation information P1 estimated from the first captured image G1 and the second captured image G2 for which the difference in the capturing time is less than the threshold is performed.
  • Calibration may be performed based on the information P2.
  • calibration is performed using the first captured image G1 and the second captured image G2 captured at the same timing or at close timings. Therefore, the first estimated information P1 and the second estimated information P2 are appropriately compared, and the accuracy of the calibration process can be improved.
  • the synchronization processing unit 22 may perform synchronization based on the round-trip time of the data transmitted to the control unit (vehicle control unit 32) of the second camera 101. .
  • the first imaging is performed. It becomes possible to select the image G1 and the second captured image G2. Therefore, it is possible to perform highly accurate calibration using the first captured image G1 and the second captured image G2 captured at close timings.
  • the first display process for superimposing the virtual object VOB based on the first estimation information P1 and the second display process for superimposing the virtual object VOB based on the second estimation information P2 are performed.
  • the information processing device may be a head-mounted display device (HMD 1 ) including the acquisition unit 19 and the calibration processing unit 21 . Accordingly, by moving to the space where the second camera 101 is arranged while wearing the HMD 1, it is possible to perform the calibration process. Moreover, since there is no need to arrange observation cameras at the positions of the user's eyes, calibration can be performed while the user is wearing the HMD 1 .
  • HMD 1 head-mounted display device
  • the target space CS which is the space in which the user exists, may be the internal space (vehicle space) of a moving object such as the vehicle 100 .
  • the parameters used for estimating the position and orientation of the display unit 2 are appropriately calibrated regardless of the movement of the vehicle 100 as the moving body. becomes possible.
  • the information processing method is the first estimation information P1 indicating the position and orientation of the display unit 2 estimated based on the first captured image G1 captured by the first camera 3 worn by the user together with the display unit 2. and second estimation information P2 indicating the position and orientation of the display unit 2 estimated based on the second captured image G2 captured by the second camera 101 installed in the space where the user exists (target space CS); , and generates correction information used for calibration of parameters used for estimating the position and orientation of the display unit 2 based on the first estimated information P1 and the second estimated information P2. to execute.
  • the storage medium in the present technology includes first estimation information P1 indicating the position and orientation of the display unit 2 estimated based on the first captured image G1 captured by the first camera 3 worn by the user together with the display unit 2; , second estimation information P2 indicating the position and orientation of the display unit 2 estimated based on the second captured image G2 captured by the second camera 101 installed in the space where the user exists (target space CS); and generate correction information used for calibration of the parameters used for estimating the position and orientation of the display unit 2 based on the first estimated information P1 and the second estimated information P2. It is a computer-readable storage medium storing a program to be executed.
  • a program to be executed by the information processing device indicates the position and orientation of the display unit 2 estimated based on the first captured image G1 captured by the first camera 3 worn by the user together with the display unit 2.
  • a program to be executed by an arithmetic processing device such as a CPU provided in the HMD 1 .
  • the calibration processing described above can be realized by an arithmetic processing device such as a microcomputer.
  • HDD Hard Disk Drive
  • the program may be a flexible disk, a CD-ROM (Compact Disk Read Only Memory), an MO (Magneto Optical) disk, a DVD (Digital Versatile Disc), a Blu-ray Disc (registered trademark), a magnetic disk, a semiconductor It can be temporarily or permanently stored (recorded) in a removable recording medium such as a memory or memory card.
  • a removable recording medium such as a memory or memory card.
  • Such removable recording media can be provided as so-called package software.
  • it can also be downloaded from a download site via a network such as a LAN (Local Area Network) or the Internet.
  • LAN Local Area Network
  • the information processing system includes the first camera 3 worn by the user together with the display unit 2, the second camera 101 installed in the space where the user exists (target space CS), the first camera 3 First estimation information P1 indicating the position and orientation of the display unit 2 estimated based on the first captured image G1 captured by the second camera 101 and estimated based on the second captured image G2 captured by the second camera 101 an acquisition unit 19 that acquires second estimation information P2 indicating the position and orientation of the display unit 2; and a calibration processing unit 21 that generates correction information used for calibration of the parameters that are used.
  • the present technology can also adopt the following configuration.
  • a determination unit for determining whether to perform the calibration The information processing apparatus according to any one of (1) to (2) above, wherein the determination unit performs the determination based on whether or not the parameter exceeds a representable range.
  • a determination unit for determining whether to perform the calibration The determining unit determines that calibration is unnecessary when a difference between the first estimated information and the second estimated information is smaller than a threshold value in the determination. Any one of (1) to (2) above.
  • the information processing device according to .
  • the second estimation information is information about the position and orientation of the display unit estimated based on the second captured image in which a predetermined location in the housing having the display unit can be specified.
  • the information processing apparatus according to any one of (1) to (4) above.
  • the second estimation information is information about the position and orientation of the display unit estimated based on the second captured image in which the marker provided at the predetermined location is captured.
  • Information processing equipment (7) The information processing apparatus according to any one of (1) to (6) above, wherein the calibration processing unit performs the calibration when a difference between the first estimation information and the second estimation information is equal to or greater than a threshold. .
  • the calibration processing unit performs the calibration for a first parameter used for estimating the first estimation information.
  • the first parameter is a parameter for specifying a positional relationship between the first camera and the display unit.
  • the information processing apparatus (10) The information processing apparatus according to (8), wherein the first parameter includes at least one of an optical axis direction, a focal length, and a distortion aberration of the first camera. (11) The information processing apparatus according to any one of (1) to (10) above, wherein the calibration processing unit performs the calibration on a second parameter used for estimating the second estimation information. (12) The information processing apparatus according to (11), wherein the second parameter includes at least one of an optical axis direction, a focal length, and a distortion aberration of the second camera. (13) The information processing device according to any one of (11) to (12) above, wherein the calibration processing unit performs calibration of the second parameter based on an imaging region of a specific object in the second captured image. .
  • the calibration processing unit performs the calibration when switching from a first mode in which predetermined processing is performed using the first estimation information to a second mode in which the predetermined processing is performed using the second estimation information.
  • the information processing apparatus according to any one of (1) to (13) above.
  • the calibration processing unit compares imaging times of the first captured image used for estimating the first estimation information used for the calibration and the second captured image used for estimating the second estimation information. and performing the calibration based on the first estimation information and the second estimation information estimated from the first captured image and the second captured image whose difference in imaging time is less than a threshold.
  • the information processing apparatus according to any one of (1) to (14) above.
  • a display processing unit capable of executing a first display process of superimposing a virtual object based on the first estimation information and a second display process of superimposing the virtual object based on the second estimation information; a presentation processing unit that selects either the virtual object superimposed by the first display process or the virtual object superimposed by the second display process.
  • first estimation information indicating the position and orientation of the display unit estimated based on a first captured image captured by a first camera worn on the user together with the display unit; Acquiring second estimation information indicating the position and orientation of the display unit estimated based on a second captured image captured by a second camera;
  • a computer device executes a process of generating correction information used for calibration of parameters of either the first camera or the second camera based on the first estimation information and the second estimation information.
  • first estimation information indicating the position and orientation of the display unit estimated based on a first captured image captured by a first camera worn on the user together with the display unit; Acquiring second estimation information indicating the position and orientation of the display unit estimated based on a second captured image captured by a second camera;
  • a program that causes an arithmetic processing device to execute a function of generating correction information used for calibration of parameters of either the first camera or the second camera based on the first estimation information and the second estimation information.
  • a computer-readable storage medium in which is stored.

Abstract

情報処理装置は、表示部と共にユーザに装着される第1カメラによって撮像された第1撮像画像に基づいて推定された前記表示部の位置及び姿勢を示す第1推定情報と、前記ユーザが存在する空間に設置された第2カメラによって撮像された第2撮像画像に基づいて推定された前記表示部の位置及び姿勢を示す第2推定情報と、を取得する取得部と、前記第1推定情報と前記第2推定情報とに基づいて前記第1カメラまたは前記第2カメラの何れかのパラメータについてのキャリブレーションに用いる補正情報を生成するキャリブレーション処理部と、を備えるものとした。

Description

情報処理装置、情報処理方法、記憶媒体
 本技術は、ユーザが装着する機器の位置及び姿勢についての推定を適切に行うためのキャリブレーションを行う情報処理装置、情報処理方法及び記憶媒体の技術分野に関する。
 ヘッドマウントディスプレイ(以下「HMD」と記載)などに搭載された表示部を介して拡張現実空間をユーザに体験させるためには、所望の場所に仮想オブジェクトを配置することが重要である。
 仮想オブジェクトを所望の位置に配置するためには、現実世界におけるHMDの自己位置及び姿勢を正しく推定することが必要である。推定した自己位置及び姿勢が正確でないと所望の位置に仮想オブジェクトを配置することができない。
 自己位置及び姿勢の推定の正確性は、HMDが備えるカメラ等の各種パラメータ(例えば、光軸方向や焦点距離など)の正しさに基づいており、そのために、工場出荷時等においてHMDが備えるカメラのパラメータを算出する処理が行われる。
 ところが、カメラのパラメータは、経年劣化や使用環境によって変化し得るため、ユーザが使用する際に必ずしも各種パラメータが最適なものとなっているとは限らない。
 下記特許文献1に記載の技術はこのような事情を考慮して為されたものであり、HMDの使用時においてHMDを装着したユーザが意識することなくHMDに搭載されたカメラの各種パラメータを推定する技術が開示されている。
国際公開第2020/017327号
 ところで、カメラを搭載したHMDにおいては、HMDの表示部とカメラの位置関係について正しく推定することで、より正確な位置に仮想オブジェクトを配置することができる。
 例えば、HMDの表示部とカメラの位置関係を正しく推定するために、装着時の目の位置に観測用カメラを配置し、HMDのカメラと観測用カメラの撮像結果を比較することが行われている。
 しかし、観測用カメラを設置して表示部とカメラの位置関係を推定することは容易ではなく、専用の環境が必要となる。また、工場出荷時に推定することはできても、ユーザの使用時に同様の構成を用いた推定を行うことは現実的ではない。
 本技術はこのような問題に鑑みて為されたものであり、HMDなどの装着機器についての位置及び姿勢を正しく推定するために、各種のパラメータをキャリブレーションが可能な情報処理装置を提案することを目的とする。
 本技術に係る情報処理装置は、表示部と共にユーザに装着される第1カメラによって撮像された第1撮像画像に基づいて推定された前記表示部の位置及び姿勢を示す第1推定情報と、前記ユーザが存在する空間に設置された第2カメラによって撮像された第2撮像画像に基づいて推定された前記表示部の位置及び姿勢を示す第2推定情報と、を取得する取得部と、前記第1推定情報と前記第2推定情報とに基づいて前記第1カメラまたは前記第2カメラの何れかのパラメータについてのキャリブレーションに用いる補正情報を生成するキャリブレーション処理部と、を備えたものである。
 これにより、ユーザの目の位置に配置されるキャリブレーション用の観測用カメラを配置せずに、表示部の位置及び姿勢の推定に用いられるパラメータをキャリブレーションすることが可能となる。
HMDを装着したユーザが対象空間としての車室空間に位置している状態を示した図である。 第1モードと第2モードにおける第1カメラ及び第2カメラの位置関係を模式的に示した図である。 HMDの構成例を示すブロック図である。 車両システムの構成例を示すブロック図である。 HMDの各部と車両システムの各部の位置関係を示す概略図である。 車両のフロントガラスのナビ情報としての仮想オブジェクトVOBを重畳表示させた状態を示す説明図である。 車両のダッシュボードに配置された操作子に対して仮想オブジェクトVOBを重畳表示させた状態を示す説明図である。 図9と共にHMDが実行する処理の一例を示すフローチャートである。 図8と共にHMDが実行する処理の一例を示すフローチャートである。 車両システムが実行する処理の一例を示すフローチャートである。 各パラメータが温度範囲ごとに記憶されていることを説明するための図である。 図13と共に第2の実施の形態におけるHMDが実行する処理の一例を示すフローチャートである。 図12と共に第2の実施の形態におけるHMDが実行する処理の一例を示すフローチャートである。 キャリブレーションが必要か否かを判定するために撮像された第2撮像画像の一例を示す図である。 第3の実施の形態において第1推定情報に基づいて決定された仮想オブジェクトの位置と第2推定情報に基づいて決定された仮想オブジェクトの位置と実際のハンドルの位置の関係の一例を示した図である。 第1推定情報と第2推定情報から生成された第3推定情報に基づいて決定された仮想オブジェクトの位置と実際のハンドルの位置の関係の一例を示した図である。 図8と共に変形例におけるHMDが実行する処理の一例を示すフローチャートである。 別の変形例におけるHMDが実行する処理の一例を示すフローチャートである。
 以下、添付図面を参照し、本技術に係る実施の形態を次の順序で説明する。
<1.第1の実施の形態>
<2.HMDの構成例>
<3.車両システムの構成>
<4.各部の位置関係>
<5.キャリブレーション>
<6.キャリブレーションの実行可否判定>
<7.第2の実施の形態>
<8.第3の実施の形態>
<9.変形例>
<10.まとめ>
<11.本技術>

<1.第1の実施の形態>
 第1の実施の形態では、ユーザが装着する機器の一例としてヘッドマウントディスプレイ(以降、「HMD1」と記載)を挙げて説明する。HMD1は、眼鏡型の機器であってもよいし、スマートフォンなどの携帯端末装置であってもよい。
 また、ユーザが車両100に搭乗した状態でHMD1を装着することにより、各種のパラメータのキャリブレーションが行われる。
 HMD1は図1に示すように光学シースルー型の表示部2を備えており、ユーザは表示部2を介して現実世界を視認可能である。また、表示部2は、左目用領域2aと右目用領域2bを備えており、左目用領域2aと右目用領域2bにそれぞれ両眼視差用の画像を表示することにより、現実世界における所定の位置に仮想オブジェクトVOBが配置された拡張現実(AR: Augmented Reality)空間をユーザに視認させることができる。具体的には、車両100のフロントガラスに歩行者の輪郭を強調した画像を重畳させることや、ナビ情報を表示させることが可能となる。他にも、車両100に設けられた操作子類についての説明キャプションを操作子類に重畳させることも可能である。
 HMD1は、表示部2の前方を撮像可能な撮像部を備えている。表示部2の前方とは、HMD1を装着したユーザの視線方向である。また、車両100のダッシュボードや天井部分などに運転席に座る運転者(ユーザ)を撮像可能なカメラが備え付けられている。
 以降の説明においては、HMD1が備える撮像部を第1カメラ3とし、車両100に備え付けられユーザを撮像可能なカメラを第2カメラ101とする。
 なお、後述するキャリブレーションを行うためには、第2カメラ101が配置された空間にユーザが位置している必要がある。第2カメラ101が配置された空間は、例えば、移動体としての車両100の車室空間などであり、この空間を「対象空間CS」と記載する。
 HMD1は、所望の位置に仮想オブジェクトVOBを配置するために自己位置及び姿勢を推定する。そして、推定した自己位置及び姿勢が適切でない場合には後述するキャリブレーションを行うことにより、HMD1が有する各種パラメータを補正する。
 なお、HMD1の位置及び姿勢の推定は、HMD1の表示部2の位置及び姿勢(向き)を推定したものであってもよいし、HMD1が備えるそれ以外の特定の部位についての位置及び姿勢を推定したものであってもよい。
 HMD1についての位置及び姿勢の推定は、第1カメラ3で撮像した第1撮像画像G1に基づいて行う場合と、第2カメラ101で撮像した第2撮像画像G2に基づいて行う場合とがある。ここでは、第1撮像画像G1に基づいてHMD1についての位置及び姿勢の推定を行うモードを「第1モードMD1」とし、第2撮像画像G2に基づいてHMD1についての位置及び姿勢の推定を行うモードを「第2モードMD2」とする。
 また、第1撮像画像G1に基づいて推定されたHMD1の位置及び姿勢の推定情報を「第1推定情報P1」とし、第2撮像画像G2に基づいて推定されたHMD1の位置及び姿勢の推定情報を「第2推定情報P2」とする。
 第1カメラ3はユーザに装着されるHMD1に設けられた撮像部である一方、第2カメラ101は対象空間CSに設置(固定)された撮像装置であることから、第1推定情報P1よりも第2推定情報P2の方がより正確な情報である可能性が高い。
 そこで、HMD1は、基本的に第1撮像画像G1を用いて自己位置及び姿勢の推定を行う第1モードMD1で動作するが、第2カメラ101が配置された対象空間CSにユーザが移動した場合に第2撮像画像G2を用いてHMD1の位置及び姿勢の推定を行う第2モードMD2で動作する(図2参照)。
<2.HMDの構成例>
 HMD1の構成例について図3を参照して説明する。HMD1は上述したように、表示部2と第1カメラ3を備えている。また、HMD1は更に、センサ部10と、通信部11と、制御部12と、マーカ13とを備えている。
 センサ部10は、各種のセンサを包括的に示したものであり、各種のセンサ類を備えて構成されている。例えば、上述した第1カメラ3もセンサ部10が備えるセンサ類の一例である。
 他にも、センサ部10は、慣性センサ14と温度センサ15とを備えている。
 第1カメラ3としては、各種のカメラ装置を採用することが可能である。例えば、カラー撮像画像を取得可能なカメラであってもよいし、IR(Infrared)光に対する感度を有するIRカメラであってもよい。また、第1カメラ3として距離画像を取得可能な測距機能を有するカメラであってもよい。なお、カラー画像と距離画像の双方を取得可能なカメラのように複数の機能を組み合わせたカメラであってもよい。
 慣性センサ14は、加速度センサやジャイロセンサ等を備えたIMU(Inertial Measurement Unit)とされている。慣性センサ14は、HMD1の表示部2の位置及び姿勢を検出するために用いることが可能である。
 温度センサ15は、HMD1の内部温度などを測定するセンサである。温度センサ15から出力される温度データは、温度によって変化するパラメータの補正や選択に用いられる。
 なお、図3に示したセンサ部10の構成はあくまで一例であり、図3に示した構成の一部を備えていなくてもよいし、図3に示した構成以外のセンサを備えていてもよい。
 例えば、センサ部10は、GNSS(Global Navigation Satellite System)に基づく信号を検出可能なセンサや、第1カメラ3以外の測距センサや、超音波センサの少なくとも一部を備えていてもよい。
 通信部11は、後述する各種の処理をHMD1が実現するために必要な情報の送受信処理を行う。例えば、第1カメラ3と第2カメラ101の同期を取るために、時間情報を第2カメラ101の制御部に送信する。このとき、通信部11は、車両100の通信部を介して第2カメラ101の制御部に情報を送信してもよい。
 通信部11は、第2推定情報P2を第2カメラ101或いは車両100を制御する車両システムSから受信する。
 なお、通信部11は無線通信を利用するものであってもよいし有線通信を利用するものであってもよい。
 制御部12は、各種の処理を行う機能を備えている。例えば、図3に示すように、制御部12は、認識部16と、表示処理部17と、システムクロック18と、取得部19と、判定部20と、キャリブレーション処理部21と、同期処理部22と、提示処理部23とを備えている。
 認識部16は、センサ部10が備える各種センサからの出力信号を利用してHMD1についての自己位置及び姿勢の推定や環境地図の作成(SLAM:Simultaneous Localization and Mapping)、即ち、第1推定情報P1の生成や、周辺に位置する現実オブジェクトROBを検出する処理などを行う。現実オブジェクトROBとは、運転中であれば、例えば、ハンドルやボタンなどの操作子類や、車外に位置する歩行者などの現実に存在する物体である。
 なお、現実オブジェクトROBの検出は、現実オブジェクトROBに設けられたマーカを検出することにより行われてもよい。
 認識部16による現実オブジェクトROBの検出は、ステレオ画像から推定した深度情報を利用することにより行われてもよいし、カラー撮像画像を用いたパターンマッチングにより行われてもよいし、学習データを用いた機械学習(例えばディープラーニング等)を利用することにより行われてもよい。
 認識部16によって生成される第1推定情報P1や認識される現実オブジェクトROBの位置及び姿勢の認識結果は、推定に用いられるパラメータなどの各種データの温度特性を考慮することで精度向上が図られる。そのために、認識部16は、パラメータ保持部24から温度によって変動するパラメータを取得可能とされている。
 温度によって変動するデータとは、例えば、第1カメラ3におけるレンズの歪補正に用いられるパラメータや、IMUから出力されるデータなどである。
 認識部16は、自己位置及び姿勢の推定処理や、環境地図の作成や、現実オブジェクトROBの検出において、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)を用いてもよいし、機械学習を利用する場合にはTPU(Tensor Processing Unit)を用いてもよい。
 表示処理部17は、認識部16から出力された自己位置及び姿勢についての推定情報に基づいて仮想オブジェクトVOBを描画する描画データを生成する処理を行い、描画データを表示部2に出力する。具体的には、表示処理部17は、表示部2が備える左目用領域2aに表示させる描画データと、右目用領域2bに表示させる描画データを生成する。これらの描画データは、両眼視差を利用して3次元空間における所定の位置に配置された仮想オブジェクトVOBを視認させるためのものである。
 表示部2は、表示処理部17から出力された描画データに基づいた表示処理を行う。これにより、表示部2に仮想オブジェクトVOBが表示される。HMD1を装着しているユーザは、表示部2を介して仮想オブジェクトVOBが重畳された現実オブジェクトROBなどを視認することができる。
 なお、表示処理部17は、第1推定情報P1に基づいて仮想オブジェクトVOBを表示させる第1表示処理と、第2推定情報P2に基づいて仮想オブジェクトVOBを表示させる第2表示処理の双方を実行可能とされている。
 表示部2は、LCD(Liquid Crystal Display)や有機EL(Electro Luminescence)など各種のものを適用可能である。
 システムクロック18は、HMD1のシステムが起動されてからの経過時間をカウントする。
 取得部19は、認識部16から第1推定情報P1を取得する処理と、車両システムSや第2カメラ101から第2推定情報P2を取得する処理を行う。なお、第2推定情報P2は、第2撮像画像G2を受け取った認識部16によって生成されてもよく、その場合には、第2推定情報P2を認識部16から取得する。
 判定部20は、第1推定情報P1と第2推定情報P2の比較を行い何れの推定情報の確度が高いかを判定する処理や、第1推定情報P1の確度を上げるためのキャリブレーションの実行有無を判定する処理や、第2推定情報P2の確度を上げるためのキャリブレーションの実行有無を判定する処理などを実行する。
 キャリブレーションを実行するか否かについての判定結果は、キャリブレーション処理部21に出力される。ここでいう判定結果は、例えば、第1推定情報P1の確度を上げるためのキャリブレーションの実行有無を示すフラグ情報や、第2推定情報P2の確度を上げるためのキャリブレーションの実行有無を示すフラグ情報などである。更に、補正対象のパラメータを特定するための情報が判定結果に含まれていてもよい。
 キャリブレーション処理部21は、キャリブレーションの実行有無の判定結果に基づいてキャリブレーションを行う。キャリブレーションでは、第1推定情報P1や第2推定情報P2の導出に用いられるパラメータ自体の補正を行ってもよいし、第1推定情報P1を真値に近づけるための位置及び姿勢についての変換行列を求めてもよい。
 なお、第2推定情報P2の導出に用いられるパラメータ自体の補正を行う場合には、キャリブレーション処理部21は車両システムSや第2カメラ101にキャリブレーションを実行させるためのコマンド等を生成し通信部11を介して指示してもよい。
 キャリブレーションの対象となるパラメータは各種ある。例えば、第1推定情報P1の導出に用いられるパラメータとしては、第1カメラ3の光軸方向や焦点距離や歪曲収差などの内部パラメータや、第1カメラ3と表示部2の位置関係を特定するための外部パラメータなどである。これらのパラメータ、即ち、第1推定情報P1の導出に用いられるパラメータをまとめて「第1パラメータ」と記載する。
 また、第2推定情報P2の導出に用いられるパラメータとしては、第2カメラ101の光軸方向や焦点距離や歪曲収差などのパラメータである。なお、第2カメラ101と車内に固定された所定の部品(ハンドルなど)との位置関係を特定するためのパラメータが第2推定情報P2の導出に用いられるパラメータに含まれていてもよい。
 これらのパラメータ、即ち、第2推定情報P2の導出に用いられるパラメータをまとめて「第2パラメータ」と記載する。
 キャリブレーションの対象となる第1パラメータはパラメータ保持部24に記憶されている。
 同期処理部22は、第1カメラ3と第2カメラ101を同期させるための処理を行う。なお、第1カメラ3と第2カメラ101が完全に同じタイミングで撮像を行うようにしなくてもよく、例えば、第1カメラ3で撮像した第1撮像画像G1と略同じタイミングで撮像された第2撮像画像G2を特定することができるように、第1カメラ3と第2カメラ101で行われる通信の遅延時間を把握するように構成してもよい。
 提示処理部23は、ユーザに選択肢などを提示するための処理を行う。後述するが、第1推定情報P1に基づいて生成された仮想オブジェクトVOBと第2推定情報P2に基づいて生成された仮想オブジェクトVOBの何れの方が適切な位置に配置されているかを選択させる場合がある。その場合に、提示処理部23は、表示部2を介して何れかを選択させるための選択肢を提示する。
 制御部12は、CPUなどの演算処理部やROMやRAMなどの記憶部を有するマイクロコンピュータを備えて構成され、ROMに記憶されたプログラムに従って各種の処理を実行することで上述した各種機能を実現する。なお、上述した各種機能のうちの一部或いは全部がハードウェアによって構成されていてもよい。
 マーカ13は、HMD1の所定の部位に設けられた目印であり、第2カメラ101で撮像された第2撮像画像G2に映ることで、HMD1の位置及び姿勢の推定に用いられる。
 例えば、マーカ13の形状や大きさがどのように第2撮像画像G2上に映っているかを検出することにより、HMD1の位置及び姿勢を推定した第2推定情報P2が生成される。
 なお、マーカ13は、複数個設けられていてもよく、その場合には、第2推定情報P2の高精度化を図ることができる。また、マーカ13のみの機能を持つ専用の部位が設けられていなくてもよい。例えば、表示部2が備える角部などがマーカ13としての機能を有していてもよい。即ち、第2カメラ101で撮像された第2撮像画像G2から表示部2の所定部位を特定することで表示部2の位置及び姿勢を推定した第2推定情報P2を生成してもよい。
<3.車両システムの構成>
 車両システムSの構成例について図4を参照して説明する。
 車両システムSは、車両センサ部30と、車両通信部31と、車両制御部32と、特定対象部33と、を備えている。
 車両センサ部30は、各種のセンサ類を備えて構成されている。図4には、HMD1の位置及び姿勢を推定した第2推定情報P2を算出するために用いられるセンサ類を代表して記載している。
 車両センサ部30は、第2カメラ101と温度センサ34とを備えている。
 第2カメラ101としては各種のカメラ装置を採用することが可能である。例えば、カラー撮像画像を取得可能なカメラやIRカメラなどを第2カメラ101として採用することができる。
 温度センサ34は、第2カメラ101の内部温度を測定可能なセンサである。ここで取得された温度データは、第2カメラ101のパラメータの選択などに用いられる。
 車両センサ部30は、第2カメラ101や温度センサ34以外にも、測距センサや超音波センサ等を備えていてもよい。
 車両通信部31は、第2推定情報P2の生成に係る情報についての送受信処理を行う。
 具体的には、車両通信部31は、生成された第2推定情報P2をHMD1に送信する処理や、第2推定情報P2の算出に用いられる第2パラメータを対象としたキャリブレーションを行うか否かの指示情報を受信する処理などを行う。
 車両制御部32は、車両100についての統括的な制御を行うと共に、第2推定情報P2の生成に係る各種の処理を行う。また、第2推定情報P2の確度を向上させるためのキャリブレーションを行う。
 車両制御部32は、位置姿勢推定部35と、特定対象物認識部36と、キャリブレーション処理部37とを備えている。
 位置姿勢推定部35は、HMD1の位置及び姿勢の推定、或いは、表示部2の位置及び姿勢を推定し、第2推定情報P2を生成する。
 特定対象物認識部36は、車両100が備える特定の対象物を認識する処理を行う。車両100が備えているものであれば、車両システムSに組み込まれていないものでもよい。図4に示す例では、車両システムSに組み込まれている操舵装置としてのハンドルHが特定の対象物とされている。
 キャリブレーション処理部37は、第2推定情報P2を推定するために用いられる第2パラメータのキャリブレーションを行う。例えば、第2カメラ101の光軸方向や焦点距離や歪曲収差などの内部パラメータなどがキャリブレーションの対象となり得る。
 キャリブレーションでは、第2カメラ101で撮像された第2撮像画像G2における特定対象物としてのハンドルHの映り具合に応じて行われる。例えば、以前に撮像された第2撮像画像G2におけるハンドルHの撮像領域と最新の第2撮像画像G2におけるハンドルHの撮像領域がずれている場合には、上述した第2パラメータについてのキャリブレーションが行われる。なお、前述したように、キャリブレーション処理部37は、HMD1のキャリブレーション処理部21から受信したコマンドに基づいて第2パラメータについてのキャリブレーションを行ってもよい。
 特定対象部33は、前述したハンドルHのようにキャリブレーションに用いられる被写体物である。
 パラメータ保持部38には、キャリブレーション対象の第2パラメータが記憶されている。
<4.各部の位置関係>
 HMD1の各部と、車両システムSの各部の位置関係について図5を参照して説明する。
 なお、図中に示す実線は前回のキャリブレーションにおいて特定された位置関係を示している。また、図中に示す破線は測定ごとに可変とされた位置関係を示している。
 先ず、車両システムSにおける第2カメラ101と特定対象物としてのハンドルH
の位置関係は事前のキャリブレーションにより自明とされる。換言すれば、ハンドルHの座標位置(以降、単に「位置」と記載)から第2カメラ101の位置への変換行列A1は自明ということである。
 同様に、HMD1における表示部2の左目用領域2aと右目用領域2bと第1カメラ3とマーカ13の位置関係についても事前のキャリブレーションにより自明とされる。即ち、マーカ13の位置から左目用領域2aの位置への変換行列A2、及び、マーカ13の位置から右目用領域2bの位置への変換行列A3は自明である。また、同様に、第1カメラ3の位置から左目用領域2aの位置への変換行列A4と第1カメラ3の位置から右目用領域2bの位置への変換行列A5は自明である。
 一方、第1カメラ3とハンドルHの位置関係や、第2カメラ101と左目用領域2a及び右目用領域2bの位置関係は時々刻々と変化するものである。
 これらの変化する位置関係を特定することにより、時間ごとの表示部2の位置及び姿勢を推定することができる。
 第2カメラ101で撮像された第2撮像画像G2に対する画像処理を行うことにより、マーカ13の位置及び向き等を認識し、その認識結果に基づいて対象空間CSにおける表示部2の位置及び姿勢を推定する。
 具体的には、第2カメラ101の位置から左目用領域2aの位置への変換行列B1は、第2カメラ101の位置からマーカ13の位置への変換行列B0に先の変換行列A2を掛けたものとなる。
 同様に、第2カメラ101の位置から右目用領域2bの位置への変換行列B2は、第2カメラ101の位置からマーカ13の位置への変換行列B0に先の変換行列A3を掛けたものとなる。
 従って、ハンドルHの位置から左目用領域2a及び右目用領域2bの位置までの変換行列は、先の変換行列A1に対して変換行列B1と変換行列B2をそれぞれ掛けたものとなる。
 このようにして推定されたハンドルHの位置から左目用領域2aの位置への変換行列と、ハンドルHの位置から右目用領域2bの位置への変換行列が第2推定情報P2である。
 同様に第1推定情報P1についても説明する。
 第1カメラ3によって撮像された第1撮像画像G1に対する画像解析処理を行うことにより、ハンドルHの位置及び姿勢を特定する。これにより、第1カメラ3の位置からハンドルHの位置への変換行列B3が算出される。
 ハンドルHの位置から左目用領域2a及び右目用領域2bの位置への変換行列は、変換行列B3の逆行列に対して先の変換行列A4及び変換行列A5をそれぞれ掛けることで算出可能である。
 このようにして算出されたハンドルHの位置から左目用領域2a及び右目用領域2bの位置への変換行列が第1推定情報P1である。
<5.キャリブレーション>
 キャリブレーション処理部21は、第1推定情報P1及び第2推定情報P2の差分を用いてキャリブレーションを行う。キャリブレーションの処理内容としては、前述したように、第1推定情報P1や第2推定情報P2の導出に用いられる第1パラメータや第2パラメータ自体の補正を行ってもよいし、第1推定情報P1を真値に近づけるための位置及び姿勢についての変換行列を求めてもよい。
 以下に変換行列を求めるための具体的な手順を説明する。
 例えば、対象空間CSにおいて所定の位置及び姿勢で配置されているハンドルHに仮想オブジェクトVOBを重畳させる場合について考える。仮想オブジェクトVOBにおける3次元上のある1点を表示部2における左目用領域2aの2次元のスクリーン座標系における1点に落とし込むためには、以下の(式1)が用いられる。
 Pos=P・V・Pose   ・・・(式1)
 ここで、(式1)におけるPoseは、3次元のWorld座標系におけるハンドルHの位置及び姿勢を表すものである。具体的には、Poseは、位置を表すx座標、y座標、z座標と姿勢を表す回転行列や四元数(クォータニオン)などとされる。
 (式1)におけるVは、World座標系から第1カメラ3のカメラ座標系への変換行列である。変換行列Vは、第1カメラ3から見たハンドルHの位置及び姿勢を示すものであり、第1推定情報P1に基づくものである。
 (式1)におけるPは、カメラ座標系から左目用領域2aのスクリーン座標系への変換行列である。変換行列Pは、第1カメラ3と左目用領域2aの位置関係に基づくものである。
 (式1)におけるPosは、左目用領域2aのスクリーン座標系における画素位置を表す。
 第1推定情報P1が正しければ、(式1)によって算出されるスクリーン座標系の座標に仮想オブジェクトVOBを表示させることにより、ユーザは、仮想オブジェクトVOBがハンドルHに正確に重畳された状態を視認することができる。
 但し、第1推定情報P1は、上述したように各種の要因によって正しい値とのずれが生じてしまう。
 ずれが生じた場合には、第2推定情報P2に基づいて補正を行うための変換行列V’を算出することで、左目用領域2aのスクリーン座標系における仮想オブジェクトVOBの配置位置としてのPosを補正することができる。
 具体的には、以下の(式2)を用いてPosを補正する。
 Pos=P・V’・V・Pose  ・・・(式2)
 ここで、Pose、V、Pについては(式1)と同様の変数であり説明を省く。
 V’は、第1撮像画像G1に基づいて推定された第1推定情報P1としての位置及び姿勢の情報を第2撮像画像G2に基づいて推定された第2推定情報P2としての位置及び姿勢の情報へと変換するための変換行列とされる。
 即ち、(式2)におけるV’は、第2推定情報P2が正しいことを前提として、第1推定情報P1の誤差を解消して真値に近づけるための行列式とされる。
 V’を用いた(式2)を利用してスクリーン座標系における位置を算出するか、或いは、V’を用いない(式1)を利用してスクリーン座標系における位置を算出するかについては、第1推定情報P1の誤差の大きさや、仮想オブジェクトVOBの用途或いは機能や、仮想オブジェクトVOBを重畳させる現実オブジェクトROBの種類等に基づいて決定される。
 例えば、第1推定情報P1と第2推定情報P2の差分が限りなく小さければ(式1)を用いればよい。この場合には、変換行列V’を算出する必要がないため、処理負担の軽減が図られる。
 或いは、第1推定情報P1と第2推定情報P2の差分がある程度大きくても、仮想オブジェクトVOBの用途がユーザにナビ情報を表示する場合や、特定の現実オブジェクトROBに依らずに表示させる情報などについては、第1推定情報P1が誤差を含んだ状態であっても(式1)を用いてもよい。
 具体的には、図6に示すように車両100のフロントガラスにナビ情報としての仮想オブジェクトVOB1を表示する場合であれば、表示位置が数cmずれたとしても、ユーザにとって問題がないことが推定されるため、(式1)を用いてナビ情報としての仮想オブジェクトVOB1の表示位置(即ち、スクリーン座標系におけるx座標及びy座標)を決定する。
 一方、図7に示すように、車両100のダッシュボードやハンドルに配置されたボタンなどの各種操作子についての機能説明としての仮想オブジェクトVOB2を表示する場合には、説明対象のボタンとしての現実オブジェクトROBに正確に仮想オブジェクトVOB2を重畳させる必要がある。そのため、表示部2の左目用領域2aの位置及び姿勢が正確に推定された情報である第2推定情報を用いて仮想オブジェクトVOB2の表示位置を決定する。
 これにより、誤った機能説明をユーザに提示してしまうことが防止される。
<6.キャリブレーションの実行可否判定>
 キャリブレーションを実行すべきか否かを判定するためにHMD1の制御部12が実行する処理についてのフローチャートを図8及び図9に、車両システムSが実行する処理についてのフローチャートを図10にそれぞれ示す。
 先ず、前提として、図8及び図9に示すフローチャートは、ユーザが車両100に乗り込む前の状態から開始されるフローチャートである。なお、図面間のフローの接続を「c1」で示す。
 HMD1の制御部12は、図8のステップS101において、第2カメラ101が固定配置された対象空間CSとしての車室空間に進入したことを検知したか否かを判定する。対象空間CSに入ったことの検知は、例えば、第1撮像画像G1に対する画像処理の結果に基づいて検知してもよいし、車両システムSからの情報受信に基づいて検出してもよい。
 ステップS101において検知していないと判定した場合、制御部12は再度ステップS101の処理を実行する。
 一方、ステップS101において検知したと判定した場合、制御部12はステップS102において、HMD1の内部温度の情報を温度センサ15から取得する。
 制御部12はステップS103において、HMD1の内部温度情報に基づいて各種のパラメータ情報をパラメータ保持部24から取得する。ここで取得するパラメータは、第1推定情報の生成に必要な第1パラメータであって、且つ、温度によって変化する第1パラメータである。例えば、図11に示すように、ある所定の温度範囲ごとに各パラメータの値が記憶されており、温度センサ15から取得した温度情報に基づいて対応するパラメータをパラメータ保持部24から取得する。
 制御部12はステップS104において、World座標系の共有を行う。例えば、特定対象物としてのハンドルHの位置を原点としてX軸、Y軸、Z軸を定めることにより、World座標系の共有が行われる。
 制御部12はステップS105において、車両システムSに対して時間情報の送信を開始する。具体的には、システムクロック18でカウントしているシステム起動からの経過時間の情報を車両システムSに対して送信する。
 後述するが、車両システムSの車両制御部32は、HMD1から経過時間情報を受信すると、HMD1に対して何らかの情報を送信(返信)する。ここで返信する情報は、経過時間情報を受信したことを示すACK(Acknowledgement)のような情報であってもよいしHMD1から受信した時間情報であってもよい。以降の説明においては、受信した時間情報をHMD1に返す場合について説明する。
 制御部12は、ステップS106において、HMD1と車両システムS間のデータ送受信の往復に要する時間を算出し、通信遅延とばらつきを定義する。例えば、ステップS105のデータ送信を複数回行うと共に、それに伴って返信されたデータの受信を同回数行う。そして、各データの送信時刻と受信時刻の差分を算出し、その平均値を取ることにより通信遅延を定義する。また、差分の分散等を算出することにより通信遅延のばらつきを定義する。
 なお、車両システムSが受信した時間情報をHMD1にそのまま返信することにより、HMD1においては、受信した情報に格納されている時間情報(即ち、車両システムSに対して以前に送信した時間情報)と、受信時刻との差分に基づいて往復時間を推定することができる。
 制御部12はステップS107において、第2推定情報P2の生成を開始させるための指示(コマンド)を車両システムSに送信する。これにより、車両システムSにおいて、第2撮像画像G2を用いた第2推定情報P2の生成が行われる。
 車両システムSにおいて生成された第2推定情報P2は、HMD1から受信した時間情報と紐付けられて適宜HMD1に送信される。ここで第2推定情報P2に紐付けられる時間情報は、第2推定情報P2の生成に用いられた第2撮像画像G2の撮像時刻に最も近い時間情報である。従って、制御部12は、第2推定情報P2と共に受信した時間情報に基づいて、第2推定情報P2の生成に用いられた第2撮像画像G2の撮像時刻を得ることができる。
 制御部12は図9のステップS108において第1撮像画像G1を用いた第1推定情報P1の生成を行う。ここで生成する第1推定情報P1は、第2推定情報P2の推定に用いられた第2撮像画像G2と略同時刻に撮像された第1撮像画像G1に基づいて推定されたものである。
 以降の説明においては、略同時刻に撮像された第1撮像画像G1と第2撮像画像G2に基づいて生成された第1推定情報P1と第2推定情報P2を「対応する推定情報」と記載する。
 なお略同一時刻とは、第2推定情報P2の生成に用いられた第2撮像画像G2と全く同じ時刻であってもよいし、差分が数msecや数十msecなど所定の閾値未満とされた時刻であってもよい。
 制御部12はステップS109において、所定のデータを取得できたか否かを判定する。ここでいう所定のデータとは、少なくとも一組の第1推定情報P1と第2推定情報P2を指し、且つ、対応する推定情報としての第1推定情報P1と第2推定情報P2である。
 また、第1推定情報P1と第2推定情報P2は一組であってもよいが、キャリブレーションをより高精度に行うために、複数組の第1推定情報P1と第2推定情報P2を取得できたか否かをステップS109において判定してもよい。
 例えば、ある位置及び姿勢とされたHMD1について推定された一組の第1推定情報P1と第2推定情報P2だけでなく、他のタイミングにおいて異なる位置及び姿勢とされたHMD1について推定されたもう一組の第1推定情報P1と第2推定情報P2を取得できた場合にステップS109で「Yes」と判定してもよい。
 複数の位置及び姿勢について第1推定情報P1及び第2推定情報P2を比較することにより、高精度なキャリブレーションを行うことが可能となる。
 なお、所定のデータは、三組以上の推定情報であってもよい。
 制御部12は、ステップS109において所定のデータを取得できていないと判定した場合、再度ステップS108の第1推定情報P1の生成を行う。ここで生成される第1推定情報P1は、車両システムSから受信した新たな第2推定情報P2に対応する推定情報である。
 ステップS108の処理は、所定のデータを確保できるまで繰り返し実行される。
 一方、ステップS109において所定のデータを取得できたと判定した場合、制御部12はステップS110へと進み、第1推定情報P1と第2推定情報P2の差分が閾値以上であるか否かを判定する。例えば、第1撮像画像G1に基づいて推定されたHMD1についての位置及び姿勢の情報(第1推定情報P1)と、第2撮像画像G2に基づいて推定されたHMD1についての位置及び姿勢の情報(第2推定情報P2)が全く同じであれば、差分は閾値未満であると判定される。
 一方、推定された位置及び姿勢が大きく異なる場合には、差分が閾値以上であると判定される。
 なお、複数組の推定情報を取得できている場合には、ステップS110において組ごとの差分の平均値と閾値を比較してもよいし、最も大きな差分と閾値を比較してもよいし、最も小さな差分と閾値を比較してもよい。最も大きな差分と閾値を比較する場合には、全ての組の差分が閾値未満であることを確認することになる。
 差分が閾値以上であると判定した場合、制御部12はステップS111において、キャリブレーションが可能であるか否かを判定する。例えば、パラメータ保持部24に記憶されている内部パラメータや外部パラメータを再計算することによりキャリブレーションを行う場合には、各パラメータが表現可能な範囲を超えて値を設定しなくてはならない場合がある。このような場合には、キャリブレーションが不可能であると判定される。
 キャリブレーションが可能と判定された場合、制御部12はステップS112において第1推定情報P1についてのキャリブレーションを行う。第1推定情報P1についてのキャリブレーションとは、例えば、第1推定情報P1の導出に用いられる第1パラメータの補正を行ってもよいし、第1推定情報P1として算出された表示部2についての位置及び姿勢の情報を真値に近づけるための変換行列を求めてもよい。
 続いて、制御部12はステップS113において、第2モードMD2へと切り替える。第2モードMD2は、車室空間としての対象空間CSに固定配置された第2カメラ101を利用してHMD1についての位置及び姿勢を推定するものであるため、推定精度が高いことが考えられる。従って、第2モードMD2へと切り替えることにより、仮想オブジェクトVOBの高精度な重畳表示を行うことができる。
 一方、キャリブレーション画布可能であると判定された場合、制御部12はステップS114において、キャリブレーションができない旨を通知するユーザ通知を行う。ユーザ通知は、仮想オブジェクトVOBを用いて行ってもよいし、振動や音声によって通知してもよい。
 ステップS114の処理を終えた後、制御部12は図8及び図9に示す一連の処理を終了する。なお、ステップS114の処理を終えた後、ステップS113の第2モードMD2への切り替え処理を行ってもよい。
 HMD1の制御部12が図8及び図9に示す各処理を実行している間に車両システムSの車両制御部32が実行する処理の一例を図10に示す。
 車両制御部32はステップS201において、制御部12から送信されてくる時間情報を受信したか否かを判定する。この時間情報は、図8のステップS105において送信される時間情報である。時間情報を受信したと判定した場合には、車両制御部32はステップS202において情報の返信処理を行う。
 なお、ステップS105において時間情報の定期的な送信処理が開始された場合には、車両制御部32はステップS201及びステップS202の処理を所定時間ごとに実行する。そして、その場合には、ステップS203以降の各処理を実行しながら並行してステップS201及びステップS202の各処理を実行してもよい。
 車両制御部32はステップS203において、第2推定情報P2の生成開始指示を受信したか否かを判定する。当該指示は、図8のステップS107において制御部12から送信されてくるものである。
 第2推定情報P2の生成開始指示を受信していないと判定した場合、車両制御部32はステップS201の処理へと戻る。
 一方、第2推定情報P2の生成開始指示を受信したと判定した場合、車両制御部32はステップS204へと進み、温度センサ34から出力される温度情報の取得を行う。
 続いて、車両制御部32はステップS205において、温度情報に応じたパラメータ取得を行う。図11は、第1カメラ3についての各種パラメータが所定の温度範囲ごとに記憶されている例を示したものであるが、第2カメラ101についての各種パラメータについても同様の情報がパラメータ保持部38に記憶されている。ステップS205では、第2カメラ101についての適切なパラメータを温度条件に応じて取得する。
 車両制御部32はステップS206において、第2推定情報P2を生成する。続いて、車両制御部32はステップS207において、生成された第2推定情報P2をHMD1に対して送信する処理を行う。
 次に、車両制御部32はステップS208において、第2推定情報P2の生成を停止させる条件が成立したか否かを判定する。
 第2推定情報P2の生成を停止させる条件とは、例えば、HMD1の制御部12から生成提示指示を受信した場合や、ユーザが装着するHMD1が第2カメラ101の画角外に移動してしまった場合や、車両100のエンジンを停止させた場合などである。
 第2推定情報P2の生成を停止させる条件が成立した場合には、車両制御部32はステップS201の処理へと戻る。
 一方、第2推定情報P2の生成を停止させる条件が成立していない場合には、第2推定情報P2の生成を再度行うために車両制御部32はステップS204へと戻る。
 これにより、第2推定情報P2が次々と生成されてHMD1に送信される。
 なお、数十msecや数百msecごとに第2推定情報P2を生成する場合には、ステップS204の処理を毎回行わなくてもよい。ステップS204の処理は、温度情報を取得する処理であるが、数百msecなどの短時間で温度が急激に変化することは考えにくいため、数秒ごと或いは数分ごとにステップS204の処理を実行し、それ以外のタイミングではステップS204の処理をスキップしてもよい。
 また、ステップS208においてHMD1から第2推定情報P2の生成停止指示を受け取ったか否かを判定する例を説明したが、第2推定情報P2の生成指示をHMD1から都度貰うようにしてもよい。その場合には、ステップS208においてHMD1が画角外に移動したことやエンジンが停止したことなどを検出したか否かに応じた判定処理を行えばよい。
<7.第2の実施の形態>
 第1の実施の形態では、第2推定情報P2が基本的に正しい情報とされ、第2推定情報P2に基づいて第1推定情報P1を真値に近づけるためのキャリブレーションを行う例を説明した。
 第2の実施の形態では、第2推定情報P2が正しくないと判定した場合に、第2推定情報P2を真値に近づけるためのキャリブレーションを実行するものである。
 第2の実施の形態において、第1の実施の形態と同様の構成や処理については適宜説明を省略する。
 HMD1や車両システムSの構成については第1の実施の形態と同様のため、説明を省略する。
 第2の実施の形態におけるキャリブレーションの実行可否を判定する際にHMD1の制御部12が実行する各種処理について図12及び図13を参照して説明する。なお、図面間のフローの接続を「c2」及び「c3」で示す。
 制御部12は図12のステップS101において対象空間CSとしての車室空間に進入したことを検知したか否かを判定する。
 ステップS101において検知していないと判定した場合、制御部12は再度ステップS101の処理を実行する。
 一方、ステップS101において検知したと判定した場合、制御部12はステップS120において第2カメラ101の起動指示を車両システムSに対して送信する。
 そして、制御部12はステップS121において特定対象物としてのハンドルHを撮影するための撮影指示を車両システムSに送信する。なお、第2カメラ101は、画角内にハンドルHが位置しているか否かによらず撮像を行えばよい。
 制御部12はステップS122において、前回のキャリブレーション時の撮影結果(即ち、第2撮像画像G2)と今回の撮影結果を比較する処理を行うように車両システムSに指示する。
 比較処理では、前回撮像された第2撮像画像G2において特定対象物としてのハンドルHが撮像された画像領域と、今回の当該画像領域を比較して、画像領域のずれ(即ち、画像領域が画素数にして何画素ずれているか)を差分として算出する。
 図14は、第2カメラ101によって撮像された対象空間CSとしての車室空間の第2撮像画像G2の一例である。図中には、実線で描かれたハンドルH以外に、破線で描かれたハンドルH’が示されている。実線のハンドルHは、現在のハンドルHの位置を示している。一方、破線のハンドルH’は、過去に撮像された第2撮像画像G2おけるハンドルHの位置を示している。
 ステップS122に基づく比較処理では、実線のハンドルHと破線のハンドルH’の位置の差分を算出する。
 制御部12は、ステップS123において、差分情報を車両システムSから受け取り、差分が閾値未満であるか否かを判定する。ここで用いる閾値は、後述する第2パラメータについてのキャリブレーションでは修正しきれないほどのずれがあるか否かを判定するための閾値である。
 差分が閾値以上であると判定した場合、制御部12は図13のステップS124へと進み修理が必要な旨をユーザに知らせるための通知処理を行い、一連の処理を終了させる。
 なお、図12においては、HMD1の制御部12から車両システムSの車両制御部32に対して指示を送ることによりステップS121,S122,S123の各処理が実行される例を示したが、各処理が車両システムSにおいて実行されてもよい。例えば、ステップS120において、第2カメラの起動を含む一連の処理の実行指示を車両システムSに対して送信してもよい。その場合には、特定対象物の撮影と、撮影結果の比較と、差分が閾値未満であるか否かの判定処理を車両システムSの車両制御部32が実行し、HMD1の制御部12は処理結果を受け取るように構成されていてもよい。
 ステップS123において、差分が閾値未満であると判定した場合、制御部12は図12のステップS125において、仮想オブジェクトVOBを特定対象物としてのハンドルHに重畳表示させる処理を行う。ここで表示させる仮想オブジェクトVOBの表示位置は、第1推定情報P1に基づいて決定された表示位置と、第2推定情報P2に基づいて決定された表示位置の双方となる。即ち、ユーザは、第1推定情報P1に基づいて仮想オブジェクトVOBが重畳表示されたハンドルHを視認し、次に、第2推定情報P2に基づいて仮想オブジェクトVOBが重畳表示されたハンドルHを視認する。
 制御部12はステップS126において、複数の視点から特定対象物としてのハンドルHを視認するように促す。そして、制御部12は、複数の視点においてステップS125の重畳表示を行う。
 制御部12は、図13におけるステップS127において、複数の視点ごとに第1推定情報P1と第2推定情報P2を取得して記録する。
 制御部12はステップS128において、第1推定情報P1に基づく仮想オブジェクトVOB1の重畳位置と、第2推定情報P2に基づく仮想オブジェクトVOB2の重畳位置のうち、何れの方が適切かをユーザに選択させるための提示処理を行う。
 具体的には、表示処理部17は、第1推定情報P1に基づいて仮想オブジェクトVOB1を表示させる第1表示処理と、第2推定情報P2に基づいて仮想オブジェクトVOB2を表示させる第2表示処理を行う。そして、提示処理部23は、ユーザに選択肢を提示することによりユーザに選択を促す。
 提示処理としては、表示部2に表示させてもよいし、音声により提示してもよい。
 提示処理に対するユーザの選択結果を取得した後、制御部12はステップS129において、第1推定情報P1に基づく重畳位置の方が適切であると選択されたか否かを判定する。
 第1推定情報P1に基づく仮想オブジェクトVOB1の重畳位置の方が適切であると選択された場合には、第1推定情報P1よりも第2推定情報P2の修正の方が必要であることを示す。逆に、第2推定情報P2に基づく仮想オブジェクトVOB2の重畳位置の方が適切であると選択された場合には、第2推定情報P2よりも第1推定情報P1の修正の方が必要であることを示す。
 第1推定情報P1の修正が必要である場合には、第1の実施の形態における図8のステップS102の処理へと進むことにより、第1推定情報P1の算出に用いられる第1パラメータについてのキャリブレーションを行う。
 一方、第2推定情報P2の修正が必要である場合には、制御部12はステップS130へと進み、キャリブレーション可能であるか否かを判定する。
 例えば、キャリブレーション可能であるか否かの判定は、パラメータ保持部38に記憶されている内部パラメータや外部パラメータなどの第2パラメータに対して表現可能な範囲を超えた値を設定しなくてはならないか否かによる。
 なお、ステップS129の処理とステップS130の処理は、ユーザによるチェックと数値によるチェックを二重で行うための判定処理である。これに対する変形例としては、ステップS129の処理を省略することにより、数値によるチェックのみを行ってもよいし、ステップS130の処理を省略することにより、ユーザによるチェックのみを行ってもよい。
 キャリブレーションは不可能であると判定した場合、制御部12はステップS124へと進み修理が必要な旨をユーザに通知する処理を行う。
 キャリブレーションが可能であると判定した場合、制御部12はステップS131において、第2推定情報P2についてのキャリブレーションを行う。第2推定情報P2についてのキャリブレーションとは、例えば、第2推定情報P2の導出に用いられる第2パラメータの補正を行ってもよいし、第2推定情報P2として算出された表示部2についての位置及び姿勢の情報を真値に近づけるための変換行列を求めてもよい。
 例えば、変換行列を求めて第2推定情報P2を真値に近づけるためには、以下の(式3)及び(式4)を用いる。
 Pos=P2・V2・Pose   ・・・(式3)
 Pos=P2・V2’・V2・Pose  ・・・(式4)
 ここで、(式3)におけるPose2は、3次元のWorld座標系におけるハンドルHの位置及び姿勢を表すものである。具体的には、Poseは、位置を表すx座標、y座標、z座標と姿勢を表す回転行列や四元数(クォータニオン)などとされる。
 (式3)におけるV2は、World座標系から第2カメラ101のカメラ座標系への変換行列である。変換行列V2は、第2カメラ101から見たハンドルHの位置及び姿勢を示すものであり、第2推定情報P2に基づくものである。
 (式3)におけるP2は、カメラ座標系から左目用領域2aのスクリーン座標系への変換行列である。変換行列Pは、第2カメラ101と左目用領域2aの位置関係に基づくものである。
 (式3)におけるPosは、左目用領域2aのスクリーン座標系における画素位置を表す。
 第2推定情報P2が正しければ、(式3)によって算出されるスクリーン座標系の座標(Pos)に仮想オブジェクトVOBを表示させることにより、ユーザは、仮想オブジェクトVOBがハンドルHに正確に重畳された状態を視認することができる。
 但し、第2推定情報P2は、上述したように各種の要因によって正しい値とのずれが生じているためにキャリブレーションの対象とされている第2パラメータに基づいて生成されたものである。
 従って、第1推定情報P1に基づいた補正を行うことにより、左目用領域2aのスクリーン座標系における仮想オブジェクトVOBの配置位置を適正化する必要がある。
 具体的には、第2撮像画像G2に基づいて推定された第2推定情報P2としての位置及び姿勢の情報を第1撮像画像G1に基づいて推定された第1推定情報P1としての位置及び姿勢の情報へと変換するための変換行列V2’を算出する。変換行列V2’は、第1推定情報P1が正しいことを前提として、第2推定情報P2の誤差を解消して真値に近づけるための行列式である。
 この変換行列V2’が含まれた(式4)を用いることにより、左目用領域2aのスクリーン座標系における仮想オブジェクトVOBの配置位置を適正化することができる。
 第2推定情報P2についてのキャリブレーションを終えた後、制御部12は、ステップS113において、第2モードに切り替える処理を行う。これにより、変換行列V2’を用いて適正化された第2推定情報P2に基づいて仮想オブジェクトVOBの重畳表示などを行うことができる。
<8.第3の実施の形態>
 第3の実施の形態は、第1推定情報P1と第2推定情報P2の何れかを正しい位置及び姿勢を示す情報として扱うのではなく、双方の推定情報を用いて表示部2についての位置及び姿勢を推定した第3推定情報P3を算出し、第3推定情報P3に基づいて仮想オブジェクトVOBを重畳表示させるものである。
 具体的に図15を参照して説明する。
 第1撮像画像G1に基づいて推定された表示部2の位置及び姿勢である第1推定情報P1を用いてハンドルHの位置を特定し、その位置にハンドルHを模した仮想オブジェクトVOB3を配置する。
 また、第2撮像画像G2に基づいて推定された表示部2の位置及び姿勢である第2推定情報P2を用いてハンドルHの位置を特定し、その位置にハンドルHを模した仮想オブジェクトVOB4を配置する。
 このとき、第1推定情報P1と第2推定情報P2がハンドルHの位置を表す真値からずれていれば、HMD1を装着したユーザによって図15のような状態が視認される。
 この場合には,第1推定情報P1を用いても、第2推定情報P2を用いても、ハンドルHの位置を正確に特定することができずに、ハンドルHに正確に仮想オブジェクトVOBを重畳させることができない。
 なお、図15は理解のしやすさを考慮して、仮想オブジェクトVOBとハンドルHの差分を大きめに示している。
 そこで、第1推定情報P1と第2推定情報P2に基づいて第3推定情報P3を生成する。例えば、第1推定情報P1としての表示部2の位置及び姿勢と第2推定情報P2としての表示部2の位置及び姿勢の中間の位置を表示部2の位置及び姿勢についての第3推定情報P3とする。
 そして、第3推定情報P3を用いてハンドルHの位置を特定し、その位置に仮想オブジェクトVOB5を表示させる。一例を図16に示す。
 図示するように、仮想オブジェクトVOB5は、実際のハンドルHと略重なるように重畳されている。
 このように、第1推定情報P1と第2推定情報P2が真値から遠い場合には、第1推定情報P1と第2推定情報P2を用いて第3推定情報P3を生成し、第3推定情報P3に基づいて仮想オブジェクトVOBの表示位置を決定してもよい。
 なお、図16は、第1推定情報P1と第2推定情報P2の重み付けを1対1とした場合の例である。第1推定情報P1と第2推定情報P2の重み付けを変えることにより、表示部2についての位置及び姿勢の推定情報を真値に近づけることが可能となる。
 第3の実施の形態における手法は、例えば、第1推定情報P1についてのキャリブレーションを行い、更に第2推定情報P2についてのキャリブレーションを行った上で、なおかつ、キャリブレーションしきれない場合などに有効である。
 キャリブレーションを行ったにも関わらず表示部2についての位置及び姿勢の推定情報が大きくずれている場合や、そもそもキャリブレーションを行うことができない場合などには、上述したように、修理が必要な旨がユーザに通知され得る。そこで、修理が行われるまでの間は、第3の実施の形態のように第3推定情報P3を生成することで、一時的に現実オブジェクトROBに対して仮想オブジェクトVOBを略正確に重畳させることが可能となる。
<9.変形例>
 本変形例は、複数の閾値情報を用いて第1推定情報P1と第2推定情報P2の差分を細かく場合分けする例である。本変形例における制御部12は、図8に示す各処理を実行した後に図17に示す各処理を実行するものである。図8に示す各処理は、第1の実施の形態で説明した各処理と同様の処理であるため、本変形例においては説明を省略する。なお、図8、図17間のフローの接続を「c1」で示す。
 HMD1の制御部12は、図8に示す各処理を実行することにより、第2推定情報P2の生成の開始を車両制御部32に指示する。
 続いて、制御部12は、図17に示す各処理を実行することにより、第1カメラ3で撮像した第1撮像画像G1に基づいて第1推定情報P1の生成を行うと共に第1推定情報P1と第2推定情報P2の差分を算出し、その差分の大きさに応じた処理を行う。
 具体的には、制御部12は図17のステップS108において、第1推定情報P1を生成し、続くステップS109において、所定のデータを取得できたか否かを判定する。所定のデータを取得できていない場合には、異なる角度からハンドルHを見るようにユーザに指示するなどして、ステップS108で再び第1推定情報P1を生成する。
 一方、所定のデータを取得できたと判定した場合、制御部12はステップS141において、第1推定情報P1と第2推定情報P2の差分がキャリブレーション不要なほどに小さいか否かを判定する。この判定処理は、閾値を用いて行ってもよい。
 差分がキャリブレーション不要なほどに小さい場合には、制御部12は、ステップS113で第2モードMD2へと切り替える。
 ステップS141において、差分はキャリブレーションが不要なほど小さくはないと判定した場合、制御部12はステップS142において、差分と第1閾値Th1と比較する処理を行う。比較した結果、差分は第1閾値Th1よりも小さいと判定した場合、制御部12はステップS112において、第1推定情報P1についてのキャリブレーションを行い、続くステップS113において第2モードMD2へと切り替える。
 ここで、差分との比較に用いられる第1閾値Th1は、キャリブレーション可能であるかを判定するための閾値であると共に、キャリブレーションによって十分正常な状態に復帰可能な状態であることを判定するための閾値である。
 差分が第1閾値Th1以上であると判定した場合、制御部12はステップS143へと進み、第1閾値Th1よりも大きな第2閾値Th2と差分を比較する。
 キャリブレーションで第1推定情報P1のずれを回復可能であるかを判定するための閾値が第2閾値Th2である。
 差分が第2閾値Th2未満であると判定した場合、制御部12はステップS144へと進み、差分が第1閾値Th1以上であることを記録する処理を行う。この処理により、第1カメラ3についての内部パラメータ等を修正するための根本的な修理が必要な時期が近づいていることなどをユーザに通知することができる。
 記録処理の後、制御部12はステップS112及びステップS113を実行することにより、第2モードMD2へと切り替える。
 一方、差分が第2閾値Th2以上であると判定した場合、回復可能な範囲を超えているとして、ユーザに対して通知処理を行う。この場合には、第2モードMD2への切り替えは行われない。
 このようにして、第1推定情報P1と第2推定情報P2の乖離度合いに応じて異なる処理を実行する。これにより、ユーザは、修理の時期の目安について考えることなどが可能となっている。
 別の変形例について説明する。本変形例では、仮想オブジェクトVOBを重畳させる際に、シーンに応じて要求される重畳精度に基づいて第1推定情報P1と第2推定情報P2の差分の許容範囲を決定する。
 具体的に図8及び図9に示すフローチャートの一部を変更したものを図18に示す。なお、本変形例におけるHMD1の制御部12は、図8に示すステップS101からステップS109の各処理を実行した後、図18に示すステップS151及びステップS152を実行し、図9に示すステップS110からステップS114の処理を実行するものである。前述した処理については、説明を省略する。
 制御部12は、ステップS109において所定のデータを取得できたと判定した場合、即ち、複数の角度からハンドルHを見た状態における表示部2の位置及び姿勢を推定した情報である第1推定情報P1と第2推定情報P2を取得できたと判定した場合、制御部12はステップS151において、シーンの特定を行う。シーンの特定は、第1カメラ3で撮像した第1撮像画像G1や第2カメラ101で撮像した第2撮像画像G2や、それ以外のセンサ類から取得した情報に基づいて行う。
 例えば、現在走行中のシーンであるか、停止中のシーンであるかなどを特定する。走行中のシーンであれば、重畳精度を高くすることにより、運転者であるユーザに不要な混乱を生じさせてしまうことを防止することで、安全性を確保することができる。
 或いは、前述したように、重畳対象の現実オブジェクトROBに基づいてシーンを特定してもよい。
 シーンを特定した後、制御部12はステップS152において、特定されたシーンにおいて満たすべき重畳精度に基づいて閾値を決定する。ここで決定する閾値は、第1推定情報P1と第2推定情報P2の差分が許容できるか否かを判定するための閾値である。高い重畳精度が求められるシーンでは低い閾値が決定され、重畳精度が低くてもよいシーンでは高い閾値が決定される。
 閾値を決定した後、制御部12はステップS110へと進み、第1推定情報P1と第2推定情報P2の差分が閾値以上であるか否かを判定する。
 このようにして、制御部12は、シーンごとに適切な閾値を決定することにより、キャリブレーションの実行とキャリブレーションができない旨の通知を柔軟に行うことができる。また、これにより、重畳精度が低くてもよいシーンにおいて不要なキャリブレーションが実行されてしまうことが抑制されると共に、高い重畳精度が要求されるシーンにおいては適切なキャリブレーションを実行することができる。
 前述した各例においては、ユーザがHMD1を装着して車両100に乗り込むことによりユーザが対象空間CSに位置されると共にキャリブレーションについての各種処理が実行される例を説明した。しかし、対象空間CSは車両100などの移動体に関する空間でなくてもよい。例えば、ショッピングモールやスタジアムなどの施設の入り口などが対象空間CSとされ、入り口から入場する際に対象空間CSにおいて適切なキャリブレーションを行うことにより、ショッピングモールに出店された店ごとの情報を提示するための仮想オブジェクトVOBの重畳処理を適切に行うことや、スタジアムで行われたスポーツの試合やコンサートに関する情報を提示するための仮想オブジェクトVOBの重畳処理を適切に行うことが可能となる。
<10.まとめ>
 上述した各例において説明したように、本技術における情報処理装置としてのHMD1は、表示部2と共にユーザに装着される第1カメラ3によって撮像された第1撮像画像G1に基づいて推定された表示部2の位置及び姿勢を示す第1推定情報P1と、ユーザが存在する空間(対象空間CS)に設置された第2カメラ101によって撮像された第2撮像画像G2に基づいて推定された表示部2の位置及び姿勢を示す第2推定情報P2と、を取得する取得部19と、第1推定情報P1と第2推定情報P2とに基づいて表示部2の位置及び姿勢の推定に用いられるパラメータについてのキャリブレーションに用いる補正情報を生成するキャリブレーション処理部21と、を備えたものである。
 これにより、ユーザの目の位置にキャリブレーション用の観測用カメラを配置せずに、表示部2の位置及び姿勢の推定に用いられるパラメータをキャリブレーションすることが可能となる。
 従って、簡易な構成でキャリブレーション処理を実現することができる。また、第2カメラ101が配置された空間にユーザが移動することで、キャリブレーションを実行できる。換言すれば、HMD1などのキャリブレーション対象の機器をユーザが使用している状態であっても、当該機器についてのキャリブレーションを行うことが可能となり、利便性の向上を図ることができる。
 キャリブレーション処理部21は、補正情報を用いて表示部2の位置及び姿勢の推定に用いられるパラメータの補正を行ってもよい。補正情報は、例えば、キャリブレーション対象のパラメータを特定する情報などである。
 パラメータの補正を行うことにより、表示部2の位置及び姿勢の推定精度を高めることができ、ユーザに視認させる情報などを適切な位置に提示することができる。
 HMD1は、キャリブレーションを実行するか否かを判定する判定部20を備えていてもよい。
 キャリブレーションの実行可否を判定することにより、不要なキャリブレーション処理が実行されてしまうことを抑制することができ、キャリブレーション処理を行う装置の処理負担の軽減を図ることができる。
 図13等を参照して説明したように、判定部20は、パラメータが表現可能な範囲を超えているか否かに基づいてキャリブレーションを実行するか否かを判定してもよい。
 例えば、表現可能な範囲を超えてパラメータが設定されなければならないような場合には、キャリブレーションが不可能であると判定される。
 これにより、不要なキャリブレーション処理が実行されてしまうことが防止される。
 図17等を参照して説明したように、判定部20は、キャリブレーションを実行するか否かを判定する処理において、第1推定情報P1と第2推定情報P2の差分が閾値よりも小さい場合にキャリブレーションは不要であると判定してもよい。
 差分が小さい場合には、キャリブレーションをしても効果が薄いことが考えられる。また、キャリブレーションを行わなくてもユーザにとって不利益が生じない可能性が高い。
 このような場合に、キャリブレーションが不要と判定されることで、キャリブレーション処理を実行する装置の処理負担を軽減することができる。
 図3等を参照して説明したように、第2推定情報P2は、表示部2を有する筐体(HMD1)における所定箇所が特定可能に撮像された第2撮像画像G2に基づいて推定された表示部2の位置及び姿勢についての情報とされてもよい。
 表示部2と一体に装着される装置における所定個所、換言すれば、表示部2に対する位置関係が基本的に変化しない場所を基準として表示部2の位置及び姿勢を推定する。
 これにより、表示部2の位置及び姿勢の推定結果をより正確に推定することができるため、適切なキャリブレーションを行うことが可能となる。
 図3等を参照して説明したように、第2推定情報P2は、所定箇所に設けられたマーカ13が撮像された第2撮像画像G2に基づいて推定された表示部2の位置及び姿勢についての情報とされてもよい。
 所定箇所にマーカ13が設けられることにより、第2撮像画像G2から表示部2の位置及び姿勢を推定することが容易となると共に、正確な推定が可能となる。
 従って、適切なキャリブレーションを行うことが可能となる。
 図9等を参照して説明したように、キャリブレーション処理部21は、第1推定情報P1と第2推定情報P2の差分が閾値以上である場合にキャリブレーションを行ってもよい。
 第1推定情報P1と第2推定情報P2の差分が大きい場合には、仮想オブジェクトVOBなどの重畳位置が正しい位置とずれすぎてしまい、ユーザに不適切な情報を提示してしまう可能性がある。一方、差分が小さい場合には、仮想オブジェクトVOBの重畳位置を略正しい位置とすることができるため、ユーザに対して適切な情報を提示できる可能性が高くなる。本構成によれば、差分の多寡に応じてキャリブレーションを行うか否かを決定するため、必要なキャリブレーションを行うことができると共に、必要以上のキャリブレーションが実行されてしまうことを防止することができる。
 従って、ユーザに不適切な情報提示を行うことを防止すると共に情報処理装置としてのHMD1の処理負担の軽減を図ることができる。また、閾値を適切に設定することで、不適切な情報提示を防止する効果と処理負担を軽減する効果をバランスよく獲得することができる。
 図9等を参照して説明したように、キャリブレーション処理部21は、第1推定情報P1の推定に用いられる第1パラメータについてキャリブレーションを行ってもよい。
 これにより、第1推定情報P1の不正確性が是正される。
 従って、第1推定情報P1を用いて重畳される仮想オブジェクトVOBの位置や向き等を最適化することができ、ユーザに適切な情報が提示される可能性を高めることができる。
 HMD1の構成例等で説明したように、第1パラメータは、第1カメラ3と表示部2の位置関係を特定するためのパラメータとされていてもよい。
 第1カメラ3と表示部2の位置関係は、一体型のHMD1のような機器であっても、使用状況や経年劣化等により変化し得る。そのような場合であっても、本構成であれば、第1カメラ3と表示部2の最新の位置関係が再定義される。
 これにより、第1推定情報P1のずれを適切に補正することができ、仮想オブジェクトVOBなどを正確に配置することが可能となる。
 HMD1の構成例等で説明したように、第1パラメータは、第1カメラ3の光軸方向と焦点距離と歪曲収差の少なくとも何れかを含むものとされてもよい。
 第1カメラ3の光軸方向などのパラメータ(内部パラメータ)は、経年劣化等により変化し得る。そのような場合であっても、本構成であれば、内部パラメータが再計算されて適切に設定される。
 これにより、第1推定情報P1のずれを適切に補正することができ、仮想オブジェクトVOBなどを正確に配置することが可能となる。
 車両システムSの構成等で説明したように、HMD1のキャリブレーション処理部21は、上述したキャリブレーションとして、第2推定情報P2の推定に用いられる第2パラメータについてのキャリブレーションを車両システムSに実行させるための処理を行ってもよい。具体的には、車両システムSが備えるキャリブレーション処理部37に対してキャリブレーションを実行するためのコマンドを送ることによりキャリブレーション処理部37に第2パラメータについてのキャリブレーションを実行させてもよい。
 これにより、第2推定情報P2の不正確性が是正される。
 従って、第2推定情報P2を用いて重畳される仮想オブジェクトVOBの位置や向き等を最適化することができ、ユーザに適切な情報が提示される可能性を高めることができる。
 HMD1の構成例等で説明したように、第2パラメータは、第2カメラ101の光軸方向と焦点距離と歪曲収差の少なくとも何れかを含むものとされてもよい。
 第2カメラ101の光軸方向などのパラメータ(内部パラメータ)は、経年劣化等により変化し得る。そのような場合であっても、本構成であれば、内部パラメータが再計算されて適切に設定される。
 これにより、第2推定情報P2のずれを適切に補正することができ、仮想オブジェクトVOBなどを正確に配置することが可能となる。
 HMD1の構成例や図14等で説明したように、キャリブレーション処理部21は、第2撮像画像G2における特定対象物(例えばハンドルH)の撮像領域に基づいて第2パラメータについてのキャリブレーションを行ってもよい。
 これにより、例えば、ハンドルHなどの特定対象物が以前と異なる撮像領域に撮像された場合などに、第2カメラ101の光軸方向がずれたと判定されて第2パラメータについてのキャリブレーションを実行することが可能となる。
 従って、第1パラメータのキャリブレーションだけでは表示部2の位置及び姿勢を正確に推定することができない場合であっても、第2パラメータのキャリブレーションが行われることで、表示部2の位置及び姿勢をより正確に推定することが可能となる。そして、仮想オブジェクトVOBを所望の位置に表示させることができる。
 図8及び図9を用いた第1の実施の形態等で説明したように、キャリブレーション処理部21は、第1推定情報P1を用いて所定の処理を行う第1モードMD1から第2推定情報P2を用いて所定の処理を行う第2モードMD2へ切り替えられる際にキャリブレーションを行ってもよい。
 例えば、ユーザが第1カメラ3を備えたHMD1などの機器を装着した状態で第2カメラ101が配置された空間(対象空間CS)に移動することにより第2モードMD2へと切り替えられる。そして、第2カメラ101が配置された空間にユーザが移動したタイミングは、第1カメラ3及び第2カメラ101を用いた前述のキャリブレーションを行うのに適したタイミングとされる。
 第2モードMD2へ切り替えられる際にキャリブレーションを行うことにより、ユーザが当該空間に位置している間に仮想オブジェクトVOBの適切な重畳表示を行うことができる。
 そして、当該空間にユーザが移動することで自動的にキャリブレーションを行うように構成することで、キャリブレーションを行うための操作をユーザが意図的且つ手動で行う必要がないため、ユーザの利便性を向上させることができる。
 図3等を用いて説明したように、第1カメラ3と第2カメラ101を同期させる同期処理部22を備えていてもよい。
 第1カメラ3と第2カメラ101が同期されることで、同タイミング、或いは近いタイミングで撮像された第1撮像画像G1と第2撮像画像G2を用いてキャリブレーションを行うことができる。
 従って、第1推定情報P1と第2推定情報P2の比較を適切に行うことができるため、キャリブレーション処理の高精度化を図ることができ、第1推定情報P1と第2推定情報P2の差分を小さくすることができる。
 図9等を参照して説明したように、キャリブレーション処理部21は、キャリブレーションに用いる第1推定情報P1の推定に用いられた第1撮像画像G1と第2推定情報P2の推定に用いられた第2撮像画像G2の撮像時刻を比較する処理を行い、撮像時刻の差分が閾値未満とされた第1撮像画像G1と第2撮像画像G2によって推定された第1推定情報P1と第2推定情報P2に基づいてキャリブレーションを行ってもよい。
 これにより、同タイミング或いは近いタイミングで撮像された第1撮像画像G1と第2撮像画像G2を用いてキャリブレーションが行われる。
 従って、第1推定情報P1と第2推定情報P2の適切な比較が行われ、キャリブレーション処理の高精度化を図ることができる。
 図8等を参照して説明したように、同期処理部22は、第2カメラ101の制御部(車両制御部32)に対して送信したデータについての往復時間に基づいて同期を行ってもよい。
 これにより、第1カメラ3(或いは第1カメラ3を搭載したHMD1)と第2カメラ101(或いは第2カメラを搭載した車両システムS)との間の通信に要する時間を考慮して第1撮像画像G1と第2撮像画像G2を選択することが可能となる。
 従って、近いタイミングで撮像された第1撮像画像G1と第2撮像画像G2を用いて高精度なキャリブレーションを行うことが可能となる。
 図3や図13等を参照して説明したように、第1推定情報P1に基づいて仮想オブジェクトVOBを重畳させる第1表示処理と、第2推定情報P2に基づいて仮想オブジェクトVOBを重畳させる第2表示処理を実行可能な表示処理部17と、第1表示処理によって重畳された仮想オブジェクトVOB1と第2表示処理によって重畳された仮想オブジェクトVOB2の何れかを選択させる選択肢を提示する提示処理部23と、を備えていてもよい。
 これにより、ユーザは、第1表示処理と第2表示処理のうち、好みに応じて選択することが可能となる。
 従って、ユーザにとって適切な方の推定情報を用いて仮想オブジェクトVOBを重畳させることなどが可能となる。
 また、選択されなかった方の推定情報を補正するためのキャリブレーションを行うことが可能となる。
 情報処理装置は、取得部19とキャリブレーション処理部21を備えるヘッドマウントディスプレイ装置(HMD1)とされてもよい。
 これにより、HMD1を装着した状態で第2カメラ101が配置された空間に移動することにより、キャリブレーション処理を実行することが可能となる。
 また、ユーザの目の位置に観測用カメラを配置する必要がないため、ユーザがHMD1を装着したままキャリブレーションを行うことができる。
 上述したように、ユーザが存在する空間としての対象空間CSは、車両100などの移動体の内部空間(車室空間)とされてもよい。
 移動体の内部空間であっても上述したようにキャリブレーションを行うことにより、移動体としての車両100の動きによらず適切に表示部2の位置及び姿勢の推定に用いられるパラメータをキャリブレーションすることが可能となる。
 本技術における情報処理方法は、表示部2と共にユーザに装着される第1カメラ3によって撮像された第1撮像画像G1に基づいて推定された表示部2の位置及び姿勢を示す第1推定情報P1と、ユーザが存在する空間(対象空間CS)に設置された第2カメラ101によって撮像された第2撮像画像G2に基づいて推定された表示部2の位置及び姿勢を示す第2推定情報P2と、を取得し、第1推定情報P1と第2推定情報P2とに基づいて表示部2の位置及び姿勢の推定に用いられるパラメータについてのキャリブレーションに用いる補正情報を生成する処理を、コンピュータ装置が実行するものである。
 本技術における記憶媒体は、表示部2と共にユーザに装着される第1カメラ3によって撮像された第1撮像画像G1に基づいて推定された表示部2の位置及び姿勢を示す第1推定情報P1と、ユーザが存在する空間(対象空間CS)に設置された第2カメラ101によって撮像された第2撮像画像G2に基づいて推定された表示部2の位置及び姿勢を示す第2推定情報P2と、を取得し、第1推定情報P1と第2推定情報P2とに基づいて表示部2の位置及び姿勢の推定に用いられるパラメータについてのキャリブレーションに用いる補正情報を生成する機能を、演算処理装置に実行させるプログラムが記憶されたコンピュータ装置が読み取り可能な記憶媒体である。
 情報処理装置(HMD1)に実行させるプログラムは、表示部2と共にユーザに装着される第1カメラ3によって撮像された第1撮像画像G1に基づいて推定された表示部2の位置及び姿勢を示す第1推定情報P1と、ユーザが存在する空間(対象空間CS)に設置された第2カメラ101によって撮像された第2撮像画像G2に基づいて推定された表示部2の位置及び姿勢を示す第2推定情報P2と、を取得し、第1推定情報P1と第2推定情報P2とに基づいて表示部2の位置及び姿勢の推定に用いられるパラメータについてのキャリブレーションに用いる補正情報を生成する機能を、例えばHMD1が備えるCPU等の演算処理装置に実行させるプログラムである。
 このようなプログラムにより、上述したキャリブレーション処理をマイクロコンピュータ等の演算処理装置により実現できる。
 これらのプログラムはコンピュータ装置等の機器に内蔵されている記録媒体としてのHDD(Hard Disk Drive)や、CPUを有するマイクロコンピュータ内のROM等に予め記録しておくことができる。あるいはまたプログラムは、フレキシブルディスク、CD-ROM(Compact Disk Read Only Memory)、MO(Magneto Optical)ディスク、DVD(Digital Versatile Disc)、ブルーレイディスク(Blu-ray Disc(登録商標))、磁気ディスク、半導体メモリ、メモリカードなどのリムーバブル記録媒体に、一時的あるいは永続的に格納(記録)しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウェアとして提供することができる。
 また、このようなプログラムは、リムーバブル記録媒体からパーソナルコンピュータ等にインストールする他、ダウンロードサイトから、LAN(Local Area Network)、インターネットなどのネットワークを介してダウンロードすることもできる。
 また、本技術に係る情報処理システムは、表示部2と共にユーザに装着される第1カメラ3と、ユーザが存在する空間(対象空間CS)に設置された第2カメラ101と、第1カメラ3によって撮像された第1撮像画像G1に基づいて推定された表示部2の位置及び姿勢を示す第1推定情報P1と、第2カメラ101によって撮像された第2撮像画像G2に基づいて推定された表示部2の位置及び姿勢を示す第2推定情報P2と、を取得する取得部19と、第1推定情報P1と第2推定情報P2とに基づいて表示部2の位置及び姿勢の推定に用いられるパラメータについてのキャリブレーションに用いる補正情報を生成するキャリブレーション処理部21と、を備えたものである。
 なお、本明細書に記載された効果はあくまでも例示であって限定されるものではなく、また他の効果があってもよい。
 また、上述した各例はいかように組み合わせてもよく、各種の組み合わせを用いた場合であっても上述した種々の作用効果を得ることが可能である。
<11.本技術>
 本技術は以下のような構成を採ることもできる。
(1)
 表示部と共にユーザに装着される第1カメラによって撮像された第1撮像画像に基づいて推定された前記表示部の位置及び姿勢を示す第1推定情報と、前記ユーザが存在する空間に設置された第2カメラによって撮像された第2撮像画像に基づいて推定された前記表示部の位置及び姿勢を示す第2推定情報と、を取得する取得部と、
 前記第1推定情報と前記第2推定情報とに基づいて前記第1カメラまたは前記第2カメラの何れかのパラメータについてのキャリブレーションに用いる補正情報を生成するキャリブレーション処理部と、を備えた
 情報処理装置。
(2)
 前記キャリブレーション処理部は、前記補正情報を用いて前記表示部の位置及び姿勢の推定に用いられる前記パラメータの補正を行う
 上記(1)に記載の情報処理装置。
(3)
 前記キャリブレーションを実行するか否かを判定する判定部を備え、
 前記判定部は、前記パラメータが表現可能な範囲を超えているか否かに基づいて前記判定を行う
 上記(1)から上記(2)の何れかに記載の情報処理装置。
(4)
 前記キャリブレーションを実行するか否かを判定する判定部を備え、
 前記判定部は、前記判定において、前記第1推定情報と前記第2推定情報の差分が閾値よりも小さい場合にキャリブレーションは不要であると判定する
 上記(1)から上記(2)の何れかに記載の情報処理装置。
(5)
 前記第2推定情報は、前記表示部を有する筐体における所定箇所が特定可能に撮像された前記第2撮像画像に基づいて推定された前記表示部の位置及び姿勢についての情報とされた
 上記(1)から上記(4)の何れかに記載の情報処理装置。
(6)
 前記第2推定情報は、前記所定箇所に設けられたマーカが撮像された前記第2撮像画像に基づいて推定された前記表示部の位置及び姿勢についての情報とされた
 上記(5)に記載の情報処理装置。
(7)
 前記キャリブレーション処理部は、前記第1推定情報と前記第2推定情報の差分が閾値以上である場合に前記キャリブレーションを行う
 上記(1)から上記(6)の何れかに記載の情報処理装置。
(8)
 前記キャリブレーション処理部は、前記第1推定情報の推定に用いられる第1パラメータについて前記キャリブレーションを行う
 上記(1)から上記(7)の何れかに記載の情報処理装置。
(9)
 前記第1パラメータは、前記第1カメラと前記表示部の位置関係を特定するためのパラメータとされた
 上記(8)に記載の情報処理装置。
(10)
 前記第1パラメータは、前記第1カメラの光軸方向と焦点距離と歪曲収差の少なくとも何れかを含む
 上記(8)に記載の情報処理装置。
(11)
 前記キャリブレーション処理部は、前記第2推定情報の推定に用いられる第2パラメータについて前記キャリブレーションを行う
 上記(1)から上記(10)の何れかに記載の情報処理装置。
(12)
 前記第2パラメータは、前記第2カメラの光軸方向と焦点距離と歪曲収差の少なくとも何れかを含む
 上記(11)に記載の情報処理装置。
(13)
 前記キャリブレーション処理部は、前記第2撮像画像における特定対象物の撮像領域に基づいて前記第2パラメータについてのキャリブレーションを行う
 上記(11)から上記(12)の何れかに記載の情報処理装置。
(14)
 前記キャリブレーション処理部は、前記第1推定情報を用いて所定の処理を行う第1モードから前記第2推定情報を用いて前記所定の処理を行う第2モードへ切り替えられる際に前記キャリブレーションを行う
 上記(1)から上記(13)の何れかに記載の情報処理装置。
(15)
 前記キャリブレーション処理部は、前記キャリブレーションに用いる前記第1推定情報の推定に用いられた前記第1撮像画像と前記第2推定情報の推定に用いられた前記第2撮像画像の撮像時刻を比較する処理を行い、撮像時刻の差分が閾値未満とされた前記第1撮像画像と前記第2撮像画像によって推定された前記第1推定情報と前記第2推定情報に基づいて前記キャリブレーションを行う
 上記(1)から上記(14)の何れかに記載の情報処理装置。
(16)
 前記第1推定情報に基づいて仮想オブジェクトを重畳させる第1表示処理と、前記第2推定情報に基づいて前記仮想オブジェクトを重畳させる第2表示処理を実行可能な表示処理部と、
 前記第1表示処理によって重畳された前記仮想オブジェクトと前記第2表示処理によって重畳された前記仮想オブジェクトの何れかを選択させる提示処理部と、を備えた
 上記(1)から上記(15)の何れかに記載の情報処理装置。
(17)
 前記取得部と前記キャリブレーション処理部を備えるヘッドマウントディスプレイ装置とされた
 上記(1)から上記(16)の何れかに記載の情報処理装置。
(18)
 前記ユーザが存在する空間は移動体の内部空間とされた
 上記(1)から上記(17)の何れかに記載の情報処理装置。
(19)
 表示部と共にユーザに装着される第1カメラによって撮像された第1撮像画像に基づいて推定された前記表示部の位置及び姿勢を示す第1推定情報と、前記ユーザが存在する空間に設置された第2カメラによって撮像された第2撮像画像に基づいて推定された前記表示部の位置及び姿勢を示す第2推定情報と、を取得し、
 前記第1推定情報と前記第2推定情報とに基づいて前記第1カメラまたは前記第2カメラの何れかのパラメータについてのキャリブレーションに用いる補正情報を生成する処理を、コンピュータ装置が実行する
 情報処理方法。
(20)
 表示部と共にユーザに装着される第1カメラによって撮像された第1撮像画像に基づいて推定された前記表示部の位置及び姿勢を示す第1推定情報と、前記ユーザが存在する空間に設置された第2カメラによって撮像された第2撮像画像に基づいて推定された前記表示部の位置及び姿勢を示す第2推定情報と、を取得し、
 前記第1推定情報と前記第2推定情報とに基づいて前記第1カメラまたは前記第2カメラの何れかのパラメータについてのキャリブレーションに用いる補正情報を生成する機能を、演算処理装置に実行させるプログラムが記憶されたコンピュータ装置が読み取り可能な
 記憶媒体。
1 HMD(情報処理装置)
2 表示部
3 第1カメラ
13 マーカ
17 表示処理部
19 取得部
21 キャリブレーション処理部
22 同期処理部
23 提示処理部
101 第2カメラ
CS 対象空間(空間)
G1 第1撮像画像
G2 第2撮像画像
MD1 第1モード
MD2 第2モード
P1 第1推定情報
P2 第2推定情報

Claims (20)

  1.  表示部と共にユーザに装着される第1カメラによって撮像された第1撮像画像に基づいて推定された前記表示部の位置及び姿勢を示す第1推定情報と、前記ユーザが存在する空間に設置された第2カメラによって撮像された第2撮像画像に基づいて推定された前記表示部の位置及び姿勢を示す第2推定情報と、を取得する取得部と、
     前記第1推定情報と前記第2推定情報とに基づいて前記第1カメラまたは前記第2カメラの何れかのパラメータについてのキャリブレーションに用いる補正情報を生成するキャリブレーション処理部と、を備えた
     情報処理装置。
  2.  前記キャリブレーション処理部は、前記補正情報を用いて前記表示部の位置及び姿勢の推定に用いられる前記パラメータの補正を行う
     請求項1に記載の情報処理装置。
  3.  前記キャリブレーションを実行するか否かを判定する判定部を備え、
     前記判定部は、前記パラメータが表現可能な範囲を超えているか否かに基づいて前記判定を行う
     請求項1に記載の情報処理装置。
  4.  前記キャリブレーションを実行するか否かを判定する判定部を備え、
     前記判定部は、前記判定において、前記第1推定情報と前記第2推定情報の差分が閾値よりも小さい場合にキャリブレーションは不要であると判定する
     請求項1に記載の情報処理装置。
  5.  前記第2推定情報は、前記表示部を有する筐体における所定箇所が特定可能に撮像された前記第2撮像画像に基づいて推定された前記表示部の位置及び姿勢についての情報とされた
     請求項1に記載の情報処理装置。
  6.  前記第2推定情報は、前記所定箇所に設けられたマーカが撮像された前記第2撮像画像に基づいて推定された前記表示部の位置及び姿勢についての情報とされた
     請求項5に記載の情報処理装置。
  7.  前記キャリブレーション処理部は、前記第1推定情報と前記第2推定情報の差分が閾値以上である場合に前記キャリブレーションを行う
     請求項1に記載の情報処理装置。
  8.  前記キャリブレーション処理部は、前記第1推定情報の推定に用いられる第1パラメータについて前記キャリブレーションを行う
     請求項1に記載の情報処理装置。
  9.  前記第1パラメータは、前記第1カメラと前記表示部の位置関係を特定するためのパラメータとされた
     請求項8に記載の情報処理装置。
  10.  前記第1パラメータは、前記第1カメラの光軸方向と焦点距離と歪曲収差の少なくとも何れかを含む
     請求項8に記載の情報処理装置。
  11.  前記キャリブレーション処理部は、前記キャリブレーションとして、前記第2推定情報の推定に用いられる第2パラメータについてのキャリブレーションを実行させるための処理を行う
     請求項1に記載の情報処理装置。
  12.  前記第2パラメータは、前記第2カメラの光軸方向と焦点距離と歪曲収差の少なくとも何れかを含む
     請求項11に記載の情報処理装置。
  13.  前記キャリブレーション処理部は、前記第2撮像画像における特定対象物の撮像領域に基づいて前記第2パラメータについてのキャリブレーションを行う
     請求項11に記載の情報処理装置。
  14.  前記キャリブレーション処理部は、前記第1推定情報を用いて所定の処理を行う第1モードから前記第2推定情報を用いて前記所定の処理を行う第2モードへ切り替えられる際に前記キャリブレーションを行う
     請求項1に記載の情報処理装置。
  15.  前記キャリブレーション処理部は、前記キャリブレーションに用いる前記第1推定情報の推定に用いられた前記第1撮像画像と前記第2推定情報の推定に用いられた前記第2撮像画像の撮像時刻を比較する処理を行い、撮像時刻の差分が閾値未満とされた前記第1撮像画像と前記第2撮像画像によって推定された前記第1推定情報と前記第2推定情報に基づいて前記キャリブレーションを行う
     請求項1に記載の情報処理装置。
  16.  前記第1推定情報に基づいて仮想オブジェクトを重畳させる第1表示処理と、前記第2推定情報に基づいて前記仮想オブジェクトを重畳させる第2表示処理を実行可能な表示処理部と、
     前記第1表示処理によって重畳された前記仮想オブジェクトと前記第2表示処理によって重畳された前記仮想オブジェクトの何れかを選択させる選択肢を提示する提示処理部と、を備えた
     請求項1に記載の情報処理装置。
  17.  前記取得部と前記キャリブレーション処理部を備えるヘッドマウントディスプレイ装置とされた
     請求項1に記載の情報処理装置。
  18.  前記ユーザが存在する空間は移動体の内部空間とされた
     請求項1に記載の情報処理装置。
  19.  表示部と共にユーザに装着される第1カメラによって撮像された第1撮像画像に基づいて推定された前記表示部の位置及び姿勢を示す第1推定情報と、前記ユーザが存在する空間に設置された第2カメラによって撮像された第2撮像画像に基づいて推定された前記表示部の位置及び姿勢を示す第2推定情報と、を取得し、
     前記第1推定情報と前記第2推定情報とに基づいて前記第1カメラまたは前記第2カメラの何れかのパラメータについてのキャリブレーションに用いる補正情報を生成する処理を、コンピュータ装置が実行する
     情報処理方法。
  20.  表示部と共にユーザに装着される第1カメラによって撮像された第1撮像画像に基づいて推定された前記表示部の位置及び姿勢を示す第1推定情報と、前記ユーザが存在する空間に設置された第2カメラによって撮像された第2撮像画像に基づいて推定された前記表示部の位置及び姿勢を示す第2推定情報と、を取得し、
     前記第1推定情報と前記第2推定情報とに基づいて前記第1カメラまたは前記第2カメラの何れかのパラメータについてのキャリブレーションに用いる補正情報を生成する機能を、演算処理装置に実行させるプログラムが記憶されたコンピュータ装置が読み取り可能な
     記憶媒体。
PCT/JP2022/006671 2021-03-26 2022-02-18 情報処理装置、情報処理方法、記憶媒体 WO2022202016A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021-053061 2021-03-26
JP2021053061 2021-03-26

Publications (1)

Publication Number Publication Date
WO2022202016A1 true WO2022202016A1 (ja) 2022-09-29

Family

ID=83396962

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/006671 WO2022202016A1 (ja) 2021-03-26 2022-02-18 情報処理装置、情報処理方法、記憶媒体

Country Status (1)

Country Link
WO (1) WO2022202016A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007233971A (ja) * 2006-03-03 2007-09-13 Canon Inc 画像合成方法及び装置
JP2007293412A (ja) * 2006-04-21 2007-11-08 Canon Inc 情報処理方法および装置
JP2008224626A (ja) * 2007-03-15 2008-09-25 Canon Inc 情報処理装置、情報処理方法、校正治具

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007233971A (ja) * 2006-03-03 2007-09-13 Canon Inc 画像合成方法及び装置
JP2007293412A (ja) * 2006-04-21 2007-11-08 Canon Inc 情報処理方法および装置
JP2008224626A (ja) * 2007-03-15 2008-09-25 Canon Inc 情報処理装置、情報処理方法、校正治具

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
HOFF WILLIAM A: "Fusion of Data from Head-Mounted and Fixed Sensors", AUGMENTED REALITY. 1ST EDITION, 1 January 1999 (1999-01-01), US, XP055971919 *
SATOH KIYOHIDE: "UG +B :ARegistrationFramework Using User, s View,Gyroscope,and Bird, s−Eye View", THE VIRTUAL REALITY SOCIETY OF JAPAN, vol. 10, no. 3, 1 January 2005 (2005-01-01), pages 391 - 400, XP055968982 *

Similar Documents

Publication Publication Date Title
JP4532856B2 (ja) 位置姿勢計測方法及び装置
US20210131790A1 (en) Information processing apparatus, information processing method, and recording medium
JP6878219B2 (ja) 画像処理装置および測距装置
KR102253629B1 (ko) 확장된 동적 범위를 갖는 소형 비전-관성 내비게이션 시스템
EP3301545B1 (en) Computer program, object tracking method, and display device
US20190012799A1 (en) Information processing apparatus, information processing method, and recording medium
CN110031975B (zh) 在车辆中校准增强现实眼镜的方法和系统与增强现实眼镜
JP6972692B2 (ja) 作業機械の周囲監視システム
JP7115276B2 (ja) 運転支援装置、ウェアラブル装置、運転支援システム、運転支援方法およびプログラム
JP2017224984A (ja) プログラム、装置、キャリブレーション方法
JP6669182B2 (ja) 乗員監視装置
KR20210093866A (ko) 정보 처리 장치, 정보 처리 방법 및 프로그램
KR20200136398A (ko) 노광 제어 장치, 노광 제어 방법, 프로그램, 촬영 장치, 및 이동체
US11145112B2 (en) Method and vehicle control system for producing images of a surroundings model, and corresponding vehicle
JP4856291B1 (ja) 表示装置及び制御方法
WO2022202016A1 (ja) 情報処理装置、情報処理方法、記憶媒体
EP3795952A1 (en) Estimation device, estimation method, and computer program product
JPH0449943A (ja) 眼球運動分析装置
JP2009063582A (ja) センサユニット
EP4172723B1 (en) Computer-implemented method for determining a position of a center of rotation of an eye using a mobile device, mobile device and computer program
US20230177781A1 (en) Information processing apparatus, information processing method, and information processing program
US20200357181A1 (en) Method for adjusting and visualizing parameters for focusing an objective lens on an object and system for implementing the method
US20220415193A1 (en) Image processing device, image processing method, and program
US20230120092A1 (en) Information processing device and information processing method
US20210118311A1 (en) Flight route guidance system, flight route guidance device and flight route guidance method

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

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 18550753

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 22774816

Country of ref document: EP

Kind code of ref document: A1