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