Genetic Algorithm

advertisement
235015, 305450
Artificial Intelligence
ปัญญาประดิษฐ ์
3(2-2-5)
สั ปดาหที
์ ่ 1
ขัน
้ ตอนวิธเี ชิงพันธุกรรม (Genetic
Algorithm)
Outline
1
Objectives
2p
What is Genetic Algorithm ?
3
Genetic Algorithm Principle
4
Genetic Algorithm & Application
Objectives
เพื่อ ให้ นิ สิ ตรู้ และเข้ าใจในกระบวนการทางพัน ธุ ก รรม
ศาสตร ์
เพื่อ ให้ นิ สิ ตเรีย นรู้ และเข้ าใจเกี่ย วความสั มพัน ธ ของ
์
ก ร ะ บ ว น ก า ร ท า ง พั น ธุ ก ร ร ม ศ า ส ต ร ์ กั บ ง า น ด้ า น
คอมพิวเตอร ์
เพื่อ ให้ นิ สิ ตสามารถประยุ ก ต ใช
์ ้ ของกระบวนการทาง
พัน ธุ ก รรมศาสตร ์ เพื่อ แก้ ปั ญ หาโจทย ์ประยุ ก ต ด
์ ้ าน
คอมพิวเตอรได
์ ้
Outline
1
Objectives
2p
What is Genetic Algorithm ?
3
Genetic Algorithm Principle
4
Genetic Algorithm & Application
What is Genetic Algorithm ?
ไทย:
หลักการและประวัตข
ิ องปัญญาประดิษ ฐ ์
ปริ ภู ม ิ ส ถานะและการค้ นหา ขั้น ตอนวิ ธ ี ก าร
ค้ นหาการแทนความรู้ โดยใช้ ตรรกะเพรดิเ คต
วิ ศ ว ก ร ร ม ค ว า ม รู้ โ ป ร ล็ อ ก เ บื้ อ ง ต้ น ก า ร
ประมวลผลภาษาธรรมชาติเบือ
้ งต้น การเรียนรู้
ข อ ง เ ค รื่ อ ง จั ก ร โ ค ร ง ข่ า ย ป ร ะ ส า ท เ ที ย ม
ขัน
้ ตอนวิธเี ชิงพันธุกรรม หุ่นยนต ์
อังกฤษ: -
Outline
1
Objectives
2p
What is Genetic Algorithm ?
3
Genetic Algorithm Principle
4
Genetic Algorithm & Application
Genetic Algorithm
Process
Overview of object tracking system
Input data
Tracking Method
Output data
Trajectory
Tracking
Algorithm
100 frames
Graph of distance
100 frames
3
The trajectory-based ball detection and tracking
Input data
BALL
B A L L S IZ E
C A N D ID A T E
E S T IM A T IO N
D E T E C T IO N
Frames Sequence
C A N D ID A T E
TR A JEC TO R Y
TR A JEC TO R Y
P R O C E S S IN G
G E N E R A T IO N
Output data
How to separate the ball ?
(0,0)
(X1,Y1,D1)
(X2,Y2,D2)
(X4,Y4,D4)
(X3,Y3,D3)
(X5,Y5,D5)
(X6,Y6,D6)
14
Ball Candidates Representation
1
10
2
1
2
10
15
Initial Population
Frame No.
1
2
3
.
.
.
40
1
2
3
4
5
6
1
1
1
1
2
1
1
2
3
4
5
6
1
1
2
1
2
1
1
2
3
4
5
6
1
1
1
1
1
2
97
98
99
100
1
2
1
1
97
98
99
100
1
1
2
1
97
98
99
100
…...
1
2
1
2
97
98
99
100
2
1
1
1
…...
…...
1
2
3
4
5
6
.
.
.
1
1
1
1
1
1
…...
Euclidian Distance
Reference Frame Data
Fitness Value Evaluation
dE
Where

( x i  x i 1 )  ( y i  y i 1 )
2
d
E
= Euclidean Distance
x
= X-Coordinate
y
= Y-Coordinate
2
Fitness value estimation
F
Ds
Where
F

p

n
m in(  D s )
j 1
( x j 1  x j )  ( y j 1  y j )
2
2
= Fitness value per point or frame
p
Ds
i

1, 2, 3,...,40
j

1, 2, 3,..., 100
= Distance between frame
= Number of population
= Number of frame
46
Select the Best Population
Frame No.
1
2
3
1
2
3
4
5
6
1
1
1
1
2
1
1
2
3
4
5
6
1
1
2
1
2
1
1
2
3
4
5
6
1
1
1
1
1
2
…...
…...
…...
97
98
99
100
1
2
1
1
97
98
99
100
1
1
2
1
97
98
99
100
1
2
1
2
.
.
Euclidian Distance
.
Best. Population
8 Chromosome
.
.
1
2
3
4
5
6
97
98
99
100
40
1
1
1
1
1
1
…...
2
1
1
1
Crossover operator
4
1
5
1
6
7
1
1
4
5
6
1
Possible cross point
Random 20 Chromosome for
Crossing Over
Mutation operator
Random 8 Mutation Chromosome
Random operator
4 New Random Chromosome
Replace all Offspring in New Generation
Frame No.
1
2
3
.
.
.
40
1
2
3
4
5
6
1
1
1
1
2
1
1
2
3
4
5
6
1
1
2
1
2
1
1
2
3
4
5
6
1
1
1
1
1
2
…...
…...
…...
97
98
99
100
1
2
1
1
97
98
99
100
1
1
2
1
97
98
99
100
1
2
1
2
.
Euclidian Distance
8 + 20 + 8 +. 4 = 40 ?
.
1
2
3
4
5
6
97
98
99
100
1
1
1
1
1
1
…...
2
1
1
1
Outline
1
Objectives
2p
What is Genetic Algorithm ?
3
Genetic Algorithm Principle
4
Genetic Algorithm & Application
Overview of object tracking system
Input data
Tracking Method
Output data
Trajectory
Tracking
Algorithm
100 frames
Graph of distance
100 frames
3
How to classify ball from the other objects?
10
Filtering process
The ball candidate objects can be detected by 4
Boolean Function of sieve processes, there are:
 Color range filter ->(H, S, V)
 Line filter
 Shape filter
 Size filter
11
What is the candidate objects?

O(F )
O
bi
(F )

{O
,O ,O ,O }
Wi
Li
Si
Zi
{O  O
O
}  {O  O }
Wi
Li
Si
Zi
Where O b i ( F )
Objects
= Boolean Function of Candidate
O(F )
= Boolean Function of All
Objects in Frame
12
Ball candidates representation
C (O )
i bi
Where C i ( O bi )

(X ,Y , D )
i i
i
= Candidate Objects in Frame
X
= X-Coordinate
Y
= Y-Coordinate
D
= Distance
13
(0,0)
(X1,Y1,D1)
(X2,Y2,D2)
(X4,Y4,D4)
(X3,Y3,D3)
(X5,Y5,D5)
(X6,Y6,D6)
14
Input candidates before plot graph
1
10
2
1
2
10
15
Distance
Best ball trajectory verification
1
2
3
4
5
6
7
8
Frame
No.
16
Results of segmentation & filtering
17
Position of strength line in frame
Index
Xposition
Yposition
Distance
Area
1
110.7778
69.44444
129.3669
9
2
186.0909
70.36364
197.6612
11
3
225.3636
72.31818
235.4258
44
4
240.2727
156.8182
285.5359
11
5
436.8276
232
493.2613
29
18
After Background Subtraction
19
20
Euclidean distance tracking
Distance
dE1
dE2
Shortest = dE2
dE3
k-1
Past
k
Current
k+1
Time
Next
21
Example of skeleton trajectory
Kalman Filter -> Temp position
22
23
Miss frame identification
Kalman Filter -> Temp position
24
Kalman filter system
x k 1

Fk  1, k x k  w ky k

H k xk  vk
25
Kalman Filter Process
Prediction
Distance
dE1 > Thd
Correction by ROI
dE2 > Thd
k-1
Past
k
Current
k+1
Time
Future
26
Example disadvantage of Kalman Filter
“ROI” CUT FOR FINDING SUITABLE OBJECT
27
ROI area specification
ROI
Temp Position-> Kalman Filter
50 pixel
28
ROI segmentation
The propose of ROI segmentation is finding the
candidate ball objects in the interesting area by
objective function, that compost of 6 parameters
there are:
• 3 o f color parameters (H, S, V) ->Color improvement
• Distance parameter -> Distance normalization
• Shape parameter-> Major and minor axis ratio
• Area parameter -> Average area of previous ball
29
Statistical Dissimilarity Measurement

dM
dM
Where
measurement

2
| 1   2 |
1 2
= Statistic dissimilarity
1
2
= Mean of interesting object
1
= Mean of data set
2
= Variance of interesting object
= Variance of data set
30
Statistical Similarity
ds
Where
from
d
S

1
1  dM
= Probabilistic value that transfer
statistic similarity measurement
dM
= Statistic dissimilarity
measurement
31
An objective function
P (O )
i i
w1
=

  w1 D N  w 2 D H  w3 D S  w 4 DV  w5 D SP  w 6 D A
i
i
i
i
i
i

weight of distance
w2= weight for Hue
w3 = weight for Saturation
w4 = weight for Intensity
3 objects upon to
probability priority
w5 = weight for Shape of the object
w6 = weight for Area of the object
32
Color improvement by region reduction
(x
(xbb,y,ybb))
ROI
(x
(xcc,y
,ycc))
 yybb
 xxbb
33
Type of an objects in ROI
Type#0
Type#1
Type#4
Type#2
Type#3
34
No object & single object in ROIs
No object in ROI segmentation is Type#0
C Tk ( O i )

C T0 ; n ( O i )  
Single object in ROI segmentation is Type#1
C Tk ( O i )

C T1 ; n ( O i )  1
35
Many objects in ROIs
Type#2
C T 2

 C T3

C Tk ( O i )   C T
4




Type#3
Type#4
;n ( Oi )  1
 D ( O i , O i  1 )  T hd  A ( O i )  T h a  A ( O i  1 )  T h a
;n ( Oi )  1
 D ( O i , O i  1 )  T hd  A ( O i )  T ha  A ( O i  1 )  T ha
;( n ( O i )  1  D ( O i , O i  1 )  T h d  A ( O i )  T h a  A ( O i  1 )  T h a ) 
( n ( O i ) 1
( n ( O i ) 1
 D ( O i , O i  1 )  T hd  A ( O i )  T ha  A ( O i  1 )  T h a ) 
 D ( O i , O i  1 )  T hd  A ( O i )  T ha  A ( O i  1 )  T ha )
36
Average types values of objects
N
 C T ( Oi )
k
CN (k )

i 1
; k  0 ,1,2 ,3,4
N
Where C T ,
, CT
0
k

4
0, 1, 2, 3, 4
= Object type
= Integer number represent type of
object
CN (k )
= Average value type of each object
37
Weight of ROI types
Type#3 = 
3
Type#4 =
4
ROI type = ?
Type#0 = 
0
38
The specification of ROI type
R
Where
type

T
RT
 t4

 t3

 t2

t
 1
 t 0
;m ax{ C N ( k )}

C T4
;m ax{ C N ( k )}

C T3
;m ax{ C N ( k )}

C T2
;m ax{ C N ( k )}

C T1
; the other case
= Region of interest segmentation
39
40
Multiple trajectory generation
Path 1
Path 2
Distance
Path 3
1
2
3
4
5
6
7
8
Time
41
Genetic Algorithm
Process
42
Chromosome representation
a = The number for specific method
c = Index region of frame
e, f = Population number and frame
number
b, d = Not use now
43
Initial chromosome or population
Frame No.
1
2
3
.
.
.
40
1
2
3
4
5
6
3
1
4
1
2
6
1
2
3
4
5
6
5
1
2
4
2
1
1
2
3
4
5
6
1
5
3
2
3
2
97
98
99
100
1
2
7
1
97
98
99
100
6
1
2
4
97
98
99
100
…...
1
2
1
2
97
98
99
100
2
3
4
1
…...
…...
1
2
3
4
5
6
.
.
.
7
2
1
5
5
1
…...
Euclidian Distance
44
Reference frame data index region
45
Fitness value estimation
F (i, j )
Ds
Where
F (i , j )


100*

 50*

 30*

20*

 1*
, if
Ds
S  50
Ds
, if
50  S  40
Ds
, if
40  S  31
Ds
, if
31  S 16
Ds
, for the other case
( x j 1  x j )  ( y j 1  y j )
2
2
= Fitness value per point or frame
S
= Speed between frame
Ds
= Distance between frame
i

1, 2, 3,...,40
j

1, 2, 3,..., 100
= Number of population
= Number of frame
46
Fitness value & weight type
G (i, j )
Where
weight

3

4
F (i, j )  k ; k  
t t
0
  ,  0
 1 2
G (i, j )


3
4
0
if t  t 4
if t  t 0
the other case
= Fitness value per point or frame after
kt

if t  t 3
 500
= Constant weight value
 1, 000
 10 , 000
47
Best trajectory verification

FP ( i )
100
 G (i, j )
j 1
BP
Where
FP (i )
BP

min{ FP ( i )}
= Fitness value per path or all trajectory path
= Best path or best trajectory path
48
Best ball trajectory verification
Path 1, F1 = 120
Path 2, F2 = 55
Distance
Path 3, F3 = 75
1
2
3
4
5
6
7
8
Time
49
Kalman Filter
(1  M iss frame  3)
Distance
7 Frame
1
2
3
Linear
4
5
6
7
8
Time
50
Cubic spline interpolation
7 Frame
Distance
( M iss frame  3)
Curve
1
2
3
4
5
6
7
8
Time
51
52
Example result after previous process
53
ct
io
n
Case of impulse transience
Di
re
Direction
Di
re
io
ct
n
Single-point Impulse Transience
Direction
D
c
i re
n
tio
Di
re
cti
on
Multi-point Impulse Transience
54
Hierarchy adaptive window size technique

Wz
Where
8

10
12

if T  S  4 T
if 4 T  S  7 T
if S  7 T
T = Threshold = 7.10205255
S
W
= Speed between contiguous frame
z
= Window size
55
Example of error before using HAWz
FP
SP
c
c
1
2
3
4
5
6
7
SP
FP
c
1
2
3
c
4
5
6
7
8
9
10
FP
SP
c
1
8
2
3
4
5
c
6
7
8
9
10
11
12
56
Example of refinement result
57
The End
73
Download