• 検索結果がありません。

解析・視覚化の一元化に関する研究

N/A
N/A
Protected

Academic year: 2021

シェア "解析・視覚化の一元化に関する研究"

Copied!
43
0
0

読み込み中.... (全文を見る)

全文

(1)

豊橋技術科学大学 建築・都市システム学系

助教  

松尾 幸二郎

第2012-05号

平成25年11月

R言語をベースとした交通流情報の取得・

解析・視覚化の一元化に関する研究

R言語をベースとした交通流情報の取得・

解析・視覚化の一元化に関する研究

(2)

1

目次

1.

はじめに ... 2

2. R

言語について ... 3

2.1. R

言語の特徴 ... 3

2.2. R

言語の基本的な使い方 ... 3

3.

研究方法 ... 10

4. R

言語をベースとした交通流情報の取得・解析・視覚化の適用 ... 13

4.1.

分析事例

1:信号交差点における交通安全対策の事前事後調査 ... 13

4.2.

分析事例

2:ドライバーの希望走行速度の推定方法の検討 ... 23

5.

まとめと今後の方向性 ... 29

【参考文献】 ... 31

【付録】 ... 32

(3)

2

1.

はじめに

我が国の道路整備においては,戦後の量的不足の解消を求める時代から,移動速度の向 上,交通安全,環境保全など質の向上を求める時代へと変化してきた.それに伴い,渋滞 解消や交通安全対策等の交通管理策も多様化してきており,それら対策案の検討や効果の 評価を行う上で交通流の情報を取得・解析・視覚化することが必要不可欠となっている.

さらに近年の情報技術の革新により,大量かつ詳細な交通流データの取得,高度な統計解 析ソフトによる交通流データからの有益な情報の抽出,動的なシミュレーションによる結 果の視覚化といった部分で著しい発展がみられる.

一方,これら交通流データの取得・解析・視覚化に関しては,高価なシステムが必要で あったり,それぞれの分析者が独自に構築したシステムを用いている場合がほとんどであ り,異なる分析者が共通の枠組みのもとで交通流の分析を行うことは少ない.もし誰もが 気軽に利用できる一般的なシステムがあれば,そのシステムをベースに異なる分析者が有 する交通流情報を共通のシステムで分析できるため,分析手法の共有や結果のチェックお よび比較が正確かつ簡単に行うことができるようになると考えられる.また,研究者が考 案した新しい方法をエンドユーザーが使用できるようになるまでのサイクルも短縮される と考えられる.

このようなシステムのベースとなり得るものの

1

つに

R

言語がある.R言語は統計解析 を目的としたオープンソース方式の言語および開発環境であるが,非常に多くの追加可能 機能を有しており,繊細多様なグラフィックスの作成,データマイニング,機械学習,シ ミュレーション等,伝統的な統計計算やデータ解析の概念を超えたツールとして発展し続 けている.従って,

R

言語を用いて交通流情報の取得・解析・視覚化を一元的に行うことが できる可能性を十分有していると考えられる.また,ユーザーが機能を自由に追加・変更 できるため,目的に合わせた柔軟な利用ができるというメリットも有している.

そこで本研究では

R

言語をベースとした交通流情報の取得・解析・視覚化を実際の分析 事例に適用し,これらの一元的なシステムの確立について今後の方向性を探ることを目的 とした.

(4)

3

2. R

言語について

R

言語は,ニュージーランドのオークランド大学の

Ross Ihaka

Robert Gentleman

により 開発された,オープンソースの統計解析向けプログラミング言語およびその開発環境であ る.

2.1. R

言語の特徴

R

言語の大きな特徴として,オープンソースのソフトウェアであることからソースコード がすべて無料でダウンロードできる.また

R

言語は多様な

OS

あるいはプラットフォームに 対応しており,Mac OS

Windows

の他,UNIXでも利用可能である.従って事実上世界中 の誰もが

R

言語に備わっている全ての機能を自由に利用できるとともに,何がどのように 計算されているのかを完全に知ることができる.

このように

R

は広く公開されていることもあり,常に開発が進んでいる.新しい機能が 日々,様々な開発者によって,

R

言語のプログラミングコードに移植され,パッケージとし て一般に公開されている.現在でも既に非常に多くの追加パッケージを有しており,繊細 多様なグラフィックスの作成,データマイニング,機械学習,シミュレーション等,伝統 的な統計計算やデータ解析の概念を超えたツールとなっている.現在実装されていない機 能も,個人的な必要性から

R

言語で実装し,パッケージとして公開することも可能である.

2.2. R

言語の基本的な使い方

R

を起動すると図

1

のようなコンソール画面が起動する.

R

言語はインタプリタ言語であ り,基本的にはこのコンソール画面にプログラムを記述し,「Enter」キーを入力することで 実行される.また

RStudio

という統合開発環境(IDE)を利用することもできる(図

2).繰

り返し分や

IF

文,サブルーチン関数など他の言語と同様の構文が備わっているが,ここで

R

言語の特徴的な部分について基本的なものを述べる.

(5)

1 R

4

R

のコンソーール画面

(6)

2 R

の統合開発環

5

環境(IDE)である

RStu udio

の画面

(7)

6 (1) R

言語の関数電卓としての利用

R

言語はインタプリタ言語であり,関数電卓として利用することができる.演算子の優先 順位は数学と同じである.また,「←」もしくは「=」を用いて計算結果を変数に代入する ことも可能である.

> 6 / 3 + 5^2 * 10 #基本計算 [1] 252

> sin(pi / 4) / sqrt(2) #Sin

関数の計算

[1] 0.5

> x <- sin(pi / 4) / sqrt(2) #変数への代入

> x + 2 [1] 2.5

(2)

ベクトル演算

R

言語では複数の値をひとまとめに処理を行うのが得意であり,複数の値をまとめる「ベ クトル」という概念がある.ベクトル型の変数を作成し,ベクトルの演算や関数の適用が 可能である.

> x <- c(1, 3, 5, 7, 9) #ベクトルの作成

> x * 2

[1] 2 6 10 14 18

> sum(x) #ベクトルの要素の総和 [1] 25

> min(x) #ベクトルの要素の最小値 [1] 1

> max(x) #ベクトルの要素の最大値 [1] 9

(3)

行列演算

R

言語では行列型の変数を作成し,行列の演算や関数の適用が可能である.

> a <- matrix(c(2,4,6,8), 2, 2) #行列の作成

> b <- matrix(c(10,20,30,40), 2, 2) #行列の作成

> a + b #行列の和 [,1] [,2]

[1,] 12 36

(8)

7 [2,] 24 48

> a %*% b #行列の積 [,1] [,2]

[1,] 140 300 [2,] 200 440

> a * b #行列の要素ごとの積 [,1] [,2]

[1,] 20 180 [2,] 80 320

> t(a) #転置行列 [,1] [,2]

[1,] 2 4 [2,] 6 8

> solve(a) #逆行列 [,1] [,2]

[1,] -1.0 0.75 [2,] 0.5 -0.25

(4)

データフレーム

R

言語の標準的なデータ構造であり,かつ大きな特徴であるものがデータフレームである.

データフレームは一つの変数(オブジェクト)であるが,複数の型(文字型,整数型,実 数型,論理型,因子型等)のベクトルを同時に格納することができる.データフレームを 基本として統計解析が行われることが多い.以下に示すのはあるグループの番号,名前,

身長,体重のデータフレームである.

> No <- c(1, 2, 3, 4, 5) #番号

> Name <- c("新井", "加藤", "佐藤", "高田", "中井") #名前

> Height <- c(177, 165, 175, 168, 171) #身長

> Weight <- c(67, 57, 64, 60, 62) #体重

> Data <- data.frame(No, Name, Height, Weight) #データフレームの作成

> Data

No Name Height Weight

1 1 新井 177 67

2 2 加藤 165 57

3 3 佐藤 175 64

4 4 高田 168 60

(9)

8 5 5 中井 171 62

> Data[order(Data$Height),] #身長順で並び替え No Name Height Weight

2 2 加藤 165 57 4 4 高田 168 60 5 5 中井 171 62 3 3 佐藤 175 64 1 1 新井 177 67

> Liner <- lm(Data$Height ~ Data$Weight) #身長と体重の単回帰分析

> summary(Liner) Call:

lm(formula = Data$Height ~ Data$Weight)

Residuals:

1 2 3 4 5 -0.5793 0.1793 1.2483 -0.6483 -0.2000

Coefficients:

Estimate Std. Error t value Pr(>|t|) (Intercept) 92.0966 7.2715 12.66 0.00106 **

Weight 1.2759 0.1171 10.89 0.00165 **

---

Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8919 on 3 degrees of freedom Multiple R-squared: 0.9753, Adjusted R-squared: 0.9671 F-statistic: 118.7 on 1 and 3 DF, p-value: 0.001655

(5)

グラフィックス

R

言語にはデータを用いてグラフ等のグラフィックスを描く機能も実装されている.ここ では上述した単回帰分析の結果を「Plot」関数を用いてグラフで表示している(図

3).この

ほかにも追加パッケージである「lattice」パッケージや「ggplot2」パッケージを用いれば,

さらに精彩多様なグラフィックスを描くことも可能である.

> plot(Data$Weight, Data$Height)

> abline(Liner)

(10)

9

3 R

言語によるグラフィックスの例(身長と体重の単回帰分析の結果)

58 60 62 64 66

16 6 16 8 170 1 72 17 4 17 6

Data$Weight

D ata $H eig ht

(11)

10

3.

研究方法

交通流情報の取得・解析・視覚化といっても,どんなデータを取得して,どのように解 析して,どのように視覚化するかは目的によって様々である.従って最初から全ての目的 に対応したシステムを構築するのは困難である.むしろ後から自由に機能の追加や変更が できるという

R

言語のメリットを考慮すれば,具体的な個々の分析事例に対して

R

言語に よる交通流情報の取得・解析・視覚化を適用し,それらのプロセスを集約しマニュアル化 することで様々な状況に応じた適用が可能なシステムを構築できると考えられる(図

4).

そこで本研究では以下の

2

つの分析事例を用意し,それらの目的に合わせて

R

言語による 交通流情報の取得・解析・視覚化の適用を試みることで,今後のシステム開発の方向性を 探ることとした.

信号交差点における交通安全対策の事前事後調査

道路構造に応じたドライバーの希望走行速度の推定

また本研究ではビデオ観測調査による交通流データの取得を想定しており,撮影された ビデオ画像から交通流データを取得する方法として,主に「自動取得方式」と「手動取得 方式」の

2

手法が考えられた(表

1). R

言語では動画像を扱いやすい「EBImage」パッケー ジを有しており,動画像の連続するフレームの輝度の差分をとることで,背景を取り除き,

動いているものだけを抽出することができる.それにより,特定の地点を通過する車両台 数や,各車両の速度等を自動で取得することができる.この方法では自動でデータを取得 することができるため,交通量や各車両速度の平均値等を取得するのには有用である.し かし多少の誤差が含まれることは防げないため時々刻々の各車両の位置や速度等,ミクロ な交通流データを取得するのには不向きである.一方,手動取得方式として,動画像をコ マ送りで再生し,時々刻々の車両位置をマウスクリックで取得するというシステムの構築 が考えられる.この場合時間はかかるが,高い精度で車両軌跡や加減速度等が取得できる.

ただし現段階で

R

言語にはこのようなシステムを効率よく構築するためのパッケージがな いため,Visual Basic等でシステムを構築し,取得データを

R

で読み込んで解析できる形式 に変換するという方法が考えられる.

本研究では,

1

年という研究期間も考慮し,特にミクロな車両挙動を取得できる手動取得 方式のみの構築を行うこととした.実装した詳細な機能については次章において事例に合 わせながら述べるが,Visual Basicにより構築した手動取得システムの画面を図

5

に示す.

(12)

取得方

実装手 メリ デメ

目的

4 R

言語

1 本

方法

手段 ット リット

語をベースと

本研究におい 自動取得方式

・動画像の連 をとること いているも

・Rパッケー

・特定地点 や速度デー

・ミクロなデ

・高速にデー 長時間や大量 ータの取得

とした交通流

いて考えられ

連続するフレ で,背景を取 のだけを抽出 ージ「EBIm

を通過する車 タを高速に取 データの取得 ータを取得可 量の地点にお

11

流情報の取得

れたビデオ画

レームの差分 取り除き,動

mage」を利用

車両の交通量 取得可能 得は困難 可能なため,

おける基本デ

・解析・視覚

像からの交通 手動取得

・動画像 刻々の車 クリック ・Visual

・高い精 が取得可

・時間が

・交通流 タの取得

覚化システム

通流データ取 得方式 像をコマ送り 車両位置をユ クで取得

l Basic

開発環 精度で車両軌 可能

がかかる 流の危険性評 得等

ム構築の概念

取得方式

りで再生し,

ユーザーがマ

環境を利用 軌跡や加減速

評価のための

時々 マウス

速度等

のデー

(13)

5 交通流デ

12

データ取得シシステムの画画面

(14)

13

4. R

言語をベースとした交通流情報の取得・解析・視覚化の適用

本章では

2

つの分析事例に対して,

R

言語を用いた交通流情報の取得・解析・視覚化を行 った際のプロセスについて報告する.分析事例

1

は道路管理者が実務レベルにおいて頻繁 に直面する事例であり,分析事例

2

は交通工学の研究者が研究レベルにおいて直面する事 例である.

4.1.

分析事例

1:信号交差点における交通安全対策の事前事後調査

(1)

背景・目的

我が国の事故多発地点においては様々な交通安全対策が実施されているが,その際には 当該対策の効果を評価し,さらなる対策の必要性等を検討することが重要となっている.

特に,交通事故は極めて稀な現象であることから,当該対策効果の評価を行うに当たって は対策事前事後の交通事故件数を比較することのみでは十分でない場合が多く,当該対策 によって車両挙動がどのように変化したかを詳細に分析することが求められている.そこ で本分析事例では,信号交差点における交通安全対策の事前事後における車両挙動の比較 について,

R

言語をベースとした交通流データの取得・解析・視覚化を適用することとした.

(2)

対象地点と交通安全対策

6

に示す愛知県豊橋市内の「大池南」交差点は事故発生件数が多い交差点である.道 路構造としては愛知県道

502

号線(南北方向)と豊橋市道(東西方向)が

X

字型に交差す る信号交差点であり,県道側は両方向ともに片側

2

車線と右折専用車線,市道側は東行が 片側

1

車線と右折専用車線,西行が片側

2

車線と右折専用車線を有している.また,信号 現示は東西,南北方向ともに青,黄,赤,右折専用矢となっている.

本交差点内の人身事故発生件数は

2005

年~2007年の

3

年間で

46

件と非常に多く,特に 県道を南(方向

A)から来て東側へ右折する車両と県道を北(方向 B)から南へ直進する車

両との右折直進事故が

26

件と本交差点における人身事故発生件数の約

60%を占めている.

このような状況を受け,2008

12

月に交通安全対策として,レッドカラー舗装,右折待 機停止線の設置,ソフトポールによる中央分離帯の延伸が実施された.対策実施前後の状 況を図

7

に示す.

(15)

6 分析

7 交通安

14

析事例

1

の対

安全対策実施

対象交差点

施前後の状況

(16)

15 (3)

ビデオ観測調査

交通安全対策前後における方向

A

からの右折車両の右折開始位置や右折ギャップアクセ プタンス挙動(対向車の合間をぬって右折する挙動)のデータを取得するため,交差点脇

5

階建ショッピングセンターの屋上からビデオ観測調査を行った.右折ギャップアクセ プタンス挙動は

100m

程度先から来る対向車両の影響を受ける可能性が十分に考えられた ため,

2

つのビデオカメラを用いて必要な範囲を同時に撮影した.撮影範囲は図

7

に示した 通りである.撮影時期は,「対策事前」として

2008

11

11

日(対策実施

1

ヶ月前),「対 策事後短期」として

2009

1

13

日(対策実施

1

ヶ月後),「対策事後長期」として

2010

6

3

日(対策実施

18

ヶ月後)とし,いずれにおいても右折直進事故が多く発生してい る午前

10

時~午後

12

時の

2

時間とした.

(4)

右折車および対向車の軌跡データの取得

以下のプロセスにより撮影された動画像から右折車および対向車の軌跡データを取得し た(図

8).

i)

まず,あらかじめ交通流データ取得システムに動画同期機能を実装しておき,撮影し

2

動画を入力し,時刻の設定をすることで

2

つの動画を同期再生できるようにした

(図

9).

ii)

次に,一定時間毎に各車両の画像上の座標をマウスクリックで取得する機能を実装し,

右折車両および対向車両の

0.5

秒毎の画像上の

X

座標および

Y

座標を取得した.また 動画上に軌跡(各時刻における車両位置を結んだ線)を描画するシステムを実装して おき,取得した軌跡を確認した(図

10).

iii) ここまでで取得した車両軌跡のデータはあくまで画像平面上の座標によるものである.

斜めから撮影した画像の場合,画像平面上の座標を道路上の実座標として扱うことは できないため,車両挙動を分析するにあたっては,画像平面上の座標から道路上の実 座標に変換する必要がある.そこで,

R

言語において用いて

2

次射影変換プログラムを 構築した.これは,あらかじめ取得しておいた実座標と画像平面上の座標のペアから 射影変換式のパラメータを推定し,推定された射影変換式を用いて画像平面上の座標 を実座標に逆変換する機能である(図

11).2

次射影変換式は以下のとおりである.

1 ,

1 , ( 1 )

ここで,

,

は画像平面上の座標,

,

は実座標,

, ,

はパラメータである.

2

射影変換式の推定には線形回帰が必要であるが,

R

言語にあらかじめ備わっている「lsfit」

関数を用いることで,簡潔なプログラムで記述することができた.射影変換式のパラ メータ推定には実座標と画像上の座標のペアが少なくとも

4

点必要であるが,推定に 用いるペアの数が多いほど精度も高くなる.本分析事例では,対向車側の画像におけ

(17)

iv)

v)

る射影変換用 により構築し 射影変換を実

RMS

誤差 次に,

2

動画 し,各車両の 最後に,各車 再集計を行っ 位置を得るこ

用に

10

点,

した

2

次射 実座標に変換 差が約

6cm

画それぞれで

の軌跡を結合 車両の軌跡デ

った(図

13)

ことができる

8 分析

右折車両側 射影変換式の 換した(図

1

程度となり良

取得された車 合した.

データを時系

.これによ る.

析事例

1

のデ

9 2

16

側の画像にお

推定を行い,

12).その結

良好な射影変

車両軌跡を結

列に再集計す り,ある時

データ取得・

の動画の同期

ける射影変換

,取得した車 果,射影変換 変換式が得ら

結合するプロ

するプログラ 点において,

解析・視覚化

期再生機能

換用に

8

点を 車両の画面上 換の精度に関

れた.

ログラムを

R

ラムを

R

言語

,対象範囲に

化プロセス

を選定し,R 上の軌跡デー 関して,実座

R

言語により

語により構築 に存在した車

R

言語

ータの 座標上

り構築

築し,

車両の

(18)

10 0 対向車両の軌跡(上

11 2

17 2

つ)および

次射影変換

び右折車両の

換の概念図

の軌跡(下)の例

(19)

(5)

タがな を構築 ジの 車両軌 かった

右折車および られた右折車 ないかを確認 築した(図

「saveHTML 軌跡に併せて た.

t

車両

i

時点

12 分析事

13

び対向車の軌 車および対向 認するため,

14).R

言語

L」関数を用い

て道路構造を

(sec) 0 .

 1

車両

i

車両

i

 3

t

時点

t

事例

1

におい

車両軌跡デ

軌跡データの 向車の車両軌

R

言語によ

語においてア いることで本

を描く機能も

(sec) 5 .

 0 t

車両

i

 2

車両

i

時点

t

18

いて

2

次射影

データの時系

の視覚化と確 軌跡データに

り車両軌跡 アニメーショ 本プログラム

も加えた.今 時点

t

車両

i

 1

車両

i

時点

t

影変換式の推

系列再集計の

にデータ取得 をアニメーシ ョンを作成で ムを簡潔に記

今回の場合は

( 5 .

 0 t

車両

推定に用いた

の概念図

得ミス等明ら ションで表示 できる「anim 記述すること

は特に特異な

sec) t  1 . 0 (

i

車両

 1

車両

i

時点

t

らかに特異な 示するプログ

mation」パッ

ができた.ま な点は見当た

(sec)

i

 2

車両

i

時点

t

なデー グラム ッケー また,

たらな

(20)

(6)

本分 ため こで右 交通安 越えた

16

布を視

「latt きた.

右折開始位置 分析事例では に,右折待機 右折車の右折 安全対策事前 た時点におけ は,対策事前

視覚化した

tice」パッケ

.図

16

を見

14 ア

置の解析・視 は,右折車の 機停止線の描 折開始位置の 前事後での比 ける交差点中 前(2008),事 ものである ケージの「his 見ると,対策

ニメーショ

視覚化

の右折開始位 描画やソフ の分布を解析

比較を行った 中心から右折 事後短期(2

.R 言語に

stogram」関

策事後短期(

19

ンによる車両

位置を交差点 トポールによ 析・視覚化す

た.右折開始 折車両の左隅

009),事後長

において多彩

数を用いる

2009)は対策

両軌跡データ

点の中心側に よる中央分離 するプログラ

始位置は,右 隅までの距離

長期(2010)

彩なグラフィ ことで視覚化 策事前(200

タの視覚化

に寄せて右折 離帯の延伸が ラムを

R

言語 右折車両の左 離として定義

)における右 ィックスを扱

化プログラム

08)に比べ右

折距離を短く が実施された 語により構築 左隅が右折車 義した(図

15

右折開始位置 扱うことがで ムを簡潔に記 右折開始位置

くする た.そ 築し,

車線を

5).

置の分 できる 記述で 置が交

(21)

差点 策効果

中心に近くな 果が出ている

16

なっており,

ることが分か

対策事前(

対策事後長 かる.

15 右

2008)

,事後 右折 右折待機位置

20

長期(2010)

右折開始位置

後短期(2009 折開始位置の

i

においては

置の定義

9),事後長期

の分布

はさらに近く

期(2010)に

くなっており

における

り,対

(22)

21 (7)

右折ギャップアクセプタンス挙動の解析・視覚化

右折直進事故には,対向車のギャップ(合間)をぬって右折するギャップアクセプタン ス挙動が大きく関係していると考えられる.そこで,右折ギャップアクセプタンス挙動を 解析するためのプログラムを

R

言語により構築し,交通安全対策事前事後での比較を行っ た.右折ギャップは,ある対向車の車頭が右折車の車頭とすれ違ってから次の対向車の車 頭が到着するまでの車頭時間と定義した(図

17).

18

は,対策事前(2008),事後短期(2009),

事後長期(2010)における右折ギャップの分布および右折車が右折を選択した割合を視覚 化したものである.右折開始位置分布の視覚化と同様に,R言語における「lattice」パッケ ージの「histogram」関数を用いることで視覚化プログラムを簡潔に記述できた.図

18

を見 ると,対策事後短期(2009)および対策事後長期(2009)では対策事前(2008)に比べ

4

秒以下の小さな右折ギャップを選択する割合が小さくなっていることが分かる.

また,各右折ギャップを選択したかしなかったかというデータを,

2

肢選択データを扱え

2

項ロジットモデルを適用して,右折ギャップの大きさに対するギャップ選択確率を推 定した結果を視覚化したものが図

19

である.適用したロジットモデルは以下のとおりであ る.

1

1 , (2)

α α ∙ X , (3)

ここで, はケース におけるギャップ選択確率,X はケース の説明変数(ここでは右折 ギャップの大きさ),αはパラメータである.ロジットモデルの推定プログラムには

R

言語 において一般化線形モデルを扱える「glm」関数を利用し,結果の視覚化プログラムには

R

言語における「lattice」パッケージの「xyplot」関数を用いることで簡潔に記述できた.図

19

をみると,対策事後短期(2009)の曲線は対策事前(2008)より右にシフトしており,

右折ギャップ選択の判断が慎重になっていることがうかがえる.さらに,対策事後長期

(2010)は対策事後短期(2009)に比べて曲線が立っており,慣れによって過度に大きい ギャップを選択する割合が小さくなっていることが分かる.

(23)

18 対策事前(

17 右

2008)

,事後 右折待ギャッ

時間:右折 ギャップ

22

右折ギャップ

後短期(2009 ップの分布と

i k

i

+1

k

i

プの定義

9),事後長期

右折選択割

期(2010)に

における

(24)

19

4.2.

(1)

道路

(De で,他 ロ交通 多い 性や安 しか 走行速 かにつ

9 推定され

にお

分析事例

2

背景・目的 路交通工学

esired speed)

他の交通の影 通流シミュ

2).特に自由 安全性を評価 しながら,実 速度が直接観 ついての研究

たロジットモ おける右折ギ

2:ドライバ

では,一般 は自由走行 影響を受けな

レーションに 由流状態にお

価する上で,

実際の道路交 観測できない 究が求められ

モデルによる ギャップの大

バーの希望走行

に個々のド 行速度(Free ない状態で運

においても,

おける交通流 希望速度や 交通において いという問題

れている.そ

23

る対策事前(

大きさと右折

行速度の推定

ドライバーは

speed)とも

運転者が選ぶ

各車両に希 特性や車群 やその分布を てドライバー 題(図

20)

そこで本分析

(2008),事後 折ギャップ選

定方法の検討

は希望速度を 呼ばれ,一般 ぶ速度」を指

希望速度とい の形成過程等 を明らかにし ーは追従走行 があり,希望 析事例では,

後短期(2009)

択確率との関

を有するとさ 般に「実際の

1).近年開 いう属性が与 等を把握し道 しておくこと 行しているこ 望走行速度を 単路部にお

,事後長期(

関係

される.希望 の道路条件の 開発が盛んな 与えられるこ 道路利用者の とは重要であ ことが多く,

をいかにして おける交通流

2010)

望速度 のもと なミク ことが の利便 ある.

希望 て知る 流の観

(25)

測デー とした

(2)

希望 析事例 方向)

脇に

ータを用いて た交通流デー

対象地点とビ 望走行速度分 例では,豊橋

)における信

2

つのビデオ

希望速度

て希望走行速 ータの取得

ビデオ観測 分布を推定す 橋市内の両側 信号交差点の オカメラを設

速度分布を推

・解析・視覚

20 観

するためには

2

車線道路 の影響の無い 設置し観測を

21

24

推定するため 覚化を適用す

観測される車

は交通流の観 路もしくはそ い単路部を対 を行った(図

観測対象地 希望速度

めの方法の検 することとし

車両の速度

観測データを それよりも規 対象地点とし

22).

地点の例 追従速度

検討について した.

を取得する必 規模の小さい した(図

21).

追従速度 追従 速度

て,

R

言語をベ

必要がある.

い道路

19

地点 対象地点の 追従

速度 ベース

本分 点(36 の道路

(26)

(3)

以下 得した

i)

ii)

iii) 次

2 iv)

通過車両の速 下のプロセス た.

まず,交通流 時刻の設定を 次に,交通流 オ観測の際に 次に,スペー において各車

25).

最後に,取得 間を算出する

速度および車 スにより撮影

流データ取得 をすることで 流データ取得 にあらかじめ ースキーによ 車両が基準線

得した

2

るプログラム

23 分析

22

車頭時間デー 影された動画

得システムに

2

つの動画

得システムに め決めていた

より時刻を取 線に来た際の

地点における ムを

R

言語に

析事例

2

のデ

ビデオ カメラビデオ

カメラ

25

ビデオ観測

ータの取得 画像から通過

に動画同期機 画を同期再生

に画像上に線 た基準地点に

取得できる機 の時刻,すな

車頭時刻か により構築し

データ取得・

20m

測方法

過車両の速度

機能を用いて 生できるよう

線を描画する に基準線を描

機能を実装し なわち

2

地点

ら各車両の速 し,算出を行

解析・視覚

度および車頭

,撮影した

2

にした.

る機能を実装 描画する(図

しておき,そ 点の車頭時刻

速度および各 行った.

覚化プロセス

ビデオ カメラビデオ

カメラ

頭時間データ

2

動画を入力

装しておき,

24).

それぞれの動 刻を取得する

各車両間の車 タを取

力し,

ビデ

動画上 る(図

車頭時

(27)

(4)

取得 推定す 提案 を一定

希望走行速度 得した各車両 するプログラ された,トー 定の閾値を設

24 交通

25 交通

度分布の期待 両の速度およ ラムを

R

言語 ービットモデ 設けることに

通流データ取

流データ取得

待値の推定・

よび各車両間 語により構築 デルを応用し によって追従

26

取得システム

得システムに

視覚化 間の車頭時間 築した.推定 した方法が考 従走行車両と

ムにおける基

における車頭

間を用いて希 定方法として

考えられる.

と自由走行車

基準線の描画

頭時刻の取得

希望走行速度 ては,Botma

すなわち,

車両に分け,

度分布の期待

and Bovy

3) 観測された 追従走行車

待値を により た車両 車両の

(28)

27

観測速度を

Censored data,自由走行車両の観測速度を Uncensored data

と定義し,以下に示 す対数尤度関数を最大化するパラメータを求める方法である.

  θ       θ

ni

vn

 

ni

θ  

n i

ni vn

ni

f v F v

LL   1   ln

*

 ln 1 

*

(4)

ここで,

v

niは地点

n

における車両

i

の観測走行速度,

niは地点

n

における車両

i

が自由走 行状態であれば

0,追従走行状態であれば 1

をとるダミー変数,

f

vn*

(・)および F

vn*

(・)はそ

れぞれ,希望速度分布

~

*

v

nの確率密度関数および累積分布関数,は希望速度決定モデルのパ ラメータベクトル(,

,,

)である.これは「追従車両の観測速度は希望走行速度と 同じかそれよりも高い」という情報を用いる方法である.ただしこの方法では観測車両の うちに占める追従車両の割合が高くなると推定精度が悪くなることが分かっているので,

本分析事例ではさらに,対数尤度関数を

              

 

 

 

 

  

  θ θ

θ

vn ni

PLT ni PLT ni

n i

ni vn PLT

ni

F v

N v S

N f

LL

* ,

1 ln 1

*

1 ln

'  

(5)

ただし,

   

 



n i

ni PLT ni ni

PLT

S

N 1  

,

1

   

1 1

1

,

 

 

 

  

 



n i PLT

ni PLT ni PLT

ni

N S N

 

のように修正し,所属している車群の大きさと対応した重み付けを行った上で推定する方 法を用いることとした.推定プログラムの構築には

R

言語において数値最適化計算を行う ための「optim」関数を用いることで比較的簡潔に記述することができた.

希望走行速度の推定精度を検証するために,本分析事例における観測地点36ヶ所におい て希望走行速度の観測平均値と推定平均値の関係を視覚化するためのプログラムをR言語 により構築し,比較を行った(図26).ただし観測値については全ての車両の希望速度は観 測できていないため,自由走行車両の観測値を用いる必要があるが,希望速度の低い車両 は車群の先頭車になりやすく,バイアスが生じると考えられる.従って,ここでの比較に おいては,車群に属していない車両(車群先頭車ではない自由走行車両)の観測走行速度 の平均値を,希望速度の観測平均値として用いている.視覚化プログラムにはR言語におけ る「lattice」パッケージの「xyplot」関数を用いた.図26を見ると,観測値と予測値の相関 は高くなっており,比較的高い精度で希望走行速度が推定できていることが分かる.

(29)

28

26 車群に属していない車両の観測走行速度平均値と

モデルによる推定期待値との関係(R = 0.91)

20 40 60 80

20 40 60 80

P redicet d mean desired speed [km/h]

Observed mean desired speed [km/h]

(30)

29

5.

まとめと今後の方向性

本研究ではオープンソース型の言語である

R

言語をベースとして,誰もが気軽に利用で きる交通流情報の取得・解析・視覚化のための一般的なシステムを構築することを念頭に 置き,「信号交差点における交通安全対策の事前事後調査(分析事例

1)」と「道路構造に応

じたドライバーの希望走行速度の推定(分析事例

2)」という 2

つの分析事例について,R 言語をベースとした交通流情報の取得・解析・視覚化の適用を試みた.その結果,以下の 知見が得られた.

 2

つの分析事例について,交通流情報の取得における一部および解析・視覚化の全般を 行うためのプログラムを

R

言語を用いて構築することができた.今回用いた分析事例

1

は道路管理者が交通安全対策を行う上で頻繁に直面する事例であり,分析事例

2

は研 究者が交通工学の研究レベルで直面する事例である.今回の

2

事例以外にも様々な交 通流の分析が考えられるが,本質的に大きな違いは少ないと考えられるため,やはり

R

言語をベースとしたデータの取得・解析・視覚化が十分可能であると考えられる.

分析事例

1

での

2

次射影変換,右折ギャップアクセプタンスモデルの推定,分析事例

2

での希望走行速度分布の推定においては高度なものを含むいくつかの統計手法を用い たが,

R

言語に従来から備わっている統計解析用の関数を応用することで,それぞれの プログラムを

10~30

行程度で簡潔に記述することができた.また必要とするグラフ等 の描画もできた.これは

R

言語に高度な統計機能やグラフィック機能を含めた多様な パッケージが用意されていることによるものである.従来から広く用いられていた

FORTRAN

などの言語を用いて同じ機能を実装しようとすれば数百行にわたる膨大な

ものになってしまう.一方,SPSS等の統計解析ソフトウェアを用いれば高度な統計解 析は可能となるが,ソースが公開されていないために柔軟にプログラムを変更するこ とができないことやグラフィック機能が優れているとはいい難い等の短所も多い.以 上のことから,

R

言語をベースとして交通流の解析・視覚化を行うことには利点が多い と考えられる.

一方,今後の方向性として以下のことが挙げられる.

交通流情報の取得・解析・視覚化といっても,対象や目的によって様々なプログラム が必要となるため,それら全てに対応できるシステムを構築することは困難である.

従って,さらに具体的な個々の分析事例を増やし,

R

言語をベースとして交通流情報の 取得・解析・視覚化を適用したプロセスを集約しマニュアル化することで様々な状況 に応じた適用が可能なシステムを構築していく必要がある.現在は

R

言語をある分野 に適用した事例集のような書籍も出版されており7), 8), 10)

,それらを参考にし,例えば「R

(31)

30

による交通工学」といったようなマニュアル作成が考えられる.

交通流データの取得の部分ではやはり全ての機能を

R

言語により構築することは難し いことが分かった.従って,今回

Visual Basic

で構築した交通流データの取得システム をさらにブラッシュアップし使いやすくした上でフリーソフトとして公開する等を行 い,その使用方法と

R

言語による解析・視覚化のプロセスをセットにしてマニュアル を構築していくことが必要であると考えられる.

(32)

31

【参考文献】

1)

河上省吾,松井寛:交通工学

2

版,p.98,森北出版,2004.

2)

例えば,中村英樹,平松達仁,内海泰輔:微視的交通流シミュレーションと交通手段 選択モデルを組合せたパーク・アンド・ライド施策の評価システム,土木計画学研究・

論文集,Vol.18,No.5,pp.795-802,2001.

3) Botma, H. and Bovy, H.L.P.: Free Speed Distribution at Arterial Highways: Estimation Approaches, Proceedings of 9th WCTR, pp.123-135, 2001.

4)

青木繁伸:Rによる統計解析,オーム社,2009.

5)

舟尾 暢男:

The R Tips―データ解析環境 R

の基本技・グラフィックス活用集(第

2

版)

オーム社,2009.

6)

藤井良宜(著),金明哲(編):カテゴリカルデータ解析(Rで学ぶデータサイエンス 1) 共立出版,2010.

7)

谷村晋(著),金明哲(編):地理空間データ分析(Rで学ぶデータサイエンス 7),共 立出版,2010.

8)

鈴木努(著),金明哲(編):ネットワーク分析(Rで学ぶデータサイエンス 8),共立 出版,2009.

9)

粕谷英一(著),金明哲(編):一般化線形モデル(Rで学ぶデータサイエンス 10),共 立出版,2012.

10)

勝木健雄(著),蓬来祐一郎(著),金明哲(編):デジタル画像処理(Rで学ぶデータ サイエンス 11),共立出版,2011.

11)

山本義郎(著),飯塚誠也(著),藤野友和(著),金明哲(編):統計データの視覚化

(Rで学ぶデータサイエンス 12),共立出版,2013.

12)

竹澤邦夫(著),金明哲(編):シミュレーションで理解する回帰分析(Rで学ぶデータ サイエンス 20),共立出版,2012.

13) H.

ウィッカム(著),石田基広(訳),石田和枝(訳):グラフィックスのための

R

ログラミング,丸善出版,2012.

14) D.

ショーカー(著),石田基広(訳):Rグラフィックス自由自在,丸善出版,2012.

15) U.

リゲス(著),石田基広(訳):Rの基礎とプログラミング技法,丸善出版,2012.

16)

酒井幸市:Visual Basic&Visual C++によるデジタル画像処理入門,CQ出版,2002.

(33)

32

【付録】

分析事例で用いた主な R 言語プログラム

 2

次射影変換式の推定プログラム

#2

次射影変換式推定の関数

Fun.ProjectiveFormulation2D_Estimation <- function(Data) { xx <- Data$xi; yy <- Data$yi #画像上 xy

座標ベクトル

XX <- Data$Xi; YY <- Data$Yi #実座標 XY

座標ベクトル

#従属変数と独立変数

Dep <- c(xx, yy)

Indep1 <- mapply(function(xi, yi, Xi, Yi) c(Xi, Yi, 1, 0, 0, 0, -xi*Xi, -xi*Yi), xx, yy, XX, YY)

Indep2 <- mapply(function(xi, yi, Xi, Yi) c(0, 0, 0, Xi, Yi, 1, -yi*Xi, -yi*Yi), xx, yy, XX, YY)

Indep <- cbind(Indep1, Indep2) Indep <- t(Indep)

#パラメータ推定

Fit <- lsfit(Indep, Dep, intercept=F) Para <- Fit$coef

names(Para) <- c("A1", "B1", "C1", "A2", "B2", "C2", "A3", "B3") A1 <- Para[1]; B1 <- Para[2]; C1 <- Para[3]

A2 <- Para[4]; B2 <- Para[5]; C2 <- Para[6]

A3 <- Para[7]; B3 <- Para[8]

return(Para=Para) }

#2

次射影変換用データ入力

Data1 <- read.csv("20100601_Top01_Projective_Formulation_Data.csv") Data2 <- read.csv("20100601_Top02_Projective_Formulation_Data.csv")

#2

次射影変換式の推定

Data <- list(Data1, Data2)

names(Data) <- c("Top01", "Top02")

PF2D <- lapply(Data, Fun.ProjectiveFormulation2D_Estimation)

(34)

33

 2

動画間の軌跡結合プログラム

#軌跡結合の関数

Fun.TrajectoryBinding = function(Trajec1, Trajec2) { N <- nrow(Trajec1)

Temp <- (Trajec1[N,] + Trajec2[1,]) / 2

Trajec <- rbind(Trajec1[-N,], Temp, Trajec2[-1,]) rownames(Trajec) <- 1:nrow(Trajec)

return(Trajec) }

#軌跡結合データ入力

load("Trajectory2_Top01.Rdata"); load("Trajectory2_Top02.Rdata");

load("Trajectory2_Top03.Rdata")

#軌跡結合

Trajec3 <- mapply(Fun.TrajectoryBinding, Trajec2_01, Trajec2_02, SIMPLIFY=F)

Trajec3 <- c(Trajec3, Trajec2_03)

時間ベースに再集計プログラム

#時間ベース再集計データ入力 load("Trajectory5.Rdata")

#リストからデータフレームに変換

Trajec8 <- unlist(Trajec5, recursive=F)

Trajec8 <- matrix(Trajec8, ncol=length(Trajec5)) Trajec8 <- apply(Trajec8, 1, unlist)

Trajec8 <- as.data.frame(Trajec8)

colnames(Trajec8) = c("VehNo", "VehDir", "Frame", "XX", "YY", "Speed",

"Accel1", "Accel2", "Angle")

#時間ベース再集計

Name <- seq(Trajec8$Frame[1], Trajec8$Frame[nrow(Trajec8)], by=15) TimeBase <- lapply(Name, function(Name)

Trajec8[Trajec8$Frame==Name,])

names(TimeBase) <- Name

図 2  R の の統合開発環
図 5  交通流デ
図 6  分析 図 7  交通安 14 析事例1 の対安全対策実施 対象交差点 施前後の状況 況
図 10 0  対向車両の軌跡(上 図 11  2 17 2 つ)および次射影変換 び右折車両の換の概念図  の軌跡(下)の例
+3

参照

関連したドキュメント

Focusing on the form of him with four-hitter attack, he started to step with his right foot, attached left foot while stepping, turned straight in jumping, and set a

The examinee used a rubber tube binaurals, which was 2 meters in length, and was able to hear the source of the sound placed 2cm.. right or left from the

ハザード知覚に対する視対象別注視行動に関する分析的研究 An Analytic Study on the Eye Fixation istinguished Attention Objects to Hazard Perception

By using both dynamic and static backcalculation methods, layer moduli are estimated from sets of data measured every two hours at pavement whose profile is known and the results

In this paper, based on issues concerning base maps that we have identified by examining the current situation including the types of traffic data and examples of its uses,

②・多次元液状化解析法の応用として、液状化対策工による改良地盤の地震時液状化

図3 複合則によるコンクリートのCO2拡散係数の概要 CO2拡散係数[cm2/日] 硬化セメントペーストDp 851.3501 骨材Da 42.01084 骨材と空気量合わせた容積率Vaa=(Sv[l/m3]+Gv[l/m3]+Av[l/m3])/Conv[l/m3] 直列バネ合成成分の逆数1/Ddc前田=Vaa^1/3/Da+1-Vaa^1/3/Dp

Zeger, “Zero capacity region of multidimensional run length constraints,” submitted to Electronic Journal of