WO2023281587A1 - 情報処理装置、制御方法及び記憶媒体 - Google Patents

情報処理装置、制御方法及び記憶媒体 Download PDF

Info

Publication number
WO2023281587A1
WO2023281587A1 PCT/JP2021/025327 JP2021025327W WO2023281587A1 WO 2023281587 A1 WO2023281587 A1 WO 2023281587A1 JP 2021025327 W JP2021025327 W JP 2021025327W WO 2023281587 A1 WO2023281587 A1 WO 2023281587A1
Authority
WO
WIPO (PCT)
Prior art keywords
field
candidate
coordinate system
feature point
information
Prior art date
Application number
PCT/JP2021/025327
Other languages
English (en)
French (fr)
Inventor
亮介 坂井
康敬 馬場崎
Original Assignee
日本電気株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電気株式会社 filed Critical 日本電気株式会社
Priority to JP2023532886A priority Critical patent/JPWO2023281587A5/ja
Priority to PCT/JP2021/025327 priority patent/WO2023281587A1/ja
Publication of WO2023281587A1 publication Critical patent/WO2023281587A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods

Definitions

  • the present invention relates to the technical field of an information processing device, a control method, and a storage medium that perform processing related to spatial comprehension in Augmented Reality (AR).
  • AR Augmented Reality
  • Patent Literature 1 describes a technique of estimating the position of each feature point in a field and performing AR calibration based on the estimation results in order to realize AR in watching sports.
  • the accuracy of extracting feature points affects the accuracy of subsequent processing such as calibration.
  • it is required to accurately estimate the position of the target field in a coordinate system based on the display device that implements AR.
  • one of the main objects of the present disclosure is to provide an information processing device, a control method, and a storage medium capable of accurately estimating a target field in a coordinate system based on a display device. one.
  • One aspect of the information processing device is Feature point information acquisition means for acquiring feature point information indicating pairs of candidate positions and candidate labels for feature points of the field, which are determined based on an image including at least part of a target field; Based on at least two of said sets and structural data relating to the structure of said fields, candidate fields representing candidates for said fields in a first coordinate system, which is a coordinate system based on which a display device having a camera for capturing said image is based.
  • One aspect of the control method is the computer Obtaining feature point information indicating sets of candidate positions and candidate labels for feature points of the field determined based on an image including at least a portion of the field of interest; Based on at least two of said sets and structural data relating to the structure of said fields, candidate fields representing candidates for said fields in a first coordinate system, which is a coordinate system based on which a display device having a camera for capturing said image is based. generate and determining an estimated field representing the estimated field in the first coordinate system based on the generated plurality of candidate fields; control method.
  • One aspect of the storage medium is Obtaining feature point information indicating sets of candidate positions and candidate labels for feature points of the field determined based on an image including at least a portion of the field of interest; Based on at least two of said sets and structural data relating to the structure of said fields, candidate fields representing candidates for said fields in a first coordinate system, which is a coordinate system based on which a display device having a camera for capturing said image is based. generate and A storage medium storing a program for causing a computer to execute a process of determining an estimated field representing the field estimated in the first coordinate system based on the plurality of generated candidate fields.
  • FIG. 1 is a schematic configuration diagram of a display device according to a first embodiment;
  • FIG. An example of the data structure of structure data is shown.
  • 4 is a block diagram showing a functional configuration of a control unit;
  • FIG. (A) is a first label definition example of structural feature points when the target field is a tennis court.
  • (B) is a second label definition example of structural feature points when the target field is a tennis court.
  • (A) is a first label definition example of structure feature points when the target field is a pool.
  • B) A second label definition example of structure feature points when the target field is a pool. It is an example of a functional block of a field estimator. It is an example of a functional block of an incorrect label detection unit.
  • FIG. 10 shows the positional relationship between the device coordinate system and the field coordinate system after adjustment so that the axes in the height direction of the device coordinate system and the field coordinate system are parallel to each other.
  • FIG. 3 is a diagram showing the shooting position of the camera, the captured image, and the target field in the device coordinate system and the field coordinate system;
  • Fig. 10 shows the results of clustering the six generated candidate fields in the device coordinate system; It is a diagram clearly showing floats designated as structural feature points among the ropes provided in the pool.
  • FIG. 10 is a diagram showing, in the device coordinate system, estimated positions of the target field obtained by optimization processing based on feature point candidate positions excluding error feature point candidate positions;
  • FIG. 10 is a diagram showing, in the device coordinate system, estimated positions of the target field obtained by optimization processing based on feature point candidate positions excluding error feature point candidate positions;
  • FIG. 4 is a diagram showing an isotropic optimization solution and an anisotropic optimization solution of a target field on the xz plane of the device coordinate system;
  • (A) is a diagram clearly showing feature point candidate positions along with candidate label numbers on a field estimation surface based on the first field estimation information when the target field is a tennis court.
  • (B) A diagram clearly showing pairs of feature point candidate positions and candidate label numbers after candidate label correction on a field estimation plane based on the first field estimation information.
  • 6 is an example of a flow chart showing an outline of processing related to display processing of a virtual object executed by a control unit in the first embodiment; It is an example of a flowchart showing a detailed processing procedure of calibration processing.
  • FIG. 11 is an example of a flowchart showing details of a first field estimation process; FIG. It is an example of a flowchart showing details of label correction processing.
  • 1 shows the configuration of a display system according to a second embodiment; It is a block diagram of the server apparatus in 2nd Embodiment. It is an example of a flowchart showing a processing procedure executed by a control unit of a server device in the second embodiment.
  • 1 shows a schematic configuration of an information processing apparatus according to a third embodiment; It is an example of a flow chart in a 3rd embodiment.
  • FIG. 11 shows a schematic configuration of an information processing apparatus according to a fourth embodiment; FIG. It is an example of the flowchart in 4th Embodiment.
  • FIG. 1 is a schematic configuration diagram of a display device 1 according to the first embodiment.
  • the display device 1 is a device that can be worn by a user, and is, for example, a see-through type configured in the form of spectacles, and is configured to be wearable on the user's head.
  • the display device 1 realizes Augmented Reality (AR) by superimposing and displaying visual information on actual scenery when watching a sports game or a play (including a concert).
  • AR Augmented Reality
  • the above visual information is a two-dimensional or three-dimensional virtual object, hereinafter also referred to as a "virtual object".
  • the display device 1 may display the virtual object only for one eye of the user, or may display the virtual object for both eyes.
  • target field there is a field or structure (hereafter also referred to as a "target field") where sports, plays, etc. are held.
  • a virtual object that serves as additional information for assistance is superimposed on or around the target field.
  • the target field is, for example, a field targeted for watching sports (for example, a tennis court, a swimming pool, a stadium, etc.), or a field targeted for watching a play (for example, a theater, a concert hall, a multipurpose hall, various stages, etc.). Applicable.
  • the target field has a plurality of structural (that is, characteristic in shape) feature points (also called “structural feature points").
  • the target field functions as a reference in calibrating the display device 1 .
  • Virtual objects are, for example, a score board displayed above the tennis court in the case of tennis, a world record line superimposed in real time on the swimming pool in the case of swimming, and displayed superimposed on the stage at the theater. Including virtual performers, etc.
  • the display device 1 includes a light source unit 10, an optical element 11, a communication section 12, an input section 13, a storage section 14, a camera 15, a position/orientation detection sensor 16, and a control section 17.
  • the light source unit 10 has a light source such as a laser light source or an LCD (Liquid Crystal Display) light source, and emits light based on a drive signal supplied from the control section 17 .
  • the optical element 11 has a predetermined transmittance, transmits at least part of external light to enter the user's eyeball, and reflects at least part of the light from the light source unit 10 toward the user's eyeball. do. As a result, the virtual image corresponding to the virtual object formed by the display device 1 is superimposed on the landscape and viewed by the user.
  • the optical element 11 may be a half mirror whose transmittance and reflectance are substantially equal, or may be a mirror whose transmittance and reflectance are not equal (a so-called beam splitter).
  • the communication unit 12 exchanges data with external devices. For example, when the user uses the display device 1 for watching sports or watching a play, the communication unit 12 controls the display device 1 from a server device managed by the promoter based on the control of the control unit 17. Receive information about virtual objects.
  • the input unit 13 generates an input signal based on the user's operation and transmits it to the control unit 17 .
  • the input unit 13 is, for example, a button, a cross key, a voice input device, or the like for the user to give an instruction to the display device 1 .
  • the camera 15 Under the control of the control unit 17 , the camera 15 generates an image of the front of the display device 1 and supplies the generated image (also referred to as “captured image Im”) to the control unit 17 .
  • the position and orientation detection sensor 16 is a sensor (sensor group) that detects the position and orientation (orientation) of the display device 1, and includes, for example, a positioning sensor such as a GPS (Global Positioning Satellite) receiver, a gyro sensor, an acceleration sensor, It also includes an orientation detection sensor such as an IMU (Inertial Measurement Unit) that detects changes in the relative orientation of the display device 1 .
  • the position/orientation detection sensor 16 supplies the generated detection signal regarding the position and orientation of the display device 1 to the control unit 17 .
  • the control unit 17 detects the amount of change in the position and orientation from when the display device 1 is started, based on the detection signal supplied from the position and orientation detection sensor 16 .
  • control unit 17 instead of detecting the position of the display device 1 from the positioning sensor, the control unit 17 specifies the position of the display device 1 based on signals received from, for example, a beacon terminal or a wireless LAN device provided at the venue. good too. In another example, the control unit 17 may identify the position of the display device 1 based on a known position estimation technique using AR markers. In these cases, the position/orientation detection sensor 16 may not include a positioning sensor.
  • the control unit 17 has a processor such as a CPU (Central Processing Unit) or a GPU (Graphics Processing Unit), a volatile memory that functions as a working memory of the processor, and the like, and performs overall control of the display device 1. .
  • a processor such as a CPU (Central Processing Unit) or a GPU (Graphics Processing Unit), a volatile memory that functions as a working memory of the processor, and the like, and performs overall control of the display device 1. .
  • the control unit 17 performs calibration processing for associating the real world space with the space recognized by the display device 1 based on the structural feature points of the target field recognized from the captured image Im at the display timing of the virtual object. I do.
  • the control unit 17 converts the coordinate system of the three-dimensional space based on the display device 1 (also referred to as “device coordinate system”) to the coordinate system of the three-dimensional space based on the target field (“ field coordinate system”).
  • the device coordinate system is an example of the "first coordinate system”
  • the field coordinate system is an example of the "second coordinate system”. Details of the calibration process will be described later.
  • control unit 17 generates a drive signal for driving the light source unit 10 based on the coordinate transformation information and the like, and supplies the drive signal to the light source unit 10 to display the virtual object on the light source unit 10.
  • the light for display also referred to as “display light”
  • display light is emitted to the optical element 11 .
  • the storage unit 14 is a non-volatile memory that stores various information necessary for the control unit 17 to control the display device 1 .
  • the storage unit 14 may include a removable storage medium such as flash memory.
  • the storage unit 14 also stores a program executed by the control unit 17 .
  • the storage unit 14 also has a sensor data storage unit 20, a parameter storage unit 21, and a structure data storage unit 22.
  • the sensor data storage unit 20 stores the imaged image Im generated by the camera 15 and the position and orientation of the display device 1 from the time the device coordinate system was set when the imaged image Im was generated (for example, when the display device 1 is activated).
  • change amount also referred to as “position/orientation change amount Ap”.
  • the control unit 17 constantly calculates the amount of change in the current position and orientation based on the position and orientation when the device coordinate system was set, based on the detection signal of the position and orientation detection sensor 16 . Then, when the captured image Im generated by the camera 15 is stored in the sensor data storage unit 20, the control unit 17 associates the position/orientation change amount Ap calculated when the captured image Im is generated with the captured image Im to Stored in the data storage unit 20 .
  • control unit 17 causes the sensor data storage unit 20 to store a combination of the most recent captured image Im and the position/orientation change amount Ap for a predetermined time period or a predetermined number. Information stored in the sensor data storage unit 20 is used in calibration processing.
  • the parameter storage unit 21 is an inference device (also referred to as a “feature extractor”) used when extracting the position information of the structure feature points of the target field and the classification information of the structure feature points from the captured image Im in the calibration process. store the parameters of For example, when the captured image Im is input, the above-described feature extractor is trained to output positional information of the structural feature points in the image for each classification (ie label) of the structural feature points to be extracted. learning model.
  • the positional information described above may be map information on the image that indicates the reliability of each coordinate value of the structural feature point, and is a coordinate value that indicates the position of the structural feature point in the image in units of pixels or subpixels. There may be.
  • the top m (m is an integer equal to or greater than 1) whose reliability exceeds a certain threshold for each classification of structural feature points are adopted as the positions of structural feature points.
  • the integer m is "1" in the examples of FIGS. 4A and 5A described later, and is "2" in the examples of FIGS. 4B and 5B described later.
  • the learning model used for learning the feature extractor may be a learning model based on a neural network, may be another type of learning model such as a support vector machine, or may be a combination thereof. .
  • the parameter storage unit 21 stores information such as the layer structure, the neuron structure of each layer, the number and size of filters in each layer, and the weight of each element of each filter. Stores various parameters.
  • the parameter storage unit 21 stores parameters related to the camera 15 necessary for displaying the virtual object, such as the focal length of the camera 15, internal parameters, principal points, and size information of the captured image Im.
  • the structure data storage unit 22 stores structure data that is data relating to the structure of the target field.
  • FIG. 2 shows an example of the data structure of structural data.
  • the structure data has size information, registered feature point information, and anisotropic information.
  • the size information is information about the size of the target field.
  • the registered feature point information is information relating to the structural feature points of the target field, and includes individual information for each structural feature point measured in advance.
  • the registered feature point information is information corresponding to each of these N structure feature points (first registered feature points information to N-th registered feature point information).
  • the registered feature point information includes at least a label indicating the classification of the target structural feature point and registered position information indicating the position of the target structural feature point in the field coordinate system.
  • the registered position information is coordinate information represented by the field coordinate system, and is set so that, for example, the position of any structural characteristic point becomes the origin.
  • the registered feature point information is used in calibration processing. Note that the length between any two structural feature points can be calculated based on the coordinate values indicated by the registered position information.
  • the anisotropy information is information about the anisotropy of the displacement over time of the structural feature points of the target field.
  • the anisotropic information is, for example, information indicating the direction in which the structure feature point of the target field is displaced over time and/or the direction in which it is difficult to displace (and the degree thereof). These directions may be represented, for example, by vectors in the field coordinate system, and are specified based on the positional relationship between structural feature points, such as "direction from structural feature point A to structural feature point B". good too.
  • the structural data may include information specifying a structural characteristic point as the origin in the field coordinate system and information specifying each direction of each of the three axes of the field coordinate system.
  • the configuration of the display device 1 shown in FIG. 1 is an example, and various modifications may be made to this configuration.
  • the display device 1 may further include a speaker that outputs audio under the control of the controller 17 .
  • the display device 1 may also include a line-of-sight detection camera for changing whether or not a virtual object is displayed and the display position of the virtual object according to the line-of-sight position of the user.
  • the storage unit 14 does not have to have the sensor data storage unit 20 .
  • the control unit 17 performs calibration processing using the captured image Im immediately obtained from the camera 15 and the position/orientation change amount Ap calculated based on the detection signal of the position/orientation detection sensor 16 .
  • the display device 1 does not need to detect the position of the display device 1 by the position/orientation detection sensor 16 or the like.
  • the position/orientation detection sensor 16 is configured by a sensor that detects the orientation of the display device 1, and the control unit 17 detects only the amount of change in the orientation of the display device 1 from the setting of the device coordinate system. It may be calculated as the posture change amount Ap.
  • FIG. 3 is a block diagram showing the functional configuration of the control section 17.
  • the control unit 17 functionally includes a virtual object acquisition unit 41, a feature extraction unit 42, a coordinate conversion information generation unit 43, a reflection unit 44, and a light source control unit 45. have.
  • the blocks that exchange data are connected by solid lines, but the combinations of blocks that exchange data are not limited to those shown in FIG. The same applies to other functional block diagrams to be described later.
  • the virtual object acquisition unit 41 acquires information (also referred to as "designated display information Id") that designates a virtual object that is to be superimposed and displayed as a virtual object on the scenery and its display position.
  • the virtual object may be information for drawing a two-dimensional object (two-dimensional drawing information) or information for drawing a three-dimensional object (three-dimensional drawing information).
  • the virtual object acquisition unit 41 designates distribution information to be delivered in a push-type or pull-type manner from the server device at a predetermined timing. Acquired as display information Id.
  • the specified display information Id includes information specifying the display position (for example, information indicating coordinate values in the field coordinate system) in addition to the virtual object.
  • information indicating combinations of virtual objects, display positions, and their display conditions may be stored in advance in the storage unit 14 .
  • the virtual object obtaining unit 41 determines that the stored display conditions are satisfied, it obtains the combination of the virtual object and the display position corresponding to the satisfied display conditions as the specified display information Id.
  • the feature extraction unit 42 generates feature point information "IF" based on the captured image Im acquired from the sensor data storage unit 20.
  • the feature extraction unit 42 inputs the captured image Im (for example, the latest captured image Im) to the feature extractor configured based on the parameters extracted from the parameter storage unit 21, and extracts the feature from the information output by the feature extractor.
  • Generate point information IF For example, the latest captured image Im
  • the feature extractor outputs the position (for example, coordinate values) of the structural feature point in the input captured image Im for each label indicating the classification of the structural feature point
  • the feature extraction unit 42 outputs the above-described
  • the position of the structure feature point in the captured image Im is set as a candidate position of the structure feature point (also referred to as a “candidate position of feature point”), and the label corresponding to the position is a candidate of the label (also referred to as a “candidate label”).
  • feature point information IF indicating a plurality of combinations of . Note that when the feature extractor outputs a normalized value that does not depend on the image size as the coordinate value of the structural feature point, the feature extraction unit 42 multiplies the coordinate value by the image size of the captured image Im.
  • feature point candidate positions are calculated.
  • the coordinate transformation information generation unit 43 generates the structure data extracted from the structure data storage unit 22, the feature point information IF, the position/orientation change amount Ap at the time of generation of the captured image Im for which the feature extraction was performed, the parameters of the camera 15, and the like. , the coordinate conversion information “Ic” between the device coordinate system and the field coordinate system is generated.
  • the coordinate conversion information Ic is, for example, a combination of rotation matrix and translation vector generally used for coordinate conversion between three-dimensional spaces.
  • the coordinate conversion information Ic is not limited to information used when converting the field coordinate system to the device coordinate system, and may be information used when converting the device coordinate system to the field coordinate system. good.
  • the rotation matrix and translation vector for transforming from the field coordinate system to the device coordinate system are the rotation matrix (inverse matrix of the above-mentioned rotation matrix) and translation vector (code can be converted to the inverted translation vector described above).
  • the coordinate transformation information generation unit 43 also has a field estimation unit 46 .
  • a field estimation unit 46 estimates the position of the target field in the device coordinate system. The estimation method by the field estimation unit 46 will be described later.
  • the coordinate transformation information generation unit 43 generates coordinate transformation information Ic based on the position of the target field in the device coordinate system estimated by the field estimation unit 46 and the position of the target field in the field coordinate system indicated by the structural data storage unit 22. do.
  • the reflecting unit 44 reflects the coordinate transformation information Ic supplied from the coordinate transformation information generating unit 43 in the specified display information Id supplied from the virtual object acquiring unit 41, thereby creating a virtual object to be projected onto the optical element 11. generates a display signal "Sd" shown.
  • the reflecting unit 44 matches the device coordinate system with the field coordinate system by the coordinate conversion information Ic, and then generates the display signal Sd based on the designated display information Id.
  • the light source control unit 45 Based on the display signal Sd supplied from the reflection unit 44, the light source control unit 45 generates a drive signal that instructs the drive timing and light amount for driving the light sources of the light source unit 10 (for example, each light source corresponding to RGB). and supplies the generated drive signal to the light source unit 10 .
  • each process that is, the process of the reflection unit 44 and the light source control unit 45
  • the method may display a virtual object that superimposes the virtual object on the desired scene position.
  • documents disclosing such technology there are Japanese Patent Laying-Open Nos. 2015-116336 and 2016-525741.
  • the display device 1 performs user line-of-sight detection and the like, and performs control so that virtual objects are appropriately viewed.
  • each component of the virtual object acquisition unit 41, the feature extraction unit 42, the coordinate transformation information generation unit 43, the reflection unit 44, and the light source control unit 45 described with reference to FIG. can. Further, each component may be realized by recording necessary programs in an arbitrary nonvolatile storage medium and installing them as necessary. Note that at least part of each of these components may be realized by any combination of hardware, firmware, and software, without being limited to being implemented by program software. Also, at least part of each of these components may be implemented using a user-programmable integrated circuit, such as an FPGA (Field-Programmable Gate Array) or a microcontroller. In this case, this integrated circuit may be used to implement a program composed of the above components.
  • FPGA Field-Programmable Gate Array
  • each component may be configured by an ASSP (Application Specific Standard Produce), an ASIC (Application Specific Integrated Circuit), or a quantum processor (quantum computer control chip).
  • ASSP Application Specific Standard Produce
  • ASIC Application Specific Integrated Circuit
  • quantum processor quantum computer control chip
  • FIG. 4A shows a first example of label definition of structure feature points when the target field is a tennis court
  • FIG. 11B is a second label definition example of structural feature points in the case of a court
  • FIGS. 4(A) and 4(B) the positions of the structural feature points are marked with circles and corresponding label numbers.
  • serial numbers from 0 to 13 are attached as labels to each structure feature point in order from the corners of the 14 structure feature points.
  • the same label is attached to symmetric structural feature points.
  • each label from 0 to 5 is attached to two structural feature points at symmetrical positions.
  • FIG. 5(A) is a first label definition example of the structural feature point when the target field is a pool
  • FIG. 5(B) is a second label definition example of the structural feature point when the target field is a pool. This is an example of label definition.
  • the positions of the structural feature points are marked with circles and corresponding label numbers.
  • floats of a predetermined color provided at predetermined intervals on ropes defining the course are selected as structural feature points.
  • each label from 0 to 24 is attached as a label to each structural feature point in order from the corner of the 25 structural feature points.
  • the same label is attached to symmetric structural feature points.
  • each label from 0 to 11 is attached to two structural feature points at symmetrical positions.
  • the field estimator 46 functionally includes a feature point error detector 51, a first field estimator 52, a label corrector 53, and a second field estimator .
  • each component of the field estimation unit 46 includes the position/orientation change amount Ap stored in the sensor data storage unit 20 and camera parameters (internal parameters , including the size of the captured image Im).
  • the feature point error detection unit 51 Based on the feature point information IF supplied from the feature extraction unit 42 and the structure data stored in the structure data storage unit 22, the feature point error detection unit 51 detects feature point candidates representing the extraction result of an erroneous structural feature point. Positions (also called “error feature point candidate positions”) are detected. In this case, the feature point error detection unit 51 may perform processing to make the vertical axes of the field coordinate system and the device coordinate system parallel based on the output signal of the acceleration sensor 160 included in the position/orientation detection sensor 16. good. Then, the feature point error detection unit 51 supplies the detection result of the error feature point candidate position to the first field estimation unit 52 and the label correction unit 53 .
  • the first field estimation section 52 Based on the feature point information IF, the detection result of the error feature point candidate position by the feature point error detection section 51, and the structural data stored in the structural data storage section 22, the first field estimation section 52 performs Estimate the position of the target field. Specifically, as will be described later, the first field estimation unit 52 considers the anisotropic displacement when the structure feature points of the target field are displaced anisotropically (biased in a certain direction). , we determine the estimated position of the field of interest in the device coordinate system. In this case, the first field estimator 52 may perform a process of making the vertical axes of the field coordinate system and the device coordinate system parallel based on the output signal of the acceleration sensor 160 .
  • the estimated position of the target field in the device coordinate system calculated by the first field estimation unit 52 is a provisional estimated position for use in processing by the label correction unit 53, and the final estimated position of the target field is , is determined by the second field estimator 54 .
  • the first field estimation unit 52 supplies information indicating the estimated position of the target field (also referred to as “first field estimation information”) to the label correction unit 53 .
  • the label correction unit 53 Based on the first field estimation information supplied from the first field estimation unit 52, the feature point information IF, and the structure data stored in the structure data storage unit 22, the label correction unit 53 generates candidates for the feature point information IF. Correct the label. In this case, the label correcting unit 53 modifies the candidate label of the error feature point candidate positions so that the error feature point candidate positions (also referred to as “label error feature point candidate positions”) indicating the positions of the correct structure feature points are corrected. Perform processing to change the candidate label of . Then, the label correcting section 53 supplies the second field estimating section 54 with feature point information IF in which the candidate label of the label error feature point candidate position is changed.
  • the second field estimation unit 54 estimates the position of the target field based on the feature point information IF that reflects the correction by the label correction unit 53 and the structure data stored in the structure data storage unit 22.
  • the estimated position of the target field by the second field estimation unit 54 reflects the processing results of the feature point error detection unit 51, the first field estimation unit 52, and the label correction unit 53. This is the estimated position of the target field that the unit 46 finally outputs.
  • the information indicating the estimated position of the target field by the second field estimator 54 will also be referred to as "second field estimation information”. Then, based on the second field estimation information output by the second field estimation section 54, the coordinate conversion information Ic is generated.
  • FIG. 7 shows an example of functional blocks of the feature point error detector 51.
  • FIG. Feature point error detection section 51 functionally includes axis adjustment section 510 , candidate field generation section 511 , estimated field determination section 512 , and incorrect label detection section 513 .
  • the axis adjustment unit 510 recognizes the vertical direction in the device coordinate system based on the output signal of the acceleration sensor 160. Based on the recognized vertical direction, the axis adjustment unit 510 adjusts the vertical axes of the device coordinate system and the field coordinate system so that they are parallel to each other.
  • the candidate field generation unit 511 uses two of the feature point candidate positions indicated by the feature point information IF to perform a process of generating candidates representing the target field in the device coordinate system (also referred to as “candidate fields”) multiple times. do.
  • the candidate field generator 511 may generate n candidate fields from n sets (pairs) of feature point candidate positions randomly selected n times (where n is an integer of 3 or more).
  • a candidate field may be generated from the set of feature point candidate locations.
  • the candidate field generation unit 511 identifies, as candidate fields, for example, the estimated position of the structural feature point in the device coordinate system for each label and the estimated plane of the target field in the device coordinate system.
  • the candidate field generation unit 511 generates a total of N C 2 ⁇ 2 Create a candidate field.
  • M is an integer of 3 or more
  • the minimum estimated number of candidate fields when N structure feature points are given is differs depending on the symmetry of the label definition, etc. Specifically, without considering processing efficiency, the minimum estimated number of candidate fields is N C 2 ⁇ M ⁇ M.
  • M C 2 ⁇ 2 Supplementary explanation of the generation of candidate fields is provided.
  • the labels 0 and 1 in FIG. 4B are set as a pair (hereafter referred to as (0,1))
  • the field estimation result (candidate field) when (0, 1) is converted to (0, 1) or (13, 12) is 180 ° rotated and substantially the same. The same is true when (0, 1) is converted to (0, 12) or (13, 1).
  • the second label definition example which is a point-symmetrical label
  • two labels are converted by fixing one label before conversion (for example, when 0 is fixed, (0, 1) and (0, It is necessary and sufficient to estimate the candidate fields of 12).
  • the estimated field determination unit 512 determines, from a plurality of candidate fields, a target field (also called an "estimated field") in the device coordinate system that is finally output as an estimation result.
  • the estimated field determination unit 512 clusters the candidate fields and determines the estimated fields from the candidate fields belonging to the main cluster to which the number of candidate fields to which the candidate fields belong is the largest.
  • the estimated field determiner 512 determines estimated positions (and estimated planes of the target field) of structural feature points for each label of the target field in the device coordinate system.
  • the erroneous label detection unit 513 determines error feature point candidate positions based on the estimated field determined by the estimated field determination unit 512 .
  • the erroneous label detection unit 513 estimates each feature point candidate position based on the shooting position in the device coordinate system specified based on the position/orientation change amount Ap and the parameters of the camera 15 (including internal parameters). The point projected onto the field is recognized as each feature point candidate position in the device coordinate system. Then, the erroneous label detection unit 513 compares the position of the structural feature point in the estimated field with the feature point candidate position in the device coordinate system for each label, and detects the feature point candidate position that is greater than or equal to a predetermined distance as an error feature point. Determine as a candidate position.
  • a preset matching value is stored in the storage unit 14 or the like.
  • a predetermined threshold value for example, 5
  • the field estimation unit 46 terminates the estimation and determines that the estimation of the target field has failed. do. In this case, the field estimation unit 46 executes field estimation processing based on the newly acquired captured image Im.
  • FIG. 8 shows the positional relationship between the device coordinate system and the field coordinate system after adjustment so that the axes in the height direction of the device coordinate system and the field coordinate system are parallel.
  • the target field is a tennis court
  • the field coordinate system has respective axes in the lateral direction and longitudinal direction of the tennis court and in the vertical directions thereof.
  • the three axes of the device coordinate system will be x, y, and z
  • the three axes of the field coordinate system will be x ⁇ , y, and z.
  • the axis adjustment unit 510 moves at least one of the device coordinate system and the field coordinate system so that the y-axis of the device coordinate system and the y-axis of the field coordinate system are parallel based on the output signal of the acceleration sensor 160.
  • the axis adjustment unit 510 rotates the device coordinate system so that the y-axis of the device coordinate system is parallel to the vertical direction.
  • the axis adjustment unit 510 adjusts the y-axis of the device coordinate system and the y ⁇ -axis of the field coordinate system to the vertical direction. Rotate both the device coordinate system and the field coordinate system by appropriate angles so that they are parallel.
  • the axis adjustment unit 510 is not an essential component of the feature point error detection unit 51.
  • the candidate field generation section 511 may generate candidate fields from three (or four or more) feature point candidate positions.
  • candidate field generation processing by the candidate field generation unit 511 will be specifically described with reference to FIG.
  • FIG. 9 is a diagram showing the shooting position of the camera 15, the captured image Im, and the target field in the device coordinate system and the field coordinate system.
  • the y-axis of the device coordinate system and the y ⁇ -axis of the field coordinate system are adjusted to be parallel, and these axes are shifted by an offset "Y".
  • the candidate field generation unit 511 calculates the offset Y and the angle between the x-axis and the x ⁇ -axis (or the angle between the z-axis and the z-axis) from two arbitrary feature point candidate positions.
  • Candidate fields can be determined by asking.
  • FIG. 9 shows an overview of the process of generating candidate fields from two feature point candidate positions of label numbers 6 and 7 based on the first label definition example shown in FIG. 4(A).
  • the distance between the two feature point candidate positions of label number 6 and label number 7 can be specified by referring to the structural data.
  • the candidate field generation unit 511 generates the photographing position (including the photographing direction) of the camera 15 in the device coordinate system, the parameters of the camera 15, and the feature point candidate positions in the captured images Im having the label numbers 6 and 7. , and the distance indicated by arrow 90, determine candidate fields.
  • the shooting position (including the shooting direction) of the camera 15 in the device coordinate system is specified based on the position/orientation change amount Ap.
  • the candidate field generation unit 511 needs to execute the process of determining candidate fields from sets of feature point candidate positions multiple times, but these processes can be calculated in parallel by matrix processing. Therefore, the candidate field generation unit 511 can calculate candidate fields for each of the generated sets of feature point candidate positions by parallel processing.
  • the estimated field determination unit 512 clusters candidate fields by using an arbitrary clustering method.
  • clustering methods include, but are not limited to, the single link method, perfect link method, group average method, Ward method, centroid method, weighted method, and median method.
  • the estimated field determining unit 512 determines, for example, the three-dimensional barycentric coordinates of each candidate field in the device coordinate system and the angle representing the orientation on the xz plane (in the case of a tennis court, the longitudinal direction or the lateral direction).
  • the clustering described above is performed based on the four-dimensional coordinate values (vectors) of the direction).
  • the barycentric coordinates of the estimated positions in the device coordinate system of the structure feature points of all the labels forming the candidate field are calculated.
  • the above-mentioned four-dimensional coordinate values are the six-dimensional coordinates of the three-dimensional barycentric coordinates and Euler angles (yaw, pitch, roll) in the device coordinate system of each candidate field. It becomes a coordinate value.
  • FIG. 10 is a diagram showing the result of clustering the generated six candidate fields "C1" to "C6" in the device coordinate system.
  • estimation field determination section 512 classifies candidate fields into first cluster CL1, second cluster CL2, and third cluster CL3 by using an arbitrary clustering method.
  • the first cluster CL1 is the main cluster, to which the four candidate fields C1, C3, C4, C6 with the most number belong.
  • the second cluster CL2 consists of the candidate field C2
  • the third cluster CL3 consists of the candidate field C5.
  • the estimated field determining unit 512 determines that the candidate field belonging to the first cluster CL1, which is the main cluster, is the correct estimation result of the target field, and selects the estimated field based on the candidate fields C1, C3, C4, and C6. decide. For example, the estimated field determining unit 512 calculates the center of gravity (mean vector) of the four-dimensional coordinate values of each of the candidate fields belonging to the main cluster, and estimates the candidate field corresponding to the four-dimensional coordinate value closest to the center of gravity. Select as field. In another example, the estimated field determination unit 512 determines the average of the candidate fields belonging to the main cluster (including the weighted average according to the distance from the centroid described above), other statistical processing, or the structural feature points specified from the structural data.
  • the estimated field determining unit 512 determines that the candidate field belonging to the first cluster CL1, which is the main cluster, is the correct estimation result of the target field, and selects the estimated field based on the candidate fields C1, C3, C4, and C6. decide. For example, the estimated field
  • An estimated field that integrates candidate fields belonging to the main cluster may be determined based on analytical processing such as the method of least squares using the positional relationship (that is, the model of the target field).
  • the estimated field determination unit 512 sets, for example, a model or a constraint condition representing the positional relationship (distance) between the structural feature points of the target field indicated by the structure data, and sets the structural feature points of the estimated field for each label. and the point cloud of the feature point candidate positions of the candidate field belonging to the main cluster. good.
  • the estimated field determination unit 512 may determine a candidate field randomly selected from the candidate fields belonging to the main cluster as the estimated field.
  • the estimated field determination unit 512 determines estimated fields based on the integration or selection of candidate fields belonging to the main cluster.
  • a case of estimating plausible structural feature points and labels based on RANSAC will be considered.
  • a set (pair) of suitable feature point candidate positions that enables field estimation is randomly selected from all the structure feature points, and a pair of position and label of the structure feature point that seems to be a true value is selected. identify.
  • the target field is estimated by optimization such that as many feature point candidate positions as possible match the estimated positions of the structural feature points. In this case, there is a problem that the amount of calculation for one trial is large, and the processing time is long depending on the required correctness accuracy.
  • the feature point error detection unit 51 calculates candidate fields based on a set of a plurality of feature point candidate positions, and then determines an estimated field by clustering. As a result, the feature point error detection unit 51 can perform parallel processing of the candidate fields, and can shorten the processing time compared to the comparative example using RANSAC. In addition, the feature point error detection unit 51 can obtain an accurate target field estimation result by excluding feature point candidate positions that have been erroneously extracted.
  • the first field estimation unit 52 performs optimization in consideration of the anisotropic displacement. determine the estimated position of
  • the target field in which structural feature points are displaced anisotropically (biased in a certain direction) is, for example, the (competition) pool shown in FIGS. 5(A) and 5(B).
  • An object field with such properties can be regarded as a quasi-rigid body with quasi-rigid properties.
  • Fig. 11 is a diagram clearly showing floats designated as structural feature points among the ropes provided in the pool.
  • floats that are structural feature points are hatched.
  • the floats provided on the ropes are difficult to move in the direction in which the ropes are arranged (ie, the lateral direction of the pool), but are easy to move in the direction in which the ropes extend (ie, the longitudinal direction of the pool).
  • the first field estimation unit 52 performs optimization in consideration of the anisotropic displacement in estimating the target field in which the structural feature points are anisotropically displaced over time.
  • FIG. 12 is a diagram showing the estimated position of the target field obtained by the optimization process based on the feature point candidate positions excluding the error feature point candidate positions in the device coordinate system.
  • the target field has, as structure feature points, vertices of each grid (12 vertices in total) when the target field is divided into grids.
  • the first field estimation unit 52 estimates the target field based on the nine feature point candidate positions "P2" to "P7” and "P10" to "P12" excluding the three error feature point candidate positions. Is going.
  • the first field estimator 52 uses the camera 15 parameters (including internal parameters) and the shooting position (including the shooting direction) in the device coordinate system specified based on the position/orientation change amount Ap to determine the device Feature point candidate positions P2 to P7 and P10 to P12 (broken lines shown in FIG. 12) projected onto the coordinate system are identified. Then, the candidate field generating unit 51 refers to the structure data to specify the relative positional relationship (model of the target field) representing the distance between the structural feature points of the target field, and the positions of the specified structural feature points. Feature point candidate positions P2 to P7, P10 to P12 and the entire estimated field in the device coordinate system are determined so that the relationship is maintained.
  • the first field estimating unit 52 assumes that the candidate label of the feature point candidate position to be used is correct and that the distortion caused by the internal parameters of the camera 15 is adjusted. Based on the set of at least some feature point candidate positions and candidate labels indicated by the IF, and the structure data, the target field in the device coordinate system is estimated.
  • FIG. 13 is a diagram showing the isotropic optimization solution and the anisotropic optimization solution of the target field, respectively, on the xz plane of the device coordinate system.
  • an isotropic optimization solution is indicated by a dashed line and an anisotropic optimization solution is indicated by a solid line.
  • the first field estimating unit 52 performs the same processing as the axis adjusting unit 510 (that is, based on the output signal of the acceleration sensor 160), and moves the y-axis of the device coordinate system in the vertical direction direction).
  • the first field estimation unit 52 refers to the anisotropic information, and performs isotropic optimization when determining that the structural feature points of the target field are not anisotropically displaced.
  • the first field estimation unit 52 calculates, for each label, the distance (that is, the error) between the estimated position of the structure feature point of the target field and the feature point candidate position in the device coordinate system, and calculates the distance for each label. is used as an evaluation function, and a solution for the above estimated position that minimizes the evaluation function is calculated.
  • the first field estimator 52 calculates the above-described solution under the condition that the relative positional relationship of each structural characteristic point based on the structural data stored in the structural data storage 22 is satisfied. Note that, for example, the above-described calculation may be performed by the least-squares method, regarding the above-described constraint conditions as a model of the target field.
  • the first field estimation unit 52 refers to the anisotropic information and performs anisotropic optimization when determining that the structural feature points of the target field are anisotropically displaced.
  • the first field estimating unit 52 first calculates, for each label, the distance in the x-axis direction and the z-axis direction between the estimated position of the structure feature point of the target field to be estimated and the feature point candidate position in the device coordinate system. (that is, error) is calculated, and the sum of the distances in the x-axis direction and the sum of the distances in the z-axis direction are calculated.
  • the first field estimator 52 assigns different weighting coefficients to the calculated sum of the distances in the x-axis direction and the sum of the distances in the z-axis direction (the coefficient corresponding to the x-axis is "ax", and the coefficient corresponding to the y-axis is The corresponding coefficient is defined as “ay”).) is set as the evaluation function.
  • These coefficients may be included in the anisotropic information, for example, and the weighting coefficient in the direction of large displacement and the weighting coefficient in the direction of small displacement may be fixed values regardless of the target field. good.
  • the first field estimator 52 calculates a solution of the above estimated position that minimizes the above evaluation function, using the relative positional relationship of each structural feature point based on the structural data as a constraint.
  • the above-described calculation may be performed by the weighted least-squares method, regarding the above-described constraint conditions as a model of the target field.
  • optimization method is an example, and isotropic or anisotropic optimization may be performed for each coordinate axis based on an arbitrary evaluation function.
  • the first field estimation unit 52 refers to the anisotropy information of the structural data, and the structural feature points are likely to move in the x-axis direction (that is, the lateral direction of the target field), and Recognize that structural features are less likely to move in the z-axis direction (ie, the longitudinal direction of the field of interest). Therefore, in the anisotropic optimization, the first field estimator 52 sets the weighting coefficient ax corresponding to the error on the x-axis higher than the weighting coefficient ay corresponding to the error on the y-axis. Determine the estimated position of the field of interest so as to emphasize directional alignment.
  • the estimated position of the target field corresponding to the anisotropic optimization solution (see solid line), compared to the estimated position of the target field corresponding to the isotropic optimization solution (see dashed line), is: There is little deviation in the x-axis direction.
  • the first field estimation unit 52 can accurately estimate the target field by considering the ease of displacement of the structure feature points of the target field for each direction.
  • the first field estimation unit 52 refers to the anisotropy information of the structure data, and if it determines that the structure feature points of the target field are not displaced or that the displacement is isotropic, the above-described The target field is estimated by isotropic optimization.
  • the first field estimation unit 52 supplies the target field estimation result to the label correction unit 53 as first field estimation information.
  • the first field estimation information is, for example, a set of estimated positions and labels of structure feature points in the target field in the device coordinate system, and a target in the device coordinate system specified from the estimated positions of these structure feature points. It is information indicating a field estimation plane (also referred to as a “field estimation plane”).
  • the process of adjusting the y-axis of the device coordinate system so as to be parallel to the vertical direction is not an essential process, and the first field estimation unit 52 does not perform this process.
  • An estimation of the field of interest may be performed by the optimization described above.
  • the first field estimation unit 52 performs the above optimization based on the distance in the three-dimensional space between the estimated position of the structural feature point of the target field and the feature point candidate position in the device coordinate system.
  • the label correction unit 53 corrects the candidate label of the feature point information IF based on the first field estimation information supplied from the first field estimation unit 52 and the feature point information IF. . In the following description, it is assumed that distortion caused by internal parameters of the camera 15 has already been adjusted.
  • FIG. 14(A) is a diagram clearly showing feature point candidate positions along with candidate label numbers on the field estimation surface based on the first field estimation information when the target field is a tennis court.
  • the first field estimation unit 52 described with reference to FIG. It is assumed that it has been converted to the position of Note that in FIG. 14A, as an example, labels based on the first label definition example of the tennis court shown in FIG. 4A are assigned to each structural characteristic point.
  • error feature point candidate positions are indicated by broken-line circles, and other feature point candidate positions are indicated by solid-line circles.
  • the error feature point candidate positions are the feature point candidate positions corresponding to the candidate labels 7 and 8 .
  • FIG. 14(B) is a diagram clearly showing sets of feature point candidate positions and candidate label numbers after candidate label correction by the first field estimation unit 52 on a field estimation plane based on the first field estimation information.
  • the first field estimation unit 52 compares the set of structural feature points and labels specified based on the first field estimation information with the set of feature point candidate positions and candidate labels indicated by the feature point information IF.
  • the first field estimation unit 52 projects each feature point candidate position indicated by the feature point information IF onto the projected position on the field estimation plane indicated by the first field estimation information (for example, the feature point candidate position P2 in FIG. 12).
  • ⁇ P7, P10 ⁇ P12) are calculated as respective feature point candidate positions in the device coordinate system.
  • the first field estimation unit 52 calculates each feature point candidate position in the device coordinate system in consideration of distortion caused by the internal parameters of the camera 15 and the like.
  • the first field estimation unit 52 calculates the distance between the position of the structure feature point based on the first field estimation information and the feature point candidate position in the device coordinate system corresponding to the same label. is within the predetermined threshold, it is determined that these feature point candidate positions match the first field estimation information (that is, match the position of the structural feature point indicated by the first field estimation information).
  • the predetermined distance described above is, for example, a distance that can be regarded as the same position, and a suitable value is stored in advance in the storage unit 14 or the like.
  • the first field estimation unit 52 determines that the distance between the structural feature point position based on the first field estimation information and the feature point candidate position in the device coordinate system corresponding to the same label is a predetermined threshold value. Determined to be longer. Therefore, in this case, the first field estimation unit 52 determines that these feature point candidate positions do not match the first field estimation information.
  • the first field estimation unit 52 may determine whether each feature point candidate position matches the first field estimation information based on the detection result of the error feature point candidate position by the feature point error detection unit 51. good. In this case, the first field estimation unit 52 determines that the error feature point candidate position detected by the feature point error detection unit 51 does not match the first field estimation information, and the error feature detected by the feature point error detection unit 51 Feature point candidate positions other than point candidate positions are determined to be consistent with the first field estimation information.
  • the first field estimation unit 52 corrects the candidate label among the feature point candidate positions that do not match the first field estimation information (here, the feature point candidate positions of the candidate labels 7 and 8), thereby correcting the candidate label. Further, it is determined whether or not there is a feature point candidate position that matches the estimated information. Then, the first field estimation unit 52 determines that the distance between the feature point candidate position in the device coordinate system of the candidate label 7 and the position of any structural feature point based on the first field estimation information is longer than the above-described predetermined threshold. Therefore, it is determined that the feature point candidate position of the candidate label 7 cannot be corrected by correcting the candidate label.
  • the first field estimation unit 52 makes the distance between the feature point candidate position in the device coordinate system of the candidate label 8 and the position of the structure feature point of the label 7 based on the first field estimation information less than the above-described predetermined threshold. Therefore, it is determined that the feature point candidate position of candidate label 8 can be corrected by correcting the candidate label to 7 (that is, it matches the first field estimation information). Therefore, in this case, the first field estimation unit 52 determines that the feature point candidate position of the candidate label 8 is the label error feature point candidate position, and as shown in FIG. Change the candidate label of the candidate position to 7. As a result, the first field estimator 52 can suitably correct errors in the feature point information IF.
  • the first field estimation unit 52 corrects the candidate label of the label error feature point candidate position whose error can be corrected only by correcting the candidate label, among the feature point candidate positions that do not match the first field estimation information. .
  • the first field estimation unit 52 can appropriately correct the feature point candidate positions.
  • the label correction unit 53 After that, the label correction unit 53 generates second field estimation information by performing the same processing as the first field estimation unit 52, for example, based on the feature point information IF corrected by the first field estimation unit 52.
  • the label correction unit 53 estimates the target field based on the feature point information IF in which the error in the candidate label is appropriately corrected. It is possible to preferably generate the second field estimation information with higher accuracy than the generated first field estimation information.
  • the field estimation unit 46 may determine success or failure of field estimation based on the amount of error and/or the number of structural feature points used after correction by the label correction unit 53, or the like. For example, the field estimation unit 46 stops the field estimation and determines that the field estimation has failed when any of the following (Case A), (Case B), and (Case C) applies.
  • the field estimation unit 46 performs the field estimation process based on the newly acquired captured image Im. Run. Note that by stopping the field estimation in the case of (Case C), if the field estimation is performed using only structural feature points on the same straight line structurally, the accuracy drops significantly compared to other cases. It can prevent performing field estimations that are less accurate. Further, the field estimation unit 46 may determine whether or not (Case A) and (Case B) apply after the estimation processing by the second field transition unit 54, and determine whether or not the executed field estimation has failed.
  • the field estimation unit 46 compares the position of the structure feature point obtained by the feature extraction unit 42 with the structure feature point after field estimation. , and whether or not (Case A) and (Case B) are applicable to the matched structural feature points may be determined.
  • the effect based on the processing of the first field estimation unit 52 will be supplementally explained.
  • feature extraction results may be generated in which only candidate labels are erroneous.
  • the display device 1 can suitably correct the feature extraction result, and can highly accurately perform a calibration process or the like based on the corrected feature extraction result.
  • FIG. 15 is an example of a flow chart showing an overview of the processing related to the virtual object display processing executed by the control unit 17 in the first embodiment.
  • the control unit 17 detects activation of the display device 1 (step S11). In this case, the control unit 17 sets a device coordinate system based on the orientation and position of the display device 1 when the display device 1 is activated (step S12). After that, the control unit 17 obtains the captured image Im generated by the camera 15, and obtains the position/orientation change amount Ap based on the detection signal output by the position/orientation detection sensor 16 (step S13). The control unit 17 stores the combination of the captured image Im and the position/orientation change amount Ap acquired in step S13 in the sensor data storage unit 20 .
  • the control unit 17 determines whether or not there is a request to display the virtual object (step S14).
  • the virtual object acquisition unit 41 determines that there is a request to display a virtual object when receiving delivery information instructing display of a virtual object from a server device (not shown) managed by the promoter. Then, if there is no request to display the virtual object (step S14; No), subsequently in step S13, the captured image Im and the position/orientation change amount Ap are acquired.
  • step S15 if there is a request to display a virtual object (step S14; Yes), the control unit 17 executes calibration processing (step S15). The details of the procedure of this calibration process will be described later with reference to FIG.
  • the reflection unit 44 of the control unit 17 performs a display for displaying the virtual object corresponding to the virtual object and the display position specified in the display request, based on the coordinate transformation information Ic obtained in the calibration process in step S15.
  • a display signal Sd is generated (step S16).
  • the control unit 17 actually recognizes the space visually recognized by the user in the device coordinate system in consideration of the user's line-of-sight direction, position/orientation change amount Ap, etc., as in various conventional AR display products.
  • the display signal Sd is generated so that the virtual object is displayed at the designated position in the space.
  • the light source control section 45 of the control section 17 performs emission control of the light source unit 10 based on the display signal Sd (step S17).
  • the processing procedure of the flowchart shown in FIG. 15 is an example, and various changes can be made to this processing procedure.
  • control unit 17 executes the calibration process in step S15 every time there is a virtual object display request, but the present invention is not limited to this.
  • control unit 17 may perform the calibration process only when a predetermined time or longer has passed since the previous calibration process. In this way, the control unit 17 may perform the calibration process at least once after the display device 1 is activated.
  • control unit 17 determines the device coordinate system based on the position and orientation of the display device 1 when the display device 1 is activated, but is not limited to this. Instead of this, for example, the control unit 17 uses the position and orientation of the display device 1 when a display request is first received after the display device 1 is activated (that is, when the calibration process is performed for the first time) as a reference, A device coordinate system may be determined. In another example, each time a display request is made, the control unit 17 may reset the device coordinate system based on the position and orientation of the display device 1 at the time of the display request (that is, at the time of executing the calibration process). . In this case, there is no need to use the position/orientation change amount Ap in the process of generating coordinate transformation information Ic, which will be described later.
  • FIG. 16 is an example of a flowchart showing the detailed processing procedure of the calibration process in step S15 of FIG.
  • the feature extraction unit 42 of the control unit 17 extracts feature points indicating sets of feature point candidate positions and candidate labels corresponding to each structural feature point of the target field, based on the captured image Im acquired from the sensor data storage unit 20 or the like.
  • An information IF is generated (step S21).
  • the feature extraction unit 42 configures a feature extractor based on parameters acquired from the parameter storage unit 21, and inputs the captured image Im to the feature extractor. Then, the feature extraction unit 42 generates feature point information IF based on the information output by the feature extractor.
  • the field estimation unit 46 of the coordinate transformation information generation unit 43 executes feature point error detection processing (step S22). Details of the feature point error detection process will be described with reference to FIG.
  • the field estimation unit 46 executes a first field estimation process (step S23). Details of the first field estimation process will be described with reference to FIG.
  • the field estimation unit 46 executes label correction processing (step S24). Details of the label correction processing will be described with reference to FIG.
  • the field estimation unit 46 then executes a second field estimation process (step S25).
  • the field estimator 46 generates second field estimation information representing the results of highly accurate estimation of the target field in the device coordinate system based on the error-corrected feature point information IF.
  • the coordinate transformation information generation unit 43 generates coordinate transformation information Ic for transforming from the device coordinate system to the field coordinate system based on the second field estimation information generated by the field estimation unit 46 (step S26).
  • the coordinate conversion information generating unit 43 generates the detected position in the device coordinate system of each structural feature point indicated by the second field estimation information acquired in step S25 for each label of the structural feature point, and the The position of the structural feature point in the field coordinate system indicated by the registered position information is associated with each other and matched, and the matched positions for each label match each other (that is, the positional error for each label is minimized). Coordinate conversion information Ic is calculated.
  • the display device 1 extracts information obtained by extracting only pre-registered structural feature points (that is, already labeled) from the captured image Im in the calibration process, and extracts the structural feature points registered in the structural data. information.
  • the amount of calculation required for the matching process for calculating the coordinate transformation information Ic can be greatly reduced, and the influence caused by the extraction of noise (that is, feature points other than the target field) included in the captured image Im can be reduced. It is possible to calculate robust coordinate transformation information Ic that is not affected.
  • the collation described above is performed based on the estimation information of the structural feature points in which errors in the feature extraction process are preferably corrected, it is possible to accurately calculate the coordinate transformation information Ic.
  • FIG. 17 is an example of a flowchart showing the details of the feature point error detection process executed in step S22.
  • the feature point error detection unit 51 specifies the vertical direction based on the output signal of the acceleration sensor 160 and the like, and based on the specified vertical direction, one axis (y-axis and y ⁇ -axis) of the device coordinate system and the field coordinate system is detected. are parallel to each other (step S31).
  • the feature point error detection unit 51 performs the process of generating candidate fields in the device coordinate system multiple times based on the structure data and the selected two feature point candidate positions (step S32). As a result, candidate fields are generated for the number of times the above process has been executed. Note that the feature point error detection unit 51 may execute the process of generating candidate fields in parallel.
  • the feature point error detection unit 51 clusters the plurality of candidate fields generated in step S32 (step S33). In this case, the feature point error detection unit 51 generates one or more clusters for multiple candidate fields by any clustering method.
  • the feature point error detection unit 51 determines an estimated field based on the candidate field of the main cluster to which the largest number of candidate fields belong (step S34). Then, the feature point error detection unit 51 projects each feature point candidate position onto the estimation field, and compares the projected feature point candidate position and the structure feature point of the estimation field for each label, thereby obtaining an error feature point candidate position. is detected (step S35).
  • FIG. 18 is an example of a flowchart showing the details of the first field estimation process executed in step S23.
  • the first field estimator 52 identifies the vertical direction based on the output signal of the acceleration sensor 160, etc., and calculates one axis (y-axis and y ⁇ -axis) of the device coordinate system and the field coordinate system based on the identified vertical direction. are parallel to each other (step S41). Note that the first field estimator 52 does not need to execute the process of step S41 when one axis of the device coordinate system and the field coordinate system is already parallel based on the process of step S31.
  • the first field estimation unit 52 acquires anisotropic information included in the structural data stored in the structural data storage unit 22 (step S42). Then, the first field estimation unit 52 performs optimization for estimating the target field based on the anisotropy information and a plurality of feature point candidate positions other than the error feature point candidate positions (step S43). In this case, if the first field estimator 52 determines that the structure feature points of the target field are displaced anisotropically based on the anisotropy information, the first field estimator 52 determines the anisotropy (that is, the weight varies depending on the direction). Optimize.
  • the first field estimator 52 determines that the structural feature points of the target field are isotropically displaced based on the anisotropy information, the first field estimator 52 performs isotropic (that is, the weight does not change depending on the direction) optimization. I do. Then, the first field estimator 52 generates first field estimation information representing the estimation result of the target field obtained by the above optimization (step S44).
  • FIG. 19 is an example of a flowchart showing the details of the label correction process executed in step S24.
  • the label correction unit 53 identifies feature point candidate positions in the device coordinate system based on the first field estimation information generated by the first field estimation unit 52 in step S44 (step S51). Then, the label correction unit 53 determines whether or not there is a feature point candidate position that does not match the first field estimation information (step S52). In this case, for example, if there is an error feature point candidate position detected in step S35, the label correction unit 53 determines that there is a feature point candidate position that does not match the first field estimation information. In another example, the label correction unit 53 compares the position and label of each structural feature point specified from the first field estimation information with the feature point candidate position and label in the device coordinate system specified in step S51.
  • step S52 it is determined whether or not the above-described erroneous feature point candidate positions exist. If there is no feature point candidate position that does not match the first field estimation information (step S52; No), the label correction unit 53 terminates the processing of the flowchart because it is not necessary to correct the feature point information IF. .
  • the label correction unit 53 changes the corresponding feature point candidate position from the first field estimation information by changing the corresponding candidate label. It is determined whether or not there is a match (that is, whether or not there is a label error feature point candidate position) (step S53). When the label correction unit 53 determines that the feature point candidate position matches the first field estimation information by changing the corresponding candidate label (step S53; Yes), the label correction unit 53 corrects the candidate label of the feature point candidate position. (Step S54). After that, the label correction unit 53 generates feature point information IF reflecting the correction of the candidate label in step S54.
  • step S53 if it is determined that the target feature point candidate position does not match the first field estimation information even if the corresponding candidate label is changed (that is, there is no label error feature point candidate position) (step S53; No), the label is corrected.
  • a unit 53 terminates the processing of the flowchart.
  • the label correcting unit 53 considers that the feature point candidate position detected in step S52 is erroneously estimated, deletes the feature point candidate position from the feature point information IF, or deletes the feature point candidate position from the feature point information IF.
  • a process such as attaching a flag to the effect that it is a position is performed.
  • FIG. 20 shows the configuration of the display system in the second embodiment.
  • the display system according to the second embodiment has a display device 1A and a server device 2.
  • FIG. The second embodiment differs from the first embodiment in that the server apparatus 2 executes the calibration process and the like instead of the display apparatus 1A.
  • symbol is attached
  • the display device 1A transmits to the server device 2 an upload signal "S1", which is information necessary for the server device 2 to perform calibration processing and the like.
  • the upload signal S1 includes, for example, the captured image Im generated by the camera 15 and the position/orientation change amount Ap detected based on the output of the position/orientation detection sensor 16 .
  • the display device 1A receives the distribution signal “S2” transmitted from the server device 2
  • the virtual object is displayed by performing light emission control of the light source unit 10 based on the distribution signal S2.
  • the distribution signal S2 includes information corresponding to the display signal Sd of the first embodiment, and after receiving the distribution signal S2, the display device 1A performs the same processing as the light source control unit 45 of the first embodiment. By doing so, the light source unit 10 emits light for displaying the virtual object.
  • the server device 2 is, for example, a server device managed by a promoter, and based on the upload signal S1 received from the display device 1A, generates the distribution signal S2 and distributes the distribution signal S2 to the display device 1A.
  • FIG. 21 is a block diagram of the server device 2. As shown in FIG. The server device 2 has an input unit 26 , a control unit 27 , a communication unit 28 and a storage unit 29 .
  • the storage unit 29 is a non-volatile memory that stores various information necessary for the control unit 27 to control the server device 2 .
  • a program executed by the control unit 27 is stored in the storage unit 29 .
  • the storage unit 29 has a sensor data storage unit 20 , a parameter storage unit 21 and a structural data storage unit 22 .
  • the sensor data storage unit 20 stores the captured image Im and the position/orientation change amount Ap included in the upload signal S ⁇ b>1 under the control of the control unit 27 .
  • the storage unit 29 may be an external storage device such as a hard disk connected to or built into the server device 2, or may be a storage medium such as a flash memory.
  • the storage unit 29 may be a server device that performs data communication with the server device 2 (that is, a device that stores information so that other devices can refer to it). Further, in this case, the storage unit 29 may be composed of a plurality of server devices, and the sensor data storage unit 20, the parameter storage unit 21, and the structure data storage unit 22 may be distributed and stored.
  • the control unit 27 has, for example, a processor such as a CPU or GPU, a volatile memory that functions as a working memory, and the like, and performs overall control of the server device 2 .
  • the control unit 27 generates information on a virtual object to be displayed as a virtual object and a display position (that is, information corresponding to the specified display information Id in the first embodiment) based on user input to the input unit 26 or the like. Further, the control unit 27 refers to the sensor data storage unit 20, the parameter storage unit 21, and the structure data storage unit 22 to perform calibration processing and generate the distribution signal S2.
  • the control unit 27 includes functions corresponding to the virtual object acquisition unit 41, the feature extraction unit 42, the coordinate transformation information generation unit 43, and the reflection unit 44 shown in FIG.
  • FIG. 22 is an example of a flowchart showing a processing procedure executed by the control unit 27 of the server device 2 in the second embodiment.
  • the control unit 27 receives the upload signal S1 including the captured image Im and the position/posture change amount Ap from the display device 1A via the communication unit 28 (step S61). In this case, the control unit 27 updates the data stored in the sensor data storage unit 20 based on the upload signal S1. Then, the control unit 27 determines whether it is time to display the virtual object (step S62). If it is not the display timing (step S62; No), the control section 27 continues to receive the upload signal S1 from the display device 1A in step S61.
  • step S62 the control unit 27 executes calibration processing based on the latest upload signal S1 and the like received in step S61.
  • the control section 27 executes the flowchart shown in FIG.
  • the control unit 27 generates a distribution signal S2 for displaying the virtual object on the display device 1A based on the coordinate conversion information Ic obtained by the calibration process (step S64).
  • the control unit 27 transmits the generated distribution signal S2 to the display device 1A through the communication unit 28 (step S65).
  • the display device 1A that has received the distribution signal S2 displays the virtual object by controlling the light source unit 10 based on the distribution signal S2.
  • the display system can accurately calculate the coordinate transformation information Ic necessary for displaying the virtual object on the display device 1A, and allow the user to preferably visually recognize the virtual object.
  • the display device 1A may perform the calibration processing and the like instead of the server device 2 performing the calibration processing.
  • the display device 1A executes the processing of the flowchart shown in FIG. 16 by appropriately receiving information necessary for the calibration processing from the server device 2.
  • the display system can favorably allow the user of the display device 1A to visually recognize the virtual object.
  • FIG. 23 shows a schematic configuration of an information processing device 1X according to the third embodiment.
  • the information processing apparatus 1X mainly includes feature point information acquisition means 42X, field estimation information acquisition means 53Xa, and label correction means 53Xb.
  • the information processing device 1X is implemented by, for example, the display device 1 or the control unit 17 of the display device 1 in the first embodiment, or the control unit 27 of the server device 2 in the second embodiment. Note that the information processing device 1X may be composed of a plurality of devices.
  • the feature point information acquisition means 42X acquires feature point information indicating candidate positions and candidate labels of a plurality of feature points of the field, which are determined based on an image including at least part of the target field.
  • the feature point information acquisition means 42X may receive feature point information generated by a processing block (including an apparatus other than the information processing apparatus 1X) other than the feature point information acquisition means 42X. Point information may be generated. In the latter case, the feature point information acquisition means 42X can be, for example, the feature extraction section 42 in the first embodiment or the second embodiment.
  • the field estimation information acquisition means 53Xa acquires field estimation information indicating the results of estimating the positions and labels of a plurality of feature points in the first coordinate system, which is the coordinate system based on which the display device having the camera that captures the image is based.
  • the field estimation information can be, for example, the "first field estimation information" in the first embodiment or the second embodiment.
  • the label correction means 53Xb corrects the candidate label based on the feature point information and the field estimation information.
  • the field estimation information acquiring means 53Xa and the label correcting means 53Xb can be, for example, the label correcting section 53 in the first embodiment or the second embodiment.
  • FIG. 24 is an example of a flowchart in the third embodiment.
  • the feature point information acquiring means 42X acquires feature point information indicating candidate positions and candidate labels of a plurality of feature points of the field, which are determined based on an image including at least part of the target field (step S71).
  • the field estimation information acquisition means 53Xa acquires field estimation information indicating the results of estimating the positions and labels of a plurality of feature points in the first coordinate system, which is the coordinate system based on which the display device having the camera that captures the image (step S72).
  • the label correction means 53Xb corrects the candidate label based on the feature point information and the field estimation information (step S73).
  • the information processing apparatus 1X can suitably correct the feature point information, and improve the accuracy of various processes using the feature point information.
  • FIG. 25 shows a schematic configuration of an information processing device 1Y according to the fourth embodiment.
  • the information processing device 1Y mainly includes feature point information acquisition means 42Y, candidate field generation means 511Y, and estimated field determination means 512Y.
  • the information processing device 1Y is implemented by, for example, the display device 1 or the control unit 17 of the display device 1 in the first embodiment, or the control unit 27 of the server device 2 in the second embodiment.
  • the information processing device 1Y may be composed of a plurality of devices.
  • the feature point information acquisition means 42Y acquires feature point information indicating pairs of candidate positions and candidate labels for feature points of the field, which are determined based on an image including at least part of the target field.
  • the feature point information acquisition unit 42Y may receive feature point information generated by a processing block (including a device other than the information processing device 1Y) other than the feature point information acquisition unit 42Y. Point information may be generated.
  • the feature point information acquisition means 42Y can be, for example, the feature extraction section 42 in the first embodiment or the second embodiment.
  • the candidate field generating means 511Y expresses field candidates in the first coordinate system, which is the coordinate system based on which the display device having the camera for capturing the image is based, based on the at least two sets and the structure data regarding the structure of the field. Generate candidate fields.
  • the candidate field generator 511Y can be, for example, the candidate field generator 511 in the first embodiment or the second embodiment.
  • the estimated field determining means 512Y determines an estimated field that represents the field estimated in the first coordinate system based on the plurality of generated candidate fields.
  • the estimation field determination means 512Y can be, for example, the estimation field determination section 512 in the first embodiment or the second embodiment.
  • FIG. 26 is an example of a flowchart in the fourth embodiment.
  • the feature point information acquisition unit 42Y acquires feature point information indicating a set of candidate positions and candidate labels for feature points of the field, which is determined based on an image including at least part of the target field (step S81).
  • the candidate field generating means 511Y expresses field candidates in the first coordinate system, which is the coordinate system based on which the display device having the camera for capturing the image is based, based on the at least two sets and the structure data regarding the structure of the field.
  • a candidate field is generated (step S82).
  • the estimated field determining means 512Y determines an estimated field representing the field estimated in the first coordinate system based on the plurality of generated candidate fields (step S83).
  • the information processing device 1Y can estimate the field in the first coordinate system with high accuracy even when there is an error in the combination of the candidate position and the candidate label indicated by the feature point information. can be done.
  • Non-transitory computer readable media include various types of tangible storage media.
  • Examples of non-transitory computer-readable media include magnetic storage media (e.g., floppy disks, magnetic tapes, hard disk drives), magneto-optical storage media (e.g., magneto-optical discs), CD-ROMs (Read Only Memory), CD-Rs, CD-R/W, semiconductor memory (eg mask ROM, PROM (Programmable ROM), EPROM (Erasable PROM), flash ROM, RAM (Random Access Memory)).
  • the program may also be delivered to the computer on various types of transitory computer readable medium.
  • Examples of transitory computer-readable media include electrical signals, optical signals, and electromagnetic waves.
  • Transitory computer-readable media can deliver the program to the computer via wired channels, such as wires and optical fibers, or wireless channels.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Analysis (AREA)

Abstract

情報処理装置1Yは、主に、特徴点情報取得手段42Yと、候補フィールド生成手段511Yと、推定フィールド決定手段512Yとを有する。特徴点情報取得手段42Yは、対象となるフィールドの少なくとも一部を含む画像に基づき決定された、フィールドの特徴点の候補位置及び候補ラベルの組を示す特徴点情報を取得する。候補フィールド生成手段511Yは、少なくとも2つの組と、フィールドの構造に関する構造データとに基づき、画像を撮影するカメラを有する表示装置が基準とする座標系である第1座標系におけるフィールドの候補を表す候補フィールドを生成する。推定フィールド決定手段512Yは、生成された複数の候補フィールドに基づき、第1座標系において推定されたフィールドを表す推定フィールドを決定する。

Description

情報処理装置、制御方法及び記憶媒体
 本発明は、拡張現実(AR:Augmented Reality)における空間把握に関する処理を行う情報処理装置、制御方法及び記憶媒体の技術分野に関する。
 拡張現実を提供する装置において、カメラで撮像した画像に基づき、ユーザが視認する風景に重ねて表示する画像(所謂AR画像)の表示位置を決定する技術が存在する。例えば、特許文献1には、スポーツ観戦におけるARを実現するため、フィールドの各特徴点の位置を推定し、その推定結果に基づきARのキャリブレーションを行う技術が記載されている。
国際公開WO2021/033314
 特許文献1のように対象のフィールドの特徴点を抽出してキャリブレーションなどの処理を行う場合には、特徴点の抽出精度がその後のキャリブレーションなどの処理の精度に影響を与えることになる。そして、キャリブレーションにおいては、ARを実現する表示装置を基準とした座標系において対象のフィールドの位置を的確に推定することが求められる。
 本開示は、上述した課題を鑑み、表示装置を基準とした座標系において対象のフィールドを的確に推定することが可能な情報処理装置、制御方法及び記憶媒体を提供することを主な目的の1つとする。
 情報処理装置の一の態様は、
 対象となるフィールドの少なくとも一部を含む画像に基づき決定された、前記フィールドの特徴点の候補位置及び候補ラベルの組を示す特徴点情報を取得する特徴点情報取得手段と、
 少なくとも2つの前記組と、前記フィールドの構造に関する構造データとに基づき、前記画像を撮影するカメラを有する表示装置が基準とする座標系である第1座標系における前記フィールドの候補を表す候補フィールドを生成する候補フィールド生成手段と、
 生成された複数の前記候補フィールドに基づき、前記第1座標系において推定された前記フィールドを表す推定フィールドを決定する推定フィールド決定手段と、
を有する情報処理装置である。
 制御方法の一の態様は、
 コンピュータが、
 対象となるフィールドの少なくとも一部を含む画像に基づき決定された、前記フィールドの特徴点の候補位置及び候補ラベルの組を示す特徴点情報を取得し、
 少なくとも2つの前記組と、前記フィールドの構造に関する構造データとに基づき、前記画像を撮影するカメラを有する表示装置が基準とする座標系である第1座標系における前記フィールドの候補を表す候補フィールドを生成し、
 生成された複数の前記候補フィールドに基づき、前記第1座標系において推定された前記フィールドを表す推定フィールドを決定する、
制御方法である。
 記憶媒体の一の態様は、
 対象となるフィールドの少なくとも一部を含む画像に基づき決定された、前記フィールドの特徴点の候補位置及び候補ラベルの組を示す特徴点情報を取得し、
 少なくとも2つの前記組と、前記フィールドの構造に関する構造データとに基づき、前記画像を撮影するカメラを有する表示装置が基準とする座標系である第1座標系における前記フィールドの候補を表す候補フィールドを生成し、
 生成された複数の前記候補フィールドに基づき、前記第1座標系において推定された前記フィールドを表す推定フィールドを決定する処理をコンピュータに実行させるプログラムを格納する記憶媒体である。
 本開示の1つの効果の例として、表示装置を基準とした座標系において対象のフィールドを的確に推定することが可能となる。
第1実施形態に係る表示装置の概略構成図である。 構造データのデータ構造の一例を示す。 制御部の機能的な構成を示すブロック図である。 (A)対象フィールドがテニスコートである場合の構造特徴点の第1のラベル定義例である。(B)対象フィールドがテニスコートである場合の構造特徴点の第2のラベル定義例である。 (A)対象フィールドがプールである場合の構造特徴点の第1のラベル定義例である。(B)対象フィールドがプールである場合の構造特徴点の第2のラベル定義例である。 フィールド推定部の機能ブロックの一例である。 間違いラベル検出部の機能ブロックの一例である。 デバイス座標系及びフィールド座標系の高さ方向の軸が平行になるように調整後のデバイス座標系とフィールド座標系の位置関係を示す。 カメラの撮影位置、撮像画像、及び対象フィールドをデバイス座標系及びフィールド座標系において表した図である。 生成した6個の候補フィールドのクラスタリングの結果をデバイス座標系において示した図である。 プールに設けられたロープのうち構造特徴点として指定されるフロートを明示した図である。 エラー特徴点候補位置を除外した特徴点候補位置に基づく最適化処理により求めた対象フィールドの推定位置をデバイス座標系において表した図である。 対象フィールドの等方的な最適化の解と非等方的な最適化の解とを夫々デバイス座標系のxz平面上において表した図である。 (A)対象フィールドがテニスコートである場合の特徴点候補位置を候補ラベルの番号と共に第1フィールド推定情報に基づくフィールド推定面上において明示した図である。(B)候補ラベル修正後の特徴点候補位置及び候補ラベルの番号の組を第1フィールド推定情報に基づくフィールド推定面上において明示した図である。 第1実施形態において制御部が実行する仮想オブジェクトの表示処理に関する処理概要を示すフローチャートの一例である。 キャリブレーション処理の詳細な処理手順を示すフローチャートの一例である。 ステップS22において実行される特徴点エラー検出処理の詳細を示すフローチャートの一例である。 第1フィールド推定処理の詳細を示すフローチャートの一例である。 ラベル修正処理の詳細を示すフローチャートの一例である。 第2実施形態における表示システムの構成を示す。 第2実施形態におけるサーバ装置のブロック図である。 第2実施形態においてサーバ装置の制御部が実行する処理手順を示すフローチャートの一例である。 第3実施形態における情報処理装置の概略構成を示す。 第3実施形態におけるフローチャートの一例である。 第4実施形態における情報処理装置の概略構成を示す。 第4実施形態におけるフローチャートの一例である。
 以下、図面を参照しながら、情報処理装置、制御方法及び記憶媒体の実施形態について説明する。
 <第1実施形態>
 (1)概略構成
 図1は、第1実施形態に係る表示装置1の概略構成図である。表示装置1は、ユーザが装着可能な装置であり、例えば眼鏡型に構成されたシースルー型であって、ユーザの頭部に装着可能に構成されている。そして、表示装置1は、スポーツ観戦や劇(コンサートを含む)の観賞などにおいて、実在する風景に視覚情報を重ねて表示することで、拡張現実(AR:Augmented Reality)を実現する。上記の視覚情報は、2次元又は3次元により表された仮想のオブジェクトであり、以後では、「仮想オブジェクト」とも呼ぶ。なお、表示装置1は、ユーザの片眼にのみ仮想オブジェクトを表示してもよく、両眼に対して仮想オブジェクトを表示してもよい。
 本実施形態では、スポーツや劇などが行われる場又は構造物(以後では「対象フィールド」とも呼ぶ。)が存在するものとし、表示装置1は、ユーザがスポーツ観戦や劇の観賞を行う際に補助となる付加的な情報となる仮想オブジェクトを、対象フィールド又はその周辺に重畳表示する。対象フィールドは、例えば、スポーツ観戦において対象となるフィールド(例えばテニスコート、競泳用プール、スタジアム等)、又は、観劇において対象となるフィールド(例えば劇場、コンサートホール、多目的ホール、各種ステージ等)などが該当する。後述するように、対象フィールドは、構造上の(即ち形状において特徴がある)特徴点(「構造特徴点」とも呼ぶ。)を複数有している。対象フィールドは、表示装置1のキャリブレーションにおける基準物として機能する。
 仮想オブジェクトは、例えば、テニスなどの場合には、テニスコート上方に表示する点数ボード、競泳の場合には、競泳中のプールにリアルタイム重畳表示する世界記録ライン、観劇などでステージ上に重畳表示するバーチャル出演者などを含む。
 表示装置1は、光源ユニット10と、光学素子11と、通信部12と、入力部13と、記憶部14と、カメラ15と、位置姿勢検出センサ16と、制御部17とを有する。
 光源ユニット10は、レーザ光源やLCD(Liquid Crystal Display)光源などの光源を有しており、制御部17から供給される駆動信号に基づき、光を射出する。光学素子11は、所定の透過率を有し、外光の少なくとも一部を透過してユーザの眼球に入射させると共に、光源ユニット10からの光の少なくとも一部を、ユーザの眼球に向けて反射する。これにより、表示装置1によって形成された仮想オブジェクトに対応する虚像が、風景と重なってユーザに視認されることとなる。なお、光学素子11は、透過率と反射率とが概ね等しいハーフミラーであってもよく、透過率と反射率とが等しくないようなミラー(所謂ビームスプリッタ)であってもよい。
 通信部12は、制御部17の制御に基づき、外部装置とのデータの授受を行う。例えば、ユーザがスポーツ観戦や劇の観賞などに表示装置1を使用する場合には、通信部12は、制御部17の制御に基づき、興行者が管理するサーバ装置から表示装置1が表示すべき仮想オブジェクトに関する情報を受信する。
 入力部13は、ユーザの操作に基づく入力信号を生成して制御部17に送信する。入力部13は、例えば、ユーザが表示装置1に対して指示を行うためのボタン、十字キー、音声入力装置等である。
 カメラ15は、制御部17の制御に基づき、表示装置1の前方を撮像した画像を生成し、生成した画像(「撮像画像Im」とも呼ぶ。)を制御部17に供給する。
 位置姿勢検出センサ16は、表示装置1の位置及び姿勢(向き)を検出するセンサ(センサ群)であり、例えば、GPS(Global Positioning Satellite)受信機などの測位センサと、ジャイロセンサ、加速度センサ、IMU(Inertial Measurement Unit)などの表示装置1の相対的な姿勢の変化を検出する姿勢検出センサとを含む。位置姿勢検出センサ16は、生成した表示装置1の位置及び姿勢に関する検出信号を制御部17へ供給する。後述するように、制御部17は、位置姿勢検出センサ16から供給される検出信号に基づき、表示装置1の起動時等からの位置及び姿勢の変化量を検出する。なお、制御部17は、測位センサから表示装置1の位置を検出する代わりに、例えば、会場に設けられたビーコン端末や無線LAN機器から受信する信号に基づき、表示装置1の位置を特定してもよい。他の例では、制御部17は、ARマーカを用いた公知の位置推定技術に基づき、表示装置1の位置を特定してもよい。これらの場合、位置姿勢検出センサ16は、測位センサを含まなくともよい。
 制御部17は、例えばCPU(Central Processing Unit)、GPU(Graphics Processing Unit)などのプロセッサ、プロセッサの作業メモリとして機能する揮発性メモリなどを有しており、表示装置1の全体的な制御を行う。
 例えば、制御部17は、仮想オブジェクトの表示タイミングなどにおいて、撮像画像Imから認識される対象フィールドの構造特徴点に基づき、実世界空間と表示装置1が認識する空間とを対応付けるためのキャリブレーション処理を行う。このキャリブレーション処理では、制御部17は、表示装置1が基準とする3次元空間の座標系(「デバイス座標系」とも呼ぶ。)を、対象フィールドを基準とした3次元空間の座標系(「フィールド座標系」とも呼ぶ。)に変換するための座標変換情報を生成する。デバイス座標系は「第1座標系」の一例であり、フィールド座標系は「第2座標系」の一例である。キャリブレーション処理の詳細については後述する。そして、制御部17は、上述の座標変換情報等に基づき、光源ユニット10を駆動するための駆動信号を生成し、駆動信号を光源ユニット10に供給することで光源ユニット10に仮想オブジェクトを表示するための光(「表示光」とも呼ぶ。)を光学素子11に射出させる。これにより、制御部17は、仮想オブジェクトをユーザに視認させる。
 記憶部14は、制御部17が表示装置1の制御に必要な種々の情報を記憶する不揮発性メモリである。記憶部14は、フラッシュメモリなどの着脱自在な記憶媒体を含んでもよい。また、記憶部14には、制御部17が実行するプログラムが記憶される。
 また、記憶部14は、センサデータ記憶部20と、パラメータ記憶部21と、構造データ記憶部22とを有する。
 センサデータ記憶部20は、カメラ15が生成する撮像画像Imと、当該撮像画像Imの生成時におけるデバイス座標系の設定時(例えば表示装置1の起動時)からの表示装置1の位置及び姿勢の変化量(「位置姿勢変化量Ap」とも呼ぶ。)とを関連付けて記憶する。この場合、例えば、制御部17は、デバイス座標系の設定時の位置及び姿勢を基準とする現在の位置及び姿勢の変化量を、位置姿勢検出センサ16の検出信号に基づき常時算出する。そして、制御部17は、カメラ15が生成した撮像画像Imをセンサデータ記憶部20に記憶する場合に、当該撮像画像Imの生成時に算出した位置姿勢変化量Apを当該撮像画像Imに関連付けてセンサデータ記憶部20に記憶する。制御部17は、例えば、最新の所定時間分又は所定数分の撮像画像Im及び位置姿勢変化量Apの組合せをセンサデータ記憶部20に記憶させる。センサデータ記憶部20に記憶される情報は、キャリブレーション処理において使用される。
 パラメータ記憶部21は、キャリブレーション処理において、対象フィールドの構造特徴点の位置情報及び当該構造特徴点の分類情報を撮像画像Imから抽出する際に用いる推論器(「特徴抽出器」とも呼ぶ。)のパラメータを記憶する。上述の特徴抽出器は、例えば、撮像画像Imが入力された場合に、抽出対象となる構造特徴点の分類(即ちラベル)毎に構造特徴点の画像内の位置情報を出力するように学習された学習モデルである。上述の位置情報は、構造特徴点の座標値ごとの信頼度を示す画像上のマップ情報であってもよく、ピクセル単位又はサブピクセル単位での画像内の構造特徴点の位置を示す座標値であってもよい。上述の特徴抽出器が構造特徴点の分類毎のマップ情報を出力する場合には、例えば、構造特徴点の分類毎に信頼度がある閾値を超えた上位m個(mは1以上の整数)の座標値が構造特徴点の位置として採用される。上記整数mは、後述する図4(A)及び図5(A)の例では「1」となり、後述する図4(B)及び図5(B)の例では「2」となる。なお、特徴抽出器の学習に用いる学習モデルは、ニューラルネットワークに基づく学習モデルであってもよく、サポートベクターマシーンなどの他の種類の学習モデルであってもよく、これらの組み合わせであってもよい。例えば、上述の学習モデルが畳み込みニューラルネットワークなどのニューラルネットワークである場合、パラメータ記憶部21は、層構造、各層のニューロン構造、各層におけるフィルタ数及びフィルタサイズ、並びに各フィルタの各要素の重みなどの各種パラメータを記憶する。
 また、パラメータ記憶部21は、カメラ15の焦点距離、内部パラメータ、主点、撮像画像Imのサイズ情報などの、仮想オブジェクトの表示に必要なカメラ15に関するパラメータを記憶する。
 構造データ記憶部22は、対象フィールドの構造に関するデータである構造データを記憶する。図2は、構造データのデータ構造の一例を示す。構造データは、サイズ情報と、登録特徴点情報と、非等方性情報と、を有する。
 サイズ情報は、対象フィールドのサイズに関する情報である。登録特徴点情報は、対象フィールドの構造特徴点に関する情報であり、予め計測した構造特徴点毎の個別の情報を含んでいる。ここでは、対象フィールドがN個(Nは2以上の整数)の構造特徴点を有することから、登録特徴点情報は、これらのN個の構造特徴点に夫々対応する情報(第1登録特徴点情報~第N登録特徴点情報)を含んでいる。登録特徴点情報は、対象となる構造特徴点の分類を示すラベルと、対象となる構造特徴点のフィールド座標系での位置を示す登録位置情報とを少なくとも含んでいる。登録位置情報は、フィールド座標系により表された座標情報であり、例えばいずれかの構造特徴点の位置が原点となるように設定されている。登録特徴点情報は、キャリブレーション処理において用いられる。なお、任意の2点の構造特徴点間の長さは、これらの登録位置情報が示す座標値に基づき算出可能である。
 非等方性情報は、対象フィールドの構造特徴点の経時での変位の非等方性に関する情報である。非等方性情報は、例えば、対象フィールドの構造特徴点が経時により変位する場合に、変位しやすい方向又は/及び変位しにくい方向(及びその度合い)を示す情報となる。これらの方向は、例えば、フィールド座標系におけるベクトルにより表されてもよく、「構造特徴点Aから構造特徴点Bへの方向」などのように、構造特徴点同士の位置関係に基づき特定されてもよい。
 その他、構造データは、フィールド座標系において原点とする構造特徴点を指定する情報及びフィールド座標系の3軸の各方向をそれぞれ指定する情報などが含まれてもよい。
 なお、図1に示す表示装置1の構成は一例であり、この構成に対して種々の変更を行ってもよい。例えば、表示装置1は、制御部17の制御に基づき、音声を出力するスピーカをさらに備えてもよい。また、表示装置1は、ユーザの視線の位置に応じて仮想オブジェクトの表示有無や仮想オブジェクトの表示位置を変更するための視線検出用カメラを備えてもよい。さらに別の例では、記憶部14は、センサデータ記憶部20を有しなくともよい。この場合、制御部17は、カメラ15から即時に取得した撮像画像Imと、位置姿勢検出センサ16の検出信号に基づき算出した位置姿勢変化量Apとを用いて、キャリブレーション処理を行う。
 さらに別の例では、表示装置1は、位置姿勢検出センサ16等による表示装置1の位置を検出しなくともよい。一般に、スポーツ観戦や劇等の観賞中では、ユーザが移動することは稀であり、かつ、表示装置1の姿勢変化に比べて表示装置1の位置の変化に対する仮想オブジェクトの表示への影響は小さい。以上を勘案し、位置姿勢検出センサ16は、表示装置1の姿勢を検出するセンサから構成され、制御部17は、デバイス座標系の設定時からの表示装置1の姿勢の変化量のみを、位置姿勢変化量Apとして算出してもよい。
 (2)機能ブロック
 図3は、制御部17の機能的な構成を示すブロック図である。図3に示すように、制御部17は、機能的には、仮想オブジェクト取得部41と、特徴抽出部42と、座標変換情報生成部43と、反映部44と、光源制御部45と、を有する。なお、図3では、データの授受が行われるブロック同士を実線により結んでいるが、データの授受が行われるブロックの組合せは図3に限定されない。後述する他の機能ブロックの図においても同様である。
 仮想オブジェクト取得部41は、仮想オブジェクトとして風景に重畳表示させる元となる仮想オブジェクトとその表示位置とを指定する情報(「指定表示情報Id」とも呼ぶ。)を取得する。この仮想オブジェクトは、2次元の物体描画のための情報(2次元描画情報)であってもよく、3次元の物体描画のための情報(3次元描画情報)であってもよい。例えば、興行者が管理するサーバ装置と表示装置1が通信可能である場合には、仮想オブジェクト取得部41は、サーバ装置から所定のタイミングによりプッシュ型配信又はプル型配信される配信情報を、指定表示情報Idとして取得する。この場合、指定表示情報Idには、仮想オブジェクトの他、表示位置を指定する情報(例えばフィールド座標系での座標値を示す情報)が含まれている。他の例では、仮想オブジェクトと表示位置とその表示条件との組み合わせを示す情報が記憶部14に予め記憶されてもよい。この場合、仮想オブジェクト取得部41は、記憶された上述の表示条件が満たされたと判断したときに、満たされた表示条件に対応する仮想オブジェクトと表示位置の組み合わせを指定表示情報Idとして取得する。
 特徴抽出部42は、センサデータ記憶部20から取得する撮像画像Imに基づき、特徴点情報「IF」を生成する。この場合、特徴抽出部42は、パラメータ記憶部21から抽出したパラメータに基づき構成した特徴抽出器に撮像画像Im(例えば最新の撮像画像Im)を入力することで特徴抽出器が出力する情報から特徴点情報IFを生成する。例えば、この場合、特徴抽出器は、構造特徴点の分類を示すラベルごとに、入力された撮像画像Im内の構造特徴点の位置(例えば座標値)を出力し、特徴抽出部42は、上述の撮像画像Im内の構造特徴点の位置を構造特徴点の候補位置(「特徴点候補位置」とも呼ぶ。)とし、当該位置に対応するラベルをラベルの候補(「候補ラベル」とも呼ぶ。)とする複数の組み合わせを示す特徴点情報IFを生成する。なお、特徴抽出器が構造特徴点の座標値として画像サイズに依存しないように正規化された値を出力する場合には、特徴抽出部42は、当該座標値に撮像画像Imの画像サイズを乗じることで、特徴点候補位置を算出する。
 座標変換情報生成部43は、構造データ記憶部22から抽出した構造データと、特徴点情報IFと、特徴抽出を行った撮像画像Imの生成時の位置姿勢変化量Apと、カメラ15のパラメータ等とに基づき、デバイス座標系とフィールド座標系との座標変換情報「Ic」を生成する。座標変換情報Icは、例えば、3次元空間同士の座標変換を行うために一般的に用いられる回転行列及び並進ベクトルの組み合わせである。なお、座標変換情報Icは、フィールド座標系をデバイス座標系へ変換する際に用いられる情報であることに限定されず、デバイス座標系をフィールド座標系へ変換する際に用いられる情報であってもよい。ここで、フィールド座標系からデバイス座標系へ変換するための回転行列及び並進ベクトルは、デバイス座標系からフィールド座標系へ変換するための回転行列(上述の回転行列の逆行列)及び並進ベクトル(符号反転した上述の並進ベクトル)に変換可能である。
 また、座標変換情報生成部43は、フィールド推定部46を有する。フィールド推定部46は、デバイス座標系における対象フィールドの位置を推定する。フィールド推定部46による推定方法については後述する。座標変換情報生成部43は、フィールド推定部46が推定したデバイス座標系における対象フィールドの位置と、構造データ記憶部22が示すフィールド座標系における対象フィールドの位置とに基づき、座標変換情報Icを生成する。
 反映部44は、座標変換情報生成部43から供給される座標変換情報Icを、仮想オブジェクト取得部41から供給される指定表示情報Idに反映させることで、光学素子11上に投影させる仮想オブジェクトを示す表示信号「Sd」を生成する。この場合、反映部44は、座標変換情報Icによりデバイス座標系をフィールド座標系と一致させた上で、指定表示情報Idに基づく表示信号Sdを生成する。光源制御部45は、反映部44から供給される表示信号Sdに基づき、光源ユニット10の光源(例えばRGBに対応する各光源)を駆動するための駆動タイミング及び光量などを指示する駆動信号を生成し、生成した駆動信号を光源ユニット10へ供給する。
 なお、キャリブレーション完了後(即ち座標変換情報Icを算出後)の各処理(即ち反映部44及び光源制御部45の処理)の説明は一例であり、既存のAR製品などにおいて適用される任意の方法により、仮想オブジェクトを所望の風景位置に重畳させる仮想オブジェクトを表示させてもよい。例えば、このような技術を開示する文献の例として、特開2015-116336号公報、特開2016-525741号公報などが存在する。これらの文献に示されるように、表示装置1は、ユーザの視線検出などを行い、仮想オブジェクトが適切に視認されるように制御を行う。
 図3において説明した仮想オブジェクト取得部41、特徴抽出部42、座標変換情報生成部43、反映部44及び光源制御部45の各構成要素は、例えば、制御部17がプログラムを実行することによって実現できる。また、必要なプログラムを任意の不揮発性記憶媒体に記録しておき、必要に応じてインストールすることで、各構成要素を実現するようにしてもよい。なお、これらの各構成要素の少なくとも一部は、プログラムによるソフトウェアで実現することに限ることなく、ハードウェア、ファームウェア、及びソフトウェアのうちのいずれかの組合せ等により実現してもよい。また、これらの各構成要素の少なくとも一部は、例えばFPGA(Field-Programmable Gate Array)又はマイクロコントローラ等の、ユーザがプログラミング可能な集積回路を用いて実現してもよい。この場合、この集積回路を用いて、上記の各構成要素から構成されるプログラムを実現してもよい。また、各構成要素の少なくとも一部は、ASSP(Application Specific Standard Produce)、ASIC(Application Specific Integrated Circuit)又は量子プロセッサ(量子コンピュータ制御チップ)により構成されてもよい。このように、各構成要素は、種々のハードウェアにより実現されてもよい。以上のことは、後述する他の実施の形態においても同様である。さらに、これらの各構成要素は、例えば、クラウドコンピューティング技術などを用いて、複数のコンピュータの協働によって実現されてもよい。
 (3)構造特徴点のラベル定義例
 図4(A)は、対象フィールドがテニスコートである場合の構造特徴点の第1のラベル定義例であり、図4(B)は、対象フィールドがテニスコートである場合の構造特徴点の第2のラベル定義例である。図4(A)及び図4(B)では、構造特徴点の位置に丸印及び対応するラベルの番号が明示されている。
 図4(A)に示す第1のラベル定義例では、14個存在する構造特徴点の隅から順に、0から13までの通し番号を、各構造特徴点のラベルとして付している。一方、図4(B)に示す第2のラベル定義例では、対称となる構造特徴点に対して同一ラベルを付している。その結果、0から5までの各ラベルは、対称位置にある2つの構造特徴点に対して付されている。
 図5(A)は、対象フィールドがプールである場合の構造特徴点の第1のラベル定義例であり、図5(B)は、対象フィールドがプールである場合の構造特徴点の第2のラベル定義例である。図5(A)及び図5(B)では、構造特徴点の位置に丸印及び対応するラベルの番号が明示されている。なお、対象フィールドがプールの場合、コースを区画するロープに所定距離間隔により設けられた所定色のフロートが構造特徴点として選ばれている。
 図5(A)に示す第1のラベル定義例では、25個存在する構造特徴点の隅から順に、0から24までの通し番号を、各構造特徴点のラベルとして付している。一方、図5(B)に示す第2のラベル定義例では、対称となる構造特徴点に対して同一ラベルを付している。その結果、0から11までの各ラベルは、対称位置にある2つの構造特徴点に対して付されている。
 (4)フィールド推定部の処理
 (4-1)概要
 図6は、フィールド推定部46の処理の概要を表したフィールド推定部46の機能ブロック図である。図6に示すように、フィールド推定部46は、機能的には、特徴点エラー検出部51と、第1フィールド推定部52と、ラベル修正部53と、第2フィールド推定部54とを有する。なお、図6では明示していないが、フィールド推定部46の各構成要素は、センサデータ記憶部20に記憶された位置姿勢変化量Ap及びパラメータ記憶部21に記憶されたカメラのパラメータ(内部パラメータ、撮像画像Imのサイズを含む)を参照して各処理を行うものとする。
 特徴点エラー検出部51は、特徴抽出部42から供給される特徴点情報IFと、構造データ記憶部22に記憶された構造データとに基づき、誤った構造特徴点の抽出結果を表す特徴点候補位置(「エラー特徴点候補位置」とも呼ぶ。)を検出する。この場合、特徴点エラー検出部51は、位置姿勢検出センサ16に含まれる加速度センサ160の出力信号に基づき、フィールド座標系とデバイス座標系との鉛直方向の軸を平行にする処理を行ってもよい。そして、特徴点エラー検出部51は、エラー特徴点候補位置の検出結果を、第1フィールド推定部52及びラベル修正部53に供給する。
 第1フィールド推定部52は、特徴点情報IFと、特徴点エラー検出部51によるエラー特徴点候補位置の検出結果と、構造データ記憶部22に記憶された構造データとに基づき、デバイス座標系における対象フィールドの位置を推定する。具体的には、第1フィールド推定部52は、後述するように、対象フィールドの構造特徴点が非等方的に(ある方向に偏って)変位する場合に、非等方的な変位を考慮した最適化を行うことで、デバイス座標系における対象フィールドの推定位置を決定する。この場合、第1フィールド推定部52は、加速度センサ160の出力信号に基づき、フィールド座標系とデバイス座標系との鉛直方向の軸を平行にする処理を行ってもよい。
 なお、第1フィールド推定部52が算出するデバイス座標系での対象フィールドの推定位置は、ラベル修正部53が処理に用いるための暫定的な推定位置であり、最終的な対象フィールドの推定位置は、第2フィールド推定部54によって決定される。第1フィールド推定部52は、対象フィールドの推定位置を示す情報(「第1フィールド推定情報」とも呼ぶ。)を、ラベル修正部53に供給する。
 ラベル修正部53は、第1フィールド推定部52から供給される第1フィールド推定情報と、特徴点情報IFと、構造データ記憶部22に記憶される構造データとに基づき、特徴点情報IFの候補ラベルの修正を行う。この場合、ラベル修正部53は、エラー特徴点候補位置のうち、候補ラベルを変更することで正しい構造特徴点の位置を示すエラー特徴点候補位置(「ラベルエラー特徴点候補位置」とも呼ぶ。)の候補ラベルを変更する処理を行う。そして、ラベル修正部53は、ラベルエラー特徴点候補位置の候補ラベルを変更した特徴点情報IFを、第2フィールド推定部54に供給する。
 第2フィールド推定部54は、ラベル修正部53による修正が反映された特徴点情報IFと、構造データ記憶部22に記憶される構造データとに基づき、対象フィールドの位置を推定する。ここで、第2フィールド推定部54による対象フィールドの推定位置は、特徴点エラー検出部51、第1フィールド推定部52、ラベル修正部53の各処理結果を反映したものとなっており、フィールド推定部46が最終的に出力する対象フィールドの推定位置となる。以後では、第2フィールド推定部54による対象フィールドの推定位置を示す情報を「第2フィールド推定情報」とも呼ぶ。そして、第2フィールド推定部54が出力する第2フィールド推定情報に基づき、座標変換情報Icが生成される。
 (4-2)特徴点エラー検出部
 図7は、特徴点エラー検出部51の機能ブロックの一例である。特徴点エラー検出部51は、機能的には、軸調整部510と、候補フィールド生成部511と、推定フィールド決定部512と、間違いラベル検出部513とを有する。
 軸調整部510は、加速度センサ160の出力信号に基づき、デバイス座標系における鉛直方向を認識する。そして、軸調整部510は、認識した鉛直方向に基づき、デバイス座標系及びフィールド座標系の高さ方向の軸が平行になるように調整する。
 候補フィールド生成部511は、特徴点情報IFが示す特徴点候補位置のうち2点を用い、デバイス座標系において対象フィールドを表す候補(「候補フィールド」とも呼ぶ。)を生成する処理を複数回実行する。この場合、候補フィールド生成部511は、n(nは3以上の整数)回ランダムに選んだn組(ペア)の特徴点候補位置からn個の候補フィールドを生成してもよく、全通りの特徴点候補位置の組から候補フィールドを生成してもよい。なお、候補フィールド生成部511は、候補フィールドとして、例えば、ラベルごとのデバイス座標系における構造特徴点の推定位置と、デバイス座標系における対象フィールドの推定面とを特定する。
 ここで、全通りの特徴点候補位置の組から候補フィールドを生成する場合について補足説明する。ラベル名と構造特徴点の位置とが一意に決まるラベル定義の場合(即ち図4(A)及び図5(A)に示す第1のラベル定義例の場合)、特徴点候補位置の数をN個とすると、候補フィールド生成部511は、特徴点候補位置の個の組から個の候補フィールドを生成する。一方、ラベル名と構造特徴点の位置とが一意に決まらないラベル定義の場合、1組から複数のフィールド推定が必要になる。例えば、図4(B)及び図5(B)に示すラベル定義例(即ち、点対称ラベルを同一にしたラベル定義)の場合、候補フィールド生成部511は、全体で×2個の候補フィールドを作成する。なお、一般に1ラベルに対して「M」(Mは3以上の整数)通りの特徴点位置が考えられるラベル定義例では、N個の構造特徴点が与えられた場合の候補フィールドの最小推定数は、ラベル定義の対称性等によって異なる。具体的には、処理の効率を考えない場合、候補フィールドの最小推定数は、×M×Mとなる。
 さらに、図4(B)及び図5(B)に示すラベル定義例(即ち、点対称ラベルを同一にしたラベル定義であってM=2)の場合に、上述したように×2個の候補フィールドが生成されることについて補足説明する。例えば図4(B)のラベル0,1を組(ペア)(以後では(0,1)と表記する。)とする場合、図4(A)の第1のラベル定義例に変換すると、以下の2×2=4通りの組(ペア)が存在する。
(0,1)、(0,12)、(13,1)、(13、12)
 一方、第2のラベル定義例ではラベルが点対称であることから、(0,1)を(0,1)または(13、12)に変換した場合のフィールド推定結果(候補フィールド)は、180°回転した関係となり実質的に同一となる。また、(0,1)を(0,12)または(13,1)に変換した場合も同様である。以上を勘案し、点対称のラベルとなる第2のラベル定義例では、変換前の片方のラベルを固定して変換した2通り(例えば0を固定した場合、(0,1)と(0,12)の2通り)の候補フィールドを推定すれば必要十分となる。
 推定フィールド決定部512は、複数の候補フィールドから、最終的に推定結果として出力するデバイス座標系での対象フィールド(「推定フィールド」とも呼ぶ。)を決定する。この場合、推定フィールド決定部512は、候補フィールドのクラスタリングを行い、候補フィールドが属する数が最も大きい主クラスタに属する候補フィールドから推定フィールドを決定する。言い換えると、推定フィールド決定部512は、デバイス座標系での対象フィールドの各ラベルの構造特徴点の推定位置(及び対象フィールドの推定面)を決定する。
 間違いラベル検出部513は、推定フィールド決定部512が決定した推定フィールドに基づき、エラー特徴点候補位置を決定する。この場合、例えば、間違いラベル検出部513は、位置姿勢変化量Apに基づき特定されるデバイス座標系での撮影位置及びカメラ15のパラメータ(内部パラメータを含む)に基づき、各特徴点候補位置を推定フィールドに投影した点を、デバイス座標系での各特徴点候補位置として認識する。そして、間違いラベル検出部513は、推定フィールドの構造特徴点の位置と、デバイス座標系での特徴点候補位置とをラベルごとに比較し、所定距離以上となる特徴点候補位置を、エラー特徴点候補位置として決定する。上述の所定距離は、例えば予め設定された適合値が記憶部14等に記憶されている。また、フィールド推定部46は、エラー特徴点候補位置に該当しない構造特徴点の数が所定の閾値(例えば5個)以下となった場合は推定を終了し、対象フィールドの推定が失敗したと判定する。この場合、フィールド推定部46は、新たに取得される撮像画像Imに基づくフィールド推定処理を実行する。
 次に、軸調整部510の処理について図8を参照して具体的に説明する。
 図8は、デバイス座標系及びフィールド座標系の高さ方向の軸が平行になるように調整後のデバイス座標系とフィールド座標系の位置関係を示す。ここでは、対象フィールドはテニスコートとなっており、フィールド座標系は、テニスコートの短手方向及び長手方向及びこれらの垂直方向に各軸が設けられている。以後では、デバイス座標系の3軸をx軸、y軸、z軸とし、フィールド座標系の3軸をx^軸、y^軸、z^軸とする。
 この場合、軸調整部510は、加速度センサ160の出力信号に基づき、デバイス座標系のy軸とフィールド座標系のy軸とを平行にするようにデバイス座標系又はフィールド座標系の少なくとも一方を移動させる。例えば、フィールド座標系のy^軸が既に鉛直方向と平行である場合には、軸調整部510は、デバイス座標系のy軸が鉛直方向に平行となるようにデバイス座標系を回転させる。他の例では、軸調整部510は、フィールド座標系のy^軸が鉛直方向と平行でない場合、軸調整部510は、デバイス座標系のy軸及びフィールド座標系のy^軸が鉛直方向に平行となるようにデバイス座標系及びフィールド座標系の両方を夫々適切な角度分だけ回転させる。
 なお、軸調整部510は特徴点エラー検出部51における必須の構成ではない。例えば、特徴点エラー検出部51が軸調整部510を有する代わりに、候補フィールド生成部511は、3個(又は4個以上)の特徴点候補位置から候補フィールドを生成してもよい。
 次に、候補フィールド生成部511による候補フィールドの生成処理について図9を参照して具体的に説明する。
 図9は、カメラ15の撮影位置、撮像画像Im、及び対象フィールドをデバイス座標系及びフィールド座標系において表した図である。ここで、デバイス座標系のy軸とフィールド座標系のy^軸とが平行になるように調整されており、これらの軸はオフセット「Y」分だけずれている。そして、この場合、候補フィールド生成部511は、任意の特徴点候補位置の2点から、オフセットY及びx軸とx^軸とがなす角度(又はz軸とz^軸とがなす角度)を求めることで、候補フィールドを決定することが可能である。
 ここで、任意の特徴点候補位置の2点から候補フィールドを決定する処理について補足説明する。
 図9は、図4(A)に示される第1のラベル定義例に基づくラベル番号6及びラベル番号7の2つの特徴点候補位置から候補フィールドを生成する処理の概要を示している。ラベル番号6とラベル番号7の2つの特徴点候補位置間の距離(矢印90参照)は、構造データを参照することで特定することが可能である。そして、候補フィールド生成部511は、デバイス座標系におけるカメラ15の撮影位置(撮影方向を含む)と、カメラ15のパラメータと、ラベル番号6とラベル番号7の撮像画像Im内の特徴点候補位置と、矢印90が示す距離とに基づき、候補フィールドを決定する。なお、デバイス座標系におけるカメラ15の撮影位置(撮影方向を含む)は位置姿勢変化量Apに基づき特定される。
 また、候補フィールド生成部511は、特徴点候補位置の組から候補フィールドを決定する処理を複数回実行する必要があるが、これらの処理は行列処理により並列計算が可能である。よって、候補フィールド生成部511は、生成した特徴点候補位置の複数の組の各々に対する候補フィールドを並列処理により算出することが可能である。
 次に、推定フィールド決定部512によるクラスタリング処理について補足説明する。
 推定フィールド決定部512は、任意のクラスタリング手法を用いることで、候補フィールドのクラスタリングを行う。このようなクラスタリング手法は、単リンク法、完全リンク法、群平均法、Ward法、セントロイド法、重み付き法、メジアン法などが存在するがこれに限られない。この場合、推定フィールド決定部512は、例えば、各候補フィールドのデバイス座標系での3次元の重心座標及びxz平面上での向きを表す角度(テニスコートの場合には長手方向又は短手方向の向き)の4次元座標値(ベクトル)に基づき、上述のクラスタリングを実行する。上述の「候補フィールドのデバイス座標系での3次元の重心座標」として、例えば、候補フィールドを構成する全ラベルの構造特徴点のデバイス座標系での推定位置の重心座標が算出される。なお、鉛直方向に基づく軸調整を行わない場合には、上述の4次元座標値は、各候補フィールドのデバイス座標系での3次元の重心座標及びオイラー角(ヨー、ピッチ、ロール)の6次元座標値となる。
 図10は、生成した6個の候補フィールド「C1」~「C6」のクラスタリングの結果をデバイス座標系において示した図である。この場合、推定フィールド決定部512は、任意のクラスタリング手法を用いることで、候補フィールドを第1クラスタCL1と、第2クラスタCL2と、第3クラスタCL3とに分類している。ここで、第1クラスタCL1は主クラスタであり、最も多くの4つの候補フィールドC1、C3、C4、C6が属している。一方、第2クラスタCL2は候補フィールドC2からなり、第3クラスタCL3は、候補フィールドC5からなる。
 この場合、推定フィールド決定部512は、主クラスタである第1クラスタCL1に属する候補フィールドが対象フィールドの正しい推定結果であると判定し、候補フィールドC1、C3、C4、C6に基づき、推定フィールドを決定する。例えば、推定フィールド決定部512は、主クラスタに属する候補フィールドの各々の上述の4次元座標値の重心(平均ベクトル)を算出し、当該重心に最も近い4次元座標値に対応する候補フィールドを推定フィールドとして選択する。他の例では、推定フィールド決定部512は、主クラスタに属する候補フィールドの平均(上述の重心からの距離に応じた重み付け平均を含む)その他の統計処理又は構造データから特定される構造特徴点の位置関係(即ち対象フィールドのモデル)を利用した最小2乗法などの解析処理に基づき、主クラスタに属する候補フィールドを統合した推定フィールドを決定してもよい。この場合、推定フィールド決定部512は、例えば、構造データにより示される対象フィールドの各構造特徴点間の位置関係(距離)を表すモデル又は制約条件を設定し、ラベルごとに推定フィールドの構造特徴点と主クラスタに属する候補フィールドの特徴点候補位置の点群との誤差の和を最小化するように最適化(最小二乗法等による解析も含む)を行うことで、推定フィールドを決定してもよい。さらに別の例では、推定フィールド決定部512は、主クラスタに属する候補フィールドからランダムに選択した候補フィールドを推定フィールドとして決定してもよい。このように、推定フィールド決定部512は、主クラスタに属する候補フィールドの統合又は選択に基づき、推定フィールドを決定する。
 次に、特徴点エラー検出部51の処理に基づく技術的効果について補足説明する。
 比較例として、候補フィールド生成部511による候補フィールドの生成及び推定フィールド決定部512による推定フィールドの決定に関する処理に代えて、RANSACに基づき尤もらしい構造特徴点及びラベルの推定を行う場合について考察する。この場合、比較例では、フィールド推定が可能となる適当な特徴点候補位置の組(ペア)を全ての構造特徴点からランダムに選んでいき、真の値らしい構造特徴点の位置及びラベルの組を特定する。この比較例では、なるべく多くの特徴点候補位置が構造特徴点の推定位置と一致するような対象フィールドを最適化により推定する。この場合、一度の試行の計算量が多く、求める正解精度によっては処理時間がかかるという問題がある。
 以上を勘案し、本実施形態に係る特徴点エラー検出部51は、複数の特徴点候補位置の組に基づく候補フィールドの算出を行った後、クラスタリングによって推定フィールドを決定する。これにより、特徴点エラー検出部51は、候補フィールドの並列処理を可能とし、RANSACを用いる比較例と比較して処理時間を短くすることができる。また、特徴点エラー検出部51は、誤って抽出された特徴点候補位置を除外して正確な対象フィールドの推定結果を得ることができる。
 (4-3)第1フィールド推定部
 次に、第1フィールド推定部52の処理について説明する。第1フィールド推定部52は、対象フィールドの構造特徴点が非等方的に(ある方向に偏って)変位する場合に、非等方的な変位を考慮した最適化を行うことで、対象フィールドの推定位置を決定する。ここで、構造特徴点が非等方的に(ある方向に偏って)変位する対象フィールドは、例えば、図5(A)及び図5(B)に示す(競技用)プールである。このような性質を有する対象フィールドは、剛体に準じた性質を有する準剛体とみなすことができる。
 図11は、プールに設けられたロープのうち構造特徴点として指定されるフロートを明示した図である。ここでは、構造特徴点となるフロートをハッチングしている。図11に示すように、ロープに設けられたフロートは、ロープが並ぶ方向(即ちプールの短手方向)には動きにくく、ロープが延びる方向(即ちプールの長手方向)に動きやすい。このように、プールが対象フィールドである場合には、構造特徴点の経時での変位は等方的ではない。以上を勘案し、第1フィールド推定部52は、非等方的に構造特徴点が経時変位する対象フィールドの推定において、非等方的な変位を考慮した最適化を行う。
 図12は、エラー特徴点候補位置を除外した特徴点候補位置に基づく最適化処理により求めた対象フィールドの推定位置をデバイス座標系において表した図である。ここでは、対象フィールドは、対象フィールドを格子状に分けた場合の各格子の頂点(計12個の頂点)を構造特徴点として有している。そして、第1フィールド推定部52は、3個のエラー特徴点候補位置を除く9個の特徴点候補位置「P2」~「P7」、「P10」~「P12」に基づき、対象フィールドの推定を行っている。この場合、第1フィールド推定部52は、位置姿勢変化量Apに基づき特定されるデバイス座標系での撮影位置(撮影向きを含む)とカメラ15のパラメータ(内部パラメータを含む)とに基づき、デバイス座標系に投影された特徴点候補位置P2~P7、P10~P12(図12に示される破線)を特定する。そして、候補フィールド生成部51は、構造データを参照することで、対象フィールドの構造特徴点間の距離等を表す相対位置関係(対象フィールドのモデル)を特定し、特定した構造特徴点間の位置関係が保たれるように、デバイス座標系での特徴点候補位置P2~P7、P10~P12及び推定フィールド全体を決定する。
 このように、第1フィールド推定部52は、使用する特徴点候補位置の候補ラベルに間違いがない、かつ、カメラ15の内部パラメータ等に起因した歪みを調整しているという前提において、特徴点情報IFにより示される少なくとも一部の特徴点候補位置及び候補ラベルの組と、構造データとに基づき、デバイス座標系での対象フィールドの推定を行う。
 次に、構造データに含まれる非等方性情報に基づく最適化処理について具体的に説明する。
 図13は、対象フィールドの等方的な最適化の解と非等方的な最適化の解とを夫々デバイス座標系のxz平面上において表した図である。ここでは、等方的な最適化の解を破線により示し、非等方的な最適化の解を実線により示している。なお、ここでは、第1フィールド推定部52は、軸調整部510と同一処理に基づき(即ち加速度センサ160の出力信号に基づき)、デバイス座標系のy軸を鉛直方向(即ち対象フィールドの法線方向)と平行になるように調整済みであるものとする。
 ここで、第1フィールド推定部52は、非等方性情報を参照し、対象フィールドの構造特徴点が非等方的に変位しないと判定した場合、等方的な最適化を行う。この場合、第1フィールド推定部52は、ラベルごとに、対象フィールドの構造特徴点の推定位置とデバイス座標系での特徴点候補位置との距離(即ち誤差)を算出し、そのラベルごとの距離の和を評価関数とし、当該評価関数を最小化する上述の推定位置の解を算出する。なお、この場合、第1フィールド推定部52は、構造データ記憶部22に記憶された構造データに基づく各構造特徴点の相対位置関係を満たすことを制約条件として上述の解の算出を行う。なお、例えば上述の制約条件を対象フィールドのモデルとみなして最小二乗法により上述の算出を行ってもよい。
 一方、第1フィールド推定部52は、非等方性情報を参照し、対象フィールドの構造特徴点が非等方的に変位すると判定した場合、非等方的な最適化を行う。この場合、まず、第1フィールド推定部52は、ラベルごとに、推定する対象フィールドの構造特徴点の推定位置とデバイス座標系での特徴点候補位置とのx軸方向及びz軸方向での距離(即ち誤差)を算出し、そのx軸方向の距離の和とz軸方向の距離の和を算出する。そして、第1フィールド推定部52は、算出したx軸方向の距離の和とz軸方向の距離の和とに対して夫々異なる重み係数(x軸に対応する係数を「ax」、y軸に対応する係数を「ay」とする。)を乗じた和を評価関数として設定する。これらの係数については、例えば非等方性情報に含まれていてもよく、変位が大きい方向の重み係数と変位が小さい方向の重み係数とが対象フィールドによらずに固定値に定められてもよい。そして、第1フィールド推定部52は、構造データに基づく各構造特徴点の相対位置関係を制約条件として、上述の評価関数を最小化する上述の推定位置の解を算出する。なお、例えば上述の制約条件を対象フィールドのモデルとみなして重み付き最小二乗法により上述の算出を行ってもよい。
 なお、上述した最適化の手法は一例であり、任意の評価関数に基づき座標軸ごとに等方的な又は非等方的な最適化を行ってもよい。
 そして、図13の例では、第1フィールド推定部52は、構造データの非等方性情報を参照し、x軸方向(即ち対象フィールドの短手方向)に構造特徴点が動きやすく、かつ、z軸方向(即ち対象フィールドの長手方向)に構造特徴点が動きにくいことを認識する。よって、第1フィールド推定部52は、非等方的な最適化において、x軸での誤差に対応する重み係数axを、y軸の誤差に対応する重み係数ayよりも高く設定し、x軸方向の位置合わせを重視するように対象フィールドの推定位置を決定する。その結果、非等方的な最適化の解に相当する対象フィールドの推定位置(実線参照)では、等方的な最適化の解に相当する対象フィールドの推定位置(破線参照)と比べて、x軸方向においてずれが少ない。
 このように、第1フィールド推定部52は、対象フィールドの構造特徴点の方向ごとの変位のしやすさを考慮し、的確に対象フィールドの推定を行うことができる。なお、第1フィールド推定部52は、構造データの非等方性情報を参照し、対象フィールドの構造特徴点に変位が生じない又は変位が等方的であると判定した場合には、上述した等方的な最適化を行うことで、対象フィールドの推定を行う。
 そして、第1フィールド推定部52は、対象フィールドの推定結果を、第1フィールド推定情報としてラベル修正部53に供給する。ここで、第1フィールド推定情報は、例えば、対象フィールドの構造特徴点のデバイス座標系での推定位置及びラベルの組と、これらの構造特徴点の推定位置から特定されるデバイス座標系での対象フィールドの推定面(「フィールド推定面」とも呼ぶ。)とを夫々示す情報である。
 なお、デバイス座標系のy軸を鉛直方向(即ち対象フィールドの法線方向)と平行になるように調整する処理は必須の処理ではなく、第1フィールド推定部52は、この処理を行わずに上述の最適化により対象フィールドの推定を行ってもよい。この場合、第1フィールド推定部52は、対象フィールドの構造特徴点の推定位置とデバイス座標系での特徴点候補位置との3次元空間における距離に基づき上述の最適化を行う。
 (4-4)ラベル修正部
 ラベル修正部53は、第1フィールド推定部52から供給される第1フィールド推定情報と、特徴点情報IFとに基づき、特徴点情報IFの候補ラベルの修正を行う。なお、以後では、カメラ15の内部パラメータ等に起因した歪みを調整済みであるものとする。
 図14(A)は、対象フィールドがテニスコートである場合の特徴点候補位置を候補ラベルの番号と共に第1フィールド推定情報に基づくフィールド推定面上において明示した図である。ここでは、前提として、図12等を用いて説明した第1フィールド推定部52の処理等を適用することにより、カメラ15の撮影位置及びパラメータ等に基づき、各特徴点候補位置はデバイス座標系での位置に変換されているものとする。なお、図14(A)では、一例として、図4(A)に示されるテニスコートの第1のラベル定義例に基づくラベルが各構造特徴点に割り当てられている。図14(A)では、エラー特徴点候補位置を破線の丸印により示し、その他の特徴点候補位置を実線の丸印により示している。ここでは、エラー特徴点候補位置は、候補ラベル7及び候補ラベル8に対応する特徴点候補位置となっている。
 図14(B)は、第1フィールド推定部52による候補ラベル修正後の特徴点候補位置及び候補ラベルの番号の組を第1フィールド推定情報に基づくフィールド推定面上において明示した図である。この場合、第1フィールド推定部52は、第1フィールド推定情報に基づき特定される構造特徴点及びラベルの組と、特徴点情報IFが示す特徴点候補位置及び候補ラベルの組とを比較する。この場合、第1フィールド推定部52は、特徴点情報IFが示す各特徴点候補位置について、第1フィールド推定情報が示すフィールド推定面上での投影位置(例えば、図12における特徴点候補位置P2~P7、P10~P12)を、デバイス座標系での各特徴点候補位置として算出する。この場合、第1フィールド推定部52は、カメラ15の内部パラメータ等に起因した歪みを考慮してデバイス座標系での各特徴点候補位置の算出を行う。
 そして、第1フィールド推定部52は、ラベル0~6及び9~13について、第1フィールド推定情報に基づく構造特徴点の位置と同一ラベルに対応するデバイス座標系での特徴点候補位置との距離が所定閾値以内となることから、これらの特徴点候補位置は第1フィールド推定情報と整合する(即ち第1フィールド推定情報が示す構造特徴点の位置と一致する)と判定する。上述の所定距離は、例えば同一位置とみなせる距離であり、適合値が予め記憶部14等に記憶されている。
 一方、第1フィールド推定部52は、ラベル7及びラベル8について、第1フィールド推定情報に基づく構造特徴点の位置と同一ラベルに対応するデバイス座標系での特徴点候補位置との距離が所定閾値より長くなると判定する。よって、この場合、第1フィールド推定部52は、これらの特徴点候補位置は第1フィールド推定情報と整合しないと判定する。
 なお、第1フィールド推定部52は、各特徴点候補位置が第1フィールド推定情報と整合するか否かを、特徴点エラー検出部51によるエラー特徴点候補位置の検出結果に基づき判定してもよい。この場合、第1フィールド推定部52は、特徴点エラー検出部51が検出したエラー特徴点候補位置については第1フィールド推定情報と整合しないと判定し、特徴点エラー検出部51が検出したエラー特徴点候補位置以外の特徴点候補位置については第1フィールド推定情報と整合すると判定する。
 次に、第1フィールド推定部52は、第1フィールド推定情報と整合しない特徴点候補位置(ここでは候補ラベル7、8の特徴点候補位置)のうち、候補ラベルを修正することで第1フィールド推定情報と整合する特徴点候補位置の有無をさらに判定する。そして、第1フィールド推定部52は、候補ラベル7のデバイス座標系での特徴点候補位置と第1フィールド推定情報に基づく任意の構造特徴点の位置との距離が上述の所定閾値より長くなることから、候補ラベル7の特徴点候補位置については候補ラベルの修正では誤りを修正できないと判定する。
 一方、第1フィールド推定部52は、候補ラベル8のデバイス座標系での特徴点候補位置と第1フィールド推定情報に基づくラベル7の構造特徴点の位置との距離が上述の所定閾値未満となることから、候補ラベル8の特徴点候補位置については候補ラベルを7に修正することにより誤りを修正できる(即ち第1フィールド推定情報と整合する)と判定する。よって、この場合、第1フィールド推定部52は、候補ラベル8の特徴点候補位置がラベルエラー特徴点候補位置であると判定し、図14(B)に示すように、候補ラベル8の特徴点候補位置の候補ラベルを7に変更する。これにより、第1フィールド推定部52は、特徴点情報IFの誤りを好適に修正することができる。
 このように、第1フィールド推定部52は、第1フィールド推定情報に整合しない特徴点候補位置のうち、候補ラベルの修正のみで誤りを修正可能なラベルエラー特徴点候補位置の候補ラベルを修正する。これにより、第1フィールド推定部52は、特徴点候補位置を好適に修正することができる。
 その後、ラベル修正部53は、例えば、第1フィールド推定部52により修正された特徴点情報IFに基づき、第1フィールド推定部52と同一処理を行うことで、第2フィールド推定情報を生成する。ここで、第2フィールド推定情報の生成時では、ラベル修正部53は、候補ラベルの誤りが適切に修正された特徴点情報IFに基づき対象フィールドの推定を行うため、第1フィールド推定部52が生成する第1フィールド推定情報よりも高精度な第2フィールド推定情報を好適に生成することができる。
 また、フィールド推定部46は、誤り量又は/及びラベル修正部53による修正後に使用する構造特徴点の数等によってフィールド推定の成功又は失敗の判定を行ってもよい。例えば、フィールド推定部46は、以下の(ケースA)、(ケースB)、(ケースC)のいずれかに該当する場合に、フィールド推定を中止し、フィールド推定が失敗したと判定する。
(ケースA)ラベル修正部53により修正した構造特徴点を含めた第2フィールド推定部54によるフィールド推定に使用する構造特徴点の総数「n」が所定の閾値以下の場合、
(ケースB)特徴抽出部42によって得られた特徴点数「Np」(即ち特徴点情報IFが示す特徴点数)に対する使用総数nの割合(n/Np)が所定の閾値以下の場合、
(ケースC)修正した構造特徴点のラベルとフィールド推定に使用するその他の構造特徴点のラベルとが構造データ上で同一直線上にある場合(例えば図4(A)のラベル10、11、12、13)、言い換えると、構造的に同一直線上となるように配置された構造特徴点のみを使用してフィールド推定を行う場合。
 そして、フィールド推定部46は、(ケースA)、(ケースB)、(ケースC)のいずれかに該当し、フィールド推定を中止した場合、新たに取得される撮像画像Imに基づくフィールド推定処理を実行する。なお、(ケースC)の場合にフィールド推定を中止することで、構造的に同一直線上の構造特徴点のみを使用してフィールド推定を行う場合はその他の場合に対して著しく精度が落ちるため、精度が低いフィールド推定の実行を防ぐことができる。また、フィールド推定部46は、第2フィールド推移部54による推定処理後に(ケースA)、(ケースB)の該当有無を判定し、実行したフィールド推定が失敗したか否か判定してもよい。即ち、この場合、ラベル修正部53の構造特徴点の位置との距離比較と同様に、フィールド推定部46は、特徴抽出部42によって得られた構造特徴点の位置とフィールド推定後の構造特徴点の位置との整合性を求め、整合した構造特徴点について(ケースA)、(ケースB)の該当有無を判定してもよい。
 ここで、第1フィールド推定部52の処理に基づく効果について補足説明する。一般的に、テニスコートなどの構造特徴点同士が似ている場合には、候補ラベルのみに誤りがある特徴抽出結果が生成される場合がある。このような場合において、表示装置1は、特徴抽出結果を好適に修正でき、修正後の特徴抽出結果に基づくキャリブレーション処理等を高精度に実行することが可能となる。
 (5)処理フロー
 図15は、第1実施形態において制御部17が実行する仮想オブジェクトの表示処理に関する処理概要を示すフローチャートの一例である。
 まず、制御部17は、表示装置1の起動を検知する(ステップS11)。この場合、制御部17は、表示装置1の起動時の表示装置1の姿勢及び位置を基準としたデバイス座標系を設定する(ステップS12)。その後、制御部17は、カメラ15が生成する撮像画像Imを取得すると共に、位置姿勢検出センサ16が出力する検出信号に基づく位置姿勢変化量Apを取得する(ステップS13)。制御部17は、ステップS13で取得した撮像画像Im及び位置姿勢変化量Apの組合せを、センサデータ記憶部20に記憶する。
 そして、制御部17は、仮想オブジェクトの表示要求があるか否か判定する(ステップS14)。例えば、仮想オブジェクト取得部41は、興行者が管理する図示しないサーバ装置から仮想オブジェクトの表示を指示する配信情報を受信した場合に、仮想オブジェクトの表示要求があると判定する。そして、仮想オブジェクトの表示要求がない場合(ステップS14;No)、引き続きステップS13において撮像画像Im及び位置姿勢変化量Apの取得を行う。
 一方、仮想オブジェクトの表示要求があった場合(ステップS14;Yes)、制御部17は、キャリブレーション処理を実行する(ステップS15)。このキャリブレーション処理の手順の詳細は図16を参照して後述する。
 次に、制御部17の反映部44は、ステップS15のキャリブレーション処理で得られた座標変換情報Icに基づき、表示要求において指定された仮想オブジェクト及び表示位置に対応する仮想オブジェクトを表示するための表示信号Sdを生成する(ステップS16)。なお、この場合、実際には、制御部17は、種々の従来のAR表示製品と同様、ユーザの視線方向及び位置姿勢変化量Ap等を考慮してデバイス座標系においてユーザが視認する空間を認識し、当該空間内において仮想オブジェクトが指定された位置で表示されるように表示信号Sdを生成する。そして、制御部17の光源制御部45は、表示信号Sdに基づき、光源ユニット10の射出制御を行う(ステップS17)。
 なお、図15に示すフローチャートの処理手順は一例であり、この処理手順に対し種々の変更を行うことができる。
 例えば、制御部17は、ステップS15のキャリブレーション処理を仮想オブジェクト表示要求がある度に実行しているが、これに限られない。これに代えて、制御部17は、前回のキャリブレーション処理から所定時間以上経過した場合に限り、キャリブレーション処理を行ってもよい。このように、制御部17は、キャリブレーション処理を、表示装置1の起動後少なくとも1度行えばよい。
 また、制御部17は、表示装置1の起動時の表示装置1の位置及び姿勢を基準としてデバイス座標系を決定しているが、これに限られない。これに代えて、例えば、制御部17は、表示装置1の起動後に最初に表示要求があったとき(即ち最初にキャリブレーション処理を実行したとき)の表示装置1の位置及び姿勢を基準として、デバイス座標系を決定してもよい。他の例では、制御部17は、表示要求がある度に、当該表示要求時(即ちキャリブレーション処理実行時)の表示装置1の位置及び姿勢を基準としてデバイス座標系を再設定してもよい。この場合、後述する座標変換情報Icの生成処理には位置姿勢変化量Apを使用する必要がない。
 図16は、図15のステップS15のキャリブレーション処理の詳細な処理手順を示すフローチャートの一例である。
 まず、制御部17の特徴抽出部42は、センサデータ記憶部20等から取得する撮像画像Imに基づき、対象フィールドの各構造特徴点に対応する特徴点候補位置及び候補ラベルの組を示す特徴点情報IFを生成する(ステップS21)。この場合、特徴抽出部42は、パラメータ記憶部21から取得するパラメータに基づき特徴抽出器を構成し、当該特徴抽出器に撮像画像Imを入力する。そして、特徴抽出部42は、特徴抽出器が出力する情報に基づき、特徴点情報IFを生成する。
 次に、座標変換情報生成部43のフィールド推定部46は、特徴点エラー検出処理を実行する(ステップS22)。特徴点エラー検出処理の詳細については、図17を参照して説明する。
 さらに、フィールド推定部46は、第1フィールド推定処理を実行する(ステップS23)。第1フィールド推定処理の詳細については、図18を参照して説明する。
 そして、フィールド推定部46は、ラベル修正処理を実行する(ステップS24)。ラベル修正処理の詳細については、図19を参照して説明する。そして、フィールド推定部46は、第2フィールド推定処理を実行する(ステップS25)。これにより、フィールド推定部46は、誤りが修正された特徴点情報IFに基づきデバイス座標系での対象フィールドを高精度に推定した結果を表す第2フィールド推定情報を生成する。
 そして、座標変換情報生成部43は、フィールド推定部46が生成した第2フィールド推定情報に基づき、デバイス座標系からフィールド座標系へ変換するための座標変換情報Icを生成する(ステップS26)。この場合、座標変換情報生成部43は、構造特徴点のラベル毎に、ステップS25で取得した第2フィールド推定情報が示す各構造特徴点のデバイス座標系での検出位置と、構造データに含まれる登録位置情報が示すフィールド座標系の構造特徴点の位置と、を夫々対応付けて照合を行い、ラベル毎に照合した位置同士が一致するような(即ちラベル毎の位置の誤差が最小となる)座標変換情報Icを算出する。
 このように、表示装置1は、キャリブレーション処理において撮像画像Imから予め登録されている(即ち既にラベルが登録された)構造特徴点のみを抽出した情報を、構造データに登録された構造特徴点の情報と照合させる。これにより、座標変換情報Icを算出するための照合処理に要する計算量を大幅に削減し、かつ、撮像画像Imに含まれるノイズ(即ち対象フィールド以外の特徴点)の抽出に起因した影響等を受けないロバストな座標変換情報Icの算出が可能となる。また、本実施形態では、上述の照合は、特徴抽出処理の誤りが好適に修正された構造特徴点の推定情報に基づき実行されるため、正確な座標変換情報Icの算出が可能となる。
 図17は、ステップS22において実行される特徴点エラー検出処理の詳細を示すフローチャートの一例である。
 まず、特徴点エラー検出部51は、加速度センサ160の出力信号等に基づき鉛直方向を特定し、特定した鉛直方向に基づきデバイス座標系とフィールド座標系との1軸(y軸とy^軸)が平行になるようにデバイス座標系等を調整する(ステップS31)。
 次に、特徴点エラー検出部51は、構造データと、選択した2点の特徴点候補位置とに基づきデバイス座標系における候補フィールドを生成する処理を、複数回実行する(ステップS32)。これにより、上述の処理実行した回数分の候補フィールドを生成する。なお、特徴点エラー検出部51は、候補フィールドを生成する処理を並列的に実行してもよい。
 次に、特徴点エラー検出部51は、ステップS32において生成した複数の候補フィールドのクラスタリングを行う(ステップS33)。この場合、特徴点エラー検出部51は、任意のクラスタリング手法により、複数の候補フィールドに対する1又は複数のクラスタを生成する。
 そして、特徴点エラー検出部51は、候補フィールドが属する数が最も大きい主クラスタの候補フィールドに基づき、推定フィールドを決定する(ステップS34)。そして、特徴点エラー検出部51は、推定フィールドに各特徴点候補位置を投影し、投影した特徴点候補位置と推定フィールドの構造特徴点とをラベルごとに比較することで、エラー特徴点候補位置を検出する(ステップS35)。
 図18は、ステップS23において実行される第1フィールド推定処理の詳細を示すフローチャートの一例である。
 まず、第1フィールド推定部52は、加速度センサ160の出力信号等に基づき鉛直方向を特定し、特定した鉛直方向に基づきデバイス座標系とフィールド座標系との1軸(y軸とy^軸)が平行になるようにデバイス座標系等を調整する(ステップS41)。なお、第1フィールド推定部52は、ステップS31の処理に基づき既にデバイス座標系とフィールド座標系との1軸が平行になっている場合には、ステップS41の処理を実行しなくともよい。
 次に、第1フィールド推定部52は、構造データ記憶部22が記憶する構造データに含まれる非等方性情報を取得する(ステップS42)。そして、第1フィールド推定部52は、非等方性情報と、エラー特徴点候補位置以外の複数の特徴点候補位置とに基づき、対象フィールドを推定するための最適化を行う(ステップS43)。この場合、第1フィールド推定部52は、非等方性情報に基づき、対象フィールドの構造特徴点が非等方に変位すると判定した場合には、非等方の(即ち方向によって重みが異なる)最適化を行う。一方、第1フィールド推定部52は、非等方性情報に基づき、対象フィールドの構造特徴点が等方に変位すると判定した場合には、等方の(即ち方向によって重みが変わらない)最適化を行う。そして、第1フィールド推定部52は、上述の最適化により得られた対象フィールドの推定結果を表す第1フィールド推定情報を生成する(ステップS44)。
 図19は、ステップS24において実行されるラベル修正処理の詳細を示すフローチャートの一例である。
 まず、ラベル修正部53は、第1フィールド推定部52がステップS44で生成した第1フィールド推定情報に基づき、デバイス座標系での特徴点候補位置を特定する(ステップS51)。そして、ラベル修正部53は、第1フィールド推定情報と整合しない特徴点候補位置が存在するか否か判定する(ステップS52)。この場合、例えば、ラベル修正部53は、ステップS35で検出したエラー特徴点候補位置が存在する場合、第1フィールド推定情報と整合しない特徴点候補位置が存在すると判定する。他の例では、ラベル修正部53は、第1フィールド推定情報から特定される各構造特徴点の位置及びラベルと、ステップS51で特定したデバイス座標系での特徴点候補位置及びラベルとを比較することで、上述の誤った特徴点候補位置の存否を判定する。そして、ラベル修正部53は、第1フィールド推定情報と整合しない特徴点候補位置が存在しない場合(ステップS52;No)、特徴点情報IFを修正する必要がないことから、フローチャートの処理を終了する。
 一方、ラベル修正部53は、第1フィールド推定情報と整合しない特徴点候補位置が存在する場合(ステップS52;Yes)、対応する候補ラベルの変更により当該特徴点候補位置が第1フィールド推定情報と整合するか否か(即ちラベルエラー特徴点候補位置が存在するか否か)判定する(ステップS53)。そして、ラベル修正部53は、対応する候補ラベルの変更により当該特徴点候補位置が第1フィールド推定情報と整合すると判定した場合(ステップS53;Yes)、当該特徴点候補位置の候補ラベルを修正する(ステップS54)。その後、ラベル修正部53は、ステップS54での候補ラベルの修正を反映した特徴点情報IFを生成する。一方、対応する候補ラベルの変更によっても対象の特徴点候補位置が第1フィールド推定情報と整合しない(即ちラベルエラー特徴点候補位置が存在しない)と判定した場合(ステップS53;No)、ラベル修正部53はフローチャートの処理を終了する。なお、この場合、ラベル修正部53は、ステップS52で検出した特徴点候補位置は誤って位置が推定されているとみなし、当該特徴点候補位置を特徴点情報IFから削除したりエラー特徴点候補位置である旨のフラグを付すなどの処理を行う。
 <第2実施形態>
 図20は、第2実施形態における表示システムの構成を示す。図20に示すように、第2実施形態に係る表示システムは、表示装置1Aと、サーバ装置2とを有する。第2実施形態では、キャリブレーション処理等を、表示装置1Aの代わりにサーバ装置2が実行する点において、第1実施形態と異なる。以後では、第1実施形態と同様の構成要素については適宜同一符号を付し、その説明を省略する。
 表示装置1Aは、サーバ装置2がキャリブレーション処理等を行うために必要な情報であるアップロード信号「S1」をサーバ装置2に送信する。この場合、アップロード信号S1には、例えば、カメラ15が生成する撮像画像Im及び位置姿勢検出センサ16の出力に基づき検出される位置姿勢変化量Apが含まれている。そして、表示装置1Aは、サーバ装置2から送信される配信信号「S2」を受信した場合、配信信号S2に基づき、光源ユニット10の光の射出制御を行うことで、仮想オブジェクトを表示する。例えば、配信信号S2は、第1実施形態の表示信号Sdに相当する情報を含んでおり、表示装置1Aは、配信信号S2の受信後、第1実施形態の光源制御部45と同様の処理を行うことで、光源ユニット10に仮想オブジェクトを表示するための光を射出させる。
 サーバ装置2は、例えば、興行者が管理するサーバ装置であり、表示装置1Aから受信するアップロード信号S1に基づき、配信信号S2の生成及び表示装置1Aへの配信信号S2の配信を行う。図21は、サーバ装置2のブロック図である。サーバ装置2は、入力部26と、制御部27と、通信部28と、記憶部29とを有する。
 記憶部29は、制御部27がサーバ装置2の制御に必要な種々の情報を記憶する不揮発性メモリである。記憶部29には、制御部27が実行するプログラムが記憶される。記憶部29は、センサデータ記憶部20と、パラメータ記憶部21と、構造データ記憶部22とを有する。センサデータ記憶部20には、制御部27の制御に基づき、アップロード信号S1に含まれる撮像画像Im及び位置姿勢変化量Apが記憶される。なお、記憶部29は、サーバ装置2に接続又は内蔵されたハードディスクなどの外部記憶装置であってもよく、フラッシュメモリなどの記憶媒体であってもよい。また、記憶部29は、サーバ装置2とデータ通信を行うサーバ装置(即ち、他の装置から参照可能に情報を記憶する装置)であってもよい。また、この場合、記憶部29は、複数のサーバ装置から構成され、センサデータ記憶部20と、パラメータ記憶部21と、構造データ記憶部22とを分散して記憶してもよい。
 制御部27は、例えばCPU、GPUなどのプロセッサ、作業メモリとして機能する揮発性メモリなどを有しており、サーバ装置2の全体的な制御を行う。制御部27は、入力部26へのユーザ入力等に基づき、仮想オブジェクトとして表示させる仮想オブジェクト及び表示位置の情報(即ち第1実施形態の指定表示情報Idに相当する情報)を生成する。さらに、制御部27は、センサデータ記憶部20、パラメータ記憶部21、構造データ記憶部22を参照することで、キャリブレーション処理を実行し、配信信号S2を生成する。このように、制御部27は、図3に示す仮想オブジェクト取得部41、特徴抽出部42、座標変換情報生成部43、反映部44に相当する機能を含む。
 図22は、第2実施形態においてサーバ装置2の制御部27が実行する処理手順を示すフローチャートの一例である。
 まず、制御部27は、通信部28を介し、撮像画像Im及び位置姿勢変化量Apなどを含むアップロード信号S1を表示装置1Aから受信する(ステップS61)。この場合、制御部27は、アップロード信号S1に基づきセンサデータ記憶部20に記憶させるデータを更新する。そして、制御部27は、仮想オブジェクトの表示タイミングか否か判定する(ステップS62)。そして、制御部27は、表示タイミングではない場合(ステップS62;No)、引き続きステップS61においてアップロード信号S1を表示装置1Aから受信する。
 一方、制御部27は、表示タイミングである場合(ステップS62;Yes)、ステップS61で受信した最新のアップロード信号S1等に基づき、キャリブレーション処理を実行する。この場合、制御部27は、図16に示されるフローチャートを実行する。そして、制御部27は、キャリブレーション処理で得られた座標変換情報Icに基づき、仮想オブジェクトを表示装置1Aが表示するための配信信号S2を生成する(ステップS64)。そして、制御部27は、生成した配信信号S2を、通信部28により表示装置1Aに送信する(ステップS65)。その後、配信信号S2を受信した表示装置1Aは、配信信号S2に基づき光源ユニット10を制御することで、仮想オブジェクトを表示する。
 以上のように、第2実施形態によっても、表示システムは、表示装置1Aによる仮想オブジェクトの表示に必要な座標変換情報Icを的確に算出し、仮想オブジェクトを好適にユーザに視認させることができる。
 なお、第2実施形態において、キャリブレーション処理等をサーバ装置2が行う代わりに、表示装置1Aが行ってもよい。この場合、表示装置1Aは、サーバ装置2からキャリブレーション処理に必要な情報を適宜受信することで、図16に示すフローチャートの処理を実行する。この態様であっても、表示システムは、表示装置1Aのユーザに好適に仮想オブジェクトを視認させることができる。
 <第3実施形態>
 図23は、第3実施形態における情報処理装置1Xの概略構成を示す。図23に示すように、情報処理装置1Xは、主に、特徴点情報取得手段42Xと、フィールド推定情報取得手段53Xaと、ラベル修正手段53Xbとを有する。情報処理装置1Xは、例えば、第1実施形態における表示装置1又は表示装置1の制御部17若しくは第2実施形態におけるサーバ装置2の制御部27により実現される。なお、情報処理装置1Xは、複数の装置から構成されてもよい。
 特徴点情報取得手段42Xは、対象となるフィールドの少なくとも一部を含む画像に基づき決定された、フィールドの複数の特徴点の候補位置及び候補ラベルを示す特徴点情報を取得する。特徴点情報取得手段42Xは、特徴点情報取得手段42X以外の処理ブロック(情報処理装置1X以外の装置を含む)が生成した特徴点情報を受信してもよく、特徴点情報取得手段42Xが特徴点情報を生成してもよい。後者の場合、特徴点情報取得手段42Xは、例えば、第1実施形態又は第2実施形態における特徴抽出部42とすることができる。
 フィールド推定情報取得手段53Xaは、画像を撮影するカメラを有する表示装置が基準とする座標系である第1座標系における複数の特徴点の位置及びラベルの推定結果を示すフィールド推定情報を取得する。フィールド推定情報は、例えば、第1実施形態又は第2実施形態における「第1フィールド推定情報」とすることができる。
 ラベル修正手段53Xbは、特徴点情報と、フィールド推定情報とに基づき、候補ラベルを修正する。フィールド推定情報取得手段53Xa及びラベル修正手段53Xbは、例えば、第1実施形態又は第2実施形態におけるラベル修正部53とすることができる。
 図24は、第3実施形態におけるフローチャートの一例である。特徴点情報取得手段42Xは、対象となるフィールドの少なくとも一部を含む画像に基づき決定された、フィールドの複数の特徴点の候補位置及び候補ラベルを示す特徴点情報を取得する(ステップS71)。フィールド推定情報取得手段53Xaは、画像を撮影するカメラを有する表示装置が基準とする座標系である第1座標系における複数の特徴点の位置及びラベルの推定結果を示すフィールド推定情報を取得する(ステップS72)。ラベル修正手段53Xbは、特徴点情報と、フィールド推定情報とに基づき、候補ラベルを修正する(ステップS73)。
 第3実施形態によれば、情報処理装置1Xは、特徴点情報を好適に修正することができ、特徴点情報を利用する種々の処理の精度を向上させることができる。
 <第4実施形態>
 図25は、第4実施形態における情報処理装置1Yの概略構成を示す。図25に示すように、情報処理装置1Yは、主に、特徴点情報取得手段42Yと、候補フィールド生成手段511Yと、推定フィールド決定手段512Yとを有する。情報処理装置1Yは、例えば、第1実施形態における表示装置1又は表示装置1の制御部17若しくは第2実施形態におけるサーバ装置2の制御部27により実現される。なお、情報処理装置1Yは、複数の装置から構成されてもよい。
 特徴点情報取得手段42Yは、対象となるフィールドの少なくとも一部を含む画像に基づき決定された、フィールドの特徴点の候補位置及び候補ラベルの組を示す特徴点情報を取得する。特徴点情報取得手段42Yは、特徴点情報取得手段42Y以外の処理ブロック(情報処理装置1Y以外の装置を含む)が生成した特徴点情報を受信してもよく、特徴点情報取得手段42Yが特徴点情報を生成してもよい。後者の場合、特徴点情報取得手段42Yは、例えば、第1実施形態又は第2実施形態における特徴抽出部42とすることができる。
 候補フィールド生成手段511Yは、少なくとも2つの組と、フィールドの構造に関する構造データとに基づき、画像を撮影するカメラを有する表示装置が基準とする座標系である第1座標系におけるフィールドの候補を表す候補フィールドを生成する。候補フィールド生成手段511Yは、例えば、第1実施形態又は第2実施形態における候補フィールド生成部511とすることができる。
 推定フィールド決定手段512Yは、生成された複数の候補フィールドに基づき、第1座標系において推定されたフィールドを表す推定フィールドを決定する。推定フィールド決定手段512Yは、例えば、第1実施形態又は第2実施形態における推定フィールド決定部512とすることができる。
 図26は、第4実施形態におけるフローチャートの一例である。特徴点情報取得手段42Yは、対象となるフィールドの少なくとも一部を含む画像に基づき決定された、フィールドの特徴点の候補位置及び候補ラベルの組を示す特徴点情報を取得する(ステップS81)。候補フィールド生成手段511Yは、少なくとも2つの組と、フィールドの構造に関する構造データとに基づき、画像を撮影するカメラを有する表示装置が基準とする座標系である第1座標系におけるフィールドの候補を表す候補フィールドを生成する(ステップS82)。推定フィールド決定手段512Yは、生成された複数の候補フィールドに基づき、第1座標系において推定されたフィールドを表す推定フィールドを決定する(ステップS83)。
 第4実施形態によれば、情報処理装置1Yは、特徴点情報が示す候補位置及び候補ラベルの組に誤りが存在する場合であっても、第1座標系におけるフィールドを高精度に推定することができる。
 なお、上述した各実施形態において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータであるプロセッサ等に供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記憶媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記憶媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記憶媒体(例えば光磁気ディスク)、CD-ROM(Read Only Memory)、CD-R、CD-R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
 以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。すなわち、本願発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。また、引用した上記の特許文献等の各開示は、本書に引用をもって繰り込むものとする。
 1、1A 表示装置
 2 サーバ装置
 3 学習装置
 4 情報処理装置
 10 光源ユニット
 11 光学素子
 12 通信部
 13 入力部
 14 記憶部
 15 カメラ
 16 位置姿勢検出センサ
 20 センサデータ記憶部
 21 パラメータ記憶部
 22 構造データ記憶部

Claims (10)

  1.  対象となるフィールドの少なくとも一部を含む画像に基づき決定された、前記フィールドの特徴点の候補位置及び候補ラベルの組を示す特徴点情報を取得する特徴点情報取得手段と、
     少なくとも2つの前記組と、前記フィールドの構造に関する構造データとに基づき、前記画像を撮影するカメラを有する表示装置が基準とする座標系である第1座標系における前記フィールドの候補を表す候補フィールドを生成する候補フィールド生成手段と、
     生成された複数の前記候補フィールドに基づき、前記第1座標系において推定された前記フィールドを表す推定フィールドを決定する推定フィールド決定手段と、
    を有する情報処理装置。
  2.  前記推定フィールド決定手段は、複数の前記候補フィールドのクラスタリングを行い、最も前記候補フィールドが属する数が多い主クラスタに属する前記候補フィールドに基づき、前記推定フィールドを決定する、請求項1に記載の情報処理装置。
  3.  前記推定フィールド決定手段は、前記主クラスタに属する前記候補フィールドの統合又は選択に基づき、前記推定フィールドを決定する、請求項2に記載の情報処理装置。
  4.  前記表示装置に設けられるセンサの出力信号に基づき、前記構造データにおいて採用される座標系である第2座標系と前記第1座標系との1つの軸を平行にする軸調整手段をさらに有する、請求項1~3のいずれか一項に記載の情報処理装置。
  5.  前記推定フィールドに基づき、前記候補ラベルの間違いを検出する間違いラベル検出手段をさらに有する、請求項1~4のいずれか一項に記載の情報処理装置。
  6.  前記候補フィールド生成手段は、前記少なくとも2つの前記組と、前記構造データに基づく前記特徴点間の長さと、前記カメラの撮影位置及びパラメータと、に基づき、前記候補フィールドを生成する、請求項1~5のいずれか一項に記載の情報処理装置。
  7.  前記推定フィールドと、前記構造データとに基づき、前記第1座標系と、前記構造データにおいて採用される座標系である第2座標系との間の座標変換に関する座標変換情報を生成する座標変換情報生成手段をさらに有する、請求項1~6のいずれか一項に記載の情報処理装置。
  8.  前記情報処理装置は、風景に重ねて仮想オブジェクトを表示する前記表示装置であって、
     前記仮想オブジェクトを表示するための表示光を射出する光源ユニットと、
     前記表示光の少なくとも一部を反射することで、前記仮想オブジェクトを風景に重ねて観察者に視認させる光学素子と、
    をさらに有する、請求項1~7のいずれか一項に記載の情報処理装置。
  9.  コンピュータが、
     対象となるフィールドの少なくとも一部を含む画像に基づき決定された、前記フィールドの特徴点の候補位置及び候補ラベルの組を示す特徴点情報を取得し、
     少なくとも2つの前記組と、前記フィールドの構造に関する構造データとに基づき、前記画像を撮影するカメラを有する表示装置が基準とする座標系である第1座標系における前記フィールドの候補を表す候補フィールドを生成し、
     生成された複数の前記候補フィールドに基づき、前記第1座標系において推定された前記フィールドを表す推定フィールドを決定する、
    制御方法。
  10.  対象となるフィールドの少なくとも一部を含む画像に基づき決定された、前記フィールドの特徴点の候補位置及び候補ラベルの組を示す特徴点情報を取得し、
     少なくとも2つの前記組と、前記フィールドの構造に関する構造データとに基づき、前記画像を撮影するカメラを有する表示装置が基準とする座標系である第1座標系における前記フィールドの候補を表す候補フィールドを生成し、
     生成された複数の前記候補フィールドに基づき、前記第1座標系において推定された前記フィールドを表す推定フィールドを決定する処理をコンピュータに実行させるプログラムを格納する記憶媒体。
PCT/JP2021/025327 2021-07-05 2021-07-05 情報処理装置、制御方法及び記憶媒体 WO2023281587A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2023532886A JPWO2023281587A5 (ja) 2021-07-05 情報処理装置、制御方法及びプログラム
PCT/JP2021/025327 WO2023281587A1 (ja) 2021-07-05 2021-07-05 情報処理装置、制御方法及び記憶媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/025327 WO2023281587A1 (ja) 2021-07-05 2021-07-05 情報処理装置、制御方法及び記憶媒体

Publications (1)

Publication Number Publication Date
WO2023281587A1 true WO2023281587A1 (ja) 2023-01-12

Family

ID=84801525

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/025327 WO2023281587A1 (ja) 2021-07-05 2021-07-05 情報処理装置、制御方法及び記憶媒体

Country Status (1)

Country Link
WO (1) WO2023281587A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012137933A (ja) * 2010-12-27 2012-07-19 Kokusai Kogyo Co Ltd 被写地物の位置特定方法とそのプログラム、及び表示地図、並びに撮影位置取得方法とそのプログラム、及び撮影位置取得装置
JP2019134428A (ja) * 2019-02-13 2019-08-08 キヤノン株式会社 制御装置、制御方法、及び、プログラム
JP2020042447A (ja) * 2018-09-07 2020-03-19 Kddi株式会社 不動物体情報から端末位置を推定する装置、プログラム及び方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012137933A (ja) * 2010-12-27 2012-07-19 Kokusai Kogyo Co Ltd 被写地物の位置特定方法とそのプログラム、及び表示地図、並びに撮影位置取得方法とそのプログラム、及び撮影位置取得装置
JP2020042447A (ja) * 2018-09-07 2020-03-19 Kddi株式会社 不動物体情報から端末位置を推定する装置、プログラム及び方法
JP2019134428A (ja) * 2019-02-13 2019-08-08 キヤノン株式会社 制御装置、制御方法、及び、プログラム

Also Published As

Publication number Publication date
JPWO2023281587A1 (ja) 2023-01-12

Similar Documents

Publication Publication Date Title
KR101761751B1 (ko) 직접적인 기하학적 모델링이 행해지는 hmd 보정
JP5388932B2 (ja) 情報処理装置およびその制御方法
US10839544B2 (en) Information processing apparatus, information processing method, and non-transitory computer readable storage medium
EP3008695B1 (en) Robust tracking using point and line features
JP7494862B2 (ja) 情報処理装置、制御方法及びプログラム
US20200265633A1 (en) Image processing apparatus, image processing method, and storage medium
EP2640057A1 (en) Image processing device, image processing method and program
US20120069018A1 (en) Ar process apparatus, ar process method and storage medium
WO2017126172A1 (ja) 情報処理装置、情報処理方法、及び記録媒体
US10438412B2 (en) Techniques to facilitate accurate real and virtual object positioning in displayed scenes
US20210215940A1 (en) End-to-end artificial reality calibration testing
JP6584208B2 (ja) 情報処理装置、情報処理方法、プログラム
JP7147753B2 (ja) 情報処理装置、情報処理方法、及びプログラム
JP2018014579A (ja) カメラトラッキング装置および方法
WO2018189796A1 (ja) 認識装置、認識システム、認識方法および認識プログラム
US20220383589A1 (en) Image processing apparatus, image processing method, method for generating learned model, and storage medium
WO2023119412A1 (ja) 情報処理装置、制御方法及び記憶媒体
JP7364052B2 (ja) 情報処理装置、制御方法及びプログラム
WO2023281587A1 (ja) 情報処理装置、制御方法及び記憶媒体
WO2023281585A1 (ja) 情報処理装置、制御方法及び記憶媒体
US11138760B2 (en) Display systems and methods for correcting drifts in camera poses
WO2020149149A1 (en) Information processing apparatus, information processing method, and program
WO2023281593A1 (ja) 情報処理装置、制御方法及び記憶媒体
JP7388451B2 (ja) 情報処理装置、制御方法及びプログラム
US20230120092A1 (en) Information processing device and information processing 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: 21949223

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2023532886

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21949223

Country of ref document: EP

Kind code of ref document: A1