Information processing device, information processing method, and program
The information processing device uses linear and rotational movement detection units to calculate user orientation accurately, addressing the challenge of unrestricted movement tracking.
Patent Information
- Application Number
- JP2022540174
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2020-07-31
- Filing Date
- 2021-07-15
- Publication Date
- 2025-08-13
- Estimated Expiration
- 2041-07-15
AI Technical Summary
Existing systems struggle to accurately detect the position and orientation of a user when there are no restrictions on the movement route, such as in a ticket gate.
An information processing device that includes a linear movement detection unit to determine straight-line movement, a rotational movement detection unit to detect orientation changes, and a calculation unit to calculate orientation based on these detections.
Accurately detects user position and orientation without route restrictions, enabling precise tracking of user movements in various environments.
Smart Images

Figure 0007722375000002 
Figure 0007722375000003 
Figure 0007722375000004
Abstract
Description
[Technical Field]
[0001] The present disclosure relates to an information processing device, an information processing method, and a program. [Background technology]
[0002] Conventionally, there have been proposed cases in which customer behavior analysis is performed by detecting the position and orientation of a user. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Patent No. 6012204 Summary of the Invention [Problem to be solved by the invention]
[0004] In Patent Document 1, the user's traveling direction and position information are calibrated when the user passes through a ticket gate whose position is known in advance.
[0005] However, there is a problem in that it is difficult to accurately detect the position and orientation of a user when there are no restrictions on the movement route, such as in a ticket gate.
[0006] The present disclosure proposes an information processing device, an information processing method, and a program that can accurately detect the position and orientation of a user even when there are no restrictions on the movement route. [Means for solving the problem]
[0007] In order to solve the above problems, one form of information processing device according to the present disclosure is an information processing device that includes a linear movement detection unit that determines whether the user is moving in a straight line based on the user's position measured at a predetermined time interval, and detects the amount of movement and direction of the user's linear movement, a rotational movement detection unit that detects the amount of change in the user's orientation, and, when the linear movement detection unit determines that the user is moving in a straight line, a calculation unit that calculates the orientation of the user at the position determined to be moving in a straight line based on the detection result of the rotational movement detection unit. [Brief explanation of the drawings]
[0008] [Figure 1] 1 is a block diagram showing an example of a schematic configuration of a behavior measurement system according to a first embodiment. [Figure 2] FIG. 2 is a block diagram illustrating an example of a hardware configuration of a mobile terminal according to the first embodiment. [Figure 3] 1 is a block diagram showing an example of a hardware configuration of a behavior measurement apparatus according to a first embodiment. [Figure 4] 1 is a functional block diagram illustrating an example of a functional configuration of a behavior measurement apparatus according to a first embodiment. [Figure 5] FIG. 1 is a diagram illustrating an example of an application scene of the behavior measurement system according to the first embodiment. [Figure 6] FIG. 1 is a first diagram illustrating a method for detecting linear movement. [Figure 7] FIG. 10 is a second diagram illustrating a method for detecting linear movement. [Figure 8] FIG. 10 is a diagram illustrating a method for detecting the orientation of a user. [Figure 9] 4 is a flowchart showing an example of the flow of processing performed by the behavior measurement system of the first embodiment. [Figure 10] 10 is a flowchart illustrating an example of the flow of a linear movement detection process. [Figure 11] FIG. 10 is a diagram illustrating an outline of a learning process performed by a behavior measurement apparatus according to a second embodiment. [Figure 12]FIG. 10 is a functional block diagram illustrating an example of the functional configuration of a behavior measurement apparatus according to a second embodiment. [Figure 13] 10 is a flowchart showing an example of the flow of processing performed by the behavior measurement system of the second embodiment. [Figure 14] FIG. 10 is a diagram illustrating an outline of processing performed by a behavior measurement apparatus according to a third embodiment. [Figure 15] FIG. 10 is a functional block diagram illustrating an example of the functional configuration of a behavior measurement apparatus according to a third embodiment. [Figure 16] 11 is a flowchart showing an example of the flow of a linear movement detection process performed by the behavior measurement system of the third embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0009] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the drawings. In the following embodiments, the same components are designated by the same reference numerals, and redundant description will be omitted.
[0010] The present disclosure will be described in the following order. 1. First embodiment 1-1. Overview of the behavioral measurement system 1-2. Hardware configuration of the behavioral measurement system 1-3. Functional configuration of the behavior measurement device 1-4. Operation of the behavioral measurement device 1-5. How to calculate the direction of movement 1-6. How to calculate the direction 1-7. Processing flow of the behavioral measurement device 1-8. Effects of the First Embodiment 2. Second embodiment 2-1. Overview of the behavioral measurement device 2-2. Functional configuration of the behavior measurement device 2-3. Processing flow of the behavioral measurement device 2-4. Effects of the Second Embodiment 3. Third embodiment 3-1. Overview of the behavioral measurement device 3-2. Functional configuration of the behavior measurement device 3-3. Processing flow of the behavioral measurement device 3-4. Effects of the Third Embodiment 4. Application Examples of the Disclosure
[0011] (1. First embodiment) [1-1. Overview of the behavioral measurement system] First, an overview of a behavior measurement system 10a to which the present disclosure is applied will be described with reference to Fig. 1. Fig. 1 is a block diagram showing an example of a schematic configuration of a behavior measurement system according to a first embodiment.
[0012] As shown in FIG. 1, a behavior measurement system 10a includes a behavior measurement device 20a and a mobile terminal 50.
[0013] The behavior measurement device 20a measures the movement of a user who carries the mobile terminal 50. The user movement measured by the behavior measurement device 20a is time-series information including the current location of the user and the direction (orientation) in which the user is facing.
[0014] The mobile terminal 50 is carried by a user and detects information related to the user's movement. The mobile terminal 50 includes a magnetic sensor 52, an acceleration sensor 54, and a gyro sensor 56. The mobile terminal 50 is, for example, a smartphone.
[0015] The magnetic sensor 52 outputs the position (x, y, z) of the magnetic sensor 52 using magnetic force. The magnetic sensor 52 may be, for example, a type that detects a relative position from a source coil by detecting a magnetism generated by the source coil. The magnetic sensor 52 may also be a type that detects the absolute position of the magnetic sensor 52 by detecting the geomagnetism. Generally, a magnetic map or geomagnetic map measured in advance is prepared, and the current position is detected by comparing the measurement results of the magnetic sensor 52 with the magnetic map or geomagnetic map.
[0016] Various magnetic sensors based on various measurement principles have been proposed for the magnetic sensor 52, and any of these may be used. For example, the magnetic sensor 52 may be one that detects the magnetic state by detecting a Hall voltage generated when a magnetic field is applied to a Hall element. Alternatively, the magnetic sensor 52 may be one that detects the magnetic state by detecting a change in electrical resistance when a magnetic field is applied to an MR element.
[0017] The mobile terminal 50 may be provided with other positioning functions instead of the magnetic sensor 52. For example, the mobile terminal 50 may have a built-in GPS (Global Positioning System) receiver to perform positioning. Alternatively, the mobile terminal 50 may perform positioning based on the strength of radio waves received from a Wi-Fi (registered trademark) router, a Bluetooth beacon, or the like installed at a known location.
[0018] The acceleration sensor 54 detects acceleration occurring in the mobile device 50. Acceleration is a vector quantity having a magnitude and a direction. The acceleration sensor 54 is a sensor that measures acceleration by detecting, for example, changes in the electrical resistance of a strain gauge. When detecting the current position of the mobile device 50 based on the output of the magnetic sensor 52, the behavior measurement device 20a uses the output of the acceleration sensor 54 to improve processing efficiency. For example, the current position of the magnetic sensor 52 is near the position obtained by adding a value based on the magnitude and direction of the acceleration detected by the acceleration sensor 54 to the previous position of the mobile device 50 detected by the magnetic sensor 52. Therefore, by referring to the output of the acceleration sensor 54, the current position of the mobile device 50 can be detected more efficiently.
[0019] The gyro sensor 56 detects an angular velocity ω generated in the mobile device 50. The gyro sensor 56 is, for example, a vibration gyro. The vibration gyro detects the angular velocity ω based on the Coriolis force applied to a vibrating object. The angular velocity ω represents the degree of change in orientation when an object rotates, i.e., the speed of change in orientation. The gyro sensor 56 is a so-called differential sensor that outputs a signal only when an angular velocity ω occurs. The behavior measurement device 20a calculates the amount of change in orientation of the mobile device 50 incorporating the gyro sensor 56 by integrating the output of the gyro sensor 56, i.e., the angular velocity ω, transmitted from the mobile device 50. This will be described in detail later. The mobile device 50 itself may integrate the output of the gyro sensor 56 to calculate the orientation of the mobile device 50 and transmit the calculated orientation to the behavior measurement device 20a. When detecting the current location of the mobile device 50, the output of the gyro sensor 56 may also be used, similar to the output of the acceleration sensor 54, to improve the efficiency of the process of detecting the current location.
[0020] 1, the behavior measurement device 20a is connected to only one mobile terminal 50, but the behavior measurement device 20a may be connected to multiple mobile terminals 50. The behavior measurement device 20a can then simultaneously measure the movements of multiple users who carry the mobile terminals 50. In this case, the mobile terminal 50 transmits identification information for identifying itself and the outputs of the sensors described above to the behavior measurement device 20a. The mobile terminal 50 itself may also be configured to have the behavior measurement device 20a built in.
[0021] Furthermore, the magnetic sensor 52, acceleration sensor 54, and gyro sensor 56 may be built into a wearable device or an accessory such as a key holder.
[0022] [1-2. Hardware configuration of the behavioral measurement system] Next, the hardware configuration of the behavior measurement system 10a of the first embodiment will be described with reference to Figures 2 and 3. Figure 2 is a block diagram showing an example of the hardware configuration of a mobile terminal of the first embodiment. Figure 3 is a block diagram showing an example of the hardware configuration of a behavior measurement device of the first embodiment.
[0023] The mobile terminal 50 has a configuration in which a CPU (Central Processing Unit) 60, a RAM (Random Access Memory) 61, a ROM (Read Only Memory) 62, a communication controller 63, and an input / output controller 64 are connected by an internal bus 65.
[0024] The CPU 60 controls the overall operation of the mobile terminal 50 by expanding a control program stored in the ROM 62 onto the RAM 61 and executing it. That is, the mobile terminal 50 has the configuration of a typical computer that operates according to a control program. The control program may be provided via a wired or wireless transmission medium such as a local area network, the Internet, or digital satellite broadcasting. The mobile terminal 50 may also execute a series of processes using hardware. The control program executed by the CPU 60 may be a program that executes processes in chronological order according to the order described in this disclosure, or may be a program that executes processes in parallel or at a required timing, such as when called.
[0025] The communication controller 63 communicates with the behavior measurement apparatus 20a via wireless communication. More specifically, the communication controller 63 transmits the outputs of various sensors acquired by the mobile terminal 50 to the behavior measurement apparatus 20a.
[0026] The input / output controller 64 connects the CPU 60 to various input / output devices. Specifically, the input / output controller 64 is connected to the magnetic sensor 52, acceleration sensor 54, and gyro sensor 56, all of which are described above. The input / output controller 64 is also connected to a storage device 66 that temporarily stores the outputs of the sensors. The input / output controller 64 is further connected to an operation device 67, such as a touch panel, that issues operation instructions to the mobile terminal 50, and a display device 68, such as a liquid crystal monitor, that displays information.
[0027] The behavior measurement device 20a also has a configuration in which a CPU 30, a RAM 31, a ROM 32, a communication controller 33, and an input / output controller 34 are connected by an internal bus 35.
[0028] The CPU 30 controls the overall operation of the behavior measurement device 20a by expanding a control program stored in the ROM 32 onto the RAM 31 and executing it. That is, the behavior measurement device 20a has the configuration of a typical computer that operates according to a control program. The control program may be provided via a wired or wireless transmission medium such as a local area network, the Internet, or digital satellite broadcasting. The behavior measurement device 20a may also execute a series of processes using hardware. The control program executed by the CPU 30 may be a program that executes processes chronologically according to the order described in this disclosure, or may be a program that executes processes in parallel or at the required timing, such as when called.
[0029] The communication controller 33 communicates with the mobile terminal 50 via wireless communication. More specifically, the communication controller 33 receives outputs of various sensors from the mobile terminal 50.
[0030] The input / output controller 34 connects the CPU 30 to various input / output devices. Specifically, the input / output controller 34 is connected to a storage device 36 that temporarily stores outputs of various sensors received from the mobile terminal 50. Furthermore, the input / output controller 34 is connected to an operation device 37, such as a touch panel or keyboard, that issues operation instructions to the behavior measurement device 20a, and a display device 38, such as a liquid crystal monitor, that displays information.
[0031] [1-3. Functional configuration of behavior measurement device] Next, the functional configuration of the behavior measurement device 20a according to the first embodiment will be described with reference to Fig. 4. Fig. 4 is a functional block diagram showing an example of the functional configuration of the behavior measurement device according to the first embodiment. The CPU 30 of the behavior measurement device 20a deploys a control program on the RAM 31 and runs it, thereby realizing a sensor signal acquisition unit 40, a positioning processing unit 41, a rotational movement detection unit 42, an orientation calculation unit 43, a linear movement detection unit 44, an adder 45, and a motion control unit 49 as functional units shown in Fig. 4.
[0032] The sensor signal acquisition unit 40 acquires outputs from the magnetic sensor 52 , the acceleration sensor 54 , and the gyro sensor 56 from the mobile terminal 50 .
[0033] The positioning processing unit 41 detects the current position of the mobile terminal 50, i.e., the user 90. Specifically, the positioning processing unit 41 detects the current position of the mobile terminal 50 based on the output of the magnetic sensor 52, the output of the acceleration sensor 54, and the output of the gyro sensor 56 acquired by the sensor signal acquisition unit 40. The detected current position of the mobile terminal 50 is associated with the time when the current position was acquired and stored in the storage device 36. The storage device 36 functions as a first-in first-out (FIFO) memory. That is, the storage device 36 stores a predetermined number of positions of the mobile terminal 50 (a predetermined time range). This will be described in more detail later.
[0034] The rotational movement detection unit 42 detects the amount of change in the orientation of the mobile terminal 50. Specifically, the rotational movement detection unit 42 calculates an integrated value of the angular velocity ω output by the gyro sensor 56 of the mobile terminal 50. A method for calculating the integrated value of the angular velocity ω will be described in detail later (see FIG. 8). Note that, since the mobile terminal 50 is held by the user 90, the integrated value of the angular velocity ω of the mobile terminal 50 detected by the rotational movement detection unit 42 matches the amount of change in the orientation of the user 90.
[0035] When it is determined based on the detection result of the linear movement detection unit 44 that the user 90 is moving linearly, that is, when a linear movement detection signal described later is input from the linear movement detection unit 44, the orientation calculation unit 43 calculates the orientation of the user 90 at the position where it is determined that the user 90 is moving linearly, based on the movement direction of the user 90 and the integrated value of the angular velocity ω detected by the rotational movement detection unit 42. A specific method for calculating the orientation of the user 90 will be described later (see FIG. 8).
[0036] Furthermore, when the linear movement detection unit 44 does not determine that the user 90 is moving linearly, the orientation calculation unit 43 calculates the orientation of the user based on the history of the current position of the user 90 calculated by the positioning processing unit 41. This will be described in detail later.
[0037] The linear movement detection unit 44 determines whether the user 90 is moving in a straight line based on the position of the mobile device 50 (the position of the user 90 carrying the mobile device 50) measured at a predetermined time interval. Furthermore, the linear movement detection unit 44 detects the amount and direction of linear movement of the user 90 when it is determined that the user 90 is moving in a straight line. Furthermore, when it is determined that the user 90 is moving in a straight line, the linear movement detection unit 44 outputs a linear movement detection signal indicating that the user 90 is moving in a straight line to the orientation calculation unit 43. Note that, when it is determined that the position of the user 90 carrying the mobile device 50 has moved in a straight line after the behavior measurement device 20a starts processing, the linear movement detection unit 44 stores the determination that linear movement has occurred.
[0038] The adder 45 adds the integrated value W (see FIG. 8) of the angular velocity ω output by the rotational movement detector 42 and the movement direction θ0 of the user 90 output by the linear movement detector 44 (see FIG. 8).
[0039] The movement control unit 49 controls the progress of the entire process performed by the behavior measurement device 20a.
[0040] [1-4. Operation of the behavioral measurement device] Next, the operation performed by the behavior measurement device 20a of the first embodiment will be described in detail with reference to Fig. 5. Fig. 5 is a diagram illustrating an example of a scene in which the behavior measurement system of the first embodiment is applied.
[0041] 5 shows a situation in which a user 90 carrying a mobile terminal 50 is shopping in a general store while walking among shelves 80a, 80b, 80c, 80d, 80e, and 80f on which products are displayed, which are arranged in the store. The behavior measurement system 10a measures the behavior (movement trajectory and direction) of the user 90 in such a scene, thereby analyzing the behavior of the user 90 while shopping and improving the method of displaying products, etc.
[0042] 5, user 90 generally searches for products displayed on shelves 80a, 80b, 80c, 80d, 80e, and 80f while moving in a straight line along shelves 80a, 80b, 80c, 80d, 80e, and 80f. That is, user 90 moves, for example, along movement path 82. And, because user 90 carries mobile terminal 50 by putting it in a pocket, mobile terminal 50 also moves along movement path 82, the same as user 90.
[0043] Then, the behavior measurement device 20a detects that the user 90 has moved along the movement route 82 by tracing the current position of the mobile device 50. Specifically, the behavior measurement device 20a detects the movement route of the user 90 based on the outputs of the magnetic sensor 52, the acceleration sensor 54, and the gyro sensor 56. At this time, the difference between the current positions of the mobile device 50 at different times represents the amount and direction of movement of the user 90.
[0044] While moving, user 90 turns his / her body toward shelves 80a, 80b, 80c, 80d, 80e, and 80f to search for products displayed on the shelves. At this time, mobile terminal 50 carried by user 90 also changes its orientation in accordance with the change in the orientation of user 90's body.
[0045] Therefore, the direction obtained by adding the integrated value of the angular velocity detected by the gyro sensor 56 to the moving direction of the user 90 detected at that time is considered to be the orientation of the user 90.
[0046] [1-5. How to calculate the direction of movement] Next, a method for calculating the movement direction of the user 90 by the behavior measurement device 20a of the first embodiment will be described with reference to Fig. 6 and Fig. 7. Fig. 6 is a first diagram illustrating a method for detecting linear movement. Fig. 7 is a second diagram illustrating a method for detecting linear movement.
[0047] The linear movement detection unit 44 detects whether the user 90 carrying the mobile terminal 50 is moving linearly based on the position information of the mobile terminal 50 detected at different times. For example, when the user 90 is moving along the Y axis in FIG. 6, positions P(T_n), P(T_n-1), P(T_n-2), P(T_n-3), P(T_n-4), and P(T_n-5) of the mobile terminal 50 are detected at times T_n, T_n-1, T_n-2, T_n-3, T_n-4, and T_n-5. Note that n indicates the timing at which the position P was acquired. In the following description, these positions may be collectively referred to simply as position P.
[0048] At this time, the linear movement detection unit 44 determines that the user 90 carrying the mobile terminal 50 is moving in a straight line, on the condition that, among positions P(T_n), P(T_n-1), P(T_n-2), P(T_n-3), P(T_n-4), P(T_n-5) of, for example, the past six points (an example of a predetermined number of times) including the current time T_n, the distance difference values d(T_n), d(T_n-1), d(T_n-2), d(T_n-3), d(T_n-4) of adjacent positions are all equal to or greater than a threshold value dth (for example, 30 cm), and that the positions P(T_n), P(T_n-1), P(T_n-2), P(T_n-3), P(T_n-4), P(T_n-5) are all within a predetermined detection range R. These positions P are stored in the storage device 36, which is a FIFO memory, and whenever a position P at a new time t is acquired, the position P at the old time t is deleted. The threshold value dth is an example of a first predetermined value in this application. The detection range R is an example of a predetermined area in this application. The number of past positions P to be referenced may be set appropriately depending on the type of behavior measured by the behavior measurement device 20a, etc.
[0049] The number of past positions P(T_n) to be referenced, the threshold value of the distance difference value d(T_n), and the shape of the detection range R are set appropriately depending on the actual situation in which the behavior measurement system 10a is applied.
[0050] The linear movement detection unit 44 sets a detection range R for determining linear movement, as shown in FIG. 7, for example. The left diagram of FIG. 7 shows an example in which, when the distance difference value d(T_n) between positions P(T_n) and P(T_n-1) of the mobile device 50 at times T_n and T_n-1 is equal to or greater than the threshold value, a rectangular area of width H along an axis 84a extending from position P(T_n-1) to position P(T_n) is set as the detection range Ra. The right diagram of FIG. 7 shows an example in which, when the distance difference value d(T_n) between positions P(T_n) and P(T_n-1) of the mobile device 50 at times T_n and T_n-1 is equal to or greater than the threshold, an isosceles triangular area with an apex angle K as the bisector is an axis 84b extending from position P(T_n-1) to position P(T_n). The shape of the range to be set can be determined depending on the actual situation in which the behavior measurement system 10a is used.
[0051] [1-6. Orientation calculation method] Next, a method for detecting the user's orientation will be described with reference to Fig. 8. Fig. 8 is a diagram for explaining the method for detecting the user's orientation. In particular, Fig. 8 shows the history of the past six positions P when the linear movement detection unit 44 determines that the user 90 is moving linearly.
[0052] Assume that positions P(T_n), P(T_n-1), P(T_n-2), P(T_n-3), P(T_n-4), and P(T_n-5) of the mobile terminal 50 and angular velocities ω(T_n), ω(T_n-1), ω(T_n-2), ω(T_n-3), ω(T_n-4), and ω(T_n-5) of the mobile terminal 50 (gyro sensor 56) are measured at times T_n, T_n-1, T_n-2, T_n-3, T_n-4, and T_n-5, respectively. It is desirable to measure the position P and the angular velocity ω at the same time. However, if the two measurements are obtained at different times, the angular velocity ω at the same time as the measurement of the position P can be estimated, for example, by interpolating the angular velocity ω. For simplicity, the following description assumes that the position P and the angular velocity ω are measured simultaneously at a sampling time Δt.
[0053] The linear movement detection unit 44 determines that the user 90 is moving linearly when the positions P(T_n), P(T_n-1), P(T_n-2), P(T_n-3), P(T_n-4), and P(T_n-5) of the mobile terminal 50 satisfy the conditions described in Fig. 6. The direction of the linear movement is then set to the movement direction θ0 from the position P(T_n-5) toward the position P(T_n).
[0054] Furthermore, the rotational movement detection unit 42 calculates an integrated value W of the angular velocities ω(T_n), ω(T_n-1), ω(T_n-2), ω(T_n-3), ω(T_n-4), and ω(T_n-5) output by the gyro sensor 56 of the mobile terminal 50. That is, the integrated value W is expressed by equation (1). Note that the sampling time of the gyro sensor 56 is assumed to be Δt. Furthermore, equation (1) is an example showing a method of calculating the integrated value W based on the past six positions P, and the number of past positions P to be used is set appropriately.
[0055]
number
[0056] If the integrated value W exceeds 360°, the integrated value W is reset to W-360°. If the integrated value W falls below -360°, the integrated value W is reset to W+360°.
[0057] Then, when the linear movement detection unit 44 detects linear movement of the mobile terminal 50, the orientation calculation unit 43 calculates the orientation θ(T_n) of the user 90 by adding the movement direction θ0 and the integrated value W of the angular velocity ω in the addition unit 45. That is, the orientation θ(T_n) of the user 90 is expressed by equation (2).
[0058] θ(T_n)=θ0+W (2)
[0059] The above-described reset operation is also performed when the user's orientation θ(T_n) exceeds 360° or when the user's orientation θ(T_n) falls below −360°.
[0060] Next, a process performed by the orientation calculation unit 43 when the linear movement detection unit 44 does not determine that the user 90 is moving linearly and when it has been determined that the user 90 has moved linearly in the past will be described.
[0061] In this way, if a linear movement detection signal is not currently input to the linear movement detection unit 44, but a linear movement detection signal has been input in the past, the value obtained by adding ω(T_n)Δt to the user's orientation θ(T_n-1) from one point in time before, i.e., the previous time, is set to be the user's orientation θ(T_n) at the current time. That is, the user's orientation θ(T_n) is expressed by equation (3).
[0062] θ(T_n)=θ(T_n-1)+ω(T_n)Δt···(3)
[0063] Next, a process performed by the orientation calculation unit 43 when the linear movement detection unit 44 does not determine that the user 90 is moving linearly and when it has not been determined that the user 90 has moved linearly in the past will be described.
[0064] In such a case, no linear movement detection signal has ever been input to the orientation calculation unit 43. In this case, the orientation calculation unit 43 determines the value output from the magnetic sensor 52 as the movement direction θ1 (not shown) of the user 90.
[0065] Then, the orientation calculation unit 43 determines the movement direction θ1 as the orientation θ(T_n) of the user 90.
[0066] Note that if the gyro sensor 56 is operated for a long time, drift errors may accumulate, which may result in a deterioration in measurement accuracy. For this reason, it is desirable to appropriately reset the output of the gyro sensor 56. In this embodiment, for example, the gyro sensor 56 is reset when the integrated value W is calculated. Note that the gyro sensor 56 may be reset every time the integrated value W is calculated a predetermined number of times, or may be reset when the operating time of the gyro sensor 56 reaches a predetermined time.
[0067] [1-7. Processing flow of the behavioral measurement device] Next, the flow of processing performed by the behavior measurement system 10a of the first embodiment will be described with reference to Fig. 9 and Fig. 10. Fig. 9 is a flowchart showing an example of the flow of processing performed by the behavior measurement system of the first embodiment. Fig. 10 is a flowchart showing an example of the flow of linear movement detection processing.
[0068] The positioning processing unit 41, linear movement detection unit 44, orientation calculation unit 43, rotational movement detection unit 42, and addition unit 45 operate in cooperation with one another under the control of the operation control unit 49. First, the flow of processing performed by the positioning processing unit 41, linear movement detection unit 44, orientation calculation unit 43, and addition unit 45 will be described.
[0069] The linear movement detection unit 44 performs linear movement detection processing (step S11). The linear movement detection processing will be described in detail later (see FIG. 10).
[0070] The linear movement detection unit 44 determines whether the position P of the mobile terminal 50 has moved linearly, by referring to the result of the linear movement detection process performed in step S11 (step S12). If it is determined that the position P of the mobile terminal 50 has moved linearly (step S12: Yes), the process proceeds to step S13. On the other hand, if it is not determined that the position P of the mobile terminal 50 has moved linearly (step S12: No), the process proceeds to step S16.
[0071] If the determination in step S12 is Yes, the linear movement detection unit 44 calculates the movement direction θ0 of the mobile terminal 50 (step S13).
[0072] Next, the adder 45 acquires the integrated value W of the angular velocity ω from the rotational movement detector 42 (step S14).
[0073] The orientation calculation unit 43 acquires the result of the addition by the adder 45 of the movement direction θ0 and the integrated value W of the angular velocity ω, and sets the result as the orientation θ of the user 90 (step S15).
[0074] The operation control unit 49 determines whether an instruction to end the process has been issued (step S21). If it is determined that an instruction to end the process has been issued (step S21: Yes), the process proceeds to step S22. On the other hand, if it is not determined that an instruction to end the process has been issued (step S21: No), the process proceeds to step S23.
[0075] If the determination in step S21 is Yes, the movement control unit 49 transmits an instruction to end the process to the rotational movement detection unit 42 (step S22). Thereafter, the behavior measurement apparatus 20a ends the process of FIG.
[0076] On the other hand, if the determination in step S21 is No, the linear movement detection unit 44 increments n, which indicates the timing of acquiring the position P (step S23). After that, the process returns to step S11, and the above-described processing is repeated.
[0077] Returning to step S12, if the determination in step S12 is No, the linear movement detection unit 44 determines whether the position P of the portable terminal 50 has moved linearly in the past (step S16). If it is determined that the position P of the portable terminal 50 has moved linearly in the past (step S16: Yes), the process proceeds to step S17. On the other hand, if it is determined that the position P of the portable terminal 50 has not moved linearly in the past (step S16: No), the process proceeds to step S19.
[0078] If the determination in step S16 is Yes, the orientation calculation unit 43 acquires the angular velocity ω(T_n) from the rotational movement detection unit 42 (step S17).
[0079] Then, the orientation calculation unit 43 determines the sum of the previous orientation θ of the user 90 and the integrated value of the angular velocity ω(T_n) and the sampling time Δt as the current orientation θ of the user 90 (step S18). Then, the process proceeds to step S21.
[0080] On the other hand, if the determination in step S16 is No, the positioning processing unit 41 calculates the moving direction θ1 of the portable terminal 50 (step S19).
[0081] Then, the orientation calculation unit 43 determines the movement direction θ1 as the orientation θ of the user 90 (step S20). After that, the process proceeds to step S21.
[0082] Here, the flow of the linear movement detection process will be described with reference to FIG.
[0083] The linear movement detection unit 44 obtains the positions P(T_n-5), P(T_n-4), P(T_n-3), P(T_n-2), P(T_n-1), and P(T_n) of the mobile terminal 50 from the positioning processing unit 41 (step S41).
[0084] The linear movement detection unit 44 determines whether the distance between the positions P(T_n-5) and P(T_n-4) is equal to or greater than the threshold value dth (step S42). If it is determined that the distance between the positions P(T_n-5) and P(T_n-4) is equal to or greater than the threshold value dth (step S42: Yes), the process proceeds to step S43. On the other hand, if it is not determined that the distance between the positions P(T_n-5) and P(T_n-4) is equal to or greater than the threshold value dth (step S42: No), the process proceeds to step S47.
[0085] If the result of the determination in step S42 is Yes, the linear movement detection unit 44 sets a detection range R for determining whether the mobile terminal 50 is moving linearly, based on the position P(T_n-5) and the position P(T_n-4) (step S43).
[0086] Next, the linear movement detection unit 44 determines whether the positions P(T_n-4) and P(T_n-3), P(T_n-3) and P(T_n-2), P(T_n-2) and P(T_n-1), and P(T_n-1) and P(T_n) are all separated by a threshold value dth or more (step S44). If it is determined that all are separated by a threshold value dth or more (step S44: Yes), the process proceeds to step S45. On the other hand, if it is not determined that all are separated by a threshold value dth or more (step S44: No), the process proceeds to step S47.
[0087] If the determination in step S44 is Yes, the linear movement detection unit 44 determines whether the positions P(T_n-3), P(T_n-2), P(T_n-1), and P(T_n) are all within the detection range R (step S45). If it is determined that all are within the detection range R (step S45: Yes), the process proceeds to step S46. On the other hand, if it is not determined that all are within the detection range R (step S45: No), the process proceeds to step S47.
[0088] If the determination in step S45 is Yes, the linear movement detection unit 44 determines that the position P of the mobile terminal 50 is moving linearly (step S46), and then returns to the main routine of FIG.
[0089] On the other hand, if the determinations in steps S42, S44, and S45 are No, the linear movement detection unit 44 determines that the position P of the mobile terminal 50 has not moved linearly (step S47). Then, the process returns to the main routine of FIG.
[0090] 9, we will explain the flow of processing performed by the rotational movement detection unit 42. The rotational movement detection unit 42 acquires angular velocities ω(T_n-5), ω(T_n-4), ω(T_n-3), ω(T_n-2), ω(T_n-1), and ω(T_n) from the sensor signal acquisition unit 40 (step S31).
[0091] The rotational movement detection unit 42 calculates an integrated value W of the angular velocity ω (step S32).
[0092] The rotational movement detection unit 42 transmits the integrated value W to the addition unit 45 (step S33).
[0093] The rotational movement detection unit 42 transmits the angular velocity ω(T_n) to the orientation calculation unit 43 (step S34).
[0094] The rotational movement detection unit 42 determines whether an instruction to end processing has been received from the operation control unit 49 (step S35). If it is determined that an instruction to end processing has been received (step S35: Yes), the rotational movement detection unit 42 ends the processing of Fig. 9. On the other hand, if it is not determined that an instruction to end processing has been received (step S35: No), the process proceeds to step S36.
[0095] If the determination in step S35 is No, the rotational movement detection unit 42 increments n, which indicates the timing for acquiring the position P, and waits for the next timing for acquiring the next angular velocity ω from the sensor signal acquisition unit 40 (step S36). Thereafter, the process returns to step S31, and the above-described processes are repeated.
[0096] Although not shown in FIG. 9, for example, if the magnetic sensor 52 loses its own position, the behavior measurement system 10a may start the process of FIG. 9 over again from the beginning.
[0097] [1-8. Effects of the First Embodiment] As described above, in the behavior measurement device 20a (information processing device) of the first embodiment, the linear movement detection unit 44 determines whether the user 90 is moving linearly, based on the position P of the user 90 measured at a predetermined time interval, and detects the amount of linear movement and movement direction θ0 of the user 90. The rotational movement detection unit 42 detects the amount of change in the orientation of the user 90. Then, when it is determined that the user 90 is moving linearly, the orientation calculation unit 43 calculates the orientation θ of the user 90 at the position determined to be moving linearly, based on the detection result of the rotational movement detection unit 42.
[0098] This makes it possible to accurately detect the position P and the orientation θ of the user 90 even when there are no restrictions on the movement route.
[0099] Furthermore, in the behavior measurement device 20a (information processing device) of the first embodiment, when it is not determined that the user 90 is moving in a straight line, but it is determined that the user 90 has moved in a straight line in the past, the orientation calculation unit 43 calculates the orientation θ of the user 90 at the current time by adding the integrated value W (amount of change in orientation) of the angular velocity ω of the user 90 detected by the rotational movement detection unit 42 while the user 90 was moving from the previous position to the current position, to the orientation θ of the user 90 at the previous position.
[0100] This allows the orientation θ of the user 90 to be detected simply and accurately.
[0101] Furthermore, in the behavior measurement device 20a (information processing device) of the first embodiment, the orientation calculation unit 43 determines that the user 90 has moved in a straight line when the amount of change in the position of the user 90 detected by the linear movement detection unit 44 exceeds a threshold value dth (first predetermined value) a predetermined number of times in succession, and when all of the positions P detected the predetermined number of times are included in the detection range R (predetermined area).
[0102] This makes it possible to detect that the user 90 has moved in a straight line using simple detection logic, without imposing any restrictions on the user 90, such as requiring the user 90 to pass through a specific position.
[0103] Furthermore, in the behavior measurement device 20a (information processing device) of the first embodiment, the linear movement detection unit 44 further sets the shape of the detection range R (predetermined area).
[0104] This makes it possible to set an appropriate detection range R for determining whether the user 90 has moved in a straight line, depending on the actual situation in which the behavior measurement system 10a is applied.
[0105] Furthermore, in the behavior measurement device 20a (information processing device) of the first embodiment, when it is not determined that the user 90 is moving in a straight line, the orientation calculation unit 43 determines that the direction of movement θ1 based on the position P of the user 90 detected by the positioning processing unit 41 is the orientation θ of the user 90.
[0106] This makes it possible to calculate the direction θ of the user 90 even when the user 90 is not moving in a straight line.
[0107] In the behavior measurement device 20a (information processing device) of the first embodiment, the position P and angular velocity ω of the user 90 are measured by the portable terminal 50 carried by the user 90.
[0108] As a result, as long as the user 90 carries the mobile terminal 50, the behavior measurement device 20a can acquire the traveling behavior of the user 90 without the user 90 being aware of the presence of the sensor.
[0109] In the behavior measurement device 20a (information processing device) of the first embodiment, the position P of the user 90 is measured by at least the magnetic sensor 52.
[0110] This makes it possible to easily and reliably detect the position P of the user 90 carrying the mobile terminal 50.
[0111] In the behavior measurement device 20a (information processing device) of the first embodiment, the position P of the user 90 is measured based on the output of the magnetic sensor 52, the output of the acceleration sensor , and the output of the gyro sensor .
[0112] This allows the current position of the mobile terminal 50 to be detected more efficiently, since the current position is close to the previous position of the mobile terminal 50 detected by the magnetic sensor 52 plus a value based on the magnitude and direction of the output of the acceleration sensor 54 and the gyro sensor 56.
[0113] In the behavior measurement device 20a (information processing device) of the first embodiment, the orientation θ of the user is measured by integrating the output of the gyro sensor 56.
[0114] This makes it possible to measure the orientation θ of the user simply and with high accuracy.
[0115] (2. Second Embodiment) In the behavior measurement system 10a described in the first embodiment, the behavior measurement device 20a detects the movement behavior of the user 90 using the processing logic described above. Therefore, it was necessary to set an appropriate threshold dth (first predetermined value) and detection range R by conducting evaluation experiments on many users 90. In contrast, the behavior measurement device 20b included in the behavior measurement system 10b (not shown) of the second embodiment applies machine learning to the linear movement determination performed by the linear movement detection unit 44 of the behavior measurement device 20a. This eliminates the need to set the threshold dth (first predetermined value) and detection range R when detecting the linear movement of the user 90 in the behavior measurement device 20b. The behavior measurement device 20b is an example of an information processing device in the present disclosure.
[0116] [2-1. Overview of the behavioral measurement device] The learning process performed by the behavior measurement apparatus 20b of the second embodiment will be described with reference to Fig. 11. Fig. 11 is a diagram for explaining an outline of the learning process performed by the behavior measurement apparatus of the second embodiment.
[0117] Before using the behavior measurement device 20b, it is necessary to have multiple users 90 actually use the behavior measurement system 10b so that they can learn what movements the users 90 make that can be determined to be linear movement.
[0118] For example, as shown in the left diagram of Fig. 11, if the movement trajectory of the position P of the user 90 over a predetermined time range falls within a predetermined detection range R and the distance difference values d are all equal to or greater than a predetermined distance (threshold value dth), the behavior measurement device 20b determines that the user has moved in a straight line. At this time, the behavior measurement device 20b outputs teacher data "1." That is, the method of determining that the user 90 has moved in a straight line is the same as in the first embodiment.
[0119] On the other hand, as shown in the right diagram of Fig. 11, if the movement trajectory of the position P of the user 90 over a predetermined time range does not fall within a predetermined detection range R, or if at least one of the distance difference values d is not equal to or greater than a predetermined distance (threshold value dth), the behavior measurement device 20b determines that the user is not moving in a straight line. In this case, the behavior measurement device 20b outputs teacher data "0." In other words, the method of determining that the user 90 is not moving in a straight line is the same as in the first embodiment.
[0120] The calculated training data is accumulated in the behavior measurement device 20b, and a network is formed that outputs a signal indicating whether or not the user 90 has moved in a straight line when the position P of the user 90 is input. Then, by performing the above-mentioned learning on a certain number of users 90, the network is strengthened and highly reliable judgments become possible. Note that the form of the network is not important.
[0121] [2-2. Functional configuration of the behavior measurement device] The behavior measurement system 10b of the second embodiment has a configuration in which the behavior measurement device 20a in the behavior measurement system 10a described in the first embodiment is replaced with a behavior measurement device 20b.
[0122] The functional configuration of the behavior measurement device 20b according to the second embodiment will be described using Fig. 12. Fig. 12 is a functional block diagram showing an example of the functional configuration of the behavior measurement device according to the second embodiment. The behavior measurement device 20b includes a linear movement detection unit 46 instead of the linear movement detection unit 44 included in the behavior measurement device 20a.
[0123] The linear movement detection unit 46 acquires the position P of the user 90 measured at predetermined time intervals from the positioning processing unit 41 and inputs it to the trained network. Then, the linear movement detection unit 46 uses the trained network to determine whether the position P of the user 90 is moving in a straight line. Then, when it is determined that the user 90 is moving in a straight line, the linear movement detection unit 46 outputs a linear movement detection signal indicating that the user 90 is moving in a straight line to the orientation calculation unit 43. Furthermore, when it is determined that the position P of the user 90 is moving in a straight line, the linear movement detection unit 46 outputs the movement direction θ0 of the user 90. Note that the linear movement detection unit 46 is an example of a learning unit and a linear movement detection unit in the present disclosure.
[0124] The functions of the other components are the same as those of the behavior measurement device 20a. That is, the adder 45 adds the integrated value W of the angular velocity ω output by the rotational movement detector 42 and the movement direction θ0 of the user 90 output by the linear movement detector 46. Then, when the orientation calculator 43 acquires a linear movement detection signal from the linear movement detector 46, it sets the addition result of the adder 45 as the orientation θ of the user 90.
[0125] [2-3. Processing flow of the behavioral measurement device] Next, the flow of processing performed by the behavior measurement system 10b of the second embodiment will be described with reference to Fig. 13. Fig. 13 is a flowchart showing an example of the flow of processing performed by the behavior measurement system of the second embodiment.
[0126] The positioning processing unit 41, linear movement detection unit 46, orientation calculation unit 43, rotational movement detection unit 42, and addition unit 45 operate in cooperation with one another under the control of the operation control unit 49. It is assumed that the behavior measurement device 20b has completed learning for determining the linear movement of the user 90, and the formed network is stored in the linear movement detection unit 46.
[0127] The linear movement detection unit 46 acquires positions P(T_n-5), P(T_n-4), P(T_n-3), P(T_n-2), P(T_n-1), and P(T_n) of the mobile terminal 50 from the positioning processing unit 41 (step S51). The acquired position P of the mobile terminal 50 is input to a network stored in the linear movement detection unit 46, which is formed by machine learning and which determines whether or not the mobile terminal 50 is moving in a straight line.
[0128] The linear movement detection unit 46 determines whether the positions P(T_n-5), P(T_n-4), P(T_n-3), P(T_n-2), P(T_n-1), and P(T_n) of the mobile terminal 50 acquired in step S51 are moving linearly based on the output of the network (step S52). If it is determined that the position P of the mobile terminal 50 is moving linearly (step S52: Yes), the process proceeds to step S53. On the other hand, if it is not determined that the position P of the mobile terminal 50 is moving linearly (step S52: No), the process proceeds to step S56.
[0129] The subsequent processing is the same as the processing flow described in the first embodiment (see FIG. 9), and therefore a description thereof will be omitted. Also, the rotational movement detection unit 42 performs the same operation as described in the first embodiment (see FIG. 9), and therefore a description thereof will be omitted.
[0130] [2-4. Effects of the Second Embodiment] As described above, in the behavior measurement device 20b (information processing device) of the second embodiment, the linear movement detection unit 46 (learning unit) learns whether the user 90 has moved linearly, based on the position P of the user 90 measured at predetermined time intervals. Then, using the results of learning by the linear movement detection unit 46, the linear movement detection unit 46 determines whether the user 90 is moving linearly, based on the position P of the user 90 measured at predetermined time intervals, and detects the amount of linear movement and movement direction θ0 of the user 90.
[0131] This makes it possible to eliminate the need to set the threshold value dth (first predetermined value) and the detection range R when detecting the linear movement of the user 90.
[0132] (3. Third Embodiment) In the behavior measurement system 10a described in the first embodiment, if the user 90 stops while moving linearly, the behavior measurement device 20a terminates the determination of whether the user 90 is moving linearly at that point. Therefore, if the mobile device 50 carried by the user 90 repeatedly stops while outputting the number of positions P required to determine whether the user 90 is moving linearly, the movement trajectory of the user 90 cannot be accurately measured. In contrast, the behavior measurement device 20c included in the behavior measurement system 10c (not shown) of the third embodiment determines whether the user 90 is moving linearly based on the movement trajectory of positions P before and after the user 90 stops when it is determined that the user 90 has stopped. The behavior measurement device 20c is an example of an information processing device in the present disclosure.
[0133] [3-1. Overview of the behavioral measurement device] The operation of the behavior measurement apparatus 20c of the third embodiment will be described with reference to Fig. 14. Fig. 14 is a diagram for explaining an outline of the processing performed by the behavior measurement apparatus of the third embodiment.
[0134] 14, it is assumed that the portable terminal 50 carried by the user 90 outputs positions P(T_n-5), P(T_n-4), P(T_n-3), P(T_n-2), P(T_n-1), P(T_n), and P(T_n+1). It is also assumed that the distance difference value d(T_n-3) between the positions P(T_n-4) and P(T_n-3) is equal to or less than the threshold value dth (first predetermined value).
[0135] At this time, if the difference between the angular velocity ω(T_n-4) of the gyro sensor 56 at time T_n-4 and the angular velocity ω(T_n-3) of the gyro sensor 56 at time T_n-3 is equal to or less than the threshold dω, the behavior measurement device 20c determines that the user 90 has stopped moving between time T_n-4 and time T_n-3. The threshold dω is an example of the second predetermined value in this application.
[0136] If it is determined that the user 90 has stopped between time T_n-4 and time T_n-3, the behavior measurement device 20c excludes position P where the distance difference value d is below the threshold dth from candidates for detecting linear movement. That is, in the example of Fig. 14, position P(T_n-3) is excluded, and linear movement is detected based on the movement trajectories of six points: positions P(T_n-5), P(T_n-4), P(T_n-2), P(T_n-1), P(T_n), and P(T_n+1).
[0137] [3-2. Functional configuration of the behavior measurement device] The behavior measurement system 10c of the third embodiment has a configuration in which the behavior measurement device 20a in the behavior measurement system 10a described in the first embodiment is replaced with a behavior measurement device 20c.
[0138] The functional configuration of the behavior measurement device 20c according to the third embodiment will be described using Fig. 15. Fig. 15 is a functional block diagram showing an example of the functional configuration of the behavior measurement device according to the third embodiment. The behavior measurement device 20c includes a linear movement detection unit 48 instead of the linear movement detection unit 44 included in the behavior measurement device 20a. Also, it includes an orientation calculation unit 47 instead of the orientation calculation unit 43.
[0139] The linear movement detection unit 48 determines whether the user 90 is moving linearly based on the position P of the mobile terminal 50 measured at a predetermined time interval. Furthermore, the linear movement detection unit 48 detects the amount and direction of linear movement of the user 90 when it is determined that the user 90 is moving linearly. Furthermore, when it is determined that the user 90 is moving linearly, the linear movement detection unit 48 outputs a linear movement detection signal indicating that the user 90 is moving linearly to the orientation calculation unit 47. Furthermore, when the distance difference value d (amount of change in position) of the position P of the user 90 is equal to or less than a threshold dth (first predetermined value) and the amount of change in the output of the rotational movement detection unit 42 at the two positions P exhibiting the distance difference value d is equal to or less than a threshold dω (second predetermined value), the linear movement detection unit 48 determines that the user 90 is standing still between two positions P exhibiting the distance difference value d.
[0140] When the linear movement detection unit 48 determines that the user 90 has stopped, it determines whether the user 90 has moved in a straight line based on the positions P of the user 90 measured at a predetermined time interval before and after the two positions P at which it was determined that the user 90 had stopped.
[0141] When it is determined based on the detection result of the linear movement detection unit 48 that the user 90 is moving linearly, that is, when a linear movement detection signal is input from the linear movement detection unit 48, the orientation calculation unit 47 calculates the orientation θ of the user 90 at the position where it is determined that the user 90 is moving linearly, based on the movement direction of the user 90 and the integrated value of the angular velocity ω detected by the rotational movement detection unit 42. The specific method of calculating the orientation θ is as described in the first embodiment.
[0142] The functions of the other components are the same as those of the behavior measurement device 20 a. That is, the adder 45 adds the integrated value W of the angular velocity ω output by the rotational movement detector 42 and the movement direction θ0 of the user 90 output by the linear movement detector 48.
[0143] [3-3. Processing flow of the behavioral measurement device] Next, the flow of processing performed by the behavior measurement system 10c of the third embodiment will be described with reference to Fig. 9 and Fig. 16. Fig. 16 is a flowchart showing an example of the flow of linear movement detection processing performed by the behavior measurement system of the third embodiment.
[0144] The processing flow performed by the behavior measurement system 10c of the third embodiment is the same as the processing flow performed by the behavior measurement system 10a described in the first embodiment, except that the linear movement detection processing shown in Fig. 16 is performed instead of the linear movement detection processing (see Fig. 10) described in step S11 of Fig. 9.
[0145] The flow of the linear movement detection process performed by the behavior measurement system 10c will be described below with reference to FIG.
[0146] The linear movement detection unit 48, the orientation calculation unit 47, the rotational movement detection unit 42, and the addition unit 45 operate in cooperation with one another under the control of the operation control unit 49.
[0147] The operation control unit 49 resets the counter value C that counts the number of acquired positions P (step S71).
[0148] The operation control unit 49 determines whether it is time to acquire the position P, that is, whether the sampling time Δt has elapsed since the previous acquisition (step S72). If it is determined that the sampling time Δt has elapsed (step S72: Yes), the process proceeds to step S73. On the other hand, if it is not determined that the sampling time Δt has elapsed (step S72: No), step S72 is repeated.
[0149] If the determination in step S72 is Yes, the linear movement detection unit 48 determines whether the position P at the current time and the position P at the sampling time Δt ago are separated by a distance equal to or greater than the threshold value dth (step S73). If it is determined that the position P at the current time and the position P at the sampling time Δt ago are separated by a distance equal to or greater than the threshold value dth (step S73: Yes), the process proceeds to step S74. On the other hand, if it is not determined that the position P at the current time and the position P at the sampling time Δt ago are separated by a distance equal to or greater than the threshold value dth (step S73: No), the process proceeds to step S82.
[0150] If the determination in step S73 is Yes, the linear movement detection unit 48 sets a detection range R for determining whether the mobile terminal 50 is moving linearly, based on the position P at the current time and the position P at the sampling time Δt before (step S74).
[0151] The operation control unit 49 determines whether the sampling time Δt has elapsed (step S75). If it is determined that the sampling time Δt has elapsed (step S75: Yes), the process proceeds to step S76. On the other hand, if it is not determined that the sampling time Δt has elapsed (step S75: No), step S75 is repeated.
[0152] If the determination in step S75 is Yes, the linear movement detection unit 48 determines whether the position P at the current time and the position P at the sampling time Δt ago are separated by a distance equal to or greater than the threshold value dth (step S76). If it is determined that the position P at the current time and the position P at the sampling time Δt ago are separated by a distance equal to or greater than the threshold value dth (step S76: Yes), the process proceeds to step S77. On the other hand, if it is not determined that the position P at the current time and the position P at the sampling time Δt ago are separated by a distance equal to or greater than the threshold value dth (step S76: No), the process proceeds to step S78.
[0153] If the determination in step S76 is Yes, the linear movement detection unit 48 determines whether the position P at the current time is within the detection range R (step S77). If it is determined that the position P at the current time is within the detection range R (step S77: Yes), the process proceeds to step S79. On the other hand, if it is not determined that the position P at the current time is within the detection range R (step S77: No), the process proceeds to step S82.
[0154] If the determination in step S77 is Yes, the operation control unit 49 increments the counter value C that counts the number of acquired positions P (step S79).
[0155] Next, the operation control unit 49 determines whether the position P required for calculating the moving direction θ0 of the user 90 has been acquired, that is, whether the counter value C is equal to or greater than a threshold value, based on the counter value C (step S80). If it is determined that the counter value C is equal to or greater than the threshold value (step S80: Yes), the process proceeds to step S81. On the other hand, if it is not determined that the counter value C is equal to or greater than the threshold value (step S80: No), the process returns to step S75.
[0156] If the determination in step S80 is Yes, the linear movement detection unit 48 determines that the position P of the mobile terminal 50 is moving linearly (step S81). After that, the process returns to the main routine of FIG.
[0157] Returning to step S76, if the determination in step S76 is No, the linear movement detection unit 48 acquires the angular velocity ω from the rotational movement detection unit 42 and determines whether the difference between the output of the gyro sensor 56 at the current time and the output of the gyro sensor 56 (i.e., the angular velocity ω) from the current time and the output of the gyro sensor 56 sampled Δt ago is equal to or less than the threshold value dω (step S78). If it is determined that the difference in the output of the gyro sensor 56 is equal to or less than the threshold value dω (step S78: Yes), the process returns to step S75. On the other hand, if it is not determined that the difference in the output of the gyro sensor 56 is equal to or less than the threshold value dω (step S78: No), the process proceeds to step S82.
[0158] If the determination in any of step S73, step S77, and step S78 is No, the linear movement detection unit 48 determines that the position P of the mobile terminal 50 has not moved linearly (step S82). Then, the process returns to the main routine of FIG.
[0159] [3-4. Effects of the Third Embodiment] As described above, in the behavior measurement device 20c (information processing device) of the third embodiment, the linear movement detection unit 48 determines that the user 90 is standing still between two positions P that exhibit the distance difference value d when the distance difference value d (amount of change in position) of the position P of the user 90 is equal to or less than the threshold value dth (first predetermined value) and the amount of change in the output of the rotational movement detection unit 42 at the two positions P that exhibit the distance difference value d is equal to or less than the threshold value dω (second predetermined value).
[0160] As a result, even if the user 90 stops in the middle of moving, the position P and the orientation θ of the user 90 can be detected with high accuracy.
[0161] Furthermore, in the behavior measurement device 20c (information processing device) of the third embodiment, when the linear movement detection unit 48 determines that the user 90 has stopped, it determines whether the user 90 has moved in a linear manner based on the positions P of the user 90 measured at a predetermined time interval before and after the two positions P at which it was determined that the user 90 had stopped.
[0162] As a result, even if the user 90 stops mid-movement, the position P and orientation θ of the user 90 can be detected with high accuracy based on the movement state of the position P before and after the user 90 stops.
[0163] 4. Application Examples of the Present Disclosure The present disclosure can be used, for example, to analyze customer behavior in a store. Furthermore, based on the results of customer behavior analysis, real-time advertisements can be delivered to customers visiting a store. Furthermore, product information can be provided immediately and in-store navigation (in-store guidance) can be performed. Furthermore, the behavior of store employees can be visualized, and the information can be used to train employees on customer service.
[0164] Furthermore, the present disclosure can be used to visualize the behavior of employees, for example, in factories, companies, etc. Then, based on the visualized behavior of employees, it is possible to improve the environment to make it easier for them to act.
[0165] Furthermore, the present disclosure can be used to efficiently implement the PDCA (Plan, Do, Check, Action) cycle for improving business operations in stores, factories, companies, and the like.
[0166] Although the present disclosure has been described using several embodiments, these embodiments may be implemented in any device provided that the device has the necessary functional blocks and is capable of obtaining the necessary information.
[0167] Also, for example, each step of a single flowchart may be executed by one device, or may be shared and executed by multiple devices. Furthermore, when one step includes multiple processes, the multiple processes may be executed by one device, or may be shared and executed by multiple devices. In other words, multiple processes included in one step can be executed as multiple step processes. Conversely, processes described as multiple steps can be executed collectively as one step.
[0168] For example, the steps of a program executed by a computer may be executed in chronological order in the order described herein, or may be executed in parallel or individually at a required timing, such as when a call is made. In other words, as long as no contradiction occurs, the steps may be executed in an order different from the order described above. Furthermore, the steps of a program may be executed in parallel with the processing of another program, or may be executed in combination with the processing of another program.
[0169] Furthermore, for example, multiple technologies related to the present technology can be implemented independently and independently, as long as no contradiction occurs. Of course, any multiple technologies can also be applied and implemented. For example, part or all of the present technology described in any embodiment can be implemented in combination with part or all of the present technology described in another embodiment. Furthermore, part or all of any of the above-mentioned present technologies can be implemented in combination with other technologies not described above.
[0170] It should be noted that the effects described in this specification are merely examples and are not limiting, and other effects may also be achieved. Furthermore, the embodiments of the present disclosure are not limited to the above-described embodiments, and various modifications are possible within the scope of the gist of the present disclosure.
[0171] For example, the present disclosure can also be configured as follows.
[0172] (1) The device comprises a linear movement detection unit that determines whether or not a user is moving linearly based on the position of the user measured at a predetermined time interval, and detects the amount and direction of linear movement of the user; a rotational movement detection unit that detects the amount of change in orientation of the user; and an orientation calculation unit that, when the linear movement detection unit determines that the user is moving linearly, calculates the orientation of the user at the position where it is determined that the user is moving linearly based on the detection result of the rotational movement detection unit. Information processing device. (2) the orientation calculation unit calculates the orientation of the user by adding an integrated value of angular velocities detected by the rotational movement detection unit and a moving direction of the linear movement at the previous position, from the previous position where it was determined that the user was moving linearly to the current position; The information processing device according to (1) above. (3) the linear movement detection unit determines that the user has moved linearly when an amount of change in the user's position exceeds a first predetermined value a predetermined number of times in succession and all of the positions detected the predetermined number of times are included in a predetermined area. The information processing device according to (1) or (2). (4) The linear movement detection unit further sets the shape of the predetermined area. The information processing device according to any one of (1) to (3). (5) the orientation calculation unit calculates the orientation of the user based on the position of the user when it is not determined that the user is moving in a straight line; The information processing device according to any one of (1) to (4). (6) The device further includes a learning unit that learns whether the user has moved in a straight line based on the user's position measured at predetermined time intervals, and the linear movement detection unit uses the results of learning by the learning unit to determine whether the user has moved in a straight line based on the user's position measured at predetermined time intervals, and detects the amount and direction of linear movement of the user. The information processing device according to any one of (1) to (5). (7) the linear movement detection unit determines that the user is standing still between two positions when the amount of change in the user's position is equal to or less than the first predetermined value and the amount of change in the output of the rotational movement detection unit at two positions that represent the amount of change in position is equal to or less than a second predetermined value; The information processing device according to any one of (3) to (5). (8) when it is determined that the user is standing still between the two positions, the linear movement detection unit determines whether the user has moved linearly based on the positions of the user measured at a predetermined time interval before and after the two positions; The information processing device according to (7) above. (9) The amount of change in the user's position and orientation is measured by a mobile device carried by the user. The information processing device according to any one of (1) to (8). (10) The position of the user is measured by at least a magnetic sensor. The information processing device according to any one of (1) to (9). (11) The position of the user is measured based on the output of the magnetic sensor, the output of the gyro sensor, and the output of the acceleration sensor. The information processing device according to (10) above. (12) The change in the orientation of the user is measured by the gyro sensor. The information processing device according to (11) above. (13) a linear movement detection step of determining whether or not a user is moving linearly based on the user's position measured at predetermined time intervals, and detecting the amount and direction of linear movement of the user; a rotational movement detection step of detecting the amount of change in the orientation of the user; and a calculation step of calculating, when the linear movement detection step determines that the user is moving linearly, the orientation of the user at the position determined to be moving linearly based on the detection result of the rotational movement detection step. A method of processing information that makes it function as a whole. (14) a linear movement detection unit that determines whether the user is moving linearly based on the position of the user measured at a predetermined time interval, and detects the amount and direction of linear movement of the user; a rotational movement detection unit that detects the amount of change in orientation of the user; and an orientation calculation unit that, when the linear movement detection unit determines that the user is moving linearly, calculates the orientation of the user at the position determined to be moving linearly based on the detection result of the rotational movement detection unit; A program that makes it work. [Explanation of symbols]
[0173] 10a, 10b, 10c... Behavior measurement system, 20a, 20b, 20c... Behavior measurement device, 40... Sensor signal acquisition unit, 41... Positioning processing unit, 42... Rotational movement detection unit, 43, 47... Orientation calculation unit, 44, 48... Linear movement detection unit, 45... Addition unit, 46... Linear movement detection unit (learning unit, linear movement detection unit), 49... Operation control unit, 50... Mobile terminal, 52... Magnetic sensor, 54... Acceleration sensor, 56... Gyro sensor, 84a, 84b... Axis, 90... User, C... Counter value, d, d(T_n-4), d(T_n-3), d(T_n-2), d(T_n-1 ), d(T_n)...Distance difference value, dth...Threshold value (first predetermined value), dω...Threshold value (second predetermined value), H...Width, K...Vertex angle, P,P(T_n-5),P(T_n-4),P(T_n-3),P(T_n-2),P(T_n-1),P(T_n),P(T_n+1)...Position , R, Ra, Rb...detection range (predetermined area), W...integrated value, ω,ω(T_n-5),ω(T_n-4),ω(T_n-3),ω(T_n-2),ω(T_n-1),ω(T_n)...angular velocity, θ,θ(T_n)...direction, θ0,θ1...moving direction, Δt...sampling time
Claims
1. a linear movement detection unit that determines whether the user is moving linearly based on the user's position measured at predetermined time intervals, and detects the amount and direction of linear movement of the user; a rotational movement detection unit that detects a change in the orientation of the user; and an orientation calculation unit that, when the linear movement detection unit determines that the user is moving linearly, calculates an orientation of the user at the position where it is determined that the user is moving linearly based on a detection result of the rotational movement detection unit. Information processing device.
2. the orientation calculation unit calculates the orientation of the user by adding together an amount of change in the orientation of the user detected by the rotational movement detection unit and a direction of linear movement at the previous position, during a period from the previous position where it was determined that the user was moving linearly to the current position; The information processing device according to claim 1 .
3. The linear movement detection unit determining that the user has moved in a straight line when an amount of change in the user's position exceeds a first predetermined value a predetermined number of times in succession and all of the positions detected the predetermined number of times are included in a predetermined area; The information processing device according to claim 1 .
4. The linear movement detection unit further sets the shape of the predetermined area. The information processing device according to claim 3 .
5. the orientation calculation unit calculates the orientation of the user based on the position of the user when it is not determined that the user is moving in a straight line; The information processing device according to claim 1 .
6. The device further includes a learning unit that learns whether the user has moved in a straight line based on the user's position measured at a predetermined time interval, the linear movement detection unit uses the results of learning by the learning unit to determine whether the user is moving in a straight line based on the position of the user measured at predetermined time intervals, and detects the amount and direction of linear movement of the user. The information processing device according to claim 1 .
7. The linear movement detection unit The amount of change in the user's position is equal to or less than the first predetermined value, Furthermore, when the amount of change in the output of the rotational movement detection unit at the two positions that represent the amount of change in position is equal to or less than a second predetermined value, determining that the user is standing between the two locations; The information processing device according to claim 3 .
8. The linear movement detection unit If it is determined that the user is standing still between the two positions, determining whether the user has moved in a straight line based on the positions of the user measured at a predetermined time interval before and after the two positions; The information processing device according to claim 7 .
9. The amount of change in the user's position and orientation is measured by a mobile device carried by the user. The information processing device according to claim 1 .
10. The position of the user is measured by at least a magnetic sensor. The information processing device according to claim 1 .
11. The position of the user is measured based on an output of the magnetic sensor, an output of the acceleration sensor, and an output of the gyro sensor. The information processing device according to claim 10.
12. The amount of change in the user's orientation is measured by integrating the output of the gyro sensor. The information processing device according to claim 11.
13. Computer, a linear movement detection step of determining whether the user is moving linearly based on the position of the user measured at predetermined time intervals, and detecting the amount and direction of linear movement of the user; a rotational movement detection step of detecting a change in the orientation of the user; a calculation step of calculating, when the linear movement detection step determines that the user is moving linearly, an orientation of the user at the position determined to be moving linearly based on a detection result of the rotational movement detection step; A method of processing information that makes it function as a whole.
14. a linear movement detection unit that determines whether the user is moving linearly based on the user's position measured at predetermined time intervals, and detects the amount and direction of linear movement of the user; a rotational movement detection unit that detects a change in the orientation of the user; an orientation calculation unit that, when the linear movement detection unit determines that the user is moving linearly, calculates an orientation of the user at a position determined to be moving linearly based on a detection result of the rotational movement detection unit; A program that makes it work.
Citation Information
Patent Citations
Pipeline structure for reactor coolant
JP1980069099A
Method for temper rolling by dull finishing
JP1985012204A
Portable terminal device, recording medium, and correction method
WO2014157310A1
Information processing device, method, and program
WO2017085756A1