Abstract:
A non-transitory computer readable medium stores a program that causes a computer to execute a position conversion process. The process includes storing actual layout information and virtual layout information, the actual layout information defining a layout of a first subject within an actual structure, the virtual layout information defining a layout of a second subject within a virtual structure; acquiring a human position within the actual structure; and converting the human position in the actual layout information into the human position in the virtual layout information.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
       [0001]    This application is based on and claims priority under 35 USC 119 from Japanese Patent Application No. 2014-192506 filed Sep. 22, 2014. 
       BACKGROUND 
     Technical Field 
       [0002]    The present invention relates to non-transitory computer readable media, information processing apparatuses, and position conversion methods. 
       SUMMARY 
       [0003]    According to an aspect of the invention, there is provided a non-transitory computer readable medium storing a program that causes a computer to execute a position conversion process. The process includes storing actual layout information and virtual layout information, the actual layout information defining a layout of a first subject within an actual structure, the virtual layout information defining a layout of a second subject within a virtual structure; acquiring a human position within the actual structure; and converting the human position in the actual layout information into the human position in the virtual layout information. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0004]    Exemplary embodiments of the present invention will be described in detail based on the following figures, wherein: 
           [0005]      FIG. 1  schematically illustrates a configuration example of an actual store; 
           [0006]      FIG. 2  is a block diagram illustrating a configuration example of an information processing apparatus according to an exemplary embodiment; 
           [0007]      FIG. 3  schematically illustrates a specific example of virtual-store layout information; 
           [0008]      FIG. 4  schematically illustrates a specific example of actual-store layout information; 
           [0009]      FIG. 5  schematically illustrates a specific example of actual-store human-position information; 
           [0010]      FIG. 6  schematically illustrates a specific example of virtual-store human-position information; 
           [0011]      FIG. 7  schematically illustrates a specific example of movement line information; 
           [0012]      FIGS. 8A and 8B  schematically illustrate examples of movement lines rendered on actual store layouts; 
           [0013]      FIGS. 9A and 9B  schematically illustrate examples of movement lines rendered on virtual store layouts; 
           [0014]      FIG. 10  schematically illustrates an example in which the virtual-store human-position information is displayed as a heat map of a virtual store; 
           [0015]      FIG. 11  schematically illustrates a specific example of behavior pattern information; and 
           [0016]      FIG. 12  illustrates behavior-pattern analysis operation. 
       
    
    
     DETAILED DESCRIPTION 
     Exemplary Embodiments 
       [0017]    Configuration of Actual Store 
         [0018]      FIG. 1  schematically illustrates a configuration example of an actual store. 
         [0019]    An actual store  2  is an example of an enclosed space in which a camera  13  is installed, and is a retail store, such as a convenience store. The actual store  2  has objects (referred to as “subjects” hereinafter) arranged in the actual store  2 , such as multiple products  20   a  to  20   d  placed on shelves, a store entrance  21 , and a cash register  22 . Each of the products  20   a  to  20   d  may indicate a single product, a product category, or a product group displayed on a product shelf. Furthermore, in addition to the above examples, the subjects may include a restroom, a photocopier, a cash dispenser, and an automatic vending machine. Moreover, each of the subjects may be of a stationary type or a type that is movable within the actual store  2 . The actual store  2  is an example of a structure and may be, for example, a shopping mall, a building, an airport, a station, a hospital, a school, or a leisure facility so long as subjects are installed therein. 
         [0020]    In the actual store  2 , a customer  3   a  entering through the entrance  21  looks at and searches through the products  20   a  to  20   d . If the customer  3   a  finds a desired product, the customer  3   a  carries the product to the cash register  22 , where a clerk  4  performs operation and the customer  3   a  pays for the product. When the payment is completed at the cash register  22 , sales data is stored using, for example, a point-of-sale (POS) system. 
         [0021]    In the actual store  2 , the camera  13  is installed. A video image captured by the camera  13  is recognized in an information processing apparatus  1 , which will be described later, and the positions of the subjects are recognized. Moreover, the position of the customer  3   a  is recognized from the video image captured by the camera  13 , and the movement line of the customer  3   a  is also recognized by recording the position thereof in time sequence. The term “video image” refers to a collection of multiple frames (still images) captured in time sequence, and the multiple frames are reproduced in time sequence. 
         [0022]    Although the camera  13  is shown as a single unit in  FIG. 1 , multiple cameras may be prepared. Moreover, as an alternative to a normal camera, an omnidirectional camera may be used. Furthermore, the camera  13  may be of a video-image capturing type or may be of a type that captures still images at predetermined intervals. The position where the camera  13  is installed is pre-registered such that the coordinates in the captured video image correspond to the positional coordinates in the actual store  2 . 
         [0023]    Furthermore, multiple actual stores  2  may exist, in which the products  20   a  to  20   d  are arranged in different layouts or identical layouts. Moreover, the multiple actual stores  2  may have different products laid out therein. 
         [0024]    Configuration of Information Processing Apparatus 
         [0025]      FIG. 2  is a block diagram illustrating a configuration example of an information processing apparatus according to an exemplary embodiment. 
         [0026]    An information processing apparatus  1  includes a controller  10  constituted of, for example, a central processing unit (CPU) that controls each section and executes various kinds of programs, a memory  11  that is constituted of a storage medium, such as a flash memory, and that stores information, a communication section  12  that communicates with the outside via a network, and the camera  13  capable of capturing a video image or a still image of the actual store  2 . 
         [0027]    The controller  10  executes a position conversion program  110 , which will be described later, so as to function as, for example, a virtual-store layout reception unit  100 , a video receiving unit  101 , a subject extracting unit  102 , an actual-store layout generating unit  103 , a human extracting unit  104 , a human-position acquiring unit  105 , a position conversion unit  106 , a movement-line generating unit  107 , a behavior-pattern generating unit  108 , and a behavior-pattern analyzing unit  109 . 
         [0028]    The virtual-store layout reception unit  100  receives virtual-store layout information  111 , which defines the layout of subjects in a virtual store (structure), from, for example, an external terminal apparatus via the communication section  12 . The virtual-store layout information  111  may be preliminarily stored in the memory  11 . The virtual store (structure) may or may not exist as an actual store (structure). 
         [0029]    The video receiving unit  101  receives video information captured and generated by the camera  13 . 
         [0030]    If an image of each pre-registered subject is included in all of or some of the frames in the video information received by the video receiving unit  101 , the subject extracting unit  102  extracts the coordinates of the subject in the actual store  2  together with time information of the frames. With regard to the extraction method, the feature of the pre-registered image is read, and a similar image is extracted by pattern-matching. 
         [0031]    Alternatively, the pre-registered image may be preliminarily converted into a feature amount. For example, a feature amount is obtained by extracting a feature point from an image by difference-of-Gaussians calculation and then extracting a scale-invariant feature transform (SIFT) feature amount from the feature point. Furthermore, with regard to the pre-registered image, a common image may be shared among multiple stores, or a pre-registered image may be stored for each store if it varies from store to store, such as the entrance. 
         [0032]    The actual-store layout generating unit  103  generates actual-store layout information  112  as information related to the layout of the subjects in the actual store  2  based on the coordinates of each subject extracted by the subject extracting unit  102  from all of or some of the frames in the video information received by the video receiving unit  101 . Alternatively, the actual-store layout information  112  may be received from, for example, an external terminal apparatus via the communication section  12  without being extracted from the video information. Specifically, an actual-store layout in which the layout of the subjects is defined by a user may be received. Moreover, as an alternative to the example in which each subject is extracted from the video information, the actual-store layout information  112  may be generated by calculating the position of each subject based on the distance from a receiver by attaching a transmitter to each subject. 
         [0033]    The human extracting unit  104  extracts a human when a human image is included in all of or some of the frames in the video information received by the video receiving unit  101 . If there are multiple humans, the human extracting unit  104  may be configured to identify the multiple humans and to identify a pre-registered human (such as the clerk or a regular customer). 
         [0034]    The human-position acquiring unit  105  acquires the positional coordinates of the human in the actual store  2  extracted by the human extracting unit  104  in time sequence of the frames. As an alternative to the example in which the human is extracted from the video information, the positional coordinates of the human in the actual store  2  may be acquired by installing a device communicable with, for example, a communication terminal (such as a portable telephone) or a card owned by the customer  3   a  or the clerk  4 . Furthermore, by using a positional-information acquisition function (e.g., a global-positioning-system (GPS) function) equipped in the communication terminal, the coordinates of the human in the actual store  2  may be acquired. Although the above description relates to the example in which the position of the human in the actual store  2  is acquired as coordinates, the acquisition mode is not limited to coordinates. 
         [0035]    Furthermore, the human-position acquiring unit  105  converts the positional coordinates acquired from, for example, the video information, the communication terminal, or the card into positional coordinates in a coordinate system similar to that of the actual-store layout information  112  and stores the converted positional coordinates as actual-store human-position information  113  into the memory  11 . If the coordinate system of the positional coordinates acquired from, for example, the video information, the communication terminal, or the card is identical to the coordinate system of the actual-store layout information  112 , the aforementioned conversion may not be performed. 
         [0036]    Based on the subject layout in the virtual-store layout information  111  and the subject layout in the actual-store layout information  112 , the position conversion unit  106  converts the actual-store human-position information  113 , which indicates the positional coordinates of the human in the actual-store layout information  112 , into virtual-store human-position information  114  indicating the positional coordinates of the human in the virtual-store layout information  111  (which will be described in detail later). 
         [0037]    Based on the actual-store human-position information  113  and the virtual-store human-position information  114 , the movement-line generating unit  107  generates movement line information  115  indicating a movement trajectory of each human. 
         [0038]    The behavior-pattern generating unit  108  generates behavior pattern information  116  indicating a human movement pattern based on the virtual-store human-position information  114 . The behavior pattern information  116  may be associated with the sales data obtained at the cash register  22 . 
         [0039]    The behavior-pattern analyzing unit  109  generates a behavior-pattern analysis result  117  by analyzing the behavior pattern information  116  based on information, such as the store location area, sales, and age groups. 
         [0040]    The memory  11  stores, for example, the position conversion program  110  that causes the controller  10  to operate as the above-described units  100  to  109 , the virtual-store layout information  111 , the actual-store layout information  112 , the actual-store human-position information  113 , the virtual-store human-position information  114 , the movement line information  115 , the behavior pattern information  116 , and the behavior-pattern analysis result  117 . The actual-store layout information  112  is an example of actual layout information that defines a subject layout within an actual structure. The virtual-store layout information  111  is an example of virtual layout information that defines a subject layout in a virtual structure. 
         [0041]    Operation of Information Processing Apparatus 
         [0042]    Next, the operation according to this exemplary embodiment will be described by being separated into layout registration operation ( 1 ), human-position extraction operation ( 2 ), and analysis operation ( 3 ). 
         [0043]    1. Layout Registration Operation 
         [0044]    First, the virtual-store layout reception unit  100  receives virtual-store layout information  111  defining the layout of the subjects (second subjects) in the virtual store from, for example, an external terminal apparatus via the communication section  12 . 
         [0045]      FIG. 3  schematically illustrates a specific example of the virtual-store layout information  111 . 
         [0046]    Virtual-store layout information  111   a  is an example of the virtual-store layout information  111  and has the name of each subject and the position indicating the coordinates of the subject. For example, a subject “entrance” is disposed at coordinates (10, 10) in the virtual store, a subject “product A” is disposed at coordinates (100, 100) in the virtual store, and so on. 
         [0047]    Subsequently, the video receiving unit  101  receives video information captured and generated by the camera  13 . 
         [0048]    Then, if an image of each pre-registered subject is included in all of or some of the frames in the video information received by the video receiving unit  101 , the subject extracting unit  102  extracts the coordinates of the subject in the actual store  2 . 
         [0049]    Subsequently, the actual-store layout generating unit  103  generates actual-store layout information  112  as information related to the layout of the subjects in the actual store  2  based on the coordinates of each subject (first subject) extracted by the subject extracting unit  102 . Alternatively, the actual-store layout information  112  may be input in advance. 
         [0050]      FIG. 4  schematically illustrates a specific example of the actual-store layout information  112 . 
         [0051]    Actual-store layout information  112   a  is an example of the actual-store layout information  112  and has the name of each subject and the position indicating the coordinates of the subject for each store. For example, in store  1 , a subject “entrance” is disposed at coordinates (100, 150) in the actual store. In store  2 , a subject “entrance” is disposed at coordinates (190, 20) in the actual store. 
         [0052]    Although the subjects “entrance”, “product A”, “product B”, “product C”, “cash register”, and “restroom” are identical between the virtual-store layout information  111   a  and the actual-store layout information  112   a , that is, the first subjects and the second subjects are identical to each other in this example, the correspondence relationship may be different therebetween. For example, the second subjects in the virtual-store layout information  111   a  may be subjects “entrance”, “product A”, “product B”, “product C”, “cash register”, and “restroom”, whereas the first subjects in the actual-store layout information  112   a  may be subjects “automatic door”, “product a”, “product B”, “product C”, “cash register”, and “lavatory”. In this case, information is stored in which the subjects “entrance” and “automatic door” correspond to each other, the subjects “product a” and “product A” correspond to each other, and the subjects “restroom” and “lavatory” correspond to each other. 
         [0053]    Furthermore, in a case where multiple actual stores are targeted, information is stored in which the first subjects and the second subjects are set in correspondence with each other for each actual store. The first subjects and the second subjects do not necessarily have to correspond to each other in a one-to-one relationship and may alternatively correspond to each other in an n-to-m relationship (n and m each being an integer larger than or equal to 1). 
         [0054]    2. Human-Position Extraction Operation 
         [0055]    Subsequently, the human extracting unit  104  extracts a human when a human image is included in all of or some of the frames in the video information received by the video receiving unit  101 . 
         [0056]    Then, the human-position acquiring unit  105  acquires the coordinates of the human in the actual store  2  extracted by the human extracting unit  104  in time sequence. 
         [0057]    Furthermore, the human-position acquiring unit  105  converts the acquired positional coordinates into positional coordinates in a coordinate system similar to that of the actual-store layout information  112  and stores the converted positional coordinates as actual-store human-position information  113  into the memory  11 . If the coordinate system of the acquired positional coordinates is identical to the coordinate system of the actual-store layout information  112 , the aforementioned conversion may not be performed. 
         [0058]      FIG. 5  schematically illustrates a specific example of the actual-store human-position information  113 . 
         [0059]    Actual-store human-position information  113   a  is an example of the actual-store human-position information  113  and has the acquired time and the position indicating the coordinates in the actual store  1  for each store and each customer. 
         [0060]    The position acquisition time is acquired by, for example, identifying each customer every 30 seconds. 
         [0061]    Subsequently, based on the subject layout in the virtual-store layout information  111  and the subject layout in the actual-store layout information  112 , the position conversion unit  106  converts the actual-store human-position information  113 , which indicates the positional coordinates of the human in the actual-store layout information  112 , into virtual-store human-position information  114  indicating the positional coordinates of the human in the virtual-store layout information  111 . For example, the positional coordinates of the human in the virtual store is determined by using the distance between the positional coordinates of the human and the positional coordinates of multiple subjects in the actual store and also by using the distance between the positional coordinates of the human and the positional coordinates of multiple subjects in the virtual store. Specifically, the positional coordinates of the human in the virtual store may be determined by using a difference between the distance from the positional coordinates of the human to the positional coordinates of the multiple subjects in the actual store and the distance from the positional coordinates of the human to the positional coordinates of the multiple subjects in the virtual store. The difference between these distances is desirably, but not limited to, a minimal value. A specific calculation method will be described later in detail in a description of operation for generating movement line information. 
         [0062]    Instead of the aforementioned distances, the position conversion unit  106  may convert a human position with regard to the first subjects in the actual-store layout information  112  into a human position with regard to the second subjects in the virtual-store layout information  111 . 
         [0063]      FIG. 6  schematically illustrates a specific example of the virtual-store human-position information  114 . 
         [0064]    Virtual-store human-position information  114   a  is an example of the virtual-store human-position information  114  and is converted from the actual-store human-position information  113   a . The virtual-store human-position information  114   a  has the time and the position of each customer for each store. 
         [0065]    Subsequently, the movement-line generating unit  107  generates movement line information  115  indicating a movement trajectory of each human based on the actual-store human-position information  113  and the virtual-store human-position information  114 . 
         [0066]      FIG. 7  schematically illustrates a specific example of the movement line information  115 . 
         [0067]    Movement line information  115   a  is an example of the movement line information  115  and has a customer ID, a movement line ID in an actual store, and a movement ID in the corresponding virtual store. In other words, the movement line information  115   a  is information for setting a movement line in an actual store and a movement line in a virtual store in correspondence with each other. 
         [0068]      FIGS. 8A and 8B  schematically illustrate examples of movement lines rendered on actual store layouts. 
         [0069]      FIG. 8A  displays a movement line  115   r   1  of a certain user in “store  1 ” together with subjects  1120   a  to  1120   d  corresponding to products A to D. 
         [0070]    Likewise,  FIG. 8B  displays a movement line  115   r   2  of a certain user in “store  2 ” together with subjects  1121   a  to  1121   d  corresponding to products A to D. 
         [0071]    Based on the subject layout in the virtual-store layout information  111  and the subject layout in the actual-store layout information  112 , the position conversion unit  106  converts the human movement lines  115   r   1  and  115   r   2  in “actual store  1 ” and “actual store  2 ” into human movement lines in respective virtual stores. 
         [0072]    The position conversion unit  106  may have a smoothing function for smoothing a movement line. By using the smoothing function when converting a point X on a movement line in an actual store into a point Y on a movement line in a virtual store, for example, a difference between the distance from the point X to each subject (first subject) in the actual store and the distance from the point Y to each subject (second subject) in the virtual store may be minimized, and the movement line may be smoothened. Specifically, assuming that the distance from the point X to an i-th subject in the actual store is defined as d i  and the distance from the point Y to the i-th subject in the virtual store is defined as d′ i , the point X on the movement line in the actual store is converted into the point Y in the coordinate system of the virtual store, at which the following cost function L becomes minimal. 
         [0000]    
       
         
           
             
               
                 
                   L 
                   = 
                   
                     
                       
                         
                           ∑ 
                           
                             i 
                             = 
                             1 
                           
                           n 
                         
                          
                         
                           
                             ( 
                             
                               
                                 α 
                                  
                                 
                                     
                                 
                                  
                                 
                                   d 
                                   i 
                                 
                               
                               - 
                               
                                 d 
                                 i 
                                 ′ 
                               
                             
                             ) 
                           
                           2 
                         
                       
                       
                         
                           ∑ 
                           
                             i 
                             = 
                             1 
                           
                           n 
                         
                          
                         
                           d 
                           i 
                           ′2 
                         
                       
                     
                     + 
                     
                       λ 
                        
                       
                          
                          
                       
                        
                       
                         Y 
                          
                         
                           ( 
                           t 
                           ) 
                         
                       
                     
                     - 
                     
                       
                         Y 
                          
                         
                           ( 
                           
                             t 
                             - 
                             1 
                           
                           ) 
                         
                       
                        
                       
                          
                          
                       
                     
                   
                 
               
               
                 
                   ( 
                   1 
                   ) 
                 
               
             
           
         
       
     
         [0073]    In this case, α denotes a factor for adjusting the scale of the coordinates in the actual store to the scale of the coordinates in the virtual store, and is a ratio between the sum of the distances between all subjects in the virtual store and the sum of the distances between all subjects in the actual store. The second term on the right side denotes the distance from the position of a point Y corresponding to one previous time point and the position of a current point Y, and X is a predetermined parameter. A point Y(t) at which the cost function L becomes minimal may be determined based on a maximum gradient descent method with Y(t−1) as an initial value. 
         [0074]      FIGS. 9A and 9B  schematically illustrate examples of movement lines rendered on virtual store layouts. 
         [0075]    As shown in  FIG. 9A , by using numerical expression (1) mentioned above, the movement line  115   r   1  in  FIG. 8A  and the movement line  115   r   2  in  FIG. 8B  are converted into a movement line  115   i   1  and a movement line  115   i   2 , respectively. 
         [0076]    If the movement line  115   r   2  in  FIG. 8B  is converted without using numerical expression (1) above such that the difference between the distance from the positional coordinates of the human to the coordinates of each subject in the actual store and the distance from the positional coordinates of the human to the coordinates of each subject in the virtual store is simply made minimal, a non-smooth movement line  115   i′   2  shown in  FIG. 9B  is obtained. 
         [0077]      FIG. 10  schematically illustrates an example in which the virtual-store human-position information  114  is displayed as a heat map of the virtual store. 
         [0078]    As shown in  FIG. 10 , the virtual store may be segmented into mesh regions, and the time spent in each region may be calculated from the virtual-store human-position information  114  and be displayed as a heat map display  114   b.    
         [0079]    3. Analysis Operation 
         [0080]    Subsequently, the behavior-pattern generating unit  108  generates behavior pattern information  116  indicating a human movement pattern based on the virtual-store human-position information  114 . 
         [0081]    The behavior pattern information  116  is generated by, for example, using movement lines of multiple users in a certain store, segmenting the virtual store into mesh regions, and calculating a probability P (BIA) at which a customer located in a certain region A moves to a region B after a specific time period. The time interval may be adjustable in accordance with the distance between the subjects in the actual store. 
         [0082]      FIG. 11  schematically illustrates a specific example of the behavior pattern information  116 . 
         [0083]    As shown in  FIG. 11 , the behavior pattern information  116  has a vertical item corresponding to the region A and a horizontal item corresponding to the region B and indicates a probability of movement from the region A to the region B. For example, a probability of movement from “region  1 ” to “region  5 ” is 0.12. 
         [0084]    Alternatively, the behavior-pattern generating unit  108  may use behavior patterns as probabilistic transition models and calculate the degree of similarity between the behavior patterns by calculating the likelihood between the behavior patterns. 
         [0085]    Subsequently, the behavior-pattern analyzing unit  109  generates a behavior-pattern analysis result  117 . The analysis is performed based on various viewpoints, such as the store location area, sales, and age groups. 
         [0086]    For example, the behavior-pattern analyzing unit  109  searches for a certain movement line in the movement line information  115  based on the store name, time, sales, and so on as conditions, and displays the movement line on a virtual store map. 
         [0087]      FIG. 12  illustrates behavior-pattern analysis operation. A behavior-pattern analysis screen  109   a  shown in  FIG. 12  is a screen displayed on a display (not shown) of the information processing apparatus  1  by the behavior-pattern analyzing unit  109  or on a display of an external terminal connected via the communication section  12 . The behavior-pattern analysis screen  109   a  has a search-condition input frame  109   a   1  for inputting a movement-line search condition, a search button  109   a   2  for executing a search based on the condition input to the search-condition input frame  109   a   1 , an attribute display field  109   a   3  showing movement-line attributes as a search result, and a movement-line display field  109   a   4  displaying a movement line or lines as a search result or results together with the layout of the virtual store. The movement-line display field  109   a   4  has subjects  1100   a  to  1100   d  laid out therein, as well as movement lines  117   a  and  117   b  as search results. 
         [0088]    As shown in  FIG. 12 , the behavior-pattern analyzing unit  109  may display the multiple movement lines as search results in a superposed manner on a single virtual store map or may display the multiple movement lines on different virtual store maps. For example, as shown in  FIG. 12 , a user may analyze the difference between the displayed movement lines  117   a  and  117   b  by comparing a movement line in a store with poor sales in “area A” (sales of 3,000,000) with a movement line in a store with high sales (sales of 10,000,000) and ascertaining that there is a problem in one of the movement lines. 
         [0089]    Furthermore, the behavior-pattern analyzing unit  109  may search for a store having a similar behavior pattern by using the behavior pattern information  116   b  and display the store on the behavior-pattern analysis screen  109   a , or may categorize the store based on the behavior pattern and display the store on the behavior-pattern analysis screen  109   a . Moreover, the behavior-pattern analyzing unit  109  may display how the behavior pattern changes in different time periods of a single store. 
         [0090]    Effects of Exemplary Embodiment 
         [0091]    According to the above exemplary embodiment, based on the subject layout in the virtual-store layout information  111  and the subject layout in the actual-store layout information  112 , a human position acquired in the actual store  2  is converted into a position in the virtual store. Thus, a position of a customer in the actual-store layout information  112  may be converted into a position in the virtual-store layout information  111  having a different layout. 
         [0092]    Furthermore, based on the subject layout in the virtual-store layout information  111  and the subject layout in the actual-store layout information  112 , a trajectory of a human position acquired in the actual store  2  is converted into a trajectory in the virtual store. Thus, the behavior (movement line) of a customer in the actual store may be converted into the behavior (movement line) in the virtual store having a different layout. Moreover, by employing numerical expression (1), the movement line may be smoothened. 
         [0093]    Furthermore, since movement lines in multiple actual stores are displayed on a single virtual layout, movement lines in multiple actual stores with different subject layouts may be compared with each other. 
       Other Exemplary Embodiments 
       [0094]    The present invention is not limited to the above exemplary embodiment and may permit various modifications so long as they are within the spirit of the invention. 
         [0095]    In the above exemplary embodiment, the human position or behavior in the actual store  2  is converted into the position or behavior in the virtual store having a different layout. As an alternative to the actual store  2 , the human behavior in a structure may be converted into the behavior in a virtual structure having a different layout. Examples of the structure include a shopping mall, a building, an airport, a station, a hospital, a school, and a leisure facility. Moreover, the structure may be of a movable type, such as an airplane or a marine vessel. In the case of one of these structures, subjects may be appropriately employed in accordance with the structure, such as a retail store or a restaurant within the structure. Furthermore, as an alternative to the position or behavior of a customer, the exemplary embodiment of the present invention may be similarly applied to, for example, a clerk, a student, or a tourist. 
         [0096]    In the above exemplary embodiment, the functions of the units  100  to  109  of the controller  10  are implemented by a program. Alternatively, all of or some of the units may be implemented by hardware, such as an application specific integrated circuit (ASIC). Moreover, the program used in the above exemplary embodiment may be provided by being stored in a storage medium, such as a compact disc read-only memory (CD-ROM). Furthermore, for example, the steps described in the above exemplary embodiment may be interchanged or deleted, or may have an additional step or steps added thereto within a scope that does not alter the spirit of the invention. 
         [0097]    The foregoing description of the exemplary embodiments of the present invention has been provided for the purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise forms disclosed. Obviously, many modifications and variations will be apparent to practitioners skilled in the art. The embodiments were chosen and described in order to best explain the principles of the invention and its practical applications, thereby enabling others skilled in the art to understand the invention for various embodiments and with the various modifications as are suited to the particular use contemplated. It is intended that the scope of the invention be defined by the following claims and their equivalents.