WO2020137069A1 - 位置推定システム - Google Patents

位置推定システム Download PDF

Info

Publication number
WO2020137069A1
WO2020137069A1 PCT/JP2019/038824 JP2019038824W WO2020137069A1 WO 2020137069 A1 WO2020137069 A1 WO 2020137069A1 JP 2019038824 W JP2019038824 W JP 2019038824W WO 2020137069 A1 WO2020137069 A1 WO 2020137069A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
estimation
reference image
user
unit
Prior art date
Application number
PCT/JP2019/038824
Other languages
English (en)
French (fr)
Inventor
後藤 修
Original Assignee
株式会社Nttドコモ
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社Nttドコモ filed Critical 株式会社Nttドコモ
Priority to JP2020562371A priority Critical patent/JP7085646B2/ja
Priority to US17/283,825 priority patent/US11810323B2/en
Publication of WO2020137069A1 publication Critical patent/WO2020137069A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/207Analysis of motion for motion estimation over a hierarchy of resolutions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/254Analysis of motion involving subtraction of images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • H04N5/92Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20112Image segmentation details
    • G06T2207/20132Image cropping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20212Image combination
    • G06T2207/20221Image fusion; Image merging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose

Definitions

  • the present invention relates to a position estimation system that estimates a position based on an image.
  • the preparation of the reference image and the information indicating the position associated with the reference image is performed by, for example, acquiring an image by imaging and GPS (global positioning) at the position where the imaging is performed, as disclosed in Patent Document 1. System) and the like.
  • the reference image captured in the past and the user image which is the captured image of the estimation target are different even at the same position.
  • the exact position may not be estimated. Therefore, it is desirable that the reference image reflects the current landscape.
  • updating the reference image by imaging and positioning requires a great deal of time.
  • An embodiment of the present invention has been made in view of the above, and an object thereof is to provide a position estimation system that can easily and appropriately update a reference image in position estimation using an image. To do.
  • a position estimation system includes a reference image database that stores a reference image and information indicating a position in association with each other, and an estimation that is a target of position estimation.
  • Information indicating the position associated with the reference image by comparing the reference image stored in the reference image database with the estimation image acquired by the acquisition unit
  • An estimation unit that estimates the position of the estimation image from the above and calculates the reliability of the estimated position, and the estimation image is stored in the reference image database using the estimation image based on the reliability calculated by the estimation unit.
  • An updating unit that updates the reference image.
  • the reference image is updated by using the estimation image, it is not necessary to perform imaging and positioning only for registration of the reference image. Further, in the position estimation system according to the embodiment of the present invention, the reference image is updated based on the reliability, and thus the appropriate update is performed. Therefore, according to the position estimation system according to the embodiment of the present invention, it is possible to easily and appropriately update the reference image in the position estimation using the image.
  • the reference image is updated by using the estimation image, it is not necessary to perform image pickup and positioning only for registration of the reference image. Further, in the embodiment of the present invention, since the reference image is updated based on the reliability, the update is appropriately performed. Therefore, according to the embodiment of the present invention, it is possible to easily and appropriately update the reference image in the position estimation using the image.
  • FIG. 1 shows a position estimation system 10 according to this embodiment.
  • the position estimation system 10 is a system that estimates a position based on an image (image data). Specifically, the position estimation system 10 estimates the position of the user terminal 20, specifically, the position at which the user image was captured (user position), based on the user image captured by the user terminal 20. Further, the position estimation system 10 may estimate the direction (azimuth) in which the user image was captured together with the position estimation.
  • the user terminal 20 is used by being carried (carried) by the user.
  • the user terminal 20 is, for example, a mobile phone, a smartphone or a tablet terminal.
  • the user terminal 20 includes a camera that is an image capturing device, and can capture a user image by capturing an image.
  • the user terminal 20 also has a communication function such as a mobile communication function.
  • the position estimation system 10 and the user terminal 20 can exchange information with each other via a communication network such as a mobile communication network.
  • the user terminal 20 When the user terminal 20 estimates its own position, the user terminal 20 takes an image of the surrounding landscape with its own camera and transmits the user image obtained by the imaging to the position estimation system 10.
  • the position estimation system 10 is realized by, for example, a server device.
  • the position estimation system 10 may be implemented by a plurality of server devices, that is, computer systems.
  • the position estimation system 10 includes a reference image database 11, an acquisition unit 12, an estimation unit 13, and an update unit 14.
  • the reference image database 11 is a database that stores reference images and information indicating positions in association with each other.
  • the reference image is an image stored in advance in the position estimation system 10 used for position estimation based on the image.
  • the position indicated by the information associated with the reference image is the position at which the reference image was captured.
  • the reference image and the estimation image that is the target of position estimation are compared, and if they are the same image, the position indicated by the information associated with the reference image is set as the estimated position. Based on this idea, position estimation based on images is performed.
  • the information indicating the position associated with the reference image is, for example, the latitude and longitude of the position. However, other information may be used as the information indicating the position.
  • the reference image database 11 stores a plurality of reference images.
  • the reference image database 11 may store a plurality of reference images associated with information indicating various positions so that the position can be appropriately estimated.
  • the reference image database 11 may store information indicating a direction in association with each reference image.
  • the direction is the direction in which the reference image is captured.
  • the position estimation system 10 can estimate the direction in addition to the position in the estimation image.
  • the reference image stored in the reference image database 11 and information related to the reference image are generated by imaging at a position corresponding to the reference image, positioning at the position by GPS or the like, and the like. Further, as will be described later, the reference image stored in the reference image database 11 is updated with the user image.
  • the acquisition unit 12 is a functional unit that acquires an estimation image that is a target of position estimation. Specifically, the acquisition unit 12 receives and acquires the user image transmitted from the user terminal 20 as the estimation image.
  • the acquisition unit 12 may acquire a plurality of user images. When acquiring a plurality of user images, the acquisition unit 12 may acquire information indicating the time associated with the user images.
  • the time related to the user image is, for example, the time when the image related to the user image was captured, or the time when the user image was received by the acquisition unit 12.
  • the user terminal 20 transmits the information indicating the time together with the user image to the position estimation system 10, and the acquisition unit 12 , And receives the information together with the user image.
  • the acquisition unit 12 outputs the acquired user image and information to the estimation unit 13 and the update unit 14.
  • the estimation unit 13 compares the reference image stored in the reference image database 11 with the user image acquired by the acquisition unit 12, and determines the user based on the information indicating the position associated with the reference image. It is a functional unit that estimates the position of the image and calculates the reliability of the estimated position.
  • the estimation unit 13 compares each of the plurality of reference images with the user image, calculates the degree of similarity between each of the reference images and the user image, and calculates the position reliability estimated based on the calculated degree of similarity. You may.
  • the estimation unit 13 may estimate the position of the user image for each method by a plurality of methods and calculate the reliability based on the position of each method.
  • the estimation unit 13 processes the image of the user image to generate user images of a plurality of patterns, estimates the position of the user image for each pattern, and determines the reliability based on the position of each pattern. It may be calculated. When the acquisition unit 12 acquires a plurality of user images, the estimation unit 13 calculates the reliability for each user image.
  • the estimation unit 13 estimates the position of the user image as follows.
  • the estimated position of the user image is the position where the user image is captured as described above.
  • the estimation unit 13 inputs the user image from the acquisition unit 12. Further, the estimation unit 13 reads out the reference image from the reference image database 11.
  • the estimation unit 13 compares the user image and the reference image to calculate the degree of similarity.
  • the estimation unit 13 calculates the degree of similarity with a value of 0% to 100%, for example.
  • the estimation unit 13 calculates the degree of similarity between the user image and each reference image.
  • SIFT Scale Invariant Feature Transform
  • contours and edges are extracted to match feature points or contours of both images.
  • the histograms of color tones may be compared to calculate the degree of similarity.
  • the degree of similarity may be calculated using a deep learning technique using a neural network.
  • the estimation unit 13 estimates the position indicated by the information stored in the reference image database 11 in association with the reference image, that is, the position of the reference image as the position of the user image.
  • the estimation unit 13 may estimate the position of the reference image having the highest degree of similarity as the position of the user image.
  • the estimation unit 13 normalizes the similarity of the plurality of reference images for which the similarity of more than 0% has been calculated so that the total of the similarities becomes 100%, and the normalized similarity is calculated.
  • the position of the center of gravity obtained by weighting the position of the reference image may be estimated as the position related to the user image.
  • the estimation unit 13 may estimate the position of the user image for each method by a plurality of different methods as described below.
  • the estimation unit 13 calculates the degree of similarity between the reference image and the user image by the above-described plurality of different methods, and performs the position estimation as described above for each method.
  • the method for calculating the degree of similarity is stored in the estimation unit 13 in advance.
  • the estimation unit 13 calculates the center of gravity of the position estimated for each method, and estimates the center of gravity position as the position related to the user image.
  • the estimation unit 13 may process the image of the user image (image processing) to generate a user image of a plurality of patterns, and estimate the position of the user image for each pattern.
  • the image processing includes, for example, changing the brightness, changing the contrast, and processing for masking a partial area of the image or adding noise.
  • the estimation unit 13 performs image processing on the user image to generate user images having a plurality of patterns.
  • the processing to be performed is stored in the estimation unit 13 in advance.
  • User images of a plurality of patterns may be generated by changing the degree of change for one type of processing method, or user images of a plurality of patterns may be generated by a plurality of processing methods different from each other.
  • the estimation unit 13 calculates the degree of similarity with the reference image for each of the plurality of patterns of user images, and performs position estimation as described above for each of the patterns.
  • the estimation unit 13 calculates the center of gravity of the position estimated for each pattern and estimates the center of gravity position as the position related to the user image.
  • the estimation of the position related to the user image based on the above-mentioned multiple methods and the multiple patterns of the user image is useful for calculating the reliability of the estimated position described later. That is, if the plurality of positions used for estimating the position of the user image have a small variation, the estimated position can be regarded as strong and highly accurate.
  • the estimation unit 13 calculates the reliability of the estimated position.
  • the reliability is an index indicating the accuracy of position estimation. Specifically, the estimation unit 13 calculates the reliability as follows. When the similarity between the reference image and the user image is a value exceeding 0% with respect to only one reference image, the estimation unit 13 sets the similarity as the reliability. When the degree of similarity exceeding 0% is calculated for the plurality of reference images, the estimation unit 13 determines how close the total value of the calculated (non-normalized) degrees of similarity is to 1 (100%). To calculate the reliability.
  • the calculated value of the similarity degree is not reliable enough to exceed 100%, and the estimated position is also considered to be unreliable.
  • the estimation unit 13 may calculate the reliability based on the position estimated for each method. .. For example, the estimation unit 13 calculates, as the reliability, a value indicating the degree of position variation estimated for each method. The value indicating the degree of variation is calculated as an average of distances between the respective positions estimated for each method and the barycentric position of the position. In this case, unlike the reliability calculated using the similarity, the smaller the value (closer to 0), the higher the reliability.
  • the estimation unit 13 may calculate the reliability based on the positions estimated for each pattern. For example, the estimation unit 13 calculates, as the reliability, a value indicating the degree of position variation estimated for each pattern. The value indicating the degree of variation is calculated as an average of the distances between the respective positions estimated for each pattern and the barycentric position of the position. In this case, unlike the reliability calculated using the similarity, the smaller the value (closer to 0), the higher the reliability.
  • the position estimation and the reliability calculation based on the comparison between the reference image and the user image are not limited to the above methods, and may be performed by any method including conventional techniques.
  • the estimation unit 13 may estimate the direction (orientation) of the user image, specifically, the direction in which the user image is captured, by the same method as the position estimation. Further, the direction may be considered in the same manner as the position when calculating the reliability.
  • the estimation unit 13 outputs the information indicating the position and the calculated reliability of the estimated user image and the user image used for the estimation to the update unit 14. In addition, the estimation unit 13 outputs information indicating the estimated position according to the reception of the user image from the user terminal 20. For example, the estimation unit 13 transmits information indicating the estimated position to the user terminal 20 that is the transmission source of the user image. The output of the information indicating the estimated position may be performed by any method other than the above.
  • the estimation unit 13 may perform distortion correction on at least one of the reference image and the user image.
  • distortion distortion, distortion aberration
  • the estimation unit 13 may perform the above-described similarity calculation after performing the distortion correction on one or both of the reference image and the user image using the existing distortion correction technique. By this processing, the accuracy of position estimation can be improved.
  • the update unit 14 is a functional unit that updates the reference image stored in the reference image database 11 using the user image based on the reliability calculated by the estimation unit 13.
  • the updating unit 14 may update the reference image based on changes in the reliability of the plurality of user images according to the estimated position.
  • the updating unit 14 may detect a moving object in the user image and update the reference image based on the detection.
  • the update unit 14 may generate one update image from a plurality of user images corresponding to the estimated position and update the reference image using the generated update image.
  • the updating unit 14 may update the reference image by using the reference image before updating.
  • the updating unit 14 updates the reference image as follows.
  • the updating unit 14 inputs the information indicating the position and the calculated reliability of the estimated user image and the user image used for the estimation from the estimation unit 13.
  • the updating unit 14 determines whether to update the reference image based on the reliability indicated by the information input from the estimating unit 13.
  • the updating unit 14 determines whether to update the reference image based on whether the reliability is within a preset range. Specifically, the updating unit 14 compares the reliability with a preset reference (threshold), and when the reliability is equal to or larger than the preset reference (threshold), the updating unit 14 determines that the reference image It is determined to update. This is because when the reliability of the estimated position is high, the user image used for estimating the position is considered to be appropriate as the reference image.
  • the updating unit 14 may store the time-series reliability of a plurality of user images and determine whether to update the reference image based on the change of the time-series reliability.
  • the acquisition unit 12 acquires the information indicating the time associated with the user image.
  • the updating unit 14 makes a determination for each estimated position by referring to the reliability. For example, the updating unit 14 divides the area whose position is to be estimated into a plurality of sections (for example, meshes), and refers to each section for the time-series reliability of the estimated position included in the section.
  • the size of the mesh is set, for example, so that the positions included in the mesh are close to each other within a distance of several tens cm to 1 m.
  • the update unit 14 determines whether or not to update the reference image based on the reliability in a preset period, for example, in a period that is a certain time back from the time point (current time) at which the update is determined.
  • the updating unit 14 compares the decrease in reliability during the period with a preset threshold value, and determines that the reference image is updated if the decrease is equal to or greater than the threshold value.
  • FIG. 2 shows a graph when the reliability is lowered.
  • FIG. 2 is a graph in which the horizontal axis represents time and the vertical axis represents reliability. In FIG. 2, the reliability decreases from time t1 to time t2, and if the amount of decrease is equal to or greater than the threshold value, it is determined that the reference image is updated.
  • the updating unit 14 compares the reliability with a preset threshold value (different from the falling threshold value), and if the reliability has changed from being higher than the threshold value to being lower than the threshold value during the period, the reference value is used for reference. It is determined to update the image. As described above, when the reliability decreases by a certain value or more or falls below the threshold value, it is considered that the landscape has changed due to some reason such as construction, and thus it is determined that the reference image is updated.
  • a preset threshold value different from the falling threshold value
  • the update unit 14 determines to update the reference image, it updates the reference image as follows.
  • the update unit 14 determines to update the reference image only from the reliability estimated from one user image
  • the user image itself may be used as the reference image.
  • the position associated with the reference image in that case is the position estimated by the estimation unit 13 with respect to the user image.
  • the reference image associated with the same mesh position as the position estimated by the estimation unit 13 for the user image may be deleted from the reference image database 11. That is, the update unit 14 may replace the user image as a new reference image.
  • the updating unit 14 may set or generate an update image used for updating the reference image from the user image and update the image as described below.
  • the update unit 14 sets the latest user image in the section that is to update the reference image as the update image.
  • a moving object that becomes noise in position estimation (comparison processing between the reference image and the user image) of a person, a car (for example, an automobile), etc. may be reflected in the user image as the update image. Reflecting moving objects in the reference image should be avoided. Therefore, the update unit 14 may generate the update image by removing the moving object from the user image.
  • the update unit 14 detects an object using an image recognition/object detection algorithm (for example, YOLO (You Only Look Once)), and specifies a region of a moving object such as a person or a car. For example, as shown in FIG. 3A, a region M in which a moving object such as a person or a car is shown in the user image is specified.
  • the update unit 14 generates, for example, an image obtained by cutting out the specified area M as shown in FIG. 3B as an update image.
  • the part of the cut-out area M is treated as having no image. That is, the part is excluded from the range of extracting the feature amount and the like when the image is compared with the user image.
  • the updating unit 14 may use the updating image without clipping the user image area.
  • the update unit 14 may generate an update image from a plurality of user images.
  • the plurality of user images used for generating the update image are user images in which the positions estimated in the preset period are the same position or the vicinity.
  • the updating unit 14 sets a plurality of user images whose positions estimated during the above period are included in the same section as user images used for generating the update image.
  • the update unit 14 uses any one of the plurality of user images as the base of the update image to be generated.
  • the updating unit 14 uses, for example, a newest user image among a plurality of user images used for generating the updating image as a base of the updating image.
  • the updating unit 14 divides the base user image into a plurality of regions as shown in FIG. Among the areas of the user image shown in FIG. 4, the hatched area is “C4”.
  • the updating unit 14 identifies the area in which the moving object is shown in the area of the base user image.
  • the area can be specified in the same manner as above.
  • the update unit 14 replaces the area with the image of the area of another user image corresponding to the area to generate the update image.
  • the area of another user image to be replaced is an area in which a moving object is not shown.
  • the updating unit 14 uses an image of an area of a different user image as an area in which an image of a common scenery is shared by another user image and an area in which an object different from the scenery is included in the base user image.
  • the replacement image is generated by replacement.
  • FIGS. 5A to 5C are user images for generating update images
  • the image in FIG. 5A is the base user image.
  • 5D is an update image for which the image of FIG. 5D is generated.
  • the car is shown in the area "A5" of the base user image, but the same scenery is shown in the corresponding areas of the user images other than the base. Therefore, the "A5" area of the base user image is overwritten with the image of the corresponding area of FIG. 5B or 5C.
  • the base user image is overwritten with another user image.
  • the number of divisions is 24, which is easy to understand.
  • the possibility of removing a moving object can be increased by increasing the number of divisions sufficiently and increasing the number of user images used for generating the update image. ..
  • Alignment is to superimpose overlapping portions of the image. In the superposition, for example, the images are translated, enlarged, and reduced.
  • the alignment is performed so that the user image other than the base is aligned with the base user image.
  • the update unit 14 updates the reference image using the generated update image.
  • the update unit 14 may replace the update image with a new reference image.
  • the updating unit 14 may update the reference image using the reference image before update and the generated update image.
  • the updating unit 14 updates as follows.
  • the updating unit 14 sets the reference image whose similarity is calculated (the similarity is a value exceeding 0%) at the time of estimating the position with respect to the user image, which is the base of the update image, as an update target. ..
  • the similarity is a value exceeding 0%
  • an area of approximately 60% of the reference image is to be updated, although it depends on the change of the landscape due to a moving object and construction.
  • the update unit 14 aligns the above-described images between the update image and the reference image to be updated.
  • the alignment is performed so that the update image is aligned with the reference image.
  • the update unit 14 overwrites the area of the reference image to be updated that matches (overlaps) with the update image with the update image to obtain the updated reference image.
  • FIG. 6A and 6B are reference images before updating.
  • the image in FIG. 6C is the update image.
  • the similarity for the reference image in FIG. 6A is 60%, and the similarity for the reference image in FIG. 6B is 40%.
  • About 60% of the area on the right side of the reference image in FIG. 6A is overwritten by about 60% of the area on the left side of the update image to obtain the updated reference image in FIG. 6D. ..
  • the car is removed and the window is added to the house.
  • About 40% of the area on the left side of the reference image in FIG. 6B is overwritten by about 40% of the area on the right side of the update image to form the updated reference image in FIG. 6E. ..
  • the tree has fruit.
  • the update unit 14 may replace the update image with a new reference image without performing alignment. It should be noted that, although it depends on the method of calculating the degree of similarity, there are portions where feature points are not detected, so that 100% similarity does not necessarily mean that the images are completely the same, and it is significant to update the reference image.
  • the estimated position is certain, and thus the update image is newly used as the reference image. It may be added to the reference image database 11.
  • the position associated with the reference image in that case is the position estimated by the estimation unit 13 with respect to the user image.
  • the reference image updated as described above is used for subsequent position estimation.
  • the reference image associated with the direction of a certain range with respect to the direction estimated by the estimation unit 13 for the user image may be the update target.
  • the plurality of user images for determining the change in reliability and the user image for generating the update image not only the positions in the same section are estimated, but also the direction of a certain range is The estimated one may be used. The above is the function of the position estimation system 10 according to the present embodiment.
  • the processing executed by the position estimation system 10 according to the present embodiment (the operation method performed by the position estimation system 10) will be described with reference to the flowchart of FIG. 7.
  • the acquisition unit 12 acquires a user image (S01).
  • the estimation unit 13 compares the reference image stored in the reference image database 11 with the user image acquired by the acquisition unit 12, and indicates the position associated with the reference image.
  • the position of the user image is estimated from the information, and the reliability of the estimated position is calculated (S02).
  • the estimation unit 13 outputs information indicating the estimated position (S03).
  • the updating unit 14 determines whether to update the reference image stored in the reference image database 11 using the user image based on the reliability calculated by the estimating unit 13 (S04). When it is determined that the reference image is not updated (NO in S04), this process ends. When it is determined to update the reference image (YES in S04), the update unit 14 generates the update image (S05). Then, the update image is used by the update unit 14 to update the reference image stored in the reference image database 11 (S06). The above is the processing executed by the position estimation system 10 according to the present embodiment.
  • the reference image is updated by using the user image, it is not necessary to perform image pickup and positioning only for registration of the reference image. Further, in the present embodiment, the reference image is updated based on the reliability, so that the appropriate update is performed. Therefore, according to the present embodiment, it is possible to easily and appropriately update the reference image in the position estimation using the image.
  • the reliability may be calculated based on the similarity to a plurality of reference images as in the present embodiment.
  • the reliability may be calculated based on the position estimated for each method such as the method of calculating the similarity.
  • the reliability may be calculated based on the position estimated for each pattern of a plurality of images by image processing. According to these configurations, the reliability can be calculated appropriately and surely. As a result, the reference image can be updated appropriately and reliably.
  • the calculation of the reliability does not necessarily have to be performed by the above method, and may be performed by a method other than the above method.
  • the reference image may be updated based on changes in reliability of a plurality of user images, for example, changes in time series.
  • a moving object in the user image may be detected as in the present embodiment, and the reference image may be updated based on the detection.
  • the reference image stored in the reference image database may be prevented from showing a moving object.
  • an update image may be generated from a plurality of user images, and the reference image may be updated using the generated update image. Further, the reference image may be updated by using the reference image before the update. With these configurations, the reference image can be made appropriate as described above.
  • the estimation image that is the position estimation target is the user image captured and transmitted by the user terminal 20, but any image can be used as the estimation image.
  • the angle of view of each image was not taken into consideration. It suffices if the angles of view of the reference image and the user image match, but if the angles of view do not match, the position may be erroneously estimated. Therefore, the following configuration may be taken in consideration of the angle of view.
  • the user terminal 20 transmits the information related to the angle of view of the user image to the position estimation system 10 together with the transmission of the user image.
  • the information regarding the angle of view transmitted from the user terminal 20 to the position estimation system 10 may be information indicating the angle of view itself or information for calculating the angle of view.
  • the information is, for example, the angle of view in the vertical direction (vertical direction) and the angle of view in the horizontal direction (horizontal direction) of the user image.
  • the information for calculating the angle of view is, for example, the size of the image sensor of the camera in the vertical and horizontal directions, and the focal length at the time of image capturing.
  • the position estimation system 10 receives these from the user terminal 20 and uses them for position estimation.
  • the reference image database 11 may store information regarding the angle of view of the reference image in association with the reference image.
  • the angle of view of the reference image (the angle of view when the reference image is captured) is known.
  • the reference image database 11 shows information relating to the angles of view of the reference images, specifically, the angles of view, in association with the respective reference images. Information may be stored.
  • the information stored in association with each reference image is, for example, information on the vertical view angle and the horizontal view angle of the reference image.
  • the acquisition unit 12 acquires information regarding the angle of view of the user image.
  • the acquisition unit 12 may acquire information for calculating the angle of view of the user image as the information related to the angle of view of the user image.
  • the acquisition unit 12 receives and acquires the information related to the angle of view of the user image transmitted from the user terminal 20 together with the user image.
  • the information regarding the angle of view of the user image is, for example, information indicating the angle of view itself as described above.
  • the information regarding the angle of view of the user image may be information for calculating the angle of view.
  • the information is, for example, information about the vertical and horizontal sizes of the image sensor of the camera and the focal length at the time of image pickup as described above.
  • the acquisition unit 12 outputs the acquired information to the estimation unit 13.
  • the estimating unit 13 enlarges or reduces an image of at least one of the reference image and the user image based on the information regarding the angle of view of the user image acquired by the acquisition unit 12.
  • the estimation unit 13 may enlarge or reduce the image based on the information regarding the angle of view of the reference image.
  • the estimating unit 13 may calculate the angle of view from the information for calculating the angle of view, and enlarge or reduce the image based on the calculated angle of view.
  • the estimation unit 13 may perform image processing for matching the aspect ratios of the reference image and the user image to enlarge or reduce the image.
  • the estimation unit 13 inputs the user image and information from the acquisition unit 12.
  • Angle of view A 2 ⁇ arctan (image sensor size S/(2 ⁇ focal length F)) Note that the vertical size (length) of the image sensor is used to obtain the vertical view angle, and the horizontal size (length) of the image sensor is used to obtain the horizontal view angle. To use.
  • information other than the above may be used as the information for calculating the angle of view and the method of calculating the angle of view.
  • information indicating the model of the camera used to capture the user image may be used as the information for calculating the angle of view.
  • the user image acquired by the acquisition unit 12 is compared with each reference image stored in the reference image database 11 for position estimation.
  • the estimation unit 13 uses one of the user image and the user image as a reference, and enlarges or reduces the other image according to the reference angle of view.
  • the image is enlarged or reduced according to the angle of view in both the vertical and horizontal directions of the image.
  • the estimation unit 13 If the image whose angle of view is to be adjusted is larger than the reference angle of view, the estimation unit 13 performs image cropping (cropping, cutting) as the image reduction. When the image whose angle of view is to be adjusted is smaller than the reference angle of view, the estimation unit 13 uncrops (adds) the image as an enlargement of the image.
  • the estimation unit 13 determines the angle of view of the user image indicated by the information input from the acquisition unit 12 or the angle of view of the user image calculated as described above, and the angle of view of the reference image stored in the reference image database 11.
  • the image is cropped or uncropped with reference to. If the user image and the reference image have the same angle of view, the estimation unit 13 does not enlarge or reduce the image.
  • the cropping process which is a process for adjusting the image of the view angle X where view angle X>view angle Y to the view angle Y, will be described.
  • the above-described ratio calculation and cutout processing is performed in each of the vertical direction and the horizontal direction of the image.
  • the vertical angle of view is X, Y
  • the length of the image after cropping is L
  • the horizontal angle of view is X′, Y′
  • the length of the image after cropping is L′.
  • the estimation unit 13 performs image repainting processing at the ratio calculated above based on the center line of the image to generate the image of the view angle Y.
  • the portion that is not included in the original image, that is, the portion that is to be repainted is of course an unknown region, so a preset color (for example, white or black)
  • An image with an angle of view Y is generated by performing interpolation at. The above-described calculation of the ratio and the addition processing are performed for each of the vertical direction and the horizontal direction of the image. In FIG.
  • FIG. 11 shows an example of an image before uncropping and an image after uncropping.
  • the angle of view X>the angle of view Y or the angle of view X ⁇ the angle of view Y is set in both the vertical direction and the horizontal direction of the image.
  • one of the vertical direction and the horizontal direction may have the view angle X>the view angle Y, and the other may have the view angle X ⁇ the view angle Y.
  • the cropping may be performed in the same manner as described above in the direction where the view angle X>the view angle Y
  • the uncropping may be performed in the same manner as above in the direction where the view angle X ⁇ the view angle Y.
  • the estimating unit 13 crops or uncrops the user image for each reference image, that is, for each combination of the user image and each reference image.
  • the reference image having the same angle of view only needs to be cropped or uncropped once for the user image.
  • the angles of view of the reference images stored in the reference image database 11 are all the same, the user image need only be cropped or uncropped once for all the reference images.
  • the estimating unit 13 stores the uniform view angle of the reference image in advance and The user image may be cropped or uncropped based on the corners. Further, the estimation unit 13 may crop or uncrop the reference image for the user image.
  • cropping or uncropping processing may be performed in each of the vertical direction and the horizontal direction as described above, but as another method, first, the aspect ratio of the image is first calculated. After performing the image processing for adjusting (aspect ratio), the processing for angle of view matching may be performed while maintaining the aspect ratio in either the vertical direction or the horizontal direction.
  • the angle of view in the direction in which the uncropping is performed is calculated at a ratio according to the aspect ratio based on the angle of view in the reference direction.
  • the above is an example of matching the aspect ratio with uncrops, but it is also possible to match the aspect ratio with crops.
  • the left and right sides are cut off to be 4:3.
  • the region used for image comparison which will be described later, becomes narrower, which may lead to deterioration of the position estimation accuracy.
  • the estimation unit 13 compares images that need to have the same image size, the estimation unit 13 performs the above-described cropping or uncropping on the images.
  • the sizes of the reference image and the user image are matched by enlarging or reducing the entire one image.
  • the estimation unit 13 compares the reference image with the user image by using the enlarged or reduced image, and determines the position of the user image from the information indicating the position associated with the reference image. To estimate. Specifically, the estimation unit 13 estimates as follows. The estimation may be performed in the same manner as the above-mentioned embodiment.
  • the area supplemented by uncropping may be excluded from the range in which the characteristic amount is extracted, or may be stored in a color in which the characteristic amount is not extracted (for example, white or black described above). , Do not use it for calculating the degree of similarity.
  • the area complemented by the uncrops is an "unknown" area that is not shown in the original image, so similarity should not be found, and if similarity is found, it is noise. ..
  • the size of the entire image generated by the uncropping that is, the size of the image including the portion generated by the uncropping is used for calculating the similarity.
  • the position of the user image is estimated by enlarging or reducing the image in consideration of the angle of view of the user image. Therefore, the position estimation using the image can be performed with high accuracy. Further, as a result, the reference image can be updated appropriately. Further, when the image processing for adjusting the angle of view is performed, the reference image may be updated using the image after the image processing.
  • each functional block shows blocks for each functional unit.
  • These functional blocks are realized by an arbitrary combination of at least one of hardware and software.
  • the method of realizing each functional block is not particularly limited. That is, each functional block may be realized by using one device physically or logically coupled, or directly or indirectly (for example, two or more devices physically or logically separated). , Wired, wireless, etc.) and may be implemented using these multiple devices.
  • the functional blocks may be realized by combining the one device or the plurality of devices with software.
  • the position estimation system 10 may function as a computer that performs the information processing of the present disclosure.
  • FIG. 13 is a diagram illustrating an example of a hardware configuration of the position estimation system 10 according to the embodiment of the present disclosure.
  • the position estimation system 10 described above may be physically configured as a computer device including a processor 1001, a memory 1002, a storage 1003, a communication device 1004, an input device 1005, an output device 1006, a bus 1007, and the like.
  • the user terminal 20 may be configured with similar hardware.
  • position estimation system 10 can be read as a circuit, device, unit, or the like.
  • the hardware configuration of position estimation system 10 may be configured to include one or a plurality of each device illustrated in the figure, or may be configured not to include some devices.
  • Each function in the position estimation system 10 causes a predetermined software (program) to be loaded on hardware such as the processor 1001 and the memory 1002, so that the processor 1001 performs an arithmetic operation to control communication by the communication device 1004 and a memory. It is realized by controlling at least one of reading and writing of data in 1002 and the storage 1003.
  • the processor 1001 operates an operating system to control the entire computer, for example.
  • the processor 1001 may be configured by a central processing unit (CPU) including an interface with peripheral devices, a control device, an arithmetic device, a register, and the like.
  • CPU central processing unit
  • each function in the position estimation system 10 described above may be realized by the processor 1001.
  • the processor 1001 reads a program (program code), software module, data, and the like from at least one of the storage 1003 and the communication device 1004 into the memory 1002, and executes various processes according to these.
  • a program program that causes a computer to execute at least part of the operations described in the above-described embodiments is used.
  • each function in the position estimation system 10 may be realized by a control program stored in the memory 1002 and operating in the processor 1001.
  • each function in the position estimation system 10 may be realized by a control program stored in the memory 1002 and operating in the processor 1001.
  • the processor 1001 may be implemented by one or more chips.
  • the program may be transmitted from the network via an electric communication line.
  • the memory 1002 is a computer-readable recording medium, and is configured by, for example, at least one of ROM (Read Only Memory), EPROM (Erasable Programmable ROM), EEPROM (Electrically Erasable Programmable ROM), RAM (Random Access Memory), and the like. May be done.
  • the memory 1002 may be called a register, a cache, a main memory (main storage device), or the like.
  • the memory 1002 can store an executable program (program code), a software module, or the like for executing information processing according to an embodiment of the present disclosure.
  • the storage 1003 is a computer-readable recording medium, for example, an optical disc such as a CD-ROM (Compact Disc ROM), a hard disc drive, a flexible disc, a magneto-optical disc (for example, a compact disc, a digital versatile disc, a Blu-ray disc). (Registered trademark) disk), smart card, flash memory (eg, card, stick, key drive), floppy (registered trademark) disk, magnetic strip, and the like.
  • the storage 1003 may be called an auxiliary storage device.
  • the storage medium included in the position estimation system 10 may be, for example, a database including at least one of the memory 1002 and the storage 1003, a server, or another appropriate medium.
  • the communication device 1004 is hardware (transmission/reception device) for performing communication between computers via at least one of a wired network and a wireless network, and is also called, for example, a network device, a network controller, a network card, a communication module, or the like.
  • the input device 1005 is an input device (eg, keyboard, mouse, microphone, switch, button, sensor, etc.) that receives an input from the outside.
  • the output device 1006 is an output device (for example, a display, a speaker, an LED lamp, etc.) that outputs to the outside. Note that the input device 1005 and the output device 1006 may be integrated (for example, a touch panel).
  • Each device such as the processor 1001 and the memory 1002 is connected by a bus 1007 for communicating information.
  • the bus 1007 may be configured by using a single bus, or may be configured by using a different bus for each device.
  • the position estimation system 10 includes hardware such as a microprocessor, a digital signal processor (DSP), an ASIC (Application Specific Integrated Circuit), a PLD (Programmable Logic Device), and an FPGA (Field Programmable Gate Array). May be configured, and the hardware may implement some or all of the functional blocks.
  • the processor 1001 may be implemented using at least one of these hardware.
  • Information that has been input and output may be saved in a specific location (for example, memory), or may be managed using a management table. Information that is input/output may be overwritten, updated, or added. The output information and the like may be deleted. The input information and the like may be transmitted to another device.
  • the determination may be performed by a value represented by 1 bit (whether 0 or 1), may be performed by a boolean value (Boolean: true or false), and may be performed by comparing numerical values (for example, a predetermined value). (Comparison with a value).
  • the notification of the predetermined information (for example, the notification of “being X”) is not limited to the explicit notification, and is performed implicitly (for example, the notification of the predetermined information is not performed). Good.
  • software, instructions, information, etc. may be sent and received via a transmission medium.
  • the software uses a website using at least one of wired technology (coaxial cable, optical fiber cable, twisted pair, digital subscriber line (DSL), etc.) and wireless technology (infrared, microwave, etc.), When sent from a server, or other remote source, at least one of these wired and wireless technologies are included within the definition of transmission medium.
  • wired technology coaxial cable, optical fiber cable, twisted pair, digital subscriber line (DSL), etc.
  • wireless technology infrared, microwave, etc.
  • information, parameters, etc. described in the present disclosure may be represented by using an absolute value, may be represented by using a relative value from a predetermined value, or by using other corresponding information. May be represented.
  • At least one of the server (position estimation system 10) and the client (user terminal 20) may be called a transmission device, a reception device, a communication device, or the like. It should be noted that at least one of the server and the client may be a device mounted on the moving body, the moving body itself, or the like.
  • the moving body may be a vehicle (eg, car, airplane, etc.), an unmanned moving body (eg, drone, self-driving car, etc.), or a robot (manned or unmanned). ).
  • the server and the client also includes a device that does not necessarily move during a communication operation.
  • the user terminal 20 may be an IoT (Internet of Things) device such as a sensor.
  • the server in the present disclosure may be replaced with a client terminal.
  • a configuration in which the communication between the server and the client terminal is replaced with communication between a plurality of user terminals may be referred to as D2D (Device-to-Device), V2X (Vehicle-to-Everything), etc.).
  • D2D Device-to-Device
  • V2X Vehicle-to-Everything
  • each aspect/embodiment of the present disclosure may be applied.
  • the client terminal may have the function of the above-described server.
  • the client terminal in the present disclosure may be replaced by the server.
  • the server may have the function of the above-mentioned client terminal.
  • the phrase “based on” does not mean “based only on,” unless expressly specified otherwise. In other words, the phrase “based on” means both "based only on” and “based at least on.”
  • the term “A and B are different” may mean “A and B are different from each other”.
  • the term may mean that “A and B are different from C”.
  • the terms “remove”, “coupled” and the like may be construed as “different” as well.
  • 10 Position estimation system, 11... Reference image database, 12... Acquisition unit, 13... Estimating unit, 14... Update unit, 20... User terminal, 21... Image sensor, 1001... Processor, 1002... Memory, 1003... Storage, 1004...communication device, 1005...input device, 1006...output device, 1007...bus.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Signal Processing (AREA)
  • Image Analysis (AREA)
  • Processing Or Creating Images (AREA)
  • Television Signal Processing For Recording (AREA)
  • Studio Devices (AREA)

Abstract

画像を用いた位置の推定における参照用画像の更新を簡易かつ適切に行う。 位置推定システム10は、参照用画像と位置を示す情報とを対応付けて記憶した参照用画像データベース11と、位置推定の対象となる推定用画像を取得する取得部12と、参照用画像と推定用画像との比較を行って、当該参照用画像に対応付けられた位置を示す情報から当該推定用画像に係る位置を推定すると共に推定した位置の信頼度を算出する推定部13と、信頼度に基づいて推定用画像を用いて参照用画像を更新する更新部14とを備える。

Description

位置推定システム
 本発明は、画像に基づいて位置を推定する位置推定システムに関する。
 従来から、撮像(撮影)によって得られた撮像画像から、当該撮像画像が撮像された位置を推定する技術が提案されている(例えば、特許文献1参照)。例えば、位置に対応付けた参照用画像を予め用意しておき、参照用画像と撮像画像とを比較して、撮像画像に類似している参照用画像に対応付けられた位置から、当該位置を推定する。
 参照用画像、及び当該参照用画像に対応付けられる位置を示す情報の用意は、例えば、特許文献1に示されるように撮像による画像の取得と当該撮像が行われた位置でのGPS(グローバルポジショニングシステム)等による測位とによって行われる。
特開2012-54754号公報
 上記のような画像に基づく位置推定においては、工事等によって風景(景観)が変化した場合、同じ位置であっても過去に撮像した参照用画像と推定対象の撮像画像であるユーザ画像とが異なり正確な位置が推定できないことがある。そのため参照用画像は、現状の風景を反映したものであることが望ましい。しかしながら、上述したように撮像と測位とによる参照用画像の更新は大きな手間となる。
 本発明の一実施形態は、上記に鑑みてなされたものであり、画像を用いた位置の推定における参照用画像の更新を簡易かつ適切に行うことができる位置推定システムを提供することを目的とする。
 上記の目的を達成するために、本発明の一実施形態に係る位置推定システムは、参照用画像と位置を示す情報とを対応付けて記憶した参照用画像データベースと、位置推定の対象となる推定用画像を取得する取得部と、参照用画像データベースに記憶された参照用画像と取得部によって取得された推定用画像との比較を行って、当該参照用画像に対応付けられた位置を示す情報から当該推定用画像に係る位置を推定すると共に推定した位置の信頼度を算出する推定部と、推定部によって算出された信頼度に基づいて推定用画像を用いて参照用画像データベースに記憶される参照用画像を更新する更新部と、を備える。
 本発明の一実施形態に係る位置推定システムでは、推定用画像が用いられて参照用画像が更新されるため、参照用画像の登録のためだけの撮像及び測位を行う必要がない。また、本発明の一実施形態に係る位置推定システムでは、信頼度に基づいて参照用画像が更新されるため、適切な更新が行われる。従って、本発明の一実施形態に係る位置推定システムによれば、画像を用いた位置の推定における参照用画像の更新を簡易かつ適切に行うことができる。
 本発明の一実施形態では、推定用画像が用いられて参照用画像が更新されるため、参照用画像の登録のためだけの撮像及び測位を行う必要がない。また、本発明の一実施形態では、信頼度に基づいて参照用画像が更新されるため、適切な更新が行われる。従って、本発明の一実施形態によれば、画像を用いた位置の推定における参照用画像の更新を簡易かつ適切に行うことができる。
本発明の実施形態に係る位置推定システムの構成を示す図である。 信頼度の時系列の変化を示すグラフである。 更新用画像の生成の例を示す図である。 画像の分割された領域を示す図である。 更新用画像の生成の別の例を示す図である。 参照用画像の更新の例を示す図である。 本発明の実施形態に係る位置推定システムで実行される処理を示すフローチャートである。 画像センサのサイズ、焦点距離及び画角の関係を示す図である。 画像のクロップを示す図である。 画像のアンクロップを示す図である。 アンクロップ前の画像及びアンクロップ後の画像の例を示す図である。 画像の縦横比を変更する画像処理の例を示す図である。 本発明の実施形態に係る位置推定システムのハードウェア構成を示す図である。
 以下、図面と共に本発明に係る位置推定システムの実施形態について詳細に説明する。なお、図面の説明においては同一要素には同一符号を付し、重複する説明を省略する。
 図1に本実施形態に係る位置推定システム10を示す。位置推定システム10は、画像(画像データ)に基づいて位置を推定するシステムである。具体的には、位置推定システム10は、ユーザ端末20によって撮像されたユーザ画像に基づいて、ユーザ端末20の位置、具体的にはユーザ画像を撮像した位置(ユーザ位置)を推定する。また、位置推定システム10は、位置の推定とあわせて、ユーザ画像が撮像された方向(方位)を推定することとしてもよい。
 ユーザ端末20は、ユーザに所持(携帯)されて利用される。ユーザ端末20は、例えば、携帯電話機、スマートフォン又はタブレット端末である。ユーザ端末20は、撮像装置であるカメラを備えており、撮像によってユーザ画像を取得することができる。また、ユーザ端末20は、移動体通信機能等の通信機能を有している。位置推定システム10とユーザ端末20とは、移動体通信網等の通信網を介して互いに情報の送受信を行うことができる。
 ユーザ端末20は、自身の位置の推定を行う際に自身が備えるカメラで周囲の風景を撮像して撮像によって得られたユーザ画像を位置推定システム10に送信する。
 位置推定システム10は、例えば、サーバ装置によって実現される。また、位置推定システム10は、複数のサーバ装置、即ち、コンピュータシステムによって実現されてもよい。
 引き続いて、本実施形態に係る位置推定システム10の機能を説明する。図1に示すように位置推定システム10は、参照用画像データベース11と、取得部12と、推定部13と、更新部14とを備えて構成される。
 参照用画像データベース11は、参照用画像と位置を示す情報とを対応付けて記憶したデータベースである。参照用画像は、画像に基づいた位置推定に用いられる位置推定システム10に予め記憶される画像である。参照用画像に対応付けられる情報によって示される位置は、参照用画像が撮像された位置である。本実施形態では、参照用画像と位置推定の対象となる推定用画像とを比較して、それらが同じ画像であれば、参照用画像に対応付けられた情報によって示される位置を推定位置とするという考え方に基づいて画像に基づいた位置推定を行う。
 参照用画像に対応付けられる位置を示す情報は、例えば、当該位置の緯度及び経度である。但し、位置を示す情報としてそれ以外の情報が用いられてもよい。参照用画像データベース11は、複数の参照用画像を記憶する。適切な位置推定を行えるように、参照用画像データベース11は、様々な位置を示す情報に対応付けられた複数の参照用画像を記憶することとしてもよい。
 また、参照用画像データベース11は、それぞれの参照用画像に対応付けて、方向を示す情報を記憶していてもよい。当該方向は、参照用画像が撮像された方向である。方向を示す情報を記憶することで、位置推定システム10において、推定用画像に対して、位置に加えて方向を推定することができる。
 参照用画像データベース11に記憶される参照用画像、及び参照用画像に係る情報は、参照用画像に対応付いた位置での撮像及び当該位置でのGPS等での測位等によって生成される。また、後述するように、参照用画像データベース11に記憶される参照用画像は、ユーザ画像が用いられて更新される。
 取得部12は、位置推定の対象となる推定用画像を取得する機能部である。具体的には、取得部12は、ユーザ端末20から送信されるユーザ画像を、推定用画像として受信して取得する。取得部12は、複数のユーザ画像を取得してもよい。複数のユーザ画像を取得する場合、取得部12は、ユーザ画像に係る時刻を示す情報を取得してもよい。ユーザ画像に係る時刻は、例えば、ユーザ画像に係る撮像が行われた時刻、又は取得部12によってユーザ画像が受信された時刻である。ユーザ画像に係る撮像が行われた時刻を示す情報が取得される場合には、例えば、ユーザ端末20がユーザ画像とあわせて当該時刻を示す情報を位置推定システム10に送信し、取得部12は、ユーザ画像とあわせて当該情報を受信する。取得部12は、取得したユーザ画像及び情報を推定部13及び更新部14に出力する。
 推定部13は、参照用画像データベース11に記憶された参照用画像と取得部12によって取得されたユーザ画像との比較を行って、当該参照用画像に対応付けられた位置を示す情報から当該ユーザ画像に係る位置を推定すると共に推定した位置の信頼度を算出する機能部である。推定部13は、複数の参照用画像それぞれとユーザ画像との比較を行って、参照用画像それぞれとユーザ画像と類似度を算出し、算出した類似度に基づいて推定した位置の信頼度を算出してもよい。推定部13は、複数の手法によって当該手法毎にユーザ画像に係る位置を推定すると共に当該手法毎の位置に基づいて信頼度を算出してもよい。推定部13は、ユーザ画像に対して画像の加工を行って複数のパターンのユーザ画像を生成し、当該パターン毎にユーザ画像に係る位置を推定すると共に当該パターン毎の位置に基づいて信頼度を算出してもよい。取得部12によって複数のユーザ画像が取得される場合には、推定部13は、ユーザ画像毎に信頼度を算出する。
 具体的には推定部13は、以下のようにユーザ画像に係る位置の推定を行う。推定されるユーザ画像に係る位置は、上述したようにユーザ画像を撮像した位置である。推定部13は、取得部12からユーザ画像を入力する。また、推定部13は、参照用画像データベース11から参照用画像を読み出す。推定部13は、ユーザ画像と参照用画像とを比較して類似度を算出する。推定部13は、類似度を、例えば、0%~100%の値で算出する。推定部13は、ユーザ画像に対して各参照用画像との類似度を算出する。
 類似度の算出については、SIFT(Scale Invariant Feature Transform)と呼ばれる手法等を用いて特徴点又は特徴量を抽出して、あるいは輪郭、エッジを抽出して双方の画像の特徴点又は輪郭等のマッチングを行って類似度を算出する方法を用いることができる。あるいは、色調のヒストグラムを比較して類似度を算出することとしてもよい。あるいは、ニューラルネットワークによる深層学習(Deep Learning)技術を用いて類似度を算出することとしてもよい。
 1枚の参照用画像のみに対して、参照用画像とユーザ画像との類似度が100%であった場合、即ち参照用画像とユーザ画像とに100%の一致が見られた場合、推定部13は、当該参照用画像に対応付けられて参照用画像データベース11に記憶された情報によって示される位置、即ち当該参照用画像の位置をユーザ画像に係る位置と推定する。
 但し、100%の一致が見られることはまれであり、多くの場合においては複数の参照用画像について0%を超える類似度が算出される。この場合、推定部13は、最も類似度が高い参照用画像の位置を、ユーザ画像に係る位置と推定してもよい。あるいは、推定部13は、0%を超える類似度が算出された複数の参照用画像について、類似度の合計が100%になるように類似度の正規化を行い、正規化後の類似度で参照用画像の位置に重み付けを行った重心位置をユーザ画像に係る位置と推定してもよい。
 また、推定部13は、以下のように互いに異なる複数の手法によって当該手法毎にユーザ画像に係る位置を推定してもよい。推定部13は、上述した互いに異なる複数の手法で参照用画像とユーザ画像との類似度を算出して、当該手法毎に上記のように位置推定を行う。どのような手法で類似度を算出するかは、予め推定部13に記憶されている。推定部13は、それぞれの手法毎に推定した位置の重心を算出して、重心位置をユーザ画像に係る位置と推定する。
 また、推定部13は、ユーザ画像に対して画像の加工(画像処理)を行って複数のパターンのユーザ画像を生成し、当該パターン毎にユーザ画像に係る位置を推定してもよい。画像の加工としては、例えば、明るさの変更、コントラストの変更、及び画像の一部の領域をマスクしたりノイズを入れたりする加工等がある。推定部13は、ユーザ画像に対してそれぞれの画像処理を施して複数のパターンのユーザ画像を生成する。どのような加工を行うかは、予め推定部13に記憶されている。1種類の加工方法について変更の具合を変化させて複数のパターンのユーザ画像を生成してもよいし、互いに異なる複数の加工方法によって複数のパターンのユーザ画像を生成してもよい。推定部13は、複数のパターンのユーザ画像それぞれについて参照用画像との類似度を算出して、当該パターン毎に上記のように位置推定を行う。推定部13は、それぞれのパターン毎に推定した位置の重心を算出して、重心位置をユーザ画像に係る位置と推定する。
 上述した複数の手法、及び複数のパターンのユーザ画像に基づく、ユーザ画像に係る位置の推定は、後述する推定した位置の信頼度の算出に役立つ。つまり、ユーザ画像に係る位置の推定に用いた複数の位置のばらつきが小さければ、その推定位置は強固であり精度が高いとみなすことができる。
 推定部13は、推定した位置の信頼度を算出する。信頼度は、位置推定の確からしさを示す指標である。具体的には推定部13は、以下のように信頼度を算出する。1枚の参照用画像のみに対して、参照用画像とユーザ画像との類似度が0%を超える値であった場合、推定部13は、その類似度を信頼度とする。複数の参照用画像に対して0%を超える類似度が算出された場合、推定部13は、算出された(正規化されていない)類似度の合計値が1(100%)にどの程度近いかで信頼度を算出する。例えば、参照用画像A,B,Cについて(正規化されていない)類似度がそれぞれ40%,30%,30%と算出された場合、即ち、類似度の合計値が100%になる場合、その重心位置は極めて真の位置に近しいと推定できるため信頼度を100%(=100/100)とする。類似度合計値が100%より小さい場合、信頼度をその類似度合計値とする。
 類似度合計値が100%より大きくなる場合、100をその類似度合計値で割った値を信頼度とする。例えば、類似度合計値が200%であった場合、100/200=50%を信頼度とする。類似度合計値が100%を超える場合は、100%を超えるほど類似度の計算値に信頼度がないとし、推定された位置も信頼度がないとみなす。
 この信頼度の算出(特に類似度合計値が100%を超える場合)は、参照用画像の位置が過密ではないことを前提とする。参照用画像の位置が非常に過密であり、ある位置のごく近傍に複数の参照用画像の位置がある場合は、それぞれの参照用画像の位置の近傍で撮像されたユーザ画像とそれぞれの参照用画像との間で算出される類似度は100%に近い値となり、よって類似度合計値が100%を超えることになる。一方、この場合に推定された位置は、参照用画像の位置の近傍で撮像されたものであるため、参照用画像の位置を用いて推定されるユーザ画像の位置はかなり精度が高いという場合もあり得る。しかしながら、通常、参照用画像の位置が過密となる、即ち、密集した位置にそれぞれ対応付けられた参照用画像が用意されることはなく、上記のような前提で算出してもよい。但し、類似度合計値が100%を超える場合は、類似度が0%を超える参照用画像の位置同士の距離を算出し、その距離が小さい場合、即ち、(上記の前提とは異なり)参照用画像の位置が過密である場合には信頼度を高くしてもよい。
 また、複数の手法で参照用画像とユーザ画像との類似度を算出して位置推定を行った場合、推定部13は、手法毎に推定された位置に基づいて信頼度を算出してもよい。例えば、推定部13は、手法毎に推定された位置のばらつき具合を示す値を信頼度として算出する。当該ばらつき具合を示す値は、手法毎に推定されたそれぞれの位置と当該位置の重心位置との距離の平均等として算出される。この場合、上記の類似度を用いて算出される信頼度とは異なり、値が小さい(0に近い)ほうが信頼度が高い。
 また、画像の加工によって複数のパターンのユーザ画像を用いて位置推定を行った場合、推定部13は、パターン毎に推定された位置に基づいて信頼度を算出してもよい。例えば、推定部13は、パターン毎に推定された位置のばらつき具合を示す値を信頼度として算出する。当該ばらつき具合を示す値は、パターン毎に推定されたそれぞれの位置と当該位置の重心位置との距離の平均等として算出される。この場合、上記の類似度を用いて算出される信頼度とは異なり、値が小さい(0に近い)ほうが信頼度が高い。
 なお、参照用画像とユーザ画像との比較に基づく位置の推定及び信頼度の算出は、上記の方法に限られず、従来の技術を含む任意の方法で行われてもよい。また、推定部13は、位置の推定と同様の方法でユーザ画像に係る方向(方位)、具体的には、ユーザ画像を撮像した方向を推定してもよい。また、信頼度の算出の際に位置と同様に方向を考慮してもよい。
 推定部13は、推定したユーザ画像に係る位置及び算出した信頼度を示す情報、並びに推定に用いたユーザ画像を更新部14に出力する。また、推定部13は、ユーザ端末20からのユーザ画像の受信に応じた、推定した位置を示す情報の出力を行う。例えば、推定部13は、ユーザ画像の送信元であるユーザ端末20に推定した位置を示す情報を送信する。また、推定した位置を示す情報の出力は、上記以外での任意の方法によって行われてもよい。
 推定部13は、参照用画像及びユーザ画像の少なくとも何れか一方の画像に対して歪み補正を行うこととしてもよい。参照用画像あるいはユーザ画像の撮像において、利用するカメラ及びレンズの性質によって画像に歪み(レンズディストーション、歪曲収差)が発生することがある。画像が広角になるほど類似度算出に利用できる特徴が増加するため位置推定精度が向上するが、一方で画像の歪みによって正確な類似度が算出できない可能性がある。例えば、参照用画像がたる型の歪み、ユーザ画像が糸巻き型の歪みというように歪みの種類が異なったり、あるいは同種の歪みでも歪みの程度が異なったりする場合、類似度の算出時に影響を及ぼす。そのため、推定部13は、既存の歪み補正技術により、参照用画像及びユーザ画像の何れか、又は両方に対して歪み補正を行ってから、上記の類似度算出を行ってもよい。この処理により、位置推定の精度を向上させることができる。
 更新部14は、推定部13によって算出された信頼度に基づいてユーザ画像を用いて参照用画像データベース11に記憶される参照用画像を更新する機能部である。更新部14は、推定された位置に応じた複数のユーザ画像の信頼度の変化に基づいて参照用画像を更新してもよい。更新部14は、ユーザ画像に写っている移動物体を検出して、当該検出に基づいて参照用画像を更新してもよい。更新部14は、推定された位置に応じた複数のユーザ画像から1枚の更新用画像を生成して、生成した更新用画像を用いて参照用画像を更新してもよい。更新部14は、更新前の参照用画像も用いて参照用画像を更新してもよい。
 具体的には更新部14は、以下のように参照用画像の更新を行う。更新部14は、推定部13から、推定されたユーザ画像に係る位置及び算出された信頼度を示す情報、並びに推定に用いられたユーザ画像を入力する。更新部14は、推定部13から入力された情報によって示される信頼度に基づいて、参照用画像の更新を行うか否かを判定する。
 例えば、更新部14は、信頼度が予め設定される範囲に入っているか否かによって参照用画像の更新を行うか否かを判定する。具体的には、更新部14は、信頼度と予め設定した基準(閾値)とを比較して、信頼度が予め設定した基準(閾値)以上である場合、更新部14は、参照用画像の更新を行うと判定する。推定された位置の信頼度が高い場合、当該位置の推定に用いられたユーザ画像は、参照用画像として適切であると考えられるためである。
 あるいは、更新部14は、複数のユーザ画像に係る時系列の信頼度を記憶しておき、時系列の信頼度の変化から参照用画像の更新を行うか否かを判定してもよい。この場合、上述したように取得部12によってユーザ画像に係る時刻を示す情報が取得される。更新部14は、推定された位置毎に信頼度を参照して判定を行う。例えば、更新部14は、位置の推定対象となるエリアを複数の区画(例えば、メッシュ)に区切って区画毎に区画に含まれる推定位置の時系列の信頼度を参照する。メッシュの大きさは、例えば、当該メッシュに含まれる位置同士が、数10cm~1m程度の距離以内となるような近傍となるように設定される。
 更新部14は、予め設定した期間、例えば、更新を判断する時点(現時点)から一定時間遡った期間における信頼度から参照用画像の更新を行うか否かを判定する。更新部14は、当該期間における信頼度の下落と予め設定した閾値とを比較して、当該下落が閾値以上であれば参照用画像の更新を行うと判定する。図2に信頼度が下落した場合のグラフを示す。図2は、横軸を時刻、縦軸を信頼度としたグラフである。図2では、時刻t1から時刻t2にかけて信頼度が下落しており、下落した分が閾値以上であれば参照用画像の更新を行うと判定される。
 あるいは、更新部14は、信頼度と予め設定した閾値(下落の閾値とは異なる)とを比較して、当該期間において信頼度が閾値を上回った状態から下回った状態に変化していたら参照用画像の更新を行うと判定する。上記のように信頼度が一定値以上低下したり、閾値を下回ったりした場合、工事等の何らかの理由によって風景が変化したと考えられるため、参照用画像の更新を行うと判定する。
 更新部14は、参照用画像の更新を行うと判定した場合、以下のように参照用画像を更新する。更新部14は、1枚のユーザ画像から推定された信頼度のみから参照用画像の更新を行うと判定した場合、当該ユーザ画像自体を参照用画像としてもよい。その場合の参照用画像に対応付けられる位置は、当該ユーザ画像に対して推定部13によって推定された位置である。この場合、当該ユーザ画像に対して推定部13によって推定された位置と同一のメッシュの位置に対応付けられた参照用画像は参照用画像データベース11から削除されてもよい。即ち、更新部14は、ユーザ画像を新たな参照用画像として置き換えてもよい。
 あるいは、更新部14は、以下のようにユーザ画像から参照用画像の更新に用いられる更新用画像を設定又は生成して更新を行ってもよい。更新部14は、参照用画像を更新するとされた区画の最新のユーザ画像を更新用画像とする。更新用画像とするユーザ画像には、人及び車(例えば、自動車)等の位置推定(参照用画像とユーザ画像との比較処理)においてノイズとなる移動物体が写り込んでいる可能性がある。移動物体を参照用画像に反映させることは避けるべきである。そのため、更新部14は、ユーザ画像から移動物体を除去した更新用画像を生成してもよい。
 例えば、更新部14は、画像認識・物体検出アルゴリズム(例えば、YOLO(You Only Look Once))を用いて物体検出を行い、人及び車等の移動物体の領域を特定する。例えば、図3(a)に示すように、ユーザ画像における、人及び車等の移動物体が写った領域Mが特定される。更新部14は、例えば、図3(b)に示すように特定した領域Mを切り取った画像を更新用画像として生成する。切り取った領域Mの部分は、画像無しとして扱う。即ち、当該部分は、ユーザ画像との比較の際に特徴量等を抽出する範囲の対象外とする等とされる。なお、移動物体の領域がない場合には、更新部14は、ユーザ画像の領域を切り取らずに更新用画像としてもよい。
 更新部14は、複数のユーザ画像から更新用画像を生成してもよい。更新用画像の生成に用いる複数のユーザ画像は、上記の予め設定した期間において推定された位置が同じ位置又は近傍であるユーザ画像である。例えば、更新部14は、上記の期間において推定された位置が同一の区画に含まれる複数のユーザ画像を、更新用画像の生成に用いるユーザ画像とする。
 更新部14は、複数のユーザ画像のうち何れかを、生成する更新用画像のベースとする。更新部14は、例えば、更新用画像の生成に用いる複数のユーザ画像のうち、最も新しいユーザ画像を生成する更新用画像のベースとする。更新部14は、図4に示すように当該ベースとしたユーザ画像を複数の領域に分割する。図4に示すユーザ画像の領域のうち、ハッチングがされた領域は“C4”である。
 更新部14は、ベースのユーザ画像の領域のうち、移動物体が写っている領域を特定する。当該領域の特定は、上記と同様に行うことができる。更新部14は、当該領域を、当該領域に対応する別のユーザ画像の領域の画像で置き換えて更新用画像を生成する。置き換える別のユーザ画像の領域は、移動物体が写っていない領域とする。あるいは、更新部14は、別のユーザ画像で共通する風景が写っている領域で、ベースのユーザ画像では当該風景とは異なる物体が写っている領域を、当該別のユーザ画像の領域の画像で置き換えて更新用画像を生成する。
 図5を用いて3枚のユーザ画像から更新用画像を生成する例を示す。図5(a)~(c)の画像がそれぞれ更新用画像を生成するためのユーザ画像であり、そのうち図5(a)の画像がベースのユーザ画像である。図5(d)の画像が生成される更新用画像である。ベースのユーザ画像の“A5”の領域には、車が写っているが、ベース以外のユーザ画像の対応する領域は同一の風景が写っている。そこで、ベースのユーザ画像の“A5”の領域を図5(b)又は図5(c)の対応する領域の画像で上書きする。同様に別の領域(例えば、“C3”及び“D4”の領域)についてもベースのユーザ画像を別のユーザ画像で上書きする。
 上記の例では、わかりやすく24分割としているが、分割数を十分に多く、かつ更新用画像の生成に用いるユーザ画像の数を多くすることで移動物体を除去できる可能性を高くすることができる。なお、複数のユーザ画像を、同一の位置を同一の範囲に画像として収めた画像、即ち、同じ位置の画像とすることは困難である。そのため、複数のユーザ画像間で画像上の位置と当該位置に写っている場所の位置のずれを、画像の特徴点、及び画像に写っている物体の輪郭、エッジ等を用いて直してから、即ち、位置合わせを行ってから、更新用情報の生成を行ってもよい。位置合わせは、写っている重複部分の重ね合わせを行うことである。当該重ね合わせでは、例えば、画像の平行移動、拡大、縮小等が行われる。ここでは、ベース以外のユーザ画像をベースのユーザ画像に合わせるように位置合わせを行う。
 更新部14は、生成した更新用画像を用いて参照用画像の更新を行う。例えば、更新部14は、更新用画像を新たな参照用画像として置き換えてもよい。あるいは、更新部14は、更新前の参照用画像と生成した更新用画像とを用いて参照用画像の更新を行ってもよい。例えば、更新部14は、以下のように更新を行う。
 更新部14は、更新用画像のベースとなったユーザ画像に対する位置の推定の際に類似度が算出された(類似度が0%を超える値であった)参照用画像を更新の対象とする。例えば、類似度が60%であった参照用画像であった場合、移動物体及び工事等による風景変更の影響にもよるが、参照用画像の概ね60%の領域が更新対象となる。
 更新部14は、更新用画像と更新対象となる参照用画像との間で、上述した画像間の位置合わせを行う。ここでは、ここでは、更新用画像を参照用画像に合わせるように位置合わせを行う。更新部14は、更新対象となる参照用画像の更新用画像と一致(重複)する領域を更新用画像で上書きして、更新後の参照用画像とする。
 図6を用いて更新用画像の更新の例を示す。図6(a)及び図6(b)の画像が、更新前の参照用画像である。図6(c)の画像が、更新用画像である。図6(a)の参照用画像に係る類似度は60%であり、図6(b)の参照用画像に係る類似度は40%である。図6(a)の参照用画像の右側の概ね60%の領域が、更新用画像の左側の概ね60%の領域で上書きされて、図6(d)の更新後の参照用画像とされる。図6(d)の更新後の参照用画像では、車が除去され家に窓が追加されている。図6(b)の参照用画像の左側の概ね40%の領域が、更新用画像の右側の概ね40%の領域で上書きされて、図6(e)の更新後の参照用画像とされる。図6(e)の更新後の参照用画像では、木に実が付いている。
 類似度が100%の参照用画像については、更新部14は、位置合わせをせずに更新用画像を新たな参照用画像として置き換えてもよい。なお、類似度の算出方法にもよるが、特徴点が検出されない部分等もあるため、類似度が100%だからといって必ずしも完全に同一の画像というわけではなく、参照用画像を更新する意味はある。
 また、更新用画像のベースとなったユーザ画像から推定された位置の信頼度が100%である場合には、推定された位置が確かであるため、当該更新用画像を参照用画像として新たに参照用画像データベース11に追加してもよい。その場合の参照用画像に対応付けられる位置は、当該ユーザ画像に対して推定部13によって推定された位置である。上記のように更新された参照用画像は、以降の位置推定に用いられる。
 なお、参照用画像の更新には、位置だけでなく方向も考慮されてもよい。例えば、ユーザ画像に対して推定部13によって推定された方向を基準とした一定の範囲の方向に対応付けられた参照用画像が更新対象とされてもよい。また、信頼度の変化を判断するための複数のユーザ画像、及び更新用画像を生成するためのユーザ画像としては、同一の区画内の位置が推定されただけでなく、一定の範囲の方向が推定されたものを用いることとしてもよい。以上が、本実施形態に係る位置推定システム10の機能である。
 引き続いて、図7のフローチャートを用いて、本実施形態に係る位置推定システム10で実行される処理(位置推定システム10が行う動作方法)を説明する。本処理では、まず、取得部12によって、ユーザ画像が取得される(S01)。続いて、推定部13によって、参照用画像データベース11に記憶された参照用画像と取得部12によって取得されたユーザ画像との比較が行われて、当該参照用画像に対応付けられた位置を示す情報から当該ユーザ画像に係る位置が推定されると共に推定された位置の信頼度が算出される(S02)。続いて、推定部13によって、推定された位置を示す情報が出力される(S03)。
 また、更新部14によって、推定部13によって算出された信頼度に基づいてユーザ画像を用いて参照用画像データベース11に記憶される参照用画像を更新するか否かが判定される(S04)。参照用画像を更新しないと判定された場合(S04のNO)、本処理は終了する。参照用画像を更新すると判定された場合(S04のYES)、更新部14によって、更新用画像が生成される(S05)。続いて、更新部14によって、更新用画像が用いられて、参照用画像データベース11に記憶される参照用画像が更新される(S06)。以上が、本実施形態に係る位置推定システム10で実行される処理である。
 上述したように本実施形態では、ユーザ画像が用いられて参照用画像が更新されるため、参照用画像の登録のためだけの撮像及び測位を行う必要がない。また、本実施形態では、信頼度に基づいて参照用画像が更新されるため、適切な更新が行われる。従って、本実施形態によれば、画像を用いた位置の推定における参照用画像の更新を簡易かつ適切に行うことができる。
 また、本実施形態のように複数の参照用画像に対する類似度に基づいて信頼度を算出してもよい。あるいは、類似度の算出の手法等の手法毎に推定された位置に基づいて信頼度を算出してもよい。あるいは、画像の加工による複数の画像のパターン毎に推定された位置に基づいて信頼度を算出してもよい。これらの構成によれば、適切かつ確実に信頼度を算出することができる。その結果、適切かつ確実に参照用画像の更新を行うことができる。但し、信頼度の算出は、必ずしも上記の方法で行われる必要はなく、上記の方法以外で行われてもよい。
 また、本実施形態のように複数のユーザ画像の信頼度の変化、例えば、時系列の変化に基づいて参照用画像を更新してもよい。この構成によれば、上述したように適切に参照用画像の更新の判定を行うことができ、その結果、適切に参照用画像の更新を行うことができる。
 また、本実施形態のようにユーザ画像に写っている移動物体を検出して、当該検出に基づいて参照用画像を更新してもよい。この構成によれば、参照用画像データベースに記憶される参照用画像が、移動物体が写ったものとなることを防止することができる。
 また、本実施形態のように複数のユーザ画像から更新用画像を生成して、生成した更新用画像を用いて参照用画像を更新してもよい。また、更新前の参照用画像も用いて、参照用画像を更新してもよい。これらの構成によれば、上述したように参照用画像を適切なものにすることができる。
 なお、本実施形態では、位置の推定対象となる推定用画像は、ユーザ端末20によって撮像されて送信されたユーザ画像であったが、推定用画像としては任意の画像を用いることができる。
 上述した実施形態では、各画像の画角については考慮していなかった。参照用画像とユーザ画像との画角が一致していればよいが、それらの画角が一致していない場合、誤って位置が推定されるおそれがある。そこで、以下のように画角を考慮した構成を取ってもよい。
 この場合、ユーザ端末20は、ユーザ画像の送信とあわせて当該ユーザ画像の画角に係る情報を位置推定システム10に送信する。ユーザ端末20から位置推定システム10に送信される画角に係る情報としては、画角自体を示す情報であってもよいし、画角を算出するための情報であってもよい。画角自体の情報である場合、当該情報は、例えば、ユーザ画像の縦方向(垂直方向)の画角及び横方向(水平方向)の画角の情報である。画角を算出するための情報は、例えば、カメラの画像センサの縦方向及び横方向のサイズ、並びに撮像時の焦点距離の情報である。位置推定システム10は、これらをユーザ端末20から受信して位置の推定に用いる。
 この場合、位置推定システム10は、以下の構成を取る。参照用画像データベース11は、参照用画像に対応付けて当該参照用画像の画角に係る情報を記憶することとしてもよい。参照用画像データベース11によって記憶される参照用画像は、当該参照用画像の画角(当該参照用画像が撮像された際の画角)が把握されているものである。参照用画像データベース11は、それぞれの参照用画像の画角が異なる場合には、それぞれの参照用画像に対応付けて当該参照用画像の画角に係る情報、具体的には当該画角を示す情報を記憶することとしてもよい。それぞれの参照用画像に対応付けて記憶される情報は、例えば、当該参照用画像の縦方向の画角及び横方向の画角の情報である。
 取得部12は、ユーザ画像の画角に係る情報を取得する。取得部12は、ユーザ画像の画角に係る情報として、当該画角を算出するための情報を取得することとしてもよい。具体的には、取得部12は、ユーザ端末20からユーザ画像とあわせて送信される当該ユーザ画像の画角に係る情報を受信して取得する。ユーザ画像の画角に係る情報は、例えば、上述したように画角自体を示す情報である。あるいは、ユーザ画像の画角に係る情報は、画角を算出するための情報であってもよい。当該情報は、例えば、上述したようにカメラの画像センサの縦方向及び横方向のサイズ、並びに撮像時の焦点距離の情報である。取得部12は、取得した情報を推定部13に出力する。
 推定部13は、取得部12によって取得されたユーザ画像の画角に係る情報に基づいて、参照用画像及びユーザ画像の少なくとも何れか一方の画像の拡大又は縮小を行う。推定部13は、参照用画像の画角に係る情報にも基づいて、画像の拡大又は縮小を行うこととしてもよい。推定部13は、画角を算出するための情報から画角を算出して、算出した画角に基づいて、画像の拡大又は縮小を行うこととしてもよい。推定部13は、参照用画像及びユーザ画像の縦横比を合わせる画像処理を行い、画像の拡大又は縮小を行うこととしてもよい。
 推定部13は、取得部12からユーザ画像及び情報を入力する。推定部13から入力したユーザ画像の画角に係る情報が、当該画角を算出するための上述した情報であった場合、推定部13は、例えば、以下のように画角を算出する。図8に示すように画像センササイズ(図8に示す画像センサ21の長さ)S、焦点距離F及び画角Aの間には下記の関係が成立する。
 画像センササイズS/(2×焦点距離F)=tan(画角A/2)
従って、推定部13は、逆三角関数arctangentを用いて下記の式によって画角Aを算出する。
 画角A=2×arctan(画像センササイズS/(2×焦点距離F))
なお、縦方向の画角を求める場合には、画像センサの縦方向のサイズ(長さ)を用い、横方向の画角を求める場合には、画像センサの横方向のサイズ(長さ)を用いる。
 なお、画角を算出するための情報及び画角の算出方法は、上記以外のものが用いられてもよい。例えば、ユーザ画像の撮像に用いられたカメラの機種を示す情報が、画角を算出するための情報として用いられてもよい。
 取得部12によって取得されたユーザ画像は、位置推定のために参照用画像データベース11に記憶された各参照用画像と比較される。ユーザ画像と参照用画像とを比較する前に、推定部13は、ユーザ画像又はユーザ画像の一方を基準として、もう一方の画像を基準の画角に合わせて拡大又は縮小する。なお、画角に応じた画像の拡大又は縮小は、画像の縦及び横双方について行われる。
 画角を合わせる方の画像が、基準の画角よりも大きい場合、推定部13は、画像の縮小として画像のクロップ(切り抜き、切り取り)を行う。画角を合わせる方の画像が、基準の画角よりも小さい場合、推定部13は、画像の拡大として画像のアンクロップ(塗り足し)を行う。
 推定部13は、取得部12から入力した情報によって示されるユーザ画像の画角又は上記のように算出したユーザ画像の画角と、参照用画像データベース11に記憶された参照用画像の画角とを参照して画像のクロップ又はアンクロップを行う。なお、ユーザ画像と参照用画像との画角が同一である場合、推定部13は、画像の拡大及び縮小を行わない。
 画角X>画角Yである画角Xの画像を画角Yに合わせる処理であるクロップの処理を説明する。推定部13は、クロップ後の画像の長さLの元画像に対する割合を、三角関数tangentを用いた以下の式により算出する。
 クロップ後の画像の長さの元画像に対する割合=tan(Y/2)/tan(X/2)
続いて、図9に示すように、推定部13は、画像の中心線を基準に上記で算出した割合で元画像の切り出し処理を行って、画角Yの画像を生成する。上記の割合の算出及び切り出し処理は、画像の縦方向及び横方向それぞれについて行われる。なお、図9では、縦方向の画角をX,Y、クロップ後の画像の長さをLとし、横方向の画角をX´,Y´、クロップ後の画像の長さをL´としている。
 画角X<画角Yである画角Xの画像を画角Yに合わせる処理であるアンクロップの処理を説明する。推定部13は、アンクロップ後の画像の長さLの元画像に対する割合を、三角関数tangentを用いた以下の式により算出する。
 アンクロップ後の画像の長さの元画像に対する割合=tan(Y/2)/tan(X/2)
なお、上記の式は、画角X,Yの大小によらない。即ち、上記の式は、画角X>画角Yの場合と同様である。続いて、図10に示すように、推定部13は、画像の中心線を基準に上記で算出した割合で画像の塗り足し処理を行って、画角Yの画像を生成する。画角Yの画像のうち、元画像に含まれない部分、即ち塗り足しを行う部分については、当然ながら何が写っているか未知の領域であるため、予め設定した色(例えば、白又は黒)にて補間を行うことで画角Yの画像を生成する。上記の割合の算出及び塗り足し処理は、画像の縦方向及び横方向それぞれについて行われる。なお、図10では、縦方向の画角をX,Y、アンクロップ後の画像の長さをLとし、横方向の画角をX´,Y´、アンクロップ後の画像の長さをL´としている。図11にアンクロップ前の画像及びアンクロップ後の画像の例を示す。
 なお、上記の図9及び図10の例では、画像の縦方向及び横方向の何れも、画角X>画角Y、又は画角X<画角Yとなっていた。しかしながら、縦方向及び横方向の一方が、画角X>画角Yであり、もう一方が画角X<画角Yとなっている場合もある。その場合、画角X>画角Yとなっている方向については上記と同様にクロップを行い、画角X<画角Yとなっている方向については上記と同様にアンクロップを行えばよい。
 推定部13は、例えば、参照用画像毎、即ちユーザ画像と各参照用画像との組み合わせ毎に上記のユーザ画像のクロップ又はアンクロップを行う。但し、画角が同一である参照用画像に対してはユーザ画像のクロップ又はアンクロップは一度だけ行われればよい。例えば、参照用画像データベース11に記憶された参照用画像の画角が全て同一であれば、全ての参照用画像に対してユーザ画像のクロップ又はアンクロップは一度だけ行われればよい。この場合、参照用画像データベース11に参照用画像に対応付けて画角を記憶させておく必要はなく、推定部13は、予め一律である参照用画像の画角を記憶しておき、その画角に基づいてユーザ画像のクロップ又はアンクロップを行えばよい。また、推定部13は、ユーザ画像に対して、参照用画像のクロップ又はアンクロップを行うこととしてもよい。
 参照用画像とユーザ画像との画角合わせ処理については、上述したように縦方向及び横方向それぞれに対してクロップあるいはアンクロップ処理を行ってもよいが、別の方法として、まず画像の縦横比(アスペクト比)を合わせる画像処理を行った後、縦方向及び横方向のどちらか一方について縦横比を維持しつつ画角合わせの処理を行ってもよい。
 縦横比が大きい画像の縦横比を小さくする場合は、横方向のサイズを基準として、元画像の上下をアンクロップすることとすればよい。例えば、図12(a)に示すように縦横比が16:9の画像を4:3にする場合には、画像の上下をアンクロップする。縦横比が小さい画像の縦横比を大きく場合は、縦方向のサイズを基準として、元画像の左右をアンクロップすることとすればよい。例えば、図12(b)に示すように縦横比が4:3の画像を16:9にする場合には、画像の左右をアンクロップする。なお、この際、アンクロップを行う方向の画角(アンクロップ領域も含む画角)は、基準方向の画角に基づいて縦横比に応じた割合で算出する。
 上記はアンクロップで縦横比を合わせた例であるが、逆にクロップによって縦横比を合わせることもできる。例えば、図12(a)に示す場合、左右を切り取って4:3とする。但し、この場合、画像領域を切り落とすことで後述する画像の比較に用いる領域が狭くなり、位置推定精度の劣化につながる懸念がある。
 クロップ又はアンクロップを行った後の参照用画像とユーザ画像との画像サイズを一致させる必要はない。但し、推定部13において、比較する画像同士の画像サイズが一致している必要がある画像の比較を行う場合には、推定部13は、画像に対して上述したクロップ又はアンクロップを行った後に、参照用画像とユーザ画像との画像のサイズを、一方の画像全体を拡大又は縮小することで一致させる。
 推定部13は、拡大又は縮小が行われた画像を用いて、参照用画像とユーザ画像との比較を行って、当該参照用画像に対応付けられた位置を示す情報から当該ユーザ画像に係る位置を推定する。具体的には推定部13は、以下のように推定を行う。推定は、上述した実施形態と同様に行われればよい。
 なお、アンクロップにより補完した領域については、特徴量等を抽出する範囲の対象外としたり、あるいは特徴量等が抽出されない色(例えば、上述した白又は黒)で保管を行うこととしたりして、類似度の算出には利用しないようにする。アンクロップによって補完された領域は元画像に写っていない“未知”の領域であるため、類似性が見いだされるべきではなく、もし類似性が見いだされたとしたらそれはノイズというべきものであるためである。但し、アンクロップによって生成された画像全体、即ち、アンクロップによって生成された部分を含む画像のサイズについては、類似度の算出に用いられる。
 ユーザがカメラのズーム機能を用いる等して、ユーザ画像が狭い画角となった場合、参照用画像との比較及び類似度の算出の際に十分な量の特徴又は輪郭を得られないことがある。その結果、数多くの参照用画像に対して類似度が算出されてしまい、位置推定の精度が落ちることがある。これを防ぐため、ユーザ画像の撮像時に画角が予め設定した一定値以下であった場合、即ち、受信したユーザ画像の画角が一定値以下であった場合、及び類似度の算出時に予め設定した一定数以上の参照用画像に対して一定値(例えば0%)を超える類似度が算出された場合に位置推定失敗と扱ったり、エラー又は警告を出したりしてもよい。
 上述した構成では、ユーザ画像の画角が考慮されて画像の拡大又は縮小が行われて、ユーザ画像に係る位置が推定される。従って、画像を用いた位置の推定を高精度に行うことができる。また、その結果、適切に参照用画像を更新することができる。また、画角を合わせる画像処理を行った場合、画像処理後の画像を用いて上記の参照用画像の更新を行うこととしてもよい。
 なお、上記実施形態の説明に用いたブロック図は、機能単位のブロックを示している。これらの機能ブロック(構成部)は、ハードウェア及びソフトウェアの少なくとも一方の任意の組み合わせによって実現される。また、各機能ブロックの実現方法は特に限定されない。すなわち、各機能ブロックは、物理的又は論理的に結合した1つの装置を用いて実現されてもよいし、物理的又は論理的に分離した2つ以上の装置を直接的又は間接的に(例えば、有線、無線などを用いて)接続し、これら複数の装置を用いて実現されてもよい。機能ブロックは、上記1つの装置又は上記複数の装置にソフトウェアを組み合わせて実現されてもよい。
 例えば、本開示の一実施の形態における位置推定システム10は、本開示の情報処理を行うコンピュータとして機能してもよい。図13は、本開示の一実施の形態に係る位置推定システム10のハードウェア構成の一例を示す図である。上述の位置推定システム10は、物理的には、プロセッサ1001、メモリ1002、ストレージ1003、通信装置1004、入力装置1005、出力装置1006、バス1007などを含むコンピュータ装置として構成されてもよい。また、ユーザ端末20も同様のハードウェアによって構成されていてもよい。
 なお、以下の説明では、「装置」という文言は、回路、デバイス、ユニットなどに読み替えることができる。位置推定システム10のハードウェア構成は、図に示した各装置を1つ又は複数含むように構成されてもよいし、一部の装置を含まずに構成されてもよい。
 位置推定システム10における各機能は、プロセッサ1001、メモリ1002などのハードウェア上に所定のソフトウェア(プログラム)を読み込ませることによって、プロセッサ1001が演算を行い、通信装置1004による通信を制御したり、メモリ1002及びストレージ1003におけるデータの読み出し及び書き込みの少なくとも一方を制御したりすることによって実現される。
 プロセッサ1001は、例えば、オペレーティングシステムを動作させてコンピュータ全体を制御する。プロセッサ1001は、周辺装置とのインターフェース、制御装置、演算装置、レジスタなどを含む中央処理装置(CPU:Central Processing Unit)によって構成されてもよい。例えば、上述の位置推定システム10における各機能は、プロセッサ1001によって実現されてもよい。
 また、プロセッサ1001は、プログラム(プログラムコード)、ソフトウェアモジュール、データなどを、ストレージ1003及び通信装置1004の少なくとも一方からメモリ1002に読み出し、これらに従って各種の処理を実行する。プログラムとしては、上述の実施の形態において説明した動作の少なくとも一部をコンピュータに実行させるプログラムが用いられる。例えば、位置推定システム10における各機能は、メモリ1002に格納され、プロセッサ1001において動作する制御プログラムによって実現されてもよい。上述の各種処理は、1つのプロセッサ1001によって実行される旨を説明してきたが、2以上のプロセッサ1001により同時又は逐次に実行されてもよい。プロセッサ1001は、1以上のチップによって実装されてもよい。なお、プログラムは、電気通信回線を介してネットワークから送信されても良い。
 メモリ1002は、コンピュータ読み取り可能な記録媒体であり、例えば、ROM(Read Only Memory)、EPROM(Erasable Programmable ROM)、EEPROM(Electrically Erasable Programmable ROM)、RAM(Random Access Memory)などの少なくとも1つによって構成されてもよい。メモリ1002は、レジスタ、キャッシュ、メインメモリ(主記憶装置)などと呼ばれてもよい。メモリ1002は、本開示の一実施の形態に係る情報処理を実施するために実行可能なプログラム(プログラムコード)、ソフトウェアモジュールなどを保存することができる。
 ストレージ1003は、コンピュータ読み取り可能な記録媒体であり、例えば、CD-ROM(Compact Disc ROM)などの光ディスク、ハードディスクドライブ、フレキシブルディスク、光磁気ディスク(例えば、コンパクトディスク、デジタル多用途ディスク、Blu-ray(登録商標)ディスク)、スマートカード、フラッシュメモリ(例えば、カード、スティック、キードライブ)、フロッピー(登録商標)ディスク、磁気ストリップなどの少なくとも1つによって構成されてもよい。ストレージ1003は、補助記憶装置と呼ばれてもよい。位置推定システム10が備える記憶媒体は、例えば、メモリ1002及びストレージ1003の少なくとも一方を含むデータベース、サーバその他の適切な媒体であってもよい。
 通信装置1004は、有線ネットワーク及び無線ネットワークの少なくとも一方を介してコンピュータ間の通信を行うためのハードウェア(送受信デバイス)であり、例えばネットワークデバイス、ネットワークコントローラ、ネットワークカード、通信モジュールなどともいう。
 入力装置1005は、外部からの入力を受け付ける入力デバイス(例えば、キーボード、マウス、マイクロフォン、スイッチ、ボタン、センサなど)である。出力装置1006は、外部への出力を実施する出力デバイス(例えば、ディスプレイ、スピーカー、LEDランプなど)である。なお、入力装置1005及び出力装置1006は、一体となった構成(例えば、タッチパネル)であってもよい。
 また、プロセッサ1001、メモリ1002などの各装置は、情報を通信するためのバス1007によって接続される。バス1007は、単一のバスを用いて構成されてもよいし、装置間ごとに異なるバスを用いて構成されてもよい。
 また、位置推定システム10は、マイクロプロセッサ、デジタル信号プロセッサ(DSP:Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)、FPGA(Field Programmable Gate Array)などのハードウェアを含んで構成されてもよく、当該ハードウェアにより、各機能ブロックの一部又は全てが実現されてもよい。例えば、プロセッサ1001は、これらのハードウェアの少なくとも1つを用いて実装されてもよい。
 本開示において説明した各態様/実施形態の処理手順、シーケンス、フローチャートなどは、矛盾の無い限り、順序を入れ替えてもよい。例えば、本開示において説明した方法については、例示的な順序を用いて様々なステップの要素を提示しており、提示した特定の順序に限定されない。
 入出力された情報等は特定の場所(例えば、メモリ)に保存されてもよいし、管理テーブルを用いて管理してもよい。入出力される情報等は、上書き、更新、又は追記され得る。出力された情報等は削除されてもよい。入力された情報等は他の装置へ送信されてもよい。
 判定は、1ビットで表される値(0か1か)によって行われてもよいし、真偽値(Boolean:true又はfalse)によって行われてもよいし、数値の比較(例えば、所定の値との比較)によって行われてもよい。
 本開示において説明した各態様/実施形態は単独で用いてもよいし、組み合わせて用いてもよいし、実行に伴って切り替えて用いてもよい。また、所定の情報の通知(例えば、「Xであること」の通知)は、明示的に行うものに限られず、暗黙的(例えば、当該所定の情報の通知を行わない)ことによって行われてもよい。
 以上、本開示について詳細に説明したが、当業者にとっては、本開示が本開示中に説明した実施形態に限定されるものではないということは明らかである。本開示は、請求の範囲の記載により定まる本開示の趣旨及び範囲を逸脱することなく修正及び変更態様として実施することができる。したがって、本開示の記載は、例示説明を目的とするものであり、本開示に対して何ら制限的な意味を有するものではない。
 ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語と呼ばれるか、他の名称で呼ばれるかを問わず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行可能ファイル、実行スレッド、手順、機能などを意味するよう広く解釈されるべきである。
 また、ソフトウェア、命令、情報などは、伝送媒体を介して送受信されてもよい。例えば、ソフトウェアが、有線技術(同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(DSL:Digital Subscriber Line)など)及び無線技術(赤外線、マイクロ波など)の少なくとも一方を使用してウェブサイト、サーバ、又は他のリモートソースから送信される場合、これらの有線技術及び無線技術の少なくとも一方は、伝送媒体の定義内に含まれる。
 また、本開示において説明した情報、パラメータなどは、絶対値を用いて表されてもよいし、所定の値からの相対値を用いて表されてもよいし、対応する別の情報を用いて表されてもよい。
 サーバ(位置推定システム10)及びクライアント(ユーザ端末20)の少なくとも一方は、送信装置、受信装置、通信装置などと呼ばれてもよい。なお、サーバ及びクライアントの少なくとも一方は、移動体に搭載されたデバイス、移動体自体などであってもよい。当該移動体は、乗り物(例えば、車、飛行機など)であってもよいし、無人で動く移動体(例えば、ドローン、自動運転車など)であってもよいし、ロボット(有人型又は無人型)であってもよい。なお、サーバ及びクライアントの少なくとも一方は、必ずしも通信動作時に移動しない装置も含む。例えば、ユーザ端末20は、センサなどのIoT(Internet of Things)機器であってもよい。
 また、本開示におけるサーバは、クライアント端末で読み替えてもよい。例えば、サーバ及びクライアント端末間の通信を、複数のユーザ端末間の通信(例えば、D2D(Device-to-Device)、V2X(Vehicle-to-Everything)などと呼ばれてもよい)に置き換えた構成について、本開示の各態様/実施形態を適用してもよい。この場合、上述のサーバが有する機能をクライアント端末が有する構成としてもよい。
 同様に、本開示におけるクライアント端末は、サーバで読み替えてもよい。この場合、上述のクライアント端末が有する機能をサーバが有する構成としてもよい。
 本開示において使用する「に基づいて」という記載は、別段に明記されていない限り、「のみに基づいて」を意味しない。言い換えれば、「に基づいて」という記載は、「のみに基づいて」と「に少なくとも基づいて」の両方を意味する。
 本開示において、「含む(include)」、「含んでいる(including)」及びそれらの変形が使用されている場合、これらの用語は、用語「備える(comprising)」と同様に、包括的であることが意図される。さらに、本開示において使用されている用語「又は(or)」は、排他的論理和ではないことが意図される。
 本開示において、例えば、英語でのa, an及びtheのように、翻訳により冠詞が追加された場合、本開示は、これらの冠詞の後に続く名詞が複数形であることを含んでもよい。
 本開示において、「AとBが異なる」という用語は、「AとBが互いに異なる」ことを意味してもよい。なお、当該用語は、「AとBがそれぞれCと異なる」ことを意味してもよい。「離れる」、「結合される」などの用語も、「異なる」と同様に解釈されてもよい。
 10…位置推定システム、11…参照用画像データベース、12…取得部、13…推定部、14…更新部、20…ユーザ端末、21…画像センサ、1001…プロセッサ、1002…メモリ、1003…ストレージ、1004…通信装置、1005…入力装置、1006…出力装置、1007…バス。

Claims (9)

  1.  参照用画像と位置を示す情報とを対応付けて記憶した参照用画像データベースと、
     位置推定の対象となる推定用画像を取得する取得部と、
     前記参照用画像データベースに記憶された参照用画像と前記取得部によって取得された推定用画像との比較を行って、当該参照用画像に対応付けられた位置を示す情報から当該推定用画像に係る位置を推定すると共に推定した位置の信頼度を算出する推定部と、
     前記推定部によって算出された信頼度に基づいて前記推定用画像を用いて前記参照用画像データベースに記憶される参照用画像を更新する更新部と、
    を備える位置推定システム。
  2.  前記参照用画像データベースは、複数の参照用画像を記憶し、
     前記推定部は、複数の参照用画像それぞれと推定用画像との比較を行って、参照用画像それぞれと推定用画像と類似度を算出し、算出した類似度に基づいて推定した位置の信頼度を算出する、請求項1に記載の位置推定システム。
  3.  前記推定部は、複数の手法によって当該手法毎に推定用画像に係る位置を推定すると共に当該手法毎の位置に基づいて前記信頼度を算出する請求項1又は2に記載の位置推定システム。
  4.  前記推定部は、前記推定用画像に対して画像の加工を行って複数のパターンの推定用画像を生成し、当該パターン毎に推定用画像に係る位置を推定すると共に当該パターン毎の位置に基づいて前記信頼度を算出する請求項1~3の何れか一項に記載の位置推定システム。
  5.  前記取得部は、複数の推定用画像を取得し、
     前記推定部は、推定用画像毎に前記信頼度を算出し、
     前記更新部は、推定された位置に応じた複数の推定用画像の信頼度の変化に基づいて参照用画像を更新する、請求項1~4の何れか一項に記載の位置推定システム。
  6.  前記更新部は、前記推定用画像に写っている移動物体を検出して、当該検出に基づいて参照用画像を更新する請求項1~5の何れか一項に記載の位置推定システム。
  7.  前記取得部は、複数の推定用画像を取得し、
     前記更新部は、推定された位置に応じた前記複数の推定用画像から1枚の更新用画像を生成して、生成した更新用画像を用いて参照用画像を更新する、請求項1~6の何れか一項に記載の位置推定システム。
  8.  前記更新部は、更新前の参照用画像も用いて参照用画像を更新する請求項1~7の何れか一項に記載の位置推定システム。
  9.  前記取得部は、推定用画像の画角に係る情報を取得し、
     前記推定部は、前記取得部によって取得された前記推定用画像の画角に係る情報に基づいて、前記参照用画像及び前記推定用画像の少なくとも何れか一方の画像の拡大又は縮小を行って、拡大又は縮小が行われた画像を用いて、当該参照用画像と当該推定用画像との比較を行って、当該参照用画像に対応付けられた位置を示す情報から当該推定用画像に係る位置を推定する、請求項1~8の何れか一項に記載の位置推定システム。
PCT/JP2019/038824 2018-12-28 2019-10-01 位置推定システム WO2020137069A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2020562371A JP7085646B2 (ja) 2018-12-28 2019-10-01 位置推定システム
US17/283,825 US11810323B2 (en) 2018-12-28 2019-10-01 Position estimation system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018246884 2018-12-28
JP2018-246884 2018-12-28

Publications (1)

Publication Number Publication Date
WO2020137069A1 true WO2020137069A1 (ja) 2020-07-02

Family

ID=71126385

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/038824 WO2020137069A1 (ja) 2018-12-28 2019-10-01 位置推定システム

Country Status (3)

Country Link
US (1) US11810323B2 (ja)
JP (1) JP7085646B2 (ja)
WO (1) WO2020137069A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11810323B2 (en) * 2018-12-28 2023-11-07 Ntt Docomo, Inc. Position estimation system
KR20210067442A (ko) * 2019-11-29 2021-06-08 엘지전자 주식회사 객체 인식을 위한 자동 레이블링 장치 및 방법
JP7552048B2 (ja) * 2020-03-25 2024-09-18 日本電気株式会社 画像処理装置、画像処理方法、プログラム
US20230196608A1 (en) * 2021-12-16 2023-06-22 Here Global B.V. Method and apparatus for improving localization of a device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003263104A (ja) * 2002-03-11 2003-09-19 Mitsubishi Electric Corp 撮像情報認識システム
WO2011108052A1 (ja) * 2010-03-03 2011-09-09 パナソニック株式会社 道路状況管理システム及び道路状況管理方法
WO2016208404A1 (ja) * 2015-06-23 2016-12-29 ソニー株式会社 情報処理装置および方法、並びにプログラム

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8942483B2 (en) * 2009-09-14 2015-01-27 Trimble Navigation Limited Image-based georeferencing
US8897541B2 (en) * 2009-09-14 2014-11-25 Trimble Navigation Limited Accurate digitization of a georeferenced image
JP5631125B2 (ja) 2010-09-01 2014-11-26 キヤノン株式会社 画像処理装置、その制御方法及びプログラム
JP2013182479A (ja) * 2012-03-02 2013-09-12 Nikon Corp 被写体追尾装置、被写体追尾方法およびカメラ
DE102012107153A1 (de) * 2012-08-03 2014-02-27 Hendrik Fehlis Vorrichtung und Verfahren zur Bestimmung der Eigenlage einer bildaufnehmenden Kamera
JP6184271B2 (ja) * 2013-09-19 2017-08-23 キヤノン株式会社 撮像管理装置、撮像管理システムの制御方法およびプログラム
EP3140613B1 (en) * 2014-05-05 2024-04-03 Hexagon Technology Center GmbH Surveying system
JP6540330B2 (ja) * 2015-07-28 2019-07-10 日本電気株式会社 追跡システム、追跡方法および追跡プログラム
JP6744747B2 (ja) * 2016-04-01 2020-08-19 キヤノン株式会社 情報処理装置およびその制御方法
NL2016718B1 (en) * 2016-05-02 2017-11-10 Cyclomedia Tech B V A method for improving position information associated with a collection of images.
WO2018150515A1 (ja) * 2017-02-16 2018-08-23 三菱電機株式会社 画像データベース構築装置、位置及び傾き推定装置並びに画像データベース構築方法
JP6842039B2 (ja) * 2017-03-02 2021-03-17 富士通株式会社 カメラ位置姿勢推定装置、方法およびプログラム
US11010977B2 (en) * 2018-05-31 2021-05-18 Jido, Inc. Method for establishing a common reference frame amongst devices for an augmented reality session
JP7131994B2 (ja) * 2018-07-04 2022-09-06 株式会社東芝 自己位置推定装置、自己位置推定方法、自己位置推定プログラム、学習装置、学習方法及び学習プログラム
US11810323B2 (en) * 2018-12-28 2023-11-07 Ntt Docomo, Inc. Position estimation system
JPWO2023084945A1 (ja) * 2021-11-10 2023-05-19

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003263104A (ja) * 2002-03-11 2003-09-19 Mitsubishi Electric Corp 撮像情報認識システム
WO2011108052A1 (ja) * 2010-03-03 2011-09-09 パナソニック株式会社 道路状況管理システム及び道路状況管理方法
WO2016208404A1 (ja) * 2015-06-23 2016-12-29 ソニー株式会社 情報処理装置および方法、並びにプログラム

Also Published As

Publication number Publication date
JPWO2020137069A1 (ja) 2021-10-14
US20210343036A1 (en) 2021-11-04
JP7085646B2 (ja) 2022-06-16
US11810323B2 (en) 2023-11-07

Similar Documents

Publication Publication Date Title
WO2020137069A1 (ja) 位置推定システム
CN111126125B (zh) 证件中的目标文本提取方法、装置、设备及可读存储介质
US20220383518A1 (en) Vision-based target tracking method, system, equipment, and storage medium
US9177404B2 (en) Systems and methods of merging multiple maps for computer vision based tracking
US8111873B2 (en) Method for tracking objects in a scene
US7133572B2 (en) Fast two dimensional object localization based on oriented edges
US10218899B2 (en) Control method in image capture system, control apparatus and a non-transitory computer-readable storage medium
US10438086B2 (en) Image information recognition processing method and device, and computer storage medium
KR100915773B1 (ko) 이미지 내의 사전 결정된 객체를 검출하는 방법 및 객체 검출 시스템과 컴퓨터 판독 가능 저장 매체
US8908911B2 (en) Redundant detection filtering
CN113508420B (zh) 物体追踪装置、物体追踪方法以及存储介质
CN108369739B (zh) 物体检测装置和物体检测方法
WO2018053756A1 (zh) 一种图像检测方法及终端
KR20230020845A (ko) 전자장치 및 그의 객체 추적 방법
JP6541070B2 (ja) 3次元情報復元装置及び3次元情報復元方法
CN116582653A (zh) 一种基于多摄像头数据融合的智能视频监控方法及系统
WO2020137068A1 (ja) 位置推定システム
CN112184776A (zh) 一种目标跟踪方法、装置及存储介质
US20240127567A1 (en) Detection-frame position-accuracy improving system and detection-frame position correction method
CN113722692B (zh) 身份识别的装置及其方法
US11810221B2 (en) Device, system, control method, and non-transitory computer-readable storage medium
AU2020294259B2 (en) Object association method, apparatus and system, electronic device, storage medium and computer program
JP6448457B2 (ja) 撮影方向変動検出装置および撮影方向変動検出方法
JP6278757B2 (ja) 特徴量生成装置、特徴量生成方法、およびプログラム
CN108917768B (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: 19904001

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020562371

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19904001

Country of ref document: EP

Kind code of ref document: A1