Patent Publication Number: US-8111876-B2

Title: Object position estimating system, object position estimating apparatus, object position estimating method, and object position estimating program

Description:
This is a continuation application of International Application No. PCT/JP2009/005777, filed Oct. 30, 2009. 
    
    
     BACKGROUND OF THE INVENTION 
     The present invention relates to an object position estimating system, and an object position estimating apparatus, an object position estimating method and an object position estimating program used for such a system that estimate a position of an object located within an environment based upon data observed by an observation unit, for example, in the order of earlier observation time. 
     In an attempt to estimate an ID and a position of a target object within an environment by identifying the target object that is present in the environment by the use of a sensor such as a camera, an operation, mainly classified into five processes, are required. 
     In the first process, the target object is photographed by a camera so that image data including the target object is obtained. 
     In the second process, by comparing the image data including the target object with a template of a background image preliminarily held, a differential image is obtained. 
     In the third process, by using a database in which pixel positions in the preliminarily held image data and positions within the environment are associated with one another, positional candidates of the object within the environment of the obtained differential image are obtained. 
     In the fourth process, by using a database in which IDs of objects preliminarily held and image data are made associated with each other, ID candidates of the object corresponding to the resulting differential image are obtained. Hereinafter, the third process (process in which positional candidates of the object are obtained) and the fourth process (process in which ID candidates of the object are obtained) are combinedly referred to as an “object identifying” process. 
     In the fifth process, since the date of the ID candidate and position candidate of individual objects have uncertainty, the most likely position of each of the objects is estimated by using data relating to the ID and position of the object previously obtained by a camera. The fifth process is hereinafter referred to as “position estimating” process. 
     It is necessary to carry out an object identifying process by which data obtained by allowing the sensor to observe the environment are converted to data relating to the ID candidates and positional candidates of the object that can be handled by the object position estimating process. 
     A period of time required for the position estimation (the fifth process) is longer than a period of time (from the first process to the fourth process) required for the observation of the environment by the sensor and the completion of the object identifying process. Therefore, in the case where each of data after the object identifying process is individually subjected to a position estimating process with respect to all the target objects located inside the environment, there is a delay time (waiting time for response) between a point of time when the sensor observes the environment and a point of time when the object identifying process is completed.  FIG. 13  shows an example thereof. It is the time 14:17′:20″ (14 o&#39;clock:17 minutes:20 seconds) when observation data  1  of the observation device  1  is subjected to the object identifying process so that the object position estimating process can be carried out. It is the time 14:17′:26″ when the observation data  2  of the observation device  2  is subjected to the object identifying process so that the object position estimating process can be carried out. However, at the point of time, 14:17′:26″, the object position estimating process of the observation data  1  has not been completed, with the result that the time when the object position estimating process of the observation data  2  can be started is from the time 14:17′:30″ when the object position estimating process of the observation data  1  has been completed. Consequently, there is a waiting period of time until the object position estimating process of the observation data  1  has been completed, before the object position estimating process of the observation data  2  is started. 
     As a method for reducing the waiting period of time for response from such a device or the like, for example, Patent Document 1 has disclosed a technique in which, a probability of abnormal response is found by statistically processing communication states or communication apparatus states collected up to the present time, the probability data of the abnormal response is found, and a time-out period of time is determined based upon the probability data of the abnormal response. 
     PRIOR ART DOCUMENT 
     Patent Document 
     
         
         Patent Document 1: JP-A No. 11-353256 
       
    
     SUMMARY OF THE INVENTION 
     Issues to be Solved by the Invention 
     However, since the time required for the object identifying process is also dependant on the kinds of sensors attached to the observation device and environmental states in which the sensors are used for observation, it is not possible to correctly determine the time required for the object identifying process, without pieces of information relating to the kind of the sensor and the environmental states. 
     As a result, in the case where the timing cycle of the object position estimating process is set faster than the correct time required for the object identifying process, a waiting period of time for the result of the object identifying process tends to occur, while, in the case where the timing cycle of the object position estimating process is set slower than the correct time, a waiting period of time for the result of the object position estimating process tends to occur. In this case, in an attempt to make the timing cycle of the object position estimating process faster, for example, a parameter used for carrying out the object position estimating process needs to be adjusted, or the amount of information of the result of the object identifying process to be used for the object position estimating process needs to be cut, and when the timing cycle of the object position estimating process is made too fast, the amount of information of the result of the object identifying process is cut too much, resulting in degradation of the object position estimating precision. In contrast, when the timing cycle of the object position estimating process is made too slow, it becomes only possible to roughly estimate a moving track of an object. 
     In view of these issues, it is an object of the present invention to provide an object position estimating system, object position estimating apparatus, object position estimating method, and object position estimating program, which preliminarily determine a period of time required for an object identifying process based upon observation raw data observed by an observation unit, and, by using parameters that can positively process unprocessed observation raw data within a period of time used for an object identifying process from the current time to a point of time when a next observation raw data is acquired, the object position estimating process is positively carried out so that both of a high-precision real time process and a high-precision object position estimating process can be achieved. 
     Means for Solving the Issues 
     In order to achieve the above objectives, the present invention has the following arrangements. 
     In accomplishing these and other aspects, according to a first aspect of the present invention, there is provided an object position estimating system comprising: 
     an observation unit configured to observe a state of an environment that includes an object placed therein to acquire first and second observation raw data; 
     an object identifying configured to acquire an ID of the object and positional candidates of the object based upon object identifying data for each of IDs of objects, preliminarily stored in an object database, and the observation raw data of the respective first and second observation raw data, and to respectively store the acquired ID of the object and information of the positional candidates of the object in an observation database; 
     an object identifying process completion time predicting configured to acquire a number of the objects located within the environment based upon the respective observation raw data of the first and second observation raw data, and to predict a completion scheduled time of an object identifying process, based upon a time at which each number of the objects is acquired, the number of objects respectively acquired, and a period of time required for the object identifying process in which each of IDs of the object and the positional candidates of the object per object, preliminarily stored, are acquired, and to store the completion scheduled time of each of the object identifying processes in the observation database; 
     an object position estimating configured to acquire the ID of the object and the positional candidates of the object stored in the observation database, and to estimate a position of the object based upon the acquired ID of the object, the acquired positional candidates of the object, and a dispersion state of the positional candidates of the object; and 
     a parameter determination configured to refer to the completion scheduled time of the object identifying process of the second observation raw data stored in the observation database, at a time when the object identifying unit has acquired the ID of the object and the positional candidates of the object after completion of the object identifying process of the first observation raw data, and to determine as to whether or not the completion scheduled time of the object identifying process for the second observation raw data is stored in the observation database based upon the time that has been referred to, as well as, upon determination of a fact that the completion scheduled time of the object identifying process of the second observation raw data has been stored therein, to determine, by reference to a period of time required for carrying out a position estimating process for estimating the position of the object for each of the objects, preliminarily stored, a parameter by which a position estimating process of the object is carried out on the first observation raw data that has been subjected to the object identifying process, during a period of time from a time of the reference to the completion scheduled time of the object identifying process of the second observation raw data, while, upon determination of a fact that the completion scheduled time of the object identifying process of the second observation raw data has not been stored therein, to set a predetermined reference parameter as the parameter by which the position estimating process is carried out on the first observation raw data that has been subjected to the object identifying process, 
     wherein by using the parameter determined by the parameter determination unit, the object position estimating unit carries out the position estimating process on the object contained in the data that has been subjected to the object identifying process, from the data, and estimates the position of the object relating to the object ID based upon the object ID and the positional candidates acquired by the object identifying unit. 
     According to a sixth aspect of the present invention, there is provided an object position estimating system comprising: 
     a data input unit capable of inputting data relating to at least an ID and a position of an object that has been subjected to an object identifying process and completion scheduled time of the object identifying process that is inputted after completion of the object identifying process of the data; 
     an observation database to store the data relating to the ID and position of the object received from the data input unit and the data relating to the input scheduled time; 
     an object position estimating configured to estimate the position of the object based upon the data relating to the ID and position of the object stored in the observation database; and 
     a parameter determination configured to determine whether or not by reference to the completion scheduled time of the object identifying process stored in the observation database, the completion scheduled time of the object identifying process to be completed at an earliest time from a time of the reference is stored, and upon determination that the completion scheduled time of the object identifying process of the second observation raw data has been stored, by reference to a period of time required for carrying out the position estimating process for estimating the position of the object per object preliminarily stored, to determine a parameter by which the position estimating process of the object is carried out during a period of time from a time of the reference to the completion scheduled time of the object identifying process of the second observation raw data, while, upon determination of a fact that the completion scheduled time of the object identifying process of the second observation raw data has not been stored therein, to set a predetermined reference parameter as the parameter by which the position estimating process is carried out on the object, 
     wherein by using the parameter determined by the parameter determination unit, the object position estimating unit carries out a position estimating process on the object based upon the data relating to the ID and position of the object stored in the observation database so as to estimate the position of the object. 
     According to a seventh aspect of the present invention, there is provided an object position estimating method comprising: 
     observing a state of an environment so that a plurality of pieces of observation raw data are acquired by an observation unit; 
     based upon the plurality of pieces of observation raw data, calculating an ID and a position of an object located within an observation range of the observation unit by using an object identifying unit so as to carry out the object identifying process; 
     predicting a point of time at which the object identifying process to be carried out by the object identifying unit is completed based upon each of the plurality of pieces of the observation raw data by using an object identifying a process completion time predicting unit so as to store the resulting times in an observation database; 
     referring to the completion scheduled time of the object identifying process stored in the observation database, determining as to whether or not the completion scheduled time of the object identifying process to be completed at an earliest point of time from the time of the reference is stored therein, by using a parameter determination unit; 
     upon determination of a fact that the completion scheduled time of the object identifying process of the second observation raw data has been stored therein, determining, by reference to a period of time required for carrying out the position estimating process for estimating the position of the object per object, preliminarily stored, a parameter by which the position estimating process is carried out on the object during a period of time from the time of the reference to the completion scheduled time of the object identifying process of the second observation raw data, 
     while, upon determination of a fact that the completion scheduled time of the object identifying process of the second observation raw data has not been stored therein, setting a predetermined reference parameter as the parameter by which the position estimating process is carried out on the object, by using the parameter determination unit, 
     wherein by using the parameter determined by the parameter determination unit, the object position estimating unit estimates the position of the object from the data relating to the ID and the position of the object calculated in the object identifying process. 
     According to an eighth aspect of the present invention, there is provided an object position estimating program allowing a computer to carry out functions of: 
     based upon a plurality of pieces of observation raw data acquired by observing a state of an environment by using an observation unit, calculating an ID and a position of an object located within an observation range of the observation unit so as to carry out an object identifying process; 
     predicting a point of time at which the object identifying process to be carried out by the object identifying function is completed based upon each of the plurality of pieces of the observation raw data so as to store the resulting times in an observation database; 
     referring to the completion scheduled time of the object identifying process stored in the observation database, determining as to whether or not the completion scheduled time of the object identifying process to be completed at an earliest point of time from a time of the reference is stored therein, and upon determination of a fact that the completion scheduled time of the object identifying process of the second observation raw data has been stored therein, determining, by reference to a period of time required for carrying out the position estimating process for estimating the position of the object per object, preliminarily stored, a parameter by which the position estimating process is carried out on the object during a period of time from a time of the reference to the completion scheduled time of the object identifying process of the second observation raw data, while upon determination of a fact that the completion scheduled time of the object identifying process of the second observation raw data has not been stored therein, setting a predetermined reference parameter as the parameter by which the position estimating process is carried out on the object, 
     wherein by using the parameter determined by the parameter determination unit, carrying out an object position estimating function for estimating the position of the object, from the data relating to the ID and the position of the object calculated in the object identifying process by the object identifying process function. 
     Effects of the Invention 
     As described above, in the present invention, based upon the observation raw data obtained by the observation unit, the period of time required for the object identifying process, that is, the point of time when the next observation data (data that have been subjected to the object identifying process) are obtained, is preliminarily determined, and by determining the number of objects to be subjected to the position estimating process by using the observation data currently obtained, it becomes possible to provide the object position estimating system, the object position estimating apparatus, the object position estimating method, and the object position estimating program that can estimate the object position without a delay relative to the observation of the observation unit. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       These and other aspects and features of the present invention will become clear from the following description taken in conjunction with the preferred embodiments thereof with reference to the accompanying drawings, in which: 
         FIG. 1  is a block diagram that shows an object position estimating system in accordance with first and second embodiments of the present invention; 
         FIG. 2  is a view that shows one example of an object database of the object position estimating system in accordance with the first and second embodiments of the present invention; 
         FIG. 3  is a view that shows one example of observation raw data obtained when a range-measuring sensor is used as an observation unit in accordance with the first and second embodiments of the present invention; 
         FIG. 4  is a view that shows one example of an observation state when the range-measuring sensor is used as the observation unit in accordance with the first and second embodiments of the present invention; 
         FIG. 5  is a view that shows one example of an observation database of the object position estimating system in accordance with the first and second embodiments of the present invention; 
         FIG. 6A  is a flow chart that shows processes of an object position estimating method by the use of a particle filter that is applicable to the object position estimating system in accordance with the first embodiment; 
         FIG. 6B  is a view that shows an example of a processing state of a Kalman filter that is applicable to the object position estimating system in accordance with the second embodiment; 
         FIG. 7  is a view that shows an example of an object observation state of the object position estimating system in accordance with the first and second embodiments of the present invention; 
         FIG. 8  is a view that shows one example of the object position estimation results in accordance with the first embodiment of the present invention; 
         FIG. 9  is a flow chart that shows processes of the object position estimating system in accordance with the first embodiment of the present invention; 
         FIG. 10  is a flow chart that shows processes of the object position estimating system in accordance with the first embodiment of the present invention; 
         FIG. 11A  is a view that shows information relating to a relationship between the number of particles and processing time of the object position estimating system in accordance with the first embodiment of the present invention; 
         FIG. 11B  is a timing chart obtained when the position of an object is estimated based upon the observation data and the scheduled time of the completion of the observation raw data processing shown in  FIG. 5 ; 
         FIG. 12  is a timing chart obtained by simplifying  FIG. 11B  in accordance with the first embodiment of the present invention; 
         FIG. 13  is a timing chart in which the present invention is not used, in comparison with that of  FIG. 12 ; 
         FIG. 14A  is a comparison view with respect to approximation precision classified depending on the numbers of particles; 
         FIG. 14B  is a comparison view with respect to approximation precision classified depending on the numbers of particles; 
         FIG. 15  is an explanatory view that shows one example of an environment background image obtained when a camera is used as the observation device in the object position estimating system in accordance with the first embodiment of the present invention; 
         FIG. 16  is an explanatory view that shows one example of a camera input image obtained when a camera is used as the observation device in accordance with the first embodiment of the present invention; 
         FIG. 17  is an explanatory view that shows one example of an image of a differential region obtained when a camera is used as the observation device in accordance with the first embodiment of the present invention; 
         FIG. 18  is an explanatory view that shows one example of information indicating the relationship between the number of particles and processing time in accordance with the first, embodiment of the present invention; 
         FIG. 19  is a view that shows a position-measuring method for a tag position of a UWB tag reader in the object position estimating system in accordance with the first embodiment of the present invention; 
         FIG. 20A  is a view that shows one example of an observation database in the object position estimating system in accordance with the first embodiment of the present invention; 
         FIG. 20B  is a view that shows another example of the observation database in the object position estimating system in accordance with the first embodiment of the present invention; 
         FIG. 21  is a block diagram that shows a structure of an object position estimating system in accordance with a third embodiment of the present invention; 
         FIG. 22  is a view that shows one example of a display unit of the object position estimating system in accordance with the third embodiment of the present invention; 
         FIG. 23  is a view that shows one example of the display unit of the object position estimating system in accordance with the third embodiment of the present invention; 
         FIG. 24  is a view that shows one example of the display unit of the object position estimating system in accordance with the third embodiment of the present invention; 
         FIG. 25  is a view that shows one example of an observation database of the object position estimating system in accordance with the third embodiment of the present invention; and 
         FIG. 26  is a view that shows an example of the observation database in which a matching score of the object position estimating system in accordance with the first embodiment is recorded. 
     
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     Before the description of the present invention proceeds, it is to be noted that like parts are designated by like reference numerals throughout the accompanying drawings. 
     Prior to the detailed description of embodiments of the present invention based upon the drawings, various aspects for the present invention will be explained. 
     According to a first aspect of the present invention, there is provided an object position estimating system comprising: 
     an observation unit configured to observe a state of an environment that includes an object placed therein to acquire first and second observation raw data; 
     an object identifying configured to acquire an ID of the object and positional candidates of the object based upon object identifying data for each of IDs of objects, preliminarily stored in an object database, and the observation raw data of the respective first and second observation raw data, and to respectively store the acquired ID of the object and information of the positional candidates of the object in an observation database; 
     an object identifying process completion time predicting configured to acquire a number of the objects located within the environment based upon the respective observation raw data of the first and second observation raw data, and to predict a completion scheduled time of an object identifying process, based upon a time at which each number of the objects is acquired, the number of objects respectively acquired, and a period of time required for the object identifying process in which each of IDs of the object and the positional candidates of the object per object, preliminarily stored, are acquired, and to store the completion scheduled time of each of the object identifying processes in the observation database; 
     an object position estimating configured to acquire the ID of the object and the positional candidates of the object stored in the observation database, and to estimate a position of the object based upon the acquired ID of the object, the acquired positional candidates of the object, and a dispersion state of the positional candidates of the object; and 
     a parameter determination configured to refer to the completion scheduled time of the object identifying process of the second observation raw data stored in the observation database, at a time when the object identifying unit has acquired the ID of the object and the positional candidates of the object after completion of the object identifying process of the first observation raw data; and to determine as to whether or not the completion scheduled time of the object identifying process for the second observation raw data is stored in the observation database based upon the time that has been referred to, as well as, upon determination of a fact that the completion scheduled time of the object identifying process of the second observation raw data has been stored therein, to determine, by reference to a period of time required for carrying out a position estimating process for estimating the position of the object for each of the objects, preliminarily stored, a parameter by which a position estimating process of the object is carried out on the first observation raw data that has been subjected to the object identifying process, during a period of time from a time of the reference to the completion scheduled time of the object identifying process of the second observation raw data, while, upon determination of a fact that the completion scheduled time of the object identifying process of the second observation raw data has not been stored therein, to set a predetermined reference parameter as the parameter by which the position estimating process is carried out on the first observation raw data that has been subjected to the object identifying process, 
     wherein by using the parameter determined by the parameter determination unit, the object position estimating unit carries out the position estimating process on the object contained in the data that has been subjected to the object identifying process, from the data, and estimates the position of the object relating to the object ID based upon the object ID and the positional candidates acquired by the object identifying unit. 
     According to a second aspect of the present invention, there is provided the object position estimating system according to the first aspect, wherein the object identifying data is shape information of the object, and the observation raw data is image data photographed by using a camera, or range data acquired by a range-measuring sensor, or positional data acquired by a tag reader. 
     According to a third aspect of the present invention, there is provided the object position estimating system according to the second aspect, wherein the data obtained by the camera or the range-measuring sensor is subjected to an object identifying process through a template matching process; 
     the object identifying unit stores a matching score outputted in the template matching process in the observation database; and 
     the parameter determination unit determines an object to be subjected to the position estimating process in an order of a higher matching score. 
     According to a fourth aspect of the present invention, there is provided the object position estimating system according to the first or second aspects, wherein upon using a particle filter, the object position estimating unit preliminarily prepares relational information between a processing period of time per object and a number of particles, and calculates a number of objects that are processable by using the particle filter based upon a period of time from the time of the reference to the completion scheduled time of the object identifying process of the second observation raw data, and in a case where the calculated number of objects is same as the number of the objects identified by the object identifying process, the particle filter, as it is, is used for the process, 
     while in a case where the calculated number of objects is smaller than the number of the objects identified by the object identifying process, the process is carried out with the number of particles per object being increased, and 
     in a case where the calculated number of objects is greater than the number of the objects identified by the object identifying process, the process is carried out with the number of particles per object being reduced. 
     According to a fifth aspect of the present invention, there is provided the object position estimating system according to any one of the first to fourth aspects, further comprising: 
     a display configured to display a result of estimation by the object position estimating unit, 
     wherein referring to the observation database, the display unit displays a completion scheduled time of a next object identifying process as an output time of result of next estimation of the object position estimating unit, while the display unit displays a time at which observation raw data relating to an output of current estimation result of the object position estimating unit as a point of time at which the current estimation result of the object position estimating unit is obtained. 
     According to a sixth aspect of the present invention, there is provided an object position estimating system comprising: 
     a data input unit capable of inputting data relating to at least an ID and a position of an object that has been subjected to an object identifying process and completion scheduled time of the object identifying process that is inputted after completion of the object identifying process of the data; 
     an observation database to store the data relating to the ID and position of the object received from the data input unit and the data relating to the input scheduled time; 
     an object position estimating configured to estimate the position of the object based upon the data relating to the ID and position of the object stored in the observation database; and 
     a parameter determination configured to determine whether or not by reference to the completion scheduled time of the object identifying process stored in the observation database, the completion scheduled time of the object identifying process to be completed at an earliest time from a time of the reference is stored, and upon determination that the completion scheduled time of the object identifying process of the second observation raw data has been stored, by reference to a period of time required for carrying out the position estimating process for estimating the position of the object per object preliminarily stored, to determine a parameter by which the position estimating process of the object is carried out during a period of time from a time of the reference to the completion scheduled time of the object identifying process of the second observation raw data, while, upon determination of a fact that the completion scheduled time of the object identifying process of the second observation raw data has not been stored therein, to set a predetermined reference parameter as the parameter by which the position estimating process is carried out on the object, 
     wherein by using the parameter determined by the parameter determination unit, the object position estimating unit carries out a position estimating process on the object based upon the data relating to the ID and position of the object stored in the observation database so as to estimate the position of the object. 
     According to a seventh aspect of the present invention, there is provided an object position estimating method comprising: 
     observing a state of an environment so that a plurality of pieces of observation raw data are acquired by an observation unit; 
     based upon the plurality of pieces of observation raw data, calculating an ID and a position of an object located within an observation range of the observation unit by using an object identifying unit so as to carry out the object identifying process; 
     predicting a point of time at which the object identifying process to be carried out by the object identifying unit is completed based upon each of the plurality of pieces of the observation raw data by using an object identifying a process completion time predicting unit so as to store the resulting times in an observation database; 
     referring to the completion scheduled time of the object identifying process stored in the observation database, determining as to whether or not the completion scheduled time of the object identifying process to be completed at an earliest point of time from the time of the reference is stored therein, by using a parameter determination unit; 
     upon determination of a fact that the completion scheduled time of the object identifying process of the second observation raw data has been stored therein, determining, by reference to a period of time required for carrying out the position estimating process for estimating the position of the object per object, preliminarily stored, a parameter by which the position estimating process is carried out on the object during a period of time from the time of the reference to the completion scheduled time of the object identifying process of the second observation raw data, 
     while, upon determination of a fact that the completion scheduled time of the object identifying process of the second observation raw data has not been stored therein, setting a predetermined reference parameter as the parameter by which the position estimating process is carried out on the object, by using the parameter determination unit, 
     wherein by using the parameter determined by the parameter determination unit, the object position estimating unit estimates the position of the object from the data relating to the ID and the position of the object calculated in the object identifying process. 
     According to an eighth aspect of the present invention, there is provided an object position estimating program allowing a computer to carry out functions of: 
     based upon a plurality of pieces of observation raw data acquired by observing a state of an environment by using an observation unit, calculating an ID and a position of an object located within an observation range of the observation unit so as to carry out an object identifying process; 
     predicting a point of time at which the object identifying process to be carried out by the object identifying function is completed based upon each of the plurality of pieces of the observation raw data so as to store the resulting times in an observation database; 
     referring to the completion scheduled time of the object identifying process stored in the observation database, determining as to whether or not the completion scheduled time of the object identifying process to be completed at an earliest point of time from a time of the reference is stored therein, and upon determination of a fact that the completion scheduled time of the object identifying process of the second observation raw data has been stored therein, determining, by reference to a period of time required for carrying out the position estimating process for estimating the position of the object per object, preliminarily stored, a parameter by which the position estimating process is carried out on the object during a period of time from a time of the reference to the completion scheduled time of the object identifying process of the second observation raw data, while upon determination of a fact that the completion scheduled time of the object identifying process of the second observation raw data has not been stored therein, setting a predetermined reference parameter as the parameter by which the position estimating process is carried out on the object, 
     wherein by using the parameter determined by the parameter determination unit, carrying out an object position estimating function for estimating the position of the object, from the data relating to the ID and the position of the object calculated in the object identifying process by the object identifying process function. 
     In accordance with this arrangement, by determining the object to be subjected to the object position estimating process based upon the number of objects that can be processed within a waiting period of time until the next observation raw data to be required for the object position estimating process has been obtained, it is possible to provide the object position estimating system, the object position estimating apparatus, the object position estimating method, and the object position estimation program, which can achieve both of a high-precision real time process and a high-precision object position estimating process. 
     Referring to Figures, the following description will describe a first embodiment of the present invention in detail. 
     First Embodiment 
       FIG. 1  is a block diagram that shows an object position estimating system in accordance with a first embodiment of the present invention. 
     The present system is schematically provided with an observation unit  101  (observation means) and an object position estimating apparatus so that an object position estimating method is executed. The object position estimating apparatus includes an object database  102 , an object identifying unit  103  (object identifying means), an identifying process completion time predicting unit  104  (identifying process completion time predicting means) (hereinafter, referred to simply as “process completion time predicting unit”), an observation database  105 , an object position estimating unit  106  (object position estimating means), and a parameter determination unit  107  (parameter determination means). Additionally, the observation unit  101 , the object identifying unit  103 , and the identifying process completion time prediction unit  104  may be combined with one another, and dealt as a data input unit through which, at least, data relating to the IDs and positions of objects and the input scheduled time of the data can be inputted to the observation database  105 . 
     The observation unit  101  observes states of an environment including objects (observation objects) located in the environment (space to be observed, for example, a life space (more specifically, a room such as a living room), or the like) so that observed raw data are obtained. More specifically, objects inside the environment are observed, and the observed raw data are obtained. As the observation unit  101 , a camera, a range-measuring sensor, a UWB (Ultra Wide Band) tag reader, or the like, may be used. 
     In the object database  102 , ID information of objects (hereinafter, referred to simply as “object ID”) and information used for identifying the objects are stored.  FIG. 2  shows one example of the object database  102 . Pieces of information stored in the object database of  FIG. 2  are object IDs from “Obj_ 001 ” to “Obj_ 005 ” and pieces of shape information of the respective five objects having IDs from “Obj_ 001 ” to “Obj_ 005 ”. As the shape information, information relating to the outside appearance of an object and information relating to the size (dimension) thereof are stored. For example,  FIG. 2  shows pieces of information relating to the outside appearance and the size of the object corresponding to the object ID “Obj_ 001 ” in an enlarged manner. In this case, the object having the object ID “Obj_ 001 ” includes a column having a large diameter and a column having a small diameter, which is fixed thereon, and the diameter of the column having a large diameter is 8 cm, with a height of 12 cm, and the diameter of the column having a small diameter is 4 cm, with a height of 2 cm. 
     The object identifying unit  103  calculates observation data relating to the ID and position of an object contained in the observation raw data, by carrying out an object-identifying process on the observation raw data observed by the observation unit  101 . More specifically, based upon information (object-identifying data) used for identifying an object for each of the IDs of the objects preliminarily stored in the object database  102  and the observation raw data, the object identifying unit  103  acquires ID candidates of the object and position candidates of the object, and stores the pieces of information of the ID candidates of the object and position candidates of the object thus acquired in the observation database  105 . In this case, “observation raw data” refer to data that have not been subjected to any processes relating to the observation of the observation unit  101 , and for example, in the case of a camera or the like, these data correspond to image data picked up by a camera. In the case of the range-measuring sensor, these data correspond to range data, and in the case of the UWB tag reader, these data correspond to position data for the respective object IDs. In contrast, “observation data” refer to data that are calculated by using the observation raw data in the object-identifying unit  103 , by applying the object-identifying unit  103  to the observation raw data, and correspond to data relating to the ID and position of an object that can be dealt by the object position estimating unit  106 . The object-identifying unit  103 , and the object position estimating unit  106  will be described later. 
     In the case where the observation unit  101  is a camera, the observation raw data is image data, and the object identifying unit  103  carries out image processing on the image data picked up by the camera. As the image processing, for example, a technique such as a template matching process is proposed. A current input image is compared with the background image of an environment preliminarily acquired when no object is placed within the environment so that an area having different pixel values is taken out as a differential area. In this case, however, when the differential area is taken out by the object identifying unit  103 , since there is a possibility that noise is added to the input image, a limitation may be added by which, for example, an area in which a predetermined number or more of pixel values are coupled to one another is defined as the differential area. In the case where N-number of objects (where N is an integer of one or more) is placed in an environment, N-number of differential areas is obtained by the object identifying unit  103 . Thereafter, the object identifying unit  103  carries out matching processes between the differential areas obtained by the object identifying unit  103  and outside appearance data (template images) of shape information stored in the object database  102  so that the ID of an object can be identified by the object identifying unit  103 . More specifically, an object having the highest matching rate between the differential area and the outside appearance data is registered in the observation database  105  as the result of identification. In this case, the matching score (a rate of matching between the differential area and the template image) may also be registered in the observation database  105 . A method for utilizing the matching score will be described later. 
     With respect to the position of an object within the environment, by preliminarily preparing a coordinates conversion formula by which the coordinates in an image and the coordinates in the environment are made in association with each other in the object identifying unit  103 , the object identifying unit  103  is allowed to calculate the position. 
       FIG. 15  shows one example of a background image (environment background image) of an environment,  FIG. 16  shows an example of an input image, and  FIG. 17  shows one example of an image of a differential area, respectively. In this case, a life environment, such as a room  110  like a living room, is exemplified as the environment. As the environment background image to be prepared, a background in which no objects are placed in the environment is used. As shown in the environment background image of  FIG. 15 , furniture, such as a book shelf Bs, and electric appliances that are hardly moved may be included in the environment background image. In this case, however, since the furniture such as a book shelf Bs and electronic appliances are not taken out by the background differential process, the furniture such as a book shelf Bs and electronic appliances are excluded from objects to be position-estimated. An input image, shown in  FIG. 16 , represents a state, observed by a camera placed on a ceiling or the like of a room  110 , in which a purse O 3  is placed on a dining table Dt and a book O 2  is placed on a table Ta. Differential areas in  FIG. 17  show areas in which pixel values are different between the environment background image of  FIG. 15  and the input image of  FIG. 16 ; that is, the area of the purse O 3  and the area of the book O 2  are respectively shown. In this case, for example, the purse O 3  is defined as an object having an object ID “Obj_ 003 ” and the book O 2  is defined as an object having an object ID “Obj_ 002 ”. 
     In the case where the observing unit  101  is a range-measuring sensor  401  (see  FIG. 4 ) in place of the camera, the observation raw data is prepared as range data.  FIG. 3  shows one example of range data.  FIG. 3  shows range data in the case where the distance is obtained with a resolving power of 360 in 360 degrees around the sensor  401 , and the data correspond to the results of observation when the observation is carried out by using the range-measuring sensor  401  in the state shown in  FIG. 4 . In order to identify the ID of an object from the range data, the identifying process is executed, for example, by using width information of the object. For simplicity of explanation, suppose that only the wall  402  is present at places 100 cm or more apart from the range-measuring sensor  401 . In this case, in the distance within 100 cm, observation values are obtained within a range from 85 degrees to 95 degrees of 360 degrees so that it is supposed that the observed value at 85 degrees and the observed value at 95 degrees correspond to the two ends of the object O 1 . Supposing that the position of the range-measuring sensor  401  is represented by (0 cm, 0 cm, 5 cm), with 0 degree in the +X-axis direction and 90 degrees in the +Y-axis direction, the coordinates of the two ends of the object O 1  are indicated by (sin 85°×46 cm, cos 85°×46 cm)=(45.83 cm, 4.01 cm) and (sin 95°×46 cm, cos 95°×46 cm)=(45.83 cm, −4.01 cm), and at a position 5 cm above the installation surface (installation position of the range-measuring sensor (0 cm, 0 cm, 5 cm)), the width of the object O 1  is estimated as about 8 cm. 
     Based upon the estimation result of the object width of the object O 1  and the shape information of the object O 1  stored in the object database  102 , for example, the object O 1  is estimated as the object having the ID of “Obj_ 001 ”. Moreover, the position of the object O 1  in the environment is estimated as the center value of the coordinates of the two ends. For example, in the above-mentioned example, the center value (45.83 cm, 0 cm) of the coordinates (45.83 cm, 4.01 cm) and the coordinates (45.83 cm, −4.01 cm) is estimated as the position of the object O 1  in the environment. 
     In the case where the observation unit  101  is a UWB tag reader, the observation raw data is positional data for each of the positions of the object IDs. At least three UWB tag readers are used. In order to detect an object by using the UWB tag readers, the tag needs to be preliminarily attached to each of the objects. 
     The local coordinates of an object detected by using at least three UWB tag readers can be determined based upon the principle of three-point survey.  FIG. 19  shows an example of a method for detecting the position of the tag by using the three-point survey. In an environment shown in  FIG. 19 , a local station  1901 A, a local station  1901 B, and a local station  1901 C, which are respectively connected to the UWB tag readers, are disposed. The local station  1901 A is disposed at local coordinates (x, y)=(500, 600), the local station  1901 B is disposed at local coordinates (x, y)=(700, 300), and the local station  1901 C is disposed at local coordinates (x, y)=(300, 300). Suppose that the UWB tag readers know the local coordinates at which the three local stations are disposed. Each of the local stations measures a period of time required for a radio wave released from the local station to return to the local station from which it has been released, from the object to which the tag is attached, so that the distance from the corresponding local station to the tag can be calculated in each of the local stations. Under this circumstance, suppose that the object to which the tag  1902  is attached is located at local coordinates (x, y)=(400, 400). The local station  1901 A finds that the tag  1902  is located on an arc having a distance of 223.61 cm from the tag  1902  as a radius from the position of the local station  1901 A as the center. In the same manner, the local station  1901 B finds that the tag  1902  is located on an arc having a radius of 316.23 cm therefrom, and the local station  1901 C finds that the tag  1902  is located on an arc having a radius of 141.42 cm therefrom. It is determined that a position at which all the three arcs are superposed on one after another corresponds to the position at which the tag  1902  is located. In  FIG. 19 , the explanation is given as the tag position detecting process in a two-dimensional space. Upon carrying out the tag position detecting process in a real space (three-dimensional space), only the arc of  FIG. 19  is changed to a spherical shape, and there are no changes in the other processes. 
     The process completion time predicting unit  104  preliminarily calculates a period of time required for the object identifying unit  103  to carry out the object identifying process (in this case, for example, a template matching process), and stores the resulting period of time in the observation database  105 . Next, the process completion time predicting unit  104  receives a process algorithm for calculating the number (or amount) of observation data relating to the IDs and positions of objects from the observation raw data of the object identifying unit  103  or the number of processes from the object identifying unit  103  so as to predict the process completion scheduled time of the object identifying unit  103 , and stores the predicted time in the observation database  105 . The detailed description will be given below. 
     For example, in the case where the object identifying unit  103  is processing camera observation raw data, at a stage in which the object identifying unit  103  has taken out differential images, the process completion time predicting unit  104  receives information as to how many differential images have been obtained from the object identifying unit  103 , and from the information as to how many differential images have been obtained, it predicts a period of time required for the template matching process. For example, supposing that it takes 0.2 seconds to carry out matching processes with 5 templates with respect to one differential image, the period of time required for the template matching processes is one second when five differential images have been obtained in the object identifying unit  103 . At this time, the process completion scheduled time corresponds to 1 second after the time at which the background differential portions have been taken out because 0.2 seconds×5=1.0 second. That is, the process completion time predicting unit  104  preliminarily calculates the period of time required for the object identifying process (in this case, template matching process). 
     As shown in  FIG. 1 , the observation unit  101 , the object database  102 , the object identifying unit  103 , and the process completion time predicting unit  104  are collectively referred to as a single observation device  500 . Moreover, when observation devices  500  are individually distinguished from one another, they are referred to as a first measuring device  501 , a second measuring device  502 , a third measuring device  503 , . . . the n th  measuring device (n is an integer of 1 or more). 
     In the observation database  105 , ID information of each of the observation devices  500  (hereinafter, referred to simply as “observation device ID”, and for convenience of explanation, IDs of the first to third observation devices  501 ,  502 , and  503  are respectively referred to as “ 501 ”, “ 502 ”, and “ 503 ”), observation data relating to the observation object ID and the position of the observation object in the environment (for example, position coordinates), observation data relating to the observation object IDs and the positions (for example, positional coordinates) of the observation objects in the environment and the observation raw data process completion predicted time (for example, year/month/date and o&#39;clock/minutes/seconds) are stored. 
     The following description will describe a flow of processes in which data are respectively stored in the observation database  105  by the object identifying unit  103  and the process completion time predicting unit  104 . 
     First, the observation unit  101  observes the inside of an environment, and observation raw data is obtained. 
     Next, the process completion time predicting unit  104  calculates a period of time (observed raw data processing completion scheduled time) required for the object identifying unit  103  to process the observation raw data, and stores the resulting data in the observation database  105  as raw data processing completion scheduled time, together with the IDs of the observation devices  501 ,  502 , and  503  included in the observation unit  101  that has acquired the observation raw data. 
     Next, by using the observation raw data obtained by the observation unit  101 , the object identifying unit  103  starts an object identifying process. 
     Next, upon completion of the object identifying process of the observation raw data, the object identifying unit  103  stores the observation data in the observation database  105  together with the IDs of the observation devices  501 ,  502 , and  503 . 
       FIG. 5  shows one example of the observation database  105 . 
       FIG. 5(   a ) illustrates a data table showing a data storage state of the observation database  105  at a point of time, 14 o&#39;clock:17 minutes:20 seconds on Sep. 11, 2007 (ID of the data table showing this data storage state is referred to as “TBL_ 001 ”).  FIG. 5(   b ) illustrates a data table showing a data storage state at a point of time, 14 o&#39;clock:17 minutes:26 seconds on Sep. 11, 2007, 6 seconds after the previous time (ID of the data table showing this data storage state is referred to as “TBL_ 002 ”). In comparison with  FIG. 5(   a ), in  FIG. 5(   b ), data on the first and second lines from the bottom are added.  FIG. 5(   c ) illustrates a data table showing a data storage state at a point of time, 14 o&#39;clock:17 minutes:34 seconds, that is, 8 seconds after the state of  FIG. 5(   b ) (ID of the data table showing this data storage state is referred to as “TBL_ 003 ”). In comparison with  FIG. 5(   b ), in  FIG. 5(   c ), data on the first and second lines from the bottom are added. 
     In the data table of the data table ID “TBL_ 001 ” of  FIG. 5(   a ), observation data “Obj_ 001  (65, 20)”, and “Obj_ 002  (120, 26)” from the observation device ID  501  after the completion of the object identifying process, as well as process completion scheduled times “14 o&#39;clock:17 minutes:26 seconds” and “14 o&#39;clock:17 minutes:34 seconds”, that is, predicted process completion scheduled times of the observation raw data processing given by the observation devices ID  502 , and ID  503 , are respectively stored. 
     In the data table of the data table ID “TBL_ 002 ” of  FIG. 5(   b ), observation data “Obj_ 004  (266, 37)”, and “Obj_ 005  (322, 21)” from the observation device ID  503  are stored (see the second line from the bottom of the data table) in accordance with the observation raw data processing completion scheduled times, and from the observation device ID  501 , the completion scheduled time of the object identifying process of the observation raw data is newly stored therein (see the first line from the bottom of the table). The same is true for the data table of the data table ID “TBL_ 003 ” of  FIG. 5(   c ). That is, in the data table of the data table ID “TBL_ 003 ” of  FIG. 5(   c ), observation data “Obj_ 002  (119, 28)”, and “Obj_ 005  (322, 21)” from the observation device ID  502  are stored (see the second line from the bottom of the data table) in accordance with the observation raw data processing completion scheduled times, and from the observation device ID  503 , the completion scheduled time of the observation raw data processing is newly stored therein (see the first line from the bottom of the table). 
       FIG. 26  shows an example of the observation database  105  in which the aforementioned matching score is recorded together with the observed object positions. 
     In the data table of the data table ID “TBL_ 007 ” of  FIG. 26 , the observation IDs, the observation object positions, the raw data processing completion scheduled times, and the observation times are recorded, together with the matching score. 
     In the items of the matching score, the ID and the score of an identified object are stored. For example, a matching score “Obj_ 001  (0.8)” indicates that the matching score (matching rate) between the differential area obtained by detecting an object and the template of the object “Obj_ 001 ” is 80%. 
     Upon receipt of an instruction from the parameter determination unit  107 , based upon the observation data relating to the object ID and the position candidates of the object stored in the observation database  105 , the object position estimating unit  106  estimates the position of the object by taking into consideration the distributed state of the position candidates of the object (for example, the position and weight of the object)(more specifically, by using a particle filter or a Kalman filter). 
     The following description will describe a difference between the position of the object estimated by the object position estimating unit  106  and the position candidate stored in the observation database  105 . The position of the object stored in the observation database  105  is a position individually calculated by each of the observation devices  501 ,  502 , and  503 , and since these are normally different from one another depending on the observation devices  501 ,  502 , and  503 , due to positional errors caused by noise or the like contained in the respective observation devices  501 ,  502 , and  503 , these positions are dealt as position candidates of the object. In contrast, the position of an object estimated by the object position estimating unit  106  means a position having the highest rate of probability of presence selected from the object position candidates by the object position estimating process; thus, these two positions are clearly different from each other. 
     The explanation of the parameter determination unit  107  will be given later. The object position estimating process of the object position estimating unit  106  can be carried out by using, for example, a particle filter (for example, see Document: J. Hightower, B. Borriello. “The location Stack: A Layered Model for Location in Ubiquitous Computing”, 4 th  IEEE Workshop on Mobile Computer Systems &amp; Applications (WMCSA2002), pp. 22-28. 2002). “Particle filter” refers to a method for approximating the probability distribution by using a large number of particles having state amounts and weights, and this method can carry out approximation on even a non-linear distribution. In this case, “state amounts” refer to positions of an object. Moreover, the sum of weights of all the particles is 1, and the number of the particles is preliminarily determined. 
     Referring to  FIG. 6A , the following description will describe the object position estimating method carried out by using the particle filter in the object position estimating unit  106 . 
     In step S 1  of  FIG. 6A , based upon the weights of the respective particles previously obtained, a resampling process of the particles is carried out by the object position estimating unit  106 . In this case, it is supposed that for the first time, the particles are generated at random by the object position estimating unit  106  within an environment. 
     Next, in second step S 2 , with respect to each of the particles, its present position is estimated by the object position estimating unit  106  from the previous position. 
     Next, in third step S 3 , based upon the probability of the existing position of the object obtained from the observation data, the weights of the respective particles are calculated by the object position estimating unit  106 . 
     Next, in fourth step S 4 , the weighted average of all the particles is found by the object position estimating unit  106 , and the weighted average thus found is defined as an estimated position of the object by the object position estimating unit  106 . 
     In the case of the object position estimating method by the use of the particle filter, a issue is raised in that, although the greater the number of the particles, the higher the precision of approximation becomes, but the calculation time required for the object position estimating process becomes longer, and in that, although the smaller the number of the particles, the shorter the calculation time required for the object position estimating process becomes shorter, but the precision of approximation becomes lower.  FIG. 14A  shows an example in which 15 particles are used for carrying out the position estimating process for a purse (one black dot in  FIG. 14A  corresponds to one particle), and  FIG. 14B  shows an example in which 30 particles are used for carrying out the position estimating process for a purse. The coordinates of these particles respectively form the position candidates of the object. As shown in  FIG. 14A , it is determined that the purse is supposed to be located at coordinates (4000, 4000) near the center of the 15 particles. However, as shown in  FIG. 14B , since the number of the particles becomes greater to make the approximation precision higher, it is also determined that there is a probability that the purse is located at coordinates (5000, 5000) except for the coordinates (4000, 4000). These coordinates form the position candidates of the object. 
     The parameter determination unit  107  determines the number of particles used for processing unprocessed observation data from the current time to the observation raw data processing completion scheduled time, by using the respective pieces of information, such as the observation raw data processing (object identifying process) completion scheduled time, the current time, the processing capability of the object position estimating unit  106 , and the present unprocessed observation data. 
     Additionally, the parameter determination unit  107  is provided with a timer inside thereof, and allowed to acquire time information such as the current time, and the observation raw data processing completion scheduled time is stored in the observation database  105 . 
     In the case where the number of particles determined by the parameter determination unit  107  is greater than the number of particles used, for example, in the previous process, the particles corresponding to the increased portion may be scattered uniformly inside the environment, or may be scattered in accordance with the weights of the respective original particles, by the parameter determination unit  7 . In contrast, in the case where the number of particles determined by the parameter determination unit  107  is smaller than the number of the particles used in the previous process, the number of particles corresponding to the reduced portion may be omitted at random from the particle distribution as the result of the previous position estimation, or may be omitted in accordance with the weights of the respective original particles, by the parameter determination unit  107 . 
     Additionally, the parameter determination process (parameter setting process) of the parameter determination unit  107  will be explained below. 
     The parameter determination unit  107  determines the number of particles to be used for processing an object corresponding to unprocessed observation data, within a time difference between the time at which the object identifying process by the object identifying unit  103  is completed and the current time stored in the observation database  105 . 
     In this case,  FIG. 11A  shows an example information (relational information) showing the relationship between the number of particles and the period of time required for the object identifying process. The relational information is stored, for example, in the inner storage unit of the parameter determination unit  107 .  FIG. 11A  indicates that, for example, when a particle filter is applied with 100 particles being used, a period of time of 0.8 seconds is required for carrying out the position estimation of one object, and successively indicates that, when the particle filter is applied, with 200 particles, 300 particles, 500 particles, or 1000 particles being respectively used, periods of time of 1 second, 2 seconds, seconds, and 5 seconds are respectively required for carrying out the position estimation of one object. Additionally, it is supposed that the relational information shown in  FIG. 11A  has been preliminarily obtained by preliminary experiments. 
     The following description will describe a method for determining the number of particles by using the relational information of  FIG. 11A , a data sample of the data table ID “TBL_ 001 ” of  FIG. 5(   a ) and the parameter determination unit  107 . 
     First, the parameter determination unit  107  determines whether or not a point of time at which the observation data is next stored is stored in the observation database  105  of  FIG. 5  relative to the present time, and in the case where the parameter determination unit  107  has determined that the point of time at which the observation data is next stored is stored in the observation database  105 , the following operations are carried out. For example, as shown in  FIG. 5(   a ), at the current time of 17 minutes:20 seconds (in this case, the time, date, and year are omitted for simplicity of explanation), when the information stored in the observation database  105  is referred to, the point of time at which the observation data is next stored is 17 minutes:26 seconds (see  FIG. 5(   b )). The unprocessed observation data at the current time, 17 minutes:20 seconds, are two data, that is, the observation data “Obj_ 001 ” relating to the first observation object, obtained by the first observation device  501 , and the observation data “Obj_ 002 ” relating to the second observation object (see the 2 nd  line of  FIG. 5(   a )), and the process completion predicting unit  104  can calculate the fact that there is a time margin of (current time: 17 minutes:20 seconds)−(next time: 17 minutes:26 seconds)=6 seconds, until the observation data (in this example, the respective observation data of the fourth observation object and the fifth observation object to be acquired by the third observation device  503 ) has been stored, (that is, until the data table of table ID “TBL_ 002 ” of  FIG. 5(   b ) has been stored). At this time, since the unprocessed observation data at the present time are data relating to the two objects, the parameter determination unit  107  calculates to find the fact that the processing time to be applied per object is up to 3 seconds from an equation of 6 seconds/2 pieces=3 seconds. Therefore, from the relational information of  FIG. 11A , the parameter determination unit  107  can set (determine) so that the number of particles (at a processing speed of 3 seconds per object) that can be processed in 3 seconds per object is 500 pieces. 
     Therefore, in accordance with the number of observation data to be processed by the object position estimating unit  106  and the period of time up to the next storage of the observation data, the number of particles of the particle filter is set (determined) by the parameter determination unit  107 , and by using particles of 500 pieces set by the parameter determination unit  107 , the position estimating processes of the two objects can be carried out by the object position estimating unit  106 , by using a particle filter. As a result, within a waiting period of time up to the next storage of observation data required for the object position estimating process, the object identifying process of the observation raw data can be completed. In other words, the position estimation of the object can be carried out without a delay for the observation of the observation unit  101 . 
     In contrast, in the case where the parameter determination unit  107  has determined that the point of time at which the observation data is next stored (observation raw data processing completion scheduled time) is not stored in the observation database  105  of  FIG. 5 , yet, the parameter determination unit  107  determines the number of particles as a reference number of particles preliminarily determined (for example, 200 pieces). 
     In  FIG. 20A  showing one example of the observation database, “TBL_ 004 ” represents an example of the observation database  105  in which the observation data is recorded under a circumstance where no observation raw data processing completion scheduled time is recorded. In the case of the obtained data shown by “TBL_ 004 ”, the parameter determination unit  107  determines the number of particles as the reference number of particles preliminarily determined, and estimates the position of the object. In  FIG. 20B  showing another example of the observation database, “TBL_ 005 ” represents an example of the observation database  105  after the estimation of the position of the object by using the above-mentioned data indicated by “TBL_ 004 ”. In “TBL_ 005 ”, total five observation data, that is, observation values “Obj_ 004  (266, 37)” and “Obj_ 005  (322, 21)”, outputted by the observation device  503 , and observation values “Obj_ 002  (119, 28)”, “Obj_ 003  (197, 69)”, and “Obj_ 004  (266, 36)”, outputted by the observation device  502 , are present as unprocessed observation data. Moreover, the current point of time is 14 o&#39;clock:17 minutes:34 seconds on Sep. 11, 2007, and the point of time at which the next observation data is recorded is 14 o&#39;clock:17 minutes:38 seconds on Sep. 11, 2007. That is, the parameter determination unit  107  determines the number of particles used for processing the 5 pieces of observation data in four seconds up to the next recording of the observation data. 
     Moreover, not limited to “seconds”, the unit of time “until the observation data is next stored” may be represented separately by a plurality of stages (for example, three in this case), that is, for example, respective cases of “much time required”, “medium time required”, and “little time required”, and the relational information between the number of particles and the processing time per object may be prepared in accordance with the respective cases.  FIG. 18  shows the relational information between the number of particles and the processing time at this time. In  FIG. 18 , for example, in the case of “much time required” (in  FIG. 18 , expressed as “long”), the number of particles is set to 300 pieces, in the case of “medium time required” (in  FIG. 18 , expressed as “medium”), the number of particles is set to 200 pieces (reference number of particles), and in the case of “little time required” (in  FIG. 18 , expressed as “short”), the number of particles is set to 100 pieces. Based upon these pieces of relational information, the number of particles may be set by the parameter determination unit  107 . 
     In accordance with the first embodiment, based upon the number of observation data to be processed by the object position estimating unit  106  and the period of time up to the next storage of the observation data, the number of particles can be altered by the parameter determination unit  107 . That is, as the reference or initial setting, the relational information between the processable time of the observation raw data from the present time to the next storage time of the observation data and the number of processable particles during the processable time of the observation raw data is preliminarily stored in the inner storage unit of the parameter determination unit  107 . Then, in the case where the processable time of the observation raw data from the present time to the next storage time of the observation data is shorter than a predetermined period of time, the number of particles is reduced from the number of particles corresponding to the predetermined period of time by the parameter determination unit  107  so that the period of time required for the object identifying process is reduced, while, in the case where the processable time of the observation raw data from the present time to the next storage time of the observation data is longer than the predetermined period of time, the number of particles is increased from the predetermined number of particles by the particle determination unit  107  so that the position of the object can be estimated with higher precision. Consequently, within the waiting period of time up to the next storage of the observation data required for the object position estimating process, the object identifying process of the observation raw data can be positively completed. 
     Second Embodiment 
       FIG. 1  is also a block diagram that shows an object position estimating system in accordance with a second embodiment of the present invention. In other words, the schematic structure of the object position estimating system in accordance with the second embodiment is the same as the object position estimating system in accordance with the first embodiment, and as will be described later, only the functions of the object position estimating unit  106  and the parameter determination unit  107  are different from each other. 
     The present system is configured by observation unit  101 , an object database  102 , object identifying unit  103 , process completion time predicting unit  104 , observation database  105 , object position estimating unit  106  and parameter determination unit  107 . 
     The respective unit other than the object position estimating unit  106  and the parameter determination unit  107 , as well as the respective databases, have the same functions as those explained in the first embodiment; therefore, the explanations thereof will be omitted. 
     As the object position estimating unit  106 , for example, a Kalman filter or the like may be used in place of the particle filter. The Kalman filter is a filter by which, in the case where noise is contained in information of a system state (in the second embodiment of the present invention, for example, an object position), with noise being also contained in the observation value, a state having the highest probability can be estimated among candidates of the state that are available in the system.  FIG. 6B  shows an example in which the Kalman filter is utilized for the object position estimating process. The axis of ordinates represents the probability and the axis of abscissas represents the position. 
     When an object is shifted in such a manner as to be indicated by the following (equation 1), the observation unit  101  can obtain an observation value  603  found by the following (equation 2). In this case, A represents a moving model of an object, x represents an object position, and v represents process noise that is generated upon movement. Moreover, y represents an observation value, H represents an observation model that makes the object position x and the observation value y in association with each other, w represents observation noise, and t represents time.
 
 x   t   =A   t   x   t-1   +v   t   [Equation 1]
 
 y   t   =H   t   x   t   +w   t   [Equation 2]
 
     In this case, suppose that process noise v and observation noise w are defined as white Gauss noise, p(w) is represented by formula (3) and p(v) is represented by formula (4). Additionally, N(0, Q) represents a Gaussian distribution with an average of 0 and a distribution of Q. N(0, R) also represents a Gaussian distribution with an average of 0 and a distribution of R.
 
 p ( w )˜ N (0, Q )  [Formula 3]
 
 p ( v )˜ N (0, R )  [Formula 4]
 
     When an observation value  603  is obtained, a preliminary possibility distribution  601  (hereinafter, referred to as “preliminary distribution”) relating to the position of the object currently obtained is updated by the object position estimating unit  106  so that a predicted distribution  602  is formed by the object position estimating unit  106 . The position of the predicted distribution  602  can be found by the formula of (formula 5), and the dispersion of the predicted distribution  602  can be found by the formula of (formula 6), by the object position estimating unit  106 . In this case, “X a|b ” represents an estimated value of X at a point of time “a” based upon the information at a point of time “b”. For example, “x t|t-1 ” of (formula 5) represents an estimated value of the object position x at time t obtained based upon the information at time t−1, and “P t|t-1 ” of (formula 6) represents an estimated value of P at time t obtained based upon the information at a point of time t−1. In this case, P indicates the dispersion of the distribution.
 
 x   t|t-1   =A   t   x   t-1|t-1   [Equation 5]
 
 P   t|t-1   =A   t   P   t-1|t-1   A   t   T   +Q   t   [Equation 6]
 
     When the predicted distribution  602  is obtained by the object position estimating unit  106 , a posterior distribution  604  is found by the object position estimating unit  106  from the observation value  603  and the predicted distribution  602 . The position of the posterior distribution  604  is found by the object position estimating unit  106  from (equation 7), and the dispersion of the posterior distribution  604  is found by the object position estimating unit  106  from (equation 8). In this case, K represents a value referred to as a Kalman gain, which is obtained by (equation 9). The Kalman gain is a value used for determining the amount of updating. In the case where the precision of the observation value is superior (dispersion R is very small), the value of the Kalman gain is increased so as to increase the amount of updating. In contrast, in the case where the precision of the posterior distribution is superior (P is very small), the value of the Kalman gain is reduced so as to reduce the amount of updating.
 
 x   t|t   =x   t|t-1   +K   t ( y   t   −H   t   x   t|t-1 )  [Equation 7]
 
 P   t|5 =(1 −K   t   H   t ) P   t|t-1   [Equation 8]
 
 K   t   =P   t|t-1   H   t   T ( H   t   P   t|t-1   H   t   T   +R   t ) −1   [Equation 9]
 
     By using respective pieces of information relating to the observation raw data processing completion scheduled time, the current time, the processing capability of the object position estimating unit  106  and currently unprocessed observation data, the parameter determination unit  107  estimates how many objects can be subjected to unprocessed observation data processing operations thereof, from the current time to the observation raw data processing completion scheduled time. 
     More specifically, referring to the data table having the data table ID “TBL_ 001 ” of  FIG. 5(   a ), the explanation will be given as follows: For example, at the current time of 17 minutes:20 seconds (in this case, the time, date, and year are omitted for simplicity of explanation), the point of time at which the next observation data is stored is set to 17 minutes:26 seconds (see  FIG. 5(   b )). In the same manner as in the first embodiment, the unprocessed observation data at the current time, 17 minutes:20 seconds, are two data, that is, the observation data “Obj_ 001 ” relating to the first observation object, obtained by the first observation device  501 , and the observation data “Obj_ 002 ” relating to the second observation object (see the 2 nd  line of  FIG. 5(   a )), and the parameter determination unit  107  can calculate the fact that there is a time margin of (current time: 17 minutes:20 seconds)−(next time: 17 minutes:26 seconds)=6 seconds, until the observation data (in this example, the respective observation data of the fourth observation object and the fifth observation object to be acquired by the third observation device  503 ) have been stored (that is, until the data table having a data table ID “TBL_ 002 ” has been stored). 
     At this time, supposing that it takes 3 seconds per object for the object position estimating unit  106  to process the object, since there is a time margin of 6 seconds, until the next observation data is stored, that is, since 6 seconds/2 seconds=2 pieces, the positions of two pieces of objects can be estimated so that all the observation data corresponding to two pieces of objects observed by the observation unit  101  of the observation device  501  having the first observation device ID “ 501 ” can be processed. However, supposing that it takes 5 seconds per object for the object position estimating unit  106  to process the object, since only the time margin of 6 seconds is left prior to the next storage of the observation data, that is, since 6 seconds/5 seconds=1.2 pieces, the position of only one object can be estimated. In this case, it becomes necessary for the object position estimating unit  106  to select which object position of two objects (Obj_ 001 , Obj_ 002 ) observed by the observation unit  101  of the observation device  501  having the observation device ID “ 501 ” should be estimated. 
     Referring to  FIGS. 6B and 7 , the following description will describe the selection method of an object by which a position estimating process is carried out among a plurality of objects by the object position estimating unit  106 . 
       FIG. 7  shows a state in which five objects located within an environment are observed by using three observation devices  501 ,  502 , and  503 , and  FIG. 8  shows estimated positions of the respective objects immediately before the processing of the observation data of the first observation device ID “ 501 ” at the point of time when the data table of the data table ID “TBL_ 001 ” is obtained (for example, in the case where a Kalman filter is used as the object position estimating unit  106 , the preliminary distribution, obtained after the moving model has been taken into consideration, may be used). The respective observation devices  501 ,  502 , and  503  are cameras or range-measuring sensors. 
       FIG. 8  shows an example of an estimated state of the object positions.  FIG. 8  indicates a probability distribution relating to each of the positions of the respective objects, and, for example, with respect to the first observation object of the object ID “Obj_ 001 ”, it shows an average position (position coordinates) of (x, y)=(60, 20) and a distributed covariance matrix of (5 2 , 0, 0, 5 2 ). With respect to the second observation object of the object ID “Obj_ 002 ”,  FIG. 8  shows an average position (position coordinates) of (x, y)=(120, 25) and a distributed covariance matrix of (20 2 , 0, 0, 20 2 ). 
     For example, in the case where only one object whose position is to be estimated is selected from the two observation objects, that is, the object IDs of “Obj_ 001 ” and “Obj_ 002 ” by the object position estimating unit  106 , the position of the object having a greater distribution in the dispersion is estimated and selected by the object position estimating unit  106 . In this case, since the dispersion covariance matrix of the first observation object is (5 2 , 0, 0, 5 2 ), and since the dispersion covariance matrix of the second measurement object is (20 2 , 0, 0, 20 2 ), the dispersion of the distribution of the second observation object with the object ID “Obj_ 002 ” is greater than the dispersion of the distribution of the first observation object with the object ID “Obj_ 001 ”, the parameter determination unit  107  determines that the position of the object with the object ID “Obj_ 002 ” should be estimated by the object position estimating unit  106 . Thus, estimating processes can be carried out in succession starting from an object whose position is vaguely estimated so that it is possible to eliminate a biased state with respect to the position estimation precision of all the objects. 
     Moreover, in an attempt to select the object whose position is to be estimated by the object position estimating unit  106 , not based upon dispersion, but based upon comparisons with distances between the center position of distribution and the observation position made by the object position estimating unit  106 , the object position estimating unit  106  may be allowed to make the selection. For example, the center position (position coordinates) of the distribution of the first observation object with the object ID “Obj_ 001 ” is (60, 20), and the observation position (position coordinates) of the observation unit  101  of the first observation device  501  is (65, 20), with difference being 5 cm between them. On the other hand, suppose that the center position (position coordinates) of the distribution of the second observation object with the object ID “Obj_ 002 ” is (120, 25), and that the observation position (position coordinates) of the observation unit  101  of the second observation device  502  is (120, 26), with a difference being only 1 cm between them. In this case, the object position estimating unit  106  determines that, when the difference between the center position of distribution and the observation position is large, the position with the object ID “Obj_ 001 ” is estimated by the object position estimating unit  106 . With this arrangement, position estimating processes can be carried out by the object position estimating unit  106  in succession, starting from an object whose position is vaguely estimated so that it is possible to eliminate a biased state with respect to the position estimation precision of all the objects. After the object position estimating processes by the object position estimating unit  106 , both of the object with the object ID “Obj_ 001 ” and the object with the object ID “Obj_ 002 ” are classified as processed observation data. The determination by the object position estimating unit  106  as to whether the processed observation data or not may be made based upon observation data that has been processed by the parameter determination unit  107  and stored in the observation database  105 , or may be made based upon information indicating the processed state preliminarily stored in the observation database  105  by the object position estimating unit  106 , which is read by the object position estimating unit  106  later. In these cases, in  FIG. 1 , the flow of data (information) from the parameter determination unit  107  to the observation database  105 , or the flow of data (information) from the object position estimating unit  106  to the observation database  105 , is added thereto. 
     Moreover, upon selecting an object whose position is estimated by the object position estimating unit  106 , a matching score may be utilized. In the case where the matching score is low, this indicates that there are many places where no matching is made between the detected differential area and the template image, there is a possibility of erroneous identification of the object ID. In other words, when the position estimating process is carried out by using data relating to an object ID having a low matching score, the result of the position estimation might become incorrect. Therefore, by estimating positions of objects in the order of object IDs having a higher score, it is possible to avoid erroneous position estimations. For example, suppose that, of the first data “Ob_ 001  (65, 20) and the second data “Ob_ 002  (120, 26)” of  FIG. 26 , only the time required for carrying out one of the objects is left. In this case, since the matching score (0.8) of the “Ob_ 001 ” is higher than the matching score (0.6) of the “Ob_ 002 ”, the position estimating process of “Ob_ 001 ” is carried out by the object position estimating unit  106 . 
     Next, referring to flow charts shown in  FIGS. 9 and 10 , the following description will describe processes of the object position estimating system.  FIG. 9  shows a flow chart of the observation operations in the observation unit of the respective observation devices  500 , the object identifying processes in the object identifying unit  103  and the process completion time predicting process in the process completion time predicting unit  104 , and  FIG. 10  shows a flow chart of the object position estimating process in the object position estimating unit  106 . 
     First, the flow chart of the observation operations and the like of the observation device  500  of  FIG. 9  will be explained. 
     In step S 901 , a sensor that is one example of the observation unit  101  installed in the observation device  500  observes the environment, and acquires observation raw data. 
     In step S 902 , the object identifying unit  103  starts an object identifying process of the observation raw data acquired by the sensor. 
     Next, in step S 903 , the process completion time predicting unit  104  predicts the completion predicting time of the object identifying process based upon the contents of the object identifying process of the observation raw data carried out by the object identifying unit  103 . 
     Next, in step S 904 , the process completion time predicting unit  104  stores the object identifying process completion scheduled time of the observation raw data predicted in step S 903  in the observation database  105 . 
     Next, in step S 905 , immediately after the completion of the object identifying process of the observation raw data, the object identifying unit  103  stores observation data relating to the ID and position of the object in the observation database  105 . 
     The following description will describe the flow chart relating to the object position estimating process of  FIG. 10 . 
     In step S 1001 , the parameter determination unit  107  determines whether or not unprocessed observation data is present in the observation database  105 . In the case where the parameter determination unit has determined that no unprocessed observation data is present in the observation database  105 , this step S 1001  is repeated until unprocessed observation data has been given thereto. In the case where the parameter determination unit has determined that unprocessed observation data is present in the observation database  105 , the sequence proceeds to step S 1002 . 
     Next, in step S 1002 , the parameter determination unit  107  acquires a point of time at which the observation data relating to the ID and position of the next object are stored, from the observation database  105 . 
     Next, in step S 1003 , based upon a time difference between the point of time acquired in step S 1002  and the current time acquired from the inner timer of the parameter determination unit  107  and the processing speed of the object position estimating unit  106 , the parameter determination unit  107  determines the number of observed objects on which the object position estimating process can be carried out. 
     Next, in step S 1004 , based upon the object estimated positions of the respective objects obtained at this point of time, the parameter determination unit  107  determines the objects corresponding to the number of the observed objects determined in step S 1003  as observed objects on which the position estimating process is carried out, in the order of those objects having a greater difference between the estimated position and the observed position. 
     Next, in step S 1005 , with respect to the observed objects determined by the parameter determination unit  107  as observed objects to be subjected to the position estimating process, the object position estimating unit  106  carries out the object position estimating process, based upon the observation data relating to the ID and the position of the object stored in the observation database  105 . 
       FIG. 11B  shows a timing chart at the time when the position of an object is estimated based upon the observation data and the observation raw data processing completion scheduled time shown in  FIG. 5 . Additionally, for simplicity of explanation, the process relating to the second observation device  502  is omitted from  FIG. 11B , and in the following explanation also, the description of the second observation device  502  will be omitted. 
     As shown in  FIG. 5 , at the time of 14:17′:20″ (14 o&#39;clock:17 minutes:20 seconds)(in this case, the date, month, and year are omitted for simplicity of explanation), “Obj_ 001  (65, 20)” and “Obj_ 002  (120, 26)” are stored in the observation database  105 , as observation data as a result of the object identifying process of the observation raw data acquired by the first observation device  501 , the parameter determination unit  107  refers to the observation raw data processing completion scheduled time stored in the observation database  105 , and acquires the data. Moreover, at the same time, 14:17′:20″, as shown in  FIG. 5 , since the observation raw data processing completion scheduled time 14:17′:26″ of the third observation device  503  is stored in the observation database  105 , there is a time margin of 6 seconds to be used for an object position estimating process until the fourth observation data “Obj_ 004  (266, 37)” and the fifth observation data “Obj_ 005  (322, 21)” of the third observation device  503  have been next stored. At this time, in the case where the position of one object can be estimated within 3 seconds, by using the two observation data “Obj_ 001  (65, 20)” and “Obj_ 002  (120, 26)”, the positions of two objects having the object ID “Obj_ 001 ” and the object ID “Obj_ 002 ” can be processed and estimated by the object position estimating process unit  106 . However, in the case where it takes 3 seconds or more to estimate the position of one object, by using either the data “Obj_ 001  (65, 20)” or the data “Obj_ 002  (120, 26)”, the position of one object is processed and estimated by the object position estimating process unit  106 . Since the determination as to which data to be used has already been explained, the description thereof will be omitted. 
     In the case where, as a result of the reference to the observation raw data processing completion scheduled time by the parameter determination unit  107 , the parameter determination unit  107  determines that no observation raw data processing completion scheduled time is stored, for example, by using the two data “Obj_ 001  (65, 20)” and “Obj_ 002  (120, 26)”, the object position estimating process is carried out. Thereafter, the same process is repeated so that the position estimating processes of objects are carried out. 
     The following description will describe a timing chart in  FIG. 11B  in detail. 
     In this example shown in  FIG. 11B , observation raw data of the first observation object and the second observation object are respectively acquired by the observation unit  101  of the first observation device  501  (see process P 1  of  FIG. 11B ) up to the current time 14 o&#39;clock:17 minutes:20 seconds (in this case, date, month, and year are omitted for simplicity of explanation), and a sum of periods of time (observation raw data processing completion scheduled time) required for the object identifying unit  103  to process the observation raw data is calculated by the process completion time predicting unit  104 , and the resulting period of time is stored in the observation database  105  (see process P 2  of  FIG. 11B ) together with the ID “ 501 ” of the first observation device  501  as the observation raw data processing completion scheduled time in the observation database  105 . Next, by using the observation raw data obtained in the first observation device  501 , the object identifying unit  103  starts an object identifying process, and when the observation data are obtained after completion of the object identifying process of the observation raw data, the observation data thereof “Obj_ 001  (65, 20)” and “Obj_ 002  (120, 26)” are stored in the observation database  105  together with the ID “ 501 ” of the first observation device  501  (see the 2 nd  line of  FIG. 5(   a ) and process P 3  of  FIG. 11B) . The completion time of this process P 3  corresponds to the current time 14 o&#39;clock:17 minutes:20 seconds. 
     At this time, in parallel with processes P 1  to P 3 , observation raw data of the fourth observation object and the fifth observation object are respectively acquired by the observation unit  101  of the third observation device  503  (see process P 4  of  FIG. 11B ) up to the current time 14 o&#39;clock:17 minutes:20 seconds, and a sum of periods of time (observation raw data processing completion scheduled time) required for the object identifying unit  103  to process the observation raw data is calculated by the process completion time predicting unit  104 , and the resulting period of time is stored in the observation database  105  together with the ID “ 503 ” of the third observation device  503  as the observation raw data processing completion scheduled time (see “14 o&#39;clock:17 minutes:26 seconds” in the third line of  FIG. 5(   a ) and process P 5  of  FIG. 11B) . Next, by using the observation raw data obtained in the third observation device  503 , the object identifying unit  103  starts an object identifying process (see process P 6  of  FIG. 11B ). This process P 6  is continued even after the process P 3  has been completed (in other words, even after the current time 14 o&#39;clock:17 minutes:20 seconds), and when the object identifying process of the observation raw data has been completed to obtain the observation data, the corresponding observation data “Obj_ 004  (266, 37)” and “Obj_ 005  (322, 21)” are stored in the observation database  105  together with the ID “ 503 ” of the third observation device  503  (see the fifth line of  FIG. 5  and process P 6  of  FIG. 11B ). The completion time of this process P 6  corresponds to the current time 14 o&#39;clock:17 minutes:26 seconds. 
     In this manner, as shown in  FIG. 5(   a ), up to the current time 14 o&#39;clock:17 minutes:26 seconds, the observation data of the first observation object and the observation of the second observation object are stored in the observation database  105  together with the ID “ 501 ” of the first observation device  501 , and the observation raw data completion scheduled time relating to the third observation device  503  is simultaneously stored in the observation database  105 . 
     Thus, the parameter determination unit  107  refers to the observation raw data processing completion scheduled time relating to the third observation device  503  shown in the data table of  FIG. 5(   a ), and calculates a period of time from the current time to the observation raw data processing completion scheduled time {(14 o&#39;clock:17 minutes:26 seconds)−(14 o&#39;clock:17 minutes:20 seconds)=6 seconds} so that this calculated time corresponds to a period of time in which the object position estimating process is carried out. At this time, in the case where the position of one object can be estimated within 3 seconds, by using the two observation data “Obj_ 001  (65, 20)” and “Obj_ 002  (120, 26)”, the positions of two objects having the object ID “Obj_ 001 ” and the object ID “Obj_ 002 ” can be processed and estimated by the object position estimating process unit  106  (see process P 21  in  FIG. 11B) . However, in the case where it takes 3 seconds or more to estimate the position of one object, by using either the data “Obj_ 001  (65, 20)” or the data “Obj_ 002  (120, 26)”, the position of one object is processed and estimated by the object position estimating process unit  106  (see process P 21  in  FIG. 11B ). Since the determination as to which data to be used has already been explained, the description thereof will be omitted. 
     At the current time 14 o&#39;clock:17 minutes:20 seconds and thereafter, since the object identifying process in the first observation device  501  has been completed, another observation object is subjected to an observing operation by the first observation device  501 . That is, observation raw data of the third observation object and the fourth observation object are respectively acquired by the observation unit  101  of the first observation device  501  (see process P 7  in  FIG. 11B ), and a sum of periods of time (observation raw data processing completion scheduled time) required for the object identifying unit  103  to process the observation raw data is calculated by the process completion time predicting unit  104 , and the resulting period of time is stored in the observation database  105  together with the ID “ 501 ” of the first observation device  501  as the observation raw data processing completion scheduled time) in the observation database  105  (see “14 o&#39;clock:17 minutes:38 seconds” in the lowest line of  FIG. 5(   b ) and process P 8  of  FIG. 11B) . Next, by using the observation raw data obtained in the first observation device  501 , the object identifying unit  103  starts an object identifying process, and when the observation data are obtained after completion of the object identifying process of the observation raw data, the observation data thereof are stored in the observation database  105  together with the ID “ 501 ” of the first observation device  501  (see process P 9  of  FIG. 11B ). The completion time of this process P 9  corresponds to the current time 14 o&#39;clock:17 minutes:38 seconds. 
     At the time of 14 o&#39;clock:17 minutes:20 seconds, since the object position estimating process P 21  of each of the first observation object and the second observation object or either the first observation object or the second observation object is completed, the parameter determination unit  107  successively refers to the observation raw data processing completion scheduled time relating to the first observation device  501  shown in the data table of  FIG. 5(   b ), and calculates a period of time from 14 o&#39;clock:17 minutes:26 seconds to the observation raw data processing completion scheduled time {(14 o&#39;clock:17 minutes:38 seconds)−(14 o&#39;clock:17 minutes:26 seconds)=8 seconds} so that this calculated time corresponds to a period of time in which the object position estimating process is carried out. At this time, in the case where the position of one object can be estimated within 4 seconds, by using the two observation data “Obj_ 004  (266, 37)” and “Obj_ 005  (322, 21)”, the positions of two objects having the object ID “Obj_ 004 ” and the object ID “Obj_ 005 ” can be processed and estimated by the object position estimating process unit  106  (see process P 22  in  FIG. 11B) . However, in the case where it takes 4 seconds or more to estimate the position of one object, by using either the data “Obj_ 004  (266, 37)” or the data “Obj_ 005  (322, 21)”, the position of one object is processed and estimated by the object position estimating process unit  106  (see process P 22  in  FIG. 11B ). Since the determination as to which data to be used has already been explained, the description thereof will be omitted. 
     At the time 14 o&#39;clock:17 minutes:26 seconds and thereafter, since the object identifying process in the third observation device  503  has been completed, another observation object is subjected to an observing operation by the third observation device  503 . That is, observation raw data of the first observation object and the second observation object are respectively acquired by the observation unit  101  of the third observation device  503  (see process P 10  in  FIG. 11B ) simultaneously with the process P 9 , and a sum of periods of time (observation raw data processing completion scheduled time) required for the object identifying unit  103  to respectively process the observation raw data is calculated by the process completion time predicting unit  104 , and the resulting period of time is stored in the observation database  105  together with the ID “ 503 ” of the third observation device  503  as the observation raw data processing completion scheduled time in the observation database  105  (see “14 o&#39;clock:17 minutes:38 seconds” in the lowest line of  FIG. 5(   c ) and process P 11  of  FIG. 11B) . Next, by using the observation raw data obtained in the third observation device  503 , the object identifying unit  103  starts an object identifying process (see process P 12  of  FIG. 11B ). This process P 12  is continued even after the process P 9  has been completed (in other words, even after the time 14 o&#39;clock:17 minutes:38 seconds), and when the object identifying process of the observation raw data has been completed to obtain the observation data, the corresponding observation data is stored in the observation database  105  together with the ID “ 503 ” of the third observation device  503  (see process P 12  of  FIG. 11B ). 
     Thereafter, at the time of 14 o&#39;clock:17 minutes:38 seconds, since the object position estimating process P 22  of each of the fourth observation object and the fifth observation object or either the fourth observation object or the fifth observation object is completed, the parameter determination unit  107  successively calculates a period of time from 14 o&#39;clock:17 minutes:38 seconds to the observation raw data processing completion scheduled time so that this calculated time corresponds to a period of time in which the object position estimating process is carried out on the observation data acquired in process P 9  (see process P 23  in  FIG. 11B ). 
     In accordance with the second embodiment, based upon the number of objects that can be processed within a waiting period of time up to the storage of the next observation data required for an object position estimating process, objects to be subjected to the object position estimating process are determined so that it becomes possible to provide an object position estimating system that can carry out object position estimating processes as many as possible, within a limited period of time. 
     Third Embodiment 
       FIG. 21  is a block diagram that shows an object position estimating system in accordance with a third embodiment of the present invention. 
     The present system is configured by observation unit  101 , object database  102 , object identifying unit  103 , process completion time predicting unit  104 , observation database  105 , object position estimating unit  106 , parameter determination unit  107  and display unit  108 . 
     The respective unit and respective databases other than the display unit  108  have the same functions as those explained in the second embodiment; therefore, the explanations thereof will be omitted. 
     The display unit  108  receives the estimation result of an object position of the object position estimating unit  106 , and displays the result of the estimation. For example, a monitor or the like may be used as one example of the display unit. 
     Moreover, the display unit  108  refers to the observation database  105 , and can display a point of time at which observation data used for outputting the estimated position of an object that is currently estimated, as the previously estimated time. In  FIG. 25 , “TBL_ 006 ” shows on example of an observation database  105  that can record point of time at which the observation device  101  carried out an observation. For example, in the case where the object position estimating process is carried out by using observation data “Obj_ 004  (266, 37)”, and “Obj_ 005  (322, 21)” of the observation device ID  503 , it is found from the previous data of the observation device ID 503  that the point of time at which the observation data is obtained is the time 14 o&#39;clock:17 minutes:15 seconds on Sep. 11, 2007. 
     Moreover, the display unit  108  refers to the observation database  105 , and displays the completion scheduled time of the next object identifying process as an output time as a result of the object position estimation of the object position estimating unit  106  of the next time. In the case where the present state is given as “TBL_ 006 ” of  FIG. 25 , the next completion scheduled time of the object identifying process is the time 14 o&#39;clock:17 minutes:34 seconds on Sep. 11, 2007; therefore, the display unit  108  displays the next output time of the result of the object position estimation as the time 14(o&#39;clock):17 minutes:34 seconds on Sep. 11, 2007. 
       FIG. 22  shows display examples of the display unit  108 . The display examples of  FIG. 22  include respective pieces of information, such as estimated positions of the respective objects “Obj_ 001 ”, “Obj_ 002 ”, “Obj_ 003 ”, “Obj_ 004 ”, and “Obj_ 005 ”, the current time, the previously estimated time and the next estimated time. It is supposed that the display unit  108  has a timer for acquiring the current time. 
     Moreover, the display unit  108  may display the object estimated position as a probability density distribution.  FIG. 23  shows an example in which the object estimated position is given as the probability density distribution.  FIG. 23  shows the average position and dispersion of the positions of the respective objects “Obj_ 001 ”, “Obj_ 002 ”, “Obj_ 003 ”, “Obj_ 004 ”, and “Obj_ 005 ”, as numeric values and graphs. 
     Moreover, the display unit  108  may display estimated positions of objects in an overlaid manner on an image of the actual environment (environment in the current time) (however, in the view, for simplicity of explanation, the room, house or the like are omitted from the drawing. In this case, the image of the actual environment refers to a view containing images of the objects, and the overlaid display includes estimated positions indicated by black circles and object IDs).  FIG. 24  shows an example in which the estimated positions of the respective objects, “Obj_ 001 ”, “Obj_ 002 ”, “Obj_ 003 ”, “Obj_ 004 ”, and “Obj_ 005 ”, are displayed in an overlaid manner on the image of the actual environment. Additionally, upon providing the overlaid display, not the image of the present actual environment, but the image obtained at the previous estimation time, may be displayed so that the positional relationship between the estimated positions of the objects in the actual environment and the objects S can easily be understood. 
     In accordance with the third embodiment, since the display unit  108  is installed, the user is allowed to recognize the estimated positions of objects and also to acquire the time at which the result of the next position estimation of the objects is outputted. 
     In the above-mentioned embodiments, the observation unit  101 , the object database  102 , the object identifying unit  103 , the process completion time predicting unit  104 , the observation database  105 , the object position estimating unit  106 , the parameter determination unit  107  and the like, or desired portions thereof, may be configured by pieces of software. Therefore, for example, a computer program including the respective steps of the object position estimating operations of the object position estimating system or the object position estimating apparatus of each of the first, second and third embodiments may be prepared, and readably stored in a recording medium, such as a storage device (hard disk or the like), and by allowing a temporary memory device (semiconductor memory or the like) of a computer to read the computer program, the program is executed by using the CPU so that the respective steps can be executed. 
     By properly combining the arbitrary embodiments of the aforementioned various embodiments, the effects possessed by the embodiments can be produced. 
     INDUSTRIAL APPLICABILITY 
     The object position estimating system, object position estimating apparatus, object position estimating method and object position estimating program of the present invention are designed to make parameters to be used for the object estimating process variable so as to effectively utilize a waiting period of time up to the next observation data storing time, required for an object position estimating process, so that both of a high-precision real time process and a high-precision object position estimating process can be achieved; thus, the present invention is effectively used as a retrieving system for objects at home or a tracking system for a movable object, such as a robot. 
     Although the present invention has been fully described in connection with the preferred embodiments thereof with reference to the accompanying drawings, it is to be noted that various changes and modifications are apparent to those skilled in the art. Such changes and modifications are to be understood as included within the scope of the present invention as defined by the appended claims unless they depart therefrom.