WO2023281593A1 - 情報処理装置、制御方法及び記憶媒体 - Google Patents
情報処理装置、制御方法及び記憶媒体 Download PDFInfo
- Publication number
- WO2023281593A1 WO2023281593A1 PCT/JP2021/025338 JP2021025338W WO2023281593A1 WO 2023281593 A1 WO2023281593 A1 WO 2023281593A1 JP 2021025338 W JP2021025338 W JP 2021025338W WO 2023281593 A1 WO2023281593 A1 WO 2023281593A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- field
- candidate
- image
- coordinate system
- feature point
- Prior art date
Links
- 230000010365 information processing Effects 0.000 title claims abstract description 37
- 238000000034 method Methods 0.000 title claims description 67
- 238000003860 storage Methods 0.000 title description 49
- 238000012545 processing Methods 0.000 claims description 48
- 230000008569 process Effects 0.000 claims description 28
- 230000009466 transformation Effects 0.000 claims description 24
- 238000000547 structure data Methods 0.000 claims description 20
- 230000015654 memory Effects 0.000 claims description 10
- 230000003287 optical effect Effects 0.000 claims description 9
- 230000001131 transforming effect Effects 0.000 claims description 4
- 238000000605 extraction Methods 0.000 description 30
- 238000006243 chemical reaction Methods 0.000 description 26
- 230000008859 change Effects 0.000 description 23
- 238000001514 detection method Methods 0.000 description 22
- 238000010586 diagram Methods 0.000 description 21
- 238000013500 data storage Methods 0.000 description 20
- 238000009826 distribution Methods 0.000 description 13
- 239000013598 vector Substances 0.000 description 10
- 238000004891 communication Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 238000013434 data augmentation Methods 0.000 description 5
- 239000000284 extract Substances 0.000 description 5
- 239000011159 matrix material Substances 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 4
- 238000003384 imaging method Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000013519 translation Methods 0.000 description 4
- 230000003190 augmentative effect Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 230000009182 swimming Effects 0.000 description 3
- 238000002834 transmittance Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 2
- 210000005252 bulbus oculi Anatomy 0.000 description 2
- 230000006866 deterioration Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 210000001508 eye Anatomy 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000003936 working memory Effects 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 210000003128 head Anatomy 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012706 support-vector machine Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
Definitions
- the present invention relates to the technical field of an information processing device, a control method, and a storage medium that perform processing related to spatial comprehension in Augmented Reality (AR).
- AR Augmented Reality
- Patent Literature 1 describes a technique of estimating the position of each feature point in a field and performing AR calibration based on the estimation results in order to realize AR in watching sports.
- one of the main purposes of the present disclosure is to provide an information processing device, a control method, and a storage medium that can suitably suppress errors in estimating a target field.
- Feature point information acquisition means for acquiring feature point information regarding a plurality of feature points of a field determined based on an image including at least part of a field of interest;
- Candidate field generation means for generating, based on the feature point information, candidate fields representing candidates for the fields in a first coordinate system, which is a coordinate system based on which a display device having a camera that captures the image is based;
- consistency determination means for determining a non-matching candidate field, which is the candidate field having no consistency, based on the plurality of candidate fields corresponding to the plurality of feature point information of the plurality of images; It is an information processing device having
- One aspect of the control method is the computer obtaining feature point information for a plurality of feature points of a field of interest determined based on an image comprising at least a portion of the field of interest; based on the feature point information, generating a candidate field representing a candidate of the field in a first coordinate system, which is a coordinate system based on a display device having a camera that captures the image; determining a non-matching candidate field, which is the candidate field that does not have consistency, based on the plurality of candidate fields corresponding to the plurality of feature point information of the plurality of images; control method.
- One aspect of the storage medium is obtaining feature point information for a plurality of feature points of a field of interest determined based on an image comprising at least a portion of the field of interest; based on the feature point information, generating a candidate field representing a candidate of the field in a first coordinate system, which is a coordinate system based on a display device having a camera that captures the image;
- a memory for storing a program for causing a computer to execute a process of determining a non-matching candidate field, which is the candidate field having no match, based on the plurality of candidate fields corresponding to the plurality of feature point information of the plurality of images. is a medium.
- FIG. 1 is a schematic configuration diagram of a display device according to a first embodiment;
- FIG. An example of the data structure of structure data is shown.
- 4 is a block diagram showing a functional configuration of a control unit;
- FIG. (A) is a first label definition example of structural feature points when the target field is a tennis court.
- (B) is a second label definition example of structural feature points when the target field is a tennis court.
- (A) is a first label definition example of structure feature points when the target field is a pool.
- B) A second label definition example of structure feature points when the target field is a pool.
- (A) shows a captured image of a part of the target field.
- (B) shows a transformed captured image generated by inverting the captured image;
- FIG. 3 is a functional block diagram of a field estimating unit showing an outline of processing of the field estimating unit;
- FIG. 4 is a diagram showing the relationship between a device coordinate system and a field coordinate system;
- FIG. 4 is a diagram representing candidate fields based on feature point information of one image in the device coordinate system;
- Fig. 10 shows the results of clustering the six generated candidate fields in the device coordinate system;
- A is a diagram in which candidate fields based on feature point information are superimposed on a captured image on which feature extraction processing has been appropriately performed.
- (B) is a diagram in which a candidate field based on feature point information is superimposed on a captured image in which an error has occurred in feature extraction processing.
- FIG. 4 is a diagram showing the relationship between a device coordinate system and a field coordinate system
- FIG. 4 is a diagram representing candidate fields based on feature point information of one image in the device coordinate system
- Fig. 10 shows the results of clustering the six generated candidate fields in the device coordinate system
- FIG. 10 is a diagram showing an overview of the process of determining estimated fields from matching candidate fields; 6 is an example of a flow chart showing an outline of processing related to display processing of a virtual object executed by a control unit in the first embodiment; It is an example of a flowchart showing a detailed processing procedure of calibration processing.
- FIG. 11 is a block configuration diagram of a field estimator in a modified example; 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.
- target field there is a field or structure (hereafter also referred to as a "target field") where sports, plays, etc. are held.
- a virtual object that serves as additional information for assistance is superimposed on or around the target field.
- the target field is, for example, a field targeted for watching sports (for example, a tennis court, a swimming pool, a stadium, etc.), or a field targeted for watching a play (for example, a theater, a concert hall, a multipurpose hall, various stages, etc.). Applicable.
- the target field has a plurality of structural (that is, characteristic in shape) feature points (also called “structural feature points").
- the target field functions as a reference in calibrating the display device 1 .
- Virtual objects are, for example, a score board displayed above the tennis court in the case of tennis, a world record line superimposed in real time on the swimming pool in the case of swimming, and displayed superimposed on the stage at the theater. Including virtual performers, etc.
- the display device 1 includes a light source unit 10, an optical element 11, a communication section 12, an input section 13, a storage section 14, a camera 15, a position/orientation detection sensor 16, and a control section 17.
- the light source unit 10 has a light source such as a laser light source or an LCD (Liquid Crystal Display) light source, and emits light based on a drive signal supplied from the control section 17 .
- the optical element 11 has a predetermined transmittance, transmits at least part of external light to enter the user's eyeball, and reflects at least part of the light from the light source unit 10 toward the user's eyeball. do. As a result, the virtual image corresponding to the virtual object formed by the display device 1 is superimposed on the landscape and viewed by the user.
- the optical element 11 may be a half mirror whose transmittance and reflectance are substantially equal, or may be a mirror whose transmittance and reflectance are not equal (a so-called beam splitter).
- the communication unit 12 exchanges data with external devices. For example, when the user uses the display device 1 for watching sports or watching a play, the communication unit 12 controls the display device 1 from a server device managed by the promoter based on the control of the control unit 17. Receive information about virtual objects.
- the input unit 13 generates an input signal based on the user's operation and transmits it to the control unit 17 .
- the input unit 13 is, for example, a button, a cross key, a voice input device, or the like for the user to give an instruction to the display device 1 .
- the camera 15 Under the control of the control unit 17 , the camera 15 generates an image of the front of the display device 1 and supplies the generated image (also referred to as “captured image Im”) to the control unit 17 .
- the position and orientation detection sensor 16 is a sensor (sensor group) that detects the position and orientation (orientation) of the display device 1, and includes, for example, a positioning sensor such as a GPS (Global Positioning Satellite) receiver, a gyro sensor, an acceleration sensor, It also includes an orientation detection sensor such as an IMU (Inertial Measurement Unit) that detects changes in the relative orientation of the display device 1 .
- the position/orientation detection sensor 16 supplies the generated detection signal regarding the position and orientation of the display device 1 to the control unit 17 .
- the control unit 17 detects the amount of change in the position and orientation from when the display device 1 is started, based on the detection signal supplied from the position and orientation detection sensor 16 .
- control unit 17 instead of detecting the position of the display device 1 from the positioning sensor, the control unit 17 specifies the position of the display device 1 based on signals received from, for example, a beacon terminal or a wireless LAN device provided at the venue. good too. In another example, the control unit 17 may identify the position of the display device 1 based on a known position estimation technique using AR markers. In these cases, the position/orientation detection sensor 16 may not include a positioning sensor.
- the control unit 17 has a processor such as a CPU (Central Processing Unit) or a GPU (Graphics Processing Unit), a volatile memory that functions as a working memory of the processor, and the like, and performs overall control of the display device 1. .
- a processor such as a CPU (Central Processing Unit) or a GPU (Graphics Processing Unit), a volatile memory that functions as a working memory of the processor, and the like, and performs overall control of the display device 1. .
- the control unit 17 performs calibration processing for associating the real world space with the space recognized by the display device 1 based on the structural feature points of the target field recognized from the captured image Im at the display timing of the virtual object. I do.
- the control unit 17 converts the coordinate system of the three-dimensional space based on the display device 1 (also referred to as “device coordinate system”) to the coordinate system of the three-dimensional space based on the target field (“ field coordinate system”).
- the device coordinate system is an example of the "first coordinate system”
- the field coordinate system is an example of the "second coordinate system”. Details of the calibration process will be described later.
- control unit 17 generates a drive signal for driving the light source unit 10 based on the coordinate transformation information and the like, and supplies the drive signal to the light source unit 10 to display the virtual object on the light source unit 10.
- the light for display also referred to as “display light”
- display light is emitted to the optical element 11 .
- the storage unit 14 is a non-volatile memory that stores various information necessary for the control unit 17 to control the display device 1 .
- the storage unit 14 may include a removable storage medium such as flash memory.
- the storage unit 14 also stores a program executed by the control unit 17 .
- the storage unit 14 also has a sensor data storage unit 20, a parameter storage unit 21, and a structure data storage unit 22.
- the sensor data storage unit 20 stores the imaged image Im generated by the camera 15 and the position and orientation of the display device 1 from the time the device coordinate system was set when the imaged image Im was generated (for example, when the display device 1 is activated).
- change amount also referred to as “position/orientation change amount Ap”.
- the control unit 17 constantly calculates the amount of change in the current position and orientation based on the position and orientation when the device coordinate system was set, based on the detection signal of the position and orientation detection sensor 16 . Then, when the captured image Im generated by the camera 15 is stored in the sensor data storage unit 20, the control unit 17 associates the position/orientation change amount Ap calculated when the captured image Im is generated with the captured image Im to Stored in the data storage unit 20 .
- control unit 17 causes the sensor data storage unit 20 to store a combination of the most recent captured image Im and the position/orientation change amount Ap for a predetermined time period or a predetermined number. Information stored in the sensor data storage unit 20 is used in calibration processing.
- the parameter storage unit 21 is an inference device (also referred to as a “feature extractor”) used when extracting the position information of the structure feature points of the target field and the classification information of the structure feature points from the captured image Im in the calibration process. store the parameters of For example, when the captured image Im is input, the above-described feature extractor is trained to output positional information of the structural feature points in the image for each classification (ie label) of the structural feature points to be extracted. learning model.
- the positional information described above may be map information on the image that indicates the reliability of each coordinate value of the structural feature point, and is a coordinate value that indicates the position of the structural feature point in the image in units of pixels or subpixels. There may be.
- the top m (m is an integer equal to or greater than 1) whose reliability exceeds a certain threshold for each classification of structural feature points are adopted as the positions of structural feature points.
- the integer m is "1" in the examples of FIGS. 4A and 5A described later, and is "2" in the examples of FIGS. 4B and 5B described later.
- the learning model used for learning the feature extractor may be a learning model based on a neural network, may be another type of learning model such as a support vector machine, or may be a combination thereof. .
- the parameter storage unit 21 stores information such as the layer structure, the neuron structure of each layer, the number and size of filters in each layer, and the weight of each element of each filter. Stores various parameters.
- the parameter storage unit 21 stores parameters related to the camera 15 necessary for displaying the virtual object, such as the focal length of the camera 15, internal parameters, principal points, and size information of the captured image Im.
- the structure data storage unit 22 stores structure data that is data relating to the structure of the target field.
- FIG. 2 shows an example of the data structure of structure data.
- the structure data has size information and registered feature point information.
- the size information is information about the size of the target field.
- the registered feature point information is information relating to the structural feature points of the target field, and includes individual information for each structural feature point measured in advance.
- the registered feature point information is information corresponding to each of these N structure feature points (first registered feature points information to N-th registered feature point information).
- the registered feature point information includes at least a label indicating the classification of the target structural feature point and registered position information indicating the position of the target structural feature point in the field coordinate system.
- the registered position information is coordinate information represented by the field coordinate system, and is set so that, for example, the position of any structural characteristic point becomes the origin.
- the registered feature point information is used in calibration processing. Note that the length between any two structural feature points can be calculated based on the coordinate values indicated by the registered position information.
- the structural data may include information specifying a structural characteristic point as the origin in the field coordinate system and information specifying each direction of each of the three axes of the field coordinate system.
- the configuration of the display device 1 shown in FIG. 1 is an example, and various modifications may be made to this configuration.
- the display device 1 may further include a speaker that outputs audio under the control of the controller 17 .
- the display device 1 may also include a line-of-sight detection camera for changing whether or not a virtual object is displayed and the display position of the virtual object according to the line-of-sight position of the user.
- the storage unit 14 does not have to have the sensor data storage unit 20 .
- the control unit 17 performs calibration processing using the captured image Im immediately obtained from the camera 15 and the position/orientation change amount Ap calculated based on the detection signal of the position/orientation detection sensor 16 .
- the display device 1 does not need to detect the position of the display device 1 by the position/orientation detection sensor 16 or the like.
- the position/orientation detection sensor 16 is configured by a sensor that detects the orientation of the display device 1, and the control unit 17 detects only the amount of change in the orientation of the display device 1 from the setting of the device coordinate system. It may be calculated as the posture change amount Ap.
- FIG. 3 is a block diagram showing the functional configuration of the control section 17.
- the control unit 17 functionally includes an image conversion unit 40, a virtual object acquisition unit 41, a feature extraction unit 42, a coordinate transformation information generation unit 43, a reflection unit 44, a light source and a control unit 45 .
- 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 image conversion unit 40 generates an image (also referred to as "converted captured image Ima") by performing predetermined image conversion on the captured image Im acquired by the feature extraction unit 42 from the sensor data storage unit 20.
- the image conversion unit 40 may generate the converted captured image Ima by any data augmentation method.
- the image conversion unit 40 may generate an image obtained by inverting the captured image Im as the converted captured image Ima, or may generate an image obtained by cropping (cutting) the captured image Im as the converted captured image Ima. You may In this case, the image conversion unit 40 may generate a plurality of cropped images as the converted captured image Ima by randomly or regularly changing the size and location of cropping.
- the image conversion unit 40 generates one or more converted captured images Ima for one captured image Im.
- 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" for each image from the captured image Im (for example, the latest captured image Im) obtained from the sensor data storage unit 20 and the converted captured image Ima.
- the feature extraction unit 42 inputs the above-described image to a feature extractor configured based on the parameters extracted from the parameter storage unit 21, and extracts feature point information IF for the input image from the information output by the feature extractor.
- the feature extractor outputs the position (eg, coordinate value) of the structural feature point in the input image for each label indicating the classification of the structural feature point, and the feature extraction unit 42 outputs the structural feature point in the input image.
- the feature extractor outputs values normalized so as not to depend on the image size as the coordinate values of the structure feature points
- the feature extraction unit 42 multiplies the coordinate values by the image size of the input image. to calculate feature point candidate positions.
- the coordinate transformation information generation unit 43 generates the structure data extracted from the structure data storage unit 22, the feature point information IF, the position/orientation change amount Ap at the time of generation of the captured image Im for which the feature extraction was performed, the parameters of the camera 15, and the like. , the coordinate conversion information “Ic” between the device coordinate system and the field coordinate system is generated.
- the coordinate conversion information Ic is, for example, a combination of rotation matrix and translation vector generally used for coordinate conversion between three-dimensional spaces.
- the coordinate conversion information Ic is not limited to information used when converting the field coordinate system to the device coordinate system, and may be information used when converting the device coordinate system to the field coordinate system. good.
- the rotation matrix and translation vector for transforming from the field coordinate system to the device coordinate system are the rotation matrix (inverse matrix of the above-mentioned rotation matrix) and translation vector (code can be converted to the inverted translation vector described above).
- the coordinate transformation information generation unit 43 also has a field estimation unit 46 .
- the field estimation unit 46 estimates the target field (position of the target field) in the device coordinate system. The estimation method by the field estimation unit 46 will be described later.
- the coordinate transformation information generation unit 43 generates coordinates based on the target field in the device coordinate system estimated by the field estimation unit 46 (also referred to as an “estimated field”) and the target field in the field coordinate system indicated by the structure data storage unit 22. Generate 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.
- FPGA Field-Programmable Gate Array
- each component may be configured by an ASSP (Application Specific Standard Produce), an ASIC (Application Specific Integrated Circuit), or a quantum processor (quantum computer control chip).
- ASSP Application Specific Standard Produce
- ASIC Application Specific Integrated Circuit
- quantum processor quantum computer control chip
- FIG. 4A shows a first example of label definition of structure feature points when the target field is a tennis court
- FIG. 11B is a second label definition example of structural feature points in the case of a court
- FIGS. 4(A) and 4(B) the positions of the structural feature points are marked with circles and corresponding label numbers.
- serial numbers from 0 to 13 are attached as labels to each structure feature point in order from the corners of the 14 structure feature points.
- the same label is attached to symmetric structural feature points.
- each label from 0 to 5 is attached to two structural feature points at symmetrical positions.
- FIG. 5(A) is a first label definition example of the structural feature point when the target field is a pool
- FIG. 5(B) is a second label definition example of the structural feature point when the target field is a pool. This is an example of label definition.
- the positions of the structural feature points are marked with circles and corresponding label numbers.
- floats of a predetermined color provided at predetermined intervals on ropes defining the course are selected as structural feature points.
- each label from 0 to 24 is attached as a label to each structural feature point in order from the corner of the 25 structural feature points.
- the same label is attached to symmetric structural feature points.
- each label from 0 to 11 is attached to two structural feature points at symmetrical positions.
- FIG. 6A shows a captured image Im obtained by photographing a part of the target field.
- FIG. 6B shows a converted captured image Ima generated by inverting the captured image Im of FIG. 6A.
- the target field is assumed to be a grid-like field, and each vertex of the grid is assumed to be a structural feature point.
- labels "0" to "11" are assigned to the 12 structural feature points, and for convenience of explanation, the label numbers for the structural feature points are Illustrated.
- the virtual lines representing the target field outside the imaging range of the captured image Im are indicated by dashed lines, and the labels for the structural feature points outside the imaging range are also clearly shown.
- the structural feature points on the right side of the target field (the structural feature points labeled 9 to 11) do not appear on the captured image Im.
- the converted captured image Ima shown in FIG. 6B which is obtained by left-right reversing the captured image Im, is the structure feature points (labels 9 to 11 in this case) on the right side of the target field that did not appear in the captured image Im due to the left-right reversal. This is an image in which structural feature points of ) appear. Note that the structural feature points on the left side (here, the structural feature points labeled 1 to 3) do not appear on the converted captured image Ima.
- the image conversion unit 40 generates an inverted image of the captured image Im as the converted captured image Ima, thereby suitably generating an image representing the target field separately from the captured image Im. The same is true when a cropped image of the captured image Im is generated as the converted captured image Ima. In this manner, the image conversion unit 40 performs data augmentation so as to obtain a plurality of feature extraction results for the target field.
- the field estimator 46 functionally includes a candidate field generator 51 , a consistency determiner 52 , and an estimated field determiner 53 .
- each component of the field estimation unit 46 includes the position/orientation change amount Ap stored in the sensor data storage unit 20 and the camera parameters (internal parameters , including the size of the captured image Im).
- the candidate field generation unit 51 executes processing for generating candidates (also called “candidate fields") representing the target field in the device coordinate system based on the feature point information IF for each image.
- the candidate field generator 51 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 surface of the target field in the device coordinate system.
- the candidate field generation unit 51 generates n (n is an integer equal to or less than k) candidate fields when there are k (k is an integer equal to or greater than 2) captured images Im and converted captured images Ima. . Since candidate fields cannot be generated for a converted captured image Ima that does not include any target field, the number of generated candidate fields may be less than the total number of the captured image Im and the converted captured image Ima.
- the candidate field generator 51 when generating a candidate field from a certain image, if the value of the evaluation function that performs the least squares is greater than a predetermined threshold, the candidate field generator 51 considers the reliability of the candidate field to be generated to be low. , do not generate a candidate field for that image. In this case as well, the number of generated candidate fields is smaller than the total number of captured images Im and converted captured images Ima. A specific example of the candidate field generation method will be described later.
- the consistency determination unit 52 determines candidate fields that are not consistent with other candidate fields (also called “non-matching candidate fields”). Then, the matching determination unit 52 supplies candidate fields other than the non-matching candidate fields (also called “matching candidate fields”) to the estimated field determining unit 53 .
- the estimated field determination unit 53 determines estimated fields based on matching candidate fields. In this case, the estimated field determining unit 53 generates an estimated field by, for example, integrating matching candidate fields. In other words, the estimated field determination unit 53 determines the estimated position of the structure feature point of each label of the target field (and the estimated plane of the target field) in the device coordinate system.
- the estimated field determination unit 53 may determine whether or not to generate an estimated field based on the determination result of the consistency determination unit 52 . In this case, the estimated field determination unit 53 sets a condition for determining an estimated field (also referred to as an “estimated field determination condition”), and generates an estimated field only when the estimated field determination condition is satisfied.
- a condition for determining an estimated field also referred to as an “estimated field determination condition”
- the estimated field determination unit 53 sets the estimated field determination condition to a condition based on the ratio of non-matching candidate fields to all candidate fields (in other words, a condition based on the ratio of matching candidate fields). For example, the estimated field determination unit 53 determines that the estimated field determination condition is satisfied when the ratio of non-matching candidate fields to all candidate fields is less than a predetermined ratio (for example, 30%), and determines that the estimated field determination condition is satisfied. Generate inferred fields. On the other hand, when the ratio of non-matching candidate fields to all candidate fields is equal to or greater than a predetermined ratio, estimated field determining section 53 determines that the estimated field determination condition is not satisfied, and does not generate an estimated field.
- a predetermined ratio for example, 30%
- the field estimation unit 46 regenerates candidate fields based on the feature point information IF of the newly generated captured image Im and the converted captured image Ima generated from the captured image Im.
- the predetermined ratio described above is set to, for example, a suitable value stored in advance in the storage unit 14 .
- the estimated field determination unit 53 can preferably suppress generation of estimated fields based on candidate fields with low reliability.
- the estimated field determination conditions are not limited to those described above.
- the estimation field determination unit 53 determines the number of candidate fields in the first cluster, which is the largest number generated by clustering n candidate fields, and the ratio of the total number of candidate fields in the first cluster and the second cluster to the whole. The necessity of generating the estimated field may be determined based on the above. A specific example of this will be described later with reference to FIG.
- the structure feature points may be extracted as adjacent structure feature points, and as a result, all the structure feature points may be extracted with a regular shift.
- errors in feature extraction results are errors (consistent errors) that occur almost consistently when only part of the target field is captured in the image, and general error detection and correction methods for feature extraction results are It cannot be dealt with.
- the feature extraction accuracy is lowered, and as a result, the field estimation accuracy is also lowered.
- the field estimation unit 46 determines non-matching candidate fields and matching candidate fields based on candidate fields based on k images including images generated by data augmentation, and estimates by matching candidate fields. Decide on a field.
- the field estimating unit 46 preferably solves the problem of deterioration in estimation accuracy due to the presence of blind spots that are not imaged when estimating the target field having structural feature points that are regularly arranged, and the target field in the device coordinate system. can be accurately estimated.
- the output feature extraction results may differ even with minor changes in the input image.
- a feature extractor used in the feature extraction unit 42 is assumed to be a reasoner mainly based on a neural network. Therefore, the feature extractor used in the feature extraction unit 42 can output Variation occurs in the feature extraction results. This variation is more likely to occur when accurate feature extraction is difficult. Therefore, the field estimation unit 46 can suitably generate a plurality of candidate fields based on the feature point information IF generated from the captured image Im and the converted captured image Ima.
- FIG. 8 is a diagram showing the relationship between the device coordinate system and the field coordinate system.
- the field coordinate system is a coordinate system adopted in structure data, and is a coordinate system based on the target field.
- the target field is a tennis court
- the field coordinate system has respective axes in the lateral direction and longitudinal direction of the tennis court and in the vertical directions thereof.
- the three axes of the device coordinate system will be x, y, and z
- the three axes of the field coordinate system will be x ⁇ , y, and z.
- the device coordinate system is a coordinate system set by the display device 1 at the time of activation or the like, and 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. Then, the candidate field generation unit 51 generates a candidate field representing the target field in the device coordinate system based on the structure data adopting the field coordinate system and the feature point information IF.
- the candidate field generation unit 51 recognizes the vertical direction in the device coordinate system based on the output signal of the acceleration sensor included in the position/orientation detection sensor 16, and the device coordinate system and the field coordinate system based on the recognized vertical direction.
- the device coordinate system may be adjusted so that the axes in the height direction (y-axis and y ⁇ -axis) are parallel.
- the candidate field generation unit 51 can align one axis of the device coordinate system and the field coordinate system, it is possible to reduce the calculation cost for identifying feature point candidate positions and generating candidate fields in the device coordinate system, which will be described later. etc. can be realized.
- FIG. 9 is a diagram representing candidate fields based on the feature point information IF of one image in the device coordinate system.
- the target field is a grid-like field that is an imaging target in the captured image Im of FIG.
- a total of 9 structural feature points are extracted by the feature extraction unit 42 .
- the candidate field generator 51 generates the candidate field “C1” based on the feature point candidate positions P0 to P8.
- the candidate field generation unit 51 calculates the device coordinates based on the shooting position (including shooting orientation) in the device coordinate system specified based on the position/orientation change amount Ap and the parameters of the camera 15 (including internal parameters). Identify feature point candidate positions P0 to P8 (broken lines shown in FIG. 9) projected onto the system. Then, the candidate field generating unit 51 refers to the structure data to specify the relative positional relationship (model of the target field) representing the distance between the structural feature points of the target field, and the positions of the specified structural feature points. Feature point candidate positions P0 to P8 and candidate fields in the device coordinate system are determined so that the relationship is maintained.
- the candidate field generation unit 51 uses the method of least squares or the like to generate an error (2 The position of the structural feature points of the model of the target field is determined so that the sum of the multiplicative errors) is minimized.
- the above example is an example of a method of estimating the extrinsic parameters (shooting position and orientation) of a camera assuming that feature points are present on a horizontal plane perpendicular to the vertical direction.
- the candidate field generating unit 51 is not limited to this example, for example, it is not necessary to assume that the feature points are on the same plane, and it is possible to simultaneously optimize the internal parameters and the positions of the feature points on the image. Camera calibration techniques (eg, PnP techniques) may be performed.
- the field estimator 46 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.
- FIG. 10 is a diagram showing the result of clustering the generated six candidate fields "C1" to "C6" in the device coordinate system.
- the field estimation unit 46 classifies candidate fields into a first cluster CL1, a second cluster CL2, and a third cluster CL3 by using an arbitrary clustering method.
- the field estimation unit 46 calculates three-dimensional center-of-gravity coordinates in the device coordinate system (for example, average coordinates of structural feature points) and Euler angles of yaw, pitch, and roll (vertical direction information). If the device coordinate system and the field coordinate system are aligned by , the above-described clustering is performed based on the vector representing the angle representing the orientation on the xz plane).
- Such 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 first cluster CL1 is the cluster to which the largest number of candidate fields belong (also referred to as "main cluster"), and the four candidate fields C1, C3, C4, and C6, which are the largest, belong to it.
- the second cluster CL2 consists of the candidate field C2
- the third cluster CL3 consists of the candidate field C5.
- the field estimation unit 46 determines that the candidate fields belonging to the first cluster CL1, which is the main cluster, are matching candidate fields, and the candidate fields belonging to the second cluster CL2 and the third cluster CL3 other than the main cluster. Determine that it is a non-matching candidate field.
- the field estimation unit 46 may determine matching candidate fields and non-matching candidate fields based on threshold processing. For example, the field estimator 46 calculates the distance between each candidate field based on the vector described above, and generates clusters whose mutual distance is less than a predetermined threshold. Then, the field estimating unit 46 determines a candidate field belonging to the main cluster having the largest number of candidate fields among the generated clusters as a matching candidate field, and determines a candidate field not belonging to the main cluster as a non-matching candidate field. .
- the field estimation unit 46 determines whether or not the number of candidate fields "Nc1" belonging to the first cluster CL1, which has the largest number, is equal to or greater than a predetermined threshold "Ncth1". In the example of FIG. 10, the number of candidate fields Nc1 is "4". Then, if the number of candidate fields Nc1 is equal to or greater than the threshold value Ncth1, the field estimator 46 proceeds to the second step described below.
- the field estimation unit 46 determines that the estimated field determination condition is not satisfied, and determines that the newly generated captured image Im and the converted captured image generated from the captured image Im The candidate field is regenerated based on the feature point information IF of Ima.
- the field estimator 46 determines that the processing related to estimation of the target field should end.
- the ratio R12 is less than the threshold value Rth12
- the field estimating unit 46 determines that the estimated field determination condition is not satisfied.
- the candidate field is regenerated based on the feature point information IF.
- the field estimating unit 46 determines whether or not to generate an estimated field based on the result of determining the consistency of the n candidate fields generated by the candidate field generating unit 51 (here, the clustering result of the candidate fields). It is possible to suitably perform the determination of the end of the processing relating to the determination and estimation fields.
- FIG. 11(A) is a diagram in which candidate fields based on feature point information IF are superimposed on a captured image Im on which feature extraction processing has been appropriately performed.
- FIG. 11B is a diagram in which candidate fields based on the feature point information IF are superimposed on the captured image Im in which an error has occurred in the feature extraction processing.
- a set of the correct label (X) of each structural feature point and the recognition result (Y) based on the feature extraction process and the candidate field generation process is represented as " X ⁇ Y”.
- auxiliary lines that virtually represent candidate fields to be generated are indicated by dashed lines.
- the structural feature points 0 to 8 within the imaging range of the captured image Im are correctly extracted from the structural feature points labeled 0 to 11.
- a candidate field has been generated to represent the field.
- the structure feature points of the labels 9 to 11, which were not captured in the captured image Im are also correctly recognized.
- the field estimator 46 performs a process of determining an estimated field from a plurality of candidate fields based on the captured image Im and the converted captured image Ima generated by data augmentation. Also preferably, the field estimator 46 does not generate an estimated field when the ratio of matching candidate fields to all candidate fields is less than a predetermined ratio. As a result, the field estimator 46 can suitably suppress the generation of estimation fields with low accuracy.
- FIG. 12 is a diagram showing an overview of the process of determining estimated fields from matching candidate fields.
- the structural feature points of the matching candidate fields are indicated by circles, and the estimated fields to be determined are indicated virtually by dashed lines.
- point groups “PC0” to “PC11” of structure feature points of four match candidate fields are formed for structure feature points labeled 0 to 11 of the target field.
- the target field is a rectangular area having a length of "L1" in the lateral direction and a length of "L2" in the longitudinal direction. The lengths L1 and L2 of the target field are recorded in the structure data.
- the estimation field determining unit 53 regards the estimation field as a rectangular area of L1 in the lateral direction and L2 in the longitudinal direction, and the diagonal corners of the rectangular area (for example, between labels 0 and 11).
- the estimated field is determined such that the structural feature points) are determined by the point cloud of structural feature points on the diagonal of the match candidate field (for example, the point clouds PC0 and PC11).
- the estimated field determining unit 53 uses, for example, the least squares method to calculate the error (squared error) between each vertex of the above-described rectangular area and the point group, and calculates the sum of the errors to minimize Determine the estimated field.
- the estimated field determination unit 53 uses a model of the target field specified based on the structural data (for example, positional relationships such as distances between structural feature points), and An estimation field is determined to minimize the error between the structural feature points of the model and the corresponding point cloud.
- the estimated field determination unit 53 uses the positional relationship such as the distance between the structural feature points specified by the structure data as a constraint condition, and the sum of the errors between the structural feature points and the point group of the estimated field for each label is the evaluation function , the structural feature points of the estimated field may be determined by optimization so as to minimize the evaluation function.
- the estimated field determination unit 53 may obtain the above-described optimization solution using an arbitrary optimization solver.
- the estimated field determination unit 53 may select a matching candidate field determined by a predetermined rule or randomly as an estimated field instead of generating an estimated field by integrating matching candidate fields. In this case, for example, the estimated field determination unit 53 calculates the average vector of the vectors representing the xyz coordinate values of the center of gravity and the attitude angle for each of the matching candidate fields, and calculates the matching candidate corresponding to the vector closest to the average vector. A field may be selected as an estimated field.
- FIG. 13 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). 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. 13 is an example, and various changes can be made to this processing procedure.
- control unit 17 executes the calibration process in step S15 every time there is a virtual object display request, but the present invention is not limited to this.
- control unit 17 may perform the calibration process only when a predetermined time or longer has passed since the previous calibration process. In this way, the control unit 17 may perform the calibration process at least once after the display device 1 is activated.
- control unit 17 determines the device coordinate system based on the position and orientation of the display device 1 when the display device 1 is activated, but is not limited to this. Instead of this, for example, the control unit 17 uses the position and orientation of the display device 1 when a display request is first received after the display device 1 is activated (that is, when the calibration process is performed for the first time) as a reference, A device coordinate system may be determined. In another example, each time a display request is made, the control unit 17 may reset the device coordinate system based on the position and orientation of the display device 1 at the time of the display request (that is, at the time of executing the calibration process). . In this case, there is no need to use the position/orientation change amount Ap in the process of generating coordinate transformation information Ic, which will be described later.
- FIG. 14 is an example of a flowchart showing the detailed processing procedure of the calibration process in step S15 of FIG.
- the image conversion unit 40 of the control unit 17 generates a converted captured image Ima by performing data augmentation based on the captured image Im acquired from the sensor data storage unit 20 or the like (step S21). Thereby, the image conversion unit 40 generates at least one converted captured image Ima for the captured image Im used for estimating the target field.
- the feature extraction unit 42 extracts feature point candidate positions and candidate labels corresponding to each structural feature point of the target field for each of the captured image Im used in step S21 and the converted captured image Ima generated in step S21. is generated (step S22).
- the feature extractor 42 configures a feature extractor based on the parameters acquired from the parameter storage section 21, and inputs each image to the feature extractor. Then, the feature extraction unit 42 generates feature point information IF for each image based on the information output by the feature extractor.
- the candidate field generator 51 generates candidate fields from the feature point information IF of each image (step S23). Then, the matching determination unit 52 determines a non-matching candidate field by performing clustering or the like on the plurality of generated candidate fields (step S24). Then, the consistency determination unit 52 determines whether or not the estimated field determination condition is satisfied (step S25). Then, when it is determined that the estimation field determination condition is satisfied (step S25; Yes), the consistency determination unit 52 determines the estimation field based on the matching candidate fields (step S26). In this case, the consistency determination unit 52 determines the estimated field based on the integration processing or selection processing of the matching candidate fields.
- 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 estimated field determined by the field estimation unit 46 (step S27).
- the coordinate conversion information generating unit 43 generates the detected position in the device coordinate system of each structural feature point indicated by the second field estimation information acquired in step S25 for each label of the structural feature point, and the The position of the structural feature point in the field coordinate system indicated by the registered position information is associated with each other and matched, and the matched positions for each label match each other (that is, the positional error for each label is minimized). Coordinate conversion information Ic is calculated.
- the display device 1 extracts information obtained by extracting only pre-registered structural feature points (that is, already labeled) from the captured image Im in the calibration process, and extracts the structural feature points registered in the structural data. to match the information in As a result, the amount of calculation required for the matching process for calculating the coordinate transformation information Ic can be greatly reduced, and the influence caused by the extraction of noise (that is, feature points other than the target field) included in the captured image Im can be reduced. It is possible to calculate robust coordinate transformation information Ic that is not affected. In addition, in the present embodiment, since the collation described above is performed based on the estimated field estimated with high accuracy, it is possible to accurately calculate the coordinate transformation information Ic.
- the field estimating unit 46 instead of determining an estimated field based on one captured image Im and a converted captured image Ima generated from the captured image Im, m (“m” is two or more (integer) of the captured image Im and the converted captured image Ima generated from the captured image Im.
- FIG. 15 is a block configuration diagram of the field estimation unit 46 in the modified example.
- the storage unit 14 further has a candidate field storage unit 23 generated by the candidate field generation unit 51.
- the candidate field generation unit 51 stores m captured images Im and corresponding converted captured images Ima. field candidates generated for each are stored in the candidate field storage unit 23 .
- the matching determination unit 52 selects non-matching candidates based on the candidate fields stored in the candidate field storage unit 23. It performs processing for judging the field and judging whether the conditions for determining the estimated field are successful or not.
- control unit 17 does not have to have the image conversion unit 40 .
- the consistency determination unit 52 can suitably determine the estimated field based on m candidate fields generated based on the m captured images Im.
- the field estimating unit 46 can suitably generate a plurality of candidate fields used for determining an estimated field by using a plurality of captured images Im.
- FIG. 16 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. 17 is a block diagram of the server device 2. As shown in FIG. The server device 2 has an input unit 26 , a control unit 27 , a communication unit 28 and a storage unit 29 .
- the storage unit 29 is a non-volatile memory that stores various information necessary for the control unit 27 to control the server device 2 .
- a program executed by the control unit 27 is stored in the storage unit 29 .
- the storage unit 29 has a sensor data storage unit 20 , a parameter storage unit 21 and a structural data storage unit 22 .
- the sensor data storage unit 20 stores the captured image Im and the position/orientation change amount Ap included in the upload signal S ⁇ b>1 under the control of the control unit 27 .
- the storage unit 29 may be an external storage device such as a hard disk connected to or built into the server device 2, or may be a storage medium such as a flash memory.
- the storage unit 29 may be a server device that performs data communication with the server device 2 (that is, a device that stores information so that other devices can refer to it). Further, in this case, the storage unit 29 may be composed of a plurality of server devices, and the sensor data storage unit 20, the parameter storage unit 21, and the structure data storage unit 22 may be distributed and stored.
- the control unit 27 has, for example, a processor such as a CPU or GPU, a volatile memory that functions as a working memory, and the like, and performs overall control of the server device 2 .
- the control unit 27 generates information on a virtual object to be displayed as a virtual object and a display position (that is, information corresponding to the specified display information Id in the first embodiment) based on user input to the input unit 26 or the like. Further, the control unit 27 refers to the sensor data storage unit 20, the parameter storage unit 21, and the structure data storage unit 22 to perform calibration processing and generate the distribution signal S2.
- the control unit 27 includes functions corresponding to the image conversion unit 40, 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. 18 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 S31). 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 or not it is time to display the virtual object (step S32). If it is not the display timing (step S32; No), the controller 27 continues to receive the upload signal S1 from the display device 1A in step S31.
- step S32 the control unit 27 executes calibration processing based on the latest upload signal S1 and the like received in step S31.
- the controller 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 S34).
- the control unit 27 transmits the generated distribution signal S2 to the display device 1A through the communication unit 28 (step S35).
- 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. 14 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. 19 shows a schematic configuration of an information processing device 1X according to the third embodiment.
- the information processing apparatus 1X mainly includes feature point information acquisition means 42X, candidate field generation means 51X, and consistency determination means 52X.
- the information processing device 1X is implemented by, for example, the display device 1 or the control unit 17 of the display device 1 in the first embodiment, or the control unit 27 of the server device 2 in the second embodiment. Note that the information processing device 1X may be composed of a plurality of devices.
- the feature point information acquisition means 42X acquires feature point information indicating candidate positions and candidate labels of a plurality of feature points of the field, which are determined based on an image including at least part of the target field.
- the feature point information acquisition means 42X may receive feature point information generated by a processing block (including an apparatus other than the information processing apparatus 1X) other than the feature point information acquisition means 42X. Point information may be generated. In the latter case, the feature point information acquisition means 42X can be, for example, the feature extraction section 42 in the first embodiment or the second embodiment.
- the candidate field generating means 51X generates, based on the feature point information, candidate fields representing field candidates in the first coordinate system, which is the coordinate system based on which the display device having the camera for capturing the image is based.
- the candidate field generator 51X can be the candidate field generator 51 in the first embodiment or the second embodiment, for example.
- the consistency determination means 52X determines non-matching candidate fields, which are candidate fields that do not have consistency, based on a plurality of candidate fields corresponding to a plurality of pieces of feature point information of a plurality of images.
- the consistency determination means 52X can be, for example, the consistency determination section 52 in the first embodiment or the second embodiment.
- FIG. 20 is an example of a flowchart in the third embodiment.
- the feature point information acquiring means 42X acquires feature point information indicating candidate positions and candidate labels of a plurality of feature points in the field based on an image including at least part of the target field (step S41).
- the candidate field generating means 51X Based on the feature point information, the candidate field generating means 51X generates a candidate field representing a field candidate in the first coordinate system, which is the coordinate system based on which the display device having the camera for capturing the image is based (step S42).
- the consistency determination unit 52X determines a non-matching candidate field, which is a candidate field having no consistency, based on a plurality of candidate fields corresponding to a plurality of pieces of feature point information of a plurality of images (step S43).
- the information processing apparatus 1X can accurately determine a non-matching candidate field having no match based on a plurality of candidate fields, and suitably suppress deterioration in field estimation accuracy. can.
- 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] Feature point information acquisition means for acquiring feature point information regarding a plurality of feature points of a field determined based on an image including at least part of a field of interest;
- Candidate field generation means for generating, based on the feature point information, candidate fields representing candidates for the fields in a first coordinate system, which is a coordinate system based on which a display device having a camera that captures the image is based;
- consistency determination means for determining a non-matching candidate field, which is the candidate field having no consistency, based on the plurality of candidate fields corresponding to the plurality of feature point information of the plurality of images;
- Information processing device having [Appendix 2] 1.
- information processing equipment [Appendix 3] 3. The information processing apparatus according to appendix 2, wherein the estimated field determination means generates the estimated field by integrating the matching candidate fields, or selects one of the matching candidate fields as the estimated field. [Appendix 4] 4. The information processing apparatus according to appendix 2 or 3, wherein the estimated field determining means determines whether or not to determine the estimated field based on a determination result by the consistency determining means. [Appendix 5] 5.
- the information processing apparatus according to appendix 4, wherein the estimated field determining means performs the necessity determination based on a ratio of the non-matching candidate field or the matching candidate field to the plurality of candidate fields.
- Appendix 6 6.
- the information processing apparatus according to any one of appendices 2 to 5, wherein the estimated field determination means determines completion of the process related to the estimated field based on a determination result by the consistency determination means.
- Appendix 7 further comprising image transformation means for generating one or more second images by transforming the first image containing at least part of the field; The plurality of images includes the first image and the second image; 7.
- the information processing device according to item 1.
- Appendix 8 8.
- the information processing apparatus according to appendix 7, wherein the second image includes at least one of an inverted image and a cropped image of the first image.
- Appendix 9 Based on the matching candidate fields, which are the plurality of candidate fields other than the non-matching candidate fields, and structure data regarding the structure of the fields, the first coordinate system and the second coordinate system, which is the coordinate system adopted in the structure data, are used. 9.
- the information processing apparatus 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 9, further comprising: [Appendix 11] the computer obtaining feature point information for a plurality of feature points of a field of interest determined based on an image comprising at least a portion of the field of interest; based on the feature point information, generating a candidate field representing a candidate of the field in a first coordinate system, which is a coordinate system based on a display device having a camera that captures the image; determining a non-matching candidate field, which is the candidate field that does not have
- [Appendix 12] obtaining feature point information for a plurality of feature points of a field of interest determined based on an image comprising at least a portion of the field of interest; based on the feature point information, generating a candidate field representing a candidate of the field in a first coordinate system, which is a coordinate system based on a display device having a camera that captures the image;
- a memory for storing a program for causing a computer to execute a process of determining a non-matching candidate field, which is the candidate field having no match, based on the plurality of candidate fields corresponding to the plurality of feature point information of the plurality of images. medium.
- 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 structural data storage unit 23 Candidate field storage unit
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Processing Or Creating Images (AREA)
Abstract
情報処理装置1Xは、主に、特徴点情報取得手段42Xと、候補フィールド生成手段51Xと、整合性判定手段52Xとを有する。特徴点情報取得手段42Xは、対象となるフィールドの少なくとも一部を含む画像に基づき決定された、フィールドの複数の特徴点の候補位置及び候補ラベルを示す特徴点情報を取得する。候補フィールド生成手段51Xは、特徴点情報に基づき、画像を撮影するカメラを有する表示装置が基準とする座標系である第1座標系におけるフィールドの候補を表す候補フィールドを生成する。整合性判定手段52Xは、複数の画像の複数の特徴点情報に対応する複数の候補フィールドに基づき、非整合候補フィールドを判定する。
Description
本発明は、拡張現実(AR:Augmented Reality)における空間把握に関する処理を行う情報処理装置、制御方法及び記憶媒体の技術分野に関する。
拡張現実を提供する装置において、カメラで撮像した画像に基づき、ユーザが視認する風景に重ねて表示する画像(所謂AR画像)の表示位置を決定する技術が存在する。例えば、特許文献1には、スポーツ観戦におけるARを実現するため、フィールドの各特徴点の位置を推定し、その推定結果に基づきARのキャリブレーションを行う技術が記載されている。
特許文献1のように対象のフィールドの特徴点を抽出してキャリブレーションなどの処理を行う場合において、対象のフィールドが規則的な特徴点を有する場合には、特徴点の抽出にエラーが生じやすくなり、その結果キャリブレーション処理の精度が低下する。対象のフィールドの一部の特徴点しか表れていない画像を用いた場合にはそのようなエラーが生じやすくなる。
本開示は、上述した課題を鑑み、対象となるフィールドの推定の誤りを好適に抑制することが可能な情報処理装置、制御方法及び記憶媒体を提供することを主な目的の1つとする。
情報処理装置の一の態様は、
対象となるフィールドの少なくとも一部を含む画像に基づき決定された、前記フィールドの複数の特徴点に関する特徴点情報を取得する特徴点情報取得手段と、
前記特徴点情報に基づき、前記画像を撮影するカメラを有する表示装置が基準とする座標系である第1座標系における前記フィールドの候補を表す候補フィールドを生成する候補フィールド生成手段と、
複数の前記画像の複数の前記特徴点情報に対応する複数の前記候補フィールドに基づき、整合性を有しない前記候補フィールドである非整合候補フィールドを判定する整合性判定手段と、
を有する情報処理装置である。
対象となるフィールドの少なくとも一部を含む画像に基づき決定された、前記フィールドの複数の特徴点に関する特徴点情報を取得する特徴点情報取得手段と、
前記特徴点情報に基づき、前記画像を撮影するカメラを有する表示装置が基準とする座標系である第1座標系における前記フィールドの候補を表す候補フィールドを生成する候補フィールド生成手段と、
複数の前記画像の複数の前記特徴点情報に対応する複数の前記候補フィールドに基づき、整合性を有しない前記候補フィールドである非整合候補フィールドを判定する整合性判定手段と、
を有する情報処理装置である。
制御方法の一の態様は、
コンピュータが、
対象となるフィールドの少なくとも一部を含む画像に基づき決定された、前記フィールドの複数の特徴点に関する特徴点情報を取得し、
前記特徴点情報に基づき、前記画像を撮影するカメラを有する表示装置が基準とする座標系である第1座標系における前記フィールドの候補を表す候補フィールドを生成し、
複数の前記画像の複数の前記特徴点情報に対応する複数の前記候補フィールドに基づき、整合性を有しない前記候補フィールドである非整合候補フィールドを判定する、
制御方法である。
コンピュータが、
対象となるフィールドの少なくとも一部を含む画像に基づき決定された、前記フィールドの複数の特徴点に関する特徴点情報を取得し、
前記特徴点情報に基づき、前記画像を撮影するカメラを有する表示装置が基準とする座標系である第1座標系における前記フィールドの候補を表す候補フィールドを生成し、
複数の前記画像の複数の前記特徴点情報に対応する複数の前記候補フィールドに基づき、整合性を有しない前記候補フィールドである非整合候補フィールドを判定する、
制御方法である。
記憶媒体の一の態様は、
対象となるフィールドの少なくとも一部を含む画像に基づき決定された、前記フィールドの複数の特徴点に関する特徴点情報を取得し、
前記特徴点情報に基づき、前記画像を撮影するカメラを有する表示装置が基準とする座標系である第1座標系における前記フィールドの候補を表す候補フィールドを生成し、
複数の前記画像の複数の前記特徴点情報に対応する複数の前記候補フィールドに基づき、整合性を有しない前記候補フィールドである非整合候補フィールドを判定する処理をコンピュータに実行させるプログラムを格納する記憶媒体である。
対象となるフィールドの少なくとも一部を含む画像に基づき決定された、前記フィールドの複数の特徴点に関する特徴点情報を取得し、
前記特徴点情報に基づき、前記画像を撮影するカメラを有する表示装置が基準とする座標系である第1座標系における前記フィールドの候補を表す候補フィールドを生成し、
複数の前記画像の複数の前記特徴点情報に対応する複数の前記候補フィールドに基づき、整合性を有しない前記候補フィールドである非整合候補フィールドを判定する処理をコンピュータに実行させるプログラムを格納する記憶媒体である。
本開示の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は、光源ユニット10と、光学素子11と、通信部12と、入力部13と、記憶部14と、カメラ15と、位置姿勢検出センサ16と、制御部17とを有する。
光源ユニット10は、レーザ光源やLCD(Liquid Crystal Display)光源などの光源を有しており、制御部17から供給される駆動信号に基づき、光を射出する。光学素子11は、所定の透過率を有し、外光の少なくとも一部を透過してユーザの眼球に入射させると共に、光源ユニット10からの光の少なくとも一部を、ユーザの眼球に向けて反射する。これにより、表示装置1によって形成された仮想オブジェクトに対応する虚像が、風景と重なってユーザに視認されることとなる。なお、光学素子11は、透過率と反射率とが概ね等しいハーフミラーであってもよく、透過率と反射率とが等しくないようなミラー(所謂ビームスプリッタ)であってもよい。
通信部12は、制御部17の制御に基づき、外部装置とのデータの授受を行う。例えば、ユーザがスポーツ観戦や劇の観賞などに表示装置1を使用する場合には、通信部12は、制御部17の制御に基づき、興行者が管理するサーバ装置から表示装置1が表示すべき仮想オブジェクトに関する情報を受信する。
入力部13は、ユーザの操作に基づく入力信号を生成して制御部17に送信する。入力部13は、例えば、ユーザが表示装置1に対して指示を行うためのボタン、十字キー、音声入力装置等である。
カメラ15は、制御部17の制御に基づき、表示装置1の前方を撮像した画像を生成し、生成した画像(「撮像画像Im」とも呼ぶ。)を制御部17に供給する。
位置姿勢検出センサ16は、表示装置1の位置及び姿勢(向き)を検出するセンサ(センサ群)であり、例えば、GPS(Global Positioning Satellite)受信機などの測位センサと、ジャイロセンサ、加速度センサ、IMU(Inertial Measurement Unit)などの表示装置1の相対的な姿勢の変化を検出する姿勢検出センサとを含む。位置姿勢検出センサ16は、生成した表示装置1の位置及び姿勢に関する検出信号を制御部17へ供給する。後述するように、制御部17は、位置姿勢検出センサ16から供給される検出信号に基づき、表示装置1の起動時等からの位置及び姿勢の変化量を検出する。なお、制御部17は、測位センサから表示装置1の位置を検出する代わりに、例えば、会場に設けられたビーコン端末や無線LAN機器から受信する信号に基づき、表示装置1の位置を特定してもよい。他の例では、制御部17は、ARマーカを用いた公知の位置推定技術に基づき、表示装置1の位置を特定してもよい。これらの場合、位置姿勢検出センサ16は、測位センサを含まなくともよい。
制御部17は、例えばCPU(Central Processing Unit)、GPU(Graphics Processing Unit)などのプロセッサ、プロセッサの作業メモリとして機能する揮発性メモリなどを有しており、表示装置1の全体的な制御を行う。
例えば、制御部17は、仮想オブジェクトの表示タイミングなどにおいて、撮像画像Imから認識される対象フィールドの構造特徴点に基づき、実世界空間と表示装置1が認識する空間とを対応付けるためのキャリブレーション処理を行う。このキャリブレーション処理では、制御部17は、表示装置1が基準とする3次元空間の座標系(「デバイス座標系」とも呼ぶ。)を、対象フィールドを基準とした3次元空間の座標系(「フィールド座標系」とも呼ぶ。)に変換するための座標変換情報を生成する。デバイス座標系は「第1座標系」の一例であり、フィールド座標系は「第2座標系」の一例である。キャリブレーション処理の詳細については後述する。そして、制御部17は、上述の座標変換情報等に基づき、光源ユニット10を駆動するための駆動信号を生成し、駆動信号を光源ユニット10に供給することで光源ユニット10に仮想オブジェクトを表示するための光(「表示光」とも呼ぶ。)を光学素子11に射出させる。これにより、制御部17は、仮想オブジェクトをユーザに視認させる。
記憶部14は、制御部17が表示装置1の制御に必要な種々の情報を記憶する不揮発性メモリである。記憶部14は、フラッシュメモリなどの着脱自在な記憶媒体を含んでもよい。また、記憶部14には、制御部17が実行するプログラムが記憶される。
また、記憶部14は、センサデータ記憶部20と、パラメータ記憶部21と、構造データ記憶部22とを有する。
センサデータ記憶部20は、カメラ15が生成する撮像画像Imと、当該撮像画像Imの生成時におけるデバイス座標系の設定時(例えば表示装置1の起動時)からの表示装置1の位置及び姿勢の変化量(「位置姿勢変化量Ap」とも呼ぶ。)とを関連付けて記憶する。この場合、例えば、制御部17は、デバイス座標系の設定時の位置及び姿勢を基準とする現在の位置及び姿勢の変化量を、位置姿勢検出センサ16の検出信号に基づき常時算出する。そして、制御部17は、カメラ15が生成した撮像画像Imをセンサデータ記憶部20に記憶する場合に、当該撮像画像Imの生成時に算出した位置姿勢変化量Apを当該撮像画像Imに関連付けてセンサデータ記憶部20に記憶する。制御部17は、例えば、最新の所定時間分又は所定数分の撮像画像Im及び位置姿勢変化量Apの組合せをセンサデータ記憶部20に記憶させる。センサデータ記憶部20に記憶される情報は、キャリブレーション処理において使用される。
パラメータ記憶部21は、キャリブレーション処理において、対象フィールドの構造特徴点の位置情報及び当該構造特徴点の分類情報を撮像画像Imから抽出する際に用いる推論器(「特徴抽出器」とも呼ぶ。)のパラメータを記憶する。上述の特徴抽出器は、例えば、撮像画像Imが入力された場合に、抽出対象となる構造特徴点の分類(即ちラベル)毎に構造特徴点の画像内の位置情報を出力するように学習された学習モデルである。上述の位置情報は、構造特徴点の座標値ごとの信頼度を示す画像上のマップ情報であってもよく、ピクセル単位又はサブピクセル単位での画像内の構造特徴点の位置を示す座標値であってもよい。上述の特徴抽出器が構造特徴点の分類毎のマップ情報を出力する場合には、例えば、構造特徴点の分類毎に信頼度がある閾値を超えた上位m個(mは1以上の整数)の座標値が構造特徴点の位置として採用される。上記整数mは、後述する図4(A)及び図5(A)の例では「1」となり、後述する図4(B)及び図5(B)の例では「2」となる。なお、特徴抽出器の学習に用いる学習モデルは、ニューラルネットワークに基づく学習モデルであってもよく、サポートベクターマシーンなどの他の種類の学習モデルであってもよく、これらの組み合わせであってもよい。例えば、上述の学習モデルが畳み込みニューラルネットワークなどのニューラルネットワークである場合、パラメータ記憶部21は、層構造、各層のニューロン構造、各層におけるフィルタ数及びフィルタサイズ、並びに各フィルタの各要素の重みなどの各種パラメータを記憶する。
また、パラメータ記憶部21は、カメラ15の焦点距離、内部パラメータ、主点、撮像画像Imのサイズ情報などの、仮想オブジェクトの表示に必要なカメラ15に関するパラメータを記憶する。
構造データ記憶部22は、対象フィールドの構造に関するデータである構造データを記憶する。図2は、構造データのデータ構造の一例を示す。構造データは、サイズ情報と、登録特徴点情報と、を有する。
サイズ情報は、対象フィールドのサイズに関する情報である。登録特徴点情報は、対象フィールドの構造特徴点に関する情報であり、予め計測した構造特徴点毎の個別の情報を含んでいる。ここでは、対象フィールドがN個(Nは2以上の整数)の構造特徴点を有することから、登録特徴点情報は、これらのN個の構造特徴点に夫々対応する情報(第1登録特徴点情報~第N登録特徴点情報)を含んでいる。登録特徴点情報は、対象となる構造特徴点の分類を示すラベルと、対象となる構造特徴点のフィールド座標系での位置を示す登録位置情報とを少なくとも含んでいる。登録位置情報は、フィールド座標系により表された座標情報であり、例えばいずれかの構造特徴点の位置が原点となるように設定されている。登録特徴点情報は、キャリブレーション処理において用いられる。なお、任意の2点の構造特徴点間の長さは、これらの登録位置情報が示す座標値に基づき算出可能である。
その他、構造データは、フィールド座標系において原点とする構造特徴点を指定する情報及びフィールド座標系の3軸の各方向をそれぞれ指定する情報などが含まれてもよい。
なお、図1に示す表示装置1の構成は一例であり、この構成に対して種々の変更を行ってもよい。例えば、表示装置1は、制御部17の制御に基づき、音声を出力するスピーカをさらに備えてもよい。また、表示装置1は、ユーザの視線の位置に応じて仮想オブジェクトの表示有無や仮想オブジェクトの表示位置を変更するための視線検出用カメラを備えてもよい。さらに別の例では、記憶部14は、センサデータ記憶部20を有しなくともよい。この場合、制御部17は、カメラ15から即時に取得した撮像画像Imと、位置姿勢検出センサ16の検出信号に基づき算出した位置姿勢変化量Apとを用いて、キャリブレーション処理を行う。
さらに別の例では、表示装置1は、位置姿勢検出センサ16等による表示装置1の位置を検出しなくともよい。一般に、スポーツ観戦や劇等の観賞中では、ユーザが移動することは稀であり、かつ、表示装置1の姿勢変化に比べて表示装置1の位置の変化に対する仮想オブジェクトの表示への影響は小さい。以上を勘案し、位置姿勢検出センサ16は、表示装置1の姿勢を検出するセンサから構成され、制御部17は、デバイス座標系の設定時からの表示装置1の姿勢の変化量のみを、位置姿勢変化量Apとして算出してもよい。
(2)機能ブロック
図3は、制御部17の機能的な構成を示すブロック図である。図3に示すように、制御部17は、機能的には、画像変換部40と、仮想オブジェクト取得部41と、特徴抽出部42と、座標変換情報生成部43と、反映部44と、光源制御部45と、を有する。なお、図3では、データの授受が行われるブロック同士を実線により結んでいるが、データの授受が行われるブロックの組合せは図3に限定されない。後述する他の機能ブロックの図においても同様である。
図3は、制御部17の機能的な構成を示すブロック図である。図3に示すように、制御部17は、機能的には、画像変換部40と、仮想オブジェクト取得部41と、特徴抽出部42と、座標変換情報生成部43と、反映部44と、光源制御部45と、を有する。なお、図3では、データの授受が行われるブロック同士を実線により結んでいるが、データの授受が行われるブロックの組合せは図3に限定されない。後述する他の機能ブロックの図においても同様である。
画像変換部40は、センサデータ記憶部20から特徴抽出部42が取得する撮像画像Imに対して所定の画像変換を行った画像(「変換撮像画像Ima」とも呼ぶ。)を生成する。この場合、画像変換部40は、任意のデータオーグメンテーションの手法により変換撮像画像Imaを生成してもよい。例えば、画像変換部40は、撮像画像Imを反転させた画像を変換撮像画像Imaとして生成してもよく、撮像画像Imに対してクロップした(切り取りを行った)画像を変換撮像画像Imaとして生成してもよい。この場合、画像変換部40は、クロップする大きさや箇所をランダム又は規則的に変更することで、複数のクロップ画像を変換撮像画像Imaとして生成してもよい。画像変換部40は、1つの撮像画像Imに対して1個以上の変換撮像画像Imaを生成する。
仮想オブジェクト取得部41は、仮想オブジェクトとして風景に重畳表示させる元となる仮想オブジェクトとその表示位置とを指定する情報(「指定表示情報Id」とも呼ぶ。)を取得する。この仮想オブジェクトは、2次元の物体描画のための情報(2次元描画情報)であってもよく、3次元の物体描画のための情報(3次元描画情報)であってもよい。例えば、興行者が管理するサーバ装置と表示装置1が通信可能である場合には、仮想オブジェクト取得部41は、サーバ装置から所定のタイミングによりプッシュ型配信又はプル型配信される配信情報を、指定表示情報Idとして取得する。この場合、指定表示情報Idには、仮想オブジェクトの他、表示位置を指定する情報(例えばフィールド座標系での座標値を示す情報)が含まれている。他の例では、仮想オブジェクトと表示位置とその表示条件との組み合わせを示す情報が記憶部14に予め記憶されてもよい。この場合、仮想オブジェクト取得部41は、記憶された上述の表示条件が満たされたと判断したときに、満たされた表示条件に対応する仮想オブジェクトと表示位置の組み合わせを指定表示情報Idとして取得する。
特徴抽出部42は、センサデータ記憶部20から取得する撮像画像Im(例えば最新の撮像画像Im)及びその変換画像である変換撮像画像Imaから、特徴点情報「IF」を画像ごとに生成する。この場合、特徴抽出部42は、パラメータ記憶部21から抽出したパラメータに基づき構成した特徴抽出器に上述の画像を入力することで特徴抽出器が出力する情報から入力した入力画像に対する特徴点情報IFを生成する。例えば、特徴抽出器は、構造特徴点の分類を示すラベルごとに、入力画像内の構造特徴点の位置(例えば座標値)を出力し、特徴抽出部42は、上述の入力画像内の構造特徴点の位置を構造特徴点の候補位置(「特徴点候補位置」とも呼ぶ。)とし、当該位置に対応するラベルをラベルの候補(「候補ラベル」とも呼ぶ。)とする複数の組み合わせを示す特徴点情報IFを生成する。なお、特徴抽出器が構造特徴点の座標値として画像サイズに依存しないように正規化された値を出力する場合には、特徴抽出部42は、当該座標値に入力画像の画像サイズを乗じることで、特徴点候補位置を算出する。
座標変換情報生成部43は、構造データ記憶部22から抽出した構造データと、特徴点情報IFと、特徴抽出を行った撮像画像Imの生成時の位置姿勢変化量Apと、カメラ15のパラメータ等とに基づき、デバイス座標系とフィールド座標系との座標変換情報「Ic」を生成する。座標変換情報Icは、例えば、3次元空間同士の座標変換を行うために一般的に用いられる回転行列及び並進ベクトルの組み合わせである。なお、座標変換情報Icは、フィールド座標系をデバイス座標系へ変換する際に用いられる情報であることに限定されず、デバイス座標系をフィールド座標系へ変換する際に用いられる情報であってもよい。ここで、フィールド座標系からデバイス座標系へ変換するための回転行列及び並進ベクトルは、デバイス座標系からフィールド座標系へ変換するための回転行列(上述の回転行列の逆行列)及び並進ベクトル(符号反転した上述の並進ベクトル)に変換可能である。
また、座標変換情報生成部43は、フィールド推定部46を有する。フィールド推定部46は、デバイス座標系における対象フィールド(対象フィールドの位置)を推定する。フィールド推定部46による推定方法については後述する。座標変換情報生成部43は、フィールド推定部46が推定したデバイス座標系における対象フィールド(「推定フィールド」とも呼ぶ。)と、構造データ記憶部22が示すフィールド座標系における対象フィールドとに基づき、座標変換情報Icを生成する。
反映部44は、座標変換情報生成部43から供給される座標変換情報Icを、仮想オブジェクト取得部41から供給される指定表示情報Idに反映させることで、光学素子11上に投影させる仮想オブジェクトを示す表示信号「Sd」を生成する。この場合、反映部44は、座標変換情報Icによりデバイス座標系をフィールド座標系と一致させた上で、指定表示情報Idに基づく表示信号Sdを生成する。光源制御部45は、反映部44から供給される表示信号Sdに基づき、光源ユニット10の光源(例えばRGBに対応する各光源)を駆動するための駆動タイミング及び光量などを指示する駆動信号を生成し、生成した駆動信号を光源ユニット10へ供給する。
なお、キャリブレーション完了後(即ち座標変換情報Icを算出後)の各処理(即ち反映部44及び光源制御部45の処理)の説明は一例であり、既存のAR製品などにおいて適用される任意の方法により、仮想オブジェクトを所望の風景位置に重畳させる仮想オブジェクトを表示させてもよい。例えば、このような技術を開示する文献の例として、特開2015-116336号公報、特開2016-525741号公報などが存在する。これらの文献に示されるように、表示装置1は、ユーザの視線検出などを行い、仮想オブジェクトが適切に視認されるように制御を行う。
図3において説明した画像変換部40、仮想オブジェクト取得部41、特徴抽出部42、座標変換情報生成部43、反映部44及び光源制御部45の各構成要素は、例えば、制御部17がプログラムを実行することによって実現できる。また、必要なプログラムを任意の不揮発性記憶媒体に記録しておき、必要に応じてインストールすることで、各構成要素を実現するようにしてもよい。なお、これらの各構成要素の少なくとも一部は、プログラムによるソフトウェアで実現することに限ることなく、ハードウェア、ファームウェア、及びソフトウェアのうちのいずれかの組合せ等により実現してもよい。また、これらの各構成要素の少なくとも一部は、例えばFPGA(Field-Programmable Gate Array)又はマイクロコントローラ等の、ユーザがプログラミング可能な集積回路を用いて実現してもよい。この場合、この集積回路を用いて、上記の各構成要素から構成されるプログラムを実現してもよい。また、各構成要素の少なくとも一部は、ASSP(Application Specific Standard Produce)、ASIC(Application Specific Integrated Circuit)又は量子プロセッサ(量子コンピュータ制御チップ)により構成されてもよい。このように、各構成要素は、種々のハードウェアにより実現されてもよい。以上のことは、後述する他の実施の形態においても同様である。さらに、これらの各構成要素は、例えば、クラウドコンピューティング技術などを用いて、複数のコンピュータの協働によって実現されてもよい。
(3)構造特徴点のラベル定義例
図4(A)は、対象フィールドがテニスコートである場合の構造特徴点の第1のラベル定義例であり、図4(B)は、対象フィールドがテニスコートである場合の構造特徴点の第2のラベル定義例である。図4(A)及び図4(B)では、構造特徴点の位置に丸印及び対応するラベルの番号が明示されている。
図4(A)は、対象フィールドがテニスコートである場合の構造特徴点の第1のラベル定義例であり、図4(B)は、対象フィールドがテニスコートである場合の構造特徴点の第2のラベル定義例である。図4(A)及び図4(B)では、構造特徴点の位置に丸印及び対応するラベルの番号が明示されている。
図4(A)に示す第1のラベル定義例では、14個存在する構造特徴点の隅から順に、0から13までの通し番号を、各構造特徴点のラベルとして付している。一方、図4(B)に示す第2のラベル定義例では、対称となる構造特徴点に対して同一ラベルを付している。その結果、0から5までの各ラベルは、対称位置にある2つの構造特徴点に対して付されている。
図5(A)は、対象フィールドがプールである場合の構造特徴点の第1のラベル定義例であり、図5(B)は、対象フィールドがプールである場合の構造特徴点の第2のラベル定義例である。図5(A)及び図5(B)では、構造特徴点の位置に丸印及び対応するラベルの番号が明示されている。なお、対象フィールドがプールの場合、コースを区画するロープに所定距離間隔により設けられた所定色のフロートが構造特徴点として選ばれている。
図5(A)に示す第1のラベル定義例では、25個存在する構造特徴点の隅から順に、0から24までの通し番号を、各構造特徴点のラベルとして付している。一方、図5(B)に示す第2のラベル定義例では、対称となる構造特徴点に対して同一ラベルを付している。その結果、0から11までの各ラベルは、対称位置にある2つの構造特徴点に対して付されている。
(4)画像変換の例
図6(A)は、対象フィールドの一部を撮影した撮像画像Imを示す。図6(B)は、図6(A)の撮像画像Imを反転させることで生成された変換撮像画像Imaを示す。ここでは、対象フィールドは、格子状のフィールドであるものとし、格子の各頂点を構造特徴点として有するものとする。なお、図6(A)及び図6(B)では、12個の構造特徴点に対してラベル「0」~「11」が割り当てられており、説明便宜上、各構造特徴点に対するラベルの番号を図示している。また、図6(A)では、撮像画像Imの撮影範囲外となる対象フィールドを表す仮想線を破線により示し、かつ、撮影範囲外の構造特徴点に対するラベルについても明示している。
図6(A)は、対象フィールドの一部を撮影した撮像画像Imを示す。図6(B)は、図6(A)の撮像画像Imを反転させることで生成された変換撮像画像Imaを示す。ここでは、対象フィールドは、格子状のフィールドであるものとし、格子の各頂点を構造特徴点として有するものとする。なお、図6(A)及び図6(B)では、12個の構造特徴点に対してラベル「0」~「11」が割り当てられており、説明便宜上、各構造特徴点に対するラベルの番号を図示している。また、図6(A)では、撮像画像Imの撮影範囲外となる対象フィールドを表す仮想線を破線により示し、かつ、撮影範囲外の構造特徴点に対するラベルについても明示している。
図6(A)では、対象フィールドの一部が撮影範囲外となっており、対象フィールドの右側の構造特徴点(ラベル9~11の構造特徴点)が撮像画像Im上において表れていない。一方、撮像画像Imを左右反転させた図6(B)に示す変換撮像画像Imaは、左右反転により、撮像画像Imでは表れていなかった対象フィールドの右側の構造特徴点(ここではラベル9~11の構造特徴点)が表れた画像となっている。なお、左側の構造特徴点(ここではラベル1~3の構造特徴点)は、変換撮像画像Ima上に表れていない。
以上のように、画像変換部40は、撮像画像Imの反転画像を変換撮像画像Imaとして生成することで、撮像画像Imとは別に対象フィールドを表した画像を好適に生成することができる。撮像画像Imのクロップ画像を変換撮像画像Imaとして生成する場合も同様である。このように、画像変換部40は、対象フィールドに対する複数の特徴抽出結果が得られるようにデータオーグメンテーションを行う。
(4)フィールド推定部の処理
(4-1)概要
図7は、フィールド推定部46の処理の概要を表したフィールド推定部46の機能ブロック図である。図7に示すように、フィールド推定部46は、機能的には、候補フィールド生成部51と、整合性判定部52と、推定フィールド決定部53とを有する。なお、図7では明示していないが、フィールド推定部46の各構成要素は、センサデータ記憶部20に記憶された位置姿勢変化量Ap及びパラメータ記憶部21に記憶されたカメラのパラメータ(内部パラメータ、撮像画像Imのサイズを含む)を参照して各処理を行うものとする。
(4-1)概要
図7は、フィールド推定部46の処理の概要を表したフィールド推定部46の機能ブロック図である。図7に示すように、フィールド推定部46は、機能的には、候補フィールド生成部51と、整合性判定部52と、推定フィールド決定部53とを有する。なお、図7では明示していないが、フィールド推定部46の各構成要素は、センサデータ記憶部20に記憶された位置姿勢変化量Ap及びパラメータ記憶部21に記憶されたカメラのパラメータ(内部パラメータ、撮像画像Imのサイズを含む)を参照して各処理を行うものとする。
候補フィールド生成部51は、画像ごとの特徴点情報IFに基づき、デバイス座標系において対象フィールドを表す候補(「候補フィールド」とも呼ぶ。)を生成する処理を実行する。候補フィールド生成部51は、候補フィールドとして、例えば、ラベルごとのデバイス座標系における構造特徴点の推定位置と、デバイス座標系における対象フィールドの推定面とを特定する。候補フィールド生成部51は、撮像画像Im及び変換撮像画像Imaの合計がk(kは2以上の整数)個存在する場合には、n個(nはk以下の整数)の候補フィールドを生成する。なお、対象フィールドが全く含まれていない変換撮像画像Imaについては、候補フィールドを生成できないため、撮像画像Im及び変換撮像画像Imaの合計数よりも候補フィールドの生成数が少なくなる場合がある。同様に、ある画像から候補フィールドを生成する場合に、最小2乗を行う評価関数の値が所定の閾値より大きい場合、候補フィールド生成部51は、生成される候補フィールドの信頼性が低いとみなし、当該画像に対する候補フィールドを生成しない。この場合においても、撮像画像Im及び変換撮像画像Imaの合計数よりも候補フィールドの生成数が少なくなる。候補フィールドの生成方法の具体例については後述する。
整合性判定部52は、n個の候補フィールドに基づき、他の候補フィールドと整合性を有しない候補フィールド(「非整合候補フィールド」とも呼ぶ。)を判定する。そして、整合性判定部52は、非整合候補フィールド以外の候補フィールド(「整合候補フィールド」とも呼ぶ。)を推定フィールド決定部53に供給する。
推定フィールド決定部53は、整合候補フィールドに基づき、推定フィールドを決定する。この場合、推定フィールド決定部53は、例えば、整合候補フィールドを統合することで、推定フィールドを生成する。言い換えると、推定フィールド決定部53は、デバイス座標系での対象フィールドの各ラベルの構造特徴点の推定位置(及び対象フィールドの推定面)を決定する。
また、推定フィールド決定部53は、整合性判定部52による判定結果に基づき、推定フィールドを生成する要否判定を行ってもよい。この場合、推定フィールド決定部53は、推定フィールドを決定する条件(「推定フィールド決定条件」とも呼ぶ。)を設け、当該推定フィールド決定条件が満たされる場合に限り、推定フィールドを生成する。
この場合、推定フィールド決定部53は、推定フィールド決定条件を、全候補フィールドに対する非整合候補フィールドの割合に基づく条件(言い換えると整合候補フィールドの割合に基づく条件)に設定する。例えば、推定フィールド決定部53は、全体の候補フィールドに対する非整合候補フィールドの割合が所定割合(例えば3割)未満である場合に、推定フィールド決定条件が満たされると判定し、整合候補フィールドに基づき推定フィールドを生成する。一方、推定フィールド決定部53は、全体の候補フィールドに対する非整合候補フィールドの割合が所定割合以上である場合、推定フィールド決定条件が満たされないと判定し、推定フィールドを生成しない。この場合、フィールド推定部46は、新たに生成された撮像画像Im及び当該撮像画像Imから生成される変換撮像画像Imaの特徴点情報IFに基づき、候補フィールドの再生成を行う。上述の所定割合は、例えば予め記憶部14に記憶された適合値に設定される。このような判定を行うことで、推定フィールド決定部53は、信頼性が低い候補フィールドに基づき推定フィールドを生成するのを好適に抑制することができる。なお、推定フィールド決定条件は、上述したものに限定されない。例えば、推定フィールド決定部53は、n個の候補フィールドに対するクラスタリングにより生成された最も数が多い第1クラスタの候補フィールド数と、全体に対する第1クラスタ及び第2クラスタの候補フィールドの合計数の割合とに基づき、推定フィールドを生成する要否判定を行ってもよい。この具体例については、図10を参照して後述する。
次に、フィールド推定部46の処理による技術的効果について補足説明する。
図4(A)及び図4(B)に示すテニスコートや図5(A)及び図5(B)に示すプールなどのように規則的な(詳しくは並進対称性を有する)構造特徴点を有する対象フィールドでは、構造特徴点が隣接する構造特徴点として抽出され、結果として全ての構造特徴点が規則的にずれて抽出されてしまう場合がある。このような特徴抽出結果のエラーは、画像に対象フィールドの一部のみが写されている場合にほぼ矛盾なく生じるエラー(無矛盾エラー)であり、一般的な特徴抽出結果のエラー検出手法や修正手法では対応できないものとなる。このように、対象フィールドの一部が隠れた画像を用いる場合には、特徴抽出精度が低下し、結果としてフィールド推定精度も低くなる。
以上を勘案し、フィールド推定部46は、データオーグメンテーションにより生成された画像を含むk枚の画像に基づく候補フィールドに基づき、非整合候補フィールド及び整合候補フィールドを判定し、整合候補フィールドにより推定フィールドを決定する。これにより、フィールド推定部46は、規則的に並ぶ構造特徴点を有する対象フィールドの推定において撮像されない死角部分の存在に起因した推定精度低下の課題を好適に解決し、デバイス座標系での対象フィールドを的確に推定することができる。
また、ニューラルネットワークに基づく特徴抽出器は、難易度が高い特徴点抽出を行う場合には、入力画像の細かい変更でも出力する特徴抽出結果が異なる場合がある。そして、特徴抽出部42において用いられる特徴抽出器は、主にニューラルネットワークに基づく推論器が想定されている。よって、特徴抽出部42において用いられる特徴抽出器は、元画像(即ち撮像画像Im)を入力した場合と元画像を反転又はクロップした画像(即ち変換撮像画像Ima)を入力した場合とで、出力する特徴抽出結果にばらつきが生じる。このばらつきは、正確な特徴抽出が難しい場合ほど生じやすい。よって、フィールド推定部46は、撮像画像Im及び変換撮像画像Imaから夫々生成した特徴点情報IFに基づき、複数の候補フィールドを好適に生成することができる。
(4-2)候補フィールドの生成
次に、候補フィールド生成部51による候補フィールドの生成処理について具体的に説明する。
次に、候補フィールド生成部51による候補フィールドの生成処理について具体的に説明する。
図8は、デバイス座標系とフィールド座標系との関係を示した図である。図8に示されるように、フィールド座標系は、構造データにおいて採用される座標系であり、対象フィールドを基準とする座標系となっている。ここでは、対象フィールドはテニスコートとなっており、フィールド座標系は、テニスコートの短手方向及び長手方向及びこれらの垂直方向に各軸が設けられている。以後では、デバイス座標系の3軸をx軸、y軸、z軸とし、フィールド座標系の3軸をx^軸、y^軸、z^軸とする。一方、デバイス座標系は、表示装置1が起動時等において設定した座標系であり、デバイス座標系におけるカメラ15の撮影位置(撮影方向を含む)は、位置姿勢変化量Apに基づき特定される。そして、候補フィールド生成部51は、フィールド座標系が採用される構造データと、特徴点情報IFとに基づき、デバイス座標系における対象フィールドを表す候補フィールドを生成する。
なお、候補フィールド生成部51は、位置姿勢検出センサ16に含まれる加速度センサの出力信号に基づき、デバイス座標系における鉛直方向を認識し、認識した鉛直方向に基づき、デバイス座標系及びフィールド座標系の高さ方向の軸(y軸とy^軸)が平行になるようにデバイス座標系を調整してもよい。この場合、候補フィールド生成部51は、デバイス座標系及びフィールド座標系の1軸を揃えることができるため、後述するデバイス座標系での特徴点候補位置の特定及び候補フィールドの生成における計算コストの削減等を実現することが可能となる。
図9は、1つの画像の特徴点情報IFに基づく候補フィールドをデバイス座標系において表した図である。ここでは、対象フィールドは、図6(A)の撮像画像Imにおいて撮像対象となった格子状フィールドであり、12個の構造特徴点のうち、特徴点候補位置「P0」~「P8」に対応する計9個の構造特徴点が特徴抽出部42により抽出されている。そして、候補フィールド生成部51は、特徴点候補位置P0~P8に基づき、候補フィールド「C1」を生成している。
この場合、候補フィールド生成部51は、位置姿勢変化量Apに基づき特定されるデバイス座標系での撮影位置(撮影向きを含む)とカメラ15のパラメータ(内部パラメータを含む)とに基づき、デバイス座標系に投影された特徴点候補位置P0~P8(図9に示される破線)を特定する。そして、候補フィールド生成部51は、構造データを参照することで、対象フィールドの構造特徴点間の距離等を表す相対位置関係(対象フィールドのモデル)を特定し、特定した構造特徴点間の位置関係が保たれるように、デバイス座標系での特徴点候補位置P0~P8及び候補フィールドを決定する。この場合、例えば、候補フィールド生成部51は、最小二乗法などにより、対象フィールドのモデルの構造特徴点と破線により示されるデバイス座標系に投影された特徴点候補位置とのラベルごとの誤差(2乗誤差)の和が最小となるように、対象フィールドのモデルの構造特徴点の位置を決定する。上記の例は、鉛直方向と直交した水平面上に特徴点があることを仮定したカメラの外部パラメータ(撮影位置や姿勢)の推定手法の一例である。なお、この例に限らず、候補フィールド生成部51は、例えば、同一平面上に特徴点がある仮定も必要なく、また内部パラメータや画像上の特徴点の位置等の最適化も同時に行う任意のカメラキャリブレーション手法(例えば、PnP法)を実行してもよい。
(4-3)非整合候補フィールドの判定
次に、複数の候補フィールドに基づき非整合候補フィールドを判定する方法について説明する。例えば、フィールド推定部46は、候補フィールドのクラスタリングを行い、候補フィールドが属する数が最も大きい主クラスタに属する候補フィールドから推定フィールドを決定する。
次に、複数の候補フィールドに基づき非整合候補フィールドを判定する方法について説明する。例えば、フィールド推定部46は、候補フィールドのクラスタリングを行い、候補フィールドが属する数が最も大きい主クラスタに属する候補フィールドから推定フィールドを決定する。
図10は、生成した6個の候補フィールド「C1」~「C6」のクラスタリングの結果をデバイス座標系において示した図である。
この場合、フィールド推定部46は、任意のクラスタリング手法を用いることで、候補フィールドを第1クラスタCL1と、第2クラスタCL2と、第3クラスタCL3とに分類している。この場合、フィールド推定部46は、例えば、各候補フィールドに対してデバイス座標系での3次元の重心座標(例えば構造特徴点の平均座標)及びヨー・ピッチ・ロールのオイラー角(鉛直方向の情報によりデバイス座標系とフィールド座標系で揃えている場合にはxz平面上での向きを表す角度)を表すベクトルに基づき、上述のクラスタリングを実行する。なお、このようなクラスタリング手法は、単リンク法、完全リンク法、群平均法、Ward法、セントロイド法、重み付き法、メジアン法などが存在するがこれに限られない。
ここでは、第1クラスタCL1は候補フィールドが属する数が最も多いクラスタ(「主クラスタ」とも呼ぶ。)であり、最も多くの4つの候補フィールドC1、C3、C4、C6が属している。一方、第2クラスタCL2は候補フィールドC2からなり、第3クラスタCL3は、候補フィールドC5からなる。
この場合、フィールド推定部46は、主クラスタである第1クラスタCL1に属する候補フィールドを、整合候補フィールドであると判定し、主クラスタ以外の第2クラスタCL2、第3クラスタCL3に属する候補フィールドを非整合候補フィールドであると判定する。
なお、上述のクラスタリングに代えて、フィールド推定部46は、閾値処理に基づき、整合候補フィールド及び非整合候補フィールドを判定してもよい。例えば、フィールド推定部46は、上述のベクトルに基づく各候補フィールド間の距離を算出し、互いの距離が所定閾値未満となるクラスタを生成する。そして、フィールド推定部46は、生成したクラスタのうち最も候補フィールド数が多い主クラスタに属する候補フィールドを、整合候補フィールドと判定し、主クラスタに属しない候補フィールドを、非整合候補フィールドと判定する。
ここで、推定フィールドを生成する要否判定(及び推定フィールドに関する処理の終了判定)の具体例について、引き続き図10を参照して説明する。ここでは、n個の候補フィールドに対するクラスタリングにより生成された第1クラスタの候補フィールド数と、第1クラスタ及び第2クラスタの候補フィールドの合計数の全体に対する割合とに基づき、推定フィールドを生成する要否判定(及び推定フィールドに関する処理の終了判定)を行う例について説明する。
第1ステップとして、フィールド推定部46は、最も数が多い第1クラスタCL1に属する候補フィールド数「Nc1」が所定の閾値「Ncth1」以上であるか否か判定する。図10の例では、候補フィールド数Nc1は、「4」となる。そして、候補フィールド数Nc1が閾値Ncth1以上の場合、フィールド推定部46は、以下に説明する第2ステップに処理を進める。一方、候補フィールド数Nc1が閾値Ncth1未満の場合、フィールド推定部46は、推定フィールド決定条件が満たされないと判定し、新たに生成された撮像画像Im及び当該撮像画像Imから生成される変換撮像画像Imaの特徴点情報IFに基づき、候補フィールドの再生成を行う。
第2ステップとして、フィールド推定部46は、最も数が多い第1クラスタCL1及び2番目に数が多い第2クラスタCL2の候補フィールドの合計数(即ちN2=Nc1+Nc2)に対する最も数が多い第1クラスタCL1の候補フィールド数Nc1の割合「R12」が所定の閾値「Rth12」以上であるか否かを判定する。図10の例では、割合R12は、「0.8」(=4/(4+1))となる。そして、割合R12が閾値Rth12以上の場合、フィールド推定部46は、推定フィールド決定条件が満たされたと判定し、整合候補フィールドに基づき推定フィールドを生成する。そして、フィールド推定部46は、対象フィールドの推定に関する処理を終了すべきと判定する。一方、割合R12が閾値Rth12未満の場合、フィールド推定部46は、推定フィールド決定条件が満たされないと判定し、新たに生成された撮像画像Im及び当該撮像画像Imから生成される変換撮像画像Imaの特徴点情報IFに基づき、候補フィールドの再生成を行う。なお、このように第2ステップを設けることで、整合性判定時に複数の無矛盾な間違い候補がある場合において、枚数分布にピークを持たない間違いクラスタが多く発生することによる終了判定の不要な条件難化を好適に防ぐことができる。
以上のように、フィールド推定部46は、候補フィールド生成部51が生成するn個の候補フィールドの整合性の判定結果(ここでは候補フィールドのクラスタリングの結果)に基づき、推定フィールドを生成する要否判定及び推定フィールドに関する処理の終了判定を好適に行うことができる。
次に、非整合候補フィールドについて、図11(A)及び図11(B)を用いて補足説明する。
図11(A)は、特徴抽出処理が適切に行われた撮像画像Im上に、特徴点情報IFに基づく候補フィールドを重畳した図である。図11(B)は、特徴抽出処理にエラーが生じた撮像画像Im上に、特徴点情報IFに基づく候補フィールドを重畳した図である。図11(A)及び図11(B)では、説明便宜上、各構造特徴点のラベルの正解(X)と、特徴抽出処理及び候補フィールドの生成処理に基づく認識結果(Y)との組を「X→Y」により示している。さらに図11(A)及び図11(B)では、生成される候補フィールドを仮想的に表す補助線を破線により示している。
図11(A)の例では、特徴抽出処理において、ラベル0~11の構造特徴点のうち撮像画像Imの撮影範囲内である0~8の構造特徴点が正しく抽出されたことにより、正しい対象フィールドを表す候補フィールドが生成されている。その結果、図11(A)の例では、撮像画像Imの撮影対象外であったラベル9~11の構造特徴点についても正しく認識されている。
一方、図11(B)の例では、特徴抽出処理において、ラベル0~11の構造特徴点のうち撮像画像Imの撮影範囲内である0~8の構造特徴点が対象フィールドの長手方向に格子1個分ずれて抽出され、その結果、実際の対象フィールドから格子1個分ずれた候補フィールドが生成されている。
このように、規則的な(詳しくは並進対称性を有する)構造特徴点を有する対象フィールドでは、構造特徴点が隣接する構造特徴点として抽出され、結果として全ての構造特徴点が規則的にずれて認識されてしまう場合がある。このような場合においても、フィールド推定部46は、撮像画像Im及びデータオーグメンテーションにより生成した変換撮像画像Imaに基づく複数の候補フィールドから推定フィールドを決定する処理を行う。また、好適には、フィールド推定部46は、全体の候補フィールドに対する整合候補フィールドの割合が所定割合未満である場合、推定フィールドを生成しない。これにより、フィールド推定部46は、精度が低い推定フィールドの生成を好適に抑制することができる。
(4-4)推定フィールドの決定
次に、整合候補フィールドから推定フィールドを決定する具体例について説明する。
次に、整合候補フィールドから推定フィールドを決定する具体例について説明する。
図12は、整合候補フィールドから推定フィールドを決定する処理の概要を示す図である。図12では、xz座標系において、整合候補フィールドの構造特徴点を丸印により示し、決定される推定フィールドを破線により仮想的に示している。ここでは、対象フィールドが有するラベル0~11の構造特徴点に対し、4個の整合候補フィールドの構造特徴点の点群「PC0」~「PC11」が形成されている。また、対象フィールドは、短手方向に「L1」、長手方向に「L2」の長さを有する矩形領域であるものとする。対象フィールドの長さL1、L2は、構造データに記録されている。
この場合、推定フィールド決定部53は、第1の例では、推定フィールドを短手方向にL1かつ長手方向にL2の矩形領域とみなし、かつ、当該矩形領域の対角(例えばラベル0と11の構造特徴点)が整合候補フィールドの対角の構造特徴点の点群(例えば点群PC0とPC11)により定まるように、推定フィールドを決定する。この場合、推定フィールド決定部53は、例えば、最小二乗法を用い、上述の矩形領域の頂点ごとに点群との誤差(2乗誤差)を算出し、その誤差の和が最小となるように推定フィールドを決定する。
また、推定フィールド決定部53は、対象フィールドが矩形領域でない場合においても、構造データに基づき特定される対象フィールドのモデル(例えば、構造特徴点間の距離などの位置関係)を用い、ラベルごとにモデルの構造特徴点と対応する点群との誤差を最小化するように、推定フィールドを決定する。なお、推定フィールド決定部53は、構造データにより特定される構造特徴点間の距離などの位置関係を制約条件とし、ラベルごとの推定フィールドの構造特徴点と点群との誤差の和を評価関数として、当該評価関数を最小化するように推定フィールドの構造特徴点を最適化により決定してもよい。このとき、推定フィールド決定部53は、任意の最適化ソルバーを用いて上述の最適化の解を求めてもよい。
なお、推定フィールド決定部53は、整合候補フィールドを統合して推定フィールドを生成する代わりに、所定の規則又はランダムに決定した整合候補フィールドを、推定フィールドとして選択してもよい。この場合、例えば、推定フィールド決定部53は、整合候補フィールドの各々に対する重心のxyz座標値及び姿勢角を表すベクトルの平均ベクトルを算出し、当該平均ベクトルに最も近い上述のベクトルに対応する整合候補フィールドを、推定フィールドとして選択してもよい。
(5)処理フロー
図13は、第1実施形態において制御部17が実行する仮想オブジェクトの表示処理に関する処理概要を示すフローチャートの一例である。
図13は、第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)。このキャリブレーション処理の手順の詳細は図14を参照して後述する。
次に、制御部17の反映部44は、ステップS15のキャリブレーション処理で得られた座標変換情報Icに基づき、表示要求において指定された仮想オブジェクト及び表示位置に対応する仮想オブジェクトを表示するための表示信号Sdを生成する(ステップS16)。なお、この場合、実際には、制御部17は、種々の従来のAR表示製品と同様、ユーザの視線方向及び位置姿勢変化量Ap等を考慮してデバイス座標系においてユーザが視認する空間を認識し、当該空間内において仮想オブジェクトが指定された位置で表示されるように表示信号Sdを生成する。そして、制御部17の光源制御部45は、表示信号Sdに基づき、光源ユニット10の射出制御を行う(ステップS17)。
なお、図13に示すフローチャートの処理手順は一例であり、この処理手順に対し種々の変更を行うことができる。
例えば、制御部17は、ステップS15のキャリブレーション処理を仮想オブジェクト表示要求がある度に実行しているが、これに限られない。これに代えて、制御部17は、前回のキャリブレーション処理から所定時間以上経過した場合に限り、キャリブレーション処理を行ってもよい。このように、制御部17は、キャリブレーション処理を、表示装置1の起動後少なくとも1度行えばよい。
また、制御部17は、表示装置1の起動時の表示装置1の位置及び姿勢を基準としてデバイス座標系を決定しているが、これに限られない。これに代えて、例えば、制御部17は、表示装置1の起動後に最初に表示要求があったとき(即ち最初にキャリブレーション処理を実行したとき)の表示装置1の位置及び姿勢を基準として、デバイス座標系を決定してもよい。他の例では、制御部17は、表示要求がある度に、当該表示要求時(即ちキャリブレーション処理実行時)の表示装置1の位置及び姿勢を基準としてデバイス座標系を再設定してもよい。この場合、後述する座標変換情報Icの生成処理には位置姿勢変化量Apを使用する必要がない。
図14は、図13のステップS15のキャリブレーション処理の詳細な処理手順を示すフローチャートの一例である。
まず、制御部17の画像変換部40は、センサデータ記憶部20等から取得する撮像画像Imに基づき、データオーグメンテーションを実行することで変換撮像画像Imaを生成する(ステップS21)。これにより、画像変換部40は、対象フィールドの推定に用いる撮像画像Imに対して少なくとも1個の変換撮像画像Imaを生成する。
次に、特徴抽出部42は、ステップS21で用いた撮像画像Im及びステップS21で生成された変換撮像画像Imaの各々に対し、対象フィールドの各構造特徴点に対応する特徴点候補位置及び候補ラベルの組を示す特徴点情報IFを生成する(ステップS22)。この場合、特徴抽出部42は、パラメータ記憶部21から取得するパラメータに基づき特徴抽出器を構成し、当該特徴抽出器に各画像を入力する。そして、特徴抽出部42は、特徴抽出器が出力する情報に基づき、各画像に対する特徴点情報IFを生成する。
次に、候補フィールド生成部51は、各画像の特徴点情報IFから夫々候補フィールドを生成する(ステップS23)。そして、整合性判定部52は、生成した複数の候補フィールドに対してクラスタリング等を行うことにより、非整合候補フィールドの判定を行う(ステップS24)。そして、整合性判定部52は、推定フィールド決定条件を満たすか否か判定する(ステップS25)。そして、整合性判定部52は、推定フィールド決定条件を満たすと判定した場合(ステップS25;Yes)、整合候補フィールドに基づき、推定フィールドを決定する(ステップS26)。この場合、整合性判定部52は、整合候補フィールドの統合処理又は選択処理に基づき、推定フィールドを決定する。
そして、座標変換情報生成部43は、フィールド推定部46が決定した推定フィールドに基づき、デバイス座標系からフィールド座標系へ変換するための座標変換情報Icを生成する(ステップS27)。この場合、座標変換情報生成部43は、構造特徴点のラベル毎に、ステップS25で取得した第2フィールド推定情報が示す各構造特徴点のデバイス座標系での検出位置と、構造データに含まれる登録位置情報が示すフィールド座標系の構造特徴点の位置と、を夫々対応付けて照合を行い、ラベル毎に照合した位置同士が一致するような(即ちラベル毎の位置の誤差が最小となる)座標変換情報Icを算出する。
このように、表示装置1は、キャリブレーション処理において撮像画像Imから予め登録されている(即ち既にラベルが登録された)構造特徴点のみを抽出した情報を、構造データに登録された構造特徴点の情報と照合させる。これにより、座標変換情報Icを算出するための照合処理に要する計算量を大幅に削減し、かつ、撮像画像Imに含まれるノイズ(即ち対象フィールド以外の特徴点)の抽出に起因した影響等を受けないロバストな座標変換情報Icの算出が可能となる。また、本実施形態では、上述の照合は、高精度に推定された推定フィールドに基づき実行されるため、正確な座標変換情報Icの算出が可能となる。
(6)変形例
フィールド推定部46は、1枚の撮像画像Im及び当該撮像画像Imから生成される変換撮像画像Imaに基づき推定フィールドを決定する代わりに、m枚(「m」は2以上の整数)の撮像画像Im及び当該撮像画像Imから生成される変換撮像画像Imaに基づき推定フィールドを決定してもよい。
フィールド推定部46は、1枚の撮像画像Im及び当該撮像画像Imから生成される変換撮像画像Imaに基づき推定フィールドを決定する代わりに、m枚(「m」は2以上の整数)の撮像画像Im及び当該撮像画像Imから生成される変換撮像画像Imaに基づき推定フィールドを決定してもよい。
図15は、変形例におけるフィールド推定部46のブロック構成図である。図15では、記憶部14は、候補フィールド生成部51が生成した候補フィールド記憶部23をさらに有し、候補フィールド生成部51は、m枚分の撮像画像Im及びこれらに対応する変換撮像画像Imaの各々に対して生成したフィールド候補を、候補フィールド記憶部23に記憶する。そして、m枚分の撮像画像Im及びこれらに対応する変換撮像画像Imaの各々に対するフィールド候補の生成後、整合性判定部52は、候補フィールド記憶部23が記憶する候補フィールドに基づき、非整合候補フィールドを判定する処理及び推定フィールド決定条件の成否判定などを行う。
なお、本変形例では、制御部17は、画像変換部40を有しなくともよい。この場合であっても、整合性判定部52は、m枚の撮像画像Imに基づき生成されたm個の候補フィールドに基づき、推定フィールドを好適に決定することができる。
以上のように、本変形例では、フィールド推定部46は、複数枚の撮像画像Imを使用することで、推定フィールドの決定に用いる複数の候補フィールドを好適に生成することができる。
<第2実施形態>
図16は、第2実施形態における表示システムの構成を示す。図16に示すように、第2実施形態に係る表示システムは、表示装置1Aと、サーバ装置2とを有する。第2実施形態では、キャリブレーション処理等を、表示装置1Aの代わりにサーバ装置2が実行する点において、第1実施形態と異なる。以後では、第1実施形態と同様の構成要素については適宜同一符号を付し、その説明を省略する。
図16は、第2実施形態における表示システムの構成を示す。図16に示すように、第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の配信を行う。図17は、サーバ装置2のブロック図である。サーバ装置2は、入力部26と、制御部27と、通信部28と、記憶部29とを有する。
記憶部29は、制御部27がサーバ装置2の制御に必要な種々の情報を記憶する不揮発性メモリである。記憶部29には、制御部27が実行するプログラムが記憶される。記憶部29は、センサデータ記憶部20と、パラメータ記憶部21と、構造データ記憶部22とを有する。センサデータ記憶部20には、制御部27の制御に基づき、アップロード信号S1に含まれる撮像画像Im及び位置姿勢変化量Apが記憶される。なお、記憶部29は、サーバ装置2に接続又は内蔵されたハードディスクなどの外部記憶装置であってもよく、フラッシュメモリなどの記憶媒体であってもよい。また、記憶部29は、サーバ装置2とデータ通信を行うサーバ装置(即ち、他の装置から参照可能に情報を記憶する装置)であってもよい。また、この場合、記憶部29は、複数のサーバ装置から構成され、センサデータ記憶部20と、パラメータ記憶部21と、構造データ記憶部22とを分散して記憶してもよい。
制御部27は、例えばCPU、GPUなどのプロセッサ、作業メモリとして機能する揮発性メモリなどを有しており、サーバ装置2の全体的な制御を行う。制御部27は、入力部26へのユーザ入力等に基づき、仮想オブジェクトとして表示させる仮想オブジェクト及び表示位置の情報(即ち第1実施形態の指定表示情報Idに相当する情報)を生成する。さらに、制御部27は、センサデータ記憶部20、パラメータ記憶部21、構造データ記憶部22を参照することで、キャリブレーション処理を実行し、配信信号S2を生成する。このように、制御部27は、図3に示す画像変換部40、仮想オブジェクト取得部41、特徴抽出部42、座標変換情報生成部43、反映部44に相当する機能を含む。
図18は、第2実施形態においてサーバ装置2の制御部27が実行する処理手順を示すフローチャートの一例である。
まず、制御部27は、通信部28を介し、撮像画像Im及び位置姿勢変化量Apなどを含むアップロード信号S1を表示装置1Aから受信する(ステップS31)。この場合、制御部27は、アップロード信号S1に基づきセンサデータ記憶部20に記憶させるデータを更新する。そして、制御部27は、仮想オブジェクトの表示タイミングか否か判定する(ステップS32)。そして、制御部27は、表示タイミングではない場合(ステップS32;No)、引き続きステップS31においてアップロード信号S1を表示装置1Aから受信する。
一方、制御部27は、表示タイミングである場合(ステップS32;Yes)、ステップS31で受信した最新のアップロード信号S1等に基づき、キャリブレーション処理を実行する。この場合、制御部27は、図14に示されるフローチャートを実行する。そして、制御部27は、キャリブレーション処理で得られた座標変換情報Icに基づき、仮想オブジェクトを表示装置1Aが表示するための配信信号S2を生成する(ステップS34)。そして、制御部27は、生成した配信信号S2を、通信部28により表示装置1Aに送信する(ステップS35)。その後、配信信号S2を受信した表示装置1Aは、配信信号S2に基づき光源ユニット10を制御することで、仮想オブジェクトを表示する。
以上のように、第2実施形態によっても、表示システムは、表示装置1Aによる仮想オブジェクトの表示に必要な座標変換情報Icを的確に算出し、仮想オブジェクトを好適にユーザに視認させることができる。
なお、第2実施形態において、キャリブレーション処理等をサーバ装置2が行う代わりに、表示装置1Aが行ってもよい。この場合、表示装置1Aは、サーバ装置2からキャリブレーション処理に必要な情報を適宜受信することで、図14に示すフローチャートの処理を実行する。この態様であっても、表示システムは、表示装置1Aのユーザに好適に仮想オブジェクトを視認させることができる。
<第3実施形態>
図19は、第3実施形態における情報処理装置1Xの概略構成を示す。図19に示すように、情報処理装置1Xは、主に、特徴点情報取得手段42Xと、候補フィールド生成手段51Xと、整合性判定手段52Xとを有する。情報処理装置1Xは、例えば、第1実施形態における表示装置1又は表示装置1の制御部17若しくは第2実施形態におけるサーバ装置2の制御部27により実現される。なお、情報処理装置1Xは、複数の装置から構成されてもよい。
図19は、第3実施形態における情報処理装置1Xの概略構成を示す。図19に示すように、情報処理装置1Xは、主に、特徴点情報取得手段42Xと、候補フィールド生成手段51Xと、整合性判定手段52Xとを有する。情報処理装置1Xは、例えば、第1実施形態における表示装置1又は表示装置1の制御部17若しくは第2実施形態におけるサーバ装置2の制御部27により実現される。なお、情報処理装置1Xは、複数の装置から構成されてもよい。
特徴点情報取得手段42Xは、対象となるフィールドの少なくとも一部を含む画像に基づき決定された、フィールドの複数の特徴点の候補位置及び候補ラベルを示す特徴点情報を取得する。特徴点情報取得手段42Xは、特徴点情報取得手段42X以外の処理ブロック(情報処理装置1X以外の装置を含む)が生成した特徴点情報を受信してもよく、特徴点情報取得手段42Xが特徴点情報を生成してもよい。後者の場合、特徴点情報取得手段42Xは、例えば、第1実施形態又は第2実施形態における特徴抽出部42とすることができる。
候補フィールド生成手段51Xは、特徴点情報に基づき、画像を撮影するカメラを有する表示装置が基準とする座標系である第1座標系におけるフィールドの候補を表す候補フィールドを生成する。候補フィールド生成手段51Xは、例えば、第1実施形態又は第2実施形態における候補フィールド生成部51とすることができる。
整合性判定手段52Xは、複数の画像の複数の特徴点情報に対応する複数の候補フィールドに基づき、整合性を有しない候補フィールドである非整合候補フィールドを判定する。整合性判定手段52Xは、例えば、第1実施形態又は第2実施形態における整合性判定部52とすることができる。
図20は、第3実施形態におけるフローチャートの一例である。特徴点情報取得手段42Xは、対象となるフィールドの少なくとも一部を含む画像に基づき、フィールドの複数の特徴点の候補位置及び候補ラベルを示す特徴点情報を取得する(ステップS41)。候補フィールド生成手段51Xは、特徴点情報に基づき、画像を撮影するカメラを有する表示装置が基準とする座標系である第1座標系におけるフィールドの候補を表す候補フィールドを生成する(ステップS42)。整合性判定手段52Xは、複数の画像の複数の特徴点情報に対応する複数の候補フィールドに基づき、整合性を有しない候補フィールドである非整合候補フィールドを判定する(ステップS43)。
第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座標系における前記フィールドの候補を表す候補フィールドを生成する候補フィールド生成手段と、
複数の前記画像の複数の前記特徴点情報に対応する複数の前記候補フィールドに基づき、整合性を有しない前記候補フィールドである非整合候補フィールドを判定する整合性判定手段と、
を有する情報処理装置。
[付記2]
前記非整合候補フィールド以外の前記複数の候補フィールドである整合候補フィールドに基づき、前記第1座標系において推定された前記フィールドを表す推定フィールドを決定する推定フィールド決定手段をさらに有する、付記1に記載の情報処理装置。
[付記3]
前記推定フィールド決定手段は、前記整合候補フィールドを統合した前記推定フィールドを生成する、又は、1つの前記整合候補フィールドを前記推定フィールドとして選択する、付記2に記載の情報処理装置。
[付記4]
前記推定フィールド決定手段は、前記整合性判定手段による判定結果に基づき、前記推定フィールドを決定する要否判定を行う、付記2または3に記載の情報処理装置。
[付記5]
前記推定フィールド決定手段は、前記複数の候補フィールドに対する前記非整合候補フィールド又は前記整合候補フィールドの割合に基づき、前記要否判定を行う、付記4に記載の情報処理装置。
[付記6]
前記推定フィールド決定手段は、前記整合性判定手段による判定結果に基づき、前記推定フィールドに関する処理の終了判定を行う、付記2~5のいずれか一項に記載の情報処理装置。
[付記7]
前記フィールドの少なくとも一部を含む第1画像を変換した1又は複数の第2画像を生成する画像変換手段をさらに有し、
前記複数の画像は、前記第1画像と前記第2画像とを含み、
前記整合性判定手段は、前記第1画像及び前記第2画像の前記複数の特徴点情報に対応する前記複数の候補フィールドに基づき、前記非整合候補フィールドを判定する、付記1~6のいずれか一項に記載の情報処理装置。
[付記8]
前記第2画像は、前記第1画像を反転した画像又はクロップした画像の少なくとも一方を含む、付記7に記載の情報処理装置。
[付記9]
前記非整合候補フィールド以外の前記複数の候補フィールドである整合候補フィールドと、前記フィールドの構造に関する構造データとに基づき、前記第1座標系と、前記構造データにおいて採用される座標系である第2座標系との間の座標変換に関する座標変換情報を生成する座標変換情報生成手段をさらに有する、付記1~8のいずれか一項に記載の情報処理装置。
[付記10]
前記情報処理装置は、風景に重ねて仮想オブジェクトを表示する前記表示装置であって、
前記仮想オブジェクトを表示するための表示光を射出する光源ユニットと、
前記表示光の少なくとも一部を反射することで、前記仮想オブジェクトを風景に重ねて観察者に視認させる光学素子と、
をさらに有する、付記1~9のいずれか一項に記載の情報処理装置。
[付記11]
コンピュータが、
対象となるフィールドの少なくとも一部を含む画像に基づき決定された、前記フィールドの複数の特徴点に関する特徴点情報を取得し、
前記特徴点情報に基づき、前記画像を撮影するカメラを有する表示装置が基準とする座標系である第1座標系における前記フィールドの候補を表す候補フィールドを生成し、
複数の前記画像の複数の前記特徴点情報に対応する複数の前記候補フィールドに基づき、整合性を有しない前記候補フィールドである非整合候補フィールドを判定する、
制御方法。
[付記12]
対象となるフィールドの少なくとも一部を含む画像に基づき決定された、前記フィールドの複数の特徴点に関する特徴点情報を取得し、
前記特徴点情報に基づき、前記画像を撮影するカメラを有する表示装置が基準とする座標系である第1座標系における前記フィールドの候補を表す候補フィールドを生成し、
複数の前記画像の複数の前記特徴点情報に対応する複数の前記候補フィールドに基づき、整合性を有しない前記候補フィールドである非整合候補フィールドを判定する処理をコンピュータに実行させるプログラムを格納する記憶媒体。
対象となるフィールドの少なくとも一部を含む画像に基づき決定された、前記フィールドの複数の特徴点に関する特徴点情報を取得する特徴点情報取得手段と、
前記特徴点情報に基づき、前記画像を撮影するカメラを有する表示装置が基準とする座標系である第1座標系における前記フィールドの候補を表す候補フィールドを生成する候補フィールド生成手段と、
複数の前記画像の複数の前記特徴点情報に対応する複数の前記候補フィールドに基づき、整合性を有しない前記候補フィールドである非整合候補フィールドを判定する整合性判定手段と、
を有する情報処理装置。
[付記2]
前記非整合候補フィールド以外の前記複数の候補フィールドである整合候補フィールドに基づき、前記第1座標系において推定された前記フィールドを表す推定フィールドを決定する推定フィールド決定手段をさらに有する、付記1に記載の情報処理装置。
[付記3]
前記推定フィールド決定手段は、前記整合候補フィールドを統合した前記推定フィールドを生成する、又は、1つの前記整合候補フィールドを前記推定フィールドとして選択する、付記2に記載の情報処理装置。
[付記4]
前記推定フィールド決定手段は、前記整合性判定手段による判定結果に基づき、前記推定フィールドを決定する要否判定を行う、付記2または3に記載の情報処理装置。
[付記5]
前記推定フィールド決定手段は、前記複数の候補フィールドに対する前記非整合候補フィールド又は前記整合候補フィールドの割合に基づき、前記要否判定を行う、付記4に記載の情報処理装置。
[付記6]
前記推定フィールド決定手段は、前記整合性判定手段による判定結果に基づき、前記推定フィールドに関する処理の終了判定を行う、付記2~5のいずれか一項に記載の情報処理装置。
[付記7]
前記フィールドの少なくとも一部を含む第1画像を変換した1又は複数の第2画像を生成する画像変換手段をさらに有し、
前記複数の画像は、前記第1画像と前記第2画像とを含み、
前記整合性判定手段は、前記第1画像及び前記第2画像の前記複数の特徴点情報に対応する前記複数の候補フィールドに基づき、前記非整合候補フィールドを判定する、付記1~6のいずれか一項に記載の情報処理装置。
[付記8]
前記第2画像は、前記第1画像を反転した画像又はクロップした画像の少なくとも一方を含む、付記7に記載の情報処理装置。
[付記9]
前記非整合候補フィールド以外の前記複数の候補フィールドである整合候補フィールドと、前記フィールドの構造に関する構造データとに基づき、前記第1座標系と、前記構造データにおいて採用される座標系である第2座標系との間の座標変換に関する座標変換情報を生成する座標変換情報生成手段をさらに有する、付記1~8のいずれか一項に記載の情報処理装置。
[付記10]
前記情報処理装置は、風景に重ねて仮想オブジェクトを表示する前記表示装置であって、
前記仮想オブジェクトを表示するための表示光を射出する光源ユニットと、
前記表示光の少なくとも一部を反射することで、前記仮想オブジェクトを風景に重ねて観察者に視認させる光学素子と、
をさらに有する、付記1~9のいずれか一項に記載の情報処理装置。
[付記11]
コンピュータが、
対象となるフィールドの少なくとも一部を含む画像に基づき決定された、前記フィールドの複数の特徴点に関する特徴点情報を取得し、
前記特徴点情報に基づき、前記画像を撮影するカメラを有する表示装置が基準とする座標系である第1座標系における前記フィールドの候補を表す候補フィールドを生成し、
複数の前記画像の複数の前記特徴点情報に対応する複数の前記候補フィールドに基づき、整合性を有しない前記候補フィールドである非整合候補フィールドを判定する、
制御方法。
[付記12]
対象となるフィールドの少なくとも一部を含む画像に基づき決定された、前記フィールドの複数の特徴点に関する特徴点情報を取得し、
前記特徴点情報に基づき、前記画像を撮影するカメラを有する表示装置が基準とする座標系である第1座標系における前記フィールドの候補を表す候補フィールドを生成し、
複数の前記画像の複数の前記特徴点情報に対応する複数の前記候補フィールドに基づき、整合性を有しない前記候補フィールドである非整合候補フィールドを判定する処理をコンピュータに実行させるプログラムを格納する記憶媒体。
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。すなわち、本願発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。また、引用した上記の特許文献等の各開示は、本書に引用をもって繰り込むものとする。
1、1A 表示装置
1X、1Y 情報処理装置
2 サーバ装置
10 光源ユニット
11 光学素子
12 通信部
13 入力部
14 記憶部
15 カメラ
16 位置姿勢検出センサ
20 センサデータ記憶部
21 パラメータ記憶部
22 構造データ記憶部
23 候補フィールド記憶部
1X、1Y 情報処理装置
2 サーバ装置
10 光源ユニット
11 光学素子
12 通信部
13 入力部
14 記憶部
15 カメラ
16 位置姿勢検出センサ
20 センサデータ記憶部
21 パラメータ記憶部
22 構造データ記憶部
23 候補フィールド記憶部
Claims (12)
- 対象となるフィールドの少なくとも一部を含む画像に基づき決定された、前記フィールドの複数の特徴点に関する特徴点情報を取得する特徴点情報取得手段と、
前記特徴点情報に基づき、前記画像を撮影するカメラを有する表示装置が基準とする座標系である第1座標系における前記フィールドの候補を表す候補フィールドを生成する候補フィールド生成手段と、
複数の前記画像の複数の前記特徴点情報に対応する複数の前記候補フィールドに基づき、整合性を有しない前記候補フィールドである非整合候補フィールドを判定する整合性判定手段と、
を有する情報処理装置。 - 前記非整合候補フィールド以外の前記複数の候補フィールドである整合候補フィールドに基づき、前記第1座標系において推定された前記フィールドを表す推定フィールドを決定する推定フィールド決定手段をさらに有する、請求項1に記載の情報処理装置。
- 前記推定フィールド決定手段は、前記整合候補フィールドを統合した前記推定フィールドを生成する、又は、1つの前記整合候補フィールドを前記推定フィールドとして選択する、請求項2に記載の情報処理装置。
- 前記推定フィールド決定手段は、前記整合性判定手段による判定結果に基づき、前記推定フィールドを決定する要否判定を行う、請求項2または3に記載の情報処理装置。
- 前記推定フィールド決定手段は、前記複数の候補フィールドに対する前記非整合候補フィールド又は前記整合候補フィールドの割合に基づき、前記要否判定を行う、請求項4に記載の情報処理装置。
- 前記推定フィールド決定手段は、前記整合性判定手段による判定結果に基づき、前記推定フィールドに関する処理の終了判定を行う、請求項2~5のいずれか一項に記載の情報処理装置。
- 前記フィールドの少なくとも一部を含む第1画像を変換した1又は複数の第2画像を生成する画像変換手段をさらに有し、
前記複数の画像は、前記第1画像と前記第2画像とを含み、
前記整合性判定手段は、前記第1画像及び前記第2画像の前記複数の特徴点情報に対応する前記複数の候補フィールドに基づき、前記非整合候補フィールドを判定する、請求項1~6のいずれか一項に記載の情報処理装置。 - 前記第2画像は、前記第1画像を反転した画像又はクロップした画像の少なくとも一方を含む、請求項7に記載の情報処理装置。
- 前記非整合候補フィールド以外の前記複数の候補フィールドである整合候補フィールドと、前記フィールドの構造に関する構造データとに基づき、前記第1座標系と、前記構造データにおいて採用される座標系である第2座標系との間の座標変換に関する座標変換情報を生成する座標変換情報生成手段をさらに有する、請求項1~8のいずれか一項に記載の情報処理装置。
- 前記情報処理装置は、風景に重ねて仮想オブジェクトを表示する前記表示装置であって、
前記仮想オブジェクトを表示するための表示光を射出する光源ユニットと、
前記表示光の少なくとも一部を反射することで、前記仮想オブジェクトを風景に重ねて観察者に視認させる光学素子と、
をさらに有する、請求項1~9のいずれか一項に記載の情報処理装置。 - コンピュータが、
対象となるフィールドの少なくとも一部を含む画像に基づき決定された、前記フィールドの複数の特徴点に関する特徴点情報を取得し、
前記特徴点情報に基づき、前記画像を撮影するカメラを有する表示装置が基準とする座標系である第1座標系における前記フィールドの候補を表す候補フィールドを生成し、
複数の前記画像の複数の前記特徴点情報に対応する複数の前記候補フィールドに基づき、整合性を有しない前記候補フィールドである非整合候補フィールドを判定する、
制御方法。 - 対象となるフィールドの少なくとも一部を含む画像に基づき決定された、前記フィールドの複数の特徴点に関する特徴点情報を取得し、
前記特徴点情報に基づき、前記画像を撮影するカメラを有する表示装置が基準とする座標系である第1座標系における前記フィールドの候補を表す候補フィールドを生成し、
複数の前記画像の複数の前記特徴点情報に対応する複数の前記候補フィールドに基づき、整合性を有しない前記候補フィールドである非整合候補フィールドを判定する処理をコンピュータに実行させるプログラムを格納する記憶媒体。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2021/025338 WO2023281593A1 (ja) | 2021-07-05 | 2021-07-05 | 情報処理装置、制御方法及び記憶媒体 |
JP2023532892A JPWO2023281593A5 (ja) | 2021-07-05 | 情報処理装置、制御方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2021/025338 WO2023281593A1 (ja) | 2021-07-05 | 2021-07-05 | 情報処理装置、制御方法及び記憶媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2023281593A1 true WO2023281593A1 (ja) | 2023-01-12 |
Family
ID=84801398
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2021/025338 WO2023281593A1 (ja) | 2021-07-05 | 2021-07-05 | 情報処理装置、制御方法及び記憶媒体 |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2023281593A1 (ja) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012137933A (ja) * | 2010-12-27 | 2012-07-19 | Kokusai Kogyo Co Ltd | 被写地物の位置特定方法とそのプログラム、及び表示地図、並びに撮影位置取得方法とそのプログラム、及び撮影位置取得装置 |
JP2019134428A (ja) * | 2019-02-13 | 2019-08-08 | キヤノン株式会社 | 制御装置、制御方法、及び、プログラム |
JP2020042447A (ja) * | 2018-09-07 | 2020-03-19 | Kddi株式会社 | 不動物体情報から端末位置を推定する装置、プログラム及び方法 |
-
2021
- 2021-07-05 WO PCT/JP2021/025338 patent/WO2023281593A1/ja active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012137933A (ja) * | 2010-12-27 | 2012-07-19 | Kokusai Kogyo Co Ltd | 被写地物の位置特定方法とそのプログラム、及び表示地図、並びに撮影位置取得方法とそのプログラム、及び撮影位置取得装置 |
JP2020042447A (ja) * | 2018-09-07 | 2020-03-19 | Kddi株式会社 | 不動物体情報から端末位置を推定する装置、プログラム及び方法 |
JP2019134428A (ja) * | 2019-02-13 | 2019-08-08 | キヤノン株式会社 | 制御装置、制御方法、及び、プログラム |
Also Published As
Publication number | Publication date |
---|---|
JPWO2023281593A1 (ja) | 2023-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109561296B (zh) | 图像处理装置、图像处理方法、图像处理***和存储介质 | |
US20200267371A1 (en) | Handheld portable optical scanner and method of using | |
KR101761751B1 (ko) | 직접적인 기하학적 모델링이 행해지는 hmd 보정 | |
EP3553465B1 (en) | Information processing device and information processing method | |
EP3151202B1 (en) | Information processing device and information processing method | |
US11086395B2 (en) | Image processing apparatus, image processing method, and storage medium | |
US8705868B2 (en) | Computer-readable storage medium, image recognition apparatus, image recognition system, and image recognition method | |
JP7494862B2 (ja) | 情報処理装置、制御方法及びプログラム | |
US20130100140A1 (en) | Human body and facial animation systems with 3d camera and method thereof | |
US20120069018A1 (en) | Ar process apparatus, ar process method and storage medium | |
US8625898B2 (en) | Computer-readable storage medium, image recognition apparatus, image recognition system, and image recognition method | |
US20120219177A1 (en) | Computer-readable storage medium, image processing apparatus, image processing system, and image processing method | |
JP2002259976A (ja) | 特定点検出方法及び装置 | |
US10634918B2 (en) | Internal edge verification | |
US8571266B2 (en) | Computer-readable storage medium, image processing apparatus, image processing system, and image processing method | |
US8718325B2 (en) | Computer-readable storage medium, image processing apparatus, image processing system, and image processing method | |
JP2014032623A (ja) | 画像処理装置 | |
JP7364052B2 (ja) | 情報処理装置、制御方法及びプログラム | |
WO2023119412A1 (ja) | 情報処理装置、制御方法及び記憶媒体 | |
WO2023281593A1 (ja) | 情報処理装置、制御方法及び記憶媒体 | |
JP4896762B2 (ja) | 画像処理装置および画像処理プログラム | |
WO2023281587A1 (ja) | 情報処理装置、制御方法及び記憶媒体 | |
WO2023281585A1 (ja) | 情報処理装置、制御方法及び記憶媒体 | |
JP6763154B2 (ja) | 画像処理プログラム、画像処理装置、画像処理システム、及び画像処理方法 | |
CN118339424A (zh) | 用于真实世界测绘的物体和相机定位***以及定位方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 21949229 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2023532892 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: 21949229 Country of ref document: EP Kind code of ref document: A1 |