The present disclosure relates to a vehicle drive assistance system, and particularly to a vehicle drive assistance system which uses a driver model.
Recently, a driver model is proposed to be used for assisting a vehicle control. For example, JP2009-237937A discloses a driver model processor which uses driver models particularly regarding driving operations. The driver models include an individual driver model created for a particular vehicle and an optimal driver model created based on data of a large number of vehicles by a driver model server disposed outside the vehicle. In this processor, when the individual driver model is different from the optimal driver model, a vehicle driver is given advice based on this difference.
Since the individual driver model is created based on data of a single vehicle while the general driver model is created based on data of a large number of vehicles, data needs to be shared between an individual driver model learning engine and a general driver model learning engine.
Moreover, although a high accuracy can be expected from the general driver model, since a large amount of data of the vehicles is processed, it is desirable to run the general driver model learning engine on a computer system with high processing speed and performance.
The present disclosure is made in view of solving the situations described above, and aims to provide a vehicle drive assistance system, which reduces a data processing load on creating an individual driver model and a general driver model.
According to one aspect of the present disclosure, a vehicle drive assistance system is provided, which includes one or more processors configured to execute a general driver model learning engine configured to build a general driver model to be applied for a plurality of vehicle drivers based on driving data of the plurality of drivers, and an individual driver model learning engine configured to build an individual driver model unique to a specific vehicle driver based on driving data of the specific driver received from a specific vehicle operated by the specific driver. The individual driver model learning engine includes a first synchronization engine configured to provide, to the general driver model learning engine, the driving data obtained by executing a first data conversion processing on the driving data of the specific driver. The first data conversion processing may include a first data amount reduction processing in which the driving data received from the specific vehicle is processed so that an amount of the driving data provided to the general driver model learning engine is smaller than an amount of the driving data received from the specific vehicle.
With the above configuration, the individual driver model learning engine builds the individual driver model by learning the driving data from the specific vehicle, while the general driver model learning engine builds the general driver model by learning the plurality of driving data which includes the driving data from the specific vehicle. Therefore, the general driver model learning engine needs to process a larger amount of data compared to the individual driver model learning engine, and for this reason, a computing device which performs higher speed calculations is desirable for the general driver model learning engine. However, adopting such a computing device leads to a cost increase and is not a realistic solution. Therefore, with the configuration, the first synchronization engine provides the driving data of which the data amount is reduced by the data conversion from the individual driver model learning engine to the general driver model learning engine so as to reduce the calculation processing in the general driver model learning engine. Thus, degradation of the processing speed of the general driver model learning engine and an increase in the computational requirements of the general driver model learning engine are prevented.
The first data conversion processing may include a first relevance conversion processing in which relevance between a plurality of data pieces configuring the driving data received from the specific vehicle is changed.
With the above configuration, the first synchronization engine changes the relevance between the plurality of pieces of the driving data and provides the data from the individual driver model learning engine to the general driver model learning engine so as to reduce the calculation processing in the general driver model learning engine. Thus, the degradation of the processing speed of the general driver model learning engine and the increase in the computational requirements of the general driver model learning engine are prevented.
The first data conversion processing may include a first time axis change processing in which one of a selective extraction processing and a statistical processing of a given time variation data that is included in the driving data received from the specific vehicle is executed with respect to a time axis.
With the above configuration, the first synchronization engine executes one of the selective extraction processing and the statistical processing of the given time variation data with respect to the time axis, and provides the driving data from the individual driver model learning engine to the general driver model learning engine, so as to reduce the calculation processing in the general driver model learning engine. Thus, the degradation of the processing speed of the general driver model learning engine and the increase in the computational requirements of the general driver model learning engine are prevented.
The vehicle drive assistance system may further include an on-board controller provided in the specific vehicle. The on-board controller may include a second synchronization engine configured to transmit, to the individual driver model learning engine, the driving data obtained by executing a second data conversion processing on the driving data acquired in the specific vehicle. The second data conversion processing may include a second data amount reduction processing in which the driving data acquired in the specific vehicle is processed so that the amount of the driving data provided to the individual driver model learning engine is smaller than the amount of the driving data acquired in the specific vehicle.
With the above configuration, the on-board controller does not build the individual driver model unlike the individual driver model learning engine. For this reason, the individual driver model learning engine needs to perform data processing at a higher load compared to the on-board controller. Therefore, with the configuration, the second synchronization engine provides the driving data of which the data amount is reduced by the data conversion, from the on-board controller to the individual driver model learning engine, so as to reduce the calculation processing in the individual driver model learning engine. Thus, the degradation of the processing speed of the individual driver model learning engine and the increase in the computational requirements of the individual driver model learning engine are prevented.
The vehicle drive assistance system may further include an on-board controller provided in the specific vehicle. The on-board controller may include a second synchronization engine configured to transmit, to the individual driver model learning engine, the driving data obtained by executing a second data conversion processing on the driving data acquired in the specific vehicle. The second data conversion processing may include second relevance conversion processing in which relevance between a plurality of data pieces configuring the driving data acquired in the specific vehicle is changed.
With the above configuration, the on-board controller does not build the individual driver model unlike the individual driver model learning engine. For this reason, the individual driver model learning engine needs to perform data processing at a higher load compared to the on-board controller. Therefore, with the configuration, the second synchronization engine changes the relevance between the plurality of pieces of the driving data, and provides the driving data from the on-board controller to the individual driver model learning engine so as to reduce the calculation processing in the individual driver model learning engine. Thus, the degradation of the processing speed of the individual driver model learning engine and the increase in the computational requirements of the individual driver model learning engine are prevented.
The vehicle drive assistance system may further include an on-board controller provided in the specific vehicle. The on-board controller may include a second synchronization engine configured to transmit, to the individual driver model learning engine, the driving data obtained by executing a second data conversion processing on the driving data acquired in the specific vehicle. The second data conversion processing may include a second time axis change processing in which given time variation data that is included in the driving data acquired in the specific vehicle is selectively extracted with respect to the time axis.
With the above configuration, the on-board controller does not build the individual driver model unlike the individual driver model learning engine. For this reason, the individual driver model learning engine needs to perform data processing at a higher load compared to the on-board controller. Therefore, with the configuration, the second synchronization engine executes the selective extraction processing or the statistical processing of the given time variation data that is included in the driving data with respect to the time axis, and provides the driving data from the on-board controller to the individual driver model learning engine so as to reduce the calculation processing in the individual driver model learning engine. Thus, the degradation of the processing speed of the individual driver model learning engine and the increase in the computational requirements of the individual driver model learning engine are prevented.
The first synchronization engine may execute the first data conversion processing so that, in calculation processes of the driving data by the general driver model learning engine and the individual driver model learning engine, an information entropy that is expressed by a multiplication value of a data amount processed in the calculation processing per program time, a calculation load, and a target response time becomes substantially equal.
With the above configuration, by equalizing the information entropy in this manner, the data flow becomes smooth in the general driver model learning engine and the individual driver model learning engine without latency.
The second synchronization engine may execute the second data conversion processing so that, in the calculation processes of the driving data by the individual driver model learning engine and the on-board controller, an information entropy that is expressed by a multiplication value of a data amount processed in the calculation processing per program time, a calculation load, and a target response time becomes substantially equal.
With the above configuration, by equalizing the information entropy in this manner, the data flow becomes smooth in the individual driver model learning engine and the on-board controller without latency.
Hereinafter, a vehicle drive assistance system according to one embodiment of the present disclosure is described with reference to the accompanying drawings. First, a configuration of the vehicle drive assistance system is described with reference to
As illustrated in
Each of the shared server 1 and the individual server 3 is a computer system constituting artificial intelligence, and builds and consecutively updates a general driver model and an individual driver model. As used herein, “build” includes developing and training the model. The shared server 1 includes a computing unit 1a (processor), memory 1b, a communication unit 1c, etc. Similarly, the individual server 3 includes a computing unit 3a (processor), memory 3b, and a communication unit 3c.
Similarly, the on-board controller 5 includes a computing unit 5a (processor), a memory 5b, a communication unit 5c, etc. The on-board controller 5 executes vehicle control processing of the vehicle A. The vehicle control processing includes drive control processing and drive assistance processing.
As illustrated in
The general data is, for example, voice data, behavior data, image data, etc. of a human (vehicle driver). The general data is mainly used for building an emotion estimation model constituting a part of the general driver model Ma. Note that the general driver model Ma is updated by learning aggregated data comprising driving data from the plurality of individual servers 3 and general data from an external information source. Therefore, a processing speed (update interval) of the general driver model Ma is extremely slow (e.g., 1 hour or longer).
The general driver model Ma is applied for a general driver and not a specific driver who drives the vehicle A. Therefore, it uses driving data on a plurality of drivers other than the specific driver and emotion estimation data indicating general human characteristics (general data). The general driver model Ma includes a plurality of submodels. Regarding the theme of each submodel which is given or newly found, the learning engine 11 learns a temporal change in the behavior and state of the general driver from the driving data and general data, and accordingly creates a submodel and updates the general driver model Ma. The submodels include a behavior tendency model, a traveling determination reference model, an emotion estimation model, etc. of the driver for various situations. Further, the general driver model Ma has general knowledge data. The general knowledge data is various types of general information acquired from the driving data and the general data, such as a point of caution on a specific location on a road, information on entertainment/amusement facilities (including restaurant information, etc.).
The following are some examples of the submodels of the general driver model Ma: a voice model of various emotions of the general driver (when feeling joy, anger, sadness, enjoyment, etc., especially enjoyment); a state model of enjoyment (a relevance model between various states [the driver, a surrounding environment and the vehicle] and enjoyment); a submodel regarding the occurrence of inattentive driving or drowsy driving which is generated based on map data, facial expression data of the driver, etc. (e.g., a submodel for identifying a specific location, a state of the driver [e.g., traveling time], etc. in which such driving easily occurs); and a driving operation characteristic model generated based on travel history data, operation history data, etc. (e.g., a position of starting an obstacle avoiding action).
In a case where the learning engine 11 builds an operation model of an accelerator and a brake, by using data on the driver, a travelling location, the surrounding environment, a time zone, an accelerator opening, a brake sensor value, etc. which are included in the driving data as a group of data, the learning engine 11 learns how the accelerator and the brake are operated according to a position, speed, number, etc. of preceding vehicle(s) and pedestrian(s), and creates the model.
Further, in a case where the learning engine 11 builds a smile determination model included in the emotion estimation model, it analyzes the voice data of the general driver or a general person and image data related to the voice data, and analyzes features of facial expression when the general driver feels enjoyment. Thus, the smile determination model indicating relevance between a change in a feature part (an angle of the corner of the mouth, angles of the corners of the eyes, etc.) extracted from the appearance (facial expression, for example) and the smile determination model is generated and updated. By using the smile determination model, whether the driver is smiling (or whether he/she is feeling enjoyment) is estimated from the information of the feature part (the angle of the corner of the mouth, etc.). The feature part may be a specified part or a part newly detected by the learning engine 11.
Further, the general driver model Ma includes the relevance model between a vehicle state and an emotional state of the driver (emotion generation model). The emotional state is analyzed from the driver state data. The learning engine 11 analyzes a transition of the emotional state, analyzes the vehicle state which affects the emotional state (the driving state: a vehicle speed; a lateral acceleration; a longitudinal acceleration, etc., and an on-board device operation state: an air conditioning temperature; a seat position; and music, etc.), and learns the type of vehicle state which influences the emotional state and the relevance between the vehicle state and the emotional state. The vehicle state (control factor) which influences the emotional state may be set in advance or the artificial intelligence may find a new control factor by analysis and additionally set it.
The driver state data used for analyzing the emotional state is voice data, image data, electroencephalogram data, etc. For the emotional analysis, for example, a frequency analysis of a sound wave based on an involuntary movement of a vocal cord is conducted by analyzing the voice data (spoken voice). Further, a facial expression analysis based on the image data and a facial color analysis to detect a change in blood flow are conducted. Moreover, an analysis of a ratio of sympathetic nerves with respect to parasympathetic nerves of the autonomic nervous system is conducted. By using one or more of these analyses, for example, the emotional state is identified on, for example, an emotion map indicating the various emotions on coordinates or Russell's circumplex model of affect. The learning engine 11 analyzes a change in the emotional state (a movement on the emotion map or the circumplex model, for example) and a change in the vehicle state.
For example, in a case where the learning engine 11 builds a relevance model between the temperature environment and the emotional state, by using data on the driver, the emotional state, the travelling location, the time zone, an in-vehicle temperature, weather, etc. which are included in the driving data as a group of data, the learning engine 11 learns an influence of the temperature environment (e.g., a difference between the in-vehicle temperature and an outside temperature, the weather, etc.) on the emotional state, and updates the relevance model.
Further, when it is learned that a new control factor that is not included in the existing relevance model causes a change in the emotional state (e.g., the driver feels enjoyment due to a combination of a plurality of items of the vehicle state), a new relevance model based on the new control factor is generated. In this manner, the learning engine 11 builds a model by detecting from the big data the control factor which influences the emotional state of the driver.
In each individual server 3, a learning engine 31 (i.e., an individual driver model learning engine executed by computing unit 3a) comprising the artificial intelligence learns the driving data received from the vehicle A (including the voice data), the general data acquired from an external information system 7b, and communication data acquired from a portable information terminal device 7c of the specific driver (telephone voice data, mail text data, device setting information, etc.). Thus, an individual driver model Mb is built. This individual driver model Mb is also updated consecutively. The individual server 3 learns a temporal change or history of the driver behavior, a vehicle behavior, a vehicle performance, etc., using the driving data, etc. Therefore, the processing speed of the individual driver model Mb is slower than that of various control processes in the vehicle A (e.g., 1 sec or longer).
Note that the general data acquired by the individual server 3 is voice data, behavior data and image data of a plurality of drivers included in a group of drivers who are considered to have a common driving tendency (e.g., a group of drivers having the same type of vehicles). Further, the device setting information is, for example, bookmark information, etc. registered in an Internet browser application of the portable information terminal device.
The voice data acquired by a microphone of the vehicle A, although is also included in the driving data acquired via a second synchronization engine 60 of the on-board controller 5, is directly outputted to the individual server 3 in real time via a communication device. In the individual server 3, the voice data is voice-recognized. The driving data, the general data, and the voice data are accumulated in the memory 3b as accumulated data Db. Further, a first synchronization engine 40 of the individual server 3 performs a data conversion on the accumulated data which is stored in the memory 3b, and transmits it to the shared server 1.
The individual driver model Mb is applied for the specific driver. Therefore, the driving data of the specific driver who drives the vehicle A and the general data of another driver considered to have driving characteristics which are relatively close to those of the specific driver are used. The individual driver model Mb also includes a plurality of submodels similarly to the general driver model Ma. Further, the individual driver model Mb has surrounding environment state data and vehicle state data extracted from the acquired driving data. The learning engine 31 also builds a plurality of submodels similarly to the learning engine 11 (refer to the examples of the submodels of the general driver model Ma as examples of the submodels of the individual driver model Mb). Moreover, similarly to the learning engine 11, the learning engine 31 detects a control factor which influences the emotional state of the driver, updates the model, and builds a new model.
The on-board controller 5 executes a given vehicle control processing by a vehicle control block 51 (e.g., a computing unit) based on sensor data of vehicle sensors 8. The vehicle control block 51 controls various on-board devices and systems of the vehicle A on a rule basis by using a vehicle control algorithm (vehicle control program) 50 which defines the vehicle control processing. That is, based on the sensor data, various controls are executed according to a given rule, such as an algorithm (rule-based processing). Therefore, in the vehicle control processing by the on-board controller 5, a high processing speed is achieved (e.g., 10 msecs or less).
The vehicle control processing includes the drive control processing and the drive assistance processing. The drive assistance processing includes autonomous drive assistance processing, assistance information presentation processing, and on-board device control processing.
In the autonomous drive assistance processing, an instruction signal is outputted to vehicle control systems 9d (engine, brake, steering), and the accelerator, the brake, and the steering device are automatically operated.
In the assistance information presentation processing, various types of assistance information for assisting the driving operation of the driver are provided via on-board information presentation devices 9a (navigation device, meter, speaker, etc.), and information is provided to an external information system, an information terminal device, a home appliance, etc. via information communication devices 9c (on-board communication unit, portable information terminal device, etc.).
In the on-board device control processing, on-board devices 9b (air conditioner, window, light, door, etc.) are automatically operated to improve the driving environment. For example, the temperature setting and on/off of the air conditioner are automatically performed, and the window is automatically opened and closed.
The vehicle sensors 8 include an in-vehicle camera, a biological sensor, the microphone, an external camera, a radar, a navigation device, a vehicle behavior sensor, a driver operation detection sensor, an inter-vehicle communicator, a vehicle-to-infrastructure communicator, a remote controller, etc.
The in-vehicle camera captures images of the driver and other passengers in the vehicle A and outputs in-vehicle image data.
The biological sensor measures a heart rate, pulse, sweat, electroencephalogram, etc. of the driver, and outputs biological data.
The microphone collects the voice of the driver and other passengers, and outputs the voice data.
The external camera captures images of the front, left, right, and rear sides of the vehicle A and outputs external image data.
The radar discharges radio waves, sound waves or laser light towards the front, left, right and rear sides of the vehicle A, receives reflection waves from an object located around the vehicle A (a preceding vehicle, another vehicle, a pedestrian, a fixed object on the ground, an obstacle, etc.), and outputs external object data of a relative position, relative speed, etc. of the object (e.g., a position, relative speed, etc. of the preceding vehicle).
The navigation device acquires the vehicle position information and outputs navigation data (a plurality of route information, route information selected by the driver, etc.) in combination with internal map information, and traffic jam information and input information (destination, way point, etc.) acquired externally.
The vehicle behavior sensor and the driver operation detection sensor include a speed sensor, a longitudinal acceleration sensor, a lateral acceleration sensor, a yaw rate sensor, an accelerator opening sensor, an engine speed sensor, an AT (automatic transmission) gear position sensor, a brake switch sensor, a brake hydraulic pressure sensor, a steering angle sensor, a steering torque sensor, a turn signal switch position sensor, a wiper switch position sensor, a light switch position sensor, in-vehicle and external temperature sensors, etc.
The inter-vehicle communicator, the vehicle-to-infrastructure communicator, and the remote controller acquire communication data from other vehicles, traffic data (traffic jam information, limit speed information, etc.) from the traffic infrastructure, and remote operation data obtained externally, and outputs them.
Output data from the vehicle sensors 8 is inputted to the vehicle control block 51 as driving data. Further, the output data is converted into driving data indicating various physical quantities which are suitable for execution of the processing in the vehicle control block 51 by a given device (not illustrated) or by a data processing block in the on-board controller 5. The output data is then inputted to the vehicle control block 51. By data conversion, a single output data is converted into the driving data indicating one or more information. The data conversion also includes not converting the output data.
For example, the external image data of the external camera is converted into positional data of a preceding vehicle or a traffic lane, offset (deviation) data from a reference line (the center of the traffic lane or a set route), etc. Further, steering angle data of the steering angel sensor is converted into fluctuation data (data of a wandering steering angle; fluctuation range, fluctuation cycle, etc.). Moreover, the image data of the in-vehicle camera is converted into individual identification data (a result of a driver authentication based on a pre-registered driver image, and individual data for identifying the authenticated driver), facial expression data for determining a smile of the driver (the angle of the corner of the mouth, the angles of the corners of the eyes, etc.), etc.
The driving data is various data related to the driver, the surrounding environment, and the vehicle, and includes driver state data, surrounding environment data, and vehicle state data. Each of these data comprises a plurality of data pieces.
The driver state data indicates a physical state of the driver, and includes the in-vehicle image data (including captured image data of the driver), the voice data, the biological data (including heart rate data), etc.
The surrounding environment data indicates conditions of objects outside the vehicle, such as the other vehicle, the pedestrian, the obstacle, a road shape, and a traffic condition around the vehicle A, and includes external image data, external object data, navigation data, inter-vehicle data, vehicle-to-infrastructure data, etc.
The vehicle state data indicates a vehicle operation state and operation states of the on-board devices, and includes measurement data obtained by the vehicle behavior sensor, driver operation data indicating the switch positions, etc. of the on-board devices obtained by the driver operation detection sensor, and individual identification data. The vehicle state data includes, for example, the vehicle speed, the longitudinal acceleration, a lateral acceleration, a yaw rate, the accelerator opening, an engine speed, an AT gear position, a brake switch position, a brake hydraulic pressure, a front inter-vehicle distance, a relative speed with respect to the preceding vehicle, the steering angle, a steering torque, a turn signal switch position, a wiper switch position, a light switch position, in-vehicle and external temperatures, individual identification information, etc.
The second synchronization engine 60 of the on-board controller 5 performs a data conversion of the driving data which is temporarily stored in the memory 5b, and transmits it to the individual server 3.
As illustrated in
The driving data is inputted to the current state analysis block 51a and the ideal state analysis block 51b. The current state analysis block 51a extracts a current driver state, a current device operation state, a current surrounding environment state, and a current vehicle state from the driving data. On the other hand, the ideal state analysis block 51b calculates an ideal driver state, an ideal device operation state, an ideal surrounding environment state, an ideal vehicle state from the driving data based on the vehicle control model (ideal model) defined by a large number of control parameters P.
The driver state is identified from, for example, heart rate data of the driver, wandering analysis data, etc. The surrounding environment state is identified from, for example, camera image data, radar measurement data, etc. The vehicle state is identified from, for example, lateral acceleration data, engine power data, brake abrasion amount data, etc.
The difference calculation block 51c calculates a difference between the current state and the ideal state (the driver state, the device operation state, the surrounding environment state, and the vehicle state) outputted from the current state analysis block 51a and the ideal state analysis block 51b in terms of various items, and outputs it as difference data.
The entertainment control block 52a and the safety control block 52b execute various processes based on the difference data.
The safety control block 52b controls a safety control processing accompanied by the operations of the vehicle control systems 9d and also controls the assistance information presentation processing accompanied by the operations of the information presentation devices 9a, the on-board devices 9b, and the information communication devices 9c. On the other hand, the entertainment control block 52a controls entertainment control processing accompanied by the operations of the information presentation devices 9a, the on-board devices 9b, and the information communication devices 9c, however it does not execute the control processing accompanied by the operations of the vehicle control systems 9d.
The entertainment control block 52a and the safety control block 52b output operation instructions to the information presentation devices 9a, the on-board devices 9b, and the information communication devices 9c based on the difference data. Further, the safety control block 52b also outputs an operation instruction to the vehicle control systems 9d. Note that the data transmitted to the external information system 7b via the information communication devices 9c may be accumulated in the information system 7b and further provided to the individual server 3.
For example, a case is considered in which the current state analysis block 51a analyzes that the driver is driving the vehicle A at 60 km in a normal state where an awareness level is high, and a curve exists at 30 meters ahead. Here, the ideal state analysis block 51b calculates (estimates) a scheduled traveling route (including a position and speed) for the driver to turn the vehicle at the curve in the current state, based on the ideal model of the vehicle control algorithm 50. Since the current state analysis block 51a continues to conduct the state analysis, the current state analysis block 51a outputs a traveling route on which the vehicle A actually traveled, as an analysis result.
The difference calculation block 51c calculates a difference between the scheduled traveling route obtained by the ideal state analysis block 51b and the actual travelling route obtained by the current state analysis block 51a. Further, for example, the safety control block 52b does not execute particular processing when a scheduled speed and an actual speed are substantially equal, executes processing of issuing a brake operation alarm when the speed difference is small, and executes processing of operating an automatic brake when the speed difference is large.
Further, when an actual steering operation timing is later by over a given period of time than a steering operation timing defined by the scheduled traveling route, a message prompting to advance the steering operation timing is displayed.
Moreover, when an estimated heart rate according to the ideal model is higher than an actual heart rate by over a given value (estimated to be in an excited state) in a given situation, the entertainment control block 52a executes processing of displaying a message prompting to take a break or a message prompting to play music to calm the mood.
Next, the first synchronization engine 40 of the individual server 3 and the second synchronization engine 60 of the on-board controller 5 are described with reference to
As illustrated in
On the other hand, the individual server 3 learns and grows based on the driving data from the on-board controller 5 and the data from the external information system 7b (information amount “large”), etc. Therefore, the information rate on the individual server 3 is low (>1 sec). Furthermore, the shared server 1 learns and grows based on the driving data from the plurality of individual servers 3 and the aggregated data from the external information system 7a, etc. (information amount “extremely large”). Therefore, the information rate on the shared server 1 is extremely low (>1 hour). In other words, the handled information amount is larger on the higher layer than the lower layer, whereas the information rate is lower. The shared server 1 is located at the highest layer and the on-board controller 5 is located at the lowest layer.
Therefore, in this embodiment, an information entropy is equalized so that the data processing is executed smoothly in each layer (that is, the flow of the data processing does not deteriorate in any of the layers). In general, a processing load at each moment (per unit time) is equalized by adjusting the data amount which is processed per unit time in each layer, by having a calculation load of the processing executed in each layer (a total number of steps of a processing program) and a target response time in executing all the processing steps as known.
In this embodiment, the information entropy is defined by “data amount per unit time×processing speed.” The processing speed is defined by “the total number of steps of the processing program (the number of all program lines)×the target response time.”
Information entropy=data amount×total number of steps×target response time
For example, in the on-board controller 5, when the data amount is 10 MB (megabytes), the number of steps is 1,000 lines, and the target response time is 10 msecs, the setting in the individual server 3 is 100 kB (kilobytes), 10,000 lines and 1 sec, and the setting in the shared server 1 is 10 B (bytes), 100,000 lines and 1,000 secs.
Since the data amount of each layer is adjusted in this manner, when transmitting the driving data from the lower layer to the higher layer, the data conversion of the driving data is performed by the lower-layer synchronization engine so that it becomes easy for the higher layer to process the driving data. By this data conversion, the driving data is converted in terms of amount, quality, and time. The on-board controller 5 includes the second synchronization engine 60, and the individual server 3 includes the first synchronization engine 40.
As illustrated in
Synchronization request blocks 21 and 41 which are located in higher layers than the synchronization engines 40 and 60, respectively, issue acquisition request instructions to request for transmission of the driving data which has a desired information attribute, to the synchronization engines 40 and 60 according to methods requested in the processing in the higher layers, respectively. Upon receiving the instruction, each of the lower-layer synchronization engines executes data conversion processing corresponding to the requested information attribute. The lower-layer synchronization engine issues a data conversion instruction to other data processing blocks (not illustrated) in the same lower layer to convert the data, and outputs the data-converted driving data to the higher layer. Further, the lower layer monitors the higher layer. For example, the synchronization request blocks 21 and 41 output to the first synchronization engine 40 and the second synchronization engine 60, the acquisition request instructions which define a data amount reduction method, a data piece association and exclusion method (specifying a plurality of data pieces), and a time axis setting method (an extraction method or a statistical processing method).
In the data conversion processing regarding amount, the amount of the driving data is reduced. For example, data amount reduction processing is executed by an extraction of the feature amount, a conversion of the information amount, etc. The first synchronization engine 40 and the second synchronization engine 60 execute first data amount reduction processing and second data amount reduction processing, respectively.
In the extraction of the feature amount, the data size is reduced to include minimum information required in the processing in the higher layer. For example, the image data is converted into data of the feature amount extracted from the image data (the information of the angle of the corner of the mouth, traffic lane, etc.).
In the conversion of the information amount, the driving data is converted (averaged, time-filtered, etc.) into a summary statistics amount. For example, a deviation amount (deviation amount data of every 10 msecs) from a center line on the road is converted into average deviation amount data at an interval of 100 secs. Further, the steering angle data of every 10 msecs is converted into wandering degree determination data in a unit of 5 secs.
The synchronization engines may cause the other processing blocks to perform the extraction of the feature amount and the conversion of the information amount.
In the data conversion processing regarding quality, data relevance conversion processing of converting relevance between the information of the plurality of items of the driving data is performed. The first synchronization engine 40 and the second synchronization engine 60 execute a first data relevance conversion processing and a second data relevance conversion processing, respectively.
In the relevance conversion, a plurality of data pieces are selectively associated with each other. For example, the association is performed on the individual identification data with the heart rate data, time data with the heart rate data, and position data with the heart rate data. Alternatively, the individual identification data, the heart rate data, the time data, and the position data may be associated into single data. By this association, the associated data is processed as integrated data in processing of a certain purpose. Therefore, the processing amount in the higher layer is reduced. For example, the angle data of the corner of the mouth (feature amount data obtained by the data amount reduction processing), the voice data, driving operation data, in-vehicle environment data (air conditioning, audio, etc.) are associated with each other for learning the smile determination model.
Further in the relevance conversion, specific information is deleted from the plurality of associated information. For example, the individual identification data is excluded. The individual server 3 uses complex data in which a specific data piece is associated with another individual identification data, while the shared server 1 uses complex data created by excluding the individual identification data from the complex data used by the individual server 3 so as to secure the anonymity of the complex data. Further, in a case where the individual identification data includes a name, age, sex, address, etc., the exclusion may be targeted only on specific item(s) (name and sex).
In the data conversion processing regarding time, time axis change processing in which the driving data is processed with respect to a time axis is executed. The first synchronization engine 40 and the second synchronization engine 60 execute first time axis change processing and second time axis change processing, respectively.
In the processing with respect to the time axis (time axis processing), given time variation data is selectively extracted (sampled) on the time axis. For example, when the quality of the data is constant, the information is thinned out in the time axis direction. Specifically, the heart rate data at an interval of 10 msecs is thinned out to, for example, heart rate data at an interval of 100 msecs. Further, for example, when the heart rate data is used to detect arrhythmia, only the heart rate data indicating a significant numeric value (exceeding a given threshold) is selectively extracted by the time axis processing. Further in this time axis processing, conversion (averaging and time filtering) of the driving data into summary statistic amounts and conversion into statistical information (e.g., frequency distribution, etc.) are performed by statistical processing. In the time axis processing, a selective extraction time interval (constant or inconstant) and a statistical processing time interval on the time axis are set according to update processing time lengths (target response time) of the general driver model Ma and the individual driver model Mb. Therefore, an output interval of the driving data, which is a result of the time axis processing, becomes longer as the target response time is longer.
Note that although in this embodiment the data amount is adjusted between the layers (the shared server 1, the individual server 3, and the on-board controller 5), without limiting to this, the data amount may similarly be adjusted between the functional blocks of each layer (e.g., between computers which constitute the learning engine 31, a parameter update engine 32, a recommendation engine 33, a difference analysis engine 34, and a result verification engine 35, respectively).
Next, parameter update processing is described with reference to
The parameter update engine 32 acquires the general driver model Ma from the shared server 1, acquires from the on-board controller 5 various control parameters P and the driving data (including the voice data and the vehicle state data) which define the vehicle control processing, and updates the control parameters P by referring to the individual driver model Mb.
In principle, the parameter update engine 32 determines whether the individual driver model Mb is updated by the learning engine 31, and according to this update, updates the vehicle control algorithm 50 related to the updated portion. For example, the control parameters P included in the vehicle control algorithm 50 (including the values and types of the control parameters) are changed.
Therefore, the parameter update engine 32 compares the individual driver model Mb before the update with the latest individual driver model Mb, and extracts the updated portion. The parameter update engine 32 extracts the control parameter(s) P corresponding to the updated portion from the various control parameters P acquired from the vehicle A. Further, the parameter update engine 32 acquires a driver model parameter of the individual driver model Mb corresponding to control parameter(s) P.
The acquired driver model parameter and the corresponding control parameter(s) P are compared with each other (difference analysis). Note that in a case where the driver model parameter relates to the control parameter P but does not directly correspond thereto, the driver model parameter is converted so as to correspond directly to the control parameter P, and the converted value is compared with the control parameter P.
As a result of the difference analysis, when the difference exceeds a threshold which is set according to the type of the control parameter P, the driver model parameter (or the converted value) is set to be an update parameter. Further, the parameter update engine 32 determines whether a given update condition is satisfied. When the update condition is satisfied, the parameter update engine 32 outputs a control parameter update instruction in order to update the control parameter P to the update parameter. Upon receiving this control parameter update instruction, the on-board controller 5 updates the corresponding control parameter P to the new update parameter.
In this embodiment, contents and time of the update are defined as the given update condition. Regarding the update contents, if the control parameter P to be updated is of the vehicle control processing regarding travel safety related to traveling, stopping and turning (vehicle travel safety control processing), the update is prohibited because the change may result in causing uncomfortableness to the driver during the driving operation. The vehicle travel safety control processing is accompanied by an automatic accelerator control, an automatic brake control, an automatic steering control. For example, the vehicle travel safety control processing includes danger avoidance control processing for preventing a collision with an obstacle or a deviation from a traveling road. Furthermore, the wandering determination processing is also included in the vehicle control processing related to the travel safety.
On the other hand, if the update contents are updatable, the parameter update engine 32 determines the update timing (when the vehicle is stopped or when an ignition switch (IG) is off) based on the driving data (vehicle state data), and when an update timing condition is satisfied, transmits the control parameter update instruction. Note that although in this embodiment the parameter update engine 32 determines the update condition, the on-board controller 5 may determine the update condition upon receiving the control parameter update instruction.
Further, the update timing is defined according to the update contents. The update timing includes immediately (when the individual driver model Mb is updated), when the vehicle is stopped, and when the IG is off. The update timing of the control parameter P which is allowed to be changed while traveling is set to “immediately.” Examples of the updatable parameters for “immediately” include a smile determination parameter (the angle of the corner of the mouth) of the smile determination processing, an air conditioner setting temperature, accident information, etc.
Moreover, an update timing of the control parameter which is suitable to be updated when the vehicle is stopped is set to “when the vehicle is stopped.” Examples of the updatable parameters for “when the vehicle is stopped” include a dead-man determination parameter (e.g., an angle of the body of the driver in the driver image data) of a dead-man determination processing, a vehicle seat position and a mirror angle.
Further, an update timing of the control parameter which is suitable to be updated when the IG is off is set to “when the IG is off” One example of the updatable parameters for “when the IG is off” is general map information.
Moreover, when the updated individual driver model Mb generates a new submodel or when the learning engine 31 determines that compared to the existing submodel, a different submodel is more suitable for particular processing and is more effective, a new control parameter P may be added corresponding to the submodel. For example, a case is considered in which as a result of the learning, the angles of the corners of the eyes are analyzed to be more effective in the driver's smile determination than the angle of the corner of the mouth, and a new smile determination model is generated based on the angles of the corners of the eyes. In this case, the control parameter P is set instead of or in addition to the existing submodel which is based on the angle of the corner of the mouth. For example, the type of the control parameter P used for a smile determination logic in the vehicle control processing which is included in the vehicle control processing is changed from the angle of the corner of the mouth to the angles of the corners of the eyes, and the value of the control parameter P is changed from an angle threshold of the corner of the mouth to an angle threshold of the corners of the eyes.
Further, an example is described in which particular processing (changing the order of traveling route proposals, steering vibration, increasing speaker volume, etc.) is executed in the vehicle control processing when the driver is determined to be feeling drowsy. The learning engine 31 builds a submodel which is based on the wandering angle of the steering as a drowsiness determination model. Therefore, in the drowsiness determination processing in the vehicle A, the drowsiness is determined to be great when the wandering angle (fluctuation range) of the steering exceeds a determination threshold. When the learning engine 31 learns that the wandering angle of the vehicle A is large even normally, it updates the submodel, and accordingly the determination threshold (the value of the control parameter) is updated to be higher.
On the other hand, when the learning engine 31 learns that a fluctuation cycle is more effective than the wandering angle of the steering in determining drowsiness, it adds a submodel based on the fluctuation cycle of the wandering angle of the steering as a drowsiness determination model. Therefore, in the drowsiness determination processing in the vehicle A, the type of the control parameter is changed to the fluctuation cycle of the wandering angle and the value of the control parameter (determination threshold; fluctuation cycle) is also changed.
Further, when a drowsiness determination submodel based on image data is added, correspondingly, the type of the control parameter in the vehicle A is changed to a certain feature amount of the image data, and the value of the control parameter (determination threshold) is also changed.
Next, a case where the general driver model Ma is considered in the parameter update processing is described. That is, if the specific driver of the vehicle A repeats an extreme driving operation different from normal, the individual driver model Mb and the vehicle control processing (control parameters P) may be updated, resulting in decreasing their safety levels. Therefore, when the individual driver model Mb greatly deviates from the general driver model Ma, the control parameters P are updated based on the general driver model Ma for safety security.
The parameter update engine 32 acquires the general driver model Ma and the control parameters P. Further, when the individual driver model Mb is updated, the updated portion is extracted. Moreover, the control parameter(s) P corresponding to this updated portion is acquired. Furthermore, an individual driver model parameter of the individual driver model Mb and a general driver model parameter of the general driver model Ma in this updated portion (or corresponding to the acquired control parameter P) are acquired.
Next, the parameter update engine 32 compares the acquired individual driver model parameter with the acquired general driver model parameter, and calculates a difference therebetween. When the difference is smaller than a given value, an update parameter for updating the control parameter P is calculated based on the individual driver model parameter. On the other hand, when the difference is larger than the given value, the update parameter for updating the control parameter P is calculated based on the general driver model parameter. The calculation of the update parameter is similar to the other case described above.
When the update parameter is calculated in this manner, similar to the other case described above, when a given update condition is satisfied, a control parameter update instruction for updating the control parameter P to the update parameter is outputted.
Next, a case where the update (first update) is conducted in the parameter update processing based on the individual driver model Mb and then the update result is updated again (second update) based on the general driver model Ma according to a given condition is described. That is, although the control parameter P is updated based on the individual driver model Mb, because no improvement is seen in the vehicle control processing, the updated control parameter P is updated again based on the general driver model Ma.
The given condition for the second update is whether the emotional state of the driver is improved by the first update. If the emotional state of the driver is not improved, the control parameter P is updated again. Therefore, the parameter update engine 32 analyzes the emotional state of the driver from emotion analysis data of the driver based on the driving data (voice data).
Note that the emotion analysis may be conducted consecutively by the parameter update engine 32 or may continuously be conducted by another functional block (driver state analyzing unit) and stored as an emotion analysis history. Further, the improvement of the emotional state means that the emotional state changes from an unpleasant negative emotion (sadness, hatred, anger, anxiety, nervousness, dissatisfaction, etc.) to a pleasant positive emotion (joy, enjoyment, relief, relaxation, satisfaction, etc.).
The parameter update engine 32 acquires the control parameters P. Further, when the individual driver model Mb is updated, the updated portion is extracted. Moreover, the control parameter(s) P corresponding to this updated portion is extracted. Further, an individual driver model parameter of the individual driver model Mb in this updated portion (or corresponding to the acquired control parameter P) is acquired. Furthermore, an update parameter for updating the control parameter P is calculated based on the individual driver model parameter.
When a given update condition is satisfied, a control parameter update instruction for updating the control parameter P to the update parameter is outputted. Further, upon receiving this control parameter update instruction, the on-board controller 5 updates the corresponding control parameter P to the new update parameter.
The parameter update engine 32 determines whether the emotional state of the driver is improved by the update of the control parameter P which is conducted due to the update of the individual driver model Mb. If the emotional state of the driver is determined as improved, the update processing of the control parameter P is terminated. On the other hand, if the emotional state of the driver is determined as not improved, the parameter update engine 32 acquires a general driver model parameter of the general driver model Ma corresponding to the control parameter P.
Furthermore, a new update parameter for updating the control parameter P is calculated based on the general driver model parameter. When a given update condition is satisfied, a control parameter update instruction for updating the control parameter P to the new update parameter is outputted. Further, upon receiving this control parameter update instruction, the on-board controller 5 updates the corresponding control parameter P to the new update parameter.
For example, the submodel of the steering operation timing when traveling on a curved road is considered. If a stress felt by the driver (based on the heart rate, a voice analysis, etc.) when traveling on the curved road is not reduced after a corresponding control parameter P of the vehicle A (a steering operation guidance timing, etc. in the drive assistance) is updated based on the individual driver model Mb, the same control parameter P is updated based on the general driver model Ma.
Next, a recommending processing is described with reference to
The recommendation engine 33 instructs or suggests the on-board controller 5 to execute the recommending processing by using the general driver model Ma acquired from the shared server 1, the driving data (including the voice data) acquired from the vehicle A, and the individual driver model Mb. The on-board controller 5 executes the recommending processing when a given condition is satisfied.
The recommendation engine 33 has a state analysis block 33a and a recommendation block 33b.
The state analysis block 33a analyzes the driver state, the surrounding environment state, and the vehicle state based on the driving data (including the voice data), the general driver model Ma, and the individual driver model Mb. The analysis includes analyzing a current state and analyzing a state of the near future (e.g., 30 minutes later, 1 hour later).
The recommendation block 33b derives and outputs a suitable approach (recommending processing) for the driver based on the analysis output of the state analysis block 33a, the driving data, the general driver model Ma, and the individual driver model Mb. Note that since the recommendation engine 33 conducts an advanced state analysis using a large amount of accumulated data, it operates even while the driver is away from the vehicle A and suitably derives the recommending processing.
The driver state includes the state of mind, body, and behavior of the driver. The mind (emotional) state includes an attention state, awareness, emotion, stress level, driving load, driving motivation, sensation, nervousness, context, etc. The body (physical) state includes fatigue level, health condition, thermal sensation, device viewability, device operability, riding comfort, seating comfort, physical information, etc. The behavior state includes gazed position/target, attention state, gesture, device operation, driving behavior/operation/attitude, dialogue, habit, daily activities, behavior intention, etc.
The mind state (particularly, the emotional state) may directly be analyzed from the voice data (e.g., the emotion analysis using an endocrine model), the image data of the driver, and the heart rate data, or estimated by using the individual driver model Mb based on other driving data (including the captured image data and the heart rate data of the driver).
The surrounding environment state is an environment around the vehicle A, and includes a traffic/traveling environment, a preliminary grasped risk (traffic jam, road surface freeze, etc.), a communication environment, etc.
The vehicle state is the traveling state of the vehicle A and includes a driving difficulty level, wandering, etc.
As the recommendation control, the recommendation block performs at least a cabin space recommendation, a travel recommendation, and an information presentation recommendation.
The cabin space recommendation is a recommendation control for providing a cabin environment suitable for the driver and includes setting positions and angles of the seat and the mirror, adjusting the air conditioner, and providing music, a welcoming effect, etc.
The travel recommendation is a recommendation control for providing a traveling route suitable for the driver and includes presenting a recommended route, a pleasant route, a challenging route with a high driving difficulty level, a danger avoiding route, etc.
The information presentation recommendation includes presenting useful information for the driver and presenting an advanced state estimation result at a suitable timing in a suitable presentation method. The presentation of the useful information for the driver includes presenting information on attraction places on the route (scenery, restaurants, scenic spot, etc.), road traffic/weather/news, attention calling (to prevent lost belongings and delay), To Do list, a memorable image (picture), etc. The presentation of the advanced state estimation result includes presenting information on an advanced dead-man determination and an advanced smile determination.
The recommendation block 33b derives a suitable recommendation control using a basic association table describing relevance between the analysis state and given recommending processing by the state analysis block 33a. Further, this association table may be learned and updated by the general driver model Ma and the individual driver model Mb.
In accordance with the recommendation signal, the on-board controller 5 outputs instructions to the information presentation devices 9a, the on-board devices 9b, the information communication devices 9c, and the vehicle control systems 9d. The on-board controller 5 may store processing programs which are executed when the respective recommendation signals are received.
In this embodiment, according to the surrounding environment state and the vehicle state, for example, depending on each driver state (fatigue level, emotion, stress, attention state, awareness, etc.) analyzed by the state analysis block 33a, the recommendation block 33b derives suitable recommending processing which is executable, and outputs the recommendation signal.
For example, the state analysis block 33a estimates the body state. Here, a case is considered in which the driver is analyzed to be feeling fatigued. In response to this, the recommendation block 33b selects a suitable recommendation signal from a cabin space recommendation signal, a traveling route recommendation signal, an information presentation recommendation signal according to the situation, and outputs it.
The cabin space recommendation signal is, for example, a signal for instructing to activate the air conditioner, reset (lower) the air conditioning temperature, output a given music channel broadcast from the speaker, change a music channel, change the seat position and the mirror position according to the fatigue level, etc. The traveling route recommendation signal is, for example, a signal for instructing to prompt a change of the route from a currently set route with a high difficulty level (e.g., with many curves) to a new route with a low difficulty level (with many straight roads), etc. The information presentation recommendation signal is a signal for instructing to display on the display screen a given message recommending the driver to take a break or reduce the vehicle speed, etc. Further, a suitable recommendation signal is selected when a given body state or a given mind (emotional) state is analyzed.
Further, the individual driver model Mb includes a submodel indicating a preference of the driver on the settings of the on-board devices (the air conditioning temperature, the broadcast channel, the seat position, the mirror angle, etc.). For example, in a case where the state analysis block 33a analyzes that the settings of the on-board devices are different from the preference of the driver when the driver starts driving or when the given body state or the given mind (emotional) state is analyzed, the recommendation block 33b outputs the cabin space recommendation signal for instructing to change the settings to the preferred settings. In this instruction, the air conditioning temperature, the broadcast channel, the seat position, the mirror angle, etc. are specified as operation parameter values (preferred setting values).
Next, one example of the information presentation recommendation is described. A case is considered in which the state analysis block 33a analyzes that the vehicle A approaches a specific location where inattentive driving or drowsiness is easily induced (surrounding environment state) with reference to the individual driver model Mb. In response to this, the recommendation block 33b outputs a recommendation signal to execute an attention calling processing by voice, etc. at a position which is a given distance before reaching the specific location (at a suitable timing).
Further, when the state analysis block 33a analyzes that the specific location is the location where inattentive driving or drowsiness is easily induced also to the general driver with reference to the general driver model Ma, the recommendation block 33b outputs a recommendation signal to execute the attention calling processing early at a position further before reaching the specific location (at a suitable timing).
Further, the individual driver model Mb includes a submodel indicating preference (food, hobby, sports, etc.) of the driver, which is built based on the communication data acquired from the portable information terminal device 7c (telephone voice data, mail text data, device setting information, etc.). For example, in the submodel of “food,” the types of favorite cuisines (Japanese cuisine, French cuisine, Italian cuisine, etc.) are ranked based on bookmarks, etc. which are device setting information.
When the state analysis block 33a analyzes that an estimated time at which the driver starts to feel hungry, the recommendation block 33b outputs a recommendation signal for displaying restaurant information on the type of favorite cuisine (the type of cuisine and a restaurant name) on a navigation map according to the estimated time (at a suitable timing) based on the submodel. Note that without limiting to a hunger level, the recommendation signal may be selected when a given body state is analyzed or when a given mind (emotional) state is analyzed.
Next, one example of the traveling route recommendation is described. The state analysis block 33a estimates the emotional state or the body state of the driver from the driving data with reference to the individual driver model Mb and the general driver model Ma. Here, a case is considered in which the enjoyment that the driver feels is estimated to be low (or predicted that he/she will feel bored within one hour due to a decrease in driving motivation).
Upon receiving the analysis output indicating this estimation (prediction), the recommendation block 33b derives the recommending processing for causing the driver to feel enjoyment (or not to feel bored). For example, based on the individual driver model Mb and the general driver model Ma, a particular location registered as a location where the general driver or the driver of the vehicle A feels enjoyment (a road on a coastline, a viewing spot, etc.) is searched within a given distance range from a current position, and a recommendation signal prompting a change in the route so that this particular location is included as a waypoint is outputted. Upon receiving this recommendation signal, the on-board controller 5 inputs the waypoint included in the recommendation signal to the navigation device. Therefore, by the navigation device performing a new route calculation, a new recommended route is displayed on the display screen.
Further, when the state analysis block 33a predicts a road surface freeze from an outdoor air temperature, weather, etc., the recommendation block 33b outputs a recommendation signal for instructing to set a route avoiding a location where the road surface freeze is predicted.
The on-board controller 5 has a recommendation determination block 53 configured to determine whether to execute the recommending processing based on the recommendation signal. The recommendation determination block 53 allows the execution of the recommending processing when it is performing entertainment control processing, and prohibits execution of the recommending processing when it is performing safety control processing. In the on-board controller 5, when the execution of the processing is allowed by the recommendation determination block 53, the entertainment control block 52a executes the recommending processing according to the recommendation signal.
Note that in this embodiment, whether to execute the recommending processing is determined depending on whether the recommending processing is the entertainment control processing or the safety control processing. However, without limiting to this, if there is a possibility of the vehicle operation being unsafe, execution of the recommending processing may be prohibited also when the recommending processing is the entertainment control processing. For example, if the recommending processing is processing of retarding an alarm issuing timing for when a brake operation timing is delayed, the execution of the processing is prohibited since the unsafe operation level increases, whereas if the recommending processing is processing of advancing the alarm issuing timing, the execution is allowed since the safe operation level increases.
Moreover, the recommendation determination block 53 prohibits the execution of the recommending processing also when the recommending processing contradicts or invalidates the vehicle control processing by the on-board controller 5. For example, when the processing of advancing the alarm issuing timing for the brake operation delay is executed in the vehicle control processing due to the weather (when the weather is rainy or visibility is low), the recommending processing is prohibited if it retards the alarm issuing timing. This is because the recommending processing contradicts or invalidates the vehicle control processing executed due to the weather. On the other hand, the recommending processing is allowed if it advances the alarm issuing timing since such contradiction or invalidation does not occur.
Next, complement processing of the individual driver model with the general driver model is described. Since the traveling of the vehicle A is limited to be within a specific region or by a specific traveling operation, the amount of the reference data (driving data and general data) used for the individual driver model Mb is significantly smaller than the reference data used for the general driver model Ma. Therefore, the individual driver model Mb and the general driver model Ma have a difference from each other according to such difference in the data amount.
A comparison block (not illustrated) of the recommendation engine 33 acquires the individual driver model Mb and the general driver model Ma, and executes a comparison processing. By this comparison processing, a submodel, general knowledge, etc. which exist in the general driver model Ma but not in the individual driver model Mb are extracted. The extracted difference data (the submodel, the general knowledge, etc.) is stored as accumulated data via the result verification engine 35 and learned by the learning engine 31. Thus, the submodel, general knowledge, etc. which are adaptable to the vehicle A are added to the individual driver model Mb.
Next, verification processing of the recommendation instruction is described with reference to
The ideal driver model Mi is created based on a driving operation of an expert driver and is a model of an ideal state where the driver feels enjoyment while focusing on the driving operation in a state where a driving skill of the driver and the traveling difficulty level are well balanced.
The difference analysis engine 34 compares the driver state in the ideal driver model Mi with an actual driver state analyzed based on the voice data of the driver.
The result verification engine 35 analyzes the difference data from the difference analysis engine 34 to verify an influence on the driver state which is caused by the recommending processing executed based on the recommendation signal, and accumulates the verification result in the memory 3b. The verification result is an evaluation on a reduction amount of the difference (a shifted amount toward the ideal state) or an increase amount of the difference (a shifted amount away from the ideal state) by executing the recommending processing. By the learning engine 31 learning this verification result, the individual driver model Mb is updated to be more suitable for the specific driver.
Next, a vehicle drive assistance system according to one modification is described with reference to
Different from the vehicle drive assistance system S described above, in a vehicle drive assistance system S2 of this modification, the individual server 3 is mounted on the vehicle A. That is, the on-board controller 5 and the individual server 3 are communicably mounted on the vehicle A. The data flow is similar to that of the vehicle drive assistance system S.
In this vehicle drive assistance system S2, the on-board controller 5 and the individual server 3 are connected in a state where they are separated by a gateway having a security function. Therefore, the on-board controller 5 and the individual server 3 are configured as separate units.
In a case where the on-board controller 5 and the individual server 3 are configured as an integrated unit, calculation performance may temporarily become insufficient due to the learning processing of the individual driver model that requires advanced processing, and vehicle control processing may be delayed. However, in this modification, since the on-board controller 5 and the individual server 3 are configured as separate units, the on-board controller 5 only needs to execute the vehicle control processing similarly to the above embodiment, therefore the vehicle control processing does not delay.
Further, artificial intelligence technology is currently in a developing stage and the progression speed is high. Therefore, in this modification, the separately-configured individual server 3 is easily updatable to a higher performance server.
Next, effects of the vehicle drive assistance system of this embodiment are described.
The vehicle drive assistance system of this embodiment includes the shared server 1 (executing the general driver model learning engine) configured to build the general driver model Ma to be applied for a plurality of drivers based on the driving data of the plurality of drivers, and the individual server 3 (executing the individual driver model learning engine) configured to build the individual driver model Mb particular to the specific driver based on the driving data of the specific driver. The individual driver model learning engine includes the first synchronization engine 40 configured to provide to the general driver model learning engine the driving data obtained by executing the first data conversion processing on the driving data of the specific driver received from the vehicle A of the specific driver. The first data conversion processing includes the first data amount reduction processing in which the driving data received from the vehicle A is processed so that the amount of the driving data provided to the general driver model learning engine is smaller than the amount of the driving data received from the vehicle A.
Thus, in this embodiment, the individual server 3 builds the individual driver model Mb by learning the driving data from the vehicle A, while the shared server 1 builds the general driver model Ma by learning the plurality of driving data which includes the driving data from the vehicle A. Therefore, the shared server 1 needs to process a larger amount of data compared to the individual server 3, and for this reason, a computing device that performs higher speed calculations is desirable for the shared server 1. However, adopting such a computing device leads to a cost increase and is not a realistic solution. Therefore, in this embodiment, the first synchronization engine 40 provides the driving data of which the data amount is reduced by the data conversion from the individual server 3 to the shared server 1 so as to reduce the calculation processing in the shared server 1. Thus, degradation of the processing speed of the shared server 1 and an increase in the computational requirements of the shared server 1 are prevented.
Further, the first data conversion processing of this embodiment includes the first relevance conversion processing in which the relevance between the plurality of data pieces configuring the driving data received from the vehicle A is changed.
Likewise, in this embodiment, the individual driver model learning engine builds the individual driver model Mb by learning the driving data from the vehicle A, while the shared server 1 builds the general driver model Ma by learning the plurality of driving data which includes the driving data from the vehicle A. Therefore, the shared server 1 processes a larger amount of data compared to the individual driver model learning engine, and for this reason, a computing device which performs higher speed calculations is desirable for the shared server 1. However, adopting such a computing device leads to a cost increase and is not a realistic solution. Therefore, in this embodiment, the first synchronization engine 40 changes the relevance between the plurality of pieces of the driving data and provides the data from the individual driver model learning engine to the shared server 1 so as to reduce the calculation processing in the shared server 1. Thus, the degradation of the processing speed of the shared server 1 and the increase in the computational requirements of the shared server 1 are prevented.
Further, the first data conversion processing of this embodiment includes the first time axis change processing in which one of the selective extraction processing and the statistical processing of the given time variation data is executed with respect to the time axis, the given time variation data being included in the driving data received from the vehicle A.
Likewise, in this embodiment, the individual server 3 builds the individual driver model Mb by learning the driving data from the vehicle A, while the shared server 1 builds the general driver model Ma by learning the plurality of driving data which includes the driving data from the vehicle A. Therefore, the shared server 1 needs to process a larger amount of data compared to the individual server 3, and for this reason, a computing device which performs higher speed calculations is desirable for the shared server 1. However, adopting such a computing device leads to a cost increase and is not a realistic solution. Therefore, in this embodiment, the first synchronization engine 40 executes the selective extraction processing or the statistical processing of the given time variation data with respect to the time axis and provides the driving data from the individual server 3 to the shared server 1, so as to reduce the calculation processing in the shared server 1. Thus, degradation of the processing speed of the shared server 1 and an increase in the computational requirements of the shared server 1 are prevented.
Further in this embodiment, the general driver model learning engine is provided to the shared server 1 (first server) located outside the vehicle A. While a large amount of data is processed in building the general driver model Ma, containing a large amount of data enhances general versatility. However, in this case, the calculation load of the computing program becomes extremely high. Therefore, in this embodiment, the shared server 1 disposed outside the vehicle executes such a high calculation load processing. Thus, the calculation load is divided, and an efficiency model calculation and a smooth vehicle control are achieved.
Further in this embodiment, the individual driver model learning engine is provided to the individual server 3 (second server) located outside the vehicle A. Also for the individual driver model Mb, the individual driver model learning engine is preferably disposed outside the vehicle in order to reduce the calculation load of the computing unit. Further, since the individual driver model learning engine processes the driving data of the specific driver, the driver himself/herself is identified. On the other hand, the general driver model learning engine processes the driving data of the plurality drivers. Therefore, anonymity of the driving data processed by the general driver model learning engine is preferably secured. For this reason, it is beneficial to provide the general driver model learning engine and the individual driver model learning engine separately outside the vehicle.
Further, in this embodiment, the vehicle drive assistance system also includes the on-board controller 5 provided in the vehicle A. The on-board controller 5 includes the second synchronization engine 60 configured to transmit to the individual server 3 the driving data obtained by executing the second data conversion processing on the driving data acquired in the vehicle A. The second data conversion processing includes the second data amount reduction processing in which the driving data acquired in the vehicle A is processed so that the amount of the driving data provided to the individual server 3 is smaller than the amount of the driving data acquired in the vehicle A. Moreover, the second data conversion processing includes the second relevance conversion processing in which the relevance between the plurality of data pieces configuring the driving data acquired in the vehicle A is changed. Furthermore, the second data conversion processing includes the second time axis change processing in which the given time variation data is selectively extracted with respect to the time axis, the given time variation data being included in the driving data acquired in the vehicle A.
Thus, in this embodiment, the on-board controller 5 does not build the individual driver model Mb unlike the individual server 3. For this reason, the individual server 3 needs to perform data processing at a higher load compared to the on-board controller 5. Therefore, in this embodiment, the second synchronization engine 60 provides the driving data of which the data amount is reduced by the data conversion from the on-board controller 5 to the individual server 3 so as to reduce calculation processing in the individual server 3. Thus, degradation of the processing speed of the individual server 3 and an increase in the computational requirements of the individual server 3 are prevented.
Further, in this embodiment, the first synchronization engine 40 executes the first data conversion processing so that, in the calculation processes of the driving data by the shared server 1 and the individual server 3, the information entropy which is expressed by the multiplication value of the data amount which is processed in the calculation processing per unit time, the calculation load, and the target response time becomes substantially equal. In this embodiment, by equalizing the information entropy in this manner, the data flow becomes smooth in the shared server 1 and the individual server 3 without latency.
Further, in this embodiment, the second synchronization engine 60 executes the second data conversion processing so that, in the calculation processes of the driving data by the individual server 3 (individual driver model learning engine) and the on-board controller 5, the information entropy which is expressed by the multiplication value of the data amount that is processed in the calculation processing per unit time, the calculation load, and the target response time becomes substantially equal. In this embodiment, by equalizing the information entropy in this manner, the data flow becomes smooth in the individual server 3 and the on-board controller 5 without latency.
Further, in this embodiment, the first synchronization engine 40 associates two or more of the plurality of data pieces with each other by the first relevance conversion processing. Thus, in this embodiment, for example, for a given processing, the plurality of pieces of the driving data is associated with each other, so as to reduce the data processing load on the shared server 1.
Further in this embodiment, the driving data includes the individual identification data for identifying the specific driver, and the first synchronization engine 40 excludes the individual identification data from the driving data in the first relevance conversion processing. Thus, in this embodiment, since the shared server 1 handles the driving data of the plurality of drivers, the driving data is provided in the state where the individual identification data is excluded therefrom and the individual drivers are not identifiable. As a result, the privacy of the drivers and security are ensured.
Further, in this embodiment, the shared server 1 transmits to the first synchronization engine 40 a first instruction for defining the association method and the exclusion method of the data pieces in the first relevance conversion processing, and the first synchronization engine 40 executes the first relevance conversion processing based on the first instruction. Thus, in this embodiment, the required association and exclusion of the data pieces are performed according to the data processing method of the shared server 1 and also according to the change in this data processing method.
Further, in this embodiment, the second synchronization engine 60 associates two or more of the plurality of data pieces with each other by the second relevance conversion processing. Thus, in this embodiment, for example, for a given processing, the plurality of pieces of the driving data is associated with each other, so as to reduce the data processing load on the individual server 3.
Further, in this embodiment, the individual server 3 transmits to the second synchronization engine 60 a second instruction for defining the association method of the data pieces in the second relevance conversion processing, and the second synchronization engine 60 executes the second relevance conversion processing based on the second instruction. Thus, in this embodiment, the required association and exclusion of the data pieces are performed according to the data processing method of the individual server 3 and also according to the change in this data processing method.
Further, in this embodiment, one of the extraction time interval and the statistical processing time interval of the time variable data in the first time axis change processing and the second time axis change processing is set according to the given update intervals of the general driver model Ma and the individual driver model Mb in the shared server 1 and the individual server 3, respectively. Thus, in this embodiment, the data time interval is set according to one of the information processing speeds and the target response times of the shared server 1 and the individual server 3, so as to reduce the data processing load on the shared server 1 and the individual server 3.
Further, in this embodiment, the data interval of the driving data is extended by the first time axis change processing and the second time axis change processing.
Further, in this embodiment, the shared server 1 transmits to the first synchronization engine 40 a first instruction for defining one of the extraction method and the statistical processing method of the time variation data in the first time axis change processing, and the first synchronization engine 40 executes the first time axis change processing based on the first instruction. Thus, in this embodiment, the time axis is set according to the data processing method at the shared server 1 and also according to the change in this data processing method.
Further, in this embodiment, the individual server 3 transmits to the second synchronization engine 60 a second instruction for defining one of the extraction method and the statistical processing method of the time variation data in the second time axis change processing, and the second synchronization engine 60 executes the second time axis change processing based on the second instruction. Thus, in this embodiment, the time axis is set according to the data processing method at the individual server 3 and also according to the change in this data processing method.
It should be understood that the embodiments herein are illustrative and not restrictive, since the scope of the invention is defined by the appended claims rather than by the description preceding them, and all changes that fall within metes and bounds of the claims, or equivalence of such metes and bounds thereof, are therefore intended to be embraced by the claims.
Number | Date | Country | Kind |
---|---|---|---|
2017-065078 | Mar 2017 | JP | national |
2017-065079 | Mar 2017 | JP | national |
2017-065080 | Mar 2017 | JP | national |