WO2023119412A1 - 情報処理装置、制御方法及び記憶媒体 - Google Patents
情報処理装置、制御方法及び記憶媒体 Download PDFInfo
- Publication number
- WO2023119412A1 WO2023119412A1 PCT/JP2021/047293 JP2021047293W WO2023119412A1 WO 2023119412 A1 WO2023119412 A1 WO 2023119412A1 JP 2021047293 W JP2021047293 W JP 2021047293W WO 2023119412 A1 WO2023119412 A1 WO 2023119412A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- feature point
- field
- information
- feature
- point group
- Prior art date
- Legal status (The legal status 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 status listed.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
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 main object of the present disclosure is to provide an information processing device, a control method, and a storage medium capable of suitably estimating a field based on feature point information obtained by feature point extraction. Let it be one.
- One aspect of the information processing device is Acquiring first structural data relating to a first feature point group defined as feature points to be extracted for a target field and second structural data relating to a second feature point group other than the first feature point group structural data acquisition means; acquiring feature point information indicating a set of candidate labels indicating correspondence between positions on the image and feature points of the first feature point group, which are determined based on an image including at least a portion of the field; point information acquisition means; A set of position on the image corresponding to the feature point of the second feature point group and the candidate label is specified based on the second structure data, and the specified candidate label indicates the feature point of the second feature point group.
- label correction means for generating correction feature point information corrected to labels
- field estimation means for estimating the field in a coordinate system based on a display device having a camera for capturing the image, based on the first structure data, the second structure data, and the corrected feature point information; It is an information processing device having
- One aspect of the control method is the computer the computer Acquiring first structural data relating to a first feature point group defined as feature points to be extracted for a target field and second structural data relating to a second feature point group other than the first feature point group. , Acquiring feature point information indicating a set of a position on the image determined based on the image including at least part of the field and a candidate label indicating a correspondence between the feature points of the first feature point group; A set of position on the image corresponding to the feature point of the second feature point group and the candidate label is specified based on the second structure data, and the specified candidate label indicates the feature point of the second feature point group.
- Generate corrected corrected feature point information for labels estimating the field in a coordinate system based on a display device having a camera that captures the image, based on the first structure data, the second structure data, and the corrected feature point information; control method.
- One aspect of the storage medium is Acquiring first structural data relating to a first feature point group defined as feature points to be extracted for a target field and second structural data relating to a second feature point group other than the first feature point group. , Acquiring feature point information indicating a set of a position on the image determined based on the image including at least part of the field and a candidate label indicating a correspondence between the feature points of the first feature point group; A set of position on the image corresponding to the feature point of the second feature point group and the candidate label is specified based on the second structure data, and the specified candidate label indicates the feature point of the second feature point group.
- the computer executes a process of estimating the field in a coordinate system based on which a display device having a camera that captures the image is based. It is a storage medium that stores a program that causes
- FIG. 1 is a schematic configuration diagram of a display device according to a first embodiment
- FIG. 4 is a block diagram showing a functional configuration of a control unit
- FIG. (A) shows a first label definition example of a first structural feature point group of a learning field that is a tennis court.
- (B) shows an example of label definitions of the first structural feature point group and the second structural feature point group of the field to be displayed, which is a tennis court.
- A) shows an example of the first label definition of the first structure feature point group of the learning field which is a pool.
- B shows an example of the first label definition of the first structure feature point group and the second structure feature point group of the display target field that is the pool.
- 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 imaging position of the camera, the captured image, and the field to be displayed in the device coordinate system and the field coordinate system; Fig.
- FIG. 10 shows the results of clustering the six generated candidate fields in the device coordinate system
- FIG. 10 is a diagram showing, in the device coordinate system, estimated positions of a display target field obtained by optimization processing based on feature extraction positions excluding error feature extraction positions
- (A) is a diagram clearly showing the feature extraction positions on the field estimation surface together with the numbers of the candidate labels when the field to be displayed is a tennis court.
- (B) is a diagram clearly showing pairs of feature extraction positions and candidate labels after candidate label correction by the first correction unit on the field estimation plane.
- A) is a diagram clearly showing the feature extraction positions on the field estimation surface together with the numbers of the candidate labels when the field to be displayed is a tennis court.
- FIG. 10 is a diagram clearly showing pairs of feature extraction positions and candidate labels after candidate label correction by the second correction unit on the field estimation plane.
- FIG. 10 is a diagram showing the correspondence relationship between structural feature points and labels when a pool with a long float in the center is used as a learning field and a display target field.
- 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. It is an example of a flowchart showing details of feature point error detection processing executed in step S22.
- FIG. 10 is an example of a flowchart showing details of first label correction processing; FIG. FIG.
- FIG. 11 is an example of a flowchart showing details of a second label correction process
- FIG. 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. 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.
- a place or structure hereinafter also referred to as a “field” where sports, plays, etc. are held, and the display device 1 is used to assist the user when watching sports or watching a play.
- a virtual object as additional information is superimposed on the field or its periphery.
- 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.
- a field has a plurality of structural (that is, characteristic in shape) feature points (also called "structural feature points").
- the field is, for example, a field for watching sports (e.g., tennis court, swimming pool, stadium, etc.), or a field for watching a play (e.g., theater, concert hall, multipurpose hall, various stages, etc.). do.
- the field functions as a reference in calibrating the display device 1 .
- the field displayed in the image used in the learning stage of the feature extraction process for extracting the structural feature points on the image and the image captured by the display device 1 in the display stage by the display device 1 are displayed. Accurate calibration processing is performed even when the specifications are partially different between the fields.
- the field displayed in the image used in the learning stage of the feature extraction process will be referred to as the "learning field”
- the field displayed in the image captured by the display device 1 in the calibration process will be referred to as the "display target field”. call.
- the field to be displayed is a field used for the same purpose as the learning field, and includes at least the structural feature points possessed by the learning field, and any structural feature points not included in the learning field.
- the learning field is a field corresponding to one type of sport
- the display target field is a field corresponding to a plurality of types of sports.
- the learning field and the display target field may have the same specifications.
- feature points that were not labeled in the learning stage of the feature extraction process are labeled in the calibration process. This example will be described later with reference to FIGS. 3A, 3B, and 14.
- FIG. Note that two fields having the same specification means that the two fields have the same number of structure feature points corresponding to each other.
- first structure feature point group a set of structure feature points of the field labeled in the learning stage of the feature extraction process
- second structure feature point group a set of structure feature points of the field that are not labeled in the learning stage but are labeled in the calibration process
- first structure feature point group shall have "N1" (N1 is an integer of 2 or more) structure feature points
- second structure feature point group shall have "N2" (N2 is 1 or more) structure feature points. ) structure feature points.
- 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 for associating the real world space with the space recognized by the display device 1 based on the structural feature points of the display target field recognized from the captured image Im at the display timing of the virtual object. process.
- 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 display target field ( Also called a “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, a first structure data storage unit 22, and a second structure data storage unit 23.
- 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 for a predetermined time period or a predetermined number and the position/orientation change amount Ap. 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 structural feature points of the field to be displayed and the classification information of the structural feature points from the captured image Im in the calibration process. ) parameters.
- the above-mentioned feature extractor is a learning model that is trained to output positional information of structural feature points in the image for each classification (that is, label) of structural feature points to be extracted when an image is input.
- 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 label definition examples (see FIGS. 3(A), 3(B), 4(A), and 4(B) to be described later) that attach a unique label to each structure feature point.
- 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. Also, as described above, the images representing the training fields are used as training images for the feature extractor.
- 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 first structure data storage unit 22 stores the first structure data.
- the first structural data includes information on the structures of N1 structural feature points belonging to the first structural feature point group.
- the first structural data includes a label indicating the classification (class) of each structural feature point belonging to the first structural feature point group, and a field coordinate system of each structural feature point belonging to the first structural feature point group. and registered location information indicating the location of the .
- 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 second structure data storage unit 23 stores the second structure data.
- the second structural data includes information on the structure of N2 structural feature points belonging to the second structural feature point group.
- the second structural data includes a label indicating the classification of each structural feature point belonging to the second structural feature point group, and the position of each structural feature point belonging to the second structural feature point group in the field coordinate system. and the registered location information to indicate.
- the length between any two structural feature points of the first structural feature point group and the second structural feature point group can be calculated based on the coordinate values indicated by the registered position information.
- the first structural data and the second structural data are used in the calibration process.
- the storage unit 14 may store various information in addition to the above information.
- the storage unit 14 may contain information about the size of the field to be displayed, information specifying a structural feature 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. good.
- the storage unit 14 may also store anisotropy information about the anisotropy of displacement over time of the structural feature points of the field.
- the anisotropic information is, for example, information indicating the direction in which the structural feature point of the 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 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. 2 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 transformation 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 on the input captured image Im for each label indicating the classification of the structural feature point
- the feature extraction unit 42 outputs the feature Feature point information IF indicating a combination of a position on the captured image Im output by the extractor (also referred to as a "feature extraction position") and a label candidate corresponding to the position (also referred to as a "candidate label”).
- the feature extraction unit 42 multiplies the coordinate value by the image size of the captured image Im. By doing so, the feature extraction position is calculated.
- the coordinate transformation information generation unit 43 generates the first structure data and the second structure data, the feature point information IF, the position/orientation change amount Ap at the time of generating the captured image Im whose features are extracted, 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 .
- the field estimation unit 46 estimates the position of the display target field in the device coordinate system. The estimation method by the field estimation unit 46 will be described later. Based on the position of the display target field in the device coordinate system estimated by the field estimation unit 46 and the position of the display target field in the field coordinate system based on the first structure data and the second structure data, the coordinate transformation information generation unit 43 Generate coordinate conversion information Ic.
- 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 conversion 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. 3A shows an example of label definition of the first structure feature point group of the learning field, which is a tennis court
- FIG. FIG. 10 shows an example of label definition of the first structure feature point group and the second structure feature point group of the target field
- FIGS. 3(A) and 3(B) the locations of structural feature points are marked with circles and corresponding label numbers.
- the field for learning and the field to be displayed have the same structural feature points, but only some of these structural feature points (here, only the structural feature points of the single score) are extracted by the feature extractor. is learned to extract
- the structure feature points of the first structure feature point group learned to be extracted by the feature extractor are feature points related to single score, and there are 10 of them.
- the feature points are labeled with serial numbers from "0" to "9” in order from the corners.
- the second structural feature point group includes four structural feature points (here, the four corners of the double score) that were not included in the first structural feature point group. are labeled with numbers "o0" to "o3" from the corners.
- FIG. 4A shows an example of the label definition of the first structure feature point group of the learning field that is a pool
- FIG. 4B shows the first structure feature point group and the second An example of label definition for a structural feature point group is shown.
- the positions of the structural feature points are marked with circles and corresponding label numbers.
- the field is a pool
- the center of floats of a predetermined color provided at predetermined intervals on the ropes defining the course is selected as the structural characteristic point.
- the learning field is an 8-lane pool
- the display target field is a 10-lane pool. Therefore, the display target field has more lanes than the learning field, so the number of floats increases and has more structure feature points.
- the second structural feature point group includes six structural feature points corresponding to the floats of the lanes at both ends that were not included in the first structural feature point group. Labeled with numbers up to "o5".
- Each structure feature point of the second structure feature point group is generally arranged around the first structure feature point group. It may be erroneously extracted by the feature extractor as a structure feature point of the structure feature point group. In this case, the structural feature points of the first structural feature point group that should be extracted by the feature extractor are not detected, and the number of structural feature points used for estimating the position of the field to be displayed in the device coordinate system is reduced. . As a result, a decrease in estimation accuracy and an increase in estimation time occur. This tendency is conspicuous when setting the upper limit of the number of structural feature points to be estimated (m described above). There is a tendency for points to go undetected. On the other hand, re-learning the feature extractor for all fields to be displayed is expensive in terms of data, and it is not realistic to deal with various specifications at the learning stage that requires a huge amount of data.
- the display device 1 uses the second structure data related to other structural feature points of the field to be displayed that are not defined as the first structural feature point group, and the feature extractor outputs Correct the candidate label.
- the display device 1 uses the structural feature points of the second structural feature point group, which were erroneously extracted by the feature extractor as the structural feature points of the first structural feature point group, to accurately display the display object in the device coordinate system. It becomes possible to estimate the position of the field.
- the label names and the positions of the structure feature points are uniquely defined.
- label definitions are not limited to this.
- a label definition may be made in which the same label is attached to symmetric structural feature points.
- the label definition that uniquely determines the label name and the position of the structure feature point will be referred to as the "first label definition”
- the label definition that assigns the same label to the symmetrical structure feature points will be referred to as the "second label definition”. call.
- FIG. 5(A) is a diagram showing the correspondence relationship between structural feature points and labels when labels determined by the second label definition are attached to each structural feature point of the field to be displayed shown in FIG. 3(B). is.
- the same label is attached to the symmetrical structural feature points, so that each label from 0 to 4 and o0 to o1 is assigned to two structural feature points at symmetrical positions.
- FIG. 5(B) is a diagram showing the correspondence relationship between structural feature points and labels when a label determined by the second label definition is attached to each structural feature point of the field to be displayed shown in FIG. 4(B). is.
- the same label is attached to the symmetrical feature points, so that each label from 0 to 12 and o0 to o2 is assigned to two 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 detects structural feature points (specifically, the first structure A feature extraction position (also referred to as an “erroneous feature extraction position”) representing an erroneous extraction result of the structural feature point of the feature point group is detected.
- 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 extraction position to the first field estimation unit 52 and the label correction unit 53 .
- the first field estimation section 52 calculates the device Estimate the position of the field to be displayed in the coordinate system.
- 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 display 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 estimation of the display target field is The position is determined by second field estimator 54 .
- the first field estimation unit 52 generates information (also referred to as “first field estimation information”) indicating a first estimation result of the field to be displayed in the device coordinate system
- the second field estimation unit 54 generates information indicating a second estimation result of the display target field in the device coordinate system (also referred to as "second field estimation information").
- the first field estimation unit 52 supplies first field estimation information indicating the estimated position of the field to be displayed 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 second structure data stored in the second structure data storage unit 23, the label correction unit 53 corrects the feature points. Correct the information IF candidate label.
- the label corrector 53 functionally has a first corrector 55 and a second corrector 56 .
- the first correction unit 55 changes the candidate label to another candidate label representing the structural feature point of the first structural feature point group, thereby obtaining an error feature extraction position (“first label error feature ) is detected, and the candidate label of the first label error feature extraction position is corrected.
- the second correction unit 56 changes the candidate label to a candidate label representing the structural feature point of the second structural feature point group, so that the error feature extraction position (“second label error feature extraction position ), and correct the candidate label of the second label error feature extraction position.
- the label correction unit 53 supplies the second field estimation unit 54 with the feature point information IF obtained by correcting the candidate labels of the first label error feature extraction position and the second label error feature extraction position.
- the feature point information IF that the label corrector 53 supplies to the second field estimator 54 is an example of "corrected feature point information".
- the processing of the first correction unit 55 and the processing of the second correction unit 56 may be parallel processing, and the processing of the second correction unit 56 may be performed after the processing of the first correction unit 55.
- the processing of the first correction unit 55 may be performed after the processing of the second correction unit 56 .
- the first correction unit 55 and the second correction unit 56 may perform processing dependent on each other, consider the detection result of the error feature extraction position of the other, and finally determine the correction of the candidate label.
- the first correction unit 55 and the second correction unit 56 for example, when detecting the same error feature extraction position as the first label error feature extraction position and the second label error feature extraction position, Mutual processing results may be exchanged so as to reflect corrections.
- the second field estimation unit 54 stores the feature point information IF in which the correction by the label correction unit 53 is reflected, the first structure data stored in the first structure data storage unit 22, and the second structure data storage unit 23. Second field estimation information representing the estimated position of the field to be displayed is generated based on the obtained second structure data.
- the estimated position of the display target field calculated 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. , is the estimated position of the display target field finally output by the field estimation unit 46 . 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 extraction positions indicated by the feature point information IF to perform a process of generating candidates (also called “candidate fields”) representing the display target field in the device coordinate system multiple times. do.
- the candidate field generator 511 may generate n candidate fields from n sets (pairs) of feature extraction positions randomly selected n times (where n is an integer of 3 or more).
- a candidate field may be generated from the set of extracted 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 display target field in the device coordinate system.
- the candidate field generation unit 511 In the case of the first label definition in which the label name and the position of the structural feature point are uniquely determined, if the number of feature extraction positions is N1, the candidate field generation unit 511 generates N1 C Generate two candidate fields. On the other hand, in the case of a label definition in which the label name and the position of the structure feature point are not uniquely determined, one set or a plurality of field estimations are required. For example, in the case of the second label definition example (that is, the label definition with the same point-symmetric label), the candidate field generation unit 511 generates N1 C 2 ⁇ 2 candidate fields in total.
- the minimum estimated number of candidate fields when N1 structural 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 N1 C 2 ⁇ M ⁇ M.
- the estimated field determination unit 512 determines, from a plurality of candidate fields, a field to be displayed (also called an "estimated field") in the device coordinate system that is finally output as the estimation result. In this case, 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. In other words, the estimated field determination unit 512 determines the estimated position of the structure feature point of each label of the display target field (and the estimated surface of the display target field) in the device coordinate system.
- the erroneous label detection unit 513 determines error feature extraction positions based on the estimated field determined by the estimated field determination unit 512 .
- the erroneous label detection unit 513 detects each feature extraction position based on the parameters (including internal parameters) of the camera 15 and the shooting position in the device coordinate system specified based on the position/orientation change amount Ap. , is recognized as each feature extraction position in the device coordinate system.
- the wrong label detection unit 513 compares the position of the structural feature point of the first structural feature point group in the estimated field with the feature extraction position in the device coordinate system for each label of the first structural feature point group, and A feature extraction position that is greater than or equal to the distance is determined as an error feature extraction position.
- a preset matching value is stored in the storage unit 14 or the like. If the number of structural feature points that do not correspond to error feature extraction positions is equal to or less than a predetermined threshold value (for example, 5), the field estimation unit 46 terminates the estimation and determines that the estimation of the display 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.
- a predetermined threshold value for example, 5
- 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 field to be displayed 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 direction thereof.
- the three axes of the device coordinate system are defined as x, y, and z
- the three axes of the field coordinate system are defined as 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 unit 511 may generate candidate fields from three (or four or more) feature extraction 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 field to be displayed 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 obtains the offset Y and the angle formed by the x-axis and the x ⁇ -axis (or the angle formed by the z-axis and the z ⁇ -axis) from two arbitrary feature extraction positions. By doing so, it is possible to determine candidate fields.
- the candidate field generation unit 511 generates candidate fields from two feature extraction positions of label numbers 4 and 5 based on the first label definition example shown in FIG. 3(A).
- the distance (see arrow 90) between the two feature extraction positions of label number 4 and label number 5 can be identified by referring to the first structure data.
- the candidate field generation unit 511 generates the imaging position (including the imaging direction) of the camera 15 in the device coordinate system, the parameters of the camera 15, the feature extraction positions in the captured images Im with label numbers 4 and 5, A candidate field is determined based on the distance indicated by the arrow 90 and the distance indicated by the arrow 90 .
- 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 a set of feature extraction 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 extraction 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 results 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 determination 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 display target field, and determines the estimated field based on the candidate fields C1, C3, C4, and C6. to 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 uses the average of the candidate fields belonging to the main cluster (including the weighted average according to the distance from the center of gravity described above), other statistical processing, or the structural features specified from the first structural data.
- the estimated field determination unit 512 uses the average of the candidate fields belonging to the main cluster (including the weighted average according to the distance from the center of gravity described above), other statistical processing, or the structural features specified from the first structural data.
- 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 of points (that is, the model of the field to be displayed).
- the estimation field determination unit 512 sets, for example, a model or a constraint condition representing the positional relationship (distance) between each structure feature point in the first structure feature point group indicated by the first structure data, and for each label The estimated field may be determined.
- 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.
- FIG. 11 is a diagram showing the estimated position of the display target field obtained by the optimization process based on the feature extraction positions excluding the error feature extraction positions in the device coordinate system.
- the display target field has the vertices of each grid (a total of 12 vertices) when the display target field is divided into grids as structure feature points of the first structure feature point group.
- the first field estimator 52 estimates the field to be displayed based on the nine feature extraction positions "P2" to "P7" and "P10" to "P12" excluding the three error feature extraction positions. ing.
- 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 Identify the feature extraction positions P2-P7, P10-P12 (broken lines shown in FIG. 11) projected onto the coordinate system. Then, the candidate field generation unit 511 refers to the first structure data to specify the relative positional relationship (model of the field to be displayed) representing the distance between the structure feature points of the first structure feature point group. The feature extraction positions P2 to P7 and P10 to P12 in the device coordinate system and the entire estimated field are determined so that the positional relationship between the structural feature points obtained is maintained.
- the first field estimating unit 52 assumes that the candidate label for the feature extraction position to be used is correct and that the distortion caused by the internal parameters of the camera 15 is adjusted.
- a display target field in the device coordinate system is estimated based on the set of at least some of the feature extraction positions and candidate labels indicated by and the first structure data.
- the first field estimation unit 52 performs optimization in consideration of the anisotropic displacement. , may determine an estimated position of the field to be displayed.
- the field in which structural feature points are displaced anisotropically (biased in a certain direction) is, for example, the (competition) pool shown in FIGS. 4(A) and 4(B).
- a field to be displayed having such properties can be regarded as a quasi-rigid body having properties quasi-rigid.
- the first field estimating unit 52 first calculates, for each label, the estimated position of the structural feature point of the first group of structural feature points to be estimated and the feature extraction position in the device coordinate system in the x-axis direction and the z-axis direction. 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. Then, the first field estimator 52 calculates a solution of the above estimated position that minimizes the above evaluation function by using the relative positional relationship of each structural feature point based on the first structural data as a constraint condition. Note that, for example, the above-described calculation may be performed by the weighted least-squares method, regarding the above-described constraint conditions as a model of the field to be displayed.
- the first field estimation unit 52 performs isotropic optimization when the structure feature points of the field are not displaced anisotropically.
- the first field estimation unit 52 calculates, for each label, the distance (that is, the error) between the estimated position of the structural feature point of the first structural feature point group and the feature extraction position in the device coordinate system, and calculates the label The sum of the distances for each point is used as an evaluation function, and the solution of the above estimated position that minimizes the evaluation function is calculated.
- the first field estimating unit 52 calculates the above-described solution under the condition that the relative positional relationship of each structural characteristic point based on the first structural data stored in the first structural data storage unit 22 is satisfied. I do. 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 field to be displayed.
- 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 supplies the estimation result of the display target field 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 in the device coordinate system of structural feature points of the first structural feature point group, and device coordinates specified from the estimated positions of these structural feature points. It is information indicating an estimated plane of the field to be displayed in the system (also referred to as a "field estimated 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 estimator 52 does not perform this process.
- the display target field may be estimated by optimizing .
- 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 first structural feature point group and the feature extraction position in the device coordinate system.
- the first correction unit 55 detects the first label error feature extraction position based on the first field estimation information supplied from the first field estimation unit 52 and the feature point information IF, and detects the detected first label error feature. Correct the candidate label of the extraction position. In the following description, it is assumed that distortion caused by internal parameters of the camera 15 has already been adjusted.
- FIG. 12A is a diagram clearly showing the feature extraction positions along with the candidate labels on the field estimation surface based on the first field estimation information when the field to be displayed is a tennis court.
- a label based on the first label definition example of the tennis court shown in FIG. 3A is assigned to each structure feature point of the first structure feature point group.
- error feature extraction positions are indicated by dashed line circles, and other feature extraction positions are indicated by solid line circles.
- the error feature extraction positions are feature extraction positions corresponding to candidate label 5 and candidate label 6 .
- FIG. 12(B) is a diagram clearly showing pairs of feature extraction positions and candidate labels corrected by the first correction unit 55 on the field estimation plane based on the first field estimation information.
- the first correction unit 55 generates a set of structural feature points and labels of the first structural feature point group specified based on the first field estimation information, and a set of feature extraction positions and candidate labels indicated by the feature point information IF. Compare with In this case, the first correction unit 55 calculates, for each feature extraction position indicated by the feature point information IF, the projection position on the field estimation plane indicated by the first field estimation information (for example, feature extraction positions P2 to P7 in FIG. 11, P10 to P12) are calculated as respective feature extraction positions in the device coordinate system. In this case, the first correction unit 55 calculates each feature extraction position in the device coordinate system in consideration of distortion caused by internal parameters of the camera 15 and the like.
- the first correction unit 55 sets a predetermined distance between the structural feature point position based on the first field estimation information and the feature extraction position in the device coordinate system corresponding to the same label. Since these feature extraction positions are within the threshold, it is determined that these feature extraction 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 above-mentioned predetermined distance is, for example, a distance (Euclidean distance) that can be regarded as the same position, and a matching value is stored in advance in the storage unit 14 or the like.
- the first correction unit 55 determines that the distance between the structural feature point position based on the first field estimation information and the feature extraction position in the device coordinate system corresponding to the same label is longer than a predetermined threshold. I judge that it will be. Therefore, in this case, the first correction unit 55 determines that these feature extraction positions do not match the first field estimation information.
- the first correction unit 55 may determine whether each feature extraction position matches the first field estimation information based on the detection result of the error feature extraction position by the feature point error detection unit 51 . In this case, the first correction unit 55 determines that the error feature extraction position detected by the feature point error detection unit 51 does not match the first field estimation information, and determines that the error feature extraction position detected by the feature point error detection unit 51 Other feature extraction positions are determined to match the first field estimation information.
- the first correction unit 55 replaces the candidate labels from among the feature extraction positions that do not match the first field estimation information (here, the feature extraction positions of the candidate labels 5 and 6) with the other labels of the first structure feature point group. is detected as a first label error feature extraction position matching the first field estimation information.
- the first correction unit 55 uses the Euclidean distance to determine feature extraction positions that do not match the first field estimation information and that have a distance to any structural feature point of the first structural feature point group equal to or less than a predetermined threshold. , as the first label error feature extraction position.
- the above predetermined threshold may be the same as or different from the threshold used for determining whether each feature extraction position matches the first field estimation information.
- the first correction unit 55 calculates the position of an arbitrary structure feature point in the first structure feature point group based on the feature extraction position of the candidate label 5 in the device coordinate system and the first field estimation information. is longer than the predetermined threshold, it is determined that the feature extraction position of the candidate label 5 is not the first label error feature extraction position.
- the first correction unit 55 determines that the candidate The feature extraction position of the label 6 is detected as the first label error feature extraction position. That is, in this case, the first correction unit 55 determines that the error can be corrected by correcting the candidate label to 5 (that is, it matches the first field estimation information). Therefore, in this case, the first correction unit 55 generates the feature point information IF by correcting the candidate label of the feature extraction position of the candidate label 6 to 5, as shown in FIG. 12B. Thereby, the first correction unit 55 can suitably correct the error in the feature point information IF.
- the first correction unit 55 corrects the candidate label of the first label error feature extraction position among the feature extraction positions that do not match the first field estimation information.
- the first correction unit 55 can suitably correct errors in the candidate labels of the feature extraction positions corresponding to the structural feature points of the first structural feature point group.
- the second correction unit 56 detects a second label error feature extraction position based on the first field estimation information, the feature point information IF, and the second structure data, and detects a candidate for the detected second label error feature extraction position. Correct the label. In the following description, it is assumed that distortion caused by internal parameters of the camera 15 has already been adjusted.
- FIG. 13(A) is a diagram clearly showing the feature extraction positions along with the candidate labels on the field estimation plane based on the first field estimation information when the field to be displayed is a tennis court.
- the first field estimation unit 52 described with reference to FIG. Assume that it has been converted to a position. Also, as an example, it is assumed that labels based on the first label definition example of the tennis court shown in FIG. do.
- error feature extraction positions are indicated by dashed line circles, and other feature extraction positions are indicated by solid line circles.
- the error feature extraction positions are the feature extraction positions corresponding to candidate label 8 and candidate label 9 .
- FIG. 13(B) is a diagram clearly showing pairs of feature extraction positions and candidate labels after candidate label correction by the second correction unit 56 on the field estimation plane based on the first field estimation information.
- the second correction unit 56 converts a pair of structure feature points and labels of the second structure feature point group specified by the second structure data and a pair of feature extraction positions and candidate labels indicated by the feature point information IF to compare.
- the second correction unit 56 calculates, for each feature extraction position indicated by the feature point information IF, the projection position on the field estimation plane indicated by the first field estimation information (for example, feature extraction positions P2 to P7, P10 to P12) are calculated as respective feature extraction positions in the device coordinate system.
- the second correction unit 56 calculates each feature extraction position in the device coordinate system in consideration of distortion caused by internal parameters of the camera 15 and the like.
- the second correction unit 56 identifies feature extraction positions that do not match the first field estimation information (that is, do not match any structural feature points in the first group of structural feature points).
- the second correction unit 56 determines that each feature extraction position of the candidate label 8 and the candidate label 9 is separated from any structure feature point of the first structure feature point group by a predetermined distance or more, and is consistent with the first field estimation information. Decide not to.
- the second correction unit 56 may specify the feature extraction position that does not match the first field estimation information based on the same processing as the first correction unit 55, and the information of the processing result received from the first correction unit 55 may be specified. , a feature extraction position that does not match the first field estimation information may be specified.
- the second correction unit 56 selects one of the structural feature points of the second structural feature point group among the feature extraction positions that do not match the first field estimation information (here, the feature extraction positions of the candidate labels 8 and 9). is detected as the second label error feature extraction position.
- the second correction unit 56 uses the Euclidean distance to determine feature extraction positions that do not match the first field estimation information and that have a distance to any structural feature point in the second group of structural feature points that is equal to or less than a predetermined threshold. , as the second label error feature extraction position.
- the above predetermined threshold may be the same as or different from the threshold used for determining whether each feature extraction position matches the first field estimation information.
- the second correction unit 56 identifies the positions of the structure feature points of the second structure feature point group in the device coordinate system based on the first field estimation information and the second structure data. In this case, based on the second structural data (and the first structural data), the second correction unit 56 determines the relative positions of the structural feature points of the second structural feature point group with respect to the structural feature points of the first structural feature point group. Identify relationships.
- the second correction unit 56 determines that the distance between the feature extraction position of the candidate label 8 in the device coordinate system and the structure feature point of the label o2 of the second structure feature point group is equal to or less than a predetermined threshold. Therefore, the feature extraction position of the candidate label 8 is detected as the second label error feature extraction position. Similarly, the second correction unit 56 determines that the distance between the feature extraction position of the candidate label 9 in the device coordinate system and the structure feature point of the label o3 of the second structure feature point group is equal to or less than the predetermined threshold, so that the candidate label 9 is detected as the second label error feature extraction position. Therefore, the second correction unit 56 corrects the candidate label of the feature extraction position of the candidate label 8 to o2 and corrects the candidate label of the feature extraction position of the candidate label 9 to o3 (corrected feature point information IF). information).
- the second correction unit 56 can correct errors by changing the candidate labels of the feature extraction positions that do not match the first field estimation information to labels representing the structure feature points of the second structure feature point group. Correct the candidate label of the second label error feature extraction location.
- Each structural feature point of the second structural feature point group is arranged around the first structural feature point group, and may be erroneously extracted as a structural feature point of the first structural feature point group by the feature extractor. .
- the second correction unit 56 corrects the candidate label to the label of the second structural feature point group, thereby securing a sufficient number of structural feature points to be used for estimating the position of the field to be displayed in the device coordinate system. It is possible to estimate the display target field with high accuracy. Also, even if the specifications of the learning field and the display target field are different, the display target field can be estimated with high accuracy without re-learning the feature extractor. For example, when using the learning field shown in FIG. 4A and the display target field shown in FIG. can be used for
- candidate positions erroneously extracted as structural feature points of the first structural feature point group are set to the second A similar effect can be obtained by defining the structural feature points of the structural feature point group.
- FIG. 14 is a diagram showing the correspondence relationship between structural feature points and labels when a pool with a long float in the center is used as the learning field and display target field.
- the structural feature points (labeled 0 to 24) of the first structural feature point group are indicated by solid line circles
- the structural feature points (labeled o1 to o14) of the second structural feature point group are indicated by broken line circles. ing.
- both end positions of the float are likely to be erroneously extracted. They are defined as structural feature points (labels o1 to o14) of the second structural feature point group.
- the display device 1 can correct the second correction unit 56 , and these feature extraction results can be used for field estimation. Therefore, in this case, the display device 1 secures a sufficient number of structure feature points to be used for field estimation by correcting the candidate labels to labels corresponding to the structure feature points of the second structure feature point group. Estimates can be made.
- the second field estimating unit 54 is the same as the first field estimating unit 52 based on the feature point information IF corrected by the first correcting unit 55 and the second correcting unit 56, for example.
- the processing generates second field estimation information.
- the second field estimation unit 54 corrects the candidate label error appropriately by the first correction unit 55 and the second correction unit 56.
- the display target field is Since the estimation is performed, it is possible to preferably generate the second field estimation information with higher precision than the first field estimation information.
- the second field estimation unit 54 determines the field to be displayed based on the feature point information IF including information on the feature extraction positions that accurately correspond to the structural feature points of the first structural feature point group and the second structural feature point group. can be accurately estimated.
- 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. Execute. 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 estimation 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.
- 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 first executed) 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 pairs of feature extraction positions and candidate labels corresponding to each structural feature point of the first structural feature point group based on the captured image Im acquired from the sensor data storage unit 20 or the like.
- the feature point information IF shown 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).
- the field estimation unit 46 executes the first label correction processing by the first correction unit 55 and the second label correction processing by the second correction unit 56 (step S24). Details of the first label correction processing and the second label correction processing will be described with reference to FIGS. 18 and 19. FIG. Note that the processing order of the first label correction processing and the second label correction processing is random, and parallel processing may be performed.
- the field estimation unit 46 executes a second field estimation process (step S25). Thereby, the field estimation unit 46 generates the second field estimation information representing the result of estimating the display target field in the device coordinate system with high accuracy 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 transformation information generation 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, the first structural data and the The position of the structure feature point in the field coordinate system indicated by the registered position information included in the second structure data is associated with each other and matched, and the matched positions for each label match each other (that is, the position for each label). is the minimum error) is calculated.
- the display device 1 extracts information obtained by extracting only pre-registered (that is, already labeled) structure feature points from the captured image Im in the calibration process, and uses the first structure data and the second structure data as the first structure data and the second structure data. It is compared with the information of structural feature points registered in .
- the amount of calculation required for the matching process for calculating the coordinate conversion information Ic can be greatly reduced, and the influence of the extraction of noise (that is, feature points other than the display 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 by .
- 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 first structure data and the feature extraction positions of the two selected points (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 technique.
- 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 detects error feature extraction positions by projecting each feature extraction position onto the estimation field and comparing the projected feature extraction position with the structural feature points of the estimation field for each label. (Step S35).
- FIG. 18 is an example of a flowchart showing the details of the first label correction process executed in step S24.
- the first correction unit 55 identifies feature extraction positions in the device coordinate system based on the first field estimation information generated by the first field estimation unit 52 (step S41). Then, the first correction unit 55 determines whether or not there is a feature extraction position that does not match the first field estimation information (step S42). In this case, for example, if there is an error feature extraction position detected in step S35, the first correction unit 55 determines that there is a feature extraction position that does not match the first field estimation information. In another example, the first correction unit 55 compares the position and label of each structural feature point specified from the first field estimation information with the feature extraction position and label in the device coordinate system to obtain the above-mentioned Determine whether there is an erroneous feature extraction position. Then, if there is no feature extraction position that does not match the first field estimation information (step S42; No), the first correction unit 55 terminates the processing of the flowchart because there is no need to correct the feature point information IF. .
- the first correction unit 55 determines whether or not there is a first label error feature extraction position (step S43). . Then, when the first correction unit 55 determines that the first label error feature extraction position exists (Step S43; Yes), the first correction unit 55 replaces the candidate label of the first label error feature extraction position with another label of the first structure feature point group. The label is modified to represent the structural feature point (specifically, the closest structural feature point) (step S44). After that, the first correction unit 55 generates feature point information IF reflecting the correction of the candidate label in step S44. On the other hand, if it is determined that the first label error feature extraction position does not exist (step S43; No), the first correction unit 55 terminates the processing of the flowchart.
- FIG. 19 is an example of a flowchart showing the details of the second label correction process executed in step S24.
- the second correction unit 56 identifies feature extraction positions in the device coordinate system based on the first field estimation information generated by the first field estimation unit 52 (step S51). Then, the second correction unit 56 determines whether or not there is a feature extraction position that does not match the first field estimation information (step S52). In this case, for example, if there is an error feature extraction position detected in step S35, the second correction unit 56 determines that there is a feature extraction position that does not match the first field estimation information. In another example, the second correction unit 56 compares the position and label of each structural feature point specified from the first field estimation information with the feature extraction position and label in the device coordinate system to obtain the above-mentioned Determine whether there is an erroneous feature extraction position.
- the second correction unit 56 makes the determination in step S52 based on the determination result in step S42 of the first label correction process. Then, if there is no feature extraction position that does not match the first field estimation information (step S52; No), the second correction unit 56 ends the processing of the flowchart because it is not necessary to correct the feature point information IF. .
- the second correction unit 56 determines whether or not there is a second label error feature extraction position (step S53). . Then, when the second correction unit 56 determines that the second label error feature extraction position exists (step S53; Yes), the candidate label of the second label error feature extraction position corresponds to the second structure feature point group. The label of the structural feature point (that is, the closest structural feature point) is corrected (step S54). After that, the second correction unit 56 generates feature point information IF reflecting the correction of the candidate label in step S54. On the other hand, if it is determined that the second label error feature extraction position does not exist (step S53; No), the second correction section 56 terminates the processing of the flowchart.
- the label correction unit 53 determines that there are feature extraction positions whose candidate labels are not corrected in either step S44 or step S54. If so, consider the feature extraction location to be mis-located. Then, the label correcting unit 53 performs processing such as deleting the feature extraction position from the feature point information IF and attaching a flag to the effect that it is an error feature extraction position.
- the label corrector 53 may have only the function corresponding to the second corrector 56 . Even in this case, the label correcting unit 53 secures a sufficient number of structural feature points to be used for field estimation by correcting candidate labels to labels corresponding to structural feature points in the second group of structural feature points. Field estimation can be performed. Also, the field estimation unit 46 does not have to have a function corresponding to the feature point error detection unit 51 . In this case, the label correction unit 53 corrects the candidate label according to the flowchart of FIG.
- 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 , a first structural data storage unit 22 and a second structural data storage unit 23 .
- 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 is composed of a plurality of server devices, and the sensor data storage unit 20, the parameter storage unit 21, the first structure data storage unit 22, and the second structure data storage unit 23 are distributed. can be stored as
- 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.
- the control unit 27 refers to the sensor data storage unit 20, the parameter storage unit 21, the first structure data storage unit 22, and the second structure data storage unit 23 to perform the calibration process and convert the distribution signal S2. Generate.
- 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 structure data acquisition means 46X, feature point information acquisition means 42X, label correction means 53X, and field estimation means 54X.
- 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 structure data acquisition means 46X obtains first structure data relating to a first feature point group defined as feature points to be extracted for a target field, and second structure data relating to a second feature point group other than the first feature point group.
- Get structure data and The first feature point group can be the first structural feature point group in the first embodiment or the second embodiment
- the second feature point group is the second structural feature point in the first embodiment or the second embodiment. It can be a point cloud.
- the structural data acquisition means 46X can be, for example, the field estimation unit 46 in the first embodiment or the second embodiment.
- the feature point information acquisition means 42X obtains feature points indicating a set of positions on the image determined based on the image including at least a part of the field and candidate labels indicating the correspondence between the feature points of the first feature point group. Get information.
- the "position on the image" can be the feature extraction position in the first embodiment or the second embodiment.
- 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 label correcting means 53X identifies pairs of positions on the image corresponding to the feature points of the second feature point group and candidate labels based on the second structure data, and uses the identified candidate labels as feature points of the second feature point group. Generate corrected corrected feature point information with the label shown.
- the label corrector 53X can be the label corrector 53 (especially the second corrector 56) in the first embodiment or the second embodiment.
- the field estimation means 54X estimates a field in a coordinate system based on a display device having a camera for capturing an image, based on the first structure data, the second structure data, and the corrected feature point information.
- the field estimator 54X can be the second field estimator 54 in the first embodiment or the second embodiment.
- FIG. 24 is an example of a flowchart in the third embodiment.
- the structure data acquisition means 46X obtains first structure data relating to a first feature point group defined as feature points to be extracted for a target field, and second structure data relating to a second feature point group other than the first feature point group. structure data is obtained (step S71).
- the feature point information acquisition means 42X obtains feature points indicating a set of positions on the image determined based on the image including at least a part of the field and candidate labels indicating the correspondence between the feature points of the first feature point group. Information is acquired (step S72).
- the label correcting means 53X identifies pairs of positions on the image corresponding to the feature points of the second feature point group and candidate labels based on the second structure data, and uses the identified candidate labels as feature points of the second feature point group. Corrected corrected feature point information is generated with the indicated label (step S73). Based on the first structure data, the second structure data, and the corrected feature point information, the field estimation means 54X estimates the field in the coordinate system based on which the display device having the camera for capturing the image is based (step S74). .
- the information processing device 1X can suitably correct the feature point information and improve the field estimation accuracy in the coordinate system based on which the display device is based.
- 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.
- [Appendix 1] Acquiring first structural data relating to a first feature point group defined as feature points to be extracted for a target field and second structural data relating to a second feature point group other than the first feature point group structural data acquisition means; acquiring feature point information indicating a set of candidate labels indicating correspondence between positions on the image and feature points of the first feature point group, which are determined based on an image including at least a portion of the field; point information acquisition means; A set of position on the image corresponding to the feature point of the second feature point group and the candidate label is specified based on the second structure data, and the specified candidate label indicates the feature point of the second feature point group.
- label correction means for generating correction feature point information corrected to labels; field estimation means for estimating the field in a coordinate system based on a display device having a camera for capturing the image, based on the first structure data, the second structure data, and the corrected feature point information; Information processing device having [Appendix 2]
- the field estimation means is first field estimation means for generating first field estimation information indicating a first estimation result of the field in the coordinate system based on the first structure data and the feature point information; second field estimation means for generating second field estimation information indicating a second estimation result of the field in the coordinate system based on the first structure data, the second structure data, and the corrected feature point information; , has wherein the label correcting means identifies pairs of positions on the image corresponding to the feature points of the second feature point group and candidate labels based on the first field estimation information and the second structure data.
- the information processing apparatus according to appendix 2 or 3, wherein the candidate label is corrected based on the distance to the feature points of the second feature point group.
- Appendix 5 The field to be displayed, which is the field, and the learning field displayed in the image used for learning the feature extractor used to generate the feature point information have at least the first feature point group as common feature points. 5.
- the information processing apparatus according to any one of attachments 1 to 4, wherein the display target field is a field having the first feature point group and the second feature point group as feature points.
- the field to be displayed, which is the field, and the learning field displayed in the image used for learning the feature extractor used to generate the feature point information are fields having the same feature points, 5.
- the second feature point group according to any one of Appendices 1 to 4, wherein the second feature point group is a collection of candidate positions that are erroneously extracted as feature points of the first feature point group in generating the feature point information.
- Information processing equipment [Appendix 7] Coordinates related to coordinate conversion between a first coordinate system, which is the coordinate system, and a second coordinate system, which is a coordinate system adopted in the first structure data and the second structure data, based on the estimation result of the field. 7.
- the information processing apparatus according to any one of Appendices 1 to 6, further comprising coordinate transformation information generating means for generating transformation information.
- the information processing device is the display device that displays a virtual object superimposed on a landscape, a light source unit that emits display light for displaying the virtual object; an optical element that reflects at least part of the display light so that the virtual object is superimposed on the scenery and visually recognized by an observer;
- the information processing apparatus according to any one of Appendices 1 to 7, further comprising: [Appendix 9] the computer Acquiring first structural data relating to a first feature point group defined as feature points to be extracted for a target field and second structural data relating to a second feature point group other than the first feature point group.
- a set of position on the image corresponding to the feature point of the second feature point group and the candidate label is specified based on the second structure data, and the specified candidate label indicates the feature point of the second feature point group.
- [Appendix 10] Acquiring first structural data relating to a first feature point group defined as feature points to be extracted for a target field and second structural data relating to a second feature point group other than the first feature point group. , Acquiring feature point information indicating a set of a position on the image determined based on the image including at least part of the field and a candidate label indicating a correspondence between the feature points of the first feature point group; A set of position on the image corresponding to the feature point of the second feature point group and the candidate label is specified based on the second structure data, and the specified candidate label indicates the feature point of the second feature point group.
- the computer executes a process of estimating the field in a coordinate system based on which a display device having a camera that captures the image is based.
- a storage medium that stores a program that causes
- Reference Signs List 1 1A display device 1X, 1Y information processing device 2 server device 10 light source unit 11 optical element 12 communication unit 13 input unit 14 storage unit 15 camera 16 position and orientation detection sensor 20 sensor data storage unit 21 parameter storage unit 22 first structure data Storage unit 23 second structure data storage unit
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
構造データ取得手段46Xは、対象となるフィールドに対して抽出すべき特徴点として定義された第1特徴点群に関する第1構造データと、第1特徴点群以外の第2特徴点群に関する第2構造データとを取得する。特徴点情報取得手段42Xは、フィールドの少なくとも一部を含む画像に基づき決定された、画像上の位置と、第1特徴点群の特徴点との対応を示す候補ラベルとの組を示す特徴点情報を取得する。ラベル修正手段53Xは、第2特徴点群の特徴点に該当する画像上の位置及び候補ラベルの組を第2構造データに基づき特定し、特定した候補ラベルを第2特徴点群の特徴点を示すラベルに修正した補正特徴点情報を生成する。フィールド推定手段54Xは、第1構造データと、第2構造データと、補正特徴点情報とに基づき、画像を撮影するカメラを有する表示装置が基準とする座標系におけるフィールドを推定する。
Description
本発明は、拡張現実(AR:Augmented Reality)における空間把握に関する処理を行う情報処理装置、制御方法及び記憶媒体の技術分野に関する。
拡張現実を提供する装置において、カメラで撮像した画像に基づき、ユーザが視認する風景に重ねて表示する画像(所謂AR画像)の表示位置を決定する技術が存在する。例えば、特許文献1には、スポーツ観戦におけるARを実現するため、フィールドの各特徴点の位置を推定し、その推定結果に基づきARのキャリブレーションを行う技術が記載されている。
特許文献1のように対象のフィールドの特徴点を抽出してキャリブレーションなどの処理を行う場合には、特徴点の抽出精度がその後のキャリブレーションなどの処理の精度に影響を与えることになる。また、特徴点抽出の学習において対象とするフィールドとARの表示において対象とするフィールドとで仕様や特徴が完全には一致しない場合があり、そのような場合には、特徴点の抽出精度が低下するおそれがある。
本開示は、上述した課題を鑑み、特徴点抽出により得られた特徴点情報に基づきフィールドを好適に推定することが可能な情報処理装置、制御方法及び記憶媒体を提供することを主な目的の1つとする。
情報処理装置の一の態様は、
対象となるフィールドに対して抽出すべき特徴点として定義された第1特徴点群に関する第1構造データと、前記第1特徴点群以外の第2特徴点群に関する第2構造データとを取得する構造データ取得手段と、
前記フィールドの少なくとも一部を含む画像に基づき決定された、前記画像上の位置と、前記第1特徴点群の特徴点との対応を示す候補ラベルとの組を示す特徴点情報を取得する特徴点情報取得手段と、
前記第2特徴点群の特徴点に該当する前記画像上の位置及び候補ラベルの組を前記第2構造データに基づき特定し、特定した前記候補ラベルを前記第2特徴点群の特徴点を示すラベルに修正した補正特徴点情報を生成するラベル修正手段と、
前記第1構造データと、前記第2構造データと、前記補正特徴点情報とに基づき、前記画像を撮影するカメラを有する表示装置が基準とする座標系における前記フィールドを推定するフィールド推定手段と、
を有する情報処理装置である。
対象となるフィールドに対して抽出すべき特徴点として定義された第1特徴点群に関する第1構造データと、前記第1特徴点群以外の第2特徴点群に関する第2構造データとを取得する構造データ取得手段と、
前記フィールドの少なくとも一部を含む画像に基づき決定された、前記画像上の位置と、前記第1特徴点群の特徴点との対応を示す候補ラベルとの組を示す特徴点情報を取得する特徴点情報取得手段と、
前記第2特徴点群の特徴点に該当する前記画像上の位置及び候補ラベルの組を前記第2構造データに基づき特定し、特定した前記候補ラベルを前記第2特徴点群の特徴点を示すラベルに修正した補正特徴点情報を生成するラベル修正手段と、
前記第1構造データと、前記第2構造データと、前記補正特徴点情報とに基づき、前記画像を撮影するカメラを有する表示装置が基準とする座標系における前記フィールドを推定するフィールド推定手段と、
を有する情報処理装置である。
制御方法の一の態様は、
コンピュータが、
コンピュータが、
対象となるフィールドに対して抽出すべき特徴点として定義された第1特徴点群に関する第1構造データと、前記第1特徴点群以外の第2特徴点群に関する第2構造データとを取得し、
前記フィールドの少なくとも一部を含む画像に基づき決定された、前記画像上の位置と、前記第1特徴点群の特徴点との対応を示す候補ラベルとの組を示す特徴点情報を取得し、
前記第2特徴点群の特徴点に該当する前記画像上の位置及び候補ラベルの組を前記第2構造データに基づき特定し、特定した前記候補ラベルを前記第2特徴点群の特徴点を示すラベルに修正した補正特徴点情報を生成し、
前記第1構造データと、前記第2構造データと、前記補正特徴点情報とに基づき、前記画像を撮影するカメラを有する表示装置が基準とする座標系における前記フィールドを推定する、
制御方法である。
コンピュータが、
コンピュータが、
対象となるフィールドに対して抽出すべき特徴点として定義された第1特徴点群に関する第1構造データと、前記第1特徴点群以外の第2特徴点群に関する第2構造データとを取得し、
前記フィールドの少なくとも一部を含む画像に基づき決定された、前記画像上の位置と、前記第1特徴点群の特徴点との対応を示す候補ラベルとの組を示す特徴点情報を取得し、
前記第2特徴点群の特徴点に該当する前記画像上の位置及び候補ラベルの組を前記第2構造データに基づき特定し、特定した前記候補ラベルを前記第2特徴点群の特徴点を示すラベルに修正した補正特徴点情報を生成し、
前記第1構造データと、前記第2構造データと、前記補正特徴点情報とに基づき、前記画像を撮影するカメラを有する表示装置が基準とする座標系における前記フィールドを推定する、
制御方法である。
記憶媒体の一の態様は、
対象となるフィールドに対して抽出すべき特徴点として定義された第1特徴点群に関する第1構造データと、前記第1特徴点群以外の第2特徴点群に関する第2構造データとを取得し、
前記フィールドの少なくとも一部を含む画像に基づき決定された、前記画像上の位置と、前記第1特徴点群の特徴点との対応を示す候補ラベルとの組を示す特徴点情報を取得し、
前記第2特徴点群の特徴点に該当する前記画像上の位置及び候補ラベルの組を前記第2構造データに基づき特定し、特定した前記候補ラベルを前記第2特徴点群の特徴点を示すラベルに修正した補正特徴点情報を生成し、
前記第1構造データと、前記第2構造データと、前記補正特徴点情報とに基づき、前記画像を撮影するカメラを有する表示装置が基準とする座標系における前記フィールドを推定する処理をコンピュータに実行させるプログラムを格納する記憶媒体である。
対象となるフィールドに対して抽出すべき特徴点として定義された第1特徴点群に関する第1構造データと、前記第1特徴点群以外の第2特徴点群に関する第2構造データとを取得し、
前記フィールドの少なくとも一部を含む画像に基づき決定された、前記画像上の位置と、前記第1特徴点群の特徴点との対応を示す候補ラベルとの組を示す特徴点情報を取得し、
前記第2特徴点群の特徴点に該当する前記画像上の位置及び候補ラベルの組を前記第2構造データに基づき特定し、特定した前記候補ラベルを前記第2特徴点群の特徴点を示すラベルに修正した補正特徴点情報を生成し、
前記第1構造データと、前記第2構造データと、前記補正特徴点情報とに基づき、前記画像を撮影するカメラを有する表示装置が基準とする座標系における前記フィールドを推定する処理をコンピュータに実行させるプログラムを格納する記憶媒体である。
本開示の1つの効果の例として、修正した特徴点情報に基づいて、フィールドを正確に推定することが可能となる。
以下、図面を参照しながら、情報処理装置、制御方法及び記憶媒体の実施形態について説明する。
<第1実施形態>
(1)概略構成
図1は、第1実施形態に係る表示装置1の概略構成図である。表示装置1は、ユーザが装着可能な装置であり、例えば眼鏡型に構成されたシースルー型であって、ユーザの頭部に装着可能に構成されている。そして、表示装置1は、スポーツ観戦や劇(コンサートを含む)の観賞などにおいて、実在する風景に視覚情報を重ねて表示することで、拡張現実(AR:Augmented Reality)を実現する。上記の視覚情報は、2次元又は3次元により表された仮想のオブジェクトであり、以後では、「仮想オブジェクト」とも呼ぶ。なお、表示装置1は、ユーザの片眼にのみ仮想オブジェクトを表示してもよく、両眼に対して仮想オブジェクトを表示してもよい。
(1)概略構成
図1は、第1実施形態に係る表示装置1の概略構成図である。表示装置1は、ユーザが装着可能な装置であり、例えば眼鏡型に構成されたシースルー型であって、ユーザの頭部に装着可能に構成されている。そして、表示装置1は、スポーツ観戦や劇(コンサートを含む)の観賞などにおいて、実在する風景に視覚情報を重ねて表示することで、拡張現実(AR:Augmented Reality)を実現する。上記の視覚情報は、2次元又は3次元により表された仮想のオブジェクトであり、以後では、「仮想オブジェクト」とも呼ぶ。なお、表示装置1は、ユーザの片眼にのみ仮想オブジェクトを表示してもよく、両眼に対して仮想オブジェクトを表示してもよい。
本実施形態では、スポーツや劇などが行われる場又は構造物(以後では「フィールド」とも呼ぶ。)が存在するものとし、表示装置1は、ユーザがスポーツ観戦や劇の観賞を行う際に補助となる付加的な情報となる仮想オブジェクトを、フィールド又はその周辺に重畳表示する。仮想オブジェクトは、例えば、テニスなどの場合には、テニスコート上方に表示する点数ボード、競泳の場合には、競泳中のプールにリアルタイム重畳表示する世界記録ライン、観劇などでステージ上に重畳表示するバーチャル出演者などを含む。
フィールドは、構造上の(即ち形状において特徴がある)特徴点(「構造特徴点」とも呼ぶ。)を複数有している。フィールドは、例えば、スポーツ観戦において対象となるフィールド(例えばテニスコート、競泳用プール、スタジアム等)、又は、観劇において対象となるフィールド(例えば劇場、コンサートホール、多目的ホール、各種ステージ等)などが該当する。フィールドは、表示装置1のキャリブレーションにおける基準物として機能する。
また、本実施形態では、画像上の構造特徴点を抽出する特徴抽出処理の学習段階において用いられる画像に表示されたフィールドと、表示装置1による表示段階において表示装置1が撮影する画像に表示されたフィールドとで仕様が一部異なる場合等においても、正確なキャリブレーション処理を実行する。以後において、特徴抽出処理の学習段階において用いられる画像に表示されたフィールドを「学習用フィールド」と呼び、キャリブレーション処理において表示装置1が撮影する画像に表示されたフィールドを「表示対象フィールド」と呼ぶ。後述するように、表示対象フィールドは、学習用フィールドと同一目的に使用されるフィールドであって、少なくとも学習用フィールドが有する構造特徴点を含んでおり、学習用フィールドにはない構造特徴点を任意に含んでいる。例えば、学習用フィールドは、1種類のスポーツに対応したフィールドであり、表示対象フィールドは、複数種類のスポーツに対応したフィールドである。他の例についても図4(A)及び図4(B)を参照して後述説明する。なお、学習用フィールドと表示対象フィールドは、同一仕様のフィールドであってもよい。この場合、例えば、特徴抽出処理の学習段階ではラベルが付与されていなかった特徴点がキャリブレーション処理においてラベル付けされる。この例については、図3(A)、図3(B)、及び図14を参照して後述説明する。なお、2つのフィールドが同一仕様であるとは、2つのフィールドが互いに対応する同数の構造特徴点を有することを指す。
以後において、特徴抽出処理の学習段階においてラベル付けされたフィールドの構造特徴点の集合を「第1構造特徴点群」と呼ぶ。また、上記学習段階においてラベル付けの対象とならずキャリブレーション処理においてラベル付けの対象となるフィールドの構造特徴点の集合を「第2構造特徴点群」と呼ぶ。また、以後において、第1構造特徴点群は、「N1」個(N1は2以上の整数)の構造特徴点を有するものとし、第2構造特徴点群は「N2」個(N2は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と、第1構造データ記憶部22と、第2構造データ記憶部23と、を有する。
センサデータ記憶部20は、カメラ15が生成する撮像画像Imと、当該撮像画像Imの生成時におけるデバイス座標系の設定時(例えば表示装置1の起動時)からの表示装置1の位置及び姿勢の変化量(「位置姿勢変化量Ap」とも呼ぶ。)とを関連付けて記憶する。この場合、例えば、制御部17は、デバイス座標系の設定時の位置及び姿勢を基準とする現在の位置及び姿勢の変化量を、位置姿勢検出センサ16の検出信号に基づき常時算出する。そして、制御部17は、カメラ15が生成した撮像画像Imをセンサデータ記憶部20に記憶する場合に、当該撮像画像Imの生成時に算出した位置姿勢変化量Apを当該撮像画像Imに関連付けてセンサデータ記憶部20に記憶する。制御部17は、例えば、最新の所定時間分又は所定数分の撮像画像Im及び位置姿勢変化量Apの組合せをセンサデータ記憶部20に記憶させる。センサデータ記憶部20に記憶される情報は、キャリブレーション処理において使用される。
パラメータ記憶部21は、キャリブレーション処理において、表示対象フィールドの構造特徴点の位置情報及び当該構造特徴点の分類情報を撮像画像Imから抽出する際に用いる推論器(「特徴抽出器」とも呼ぶ。)のパラメータを記憶する。上述の特徴抽出器は、画像が入力された場合に、抽出対象となる構造特徴点の分類(即ちラベル)毎に構造特徴点の画像内の位置情報を出力するように学習された学習モデルである。上述の位置情報は、構造特徴点の座標値ごとの信頼度を示す画像上のマップ情報であってもよく、ピクセル単位又はサブピクセル単位での画像内の構造特徴点の位置を示す座標値であってもよい。上述の特徴抽出器が構造特徴点の分類毎のマップ情報を出力する場合には、例えば、構造特徴点の分類毎に信頼度がある閾値を超えた上位m個(mは1以上の整数)の座標値が構造特徴点の位置として採用される。上記整数mは、各構造特徴点に固有のラベルを付すラベル定義例(後述の図3(A)、図3(B)、図4(A)、図4(B)参照)では「1」となり、対称となる構造特徴点に対して同一ラベルを付すラベル定義例(後述の図5(A)及び図5(B)参照)では「2」となる。なお、特徴抽出器の学習に用いる学習モデルは、ニューラルネットワークに基づく学習モデルであってもよく、サポートベクターマシーンなどの他の種類の学習モデルであってもよく、これらの組み合わせであってもよい。例えば、上述の学習モデルが畳み込みニューラルネットワークなどのニューラルネットワークである場合、パラメータ記憶部21は、層構造、各層のニューロン構造、各層におけるフィルタ数及びフィルタサイズ、並びに各フィルタの各要素の重みなどの各種パラメータを記憶する。また、上述したように、学習用フィールドを表した画像が特徴抽出器の訓練用の画像として用いられる。
また、パラメータ記憶部21は、カメラ15の焦点距離、内部パラメータ、主点、撮像画像Imのサイズ情報などの、仮想オブジェクトの表示に必要なカメラ15に関するパラメータを記憶する。
第1構造データ記憶部22は、第1構造データを記憶する。第1構造データは、第1構造特徴点群に属するN1個の構造特徴点の構造に関する情報を含む。具体的には、第1構造データは、第1構造特徴点群に属する各構造特徴点の分類(クラス)を示すラベルと、第1構造特徴点群に属する各構造特徴点のフィールド座標系での位置を示す登録位置情報とを少なくとも含んでいる。登録位置情報は、フィールド座標系により表された座標情報であり、例えばいずれかの構造特徴点の位置が原点となるように設定されている
第2構造データ記憶部23は、第2構造データを記憶する。第2構造データは、第2構造特徴点群に属するN2個の構造特徴点の構造に関する情報を含む。具体的には、第2構造データは、第2構造特徴点群に属する各構造特徴点の分類を示すラベルと、第2構造特徴点群に属する各構造特徴点のフィールド座標系での位置を示す登録位置情報とを少なくとも含んでいる。なお、第1構造特徴点群及び第2構造特徴点群の任意の2点の構造特徴点間の長さは、これらの登録位置情報が示す座標値に基づき算出可能である。第1構造データ及び第2構造データは、キャリブレーション処理において用いられる。
記憶部14は、上述した各情報に加えて、種々の情報を記憶してもよい。例えば、記憶部14は、表示対象フィールドのサイズに関する情報、フィールド座標系において原点とする構造特徴点を指定する情報及びフィールド座標系の3軸の各方向をそれぞれ指定する情報などが含まれてもよい。また、記憶部14は、フィールドの構造特徴点の経時での変位の非等方性に関する非等方性情報を記憶してもよい。非等方性情報は、例えば、フィールドの構造特徴点が経時により変位する場合に、変位しやすい方向又は/及び変位しにくい方向(及びその度合い)を示す情報となる。これらの方向は、例えば、フィールド座標系におけるベクトルにより表されてもよく、「構造特徴点Aから構造特徴点Bへの方向」などのように、構造特徴点同士の位置関係に基づき特定されてもよい。
なお、図1に示す表示装置1の構成は一例であり、この構成に対して種々の変更を行ってもよい。例えば、表示装置1は、制御部17の制御に基づき、音声を出力するスピーカをさらに備えてもよい。また、表示装置1は、ユーザの視線の位置に応じて仮想オブジェクトの表示有無や仮想オブジェクトの表示位置を変更するための視線検出用カメラを備えてもよい。さらに別の例では、記憶部14は、センサデータ記憶部20を有しなくともよい。この場合、制御部17は、カメラ15から即時に取得した撮像画像Imと、位置姿勢検出センサ16の検出信号に基づき算出した位置姿勢変化量Apとを用いて、キャリブレーション処理を行う。
さらに別の例では、表示装置1は、位置姿勢検出センサ16等による表示装置1の位置を検出しなくともよい。一般に、スポーツ観戦や劇等の観賞中では、ユーザが移動することは稀であり、かつ、表示装置1の姿勢変化に比べて表示装置1の位置の変化に対する仮想オブジェクトの表示への影響は小さい。以上を勘案し、位置姿勢検出センサ16は、表示装置1の姿勢を検出するセンサから構成され、制御部17は、デバイス座標系の設定時からの表示装置1の姿勢の変化量のみを、位置姿勢変化量Apとして算出してもよい。
(2)機能ブロック
図2は、制御部17の機能的な構成を示すブロック図である。図2に示すように、制御部17は、機能的には、仮想オブジェクト取得部41と、特徴抽出部42と、座標変換情報生成部43と、反映部44と、光源制御部45と、を有する。なお、図2では、データの授受が行われるブロック同士を実線により結んでいるが、データの授受が行われるブロックの組合せは図2に限定されない。後述する他の機能ブロックの図においても同様である。
図2は、制御部17の機能的な構成を示すブロック図である。図2に示すように、制御部17は、機能的には、仮想オブジェクト取得部41と、特徴抽出部42と、座標変換情報生成部43と、反映部44と、光源制御部45と、を有する。なお、図2では、データの授受が行われるブロック同士を実線により結んでいるが、データの授受が行われるブロックの組合せは図2に限定されない。後述する他の機能ブロックの図においても同様である。
仮想オブジェクト取得部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は、第1構造データ及び第2構造データと、特徴点情報IFと、特徴抽出を行った撮像画像Imの生成時の位置姿勢変化量Apと、カメラ15のパラメータ等とに基づき、デバイス座標系とフィールド座標系との座標変換情報「Ic」を生成する。座標変換情報Icは、例えば、3次元空間同士の座標変換を行うために一般的に用いられる回転行列及び並進ベクトルの組み合わせである。なお、座標変換情報Icは、フィールド座標系をデバイス座標系へ変換する際に用いられる情報であることに限定されず、デバイス座標系をフィールド座標系へ変換する際に用いられる情報であってもよい。ここで、フィールド座標系からデバイス座標系へ変換するための回転行列及び並進ベクトルは、デバイス座標系からフィールド座標系へ変換するための回転行列(上述の回転行列の逆行列)及び並進ベクトル(符号反転した上述の並進ベクトル)に変換可能である。
また、座標変換情報生成部43は、フィールド推定部46を有する。フィールド推定部46は、デバイス座標系における表示対象フィールドの位置を推定する。フィールド推定部46による推定方法については後述する。座標変換情報生成部43は、フィールド推定部46が推定したデバイス座標系における表示対象フィールドの位置と、第1構造データ及び第2構造データに基づくフィールド座標系における表示対象フィールドの位置とに基づき、座標変換情報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は、ユーザの視線検出などを行い、仮想オブジェクトが適切に視認されるように制御を行う。
図2において説明した仮想オブジェクト取得部41、特徴抽出部42、座標変換情報生成部43、反映部44及び光源制御部45の各構成要素は、例えば、制御部17がプログラムを実行することによって実現できる。また、必要なプログラムを任意の不揮発性記憶媒体に記録しておき、必要に応じてインストールすることで、各構成要素を実現するようにしてもよい。なお、これらの各構成要素の少なくとも一部は、プログラムによるソフトウェアで実現することに限ることなく、ハードウェア、ファームウェア、及びソフトウェアのうちのいずれかの組合せ等により実現してもよい。また、これらの各構成要素の少なくとも一部は、例えばFPGA(Field-Programmable Gate Array)又はマイクロコントローラ等の、ユーザがプログラミング可能な集積回路を用いて実現してもよい。この場合、この集積回路を用いて、上記の各構成要素から構成されるプログラムを実現してもよい。また、各構成要素の少なくとも一部は、ASSP(Application Specific Standard Produce)、ASIC(Application Specific Integrated Circuit)又は量子プロセッサ(量子コンピュータ制御チップ)により構成されてもよい。このように、各構成要素は、種々のハードウェアにより実現されてもよい。以上のことは、後述する他の実施の形態においても同様である。さらに、これらの各構成要素は、例えば、クラウドコンピューティング技術などを用いて、複数のコンピュータの協働によって実現されてもよい。
(3)構造特徴点のラベル定義例
図3(A)は、テニスコートである学習用フィールドの第1構造特徴点群のラベル定義例を示し、図3(B)は、テニスコートである表示対象フィールドの第1構造特徴点群及び第2構造特徴点群のラベル定義例を示す。図3(A)及び図3(B)では、構造特徴点の位置に丸印及び対応するラベルの番号が明示されている。この例では、学習用フィールドと表示対象フィールドとが同一の構造特徴点を有するフィールドであるものの、これらの構造特徴点のうち一部のみ(ここではシングルスコートの構造特徴点のみ)を特徴抽出器が抽出するように学習されている。
図3(A)は、テニスコートである学習用フィールドの第1構造特徴点群のラベル定義例を示し、図3(B)は、テニスコートである表示対象フィールドの第1構造特徴点群及び第2構造特徴点群のラベル定義例を示す。図3(A)及び図3(B)では、構造特徴点の位置に丸印及び対応するラベルの番号が明示されている。この例では、学習用フィールドと表示対象フィールドとが同一の構造特徴点を有するフィールドであるものの、これらの構造特徴点のうち一部のみ(ここではシングルスコートの構造特徴点のみ)を特徴抽出器が抽出するように学習されている。
図3(A)に示すように、特徴抽出器が抽出するように学習された第1構造特徴点群の構造特徴点はシングルスコートに関連する特徴点であって10個存在し、これらの構造特徴点は、隅から順に、「0」~「9」までの通し番号がラベルとして付されている。一方、図3(B)に示すように、第2構造特徴点群は、第1構造特徴点群において含まれていなかった4個の構造特徴点(ここではダブルスコートの四隅)を含み、これらの構造特徴点は、隅から順に、「o0」~「o3」までの番号がラベルとして付されている。
図4(A)は、プールである学習用フィールドの第1構造特徴点群のラベル定義例を示し、図4(B)は、プールである表示対象フィールドの第1構造特徴点群及び第2構造特徴点群のラベル定義例を示す。図4(A)及び図4(B)では、構造特徴点の位置に丸印及び対応するラベルの番号が明示されている。フィールドがプールの場合、コースを区画するロープに所定距離間隔により設けられた所定色のフロートの中心が構造特徴点として選ばれている。そして、この例では、学習用フィールドが8レーンのプールであるのに対し、表示対象フィールドが10レーンのプールとなっている。従って、表示対象フィールドは、学習用フィールドに比べてレーンが多い分だけフロートの数が多くなり、より多くの構造特徴点を有している。そして、第1構造特徴点群の構造特徴点は25個存在し、これらの構造特徴点は、「0」~「24」までの通し番号がラベルとして付されている。一方、第2構造特徴点群は、第1構造特徴点群において含まれていなかった両端のレーンのフロートに相当する6個の構造特徴点を含み、これらの構造特徴点は、「o0」~「o5」までの番号がラベルとして付されている。
ここで、第2構造特徴点群の構造特徴点を定義することの効果について説明する。
第2構造特徴点群の各構造特徴点は、一般的に第1構造特徴点群の周辺に配置されており、学習用フィールドと表示対象フィールドの構造の類似性等に起因して、第1構造特徴点群の構造特徴点として特徴抽出器により誤って抽出される可能性がある。この場合、本来特徴抽出器により抽出されるべき第1構造特徴点群の構造特徴点が未検出となり、デバイス座標系における表示対象フィールドの位置を推定に用いる構造特徴点の数が減少してしまう。その結果、推定精度の減少や推定時間の増加が発生する。この傾向は、推定される構造特徴点の数の上限(上述のm)を設定するときなどに顕著であり、かつ、間違って抽出された位置周辺に存在する第1構造特徴点群の構造特徴点が未検知となる傾向が見られる。一方、全ての表示対象フィールドを対象に特徴抽出器を再学習するのはデータ的なコストが大きく、膨大なデータを必要とする学習段階において様々な仕様に対応するのは現実的ではない。
以上を勘案し、本実施形態では、表示装置1は、第1構造特徴点群として定義されていない表示対象フィールドの他の構造特徴点に関する第2構造データを用いて、特徴抽出器が出力する候補ラベルの修正を行う。これにより、表示装置1は、第1構造特徴点群の構造特徴点として誤って特徴抽出器により抽出された第2構造特徴点群の構造特徴点を利用して的確にデバイス座標系における表示対象フィールドの位置を推定することが可能となる。
なお、図3(A)、図3(B)、図4(A)、図4(B)の例では、ラベル名と構造特徴点の位置とが一意に決まるラベル定義がなされていたが、ラベル定義の例はこれに限定されない。例えば、対称となる構造特徴点に対して同一ラベルを付すラベル定義がなされてもよい。以後では、ラベル名と構造特徴点の位置とが一意に決まるラベル定義を「第1ラベル定義」と呼び、対称となる構造特徴点に対して同一ラベルを付すラベル定義を「第2ラベル定義」と呼ぶ。
図5(A)は、図3(B)に示す表示対象フィールドの各構造特徴点に対して第2ラベル定義により決定したラベルを付した場合の構造特徴点とラベルとの対応関係を示す図である。この例では、対称となる構造特徴点に対して同一ラベルが付されており、その結果、0から4及びo0からo1までの各ラベルは、対称位置にある2つの構造特徴点に対して付されている。図5(B)は、図4(B)に示す表示対象フィールドの各構造特徴点に対して第2ラベル定義により決定したラベルを付した場合の構造特徴点とラベルとの対応関係を示す図である。この例では、対称となる構造特徴点に対して同一ラベルが付されており、その結果、0から12及びo0からo2までの各ラベルは、対称位置にある2つの構造特徴点に対して付されている。
(4)フィールド推定部の処理
(4-1)概要
図6は、フィールド推定部46の処理の概要を表したフィールド推定部46の機能ブロック図である。図6に示すように、フィールド推定部46は、機能的には、特徴点エラー検出部51と、第1フィールド推定部52と、ラベル修正部53と、第2フィールド推定部54とを有する。なお、図6では明示していないが、フィールド推定部46の各構成要素は、センサデータ記憶部20に記憶された位置姿勢変化量Ap及びパラメータ記憶部21に記憶されたカメラのパラメータ(内部パラメータ、撮像画像Imのサイズを含む)を参照して各処理を行うものとする。
(4-1)概要
図6は、フィールド推定部46の処理の概要を表したフィールド推定部46の機能ブロック図である。図6に示すように、フィールド推定部46は、機能的には、特徴点エラー検出部51と、第1フィールド推定部52と、ラベル修正部53と、第2フィールド推定部54とを有する。なお、図6では明示していないが、フィールド推定部46の各構成要素は、センサデータ記憶部20に記憶された位置姿勢変化量Ap及びパラメータ記憶部21に記憶されたカメラのパラメータ(内部パラメータ、撮像画像Imのサイズを含む)を参照して各処理を行うものとする。
特徴点エラー検出部51は、特徴抽出部42から供給される特徴点情報IFと、第1構造データ記憶部22に記憶された第1構造データとに基づき、構造特徴点(詳しくは第1構造特徴点群の構造特徴点)の誤った抽出結果を表す特徴抽出位置(「エラー特徴抽出位置」とも呼ぶ。)を検出する。この場合、特徴点エラー検出部51は、位置姿勢検出センサ16に含まれる加速度センサ160の出力信号に基づき、フィールド座標系とデバイス座標系との鉛直方向の軸を平行にする処理を行ってもよい。そして、特徴点エラー検出部51は、エラー特徴抽出位置の検出結果を、第1フィールド推定部52及びラベル修正部53に供給する。
第1フィールド推定部52は、特徴点情報IFと、特徴点エラー検出部51によるエラー特徴抽出位置の検出結果と、第1構造データ記憶部22に記憶された第1構造データとに基づき、デバイス座標系における表示対象フィールドの位置を推定する。この場合、第1フィールド推定部52は、加速度センサ160の出力信号に基づき、フィールド座標系とデバイス座標系との鉛直方向の軸を平行にする処理を行ってもよい。
なお、第1フィールド推定部52が算出するデバイス座標系での表示対象フィールドの推定位置は、ラベル修正部53が処理に用いるための暫定的な推定位置であり、最終的な表示対象フィールドの推定位置は、第2フィールド推定部54によって決定される。言い換えると、第1フィールド推定部52は、デバイス座標系での表示対象フィールドの第1の推定結果を示す情報(「第1フィールド推定情報」とも呼ぶ。)を生成し、第2フィールド推定部54は、デバイス座標系での表示対象フィールドの第2の推定結果を示す情報(「第2フィールド推定情報」とも呼ぶ。)を生成する。第1フィールド推定部52は、表示対象フィールドの推定位置を示す第1フィールド推定情報を、ラベル修正部53に供給する。
ラベル修正部53は、第1フィールド推定部52から供給される第1フィールド推定情報と、特徴点情報IFと、第2構造データ記憶部23に記憶される第2構造データとに基づき、特徴点情報IFの候補ラベルの修正を行う。ここで、ラベル修正部53は、機能的には、第1修正部55と、第2修正部56とを有する。
第1修正部55は、候補ラベルを第1構造特徴点群の構造特徴点を表す他の候補ラベルに変更することで正しい構造特徴点の位置となるエラー特徴抽出位置(「第1ラベルエラー特徴抽出位置」とも呼ぶ。)を検出し、第1ラベルエラー特徴抽出位置の候補ラベルを修正する。第2修正部56は、候補ラベルを第2構造特徴点群の構造特徴点を表す候補ラベルに変更することで正しい構造特徴点の位置となるエラー特徴抽出位置(「第2ラベルエラー特徴抽出位置」とも呼ぶ。)を検出し、第2ラベルエラー特徴抽出位置の候補ラベルを修正する。そして、ラベル修正部53は、第1ラベルエラー特徴抽出位置及び第2ラベルエラー特徴抽出位置の候補ラベルを修正した特徴点情報IFを、第2フィールド推定部54に供給する。ラベル修正部53が第2フィールド推定部54に供給する特徴点情報IFは、「補正特徴点情報」の一例である。
なお、第1修正部55の処理と第2修正部56の処理とは並列処理であってもよく、第1修正部55の処理後に第2修正部56の処理が行われてもよく、第2修正部56の処理後に第1修正部55の処理が行われてもよい。また、第1修正部55と第2修正部56とは、相互に依存した処理を行い、互いに他方のエラー特徴抽出位置の検出結果を勘案し、候補ラベルの修正を最終決定してもよい。この場合、第1修正部55と第2修正部56は、例えば、同一のエラー特徴抽出位置を第1ラベルエラー特徴抽出位置及び第2ラベルエラー特徴抽出位置として検出した場合に、いずれか一方の修正を反映させるように相互の処理結果の授受を行ってもよい。
第2フィールド推定部54は、ラベル修正部53による修正が反映された特徴点情報IFと、第1構造データ記憶部22に記憶される第1構造データと、第2構造データ記憶部23に記憶される第2構造データとに基づき、表示対象フィールドの推定位置を表す第2フィールド推定情報を生成する。ここで、第2フィールド推定部54が算出する表示対象フィールドの推定位置は、特徴点エラー検出部51、第1フィールド推定部52、ラベル修正部53の各処理結果を反映したものとなっており、フィールド推定部46が最終的に出力する表示対象フィールドの推定位置となる。そして、第2フィールド推定部54が出力する第2フィールド推定情報に基づき、座標変換情報Icが生成される。
(4-2)特徴点エラー検出部
図7は、特徴点エラー検出部51の機能ブロックの一例である。特徴点エラー検出部51は、機能的には、軸調整部510と、候補フィールド生成部511と、推定フィールド決定部512と、間違いラベル検出部513とを有する。
図7は、特徴点エラー検出部51の機能ブロックの一例である。特徴点エラー検出部51は、機能的には、軸調整部510と、候補フィールド生成部511と、推定フィールド決定部512と、間違いラベル検出部513とを有する。
軸調整部510は、加速度センサ160の出力信号に基づき、デバイス座標系における鉛直方向を認識する。そして、軸調整部510は、認識した鉛直方向に基づき、デバイス座標系及びフィールド座標系の高さ方向の軸が平行になるように調整する。
候補フィールド生成部511は、特徴点情報IFが示す特徴抽出位置のうち2点を用い、デバイス座標系において表示対象フィールドを表す候補(「候補フィールド」とも呼ぶ。)を生成する処理を複数回実行する。この場合、候補フィールド生成部511は、n(nは3以上の整数)回ランダムに選んだn組(ペア)の特徴抽出位置からn個の候補フィールドを生成してもよく、全通りの特徴抽出位置の組から候補フィールドを生成してもよい。なお、候補フィールド生成部511は、候補フィールドとして、例えば、ラベルごとのデバイス座標系における構造特徴点の推定位置と、デバイス座標系における表示対象フィールドの推定面とを特定する。
ここで、全通りの特徴抽出位置の組から候補フィールドを生成する場合について補足説明する。ラベル名と構造特徴点の位置とが一意に決まる第1ラベル定義の場合、特徴抽出位置の数をN1個とすると、候補フィールド生成部511は、特徴抽出位置のN1C2個の組からN1C2個の候補フィールドを生成する。一方、ラベル名と構造特徴点の位置とが一意に決まらないラベル定義の場合、1組から複数のフィールド推定が必要になる。例えば、第2ラベル定義例(即ち、点対称ラベルを同一にしたラベル定義)の場合、候補フィールド生成部511は、全体でN1C2×2個の候補フィールドを作成する。なお、一般に1ラベルに対して「M」(Mは3以上の整数)通りの特徴点位置が考えられるラベル定義例では、N1個の構造特徴点が与えられた場合の候補フィールドの最小推定数は、ラベル定義の対称性等によって異なる。具体的には、処理の効率を考えない場合、候補フィールドの最小推定数は、N1C2×M×Mとなる。
推定フィールド決定部512は、複数の候補フィールドから、最終的に推定結果として出力するデバイス座標系での表示対象フィールド(「推定フィールド」とも呼ぶ。)を決定する。この場合、推定フィールド決定部512は、候補フィールドのクラスタリングを行い、候補フィールドが属する数が最も大きい主クラスタに属する候補フィールドから推定フィールドを決定する。言い換えると、推定フィールド決定部512は、デバイス座標系での表示対象フィールドの各ラベルの構造特徴点の推定位置(及び表示対象フィールドの推定面)を決定する。
間違いラベル検出部513は、推定フィールド決定部512が決定した推定フィールドに基づき、エラー特徴抽出位置を決定する。この場合、例えば、間違いラベル検出部513は、位置姿勢変化量Apに基づき特定されるデバイス座標系での撮影位置及びカメラ15のパラメータ(内部パラメータを含む)に基づき、各特徴抽出位置を推定フィールドに投影した点を、デバイス座標系での各特徴抽出位置として認識する。そして、間違いラベル検出部513は、推定フィールドの第1構造特徴点群の構造特徴点の位置と、デバイス座標系での特徴抽出位置とを第1構造特徴点群のラベルごとに比較し、所定距離以上となる特徴抽出位置を、エラー特徴抽出位置として決定する。上述の所定距離は、例えば予め設定された適合値が記憶部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を引き続き参照して補足説明する。
図9では、候補フィールド生成部511は、図3(A)に示される第1ラベル定義例に基づくラベル番号4及びラベル番号5の2つの特徴抽出位置から候補フィールドを生成している。ラベル番号4とラベル番号5の2つの特徴抽出位置間の距離(矢印90参照)は、第1構造データを参照することで特定することが可能である。そして、候補フィールド生成部511は、デバイス座標系におけるカメラ15の撮影位置(撮影方向を含む)と、カメラ15のパラメータと、ラベル番号4とラベル番号5の撮像画像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は、主クラスタに属する候補フィールドの平均(上述の重心からの距離に応じた重み付け平均を含む)その他の統計処理又は第1構造データから特定される構造特徴点の位置関係(即ち表示対象フィールドのモデル)を利用した最小2乗法などの解析処理に基づき、主クラスタに属する候補フィールドを統合した推定フィールドを決定してもよい。この場合、推定フィールド決定部512は、例えば、第1構造データにより示される第1構造特徴点群の各構造特徴点間の位置関係(距離)を表すモデル又は制約条件を設定し、ラベルごとに推定フィールドの構造特徴点と主クラスタに属する候補フィールドの特徴抽出位置の点群との誤差の和を最小化するように最適化(最小二乗法等による解析も含む)を行うことで、推定フィールドを決定してもよい。さらに別の例では、推定フィールド決定部512は、主クラスタに属する候補フィールドからランダムに選択した候補フィールドを推定フィールドとして決定してもよい。このように、推定フィールド決定部512は、主クラスタに属する候補フィールドの統合又は選択に基づき、推定フィールドを決定する。
(4-3)第1フィールド推定部
次に、第1フィールド推定部52の処理について説明する。
次に、第1フィールド推定部52の処理について説明する。
図11は、エラー特徴抽出位置を除外した特徴抽出位置に基づく最適化処理により求めた表示対象フィールドの推定位置をデバイス座標系において表した図である。ここでは、表示対象フィールドは、表示対象フィールドを格子状に分けた場合の各格子の頂点(計12個の頂点)を第1構造特徴点群の構造特徴点として有している。そして、第1フィールド推定部52は、3個のエラー特徴抽出位置を除く9個の特徴抽出位置「P2」~「P7」、「P10」~「P12」に基づき、表示対象フィールドの推定を行っている。この場合、第1フィールド推定部52は、位置姿勢変化量Apに基づき特定されるデバイス座標系での撮影位置(撮影向きを含む)とカメラ15のパラメータ(内部パラメータを含む)とに基づき、デバイス座標系に投影された特徴抽出位置P2~P7、P10~P12(図11に示される破線)を特定する。そして、候補フィールド生成部511は、第1構造データを参照することで、第1構造特徴点群の構造特徴点間の距離等を表す相対位置関係(表示対象フィールドのモデル)を特定し、特定した構造特徴点間の位置関係が保たれるように、デバイス座標系での特徴抽出位置P2~P7、P10~P12及び推定フィールド全体を決定する。
このように、第1フィールド推定部52は、使用する特徴抽出位置の候補ラベルに間違いがない、かつ、カメラ15の内部パラメータ等に起因した歪みを調整しているという前提において、特徴点情報IFにより示される少なくとも一部の特徴抽出位置及び候補ラベルの組と、第1構造データとに基づき、デバイス座標系での表示対象フィールドの推定を行う。
また、第1フィールド推定部52は、表示対象フィールドの構造特徴点が非等方的に(ある方向に偏って)変位する場合に、非等方的な変位を考慮した最適化を行うことで、表示対象フィールドの推定位置を決定してもよい。ここで、構造特徴点が非等方的に(ある方向に偏って)変位するフィールドは、例えば、図4(A)及び図4(B)に示す(競技用)プールである。このような性質を有する表示対象フィールドは、剛体に準じた性質を有する準剛体とみなすことができる。
この場合、まず、第1フィールド推定部52は、ラベルごとに、推定する第1構造特徴点群の構造特徴点の推定位置とデバイス座標系での特徴抽出位置とのx軸方向及びz軸方向での距離(即ち誤差)を算出し、そのx軸方向の距離の和とz軸方向の距離の和を算出する。そして、第1フィールド推定部52は、算出したx軸方向の距離の和とz軸方向の距離の和とに対して夫々異なる重み係数(x軸に対応する係数を「ax」、y軸に対応する係数を「ay」とする。)を乗じた和を評価関数として設定する。そして、第1フィールド推定部52は、第1構造データに基づく各構造特徴点の相対位置関係を制約条件として、上述の評価関数を最小化する上述の推定位置の解を算出する。なお、例えば上述の制約条件を表示対象フィールドのモデルとみなして重み付き最小二乗法により上述の算出を行ってもよい。
一方、第1フィールド推定部52は、フィールドの構造特徴点が非等方的に変位しない場合には、等方的な最適化を行う。この場合、第1フィールド推定部52は、ラベルごとに、第1構造特徴点群の構造特徴点の推定位置とデバイス座標系での特徴抽出位置との距離(即ち誤差)を算出し、そのラベルごとの距離の和を評価関数とし、当該評価関数を最小化する上述の推定位置の解を算出する。なお、この場合、第1フィールド推定部52は、第1構造データ記憶部22に記憶された第1構造データに基づく各構造特徴点の相対位置関係を満たすことを制約条件として上述の解の算出を行う。なお、例えば上述の制約条件を表示対象フィールドのモデルとみなして最小二乗法により上述の算出を行ってもよい。
なお、上述した最適化の手法は一例であり、任意の評価関数に基づき座標軸ごとに等方的な又は非等方的な最適化を行ってもよい。
そして、第1フィールド推定部52は、表示対象フィールドの推定結果を、第1フィールド推定情報としてラベル修正部53に供給する。ここで、第1フィールド推定情報は、例えば、第1構造特徴点群の構造特徴点のデバイス座標系での推定位置及びラベルの組と、これらの構造特徴点の推定位置から特定されるデバイス座標系での表示対象フィールドの推定面(「フィールド推定面」とも呼ぶ。)とを夫々示す情報である。
なお、デバイス座標系のy軸を鉛直方向(即ちフィールドの法線方向)と平行になるように調整する処理は必須の処理ではなく、第1フィールド推定部52は、この処理を行わずに上述の最適化により表示対象フィールドの推定を行ってもよい。この場合、第1フィールド推定部52は、第1構造特徴点群の構造特徴点の推定位置とデバイス座標系での特徴抽出位置との3次元空間における距離に基づき上述の最適化を行う。
(4-4)ラベル修正部
まず、第1修正部55の処理について具体的に説明する。第1修正部55は、第1フィールド推定部52から供給される第1フィールド推定情報と、特徴点情報IFとに基づき、第1ラベルエラー特徴抽出位置を検出し、検出した第1ラベルエラー特徴抽出位置の候補ラベルの修正を行う。なお、以後では、カメラ15の内部パラメータ等に起因した歪みを調整済みであるものとする。
まず、第1修正部55の処理について具体的に説明する。第1修正部55は、第1フィールド推定部52から供給される第1フィールド推定情報と、特徴点情報IFとに基づき、第1ラベルエラー特徴抽出位置を検出し、検出した第1ラベルエラー特徴抽出位置の候補ラベルの修正を行う。なお、以後では、カメラ15の内部パラメータ等に起因した歪みを調整済みであるものとする。
図12(A)は、表示対象フィールドがテニスコートである場合の特徴抽出位置を候補ラベルと共に第1フィールド推定情報に基づくフィールド推定面上において明示した図である。ここでは、前提として、図11等を用いて説明した第1フィールド推定部52の処理等を適用することにより、カメラ15の撮影位置及びパラメータ等に基づき、各特徴抽出位置はデバイス座標系での位置に変換されているものとする。なお、図12(A)では、一例として、図3(A)に示されるテニスコートの第1ラベル定義例に基づくラベルが第1構造特徴点群の各構造特徴点に割り当てられている。図12(A)では、エラー特徴抽出位置を破線の丸印により示し、その他の特徴抽出位置を実線の丸印により示している。ここでは、エラー特徴抽出位置は、候補ラベル5及び候補ラベル6に対応する特徴抽出位置となっている。
図12(B)は、第1修正部55による候補ラベル修正後の特徴抽出位置及び候補ラベルの組を第1フィールド推定情報に基づくフィールド推定面上において明示した図である。
この場合、第1修正部55は、第1フィールド推定情報に基づき特定される第1構造特徴点群の構造特徴点及びラベルの組と、特徴点情報IFが示す特徴抽出位置及び候補ラベルの組とを比較する。この場合、第1修正部55は、特徴点情報IFが示す各特徴抽出位置について、第1フィールド推定情報が示すフィールド推定面上での投影位置(例えば、図11における特徴抽出位置P2~P7、P10~P12)を、デバイス座標系での各特徴抽出位置として算出する。この場合、第1修正部55は、カメラ15の内部パラメータ等に起因した歪みを考慮してデバイス座標系での各特徴抽出位置の算出を行う。
そして、第1修正部55は、ラベル0~4及び7~9について、第1フィールド推定情報に基づく構造特徴点の位置と同一ラベルに対応するデバイス座標系での特徴抽出位置との距離が所定閾値以内となることから、これらの特徴抽出位置は第1フィールド推定情報と整合する(即ち第1フィールド推定情報が示す構造特徴点の位置と一致する)と判定する。上述の所定距離は、例えば同一位置とみなせる距離(ユークリッド距離)であり、適合値が予め記憶部14等に記憶されている。
一方、第1修正部55は、ラベル5及びラベル6について、第1フィールド推定情報に基づく構造特徴点の位置と同一ラベルに対応するデバイス座標系での特徴抽出位置との距離が所定閾値より長くなると判定する。よって、この場合、第1修正部55は、これらの特徴抽出位置は第1フィールド推定情報と整合しないと判定する。
なお、第1修正部55は、各特徴抽出位置が第1フィールド推定情報と整合するか否かを、特徴点エラー検出部51によるエラー特徴抽出位置の検出結果に基づき判定してもよい。この場合、第1修正部55は、特徴点エラー検出部51が検出したエラー特徴抽出位置については第1フィールド推定情報と整合しないと判定し、特徴点エラー検出部51が検出したエラー特徴抽出位置以外の特徴抽出位置については第1フィールド推定情報と整合すると判定する。
次に、第1修正部55は、第1フィールド推定情報と整合しない特徴抽出位置(ここでは候補ラベル5、6の特徴抽出位置)のうち、候補ラベルを第1構造特徴点群の他のラベルに修正することで第1フィールド推定情報と整合する特徴抽出位置を、第1ラベルエラー特徴抽出位置として検出する。この場合、第1修正部55は、ユークリッド距離を用い、第1構造特徴点群のいずれかの構造特徴点との距離が所定閾値以下となる、第1フィールド推定情報と整合しない特徴抽出位置を、第1ラベルエラー特徴抽出位置として検出する。上述の所定閾値は、各特徴抽出位置が第1フィールド推定情報と整合するか否かにおいて用いた閾値と同一であってもよく、異なっていてもよい。
図12(B)の例では、第1修正部55は、候補ラベル5のデバイス座標系での特徴抽出位置と第1フィールド推定情報に基づく第1構造特徴点群の任意の構造特徴点の位置との距離が所定閾値より長くなることから、候補ラベル5の特徴抽出位置は第1ラベルエラー特徴抽出位置ではないと判定する。
一方、第1修正部55は、候補ラベル6のデバイス座標系での特徴抽出位置と第1フィールド推定情報に基づくラベル5の構造特徴点の位置との距離が所定閾値未満となることから、候補ラベル6の特徴抽出位置を第1ラベルエラー特徴抽出位置として検出する。即ち、第1修正部55は、この場合、候補ラベルを5に修正することにより誤りを修正できる(即ち第1フィールド推定情報と整合する)と判定する。よって、この場合、第1修正部55は、図12(B)に示すように、候補ラベル6の特徴抽出位置の候補ラベルを5に修正した特徴点情報IFを生成する。これにより、第1修正部55は、特徴点情報IFの誤りを好適に修正することができる。
このように、第1修正部55は、第1フィールド推定情報に整合しない特徴抽出位置のうち、第1ラベルエラー特徴抽出位置の候補ラベルを修正する。これにより、第1修正部55は、第1構造特徴点群の構造特徴点に対応する特徴抽出位置の候補ラベルの誤りを好適に修正することができる。
次に、第2修正部56の処理について具体的に説明する。第2修正部56は、第1フィールド推定情報と、特徴点情報IFと、第2構造データとに基づき、第2ラベルエラー特徴抽出位置を検出し、検出した第2ラベルエラー特徴抽出位置の候補ラベルの修正を行う。なお、以後では、カメラ15の内部パラメータ等に起因した歪みを調整済みであるものとする。
図13(A)は、表示対象フィールドがテニスコートである場合の特徴抽出位置を候補ラベルと共に第1フィールド推定情報に基づくフィールド推定面上において明示した図である。ここでは、前提として、図11等を用いて説明した第1フィールド推定部52の処理等を適用することにより、カメラ15の撮影位置及びパラメータ等に基づき、各特徴抽出位置はデバイス座標系での位置に変換されているものとする。また、一例として、図3(B)に示されるテニスコートの第1ラベル定義例に基づくラベルが第1構造特徴点群及び第2構造特徴点群の各構造特徴点に割り当てられているものとする。図13(A)では、エラー特徴抽出位置を破線の丸印により示し、その他の特徴抽出位置を実線の丸印により示している。ここでは、エラー特徴抽出位置は、候補ラベル8及び候補ラベル9に対応する特徴抽出位置となっている。
図13(B)は、第2修正部56による候補ラベル修正後の特徴抽出位置及び候補ラベルの組を第1フィールド推定情報に基づくフィールド推定面上において明示した図である。この場合、第2修正部56は、第2構造データにより特定される第2構造特徴点群の構造特徴点及びラベルの組と、特徴点情報IFが示す特徴抽出位置及び候補ラベルの組とを比較する。この場合、第2修正部56は、特徴点情報IFが示す各特徴抽出位置について、第1フィールド推定情報が示すフィールド推定面上での投影位置(例えば、図11における特徴抽出位置P2~P7、P10~P12)を、デバイス座標系での各特徴抽出位置として算出する。この場合、第2修正部56は、カメラ15の内部パラメータ等に起因した歪みを考慮してデバイス座標系での各特徴抽出位置の算出を行う。
そして、第2修正部56は、第1フィールド推定情報と整合しない(即ち第1構造特徴点群のいずれの構造特徴点とも整合しない)特徴抽出位置を特定する。ここでは、第2修正部56は、候補ラベル8及び候補ラベル9の各特徴抽出位置はいずれの第1構造特徴点群の構造特徴点と所定距離以上離れており、第1フィールド推定情報と整合しないと判定する。なお、第2修正部56は、第1修正部55と同一処理に基づき、第1フィールド推定情報と整合しない特徴抽出位置を特定してもよく、第1修正部55から受信する処理結果の情報に基づき、第1フィールド推定情報と整合しない特徴抽出位置を特定してもよい。
次に、第2修正部56は、第1フィールド推定情報と整合しない特徴抽出位置(ここでは候補ラベル8、9の特徴抽出位置)のうち、第2構造特徴点群のいずれかの構造特徴点に対応する特徴抽出位置を、第2ラベルエラー特徴抽出位置として検出する。
この場合、第2修正部56は、ユークリッド距離を用い、第2構造特徴点群のいずれかの構造特徴点との距離が所定閾値以下となる、第1フィールド推定情報と整合しない特徴抽出位置を、第2ラベルエラー特徴抽出位置として検出する。上述の所定閾値は、各特徴抽出位置が第1フィールド推定情報と整合するか否かにおいて用いた閾値と同一であってもよく、異なっていてもよい。ここで、第2修正部56は、デバイス座標系における第2構造特徴点群の構造特徴点の位置を、第1フィールド推定情報及び第2構造データに基づき特定する。この場合、第2修正部56は、第2構造データ(及び第1構造データ)に基づき、第2構造特徴点群の構造特徴点の第1構造特徴点群の構造特徴点に対する相対的な位置関係を特定する。
図13(B)の例では、第2修正部56は、候補ラベル8のデバイス座標系での特徴抽出位置と第2構造特徴点群のラベルo2の構造特徴点との距離が所定閾値以下となることから、候補ラベル8の特徴抽出位置を第2ラベルエラー特徴抽出位置として検出する。同様に、第2修正部56は、候補ラベル9のデバイス座標系での特徴抽出位置と第2構造特徴点群のラベルo3の構造特徴点との距離が所定閾値以下となることから、候補ラベル9の特徴抽出位置を第2ラベルエラー特徴抽出位置として検出する。従って、第2修正部56は、候補ラベル8の特徴抽出位置の候補ラベルをo2に修正し、かつ、候補ラベル9の特徴抽出位置の候補ラベルをo3に修正した特徴点情報IF(補正特徴点情報)を生成する。
このように、第2修正部56は、第1フィールド推定情報に整合しない特徴抽出位置のうち、候補ラベルを第2構造特徴点群の構造特徴点を表すラベルに変更することで誤りを修正可能な第2ラベルエラー特徴抽出位置の候補ラベルを修正する。
ここで、第2修正部56の処理に基づく効果について補足説明する。
第2構造特徴点群の各構造特徴点は、第1構造特徴点群の周辺に配置されており、特徴抽出器が第1構造特徴点群の構造特徴点として誤って抽出する可能性がある。この場合においても、第2修正部56により候補ラベルを第2構造特徴点群のラベルに補正することで、デバイス座標系における表示対象フィールドの位置推定に用いる構造特徴点の数を充分に確保して高精度な表示対象フィールドの推定を行うことができる。また、学習用フィールドと表示対象フィールドとで仕様が異なる場合においても、特徴抽出器の再学習を行うことなく高精度な表示対象フィールドの推定を行うことができる。例えば、図4(A)に示す学習用フィールドと図4(B)に示す表示対象フィールドとを用いる場合、8レーン仕様の競技場用に学習した特徴抽出器を10レーン用に精度を落とさずに使用可能となる。
また、学習用フィールドと表示対象フィールドとが同一仕様である場合においても、第1構造特徴点群の構造特徴点として誤って抽出される候補位置(即ち頻出するエラー特徴抽出位置)を、第2構造特徴点群の構造特徴点として定めることで同様の効果を得ることが可能である。
図14は、中央に長いフロートが存在するプールを学習用フィールド及び表示対象フィールドとした場合の構造特徴点とラベルとの対応関係を示す図である。図14では、第1構造特徴点群の構造特徴点(ラベル0~24)が実線の丸印、第2構造特徴点群の構造特徴点(ラベルo1~o14)が破線の丸印により示されている。この例では、長いフロートの中央部分を第1構造特徴点群の構造特徴点(ラベル9~15)として抽出する場合に、当該フロートの両端位置が誤って抽出されやすいことから、当該両端位置を第2構造特徴点群の構造特徴点(ラベルo1~o14)として定義している。このようにすることで、ラベル9~15の構造特徴点としてラベルo1~o14の構造特徴点が特徴抽出器により誤って抽出された場合であっても、表示装置1は、第2修正部56により候補ラベルを修正し、これらの特徴抽出結果をフィールド推定に用いることができる。従って、この場合、表示装置1は、フィールド推定に用いる構造特徴点の数を第2構造特徴点群の構造特徴点に対応するラベルへの候補ラベルの修正により充分に確保し、高精度なフィールド推定を行うことができる。
(4-5)第2フィールド推定部
第2フィールド推定部54は、例えば、第1修正部55及び第2修正部56により修正された特徴点情報IFに基づき、第1フィールド推定部52と同一処理を行うことで、第2フィールド推定情報を生成する。第2フィールド推定情報の生成時では、第2フィールド推定部54は、第1修正部55及び第2修正部56により候補ラベルの誤りが適切に修正された特徴点情報IFに基づき表示対象フィールドの推定を行うため、第1フィールド推定情報よりも高精度な第2フィールド推定情報を好適に生成することができる。言い換えると、第2フィールド推定部54は、第1構造特徴点群及び第2構造特徴点群の構造特徴点に的確に対応する特徴抽出位置の情報を含む特徴点情報IFに基づき、表示対象フィールドの正確な推定を行うことができる。
第2フィールド推定部54は、例えば、第1修正部55及び第2修正部56により修正された特徴点情報IFに基づき、第1フィールド推定部52と同一処理を行うことで、第2フィールド推定情報を生成する。第2フィールド推定情報の生成時では、第2フィールド推定部54は、第1修正部55及び第2修正部56により候補ラベルの誤りが適切に修正された特徴点情報IFに基づき表示対象フィールドの推定を行うため、第1フィールド推定情報よりも高精度な第2フィールド推定情報を好適に生成することができる。言い換えると、第2フィールド推定部54は、第1構造特徴点群及び第2構造特徴点群の構造特徴点に的確に対応する特徴抽出位置の情報を含む特徴点情報IFに基づき、表示対象フィールドの正確な推定を行うことができる。
なお、フィールド推定部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)、言い換えると、構造的に同一直線上となるように配置された構造特徴点のみを使用してフィールド推定を行う場合。
(ケース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)の該当有無を判定してもよい。
(5)処理フロー
図15は、第1実施形態において制御部17が実行する仮想オブジェクトの表示処理に関する処理概要を示すフローチャートの一例である。
図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に基づき、第1構造特徴点群の各構造特徴点に対応する特徴抽出位置及び候補ラベルの組を示す特徴点情報IFを生成する(ステップS21)。この場合、特徴抽出部42は、パラメータ記憶部21から取得するパラメータに基づき特徴抽出器を構成し、当該特徴抽出器に撮像画像Imを入力する。そして、特徴抽出部42は、特徴抽出器が出力する情報に基づき、特徴点情報IFを生成する。
次に、座標変換情報生成部43のフィールド推定部46は、特徴点エラー検出処理を実行する(ステップS22)。特徴点エラー検出処理の詳細については、図17を参照して説明する。
さらに、フィールド推定部46は、第1フィールド推定処理を実行する(ステップS23)。
そして、フィールド推定部46は、第1修正部55による第1ラベル修正処理と、第2修正部56による第2ラベル修正処理とを実行する(ステップS24)。第1ラベル修正処理及び第2ラベル修正処理の詳細については、図18及び図19を参照して説明する。なお、第1ラベル修正処理及び第2ラベル修正処理の処理順序は順不同であり、並列処理が行われてもよい。
そして、フィールド推定部46は、第2フィールド推定処理を実行する(ステップS25)。これにより、フィールド推定部46は、誤りが修正された特徴点情報IFに基づきデバイス座標系での表示対象フィールドを高精度に推定した結果を表す第2フィールド推定情報を生成する。
そして、座標変換情報生成部43は、フィールド推定部46が生成した第2フィールド推定情報に基づき、デバイス座標系からフィールド座標系へ変換するための座標変換情報Icを生成する(ステップS26)。この場合、座標変換情報生成部43は、構造特徴点のラベル毎に、ステップS25で取得した第2フィールド推定情報が示す各構造特徴点のデバイス座標系での検出位置と、第1構造データ及び第2構造データに含まれる登録位置情報が示すフィールド座標系の構造特徴点の位置と、を夫々対応付けて照合を行い、ラベル毎に照合した位置同士が一致するような(即ちラベル毎の位置の誤差が最小となる)座標変換情報Icを算出する。
このように、表示装置1は、キャリブレーション処理において撮像画像Imから予め登録されている(即ち既にラベルが登録された)構造特徴点のみを抽出した情報を、第1構造データ及び第2構造データに登録された構造特徴点の情報と照合させる。これにより、座標変換情報Icを算出するための照合処理に要する計算量を大幅に削減し、かつ、撮像画像Imに含まれるノイズ(即ち表示対象フィールド以外の特徴点)の抽出に起因した影響等を受けないロバストな座標変換情報Icの算出が可能となる。また、本実施形態では、上述の照合は、特徴抽出処理の誤りが好適に修正された構造特徴点の推定情報に基づき実行されるため、正確な座標変換情報Icの算出が可能となる。
図17は、ステップS22において実行される特徴点エラー検出処理の詳細を示すフローチャートの一例である。
まず、特徴点エラー検出部51は、加速度センサ160の出力信号等に基づき鉛直方向を特定し、特定した鉛直方向に基づきデバイス座標系とフィールド座標系との1軸(y軸とy^軸)が平行になるようにデバイス座標系等を調整する(ステップS31)。
次に、特徴点エラー検出部51は、第1構造データと、選択した2点の特徴抽出位置とに基づきデバイス座標系における候補フィールドを生成する処理を、複数回実行する(ステップS32)。これにより、上述の処理実行した回数分の候補フィールドを生成する。なお、特徴点エラー検出部51は、候補フィールドを生成する処理を並列的に実行してもよい。
次に、特徴点エラー検出部51は、ステップS32において生成した複数の候補フィールドのクラスタリングを行う(ステップS33)。この場合、特徴点エラー検出部51は、任意のクラスタリング手法により、複数の候補フィールドに対する1又は複数のクラスタを生成する。
そして、特徴点エラー検出部51は、候補フィールドが属する数が最も大きい主クラスタの候補フィールドに基づき、推定フィールドを決定する(ステップS34)。そして、特徴点エラー検出部51は、推定フィールドに各特徴抽出位置を投影し、投影した特徴抽出位置と推定フィールドの構造特徴点とをラベルごとに比較することで、エラー特徴抽出位置を検出する(ステップS35)。
図18は、ステップS24において実行される第1ラベル修正処理の詳細を示すフローチャートの一例である。
まず、第1修正部55は、第1フィールド推定部52が生成した第1フィールド推定情報に基づき、デバイス座標系での特徴抽出位置を特定する(ステップS41)。そして、第1修正部55は、第1フィールド推定情報と整合しない特徴抽出位置が存在するか否か判定する(ステップS42)。この場合、例えば、第1修正部55は、ステップS35で検出したエラー特徴抽出位置が存在する場合、第1フィールド推定情報と整合しない特徴抽出位置が存在すると判定する。他の例では、第1修正部55は、第1フィールド推定情報から特定される各構造特徴点の位置及びラベルと、デバイス座標系での特徴抽出位置及びラベルとを比較することで、上述の誤った特徴抽出位置の存否を判定する。そして、第1修正部55は、第1フィールド推定情報と整合しない特徴抽出位置が存在しない場合(ステップS42;No)、特徴点情報IFを修正する必要がないことから、フローチャートの処理を終了する。
一方、第1修正部55は、第1フィールド推定情報と整合しない特徴抽出位置が存在する場合(ステップS42;Yes)、第1ラベルエラー特徴抽出位置が存在するか否か判定する(ステップS43)。そして、第1修正部55は、第1ラベルエラー特徴抽出位置が存在すると判定した場合(ステップS43;Yes)、第1ラベルエラー特徴抽出位置の候補ラベルを、第1構造特徴点群の他の構造特徴点(具体的には、最も近い構造特徴点)を表すラベルに修正する(ステップS44)。その後、第1修正部55は、ステップS44での候補ラベルの修正を反映した特徴点情報IFを生成する。一方、第1ラベルエラー特徴抽出位置が存在しないと判定した場合(ステップS43;No)、第1修正部55はフローチャートの処理を終了する。
図19は、ステップS24において実行される第2ラベル修正処理の詳細を示すフローチャートの一例である。
まず、第2修正部56は、第1フィールド推定部52が生成した第1フィールド推定情報に基づき、デバイス座標系での特徴抽出位置を特定する(ステップS51)。そして、第2修正部56は、第1フィールド推定情報と整合しない特徴抽出位置が存在するか否か判定する(ステップS52)。この場合、例えば、第2修正部56は、ステップS35で検出したエラー特徴抽出位置が存在する場合、第1フィールド推定情報と整合しない特徴抽出位置が存在すると判定する。他の例では、第2修正部56は、第1フィールド推定情報から特定される各構造特徴点の位置及びラベルと、デバイス座標系での特徴抽出位置及びラベルとを比較することで、上述の誤った特徴抽出位置の存否を判定する。さらに別の例では、第2修正部56は、第1ラベル修正処理のステップS42の判定結果に基づき、ステップS52の判定を行う。そして、第2修正部56は、第1フィールド推定情報と整合しない特徴抽出位置が存在しない場合(ステップS52;No)、特徴点情報IFを修正する必要がないことから、フローチャートの処理を終了する。
一方、第2修正部56は、第1フィールド推定情報と整合しない特徴抽出位置が存在する場合(ステップS52;Yes)、第2ラベルエラー特徴抽出位置が存在するか否か判定する(ステップS53)。そして、第2修正部56は、第2ラベルエラー特徴抽出位置が存在すると判定した場合(ステップS53;Yes)、当該第2ラベルエラー特徴抽出位置の候補ラベルを第2構造特徴点群において該当する構造特徴点(即ち最も近い構造特徴点)のラベルに修正する(ステップS54)。その後、第2修正部56は、ステップS54での候補ラベルの修正を反映した特徴点情報IFを生成する。一方、第2ラベルエラー特徴抽出位置が存在しないと判定した場合(ステップS53;No)、第2修正部56はフローチャートの処理を終了する。
なお、ラベル修正部53は、ステップS42又はステップS52において第1フィールド推定情報と整合しないと判定された特徴抽出位置のうち、ステップS44又はステップS54のいずれにおいても候補ラベルが修正されない特徴抽出位置が存在する場合、当該特徴抽出位置は誤って位置が推定されているとみなす。そして、ラベル修正部53は、当該特徴抽出位置を特徴点情報IFから削除したりエラー特徴抽出位置である旨のフラグを付したりするなどの処理を行う。
(6)変形例
ラベル修正部53は、第2修正部56に相当する機能のみを有してもよい。この場合においても、ラベル修正部53は、フィールド推定に用いる構造特徴点の数を第2構造特徴点群の構造特徴点に対応するラベルへの候補ラベルの修正により充分に確保し、高精度なフィールド推定を行うことができる。また、フィールド推定部46は、特徴点エラー検出部51に相当する機能を有していなくともよい。この場合、ラベル修正部53は、第1フィールド推定部52において大まかに推定された表示対象フィールドの推定結果を示す第1フィールド推定情報に基づき、図19のフローチャートに従い候補ラベルの修正を行う。
ラベル修正部53は、第2修正部56に相当する機能のみを有してもよい。この場合においても、ラベル修正部53は、フィールド推定に用いる構造特徴点の数を第2構造特徴点群の構造特徴点に対応するラベルへの候補ラベルの修正により充分に確保し、高精度なフィールド推定を行うことができる。また、フィールド推定部46は、特徴点エラー検出部51に相当する機能を有していなくともよい。この場合、ラベル修正部53は、第1フィールド推定部52において大まかに推定された表示対象フィールドの推定結果を示す第1フィールド推定情報に基づき、図19のフローチャートに従い候補ラベルの修正を行う。
<第2実施形態>
図20は、第2実施形態における表示システムの構成を示す。図20に示すように、第2実施形態に係る表示システムは、表示装置1Aと、サーバ装置2とを有する。第2実施形態では、キャリブレーション処理等を、表示装置1Aの代わりにサーバ装置2が実行する点において、第1実施形態と異なる。以後では、第1実施形態と同様の構成要素については適宜同一符号を付し、その説明を省略する。
図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と、第1構造データ記憶部22と、第2構造データ記憶部23とを有する。センサデータ記憶部20には、制御部27の制御に基づき、アップロード信号S1に含まれる撮像画像Im及び位置姿勢変化量Apが記憶される。なお、記憶部29は、サーバ装置2に接続又は内蔵されたハードディスクなどの外部記憶装置であってもよく、フラッシュメモリなどの記憶媒体であってもよい。また、記憶部29は、サーバ装置2とデータ通信を行うサーバ装置(即ち、他の装置から参照可能に情報を記憶する装置)であってもよい。また、この場合、記憶部29は、複数のサーバ装置から構成され、センサデータ記憶部20と、パラメータ記憶部21と、第1構造データ記憶部22と、第2構造データ記憶部23とを分散して記憶してもよい。
制御部27は、例えばCPU、GPUなどのプロセッサ、作業メモリとして機能する揮発性メモリなどを有しており、サーバ装置2の全体的な制御を行う。制御部27は、入力部26へのユーザ入力等に基づき、仮想オブジェクトとして表示させる仮想オブジェクト及び表示位置の情報(即ち第1実施形態の指定表示情報Idに相当する情報)を生成する。さらに、制御部27は、センサデータ記憶部20、パラメータ記憶部21、第1構造データ記憶部22、第2構造データ記憶部23を参照することで、キャリブレーション処理を実行し、配信信号S2を生成する。このように、制御部27は、図2に示す仮想オブジェクト取得部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は、主に、構造データ取得手段46Xと、特徴点情報取得手段42Xと、ラベル修正手段53Xと、フィールド推定手段54Xとを有する。情報処理装置1Xは、例えば、第1実施形態における表示装置1又は表示装置1の制御部17若しくは第2実施形態におけるサーバ装置2の制御部27により実現される。なお、情報処理装置1Xは、複数の装置から構成されてもよい。
図23は、第3実施形態における情報処理装置1Xの概略構成を示す。図23に示すように、情報処理装置1Xは、主に、構造データ取得手段46Xと、特徴点情報取得手段42Xと、ラベル修正手段53Xと、フィールド推定手段54Xとを有する。情報処理装置1Xは、例えば、第1実施形態における表示装置1又は表示装置1の制御部17若しくは第2実施形態におけるサーバ装置2の制御部27により実現される。なお、情報処理装置1Xは、複数の装置から構成されてもよい。
構造データ取得手段46Xは、対象となるフィールドに対して抽出すべき特徴点として定義された第1特徴点群に関する第1構造データと、第1特徴点群以外の第2特徴点群に関する第2構造データとを取得する。第1特徴点群は、第1実施形態又は第2実施形態における第1構造特徴点群とすることができ、第2特徴点群は、第1実施形態又は第2実施形態における第2構造特徴点群とすることができる。また、構造データ取得手段46Xは、例えば、第1実施形態又は第2実施形態におけるフィールド推定部46とすることができる。
特徴点情報取得手段42Xは、フィールドの少なくとも一部を含む画像に基づき決定された、画像上の位置と、第1特徴点群の特徴点との対応を示す候補ラベルとの組を示す特徴点情報を取得する。「画像上の位置」は、第1実施形態又は第2実施形態における特徴抽出位置とすることができる。特徴点情報取得手段42Xは、特徴点情報取得手段42X以外の処理ブロック(情報処理装置1X以外の装置を含む)が生成した特徴点情報を受信してもよく、特徴点情報取得手段42Xが特徴点情報を生成してもよい。後者の場合、特徴点情報取得手段42Xは、例えば、第1実施形態又は第2実施形態における特徴抽出部42とすることができる。
ラベル修正手段53Xは、第2特徴点群の特徴点に該当する画像上の位置及び候補ラベルの組を第2構造データに基づき特定し、特定した候補ラベルを第2特徴点群の特徴点を示すラベルに修正した補正特徴点情報を生成する。ラベル修正手段53Xは、第1実施形態又は第2実施形態におけるラベル修正部53(特に第2修正部56)とすることができる。
フィールド推定手段54Xは、第1構造データと、第2構造データと、補正特徴点情報とに基づき、画像を撮影するカメラを有する表示装置が基準とする座標系におけるフィールドを推定する。フィールド推定手段54Xは、第1実施形態又は第2実施形態における第2フィールド推定部54とすることができる。
図24は、第3実施形態におけるフローチャートの一例である。構造データ取得手段46Xは、対象となるフィールドに対して抽出すべき特徴点として定義された第1特徴点群に関する第1構造データと、第1特徴点群以外の第2特徴点群に関する第2構造データとを取得する(ステップS71)。特徴点情報取得手段42Xは、フィールドの少なくとも一部を含む画像に基づき決定された、画像上の位置と、第1特徴点群の特徴点との対応を示す候補ラベルとの組を示す特徴点情報を取得する(ステップS72)。ラベル修正手段53Xは、第2特徴点群の特徴点に該当する画像上の位置及び候補ラベルの組を第2構造データに基づき特定し、特定した候補ラベルを第2特徴点群の特徴点を示すラベルに修正した補正特徴点情報を生成する(ステップS73)。フィールド推定手段54Xは、第1構造データと、第2構造データと、補正特徴点情報とに基づき、画像を撮影するカメラを有する表示装置が基準とする座標系におけるフィールドを推定する(ステップS74)。
第3実施形態によれば、情報処理装置1Xは、特徴点情報を好適に修正し、表示装置が基準とする座標系におけるフィールドの推定精度を向上させることができる。
なお、上述した各実施形態において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(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]
対象となるフィールドに対して抽出すべき特徴点として定義された第1特徴点群に関する第1構造データと、前記第1特徴点群以外の第2特徴点群に関する第2構造データとを取得する構造データ取得手段と、
前記フィールドの少なくとも一部を含む画像に基づき決定された、前記画像上の位置と、前記第1特徴点群の特徴点との対応を示す候補ラベルとの組を示す特徴点情報を取得する特徴点情報取得手段と、
前記第2特徴点群の特徴点に該当する前記画像上の位置及び候補ラベルの組を前記第2構造データに基づき特定し、特定した前記候補ラベルを前記第2特徴点群の特徴点を示すラベルに修正した補正特徴点情報を生成するラベル修正手段と、
前記第1構造データと、前記第2構造データと、前記補正特徴点情報とに基づき、前記画像を撮影するカメラを有する表示装置が基準とする座標系における前記フィールドを推定するフィールド推定手段と、
を有する情報処理装置。
[付記2]
前記フィールド推定手段は、
前記第1構造データと、前記特徴点情報とに基づき、前記座標系における前記フィールドの第1推定結果を示す第1フィールド推定情報を生成する第1フィールド推定手段と、
前記第1構造データと、前記第2構造データと、前記補正特徴点情報とに基づき、前記座標系における前記フィールドの第2推定結果を示す第2フィールド推定情報を生成する第2フィールド推定手段と、を有し、
前記ラベル修正手段は、前記第1フィールド推定情報と、前記第2構造データとに基づき、前記第2特徴点群の特徴点に該当する前記画像上の位置及び候補ラベルの組を特定する、付記1に記載の情報処理装置。
[付記3]
前記特徴点情報と、前記第1構造データとに基づき、前記第1特徴点群のいずれの特徴点とも整合しない前記画像上の位置と前記候補ラベルの組を検出する特徴点エラー検出手段をさらに有し、
前記第1フィールド推定手段は、前記特徴点エラー検出手段による検出結果と、前記第1構造データと、前記特徴点情報とに基づき、前記第1フィールド推定情報を生成する、付記2に記載の情報処理装置。
[付記4]
前記ラベル修正手段は、前記画像上の位置を前記カメラの撮影位置及びパラメータに基づき前記座標系に投影した投影位置と、前記第2構造データ及び前記第1フィールド推定情報に基づき前記座標系において表した前記第2特徴点群の特徴点との距離に基づいて、前記候補ラベルを修正する、付記2または3に記載の情報処理装置。
[付記5]
前記フィールドである表示対象フィールドと、前記特徴点情報の生成に用いる特徴抽出器の学習に用いた画像に表示された学習用フィールドとは、前記第1特徴点群を少なくとも共通の特徴点とするフィールドであり、かつ、前記表示対象フィールドは、前記第1特徴点群と前記第2特徴点群とを特徴点として有するフィールドである、付記1~4のいずれか一項に記載の情報処理装置。
[付記6]
前記フィールドである表示対象フィールドと、前記特徴点情報の生成に用いる特徴抽出器の学習に用いた画像に表示された学習用フィールドとは、同一の特徴点を有するフィールドであり、
前記第2特徴点群は、前記特徴点情報の生成において、前記第1特徴点群の特徴点として誤って抽出される候補位置の集まりである、付記1~4のいずれか一項に記載の情報処理装置。
[付記7]
前記フィールドの推定結果に基づき、前記座標系である第1座標系と、前記第1構造データ及び前記第2構造データにおいて採用される座標系である第2座標系との間の座標変換に関する座標変換情報を生成する座標変換情報生成手段をさらに有する、付記1~6のいずれか一項に記載の情報処理装置。
[付記8]
前記情報処理装置は、風景に重ねて仮想オブジェクトを表示する前記表示装置であって、
前記仮想オブジェクトを表示するための表示光を射出する光源ユニットと、
前記表示光の少なくとも一部を反射することで、前記仮想オブジェクトを風景に重ねて観察者に視認させる光学素子と、
をさらに有する、付記1~7のいずれか一項に記載の情報処理装置。
[付記9]
コンピュータが、
対象となるフィールドに対して抽出すべき特徴点として定義された第1特徴点群に関する第1構造データと、前記第1特徴点群以外の第2特徴点群に関する第2構造データとを取得し、
前記フィールドの少なくとも一部を含む画像に基づき決定された、前記画像上の位置と、前記第1特徴点群の特徴点との対応を示す候補ラベルとの組を示す特徴点情報を取得し、
前記第2特徴点群の特徴点に該当する前記画像上の位置及び候補ラベルの組を前記第2構造データに基づき特定し、特定した前記候補ラベルを前記第2特徴点群の特徴点を示すラベルに修正した補正特徴点情報を生成し、
前記第1構造データと、前記第2構造データと、前記補正特徴点情報とに基づき、前記画像を撮影するカメラを有する表示装置が基準とする座標系における前記フィールドを推定する、
制御方法。
[付記10]
対象となるフィールドに対して抽出すべき特徴点として定義された第1特徴点群に関する第1構造データと、前記第1特徴点群以外の第2特徴点群に関する第2構造データとを取得し、
前記フィールドの少なくとも一部を含む画像に基づき決定された、前記画像上の位置と、前記第1特徴点群の特徴点との対応を示す候補ラベルとの組を示す特徴点情報を取得し、
前記第2特徴点群の特徴点に該当する前記画像上の位置及び候補ラベルの組を前記第2構造データに基づき特定し、特定した前記候補ラベルを前記第2特徴点群の特徴点を示すラベルに修正した補正特徴点情報を生成し、
前記第1構造データと、前記第2構造データと、前記補正特徴点情報とに基づき、前記画像を撮影するカメラを有する表示装置が基準とする座標系における前記フィールドを推定する処理をコンピュータに実行させるプログラムを格納する記憶媒体。
対象となるフィールドに対して抽出すべき特徴点として定義された第1特徴点群に関する第1構造データと、前記第1特徴点群以外の第2特徴点群に関する第2構造データとを取得する構造データ取得手段と、
前記フィールドの少なくとも一部を含む画像に基づき決定された、前記画像上の位置と、前記第1特徴点群の特徴点との対応を示す候補ラベルとの組を示す特徴点情報を取得する特徴点情報取得手段と、
前記第2特徴点群の特徴点に該当する前記画像上の位置及び候補ラベルの組を前記第2構造データに基づき特定し、特定した前記候補ラベルを前記第2特徴点群の特徴点を示すラベルに修正した補正特徴点情報を生成するラベル修正手段と、
前記第1構造データと、前記第2構造データと、前記補正特徴点情報とに基づき、前記画像を撮影するカメラを有する表示装置が基準とする座標系における前記フィールドを推定するフィールド推定手段と、
を有する情報処理装置。
[付記2]
前記フィールド推定手段は、
前記第1構造データと、前記特徴点情報とに基づき、前記座標系における前記フィールドの第1推定結果を示す第1フィールド推定情報を生成する第1フィールド推定手段と、
前記第1構造データと、前記第2構造データと、前記補正特徴点情報とに基づき、前記座標系における前記フィールドの第2推定結果を示す第2フィールド推定情報を生成する第2フィールド推定手段と、を有し、
前記ラベル修正手段は、前記第1フィールド推定情報と、前記第2構造データとに基づき、前記第2特徴点群の特徴点に該当する前記画像上の位置及び候補ラベルの組を特定する、付記1に記載の情報処理装置。
[付記3]
前記特徴点情報と、前記第1構造データとに基づき、前記第1特徴点群のいずれの特徴点とも整合しない前記画像上の位置と前記候補ラベルの組を検出する特徴点エラー検出手段をさらに有し、
前記第1フィールド推定手段は、前記特徴点エラー検出手段による検出結果と、前記第1構造データと、前記特徴点情報とに基づき、前記第1フィールド推定情報を生成する、付記2に記載の情報処理装置。
[付記4]
前記ラベル修正手段は、前記画像上の位置を前記カメラの撮影位置及びパラメータに基づき前記座標系に投影した投影位置と、前記第2構造データ及び前記第1フィールド推定情報に基づき前記座標系において表した前記第2特徴点群の特徴点との距離に基づいて、前記候補ラベルを修正する、付記2または3に記載の情報処理装置。
[付記5]
前記フィールドである表示対象フィールドと、前記特徴点情報の生成に用いる特徴抽出器の学習に用いた画像に表示された学習用フィールドとは、前記第1特徴点群を少なくとも共通の特徴点とするフィールドであり、かつ、前記表示対象フィールドは、前記第1特徴点群と前記第2特徴点群とを特徴点として有するフィールドである、付記1~4のいずれか一項に記載の情報処理装置。
[付記6]
前記フィールドである表示対象フィールドと、前記特徴点情報の生成に用いる特徴抽出器の学習に用いた画像に表示された学習用フィールドとは、同一の特徴点を有するフィールドであり、
前記第2特徴点群は、前記特徴点情報の生成において、前記第1特徴点群の特徴点として誤って抽出される候補位置の集まりである、付記1~4のいずれか一項に記載の情報処理装置。
[付記7]
前記フィールドの推定結果に基づき、前記座標系である第1座標系と、前記第1構造データ及び前記第2構造データにおいて採用される座標系である第2座標系との間の座標変換に関する座標変換情報を生成する座標変換情報生成手段をさらに有する、付記1~6のいずれか一項に記載の情報処理装置。
[付記8]
前記情報処理装置は、風景に重ねて仮想オブジェクトを表示する前記表示装置であって、
前記仮想オブジェクトを表示するための表示光を射出する光源ユニットと、
前記表示光の少なくとも一部を反射することで、前記仮想オブジェクトを風景に重ねて観察者に視認させる光学素子と、
をさらに有する、付記1~7のいずれか一項に記載の情報処理装置。
[付記9]
コンピュータが、
対象となるフィールドに対して抽出すべき特徴点として定義された第1特徴点群に関する第1構造データと、前記第1特徴点群以外の第2特徴点群に関する第2構造データとを取得し、
前記フィールドの少なくとも一部を含む画像に基づき決定された、前記画像上の位置と、前記第1特徴点群の特徴点との対応を示す候補ラベルとの組を示す特徴点情報を取得し、
前記第2特徴点群の特徴点に該当する前記画像上の位置及び候補ラベルの組を前記第2構造データに基づき特定し、特定した前記候補ラベルを前記第2特徴点群の特徴点を示すラベルに修正した補正特徴点情報を生成し、
前記第1構造データと、前記第2構造データと、前記補正特徴点情報とに基づき、前記画像を撮影するカメラを有する表示装置が基準とする座標系における前記フィールドを推定する、
制御方法。
[付記10]
対象となるフィールドに対して抽出すべき特徴点として定義された第1特徴点群に関する第1構造データと、前記第1特徴点群以外の第2特徴点群に関する第2構造データとを取得し、
前記フィールドの少なくとも一部を含む画像に基づき決定された、前記画像上の位置と、前記第1特徴点群の特徴点との対応を示す候補ラベルとの組を示す特徴点情報を取得し、
前記第2特徴点群の特徴点に該当する前記画像上の位置及び候補ラベルの組を前記第2構造データに基づき特定し、特定した前記候補ラベルを前記第2特徴点群の特徴点を示すラベルに修正した補正特徴点情報を生成し、
前記第1構造データと、前記第2構造データと、前記補正特徴点情報とに基づき、前記画像を撮影するカメラを有する表示装置が基準とする座標系における前記フィールドを推定する処理をコンピュータに実行させるプログラムを格納する記憶媒体。
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。すなわち、本願発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。また、引用した上記の特許文献等の各開示は、本書に引用をもって繰り込むものとする。
1、1A 表示装置
1X、1Y 情報処理装置
2 サーバ装置
10 光源ユニット
11 光学素子
12 通信部
13 入力部
14 記憶部
15 カメラ
16 位置姿勢検出センサ
20 センサデータ記憶部
21 パラメータ記憶部
22 第1構造データ記憶部
23 第2構造データ記憶部
1X、1Y 情報処理装置
2 サーバ装置
10 光源ユニット
11 光学素子
12 通信部
13 入力部
14 記憶部
15 カメラ
16 位置姿勢検出センサ
20 センサデータ記憶部
21 パラメータ記憶部
22 第1構造データ記憶部
23 第2構造データ記憶部
Claims (10)
- 対象となるフィールドに対して抽出すべき特徴点として定義された第1特徴点群に関する第1構造データと、前記第1特徴点群以外の第2特徴点群に関する第2構造データとを取得する構造データ取得手段と、
前記フィールドの少なくとも一部を含む画像に基づき決定された、前記画像上の位置と、前記第1特徴点群の特徴点との対応を示す候補ラベルとの組を示す特徴点情報を取得する特徴点情報取得手段と、
前記第2特徴点群の特徴点に該当する前記画像上の位置及び候補ラベルの組を前記第2構造データに基づき特定し、特定した前記候補ラベルを前記第2特徴点群の特徴点を示すラベルに修正した補正特徴点情報を生成するラベル修正手段と、
前記第1構造データと、前記第2構造データと、前記補正特徴点情報とに基づき、前記画像を撮影するカメラを有する表示装置が基準とする座標系における前記フィールドを推定するフィールド推定手段と、
を有する情報処理装置。 - 前記フィールド推定手段は、
前記第1構造データと、前記特徴点情報とに基づき、前記座標系における前記フィールドの第1推定結果を示す第1フィールド推定情報を生成する第1フィールド推定手段と、
前記第1構造データと、前記第2構造データと、前記補正特徴点情報とに基づき、前記座標系における前記フィールドの第2推定結果を示す第2フィールド推定情報を生成する第2フィールド推定手段と、を有し、
前記ラベル修正手段は、前記第1フィールド推定情報と、前記第2構造データとに基づき、前記第2特徴点群の特徴点に該当する前記画像上の位置及び候補ラベルの組を特定する、請求項1に記載の情報処理装置。 - 前記特徴点情報と、前記第1構造データとに基づき、前記第1特徴点群のいずれの特徴点とも整合しない前記画像上の位置と前記候補ラベルの組を検出する特徴点エラー検出手段をさらに有し、
前記第1フィールド推定手段は、前記特徴点エラー検出手段による検出結果と、前記第1構造データと、前記特徴点情報とに基づき、前記第1フィールド推定情報を生成する、請求項2に記載の情報処理装置。 - 前記ラベル修正手段は、前記画像上の位置を前記カメラの撮影位置及びパラメータに基づき前記座標系に投影した投影位置と、前記第2構造データ及び前記第1フィールド推定情報に基づき前記座標系において表した前記第2特徴点群の特徴点との距離に基づいて、前記候補ラベルを修正する、請求項2または3に記載の情報処理装置。
- 前記フィールドである表示対象フィールドと、前記特徴点情報の生成に用いる特徴抽出器の学習に用いた画像に表示された学習用フィールドとは、前記第1特徴点群を少なくとも共通の特徴点とするフィールドであり、かつ、前記表示対象フィールドは、前記第1特徴点群と前記第2特徴点群とを特徴点として有するフィールドである、請求項1~4のいずれか一項に記載の情報処理装置。
- 前記フィールドである表示対象フィールドと、前記特徴点情報の生成に用いる特徴抽出器の学習に用いた画像に表示された学習用フィールドとは、同一の特徴点を有するフィールドであり、
前記第2特徴点群は、前記特徴点情報の生成において、前記第1特徴点群の特徴点として誤って抽出される候補位置の集まりである、請求項1~4のいずれか一項に記載の情報処理装置。 - 前記フィールドの推定結果に基づき、前記座標系である第1座標系と、前記第1構造データ及び前記第2構造データにおいて採用される座標系である第2座標系との間の座標変換に関する座標変換情報を生成する座標変換情報生成手段をさらに有する、請求項1~6のいずれか一項に記載の情報処理装置。
- 前記情報処理装置は、風景に重ねて仮想オブジェクトを表示する前記表示装置であって、
前記仮想オブジェクトを表示するための表示光を射出する光源ユニットと、
前記表示光の少なくとも一部を反射することで、前記仮想オブジェクトを風景に重ねて観察者に視認させる光学素子と、
をさらに有する、請求項1~7のいずれか一項に記載の情報処理装置。 - コンピュータが、
対象となるフィールドに対して抽出すべき特徴点として定義された第1特徴点群に関する第1構造データと、前記第1特徴点群以外の第2特徴点群に関する第2構造データとを取得し、
前記フィールドの少なくとも一部を含む画像に基づき決定された、前記画像上の位置と、前記第1特徴点群の特徴点との対応を示す候補ラベルとの組を示す特徴点情報を取得し、
前記第2特徴点群の特徴点に該当する前記画像上の位置及び候補ラベルの組を前記第2構造データに基づき特定し、特定した前記候補ラベルを前記第2特徴点群の特徴点を示すラベルに修正した補正特徴点情報を生成し、
前記第1構造データと、前記第2構造データと、前記補正特徴点情報とに基づき、前記画像を撮影するカメラを有する表示装置が基準とする座標系における前記フィールドを推定する、
制御方法。 - 対象となるフィールドに対して抽出すべき特徴点として定義された第1特徴点群に関する第1構造データと、前記第1特徴点群以外の第2特徴点群に関する第2構造データとを取得し、
前記フィールドの少なくとも一部を含む画像に基づき決定された、前記画像上の位置と、前記第1特徴点群の特徴点との対応を示す候補ラベルとの組を示す特徴点情報を取得し、
前記第2特徴点群の特徴点に該当する前記画像上の位置及び候補ラベルの組を前記第2構造データに基づき特定し、特定した前記候補ラベルを前記第2特徴点群の特徴点を示すラベルに修正した補正特徴点情報を生成し、
前記第1構造データと、前記第2構造データと、前記補正特徴点情報とに基づき、前記画像を撮影するカメラを有する表示装置が基準とする座標系における前記フィールドを推定する処理をコンピュータに実行させるプログラムを格納する記憶媒体。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/JP2021/047293 WO2023119412A1 (ja) | 2021-12-21 | 2021-12-21 | 情報処理装置、制御方法及び記憶媒体 |
| JP2023568815A JP7639942B2 (ja) | 2021-12-21 | 2021-12-21 | 情報処理装置、制御方法及びプログラム |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/JP2021/047293 WO2023119412A1 (ja) | 2021-12-21 | 2021-12-21 | 情報処理装置、制御方法及び記憶媒体 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2023119412A1 true WO2023119412A1 (ja) | 2023-06-29 |
Family
ID=86901644
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2021/047293 Ceased WO2023119412A1 (ja) | 2021-12-21 | 2021-12-21 | 情報処理装置、制御方法及び記憶媒体 |
Country Status (2)
| Country | Link |
|---|---|
| JP (1) | JP7639942B2 (ja) |
| WO (1) | WO2023119412A1 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN117282687A (zh) * | 2023-10-18 | 2023-12-26 | 广州市普理司科技有限公司 | 印刷品视觉检测自动剔补标控制系统 |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2003279310A (ja) * | 2002-03-22 | 2003-10-02 | Canon Inc | 位置姿勢補正装置、及び位置姿勢補正方法 |
| WO2021130860A1 (ja) * | 2019-12-24 | 2021-07-01 | 日本電気株式会社 | 情報処理装置、制御方法及び記憶媒体 |
| WO2021210046A1 (ja) * | 2020-04-13 | 2021-10-21 | 日本電気株式会社 | 情報処理装置、制御方法及び記憶媒体 |
-
2021
- 2021-12-21 JP JP2023568815A patent/JP7639942B2/ja active Active
- 2021-12-21 WO PCT/JP2021/047293 patent/WO2023119412A1/ja not_active Ceased
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2003279310A (ja) * | 2002-03-22 | 2003-10-02 | Canon Inc | 位置姿勢補正装置、及び位置姿勢補正方法 |
| WO2021130860A1 (ja) * | 2019-12-24 | 2021-07-01 | 日本電気株式会社 | 情報処理装置、制御方法及び記憶媒体 |
| WO2021210046A1 (ja) * | 2020-04-13 | 2021-10-21 | 日本電気株式会社 | 情報処理装置、制御方法及び記憶媒体 |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN117282687A (zh) * | 2023-10-18 | 2023-12-26 | 广州市普理司科技有限公司 | 印刷品视觉检测自动剔补标控制系统 |
| CN117282687B (zh) * | 2023-10-18 | 2024-05-28 | 广州市普理司科技有限公司 | 印刷品视觉检测自动剔补标控制系统 |
Also Published As
| Publication number | Publication date |
|---|---|
| JPWO2023119412A1 (ja) | 2023-06-29 |
| JP7639942B2 (ja) | 2025-03-05 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10972715B1 (en) | Selective processing or readout of data from one or more imaging sensors included in a depth camera assembly | |
| KR101761751B1 (ko) | 직접적인 기하학적 모델링이 행해지는 hmd 보정 | |
| JP7494862B2 (ja) | 情報処理装置、制御方法及びプログラム | |
| CN106780601B (zh) | 一种空间位置追踪方法、装置及智能设备 | |
| US10839544B2 (en) | Information processing apparatus, information processing method, and non-transitory computer readable storage medium | |
| JP6548171B2 (ja) | 瞳孔検出システム、視線検出システム、瞳孔検出方法、および瞳孔検出プログラム | |
| US20120069018A1 (en) | Ar process apparatus, ar process method and storage medium | |
| CN115100744A (zh) | 一种羽毛球比赛人体姿态估计和球路追踪方法 | |
| US11138760B2 (en) | Display systems and methods for correcting drifts in camera poses | |
| JP2010279023A (ja) | 情報処理装置およびその制御方法 | |
| US11935182B2 (en) | Information processing apparatus, information processing method, and storage medium | |
| JP2017129904A (ja) | 情報処理装置、情報処理方法、及び記録媒体 | |
| JP2016099759A (ja) | 顔検出方法、顔検出装置、及び顔検出プログラム | |
| WO2023119412A1 (ja) | 情報処理装置、制御方法及び記憶媒体 | |
| JP4896762B2 (ja) | 画像処理装置および画像処理プログラム | |
| JP7364052B2 (ja) | 情報処理装置、制御方法及びプログラム | |
| JP7568105B2 (ja) | 情報処理装置、制御方法及びプログラム | |
| JP7643549B2 (ja) | 情報処理装置、制御方法及びプログラム | |
| US20220084244A1 (en) | Information processing apparatus, information processing method, and program | |
| JP7568106B2 (ja) | 情報処理装置、制御方法及びプログラム | |
| US11785203B2 (en) | Information processing apparatus, information processing method, and program | |
| US12211228B2 (en) | Information processing device, control method, and storage medium | |
| US20210044738A1 (en) | Control apparatus, control method, and recording medium | |
| JP7396468B2 (ja) | 学習装置、推論装置、制御方法及びプログラム | |
| US20240312039A1 (en) | Information processing apparatus, information processing method, and storage medium |
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: 21968849 Country of ref document: EP Kind code of ref document: A1 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2023568815 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: 21968849 Country of ref document: EP Kind code of ref document: A1 |