WO2016163227A1 - 制御装置および方法、並びにプログラム - Google Patents

制御装置および方法、並びにプログラム Download PDF

Info

Publication number
WO2016163227A1
WO2016163227A1 PCT/JP2016/059086 JP2016059086W WO2016163227A1 WO 2016163227 A1 WO2016163227 A1 WO 2016163227A1 JP 2016059086 W JP2016059086 W JP 2016059086W WO 2016163227 A1 WO2016163227 A1 WO 2016163227A1
Authority
WO
WIPO (PCT)
Prior art keywords
camera
activation
self
cameras
position estimation
Prior art date
Application number
PCT/JP2016/059086
Other languages
English (en)
French (fr)
Inventor
嵩明 加藤
貝野 彰彦
辰起 柏谷
江島 公志
福地 正樹
Original Assignee
ソニー株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ソニー株式会社 filed Critical ソニー株式会社
Priority to EP16776396.0A priority Critical patent/EP3282225A4/en
Priority to US15/561,834 priority patent/US10542212B2/en
Publication of WO2016163227A1 publication Critical patent/WO2016163227A1/ja

Links

Images

Classifications

    • 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
    • H04N23/65Control of camera operation in relation to power supply
    • H04N23/651Control of camera operation in relation to power supply for reducing power consumption by affecting camera operations, e.g. sleep mode, hibernation mode or power off of selective parts of the camera
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C15/00Surveying instruments or accessories not provided for in groups G01C1/00 - G01C13/00
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/90Arrangement of cameras or camera modules, e.g. multiple cameras in TV studios or sports stadiums
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • 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 technology relates to a control device, method, and program, and more particularly, to a control device, method, and program that can reliably estimate the self-position with lower power consumption.
  • a technique for performing self-position estimation using a plurality of cameras has been proposed in order to be able to estimate the self-position with sufficient accuracy without limiting the movement of the user.
  • a plurality of cameras are arranged, and the plurality of cameras function as one wide-angle camera.
  • the self position can be estimated.
  • the self-position can be estimated with sufficient accuracy without reducing the spatial resolution of the image.
  • the present technology has been made in view of such a situation, and enables the self-position to be reliably estimated with lower power consumption.
  • a control device includes an activation determination unit that selects some of a plurality of cameras as activation cameras used for self-position estimation, and the plurality of cameras based on a selection result of the activation cameras.
  • An activation switching unit configured to activate an image of the camera set as the activation camera and to capture an image and to stop activation of the camera different from the activation camera among the plurality of cameras;
  • the activation determination unit can reselect the activation camera at a predetermined timing.
  • the activation determination unit shifts from a sleep mode in which shooting is performed by the activation camera at the predetermined timing to a count mode in which the plurality of the cameras are activated, and in the count mode,
  • the activation camera can be selected based on an image photographed by the camera.
  • the activation determination unit can select the activation camera based on the number of feature points detected from the image captured by the camera.
  • the activation determination unit can select the activation camera based on a spatial distribution of feature points detected from the image captured by the camera.
  • the activation determination unit can select the activation camera based on the distribution of feature points detected from the image captured by the camera on the image.
  • the activation determination unit selects the activation camera based on the number of feature points detected from the image captured by the camera corresponding to the landmark indicated by the three-dimensional map used for the self-position estimation. Can be made.
  • the activation determination unit can be shifted from the sleep mode to the count mode at regular time intervals.
  • the activation determination unit may shift from the sleep mode to the count mode based on the number of feature points detected from the image captured by the activation camera in the sleep mode. it can.
  • the activation determination unit counts from the sleep mode based on a ratio of the number of feature points detected from the image captured by the activation camera in the sleep mode with respect to a reference feature number. It can be made to shift to the mode.
  • the activation determination unit can be shifted from the sleep mode to the count mode based on the result of the self-position estimation.
  • the activation determination unit can be shifted from the sleep mode to the count mode based on the moving distance or rotation amount of the camera.
  • the activation determination unit may select the activation camera based on a positional relationship between a self-position obtained by the self-position estimation and a landmark indicated by a three-dimensional map used for the self-position estimation. it can.
  • the activation determination unit can select the activation camera based on an image obtained by a wide-angle camera capable of photographing the observation field of view of each of the plurality of cameras.
  • the plurality of cameras can be arranged on a spherical surface or a circumference.
  • the control device may further include a self-position estimation unit that performs the self-position estimation based on the image taken by the activation camera.
  • a control method or program selects some of a plurality of cameras as activation cameras used for self-position estimation, and selects one of the plurality of cameras based on a selection result of the activation cameras.
  • some of the plurality of cameras are selected as activation cameras used for self-position estimation, and the activation cameras of the plurality of the cameras are selected based on a selection result of the activation cameras.
  • the activated camera is activated and an image is taken, and activation of the camera different from the activation camera among the plurality of cameras is stopped.
  • the self-position can be reliably estimated with lower power consumption.
  • This technology uses a plurality of cameras, more specifically, a plurality of cameras or camera sets to perform self-position estimation. This makes it possible to reliably estimate the self-position with sufficient accuracy.
  • the user 11 who is the target of self-position estimation is wearing four cameras 21-1 to 21-4, and these cameras 21-1 to 21-4 are mounted. Assume that the self-position of the user 11 is estimated using the image captured by the above.
  • the cameras 21-1 to 21-4 are also simply referred to as cameras 21 when it is not necessary to distinguish between them.
  • the front, rear, left, and right directions of the user 11 are photographed by the camera 21, so that the entire circumferential direction of the user 11 is observed by these four cameras 21. Therefore, a feature point can be detected from an image taken by at least one of the cameras 21, and the self-position of the user 11 (camera 21) can be reliably estimated with sufficient accuracy.
  • the power consumption of the camera 21 is n times that of the case where self-position estimation is performed using one camera 21. turn into.
  • the present technology only some of the plurality of cameras 21 are activated, and the remaining cameras 21 are temporarily deactivated, so that the power consumption of the camera 21 is reduced and sufficient.
  • the self-position can be estimated reliably with accuracy.
  • an image (hereinafter also referred to as a captured image) is captured by each camera 21, and the captured image obtained or the past Based on the result of the self-position estimation, the camera 21 that maintains the activated state is selected. That is, the camera 21 used for self-position estimation is selected.
  • the camera 21 having the largest number of feature points detected from the captured image is selected as the camera 21 in which the activated state is maintained.
  • two feature points are detected from the captured image obtained by the camera 21-1, and 16 feature points are detected from the captured image obtained by the camera 21-2. It is assumed that five feature points are detected from the captured image obtained by the camera 21-3. Further, it is assumed that eight feature points are detected from the captured image obtained by the camera 21-4.
  • the camera 21-2 having the largest number of feature points detected from the photographed image is selected as the camera 21 to be maintained in the activated state, and the remaining cameras 21 are temporarily activated, that is, in the sleep state. Selected as camera 21.
  • the activated state of the camera 21-2 is maintained as indicated by the arrow Q12, and the camera 21-1, the camera 21-3, and the camera 21-4 are temporarily activated and stopped (sleep state). It is said. In this state, feature points are detected from the captured image captured by the camera 21-2, and the self position of the user 11 is estimated based on the detection result.
  • a state in which all the cameras 21 are activated temporarily is also referred to as a count mode.
  • a state in which all the cameras 21 are activated temporarily is also referred to as a count mode.
  • a few cameras 21 are activated, and the activation of the remaining cameras 21 is temporarily referred to as a sleep mode.
  • the accuracy of self-position estimation by the activated camera 21 may be reduced due to movement of the user 11 or the like. That is, in this example, the number of feature points detected from the captured image obtained by the activated camera 21 may be reduced.
  • the start / stop state (sleep state) has been set so far at a predetermined timing.
  • the camera 21 that has been restored is returned to the activated state, and the camera 21 that is activated in the sleep mode is selected again.
  • state transition is performed from the sleep mode to the count mode, and all the cameras 21 are once activated. Then, the camera 21 to be activated when the sleep mode is set again is selected, and the mode is again shifted to the sleep mode according to the selection result.
  • the sleep mode and the count mode are switched at a predetermined timing, and in the sleep mode, the self-position estimation is performed by only some of the cameras 21 among the plurality of cameras 21, thereby lowering the position.
  • the self-position can be reliably estimated with the power consumption.
  • the number of cameras 21 to be activated in the sleep mode may be one or plural. Further, the number of cameras 21 to be activated in the sleep mode may be variable.
  • the camera 21 that is temporarily stopped in the sleep mode is also referred to as a start / stop camera
  • the camera 21 that is started in the sleep mode is also referred to as a start camera.
  • an index obtained from a captured image captured by each camera 21 in the count mode can be considered.
  • the subject should be observed by the camera 21. That is, a feature point corresponding to the subject should be detected from a captured image of a later frame.
  • the activation camera based on the distribution of feature points in the real space, with respect to the feature points detected from the captured image, the subject corresponding to the feature points and the camera 21 on the real space.
  • a score corresponding to the number of feature points detected from the captured image may be obtained by assigning a weight according to the distance.
  • the activation camera is selected based on the score of each camera 21.
  • the camera 21 that is observed for a longer number of feature points is selected as the activation camera, the time until the transition (transition) from the sleep mode to the next count mode is made longer.
  • the self-position can be estimated efficiently.
  • the photographed image is divided into several regions, and features are divided into regions divided by the grid (hereinafter referred to as divided regions). It is also possible to count the points and select the activation camera based on the count result.
  • the self-position can be estimated with higher accuracy, so that feature points are detected evenly in the entire captured image, that is, in each divided area.
  • the selected camera 21 may be selected as the activation camera.
  • the real space is divided into grids, and the number of feature points detected from the captured image in units of each divided space, that is, the number of object parts in the real space corresponding to the feature points And the activation camera may be selected based on the count result.
  • the landmarks registered in advance and sequentially registered landmarks on the three-dimensional coordinates corresponding to the real space are detected from the photographed image.
  • SLAM Simultaneous Localization And Mapping
  • the activation camera may be selected based on the positional relationship between the landmark and the self-position at the current time.
  • a landmark is a part of a subject in real space in which a feature point is detected from a captured image or a feature point can be detected from a captured image, and information indicating the position of each landmark when self-position estimation is performed. That is, a three-dimensional map indicating the landmark position information in the three-dimensional coordinate system is used.
  • a correspondence relationship between each feature point detected from captured images having different shooting times is obtained, and the user 11 (camera 21) is determined from the correspondence relationship between the feature points and the correspondence relationship between the feature points and the landmarks. ) Is determined by estimation.
  • the region observed by the camera 21 in real space that is, the shooting direction of the camera 21 can be specified from the current self-position and the angle of view of each camera 21. Further, from the shooting direction of each camera 21 and the position of each landmark shown in the three-dimensional map, the number of landmarks observed by each camera 21, that is, a feature corresponding to the landmark detected from the shot image. The number of points can be estimated.
  • the camera 21 in which the most landmarks are observed may be selected as the activation camera from the positional relationship between the current self-position and the landmarks shown in the three-dimensional map. By doing so, more feature points corresponding to the landmarks are detected, and the camera 21 that can estimate the self-position with higher accuracy can be selected as the activation camera.
  • the activation camera it is not necessary to detect a feature point from the captured image, and thus it is not necessary to shift from the sleep mode to the count mode. In other words, it is possible to operate while always switching the activation camera as necessary in the sleep mode.
  • a feature point is detected from a photographed image, and a feature point corresponding to a registered landmark is identified from among the detected feature points.
  • the camera 21 having the largest number of feature points corresponding to the landmarks included in the image may be used as the activation camera. In this case, it is necessary to shift to the count mode in order to select the activation camera.
  • a time stamp indicating the shooting time of the shot image may be used, or a counter or the like may be used.
  • the mode may be shifted from the sleep mode to the count mode.
  • the percentage of feature points corresponding to landmarks when using a percentage of feature points corresponding to landmarks, it corresponds to landmarks obtained in the current frame's captured image with respect to the number of feature points corresponding to landmarks obtained in the reference frame's captured image.
  • the percentage of the number of feature points to be compared is compared with a predetermined value.
  • the number and percentage of feature points detected from the captured image obtained with the startup camera in the sleep mode are used as a reference.
  • the mode may be shifted from the sleep mode to the count mode at a timing when the number of the feature points detected from the photographed image of the frame or the percentage thereof has decreased.
  • the mode may be shifted from the sleep mode to the count mode based on the self-position estimation result.
  • the mode may be shifted to the count mode.
  • the movement amount of the user 11 may be a movement amount on the captured image or a movement amount in the real space.
  • a sensor capable of measuring the amount of movement of the user 11 such as a gyro sensor may be used to shift from the sleep mode to the count mode when the amount of movement of the user 11 exceeds a certain value.
  • a sensor that can measure the position of the user 11 in the real space such as a GPS (Global Positioning System) sensor, when the moving distance from the predetermined position of the user 11 exceeds a predetermined value, the sleep mode is started. You may make it transfer to count mode.
  • GPS Global Positioning System
  • FIG. 2 is a diagram illustrating a configuration example of an embodiment of a self-position estimation system to which the present technology is applied.
  • the self-position estimation system shown in FIG. 2 includes cameras 51-1 to 51-K and an image processing device 52. Although an example in which the self-position estimation system estimates the self-position using a three-dimensional map will be described here, the self-position may be estimated by any other method.
  • Cameras 51-1 to 51-K are cameras corresponding to the camera 21 shown in FIG. 1, and are attached to the target of self-position estimation of the user or the like.
  • the cameras 51-1 to 51-K are also simply referred to as cameras 51 when it is not necessary to distinguish them.
  • the target of self-position estimation is assumed to be a user who wears a wearable device composed of the camera 51 and the image processing device 52, for example.
  • Each camera 51 can be observed by the camera 51 over the entire area around the user who is the subject of self-position estimation in real space, for example, arranged on the spherical surface or the circumference at equal intervals. Are arranged as follows.
  • Each camera 51 is connected to the image processing device 52 by wire or wireless.
  • the camera 51 captures an area around the user as a subject, and supplies a captured image obtained as a result to the image processing device 52. Further, the camera 51 enters a start stop state (sleep state) or returns from the start stop state to the start state in accordance with an instruction from the image processing device 52.
  • the camera 51 may be a monocular camera, or a camera set such as a stereo camera composed of two cameras on the left and right.
  • the camera 51 is a stereo camera including a left camera and a right camera.
  • a captured image obtained by the left camera configuring the camera 51 is also referred to as a left captured image
  • a captured image obtained by the right camera configuring the camera 51 is also referred to as a right captured image.
  • the image processing device 52 controls each camera 51 to put the camera 51 into a start / stop state or a start state, and estimates the user's own position based on the captured image supplied from the camera 51, The estimation result is output.
  • the image processing device 52 includes a self-position estimating unit 61, an activation determining unit 62, and an activation switching unit 63.
  • the self-position estimation unit 61 estimates the user's self-position based on the captured image supplied from the camera 51.
  • the self-position estimating unit 61 includes a feature point detecting unit 71, a landmark estimating unit 72, and a self-position calculating unit 73.
  • the feature point detection unit 71 detects a feature point from the captured image supplied from the camera 51 and supplies the detection result to the landmark estimation unit 72.
  • the landmark estimation unit 72 updates the three-dimensional map based on the feature point detection result supplied from the feature point detection unit 71 while referring to the self-position estimation result by the self-position calculation unit 73.
  • the landmark estimation unit 72 supplies the updated three-dimensional map and the feature point detection result supplied from the feature point detection unit 71 to the self-position calculation unit 73.
  • the self-position calculation unit 73 calculates the user's self-position by estimation based on the three-dimensional map supplied from the landmark estimation unit 72 and the feature point detection result, and outputs the calculation result to a subsequent block. .
  • the self-position estimation unit 61 supplies various types of information to the activation determination unit 62 as necessary, such as feature point detection results, landmark positions indicated by a three-dimensional map, and self-position estimation results.
  • the activation determination unit 62 shifts the state of the self-position estimation system to the count mode or the sleep mode based on the information supplied from the self-position estimation unit 61. In addition, the activation determination unit 62 selects an activation camera used for self-position estimation at the timing of shifting to the count mode based on the information supplied from the self-position estimation unit 61, and the selection result is the activation switching unit 63. To supply.
  • the activation switching unit 63 controls the activation and operation of the camera 51 based on the selection result of the activation camera supplied from the activation determination unit 62 and the activation instruction of the camera 51. That is, the activation switching unit 63 causes the camera 51 to be in an activated state to capture a captured image, or causes the camera 51 to sleep (start / stop).
  • the activation determination unit 62 and the activation switching unit 63 provided in the image processing device 52 function as a control device that selects an activation camera used for self-position estimation and controls the activation of the camera 51 based on the selection result.
  • the image processing device 52 is configured to include the activation determination unit 62, the activation switching unit 63, and the self-position estimation unit 61, but the activation determination unit 62, the activation switching unit 63, and the self-position estimation.
  • the unit 61 may be provided in a different device.
  • the self-position estimation system When the user's self-position estimation start is instructed, the self-position estimation system performs self-position estimation processing and outputs a user's self-position estimation result.
  • self-position estimation processing by the self-position estimation system will be described with reference to the flowchart of FIG.
  • step S11 the activation determination unit 62 determines whether or not the sleep mode is set based on the activation state of the camera 51.
  • step S11 If it is determined in step S11 that the sleep mode is set, the process proceeds to step S12.
  • step S12 the activation determination unit 62 determines that the difference tt k between the time stamp t indicating the shooting time of the captured image obtained by the camera 51 and the reference time stamp t k indicating the stored reference time is predetermined. It is determined whether it is less than the threshold value ⁇ , that is, whether tt k ⁇ .
  • the activation determination unit 62 holds the time stamp t of the captured image when the transition from the count mode to the sleep mode is made last (reference time stamp t k ).
  • the activation determination unit 62 acquires the time stamp t indicating the current time from the camera 51 via the activation switching unit 63, and the acquired time stamp t and the retained reference time stamp t k . To determine whether tt k ⁇ .
  • the activation determination unit 62 itself manages the time. Or other time information may be acquired.
  • the activation determination unit 62 may start counting time when the sleep mode is set, and specify whether a predetermined time has elapsed.
  • step S12 If it is determined in step S12 that tt k ⁇ is not satisfied, that is, it is determined that a predetermined time has elapsed since the sleep mode has been entered, the activation determining unit 62 instructs the activation switching unit 63 to activate all the cameras 51, and the processing is performed. Proceed to step S13.
  • step S ⁇ b> 13 the activation switching unit 63 activates all the cameras 51 in response to an instruction from the activation determination unit 62. As a result, the camera 51 that has been in the sleep state is restored, and all the cameras 51 are activated. Then, each camera 51 captures a surrounding subject and supplies a captured image obtained as a result to the feature point detection unit 71.
  • step S14 the activation determination unit 62 shifts the state of the self-position estimation system from the sleep mode to the count mode. Thereafter, the process returns to step S11, and the above-described process is repeated.
  • step S12 determines whether the activation determination unit 62 has been determined that the predetermined time has not yet elapsed since the sleep mode has been entered. If it is determined in step S12 that tt k ⁇ , that is, it has been determined that the predetermined time has not yet elapsed since the sleep mode has been entered, the activation determination unit 62 sets the sleep mode state in step S15. maintain.
  • step S15 self-position estimation in the sleep mode is continuously performed. If the process of step S15 is performed, the process then proceeds to step S25.
  • step S11 If it is determined in step S11 that the mode is not the sleep mode, that is, if it is the count mode, the process proceeds to step S16.
  • the value of the counter i is also used as a camera index that identifies the camera 51 to be processed.
  • step S17 the activation determination unit 62 determines whether all the cameras 51 have been processed. For example, in the example shown in FIG. 2, since the number of cameras 51 is K, if the value of the counter i is less than K, that is, if i ⁇ K, all cameras 51 are still processed. Is determined not to have been performed.
  • step S17 If it is determined in step S17 that processing has not been performed for all the cameras 51, the processing proceeds to step S18.
  • step S18 the feature point detection unit 71 detects a feature point from the captured image supplied from the counter 51, that is, the processing target camera 51 specified by the value of the camera index i.
  • the captured image to be detected as the feature point in step S18 is an image captured by the processing target camera 51 in the count mode.
  • the camera 51 is a stereo camera
  • the left captured image and the right captured image are supplied as captured images from the processing target camera 51 to the feature point detection unit 71.
  • the feature point detection unit 71 uses, for example, a corner detection algorithm such as Harris corner detection or SIFT (Scale Invariant Feature Transform) to detect a feature point from either the left photographed image or the right photographed image supplied from the camera 51 to be processed. To detect.
  • a corner detection algorithm such as Harris corner detection or SIFT (Scale Invariant Feature Transform)
  • the activation determination unit 62 determines the number of feature points n indicating the number of feature points detected from the photographed image obtained by the camera 51 to be processed, more specifically, either the left photographed image or the right photographed image.
  • the feature point number n max that is the maximum value of the feature point number n obtained for the camera 51 to be processed so far is compared, and it is determined whether or not n> n max . That is, is the feature point number n obtained for the camera 51 to be processed larger than the feature point number n max that is the maximum value of the feature points n obtained so far after the count mode is finally reached? It is determined whether or not.
  • the activation determination section 62 that holds the value of the counter i when the obtained feature points n max, the value of the camera index i max identifying the camera 51 in which the number of feature points n max is obtained To do. Note that the values of the number of feature points n max and the camera index i max are reset when the counter i is reset.
  • step S19 If it is determined in step S19 that n> n max is not satisfied, the process of step S20 is skipped and the process proceeds to step S21.
  • the activation determination section 62 value of the feature points n max held updates the number of feature points n max to a value obtained feature points n the camera 51 to be processed. Further, the activation determination section 62 value of camera index i max being held camera index i indicating the camera 51 to be processed, and updates the camera index i max so that is a value of the counter i at the present time.
  • the value of the camera index i max at that time is the value of the camera index i indicating the camera 51 having the largest number of feature points detected from the photographed image at the present time.
  • the value of the number of feature points n max is the value of the number of feature points n obtained for the camera 51 indicated by the camera index i max , that is, the maximum number of feature points detected from the captured image at the current time.
  • step S20 If the number of feature points n max and the camera index i max are updated in step S20, then the process proceeds to step S21.
  • step S20 If the number of feature points n max and the camera index i max are updated in step S20, or if it is determined that n> n max is not satisfied in step S19, the activation determination unit 62 sets the value of the counter i held in step S21. Increment by one. Thereafter, the process returns to step S17, and the above-described process is repeated.
  • step S17 If it is determined in step S17 that the processing has been performed for all the cameras 51, that is, if the counter i ⁇ K and the final number of feature points n max and the camera index i max are obtained, the processing proceeds to step S22. Proceed to
  • step S22 the activation determination unit 62 shifts the state of the self-position estimation system from the count mode to the sleep mode.
  • the activation determination unit 62 acquires the time stamp t indicating the current time from the camera 51 via the activation switching unit 63, and the value of the held reference time stamp t k is the newly acquired time stamp t.
  • the reference time stamp t k is updated so that the value becomes.
  • the time stamp t at the time of transition from the count mode to the sleep mode is set as a new reference time stamp t k .
  • the activation determination unit 62 selects the camera 51 indicated by the camera index i max as the activation camera that is activated in the sleep mode, and supplies the selection result to the activation switching unit 63.
  • step S24 the activation switching unit 63 controls each camera 51 based on the selection result of the activation camera supplied from the activation determination unit 62, and keeps only the camera 51 indicated by the camera index i max activated. Then, the activation of the remaining cameras 51 is temporarily stopped. In addition, the activation switching unit 63 controls the camera 51 as the activation camera to capture a captured image.
  • feature points are detected from the captured image taken in the count mode, and as a result, one camera 51 in which the most feature points are detected, that is, with the highest accuracy.
  • the camera 51 that can reliably estimate the self-position is the start camera, and the other cameras 51 are start and stop cameras. As a result, while the self-position is reliably estimated with sufficient accuracy by the activation camera, the activation of the other cameras 51 can be stopped to reduce the power consumption.
  • step S24 If the activation control of the camera 51 is performed according to the selection result of the activation camera in step S24, then the process proceeds to step S25.
  • step S24 When activation control of the camera 51 is performed in step S24 or the sleep mode is maintained in step S15, the camera 51, which is the activation camera, captures a surrounding subject in step S25, and the result is obtained.
  • the captured image is supplied to the feature point detection unit 71.
  • the start / stop camera is in a start / stop state without performing shooting.
  • step S ⁇ b> 26 the feature point detection unit 71 detects feature points from the left and right captured images supplied as captured images from the camera 51 serving as the activation camera by, for example, a corner detection algorithm such as Harris corner detection or SIFT. The detection result is supplied to the landmark estimation unit 72.
  • a corner detection algorithm such as Harris corner detection or SIFT.
  • step S ⁇ b> 27 the landmark estimation unit 72 determines the result of the last self-position estimation, the feature point detection result for the captured image used for the self-position estimation, and the interocular distance (baseline of the camera 51). Landmark estimation based on (length).
  • the landmark estimation unit 72 acquires the result of the last self-position estimation performed and the feature point detection result at that time from the self-position calculation unit 73. And the landmark estimation part 72 is based on the feature point detection result about the picked-up image used for the self-position estimation performed at the end, the feature point on a left picked-up image, and the feature point on a right picked-up image Parallax matching is performed to obtain the corresponding relationship.
  • the parallax of the feature points on the captured image is obtained from the positional relationship between the feature points corresponding to each other, that is, the feature points on the left captured image extracted from the same part of the subject and the feature points on the right captured image.
  • the feature points for which the parallax is obtained are feature points corresponding to the respective landmarks shown in the three-dimensional map held by the landmark estimation unit 72.
  • the landmark estimation unit 72 is finally performed with the parallax of the feature points corresponding to the landmarks obtained in this way, the interocular distance that is the distance between the left camera and the right camera constituting the camera 51, and finally.
  • the position of the landmark in real space (three-dimensional coordinate system) is obtained from the result of self-position estimation. Then, the landmark estimation unit 72 updates the held three-dimensional map based on the obtained landmark position.
  • step S27 may be executed when the self-position estimation is performed last.
  • the landmark estimation unit 72 supplies the self-position calculation unit 73 with the three-dimensional map updated in this way and the feature point detection result supplied from the feature point detection unit 71 as a result of the current step S26. .
  • step S28 the self-position calculation unit 73 performs self-position estimation based on the feature point detection result and the three-dimensional map supplied from the landmark estimation unit 72 and the result of the last self-position estimation performed. Do.
  • the self-position calculation unit 73 this time based on the movement amount of the feature point on the captured image when the self-position estimation was performed last time or the movement amount of the camera 51 in the real space at this time. Define the matching range for estimation.
  • the self location calculating unit 73 when searching for a feature point corresponding to a feature point corresponding to a landmark on the previously obtained captured image from the currently obtained captured image, the self location calculating unit 73 previously estimated the self location. Based on the amount of movement of the feature points when the above is performed, a region to be searched on the captured image, that is, a region where the corresponding feature point will exist is determined as a matching range.
  • the self-position calculation unit 73 targets the matching range of the captured image obtained this time, and includes the feature points included in the matching range, the previous time, A matching process is performed for obtaining a correspondence relationship with the feature point detected from the captured image when the self-position estimation is performed. Thereby, the correspondence between the feature point corresponding to the landmark on the previously obtained photographed image and the feature point on the photographed image obtained this time extracted from the same part as the feature point is obtained.
  • the matching process may be performed on only one of the left captured image and the right captured image, or may be performed on both captured images.
  • the self-position calculation unit 73 determines the user's position at the current time based on the correspondence between the feature points corresponding to the landmarks obtained in this way and the position of each landmark indicated by the updated three-dimensional map. The position and orientation are calculated as the self position.
  • the position and posture of the user are the real space, that is, the position of the user in the three-dimensional coordinate system and the direction in which the user is facing. More specifically, the direction in which the user is facing, that is, the posture of the user is expressed by, for example, the yaw angle, roll angle, and pitch angle of the user's head.
  • the self-position calculation unit 73 outputs the result of the self-position estimation to the subsequent stage. Thereafter, the process returns to step S11, and the above-described process is repeated. In addition, when an instruction to end estimation of the user's own position is given, the self-position estimation process ends.
  • the self-position estimation system shifts to the count mode when a predetermined time elapses after entering the sleep mode, reselects the activation camera, and shifts to the sleep mode again. In this manner, by reselecting the activation camera at regular time intervals and shifting to the sleep mode again, self-position estimation can be performed with lower power consumption.
  • the self-position can be reliably estimated with sufficient accuracy even with low power consumption. Can do.
  • the self-position estimation method performed based on the captured image obtained by the camera 51 may be any method.
  • the camera 51 may be a monocular camera.
  • the self-position estimation unit 61 can perform self-position estimation using SLAM or the like.
  • the self-position estimation unit 61 based on the amount of movement of the user on the real space (three-dimensional coordinate system) when the self-position estimation was last performed, approximates the user's approximate self at the current time. The position is estimated and a matching range on the captured image is obtained.
  • the self-position estimation unit 61 targets the matching range in the captured image obtained this time, and the correspondence between the feature point in the matching range and the feature point corresponding to the landmark in the previously acquired captured image.
  • the relationship is obtained by a matching process.
  • this matching processing the movement amount of the feature point corresponding to the landmark on the photographed image is obtained.
  • the self-position estimation unit 61 calculates the final self-position at the current time, the actual position from the movement amount of the feature point corresponding to the landmark on the captured image, and the self-position indicated by the previous self-position estimation result.
  • the landmark position in the space is calculated.
  • the self-position estimating unit 61 appropriately updates the three-dimensional map based on the obtained landmark position.
  • step S51 to step S58 is the same as the processing from step S11 to step S18 in FIG.
  • the activation determination part 62 includes a number of feature points n obtained for the camera 51 to be processed is compared with a threshold value n th predetermined It is determined whether n> n th .
  • the threshold value n th is, for example, the number of feature points required to perform self-position estimation with sufficient accuracy. Therefore, the camera 51 in which a number of feature points greater than the threshold value n th is detected from the captured image is a camera 51 that can perform self-position estimation with sufficient accuracy, that is, a camera 51 that should be a start-up camera. Can do.
  • step S59 when it is determined in step S59 that n> n th , the activation determination unit 62 selects the processing target camera 51 as the activation camera, supplies the selection result to the activation switching unit 63, and the process proceeds to step S60. Proceed to
  • the camera 51 having the feature point number greater than the threshold value is set as the activation camera.
  • a predetermined number of cameras 51 are activated in descending order of the feature point number from among the camera 51 items having the feature point number greater than the threshold value. You may make it select as a camera.
  • step S60 the activation switching unit 63 activates the processing target camera 51 based on the selection result of the activation camera supplied from the activation determination unit 62, and the process proceeds to step S62. That is, the processing target camera 51 is kept activated.
  • step S59 if n> n th is not satisfied in step S59, that is, if the number of feature points n obtained for the processing target camera 51 is equal to or less than the threshold value n th , the activation determination unit 62 sets the processing target camera 51 as the activation stop camera. The selection result is supplied to the activation switching unit 63, and the process proceeds to step S61.
  • step S61 the activation switching unit 63 temporarily stops activation of the processing target camera 51 based on the selection result of the activation / deactivation camera supplied from the activation determination unit 62, and the process proceeds to step S62. That is, the camera 51 to be processed is put into a sleep state.
  • step S60 If the camera 51 is activated in step S60 or the activation of the camera 51 is stopped in step S61, the activation determination unit 62 increments the value of the counter i held by 1 in step S62. Thereafter, the process returns to step S57, and the above-described process is repeated.
  • step S57 If it is determined in step S57 that processing has been performed for all the cameras 51, the activation determination unit 62 shifts the state of the self-position estimation system from the count mode to the sleep mode in step S63.
  • step S64 If the reference time stamp t k is updated in step S64 or the sleep mode is maintained in step S55, then the processing in steps S65 to S68 is performed, the processing returns to step S51, and the above processing is performed. Repeatedly. In addition, when an instruction to end estimation of the user's own position is given, the self-position estimation process ends.
  • or step S68 is the same as the process of step S25 thru
  • the self-position calculation unit 73 sets one self-position obtained based on the self-position such as an average value of the self-position obtained for each camera 51 as a final self-position. Further, instead of calculating the final self-position after obtaining the self-position for each activation camera, the calculation results for each activation camera may be integrated into one in the self-position calculation process.
  • the self-position estimation system shifts to the count mode when a predetermined time elapses after entering the sleep mode, reselects the activation camera, and shifts to the sleep mode again. Thereby, self-position estimation can be performed with lower power consumption.
  • the self-position is reliably estimated with sufficient accuracy even with low power consumption. can do.
  • the activation camera is selected based on the number of feature points detected from the captured image.
  • one camera 51 in which more feature points are detected uniformly from the entire captured image. May be selected as the activation camera.
  • step S91 to step S98 is the same as the processing from step S11 to step S18 in FIG.
  • step S99 the activation determination unit 62 acquires the feature point detection result in step S98 from the feature point detection unit 71, and obtains the feature point area S based on the detection result.
  • the activation determination unit 62 uses a rectangular region having a predetermined size centered on a feature point detected from the captured image as a feature region. Further, for each pair of feature points, the activation determination unit 62 calculates the area of the portion where the two feature regions overlap each other, and calculates the sum of the calculated areas as the area of the feature regions of all feature points. A value obtained by subtracting from the sum is defined as a feature point area S.
  • the feature point area S thus obtained increases as more feature points are detected from the captured image. Further, as feature points are detected more uniformly from each region of the captured image, the region where the feature regions overlap each other becomes smaller, and as a result, the feature point area S increases.
  • the camera 51 having the largest feature point area S is the most suitable for use in self-position estimation in which more feature points are detected uniformly from the entire captured image. It can be said that.
  • selecting the activation camera based on the feature point area S in this way is selecting the activation camera based on the distribution of the feature points on the captured image obtained in the count mode.
  • step S100 the activation determination unit 62 determines the feature point area S obtained for the camera 51 to be processed and the feature point area S obtained for the camera 51 that has been processed so far after the count mode is finally entered. Is compared with the feature point area S max , which is the maximum value, and it is determined whether or not S> S max . That is, it is determined whether or not the feature point area S obtained for the processing target camera 51 is larger than the feature point area S max that is the maximum value of the feature point areas S obtained so far.
  • the activation determination section 62 holds the value of the counter i when the obtained feature point area S max, the value of the camera index i max identifying the camera 51 to which the feature point area S max is obtained Shall.
  • step S100 If it is determined in step S100 that S> S max is not satisfied, the process of step S101 is skipped, and the process proceeds to step S102.
  • the activation determination unit 62 the value of the feature point area S max held updates the feature point area S max to a value obtained feature point area S of the processing target camera 51. Further, the activation determination section 62 value of camera index i max being held camera index i indicating the camera 51 to be processed, and updates the camera index i max so that is a value of the counter i at the present time.
  • the value of the camera index i max at that time becomes the value of the camera index i indicating the camera 51 having the largest feature point area S at the current time.
  • the value of the feature point area S max is the value of the feature point area S obtained for the camera 51 indicated by the camera index i max , that is, the maximum value of the feature point area S at the present time.
  • step S101 If the feature point area S max and the camera index i max are updated in step S101, then the process proceeds to step S102.
  • step S101 If the feature point area S max and the camera index i max are updated in step S101, or if it is determined in step S100 that S> S max is not satisfied, the activation determination unit 62 holds the value of the counter i in step S102. Is incremented by one. Thereafter, the process returns to step S97, and the above-described process is repeated.
  • step S97 If it is determined in step S97 that all the cameras 51 have been processed, the activation determination unit 62 shifts the state of the self-position estimation system from the count mode to the sleep mode in step S103.
  • the activation determination unit 62 selects the camera 51 indicated by the camera index i max as the activation camera that is activated in the sleep mode, and supplies the selection result to the activation switching unit 63.
  • step S105 the activation switching unit 63 activates only the camera 51 indicated by the camera index i max based on the activation camera selection result supplied from the activation determination unit 62, and activates the remaining cameras 51. Is temporarily stopped.
  • the camera 51 most suitable for self-position estimation is set as the start camera, and the other cameras 51 are set as start and stop cameras.
  • the activation of the other cameras 51 can be stopped to reduce the power consumption.
  • step S105 If the activation control of the camera 51 has been performed in step S105 or the sleep mode is maintained in step S95, then the processing from step S106 to step S109 is performed, the processing returns to step S91, and the processing described above is performed. Repeatedly. In addition, when an instruction to end estimation of the user's own position is given, the self-position estimation process ends.
  • or step S109 is the same as the process of step S25 thru
  • the self-position estimation system shifts to the count mode when a predetermined time elapses after entering the sleep mode, reselects the activation camera, and shifts to the sleep mode again. Thereby, self-position estimation can be performed with lower power consumption.
  • the self-position is reliably estimated with sufficient accuracy even with low power consumption. can do.
  • the camera 51 that can observe the most landmarks may be used as the activation camera.
  • step S131 to step S137 is the same as the processing from step S11 to step S17 in FIG.
  • step S137 If it is determined in step S137 that all the cameras 51 have not been processed, the process proceeds to step S138.
  • step S138 the self-position estimation unit 61 performs self-position estimation based on the captured image supplied from the counter 51, that is, the processing target camera 51 specified by the value of the camera index i. This photographed image is obtained by photographing in the count mode.
  • the feature point detection unit 71 of the self-position estimation unit 61 detects a feature point from the captured image supplied from the processing target camera 51, and sends the detection result to the self-position calculation unit 73 via the landmark estimation unit 72. Supply. Further, the landmark estimation unit 72 performs a process similar to the process of step S27 in FIG. 3 as necessary, and updates the held three-dimensional map.
  • the self-position calculating unit 73 detects the feature points from the photographed image when the self-position estimation is performed last, and the photographing obtained by the camera 51 with the camera index i supplied from the landmark estimating unit 72. Based on the detection results of the feature points for the images, the correspondence between the feature points detected from the captured images is obtained.
  • the self-position calculation unit 73 calculates the position and orientation of the user at the current time as the self-position based on the correspondence between the feature points obtained in this way and the updated three-dimensional map.
  • step S139 the self-position calculation unit 73 uses the captured image obtained by the camera 51 to be processed, which is the camera index i, based on the self-position at the current time obtained in the process of step S138 and the three-dimensional map.
  • the number of landmarks to be observed is determined as the number m of landmarks in the field of view. That is, the number of feature points corresponding to the landmarks shown in the three-dimensional map included in the photographed image is the number m of landmarks in the visual field.
  • the self-position estimation unit 61 supplies the number m of in-view landmarks obtained in this way to the activation determination unit 62.
  • the activation determination unit 62 performs processing so that the camera 51 with the largest number of landmarks m in the visual field is selected as the activation camera.
  • step S140 the activation determination unit 62 determines the number m of in-view landmarks supplied from the self-position estimation unit 61 and the in-view land obtained for the camera 51 to be processed so far after the count mode is entered. comparing the in-field landmark number m max is the maximum value of the number of marks m, determines whether or not m> m max. That is, whether or not the number of in-field landmarks m obtained for the camera 51 to be processed is larger than the number of in-field landmarks m max that is the maximum value of the in-field landmark numbers m obtained so far. Is determined.
  • the value of the counter i when the activation determination section 62 to field within landmark number m max is obtained as the value of the camera index i max identifying the camera 51 whose field of view landmark number m max was obtained It shall be held.
  • step S140 If it is determined in step S140 that m> m max is not satisfied, the process of step S141 is skipped, and the process proceeds to step S142.
  • the activation determination unit 62 holds the number m max in the field of view so that the number m max of the landmarks in the field of view held is the value of the number m of landmarks in the field of view obtained for the camera 51 to be processed. Update. Further, the activation determination section 62 value of camera index i max being held camera index i indicating the camera 51 to be processed, and updates the camera index i max so that is a value of the counter i at the present time.
  • the value of the camera index i max at that time becomes the value of the camera index i indicating the camera 51 with the largest number of landmarks in the field of view at the present time.
  • the value of the in-view landmark number m max is the value of the in-view landmark number m obtained for the camera 51 indicated by the camera index i max , that is, the maximum value of the in-view landmark number m at the present time.
  • step S141 If the number of in-viewpoint landmarks m max and the camera index i max are updated in step S141, then the process proceeds to step S142.
  • step S141 If it is determined in step S141 that the number of in-viewpoint landmarks m max and the camera index i max have been updated or m> m max is not satisfied in step S140, the activation determination unit 62 holds the counter i in step S142. Is incremented by one. Thereafter, the process returns to step S137, and the above-described process is repeated.
  • step S137 If it is determined in step S137 that processing has been performed for all the cameras 51, then the processing in steps S143 to S145 is performed, and the camera 51 having the largest number of landmarks in the field of view is used as the startup camera. Selected. Note that the processing from step S143 to step S145 is the same as the processing from step S22 to step S24 in FIG.
  • step S145 when the activation control of the camera 51 is performed in step S145 or the sleep mode is maintained in step S135, the processing from step S146 to step S149 is performed, the processing returns to step S131, and the above processing is repeated. Done.
  • the self-position estimation process ends.
  • or step S149 is the same as the process of step S25 thru
  • the self-position estimation system shifts to the count mode when a predetermined time elapses after entering the sleep mode, reselects the activation camera, and shifts to the sleep mode again. Thereby, self-position estimation can be performed with lower power consumption.
  • the self-position can be reliably estimated with sufficient accuracy even with low power consumption. it can.
  • step S171 is the same as the process in step S11 in FIG.
  • step S171 When it is determined in step S171 that the sleep mode is set, the activation determination unit 62 acquires the self-position calculation result at the current time as the self-position x from the self-position calculation unit 73 of the self-position estimation unit 61. Proceed to step S172.
  • step S172 the activation determination unit 62 determines that the distance
  • Activation determination unit 62 the user of the self-position x of the last transition from the count mode to the sleep mode (transition) was time holds as the reference self-position x k.
  • step S172 it is determined whether the distance
  • step S172 If it is determined in step S172 that
  • step S173 and step S174 are performed, the process returns to step S171, and the above-described processes are repeated.
  • the description is abbreviate
  • step S172 If it is determined in step S172 that
  • step S185 When the sleep mode state is maintained, the process proceeds to step S185.
  • step S171 If it is determined in step S171 that the mode is not the sleep mode, that is, if it is the count mode, the process proceeds to step S176.
  • step S176 to step S182 is performed. Since these processing are the same as the processing from step S16 to step S22 in FIG. 3, the description thereof is omitted.
  • the activation determination section 62 the reference self-position x k being held, so that the self-position x of the current time, and updates the reference self-position x k.
  • the self-position at the time of the transition to the sleep mode from the count mode will be a new reference own position x k.
  • step S184 is performed thereafter, and the process proceeds to step S185.
  • the process of step S184 is the same as the process of step S24 of FIG. Description is omitted.
  • step S184 If activation control of the camera 51 has been performed in step S184 or the sleep mode is maintained in step S175, the processing in steps S185 to S188 is performed, the processing returns to step S171, and the above-described processing is repeated. . In addition, when an instruction to end estimation of the user's own position is given, the self-position estimation process ends.
  • or step S188 is the same as the process of step S25 thru
  • the self-position estimation system shifts to the count mode when the self-position moves by a predetermined distance or more after entering the sleep mode, reselects the start camera, and shifts to the sleep mode again. Thereby, self-position estimation can be performed with lower power consumption.
  • the self position can be estimated.
  • step S211 to step S218 is the same as the processing from step S171 to step S178 in FIG.
  • step S219 when the feature points are detected in step S218, then, it is performed the processing of step S219 to step S223, wherein the number n is the threshold value n th greater the camera 51 is selected as the boot cameras. Note that the processing from step S219 to step S223 is the same as the processing from step S59 to step S63 in FIG.
  • step S224 processing similar to that in step S183 in FIG. 7 is performed.
  • step S224 the reference self-position x k is updated in step S224, or if the sleep mode is maintained in step S215, the process returns to step S225 through step process performed by the processing of S228 is step S211, is performed repeatedly the processing described above .
  • step S211 is performed repeatedly the processing described above .
  • the self-position estimation process ends.
  • or step S228 is the same as the process of step S25 thru
  • the self-position estimation system shifts to the count mode when the self-position moves by a predetermined distance or more after entering the sleep mode, reselects the start camera, and shifts to the sleep mode again. Thereby, self-position estimation can be performed with lower power consumption.
  • the self-position can be reliably estimated.
  • ⁇ Modification 2 of the second embodiment> ⁇ Description of self-location estimation processing>
  • the activation camera is selected based on the feature point area S as described with reference to FIG. Also good.
  • step S251 to step S258 is the same as the processing from step S171 to step S178 in FIG.
  • step S258 the processing from step S259 to step S263 is performed thereafter, and the camera 51 having the maximum feature point area S is selected as the activation camera. Note that the processing from step S259 to step S263 is the same as the processing from step S99 to step S103 in FIG.
  • step S264 processing similar to that in step S183 in FIG. 7 is performed.
  • step S265 When the reference self-position xk is updated, the process of step S265 is performed thereafter, and the process proceeds to step S266.
  • the process of step S265 is the same as the process of step S24 of FIG. Description is omitted.
  • step S265 When the activation control of the camera 51 is performed in step S265 or the sleep mode is maintained in step S255, the processing from step S266 to step S269 is performed, the processing returns to step S251, and the above-described processing is repeatedly performed. . In addition, when an instruction to end estimation of the user's own position is given, the self-position estimation process ends.
  • or step S269 is the same as the process of step S25 thru
  • the self-position estimation system shifts to the count mode when the self-position moves by a predetermined distance or more after entering the sleep mode, reselects the start camera, and shifts to the sleep mode again. Thereby, self-position estimation can be performed with lower power consumption.
  • the self-position can be reliably estimated.
  • the activation camera is selected based on the number m of landmarks in the field of view. It may be.
  • step S291 to step S297 is the same as the processing from step S171 to step S177 in FIG.
  • step S297 When it is determined in step S297 that all the cameras 51 have been processed, the processes from step S298 to step S303 are performed, and the camera 51 having the largest number of landmarks in the field of view is set as the activation camera. Selected. Note that the processing from step S298 to step S303 is the same as the processing from step S138 to step S143 in FIG.
  • step S304 processing similar to that in step S183 in FIG. 7 is performed.
  • step S305 is performed thereafter, and the process proceeds to step S306.
  • the process of step S305 is the same as the process of step S24 of FIG. Description is omitted.
  • step S305 If activation control of the camera 51 has been performed in step S305 or the sleep mode is maintained in step S295, the processing in steps S306 to S309 is performed, the processing returns to step S291, and the above-described processing is repeatedly performed. . In addition, when an instruction to end estimation of the user's own position is given, the self-position estimation process ends.
  • or step S309 is the same as the process of step S25 thru
  • the self-position estimation system shifts to the count mode when the self-position moves by a predetermined distance or more after entering the sleep mode, reselects the start camera, and shifts to the sleep mode again. Thereby, self-position estimation can be performed with lower power consumption.
  • the activation camera by reselecting the activation camera at the timing when the self position has moved more than a predetermined distance and selecting the camera 51 that can observe the most landmarks as the activation camera, it is possible to ensure the self with sufficient accuracy even with low power consumption.
  • the position can be estimated.
  • the mode may be shifted to the count mode at a timing when the ratio of the number of feature points to be detected from the captured image obtained by the startup camera in the sleep mode is reduced. Good.
  • step S331 is the same as the processing in step S11 in FIG.
  • the activation determination unit 62 determines the number of feature points detected from the latest captured image of the activation camera from the feature point detection unit 71 of the self-position estimation unit 61. As n, the process proceeds to step S332.
  • the latest captured image that is the acquisition target of the number of feature points n is a captured image captured by the activation camera in the sleep mode.
  • step S332 whether the latest number of feature points n activation determination unit 62 acquired, the ratio n / n k of the reference feature points n k is a number of feature points as a reference holding is less than a predetermined threshold value ⁇ It is determined whether or not n, n k ⁇ .
  • the activation determination unit 62 holds the maximum value of the number of feature points obtained for the captured image of each camera 51 when the mode finally shifts from the count mode to the sleep mode as the reference feature point number n k . Therefore, in the process of step S332, it is determined how much the ratio of the number of feature points of the starting camera at the current time with respect to the maximum value of the number of feature points at that time has decreased with reference to the time when the sleep mode is entered. . Then, for example, when the number of feature points observed at the current time decreases and n / n k ⁇ , control is performed to shift from the sleep mode to the count mode.
  • step S332 when n / n k ⁇ , that is, after entering the sleep mode, when it is determined that the number of feature points to be observed has decreased and the number of feature points is not sufficient, the activation determination unit 62 activates the activation switching unit. 63 is instructed to start all the cameras 51, and the process proceeds to step S333.
  • step S333 and step S334 the processing returns to step S331, and the above-described processing is repeatedly performed.
  • the process of step S333 and step S334 is the same as the process of step S13 and step S14 of FIG. 3, the description is abbreviate
  • step S332 If it is determined in step S332 that n / n k ⁇ is not satisfied, that is, a sufficient number of feature points are observed, the activation determination unit 62 maintains the sleep mode state in step S335. To do.
  • step S331 If it is determined in step S331 that the mode is not the sleep mode, that is, if the mode is the count mode, the process proceeds to step S336.
  • or step S342 is performed, Since these processes are the same as the process of step S16 thru
  • the activation determination unit 62 determines that the stored reference feature number n k is the maximum number of feature points detected from the captured image at the current time, that is, the feature points detected from the captured image in the process of step S338.
  • the reference feature point number n k is updated so that the feature point number n max which is the maximum value of the number of feature points is updated.
  • the maximum value of the number of feature points at the time of transition from the count mode to the sleep mode is set as a new reference feature point number nk .
  • feature points n max that is the reference feature points n k is the same as the number of feature points n max obtained by the processing in step S340.
  • step S344 When the number of reference feature points n k is updated, the process of step S344 is performed thereafter, and the process proceeds to step S345.
  • the process of step S344 is the same as the process of step S24 of FIG. Description is omitted.
  • step S344 If the activation control of the camera 51 is performed in step S344 or the sleep mode is maintained in step S335, the processes in steps S345 to S348 are performed, the process returns to step S331, and the above-described processes are repeated. . In addition, when an instruction to end estimation of the user's own position is given, the self-position estimation process ends.
  • or step S348 is the same as the process of step S25 thru
  • the self-position estimation system shifts to the count mode when the ratio of the reference feature point number and the feature point number at the current time decreases to less than the threshold after entering the sleep mode, reselects the activation camera, Shift to sleep mode again.
  • self-position estimation can be performed with lower power consumption.
  • ⁇ Variation 1 of the third embodiment> ⁇ Description of self-location estimation processing> Also, when determining whether to shift to the count mode based on the ratio of the number of feature points, as described with reference to FIG. 4, one or a plurality of cameras 51 are selected as activation cameras. Also good.
  • step S371 to step S378 is the same as the processing from step S331 to step S338 in FIG.
  • step S378 If a feature point is detected in step S378, the processing from step S379 to step S383 is performed thereafter, and the camera 51 having the feature point number n greater than the threshold value n th is selected as the activation camera. Note that the processing from step S379 to step S383 is the same as the processing from step S59 to step S63 in FIG.
  • step S384 processing similar to that in step S343 in FIG. 11 is performed.
  • step S385 to step S388 is performed, the processing returns to step S371, and the above-described processing is repeatedly performed.
  • the self-position estimation process ends.
  • or step S388 is the same as the process of step S25 thru
  • the self-position estimation system shifts to the count mode when the ratio of the reference feature point number and the feature point number at the current time decreases to less than the threshold after entering the sleep mode, reselects the activation camera, Shift to sleep mode again.
  • self-position estimation can be performed with lower power consumption.
  • the self-position can be reliably estimated with sufficient accuracy.
  • the activation camera may be selected based on the feature point area S as described with reference to FIG. Good.
  • step S411 to step S418 is the same as the processing from step S331 to step S338 in FIG.
  • step S419 to S423 processing in steps S419 to S423 is performed thereafter, and the camera 51 having the maximum feature point area S is selected as the activation camera. Note that the processing from step S419 to step S423 is the same as the processing from step S99 to step S103 in FIG.
  • step S424 processing similar to that in step S343 in FIG. 11 is performed.
  • step S425 is performed thereafter, and the process proceeds to step S426.
  • the process of step S425 is the same as the process of step S24 of FIG. Description is omitted.
  • step S425 When the activation control of the camera 51 is performed in step S425 or the sleep mode is maintained in step S415, the processing from step S426 to step S429 is performed, the processing returns to step S411, and the above-described processing is repeatedly performed. . In addition, when an instruction to end estimation of the user's own position is given, the self-position estimation process ends.
  • or step S429 is the same as the process of step S25 thru
  • the self-position estimation system shifts to the count mode when the ratio of the reference feature point number and the feature point number at the current time decreases to less than the threshold after entering the sleep mode, reselects the activation camera, Shift to sleep mode again.
  • self-position estimation can be performed with lower power consumption.
  • the self-position can be reliably estimated with sufficient accuracy.
  • ⁇ Modification 3 of the third embodiment> ⁇ Description of self-location estimation processing> Also, when determining whether to shift to the count mode based on the ratio of the number of feature points, as described with reference to FIG. 6, the activation camera is selected based on the number m of landmarks in the field of view. May be.
  • step S451 to step S457 is the same as the processing from step S331 to step S337 in FIG.
  • step S457 If it is determined in step S457 that all the cameras 51 have been processed, then the processing from step S458 to step S463 is performed, and the camera 51 with the largest number of landmarks m in the field of view is set as the activation camera. Selected. Note that the processing from step S458 to step S463 is the same as the processing from step S138 to step S143 in FIG.
  • step S464 processing similar to that in step S343 in FIG. 11 is performed.
  • step S465 When the number of reference feature points n k is updated, the process of step S465 is performed thereafter, and the process proceeds to step S466.
  • the process of step S465 is the same as the process of step S24 of FIG. Description is omitted.
  • step S465 When the activation control of the camera 51 is performed in step S465 or the sleep mode is maintained in step S455, the processing in steps S466 to S469 is performed, the processing returns to step S451, and the above-described processing is repeatedly performed. . In addition, when an instruction to end estimation of the user's own position is given, the self-position estimation process ends.
  • or step S469 is the same as the process of step S25 thru
  • the self-position estimation system shifts to the count mode when the ratio of the reference feature point number and the feature point number at the current time decreases to less than the threshold after entering the sleep mode, reselects the activation camera, Shift to sleep mode again.
  • self-position estimation can be performed with lower power consumption.
  • the self-position can be reliably estimated with sufficient accuracy.
  • the movement mode of the user (camera 51) from the reference state, particularly the rotation amount may be shifted to the count mode at a timing when the rotation amount becomes a predetermined amount or more.
  • step S491 is the same as the processing in step S11 in FIG.
  • step S491 When it is determined in step S491 that the mode is the sleep mode, the activation determination unit 62 determines from the gyro sensor (not shown) provided in the image processing device 52 the rotation matrix R indicating the rotation amount of the user (camera 51) at the current time. And the process proceeds to step S492.
  • step S492 the activation determination unit 62 substitutes the product of the obtained transpose matrix R T of the rotation matrix R at the current time and the reference rotation matrix R k indicating the rotation amount at the reference time held in the function. It is determined whether or not the rotation amount f (R T R k ) obtained from the reference time obtained is less than a predetermined threshold value ⁇ , that is, whether f (R T R k ) ⁇ .
  • the rotation amount f (R T R k ) is the rotation amount around the main component of the rotation difference.
  • the activation determination unit 62 holds, as a reference rotation matrix R k , the rotation matrix R that is the output of the gyro sensor when it finally transitions (transitions) from the count mode to the sleep mode. Therefore, in the process of step S492, it is determined whether or not the rotation amount f (R T R k ) of the user (camera 51) from that time to the current time is greater than or equal to the threshold value ⁇ with reference to the time when the sleep mode is entered. . Then, for example, when the rotation amount f (R T R k ) becomes equal to or greater than the threshold value ⁇ , control is performed so as to shift from the sleep mode to the count mode.
  • step S492 If it is determined in step S492 that f (R T R k ) ⁇ is not satisfied, that is, the rotation amount f (R T R k ) after entering the sleep mode is sufficiently large, the activation determining unit 62 sets the activation switching unit 63 to The activation of all the cameras 51 is instructed, and the process proceeds to step S493.
  • step S493 and step S494 the processing returns to step S491, and the above-described processing is repeatedly performed.
  • the description is abbreviate
  • step S492 If it is determined in step S492 that f (R T R k ) ⁇ , that is, the rotation amount f (R T R k ) after entering the sleep mode is sufficiently small, in step S495.
  • the activation determination unit 62 maintains the sleep mode state.
  • step S491 If it is determined in step S491 that the mode is not the sleep mode, that is, if it is the count mode, the process proceeds to step S496.
  • step S496 to step S502 is performed. Since these processing are the same as the processing from step S16 to step S22 in FIG. 3, the description thereof is omitted.
  • the activation determination unit 62 causes the held reference rotation matrix R k to be the rotation matrix R that is the output of the gyro sensor at the current time, that is, the output of the gyro sensor when the sleep mode is set in step S502.
  • the reference rotation matrix R k is updated.
  • step S504 is performed thereafter, and the process proceeds to step S505.
  • the process of step S504 is the same as the process of step S24 of FIG. Description is omitted.
  • step S504 If the activation control of the camera 51 is performed in step S504 or the sleep mode is maintained in step S495, the processes in steps S505 to S508 are performed, the process returns to step S491, and the above-described processes are repeated. . In addition, when an instruction to end estimation of the user's own position is given, the self-position estimation process ends.
  • or step S508 is the same as the process of step S25 thru
  • the self-position estimation system shifts to the count mode when the user's rotation amount after entering the sleep mode is equal to or greater than the threshold, reselects the activation camera, and shifts to the sleep mode again. Thereby, self-position estimation can be performed with lower power consumption.
  • the self-position can be reliably estimated with sufficient accuracy.
  • ⁇ Variation 1 of the fourth embodiment> ⁇ Description of self-location estimation processing> Also, when determining whether to shift to the count mode based on the rotation amount from the reference state, as described with reference to FIG. 4, one or more cameras 51 are selected as the activation cameras. You may make it do.
  • step S531 to step S538 is the same as the processing from step S491 to step S498 in FIG.
  • step S538 If a feature point is detected in step S538, the processing from step S539 to step S543 is performed thereafter, and the camera 51 having the feature point number n greater than the threshold value n th is selected as the activation camera. Note that the processing from step S539 to step S543 is the same as the processing from step S59 to step S63 in FIG.
  • step S544 processing similar to that in step S503 in FIG. 15 is performed.
  • step S544 If the reference rotation matrix R k is updated in step S544 or if the sleep mode is maintained in step S535, the processing from step S545 to step S548 is performed, the processing returns to step S531, and the above-described processing is repeated. . In addition, when an instruction to end estimation of the user's own position is given, the self-position estimation process ends.
  • or step S548 is the same as the process of step S25 thru
  • the self-position estimation system shifts to the count mode when the user's rotation amount after entering the sleep mode is equal to or greater than the threshold, reselects the activation camera, and shifts to the sleep mode again. Thereby, self-position estimation can be performed with lower power consumption.
  • the self-position can be reliably estimated with sufficient accuracy.
  • ⁇ Modification 2 of the fourth embodiment> ⁇ Description of self-location estimation processing> Also, when determining whether to shift to the count mode based on the rotation amount from the reference state, the activation camera is selected based on the feature point area S as described with reference to FIG. You may do it.
  • step S571 to step S578 is the same as the processing from step S491 to step S498 in FIG.
  • step S578 the processing from step S579 to step S583 is performed thereafter, and the camera 51 having the maximum feature point area S is selected as the activation camera. Note that the processing from step S579 to step S583 is the same as the processing from step S99 to step S103 in FIG.
  • step S584 processing similar to that in step S503 in FIG. 15 is performed.
  • step S585 is performed thereafter, and the process proceeds to step S586.
  • the process of step S585 is similar to the process of step S24 of FIG. Description is omitted.
  • step S585 If activation control of the camera 51 has been performed in step S585 or the sleep mode is maintained in step S575, the processing in steps S586 to S589 is performed, the processing returns to step S571, and the above-described processing is repeated. . In addition, when an instruction to end estimation of the user's own position is given, the self-position estimation process ends.
  • or step S589 is the same as the process of step S25 thru
  • the self-position estimation system shifts to the count mode when the user's rotation amount after entering the sleep mode is equal to or greater than the threshold, reselects the activation camera, and shifts to the sleep mode again. Thereby, self-position estimation can be performed with lower power consumption.
  • the activation camera is selected again at the timing when the rotation amount of the user after entering the sleep mode is equal to or greater than the threshold, and the camera 51 that can detect feature points most frequently and uniformly is selected as the activation camera, thereby reducing the number of activation cameras. Even with power consumption, the self-position can be reliably estimated with sufficient accuracy.
  • ⁇ Modification 3 of the fourth embodiment> ⁇ Description of self-location estimation processing> Also, when determining whether to shift to the count mode based on the rotation amount from the reference state, as described with reference to FIG. 6, the activation camera is selected based on the number m of landmarks in the field of view. You may make it select.
  • step S611 to step S617 is the same as the processing from step S491 to step S497 in FIG.
  • step S617 If it is determined in step S617 that all the cameras 51 have been processed, then the processing from step S618 to step S623 is performed, and the camera 51 having the largest number of landmarks in the field of view is set as the activation camera. Selected. Note that the processing from step S618 to step S623 is the same as the processing from step S138 to step S143 in FIG.
  • step S624 processing similar to that in step S503 in FIG. 15 is performed.
  • step S625 is performed thereafter, and the process proceeds to step S626.
  • the process of step S625 is the same as the process of step S24 of FIG. Description is omitted.
  • step S625 If activation control of the camera 51 is performed in step S625 or if the sleep mode is maintained in step S615, the processing of steps S626 to S629 is performed, the processing returns to step S611, and the above-described processing is performed repeatedly. . In addition, when an instruction to end estimation of the user's own position is given, the self-position estimation process ends.
  • or step S629 is the same as the process of step S25 thru
  • the self-position estimation system shifts to the count mode when the user's rotation amount after entering the sleep mode is equal to or greater than the threshold, reselects the activation camera, and shifts to the sleep mode again. Thereby, self-position estimation can be performed with lower power consumption.
  • the self-position can be reliably estimated with sufficient accuracy.
  • the self-position estimation system is configured as shown in FIG. 19, for example.
  • a user 101 who is a target of self-position estimation is wearing four cameras 102-1 to 102-4, and based on captured images obtained by these cameras 102-1 to 102-4.
  • the self position of the user 101 is estimated.
  • the cameras 102-1 to 102-4 are also simply referred to as cameras 102 when it is not necessary to distinguish them.
  • each camera 102 corresponds to the camera 51 shown in FIG. 2, and each of these cameras 102 is set as a start camera or a start / stop camera, and self-position estimation is performed.
  • the self-position estimation system having the camera 102 further includes the all-around camera 103 and the image processing device 52 (not shown in FIG. 19) shown in FIG.
  • the all-around camera 103 is a wide-angle camera that is attached to the user 101 and shoots the entire periphery of the user 101 as a subject. That is, the all-around camera 103 is a wide-angle camera that can capture the observation field of view of all the cameras 102.
  • the omnidirectional camera 103 is a wide-angle camera capable of photographing all directions with an angle of view of 360 degrees, but the image obtained with the omnidirectional camera 103 has a lower spatial resolution than the image obtained with the camera 102. Therefore, even if an image obtained by the all-around camera 103 is used for self-position estimation, the self-position cannot be estimated with sufficient accuracy.
  • an image obtained by the omnidirectional camera 103 (hereinafter also referred to as an omnidirectional image) is divided into four divided areas, and each camera 102 is assigned to each of the divided areas. ing. That is, the cameras 102 are assigned to the divided areas so that the observation visual field of each camera 102 is equal to the observation visual field of the all-around camera 103 corresponding to each divided area. In other words, assignment is made so that the subject of the captured image obtained by the camera 102 is equal to the subject of the divided area.
  • the feature point detector 71 constituting the self-position estimation system detects a feature point from each divided region of the all-round image. Further, based on the detection result, the activation determination unit 62 selects the camera 102 corresponding to the divided region having the largest number of feature points as the activation camera, and sets the remaining cameras 102 as activation / deactivation cameras.
  • the timing for switching the activation camera is switched at regular intervals as described above, or based on the user's own position movement distance, the ratio of the number of feature points, the user's rotation amount, etc. It is sufficient to switch at an arbitrary timing.
  • the activation camera selection method is not limited to the number of feature points in each divided area, and the camera 102 corresponding to the divided area in which the number of feature points equal to or greater than the threshold is detected is used as the activation camera, or the feature point area is maximized. Any method may be used, such as setting the camera 102 corresponding to the divided area as the activation camera or the camera 102 corresponding to the divided area having the maximum number of landmarks in the visual field as the activation camera.
  • self-position estimation is performed by combining a plurality of cameras, so that it is necessary for self-position estimation from a captured image of the activation camera. It is possible to avoid a situation in which no feature point is detected. That is, self-position estimation can be performed more reliably.
  • the above-described examples can be arbitrarily combined and used as an index for determining the timing for shifting to the count mode and an index for selecting the activation camera.
  • the series of processes described above can be executed by hardware or can be executed by software.
  • a program constituting the software is installed in the computer.
  • the computer includes, for example, a general-purpose computer capable of executing various functions by installing a computer incorporated in dedicated hardware and various programs.
  • FIG. 20 is a block diagram showing an example of the hardware configuration of a computer that executes the above-described series of processing by a program.
  • a CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • An input / output interface 505 is further connected to the bus 504.
  • An input unit 506, an output unit 507, a recording unit 508, a communication unit 509, and a drive 510 are connected to the input / output interface 505.
  • the input unit 506 includes a keyboard, a mouse, a microphone, an image sensor, and the like.
  • the output unit 507 includes a display, a speaker, and the like.
  • the recording unit 508 includes a hard disk, a nonvolatile memory, and the like.
  • the communication unit 509 includes a network interface or the like.
  • the drive 510 drives a removable medium 511 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory.
  • the CPU 501 loads the program recorded in the recording unit 508 to the RAM 503 via the input / output interface 505 and the bus 504 and executes the program, for example. Is performed.
  • the program executed by the computer (CPU 501) can be provided by being recorded in, for example, a removable medium 511 as a package medium or the like.
  • the program can be provided via a wired or wireless transmission medium such as a local area network, the Internet, or digital satellite broadcasting.
  • the program can be installed in the recording unit 508 via the input / output interface 505 by attaching the removable medium 511 to the drive 510. Further, the program can be received by the communication unit 509 via a wired or wireless transmission medium and installed in the recording unit 508. In addition, the program can be installed in advance in the ROM 502 or the recording unit 508.
  • the program executed by the computer may be a program that is processed in time series in the order described in this specification, or in parallel or at a necessary timing such as when a call is made. It may be a program for processing.
  • the present technology can take a cloud computing configuration in which one function is shared by a plurality of devices via a network and is jointly processed.
  • each step described in the above flowchart can be executed by one device or can be shared by a plurality of devices.
  • the plurality of processes included in the one step can be executed by being shared by a plurality of apparatuses in addition to being executed by one apparatus.
  • the present technology can be configured as follows.
  • the activation determination unit shifts from a sleep mode in which shooting is performed by the activation camera at the predetermined timing to a count mode in which all of the plurality of cameras are activated, and the plurality of the cameras in the count mode state.
  • the control device wherein the activation camera is selected on the basis of an image photographed by (2).
  • the activation determination unit selects the activation camera based on the number of feature points detected from the image captured by the camera.
  • the control device wherein the activation determination unit selects the activation camera based on a spatial distribution of feature points detected from the image captured by the camera.
  • the control device wherein the activation determination unit selects the activation camera based on a distribution of feature points detected from the image photographed by the camera on the image.
  • the activation determination unit selects the activation camera based on the number of feature points detected from the image captured by the camera corresponding to the landmark indicated by the three-dimensional map used for the self-position estimation.
  • the control device according to (3).
  • the control device according to any one of (3) to (7), wherein the activation determination unit shifts from the sleep mode to the count mode at regular time intervals.
  • the activation determination unit shifts from the sleep mode to the count mode based on the number of feature points detected from the image captured by the activation camera in the sleep mode.
  • (3) to (7 The control device according to any one of the above.
  • the activation determination unit based on a ratio of the number of feature points detected from the image captured by the activation camera in the sleep mode with respect to a reference number of feature points, from the sleep mode to the count mode
  • the control device according to any one of (3) to (7).
  • the control device according to any one of (3) to (7), wherein the activation determination unit shifts from the sleep mode to the count mode based on the self-position estimation result.
  • the activation determination unit selects the activation camera based on a positional relationship between a self-position obtained by the self-position estimation and a landmark indicated by a three-dimensional map used for the self-position estimation.
  • control device according to any one of (1) to (15), further including a self-position estimation unit that performs the self-position estimation based on the image captured by the activation camera.
  • a self-position estimation unit that performs the self-position estimation based on the image captured by the activation camera.

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Automation & Control Theory (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Theoretical Computer Science (AREA)
  • Studio Devices (AREA)
  • Length Measuring Devices By Optical Means (AREA)

Abstract

本技術は、より低い消費電力で確実に自己位置を推定することができるようにする制御装置および方法、並びにプログラムに関する。 起動判定部は、複数のカメラのうちのいくつかを自己位置推定に用いる起動カメラとして選択し、起動切替部は起動カメラの選択結果に基づいて、複数のカメラのうちの起動カメラとされたカメラを起動状態とさせて画像を撮影させるとともに、残りのカメラの起動を停止させる。自己位置推定部は、起動カメラにより撮影された画像に基づいて自己位置推定を行う。また、起動判定部は、所定のタイミングで起動カメラを選択し直す。本技術は、自己位置推定システムに適用することができる。

Description

制御装置および方法、並びにプログラム
 本技術は制御装置および方法、並びにプログラムに関し、特に、より低い消費電力で確実に自己位置を推定することができるようにした制御装置および方法、並びにプログラムに関する。
 従来、カメラで撮影された画像に基づいて、実空間上におけるカメラの位置を推定する自己位置推定では、画像に含まれている指標となる勾配や特徴点などが用いられて、カメラの自己位置が推定される(例えば、特許文献1参照)。
 そのため、被写体が白壁である場合など、撮影された画像内に特徴点等がない場合には、継続してカメラの自己位置を推定することが原理上不可能である。
 現実には、四方を白壁に囲まれたような状況は少なく、前方視野に特徴点がない状況でも、後方や天井などには自己位置推定を行うのに十分な特徴点が存在することが多い。
 しかし、例えばユーザが自己位置推定に用いるアクションカム等のカメラを装着して室内を移動する場合、室内に特徴点の検出が可能な被写体が少ないときには、ユーザは常に特徴点の検出が可能な被写体の方向を向いていなければならなくなる。このように、常に視野内に特徴点が含まれるようにすると、ユーザの動きが制限され、自由度が損なわれてしまう。
 一方、ユーザが自由に動くことができ、かつ画像から特徴点が検出されない状況を回避するために、全周カメラを利用して自己位置推定を行うことが考えられる。この場合、全周カメラで撮影された画像から特徴点等が検出されて自己位置が推定される。
 ところが、全周カメラを用いて周囲の環境の画像を撮影すると、特徴点を検出することのできる空間上の範囲は広がるが、カメラの画角が広がることで空間解像度が低下するので、十分な精度で自己位置を推定することができなくなってしまう。
 そこで、ユーザの動きが制限されることなく、かつ十分な精度で自己位置を推定することができるようにするために、複数のカメラを用いて自己位置推定を行う技術が提案されている。この技術では、複数のカメラが並べられて、それらの複数のカメラが1つの広角カメラとして機能する。
 このように複数のカメラを用いれば、カメラにより観察されない領域、つまり死角を減らすことができるので、画像から特徴点が検出されないような状況を回避することができ、ユーザの動きを制限せずに自己位置を推定することができる。また、複数のカメラで周囲の環境を撮影するので、画像の空間解像度が低下してしまうこともなく、十分な精度で自己位置を推定することができる。
特開2009-237848号公報
 しかしながら、上述した技術では、常に複数のカメラで周囲の環境を撮影する必要があるため、自己位置推定に用いるカメラの数が増える分だけ、電力消費量が増加する。特に、カメラの数に対して電力消費量は正比例することから、ウェアラブルデバイスなどで自己位置推定を行なおうとする場合には、自己位置推定での消費電力を低く抑える必要がある。
 本技術は、このような状況に鑑みてなされたものであり、より低い消費電力で確実に自己位置を推定することができるようにするものである。
 本技術の一側面の制御装置は、複数のカメラのうちのいくつかを自己位置推定に用いる起動カメラとして選択する起動判定部と、前記起動カメラの選択結果に基づいて、前記複数の前記カメラのうちの前記起動カメラとされた前記カメラを起動状態とさせて画像を撮影させ、前記複数の前記カメラのうちの前記起動カメラとは異なる前記カメラの起動を停止させる起動切替部とを備える。
 前記起動判定部には、所定のタイミングで前記起動カメラを選択し直させることができる。
 前記起動判定部には、前記所定のタイミングで、前記起動カメラにより撮影を行うスリープモードから、前記複数の前記カメラ全てを起動させるカウントモードに移行させるとともに、前記カウントモードの状態で前記複数の前記カメラにより撮影された画像に基づいて前記起動カメラを選択させることができる。
 前記起動判定部には、前記カメラにより撮影された前記画像から検出された特徴点の数に基づいて前記起動カメラを選択させることができる。
 前記起動判定部には、前記カメラにより撮影された前記画像から検出された特徴点の空間上の分布に基づいて前記起動カメラを選択させることができる。
 前記起動判定部には、前記カメラにより撮影された前記画像から検出された特徴点の前記画像上の分布に基づいて前記起動カメラを選択させることができる。
 前記起動判定部には、前記自己位置推定に用いられる三次元マップにより示されるランドマークに対応する、前記カメラにより撮影された前記画像から検出された特徴点の数に基づいて前記起動カメラを選択させることができる。
 前記起動判定部には、一定の時間間隔で前記スリープモードから前記カウントモードへと移行させるようにすることができる。
 前記起動判定部には、前記スリープモードの状態で前記起動カメラにより撮影された前記画像から検出された特徴点の数に基づいて、前記スリープモードから前記カウントモードへと移行させるようにすることができる。
 前記起動判定部には、基準となる特徴点数に対する、前記スリープモードの状態で前記起動カメラにより撮影された前記画像から検出された特徴点の数の割り合いに基づいて、前記スリープモードから前記カウントモードへと移行させるようにすることができる。
 前記起動判定部には、前記自己位置推定の結果に基づいて前記スリープモードから前記カウントモードへと移行させるようにすることができる。
 前記起動判定部には、前記カメラの移動距離または回転量に基づいて前記スリープモードから前記カウントモードへと移行させるようにすることができる。
 前記起動判定部には、前記自己位置推定により得られた自己位置と、前記自己位置推定に用いられる三次元マップにより示されるランドマークとの位置関係に基づいて、前記起動カメラを選択させることができる。
 前記起動判定部には、前記複数の前記カメラのそれぞれの観察視野を撮影可能な広角カメラで得られた画像に基づいて、前記起動カメラを選択させることができる。
 前記複数の前記カメラは、球面上または円周上に並べられているようにすることができる。
 制御装置には、前記起動カメラにより撮影された前記画像に基づいて前記自己位置推定を行う自己位置推定部をさらに設けることができる。
 本技術の一側面の制御方法またはプログラムは、複数のカメラのうちのいくつかを自己位置推定に用いる起動カメラとして選択し、前記起動カメラの選択結果に基づいて、前記複数の前記カメラのうちの前記起動カメラとされた前記カメラを起動状態とさせて画像を撮影させ、前記複数の前記カメラのうちの前記起動カメラとは異なる前記カメラの起動を停止させるステップを含む。
 本技術の一側面においては、複数のカメラのうちのいくつかが自己位置推定に用いる起動カメラとして選択され、前記起動カメラの選択結果に基づいて、前記複数の前記カメラのうちの前記起動カメラとされた前記カメラが起動状態とされて画像が撮影され、前記複数の前記カメラのうちの前記起動カメラとは異なる前記カメラの起動が停止される。
 本技術の一側面によれば、より低い消費電力で確実に自己位置を推定することができる。
 なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載された何れかの効果であってもよい。
本技術について説明する図である。 自己位置推定システムの構成例を示す図である。 自己位置推定処理を説明するフローチャートである。 自己位置推定処理を説明するフローチャートである。 自己位置推定処理を説明するフローチャートである。 自己位置推定処理を説明するフローチャートである。 自己位置推定処理を説明するフローチャートである。 自己位置推定処理を説明するフローチャートである。 自己位置推定処理を説明するフローチャートである。 自己位置推定処理を説明するフローチャートである。 自己位置推定処理を説明するフローチャートである。 自己位置推定処理を説明するフローチャートである。 自己位置推定処理を説明するフローチャートである。 自己位置推定処理を説明するフローチャートである。 自己位置推定処理を説明するフローチャートである。 自己位置推定処理を説明するフローチャートである。 自己位置推定処理を説明するフローチャートである。 自己位置推定処理を説明するフローチャートである。 自己位置推定システムの構成例を示す図である。 コンピュータの構成例を示す図である。
 以下、図面を参照して、本技術を適用した実施の形態について説明する。
〈第1の実施の形態〉
〈本技術について〉
 本技術は、複数のカメラ、より詳細には複数のカメラまたはカメラセットを用いて自己位置推定を行う場合に、必要に応じていくつかのカメラの動作を一時的に停止させることで、消費電力を低く抑えつつ、十分な精度で確実に自己位置を推定することができるようにするものである。
 例えば、図1の矢印Q11に示すように、自己位置推定の対象であるユーザ11が4つのカメラ21-1乃至カメラ21-4を装着しており、これらのカメラ21-1乃至カメラ21-4により撮影された画像が用いられて、ユーザ11の自己位置が推定されるとする。
 なお、以下、カメラ21-1乃至カメラ21-4を特に区別する必要のない場合、単にカメラ21とも称することとする。
 この例では、ユーザ11の前後左右の各方向がカメラ21により撮影されるので、これらの4つのカメラ21により、ユーザ11の全周方向が観察されることになる。したがって、少なくとも何れかのカメラ21により撮影された画像からは特徴点を検出することができ、十分な精度で確実にユーザ11(カメラ21)の自己位置を推定することができる。
 しかし、上述したようにn個のカメラ21を用いて自己位置推定を行う場合には、1つのカメラ21を用いて自己位置推定を行う場合と比較して、カメラ21の消費電力はn倍となってしまう。
 そこで、本技術では、複数のカメラ21のうちのいくつかのカメラ21のみを起動させ、残りのカメラ21は一時的に起動を停止させることで、カメラ21の消費電力を低く抑えるとともに、十分な精度で確実に自己位置を推定することができるようにした。
 具体的には、矢印Q11に示すように全てのカメラ21が起動している状態で、各カメラ21により画像(以下、撮影画像とも称する)が撮影され、得られた撮影画像、またはこれまでの自己位置推定の結果に基づいて、起動状態を維持するカメラ21が選択される。すなわち、自己位置推定に用いるカメラ21が選択される。
 ここでは、説明を簡単にするために、撮影画像から検出された特徴点の数が最も多いカメラ21が、起動状態が維持されるカメラ21として選択されるものとする。
 いま、矢印Q11に示すようにカメラ21-1で得られた撮影画像からは2個の特徴点が検出され、カメラ21-2で得られた撮影画像からは16個の特徴点が検出され、カメラ21-3で得られた撮影画像からは5個の特徴点が検出されたとする。また、カメラ21-4で得られた撮影画像からは8個の特徴点が検出されたとする。
 この場合、撮影画像から検出された特徴点の数が最も多いカメラ21-2が起動状態が維持されるカメラ21として選択され、残りのカメラ21は一時的な起動停止状態、つまりスリープ状態とするカメラ21として選択される。
 そして、その選択に従って、矢印Q12に示すようにカメラ21-2の起動状態が維持され、かつカメラ21-1、カメラ21-3、およびカメラ21-4が一時的な起動停止状態(スリープ状態)とされる。この状態では、カメラ21-2により撮影された撮影画像から特徴点が検出され、その検出結果に基づいて、ユーザ11の自己位置が推定される。
 なお、以下、矢印Q11に示すように起動状態とするカメラ21を決定するめに、一時的に全カメラ21を起動させた状態をカウントモードとも称することとする。また、以下、矢印Q12に示すように、いくつかのカメラ21のみを起動させ、残りのカメラ21の起動を一時的に停止させた状態をスリープモードとも称することとする。
 この例では、スリープモードである場合には、1つのカメラ21のみが起動された状態となっているので、実質的に1台分のカメラ21を動作させる分の消費電力で自己位置推定を行うことができる。しかも、この場合、4つのカメラ21のうち、最も自己位置推定を高精度に行うことができるカメラ21が起動状態とされるので、撮影画像から特徴点が検出されなかったり、自己位置推定の精度が低下してしまうこともない。
 このように1つのカメラ21により自己位置推定を行っているスリープモードでは、ユーザ11の移動等により、起動しているカメラ21での自己位置推定の精度が低下してくることがある。すなわち、この例では、起動しているカメラ21で得られた撮影画像から検出される特徴点の数が減少してしまうことがある。
 そこで、本技術では、矢印Q13に示すように、撮影画像から検出される特徴点の数が所定の数以下になったときなど、所定のタイミングで、これまで起動停止状態(スリープ状態)とされていたカメラ21を起動状態に復帰させ、スリープモード時に起動状態とするカメラ21を選択し直す。
 換言すれば、スリープモードからカウントモードへと状態遷移が行われ、一旦、全てのカメラ21が起動された状態とされる。そして、再度、スリープモードとするときに起動させておくカメラ21が選択され、その選択結果に応じて再びスリープモードへと移行される。
 このように、所定のタイミングでスリープモードとカウントモードとを切り替えて、スリープモードのときには、複数のカメラ21のうちのいくつかのカメラ21のみで自己位置推定を行うようにすることで、より低い消費電力で確実に自己位置を推定することができる。
 なお、ここではスリープモードのときに起動させるカメラ21の数が1つである例について説明したが、起動させておくカメラ21の数は、1つであっても複数であってもよい。また、スリープモードのときに起動させておくカメラ21の数も可変とされてもよい。
 また、以下、スリープモードであるときに一時的に起動停止状態とされるカメラ21を、特に起動停止カメラとも称することとし、スリープモードであるときに起動させておくカメラ21を起動カメラとも称することとする。
 以上のように全カメラ21のうちのいくつかのカメラ21のみを選択的に起動させて自己位置推定する場合、起動カメラを選択する指標や、スリープモードからカウントモードへと移行するタイミングとして、いくつかの例が考えられる。
〈起動カメラの選択について〉
 起動カメラを選択する指標としては、カウントモードの状態で各カメラ21により撮影された撮影画像から得られる指標などが考えられる。具体的には、上述した撮影画像から検出される特徴点の数の他、例えば撮影画像上または実空間上における特徴点の分布や、自己位置推定に用いる登録されたランドマークに対応する撮影画像上の特徴点の数などが考えられる。
 実空間上をカメラ21を装着したユーザ11が移動する場合、撮影画像から検出された特徴点に対応する実空間上の被写体位置が、カメラ21からより遠い位置にあるほど、その後のより長い時間、その被写体がカメラ21により観察されるはずである。つまり、より後のフレームの撮影画像からも、その被写体に対応する特徴点が検出されるはずである。
 そこで、例えば実空間上における特徴点の分布に基づいて起動カメラを選択する例として、撮影画像から検出された特徴点に対して、その特徴点に対応する被写体と、カメラ21との実空間上の距離に応じた重みを付けて、撮影画像から検出された特徴点の数に応じたスコアを求めるようにしてもよい。この場合、各カメラ21のスコアに基づいて、起動カメラが選択される。
 したがって、この例では、より多くの特徴点が、より長く観察されるカメラ21が起動カメラとして選択されるので、スリープモードから次のカウントモードへと移行(遷移)するまでの時間をより長くし、効率よく自己位置を推定することができるようになる。
 また、撮影画像上の特徴点の分布を指標として起動カメラを選択する場合、撮影画像をいくつかの領域にグリッド分割して、グリッドにより分割された領域(以下、分割領域と称する)単位で特徴点数をカウントし、そのカウント結果に基づいて起動カメラを選択することもできる。
 一般的に、撮影画像全体に特徴点が均一に分布している方が、より高精度に自己位置を推定することができることから、撮影画像全体で、つまり各分割領域でまんべんなく特徴点が検出されたカメラ21を起動カメラとして選択するようにすればよい。
 また、撮影画像をグリッド分割する他、実空間をグリッド分割し、分割された各空間単位で撮影画像から検出された特徴点の数、つまり特徴点に対応する実空間上の被写体の部位の数をカウントし、そのカウント結果に基づいて起動カメラを選択してもよい。
 さらに、例えばSLAM(Simultaneous Localization And Mapping)などのように、実空間に対応する三次元座標上で、事前に登録されたランドマークおよび逐次的に登録されたランドマークと、撮影画像から検出された特徴点との対応関係から自己位置を推定する手法が知られている。このような手法で自己位置推定を行う場合、ランドマークと現時刻での自己位置との位置関係に基づいて、起動カメラを選択するようにしてもよい。
 ここでランドマークとは、撮影画像から特徴点が検出された、または撮影画像から特徴点が検出され得る実空間上の被写体の部位であり、自己位置推定時には、各ランドマークの位置を示す情報、つまり三次元座標系におけるランドマークの位置情報を示す三次元マップが用いられる。
 具体的には、例えば撮影時刻の異なる撮影画像から検出された各特徴点の対応関係が求められ、それらの特徴点の対応関係、および特徴点とランドマークの対応関係等からユーザ11(カメラ21)の自己位置が推定により求められる。
 この場合、現在の自己位置と各カメラ21の画角とから、実空間におけるカメラ21により観察される領域、つまりカメラ21の撮影方向を特定することができる。また、各カメラ21の撮影方向と、三次元マップに示される各ランドマークの位置とから、各カメラ21で観察されるランドマークの数、つまり撮影画像から検出される、ランドマークに対応する特徴点の数を推定することができる。
 そこで、現在の自己位置と三次元マップに示されるランドマークとの位置関係から、最も多くのランドマークが観察されるカメラ21を起動カメラとして選択するようにしてもよい。そうすることで、ランドマークに対応する特徴点がより多く検出され、より高精度に自己位置を推定可能なカメラ21を起動カメラとして選択することができる。この場合、起動カメラを選択するにあたり、特に撮影画像から特徴点を検出しなくてもよいため、スリープモードからカウントモードに移行する必要はない。つまり、常にスリープモードの状態で、必要に応じて起動カメラを切り替えながら動作することができる。
 また、三次元マップを用いて自己位置を推定する場合、撮影画像から特徴点を検出するとともに、検出された特徴点のうち、登録されているランドマークに対応する特徴点を特定し、撮影画像内に含まれる、ランドマークに対応する特徴点の数が最も多いカメラ21を起動カメラとしてもよい。この場合は、起動カメラを選択するためにカウントモードへと移行する必要がある。
〈スリープモードからカウントモードへの移行について〉
 さらに、スリープモードからカウントモードへと移行するタイミングとして、以下の例が考えられる。
 例えば、一定時間が経過するごとにスリープモードからカウントモードに移行することが考えられる。この場合、一定時間の計測には、撮影画像の撮影時刻を示すタイムスタンプを用いてもよいし、カウンタ等を用いるようにしてもよい。
 また、例えば自己位置推定時のトラッキング点、つまりスリープモードである状態で得られた撮影画像から検出された、ランドマークに対応する特徴点の数や割り合いなどが一定値以下になったタイミングで、スリープモードからカウントモードに移行するようにしてもよい。
 例えばランドマークに対応する特徴点の割り合いを用いる場合、基準となるフレームの撮影画像で得られたランドマークに対応する特徴点の数に対する、現フレームの撮影画像で得られたランドマークに対応する特徴点の数の割り合いが予め定められた値と比較される。
 なお、ランドマークに対応する特徴点の数や割り合いだけでなく、スリープモードの状態のときに起動カメラで得られた撮影画像から検出された特徴点の数や割り合いなどが、基準とするフレームの撮影画像から検出された特徴点の数や割り合いに対して減少してきたタイミングで、スリープモードからカウントモードに移行するようにしてもよい。
 また、自己位置の推定結果に基づいて、スリープモードからカウントモードへと移行するようにしてもよい。そのような場合、例えば特定の撮影画像のフレームなどの基準となる時刻における自己位置からのユーザ11の動き量(移動距離)が一定量を超えた場合に、カウントモードへと移行すればよい。なお、この場合、ユーザ11の動き量は、撮影画像上の動き量であってもよいし、実空間上の動き量であってもよい。
 さらに、ジャイロセンサのようなユーザ11の動き量を測定可能なセンサを用いて、ユーザ11の動き量が一定値以上となったときにスリープモードからカウントモードへと移行するようにしてもよい。同様に、GPS(Global Positioning System)センサ等のユーザ11の実空間上の位置を測定可能なセンサを用いて、ユーザ11の所定位置からの移動距離が一定値以上となったときにスリープモードからカウントモードへと移行するようにしてもよい。
〈自己位置推定システムの構成例〉
 次に、本技術を適用したより具体的な実施の形態について説明する。図2は、本技術を適用した自己位置推定システムの一実施の形態の構成例を示す図である。
 図2に示す自己位置推定システムは、カメラ51-1乃至カメラ51-K、および画像処理装置52を有している。なお、ここでは自己位置推定システムが三次元マップを利用して自己位置を推定する例について説明するが、他のどのような手法により自己位置を推定するようにしてもよい。
 カメラ51-1乃至カメラ51-Kは、図1に示したカメラ21に対応するカメラであり、ユーザ等の自己位置推定の対象に取り付けられている。なお、以下、カメラ51-1乃至カメラ51-Kを特に区別する必要のない場合、単にカメラ51とも称することとする。また、ここでは自己位置推定の対象は、例えばカメラ51と画像処理装置52とからなるウェアラブルデバイスを装着するユーザであるものとする。
 各カメラ51は、例えば球面上や円周上に等間隔で並べられて配置されるなど、実空間上における自己位置推定対象であるユーザの周囲の全域または略全域がカメラ51により観察可能となるように配置される。また、各カメラ51は、有線または無線により画像処理装置52に接続されている。
 カメラ51は、ユーザの周囲の領域を被写体として撮影し、その結果得られた撮影画像を画像処理装置52に供給する。また、カメラ51は、画像処理装置52の指示に応じて、起動停止状態(スリープ状態)となったり、起動停止状態から起動状態に復帰したりする。
 なお、カメラ51は、単眼カメラであってもよいし、左右の2つのカメラからなるステレオカメラ等のカメラセットであってもよい。以下では、カメラ51が左カメラと右カメラとからなるステレオカメラであるものとして説明を続ける。特に、以下ではカメラ51を構成する左カメラにより得られた撮影画像を左撮影画像とも称することとし、カメラ51を構成する右カメラにより得られた撮影画像を右撮影画像とも称することとする。
 画像処理装置52は、各カメラ51を制御して、カメラ51を起動停止状態としたり、起動状態としたりするとともに、カメラ51から供給された撮影画像に基づいて、ユーザの自己位置を推定し、その推定結果を出力する。
 画像処理装置52は、自己位置推定部61、起動判定部62、および起動切替部63を有している。
 自己位置推定部61は、カメラ51から供給された撮影画像に基づいて、ユーザの自己位置を推定する。自己位置推定部61は、特徴点検出部71、ランドマーク推定部72、および自己位置算出部73を有している。
 特徴点検出部71は、カメラ51から供給された撮影画像から特徴点を検出し、その検出結果をランドマーク推定部72に供給する。
 ランドマーク推定部72は、自己位置算出部73による自己位置の推定結果を参照しながら、特徴点検出部71から供給された特徴点の検出結果に基づいて三次元マップを更新する。また、ランドマーク推定部72は、更新された三次元マップと、特徴点検出部71から供給された特徴点の検出結果とを自己位置算出部73に供給する。
 自己位置算出部73は、ランドマーク推定部72から供給された三次元マップと特徴点の検出結果とに基づいて、推定によりユーザの自己位置を算出し、その算出結果を後段のブロックに出力する。
 また、自己位置推定部61は、特徴点の検出結果や、三次元マップにより示されるランドマーク位置、自己位置の推定結果など、必要に応じて各種の情報を起動判定部62に供給する。
 起動判定部62は、自己位置推定部61から供給された情報に基づいて、自己位置推定システムの状態をカウントモードまたはスリープモードに遷移(移行)させる。また、起動判定部62は、自己位置推定部61から供給された情報に基づいて、カウントモードへと移行したタイミングで、自己位置推定に用いる起動カメラを選択し、その選択結果を起動切替部63に供給する。
 起動切替部63は、起動判定部62から供給された起動カメラの選択結果や、カメラ51の起動指示に基づいてカメラ51の起動や動作を制御する。すなわち、起動切替部63は、カメラ51を起動状態とさせて撮影画像を撮影させたり、カメラ51をスリープ(起動停止)させたりする。
 画像処理装置52に設けられた起動判定部62および起動切替部63は、自己位置推定に用いる起動カメラを選択し、その選択結果に基づいてカメラ51の起動を制御する制御装置として機能する。なお、ここでは画像処理装置52に起動判定部62および起動切替部63と、自己位置推定部61とが設けられる構成となっているが、起動判定部62および起動切替部63と、自己位置推定部61とは異なる装置に設けられていてもよい。
〈自己位置推定処理の説明〉
 続いて、図2に示した自己位置推定システムの動作について説明する。
 自己位置推定システムは、ユーザの自己位置の推定開始が指示されると、自己位置推定処理を行って、ユーザの自己位置の推定結果を出力する。以下、図3のフローチャートを参照して、自己位置推定システムによる自己位置推定処理について説明する。
 ステップS11において、起動判定部62は、カメラ51の起動状況に基づいてスリープモードであるか否かを判定する。
 ステップS11においてスリープモードであると判定された場合、処理はステップS12へと進む。
 ステップS12において、起動判定部62は、カメラ51で得られる撮影画像の撮影時刻を示すタイムスタンプtと、保持している基準となる時刻を示す基準タイムスタンプtkとの差t-tkが所定の閾値α未満であるか否か、すなわちt-tk<αであるか否かを判定する。
 起動判定部62は、最後にカウントモードからスリープモードへと移行(遷移)したときの撮影画像のタイムスタンプtを、基準タイムスタンプtkとして保持している。
 ステップS12の処理では、起動判定部62は起動切替部63を介してカメラ51から、現時刻を示すタイムスタンプtを取得し、取得したタイムスタンプtと、保持している基準タイムスタンプtkとを比較して、t-tk<αであるかを判定する。
 したがって、この処理では、最後にカウントモードからスリープモードへと移行してから、つまりスリープモードとなってから、所定の時間αだけ経過したか否かが判定されることになる。
 なお、ここでは撮影画像のタイムスタンプtを利用して、スリープモードとなってから所定時間が経過したかを特定する例について説明するが、その他、起動判定部62自身が時刻を管理するようにしたり、他の時刻情報を取得したりするようにしてもよい。例えば起動判定部62が、スリープモードとなった時点で時間のカウントを開始し、所定時間が経過したかを特定するようにしてもよい。
 ステップS12においてt-tk<αでない、つまりスリープモードとなってから、所定の時間が経過したと判定された場合、起動判定部62は起動切替部63に全カメラ51の起動を指示し、処理はステップS13へと進む。
 ステップS13において、起動切替部63は、起動判定部62の指示に応じて全カメラ51を起動させる。これにより、これまでスリープ状態であったカメラ51が復帰し、全てのカメラ51が起動している状態となる。すると各カメラ51は、周囲の被写体を撮影して、その結果得られた撮影画像を特徴点検出部71へと供給する。
 ステップS14において、起動判定部62は自己位置推定システムの状態を、スリープモードからカウントモードへと移行させる。そして、その後、処理はステップS11に戻り、上述した処理が繰り返し行われる。
 一方、ステップS12において、t-tk<αである、すなわちスリープモードとなってから、まだ所定の時間が経過していないと判定された場合、ステップS15において、起動判定部62はスリープモードの状態を維持する。
 この場合、スリープモードでの自己位置推定が継続して行われることになる。ステップS15の処理が行われると、その後、処理はステップS25へと進む。
 また、ステップS11において、スリープモードではないと判定された場合、すなわちカウントモードである場合、処理はステップS16へと進む。
 ステップS16において、起動判定部62は、処理対象として処理したカメラ51の数を示すカウンタiの値をカウンタi=0とする。すなわち、カウンタiの値を0にリセットする。ここで、カウンタiの値は、処理対象のカメラ51を特定するカメラインデックスとしても用いられることとする。例えばカウンタi=0の状態で処理対象とされているカメラ51は、カメラインデックスi=0であるカメラ51であるとされる。
 ステップS17において、起動判定部62は全てのカメラ51について処理を行ったか否かを判定する。例えば図2に示す例では、カメラ51の数はK個となっているので、カウンタiの値がK未満である場合、つまりi<Kである場合、まだ全てのカメラ51を処理対象として処理を行っていないと判定される。
 ステップS17において、全てのカメラ51について処理を行っていないと判定された場合、処理はステップS18へと進む。
 ステップS18において、特徴点検出部71は、カウンタi、すなわちカメラインデックスiの値により特定される処理対象のカメラ51から供給された撮影画像から、特徴点を検出する。ここで、ステップS18で特徴点の検出対象とされる撮影画像は、カウントモードの状態で処理対象のカメラ51により撮影されたものである。
 この例では、カメラ51はステレオカメラであるので、処理対象のカメラ51から特徴点検出部71には撮影画像として左撮影画像と右撮影画像が供給される。特徴点検出部71は、例えばハリスコーナー検出やSIFT(Scale Invariant Feature Transform)等のコーナー検出アルゴリズムにより、処理対象のカメラ51から供給された左撮影画像または右撮影画像の何れか一方から特徴点を検出する。
 ステップS19において、起動判定部62は、処理対象のカメラ51で得られた撮影画像、より詳細には左撮影画像または右撮影画像の何れかから検出された特徴点の数を示す特徴点数nと、これまで処理対象としたカメラ51について得られた特徴点数nの最大値である特徴点数nmaxとを比較し、n>nmaxであるか否かを判定する。すなわち、処理対象のカメラ51について得られた特徴点数nが、最後にカウントモードとなった後、これまでに得られている特徴点数nのなかの最大値である特徴点数nmaxよりも大きいか否かが判定される。
 また、起動判定部62は特徴点数nmaxが得られたときのカウンタiの値を、その特徴点数nmaxが得られたカメラ51を特定するカメラインデックスimaxの値として保持しているものとする。なお、これらの特徴点数nmaxとカメラインデックスimaxの値は、カウンタiがリセットされるタイミングでリセットされる。
 ステップS19において、n>nmaxでないと判定された場合、ステップS20の処理はスキップされて、処理はステップS21へと進む。
 これに対して、ステップS19においてn>nmaxであると判定された場合、ステップS20において、起動判定部62はnmax=nおよびimax=iとする。
 すなわち、起動判定部62は保持している特徴点数nmaxの値が、処理対象のカメラ51について得られた特徴点数nの値となるように特徴点数nmaxを更新する。また、起動判定部62は保持しているカメラインデックスimaxの値が、処理対象のカメラ51を示すカメラインデックスi、つまり現時点におけるカウンタiの値となるようにカメラインデックスimaxを更新する。
 このような処理が全カメラ51について行われると、その時点におけるカメラインデックスimaxの値は、現時点において最も撮影画像から検出された特徴点の数が多かったカメラ51を示すカメラインデックスiの値となる。
 同様に特徴点数nmaxの値は、カメラインデックスimaxにより示されるカメラ51について得られた特徴点数nの値、つまり現時点における撮影画像から検出された特徴点の数の最大値となる。
 ステップS20において特徴点数nmaxおよびカメラインデックスimaxが更新されると、その後、処理はステップS21へと進む。
 ステップS20において特徴点数nmaxおよびカメラインデックスimaxが更新されたか、またはステップS19においてn>nmaxでないと判定されると、ステップS21において、起動判定部62は保持しているカウンタiの値を1だけインクリメントする。そして、その後、処理はステップS17に戻り、上述した処理が繰り返し行われる。
 また、ステップS17において、全てのカメラ51について処理を行ったと判定された場合、つまりカウンタi≧Kであり、最終的な特徴点数nmaxおよびカメラインデックスimaxが得られた場合、処理はステップS22へと進む。
 ステップS22において、起動判定部62は自己位置推定システムの状態を、カウントモードからスリープモードへと移行させる。
 そして、ステップS23において、起動判定部62は基準タイムスタンプtk=タイムスタンプtとする。
 すなわち、起動判定部62は、起動切替部63を介してカメラ51から、現時刻を示すタイムスタンプtを取得し、保持している基準タイムスタンプtkの値が、新たに取得したタイムスタンプtの値となるように、基準タイムスタンプtkを更新する。これにより、カウントモードからスリープモードへと移行した時点におけるタイムスタンプtが、新たな基準タイムスタンプtkとされることになる。
 また、起動判定部62は、スリープモードとなると、カメラインデックスimaxにより示されるカメラ51を、スリープモード時に起動させる起動カメラとして選択し、その選択結果を起動切替部63に供給する。
 ステップS24において、起動切替部63は、起動判定部62から供給された起動カメラの選択結果に基づいて各カメラ51を制御して、カメラインデックスimaxにより示されるカメラ51のみを起動させたままとし、残りのカメラ51の起動を一時的に停止させる。また、起動切替部63は起動カメラとしたカメラ51を制御して撮影画像を撮影させる。
 このような処理によれば、カウントモードの状態のときに撮影された撮影画像から特徴点が検出され、その結果、最も多くの特徴点が検出された1つのカメラ51、つまり最も高い精度でより確実に自己位置を推定できるであろうカメラ51が起動カメラとされ、他のカメラ51は起動停止カメラとされることになる。これにより、起動カメラによって十分な精度で確実に自己位置を推定しつつ、他のカメラ51の起動を停止させて消費電力を低く抑えることができるようになる。
 ステップS24において起動カメラの選択結果に応じてカメラ51の起動制御が行われると、その後、処理はステップS25へと進む。
 ステップS24においてカメラ51の起動制御が行われたか、またはステップS15においてスリープモードが維持されると、ステップS25において、起動カメラとされたカメラ51は、周囲の被写体を撮影し、その結果得られた撮影画像を特徴点検出部71に供給する。このとき、起動停止カメラは、撮影を行わずに起動停止状態となっている。
 ステップS26において、特徴点検出部71は、例えばハリスコーナー検出やSIFT等のコーナー検出アルゴリズムにより、起動カメラとされたカメラ51から撮影画像として供給された左撮影画像および右撮影画像から特徴点を検出し、その検出結果をランドマーク推定部72に供給する。
 ステップS27において、ランドマーク推定部72は、最後に行われた自己位置推定の結果、その自己位置推定に用いられた撮影画像についての特徴点検出結果、およびカメラ51の眼間距離(ベースラインの長さ)に基づいてランドマーク推定を行う。
 具体的には、例えばランドマーク推定部72は、最後に行われた自己位置推定の結果と、その時の特徴点検出結果とを自己位置算出部73から取得する。そして、ランドマーク推定部72は、最後に行われた自己位置推定に用いられた撮影画像についての特徴点検出結果に基づいて、左撮影画像上の特徴点と、右撮影画像上の特徴点との対応関係を求める視差マッチングを行う。
 視差マッチングでは、互いに対応する特徴点、すなわち被写体の同一部位から抽出された左撮影画像上の特徴点と右撮影画像上の特徴点との位置関係から、撮影画像上における特徴点の視差が求まる。ここで、視差が求められる特徴点は、ランドマーク推定部72が保持している三次元マップに示される各ランドマークに対応する特徴点である。
 ランドマーク推定部72は、このようにして得られたランドマークに対応する特徴点の視差と、カメラ51を構成する左カメラと右カメラの間の距離である眼間距離と、最後に行われた自己位置推定の結果とから、実空間上(三次元座標系)におけるランドマークの位置を求める。そして、ランドマーク推定部72は、求められたランドマークの位置に基づいて、保持している三次元マップを更新する。
 なお、ここで行われる三次元マップの更新には、最後に行われた自己位置推定の結果と、その時の特徴点検出結果のみが用いられ、直前のステップS26の処理で得られた、最新の撮影画像からの特徴点の検出結果は用いられない。そのため、ステップS27で行われるランドマーク推定の処理は、最後に自己位置推定が行われた時点で実行されるようにしてもよい。
 ランドマーク推定部72は、このようにして更新された三次元マップと、今回のステップS26の結果として特徴点検出部71から供給された特徴点の検出結果とを自己位置算出部73に供給する。
 ステップS28において、自己位置算出部73は、ランドマーク推定部72から供給された特徴点の検出結果および三次元マップと、最後に行われた自己位置推定の結果とに基づいて、自己位置推定を行う。
 例えば自己位置算出部73は、最後に自己位置推定が行われたときの撮影画像上における特徴点の移動量、またはそのときの実空間上におけるカメラ51の移動量に基づいて、今回、自己位置推定を行うときのマッチング範囲を定める。
 具体的には、自己位置算出部73は、今回得られた撮影画像から、前回得られた撮影画像上のランドマークに対応する特徴点に対応する特徴点を探索するにあたり、前回、自己位置推定が行われたときの特徴点の移動量に基づいて、撮影画像上の探索対象とすべき領域、つまり対応する特徴点が存在するであろう領域をマッチング範囲として定める。
 自己位置算出部73は、ランドマーク推定部72から供給された特徴点の検出結果に基づいて、今回得られた撮影画像のマッチング範囲を対象とし、そのマッチング範囲に含まれる特徴点と、前回、自己位置推定が行われたときの撮影画像から検出された特徴点との対応関係を求めるマッチング処理を行う。これにより、前回得られた撮影画像上の、ランドマークに対応する特徴点と、その特徴点と同じ部位から抽出された、今回得られた撮影画像上の特徴点との対応関係が求まる。なお、マッチング処理は、左撮影画像または右撮影画像の何れか一方のみ行われてもよいし、それらの両方の撮影画像について行われてもよい。
 自己位置算出部73は、このようにして得られたランドマークに対応する特徴点の対応関係と、更新された三次元マップにより示される各ランドマークの位置とに基づいて、現時刻におけるユーザの位置および姿勢を自己位置として算出する。
 ここで、ユーザの位置および姿勢とは、実空間上、つまり三次元座標系におけるユーザの位置、およびユーザの向いている方向である。より詳細には、ユーザの向いている方向、つまりユーザの姿勢は、例えばユーザの頭部のヨー角、ロール角、およびピッチ角により表現される。
 このようにして自己位置推定の結果として、現時刻でのユーザの自己位置が得られると、自己位置算出部73は、自己位置推定の結果を後段に出力する。そして、その後、処理はステップS11に戻り、上述した処理が繰り返し行われる。また、ユーザの自己位置の推定終了が指示されると、自己位置推定処理は終了する。
 以上のようにして、自己位置推定システムは、スリープモードとなってから所定時間が経過するとカウントモードへと移行して起動カメラを選択し直し、再びスリープモードへと移行する。このように一定の時間間隔で起動カメラを選択し直して、再度、スリープモードへと移行することで、より低い消費電力で自己位置推定を行うことができる。
 特に、一定の時間間隔で起動カメラを選択し直し、最も多くの特徴点を検出できるカメラ51を起動カメラとして選択することで、少ない消費電力でも、十分な精度で確実に自己位置を推定することができる。
 なお、ここではカメラ51がステレオカメラである場合を例として説明したが、カメラ51で得られた撮影画像に基づいて行われる自己位置推定の方法は、どのような方法であってもよい。例えばカメラ51は単眼カメラであってもよく、そのような場合でも、自己位置推定部61では、SLAM等により自己位置推定を行うことができる。
 自己位置推定時には、例えば自己位置推定部61は、最後に自己位置推定が行われたときの実空間(三次元座標系)上におけるユーザの移動量に基づいて、現時刻におけるユーザのおおよその自己位置を推定し、撮影画像上におけるマッチング範囲を求める。
 そして、自己位置推定部61は、今回得られた撮影画像におけるマッチング範囲を対象として、そのマッチング範囲内にある特徴点と、前回得られた撮影画像における、ランドマークに対応する特徴点との対応関係をマッチング処理により求める。このマッチング処理により、撮影画像上におけるランドマークに対応する特徴点の移動量が求まる。
 さらに、自己位置推定部61は、ランドマークに対応する特徴点の撮影画像上の移動量と、前回の自己位置推定結果により示される自己位置とから、現時刻の最終的な自己位置と、実空間におけるランドマーク位置とを算出する。このとき、自己位置推定部61は、求められたランドマーク位置に基づいて、適宜、三次元マップを更新する。
〈第1の実施の形態の変形例1〉
〈自己位置推定処理の説明〉
 また、以上においては、スリープモードで起動する起動カメラとして1つのカメラ51を選択する例について説明したが、1または複数のカメラ51が起動カメラとして選択されるようにしてもよい。
 以下、図4のフローチャートを参照して、そのような場合に自己位置推定システムにより行われる自己位置推定処理について説明する。なお、ステップS51乃至ステップS58の処理は、図3のステップS11乃至ステップS18の処理と同様であるので、その説明は省略する。
 ステップS58において撮影画像から特徴点が検出されると、ステップS59において、起動判定部62は、処理対象のカメラ51について得られた特徴点数nと、予め定められた閾値nthとを比較してn>nthであるか否かを判定する。
 ここで、閾値nthは、例えば十分な精度で自己位置推定を行うのに必要とされる特徴点数などとされる。したがって、撮影画像から閾値nthよりも多い数の特徴点が検出されたカメラ51は、十分な精度で自己位置推定を行うことができるカメラ51、つまり起動カメラとすべきカメラ51であるということができる。
 そこで、ステップS59においてn>nthであると判定された場合、起動判定部62は処理対象のカメラ51を起動カメラとして選択し、その選択結果を起動切替部63に供給して処理はステップS60に進む。
 なお、ここでは特徴点数が閾値より大きいカメラ51が起動カメラとされるが、その他、例えば特徴点数が閾値より大きいカメラ51のなかから、特徴点数が多い順に予め定められた数のカメラ51が起動カメラとして選択されるようにしてもよい。
 ステップS60において、起動切替部63は、起動判定部62から供給された起動カメラの選択結果に基づいて、処理対象のカメラ51を起動させ、処理はステップS62へと進む。すなわち、処理対象のカメラ51が起動されたままの状態とされる。
 これに対して、ステップS59においてn>nthでない、つまり処理対象のカメラ51について求めた特徴点数nが閾値nth以下である場合、起動判定部62は処理対象のカメラ51を起動停止カメラとして選択し、その選択結果を起動切替部63に供給して処理はステップS61に進む。
 ステップS61において、起動切替部63は、起動判定部62から供給された起動停止カメラの選択結果に基づいて、処理対象のカメラ51の起動を一時的に停止させ、処理はステップS62へと進む。すなわち、処理対象のカメラ51がスリープ状態とされる。
 ステップS60においてカメラ51が起動されたか、またはステップS61においてカメラ51の起動が停止されると、ステップS62において、起動判定部62は保持しているカウンタiの値を1だけインクリメントする。そして、その後、処理はステップS57に戻り、上述した処理が繰り返し行われる。
 また、ステップS57において、全てのカメラ51について処理を行ったと判定された場合、ステップS63において、起動判定部62は自己位置推定システムの状態を、カウントモードからスリープモードへと移行させる。
 そして、ステップS64において、起動判定部62は基準タイムスタンプtk=タイムスタンプtとする。すなわち、ステップS64では、図3のステップS23と同様の処理が行われ、基準タイムスタンプtkが更新される。
 ステップS64で基準タイムスタンプtkが更新されたか、またはステップS55でスリープモードが維持されると、その後、ステップS65乃至ステップS68の処理が行われて、処理はステップS51に戻り、上述した処理が繰り返し行われる。また、ユーザの自己位置の推定終了が指示されると、自己位置推定処理は終了する。
 なお、ステップS65乃至ステップS68の処理は、図3のステップS25乃至ステップS28の処理と同様であるので、その説明は省略する。
 但し、この例では起動カメラが複数あることもあり、起動カメラとされたカメラ51ごとに自己位置推定結果が得られることになる。この場合、例えば自己位置算出部73は、各カメラ51について得られた自己位置の平均値など、それらの自己位置に基づいて得られた1つの自己位置を、最終的な自己位置とする。また、起動カメラごとに自己位置を求めてから最終的な自己位置を算出するのではなく、自己位置算出の過程で、各起動カメラにおける計算結果が1つに統合されるようにしてもよい。
 以上のようにして、自己位置推定システムは、スリープモードとなってから所定時間が経過するとカウントモードへと移行して起動カメラを選択し直し、再びスリープモードへと移行する。これにより、より低い消費電力で自己位置推定を行うことができる。
 特に、一定の時間間隔で起動カメラを選択し直し、閾値より多い数の特徴点を検出できるカメラ51を起動カメラとして選択することで、少ない消費電力でも、十分な精度で確実に自己位置を推定することができる。
〈第1の実施の形態の変形例2〉
〈自己位置推定処理の説明〉
 また、以上においては撮影画像から検出される特徴点の数に基づいて起動カメラを選択する例について説明したが、撮影画全体から均一に、かつより多くの特徴点が検出される1つのカメラ51を起動カメラとして選択するようにしてもよい。
 以下、図5のフローチャートを参照して、そのような場合に自己位置推定システムにより行われる自己位置推定処理について説明する。なお、ステップS91乃至ステップS98の処理は、図3のステップS11乃至ステップS18の処理と同様であるので、その説明は省略する。
 ステップS99において起動判定部62は、特徴点検出部71からステップS98における特徴点の検出結果を取得し、その検出結果に基づいて特徴点面積Sを求める。
 例えば、起動判定部62は、処理対象のカメラ51で得られた撮影画像について、その撮影画像から検出された特徴点を中心とする所定の大きさの矩形領域を特徴領域とする。さらに、起動判定部62は、特徴点のペアごとに、それらの2つの特徴領域同士が重なり合っている部分の面積を算出し、算出された面積の総和を、全特徴点の特徴領域の面積の総和から減算して得られる値を特徴点面積Sとする。
 このようにして求められる特徴点面積Sは、撮影画像から、より多くの特徴点が検出されるほど大きくなる。また、撮影画像の各領域から特徴点が均一に検出されるほど、特徴領域同士が重なり合う領域が小さくなり、その結果、特徴点面積Sは大きくなる。
 したがって、複数のカメラ51のうち、最も特徴点面積Sが大きいカメラ51が、撮影画像全体から均一に、かつより多くの特徴点が検出される、最も自己位置推定に用いるのに適したカメラ51であるということができる。
 このように特徴点面積Sに基づいて起動カメラを選択することは、カウントモードの状態で得られた撮影画像上の特徴点の分布に基づいて起動カメラを選択することであるということができる。
 ステップS100において、起動判定部62は、処理対象のカメラ51について得られた特徴点面積Sと、最後にカウントモードとなった後、これまで処理対象としたカメラ51について得られた特徴点面積Sの最大値である特徴点面積Smaxとを比較し、S>Smaxであるか否かを判定する。すなわち、処理対象のカメラ51について得られた特徴点面積Sが、これまで得られている特徴点面積Sのなかの最大値である特徴点面積Smaxよりも大きいか否かが判定される。
 また、起動判定部62は特徴点面積Smaxが得られたときのカウンタiの値を、その特徴点面積Smaxが得られたカメラ51を特定するカメラインデックスimaxの値として保持しているものとする。
 ステップS100において、S>Smaxでないと判定された場合、ステップS101の処理はスキップされて、処理はステップS102へと進む。
 これに対して、ステップS100においてS>Smaxであると判定された場合、ステップS101において、起動判定部62はSmax=Sおよびimax=iとする。
 すなわち、起動判定部62は保持している特徴点面積Smaxの値が、処理対象のカメラ51について得られた特徴点面積Sの値となるように特徴点面積Smaxを更新する。また、起動判定部62は保持しているカメラインデックスimaxの値が、処理対象のカメラ51を示すカメラインデックスi、つまり現時点におけるカウンタiの値となるようにカメラインデックスimaxを更新する。
 このような処理が全カメラ51について行われると、その時点におけるカメラインデックスimaxの値は、現時点において最も特徴点面積Sが大きいカメラ51を示すカメラインデックスiの値となる。
 同様に特徴点面積Smaxの値は、カメラインデックスimaxにより示されるカメラ51について得られた特徴点面積Sの値、つまり現時点における特徴点面積Sの最大値となる。
 ステップS101において特徴点面積Smaxおよびカメラインデックスimaxが更新されると、その後、処理はステップS102へと進む。
 ステップS101において特徴点面積Smaxおよびカメラインデックスimaxが更新されたか、またはステップS100においてS>Smaxでないと判定されると、ステップS102において、起動判定部62は保持しているカウンタiの値を1だけインクリメントする。そして、その後、処理はステップS97に戻り、上述した処理が繰り返し行われる。
 また、ステップS97において、全てのカメラ51について処理を行ったと判定された場合、ステップS103において、起動判定部62は自己位置推定システムの状態を、カウントモードからスリープモードへと移行させる。
 そして、ステップS104において、起動判定部62は基準タイムスタンプtk=タイムスタンプtとする。すなわち、ステップS104では、図3のステップS23と同様の処理が行われ、基準タイムスタンプtkが更新される。
 また、起動判定部62は、スリープモードとなると、カメラインデックスimaxにより示されるカメラ51を、スリープモード時に起動させる起動カメラとして選択し、その選択結果を起動切替部63に供給する。
 ステップS105において、起動切替部63は、起動判定部62から供給された起動カメラの選択結果に基づいて、カメラインデックスimaxにより示されるカメラ51のみを起動させたままとし、残りのカメラ51の起動を一時的に停止させる。
 このような処理によれば、自己位置推定に最も適したカメラ51が起動カメラとされ、他のカメラ51は起動停止カメラとされることになる。その結果、起動カメラによって十分な精度で確実に自己位置を推定しつつ、他のカメラ51の起動を停止させて消費電力を低く抑えることができるようになる。
 ステップS105でカメラ51の起動制御が行われたか、またはステップS95でスリープモードが維持されると、その後、ステップS106乃至ステップS109の処理が行われて、処理はステップS91に戻り、上述した処理が繰り返し行われる。また、ユーザの自己位置の推定終了が指示されると、自己位置推定処理は終了する。
 なお、ステップS106乃至ステップS109の処理は、図3のステップS25乃至ステップS28の処理と同様であるので、その説明は省略する。
 以上のようにして、自己位置推定システムは、スリープモードとなってから所定時間が経過するとカウントモードへと移行して起動カメラを選択し直し、再びスリープモードへと移行する。これにより、より低い消費電力で自己位置推定を行うことができる。
 特に、一定の時間間隔で起動カメラを選択し直し、最も多くかつ均一に特徴点を検出できるカメラ51を起動カメラとして選択することで、少ない消費電力でも、十分な精度で確実に自己位置を推定することができる。
〈第1の実施の形態の変形例3〉
〈自己位置推定処理の説明〉
 また、起動カメラを選択するにあたり、最も多くのランドマークを観測できるカメラ51を起動カメラとするようにしてもよい。
 以下、図6のフローチャートを参照して、そのような場合に自己位置推定システムにより行われる自己位置推定処理について説明する。なお、ステップS131乃至ステップS137の処理は、図3のステップS11乃至ステップS17の処理と同様であるので、その説明は省略する。
 ステップS137において全てのカメラ51について処理を行っていないと判定された場合、処理はステップS138へと進む。
 ステップS138において、自己位置推定部61は、カウンタi、すなわちカメラインデックスiの値により特定される処理対象のカメラ51から供給された撮影画像に基づいて自己位置推定を行う。この撮影画像は、カウントモードの状態で撮影されて得られたものである。
 例えば自己位置推定部61の特徴点検出部71は、処理対象のカメラ51から供給された撮影画像から特徴点を検出し、その検出結果をランドマーク推定部72を介して自己位置算出部73に供給する。また、ランドマーク推定部72は、必要に応じて図3のステップS27の処理と同様の処理を行い、保持している三次元マップを更新する。
 自己位置算出部73は、最後に自己位置推定が行われたときの撮影画像からの特徴点の検出結果と、ランドマーク推定部72から供給された、カメラインデックスiのカメラ51で得られた撮影画像についての特徴点の検出結果とに基づいて、それらの撮影画像から検出された特徴点の対応関係を求める。
 そして自己位置算出部73は、このようにして得られた特徴点の対応関係と、更新された三次元マップとに基づいて、現時刻におけるユーザの位置および姿勢を自己位置として算出する。
 ステップS139において、自己位置算出部73は、ステップS138の処理で求めた現時刻における自己位置と、三次元マップとに基づいて、カメラインデックスiである処理対象のカメラ51で得られた撮影画像で観測されるランドマークの数を視野内ランドマーク数mとして求める。すなわち、撮影画像に含まれる、三次元マップに示されるランドマークに対応する特徴点の数が視野内ランドマーク数mとされる。
 自己位置推定部61は、このようにして得られた視野内ランドマーク数mを、起動判定部62に供給する。
 一般的に、カメラ51について得られた視野内ランドマーク数mが多いほど、そのカメラ51を用いて自己位置推定を行なえば、より高精度かつ確実に自己位置を推定することができるはずである。そこで、起動判定部62では、最も視野内ランドマーク数mが多いカメラ51が起動カメラとして選択されるように処理が行われる。
 ステップS140において起動判定部62は、自己位置推定部61から供給された視野内ランドマーク数mと、最後にカウントモードとなった後、これまで処理対象としたカメラ51について得られた視野内ランドマーク数mの最大値である視野内ランドマーク数mmaxとを比較し、m>mmaxであるか否かを判定する。すなわち、処理対象のカメラ51について得られた視野内ランドマーク数mが、これまで得られている視野内ランドマーク数mのなかの最大値である視野内ランドマーク数mmaxよりも大きいか否かが判定される。
 また、起動判定部62は視野内ランドマーク数mmaxが得られたときのカウンタiの値を、その視野内ランドマーク数mmaxが得られたカメラ51を特定するカメラインデックスimaxの値として保持しているものとする。
 ステップS140において、m>mmaxでないと判定された場合、ステップS141の処理はスキップされて、処理はステップS142へと進む。
 これに対して、ステップS140においてm>mmaxであると判定された場合、ステップS141において、起動判定部62はmmax=mおよびimax=iとする。
 すなわち、起動判定部62は保持している視野内ランドマーク数mmaxの値が、処理対象のカメラ51について得られた視野内ランドマーク数mの値となるように視野内ランドマーク数mmaxを更新する。また、起動判定部62は保持しているカメラインデックスimaxの値が、処理対象のカメラ51を示すカメラインデックスi、つまり現時点におけるカウンタiの値となるようにカメラインデックスimaxを更新する。
 このような処理が全カメラ51について行われると、その時点におけるカメラインデックスimaxの値は、現時点において最も視野内ランドマーク数mが多いカメラ51を示すカメラインデックスiの値となる。
 同様に視野内ランドマーク数mmaxの値は、カメラインデックスimaxにより示されるカメラ51について得られた視野内ランドマーク数mの値、つまり現時点における視野内ランドマーク数mの最大値となる。
 ステップS141において視野内ランドマーク数mmaxおよびカメラインデックスimaxが更新されると、その後、処理はステップS142へと進む。
 ステップS141において視野内ランドマーク数mmaxおよびカメラインデックスimaxが更新されたか、またはステップS140においてm>mmaxでないと判定されると、ステップS142において、起動判定部62は保持しているカウンタiの値を1だけインクリメントする。そして、その後、処理はステップS137に戻り、上述した処理が繰り返し行われる。
 また、ステップS137において、全てのカメラ51について処理を行ったと判定されると、その後、ステップS143乃至ステップS145の処理が行われて、視野内ランドマーク数mが最大となるカメラ51が起動カメラとして選択される。なお、これらのステップS143乃至ステップS145の処理は図3のステップS22乃至ステップS24の処理と同様であるので、その説明は省略する。
 さらに、ステップS145においてカメラ51の起動制御が行われたか、またはステップS135においてスリープモードが維持されると、ステップS146乃至ステップS149の処理が行われて処理はステップS131に戻り、上述した処理が繰り返し行われる。また、ユーザの自己位置の推定終了が指示されると、自己位置推定処理は終了する。
 なお、ステップS146乃至ステップS149の処理は、図3のステップS25乃至ステップS28の処理と同様であるので、その説明は省略する。
 以上のようにして、自己位置推定システムは、スリープモードとなってから所定時間が経過するとカウントモードへと移行して起動カメラを選択し直し、再びスリープモードへと移行する。これにより、より低い消費電力で自己位置推定を行うことができる。
 特に、一定の時間間隔で起動カメラを選択し直し、最も多くランドマークを観測できるカメラ51を起動カメラとして選択することで、少ない消費電力でも、十分な精度で確実に自己位置を推定することができる。
〈第2の実施の形態〉
〈自己位置推定処理の説明〉
 さらに、以上においては、一定の時間が経過したらスリープモードからカウントモードへと移行する例について説明したが、ユーザ(カメラ51)の自己位置が基準となる位置から所定距離以上、移動したタイミングでカウントモードに移行されるようにしてもよい。
 以下、図7のフローチャートを参照して、そのような場合に自己位置推定システムにより行われる自己位置推定処理について説明する。なお、ステップS171の処理は、図3のステップS11の処理と同様であるので、その説明は省略する。
 ステップS171においてスリープモードであると判定された場合、起動判定部62は、自己位置推定部61の自己位置算出部73から、現時刻における自己位置の算出結果を自己位置xとして取得し、処理はステップS172へと進む。
 ステップS172において、起動判定部62は取得した現時刻における自己位置xと、保持している基準となる自己位置である基準自己位置xkとの間の距離|x-xk|が所定の閾値β未満であるか否か、すなわち|x-xk|<βであるか否かを判定する。
 起動判定部62は、最後にカウントモードからスリープモードへと移行(遷移)したときのユーザの自己位置xを、基準自己位置xkとして保持している。
 ステップS172の処理では、実空間上(三次元座標系)における基準自己位置xkから自己位置xまでの距離|x-xk|が閾値β未満であるかが判定される。したがって、この処理では、最後にカウントモードからスリープモードへと移行してから、つまりスリープモードとなってから、ユーザの自己位置が所定の距離β以上、移動したか否かが判定されることになる。
 なお、ここでは実空間上における自己位置の移動距離に基づいて、カウントモードへと移行するかの判定を行う例について説明するが、その他、撮影画像上におけるランドマークに対応する特徴点の移動距離に基づいて判定を行うようにしてもよい。また、ユーザの姿勢の変化量に基づいて、判定を行うようにしてもよい。
 ステップS172において|x-xk|<βでない、つまりスリープモードとなってから、所定距離β以上、自己位置が変化したと判定された場合、起動判定部62は起動切替部63に全カメラ51の起動を指示し、処理はステップS173へと進む。
 そして、その後、ステップS173およびステップS174の処理が行われ、処理はステップS171に戻り、上述した処理が繰り返し行われる。なお、ステップS173およびステップS174の処理は、図3のステップS13およびステップS14の処理と同様であるので、その説明は省略する。
 また、ステップS172において、|x-xk|<βである、すなわちスリープモードとなってから自己位置が所定距離β以上、移動していないと判定された場合、ステップS175において、起動判定部62はスリープモードの状態を維持する。
 スリープモードの状態が維持されると、その後、処理はステップS185へと進む。
 また、ステップS171において、スリープモードではないと判定された場合、すなわちカウントモードである場合、処理はステップS176へと進む。
 そして、ステップS176乃至ステップS182の処理が行われるが、これらの処理は図3のステップS16乃至ステップS22の処理と同様であるので、その説明は省略する。
 ステップS183において、起動判定部62は基準自己位置xk=現時刻の自己位置xとする。
 すなわち、起動判定部62は、保持している基準自己位置xkが、現時刻の自己位置xとなるように、基準自己位置xkを更新する。これにより、カウントモードからスリープモードへと移行した時点における自己位置が、新たな基準自己位置xkとされることになる。
 基準自己位置xkが更新されると、その後、ステップS184の処理が行われて、処理はステップS185へと進むが、ステップS184の処理は図3のステップS24の処理と同様であるので、その説明は省略する。
 ステップS184においてカメラ51の起動制御が行われたか、またはステップS175においてスリープモードが維持されると、ステップS185乃至ステップS188の処理が行われて処理はステップS171に戻り、上述した処理が繰り返し行われる。また、ユーザの自己位置の推定終了が指示されると、自己位置推定処理は終了する。
 なお、ステップS185乃至ステップS188の処理は、図3のステップS25乃至ステップS28の処理と同様であるので、その説明は省略する。
 以上のようにして、自己位置推定システムは、スリープモードとなってから自己位置が所定距離以上、移動するとカウントモードへと移行して起動カメラを選択し直し、再びスリープモードへと移行する。これにより、より低い消費電力で自己位置推定を行うことができる。
 特に、自己位置が所定距離以上、移動したタイミングで起動カメラを選択し直し、最も多くの特徴点を検出できるカメラ51を起動カメラとして選択することで、少ない消費電力でも、十分な精度で確実に自己位置を推定することができる。
〈第2の実施の形態の変形例1〉
〈自己位置推定処理の説明〉
 また、自己位置の移動距離に基づいてカウントモードに移行するかの判定を行う場合においても、図4を参照して説明したように、1または複数のカメラ51が起動カメラとして選択されるようにしてもよい。
 以下、図8のフローチャートを参照して、そのような場合に自己位置推定システムにより行われる自己位置推定処理について説明する。なお、ステップS211乃至ステップS218の処理は、図7のステップS171乃至ステップS178の処理と同様であるので、その説明は省略する。
 また、ステップS218において特徴点が検出されると、その後、ステップS219乃至ステップS223の処理が行われて、特徴点数nが閾値nthより大きいカメラ51が起動カメラとして選択される。なお、これらのステップS219乃至ステップS223の処理は図4のステップS59乃至ステップS63の処理と同様であるので、その説明は省略する。
 ステップS224において、起動判定部62は基準自己位置xk=現時刻の自己位置xとする。ステップS224では、図7のステップS183と同様の処理が行われる。
 ステップS224で基準自己位置xkが更新されたか、またはステップS215においてスリープモードが維持されると、ステップS225乃至ステップS228の処理が行われて処理はステップS211に戻り、上述した処理が繰り返し行われる。また、ユーザの自己位置の推定終了が指示されると、自己位置推定処理は終了する。
 なお、ステップS225乃至ステップS228の処理は、図3のステップS25乃至ステップS28の処理と同様であるので、その説明は省略する。
 以上のようにして、自己位置推定システムは、スリープモードとなってから自己位置が所定距離以上、移動するとカウントモードへと移行して起動カメラを選択し直し、再びスリープモードへと移行する。これにより、より低い消費電力で自己位置推定を行うことができる。
 特に、自己位置が所定距離以上、移動したタイミングで起動カメラを選択し直し、閾値より多い数の特徴点を検出できるカメラ51を起動カメラとして選択することで、少ない消費電力でも、十分な精度で確実に自己位置を推定することができる。
〈第2の実施の形態の変形例2〉
〈自己位置推定処理の説明〉
 また、自己位置の移動距離に基づいてカウントモードに移行するかの判定を行う場合においても、図5を参照して説明したように、特徴点面積Sに基づいて起動カメラを選択するようにしてもよい。
 以下、図9のフローチャートを参照して、そのような場合に自己位置推定システムにより行われる自己位置推定処理について説明する。なお、ステップS251乃至ステップS258の処理は、図7のステップS171乃至ステップS178の処理と同様であるので、その説明は省略する。
 また、ステップS258において特徴点が検出されると、その後、ステップS259乃至ステップS263の処理が行われて、特徴点面積Sが最大となるカメラ51が起動カメラとして選択される。なお、これらのステップS259乃至ステップS263の処理は図5のステップS99乃至ステップS103の処理と同様であるので、その説明は省略する。
 ステップS264において、起動判定部62は基準自己位置xk=現時刻の自己位置xとする。ステップS264では、図7のステップS183と同様の処理が行われる。
 基準自己位置xkが更新されると、その後、ステップS265の処理が行われて、処理はステップS266へと進むが、ステップS265の処理は図3のステップS24の処理と同様であるので、その説明は省略する。
 ステップS265においてカメラ51の起動制御が行われたか、またはステップS255においてスリープモードが維持されると、ステップS266乃至ステップS269の処理が行われて処理はステップS251に戻り、上述した処理が繰り返し行われる。また、ユーザの自己位置の推定終了が指示されると、自己位置推定処理は終了する。
 なお、ステップS266乃至ステップS269の処理は、図3のステップS25乃至ステップS28の処理と同様であるので、その説明は省略する。
 以上のようにして、自己位置推定システムは、スリープモードとなってから自己位置が所定距離以上、移動するとカウントモードへと移行して起動カメラを選択し直し、再びスリープモードへと移行する。これにより、より低い消費電力で自己位置推定を行うことができる。
 特に、自己位置が所定距離以上、移動したタイミングで起動カメラを選択し直し、最も多くかつ均一に特徴点を検出できるカメラ51を起動カメラとして選択することで、少ない消費電力でも、十分な精度で確実に自己位置を推定することができる。
〈第2の実施の形態の変形例3〉
〈自己位置推定処理の説明〉
 また、自己位置の移動距離に基づいてカウントモードに移行するかの判定を行う場合においても、図6を参照して説明したように、視野内ランドマーク数mに基づいて起動カメラを選択するようにしてもよい。
 以下、図10のフローチャートを参照して、そのような場合に自己位置推定システムにより行われる自己位置推定処理について説明する。なお、ステップS291乃至ステップS297の処理は、図7のステップS171乃至ステップS177の処理と同様であるので、その説明は省略する。
 また、ステップS297において全てのカメラ51について処理を行ったかの判定が行われると、その後、ステップS298乃至ステップS303の処理が行われて、視野内ランドマーク数mが最大となるカメラ51が起動カメラとして選択される。なお、これらのステップS298乃至ステップS303の処理は図6のステップS138乃至ステップS143の処理と同様であるので、その説明は省略する。
 ステップS304において、起動判定部62は基準自己位置xk=現時刻の自己位置xとする。ステップS304では、図7のステップS183と同様の処理が行われる。
 基準自己位置xkが更新されると、その後、ステップS305の処理が行われて、処理はステップS306へと進むが、ステップS305の処理は図3のステップS24の処理と同様であるので、その説明は省略する。
 ステップS305においてカメラ51の起動制御が行われたか、またはステップS295においてスリープモードが維持されると、ステップS306乃至ステップS309の処理が行われて処理はステップS291に戻り、上述した処理が繰り返し行われる。また、ユーザの自己位置の推定終了が指示されると、自己位置推定処理は終了する。
 なお、ステップS306乃至ステップS309の処理は、図3のステップS25乃至ステップS28の処理と同様であるので、その説明は省略する。
 以上のようにして、自己位置推定システムは、スリープモードとなってから自己位置が所定距離以上、移動するとカウントモードへと移行して起動カメラを選択し直し、再びスリープモードへと移行する。これにより、より低い消費電力で自己位置推定を行うことができる。
 特に、自己位置が所定距離以上、移動したタイミングで起動カメラを選択し直し、最も多くランドマークを観測できるカメラ51を起動カメラとして選択することで、少ない消費電力でも、十分な精度で確実に自己位置を推定することができる。
〈第3の実施の形態〉
〈自己位置推定処理の説明〉
 さらに、スリープモードの状態のときに起動カメラで得られた撮影画像から検出される特徴点の数の基準となる特徴点数に対する割り合いが低下してきたタイミングでカウントモードに移行されるようにしてもよい。
 以下、図11のフローチャートを参照して、そのような場合に自己位置推定システムにより行われる自己位置推定処理について説明する。なお、ステップS331の処理は、図3のステップS11の処理と同様であるので、その説明は省略する。
 ステップS331においてスリープモードであると判定された場合、起動判定部62は、自己位置推定部61の特徴点検出部71から、起動カメラの最新の撮影画像から検出された特徴点の数を特徴点数nとして取得し、処理はステップS332へと進む。ここで、特徴点数nの取得対象となる最新の撮影画像は、スリープモードの状態で起動カメラにより撮影された撮影画像である。
 ステップS332において、起動判定部62は取得した最新の特徴点数nと、保持している基準となる特徴点数である基準特徴点数nkとの比n/nkが所定の閾値γ未満であるか否か、すなわちn/nk<γであるか否かを判定する。
 起動判定部62は、最後にカウントモードからスリープモードへと移行(遷移)したときの各カメラ51の撮影画像について得られた特徴点数の最大値を、基準特徴点数nkとして保持している。したがって、ステップS332の処理では、スリープモードとなった時点を基準として、その時点での特徴点数の最大値に対する、現時刻の起動カメラの特徴点数の割り合いがどの程度低下したかが判定される。そして、例えば現時刻で観測される特徴点の数が減少し、n/nk<γとなったときにスリープモードからカウントモードへと移行するように制御される。
 ステップS332においてn/nk<γである、つまりスリープモードとなってから、観測される特徴点の数が低下し、特徴点数が十分でないと判定された場合、起動判定部62は起動切替部63に全カメラ51の起動を指示し、処理はステップS333へと進む。
 そして、その後、ステップS333およびステップS334の処理が行われ、処理はステップS331に戻り、上述した処理が繰り返し行われる。なお、ステップS333およびステップS334の処理は、図3のステップS13およびステップS14の処理と同様であるので、その説明は省略する。
 また、ステップS332において、n/nk<γでない、すなわち十分な数の特徴点が観測されている状態であると判定された場合、ステップS335において、起動判定部62はスリープモードの状態を維持する。
 スリープモードの状態が維持されると、その後、処理はステップS345へと進む。
 また、ステップS331において、スリープモードではないと判定された場合、すなわちカウントモードである場合、処理はステップS336へと進む。
 そして、ステップS336乃至ステップS342の処理が行われるが、これらの処理は図3のステップS16乃至ステップS22の処理と同様であるので、その説明は省略する。
 ステップS343において、起動判定部62は基準特徴点数nk=特徴点数nmaxとする。
 すなわち、起動判定部62は、保持している基準特徴点数nkが、現時刻の撮影画像から検出された特徴点の数の最大値、つまりステップS338の処理で撮影画像から検出された特徴点の数の最大値である特徴点数nmaxとなるように、基準特徴点数nkを更新する。
 これにより、カウントモードからスリープモードへと移行した時点における特徴点数の最大値が、新たな基準特徴点数nkとされることになる。なお、この例では、基準特徴点数nkとされる特徴点数nmaxは、ステップS340の処理で得られる特徴点数nmaxと同じである。
 基準特徴点数nkが更新されると、その後、ステップS344の処理が行われて、処理はステップS345へと進むが、ステップS344の処理は図3のステップS24の処理と同様であるので、その説明は省略する。
 ステップS344においてカメラ51の起動制御が行われたか、またはステップS335においてスリープモードが維持されると、ステップS345乃至ステップS348の処理が行われて処理はステップS331に戻り、上述した処理が繰り返し行われる。また、ユーザの自己位置の推定終了が指示されると、自己位置推定処理は終了する。
 なお、ステップS345乃至ステップS348の処理は、図3のステップS25乃至ステップS28の処理と同様であるので、その説明は省略する。
 以上のようにして、自己位置推定システムは、スリープモードとなってから基準特徴点数と現時刻の特徴点数との比が閾値未満まで減少するとカウントモードへと移行して起動カメラを選択し直し、再びスリープモードへと移行する。これにより、より低い消費電力で自己位置推定を行うことができる。
 特に、基準特徴点数と現時刻の特徴点数との比が閾値未満となったタイミングで起動カメラを選択し直し、最も多くの特徴点を検出できるカメラ51を起動カメラとして選択することで、少ない消費電力でも、十分な精度で確実に自己位置を推定することができる。
〈第3の実施の形態の変形例1〉
〈自己位置推定処理の説明〉
 また、特徴点数の比に基づいてカウントモードに移行するかの判定を行う場合においても、図4を参照して説明したように、1または複数のカメラ51が起動カメラとして選択されるようにしてもよい。
 以下、図12のフローチャートを参照して、そのような場合に自己位置推定システムにより行われる自己位置推定処理について説明する。なお、ステップS371乃至ステップS378の処理は、図11のステップS331乃至ステップS338の処理と同様であるので、その説明は省略する。
 また、ステップS378において特徴点が検出されると、その後、ステップS379乃至ステップS383の処理が行われて、特徴点数nが閾値nthより大きいカメラ51が起動カメラとして選択される。なお、これらのステップS379乃至ステップS383の処理は図4のステップS59乃至ステップS63の処理と同様であるので、その説明は省略する。
 ステップS384において、起動判定部62は基準特徴点数nk=特徴点数nmaxとする。ステップS384では、図11のステップS343と同様の処理が行われる。
 ステップS384で基準特徴点数nkが更新されたか、またはステップS375においてスリープモードが維持されると、ステップS385乃至ステップS388の処理が行われて処理はステップS371に戻り、上述した処理が繰り返し行われる。また、ユーザの自己位置の推定終了が指示されると、自己位置推定処理は終了する。
 なお、ステップS385乃至ステップS388の処理は、図3のステップS25乃至ステップS28の処理と同様であるので、その説明は省略する。
 以上のようにして、自己位置推定システムは、スリープモードとなってから基準特徴点数と現時刻の特徴点数との比が閾値未満まで減少するとカウントモードへと移行して起動カメラを選択し直し、再びスリープモードへと移行する。これにより、より低い消費電力で自己位置推定を行うことができる。
 特に、基準特徴点数と現時刻の特徴点数との比が閾値未満となったタイミングで起動カメラを選択し直し、閾値より多い数の特徴点を検出できるカメラ51を起動カメラとして選択することで、少ない消費電力でも、十分な精度で確実に自己位置を推定することができる。
〈第3の実施の形態の変形例2〉
〈自己位置推定処理の説明〉
 また、特徴点数の比に基づいてカウントモードに移行するかの判定を行う場合においても、図5を参照して説明したように、特徴点面積Sに基づいて起動カメラを選択するようにしてもよい。
 以下、図13のフローチャートを参照して、そのような場合に自己位置推定システムにより行われる自己位置推定処理について説明する。なお、ステップS411乃至ステップS418の処理は、図11のステップS331乃至ステップS338の処理と同様であるので、その説明は省略する。
 また、ステップS418において特徴点が検出されると、その後、ステップS419乃至ステップS423の処理が行われて、特徴点面積Sが最大となるカメラ51が起動カメラとして選択される。なお、これらのステップS419乃至ステップS423の処理は図5のステップS99乃至ステップS103の処理と同様であるので、その説明は省略する。
 ステップS424において、起動判定部62は基準特徴点数nk=特徴点数nmaxとする。ステップS424では、図11のステップS343と同様の処理が行われる。
 基準特徴点数nkが更新されると、その後、ステップS425の処理が行われて、処理はステップS426へと進むが、ステップS425の処理は図3のステップS24の処理と同様であるので、その説明は省略する。
 ステップS425においてカメラ51の起動制御が行われたか、またはステップS415においてスリープモードが維持されると、ステップS426乃至ステップS429の処理が行われて処理はステップS411に戻り、上述した処理が繰り返し行われる。また、ユーザの自己位置の推定終了が指示されると、自己位置推定処理は終了する。
 なお、ステップS426乃至ステップS429の処理は、図3のステップS25乃至ステップS28の処理と同様であるので、その説明は省略する。
 以上のようにして、自己位置推定システムは、スリープモードとなってから基準特徴点数と現時刻の特徴点数との比が閾値未満まで減少するとカウントモードへと移行して起動カメラを選択し直し、再びスリープモードへと移行する。これにより、より低い消費電力で自己位置推定を行うことができる。
 特に、基準特徴点数と現時刻の特徴点数との比が閾値未満となったタイミングで起動カメラを選択し直し、最も多くかつ均一に特徴点を検出できるカメラ51を起動カメラとして選択することで、少ない消費電力でも、十分な精度で確実に自己位置を推定することができる。
〈第3の実施の形態の変形例3〉
〈自己位置推定処理の説明〉
 また、特徴点数の比に基づいてカウントモードに移行するかの判定を行う場合においても、図6を参照して説明したように、視野内ランドマーク数mに基づいて起動カメラを選択するようにしてもよい。
 以下、図14のフローチャートを参照して、そのような場合に自己位置推定システムにより行われる自己位置推定処理について説明する。なお、ステップS451乃至ステップS457の処理は、図11のステップS331乃至ステップS337の処理と同様であるので、その説明は省略する。
 また、ステップS457において全てのカメラ51について処理を行ったかの判定が行われると、その後、ステップS458乃至ステップS463の処理が行われて、視野内ランドマーク数mが最大となるカメラ51が起動カメラとして選択される。なお、これらのステップS458乃至ステップS463の処理は図6のステップS138乃至ステップS143の処理と同様であるので、その説明は省略する。
 ステップS464において、起動判定部62は基準特徴点数nk=特徴点数nmaxとする。ステップS464では、図11のステップS343と同様の処理が行われる。
 基準特徴点数nkが更新されると、その後、ステップS465の処理が行われて、処理はステップS466へと進むが、ステップS465の処理は図3のステップS24の処理と同様であるので、その説明は省略する。
 ステップS465においてカメラ51の起動制御が行われたか、またはステップS455においてスリープモードが維持されると、ステップS466乃至ステップS469の処理が行われて処理はステップS451に戻り、上述した処理が繰り返し行われる。また、ユーザの自己位置の推定終了が指示されると、自己位置推定処理は終了する。
 なお、ステップS466乃至ステップS469の処理は、図3のステップS25乃至ステップS28の処理と同様であるので、その説明は省略する。
 以上のようにして、自己位置推定システムは、スリープモードとなってから基準特徴点数と現時刻の特徴点数との比が閾値未満まで減少するとカウントモードへと移行して起動カメラを選択し直し、再びスリープモードへと移行する。これにより、より低い消費電力で自己位置推定を行うことができる。
 特に、基準特徴点数と現時刻の特徴点数との比が閾値未満となったタイミングで起動カメラを選択し直し、最も多くランドマークを観測できるカメラ51を起動カメラとして選択することで、少ない消費電力でも、十分な精度で確実に自己位置を推定することができる。
〈第4の実施の形態〉
〈自己位置推定処理の説明〉
 さらに、基準となる状態からのユーザ(カメラ51)の動き量、特に回転量が所定量以上となったタイミングでカウントモードに移行されるようにしてもよい。
 以下、図15のフローチャートを参照して、そのような場合に自己位置推定システムにより行われる自己位置推定処理について説明する。なお、ステップS491の処理は、図3のステップS11の処理と同様であるので、その説明は省略する。
 ステップS491においてスリープモードであると判定された場合、起動判定部62は、画像処理装置52に設けられた図示せぬジャイロセンサから、現時刻におけるユーザ(カメラ51)の回転量を示す回転行列Rを取得して、処理はステップS492へと進む。
 ステップS492において、起動判定部62は取得した現時刻の回転行列Rの転置行列RTと、保持している基準となる時刻における回転量を示す基準回転行列Rkとの積を関数に代入して得られる、基準となる時刻からの回転量f(RTRk)が所定の閾値δ未満であるか否か、すなわちf(RTRk)<δであるか否かを判定する。なお、回転量f(RTRk)は、回転差分の主成分回りの回転量である。
 起動判定部62は、最後にカウントモードからスリープモードへと移行(遷移)したときのジャイロセンサの出力である回転行列Rを、基準回転行列Rkとして保持している。したがって、ステップS492の処理では、スリープモードとなった時点を基準として、その時点から現時刻までのユーザ(カメラ51)の回転量f(RTRk)が閾値δ以上となったかが判定される。そして、例えば回転量f(RTRk)が閾値δ以上となったときにスリープモードからカウントモードへと移行するように制御される。
 ステップS492においてf(RTRk)<δでない、つまりスリープモードとなってからの回転量f(RTRk)が十分大きいと判定された場合、起動判定部62は起動切替部63に全カメラ51の起動を指示し、処理はステップS493へと進む。
 そして、その後、ステップS493およびステップS494の処理が行われ、処理はステップS491に戻り、上述した処理が繰り返し行われる。なお、ステップS493およびステップS494の処理は、図3のステップS13およびステップS14の処理と同様であるので、その説明は省略する。
 また、ステップS492において、f(RTRk)<δである、すなわちスリープモードとなってからの回転量f(RTRk)が十分小さい状態であると判定された場合、ステップS495において、起動判定部62はスリープモードの状態を維持する。
 スリープモードの状態が維持されると、その後、処理はステップS505へと進む。
 また、ステップS491において、スリープモードではないと判定された場合、すなわちカウントモードである場合、処理はステップS496へと進む。
 そして、ステップS496乃至ステップS502の処理が行われるが、これらの処理は図3のステップS16乃至ステップS22の処理と同様であるので、その説明は省略する。
 ステップS503において、起動判定部62は基準回転行列Rk=回転行列Rとする。
 すなわち、起動判定部62は、保持している基準回転行列Rkが、現時刻におけるジャイロセンサの出力、つまりステップS502でスリープモードとされたときのジャイロセンサの出力である回転行列Rとなるように、基準回転行列Rkを更新する。
 基準回転行列Rkが更新されると、その後、ステップS504の処理が行われて、処理はステップS505へと進むが、ステップS504の処理は図3のステップS24の処理と同様であるので、その説明は省略する。
 ステップS504においてカメラ51の起動制御が行われたか、またはステップS495においてスリープモードが維持されると、ステップS505乃至ステップS508の処理が行われて処理はステップS491に戻り、上述した処理が繰り返し行われる。また、ユーザの自己位置の推定終了が指示されると、自己位置推定処理は終了する。
 なお、ステップS505乃至ステップS508の処理は、図3のステップS25乃至ステップS28の処理と同様であるので、その説明は省略する。
 以上のようにして、自己位置推定システムは、スリープモードとなってからのユーザの回転量が閾値以上となるとカウントモードへと移行して起動カメラを選択し直し、再びスリープモードへと移行する。これにより、より低い消費電力で自己位置推定を行うことができる。
 特に、スリープモードとなってからのユーザの回転量が閾値以上となったタイミングで起動カメラを選択し直し、最も多くの特徴点を検出できるカメラ51を起動カメラとして選択することで、少ない消費電力でも、十分な精度で確実に自己位置を推定することができる。
〈第4の実施の形態の変形例1〉
〈自己位置推定処理の説明〉
 また、基準となる状態からの回転量に基づいてカウントモードに移行するかの判定を行う場合においても、図4を参照して説明したように、1または複数のカメラ51が起動カメラとして選択されるようにしてもよい。
 以下、図16のフローチャートを参照して、そのような場合に自己位置推定システムにより行われる自己位置推定処理について説明する。なお、ステップS531乃至ステップS538の処理は、図15のステップS491乃至ステップS498の処理と同様であるので、その説明は省略する。
 また、ステップS538において特徴点が検出されると、その後、ステップS539乃至ステップS543の処理が行われて、特徴点数nが閾値nthより大きいカメラ51が起動カメラとして選択される。なお、これらのステップS539乃至ステップS543の処理は図4のステップS59乃至ステップS63の処理と同様であるので、その説明は省略する。
 ステップS544において、起動判定部62は基準回転行列Rk=回転行列Rとする。ステップS544では、図15のステップS503と同様の処理が行われる。
 ステップS544で基準回転行列Rkが更新されたか、またはステップS535においてスリープモードが維持されると、ステップS545乃至ステップS548の処理が行われて処理はステップS531に戻り、上述した処理が繰り返し行われる。また、ユーザの自己位置の推定終了が指示されると、自己位置推定処理は終了する。
 なお、ステップS545乃至ステップS548の処理は、図3のステップS25乃至ステップS28の処理と同様であるので、その説明は省略する。
 以上のようにして、自己位置推定システムは、スリープモードとなってからのユーザの回転量が閾値以上となるとカウントモードへと移行して起動カメラを選択し直し、再びスリープモードへと移行する。これにより、より低い消費電力で自己位置推定を行うことができる。
 特に、スリープモードとなってからのユーザの回転量が閾値以上となったタイミングで起動カメラを選択し直し、閾値より多い数の特徴点を検出できるカメラ51を起動カメラとして選択することで、少ない消費電力でも、十分な精度で確実に自己位置を推定することができる。
〈第4の実施の形態の変形例2〉
〈自己位置推定処理の説明〉
 また、基準となる状態からの回転量に基づいてカウントモードに移行するかの判定を行う場合においても、図5を参照して説明したように、特徴点面積Sに基づいて起動カメラを選択するようにしてもよい。
 以下、図17のフローチャートを参照して、そのような場合に自己位置推定システムにより行われる自己位置推定処理について説明する。なお、ステップS571乃至ステップS578の処理は、図15のステップS491乃至ステップS498の処理と同様であるので、その説明は省略する。
 また、ステップS578において特徴点が検出されると、その後、ステップS579乃至ステップS583の処理が行われて、特徴点面積Sが最大となるカメラ51が起動カメラとして選択される。なお、これらのステップS579乃至ステップS583の処理は図5のステップS99乃至ステップS103の処理と同様であるので、その説明は省略する。
 ステップS584において、起動判定部62は基準回転行列Rk=回転行列Rとする。ステップS584では、図15のステップS503と同様の処理が行われる。
 基準回転行列Rkが更新されると、その後、ステップS585の処理が行われて、処理はステップS586へと進むが、ステップS585の処理は図3のステップS24の処理と同様であるので、その説明は省略する。
 ステップS585においてカメラ51の起動制御が行われたか、またはステップS575においてスリープモードが維持されると、ステップS586乃至ステップS589の処理が行われて処理はステップS571に戻り、上述した処理が繰り返し行われる。また、ユーザの自己位置の推定終了が指示されると、自己位置推定処理は終了する。
 なお、ステップS586乃至ステップS589の処理は、図3のステップS25乃至ステップS28の処理と同様であるので、その説明は省略する。
 以上のようにして、自己位置推定システムは、スリープモードとなってからのユーザの回転量が閾値以上となるとカウントモードへと移行して起動カメラを選択し直し、再びスリープモードへと移行する。これにより、より低い消費電力で自己位置推定を行うことができる。
 特に、スリープモードとなってからのユーザの回転量が閾値以上となったタイミングで起動カメラを選択し直し、最も多くかつ均一に特徴点を検出できるカメラ51を起動カメラとして選択することで、少ない消費電力でも、十分な精度で確実に自己位置を推定することができる。
〈第4の実施の形態の変形例3〉
〈自己位置推定処理の説明〉
 また、基準となる状態からの回転量に基づいてカウントモードに移行するかの判定を行う場合においても、図6を参照して説明したように、視野内ランドマーク数mに基づいて起動カメラを選択するようにしてもよい。
 以下、図18のフローチャートを参照して、そのような場合に自己位置推定システムにより行われる自己位置推定処理について説明する。なお、ステップS611乃至ステップS617の処理は、図15のステップS491乃至ステップS497の処理と同様であるので、その説明は省略する。
 また、ステップS617において全てのカメラ51について処理を行ったかの判定が行われると、その後、ステップS618乃至ステップS623の処理が行われて、視野内ランドマーク数mが最大となるカメラ51が起動カメラとして選択される。なお、これらのステップS618乃至ステップS623処理は図6のステップS138乃至ステップS143の処理と同様であるので、その説明は省略する。
 ステップS624において、起動判定部62は基準回転行列Rk=回転行列Rとする。ステップS624では、図15のステップS503と同様の処理が行われる。
 基準回転行列Rkが更新されると、その後、ステップS625の処理が行われて、処理はステップS626へと進むが、ステップS625の処理は図3のステップS24の処理と同様であるので、その説明は省略する。
 ステップS625においてカメラ51の起動制御が行われたか、またはステップS615においてスリープモードが維持されると、ステップS626乃至ステップS629の処理が行われて処理はステップS611に戻り、上述した処理が繰り返し行われる。また、ユーザの自己位置の推定終了が指示されると、自己位置推定処理は終了する。
 なお、ステップS626乃至ステップS629の処理は、図3のステップS25乃至ステップS28の処理と同様であるので、その説明は省略する。
 以上のようにして、自己位置推定システムは、スリープモードとなってからのユーザの回転量が閾値以上となるとカウントモードへと移行して起動カメラを選択し直し、再びスリープモードへと移行する。これにより、より低い消費電力で自己位置推定を行うことができる。
 特に、スリープモードとなってからのユーザの回転量が閾値以上となったタイミングで起動カメラを選択し直し、最も多くランドマークを観測できるカメラ51を起動カメラとして選択することで、少ない消費電力でも、十分な精度で確実に自己位置を推定することができる。
〈第5の実施の形態〉
〈自己位置推定システムの構成例〉
 また、以上においては、起動制御の対象となるカメラ51で得られる撮影画像に基づいて、起動カメラと起動停止カメラを選択する例について説明したが、他のカメラで得られる情報に基づいて、起動カメラと起動停止カメラを選択するようにしてもよい。
 そのような場合、自己位置推定システムは、例えば図19に示すように構成される。
 この例では、自己位置推定の対象であるユーザ101が4つのカメラ102-1乃至カメラ102-4を装着しており、これらのカメラ102-1乃至カメラ102-4で得られた撮影画像に基づいて、ユーザ101の自己位置が推定される。
 なお、以下、カメラ102-1乃至カメラ102-4を特に区別する必要のない場合、単にカメラ102とも称することとする。
 図19では、各カメラ102が図2に示したカメラ51に対応しており、これらの各カメラ102が起動カメラまたは起動停止カメラとされて、自己位置推定が行われる。また、カメラ102を有する自己位置推定システムは、さらに全周カメラ103と、図2に示した画像処理装置52(図19では不図示)とを有している。
 この全周カメラ103は、ユーザ101に装着され、ユーザ101の全周囲を被写体として撮影する広角カメラとなっている。すなわち、全周カメラ103は、全てのカメラ102の観察視野を撮影可能な広角カメラとなっている。
 但し、全周カメラ103は画角が360度である全方位を撮影可能な広角カメラであるが、全周カメラ103で得られる画像では、カメラ102で得られる画像よりも空間解像度が低くなる。そのため、全周カメラ103で得られる画像を自己位置推定に用いても十分な精度で自己位置を推定することはできない。
 このような自己位置推定システムでは、全周カメラ103で得られる画像(以下、全周画像とも称する)が4つの分割領域に分割され、それらの各分割領域に対して、各カメラ102が割り当てられている。つまり、各カメラ102の観察視野と、各分割領域に対応する全周カメラ103の観察視野とが等しくなるように、分割領域にカメラ102が割り当てられる。換言すれば、カメラ102で得られる撮影画像の被写体と、分割領域の被写体とが等しくなるように割り当てがなされている。
 自己位置推定システムを構成する特徴点検出部71は、全周画像の各分割領域から特徴点を検出する。さらに起動判定部62は、その検出結果に基づいて、最も特徴点数が多い分割領域に対応するカメラ102を起動カメラとして選択し、残りのカメラ102を起動停止カメラとする。
 この場合、全てのカメラ102で撮影を行い、起動カメラを選択する必要がないので、カウントモードへと移行する必要がなくなる。なお、どのようなタイミングで起動カメラを切り替えるかは、上述したように一定時間ごとに切り替えたり、ユーザの自己位置の移動距離や特徴点数の比、ユーザの回転量等に基づいて切り替えたりするなど、任意のタイミングで切り替えればよい。
 また、起動カメラの選択方法も、各分割領域の特徴点数に限らず、閾値以上の数の特徴点が検出された分割領域に対応するカメラ102を起動カメラとしたり、特徴点面積が最大となる分割領域に対応するカメラ102を起動カメラとしたり、視野内ランドマーク数が最大となる分割領域に対応するカメラ102を起動カメラとしたりするなど、どのような方法とされてもよい。
 以上の第1の実施の形態乃至第5の実施の形態で説明した本技術によれば、複数のカメラを組み合わせて自己位置推定を行うことで、起動カメラの撮影画像から自己位置推定に必要となる特徴点が検出されないという状況を回避することができる。つまり、より確実に自己位置推定を行うことができる。
 しかも、複数のカメラを組み合わせることで、全周カメラを用いる場合よりも高い解像度の撮影画像を得ることができ、より高精度に自己位置を推定することができる。
 さらに、複数のカメラのうちの必要なカメラのみを起動させ、残りのカメラの起動を一時的に停止させるので、単一カメラを用いる場合と同程度の消費電力で自己位置推定を行うことができる。
 なお、本技術では、カウントモードへと移行するタイミングを定める指標や、起動カメラを選択する際の指標として、上述した例を任意に組み合わせて用いることが可能である。
 ところで、上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウェアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のコンピュータなどが含まれる。
 図20は、上述した一連の処理をプログラムにより実行するコンピュータのハードウェアの構成例を示すブロック図である。
 コンピュータにおいて、CPU(Central Processing Unit)501,ROM(Read Only Memory)502,RAM(Random Access Memory)503は、バス504により相互に接続されている。
 バス504には、さらに、入出力インターフェース505が接続されている。入出力インターフェース505には、入力部506、出力部507、記録部508、通信部509、及びドライブ510が接続されている。
 入力部506は、キーボード、マウス、マイクロフォン、撮像素子などよりなる。出力部507は、ディスプレイ、スピーカなどよりなる。記録部508は、ハードディスクや不揮発性のメモリなどよりなる。通信部509は、ネットワークインターフェースなどよりなる。ドライブ510は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブルメディア511を駆動する。
 以上のように構成されるコンピュータでは、CPU501が、例えば、記録部508に記録されているプログラムを、入出力インターフェース505及びバス504を介して、RAM503にロードして実行することにより、上述した一連の処理が行われる。
 コンピュータ(CPU501)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア511に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
 コンピュータでは、プログラムは、リムーバブルメディア511をドライブ510に装着することにより、入出力インターフェース505を介して、記録部508にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部509で受信し、記録部508にインストールすることができる。その他、プログラムは、ROM502や記録部508に、あらかじめインストールしておくことができる。
 なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
 また、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
 例えば、本技術は、1つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
 また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。
 さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
 また、本明細書中に記載された効果はあくまで例示であって限定されるものではなく、他の効果があってもよい。
 さらに、本技術は、以下の構成とすることも可能である。
(1)
 複数のカメラのうちのいくつかを自己位置推定に用いる起動カメラとして選択する起動判定部と、
 前記起動カメラの選択結果に基づいて、前記複数の前記カメラのうちの前記起動カメラとされた前記カメラを起動状態とさせて画像を撮影させ、前記複数の前記カメラのうちの前記起動カメラとは異なる前記カメラの起動を停止させる起動切替部と
 を備える制御装置。
(2)
 前記起動判定部は、所定のタイミングで前記起動カメラを選択し直す
 (1)に記載の制御装置。
(3)
 前記起動判定部は、前記所定のタイミングで、前記起動カメラにより撮影を行うスリープモードから、前記複数の前記カメラ全てを起動させるカウントモードに移行させるとともに、前記カウントモードの状態で前記複数の前記カメラにより撮影された画像に基づいて前記起動カメラを選択する
 (2)に記載の制御装置。
(4)
 前記起動判定部は、前記カメラにより撮影された前記画像から検出された特徴点の数に基づいて前記起動カメラを選択する
 (3)に記載の制御装置。
(5)
 前記起動判定部は、前記カメラにより撮影された前記画像から検出された特徴点の空間上の分布に基づいて前記起動カメラを選択する
 (3)に記載の制御装置。
(6)
 前記起動判定部は、前記カメラにより撮影された前記画像から検出された特徴点の前記画像上の分布に基づいて前記起動カメラを選択する
 (3)に記載の制御装置。
(7)
 前記起動判定部は、前記自己位置推定に用いられる三次元マップにより示されるランドマークに対応する、前記カメラにより撮影された前記画像から検出された特徴点の数に基づいて前記起動カメラを選択する
 (3)に記載の制御装置。
(8)
 前記起動判定部は、一定の時間間隔で前記スリープモードから前記カウントモードへと移行させる
 (3)乃至(7)の何れか一項に記載の制御装置。
(9)
 前記起動判定部は、前記スリープモードの状態で前記起動カメラにより撮影された前記画像から検出された特徴点の数に基づいて、前記スリープモードから前記カウントモードへと移行させる
 (3)乃至(7)の何れか一項に記載の制御装置。
(10)
 前記起動判定部は、基準となる特徴点数に対する、前記スリープモードの状態で前記起動カメラにより撮影された前記画像から検出された特徴点の数の割り合いに基づいて、前記スリープモードから前記カウントモードへと移行させる
 (3)乃至(7)の何れか一項に記載の制御装置。
(11)
 前記起動判定部は、前記自己位置推定の結果に基づいて前記スリープモードから前記カウントモードへと移行させる
 (3)乃至(7)の何れか一項に記載の制御装置。
(12)
 前記起動判定部は、前記カメラの移動距離または回転量に基づいて前記スリープモードから前記カウントモードへと移行させる
 (3)乃至(7)の何れか一項に記載の制御装置。
(13)
 前記起動判定部は、前記自己位置推定により得られた自己位置と、前記自己位置推定に用いられる三次元マップにより示されるランドマークとの位置関係に基づいて、前記起動カメラを選択する
 (2)に記載の制御装置。
(14)
 前記起動判定部は、前記複数の前記カメラのそれぞれの観察視野を撮影可能な広角カメラで得られた画像に基づいて、前記起動カメラを選択する
 (2)に記載の制御装置。
(15)
 前記複数の前記カメラは、球面上または円周上に並べられている
 (1)乃至(14)の何れか一項に記載の制御装置。
(16)
 前記起動カメラにより撮影された前記画像に基づいて前記自己位置推定を行う自己位置推定部をさらに備える
 (1)乃至(15)の何れか一項に記載の制御装置。
(17)
 複数のカメラのうちのいくつかを自己位置推定に用いる起動カメラとして選択し、
 前記起動カメラの選択結果に基づいて、前記複数の前記カメラのうちの前記起動カメラとされた前記カメラを起動状態とさせて画像を撮影させ、前記複数の前記カメラのうちの前記起動カメラとは異なる前記カメラの起動を停止させる
 ステップを含む制御方法。
(18)
 複数のカメラのうちのいくつかを自己位置推定に用いる起動カメラとして選択し、
 前記起動カメラの選択結果に基づいて、前記複数の前記カメラのうちの前記起動カメラとされた前記カメラを起動状態とさせて画像を撮影させ、前記複数の前記カメラのうちの前記起動カメラとは異なる前記カメラの起動を停止させる
 ステップを含む処理をコンピュータに実行させるプログラム。
 51-1乃至51-K,51 カメラ, 52 画像処理装置, 61 自己位置推定部, 62 起動判定部, 63 起動切替部, 71 特徴点検出部, 72 ランドマーク推定部, 73 自己位置算出部, 102-1乃至102-4,102 カメラ, 103 全周カメラ

Claims (18)

  1.  複数のカメラのうちのいくつかを自己位置推定に用いる起動カメラとして選択する起動判定部と、
     前記起動カメラの選択結果に基づいて、前記複数の前記カメラのうちの前記起動カメラとされた前記カメラを起動状態とさせて画像を撮影させ、前記複数の前記カメラのうちの前記起動カメラとは異なる前記カメラの起動を停止させる起動切替部と
     を備える制御装置。
  2.  前記起動判定部は、所定のタイミングで前記起動カメラを選択し直す
     請求項1に記載の制御装置。
  3.  前記起動判定部は、前記所定のタイミングで、前記起動カメラにより撮影を行うスリープモードから、前記複数の前記カメラ全てを起動させるカウントモードに移行させるとともに、前記カウントモードの状態で前記複数の前記カメラにより撮影された画像に基づいて前記起動カメラを選択する
     請求項2に記載の制御装置。
  4.  前記起動判定部は、前記カメラにより撮影された前記画像から検出された特徴点の数に基づいて前記起動カメラを選択する
     請求項3に記載の制御装置。
  5.  前記起動判定部は、前記カメラにより撮影された前記画像から検出された特徴点の空間上の分布に基づいて前記起動カメラを選択する
     請求項3に記載の制御装置。
  6.  前記起動判定部は、前記カメラにより撮影された前記画像から検出された特徴点の前記画像上の分布に基づいて前記起動カメラを選択する
     請求項3に記載の制御装置。
  7.  前記起動判定部は、前記自己位置推定に用いられる三次元マップにより示されるランドマークに対応する、前記カメラにより撮影された前記画像から検出された特徴点の数に基づいて前記起動カメラを選択する
     請求項3に記載の制御装置。
  8.  前記起動判定部は、一定の時間間隔で前記スリープモードから前記カウントモードへと移行させる
     請求項3に記載の制御装置。
  9.  前記起動判定部は、前記スリープモードの状態で前記起動カメラにより撮影された前記画像から検出された特徴点の数に基づいて、前記スリープモードから前記カウントモードへと移行させる
     請求項3に記載の制御装置。
  10.  前記起動判定部は、基準となる特徴点数に対する、前記スリープモードの状態で前記起動カメラにより撮影された前記画像から検出された特徴点の数の割り合いに基づいて、前記スリープモードから前記カウントモードへと移行させる
     請求項3に記載の制御装置。
  11.  前記起動判定部は、前記自己位置推定の結果に基づいて前記スリープモードから前記カウントモードへと移行させる
     請求項3に記載の制御装置。
  12.  前記起動判定部は、前記カメラの移動距離または回転量に基づいて前記スリープモードから前記カウントモードへと移行させる
     請求項3に記載の制御装置。
  13.  前記起動判定部は、前記自己位置推定により得られた自己位置と、前記自己位置推定に用いられる三次元マップにより示されるランドマークとの位置関係に基づいて、前記起動カメラを選択する
     請求項2に記載の制御装置。
  14.  前記起動判定部は、前記複数の前記カメラのそれぞれの観察視野を撮影可能な広角カメラで得られた画像に基づいて、前記起動カメラを選択する
     請求項2に記載の制御装置。
  15.  前記複数の前記カメラは、球面上または円周上に並べられている
     請求項1に記載の制御装置。
  16.  前記起動カメラにより撮影された前記画像に基づいて前記自己位置推定を行う自己位置推定部をさらに備える
     請求項1に記載の制御装置。
  17.  複数のカメラのうちのいくつかを自己位置推定に用いる起動カメラとして選択し、
     前記起動カメラの選択結果に基づいて、前記複数の前記カメラのうちの前記起動カメラとされた前記カメラを起動状態とさせて画像を撮影させ、前記複数の前記カメラのうちの前記起動カメラとは異なる前記カメラの起動を停止させる
     ステップを含む制御方法。
  18.  複数のカメラのうちのいくつかを自己位置推定に用いる起動カメラとして選択し、
     前記起動カメラの選択結果に基づいて、前記複数の前記カメラのうちの前記起動カメラとされた前記カメラを起動状態とさせて画像を撮影させ、前記複数の前記カメラのうちの前記起動カメラとは異なる前記カメラの起動を停止させる
     ステップを含む処理をコンピュータに実行させるプログラム。
PCT/JP2016/059086 2015-04-06 2016-03-23 制御装置および方法、並びにプログラム WO2016163227A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP16776396.0A EP3282225A4 (en) 2015-04-06 2016-03-23 Control device and method, and program
US15/561,834 US10542212B2 (en) 2015-04-06 2016-03-23 Self-position estimation device and method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2015077901A JP2016197083A (ja) 2015-04-06 2015-04-06 制御装置および方法、並びにプログラム
JP2015-077901 2015-04-06

Publications (1)

Publication Number Publication Date
WO2016163227A1 true WO2016163227A1 (ja) 2016-10-13

Family

ID=57071891

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2016/059086 WO2016163227A1 (ja) 2015-04-06 2016-03-23 制御装置および方法、並びにプログラム

Country Status (4)

Country Link
US (1) US10542212B2 (ja)
EP (1) EP3282225A4 (ja)
JP (1) JP2016197083A (ja)
WO (1) WO2016163227A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018216342A1 (ja) * 2017-05-24 2018-11-29 ソニー株式会社 情報処理装置、情報処理方法、及びプログラム
JP2021043486A (ja) * 2019-09-06 2021-03-18 株式会社東芝 位置推定装置

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10133942B2 (en) 2016-07-05 2018-11-20 Nauto Global Limited System and method for automatic driver identification
US10209081B2 (en) * 2016-08-09 2019-02-19 Nauto, Inc. System and method for precision localization and mapping
US10733460B2 (en) 2016-09-14 2020-08-04 Nauto, Inc. Systems and methods for safe route determination
CN110178104A (zh) 2016-11-07 2019-08-27 新自动公司 用于确定驾驶员分心的系统和方法
CN110463165B (zh) * 2017-03-27 2022-05-17 索尼公司 信息处理装置、信息处理方法和记录介质
US10453150B2 (en) 2017-06-16 2019-10-22 Nauto, Inc. System and method for adverse vehicle event determination
WO2019169031A1 (en) 2018-02-27 2019-09-06 Nauto, Inc. Method for determining driving policy
JP7077691B2 (ja) * 2018-03-16 2022-05-31 トヨタ自動車株式会社 自己位置検出装置
JP7180670B2 (ja) * 2018-03-29 2022-11-30 ソニーグループ株式会社 制御装置、制御方法、並びにプログラム
US20230033951A1 (en) * 2019-12-17 2023-02-02 Telefonaktiebolaget Lm Ericsson (Publ) Controlling sensor activation and deactivation for energy efficient localization
WO2023239877A1 (en) * 2022-06-09 2023-12-14 Apple Inc. Dynamic camera selection

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03137547A (ja) * 1989-10-24 1991-06-12 Hiyuutec:Kk 表面観察装置
JP2005184443A (ja) * 2003-12-19 2005-07-07 Victor Co Of Japan Ltd 監視システムおよび監視方法
JP2009109324A (ja) * 2007-10-30 2009-05-21 Seiko Instruments Inc 角度検出装置及び歩数計
WO2011043275A1 (ja) * 2009-10-06 2011-04-14 株式会社 トプコン 3次元データ作成方法及び3次元データ作成装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7643055B2 (en) * 2003-04-25 2010-01-05 Aptina Imaging Corporation Motion detecting camera system
US20080291271A1 (en) * 2007-05-21 2008-11-27 Sony Ericsson Mobile Communications Ab Remote viewfinding
JP5012615B2 (ja) 2008-03-27 2012-08-29 ソニー株式会社 情報処理装置、および画像処理方法、並びにコンピュータ・プログラム
TWI405457B (zh) * 2008-12-18 2013-08-11 Ind Tech Res Inst 應用攝影機換手技術之多目標追蹤系統及其方法,與其智慧節點
US20120300020A1 (en) * 2011-05-27 2012-11-29 Qualcomm Incorporated Real-time self-localization from panoramic images
WO2013046654A1 (ja) * 2011-09-26 2013-04-04 日本電気株式会社 制御装置、制御方法、プログラム、および位置推定システム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03137547A (ja) * 1989-10-24 1991-06-12 Hiyuutec:Kk 表面観察装置
JP2005184443A (ja) * 2003-12-19 2005-07-07 Victor Co Of Japan Ltd 監視システムおよび監視方法
JP2009109324A (ja) * 2007-10-30 2009-05-21 Seiko Instruments Inc 角度検出装置及び歩数計
WO2011043275A1 (ja) * 2009-10-06 2011-04-14 株式会社 トプコン 3次元データ作成方法及び3次元データ作成装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3282225A4 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018216342A1 (ja) * 2017-05-24 2018-11-29 ソニー株式会社 情報処理装置、情報処理方法、及びプログラム
JP2021043486A (ja) * 2019-09-06 2021-03-18 株式会社東芝 位置推定装置

Also Published As

Publication number Publication date
EP3282225A1 (en) 2018-02-14
US20180115711A1 (en) 2018-04-26
US10542212B2 (en) 2020-01-21
EP3282225A4 (en) 2018-12-26
JP2016197083A (ja) 2016-11-24

Similar Documents

Publication Publication Date Title
WO2016163227A1 (ja) 制御装置および方法、並びにプログラム
US20200159256A1 (en) Method for detecting target object, detection apparatus and robot
KR20180054487A (ko) Dvs 이벤트 처리 방법 및 장치
DE60143626D1 (de) Objektverfolgungs-system mit mehreren kameras
GB2557465A (en) Method for calibrating a camera and calibration system
JP2017187861A5 (ja)
WO2015004739A1 (ja) 監視システム、自動巡回ロボット、および監視方法
JP2011085971A (ja) 画像処理装置、画像処理方法、画像処理プログラム、記録媒体及び画像処理システム
JP2004235934A (ja) キャリブレーション処理装置、およびキャリブレーション処理方法、並びにコンピュータ・プログラム
JP2021189822A5 (ja)
JP6662382B2 (ja) 情報処理装置および方法、並びにプログラム
CN114365186A (zh) 从事件相机中的局部补块联合学习视觉运动和置信度
JP2018195084A5 (ja)
JP2017033063A (ja) 画像処理方法、画像処理装置、プログラム及び記録媒体
CN113052907B (zh) 一种动态环境移动机器人的定位方法
JP6228239B2 (ja) プリミティブの組を用いてデータをレジストレーションする方法
US10657659B1 (en) Visual simultaneous localization and mapping system
KR101818189B1 (ko) 영상 처리 장치 및 영상 처리 방법
JP2019021189A (ja) 物体検出装置
JP2017117038A (ja) 道路面推定装置
JP7251631B2 (ja) テンプレート作成装置、物体認識処理装置、テンプレート作成方法、物体認識処理方法及びプログラム
JP2019022147A (ja) 光源方向推定装置
CN113971687A (zh) 对象跟踪方法、装置电子设备及存储介质
JP2018059767A (ja) 画像処理装置、画像処理方法およびプログラム
KR20160082659A (ko) 다채널 연속 촬영 영상을 이용한 구조물의 입체적인 진동 자동 측정 방법

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

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 15561834

Country of ref document: US

REEP Request for entry into the european phase

Ref document number: 2016776396

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE