PowerPoint プレゼンテーション

並列分散遺伝的アルゴリズムによる
ゴルフボールの回転角検出
佐野正樹
廣安知之
三木光範
角田昌也
植田勝彦
大貫正秀
(同志社大学大学院)
(同志社大学工学部)
(同志社大学工学部)
(住友ゴム工業株式会社)
(住友ゴム工業株式会社)
(住友ゴム工業株式会社)
研究背景

物体の回転は飛行経路に大きく影響

ゴルフボールの回転を高精度に計測すると...

ゴルファーの技術の分析

飛行距離の長いボールやゴルフクラブのより効率的な開発
遺伝的アルゴリズム(GA)を用いた
ゴルフボールの回転角度検出法
遺伝的アルゴリズム

遺伝的アルゴリズム(Genetic Algorithm : GA)

生物の進化を模倣した最適化手法

探索点を生物個体とみなす

確率的な遺伝的操作

広範な問題に適用可能

多点探索
選択
適合度の
高い個体が
多く生き残る
交叉
個体間の
情報交換
母集団
突然変異
個体
個体情報の
変更
並列分散遺伝的アルゴリズム

分散遺伝的アルゴリズム
(Distributed GA : DGA)
サブ母集団に分割
 各サブ母集団で遺伝的操作
 移住
 多様性を維持
 高い解探索能力

各サブ母集団にプロセッサを割り当てた
並列分散遺伝的アルゴリズム
(Paralel DGA : PDGA) を使用
移住
サブ母集団
提案手法

並列分散遺伝的アルゴリズムを用いた
ゴルフボールの回転角検出法
飛行するボールを2点で撮影した画像
 ボール表面に複数の点(スポット)を描画

画像1 (状態1)
回転角度を
求める
画像2 (状態2)
ステップ1 : 基準状態からの回転角度検出

基準状態から各状態への回転角度を検出

描画されたスポットの3次元座標を基準状態とする

状態1と状態2とへの回転行列 (R1, R2)を求める

PDGA によるパターンマッチング
y
y
x
z
基準状態
回転行列
R1 , R2
撮影画像 (状態1, 2)
x
PDGAの適合度関数

適合度関数

近接するスポット間の距離の和を最小化
N
fitness   min(distance(X i , Y j ))2
j
i 1
y
Xi : 撮影画像上のスポットの2次元座標
(総数 N)
Yj : 基準状態から個体に対応する回転を
与えたスポットの座標 (2次元投影)
distance (X, Y) : 2つのスポット間の距離
x
PDGAの設計変数


設計変数 (6変数)

X, Y, Z 軸周りの回転角度

中心位置の座標 (Ox, Oy)

拡大率 m
回転行列 R1 , R2
2次元座標値の補正
撮影画像上の2次元座標値の補正


ボールの輪郭が
不明瞭な画像
y
拡大率 m
(半径 1.0 × m)
ボールとカメラとの
距離の変化
中心 O
x
ステップ2 : 2状態間の回転角度の算出

回転行列 R1 , R2 から2状態間の回転角度を算出
y
基準状態
回転行列 R1
回転行列 R2
x
y
y
z
R=
画像1 (状態1)
x
-1
R2・R1
回転角度 θ
回転軸 u
画像2 (状態2)
x
提案手法の特徴

特徴

任意のゴルフボールを使用可能

撮影画像において,ボールの中心位置が
未知の場合にも適用可能

ボールの半径(大きさ)が
未知の場合にも適用可能

並列計算機への実装が容易
輪郭が不明瞭な画像
数値実験


実験項目

実験1 : 回転角度の精度

実験2 : 計算時間
計算環境
形態
PC クラスタ
プロセッサ
Pentium III
メモリ
256 MB
OS
Linux (kernel 2.2.18)
ネットワーク
Fast Ethernet , TCP/IP
通信ライブラリ MPICH 1.2.1
500 MHz
スポット配置法


y
スポット配置法
 4つのライン (x=0, y=0, z=0, y=x)

ランダムに配置

総数 42
x
z
2次元座標(画像)のテストデータ

3組のデータについて 20 試行ずつ計算
データ
回転角度 [deg.]
回転軸 (x, y, z)
テストデータ 1
(1.000,
0.000,
0.000)
40
テストデータ 2
(0.966,
0.000,
0.259)
40
テストデータ 3
(0.966,
0.000, - 0.259)
40
パラメータ
PDGA
個体数
400
サブ母集団数 (プロセス
数)
染色体長(L)
選択法
交叉率
交叉法
突然変異率
移住間隔
移住率
関数評価回数
試行
1, 2, 4, 8
60 (6変数 × 10)
ルーレット選択
逐次:0.6, 並列:1.0
一点交叉
0.016667 (1 / L)
5
0.3
400000
60
実験結果1 : 回転角度の精度

得られた回転角度の誤差 (60試行)
Number of Trials
60
50
2.0 ≦ error
40
1.0 ≦ error < 2.0
0.0 ≦ error < 1.0
30
単位 [deg]
20
10
0
1
2
4
8
Number of Subpopulations
多くの試行で精度よく求解 (2[deg] 未満の誤差)
 サブ母集団を増加させると 誤差1[deg] 未満の系列が増加

実験結果2 : 計算時間
1試行あたりの計算時間の平均
250
Elapsed Time [s]

Observed
Ideal
200
150
100
50
0
0
1
2
3
4
5
6
Number of Processors

理想値に近い計算時間短縮
7
8
まとめ

ゴルフボールの回転角検出法の提案
2枚の撮影画像をもとに回転角を検出
 並列分散遺伝的アルゴリズム(PDGA) を使用


提案手法の特徴
通常のゴルフボールを使用可能
 不明瞭な画像にも有効


数値実験の結果

サブ母集団を増加させると得られる回転角度の精度が向上

並列化により,計算時間短縮
提案手法は,ゴルフボールの回転角検出に対して有効
補足資料
スポット座標の正規化と設計変数の範囲

画像上のスポットの2次元座標値を正規化
y
この長さを
ボール半径 (1.0)とし,
各スポットの座標値を正規化
x

設計変数のとりうる値の範囲
項目
X, Y, Z 軸周りの回転角度
値の範囲
[ 0, 360 )
中心位置 O の座標 (Ox, Oy)
[ G - α, G - α )
拡大率
[ 1.0 – β, 1.0 )
備考
単位 : [degree]
G : スポットの重心
裏側のスポットの考慮

投影図の裏側のスポットをボールの外側に配置
ボールの輪郭
裏側を考慮する範囲
(半径×一定割合)
表側のスポット
裏側のスポット
裏側のスポットを,
ボールの外側に配置したもの
個体に対応する角度で
基準状態から回転させた投影図
回転角度と回転軸の導出


回転角度
1
cos   (r11  r22  r33  1)
2
回転軸
(u1 , u2 , u3 ) 

(0     )
(r23  r32 , r13  r31 ,r12  r21 )
(r23  r32 ) 2  (r13  r31 ) 2  (r12  r21 ) 2
回転行列
 r11

R   r21
r
 31
r12
r 22
r32
r13 

r23 
r33 
従来手法

ボール表面に描かれたマークの移動量を特定

高速,高精度

輪郭が不明瞭な画像やマークが隠れた場合に測定困難
画像1 (状態1)
回転角度を
求める
画像2 (状態2)