Patent Publication Number: US-9897449-B2

Title: Determination device, determination method, and non-transitory computer readable storage medium

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     The present application claims priority to and incorporates by reference the entire contents of Japanese Patent Application No. 2015-238994 filed in Japan on Dec. 7, 2015. 
     BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present invention relates to a determination device, a determination method, and a determination program. 
     2. Description of the Related Art 
     In the conventionally known technology of vehicle navigation (hereinafter also referred to as “navigation”), a vehicle that a user is on board is navigated to a destination by using a mobile terminal device such as a smartphone. Such a terminal device that performs navigation specifies the current position of the vehicle by using a satellite positioning system such as the Global Positioning System (GPS), and displays the specified current position and a screen illustrating a map and a route in an overlapping manner. 
     However, the terminal device is unable to display the current position at places where it is difficult to receive signals from satellites, such as inside of a tunnel. This problem is not limited to the GPS but also occurs to general positioning technologies using external signals (for example, radio waves from a mobile phone (cellular) base station, and wireless LAN radio waves). For this problem, the autonomous positioning technology is available that estimates the current position of the vehicle based on acceleration measured by an acceleration meter. For example, in a disclosed method, a device including an acceleration meter is fixed inside the vehicle in a predetermined orientation, and the traveling state of the vehicle is determined based on acceleration detected by the device. 
     Patent Document 1: Japanese Patent No. 4736866. 
     However, a terminal device such as a smartphone has a different in-car installation orientation depending on, for example, the type of a car that a user is on board and the use condition of a holder holding the terminal device, and thus it is difficult to determine the traveling state of the vehicle in some cases. 
     For example, the terminal device includes an acceleration meter that detects acceleration in an axial direction with respect to the terminal device, and converts the direction of the detected acceleration into a direction with respect to the traveling direction of the vehicle based on the installation orientation of the terminal device. Then, the terminal device specifies the traveling direction and speed of the vehicle by using acceleration in the converted direction, and specifies the current position of the vehicle based on the specified traveling direction and speed. However, the terminal device is unable to convert the direction of the acceleration when the installation orientation is unknown or has changed, which degrades the accuracy of determination of the traveling state. 
     SUMMARY OF THE INVENTION 
     It is an object of the present invention to at least partially solve the problems in the conventional technology. 
     According to one aspect of an embodiment a determination device includes a detection unit that detects acceleration. The determination device includes a setting unit that sets a reference direction based on the acceleration detected by the detection unit. The determination device includes an acquisition unit that acquires a characteristic amount based on acceleration in a direction with respect to the reference direction set by the setting unit. The determination device includes a determination unit that determines a traveling state of a terminal device by using the characteristic amount acquired by the acquisition unit. 
     The above and other objects, features, advantages and technical and industrial significance of this invention will be better understood by reading the following detailed description of presently preferred embodiments of the invention, when considered in connection with the accompanying drawings. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a diagram illustrating an exemplary effect achieved by a terminal device according to an embodiment; 
         FIG. 2  is a diagram illustrating an exemplary functional configuration of the terminal device according to the embodiment; 
         FIG. 3  is a diagram illustrating exemplary information registered in a learning data database according to the embodiment; 
         FIG. 4  is a diagram illustrating exemplary information registered in a test data database according to the embodiment; 
         FIG. 5  is a diagram illustrating exemplary information registered in a model database according to the embodiment; 
         FIG. 6  is a flowchart of an exemplary process of navigation processing executed by the terminal device according to the embodiment; 
         FIG. 7  is a flowchart of an exemplary process of determination processing executed by the terminal device according to the embodiment; 
         FIG. 8  is a flowchart of an exemplary process of acquisition processing executed by the terminal device according to the embodiment; 
         FIG. 9  is a flowchart of an exemplary process of learning processing executed by the terminal device according to the embodiment; and 
         FIG. 10  is a diagram illustrating an exemplary time until stop determination is started. 
     
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     Configurations (hereinafter referred to as “embodiments”) of a determination device, a determination method, and a non-transitory computer readable storage medium according to the present application will be described below in detail with reference to the accompanying drawings. The determination device, the determination method, and the non-transitory computer readable storage medium according to the present application are not limited by these embodiments. In the following embodiments, any identical part or processing is denoted by an identical reference numeral, and any duplicate description thereof will be omitted. 
     The following describes, as processing executed by the determination device, exemplary vehicle navigation in which a vehicle that a user is on board is navigated to a destination, but the embodiments are not limited thereto. For example, the determination device may execute processing described below and execute processing of navigating the user to the destination in a case in which the user is walking or on board transportation means other than a vehicle such as a train. 
     1. Outline of Traveling State 
     The concept of a traveling state determined by a terminal device  10  as an exemplary determination device will be first described with reference to  FIG. 1 .  FIG. 1  is a diagram illustrating an exemplary affect achieved by the terminal device according to an embodiment. For example, the terminal device  10  is a mobile terminal such as a smartphone, a tablet terminal, or a personal digital assistant (PDA), or a terminal device such as a laptop personal computer (PC). The terminal device  10  is a terminal device capable of communicating with a certain server through a network N such as a mobile communication network or a wireless local area network (LAN). 
     The terminal device  10  has a vehicle navigation function that navigates a vehicle C 10  that a user is on board to a destination. For example, having received inputting of a destination from the user, the terminal device  10  acquires route information for guiding the user to the destination, from a server (not illustrated) for example. The route information includes a route to the destination that the vehicle C 10  can take, information on an expressway included in the route, information on congestion on the route, facilities serving as landmarks for navigation, information on a map displayed on a screen, and data of sound and an image such as a map output in navigation. 
     The terminal device  10  has a positioning function of specifying the position (hereinafter referred to as the “current position”) of the terminal device  10  at a predetermined time interval by using a satellite positioning system such as the Global Positioning System (GPS). The terminal device  10  displays an image such as a map included in the route information on a liquid crystal screen, an electroluminescence screen, or a light emitting diode (LED) screen (hereinafter simply referred to as a “screen”), and displays the current position on the map each time the current position is specified. The terminal device  10  displays a left turn or a right turn, a change of a traffic lane to be used, an expected arrival time to the destination, and the like in accordance with the specified current position or outputs such information in sound through, for example, a speaker of the terminal device  10  or the vehicle C 10 . 
     In the satellite positioning system, signals emitted from a plurality of satellites are received and used to specify the current position of the terminal device  10 . Thus, the terminal device  10  is unable to specify the current position, for example, inside of a tunnel or at a place surrounded by buildings, where the signals emitted from the satellites are unable to be received appropriately. In addition, an application or the like that causes the terminal device  10  to perform navigation does not have a function of acquiring information such as the speed and traveling direction of the vehicle C 10  therefrom. Thus, in some methods, an acceleration sensor that measures acceleration is installed in the terminal device  10 , and the position of the terminal device  10  is estimated based on acceleration measured by the acceleration sensor. For example, in such a method, stop determination that determines whether the terminal device  10  is traveling or stopping is performed based on the acceleration measured by the acceleration sensor. 
     The following describes a more specific example. For example, if signals emitted from the satellites cannot be appropriately received, the terminal device  10  determines that the vehicle C 10  is, for example, in a tunnel, and travels forward an estimated position using the last specified vehicle speed and traveling direction. Then, the terminal device  10  determines whether the vehicle C 10  is stopped based on the measured acceleration. If it is determined that the vehicle C 10  is stopped, the movement of the estimated position is stopped. 
     1-1. Exemplary Stop Determination Technology 
     This section describes an exemplary stop determination technology of determining whether the vehicle C 10  is stopped. The technology described in this section is an exemplary technology prior to the present embodiment, but does not belong to the original conventional technology. In other words, the technology described in this section is a technology secretly achieved by the applicant for development, examination, research, and the like, and is not a technology publicly known, publicly used, or known through publication with the secret thereof being disclosed. 
     For example, as illustrated in (A) of  FIG. 1 , the terminal device  10  measures acceleration in x-axis, y-axis, and z-axis directions where an x-axis represents a shorter direction of the screen, a y-axis represents a longer direction of the screen, and a z-axis represents a direction vertical to the screen. For example, the terminal device  10  measures acceleration in such a terminal coordinate system that the positive z-axis direction is toward the front side and the negative z-axis direction is toward the back side when the screen is placed at the front, and the positive x-axis direction is toward the upper side of the screen, the negative x-axis direction is toward the lower side of the screen, the positive y-axis direction is toward the left side of the screen, and the negative y-axis direction is toward the right side of the screen when the terminal device  10  is in use. 
     As illustrated in (B) of  FIG. 1 , the traveling direction and speed of the vehicle C 10  in which the user is on board are defined in the coordinate system of the vehicle C 10  in which a Z-axis is in a direction in which the vehicle C 10  travels, a Y-axis is in a direction in which the vehicle C 10  turns left and right on a plane vertical to the Z-axis, and an X-axis is in the up-down direction of the vehicle C 10 . For example, the traveling direction and speed of the vehicle C 10  are defined in a vehicle coordinate system in which the positive X-axis direction is in the up direction of the vehicle C 10 , the negative X-axis direction is in the down direction (in other words, on the ground side) of the vehicle C 10 , the positive Y-axis direction is in a direction into which the vehicle C 10  turns left, the negative Y-axis direction is a direction into which the vehicle C 10  turns right, the positive Z-axis direction is in the rear direction of the vehicle C 10 , and the negative Z-axis direction is in the front direction of the vehicle C 10 . 
     The terminal device  10  sets the gravitational direction, in other words, the negative X-axis direction of the vehicle coordinate system by using the acceleration measured in the terminal coordinate system, specifies the traveling direction of the vehicle C 10  by using acceleration generated when the vehicle C 10  travels, and calculates a rotation matrix that converts the acceleration measured in the terminal coordinate system into the vehicle coordinate system, based on an estimated reference direction and the traveling direction. Then, the terminal device  10  converts the acceleration in the terminal coordinate system into the acceleration in the vehicle coordinate system by using the rotation matrix, and acquires a total of 18 characteristic amounts of the amplitude, the frequency, the average value, the standard deviation, the maximum value, and the minimum value of the converted acceleration in the axial directions. 
     The terminal device  10  accumulates a characteristic amount as a characteristic amount of the traveling vehicle C 10  if it is acquired when the speed of the vehicle C 10  is equal to or higher than a predetermined threshold, and accumulates a characteristic amount as a characteristic amount of the stopped vehicle C 10  if it is acquired when the speed of the vehicle C 10  is lower than the predetermined threshold. Then, the terminal device  10  learns a stop determination model (achieved by, for example, a support vector machine (SVM) to be described later) that determines whether the vehicle C 10  is stopped, by using the accumulated characteristic amount, and determines whether the vehicle C 10  is stopped at a place such as inside of a tunnel where the satellite positioning system is unavailable, by using the learned stop determination model. 
     However, in such a technology, the traveling direction of the vehicle C 10  is specified by using the acceleration generated when the vehicle C 10  travels, and thus the vehicle C 10  needs to travel for a certain duration so as to calculate the rotation matrix. As a result, for example, when the vehicle C 10  enters a tunnel shortly after navigation has started, the rotation matrix is unable to be calculated and thus the stop determination is unable to start. 
     In addition, some users bring the terminal device  10  with them when getting off the vehicle at, for example, a rest area. As a result, the rotation matrix changes when the orientation of the terminal device  10  changes, and thus the traveling direction needs to be specified again to calculate the rotation matrix based on the specified traveling direction and the reference direction. Even when such processing is executed, however, the stop determination is unable to start until the traveling direction is specified. When a road is inclined, a shift is generated between the terminal coordinate system and the vehicle coordinate system, and thus error is more likely to occur. 
     In another method, the average value of the acceleration measured in the terminal coordinate system is calculated without the coordinate conversion, and the stop determination model is learned from a characteristic amount based on the calculated average value. In such a method, however, the stop determination model must be learned each time the navigation starts because the installation orientation of the terminal device  10  is unknown. Even in this method, the stop determination model needs to be learned every time when the installation orientation of the terminal device  10  changes, and error is more likely to occur when a road is inclined. 
     In particular, when the coordinate conversion is performed on acceleration measured in the terminal coordinate system, the same stop determination model can be used again by specifying the rotation matrix in accordance with the traveling direction of the vehicle C 10 . Without the coordinate conversion on the acceleration, the stop determination model needs to be learned again when the installation orientation of the terminal device  10  changes or every time the navigation starts. 
     2. Determination Processing Executed by the Terminal Device  10  According to the Embodiment 
     The terminal device  10  executes determination processing described below. For example, the terminal device  10  detects acceleration in the terminal coordinate system. The terminal device  10  sets a reference direction based on the detected acceleration. Then, the terminal device  10  acquires a characteristic amount based on acceleration in a direction with respect to the specified reference direction. Thereafter, the terminal device  10  determines the traveling state of the terminal device  10  by using the acquired characteristic amount. 
     The following describes exemplary functional configuration and effect of the terminal device  10  that achieves the determination processing described above with reference to drawings. 
     2-1. Exemplary Functional Configuration 
       FIG. 2  is a diagram illustrating an exemplary functional configuration of the terminal device according to the embodiment. As illustrated in  FIG. 2 , the terminal device  10  includes a communication unit  11 , a recording unit  12 , a plurality of acceleration sensors  13   a  to  13   c  (hereinafter also collectively referred to as an “acceleration sensor  13 ”), a GPS receiving antenna  14 , an output unit  15 , and a control unit  16 . The communication unit  11  is, for example, a network interface card (NIC). The communication unit  11  is connected with the network N in a wired or wireless manner. Having received a destination from the terminal device  10 , the communication unit  11  communicates information between the terminal device  10  and a delivery server that delivers route information indicating a route to the destination. 
     The recording unit  12  is, for example, a semiconductor memory element such as a random access memory (RAM) or a flash memory, or a storage device such as a hard disk or an optical disk. The recording unit  12  includes a navigation information database  12   a , a learning data database  12   b , a test data database  12   c , and a model database  12   d  that store therein various pieces of data used to execute navigation. 
     The navigation information database  12   a  registers therein various pieces of data used by the terminal device  10  performing navigation. For example, the navigation information database  12   a  stores therein the route information to a destination received from, for example, a server not illustrated. The navigation information database  12   a  stores therein, for example, various kinds of images and sound data that are output in navigation. 
     The learning data database  12   b  registers therein learning data used to learn the stop determination model. Specifically, the learning data database  12   b  registers therein a predetermined number of characteristic amounts collected at each traveling speed of the terminal device  10 . 
       FIG. 3  is a diagram illustrating exemplary information registered in the learning data database according to the embodiment. As illustrated in  FIG. 3 , the learning data database  12   b  registers therein information including items of “State”, “speed range”, and “data # 1 ” to “data # 10 ”. The item of “state” is information indicating whether associated learning data is data indicating a traveling state or data indicating a stopped state. The item of “speed range” is information indicating the traveling speed of the terminal device  10  at the timing when an associated characteristic amount is collected. The items of “data # 1 ” to “data # 10 ” are data of characteristic amounts. 
     For example, in the example illustrated in  FIG. 3 , the learning data database  12   b  registers therein, as learning data indicating “stopped state”, “characteristic amount # 1 - 1 ” to “characteristic amount # 1 - 60 ” that are data of characteristic amounts collected when the traveling speed of the terminal device  10  is “0 km/h (kilometer per hour) to 5 km/h”. The learning data database  12   b  registers therein, as learning data indicating “traveling state”, “characteristic amount # 2 - 1 ” to “characteristic amount # 2 - 10 ” that are data of characteristic amounts collected when the traveling speed of the terminal device  10  is “5 km/h (kilometer per hour) to 15 km/h”. 
     The learning data database  12   b  additionally registers therein 10 pieces of data of characteristic amounts collected when the traveling speed of the terminal device  10  is in each of the speed ranges of “15 km/h (kilometer per hour) to 25 km/h”, “25 km/h to 35 km/h”, “35 km/h to 45 km/h”, “45 km/h to 55 km/h”, and “55 km/h or higher”. 
     In other words, in the example illustrated in  FIG. 3 , the learning data database  12   b  registers therein 60 pieces of learning data indicating the traveling state and 60 pieces of learning data indicating the stopped state. In the example illustrated in  FIG. 3 , a conceptual value such as “characteristic amount # 1 - 1 ” is listed as data indicating a characteristic amount, but the embodiment is not limited thereto. It becomes clear in later description that the learning data database  12   b  registers therein, as data indicating characteristic amounts, the average value, the standard deviation, the maximum value, and the minimum value of a pair of the magnitude of acceleration in the reference direction and the magnitude of acceleration on a plane vertical to the reference direction. 
     The test data database  12   c  registers therein characteristic amounts as a model for determining the traveling state of the terminal device  10 , in other words, test data used to test the stop determination model. For example,  FIG. 4  is a diagram illustrating exemplary information registered in the test data database according to the embodiment. As illustrated in  FIG. 4 , the test data database  12   c  registers therein information including items of “state”, “test data # 1 ”, “test data # 2 ”, and the like. The item of “state” illustrated in  FIG. 4  is information indicating whether associated test data is data indicating the traveling state or data indicating the stopped state. The items of “test data # 1 ” and “test data # 2 ” are data of characteristic amounts indicating the traveling state or the stopped state. 
     For example, in the example illustrated in  FIG. 4 , the test data database  12   c  registers therein “test data # 1 - 1 ” and “test data # 1 - 2 ” as test data indicating “stopped state” and registers therein “test data # 2 - 1 ” and “test data # 2 - 2 ” as test data indicating “traveling state”. The test data database  12   c  registers therein a plurality of pieces of test data indicating “stopped state” and “traveling state” (for example, 60 pieces of test data each) in addition to the test data illustrated in  FIG. 4 . The test data database  12   c  registers therein a larger number of characteristic amounts as test data than those in the learning data database  12   b.    
     The model database  12   d  stores therein a plurality of models for determining the traveling state of the terminal device  10  when a characteristic amount based on acceleration is input, which are models with different parameters, in other words, a plurality of stop determination models. Each stop determination model is achieved by, for example, a support vector machine (SVM). 
     For example,  FIG. 5  is a diagram illustrating exemplary information registered in the model database according to the embodiment. As illustrated in  FIG. 5 , the model database  12   d  registers therein information including items of “model ID (identifier)”, “model data”, “correctness rate (%)”, and “use flag”. The item of “model ID” is the identifier of a model. The item of “model data” is learned model data. 
     The item of “correctness rate (%)” is a correctness rate in percentage when a model is tested by using test data. The item of “use flag” is information indicating a model used by the terminal device  10  as the stop determination model from among models registered in the model database  12   d . In the example illustrated in  FIG. 5 , model data of ten models indicated by the model IDs of “model # 1 ” to “model # 10 ” is stored, but the embodiment is not limited thereto, and model data of a certain number of models may be registered. 
     For example, in the example illustrated in  FIG. 5 , the model database  12   d  registers therein “model data # 1 ” as data of a model indicated by “model # 1 ”, and “98” % as the correctness rate of the model indicated by “model # 1 ” when test data is used. The model database  12   d  registers therein information indicating that the model indicated by “model # 1 ” is used from among models indicated by “model # 1 ” to “model # 10 ”. 
     The following description is made with reference to  FIG. 2 . An acceleration sensor  13  measures the magnitude and direction of acceleration exerted on the terminal device  10  at a predetermined time interval (for example, five milliseconds). For example, the acceleration sensor  13   a  measures acceleration in the x-axis direction of the terminal coordinate system. The acceleration sensor  13   b  measures acceleration in the y-axis direction of the terminal coordinate system. The acceleration sensor  13   c  measures acceleration in the z-axis direction of the terminal coordinate system. In other words, the terminal device  10  can acquire a vector representing the direction and magnitude of acceleration with respect to the terminal device  10  by setting the acceleration measured by the acceleration sensors  13   a  to  13   c  to be acceleration in the axial directions of the terminal coordinate system. 
     The GPS receiving antenna  14  is an antenna for receiving, from satellites, signals used in the satellite positioning system such as the GPS. The output unit  15  includes the screen for displaying a map and the current position when navigation is performed, and the speaker for outputting sound. 
     The control unit  16  is achieved by, for example, a central processing unit (CPU), a micro processing unit (MPU), an application specific integrated circuit (ASIC), or a field programmable gate array (FPGA) executing various kinds of computer programs stored in a storage device inside the terminal device  10  by using a storage region such as a RAM as a work area. In the example illustrated in  FIG. 2 , the control unit  16  includes a navigation execution unit  17 , a sound output unit  18 , an image output unit  19 , and a traveling state determination unit  20  (hereinafter also collectively referred to as processing units  17  to  20 ). The traveling state determination unit  20  includes a detection unit  21 , a setting unit  22 , a conversion unit  23 , an acquisition unit  24 , a determination unit  25 , a collection unit  26 , a learning unit  27 , and an update unit  28 . 
     A connection relation among the processing units  17  to  20  included in the control unit  16  is not limited to the connection relation illustrated in  FIG. 2 , but may be any other connection relation. The processing units  17  to  20  achieve and execute the functions and effects (for example,  FIG. 1 ) of navigation processing as described below, but these units are in functional units organized for description and do not necessarily represent actual hardware elements and software modules. In other words, the terminal device  10  may achieve and execute the navigation processing in certain function units that can achieve and execute the function and effect of the navigation processing. 
     2-2. Exemplary Effect of Navigation Processing 
     The following describes the content of the navigation processing executed and achieved by the processing units  17  to  20  with reference to a flowchart illustrated in  FIG. 6 .  FIG. 6  is a flowchart of an exemplary process of the navigation processing executed by the terminal device according to the embodiment. 
     First, the navigation execution unit  17  determines whether a destination is input by the user (step S 101 ). If a destination is input (Yes at step S 101 ), the navigation execution unit  17  acquires route information from an external server not illustrated (step S 102 ). Then, the navigation execution unit  17  determines whether the GPS is available (step S 103 ). 
     For example, the navigation execution unit  17  determines that the GPS is unavailable, for example, if the GPS receiving antenna  14  cannot receive signals from satellites or if the number of satellites from which signals have been received is smaller than a predetermined threshold (Yes at step S 103 ). The navigation execution unit  17  then acquires a current position based on the traveling direction and speed of the vehicle C 10  estimated by the traveling state determination unit  20  (step S 104 ). For example, the navigation execution unit  17  acquires the current position estimated by the traveling state determination unit  20 . Specific content of the processing in which the traveling state determination unit  20  estimates the current position of the vehicle C 10  will be described later. 
     Having determined that the GPS can be used (No at step S 103 ), the navigation execution unit  17  specifies a current position by using the GPS (step S 105 ). Then, the navigation execution unit  17  controls the sound output unit  18  and the image output unit  19  so as to output navigation by using the current position obtained by using the GPS or the estimated current position (step S 106 ). For example, the sound output unit  18  outputs, from the output unit  15  under control of the navigation execution unit  17 , sound indicating, for example, the current position and a direction in which the vehicle C 10  needs to travel ahead. The image output unit  19  outputs, from the output unit  15  under control of the navigation execution unit  17 , for example, an image illustrating the current position and a map thereof in an overlapping manner and an image illustrating a direction in which the vehicle C 10  needs to travel ahead. 
     Subsequently, the navigation execution unit  17  determines whether the current position is near the destination (step S 107 ). Having determined that the current position is near the destination (Yes at step S 107 ), the navigation execution unit  17  controls the sound output unit  18  and the image output unit  19  to output end navigation indicating the end of navigation (step S 108 ), and ends the present processing. Having determined that the current position is not near the destination (No at step S 107 ), the navigation execution unit  17  executes step S 103 . If no destination is input (No at step S 107 ), the navigation execution unit  17  waits for the input. 
     2-3. Exemplary Effect of Determination Processing 
     The following describes the content of the determination processing executed and achieved by the determination unit  25  with reference to a flowchart illustrated in  FIG. 7 .  FIG. 7  is a flowchart of an exemplary process of the determination processing executed by the terminal device according to the embodiment. For example, if it is determined that the GPS cannot be used at step S 103  in  FIG. 6 , the determination unit  25  executes the determination processing illustrated in  FIG. 7 . A result of the determination processing illustrated in  FIG. 7  is output to the navigation execution unit  17  as the current position estimated by the traveling state determination unit  20 . 
     First, the determination unit  25  estimates the current position by assuming that the vehicle C 10  has traveled ahead in a traveling direction measured when the GPS becomes unavailable, from a position at which the GPS becomes unavailable, at a speed measured when the GPS becomes unavailable (step S 201 ). For example, if the vehicle C 10  enters a tunnel, the determination unit  25  estimates the current position by assuming that the vehicle C 10  is traveling ahead in a direction when the vehicle C 10  enters the tunnel, at a speed when the vehicle C 10  enters the tunnel. The determination unit  25  may acquire information of a route on which the vehicle C 10  is traveling from the navigation information database  12   a , and estimate that the vehicle C 10  is traveling along the acquired route. 
     Subsequently, the determination unit  25  reads a selected model, in other words, a model having a use flag of “1” from the model database  12   d  (step S 202 ). The model read by the determination unit  25  is learned and selected by acquisition processing and learning processing to be described later. 
     Then, the determination unit  25  determines whether the vehicle C 10  is in the stopped state by using the read model (step S 203 ). Specifically, the determination unit  25  determines whether the vehicle C 10  is in the stopped state by inputting, into the read model, a characteristic amount acquired by the acquisition unit  24  to be described later. In other words, the determination unit  25  determines the traveling state of the terminal device  10  by using a model that has learned a characteristic of the characteristic amount. In this manner, the determination unit  25  determines the traveling state of the terminal device  10  by using the characteristic amount acquired by the acquisition unit  24 . 
     Then, if is determined that the vehicle C 10  is in the stopped state (Yes at step S 203 ), the determination unit  25  stops the movement of an estimated current position (step S 204 ). It is determined that the vehicle C 10  is not in the stopped state (No at step S 203 ), the determination unit  2 S executes step S 201 . For example, if is determined that the vehicle C 10  is in the traveling state after determined that the vehicle C 10  is in the stopped state, the determination unit  25  estimates the current position by assuming that the vehicle C 10  has started traveling ahead in the direction in which the vehicle C 10  has entered the tunnel, at the speed at which the vehicle C 10  has entered the tunnel. 
     2-4. Exemplary Effect of Acquisition Processing 
     The following describes the content of the acquisition processing executed and achieved by the detection unit  21 , the setting unit  22 , the conversion unit  23 , and the acquisition unit  24  with reference to a flowchart illustrated in  FIG. 8 .  FIG. 8  is a flowchart of an exemplary process of the acquisition processing executed by the terminal device according to the embodiment. The detection unit  21 , the setting unit  22 , the conversion unit  23 , and the acquisition unit  24  execute the acquisition processing illustrated in  FIG. 8  in a cycle of a predetermined duration (for example, one second). 
     For example, the detection unit  21  acquires acceleration from the acceleration sensor  13  (step S 301 ). Specifically, the acceleration sensor  13  acquires the magnitude of acceleration measured in each of the x-axis, y-axis, and z-axis directions of the terminal coordinate system at a predetermined time interval. The detection unit  21  calculates the average value of the magnitude of acceleration measured by the acceleration sensor  13  in the predetermined duration, for each axial direction of the terminal coordinate system (step S 302 ). For example, the detection unit  21  collects, for one second, acceleration in the terminal coordinate system detected by the acceleration sensor  13  at every five milliseconds. Then, the detection unit  21  calculates an average value x m  of the collected acceleration in the x-axis direction, an average value y m  thereof in the y-axis direction, and an average value z m  thereof in the z-axis direction, and sets an average vector G to be a vector (x m , y m , z m ) made of the calculated average values in the axial directions. 
     Subsequently the setting unit  22  sets the reference direction based on the acceleration calculated by the detection unit  21  (step S 303 ). More specifically, the setting unit  22  sets the reference direction to be the direction of the average vector G made of the average values of the acceleration calculated by the detection unit  21  as illustrated in (C) of  FIG. 1 . 
     Subsequently, the conversion unit  23  calculates a rotation matrix that aligns a predetermined axial direction of the terminal coordinate system with the reference direction set by the setting unit  22  (step S 304 ). Then, the conversion unit  23  converts, by using the calculated rotation matrix, each component of the acceleration acquired in the terminal coordinate system by the detection unit  21  (step S 305 ). In other words, the conversion unit  23  converts the acceleration acquired by the detection unit  21  into acceleration in a coordinate system with respect to the reference direction instead of the vehicle coordinate system. 
     For example, as illustrated in (D) of  FIG. 1 , the setting unit  22  sets the direction of the average vector G of the acceleration as a reference. Then, as illustrated in (E) of  FIG. 1 , the conversion unit  23  calculates a rotation matrix that aligns the negative x-axis direction of the terminal coordinate system with the direction of the average vector G. The conversion unit  23  may employ any rotation matrix that aligns the negative x-axis direction of the terminal coordinate system with the direction of the average vector G. In other words, the conversion unit  23  may employ a rotation matrix that rotates the y-axis direction or the z-axis direction in a certain direction. 
     Then, as illustrated in (F) of  FIG. 1 , the conversion unit  23  converts the acceleration measured in the terminal coordinate system into a coordinate system (hereinafter referred to as an estimation coordinate system) with respect to the average values of the acceleration by using the calculated rotation matrix: In the following description, the negative x-axis direction is defined to be the direction of the average vector G in the estimation coordinate system. In the following description, the negative x-axis direction in the estimation coordinate system is also referred to as the reference direction. 
     Subsequently, the acquisition unit  24  calculates the magnitude of an acceleration vector on a plane (hereinafter referred to as a horizontal plane) vertical to the direction of the average vector, in other words, on the yz plane in the estimation coordinate system (step S 306 ). Then, the acquisition unit  24  acquires a characteristic amount based on a pair of the magnitude of the average vector and the magnitude of the acceleration vector on the horizontal plane (step S 307 ). 
     For example, as illustrated in (G) of  FIG. 1 , the acquisition unit  24  calculates, among axial components of the acceleration provided with the coordinate conversion by the conversion unit  23 , a pair of a magnitude “a_hor” of acceleration on the horizontal plane and a magnitude “a_ver” of acceleration of the average vector G, in other words, the magnitude of acceleration in the reference direction in the estimation coordinate system. More specifically, the acquisition unit  24  calculates the square root of the sum of the square of the component “a_y” and the square of the component “a_z” to be “a_hor”, where “a_x, a_y, a_z” represent the components of the acceleration in the estimation coordinate system. 
     Then, as illustrated in (H) of  FIG. 1 , the acquisition unit  24  acquires, as characteristic amounts, the average value, the maximum value, the minimum value, and the standard deviation of the calculated pair of “a_hor” and “a_ver”, in other words, “(a_ver, a_hor)” as a pair of the magnitude of acceleration on the horizontal plane and the magnitude of acceleration in the reference direction, in the predetermined duration. The acquisition unit  24  may acquire, as a characteristic amount, at least one of the average value, the maximum value, the minimum value, and the standard deviation of “(a_ver, a_hor)” in the predetermined duration. In this manner, the acquisition unit  24  acquires the characteristic amounts based on the acceleration in a direction with respect to the reference direction. Then, the determination unit  25  determines the traveling state of the terminal device  10  by using the characteristic amounts acquired by the acquisition unit  24 . 
     In this manner, the terminal device  10  sets, without calculating the gravitational direction and the traveling direction of the vehicle C 10 , the direction of the average vector as a reference direction for performing the stop determination. It is presumed that the average vector indicates the direction of the gravitational acceleration when the vehicle C 10  is stopped or traveling at a constant speed. Thus, when the vehicle C 10  is stopped or traveling at a constant speed, the reference direction is aligned with the direction of the gravitational acceleration. When the vehicle C 10  is accelerating or decelerating, it is presumed that the direction of the average vector G is shifted from the direction of the gravitational acceleration. 
     It becomes clear in later description, however, that the terminal device  10  learns a model for performing the stop determination, by using a characteristic amount based on acceleration. More specifically, the terminal device  10  learns a model for performing the stop determination, based on a characteristic amount of acceleration when the vehicle C 10  is traveling, and a characteristic amount of acceleration when the vehicle C 10  is stopped. A model that performs such learning allows determination of whether the vehicle C 10  is stopped based on the characteristic amounts irrespective of the gravitational direction and the traveling direction of the vehicle C 10 , and thus can absorb the influence of any error that may exist in the direction of the average vector G and the direction of the gravitational acceleration. 
     2-5. Exemplary Effect of Learning Processing 
     The following describes the content of the learning processing executed and achieved by the collection unit  26 , the learning unit  27 , and the update unit  28  with reference to a flowchart illustrated in  FIG. 9 .  FIG. 9  is a flowchart of an exemplary process of the learning processing executed by the terminal device according to the embodiment. The collection unit  26 , the learning unit  27 , and the update unit  28  may execute the processing illustrated in  FIG. 9 , for example, each time a characteristic amount is acquired by the acquisition unit  24 , or at a predetermined time interval. The processing illustrated in  FIG. 9  is always executed while an application that achieves navigation is being executed. 
     For example, the collection unit  26  collects a predetermined number of characteristic amounts acquired by the acquisition unit  24  at each traveling speed of the terminal device  10  (step S 401 ). More specifically, the collection unit  26  sequentially collects a predetermined number of latest characteristic amounts from among characteristic amounts acquired by the acquisition unit  24  at each traveling speed of the terminal device  10 . Then, the collection unit  26  registers the collected characteristic amounts in the learning data database  12   b  (step S 402 ). 
     Specifically, when the acquisition unit  24  has acquired characteristic amounts, the collection unit  26  specifies the traveling speed of the terminal device  10  by using the positioning system such as the GPS. Then, the collection unit  26  registers, in the learning data database  12   b , the acquired characteristic amounts as learning data in association with a speed range including the specified traveling speed. If the number of pieces of learning data associated with the speed range including the specified traveling speed has reached an upper limit (for example, “10” for the traveling state, and “60” for the stopped state), the collection unit  26  updates the oldest learning data among the associated learning data to a newly acquired characteristic amount. 
     In other words, if a characteristic amount of which the speed specified by using the GPS is equal to or lower than the predetermined threshold is set to be a characteristic amount indicating the stopped state, and any other characteristic amount is set to be a characteristic amount indicating the traveling state, bias in collected characteristic amounts leads to degradation of a model determination accuracy. For example, when a model is learned with learning data in which a majority of characteristic amounts are collected when the terminal device  10  is traveling at 80 km/h or higher, the determination accuracy degrades when the terminal device  10  is traveling in another speed range. For this reason, the collection unit  26  sequentially collects a predetermined number of latest characteristic amounts as learning data at each speed range. As a result, the collection unit  26  reduces such speed bias in learning data of the traveling state, and thus can achieve an improved accuracy of the stop determination with a model learned by using the learning data registered in the learning data database  12   b.    
     When a single model is simply learned, it is unable to be determined whether this model is a model for performing optimum determination. It is presumed that parameters of a model for appropriately performing the stop determination dynamically change depending on, for example, the orientation of the terminal device  10 , the specification of the vehicle C 10 , and a movement characteristic of the vehicle C 10 . 
     Thus, the learning unit  27  learns a model with new parameters by using the learning data registered in the learning data database  12   b  (step S 403 ). Then, the learning unit  27  stores the learned model in the model database  12   d . It is expected that, when the vehicle C 10  is stopped, the value of “a_ver” and the reference direction are substantially equal to those of the gravitational acceleration, and the value of “a_hor” is substantially zero because there is no vibration from a road surface. When the vehicle C 10  is traveling at a constant speed, it is presumed that the maximum values, the minimum values, and the standard deviations of “a_ver” and “a_hor” are different from those of the stopped vehicle C 10 , due to random vibration from a road surface. When the vehicle C 10  is accelerating or decelerating, acceleration due to the acceleration or deceleration of the vehicle C 10  is added to the gravitational acceleration; therefore, it is estimated that the magnitude of “a_ver” becomes larger than the gravitational acceleration, and “a_hor” is different from that of the stopped vehicle C 10 . Thus, the learning unit  27  can learn a model for determining whether the vehicle C 10  is stopped based on the average values, the minimum values, the maximum values, and the standard deviations of “(a_ver, a_hor)”. 
     The terminal device  10  sets, without calculating the gravitational direction and the traveling direction of the vehicle C 10 , the direction of the average vector as a reference direction for performing the stop determination. As a result of any error in the direction of the average vector G and the direction of the gravitational acceleration, a difference is generated between a characteristic amount acquired when the vehicle C 10  is traveling at a constant speed or is accelerating or decelerating, and a characteristic amount acquired when the vehicle C 10  is stopped. Thus, a terminal device  10  can learn a model that allows the stop determination with higher accuracy. 
     Subsequently, the learning unit  27  calculates the correctness rate of each model by using the test data registered in the test data database  12   c  (step S 404 ), and registers the calculated correctness rate in the model database  12   d . For example, the learning unit  27  inputs all pieces of learning data into each model to calculate a stopping correctness rate, which is a ratio of determination of the stopped state when test data indicating the stopped state, is input to the model, and a traveling correctness rate, which is a ratio of determination of the traveling state when test data indicating the traveling state, is input to the model. Then, the learning unit  27  calculates a correctness rate as the sum of the integrated value of the stopping correctness rate and a predetermined coefficient β and the integrated value of the traveling correctness rate and a predetermined coefficient α. The coefficient α and the coefficient β are set such that the sum thereof is “1” and adjusted depending on which of the stop and traveling determinations is weighted. 
     Subsequently, the learning unit  27  selects a model having the highest correctness rate from among the models registered in the model database  12   d  (step S 405 ), and sets “1” to a use flag associated with the selected model. 
     As a result of such learning processing, the determination unit  25  can determine the traveling state of the terminal device  10  by using a predetermined number of characteristic amounts collected at each traveling speed of the terminal device  10 . The determination unit  25  can determine the traveling state of the terminal device  10  by using a model having the highest correctness rate among the models stored in the model database  12   d.    
     The determination unit  25  starts the stop determination by using a model having a use flag of “1” among the models registered in the model database  12   d , for example, at activation of an application that achieves the various types of processing described above. In other words, the terminal device  10  stores therein information indicating a model selected at the previous activation of the application, and resumes the stop determination by using the model indicated by the stored information. As a result, the terminal device  10  can eliminate a time duration in which the stop determination is unable to be performed. 
     If the number of pieces of learning data indicating the traveling state and the number of pieces of learning data indicating the stopped state reach predetermined numbers as a result of the collection by the collection unit  26 , the learning unit  27  may execute the learning processing described above to generate a model. Thereafter, the learning unit  27  may delete all data registered in the learning data database  12   b , and then repeat learning of a model once the collection unit  26  finishes collecting the sufficient amount of new learning data again. 
     The collection unit  26  may collect test data. For example, the collection unit  26  may register a characteristic amount collected when the traveling speed of the terminal device  10  is “0” as test data indicating the stopped state in the test data database  12   c , and may register a characteristic amount collected when the traveling speed of the terminal device  10  is in a predetermined range (for example, 5 km/h or higher) as test data indicating the traveling state in the test data database  12   c . The collection unit  26  may replace the oldest test data among the test data registered in the test data database  12   c  with a newly collected characteristic amount. 
     Subsequently, the update unit  28  updates a model having the lowest correctness rate among a plurality of models stored in the model database  12   d  to a newly learned model (step S 406 ). For example, the update unit  28  deletes the model having the lowest correctness rate among the models stored in the model database  12   d , and generates a new model having parameters different from those of any model registered in the model database  12   d . Then, the update unit  28  registers this new model in the model database  12   d.    
     A newly registered model has a fewer number of learning times than those of other models and thus is expected to have a lower correctness rate. Thus, the update unit  28  does not need to perform the model update if the finally registered model has the lowest correctness rate of a plurality of models stored in the model database  12   d . With such processing, the terminal device  10  can maintain possibility of improving the accuracy of the stop determination. 
     The learning processing illustrated in  FIG. 9  may be executed at a certain timing and a certain scale. For example, the terminal device  10  may always execute the processing at steps S 401  and S 402 , and execute the processing at step S 403  or later if the rate of collection of learning data becomes equal to or larger than a predetermined threshold in each speed range. Alternatively, the terminal device  10  may repeatedly execute the processing at step S 403  or later in a constant cycle. 
     3. Exemplary Time Until Determination Start 
     The following describes an exemplary time until the terminal device  10  starts the stop determination with reference to  FIG. 10 .  FIG. 10  is a diagram illustrating an exemplary time until the stop determination in started. For example, in a method using the conventional model as illustrated in (A) of  FIG. 10 , for a while after activation as illustrated in (B) of  FIG. 10 , the traveling direction of the vehicle C 10  is specified based on the acceleration measured while the vehicle C 10  is traveling, and the stop determination starts after the traveling direction is specified. With this configuration, as illustrated in (C) of  FIG. 10 , the stop determination is unable to start until the traveling direction of the vehicle C 10  is specified. 
     In processing according to the present embodiment as illustrated in (D) of  FIG. 10 , however, a conversion expression that aligns the negative x-axis direction with the direction of the average vector G is periodically calculated while the traveling direction is not specified as illustrated in (E) of  FIG. 10 , and simultaneously, characteristic amounts (the average value, the minimum value, the maximum value, and the standard deviation of the magnitude of acceleration) are calculated in a similar cycle as illustrated in (F) of  FIG. 10 . Then, the calculated characteristic amounts are used to execute the stop determination. This configuration allows the terminal device  10  to swiftly start the stop determination. If information indicating a previously used model is stored, the terminal device  10  can start the stop determination right after the activation by using the previously used model as illustrated in (G) of  FIG. 10 . 
     In this manner, the terminal device  10  sets the reference direction based on the average value of acceleration, and acquires a characteristic amount based on acceleration in a direction with respect to the reference direction. Then, the terminal device  10  performs the stop determination by using the acquired characteristic amount. This configuration allows the terminal device  10  to swiftly execute the stop determination without specifying the traveling direction to calculate the rotation matrix that converts the terminal coordinate system into the vehicle coordinate system. 
     The terminal device  10  can perform the atop determination without calculating the direction of the gravitational acceleration and the traveling direction of the vehicle C 10 . For example, the terminal device  10  converts the terminal coordinate system into the estimation coordinate system based only on measured acceleration, in other words, a coordinate system independent of a change in the orientation of the terminal device  10 . As a result, the terminal device  10  performs the coordinate conversion that absorbs the influence of a change in the orientation of the terminal device  10 , and thus can achieve the stop determination irrespective of the change in the orientation of the terminal device  10 . In particular, the terminal device  10  periodically calculates the rotation matrix, and thus can eliminate the need for another learning of a model for performing the stop determination based on a characteristic amount dependent on the direction of the gravitational acceleration and the traveling direction of the vehicle C 10 , in other words, a characteristic amount that requires a time for acquisition and specification thereof. As a result, the terminal device  10  can perform the stop determination shortly after activation or an orientation change. In other words, the terminal device  10  does not need to learn the stop determination model each time an application is used. The terminal device  10  stores a model used at the last activation, thereby enabling a swift resuming of the stop determination by using the stored model. 
     4. Exemplary Expressions 
     The following describes, with reference to expressions, exemplary processing executed by the conversion unit  23  to calculate the rotation matrix that converts the terminal coordinate system into the estimation coordinate system. The processing executed by the conversion unit  23  is not limited to processing represented by the expressions below. For example, the conversion unit  23  may perform the coordinate conversion from the terminal coordinate system into the estimation coordinate system by using an expression of a linear transform. 
     For example, x-, y-, and z-axes represent the axes of the terminal coordinate system, and X-, Y-, and Z-axes represent the axes of the estimation coordinate system. With this notation, the processing of converting the estimation coordinate system into the terminal coordinate system is represented by Expression (1) below. In Expression (1), α represents a rotation angle about the x-axis, β represents a rotation angle about the y-axis, γ represents rotation angle about the z-axis, R x (α) represents a rotation matrix that performs coordinate conversion through rotation about the x-axis, R y (β) represents a rotation matrix that performs coordinate conversion through rotation about the y-axis, and R z (γ) represents a rotation matrix that performs coordinate conversion through rotation about the z-axis. 
     
       
         
           
             
               
                 
                   
                     ( 
                     
                       
                         
                           x 
                         
                       
                       
                         
                           y 
                         
                       
                       
                         
                           z 
                         
                       
                     
                     ) 
                   
                   = 
                   
                     
                       
                         R 
                         
                           z 
                           ⁢ 
                           
                               
                           
                         
                       
                       ⁡ 
                       
                         ( 
                         γ 
                         ) 
                       
                     
                     ⁢ 
                     
                       
                         R 
                         y 
                       
                       ⁡ 
                       
                         ( 
                         β 
                         ) 
                       
                     
                     ⁢ 
                     
                       
                         R 
                         x 
                       
                       ⁡ 
                       
                         ( 
                         α 
                         ) 
                       
                     
                     ⁢ 
                     
                       ( 
                       
                         
                           
                             X 
                           
                         
                         
                           
                             Y 
                           
                         
                         
                           
                             Z 
                           
                         
                       
                       ) 
                     
                   
                 
               
               
                 
                   ( 
                   1 
                   ) 
                 
               
             
           
         
       
     
     The rotation matrix R x (α), the rotation matrix R y (β) and the rotation matrix R z (γ) (hereinafter also collectively referred to as “rotation matrices”) can be represented by Expressions (2) to (4) below. In the estimation coordinate system, the negative x-axis direction just needs to be aligned with the direction of the average vector G, and thus α can be set to an arbitrary value. 
     
       
         
           
             
               
                 
                   
                     
                       R 
                       x 
                     
                     ⁡ 
                     
                       ( 
                       α 
                       ) 
                     
                   
                   = 
                   
                     ( 
                     
                       
                         
                           1 
                         
                         
                           0 
                         
                         
                           0 
                         
                       
                       
                         
                           0 
                         
                         
                           
                             cos 
                             ⁢ 
                             
                                 
                             
                             ⁢ 
                             α 
                           
                         
                         
                           
                             
                               - 
                               sin 
                             
                             ⁢ 
                             
                                 
                             
                             ⁢ 
                             α 
                           
                         
                       
                       
                         
                           0 
                         
                         
                           
                             sin 
                             ⁢ 
                             
                                 
                             
                             ⁢ 
                             α 
                           
                         
                         
                           
                             cos 
                             ⁢ 
                             
                                 
                             
                             ⁢ 
                             α 
                           
                         
                       
                     
                     ) 
                   
                 
               
               
                 
                   ( 
                   2 
                   ) 
                 
               
             
             
               
                 
                   
                     
                       R 
                       y 
                     
                     ⁡ 
                     
                       ( 
                       β 
                       ) 
                     
                   
                   = 
                   
                     ( 
                     
                       
                         
                           
                             cos 
                             ⁢ 
                             
                                 
                             
                             ⁢ 
                             β 
                           
                         
                         
                           0 
                         
                         
                           
                             sin 
                             ⁢ 
                             
                                 
                             
                             ⁢ 
                             β 
                           
                         
                       
                       
                         
                           0 
                         
                         
                           1 
                         
                         
                           0 
                         
                       
                       
                         
                           
                             
                               - 
                               sin 
                             
                             ⁢ 
                             
                                 
                             
                             ⁢ 
                             β 
                           
                         
                         
                           0 
                         
                         
                           
                             cos 
                             ⁢ 
                             
                                 
                             
                             ⁢ 
                             β 
                           
                         
                       
                     
                     ) 
                   
                 
               
               
                 
                   ( 
                   3 
                   ) 
                 
               
             
             
               
                 
                   
                     
                       R 
                       z 
                     
                     ⁡ 
                     
                       ( 
                       γ 
                       ) 
                     
                   
                   = 
                   
                     ( 
                     
                       
                         
                           
                             cos 
                             ⁢ 
                             
                                 
                             
                             ⁢ 
                             γ 
                           
                         
                         
                           
                             
                               - 
                               sin 
                             
                             ⁢ 
                             
                                 
                             
                             ⁢ 
                             γ 
                           
                         
                         
                           0 
                         
                       
                       
                         
                           
                             sin 
                             ⁢ 
                             
                                 
                             
                             ⁢ 
                             γ 
                           
                         
                         
                           
                             cos 
                             ⁢ 
                             
                                 
                             
                             ⁢ 
                             γ 
                           
                         
                         
                           0 
                         
                       
                       
                         
                           0 
                         
                         
                           0 
                         
                         
                           1 
                         
                       
                     
                     ) 
                   
                 
               
               
                 
                   ( 
                   4 
                   ) 
                 
               
             
           
         
       
     
     The direction of the average vector G is aligned with acceleration in the negative X-axis direction, and thus can be represented by the following Expression (5) in the estimation coordinate system. 
     
       
         
           
             
               
                 
                   
                     ( 
                     
                       
                         
                           X 
                         
                       
                       
                         
                           Y 
                         
                       
                       
                         
                           Z 
                         
                       
                     
                     ) 
                   
                   = 
                   
                     ( 
                     
                       
                         
                           
                             - 
                             G 
                           
                         
                       
                       
                         
                           0 
                         
                       
                       
                         
                           0 
                         
                       
                     
                     ) 
                   
                 
               
               
                 
                   ( 
                   5 
                   ) 
                 
               
             
           
         
       
     
     (a x , a y , a z ) represents the average vector G in the axial directions detected in the terminal coordinate system. In this case, a x , a y , and a z  are the values obtained by converting the average vector G in Expression (5) through the rotation matrices, and thus the following Expression (6) holds. 
     
       
         
           
             
               
                 
                   
                     ( 
                     
                       
                         
                           
                             a 
                             x 
                           
                         
                       
                       
                         
                           
                             a 
                             y 
                           
                         
                       
                       
                         
                           
                             a 
                             z 
                           
                         
                       
                     
                     ) 
                   
                   = 
                   
                     
                       
                         
                           R 
                           z 
                         
                         ⁡ 
                         
                           ( 
                           γ 
                           ) 
                         
                       
                       ⁢ 
                       
                         
                           R 
                           y 
                         
                         ⁡ 
                         
                           ( 
                           β 
                           ) 
                         
                       
                       ⁢ 
                       
                         
                           R 
                           x 
                         
                         ⁡ 
                         
                           ( 
                           α 
                           ) 
                         
                       
                       ⁢ 
                       
                         ( 
                         
                           
                             
                               
                                 - 
                                 G 
                               
                             
                           
                           
                             
                               0 
                             
                           
                           
                             
                               0 
                             
                           
                         
                         ) 
                       
                     
                     = 
                     
                       ( 
                       
                         
                           
                             
                               
                                 - 
                                 G 
                               
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               cos 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               β 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               cos 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               γ 
                             
                           
                         
                         
                           
                             
                               
                                 - 
                                 G 
                               
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               cos 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               β 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               sin 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               γ 
                             
                           
                         
                         
                           
                             
                               G 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               sin 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               β 
                             
                           
                         
                       
                       ) 
                     
                   
                 
               
               
                 
                   ( 
                   6 
                   ) 
                 
               
             
           
         
       
     
     As a result, Expression (7) is obtained from the value in the z-axis direction in Expression (6). 
     
       
         
           
             
               
                 
                   
                     sin 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     β 
                   
                   = 
                   
                     
                       a 
                       z 
                     
                     G 
                   
                 
               
               
                 
                   ( 
                   7 
                   ) 
                 
               
             
           
         
       
     
     Expression (8) holds when the magnitude of the average vector G is taken into consideration, and thus Expression (9) is obtained from the values in the x-axis and y-axis directions in Expression (6). As a result, the terminal device  10  can specify the rotation angle γ about the y-axis from Expressions (7) and (9). 
     
       
         
           
             
               
                 
                   
                     G 
                     2 
                   
                   = 
                   
                     
                       a 
                       x 
                       2 
                     
                     + 
                     
                       a 
                       y 
                       2 
                     
                     + 
                     
                       a 
                       z 
                       2 
                     
                   
                 
               
               
                 
                   ( 
                   8 
                   ) 
                 
               
             
             
               
                 
                   
                     cos 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     β 
                   
                   = 
                   
                     
                       ± 
                       
                         
                           1 
                           - 
                           
                             
                               ( 
                               
                                 
                                   a 
                                   z 
                                 
                                 G 
                               
                               ) 
                             
                             2 
                           
                         
                       
                     
                     = 
                     
                       ± 
                       
                         
                           
                             
                               a 
                               x 
                               2 
                             
                             + 
                             
                               a 
                               y 
                               2 
                             
                           
                         
                         G 
                       
                     
                   
                 
               
               
                 
                   ( 
                   9 
                   ) 
                 
               
             
           
         
       
     
     A positive value among the values in Expression (9) is selected as a solution. Then, Expressions (10) and (11) are obtained from the values in the x-axis and y-axis directions in Expression (6). As a result, the terminal device  10  can specify the rotation angle γ about the z-axis from Expressions (10) and (11). 
     
       
         
           
             
               
                 
                   
                     sin 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     γ 
                   
                   = 
                   
                     - 
                     
                       
                         a 
                         y 
                       
                       
                         
                           
                             a 
                             x 
                             2 
                           
                           + 
                           
                             a 
                             y 
                             2 
                           
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   10 
                   ) 
                 
               
             
             
               
                 
                   
                     cos 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     γ 
                   
                   = 
                   
                     - 
                     
                       
                         
                           a 
                           x 
                         
                         
                           
                             
                               a 
                               x 
                               2 
                             
                             + 
                             
                               a 
                               y 
                               2 
                             
                           
                         
                       
                       . 
                     
                   
                 
               
               
                 
                   ( 
                   11 
                   ) 
                 
               
             
           
         
       
     
     The processing of converting the terminal coordinate system into the estimation coordinate system is the inverse transform of the coordinate conversion in Expression (1), and thus is represented by Expression (12) below. 
     
       
         
           
             
               
                 
                   
                     ( 
                     
                       
                         
                           X 
                         
                       
                       
                         
                           Y 
                         
                       
                       
                         
                           Z 
                         
                       
                     
                     ) 
                   
                   = 
                   
                     
                       
                         R 
                         x 
                       
                       ⁡ 
                       
                         ( 
                         
                           - 
                           α 
                         
                         ) 
                       
                     
                     ⁢ 
                     
                       
                         R 
                         y 
                       
                       ⁡ 
                       
                         ( 
                         
                           - 
                           β 
                         
                         ) 
                       
                     
                     ⁢ 
                     
                       
                         R 
                         z 
                       
                       ⁡ 
                       
                         ( 
                         
                           - 
                           γ 
                         
                         ) 
                       
                     
                     ⁢ 
                     
                       ( 
                       
                         
                           
                             x 
                           
                         
                         
                           
                             y 
                           
                         
                         
                           
                             z 
                           
                         
                       
                       ) 
                     
                   
                 
               
               
                 
                   ( 
                   12 
                   ) 
                 
               
             
           
         
       
     
     The values of β and γ can be calculated from Expressions (7), (9), (10), and (11), and thus Expression (13) is obtained when rotating only y- and x-axes of the acceleration samples of a x , a y , and a z  in the terminal coordinate system and converting them into the estimation coordinate system. In other words, the terminal device  10  converts the terminal coordinate system into the estimation coordinate system by using the rotation matrices Ry(β) and Rz(γ). 
     
       
         
           
             
               
                 
                   
                     ( 
                     
                       
                         
                           x 
                         
                       
                       
                         
                           y 
                         
                       
                       
                         
                           z 
                         
                       
                     
                     ) 
                   
                   = 
                   
                     
                       
                         R 
                         y 
                       
                       ⁡ 
                       
                         ( 
                         
                           - 
                           β 
                         
                         ) 
                       
                     
                     ⁢ 
                     
                       
                         R 
                         z 
                       
                       ⁡ 
                       
                         ( 
                         
                           - 
                           γ 
                         
                         ) 
                       
                     
                     ⁢ 
                     
                       ( 
                       
                         
                           
                             
                               a 
                               x 
                             
                           
                         
                         
                           
                             
                               a 
                               y 
                             
                           
                         
                         
                           
                             
                               a 
                               z 
                             
                           
                         
                       
                       ) 
                     
                   
                 
               
               
                 
                   ( 
                   13 
                   ) 
                 
               
             
           
         
       
     
     5. Modification 
     The terminal device  10  according to the embodiment described above may be achieved in various kinds of different embodiments other than the above-described embodiment. The following describes embodiments of the terminal device  10  other than the above-described embodiment. 
     5-1. Use of General-Purpose Model 
     In order to perform the stop determination at an initial activation of the application that achieves the above-described processing, the terminal device  10  may perform activation of an application including a general-purpose model. With execution of such an application, the terminal device  10  starts the stop determination by using the general-purpose model at the initial activation, and thereafter executes the stop determination by using a model learned for the terminal device  10 . 
     5-2. Use of Learning Model 
     The terminal device  10  may determine whether the vehicle is stopped based on the magnitude of acceleration on the horizontal plane vertical to the reference direction without learning of a model for performing the stop determination. For example, the terminal device  10  may convert the reference direction into the gravitational direction by calculating the average vector G of acceleration when the vehicle is stopped, and determine that the vehicle is stopped if the magnitude of acceleration on the horizontal plane is smaller than a predetermined threshold. In this manner, the terminal device  10  determines the traveling state of the vehicle C 10  by using a characteristic amount based on acceleration in a direction with respect to the reference direction by setting the reference direction to be the average vector G of the acceleration measured in the terminal coordinate system. The terminal device  10  may thus perform the determination with a certain processing configuration without using a model. 
     The terminal device  10  described above collects learning data for performing learning of a model. Meanwhile, the terminal device  10  may restrict learning data to be collected so as to improve the model determination accuracy. For example, the terminal device  10  may discard, without setting as learning model, a characteristic amount acquired when a speed specified by using the GPS is included in the range of 1 km/h to 3 km/h. 
     The terminal device  10  may weight speed ranges in which learning data is collected. For example, the terminal device  10  may set the number of pieces of learning data collected in the “stopped state” to be larger than the number of pieces of learning data collected in the “traveling state”. For example, the terminal device  10  may set the number of pieces of learning data collected in the range of “5 km/h to 15 km/h” to be larger than the number of pieces of learning data collected in the range of “55 km/h or higher”, so as to improve the accuracy of determination of the stopped state and the traveling state. 
     The terminal device  10  may set, at each speed range, a duration in which learning data is collected and the width of the duration in which used learning data is collected. For example, the terminal device  10  may use learning data collected until five minutes before as learning data for “55 km/h or higher”, and may use learning data collected until 12 minutes before as learning data for “25 km/h to 35 km/h”. Irrespective of the speed ranges, the terminal device  10  may perform learning of a model by using learning data for which a predetermined time has not passed after its collection, and discard learning data for which the predetermined time has passed after its collection. The number of pieces of data to be collected, the widths and number of speed ranges, and a time duration in which collected or used learning data is acquired, for example, are not limited by the type of a model to be learned, but may be set as appropriate. The terminal device  10  may store therein a plurality of models learned by using pieces of learning data collected in different durations. 
     In the above description, the terminal device  10  performs the learning of the SVM as a model for performing the stop determination. However, the embodiment is not limited thereto. For example, the terminal device  10  may use learning of a neural network, and what is called deep learning. Specifically, the terminal device  10  may perform, by using learning data, learning of a neural network such as a deep neural network (DNN) for performing the stop determination. 
     For example, the terminal device  10  may perform, by using learning data, learning of a model for estimating the traveling speed of the vehicle C 10 . For example, the terminal device  10  performs learning of the DNN so that, when collected learning data is input, a node in an output layer corresponding to a speed range in which this learning data is collected responds to the input. Then, the terminal device  10  may output a speed range corresponding to a node in an output layer that has responded when an acquired characteristic amount is input, as an estimation result of a speed range in which the vehicle C 10  travels. The terminal device  10  may perform, for example, learning of a DNN for estimating the traveling speed of the vehicle C 10 , in accordance with a temporal shift of the acquired characteristic amount. Alternatively, the terminal device  10  may learn, by using a characteristic amount, a plurality of SVMs for determining whether the vehicle C 10  is traveling in a predetermined speed range, and may estimate a speed range in which the vehicle C 10  travels by using the learned SVMs. 
     The terminal device  10  may perform learning of a model at a certain timing. For example, the terminal device  10  is capable of storing therein 180 pieces of learning data. The terminal device  10  performs relearning of a model when 60 pieces of learning data are collected, when 120 pieces of learning data are collected, and when 180 pieces of learning data are collected. Then, when the learning of a model is performed by using the 180 pieces of learning data, the terminal device  10  may discard all of the stored learning data, and perform collection of new learning data. For safety, the terminal device  10  may determine that the vehicle C 10  is always in the stopped state, when the learning of a model is not being performed. 
     When the GPS becomes unavailable, the terminal device  10  may estimate the traveling speed of the vehicle C 10  by using a traveling speed specified lastly through the GPS and a result of the determination through a model. For example, when the terminal device  10  enters a tunnel and the GPS becomes unavailable, the terminal device  10  calculates a speed specified again through the GPS, in other words, a tunnel entering speed that is the speed at entering the tunnel, sets the calculated tunnel entering speed to be a previously output speed, and travels forward the current position. 
     For example, when the GPS becomes unavailable, the terminal device  10  selects  10  speeds previously calculated by using the GPS, in a reverse chronological order of the calculation. Then, the terminal device  10  sorts the selected speeds in ascending order, and sets the tunnel entering speed to be the eighth speed from a lowest speed. Alternatively, the terminal device  10  may set a highest value of the tunnel entering speed. 
     If it is determined through a model that the vehicle is in the stopped state, the terminal device  10  determines whether any of conditions below is satisfied. Specifically, the terminal device  10  determines whether the previously output speed is lower than 10 km/h, whether the previously output speed is lower than 20 km/h and the previous determination by the model indicates that the vehicle is in the stopped state, or whether the previously output speed is lower than 30 km/h and results of the previous determination and the determination before the previous determination by the model indicate that the vehicle is in the stopped state. Then, if any of these conditions is satisfied, the terminal device  10  determines that the vehicle has stopped, and sets the previously output speed to 0 km/h. 
     If none of the conditions is satisfied, the terminal device  10  determines whether the results of the previous determination and the determination before the previous determination indicate that the vehicle is in the stopped state. If it is determined that the vehicle is in the stopped state, the terminal device  10  sets the previously output speed to half thereof. If the previous determination result indicates that the vehicle is in the stopped state, the terminal device  10  sets the previously output speed to two-thirds thereof. Thereafter, the terminal device  10  determines that the vehicle is traveling at the previously output speed. 
     In other words, if it is determined that the vehicle is in the stopped state, the terminal device  10  stops the vehicle only when the tunnel entering speed is lower than 10 km/h, and otherwise gradually decreases the speed. If is determined through a model that the vehicle is in the traveling state, the terminal device  10  adds one-fifth of the tunnel entering speed to the previously output speed with the upper limit being set at the tunnel entering speed. 
     5-3. Characteristic Amount 
     The terminal device  10  described above sets characteristic amounts to be the average value, the minimum value, the maximum value, and the standard deviation of the magnitude of acceleration in a direction with respect to the direction of the average vector G. However, the embodiment is not limited thereto. For example, the terminal device  10  may simply set the magnitude of acceleration as a characteristic amount. Alternatively, for example, the terminal device  10  may set at least one of the average value, the minimum value, the maximum value, and the standard deviation as a characteristic amount, or may set a certain combination of these values as a characteristic amount. 
     The terminal device  10  described above may use different characteristic amounts for “a_ver” and “a_hor”. For example, the terminal device  10  may set the minimum value of “a_ver” as a characteristic amount, or may set the standard error in the value of “a_ver” as a characteristic amount depending on a condition. Alternatively, the terminal device  10  may set all of the average value, the minimum value, the maximum value, and the standard deviation of the value of “a_hor” as characteristic amounts. Alternatively, the terminal device  10  may use different characteristic amounts in accordance with the traveling condition of the vehicle C 10 . In other words, the terminal device  10  may select, as appropriate, a characteristic amount of a kind effective in determining whether the vehicle C 10  is traveling. 
     5-4. Processing Interval 
     The terminal device  10  described above executes the determination processing and the learning processing at, for example, one second interval. However, the embodiment is not limited thereto, and the terminal device  10  may execute the determination processing and the learning processing at a certain timing. For example, the terminal device  10  may execute the stop determination through the GPS, and constantly execute the stop determination through a model to execute the learning processing when the model has a correctness rate lower than a predetermined threshold. 
     5-5. Management of Orientation Change 
     The terminal device  10  may specify the orientation of the terminal device  10 . For example, if acceleration is averaged over a certain duration, the direction of the average vector G is aligned with the direction of the gravitational acceleration. Thus, the terminal device  10  may compare, for example, the direction of the average vector of all acceleration measured so far from activation of an application and the direction of the average vector of acceleration detected in the last one second. The terminal device  10  may then determine that the orientation of the terminal device  10  has changed if the directions have a difference between them equal to or higher than an angle of 37° (in other words, the cosine of an angle between the average vectors is smaller than 0.8). 
     At the determination of such an orientation change, the terminal device  10  deletes the learning data registered in the learning data database  12   b  and the models registered in the model database  12   d , and performs collection of new learning data and model learning. As a result, the terminal device  10  can reduce degradation in the determination accuracy when an orientation change occurs. 
     5-6. Stopper Function 
     When the traveling state of the vehicle C 10  is determined by the determination processing described above, in some cases, a result of the determination deviates from the actual traveling state, in other words, navigation is in an uncontrolled state. For this reason, the terminal device  10  may be equipped with a stopper function for preventing the uncontrolled state of navigation. For example, the terminal device  10  may be equipped with an elapsed time stopper function for forcibly stopping estimated movement of the current position when a predetermined time (for example, 300 seconds when navigation is performed, or 120 seconds when no navigation is performed) has passed since the start of the determination of the traveling state. 
     The terminal device  10  may cancel the elapsed time stopper function when entering a particular long tunnel so as to prevent the forced stop by the elapsed time stopper in the tunnel. For example, the terminal device  10  lets a first region at the entrance of a particular tunnel, and cancels the elapsed time stopper when the current position of the vehicle C 10  overlaps the first region. In addition, the terminal device  10  sets a second region at the exit of the particular tunnel to activate again the elapsed time stopper when the current position of the vehicle C 10  overlaps the second region. 
     When the speed of the vehicle C 10  is estimated, the tunnel entering speed can be set lower than the actual speed when entering a tunnel right after a toll at an expressway entrance. For this reason, the terminal device  10  may set information indicating the speed of the vehicle C 10  passing through the tunnel, at the first region set at the entrance of the tunnel, and set the traveling speed of the vehicle C 10  to be the speed indicated by the information set at the first region when the current position of the vehicle C 10  overlaps the first region. In addition, the terminal device  10  may set, at the first region, a time until the forced stop is performed by the elapsed time stopper, and may cancel the forced atop by the elapsed time stopper until it passes the time indicated by information set at the first region when the current position of the vehicle C 10  overlaps the first region. 
     If the GPS does not become unavailable until a predetermined time passes after the current position of the vehicle C 10  overlaps the first region, the terminal device  10  may determine that the vehicle C 10  has not entered a tunnel without canceling the elapsed time stopper nor setting the traveling speed of the vehicle C 10 . The terminal device  10  may set a speed setting region in a tunnel, and set the traveling speed of the vehicle C 10  to a speed indicated at the speed setting region when the current position of the vehicle C 10  overlaps the speed setting region, and reset the time until the forced stop is performed by the elapsed time stopper to a predetermined time. The terminal device  10  may set regions such as the first region, the second region, and the speed setting region described above to a traffic intersection and a typical tunnel. 
     5-7. Other Embodiments 
     The above-described embodiment is merely exemplary, and the present embodiment includes configurations exemplarily described below and other configurations. For example, any functional configuration, any data structure, and the order and content of any processing illustrated in a flowchart in the present application are merely exemplary. The inclusion and arrangement of each component and the execution order and specific content of processing, for example, are changeable as appropriate. For example, the navigation processing and the determination processing described above can be achieved as a device, a method, or a program on a terminal achieved by an application on a smartphone, in addition to the terminal device  10  as exemplarily illustrated in the above-described embodiment. 
     Typically, the processing units  17  to  20  included in the terminal device  10  may be each achieved by an independent device. The units  21  to  25  included in the traveling state determination unit  20  may be each achieved by an independent device. Similarly, any configuration according to the present embodiment may be flexibly changed by calling, for example, an external platform through an application program interface (API) or network computing (what is called cloud) to achieve each means described in the embodiment. Each component such as means according to the present embodiment may be achieved by any other information processing mechanism such as a physical electric circuit, in place of a computing control unit of a computer. 
     For example, the terminal device  10  may execute the navigation processing described above in cooperation with the delivery server capable of communicating with the terminal device  10 . For example, the delivery server includes the collection unit  26 , the learning unit  27 , and the update unit  28 , and may collect a characteristic amount from acceleration detected by the terminal device  10 , perform learning of a model using the collected characteristic amount, and deliver the learned model to the terminal device  10 . The delivery server includes the detection unit  21 , the setting unit  22 , the conversion unit  23 , the acquisition unit  24 , and the determination unit  25 , and may deliver, to the terminal device  10 , a traveling direction and a traveling speed estimated based on the acceleration detected by the terminal device  10 , and execute navigation of the user. The delivery server may execute the determination processing described above in place of the terminal device  10  and transmit a result of the execution to the terminal device  10  to cause the terminal device  10  to execute the navigation processing. 
     When a plurality of terminal devices are that execute the navigation processing and the determination processing in cooperation with the delivery server, the delivery server may use a different SVM for each terminal device to determine whether the terminal device is traveling. The delivery server may collect position information acquired by each terminal device through the GPS, determine whether the terminal device is traveling based on the collected position information, and achieve learning of the SVM by using a result of the determination and acceleration collected from the terminal device. 
     6. Effects 
     As described above, the terminal device  10  detects acceleration, sets a reference direction based on the detected acceleration, acquires a characteristic amount based on the acceleration in a direction with respect to the set reference direction, and determines the traveling state of the terminal device  10  by using the acquired characteristic amount. Thus, the terminal device  10  can easily determine a traveling state irrespective of the installation orientation of the terminal device  10 . In other words, the terminal device  10  can easily determine the traveling state irrespective of the installation orientation of the terminal device  10  by performing the coordinate conversion that absorbs the influence of an orientation change without specifying the traveling direction of the vehicle C 10  and the gravitational direction. 
     The terminal device  10  sets the reference direction by using the average value of detected acceleration. Thus, the terminal device  10  can easily determine the traveling state by setting the reference direction irrespective of the installation orientation of the terminal device  10 . 
     The terminal device  10  uses a rotation matrix that aligns a predetermined axial direction in which acceleration is detected with a set reference direction, so as to convert the detected acceleration into acceleration in a direction with respect to the reference direction, and acquire a characteristic amount based on the converted acceleration. Thus, the terminal device  10  can determine the traveling state of the vehicle C 10  based on a versatile characteristic amount irrespective of, for example, the installation orientation of the terminal device  10  and the traveling direction of the vehicle C 10 . 
     The terminal device  10  acquires a characteristic amount based on the magnitude of acceleration in the direction with respect to the reference direction. The terminal device  10  also acquires a characteristic amount based on acceleration on an estimation plane vertical to the reference direction. More specifically, the terminal device  10  acquires a characteristic amount based on a pair of the magnitude of acceleration in the reference direction and the magnitude of acceleration in the direction (for example, on the horizontal plane) with respect to the reference direction. Thus, the terminal device  10  can determine the traveling state of the vehicle C 10  based on a characteristic amount irrespective of, for example, the installation orientation of the terminal device  10  and the traveling direction of the vehicle C 10 . 
     The terminal device  10  determines the traveling state of the terminal device  10  based on at least one of the average value, the maximum value, the minimum value, and the standard deviation of the magnitude of acceleration. Thus, the terminal device  10  can easily determine the traveling state of the vehicle C 10  irrespective of whether the vehicle is stopped, traveling, accelerating, or decelerating. 
     The terminal device  10  determines the traveling state of the terminal device  10  by using a model that has learned a characteristic of a characteristic amount. In other words, the terminal device  10  determines the traveling state of the vehicle C 10  by using a model independent of a change in the orientation of the terminal device  10 . Thus, the terminal device  10  can reduce, for example, a time taken to start the traveling determination. 
     The terminal device  10  collects a predetermined number of characteristic amounts acquired at each traveling speed of the terminal device  10 , and determines the traveling state of the terminal device  10  by using the predetermined number of characteristic amounts collected at each traveling speed of the terminal device  10 . Thus, the terminal device  10  can prevent degradation in the determination accuracy generated by the bias in the traveling speed. 
     The terminal device  10  sequentially collects a predetermined number of latest characteristic amounts from among acquired characteristic amounts at each traveling speed of the terminal device  10 . Thus, the terminal device  10  can gradually improve the determination accuracy in each speed range. 
     The terminal device  10  stores therein a plurality of models learned based on characteristic amounts and used to determine the traveling state. Then, the terminal device  10  determines the traveling state by using a model having the highest correctness rate among the stored models. The terminal device  10  also updates a model having the lowest correctness rate among the stored models to a newly learned model. Thus, the terminal device  10  can determine the traveling state of the vehicle C 10  with accuracy. 
     When the determination of the traveling state of the terminal device  10  is stopped, the terminal device  10  stores therein a flag indicating a used model. Then, if the determination of the traveling state of the terminal device  10  is resumed, the terminal device  10  determines the traveling state of the terminal device  10  by using the model indicated by the stored flag. Thus, the terminal device  10  can start the determination of the traveling state of the vehicle C 10  upon activation of the application that performs the determination of the traveling state, without learning a model and specifying the traveling direction of the vehicle C 10 . 
     In the above, embodiments of the present application are described in detail with respect to the drawings, but these embodiments are merely exemplary. In addition to the configurations described in the disclosure of the embodiment, the present embodiment can be achieved in other configurations provided with various kinds of changes and modifications based on the knowledge of the skilled person in the art. 
     Any “unit” in the above description may be replaced with “means” or “circuit”. For example, “traveling state determination unit” may be replaced with “traveling state determination means” or “traveling state determine circuit”. 
     According to an embodiment, the traveling state of a vehicle can be determined irrespective of the installation orientation of a terminal device. 
     Although the invention has been described with respect to specific embodiments for a complete and clear disclosure, the appended claims are not to be thus limited but are to be construed as embodying all modifications and alternative constructions that may occur to one skilled in the art that fairly fall within the basic teaching herein set forth.