Information processing device, electronic device, information processing method, and program
Patent Information
- Application Number
- JP2025026552
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-02-21
- Publication Date
- 2025-07-29
- Estimated Expiration
- 2042-07-28
AI Technical Summary
Existing navigation devices, such as those described in Patent Document 1, generate routes with break points that may not align with the user's preferences, leading to routes that do not fully meet the user's desired conditions.
An information processing device equipped with a control unit that collects activity statistics, extracts feature points from these statistics, clusters them, calculates representative points, and associates descriptive information with these points to generate personalized route information that suits the user's wishes.
The solution enables the generation of route information that aligns with the user's preferences, providing a more personalized and satisfying navigation experience.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to an information processing device, an electronic device, an information processing method, and a program. [Background technology]
[0002] Various navigation devices have been developed that display a map and guide a user to a destination, including not only car navigation devices used when driving a car, but also navigation devices for bicycles, navigation devices used when walking, running, etc. For example, Patent Document 1 discloses a navigation device that sets a route that takes into consideration the health of the user when the user uses walking, running, bicycle, etc. as a means of transportation. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] JP 2012-159413 A Summary of the Invention [Problem to be solved by the invention]
[0004] The navigation device disclosed in Patent Document 1 searches for rest point information and searches for a recommended travel route that uses the rest points indicated by the searched rest point information as a stop point, thereby enabling the setting of a route that takes into consideration the health of the user. However, a route that uses the rest points as a stop point is not necessarily the route that the user desires.
[0005] The present invention has been made in consideration of the above-mentioned situation, and aims to provide an information processing device, electronic device, information processing method, and program that can generate information for searching for a route that suits the user's wishes. [Means for solving the problem]
[0006] In order to achieve the above object, one aspect of the information processing device according to the present invention is A control unit is provided, The control unit is Obtaining statistical information corresponding to the location or area obtained by the movement activity; acquiring a feature amount of the position or area obtained based on the statistical information; associate explanatory information corresponding to the feature amount with a representative point that is a point that represents the position or area; It is characterized by: Effect of the Invention
[0007] According to the present invention, it is possible to generate information for searching for a route that better meets the user's wishes. [Brief description of the drawings]
[0008] [Figure 1] FIG. 1 is a diagram illustrating an overview of an information processing system according to an embodiment. [Diagram 2] 1 is a block diagram showing a functional configuration of an electronic device according to an embodiment. [Diagram 3] FIG. 2 is a block diagram showing a functional configuration of a server according to the embodiment. [Figure 4] FIG. 4 is a diagram illustrating an example of activity log data. [Diagram 5] FIG. 4 illustrates an example of a runner database. [Figure 6] 11 is a flowchart of an explanation point generation process according to the embodiment. [Figure 7] FIG. 13 is a diagram showing an example of a route of each runner when activity log data is acquired. [Figure 8] FIG. 11 is a diagram showing an example of feature points extracted from activity log data. [Figure 9] FIG. 13 is a diagram illustrating clustering of feature points. [Figure 10] FIG. 11 is a diagram showing examples of clusters obtained by clustering feature points. [Figure 11] FIG. 4 is a diagram illustrating an example of a feature correspondence table according to the embodiment. [Figure 12] 13 is a diagram for explaining how explanatory information is generated from feature amounts of representative points of clusters. FIG. [Figure 13] 4 is a flowchart of a route guidance process according to an embodiment. [Figure 14] 13 is an example of a screen for setting a user's driving level, among information on a route desired by the user, in the route guidance process according to the embodiment. [Figure 15] 13 is an example of a screen for setting a starting point, course distance, waypoints, and the like as search conditions for a running course, among information on a route desired by a user, in the route guidance process according to the embodiment. [Figure 16] 11 is an example of a screen for displaying a search result of a running course in the route guidance process according to the embodiment. [Figure 17] 4 is a flowchart of a route search process according to an embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0009] An information processing system and the like according to an embodiment will be described with reference to the drawings. In the drawings, the same or corresponding parts are denoted by the same reference numerals.
[0010] (Embodiment) The information processing system according to the embodiment includes an electronic device 100 and a server 200. As shown in FIG. 1, the electronic device 100 collects position information and various sensor information on a route 310 when a plurality of runners 300 run as running statistical information, and the server 200 analyzes the collected running statistical information and extracts points where the running statistical information shows characteristic values as explanation points 320. Each of the explanation points 320 can be given explanation information 321 that indicates the characteristics of the point, so that the explanation points 320 can be treated as so-called POIs (Points of Interest). The server 200 can also suggest a running course that meets the conditions desired by the user 301 by searching for a route 311 that passes through an explanation point 320 that meets the desires of the user 301.
[0011] The electronic device 100 is an information processing device, such as a smart watch, worn by a runner 300 (including a user 301) while running. As shown in FIG. 2, the electronic device 100 includes a control unit 110, a storage unit 120, an input unit 130, an output unit 140, a communication unit 150, and a sensor unit 160.
[0012] The control unit 110 is configured with a processor such as a CPU (Central Processing Unit). The control unit 110 executes processes for implementing various functions of the smartwatch and route guidance processes (described later) using programs stored in the storage unit 120.
[0013] The storage unit 120 stores programs executed by the control unit 110 and necessary data. The storage unit 120 may include, but is not limited to, a RAM (Random Access Memory), a ROM (Read Only Memory), a flash memory, etc. Note that the storage unit 120 may be provided inside the control unit 110.
[0014] The input unit 130 is a user interface such as a push button switch or a touch panel, and receives operational input from a user. When the input unit 130 includes a touch panel, the touch panel may be integrated with the display of the output unit 140.
[0015] The output unit 140 includes a display such as a liquid crystal display or an organic EL (Electro-Luminescence) display, and displays a display screen, an operation screen, and the like that provide the functions of the electronic device 100. The output unit 140 also includes an audio output means such as a speaker, and can output the explanation information assigned to the explanation point by audio.
[0016] The communication unit 150 is a network interface compatible with, for example, a wireless LAN (Local Area Network), LTE (Long Term Evolution), etc. The electronic device 100 can communicate with other information processing devices such as a server 200 via the communication unit 150.
[0017] The sensor unit 160 includes devices for detecting various values related to the user's activities (running, walking, etc.), such as a heart rate sensor, a temperature sensor, an air pressure sensor, an acceleration sensor, a gyro sensor, a GPS (Global Positioning System) device, etc. The control unit 110 can acquire the values detected by each device included in the sensor unit 160 as detection values at any timing. However, the sensor unit 160 does not have to include all of the above sensors, and may not include, for example, a temperature sensor or an air pressure sensor.
[0018] The heart rate sensor detects a pulse wave, for example, by a PPG (Photoplethysmography) sensor equipped with an LED (Light Emitting Diode) and a PD (Photodiode). The control unit 110 can acquire the heart rate by measuring the pulse rate (heart rate) per unit time (for example, one minute) based on the pulse wave detected by the heart rate sensor. The temperature sensor includes, for example, a thermistor and can measure body temperature. The air pressure sensor includes, for example, a piezo-resistance type IC (Integrated Circuit) and can measure the surrounding air pressure.
[0019] The acceleration sensor detects acceleration in each direction of three orthogonal axes (X-axis, Y-axis, Z-axis) of the electronic device 100. The gyro sensor detects the angular velocity of rotation about each of the three orthogonal axes (X-axis, Y-axis, Z-axis) of the electronic device 100 as the rotation axis. The GPS device acquires the current position of the electronic device 100 (e.g., three-dimensional data of latitude, longitude, and altitude). The sensor unit 160 functions as a position acquisition unit when acquiring the current position of the electronic device 100.
[0020] Typically, the electronic device 100 is worn on the wrist of a user, and the control unit 110 calculates the user's position, speed, heart rate, various running indicators, etc. based on various detection values detected by the sensor unit 160, and stores them as running statistical information in the storage unit 120. Then, during or after the user's running, the control unit 110 transmits the running statistical information stored in the storage unit 120 to the server 200 via the communication unit 150.
[0021] The server 200 is an information processing device that analyzes running statistical information collected by the electronic device 100. The server 200 includes a control unit 210, a storage unit 220, an input unit 230, an output unit 240, and a communication unit 250, as shown in FIG.
[0022] The control unit 210 is configured with a processor such as a CPU (Central Processing Unit), etc. The control unit 210 executes processes for realizing various functions of the server 200 and explanation point generation processes described later, etc., using programs stored in the storage unit 220.
[0023] The storage unit 220 stores programs executed by the control unit 210 and necessary data (for example, a runner database 221, map information, an explanation point database, etc., which will be described later). The storage unit 120 may include, but is not limited to, a RAM (Random Access Memory), a ROM (Read Only Memory), a flash memory, etc. The storage unit 220 may be provided inside the control unit 210.
[0024] The map information stored in the storage unit 220 includes at least information on a map of the area around the course on which the user runs. The map information also includes feature data, road network data, and information on specific points (so-called POI data). The feature data includes things that exist physically (real features) such as roads, railways, stores, facilities, traffic lights, and roadside trees, and things that do not exist physically (virtual features) such as borders, place names, and bus routes. The road network data is data used for route search, navigation, and the like, and includes links indicating roads and nodes (e.g., intersections) that connect multiple links. The information on specific points (POI data) is data for identifying points or locations that represent features such as general roads and highways, stores such as convenience stores, and facilities such as stations and parks, and includes information on the locations of the features and information on the descriptions of the features (e.g., business hours, telephone numbers, email addresses, etc.). When the control unit 210 searches for a running course desired by the user, it searches for intermediate points while also referring to the information on the specific points.
[0025] The explanation point database is a database in which the positions, feature values, and explanation information of explanation points are recorded by an explanation point generation process described later.
[0026] The input unit 230 is a user interface such as a keyboard, a mouse, a touch panel, etc., and receives operation input from a user. When the input unit 230 includes a touch panel, the touch panel may be integrated with the display of the output unit 240.
[0027] The output unit 240 includes a display such as a liquid crystal display or an organic EL (Electro-Luminescence) display, and displays a display screen that provides the functions of the server 200, an operation screen, and the like.
[0028] The communication unit 250 is a network interface compatible with, for example, a wireless LAN (Local Area Network), LTE (Long Term Evolution), etc. The server 200 can communicate with other information processing devices such as the electronic device 100 via the communication unit 250.
[0029] When a user wears the electronic device 100 and starts running, the control unit 110 periodically (for example, every second) records activity log data 121 as shown in Fig. 4 in the storage unit 120 as the user's activity history. In the example of Fig. 4, the activity log data 121 includes not only location information acquired by a GPS device, acceleration information acquired by an acceleration sensor, angular velocity information acquired by a gyro sensor, heart rate information acquired by a heart rate sensor, body temperature information acquired by a temperature sensor, and air pressure information acquired by an air pressure sensor, but also various indices calculated from these pieces of information (direction of progress, score, various running indices (pace, stride, pitch, etc.)), changes in these pieces of information and various indices (pace change, heart rate change, etc.), and data on recent actions (number of stops, rest time, etc.).
[0030] However, the type of information to be included in the activity log data is arbitrary, and for example, only values obtained by the sensor unit 160, such as the position, acceleration, angular velocity, and heart rate, may be recorded as the activity log data 121. In addition, the activity details (taking a rest, walking, running, etc.) estimated based on the values obtained by the sensor unit 160 may also be recorded as the activity log data 121.
[0031] In the example of FIG. 4, as the first activity log data 121, data when running started at 17:35 on March 4, 2022 is recorded every second. In this activity log data 121, the position information is longitude, latitude, and altitude information. In addition, the acceleration information is the acceleration in each of the XYZ axis directions, and the angular velocity information is the angular velocity of rotation about each of the XYZ axes as the rotation axis. The direction of travel is a numerical value when the direction in which the user is moving is expressed, for example, as 0° true north, 90° true east, 180° true south, and 270° true west.
[0032] 4 is a numerical representation of the user's running level, and is calculated based on detection values (such as acceleration) detected by the sensor unit 160. For example, if the posture while running (posture of the entire body or posture of parts of the body (torso, arms, waist, legs, pelvis, etc.)) is good, if the running style places less strain on the body (the entire body or parts of the body), if the entire body or parts of the body move smoothly, etc., the score value will be high. And in the opposite case (for example, poor posture while running, a lot of unnecessary movements, etc.), the score value will be low.
[0033] In addition, in Figure 4, pace (time it takes to run 1 km), stride (distance of one step from one touchdown to the next touchdown), and pitch (number of steps per minute) are recorded as running indicators, but the control unit 110 may calculate various indicators for evaluating the user's running based on data obtained from the sensor unit 160 as running indicators and record them as activity log data 121.
[0034] In addition, in FIG. 4, pace change (amount of change in pace, e.g., the difference from the pace one second ago) and heart rate change (amount of change in heart rate, e.g., the difference from the heart rate one second ago) are recorded, but the control unit 110 may also calculate the amount of change (e.g., the difference from the value one second ago) for the run indicator or any other information and record it as activity log data 121.
[0035] In addition, in FIG. 4, the number of stops (the number of stops within a certain narrow area (e.g., an area within 10 m from the current value)) and the stationary time (e.g., the time spent stationary in the last 3 minutes) are recorded as data related to the most recent behavior, but the control unit 110 may record any data related to the most recent behavior as activity log data 121 based on the position, acceleration, angular velocity, heart rate, etc.
[0036] Then, the control unit 110 of the electronic device 100 can transmit the activity log data 121 recorded in the storage unit 120 to the server 200 via the communication unit 150.
[0037] The server 200 receives the activity log data 121 recorded by a plurality of runners in the electronic device 100 from the electronic device 100 via the communication unit 250, and records the data in the storage unit 220 as a runner database 221 as shown in Fig. 5. In the runner database 221, not only the activity log data corresponding to each user ID but also the physical characteristics (gender, height, weight, etc.) and level (marathon time, average pace, sprint time, etc.) corresponding to the user ID are recorded for each user ID. Each user can register the physical characteristics and level information corresponding to the user ID of each user in the runner database 221 at any time by accessing the server 200 with the electronic device 100 or via the input unit 230 of the server 200.
[0038] The server 200 can use the activity log data registered in the runner database 221 as statistical information to extract points having certain characteristics and generate explanatory information for the points. This process (explanation point generation process) will be described with reference to FIG. 6. The timing of starting this explanation point generation process is arbitrary, but for example, it is started when the server 200 finishes receiving new activity log data from the electronic device 100. However, depending on the electronic device 100, there are cases where only data acquired from the sensor unit 160 (e.g., position, acceleration, angular velocity, heart rate, etc.) is recorded as activity log data. In this case, the server 200 calculates other data (e.g., direction of travel, score, pace, stride, pitch, pace change, heart rate change, number of stops, rest time, etc. shown in FIG. 5) from the received data and adds it to the activity log data.
[0039] First, the control unit 210 analyzes each activity log data and extracts characteristic positions as feature points (step S101). Characteristic positions are, for example, the following positions, and such positions (latitude, longitude, altitude) are stored as feature points for each user (linked to the user ID) in the storage unit 220. The value of the activity log data used in this extraction can be considered as the feature amount of the feature point. -A value (absolute amount) included in the activity log data reaches a threshold (e.g., heart rate exceeds a heart rate threshold (e.g., 200), the number of stops is equal to or greater than a stop count threshold (e.g., 3 times), stationary time exceeds a stationary time threshold (e.g., 1 minute), pace becomes slower than a stop threshold (e.g., 120 min / km), etc.). The change in a value included in the activity log data reaches a threshold (e.g., the direction of travel changes by more than an angle change threshold (e.g., 60°), the change in pace is more than a pace change threshold (e.g., 20 min / km), the change in pace is less than a pace stability threshold (e.g., 1 min / km), the change in heart rate exceeds a heart rate change threshold (e.g., 20 bpm), etc.).
[0040] Among the above feature points, the points where the traveling direction changes by more than the angle change threshold value can be considered as feature points showing the characteristics of the shape representing the route, and are therefore also called shape feature points. Note that the control unit 210 may extract shape feature points based on the angle change of the traveling direction as described above, or may extract them using the Douglas-Peucker algorithm or the like. Also, feature points may not only be characteristic positions, but also characteristic regions (for example, a narrow region within 10 m from a reference position). This is because there may be feature amounts obtained in a narrow region of a certain range, such as the number of stops described above.
[0041] Then, the control unit 210 determines whether the extraction of feature points is completed (step S102). For example, the control unit 210 determines that the extraction of feature points is completed when the analysis of all the activity log data recorded in the runner database 221 is completed. If the extraction of feature points is not completed (step S102; No), the process returns to step S101.
[0042] For example, as shown in Figures 7(A) to (C), runners 300A, 300B, and 300C run along routes 310A, 310B, and 310C, respectively, within the same area. Activity log data obtained from this is recorded in the runner database 221 in the storage unit 220 of the server 200. Then, by the processes of steps S101 and S102, feature points 312, for example, as shown in Figure 8 are extracted. Here, the feature points 312 shown in Figures 8(A) to (C) represent the feature points on the routes 310A, 310B, and 310C shown in Figures 7(A) to (C), respectively.
[0043] When the extraction of the feature points is completed (step S102; Yes), the control unit 210 performs clustering of the extracted feature points based on the position of each feature point (step S103). For example, each feature point 312 shown in each of Figs. 8(A)-(C) exists on each of the routes 310A, 310B, and 310C shown in each of Figs. 7(A)-(C) in the same area on the map. Therefore, each feature point 312 shown in each of Figs. 8(A)-(C) is associated with position information. Therefore, the control unit 210 plots each of the feature points 312 shown in each of Figs. 8(A)-(C) in space based on the position information of each of the feature points 312 shown in each of Figs. 8(A)-(C) and performs clustering on the plotted feature points. For example, as shown in Fig. 9, a plurality of feature points that are relatively close to each other are included in one cluster. Fig. 10 shows that the clustering results are classified into five clusters, clusters A, B, C, D, and E. 9, clustering is performed so that each cluster includes multiple feature points, but clustering may be performed so that there may be a cluster that includes only one feature point. Note that the clustering method is a known technique, and therefore a description thereof will be omitted here.
[0044] Note that the feature points extracted in steps S101 and S102 may vary from user to user (for example, user 1 may have run many times and have a large amount of activity log data, while user 2 may have run only once and only have activity log data for that one time). In order to eliminate the variation between users, feature points may be extracted only from the activity log data for one run for each user (for example, only the activity log data for the most recent run for each user may be used to extract feature points). Even in this way, server 200 can extract a sufficient amount of feature points by collecting activity log data from a large number of runners.
[0045] Then, the control unit 210 calculates the representative point FPi of cluster i for all clusters obtained by clustering, and records it in the explanation point database of the storage unit 220 (step S104). Any method can be used to calculate the representative point of a cluster, but for example, the center of gravity of the positions of all feature points belonging to a cluster can be used as the representative point. In FIG. 10, the center of gravity of three feature points belonging to cluster A is used as the representative point FP A The center of gravity of the three feature points belonging to cluster B is the representative point FP B Then, the center of gravity of the two feature points belonging to cluster C is the representative point FP C The representative point FP of cluster D is D , the representative point FP of cluster E E The same is true.
[0046] Furthermore, these centroids are points whose coordinates are the average values of the coordinates of the feature points, but the representative point may be a point whose coordinates are the median value of the coordinates, or a point whose coordinates are the most frequent value of the coordinates.More generally, in clusters obtained by clustering, where the number of feature points (cluster constituent points) belonging to the cluster is equal to or greater than a threshold value (e.g., 2), a point whose coordinates are the representative value (average, median, mode, etc.) of the coordinates of the cluster constituent points may be used as the representative point of the cluster.
[0047] Next, the control unit 210 counts the number of feature points Fni belonging to the cluster (cluster i) of the representative point FPi, and records it in the explanation point database (step S105). Then, the control unit 210 calculates the feature amount of each calculated representative point, and records it in the explanation point database (step S106). The calculation method of this feature amount is arbitrary, but for example, the average value of the feature amounts of each feature point belonging to the cluster of the representative point is used as the feature amount. However, if the variance (or standard deviation) of the feature amounts of the feature points is large, the average value becomes meaningless. Therefore, while the average value is basically used as the feature amount, the reliability of the feature amount (average value) is also calculated (for example, reliability = 1 / (variance + 1)), and the later-described explanation information is generated and the similarity is calculated using a highly reliable feature amount.
[0048] For example, the representative point FP A belongs to cluster A, and feature points P1, P2, and P3 belong to cluster A. If the feature amount of feature point P1 (activity log data at the position of feature point P1) is stride = 150, pace = 6, and heart rate change = 30, the feature amount of feature point P2 (activity log data at the position of feature point P2) is stride = 160, pace = 5, and heart rate change = 10, and the feature amount of feature point P3 (activity log data at the position of feature point P3) is stride = 140, pace = 7, and heart rate change = -10, the feature amount of the representative point is calculated from the average values of these, so that stride = 150, pace = 6, and heart rate change = 10. However, in this example, the variance of stride and pace is relatively small, but the variance of heart rate change is too large, so it can be seen that the reliability of stride and pace is high but the reliability of heart rate change is low.
[0049] Then, the control unit 210 generates explanation information for each representative point based on the feature amount calculated in step S106 and the number of feature points counted in step S105, records it in the explanation point database (step S107), and ends the explanation point generation process. By the above explanation point generation process, the position, feature amount, and explanation information of each explanation point (representative point) are stored in the explanation point database of the storage unit 220.
[0050] Note that, although information on existing specific points (so-called POI information) is recorded in the map information, the control unit 210 may record information in the explanation point database generated by the explanation point generation process (position information and explanation information of each representative point) in the map information. The control unit 210 may then treat the explanation point (which can be considered as a newly generated POI) in the same way as an existing specific point (existing POI). In this way, information on an explanation point that did not exist in the original map information is added to the map information as new POI information. Furthermore, when new POI information is added to the map information, the control unit 210 may record the position and explanation information of the explanation point from the information in the explanation point database in the map information as information on a specific point (POI information). In other words, the feature amount of the explanation point does not need to be recorded in the map information.
[0051] The generation of explanatory information for each representative point in step S107 will be described in more detail. First, the control unit 210 acquires explanatory basic information based on the feature of the representative point by referring to a feature correspondence table 222 in which the correspondence between feature conditions (feature condition) and explanatory basic information is defined as shown in Fig. 11, and generates explanatory information from the explanatory basic information. For convenience of explanation, Fig. 11 does not show specific values such as "many" and "few" for the feature condition, but in reality, for example, a threshold value can be set and any condition can be set, such as when the value is greater than the threshold value, when the value is less than the threshold value, when the value is within a certain range, etc.
[0052] 11 also includes an item called "Factor", but this is for the purpose of easily explaining the correspondence between the feature quantity conditions and the explanatory basic information, and the item "Factor" is not necessary in the actual feature quantity correspondence table 222. In addition, as shown in the right column, the explanatory basic information may also include expressions that involve statistical information obtained from statistical log data or the like.
[0053] For example, suppose that values such as those shown in Fig. 12 are calculated as feature quantities for the representative points of each cluster. However, for ease of explanation, specific numerical values are not shown here. Also, feature quantities with large variance and low reliability are indicated with "-". And, for feature quantities related to change, positive changes are indicated with (+) and negative changes are indicated with (-).
[0054] In the example shown in Figure 12, the cluster representative point FP A Among the features, the heart rate change is "large in the positive direction." When referring to the feature correspondence table 222 shown in Fig. 11, when the heart rate change is large in the positive direction, the explanation basic information obtained is "(If it is a slope) This is a heart-breaking slope with a heart rate of XX. (If it is unclear whether it is a slope) This is an area that is likely to put stress on the heart rate."
[0055] Since the server 200 also stores map information in the storage unit 220, the cluster representative point FP A The topography around the cluster can also be obtained from map information, and the cluster representative point FP A It is possible to determine whether the area around the cluster representative point FP is a slope. A Consider the case where the area around is a slope. Also, in Figure 12, the cluster representative point FP A Although the heart rate is described as "high," in reality a specific value (e.g., 180) is obtained, so the control unit 210 can generate explanatory information such as "This is a heart-breaking hill with a heart rate of 180" based on the basic explanatory information, the topographical information, and the heart rate information.
[0056] Similarly, the cluster representative point FP B In the feature table 222 shown in Fig. 11, when the stationary time is long, "This is a place where it is easy to take a rest" and "The average rest time is xx minutes" are obtained as the explanation basic information.
[0057] In Fig. 12, the cluster representative point FP BAlthough the rest time is described as "long," in reality a specific value (e.g., 5 minutes) is obtained, so the control unit 210 can generate explanatory information such as "This is a place where it is easy to take a rest. The average rest time is 5 minutes" based on the basic explanatory information and information on the rest time, etc. (for example, statistical log data in the runner database 221 may be analyzed to determine a more accurate rest time).
[0058] Similarly, the cluster representative point FP C In the feature table 222 shown in Fig. 11, when the pace is fast, the explanatory basic information obtained is "Many people run at a fast pace, so this is an area that is easy to run in" and "If the pace is ○, then the runner is the □th fastest among the runners who have passed through here."
[0059] In Fig. 12, the cluster representative point FP C The pace of the cluster representative point FP is "fast", but in reality, a specific value (for example, 6 min / km) is obtained. C The control unit 210 creates information ranking the pace at which all runners who passed through the feature points belonging to this cluster ran, and calculates what rank the runner would have been at this pace (e.g., 6 min / km) (e.g., 3rd place). Based on this information, the control unit 210 can generate explanatory information such as, "This is an area where many runners run at a fast pace and it is easy to run. If your pace is 6 min / km, you are the third fastest among the runners who passed through here."
[0060] The control unit 210 records the explanation information thus generated in the explanation point database, that is, assigns it to the representative point of the cluster (stores it in the storage unit 220 in association with the representative point). As a result, the control unit 210 can display the representative point of the cluster as an explanation point 320 on the route together with the explanation information 321, as shown in FIG. 1, for example.
[0061] In the feature amount correspondence table 222 shown in Fig. 11, explanatory basic information is defined for a condition for one type of feature amount as a feature amount condition, but explanatory basic information may be defined for conditions for multiple feature amounts. Also, the feature amount conditions listed in the feature amount correspondence table 222 shown in Fig. 11 are examples, and conditions for feature amounts not listed here can also be defined arbitrarily.
[0062] In addition, when multiple feature quantity conditions are met, all of the explanatory information generated based on the explanatory basic information corresponding to each feature quantity condition may be displayed. For example, when the feature quantities at a certain representative point include a long stride and a large number of stops, the control unit 210 may generate explanatory information such as "This area is suitable for stride running. There may be something unusual in the surrounding area."
[0063] Furthermore, the control unit 210 does not necessarily have to use the feature correspondence table 222 when generating explanatory information. For example, the control unit 210 may extract the type of feature that exceeds (or falls below) a reference value for all feature points (cluster constituent points) in the cluster to which the representative point belongs, and generate explanatory text based on the extracted feature. For example, if the heart rate is 120 or higher for all cluster constituent points, the control unit 210 may generate explanatory text such as "a point where the heart rate is 120 or higher."
[0064] Next, a process (route guidance process) for outputting the above-mentioned explanatory information in the electronic device 100 worn by the user while running will be described with reference to Fig. 13. The route guidance process is started when the user instructs the electronic device 100 to execute the route guidance process.
[0065] First, the control unit 110 of the electronic device 100 acquires information on a running course that satisfies the user's desired conditions (condition information) from the user via the input unit 130 (step S201). In this step, the control unit 110 displays, for example, the screens shown in Fig. 14 and Fig. 15 on the display of the output unit 140, and acquires the information on the running course (condition information) input by the user.
[0066] Then, the control unit 110 transmits the acquired condition information to the server 200 via the communication unit 150 (step S202). The server 200 then searches for a running course based on the condition information, and transmits route information (information on running course candidates, etc.) that matches the condition information to the electronic device 100. The control unit 110 of the electronic device 100 then receives this route information from the server 200, and displays the running course on the display of the output unit 140 based on the route information (step S203).
[0067] In this step, the control unit 110 displays candidates for the running course on the display of the output unit 140, for example, as shown in Fig. 16. In Fig. 16, a route 311 of the running course is shown by a dashed line from a start point 313 to a goal point 314, and a representative point on the route 311 is shown by a flag mark as an explanation point 320.
[0068] Then, the control unit 110 confirms with the user whether this route is the desired route (step S204). If it is not the desired route (step S204; No), the process returns to step S201.
[0069] If it is the desired route (step S204; Yes), the control unit 110 judges whether or not running has started in order to wait until the user starts running (step S205). The control unit 110 may judge whether or not running has started based on, for example, a detection value from the sensor unit 160, but may also judge that running has started simply when the user presses a button on the input unit 130 that indicates "start running."
[0070] If running has not started (step S205; No), the process returns to step S205. If running has started (step S205; Yes), the control unit 110 acquires sensor information from the sensor unit 160 (step S206) and stores the sensor information in the storage unit 120 as statistical information (step S207).
[0071] Then, the control unit 110 judges whether or not the vicinity of the explanation point has been reached (the current position is in the vicinity of the explanation point) (step S208). In this step, the control unit 110 can judge whether or not the vicinity of the explanation point has been reached by, for example, comparing the current position acquired by the GPS device of the sensor unit 160 with the position information of the explanation point.
[0072] If the current position has not reached the vicinity of the explanation point (step S208; No), the control unit 110 proceeds to step S210. If the current position has reached the vicinity of the explanation point (step S208; Yes), the control unit 110 outputs explanation information corresponding to the explanation point by voice from the speaker of the output unit 140 (step S209), and proceeds to step S210.
[0073] In step S210, the control unit 110 determines whether or not the goal point has been reached. If the goal point has not been reached (step S210; No), the process returns to step S206. If the goal point has been reached (step S210; Yes), the route guidance process ends.
[0074] Based on the condition information transmitted in step S202, the server 200 searches for a route desired by the user, and this process (route search process) will be described with reference to Fig. 17. The route search process is basically a process of extracting explanation points that satisfy the conditions based on the condition information, and transmitting to the electronic device 100 a course that satisfies the conditions from among the courses that pass through the extracted explanation points.
[0075] First, the control unit 210 of the server 200 receives the condition information transmitted from the electronic device 100 via the communication unit 250 (step S301).
[0076] Next, the control unit 210 extracts explanation points that match the received condition information (step S302). The server 200 has performed an explanation point generation process (FIG. 6) in advance, and explanation points to which feature values and explanation information have been added are stored in the explanation point database of the storage unit 220. Therefore, in this step, the control unit 210 extracts explanation points that match the condition information based on the feature values and explanation information of each explanation point.
[0077] Then, based on the information on the start point and the finish point included in the condition information and the map information stored in the memory unit 220, the control unit 210 searches for a route from the start point to the finish point that passes through the explanation point extracted in step S302 and matches the route conditions (e.g., course distance) included in the condition information (step S303).
[0078] Then, the control unit 210 transmits information on the searched route (route information) to the electronic device 100 (step S304), and ends the route search process.
[0079] For example, in the "User running level setting" shown in Fig. 14, an average pace of about 5 minutes / km is selected. Therefore, upon receiving this setting as condition information, the control unit 210 of the server 200 references the level information of each runner from the runner database 221, and extracts runners with an average pace of about 5 minutes / km (for example, runners whose pace is faster than 5 minutes 30 seconds / km and slower than 4 minutes 30 seconds / km) as runners to be searched for. If "Do not set" had been selected here, all runners in the runner database 221 would be the runners to be searched for.
[0080] In addition, in the "Search condition setting for running course" shown in FIG. 15, "current value" is set as the "start point" and "5km" is set as the "course distance". Since "specify finish point" is not checked, nothing is set as the finish point, but in this case, the default finish point (e.g., home) becomes the finish point. In addition, "include as many running POIs as possible", "include points that runners of the same level use as finish points", and "include rest areas that runners frequently stop by" are set as "waypoints". Note that a running POI means an explanation point that is a representative point of a cluster to which a feature point linked to a search target runner belongs. Such an explanation point (running POI) can also be considered as an explanation point linked to a search target runner.
[0081] Therefore, the control unit 210 of the server 200 that has received these settings as condition information first extracts candidates for a running course of about 5 km that starts from the current location and returns to a goal point (e.g., home).Then, the extracted candidates are further narrowed down to running courses by taking into account the settings of the intermediate points.
[0082] For example, to satisfy the condition "including as many running POIs as possible," a course is extracted from among the running course candidates that passes through as many explanatory points as possible linked to the search target runner extracted in the settings of Fig. 14. Then, to satisfy the conditions "including points passed by runners of the same level" and "including rest areas frequently visited by runners," points passed by runners of the same level as the user and rest areas frequently visited by runners are extracted from the runner database 221, and courses that pass through such points are further extracted from the courses extracted so far.
[0083] Then, when the server 200 receives that the user has clicked the "Search" button, the server 200 transmits route information regarding the courses extracted up to that point to the electronic device 100. Then, candidates for running courses that match the conditions set up to that point are displayed on the display of the output unit 140 of the electronic device 100 as "running course search results" as shown in Fig. 16.
[0084] In FIG. 16, it can be seen that the starting point 313 is the current value of ○△ Park, the finishing point 314 is the user's home, the route 311 between them is 5 km long, and the course passes through three explanation points 320. Since "mark running POI" is checked, it can be seen that the explanation points 320 recorded in the explanation point database are displayed with flag marks. Since "mark POI other than running POI" is also checked, it can be seen that the specific point 322 originally included in the map information is also displayed with a flag mark. It also shows that if the user starts from the starting point at the current time of 12:00:00, it is estimated that the user will arrive at the finishing point at 12:32:00 based on the user's activity log data up to now.
[0085] In step S302 of the above-mentioned route search process (FIG. 17), the control unit 210 extracts explanation points from the explanation point database, and therefore extracts explanation points that match the condition information from the new POIs generated by the explanation point generation process. However, in step S302, the control unit 210 may extract explanation points that match the condition information not only from the explanation point database, but also from existing POIs stored as map information in the storage unit 220.
[0086] As described above, the explanation point generation process enables the control unit 210 to generate information on explanation points to which feature quantities and explanation information are added as information for searching for a route that is more suited to the user's desires. Furthermore, the route search process enables the control unit 210 to search for a route that is more suited to the user's desired conditions based on the user's condition information. Furthermore, the route guidance process enables the control unit 110 to notify the user of information explaining the explanation point to the user in the vicinity of the explanation point.
[0087] The search conditions for the running course shown in FIG. 14 and FIG. 15 are merely examples. For example, a search condition may be set to "course with few traffic lights." In this case, if the map information includes information on the positions of traffic lights, the control unit 210 records the center of gravity of an area with few traffic lights as an explanation point (explanation point with few traffic lights) in the explanation point database based on the information, and searches for a course that passes through this explanation point. If the map information does not include information on traffic lights, data that provides information on the positions of traffic lights may be downloaded separately and the center of gravity of an area with few traffic lights may be recorded as an explanation point (explanation point with few traffic lights) in the explanation point database, or the center of gravity of an area where runners rarely stop may be recorded as an explanation point (explanation point with few traffic lights) in the explanation point database based on the activity log data in the runner database 221 stored in the storage unit 220.
[0088] 14, the runners filtered based on average pace are set as search target runners, but runners filtered by score, height, weight, sex, etc., or by a combination of these conditions, may be set as search target runners. Then, the control unit 210 searches for a running course that passes through explanation points used (passed while running) by the search target runner obtained by this filtering (condition filtering).
[0089] In addition, filtering (content filtering) may be performed to set explanation points having similar features to those of explanation points existing in the user's previous course selection history or actual driving history as points passed through on the route. When searching for explanation points with similar features, multiple feature values of the explanation points are normalized and combined into one vector to calculate the feature vector of the explanation point, and points with high similarity (e.g., cosine similarity) are set as explanation points with similar features. The normalized feature values can be calculated, for example, as shown in the following formula (1). Normalized feature a' = (feature a - mean of feature a) / variance of feature a ... (1) In addition, the influence of a feature with low reliability may be reduced by multiplying the right side of equation (1) by the reliability of the feature a (for example, 1 / (1+standard deviation of the feature a)).
[0090] In addition, features with low reliability (cluster representative points FP in Fig. 12) A or FP B In this case, only feature vectors with a certain number or less of unreliable features may be included in the similarity calculation, or the similarity may be calculated after excluding the unreliable features and estimating the unreliable features based on the elements of other vectors before calculating the similarity.
[0091] In addition, filtering (collaborative filtering) may be performed by setting explanation points frequently used by users similar to the user as points to be passed through on the route. Filtering may also be performed by combining these three types of filtering (conditional filtering, content filtering, and collaborative filtering) (for example, by performing AND or OR operations on the results of each filtering). This is a hybrid type of filtering.
[0092] Generally, specific points (existing POIs) included in map information are not assigned feature values like those assigned to the above-mentioned explanation points. However, by manually assigning feature values to specific points to be filtered or by assigning feature values based on information (POI data) of the specific points, not only explanation points but also specific points to which feature values have been assigned can be subject to the above-mentioned filtering. In addition, when feature values are manually assigned to existing POIs, the control unit 210 can associate the description information generated based on the feature values and the feature value correspondence table 222 with the existing POIs stored as map information in the storage unit 220.
[0093] In addition, in the above embodiment, the user's activity is mainly described as running, but the user's activity handled by the electronic device 100 and the server 200 is not limited to running. For example, the user's activity may be walking or cycling. In other words, the user's activity is any activity involving movement. Similarly, the above-mentioned condition information is not limited to information on a running course that satisfies the conditions desired by the user, but is information that represents any condition related to the activity involving movement.
[0094] (Other variations) The electronic device 100 is not limited to a smart watch, and may be realized by a smartphone equipped with the sensor unit 160, a portable tablet, a PC (Personal Computer), or other computer. The server 200 may be realized by a PC or other computer. Specifically, in the above embodiment, the program for the route guidance process executed by the control unit 110 is pre-stored in the storage unit 120, and the program for the explanation point generation process executed by the control unit 210 is pre-stored in the storage unit 220. However, the program may be stored in a non-transitory computer-readable recording medium such as a flexible disk, a CD-ROM (Compact Disc Read Only Memory), a DVD (Digital Versatile Disc), an MO (Magneto-Optical disc), a memory card, a USB memory, or other non-transitory computer-readable recording medium, and distributed. The program may be read into a computer and installed to configure a computer capable of executing each of the above-mentioned processes.
[0095] Furthermore, the program may be superimposed on a carrier wave and applied via a communication medium such as the Internet. For example, the program may be distributed by posting it on a bulletin board system (BBS) on a communication network. The program may then be started and executed under the control of an OS (Operating System) in the same manner as other application programs, thereby enabling the above-mentioned processes to be performed.
[0096] In addition, control unit 110 and control unit 210 may be configured by any processor alone, such as a single processor, a multiprocessor, or a multicore processor, or may be configured by combining any of these processors with a processing circuit such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field-Programmable Gate Array).
[0097] Although the preferred embodiment of the present invention has been described above, the present invention is not limited to the specific embodiment, and the present invention includes the inventions described in the claims and their equivalents. The inventions described in the original claims of this application are listed below.
[0098] (Appendix 1) A control unit is provided, The control unit is Obtaining statistical information corresponding to the location or area obtained by the movement activity; acquiring a feature amount of the position or area obtained based on the statistical information; associate explanatory information corresponding to the feature amount with a representative point that is a point that represents the position or area; 23. An information processing apparatus comprising:
[0099] (Appendix 2) The control unit is acquiring characteristic positions or regions as feature points based on the statistical information; Calculating the representative point from each cluster obtained by clustering the acquired feature points; calculating a feature amount of the representative point based on the statistical information of the feature points belonging to the cluster of the calculated representative point; Corresponding explanation information corresponding to the calculated feature amount to the representative point; 2. The information processing device according to claim 1 .
[0100] (Appendix 3) The control unit is extracting, as a feature point, a position where an absolute amount or a change amount of the statistical information exceeds a threshold; The center of gravity of all the feature points belonging to the cluster is set as the representative point of the cluster. 3. The information processing device according to claim 2.
[0101] (Appendix 4) The control unit is generating the explanatory information from the feature amounts of the representative points by referring to a feature amount correspondence table; Corresponding the generated explanatory information to the representative points; 4. The information processing device according to claim 1,
[0102] (Appendix 5) the feature quantity correspondence table is a table showing correspondence between feature quantity conditions, which are conditions for the feature quantities, and explanatory basic information; The control unit is generating the explanation information to be associated with the representative point based on the explanation basic information corresponding to the feature amount condition when the feature amount of the representative point satisfies the feature amount condition shown in the feature amount correspondence table; Corresponding the generated explanatory information to the representative points; 5. The information processing device according to claim 4.
[0103] (Appendix 6) The control unit is The representative point associated with the explanatory information is recorded in map information as an explanatory point. 2. The information processing device according to claim 1 .
[0104] (Appendix 7) In the map information, a point to which explanatory information is added is recorded as a specific point, The control unit also records the explanation point as the specific point in the map information. 7. The information processing device according to claim 6,
[0105] (Appendix 8) The control unit is acquiring condition information which is information representing a condition related to the activity; searching for a route to be traveled for the activity from the map information including the explanation point based on the condition information; 8. The information processing device according to claim 6 or 7.
[0106] (Appendix 9) A location acquisition unit for acquiring a current location; A control unit, The control unit is Acquire condition information which is information expressing conditions related to an activity involving movement; Transmitting the condition information to an information processing device according to claim 8; The information processing device acquires the route searched for, When the current location acquired by the location acquisition unit reaches the vicinity of the explanation point, the explanation information is output. 1. An electronic device comprising:
[0107] (Appendix 10) The condition information is The information includes at least one of a condition specified by a user, an activity history of the user, and an activity history of a user similar to the user. 10. The electronic device according to claim 9,
[0108] (Appendix 11) The control unit: Obtaining statistical information corresponding to the location or area obtained by the movement activity; acquiring a feature amount of the position or area obtained based on the statistical information; associate explanatory information corresponding to the feature amount with a representative point that is a point that represents the position or area; 23. An information processing method comprising:
[0109] (Appendix 12) A control unit of the information processing device Obtaining statistical information corresponding to the location or area obtained by the movement activity; acquiring a feature amount of the position or area obtained based on the statistical information; associate explanatory information corresponding to the feature amount with a representative point that is a point that represents the position or area; A program characterized by executing a process. [Explanation of symbols]
[0110] 100...electronic device, 110, 210...control unit, 120, 220...storage unit, 121...activity log data, 130, 230...input unit, 140, 240...output unit, 150, 250...communication unit, 160...sensor unit, 200...server, 221...runner database, 222...feature correspondence table, 300, 300A, 300B, 300C...runner, 301...user, 310, 310A, 310B, 310C, 311...route, 312...feature point, 313...start point, 314...goal point, 320...explanation point, 321...explanation information, 322...specific point
Claims
1. Comprising a control unit, The control unit, Obtains statistical information corresponding to a position or area obtained by an activity involving movement, Obtains a feature amount of the position or area obtained based on the statistical information and the reliability of the feature amount, For map information that stores, as first specific location information, the position of a predetermined ground feature and the explanatory information related to the predetermined ground feature in association with each other, for the position information representing a representative point that is a point representing the position or area, explanatory information determined according to the feature amount whose reliability is higher than a predetermined threshold value is associated therewith and stored as second specific location information related to the activity, As a search condition for the movement route in the activity, obtains whether or not to preferentially select the second specific location information as compared with the first specific location information, When it is determined that the second specific location information is to be preferentially selected as the search condition, the second specific location information is preferentially extracted from the map information and the movement route is searched, An information processing apparatus characterized by the above.
2. The control unit, Obtains a characteristic position or area as a feature point based on the statistical information, Calculates the representative point from each cluster obtained by clustering the obtained feature points, 、 Calculates the feature amount of the representative point based on the statistical information of the feature points belonging to the cluster of the calculated representative point, Associates explanatory information corresponding to the calculated feature amount with the position information representing the representative point, The information processing apparatus according to claim 1, characterized by the above.
3. The control unit, Extracts, as feature points, positions where the absolute amount or the amount of change of the statistical information exceeds a threshold value, Sets the center of gravity of the positions of all the feature points belonging to the cluster as the representative point of the cluster, The information processing apparatus according to claim 2, characterized by the above.
4. The control unit, Refers to a feature amount correspondence table and generates the explanatory information from the feature amount of the representative point, Associates the generated explanatory information with the position information representing the representative point, The information processing apparatus according to any one of claims 1 to 3, characterized by the above.
5. The feature amount correspondence table is a table showing the correspondence between a feature amount condition, which is a condition for the feature amount, and explanatory basic information, The control unit, When the feature amount of the representative point satisfies the feature amount condition shown in the feature amount correspondence table, generates the explanatory information to be associated with the representative point based on the explanatory basic information corresponding to the feature amount condition, Associating the generated explanatory information with the position information representing the representative point The information processing apparatus according to claim 4, characterized in that. **Claim 6**: In the map information, the first specific location information includes information on actual features and virtual features, and the second specific location information includes information on the activity involving movement performed by the user. The information processing apparatus according to claim 1, characterized in that. **Claim 7**: In the map information, the second specific location information does not include information on the actual features and the virtual features. The information processing apparatus according to claim 6, characterized in that. **Claim 8** A position acquisition unit that acquires the current position; A control unit, and is provided with: The control unit Acquires condition information, which is information representing conditions related to activities involving movement, Transmits the condition information to the information processing apparatus according to claim 1, Acquires the route searched by the information processing apparatus, When the current position acquired by the position acquisition unit reaches the vicinity of the position information representing the representative point, outputs the explanatory information. The electronic device, characterized in that. **Claim 9** The condition information Includes at least one piece of information among the conditions specified by the user, the activity history of the user, and the activity history of a user similar to the user. The electronic device according to claim 8, characterized in that. **Claim 10** The control unit Acquires statistical information corresponding to a position or area obtained by an activity involving movement, Acquires a feature amount of the position or area obtained based on the statistical information and the reliability of the feature amount, For the map information that stores the position of a predetermined feature and the explanatory information related to the predetermined feature in association as the first specific location information, the reliability is higher than a predetermined threshold value for the position information representing the representative point, which is the point representing the position or area. The explanatory information determined according to the feature amount is associated and stored as the second specific location information related to the activity. As a search condition for the movement route in the activity, acquires whether to preferentially select the second specific location information compared to the first specific location information. When it is determined that the second specific location information is preferentially selected as the search condition, preferentially extracts the second specific location information from the map information and searches for the movement route. The information processing method, characterized in that. **Claim 11** To the control unit of the information processing apparatus, Acquires statistical information corresponding to a position or area obtained by an activity involving movement Obtain the feature amount of the position or region obtained based on the statistical information and the reliability of the feature amount. For the map information that stores the position of a predetermined feature and the explanatory information related to the predetermined feature as the first specific point information in association, associate the explanatory information determined according to the feature amount whose reliability is higher than a predetermined threshold with the position information representing the representative point which is the point representing the position or region, and store it as the second specific point information related to the activity. As a search condition for the movement route in the activity, obtain whether to preferentially select the second specific point information compared with the first specific point information. When it is determined to preferentially select the second specific point information as the search condition, preferentially extract the second specific point information from the map information and search for the movement route. A program characterized by causing the processing to be executed.