以下の説明は、いかなる当業者も本開示を作成および使用することを可能にするために提示され、特定の用途およびその要件との関連で提供される。開示された実施形態に対する様々な修正は当業者には容易に明らかであり、本明細書で定義された一般原理は、本開示の趣旨および範囲から逸脱することなく、他の実施形態および用途に適用されてもよい。したがって、本開示は、示された実施形態に限定されず、特許請求の範囲と一致する最も広い範囲を与えられるべきである。
本明細書で使用される用語は、特定の例示的な実施形態のみを記載することを目的としており、限定するものではない。本明細書で使用される単数形「a」、「an」、および「the」は、文脈が明らかにそうでないと示さない限り、複数形も含むものであり得る。「comprise」、「comprises」、および/または「comprising」、「include」、「includes」、および/または「including」という用語は、本明細書で使用されると、述べられた特徴、整数、ステップ、動作、要素、および/または構成要素の存在を指定するが、1つまたは複数の他の特徴、整数、ステップ、動作、要素、構成要素、および/またはそれらのグループの存在または追加を排除しないことをさらに理解されたい。
本開示のこれらおよび他の特徴および特性、ならびに動作の方法および構造の関連要素の機能および部品の組合せおよび製造の経済性は、そのすべてが本開示の一部を形成する添付図面を参照して、以下の説明を考慮するとより明らかになり得る。しかしながら、図面は、例示および説明のみを目的としており、本開示の範囲を限定するものではないことは、明確に理解されるべきである。図面は縮尺通りではないとされている。
本開示で使用されるフローチャートは、本開示のいくつかの実施形態に従ってシステムが実施する動作を示す。フローチャートの動作は順不同で実施されてもよいことは明確に理解されるべきである。反対に、動作は逆の順序で、または同時に実施されてもよい。その上、1つまたは複数の他の動作がフローチャートに追加されてもよい。1つまたは複数の動作がフローチャートから削除されてもよい。
その上、本開示に開示されるシステムおよび方法は、主にオンデマンド送迎サービスに関連付けられた運転行動を識別することに関して記載されているが、これは1つの例示的な実施形態にすぎないことも理解されるべきである。本開示のシステムまたは方法は、任意の他の種類のオンデマンドサービスに適用されてもよい。たとえば、本開示のシステムまたは方法は、陸上、海上、航空宇宙など、またはそれらの任意の組合せを含む様々な環境の交通システムに適用されてもよい。交通システムの車両には、タクシー、自家用車、ヒッチ、バス、電車、新幹線、高速鉄道、地下鉄、船舶、航空機、宇宙船、熱気球、無人車両など、またはそれらの任意の組合せが含まれてもよい。交通システムにはまた、管理および/または配達用の任意の交通システム、たとえば、速達便を送るかつ/または受け取るためのシステムが含まれてもよい。本開示のシステムまたは方法の用途には、ウェブページ、ブラウザのプラグイン、クライアント端末、カスタムシステム、内部分析システム、人工知能ロボットなど、またはそれらの任意の組合せが含まれてもよい。
本開示における「乗客」、「要求者(requester)」、「要求者(requestor)」、「サービス要求者(service requester)」、「サービス要求者(service requestor)」、および「顧客」という用語は、サービスを要求または注文することができる個人、団体、またはツールを指すために互換的に使用される。また、本開示における「ドライバ」、「プロバイダ」、「サービスプロバイダ」、および「サプライヤ」という用語は、サービスを提供するかまたはサービスの提供を容易にすることができる個人、団体、またはツールを指すために互換的に使用される。本開示における「ユーザ」という用語は、サービスを要求する、サービスを注文する、サービスを提供する、またはサービスの提供を容易にすることができる個人、団体、またはツールを指す。本開示では、「要求者」および「要求者端末」という用語は互換的に使用されてもよく、「プロバイダ」および「プロバイダ端末」という用語は互換的に使用されてもよい。
本開示における「要求」、「サービス」、「サービス要求」、および「注文」という用語は、乗客、要求者、サービス要求者、顧客、ドライバ、プロバイダ、サービスプロバイダ、サプライヤなど、またはそれらの任意の組合せによって開始され得る要求を指すために互換的に使用される。サービス要求は、乗客、要求者、サービス要求者、顧客、ドライバ、プロバイダ、サービスプロバイダ、またはサプライヤのうちのいずれか1人によって受け入れられてもよい。サービス要求は有料であっても無料であってもよい。
本開示で使用される測位技術は、全地球測位システム(GPS)、全地球航法衛星システム(GLONASS)、コンパス航法システム(COMPASS)、ガリレオ測位システム、準天頂衛星システム(QZSS)、ワイヤレスフィデリティ(WiFi)測位技術など、またはそれらの任意の組合せを含んでもよい。本開示では、上記の測位システムのうちの1つまたは複数が互換的に使用されてもよい。
本開示の一態様は、ドライバの危険運転行動を識別するためのシステムおよび方法に関する。システムは、ドライバが運転する車両に関連付けられたセンサから運転データを取得することができる。センサは、車両に関連付けられたモバイルデバイスに取り付けられたセンサであってもよい。システムは、運転データに基づいて対象時間期間を決定することができる。システムはまた、運転データに基づいて対象時間期間内の対象データを取得することができる。システムはさらに、対象データに基づいてドライバの危険運転行動の存在を識別することができる。本開示のシステムおよび方法によれば、運転データはモバイルデバイスに取り付けられたセンサから取得することができ、したがって、ドライバの危険運転行動を適時かつ効果的に検出することができ、それにより、乗客およびドライバの個人の安全が確保される。さらに、サービス要求を割り振るための割振り戦略は、危険運転行動に関連付けられた関連データに基づいて調整されてもよく、それにより、オンラインタクシー配車プラットフォームが最適化される。
さらに、対象時間期間内の対象データを取得するために、システムは、機械学習モデルに基づいて運転データから無関係なデータ(たとえば、モバイルデバイスの振動によって生成されたデータ)を除去することができ、危険運転行動の識別の確度を向上させることができる。
オンラインタクシー配車サービスなどのオンラインオンデマンドサービスは、ポストインターネット時代にのみ根ざした新しい形態のサービスであることに留意されたい。それは、ポストインターネット時代にのみ上がる可能性があるユーザおよびサービスプロバイダに技術的な解決策を提供する。インターネット以前の時代では、乗客が路上でタクシーを呼んだとき、タクシーの要求および受諾は、乗客とその乗客に会う1人のタクシードライバとの間でのみ行われる。乗客が電話でタクシーを呼んだ場合、サービスの要求および受諾は、乗客と1つのサービスプロバイダ(たとえば、1つのタクシー会社または代理人)との間でのみ行われ得る。しかしながら、オンラインタクシーは、サービスのユーザが、ユーザから離れた膨大な数の個々のサービスプロバイダ(たとえば、タクシー)にリアルタイムかつ自動的にサービス要求を配信することを可能にする。それはまた、複数のサービスプロバイダが同時かつリアルタイムにサービス要求に応答することを可能にする。したがって、インターネットを介して、オンデマンドサービスシステムは、従来のインターネット以前のオンデマンドサービスシステムでは決して満たすことができないはるかに効率的な取引プラットフォームをユーザおよびサービスプロバイダに提供することができる。
図1は、本開示のいくつかの実施形態による、例示的なオンデマンドサービスシステムを示す概略図である。いくつかの実施形態では、オンデマンドサービスシステム100は、オンラインとオフラインをつなぐサービスのためのシステムであってもよい。たとえば、オンデマンドサービスシステム100は、タクシー配車、運転手サービス、配達車両、カープール、バスサービス、ドライバ雇用、シャトルサービスなどの送迎サービス用のオンライン送迎サービスプラットフォームであってもよい。オンデマンドサービスシステム100は、サーバ110、ネットワーク120、要求者端末130、プロバイダ端末140、およびストレージ150を含むプラットフォームであってもよい。
いくつかの実施形態では、サーバ110は単一のサーバであってもサーバグループであってもよい。サーバグループは集中型であっても分散型であってもよい(たとえば、サーバ110は分散型システムであってもよい)。いくつかの実施形態では、サーバ110はローカルであってもリモートであってもよい。たとえば、サーバ110は、ネットワーク120を介して、要求者端末130、プロバイダ端末140、および/またはストレージ150に記憶された情報および/またはデータにアクセスすることができる。別の例として、サーバ110は、記憶された情報および/またはデータにアクセスするために、要求者端末130、プロバイダ端末140、および/またはストレージ150に直接接続されてもよい。いくつかの実施形態にでは、サーバ110はクラウドプラットフォームに実装されてもよい。単なる一例として、クラウドプラットフォームには、プライベートクラウド、パブリッククラウド、ハイブリッドクラウド、コミュニティクラウド、分散型クラウド、インタークラウド、マルチクラウドなど、またはそれらの任意の組合せが含まれてもよい。いくつかの実施形態では、サーバ110は、本開示において図2に示された1つまたは複数の構成要素を含むコンピューティングデバイス200に実装されてもよい。
いくつかの実施形態では、サーバ110は処理エンジン112を含んでもよい。処理エンジン112は、本開示に記載されたサーバ110の1つまたは複数の機能を実行するために、サービス要求に関する情報および/またはデータを処理することができる。たとえば、処理エンジン112は、ドライバが運転する車両に関連付けられた運転データを取得し、運転データに基づいてドライバの危険運転行動の存在を識別することができる。いくつかの実施形態では、処理エンジン112は、1つまたは複数の処理エンジン(たとえば、シングルコア処理エンジンまたはマルチコアプロセッサ)を含んでもよい。単なる一例として、処理エンジン112には、中央処理装置(CPU)、特定用途向け集積回路(ASIC)、特定用途向け命令セットプロセッサ(ASIP)、グラフィックス処理装置(GPU)、物理処理装置(PPU)、デジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブルロジックデバイス(PLD)、コントローラ、マイクロコントローラユニット、縮小命令セットコンピュータ(RISC)、マイクロプロセッサなどの1つまたは複数のハードウェアプロセッサ、またはそれらの任意の組合せが含まれてもよい。いくつかの実施形態では、処理エンジン112は、要求者端末130またはプロバイダ端末140の中に統合されてもよい。
ネットワーク120は、情報および/またはデータの交換を容易にすることができる。いくつかの実施形態では、オンデマンドサービスシステム100の1つまたは複数の構成要素(たとえば、サーバ110、要求者端末130、プロバイダ端末140、ストレージ150)は、ネットワーク120を介してオンデマンドサービスシステム100の他の構成要素に情報および/またはデータを送信することができる。たとえば、サーバ110は、ネットワーク120を介してプロバイダ端末140から運転データを受信することができる。いくつかの実施形態では、ネットワーク120は、任意のタイプの有線もしくはワイヤレスのネットワーク、またはそれらの組合せであってもよい。単なる一例として、ネットワーク120には、ケーブルネットワーク、有線ネットワーク、光ファイバネットワーク、電気通信ネットワーク、イントラネット、インターネット、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、ワイヤレスローカルエリアネットワーク(WLAN)、メトロポリタンエリアネットワーク(MAN)、公衆電話交換網(PSTN)、Bluetooth(登録商標)ネットワーク、ZigBeeネットワーク、近距離無線通信(NFC)ネットワークなど、またはそれらの任意の組合せが含まれてもよい。いくつかの実施形態では、ネットワーク120は1つまたは複数のネットワークアクセスポイントを含んでもよい。たとえば、ネットワーク120は、基地局および/またはインターネット交換ポイント120−1、120−2、…などの有線またはワイヤレスのネットワークアクセスポイントを含んでもよく、それらを介して、オンデマンドサービスシステム100の1つまたは複数の構成要素は、データおよび/または情報を交換するためにネットワーク120に接続されてもよい。
いくつかの実施形態では、サービス要求者は要求者端末130のユーザであってもよい。いくつかの実施形態では、要求者端末130のユーザは、サービス要求者以外の誰かであってもよい。たとえば、要求者端末130のユーザAは、要求者端末130を使用して、ユーザBに対するサービス要求を送信するか、またはサーバ110からサービス確認および/または情報もしくは命令を受信することができる。いくつかの実施形態では、サービスプロバイダはプロバイダ端末140のユーザであってもよい。いくつかの実施形態では、プロバイダ端末140のユーザは、サービスプロバイダ以外の誰かであってもよい。たとえば、プロバイダ端末140のユーザCは、プロバイダ端末140を使用して、ユーザDに対するサービス要求、および/またはサーバ110からの情報もしくは命令を受信することができる。いくつかの実施形態では、「サービス要求者」および「要求者端末」は互換的に使用されてもよく、「サービスプロバイダ」および「プロバイダ端末」は互換的に使用されてもよい。
いくつかの実施形態では、要求者端末130には、モバイルデバイス130−1、タブレットコンピュータ130−2、ラップトップコンピュータ130−3、自動車の内蔵デバイス130−4など、またはそれらの任意の組合せが含まれてもよい。いくつかの実施形態では、モバイルデバイス130−1には、スマートホームデバイス、ウェアラブルデバイス、スマートモバイルデバイス、仮想現実デバイス、拡張現実デバイスなど、またはそれらの任意の組合せが含まれてもよい。いくつかの実施形態では、スマートホームデバイスには、スマート照明デバイス、インテリジェント電気装置の制御デバイス、スマートモニタリングデバイス、スマートテレビ、スマートビデオカメラ、インターホンなど、またはそれらの任意の組合せが含まれてもよい。いくつかの実施形態では、ウェアラブルデバイスには、スマートブレスレット、スマートフットギア、スマートグラス、スマートヘルメット、スマートウォッチ、スマート衣類、スマートバックパック、スマートアクセサリなど、またはそれらの任意の組合せが含まれてもよい。いくつかの実施形態では、スマートモバイルデバイスには、スマートフォン、携帯情報端末(PDA)、ゲームデバイス、ナビゲーションデバイス、販売時点管理(POS)デバイスなど、またはそれらの任意の組合せが含まれてもよい。いくつかの実施形態では、仮想現実デバイスおよび/または拡張現実デバイスには、仮想現実ヘルメット、仮想現実グラス、仮想現実パッチ、拡張現実ヘルメット、拡張現実グラス、拡張現実パッチなど、またはそれらの任意の組合せが含まれてもよい。たとえば、仮想現実デバイスおよび/または拡張現実デバイスには、Google Glass(商標)、RiftCon(商標)、Fragments(商標)、Gear VR(商標)などが含まれてもよい。いくつかの実施形態では、自動車の内蔵デバイス130−4には、車載コンピュータ、車載テレビなどが含まれてもよい。いくつかの実施形態では、要求者端末130は、要求者および/または要求者端末130の位置を特定するための測位技術を有するデバイスであってもよい。
いくつかの実施形態では、プロバイダ端末140は、要求者端末130と同様または同じデバイスであってもよい。いくつかの実施形態では、プロバイダ140は、1つまたは複数のセンサを含んでもよい。1つまたは複数のセンサには、ジャイロスコープ、加速度センサ、全地球測位システム(GPS)、重力センサ、光学センサ、温度センサ、指紋センサ、心拍数センサ、近接センサ、音響検出器など、またはそれらの任意の組合せが含まれてもよい。いくつかの実施形態では、プロバイダ端末140は、プロバイダおよび/またはプロバイダ端末140の位置を特定するための測位技術を有するデバイスであってもよい。いくつかの実施形態では、プロバイダ端末140は、サーバ110にGPSデータを周期的に送信することができる。いくつかの実施形態では、要求者端末130および/またはプロバイダ端末140は、要求者、要求者端末130、プロバイダ、および/またはプロバイダ端末140の位置を特定するために、別の測位デバイスと通信することができる。いくつかの実施形態では、要求者端末130および/またはプロバイダ端末140は、サーバ110に測位情報を送信することができる。
ストレージ150は、データおよび/または命令を記憶することができる。いくつかの実施形態では、ストレージ150は、要求者端末130および/またはプロバイダ端末140から取得されたデータを記憶することができる。いくつかの実施形態では、ストレージ150は、サーバ110が本開示に記載される例示的な方法を実施するために実行または使用することができる、データおよび/または命令を記憶することができる。いくつかの実施形態では、ストレージ150には、大容量記憶装置、リムーバブル記憶装置、揮発性読み書きメモリ、読取り専用メモリ(ROM)など、またはそれらの任意の組合せが含まれてもよい。例示的な大容量記憶装置には、磁気ディスク、光ディスク、半導体ドライブなどが含まれてもよい。例示的なリムーバブル記憶装置には、フラッシュドライブ、フロッピーディスク、光ディスク、メモリカード、ジップディスク、磁気テープなどが含まれてもよい。例示的な揮発性読み書きメモリには、ランダムアクセスメモリ(RAM)が含まれてもよい。例示的なRAMには、ダイナミックRAM(DRAM)、ダブルデータレート同期ダイナミックRAM(DDR SDRAM)、スタティックRAM(SRAM)、サイリスタRAM(T−RAM)、およびゼロキャパシタRAM(Z−RAM)などが含まれてもよい。例示的なROMには、マスクROM(MROM)、プログラマブルROM(PROM)、消去可能プログラマブルROM(EPROM)、電気的消去可能プログラマブルROM(EEPROM)、コンパクトディスクROM(CD−ROM)、およびデジタル多用途ディスクROMなどが含まれてもよい。いくつかの実施形態では、ストレージ150はクラウドプラットフォームに実装されてもよい。単なる一例として、クラウドプラットフォームには、プライベートクラウド、パブリッククラウド、ハイブリッドクラウド、コミュニティクラウド、分散型クラウド、インタークラウド、マルチクラウドなど、またはそれらの任意の組合せが含まれてもよい。
いくつかの実施形態では、ストレージ150は、オンデマンドサービスシステム100の1つまたは複数の構成要素(たとえば、サーバ110、要求者端末130、プロバイダ端末140)と通信するために、ネットワーク120に接続されてもよい。オンデマンドサービスシステム100の1つまたは複数の構成要素は、ネットワーク120を介してストレージ150に記憶されたデータまたは命令にアクセスすることができる。いくつかの実施形態では、ストレージ150は、オンデマンドサービスシステム100の1つまたは複数の構成要素(たとえば、サーバ110、要求者端末130、プロバイダ端末140)と直接接続または通信することができる。いくつかの実施形態では、ストレージ150はサーバ110の一部であってもよい。
いくつかの実施形態では、オンデマンドサービスシステム100の1つまたは複数の構成要素(たとえば、サーバ110、要求者端末130、プロバイダ端末140)は、ストレージ150にアクセスすることができる。いくつかの実施形態では、オンデマンドサービスシステム100の1つまたは複数の構成要素は、1つまたは複数の条件が満たされると、要求者、プロバイダ、および/または公衆に関する情報を読取りおよび/または修正することができる。たとえば、サーバ110は、サービスの後に1人または複数のユーザの情報を読取りおよび/または修正することができる。別の例として、プロバイダ端末140は、要求者端末130からサービス要求を受信したときに要求者に関する情報にアクセスすることができるが、プロバイダ端末140は、要求者の関連情報を修正することはできない。
いくつかの実施形態では、オンデマンドサービスシステム100の1つまたは複数の構成要素の情報交換は、サービスを要求することによって実現されてもよい。サービス要求の対象はいかなる製品であってもよい。いくつかの実施形態では、製品は有形の製品であっても無形の製品であってもよい。有形の製品には、食品、薬品、日用品、化学製品、電化製品、衣類、自動車、住宅、贅沢品など、またはそれらの任意の組合せが含まれてもよい。無形の製品には、サービス製品、金融製品、知識製品、インターネット製品など、またはそれらの任意の組合せが含まれてもよい。インターネット製品には、個人用ホスト製品、ウェブ製品、モバイルインターネット製品、市販用ホスト製品、組込み型製品など、またはそれらの任意の組合せが含まれてもよい。モバイルインターネット製品は、モバイル端末のソフトウェア、プログラム、システムなど、またはそれらの任意の組合せにおいて使用されてもよい。モバイル端末には、タブレットコンピュータ、ラップトップコンピュータ、携帯電話、携帯情報端末(PDA)、スマートウォッチ、販売時点管理(POS)デバイス、車載コンピュータ、車載テレビ、ウェアラブルデバイスなど、またはそれらの任意の組合せが含まれてもよい。たとえば、製品は、コンピュータまたは携帯電話上で使用される任意のソフトウェアおよび/またはアプリケーションであってもよい。ソフトウェアおよび/またはアプリケーションは、社交、買物、輸送、娯楽、学習、投資など、またはそれらの任意の組合せに関連してもよい。いくつかの実施形態では、輸送に関連するソフトウェアおよび/またはアプリケーションには、移動ソフトウェアおよび/またはアプリケーション、車両スケジューリングソフトウェアおよび/またはアプリケーション、マッピングソフトウェアおよび/またはアプリケーションなどが含まれてもよい。車両スケジューリングソフトウェアおよび/またはアプリケーションでは、車両には、馬、馬車、人力車(たとえば、手押し車、自転車、三輪車など)、自動車(たとえば、タクシー、バス、自家用車など)、電車、地下鉄、船舶、航空機(たとえば、飛行機、ヘリコプター、スペースシャトル、ロケット、熱気球など)など、またはそれらの任意の組合せが含まれてもよい。
いくつかの実施形態では、オンデマンドサービスシステム100は、サービスプロバイダ(たとえば、ドライバ)の運転行動を識別するように構成されてもよい。本明細書で使用されるドライバは、自家用車の所有者および/またはオンラインタクシー配車ドライバであってもよく、したがって、プロバイダ端末140は、自家用車の所有者またはオンラインタクシー配車ドライバのユーザ端末であってもよい。さらに、(「ドライバAPP」とも呼ばれる)ドライバクライアントがプロバイダ端末140にインストールされてもよく、プロバイダ端末140はドライバが運転する車両(図示せず)とともに移動する。
いくつかの実施形態では、オンデマンドサービスシステム100のアプリケーションシナリオは、オンラインタクシー配車シナリオまたは自家用車シナリオであってもよい。オンラインタクシー配車シナリオの場合、ドライバクライアントはオンラインタクシー配車ドライバクライアントであってもよく、サーバ110はオンラインタクシー配車ドライバに対応するサーバであってもよい。自家用車シナリオの場合、ドライバクライアントは自家用車の所有者クライアントであってもよく、サーバ110は自家用車の所有者に対応するサーバであってもよい。
いくつかの実施形態では、オンラインタクシー配車シナリオの場合、ドライバが運転行動検出サービスを必要とする場合、彼/彼女はオンラインタクシー配車ドライバクライアントにログインし、オンラインタクシー配車ドライバクライアントを介して(「運転行動識別機能」とも呼ばれる)運転行動検出機能を起動することができる。運転行動検出機能が起動された後、リアルタイムにドライバの運転行動を検出して、ドライバが危険運転行動をしているかどうかを判定することが可能である。ドライバが危険運転行動をしていると判定された場合、ドライバは、自分が現在危険運転状態にあり、運転行動を調整しなければならないことを気付かされるであろう。加えて、オンラインタクシー配車ドライバクライアントは、記憶されるために危険運転行動に関連付けられたデータをサーバ110にアップロードすることもできる。ドライバクライアントから危険運転行動に関連付けられたデータを取得した後、サーバ110は、危険運転行動に関連付けられたデータに基づいてドライバを評価して、ドライバのレベルを決定することができる。一方、サーバ110は、危険運転行動に関連付けられたデータに基づいてサービス要求を割り振るための割振り戦略を調整することもできる。
いくつかの実施形態では、自家用車シナリオの場合、ドライバが運転行動検出サービスを必要とする場合、彼/彼女は自家用車の所有者クライアントにログインし、自家用車の所有者クライアントを介して運転行動検出機能を起動することができる。運転行動検出機能が起動された後、リアルタイムにドライバの運転行動を検出して、ドライバが危険運転行動をしているかどうかを判定することが可能である。ドライバが危険運転行動をしていると判定された場合、ドライバは、自分が現在危険運転状態にあり、運転行動を調整しなければならないことを気付かされるであろう。加えて、自家用車の所有者クライアントは、記憶されるために危険運転行動に関連付けられたデータをサーバ110にアップロードすることもできる。ドライバクライアントから危険運転行動に関連付けられたデータを取得した後、サーバ110は、危険運転行動に関連付けられたデータに基づいて統計演算を実行することができる。たとえば、サーバ110は、月当たり(または週当たり)のドライバの危険運転行動の回数、危険運転行動が発生した時間、危険運転行動が発生した道路区間などを特定することができる。上記の統計データを特定した後、サーバ110は、統計データに基づいて自分の運転行動を調整するようにドライバに気付かせるために、自家用車の所有者クライアントに統計データをプッシュすることができる。たとえば、特定の道路区間上のドライバの危険運転行動の回数が比較的多い場合、ドライバが再びその道路区間を通過するとき、運転プロセスにおけるドライバの安全度をさらに向上させるために、彼/彼女はより注意を払い、自分の運転行動を調整することができる。
当業者なら、オンデマンドサービスシステム100の要素が実行するとき、その要素が電気信号および/または電磁信号を介して実行できることを理解されよう。たとえば、要求者端末130が、決定、物体の識別または選択などのタスクを処理するとき、要求者端末130は、そのようなタスクを処理するためにそのプロセッサ内の論理回路を動作させることができる。要求者端末130がサーバ110にサービス要求を送出すると、サービス要求者端末130のプロセッサはサービス要求を符号化して電気信号を生成することができる。要求者端末130のプロセッサは、次いで、出力ポートに電気信号を送ることができる。要求者端末130が有線ネットワークを介してサーバ110と通信する場合、出力ポートはケーブルに物理的に接続されてもよく、ケーブルはさらに、サーバ110の入力ポートに電気信号を送信することができる。要求者端末130がワイヤレスネットワークを介してサーバ110と通信する場合、要求者端末130の出力ポートは1つまたは複数のアンテナであってもよく、それらは電気信号を電磁信号に変換することができる。同様に、プロバイダ端末140は、そのプロセッサ内の論理回路の動作を通してタスクを処理し、電気信号または電磁石信号を介してサーバ110から命令および/またはサービス要求を受信することができる。要求者端末130、プロバイダ端末140、および/またはサーバ110などの電子デバイス内では、そのプロセッサが命令を処理し、命令を送出し、かつ/またはアクションを実行するとき、その命令および/またはアクションは電気信号を介して行われる。たとえば、プロセッサが記憶媒体(たとえば、ストレージ150)からデータを検索または保存するとき、プロセッサは、記憶媒体内の構造化データを読み書きすることができる記憶媒体の読み書きデバイスに電気信号を送出することができる。構造化データは、電子デバイスのバスを介して電気信号の形態でプロセッサに送信されてもよい。本明細書では、電気信号は、1つの電気信号、一連の電気信号、および/または複数の異なる電気信号を指す。
図2は、本開示のいくつかの実施形態による、例示的なコンピューティングデバイスの例示的なハードウェア構成要素および/またはソフトウェア構成要素を示す概略図である。いくつかの実施形態では、サーバ110、要求者端末130、および/またはプロバイダ端末140は、コンピューティングデバイス200に実装されてもよい。たとえば、処理エンジン112は、コンピューティングデバイス200に実装され、本開示に開示された処理エンジン112の機能を実行するように構成されてもよい。
コンピューティングデバイス200は、本明細書に記載されたオンデマンドサービスシステム100の任意の構成要素を実装するために使用されてもよい。たとえば、処理エンジン112は、そのハードウェア、ソフトウェアプログラム、ファームウェア、またはそれらの組合せを介して、コンピューティングデバイス200に実装されてもよい。そのようなコンピュータが1つしか示されていないが、便宜上、本明細書に記載されたオンデマンドサービスに関するコンピュータ機能は、処理負荷を分散させるために、いくつかの同様のプラットフォームに分散方式で実装されてもよい。
コンピューティングデバイス200は、たとえば、データ通信を容易にするために、それに接続されたネットワークとの間に接続されたCOMポート250を含んでもよい。コンピューティングデバイス200はまた、プログラム命令を実行するための、1つまたは複数のプロセッサ(たとえば、論理回路)の形態のプロセッサ(たとえば、プロセッサ220)を含んでもよい。たとえば、プロセッサは、その中にインターフェース回路および処理回路を含んでもよい。インターフェース回路は、バス210から電子信号を受信するように構成されてもよく、電子信号は、処理回路が処理するための構造化データおよび/または命令を符号化する。いくつかの実施形態では、バス210は、ISAバス、PCIバス、EISAバスなどを含んでもよい。いくつかの実施形態では、バス210は、アドレスバス、データバス、制御バスなどを含んでもよい。処理回路は論理計算を実行し、次いで、電子信号として符号化された結論、結果、および/または命令を決定することができる。次いで、インターフェース回路は、バス210を介して処理回路から電気信号を送出することができる。
コンピューティングデバイス200はさらに、たとえば、ディスク270、ならびに読取り専用メモリ(ROM)230、またはコンピューティングデバイスによって処理および/または送信されるべき様々なデータファイルを記憶するためのランダムアクセスメモリ(RAM)240を含む、様々な形態のプログラムストレージおよびデータストレージを含んでもよい。例示的なコンピューティングデバイスはまた、プロセッサ220によって実行されるべき、ROM230、RAM240、および/または他のタイプの非一時的記憶媒体に記憶されたプログラム命令を含んでもよい。本開示の方法および/またはプロセスは、プログラム命令として実装されてもよい。コンピューティングデバイス200はまた、コンピュータと他の構成要素との間の入力/出力をサポートする、I/O構成要素260を含んでもよい。コンピューティングデバイス200はまた、ネットワーク通信を介してプログラミングおよびデータを受信することができる。
単なる例示のために、ただ1つのCPUおよび/またはプロセッサが図2に示されている。複数のCPUおよび/またはプロセッサも検討されてもよく、したがって、本開示に記載されたように1つのCPUおよび/またはプロセッサによって実行される動作および/または方法動作も、複数のCPUおよび/またはプロセッサによって一緒にまたは別々に実行されてもよい。たとえば、本開示において、コンピューティングデバイス200のCPUおよび/またはプロセッサが動作Aと動作Bの両方を実行する場合、動作Aおよび動作Bはまた、コンピューティングデバイス200内で2つの異なるCPUおよび/またはプロセッサによって一緒にまたは別々に実行されてもよい(たとえば、第1のプロセッサが動作Aを実行し、第2のプロセッサが動作Bを実行するか、または第1のプロセッサおよび第2のプロセッサが一緒に動作AおよびBを実行する)ことを理解されたい。
図3は、本開示のいくつかの実施形態による、例示的なモバイルデバイスの例示的なハードウェア構成要素および/またはソフトウェア構成要素を示す概略図である。いくつかの実施形態では、要求者端末130またはプロバイダ端末140は、コンピューティングデバイス300に実装されてもよい。図3に示されたように、モバイルデバイス300は、通信プラットフォーム310、ディスプレイ320、グラフィック処理装置(GPU)330、中央処理装置(CPU)340、I/O350、メモリ360、およびストレージ390を含んでもよい。いくつかの実施形態では、システムバスまたはコントローラ(図示せず)を含むがそれらに限定されない任意の他の適切な構成要素も、モバイルデバイス300の中に含まれてもよい。
いくつかの実施形態では、モバイルオペレーティングシステム370(たとえば、iOS(商標)、Android(商標)、Windows Phone(商標)など)および1つまたは複数のアプリケーション380が、CPU340によって実行されるためにストレージ390からメモリ360にロードされてもよい。アプリケーション380には、オンデマンドサービスシステム100からのオンデマンドサービスに関する情報または他の情報を受信およびレンダリングするためのブラウザまたは任意の他の適切なモバイルアプリが含まれてもよい。情報ストリームとのユーザ対話は、I/O350を介して実現され、ネットワーク120を介してオンデマンドサービスシステム100の処理エンジン112および/または他の構成要素に提供されてもよい。
本開示に記載された様々なモジュール、ユニット、およびそれらの機能を実装するために、コンピュータハードウェアプラットフォームは、本明細書に記載された要素のうちの1つまたは複数のためのハードウェアプラットフォームとして使用されてもよい。ユーザインターフェース要素を有するコンピュータは、パーソナルコンピュータ(PC)または任意の他のタイプのワークステーションもしくは端末デバイスを実装するために使用されてもよい。適切にプログラムされていれば、コンピュータはサーバとして機能することもできる。
図4は、本開示のいくつかの実施形態による、例示的な処理エンジンを示すブロック図である。本開示で開示された処理エンジン112の機能は、プロセッサ220を介してサーバ110により、またはプロセッサ340を介して要求者端末130および/もしくはプロバイダ端末140によって実装されてもよい。処理エンジン112は、取得モジュール402と、事前規則決定モジュール404と、時間決定モジュール406と、データ処理モジュール408と、通信モジュール410と、識別モジュール412とを含んでもよい。
取得モジュール402は、デバイス(たとえば、モバイル端末(たとえば、要求者端末130、プロバイダ端末140))に関連付けられたセンサによって生成された第1の動きデータを取得することができる。センサには、ジャイロスコープ、加速度センサ、全地球測位システム(GPS)、重力センサ、光学センサ、温度センサ、指紋センサ、心拍数センサ、近接センサ、音響検出器など、またはそれらの任意の組合せが含まれてもよい。ジャイロスコープは、デバイスが回転または傾斜したときに回転角速度を測定する角速度センサであってもよい。加速度センサは、容量型加速度センサ、誘導型加速度センサ、歪み型加速度センサ、圧電抵抗型加速度センサ、圧電型加速度センサなど、またはそれらの任意の組合せであってもよい。GPSは、ネットワーク120と通信することができるGPSを含むキャリアを含んでもよい。車載GPSは、車両および/または車両内で移動するデバイスを位置決めするための動きデータを決定することができる。重力センサは、変形した誘導電気信号を生成することができる弾性感知構成要素を含んでもよい。いくつかの実施形態では、重力センサは加速度センサと同じ機能を有することができる。第1の動きデータは、位置、速度、加速度、姿勢(たとえば、文字、ヨー、角度、ピッチモーション、加速度)など、またはそれらの任意の組合せなどの、電子デバイス(たとえば、本開示で開示される方法/プロセスを実施するように構成されたアプリケーションがインストールされているモバイルスマートフォン、またはモバイルスマートフォンを運ぶ車両)の情報を含んでもよい。いくつかの実施形態では、デバイスは、モバイルスマートフォン、携帯情報端末(PDA)、タブレットコンピュータ、ラップトップコンピュータ、コンピュータ(車載コンピュータ)、ハンドヘルドゲームプラットフォーム(PSP)、スマートグラス、スマートウォッチ、ウェアラブルデバイス、仮想現実デバイス、および/またはディスプレイ強化デバイス(たとえば、Google(商標)Glass、Oculus Rift、HoloLens、Gear VRなど)であってもよい。モバイルスマートフォンは、タッチスクリーン、スピーカ、マイクロフォン、アンテナなど、またはそれらの任意の組合せを含んでもよい。モバイルスマートフォンは、モバイルネットワーク
に接続され、電話をかけることができる。いくつかの実施形態では、モバイルスマートフォンは少なくとも1つのセンサを含んでもよい。少なくとも1つのセンサには、ジャイロスコープ、加速度センサ、全地球測位システム(GPS)、重力センサ、光学センサ、温度センサ、指紋センサ、心拍数センサ、近接センサなど、またはそれらの任意の組合せが含まれてもよい。
いくつかの実施形態では、センサは、第1の所定の時間間隔(たとえば、0.01秒ごと、0.02秒ごと、0.05秒ごと、1秒ごと)に従って第1の動きデータを生成することができる。取得モジュール402は、第2の所定の時間間隔(たとえば、0.01秒ごと、0.02秒ごと、0.05秒ごと、1秒ごと)に従って第1の動きデータを取得することができる。第1の所定の時間間隔および第2の所定の時間間隔は、オンデマンドサービスシステム100のデフォルト設定であってもよく、様々な状況下で調整可能であってもよい。第1の所定の時間間隔は、第2の所定の時間間隔と同じであっても異なっていてもよい。
いくつかの実施形態では、第1の動きデータは、ドライバの運転行動または車両状態を反映することができる。いくつかの実施形態では、運転行動は、危険な加速(たとえば、急加速)、危険なブレーキ(たとえば、急ブレーキ)、危険な転回(たとえば、急転回)など、またはそれらの任意の組合せなどの危険運転行動であり得る。危険な加速は、ドライバによるアクセルペダル上の継続的および/または激しい踏込みによって引き起こされ得る。危険なブレーキは、ドライバによるブレーキ上の継続的および/または激しい踏込みによって引き起こされ得る。危険な転回は、ドライバによるハンドルの急転回によって引き起こされ得る。危険な転回には、急な右転回、急な左転回、および/または他の急な方向転換行動が含まれてもよい。いくつかの実施形態では、ドライバは、遠隔制御を介して(たとえば、遠隔地での仮想操作を使用して)運転行動を実施することができる。
いくつかの実施形態では、第1の動きデータは、ジャイロスコープデータ、加速度センサデータ、GPSデータ、重力センサデータ、光学センサデータ、温度センサデータ、指紋センサデータ、心拍数センサデータ、近接センサデータ、角加速度データなど、またはそれらの任意の組合せを含んでもよい。第1の動きデータのタイプは、モバイルスマートフォン上のセンサに対応してもよい。たとえば、モバイルスマートフォン内の加速度センサは、加速度データを生成または記録することができる。
いくつかの実施形態では、様々なセンサによって生成された動きデータは、指定された運転行動を記述するために結合されてもよく、分解されてもよい。たとえば、加速度センサデータ、GPSデータ、および重力センサデータは、ドライバによる急加速を記述するために結合されてもよい。
いくつかの実施形態では、第1の動きデータは、運転行動、車両状態、および/または道路状況に対応してもよい。たとえば、突然の道路交通事故が車両の前方で発生し、ドライバが急ブレーキをかける可能性があり、加速度センサが急ブレーキの間にその出力信号および/またはデータにピークを生成する可能性があると想定される。いくつかの実施形態では、第1の動きデータは、モバイルスマートフォンのユーザがモバイルスマートフォンを振るときに生成される動きデータなどの、非運転関連行動(すなわち、運転関連活動以外のアクションによって引き起こされる行動)に関連付けられた動きデータをさらに含んでもよい。したがって、デバイスのセンサからの出力信号および/またはデータは、非運転関連行動に対応する部分も含んでもよい。いくつかの実施形態では、デバイスは、非運転関連行動の動きデータを区別することができる。たとえば、ドライバが何らかの理由でモバイルスマートフォンを振り、モバイルスマートフォンまたはモバイルスマートフォン内で動作する自動車アプリケーションが、動きデータの特徴を分析することにより、運転行動(たとえば、急転回)から振動を区別することができると想定される。
いくつかの実施形態では、取得モジュール402は、第1の動きデータに基づいてデバイスが車両とともに移動しているかどうかを判定することができる。ドライバによって使用されているデバイスが経路に沿って、またはアプリケーションによって決定された順序に従って移動しており、順序が車両に関連付けられていると判断したことに応答して、デバイスが車両とともに移動していると判定されてもよい。たとえば、デバイス内のアプリケーション(たとえば、タクシー配車APP)がデバイスに経路案内を提供し、アプリケーションがそのアプリケーションに登録されている車両に関連付けられているとき、取得モジュール402は、取得された第1の動きデータに基づいてデバイスの移動経路を取得し、それがアプリケーションによって提供されたものと同じであるかどうかを判定することができる。2つの経路が互いに重なる場合、取得モジュール402は、デバイスが車両とともに移動していると判定することができる。
デバイスとともに移動している車両には、自家用車、タクシー、インターネットカー、自律型車両、電気自動車、オートバイ、バス、電車、フリーライド、新幹線、高速鉄道、地下鉄、船、飛行機、宇宙船、熱気球、無人車両など、またはそれらの任意の組合せが含まれてもよい。いくつかの実施形態では、デバイスは車両とともに移動し、車両の移動を検出することができる。たとえば、車両のドライバは運転中にモバイルスマートフォンを携帯し、少なくとも1つのセンサを有するデバイス(すなわち、モバイルスマートフォン)は、車両の移動を検出することができる。別の例として、乗客がタクシーの中でモバイルスマートフォンを使用する場合、モバイルスマートフォンはタクシーとともに移動し、そのタクシーに関連付けられたデータを記録することができる。
事前規則決定モジュール404は事前規則を決定することができる。事前規則は、(「分散しきい値」とも呼ばれる)変動分散しきい値を含んでもよい。変動分散は、第1の動きデータの累積加速度の分散であってもよい。たとえば、特定の時点を例にとると、その特定の時点に対応する変動分散は、その時点よりも前の複数の時点およびその時点に対応する複数の加速度の分散を指す。変動分散の値は加速度の変動強度を示すことができる。事前規則決定モジュール404は、事前規則許容条件および/または事前規則終了条件を決定することができる。いくつかの実施形態では、事前規則許容条件は、第1の動きデータの変動分散が第1のしきい値よりも大きいことであってもよい。いくつかの実施形態では、事前規則終了条件は、第1の動きデータの変動分散が第2のしきい値よりも小さいことであってもよい。第1のしきい値および/または第2のしきい値は、オンデマンドサービスシステム100のデフォルト設定であってもよく、様々な状況下で調整可能であってもよい。第1のしきい値は、第2のしきい値と同じであっても異なっていてもよい。いくつかの実施形態では、事前規則が許容されると、ストレージ150は第1の動きデータの記憶を開始することができる。いくつかの実施形態では、事前規則が許容されると、データ処理モジュール408は、第1の動きデータからの(「無関係な情報」とも呼ばれる)不要な情報の除去を開始することができる。いくつかの実施形態では、事前規則は、ストレージ150に記憶されてもよく、ネットワーク120を介して通信モジュール410によってデータベースおよび/または他のソースから取得されてもよい。いくつかの実施形態では、事前規則が終了すると、ストレージ150は第1の動きデータの記憶を停止することができる。いくつかの実施形態では、事前規則が終了すると、データ処理モジュール408は、第1の動きデータからの不要な情報の除去を停止することができる。
時間決定モジュール406は、事前規則に基づいて(「対象時間期間」とも呼ばれる)時間期間を決定することができる。いくつかの実施形態では、時間決定モジュール406は、事前規則が許容された時点に基づいて時間期間の開始時点を決定し、事前規則が終了された時点に基づいて時間期間の終了時点を決定することができる。時間決定モジュール406は、開始時点および終了時点に基づいて時間期間を決定することができる。いくつかの実施形態では、時間決定モジュール406は、時間期間に関連付けられた時点を決定することもできる。時点は、時間期間の開始時点、時間期間の終了時点、または時間期間内の任意の時点であってもよい。時間期間および時点は、第2の動きデータと一緒に通信モジュール410によってサーバ110に送信されてもよい。
データ処理モジュール408は、第1の動きデータに基づいて時間期間内の(「対象データ」とも呼ばれる)第2の動きデータを取得することができる。いくつかの実施形態では、データ処理モジュール408は、第1の動きデータから不要な情報を除去することができる。いくつかの実施形態では、データ処理モジュール408は、時間期間内の第1の動きデータを処理することができる。いくつかの実施形態では、データ処理モジュール408は、取得モジュール402の機能の一部を実行して、1つまたは複数のセンサと接続されたデバイスが車両とともに移動しているかどうかを判定することができる。いくつかの実施形態では、データ処理モジュール408は、関連情報としてそれに関連付けられた時間期間および/または時点と第2の動きデータを関連付けるなど、第2の動きデータをさらに処理することができる。
通信モジュール410は、サーバ110、要求者端末130、プロバイダ端末140、ストレージ150、および/またはデータベースの間で通信接続を確立することができる。いくつかの実施形態では、通信モジュール410は、時間期間、時間期間内の第2の動きデータ、および/または時間期間に関連付けられた時点(たとえば、開始時点、終了時点)をサーバ110に送信することができる。いくつかの実施形態では、第1の動きデータは、デバイス(たとえば、モバイルスマートフォン)または車載ワイヤレス送信デバイスによって送信されてもよい。いくつかの実施形態では、通信モジュール410は、ネットワーク120を介して外部から機械学習モデルを取得することができる。
いくつかの実施形態では、通信モジュール410は、一定のサンプリング周波数または変化するサンプリング周波数に従って、第1の動きデータ、時間期間内の第2の動きデータ、および/または時間期間をサーバ110に送信することができる。
識別モジュール412は、通信モジュール410によってサーバ110に送信された第2の動きデータに基づいて、受信された第2の動きデータが危険運転データであるかどうかを識別することができる。いくつかの実施形態では、識別モジュール412は、機械学習手法に基づいて第2の動きデータを識別することができる。いくつかの実施形態では、識別モジュール412は、深層学習GANモデルを使用することにより、第2の動きデータを識別することができる。危険運転データは、対応する危険運転行動に対応してもよい。危険運転行動は、急加速、急ブレーキ、急転回など、またはそれらの任意の組合せを含んでもよい。いくつかの実施形態では、危険運転データは、危険運転行動のスコアまたはカウントに対応する統計データを含んでもよい。統計データは、急加速の時間、急ブレーキの数カウント、急転回の時間など、またはそれらの任意の組合せを含んでもよい。
処理エンジン112内の取得モジュール402、事前規則決定モジュール404、時間決定モジュール406、データ処理モジュール408、通信モジュール410、および識別モジュール412は、有線接続またはワイヤレス接続を介して互いに接続されるか、または互いと通信することができる。有線接続には、金属ケーブル、光ケーブル、ハイブリッドケーブルなど、またはそれらの任意の組合せが含まれてもよい。ワイヤレス接続には、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、Bluetooth(登録商標)、ZigBee、近距離無線通信(NFC)など、またはそれらの任意の組合せが含まれてもよい。2つ以上のモジュールが単一のモジュールに結合されてもよく、いずれか1つのモジュールが2つ以上のユニットに分割されてもよい。
上記の説明は単に例示の目的で提供されており、本開示の範囲を限定するものではないことに留意されたい。当業者のために、本開示の教示の下で複数の変形および修正が行われてもよい。しかしながら、それらの変形および修正は本開示の範囲から逸脱しない。たとえば、事前規則決定モジュール404および時間決定モジュール406は、単一のモジュールとして結合されてもよい。別の例として、事前規則決定モジュール404、時間決定モジュール406、およびデータ処理モジュール408は、単一のモジュールとして結合されてもよい。通信モジュール410は省略されてもよい。
図5は、本開示のいくつかの実施形態による、例示的なデータ処理モジュールを示すブロック図である。データ処理モジュール408は、取得ユニット502と、特徴データ生成ユニット504と、訓練ユニット506と、フィルタリングユニット508とを含んでもよい。
取得ユニット502は、時間期間、時間期間内の第1の動きデータ、および機械学習モデルを取得することができる。いくつかの実施形態では、取得ユニット502は、通信モジュール410を介して時間期間および時間期間内の第1の動きデータを取得することができる。いくつかの実施形態では、取得ユニット502は、ネットワーク120を経由して通信モジュール410を介してデータベースから機械学習モデルを取得することができる。いくつかの実施形態では、取得ユニット502は、ネットワーク120を経由して通信モジュール410を介してストレージ150から機械学習モデルを取得することができる。いくつかの実施形態では、取得ユニット502は機械学習モデルを生成することができる。いくつかの実施形態では、機械学習モデルには、深層ニューラルネットワーク、深層ビリーフネットワーク、畳み込みニューラルネットワーク、畳み込み深層ビリーフネットワーク、深層ボルツマンマシン、積層セルフエンコーダ、深層スタックネットワーク、深層コーディングネットワーク、深層原子力機械、2クラスモデルなど、またはそれらの任意の組合せが含まれてもよい。
特徴データ生成ユニット504は、取得ユニット502によって取得された第1の動きデータに基づいて特徴データを生成することができる。特徴データには、最大加速度、最小加速度、平均加速度、最大加速度変換角度、最小加速度変換角度、平均加速度変換角度、三次元座標系の各方向に沿った最大加速度、三次元座標系の各方向に沿った最小加速度、三次元座標系の各方向に沿った平均加速度など、またはそれらの任意の組合せが含まれてもよい。本明細書では、一例として特定の加速度の場合、加速度変換角度は、第1の座標系における特定の加速度の方向と第2の座標系における特定の加速度の方向との間の角度を指す。加速度には、線形加速度または角加速度が含まれてもよい。いくつかの実施形態では、特徴データは、1つもしくは複数の値、1つもしくは複数のベクトル、1つもしくは複数の行列式、1つもしくは複数の行列など、またはそれらの任意の組合せであってもよい。
訓練ユニット506は、特徴データ生成ユニット504によって生成された特徴データに基づいて、取得ユニット502によって取得された機械学習モデルを訓練し更新することができる。いくつかの実施形態では、機械学習モデルは振動バイナリモデルであってもよい。いくつかの実施形態では、機械学習モデルは、第1の動きデータから不要な情報を除去することができる。いくつかの実施形態では、機械学習モデルは、オンラインまたはオフラインで更新されてもよい。機械学習モデルが訓練された後、機械学習モデルは、リアルタイムで、または周期的な時間間隔(たとえば、毎日もしくは毎週)に従って取得された特徴データに基づいて、さらに更新されてもよい。いくつかの実施形態では、機械学習モデルは、様々なタイプの不要な情報に対応することができるサブモデルを生成するようにさらに更新されてもよい。たとえば、車両に関連付けられた不要な情報を分類するために第1のサブモデルが使用されてもよく、モバイルスマートフォンに関連付けられた不要な情報を分類するために第2のサブモデルが使用されてもよい。
フィルタリングユニット508は、訓練ユニット506によって訓練された振動バイナリモデルに基づいて、第1の動きデータから不要な情報を除去することにより、第2の動きデータを取得することができる。不要な情報には、通常の携帯電話の振動によって生成された動きデータ、通常の運転行動によって生成された動きデータ、他の危険でない運転行動によって生成された動きデータなど、またはそれらの任意の組合せが含まれてもよい。いくつかの実施形態では、フィルタリングユニット508は、非運転関連行動に関連付けられた動きデータを区別することができる。たとえば、ドライバが何らかの理由でモバイルスマートフォンを振った場合、フィルタリングユニット508は、機械学習モデルに基づいて運転行動(たとえば、急転回)から振動を区別することができる。
データ処理モジュール408内のユニットは、有線接続またはワイヤレス接続を介して互いに接続または通信することができる。有線接続には、金属ケーブル、光ケーブル、ハイブリッドケーブルなど、またはそれらの任意の組合せが含まれてもよい。ワイヤレス接続には、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、Bluetooth(登録商標)、ZigBee、近距離無線通信(NFC)など、またはそれらの任意の組合せが含まれてもよい。上記の説明は単に例示の目的で提供されており、本開示の範囲を限定するものではないことに留意されたい。当業者のために、本開示の教示の下で複数の変形および修正が行われてもよい。しかしながら、それらの変形および修正は本開示の範囲から逸脱しない。たとえば、特徴データ生成ユニット504および訓練ユニット506は、単一のモジュールとして結合されてもよい。別の例として、訓練ユニット506およびフィルタリングユニット508は、単一のモジュールとして結合されてもよい。特徴データ生成ユニット504は省略されてもよい。
図6は、本開示のいくつかの実施形態による、危険運転行動を識別するための例示的なプロセスを示すフローチャートである。プロセス600は、オンデマンドサービスシステム100によって実行されてもよい。たとえば、プロセス600は、ストレージROM230またはRAM240に記憶された一組の命令(たとえば、アプリケーション)として実装されてもよい。プロセッサ220ならびに/または図4〜図5のモジュールおよび/もしくはユニットは、一組の命令を実行することができ、命令を実行するとき、プロセッサ220、モジュール、および/またはユニットは、プロセス600を実行するように構成されてもよい。下記に提示される示されたプロセスの動作は例示的であるものとする。いくつかの実施形態では、プロセス600は、記載されていない1つもしくは複数のさらなる動作を用いて、かつ/または説明された動作のうちの1つもしくは複数を用いずに遂行されてもよい。さらに、図6に示され、以下に記載されるようなプロセスの動作の順序は、限定的なものではない。いくつかの実施形態では、プロセス600は、サーバ110またはモバイル端末(たとえば、プロバイダ端末140)によって実行されてもよい。本開示の他の箇所に記載されたように、処理エンジン112は、サーバ110、要求者端末130、またはプロバイダ端末140の中に統合されてもよく、したがって、プロセス600は処理エンジン112によって実行されると考えることができる。
602において、処理エンジン112内の事前規則決定モジュール404が事前規則を決定することができる。変動分散は、第1の動きデータの累積加速度の分散であってもよい。変動分散の値は加速度の変動強度を示すことができる。事前規則決定モジュール404は、事前規則許容条件および/または事前規則終了条件を決定することができる。いくつかの実施形態では、事前規則許容条件は、第1の動きデータの変動分散が第1のしきい値よりも大きいことであってもよい。いくつかの実施形態では、事前規則終了条件は、第1の動きデータの変動分散が第2のしきい値よりも小さいことであってもよい。第1のしきい値および/または第2のしきい値は、オンデマンドサービスシステム100のデフォルト設定であってもよく、様々な状況下で調整可能であってもよい。いくつかの実施形態では、事前規則が許容されると、ストレージ150は第1の動きデータの記憶を開始することができる。いくつかの実施形態では、事前規則が許容されると、データ処理モジュール408は、第1の動きデータからの(「無関係な情報」とも呼ばれる)不要な情報の除去を開始することができる。いくつかの実施形態では、事前規則は、ストレージ150に記憶されてもよく、ネットワーク120を介して通信モジュール410によってデータベースおよび/または他のソースから取得されてもよい。いくつかの実施形態では、事前規則が終了すると、ストレージ150は第1の動きデータの記憶を停止することができる。いくつかの実施形態では、事前規則が終了すると、データ処理モジュール408は、第1の動きデータからの不要な情報の除去を停止することができる。
いくつかの実施形態では、事前規則は、事前規則モジュール404によって生成されてもよい。いくつかの実施形態では、事前規則は、ストレージ150に記憶され、事前規則モジュール404によって取得されてもよい。
604において、処理エンジン112内の取得モジュール402が、デバイスに関連付けられた少なくとも1つのセンサによって生成された第1の動きデータを取得することができる。第1の動きデータは、位置、速度、加速度、姿勢(たとえば、文字、ヨー、角度、ピッチモーション、加速度)など、またはそれらの任意の組合せなどの、電子デバイス(たとえば、本開示で開示される方法/プロセスを実施するように構成されたアプリケーションがインストールされているモバイルスマートフォン、またはモバイルスマートフォンを運ぶ車両)の情報を含んでもよい。
いくつかの実施形態では、第1の動きデータは、ドライバの運転行動または車両状態を反映することができる。いくつかの実施形態では、運転行動は、危険な加速(たとえば、急加速)、危険なブレーキ(たとえば、急ブレーキ)、危険な転回(たとえば、急転回)など、またはそれらの任意の組合せなどの危険運転行動であり得る。いくつかの実施形態では、様々なセンサによって生成された動きデータは、指定された運転行動を記述するために結合されてもよく、分解されてもよい。たとえば、加速度センサデータ、GPSデータ、および重力センサデータは、ドライバによる急加速を記述するために結合されてもよい。
いくつかの実施形態では、第1の動きデータは、運転行動、車両状態、および/または道路状況に対応してもよい。たとえば、突然の道路交通事故が車両の前方で発生し、ドライバが急ブレーキをかける可能性があり、加速度センサが急ブレーキの間にその出力信号および/またはデータにピークを生成する可能性があると想定される。いくつかの実施形態では、第1の動きデータは、モバイルスマートフォンのユーザがモバイルスマートフォンを振るときに生成される動きデータなどの、非運転関連行動(すなわち、運転関連活動以外のアクションによって引き起こされる行動)に関連付けられた動きデータをさらに含んでもよい。したがって、デバイスのセンサからの出力信号および/またはデータは、非運転関連行動に対応する部分も含んでもよい。非運転関連行動に関連するデータは、その後の機械学習モデルによって区別される必要がある、振動に関連付けられたデータであってもよい。
606において、処理エンジン112内の時間決定モジュール406が、事前規則が許容された時点に基づいて時間期間の開始時点を決定し、事前規則が終了された時点に基づいて時間期間の終了時点を決定することができる。時間決定モジュール406は、開始時点および終了時点に基づいて時間期間を決定することができる。いくつかの実施形態では、時間決定モジュール406は、時間期間に関連付けられた時点を決定することもできる。時点は、時間期間の開始時点、時間期間の終了時点、または時間期間内の任意の時点であってもよい。時間期間および時点は、第2の動きデータと一緒に通信モジュール410によってサーバ110に送信されてもよい。時間期間は、危険運転行動が発生し得る(すなわち、ドライバが危険運転行動をしている)時間期間を表すことができる。処理エンジン112内の取得モジュール402は、時間期間に基づいて時間期間内の第1の動きデータを取得することができる。
608において、処理エンジン112内のデータ処理モジュール408が、第1の動きデータに基づいて時間期間内の第2の動きデータを取得することができる。第2の動きデータは、第1の動きデータから除去された無関係なデータを有する動きデータを含んでもよい。いくつかの実施形態では、第2の動きデータは、振動バイナリ機械学習モデルに基づいて、第1の動きデータに対してフィルタリングを実行することによって取得されてもよい。いくつかの実施形態では、第2の動きデータは、1つもしくは複数の値、1つもしくは複数のベクトル、1つもしくは複数の行列式、1つもしくは複数の行列など、またはそれらの任意の組合せであってもよい。
610において、処理エンジン112内の通信モジュール410が、時間期間内の第2の動きデータをサーバ110に送信することができる。いくつかの実施形態では、通信モジュール410は、ネットワーク120を介してサーバ110に時間期間、第2の動きデータ、および/または時間期間に関連付けられた時点を送信することができる。いくつかの実施形態では、通信モジュール410は、ネットワーク120を介して機械学習モデルを取得することができる。
612において、処理エンジン112内の識別モジュール412が、通信モジュール410によって送信された第2の動きデータに対応する運転行動を識別することができる。いくつかの実施形態では、識別モジュール412は、第2の動きデータに対応する危険運転行動を識別することができる。いくつかの実施形態では、識別モジュール412は、機械学習モデルに基づいて第2の動きデータに対応する危険運転行動を識別することができる。いくつかの実施形態では、機械学習モデルは、深層学習GANモデル、深層ニューラルネットワーク、深層ビリーフネットワーク、畳み込みニューラルネットワーク、畳み込み深層ビリーフネットワーク、深層ボルツマンマシン、積層セルフエンコーダ、深層積層ネットワーク、深層コーディングネットワーク、深層コア機械、バイナリモデルなど、またはそれらの任意の組合せであってもよい。
上記の説明は単に例示の目的で提供されており、本開示の範囲を限定するものではないことに留意されたい。当業者のために、本開示の教示の下で複数の変形および修正が行われてもよい。しかしながら、それらの変形および修正は本開示の範囲から逸脱しない。たとえば、動作602は動作604の後に実行されてもよく、動作602および動作604は同時に実行されてもよい。別の例として、プロセス600において少なくとも1つの動作が追加または削除されてもよく、たとえば、少なくとも1つのセンサに関連付けられたデバイスが車両とともに移動していると判断するための動作が追加されてもよい。
図7は、本開示のいくつかの実施形態による、第2の動きデータを取得するための例示的なプロセスを示すフローチャートである。プロセス700は、オンデマンドサービスシステム100によって実行されてもよい。たとえば、プロセス700は、ストレージROM230またはRAM240に記憶された一組の命令(たとえば、アプリケーション)として実装されてもよい。プロセッサ220ならびに/または図4〜図5のモジュールおよび/もしくはユニットは、一組の命令を実行することができ、命令を実行するとき、プロセッサ220、モジュール、および/またはユニットは、プロセス700を実行するように構成されてもよい。下記に提示される示されたプロセスの動作は例示的であるものとする。いくつかの実施形態では、プロセス700は、記載されていない1つもしくは複数のさらなる動作を用いて、かつ/または説明された動作のうちの1つもしくは複数を用いずに遂行されてもよい。さらに、図7に示され、以下に記載されるようなプロセスの動作の順序は、限定的なものではない。いくつかの実施形態では、プロセス700は、サーバ110またはモバイル端末(たとえば、プロバイダ端末140)によって実行されてもよい。本開示の他の箇所に記載されたように、処理エンジン112は、サーバ110、要求者端末130、またはプロバイダ端末140の中に統合されてもよく、したがって、プロセス700は処理エンジン112によって実行されると考えることができる。
702において、データ処理モジュール408内の取得ユニット502が、時間期間、時間期間内の第1の動きデータ、および機械学習モデルを取得することができる。いくつかの実施形態では、取得ユニット502は、通信モジュール410を介して時間期間および時間期間内の第1の動きデータを取得することができる。いくつかの実施形態では、取得ユニット502は、ネットワーク120を経由して通信モジュール410を介してデータベースから機械学習モデルを取得することができる。いくつかの実施形態では、取得ユニット502は、ネットワーク120を経由して通信モジュール410を介してストレージ150から機械学習モデルを取得することができる。いくつかの実施形態では、取得ユニット502は機械学習モデルを生成することができる。いくつかの実施形態では、機械学習モデルは、深層ニューラルネットワーク、深層ビリーフネットワーク、畳み込みニューラルネットワーク、畳み込み深層ビリーフネットワーク、深層ボルツマンマシン、積層セルフエンコーダ、深層積層ネットワーク、深層コーディングネットワーク、深層コア機械、バイナリモデルなど、またはそれらの任意の組合せであってもよい。
704において、データ処理モジュール408内の特徴データ生成ユニット504が、取得ユニット502によって取得された第1の動きデータに基づいて特徴データを生成することができる。特徴データには、最大加速度、最小加速度、平均加速度、最大加速度変換角度、最小加速度変換角度、平均加速度変換角度、三次元座標系の各方向に沿った最大加速度、三次元座標系の各方向に沿った最小加速度、三次元座標系の各方向に沿った平均加速度など、またはそれらの任意の組合せが含まれてもよい。加速度には、線形加速度または角加速度が含まれてもよい。いくつかの実施形態では、特徴データは、1つもしくは複数の値、1つもしくは複数のベクトル、1つもしくは複数の行列式、1つもしくは複数の行列など、またはそれらの任意の組合せであってもよい。
706において、データ処理モジュール408内の訓練ユニット506が、特徴データ生成ユニット504によって生成された特徴データに基づいて、取得ユニット502によって取得された機械学習モデルを訓練し更新することができる。機械学習モデルが更新された後、機械学習モデルに基づいて、第1の動きデータから無関係な情報が除去されてもよい。いくつかの実施形態では、機械学習モデルは振動バイナリモデルであってもよい。いくつかの実施形態では、機械学習モデルは、オンラインまたはオフラインで更新されてもよい。機械学習訓練モデルが訓練された後、機械学習訓練モデルは、リアルタイムで、または周期的な時間間隔(たとえば、毎日もしくは毎週)に従って取得された特徴データに基づいて、さらに更新されてもよい。
いくつかの実施形態では、データ処理モジュール408内のフィルタリングユニット508は、訓練ユニット506によって訓練された振動バイナリモデルに基づいて、第1の動きデータから不要な情報を除去することにより、第2の動きデータを取得することができる。不要な情報には、通常の携帯電話の振動によって生成された動きデータ、通常の運転行動によって生成された動きデータ、他の危険でない運転行動によって生成された動きデータなど、またはそれらの任意の組合せが含まれてもよい。いくつかの実施形態では、フィルタリングユニット508は、非運転関連行動に関連付けられた動きデータを区別することができる。たとえば、ドライバが何らかの理由でモバイルスマートフォンを振った場合、フィルタリングユニット508は、機械学習モデルに基づいて運転行動(たとえば、急転回)から振動を区別することができる。
上記の説明は単に例示の目的で提供されており、本開示の範囲を限定するものではないことに留意されたい。当業者のために、本開示の教示の下で複数の変形および修正が行われてもよい。しかしながら、それらの変形および修正は本開示の範囲から逸脱しない。たとえば、動作706は、モデルを訓練することと、第2の動きデータを生成することとを含む2つの動作に分割されてもよい。別の例として、プロセス700において少なくとも1つの動作が追加または削除されてもよく、たとえば、通常の運転行動によって生成された不要な情報および携帯電話の振動によって生成された不要な情報などの、第1の動きデータの異なる不要な情報を区別するための動作が追加されてもよい。
図8は、本開示のいくつかの実施形態による、運転行動を検出するための例示的なプロセスを示すフローチャートである。プロセス800は、オンデマンドサービスシステム100によって実行されてもよい。たとえば、プロセス800は、ストレージROM230またはRAM240に記憶された一組の命令(たとえば、アプリケーション)として実装されてもよい。プロセッサ220ならびに/または図17のモジュールおよび/もしくはユニットは、一組の命令を実行することができ、命令を実行するとき、プロセッサ220、モジュール、および/またはユニットは、プロセス800を実行するように構成されてもよい。下記に提示される示されたプロセスの動作は例示的であるものとする。いくつかの実施形態では、プロセス800は、記載されていない1つもしくは複数のさらなる動作を用いて、かつ/または説明された動作のうちの1つもしくは複数を用いずに遂行されてもよい。さらに、図8に示され、以下に記載されるようなプロセスの動作の順序は、限定的なものではない。
いくつかの実施形態では、プロセス800は、ドライバクライアント(たとえば、オンラインタクシー配車ドライバクライアント)がインストールされたモバイル端末(たとえば、プロバイダ端末140)によって実行されてもよい。モバイル端末は、危険運転行動が発生し得るかどうかを判定するために、ドライバの運転行動を検出することができる。いくつかの実施形態では、プロセス800はサーバ110によって実行されてもよい。本開示の他の箇所に記載されたように、処理エンジン112は、サーバ110、要求者端末130、またはプロバイダ端末140の中に統合されてもよく、したがって、プロセス800は処理エンジン112によって実行されると考えることができる。モバイル端末によって実行され、オンラインタクシー配車アプリケーションのシナリオで実行されるプロセス800を一例として取り上げると、プロセスは以下の動作を含んでもよい。
802において、モバイル端末に取り付けられた加速度センサを介して加速度データが収集され得、加速度データは、(それぞれ、「x軸加速度」、「y軸加速度」、および「z軸加速度」とも呼ばれる)それぞれ、x軸、y軸、およびz軸に対応する加速度データax、ay、およびazを含んでもよい。
最近、スマートモバイル端末は、一般に、加速度センサ、ジャイロスコープなどの感知デバイスを含む。上記のセンサによって収集されたデータを取得し、データを処理することにより、ドライバが危険運転行動をしているかどうかを判定することができる。一方、スマートモバイル端末のワイヤレス伝送機能を介して、対応するデータがサーバ110に送信されてもよい。
いくつかの実施形態では、加速度センサによって収集されたデータが主に取得されてもよく、加速度センサは3軸加速度センサであってもよい。3軸加速度センサがモバイル端末の加速度データを収集した後、x、y、およびzを含む3つの方向に沿った加速度データ:ax、ay、およびazが取得されてもよい。図9に示されたように、モバイル端末が水平面と一定の角度を有する平面に沿って位置するとき、x軸、y軸、およびz軸によって形成される座標系が図9に示されている。
804において、ax、ay、およびazの値に基づいて、危険運転行動が発生し得る(「対象時間期間」とも呼ばれる)データ間隔が決定され得る。危険運転行動は、運転プロセス全体ではなく特定の時間期間内にしばしば発生するので、いくつかの実施形態では、加速度データax、ay、およびazが取得された後、加速度データax、ay、およびazの値に基づいて、危険運転行動が発生し得るデータ間隔が決定されてもよい。データ間隔が決定された後、以下の動作806が実行されてもよい。
806において、データ間隔内の加速度データが抽出され得る。いくつかの実施形態では、危険運転行動が発生し得るデータ間隔が決定された後、データ間隔内の加速度データが抽出されてもよく、以下の動作808が実行されてもよい。
808において、抽出された加速度データに対して座標変換を実行することによって対象データが取得され得、対象データに対応するx軸およびy軸からなる平面は水平面であってもよく、z軸方向は重力方向と同じであってもよい。モバイル端末の姿勢は様々な状況に対応することができるので、たとえば、図9に示されたように、モバイル端末は水平面との角度を有する。この状況では、動作806において抽出された加速度データに対して座標変換を実行する必要があり、座標変換の結果は、対象データに対応するx軸およびy軸が水平面を構成し、z軸方向が重力方向と同じであることである。図9に示されたように、z軸はz’に回転し、y軸はy’に回転する。
抽出された加速度データに対して座標変換が実行され、対象データが取得された後、動作810が実行されてもよく、その中で、所定の特徴パラメータに従って対象データに対して特徴抽出が実行され得、所定の特徴パラメータは、時間領域特徴、周波数領域特徴、および速度特徴のうちの少なくとも1つを含む。
812において、抽出された特徴に基づいて危険運転行動が発生し得るかどうかが判定され得る。
いくつかの実施形態では、危険運転行動には、急減速、急転回、急加速、急ブレーキなどが含まれてもよいが、それらに限定されないことに留意されたい。
いくつかの実施形態では、上記のプロセスによれば、ドライバの運転行動は、モバイル端末によって適時かつ効果的に検出することができ、ドライバが危険運転行動をしているかどうかを判定することができる。オンラインタクシー配車プラットフォームの場合、ドライバの危険運転行動の適時かつ効果的な検出を介して、ドライバおよび乗客の個人の安全性を確保することができ、サービス要求割振り戦略を最適化することができ、次いで、オンラインタクシー配車プラットフォームをさらに最適化することができる。
特定の実施形態に関連して、運転行動を検出するための方法が以下に記載される。
上記の説明によれば、いくつかの実施形態では、モバイル端末の加速度データは、モバイル端末に取り付けられた3軸加速度センサによって検出されてもよく、加速度データは、それぞれ、x、y、およびzを含む3つの軸に対応する加速度データax、ay、およびaz、たとえば、図9に示された、それぞれ、x軸、y軸、およびz軸に対応する加速度データを含んでもよい。
いくつかの実施形態では、3軸加速度センサはモバイル端末に取り付けられ、常に動作状態にあるので、すなわち、3軸加速度センサは、常にモバイル端末の加速度データを収集する。しかしながら、本開示のいくつかの実施形態では、加速度データの取得メカニズムは設定されてもよい。
加速度データの取得メカニズムは、モバイル端末が運転行動検出機能を起動したときに、モバイル端末に取り付けられた加速度センサによって検出された加速度データが取得され得るように記載されてもよい。
すなわち、いくつかの実施形態では、モバイル端末が運転行動検出機能を起動したときに、モバイル端末に取り付けられた加速度センサによって検出された加速度データが取得されてもよい。運転行動検出機能を起動するべきかどうかを判定するための条件には、以下の条件が含まれる。
条件1:モバイル端末がナビゲーション機能を起動した場合、運転行動検出機能が起動され得る。
具体的には、モバイル端末上のドライバクライアントが、モバイル端末のナビゲーション機能が起動されたことを検出した場合、ドライバクライアントは、運転行動検出機能を起動することができる。
たとえば、自家用車のドライバがAからBに移動し、自家用車を運転する前または自家用車の運転中に、ドライバはモバイル端末上でナビゲーションソフトウェアを開き、ナビゲーションソフトウェアのナビゲーション機能を起動する。この状況では、ナビゲーションソフトウェアのナビゲーション機能が起動されたことを検出した後、モバイル端末上のドライバクライアントは、運転行動検出機能を起動することができる。そして、検出機能が起動された後、モバイル端末に取り付けられた加速度センサによって収集された加速度データが取得されてもよい。
加速度データが取得された後、危険運転行動が発生し得るデータ間隔が決定されてもよく、データ間隔内の加速度データが抽出されてもよく、抽出された加速度データに対して座標変換を実行することによって対象データが取得されてもよく、対象データが取得された後、所定の特徴パラメータに基づいて対象データに対して特徴抽出が実行されてもよく、抽出された特徴に基づいて危険運転行動が発生し得るかどうかが判定されてもよい。
危険運転行動が発生したと判定された場合、危険運転行動に関連付けられた関連データが、記憶および/または分析されるためにサーバ110にアップロードされてもよく、関連データには、データ間隔内の加速度データ、危険運転行動が発生した時間、危険運転行動が発生した場所(道路区間)、危険運転行動の持続時間などが含まれてもよいが、それらに限定されない。
サーバ110が複数のドライバの危険運転行動に関連付けられた大量の関連データを取得し、複数のドライバの属性情報(たとえば、性別、年齢、職業など)を取得した場合、サーバ110は、属性情報に基づいて危険運転行動の関連データに対するビッグデータ分析を実行することができる。分析結果には、危険運転行動が最も頻繁に発生し得る場所(道路区間)、危険運転行動の最も高い発生頻度に対応する性別、危険運転行動の最も高い発生頻度に対応する年齢、危険運転行動の最も高い発生頻度に対応する職業などが含まれてもよいが、それらに限定されない。
いくつかの実施形態で提供される方法によれば、ドライバの危険運転行動を適時かつ効果的に検出することができるだけでなく、検出された危険運転行動に基づいてビッグデータ分析を実行することもできることが、上記の説明から分かる。分析結果は、危険運転行動の最も高い発生頻度に対応する人々が、自分の危険運転行動を時間内に自覚し修正するのを助けることができる。一方、危険運転行動が最も頻繁に発生し得る場所(または道路区間)は、関連する交通部門に警報を提供することができ、道路区間はそれに応じて修正されてもよい。
条件2:モバイル端末がオンラインタクシー配車プラットフォームからサービス要求を受け付けた場合、運転行動検出機能が起動され得る。
具体的には、モバイル端末上のオンラインタクシー配車ドライバクライアントが、オンラインタクシー配車プラットフォームからのサービス要求を受け付けたことを検出した場合、運転行動検出機能が起動されてもよい。
たとえば、特定のオンラインタクシー配車ドライバがオンラインタクシー配車ドライバクライアントを介してサービス要求を受け付けると、オンラインタクシー配車ドライバクライアントは、運転行動検出機能を起動することができる。そして、検出機能が起動された後、モバイル端末に取り付けられた加速度センサによって収集された加速度データが取得されてもよい。
この状況では、モバイル端末上のドライバクライアントおよびオンラインタクシー配車ドライバクライアントは、同じクライアントであってもよい。オンラインタクシー配車ドライバがサービス要求に対してサービスを提供していないとき、運転行動検出機能は起動されなくてもよい。オンラインタクシー配車ドライバがサービス要求を受け付けたことをドライバクライアントが検出すると、運転行動検出機能が起動されてもよい。
加速度データが取得された後、危険運転行動が発生し得るデータ間隔が決定されてもよく、データ間隔内の加速度データが抽出されてもよく、抽出された加速度データに対して座標変換を実行することによって対象データが取得されてもよく、対象データが取得された後、所定の特徴パラメータに基づいて対象データに対して特徴抽出が実行されてもよく、抽出された特徴に基づいて危険運転行動が発生し得るかどうかが判定されてもよい。
危険運転行動が発生したと判定された場合、危険運転行動に関連付けられた関連データが、記憶および/または分析されるためにサーバ110にアップロードされてもよく、関連データには、データ間隔内の加速度データ、危険運転行動が発生した時間、危険運転行動が発生した場所(道路区間)、危険運転行動の持続時間などが含まれてもよいが、それらに限定されない。
いくつかの実施形態では、危険運転行動に関連付けられた関連データは、事前設定された期間に従って指定されたサーバに送信されてもよく、たとえば、記憶された加速度データは、事前設定された期間に従って指定されたサーバに送信されてもよい。または、危険運転行動に関連付けられた記憶された関連データが事前設定された量に達した場合、危険運転行動に関連付けられた記憶された関連データは、指定されたサーバに送信されてもよい。たとえば、記憶された加速度データが事前設定された量に達した場合、記憶された加速度データは指定されたサーバに送信されてもよい。
ドライバクライアントによって送信された危険運転行動に関連付けられた関連データを取得した後、サーバ110(たとえば、サーバ110内の処理エンジン112)は、関連データに基づいてドライバを評価してドライバのレベルを決定することができる。一方、本開示のいくつかの実施形態では、サーバ110は、危険運転行動に関連付けられた関連データに基づいて、サービス要求を割り振るための割振り戦略を調整することができる。
たとえば、サーバ110は、危険運転行動に関連付けられた関連データを分析し、特定の道路区間上の特定のドライバの危険運転行動の発生頻度が比較的高いと判断することができる。このとき、サービス要求を割り振るための割振り戦略は、ドライバに割り振られるべき特定の道路区間に関連付けられたサービス要求の量を減らすように調整されてもよい。反対に、別の道路区間上の特定のドライバの危険運転行動の発生頻度が非常に低い(ほぼゼロである)場合、サービス要求を割り振るための割振り戦略は、ドライバに割り振られるべき道路区間に関連付けられたサービス要求の量を増やすように調整されてもよい。
本実施形態の方法によれば、ドライバの危険運転行動を適時かつ効果的に検出することができるだけでなく、危険運転行動の検出結果に基づいてサービス要求を割り振るための割振り戦略を調整することもでき、それにより、オンラインタクシー配車プラットフォームが最適化されることが説明から分かる。
条件3:モバイル端末がナビゲーション機能を起動し、オンラインタクシー配車プラットフォームからサービス要求を受け付けた場合、運転行動検出機能が起動され得る。
具体的には、モバイル端末上のオンラインタクシー配車ドライバクライアントが、モバイル端末のナビゲーション機能が起動されたことを検出し、オンラインタクシー配車ドライバがオンラインタクシー配車プラットフォームからのサービス要求を受け付けたことを検出した場合、運転行動検出機能が起動されてもよい。
たとえば、特定のオンラインタクシー配車ドライバがオンラインタクシー配車ドライバクライアントを介してサービス要求を受け付け、車両を運転する前または車両の運転中にモバイル端末上でナビゲーションソフトウェアを開き、ナビゲーションソフトウェアのナビゲーション機能を起動すると、オンラインタクシー配車ドライバクライアントは、運転行動検出機能を起動することができる。そして、検出機能が起動された後、モバイル端末に取り付けられた加速度センサによって収集された加速度データが取得されてもよい。
加速度データが取得された後、加速度データは上記の条件2に関連して記載されたように処理されてもよく、ここでは繰り返さない。
いくつかの実施形態では、上述された3つの条件のうちのいずれか1つに従って運転行動検出機能が起動されたと判定した後、モバイル端末に取り付けられた加速度センサによって収集された加速度データax、ay、およびazが取得されてよく、ax、ay、およびazの値に基づいて、危険運転行動が発生し得るデータ間隔が決定されてもよい。
上記の説明は単に例示の目的で提供されており、本開示の範囲を限定するものではないことに留意されたい。当業者のために、本開示の教示の下で複数の変形および修正が行われてもよい。しかしながら、それらの変形および修正は本開示の範囲から逸脱しない。
図10は、本開示のいくつかの実施形態による、危険運転行動が発生し得るデータ間隔を決定するための例示的なプロセスを示すフローチャートである。プロセス1000は、オンデマンドサービスシステム100によって実行されてもよい。たとえば、プロセス1000は、ストレージROM230またはRAM240に記憶された一組の命令(たとえば、アプリケーション)として実装されてもよい。プロセッサ220ならびに/または図17のモジュールおよび/もしくはユニットは、一組の命令を実行することができ、命令を実行するとき、プロセッサ220、モジュール、および/またはユニットは、プロセス1000を実行するように構成されてもよい。下記に提示される示されたプロセスの動作は例示的であるものとする。いくつかの実施形態では、プロセス1000は、記載されていない1つもしくは複数のさらなる動作を用いて、かつ/または説明された動作のうちの1つもしくは複数を用いずに遂行されてもよい。さらに、図10に示され、以下に記載されるようなプロセスの動作の順序は、限定的なものではない。いくつかの実施形態では、プロセス1000は、サーバ110またはモバイル端末(たとえば、プロバイダ端末140)によって実行されてもよい。本開示の他の箇所に記載されたように、処理エンジン112は、サーバ110、要求者端末130、またはプロバイダ端末140の中に統合されてもよく、したがって、プロセス1000は処理エンジン112によって実行されると考えることができる。
1001において、ax、ay、およびazに基づいてトータル加速度が決定され得る。
いくつかの実施形態では、トータル加速度は、下記の式(1)に従って、a
x、a
y、およびa
zに基づいて決定されてもよい。
ここで、aはトータル加速度を指す。
いくつかの実施形態では、トータル加速度は、下記の式(2)に従って、ax、ay、およびazに基づいて決定されてもよい。
a=ax+ay+az (2)
1002において、(「加速度しきい値」とも呼ばれる)事前設定されたしきい値よりも大きい連続するトータル加速度の数カウントが決定され得る。
1003において、数カウントが(「カウントしきい値」とも呼ばれる)事前設定された数よりも大きいと判定したことに応答して、連続するトータル加速度に対応する加速度データ間隔が、危険運転行動が発生し得るデータ間隔として決定され得る。
具体的には、いくつかの実施形態では、第1に、加速度データax、ay、およびazがモバイル端末に取り付けられた加速度センサによって収集されてもよく、第2に、トータル加速度を決定するために加速度データax、ay、およびazが結合されてもよく、トータル加速度は式(1)または式(2)に従って決定されてもよい。トータル加速度が決定された後、トータル加速度が監視されてもよい。具体的には、事前設定されたしきい値よりも大きい連続するトータル加速度の数カウントを取得するために、トータル加速度の値がカウントされてもよい。数カウントが事前設定された数よりも大きいと判定したことに応答して、連続するトータル加速度に対応する加速度データ間隔が、危険運転行動が発生し得るデータ間隔として決定されてもよい。
事前設定されたしきい値および事前設定された数が最初に選択されてもよく、ユーザは、実際のニーズに応じて、事前設定されたしきい値の値および事前設定された数の値を調整することができ、それは具体的に限定されなくてもよいことに留意されたい。
一般に、加速度センサが加速度データを収集するとき、収集頻度は一定であってもよい。したがって、いくつかの実施形態では、「事前設定された数」は「時間」に変換することができる。事前設定された時間期間内に取得されたトータル加速度の数カウントが「事前設定された数」であると仮定されてもよい。
たとえば、加速度データが加速度センサによって収集された後、加速度データのトータル加速度は、式(1)または式(2)に従って決定されてもよい。事前設定されたしきい値よりも大きい連続するトータル加速度の時間が、事前設定された時間期間を超えるかどうかが判定されてもよい。時間が事前設定された時間期間を超える場合、事前設定された時間期間内のトータル加速度に対応するデータ間隔が、危険運転行動が発生し得るデータ間隔として決定されてもよい。好ましくは、事前設定された時間期間は5秒であるように選択されてもよい。すなわち、事前設定されたしきい値よりも大きい連続するトータル加速度の時間が5秒を超えたことが検出された場合、5秒以内のトータル加速度に対応する加速度データ間隔が、危険運転挙行動が発生し得るデータ間隔として決定されてもよい。
1001〜1003に記載された動作に基づいて危険運転行動が発生し得るデータ間隔が決定された後、データ間隔内の加速度データが取得されてもよい。次いで、対象データを取得するために、抽出された加速度データに対して座標変換が実行されてもよい。
モバイル端末は車両内に置かれているので、トータル加速度が事前設定されたしきい値よりも大きいとき、それはモバイル端末が比較的大きい加速度を有することを示すことが、上記の説明から分かる。なぜ比較的大きな加速度が発生するかは、以下の2つの理由に対応してもよい:1つは車両の衝突またはユーザによる振動であってもよく、もう1つは危険運転中の急加速であってもよい。いくつかの実施形態では、2つの理由を区別することが必要である。車両の衝突と危険運転行動との間を区別するために、806において抽出された加速度データが正規化されて、正規化データ(すなわち、対象データ)が取得されてもよく、正規化データから特徴が抽出されてもよく、最後に、抽出された特徴に基づいて、危険運転行動が発生し得るかどうかが判定されてもよい。
いくつかの実施形態では、806において抽出された加速度データを正規化する目的は、モバイル端末と車両が同じ姿勢にある条件に加速度データを調整することである。加速度センサによって収集された加速度データはモバイル端末のローカル座標系に基づくデータであるので、モバイル端末の姿勢が車両の姿勢と異なる場合、モバイル端末の走行軌跡が車両の走行軌跡とまったく同じ場合でも、まったく異なるデータが収集されてもよい。したがって、モバイル端末の姿勢の影響を除外するために、加速度データ二対して正規化を実行する必要がある。
上記の正規化プロセスは主として2つの動作を含む:第1に、加速度センサの3軸のうちのz軸の方向が重力方向と同じ方向(たとえば、図9に示されたz’)に回転してもよく、第2に、図11に示されように、x軸の方向またはy軸の方向が現在の運転方向と同じ方向に回転してもよい。
上記の説明は単に例示の目的で提供されており、本開示の範囲を限定するものではないことに留意されたい。当業者のために、本開示の教示の下で複数の変形および修正が行われてもよい。しかしながら、それらの変形および修正は本開示の範囲から逸脱しない。
図12は、本開示のいくつかの実施形態による、抽出された加速度データに対して座標変換を実行するための例示的なプロセスを示すフローチャートである。プロセス1200は、オンデマンドサービスシステム100によって実行されてもよい。たとえば、プロセス1200は、ストレージROM230またはRAM240に記憶された一組の命令(たとえば、アプリケーション)として実装されてもよい。プロセッサ220ならびに/または図17のモジュールおよび/もしくはユニットは、一組の命令を実行することができ、命令を実行するとき、プロセッサ220、モジュール、および/またはユニットは、プロセス1200を実行するように構成されてもよい。下記に提示される示されたプロセスの動作は例示的であるものとする。いくつかの実施形態では、プロセス1200は、記載されていない1つもしくは複数のさらなる動作を用いて、かつ/または説明された動作のうちの1つもしくは複数を用いずに遂行されてもよい。さらに、図12に示され、以下に記載されるようなプロセスの動作の順序は、限定的なものではない。いくつかの実施形態では、プロセス1200は、サーバ110またはモバイル端末(たとえば、プロバイダ端末140)によって実行されてもよい。本開示の他の箇所に記載されたように、処理エンジン112は、サーバ110、要求者端末130、またはプロバイダ端末140の中に統合されてもよく、したがって、プロセス1200は処理エンジン112によって実行されると考えることができる。
1201において、低周波加速度データを抽出するために、抽出された加速度データに対してハイパスフィルタリングが実行され得る。いくつかの実施形態では、低周波加速度データを抽出するために、加速度に対してローパスフィルタリングが実行されてもよい。
1202において、低周波加速度データの方向が重力方向として指定され得る。
1203において、重力方向とazの方向との間の角度に基づいて回転行列が構築され得る。
1204において、抽出された加速度データに回転行列を乗算することにより、加速度データに対して座標変換が実行され得る。
上述されたように806において抽出された加速度データは、データ間隔内のx、y、およびzを含む3軸に対応する加速度データax、ay、およびazである。いくつかの実施形態では、低周波加速度データを抽出するために、806において抽出された加速度データに対してハイパスフィルタリングが実行されてもよい。
重力加速度gの方向は一定であるので、それは低周波信号と見なされてもよい。806において抽出された加速度データの3つの成分に対してハイパスフィルタリングが実行された後に重力加速度信号が抽出されてもよく、その結果、低周波加速度データの方向を重力方向として指定することができる。重力方向が決定された後、重力方向とazの方向との間の角度に基づいて回転行列が構築されてもよい。最後に、加速度データが回転行列と乗算されてもよく、加速度の座標変換が実施されてもよく、その結果、z軸と重力方向gは同じになる。
いくつかの実施形態では、回転行列Rは下記のように表されてもよい。
ここで、
s=||v||、
であり、gは重力方向ベクトルを指し、Iは3*3の単位行列を指し、zは(0,0,1)ベクトルを指し、vはgの正規化ベクトルとベクトルzの外積を指し、cはgの正規化ベクトルとベクトルzの内積を指す。
ここで
である。
いくつかの実施形態では、式(3)に基づいて構築された回転行列は、加速度データに対して座標変換を実行するために、806において抽出された加速度データと乗算されてもよい。座標変換によれば、(図9に示されたように)z軸の方向と重力方向gが同じであってもよく、(図9に示されたように)x軸およびy軸が水平面内にあってもよい。
いくつかの実施形態では、806において抽出された加速度データが回転行列と乗算された後、axまたはayに対応する座標軸は、特異値分解(SVD)手法に従って現在の運転方向と一致するように調整されてもよい。
SVDは、信頼できる分解手法である直交行列分解手法である。SVDは下記のように表されてもよい。
[U,S,V*]=SVD(A) (5)
ここで、UおよびV*は2つの互いに直交する行列を表し、Sは対角行列を表し、Aは元の行列を表す。
上記の手法に従って加速度データに対して座標変換が実行された後、x軸およびy軸は水平面上にあるが、車両の運転方向とx軸との間の角度および運転方向とy軸との間の角度は分からない可能性がある。モバイル端末および車両の相対位置は変化しないままである、すなわち、モバイル端末が車両に固定されていると想定される。いくつかの実施形態では、SVD手法によれば、座標変換後のaxまたはayに対応する座標軸は、車両の運転方向に調整することができる。たとえば、データ間隔(たとえば、5秒の事前設定された時間期間)内に300点がサンプリングされてもよく、300*3の行列Mが取得されてもよく、次いで、行列Mに対してSVD分解が実行されてもよい。行列Mの分解は下記のように表されてもよい。
M=USV* (6)
ここで、Mは元の行列を指し、UおよびSは新しい正規化データを指し、新しい正規化データは、axまたはayに対応する座標軸を現在の運転方向に調整することによって取得されるデータであってもよい。
いくつかの実施形態では、動作1201〜1204に記載された手法に従って対象データが取得された後、特異値分解手法に従って、axまたはayに対応する座標軸が現在の運転方向と一致するように調整され、所定の特徴パラメータに基づいて、対象データに対して特徴抽出が実行されてもよい。
いくつかの実施形態では、特徴パラメータには、時間領域特徴、周波数領域特徴、または速度特徴のうちの少なくとも1つが含まれてもよいことが、上記の説明から分かる。特徴パラメータに基づいて対象データに対して特徴抽出が実行された後、対象データの時間領域特徴、周波数領域特徴、および速度特徴が取得されてもよい。いくつかの実施形態では、ドライバが危険運転行動をしているかどうかは、対象データの時間領域特徴、周波数領域特徴、または速度特徴のうちの少なくとも1つに基づいて判定されてもよい。
たとえば、ドライバが危険運転行動をしているかどうかは、対象データの時間領域特徴に基づいて判定されてもよい。別の例として、ドライバが危険運転行動をしているかどうかは、対象データの時間領域特徴および周波数領域特徴に基づいて判定されてもよい。さらに別の例として、ドライバが危険運転行動をしているかどうかは、対象データの時間領域特徴、周波数領域特徴、および速度特徴に基づいて判定されてもよい。
(1)特徴パラメータが時間領域特徴を含む場合、時間領域特徴に基づいて対象データに対して特徴抽出を実行するための動作は、各座標軸に沿った最大加速度、各座標軸に沿った最小加速度、各座標軸に沿った平均加速度、または各座標軸に沿った加速度分散を決定することを含んでもよい。
時間領域特徴は、以下の特徴:各座標軸に沿った最大加速度、各座標軸に沿った最小加速度、各座標軸に沿った平均加速度、または各座標軸に沿った加速度分散を含んでもよい。したがって、いくつかの実施形態では、対象データの時間領域特徴が抽出されるとき、各座標軸に沿った最大加速度、各座標軸に沿った最小加速度、各座標軸に沿った平均加速度、または各座標軸に沿った加速度分散が抽出されてもよい。
各座標軸に沿った最大加速度は、Max(ax)、Max(ay)、およびMax(az)として表されてもよい。各座標軸に沿った最小加速度は、Min(ax)、Min(ay)、およびMin(az)として表されてもよい。各座標軸に沿った平均加速度は、mean(ax)、mean(ay)、およびmean(az)として表されてもよい。各座標軸に沿った加速度分散は、var(ax)、var(ay)、およびvar(az)として表されてもよい。
(2)特徴パラメータが周波数領域特徴を含む場合、周波数領域特徴に基づいて対象データに対して特徴抽出を実行するための動作は、短時間フーリエ変換(STFT)に基づいて対象データを周波数領域データに変換することと、周波数領域データに対応する周波数領域特徴を決定することとを含んでもよい。
周波数領域特徴は、対象データに対してSTFTが実行された後に取得される周波数領域信号を指すことができる。
対象データの周波数領域特徴に関して、フーリエ変換はSTFTを使用して対象データに対して実行されてもよく、変換結果は、図13に示された時間と周波数との間の対応関係を含む2次元行列であってもよい。
上記の説明は単に例示の目的で提供されており、本開示の範囲を限定するものではないことに留意されたい。当業者のために、本開示の教示の下で複数の変形および修正が行われてもよい。しかしながら、それらの変形および修正は本開示の範囲から逸脱しない。
図13は、本開示のいくつかの実施形態による、時間と周波数との間の対応関係を示す概略図である。
図13に示されたように、各グリッドは、時間範囲内の時間tにおける周波数のエネルギー値を示す値に対応し、エネルギー値、時間、および周波数の間の対応関係は、図14に示されてもよい。図14に示されたように、エネルギー値Hは、0〜0.5秒内の0〜1Hz内のエネルギー値を表す。
いくつかの実施形態では、危険運転行動に関連付けられた周波数は比較的低く、振動または通常の衝突に関連付けられた周波数は比較的高いと考えられる。そして、危険運転行動の時間期間は比較的長い可能性があり、すなわち、低周波持続時間は比較的長い可能性がある。振動または通常の衝突の時間は一般に短いので、高周波持続時間は長くない。したがって、ドライバが危険運転行動をしているかどうかは、対象データの周波数領域特徴を分析することによって判定されてもよい。
場合によっては、周波数領域データに対応する周波数領域特徴を決定するための動作は、周波数領域データに対応する高周波エネルギー値、低周波エネルギー値、または低周波持続時間を決定することを含んでもよい。
具体的には、ドライバが危険運転行動をしているかどうかを判定するために対象データの周波数領域特徴が使用されるとき、ドライバが危険運転行動をしているかどうかを判定するために、周波数領域特徴内の低周波エネルギー値に対する高周波エネルギー値の比および低周波持続時間が分析されてもよい。いくつかの実施形態では、場合によっては、1Hzよりも小さい周波数が低周波として指定されてもよく、2Hzよりも大きい周波数が高周波として指定されてもよい。加えて、低周波および高周波は他の方法で定義されてもよい。
周波数領域特徴内の低周波エネルギー値に対する高周波エネルギー値の比は、下記のように表されてもよい。
ここで、max
tP(t,f<1Hz)は、周波数が1Hzよりも小さいときの最大エネルギー値を表し、max
tP(t,f>2Hz)は、周波数が2Hzよりも大きいときの最大エネルギー値を表し、P(t,f)はSTFTに基づいて決定されたエネルギー密度関数を表す。
式(7)に従って低周波エネルギー値に対する高周波エネルギー値の比を決定することにより、1次エネルギーが高周波であるか低周波であるかを判定することが可能である。
次に、低周波持続時間が決定されてもよい。低周波持続時間を決定するとき、最初に、下記のようにしきい値を決定することが必要である。
thresh=maxtP(t,f<1Hz) (8)
ここで、しきい値は低周波での最大エネルギー値を表す。次に、低周波持続時間を決定するために、しきい値が係数a(たとえば、1未満の正数)と乗算されてもよい。
具体的には、低周波持続時間は、
のように表されもよく、ここで、Tは、周波数が最初にしきい値を超えた時点と周波数が最後にしきい値を超えた時点との間の差を表す。
(3)特徴パラメータが速度特徴を含む場合、速度特徴に基づいて対象データに対して特徴抽出を実行するための動作は、各座標軸に沿った対象データに対して積分を実行することと、積分結果に基づいて、各座標軸に沿った最大速度、各座標軸に沿った最小速度、各座標軸に沿った速度最終値、または各座標軸に沿った速度中間値を決定することとを含んでもよい。
いくつかの実施形態では、対象データに対して特徴抽出が実行され、対象データの時間領域特徴、周波数領域特徴、および速度特徴が取得された後、上記の3つの特徴のうち少なくとも1つに基づいて、ドライバが危険運転挙動をしているかどうかが判定されてもよい。
いくつかの実施形態では、抽出された特徴に基づいてドライバが危険運転行動をしているかどうかを判定するための動作は、抽出された特徴をモバイル端末の決定木モデルに入力することと、危険運転行動が発生し得るかどうかを含む判定結果を出力することとを含んでもよく、決定木モデルは、危険運転行動に対応する特徴パラメータに基づいて事前訓練されてもよい。
いくつかの実施形態では、訓練された決定木モデル(たとえば、xgboost)は、モバイル端末のドライバクライアントに事前記憶されていてもよい。ドライバの危険運転行動を分析するために決定木モデルを使用する必要があるとき、ドライバの危険運転行動を分析するために決定木モデルが呼び出されてもよい。
図15−A〜図15−Cは、本開示のいくつかの実施形態による、危険運転行動を示す概略図である。
いくつかの実施形態では、危険運転行動には、(図15−Aに示された)急減速、(図15−Bに示された)急転回、(図15−Cに示された)急加速、急ブレーキなどが含まれてもよいが、それらに限定されない。
ドライバが危険運転行動をしているかどうかが、対象データの時間領域特徴、周波数領域特徴、および速度特徴に基づいて判定されてもよいことは、以下のように記載されると想定される。
動作802〜810に記載された方法に従って対象データが決定されてもよく、時間領域特徴、周波数領域特徴、および速度特徴が対象データから抽出されてもよく、次いで、時間領域特徴、周波数領域特徴、および速度特徴が訓練された決定木モデルに入力されてもよい。決定木モデルは、時間領域特徴、周波数領域特徴、および速度特徴に基づいてドライバが危険運転行動をしているかどうかを判定し、ドライバが危険運転行動をしていると判定したことに応答して、危険運転行動のタイプを特定するように構成されてもよい。
この状況では、決定木モデルは訓練サンプルに基づいて事前訓練されたモデルであってもよいことに留意されたい。訓練プロセスは以下のように記載されてもよい:訓練サンプルが取得されてもよく、訓練サンプルは入力データおよび出力データを含み、入力データは、時間領域特徴、周波数領域特徴、および速度特徴(すなわち、上述された特徴パラメータ)であってもよく、出力データは、入力データに対応する行動が危険運転行動であるかどうか、および危険運転行動のタイプを示す識別情報であってもよい。さらに、訓練サンプルに基づいてモデルを訓練することにより、訓練された決定木モデルが取得されてもよい。
本実施形態の方法によれば、ドライバの危険運転行動を適時かつ効果的に検出することができるだけでなく、危険運転行動の検出結果に基づいてサービス要求を割り振るための割振り戦略を調整することもでき、それにより、オンラインタクシー配車プラットフォームが最適化されることが説明から分かる。
図16は、本開示のいくつかの実施形態による、運転行動を検出するための例示的なプロセスを示すフローチャートである。プロセス1600は、オンデマンドサービスシステム100によって実行されてもよい。たとえば、プロセス1600は、ストレージROM230またはRAM240に記憶された一組の命令(たとえば、アプリケーション)として実装されてもよい。プロセッサ220ならびに/または図17のモジュールおよび/もしくはユニットは、一組の命令を実行することができ、命令を実行するとき、プロセッサ220、モジュール、および/またはユニットは、プロセス1600を実行するように構成されてもよい。下記に提示される示されたプロセスの動作は例示的であるものとする。いくつかの実施形態では、プロセス1600は、記載されていない1つもしくは複数のさらなる動作を用いて、かつ/または説明された動作のうちの1つもしくは複数を用いずに遂行されてもよい。さらに、図16に示され、以下に記載されるようなプロセスの動作の順序は、限定的なものではない。
プロセス1600は、ドライバクライアントがインストールされたモバイル端末によって実行されてもよい。モバイル端末は、危険運転行動が発生し得るかどうかを判定するために、ドライバの運転行動を検出することができる。いくつかの実施形態では、プロセス1600はサーバ110によって実行されてもよい。本開示の他の箇所に記載されたように、処理エンジン112は、サーバ110、要求者端末130、またはプロバイダ端末140の中に統合されてもよく、したがって、プロセス1600は処理エンジン112によって実行されると考えることができる。モバイル端末によって実行され、オンラインタクシー配車アプリケーションのシナリオで実行されるプロセス1600を一例として取り上げると、プロセスは以下の動作を含んでもよい。
1601において、モバイル端末が運転行動検出機能を起動したときに、モバイル端末に取り付けられた加速度センサによって加速度データが取得され得る。
モバイル端末がナビゲーション機能を起動し、かつ/またはオンラインタクシー配車プラットフォームからサービス要求を受け付けた場合、運転行動検出機能が起動されてもよい。運転行動検出機能が起動された後、モバイル端末に取り付けられた加速度センサによって加速度データが収集されてもよい。
1602において、正規化処理結果を取得するために加速度データが正規化され得る。
いくつかの実施形態では、加速度データax、ay、およびazが正規化される前に、加速度データax、ay、およびazの値に基づいて、危険運転行動が発生し得るデータ間隔が決定されてもよく、データ間隔内の加速度データ間隔が抽出されてもよい。次いで、抽出された加速度データが正規化されてもよく、正規化データ(すなわち、上述された対象データ)が取得されてもよく、正規化データに対して特徴抽出が実行されてもよい。最後に、抽出された特徴に基づいて、危険運転行動が発生し得るかどうか判定されてもよい。
具体的には、抽出された加速度データは、動作1201〜1204に記載された方法に従って正規化されてもよく、詳細はここでは繰り返さなくてもよい。
1603において、以下の特徴:時間領域特徴、周波数領域特徴、または速度特徴のうちの少なくとも1つを取得するために、所定の特徴パラメータに基づいて、正規化された処理結果に対して特徴抽出が実行され得る。
いくつかの実施形態では、特徴(時間領域特徴、周波数領域特徴、および速度特徴)は、上述された方法に従って正規化された処理結果(対象データ)から抽出されてもよく、詳細はここでは繰り返さなくてもよい。
1604において、訓練された決定木モデルを使用することにより、上記の特徴のうちの少なくとも1つに基づいて、危険運転行動が発生し得るかどうかが判定され得る。
いくつかの実施形態では、上述された方法に従って危険運転行動が発生し得るかどうかが決定されてもよく、ここでは詳細は繰り返さなくてもよい。
1605において、危険運転行動が発生し得ると判定したことに応答して、ドライバの危険運転行動がサーバ110にアップロードされ得る。
危険運転行動が発生し得ると判定された後、ドライバの危険運転行動に関連付けられた関連データがサーバ110にアップロードされてもよい。ドライバクライアントによって送信されたドライバの危険運転行動に関連付けられた関連データを取得した後、サーバ110は、そのデータに基づいてドライバを評価し、ドライバのレベルを決定することができる。一方、本開示のいくつかの実施形態では、サーバ110は、危険運転行動に関連付けられた関連データに基づいて、サービス要求を割り振るための割振り戦略を調整することができる。
説明の目的のために、この実施形態は、前述の実施形態によって提供された検出方法に従って、オンラインタクシー配車プラットフォームによって危険運転行動が検出され得る具体的な適用例を提供する。
シナリオ1:ドライバが自家用車の所有者であってもよく、自家用車の所有者のモバイル端末が車両内に置かれてもよく、モバイル端末を介して以下のプロセスが実行されてもよい。
自家用車の所有者は、位置Aから位置Bに移動し、モバイル端末上でナビゲーションソフトウェアを起動し、車両を運転する前または車両を運転中にナビゲーションソフトウェアのナビゲーション機能を起動することができる。
このとき、ナビゲーションソフトウェアのナビゲーション機能が起動されたことをモバイル端末上のドライバクライアントが検出した後、運転行動検出機能が起動されてもよい。検出機能が起動された後、モバイル端末に取り付けられた加速度センサによって収集された加速度データが取得されてもよい。
加速度データが取得された後、加速度データに基づいて、危険運転行動が発生し得るデータ間隔が決定されてもよい。たとえば、事前設定されたしきい値よりも大きい連続するトータル加速度の時間が5秒よりも大きい場合、5秒以内のトータル加速度に対応する加速度データ間隔が、危険運転挙行動が発生し得るデータ間隔として決定されてもよい。トータル加速度は、式(1)または式(2)に従って加速度データに対する計算を実行することによって決定される加速度であってもよい。
危険運転行動が発生し得るデータ間隔が決定された後、データ間隔(たとえば、5秒)内の加速度データが抽出されてもよく、対象データを取得するために、抽出された加速度データに対して座標変換が実行されてもよい。
続いて、時間領域特徴、周波数領域特徴、または速度特徴のうちの少なくとも1つを抽出するために、対象データに対して特徴抽出が実行されてもよい。
最後に、抽出された特徴パラメータに基づいて、自家用車の所有者が危険運転行動をしているかどうかが判定されてもよい。
シナリオ2:ドライバがオンラインタクシー配車ドライバであってもよく、オンラインタクシー配車ドライバのモバイル端末が車両内に置かれてもよく、モバイル端末を介して以下のプロセスが実行されてもよい。
オンラインタクシー配車ドライバは、オンラインタクシー配車ドライバクライアントを介してサービス要求を受け付け、運転行動検出機能を起動することができる。そして、検出機能が起動された後、モバイル端末に取り付けられた加速度センサによって収集された加速度データが取得されてもよい。
加速度データが取得された後、加速度データに基づいて、危険運転行動が発生し得るデータ間隔が決定されてもよい。たとえば、事前設定されたしきい値よりも大きい連続するトータル加速度の時間が5秒よりも大きい場合、5秒以内のトータル加速度に対応する加速度データ間隔が、危険運転挙行動が発生し得るデータ間隔として決定されてもよい。トータル加速度は、式(1)または式(2)に従って加速度データに対する計算を実行することによって決定される加速度であってもよい。
危険運転行動が発生し得るデータ間隔が決定された後、データ間隔(たとえば、5秒)内の加速度データが抽出されてもよく、対象データを取得するために、抽出された加速度データに対して座標変換が実行されてもよい。
続いて、時間領域特徴、周波数領域特徴、または速度特徴のうちの少なくとも1つを抽出するために、対象データに対して特徴抽出が実行されてもよい。
最後に、抽出された特徴パラメータに基づいて、オンラインタクシー配車ドライバが危険運転行動をしているかどうかが判定されてもよい。
シナリオ3:ドライバがオンラインタクシー配車ドライバであってもよく、オンラインタクシー配車ドライバのモバイル端末が車両内に置かれてもよく、モバイル端末を介して以下のプロセスが実行されてもよい。
オンラインタクシー配車ドライバは、オンラインタクシー配車ドライバクライアントを介してサービス要求を受け付け、運転行動検出機能を起動することができる。そして、検出機能が起動された後、モバイル端末に取り付けられた加速度センサによって収集された加速度データが取得されてもよい。
加速度データが取得された後、加速度データに基づいて、危険運転行動が発生し得るデータ間隔が決定されてもよい。たとえば、事前設定されたしきい値よりも大きい連続するトータル加速度の時間が5秒よりも大きい場合、5秒以内のトータル加速度に対応する加速度データ間隔が、危険運転挙行動が発生し得るデータ間隔として決定されてもよい。トータル加速度は、式(1)または式(2)に従って加速度データに対する計算を実行することによって決定される加速度であってもよい。
危険運転行動が発生し得るデータ間隔が決定された後、データ間隔(たとえば、5秒)内の加速度データが抽出されてもよく、対象データを取得するために、抽出された加速度データに対して座標変換が実行されてもよい。
続いて、以下の特徴パラメータ:時間領域特徴、周波数領域特徴、または速度特徴のうちの少なくとも1つを抽出するために、対象データに対して特徴抽出が実行されてもよい。
最後に、抽出された特徴パラメータに基づいて、オンラインタクシー配車ドライバが危険運転行動をしているかどうかが判定されてもよい。
危険運転行動が発生し得ると判定された場合、危険運転行動に関連付けられた関連データが記憶および/または分析されるためにサーバ110にアップロードされてもよく、関連データには、データ間隔内の加速度データ、危険運転行動が発生した時間、危険運転行動が発生した場所(道路区間)、危険運転行動の持続時間などが含まれてもよいが、それらに限定されない。
ドライバクライアントによって送信された危険運転行動に関連付けられた関連データを取得した後、サーバ110(たとえば、サーバ110内の処理エンジン112)は、関連データに基づいてドライバを評価してドライバのレベルを決定することができる。一方、本開示のいくつかの実施形態では、サーバ110は、危険運転行動に関連付けられた関連データに基づいて、サービス要求を割り振るための割振り戦略を調整することができる。
シナリオ4:ドライバが自家用車の所有者またはオンラインタクシー配車ドライバであってもよく、自家用車の所有者またはオンラインタクシー配車ドライバのモバイル端末が車両内に置かれてもよく、モバイル端末を介して以下のプロセスが実行されてもよい。
自家用車の所有者は、位置Aから位置Bに移動し、モバイル端末上でナビゲーションソフトウェアを起動し、車両を運転する前または車両を運転中にナビゲーションソフトウェアのナビゲーション機能を起動することができる。このとき、ナビゲーションソフトウェアのナビゲーション機能が起動されたことをモバイル端末上のドライバクライアントが検出した後、運転行動検出機能が起動されてもよい。検出機能が起動された後、モバイル端末に取り付けられた加速度センサによって収集された加速度データが取得されてもよい。
あるいは、オンラインタクシー配車ドライバは、オンラインタクシー配車ドライバクライアントを介してサービス要求を受け付け、運転行動検出機能を起動することができる。そして、検出機能が起動された後、モバイル端末に取り付けられた加速度センサによって収集された加速度データが取得されてもよい。
加速度データが取得された後、加速度データに基づいて、危険運転行動が発生し得るデータ間隔が決定されてもよい。たとえば、事前設定されたしきい値よりも大きい連続するトータル加速度の時間が5秒よりも大きい場合、5秒以内のトータル加速度に対応する加速度データ間隔が、危険運転挙行動が発生し得るデータ間隔として決定されてもよい。トータル加速度は、式(1)または式(2)に従って加速度データに対する計算を実行することによって決定される加速度であってもよい。
危険運転行動が発生し得るデータ間隔が決定された後、データ間隔(たとえば、5秒)内の加速度データが抽出されてもよく、対象データを取得するために、抽出された加速度データに対して座標変換が実行されてもよい。
続いて、時間領域特徴、周波数領域特徴、または速度特徴のうちの少なくとも1つを抽出するために、対象データに対して特徴抽出が実行されてもよい。
最後に、時間領域特徴、周波数領域特徴、および速度特徴が訓練された決定木モデルに入力されてもよい。決定木モデルは、時間領域特徴、周波数領域特徴、および速度特徴に基づいてドライバが危険運転行動をしているかどうかを判定し、ドライバが危険運転行動をしていると判定したことに応答して、危険運転行動のタイプを特定するように構成されてもよい。
この状況では、決定木モデルは訓練サンプルに基づいて事前訓練されたモデルであってもよいことに留意されたい。訓練プロセスは以下のように記載されてもよい:訓練サンプルが取得されてもよく、訓練サンプルは入力データおよび出力データを含み、入力データは、時間領域特徴、周波数領域特徴、および速度特徴(すなわち、上述された特徴パラメータ)であってもよく、出力データは、入力データに対応する行動が危険運転行動であるかどうか、および危険運転行動のタイプを示す識別情報であってもよい。さらに、訓練サンプルに基づいてモデルを訓練することにより、訓練された決定木モデルが取得されてもよい。
上記の説明は単に例示の目的で提供されており、本開示の範囲を限定するものではないことに留意されたい。当業者のために、本開示の教示の下で複数の変形および修正が行われてもよい。しかしながら、それらの変形および修正は本開示の範囲から逸脱しない。
図17は、本開示のいくつかの実施形態による、モバイル端末上で実行される例示的な運転行動検出デバイスを示すブロック図である。運転行動検出デバイス1700は、取得モジュール1711と、第1の決定モジュール1712と、データ抽出モジュール1713と、座標変換モジュール1714と、特徴抽出モジュール1715と、第2の決定モジュール1716とを含んでもよい。いくつかの実施形態では、運転行動検出デバイス1700はサーバ110の中に統合されてもよい。たとえば、運転行動検出デバイス1700は処理エンジン112の一部であってもよい。
取得モジュール1711は、モバイル端末に取り付けられた加速度センサを介して加速度データを取得するように構成されてもよい。加速度データは、(それぞれ、「x軸加速度」、「y軸加速度」、およぼ「z軸加速度」とも呼ばれる)それぞれ、x軸、y軸、およびz軸に対応する加速度データax、ay、およびazを含んでもよい。
第1の決定モジュール1712は、ax、ay、およびazの値に基づいて、危険運転行動が発生し得る(「対象時間期間」とも呼ばれる)データ間隔を決定するように構成されてもよい。
データ抽出モジュール1713は、データ間隔内の加速度データを抽出するように構成されてもよい。
座標変換モジュール1714は、抽出された加速度データに対して座標変換を実行することによって対象データを取得するように構成されてもよく、対象データに対応するx軸およびy軸からなる平面は水平面であってもよく、z軸方向は重力方向と同じであってもよい。
特徴抽出モジュール1715は、所定の特徴パラメータに基づいて対象データに対して特徴抽出を実行するように構成されてもよく、所定の特徴パラメータは、時間領域特徴、周波数領域特徴、速度特徴のうちの少なくとも1つを含む。
第2の決定モジュール1716は、抽出された特徴に基づいて危険運転行動が発生し得るかどうかを判定するように構成されてもよい。
いくつかの実施形態では、上記のデバイスによれば、ドライバの運転行動は、モバイル端末によって適時かつ効果的に検出することができ、ドライバが危険運転行動をしているかどうかを判定することができる。オンラインタクシー配車プラットフォームの場合、ドライバの危険運転行動の適時かつ効果的な検出を介して、ドライバおよび乗客の個人の安全性を確保することができ、サービス要求割振り戦略を最適化することができ、次いで、オンラインタクシー配車プラットフォームをさらに最適化することができる。
いくつかの実施形態では、取得モジュール1711は、モバイル端末が運転行動検出機能を起動したときに、モバイル端末に取り付けられた加速度センサによって収集された加速度データを取得するように構成されてもよい。
いくつかの実施形態では、デバイスは、モバイル端末がナビゲーション機能を起動し、かつ/またはオンラインタクシー配車プラットフォームからサービス要求を受け付けた場合、運転行動検出機能を起動するように構成された起動モジュールをさらに含んでもよい。
いくつかの実施形態では、第1の決定モジュール1712は、ax、ay、およびazに基づいてトータル加速度を決定するように構成された計算ユニットと、事前設定されたしきい値よりも大きい連続するトータル加速度の数カウントを特定するように構成された統計ユニットと、その数カウントが事前設定された数よりも大きいと判定したことに応答して、連続するトータル加速度に対応する加速度データ間隔を危険運転行動が発生し得るデータ間隔として決定するように構成された決定ユニットとを含んでもよい。
いくつかの実施形態では、計算ユニットは、式(1)または式(2)に従ってトータル加速度を決定するように構成されてもよい。
いくつかの実施形態では、座標変換モジュール1714は、抽出された加速度データに対してハイパスフィルタリングを実行して低周波加速度データを抽出するように構成されてもよい。座標変換モジュール1714は、低周波加速度データの方向を重力方向として指定することができる。座標変換モジュール1714は、重力方向とazの方向との間の角度に基づいて回転行列を構築することができる。座標変換モジュール1714は、抽出された加速度データを回転行列と乗算することにより、加速度データに対して座標変換を実行することができる。
いくつかの実施形態では、加速度データが回転行列と乗算された後、デバイスは、SVDデバイスを介して現在の運転方向と一致するように、回転したaxまたは回転したayに対応する座標軸を調整するように構成された調整モジュールをさらに含んでもよい。
いくつかの実施形態では、特徴抽出ジュール1715は、特徴パラメータが時間領域特徴を含む場合、各座標軸に沿った最大加速度、各座標軸に沿った最小加速度、各座標軸に沿った平均加速度、または各座標軸に沿った加速度分散を決定するように構成されてもよい。特徴抽出ジュール1715は、特徴パラメータが周波数領域特徴を含む場合、短時間フーリエ変換(STFT)に基づいて対象データを周波数領域データに変換し、周波数領域データに対応する周波数領域特徴を決定することができる。特徴抽出モジュール1715は、各座標軸に沿った対象データに対して積分を実行し、積分結果に基づいて、各座標軸に沿った最大速度、各座標軸に沿った最小速度、各座標軸に沿った速度最終値、または各座標軸に沿った速度中間値を決定することができる。
いくつかの実施形態では、特徴抽出モジュール1715は、周波数領域データに対応する高周波エネルギー値、低周波エネルギー値、または低周波持続時間を決定するようにさらに構成されてもよい。
いくつかの実施形態では、第2の決定モジュール1716は、モバイル端末に記憶された決定木モデルに抽出された特徴を入力し、危険運転行動が発生し得るかどうかを含む判定結果を出力するように構成されてもよい。決定木モデルは、危険運転行動に対応する特徴パラメータに基づいて事前訓練されてもよい。
いくつかの実施形態では、デバイスは、危険運転行動が発生すると判定したことに応答して、危険運転行動に対応する加速度データを記憶するように構成された記憶モジュールをさらに含んでもよい。
いくつかの実施形態では、デバイスは、事前設定された期間に従ってサーバ110に加速度データを送信するように構成された第1の送信モジュールをさらに含んでもよい。いくつかの実施形態では、デバイスは、記憶された加速度データが事前設定された量に達した場合、サーバ110に加速度データを送信するように構成された第2の送信モジュールをさらに含んでもよい。
本明細書で提供されるデバイスの実装原理および技術的効果は、前述の実施形態に記載されたものと同じである。便宜上、デバイス実施形態に記載されていないものは、前述の方法実施形態を参照することができる。
運転行動検出デバイス1700内のモジュールは、有線接続またはワイヤレス接続を介して互いに接続または通信することができる。有線接続には、金属ケーブル、光ケーブル、ハイブリッドケーブルなど、またはそれらの任意の組合せが含まれてもよい。ワイヤレス接続には、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、Bluetooth(登録商標)、ZigBee、近距離無線通信(NFC)など、またはそれらの任意の組合せが含まれてもよい。2つ以上のモジュールが単一のモジュールに結合されてもよく、いずれか1つのモジュールが2つ以上のユニットに分割されてもよい。
図18は、本開示のいくつかの実施形態による、例示的な処理エンジンを示すブロック図である。処理エンジン112は、取得モジュール1802と、対象時間期間決定モジュール1804と、対象データ決定モジュール1806と、識別モジュール1808とを含んでもよい。
取得モジュール1802は、ドライバが運転する車両に関連付けられたセンサから運転データ(たとえば、図4に記載された第1の動きデータ、図8に記載された加速度データ)を取得するように構成されてもよい。
対象時間期間決定モジュール1804は、運転データに基づいて対象時間期間を決定するように構成されてもよい。いくつかの実施形態では、図4および図6に関連して記載されたように、対象時間期間決定モジュール1804は、事前規則に基づいて対象時間期間を決定することができる。対象時間期間決定モジュール1804は、複数の時点に対応する運転データの複数の変動分散を決定することができる。対象時間期間決定モジュール1804は、複数の変動分散が分散しきい値(すなわち、図4に記載された第1のしきい値または第2のしきい値)よりも大きいと判定したことに応答して、複数の時点を含む時間期間を対象時間期間としてさらに決定することができる。いくつかの実施形態では、図8および図10に関連して記載されたように、対象時間期間決定モジュール1804は、複数の時点に対応する複数のトータル加速度の各々が加速度しきい値よりも大きい時間期間を識別し、複数のトータル加速度の数カウントがカウントしきい値よりも大きいと判定したことに応答して、その時間期間を対象時間期間として決定することができる。
対象データ決定モジュール1806は、運転データに基づいて対象時間期間内の対象データを取得するように構成されてもよい。いくつかの実施形態では、図4および図6に関連して記載されたように、対象データ決定モジュール1806は、対象時間期間中に運転データに関連付けられた特徴データを決定し、特徴データおよび機械学習モデル(たとえば、振動バイナリモデル)に基づいて、運転データから無関係なデータを除去することにより、対象時間期間内の対象データを決定することができる。いくつかの実施形態では、図8および図12に関連して記載されたように、対象データ決定モジュール1806は、運転データから対象時間期間内の加速度データを取得し、加速度データに対して座標変換を実行し、変換された加速度データに基づいて対象時間期間内の対象データを取得することができる。
識別モジュール1808は、対象データに基づいてドライバの危険運転行動の存在を識別するように構成されてもよい。いくつかの実施形態では、処理エンジン112は、対象データに関連付けられた1つまたは複数の特徴パラメータを抽出し、1つまたは複数の特徴パラメータに基づいて危険運転行動の存在を識別することができる。
モジュールのさらなる説明は、本開示の他の箇所(たとえば、図19およびその説明)に見出されてもよい。
処理エンジン112内のモジュールは、有線接続またはワイヤレス接続を介して互いに接続または通信することができる。有線接続には、金属ケーブル、光ケーブル、ハイブリッドケーブルなど、またはそれらの任意の組合せが含まれてもよい。ワイヤレス接続には、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、Bluetooth(登録商標)、ZigBee、近距離無線通信(NFC)など、またはそれらの任意の組合せが含まれてもよい。2つ以上のモジュールが単一のモジュールに結合されてもよく、いずれか1つのモジュールが2つ以上のユニットに分割されてもよい。たとえば、処理エンジン112は、ドライバに関連付けられた情報および/またはデータ(たとえば、運転データ、対象時間期間、対象データ)を記憶するように構成された記憶モジュール(図示せず)を含んでもよい。別の例として、対象時間期間決定モジュール1804および対象データ決定モジュール1806は、対象時間期間および対象データの両方を決定することができる単一モジュールとして結合されてもよい。
図19は、本開示のいくつかの実施形態による、危険運転行動を識別するための例示的なプロセスを示すフローチャートである。プロセス1900は、オンデマンドサービスシステム100によって実行されてもよい。たとえば、プロセス1900は、ストレージROM230またはRAM240に記憶された一組の命令(たとえば、アプリケーション)として実装されてもよい。プロセッサ220および/または図18のモジュールは、一組の命令を実行することができ、命令を実行するとき、プロセッサ220および/またはモジュールは、プロセス1900を実行するように構成されてもよい。下記に提示される示されたプロセスの動作は例示的であるものとする。いくつかの実施形態では、プロセス1900は、記載されていない1つもしくは複数のさらなる動作を用いて、かつ/または説明された動作のうちの1つもしくは複数を用いずに遂行されてもよい。さらに、図19に示され、以下に記載されるようなプロセスの動作の順序は、限定的なものではない。いくつかの実施形態では、プロセス1900は、サーバ110またはモバイル端末(たとえば、プロバイダ端末140)によって実行されてもよく、上述されたように、プロセス1900は処理エンジン112によって実行されると考えることができる。
1901において、処理エンジン112(たとえば、取得モジュール1802)(たとえば、プロセッサ220のインターフェース回路)は、ドライバが運転する車両に関連付けられたセンサから運転データ(たとえば、図4に記載された第1の動きデータ、図8に記載された加速度データ)を取得することができる。本明細書で使用される運転データには、加速度情報、速度情報、位置情報、時間情報、または姿勢情報のうちの少なくとも1つが含まれてもよい。本開示の他の箇所に記載されたように、センサは、車両に関連付けられた端末デバイス(たとえば、プロバイダ端末140)のセンサを含んでもよく、したがって、位置情報は、車両とともに移動している端末デバイスの姿勢を示すことができる。
いくつかの実施形態では、センサには、ジャイロスコープ、加速度センサ、全地球測位システム(GPS)センサ、または重力センサのうちの少なくとも1つが含まれてもよい。いくつかの実施形態では、処理エンジン112は、所定の頻度(たとえば、0.01秒ごと、0.02秒ごと、0.05秒ごと、1秒ごと)に従って、運転データを取得することができる。運転データのさらなる説明は、本開示の他の箇所(たとえば、図4、図6、図8、および図10、ならびにそれらの説明)に見出されてもよい。
1902において、処理エンジン112(たとえば、対象時間期間決定モジュール1804)(たとえば、プロセッサ220の処理回路)は、運転データに基づいて対象時間期間を決定することができる。
いくつかの実施形態では、図4および図6に関連して記載されたように、処理エンジン112は、事前規則に基づいて対象時間期間を決定することができる。処理エンジン112は、複数の時点に対応する運転データの複数の変動分散を決定することができる。処理エンジン112は、複数の変動分散が分散しきい値(すなわち、図4に記載された第1のしきい値または第2のしきい値)よりも大きいと判定したことに応答して、複数の時点を含む時間期間を対象時間期間としてさらに決定することができる。事前規則のさらなる説明は、本開示の他の箇所(たとえば、図4、図6、およびそれらの説明)に見出されてもよい。
いくつかの実施形態では、図8および図10に関連して記載されたように、処理エンジン112は、複数の時点に対応する複数のトータル加速度の各々が加速度しきい値よりも大きい時間期間を識別し、複数のトータル加速度の数カウントがカウントしきい値よりも大きいと判定したことに応答して、その時間期間を対象時間期間として決定することができる。トータル加速度のさらなる説明は、本開示の他の箇所(たとえば、図8、図10、およびそれらの説明)に見出されてもよい。
1903において、処理エンジン112(たとえば、対象データ決定モジュール1806)(たとえば、プロセッサ220の処理回路)は、運転データに基づいて対象時間期間内の対象データを取得することができる。
いくつかの実施形態では、図4および図6に関連して記載されたように、処理エンジン112は、対象時間期間中に運転データに関連付けられた特徴データを決定し、特徴データおよび機械学習モデル(たとえば、振動バイナリモデル)に基づいて、運転データから無関係なデータを除去することにより、対象時間期間内の対象データを決定することができる。特徴データには、最大加速度、最小加速度、平均加速度、最大加速度変換角度、最小加速度変換角度、平均加速度変換角度、三次元座標系の各方向に沿った最大加速度、三次元座標系の各方向に沿った最小加速度、三次元座標系の各方向に沿った平均加速度など、またはそれらの任意の組合せが含まれてもよい。特徴データおよび機械学習モデルのさらなる説明は、本開示の他の箇所(たとえば、図4〜図7およびそれらの説明)に見出されてもよい。
いくつかの実施形態では、図8および図12に記載されたように、処理エンジン112は、運転データから対象時間期間内の加速度データを取得し、加速度データに対して座標変換を実行し、変換された加速度データに基づいて対象時間期間内の対象データを取得することができる。たとえば、処理エンジン112は、対象時間期間内の加速度データに対してハイパスフィルタリングを実行することによって低周波加速度データを抽出することができる。処理エンジン112は、低周波加速度データの方向を重力方向として指定することができる。処理エンジン112は、重力方向とz軸加速度の方向との間の角度に基づいて回転行列を決定することができる。処理エンジン112はさらに、回転行列に基づいて加速度データに対して座標変換を実行することができる。座標変換のさらなる説明は、本開示の他の箇所(たとえば、図12およびその説明)に見出されてもよい。いくつかの実施形態では、処理エンジン112はさらに、特異値分解(SVD)に基づいて、座標変換後のx軸加速度またはy軸加速度の方向をドライバに関連付けられた車両の運転方向に調整することができる。
1904において、処理エンジン112(たとえば、識別モジュール1808)(たとえば、プロセッサ220の処理回路)は、対象データに基づいてドライバの危険運転行動の存在を識別することができる。
いくつかの実施形態では、図6に関連して記載されたように、処理エンジン112は、機械学習モデルに基づいてドライバの危険運転行動の存在を識別することができる。
いくつかの実施形態では、図16に関連して記載されたように、処理エンジン112は、対象データに関連付けられた1つまたは複数の特徴パラメータを抽出し、1つまたは複数の特徴パラメータに基づいて危険運転行動の存在を識別することができる。いくつかの実施形態では、1つまたは複数の特徴パラメータには、時間領域特徴、周波数領域特徴、速度特徴など、またはそれらの組合せが含まれてもよい。
いくつかの実施形態では、処理エンジン112は、各座標軸に沿った最大加速度、各座標軸に沿った最小加速度、各座標軸に沿った平均加速度、各座標軸に沿った加速度分散など、またはそれらの組合せを含む時間領域特徴を抽出することができる。
いくつかの実施形態では、処理エンジン112は、対象データに対してフーリエ変換を実行することによって対象データに対応する周波数領域データを決定し、周波数領域特徴を抽出することができる。周波数領域特徴には、高周波エネルギー値、低周波エネルギー値、低周波持続時間など、またはそれらの組合せが含まれてもよい。
いくつかの実施形態では、処理エンジン112は、対象データに対して積分を実行し、各座標軸に沿った最大速度、各座標軸に沿った最小速度、各座標軸に沿った速度最終値、各座標軸に沿った速度中間値など、またはそれらの組合せを含む速度特徴を抽出することができる。
いくつかの実施形態では、1つまたは複数の特徴パラメータを抽出した後、処理エンジン112は、訓練された識別モデルを使用することにより、1つまたは複数の特徴パラメータに基づいて危険運転行動の存在を識別することができる。危険運転行動の識別のさらなる説明は、本開示の他の箇所(たとえば、図5、図8、図13〜図17、およびそれらの説明)に見出されてもよい。
いくつかの実施形態では、本開示の他の箇所に記載されたように、処理エンジン112はさらに、ドライバの危険運転行動に関連付けられた関連データをサーバ110にアップロードすることができる。
上記の説明は単に例示の目的で提供されており、本開示の範囲を限定するものではないことに留意されたい。当業者のために、本開示の教示の下で複数の変形および修正が行われてもよい。しかしながら、それらの変形および修正は本開示の範囲から逸脱しない。たとえば、1つまたは複数の他のオプション動作(たとえば、記憶動作)が例示的プロセス1900の他の箇所に追加されてもよい。記憶動作では、処理エンジン112は、本開示の他の箇所に開示されたストレージデバイス(たとえば、ストレージ150)に、運転データ、対象時間期間、および/または対象データを記憶することができる。
本開示のいくつかの実施形態は、その上に具現化されたコンピュータ可読プログラムコードを有する1つまたは複数のコンピュータ可読媒体内に具現化されたコンピュータプログラム製品の形態を取ることができる。たとえば、コンピュータ可読記憶媒体には、ディスクストレージ、CD−ROM、および光学メモリが含まれてもよいが、それらに限定されない。
本開示はまた、命令を含むコンピュータ記憶媒体を提供することができる。少なくとも1つのプロセッサによって実行されると、命令は、本開示の他の箇所に記載されたプロセス(たとえば、プロセス600、プロセス700、プロセス800、プロセス1000、プロセス1200、プロセス1600、プロセス1900)を実行するように、少なくとも1つのプロセッサに指示することができる。
加えて、本開示の実施形態の説明では、「取り付ける」、「参加する」、または「接続する」という用語は、明確に定義または制限されない限り、広く理解されるべきである。たとえば、それは固定接続、取り外し可能接続、または一体型接続であってもよく、それは機械的接続でも電気的接続であってもよく、それは直接接続されるか、または中間媒体を介して間接接続されてもよく、それは2つの構成要素間の内部接続であり得る。当業者にとって、本開示における用語の具体的な意味は具体的な状況下で理解されてもよい。
本開示の説明では、「第1」、「第2」、および「第3」という用語は説明目的のみに使用され、相対的重要性を示すまたは暗示するものとして解釈されるべきではない。
上記の説明は単に例示の目的で提供されており、本開示の範囲を限定するものではないことに留意されたい。当業者のために、本開示の教示の下で複数の変形および修正が行われてもよい。しかしながら、それらの変形および修正は本開示の範囲から逸脱しない。
基本概念をこのように記載してきたが、前述の詳細な開示は例示としてのみ提示されるものであり、限定するものではないことが、この詳細な開示を読んだ後の当業者にはむしろ明らかであろう。本明細書では明確に述べられていないが、様々な変更、改良、および修正が行われてもよく、当業者向けである。これらの変更、改良、および修正は、本開示によって示唆されるものであり、本開示の例示的な実施形態の趣旨および範囲内にある。
その上、本開示の実施形態を記載するために特定の用語が使用されてきた。たとえば、「一実施形態」、「実施形態」、および/または「いくつかの実施形態」という用語は、その実施形態に関連して記載された特定の特徴、構造、または特性が、本開示の少なくとも1つの実施形態に含まれることを意味する。したがって、本明細書の様々な部分における「実施形態」または「一実施形態」または「代替の実施形態」への2つ以上の言及は、必ずしもすべて同じ実施形態を指すとは限らないことが強調され、諒解されるべきである。さらに、特定の特徴、構造、または特性は、本開示の1つまたは複数の実施形態において適切に組み合わされてもよい。
さらに、当業者には理解されるように、本開示の態様は、任意の新しく有用なプロセス、機械、製造、もしくは組成物、またはその任意の新しく有用な改善を含む、いくつかの特許可能なクラスまたは文脈のいずれかで本明細書に例示および記載されてもよい。したがって、本開示の態様は、完全にハードウェア、完全に(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む)ソフトウェア、または本明細書において、すべてが一般に「ブロック」、「モジュール」、「エンジン」、「ユニット」、「構成要素」、もしくは「システム」と呼ばれる場合がある、ソフトウェアとハードウェアの実装形態を組み合わせて実装されてもよい。さらに、本開示の態様は、その上に具現化されたコンピュータ可読プログラムコードを有する1つまたは複数のコンピュータ可読媒体内に具現化されたコンピュータプログラム製品の形態を取ることができる。
コンピュータ可読信号媒体は、たとえば、ベースバンドにおいて、または搬送波の一部としてその中に組み込まれたコンピュータ可読プログラムコードを有する伝搬されたデータ信号を含んでもよい。そのような伝搬信号は、電磁気、光など、またはそれらの任意の適切な組合せを含む様々な形態のいずれかを取ることができる。コンピュータ可読信号媒体は、コンピュータ可読記憶媒体ではなく、命令実行システム、装置、またはデバイスによって、またはそれとともに使用するために、プログラムを通信、伝搬、または移送することができる、任意のコンピュータ可読媒体であってもよい。コンピュータ可読信号媒体上に具現化されたプログラムコードは、ワイヤレス、有線、光ファイバケーブル、RFなど、または前述の任意の適切な組合せを含む、任意の適切な媒体を使用して送信されてもよい。
本開示の態様のための動作を実行するためのコンピュータプログラムコードは、Java(登録商標)、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB、NET、Pythonなどのオブジェクト指向言語、「C」プログラミング言語、Visual Basic、Fortran1703、Perl、COBOL1702、PHP、ABAPなどの従来の手続き型プログラミング言語、Python、Ruby、およびGroovyなどの動的プログラミング言語、または他のプログラミング言語を含む、1つまたは複数のプログラミング言語の任意の組合せで書かれてもよい。プログラムコードは、完全にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、スタンドアロンソフトウェアパッケージとして、部分的にユーザのコンピュータ上で、かつ部分的にリモートコンピュータ上で、または完全にリモートコンピュータもしくはサーバ上で実行することができる。後者のシナリオでは、リモートコンピュータは、ローカルエリアネットワーク(LAN)またはワイドエリアネットワーク(WAN)を含む任意のタイプのネットワークを介してユーザのコンピュータに接続されてもよく、あるいは接続は、(たとえば、インターネットサービスプロバイダを使用してインターネットを介して)外部コンピュータに対して、もしくはクラウドコンピューティング環境で行われてもよく、またはサービス型ソフトウェア(SaaS)などのサービスとして提供されてもよい。
さらに、処理要素または処理シーケンスの列挙された順序、または数字、文字、もしくは他の指定の使用は、したがって、特許請求の範囲で指定される場合を除き、特許請求されるプロセスおよび方法をいかなる順序にも限定するものではない。上記の開示は、様々な例を介して、本開示の様々な有用な実施形態であると現在考えられているものを説明しているが、そのような詳細は単にその目的のためであり、添付の特許請求の範囲は開示された実施形態に限定されず、それどころか、開示された実施形態の趣旨および範囲内にある修正形態および等価な構成を包含するものであることを理解されたい。たとえば、上述された様々な構成要素の実装形態はハードウェアデバイス内で具現化されてもよいが、それはまた、ソフトウェアのみの解決策、たとえば既存のサーバまたはモバイルデバイスへのインストールとして実装されてもよい。
同様に、本開示の実施形態の前述の説明では、様々な実施形態のうちの1つまたは複数の理解を助けて開示を簡素化することを目的として、単一の実施形態、図、またはその説明において様々な特徴がグループ化されることがあることを諒解されたい。しかしながら、この開示方法は、特許請求された主題が各請求項において明確に列挙されているよりも多くの特徴を必要とするという意図を反映するものと解釈されるべきではない。むしろ、請求項の主題は、単一の前述の開示された実施形態のすべての特徴よりも少ない部分にある。