22
การส งเคราะห์เช วิวัฒนาการของโปรแกรม ประมวลผลภาพเพือตรวจ แยกพื นทีม่านตา NECTEC-ACE 2010, September 23-24, 2010 อุกฤษฏ์ วัชรีฤทัย สาขาวิชาวิศวกรรมและเทคโนโลยี วิทยาลัยนานาชาติ สถาบันเทคโนโลยีพระจอมเกล้าเจ้าคุณทหารลาดกระบัง

การสงเคราะห์เชั งิ วิวัฒนาการ ......การค นค นค าความเหมาะสม (Fitness retrieval) การสงเคราะห

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: การสงเคราะห์เชั งิ วิวัฒนาการ ......การค นค นค าความเหมาะสม (Fitness retrieval) การสงเคราะห

การสงัเคราะหเ์ชงิววิฒันาการของโปรแกรมประมวลผลภาพเพื�อตรวจแยกพื นที�มา่นตา

NECTEC-ACE 2010, September 23-24, 2010  

อกุฤษฏ ์วชัรฤีทัย

สาขาวชิาวศิวกรรมและเทคโนโลย ีวทิยาลัยนานาชาติสถาบนัเทคโนโลยพีระจอมเกลา้เจา้คณุทหารลาดกระบงั

Page 2: การสงเคราะห์เชั งิ วิวัฒนาการ ......การค นค นค าความเหมาะสม (Fitness retrieval) การสงเคราะห

ความเป็นมา

� ปัญหาของการออกแบบโปรแกรมรูจ้ําวตัถุ� ตอ้งอาศยัผูเ้ชี.ยวชาญ (human experts)� ยากและตอ้งใชเ้วลา� ผูเ้ชี.ยวชาญออกแบบโปรแกรมจากความรู ้

และประสบการณข์องตนเอง� โปรแกรมบางรปูแบบที.มศีกัยภาพอาจจะ

ถกูละเลย

2การสงัเคราะหเ์ชงิววิฒันาการของโปรแกรมประมวลผลภาพเพื�อตรวจแยกพื นที�มา่นตา    

Page 3: การสงเคราะห์เชั งิ วิวัฒนาการ ......การค นค นค าความเหมาะสม (Fitness retrieval) การสงเคราะห

ระบบสงัเคราะหโ์ปรแกรมอตัโนมตั ิ

� เปลี.ยนปัญหาการออกแบบโปรแกรมเป็นปัญหาคา่เหมาะที.สดุ (optimization)

� ใชก้ารคํานวณเชงิววิัฒนาการ (GA, GP)

� ขอ้มลูเขา้ไดแ้ก ่ฐานขอ้มลูฝึกฝน และ ฟังกช์นัจดุประสงค์

� ไมต่อ้งการความรูเ้ฉพาะดา้นของปัญหา

� ผูใ้ชไ้มจ่ําเป็นตอ้งเป็นผูเ้ชี.ยวชาญ

3

Training Truth

Objective

Image processingprogram

Primitiveoperation

library

การสงัเคราะหเ์ชงิววิฒันาการของโปรแกรมประมวลผลภาพเพื�อตรวจแยกพื นที�มา่นตา    

Page 4: การสงเคราะห์เชั งิ วิวัฒนาการ ......การค นค นค าความเหมาะสม (Fitness retrieval) การสงเคราะห

ภาพรวมของกระบวนการววิฒันาการ

Update population

Individual (chromosome)

decoder

ClassifierTraining

Evaluation

Selection & genetic

operators

# of loops > max loop

Objective function

nono

Initial population

Are they good enough?

yesyes

Select the best individual

Output (Feature extraction program)

Individual(chromosome)

decoderEvolutionary search

Training image & GTImage processing library

4การสงัเคราะหเ์ชงิววิฒันาการของโปรแกรมประมวลผลภาพเพื�อตรวจแยกพื นที�มา่นตา    

Page 5: การสงเคราะห์เชั งิ วิวัฒนาการ ......การค นค นค าความเหมาะสม (Fitness retrieval) การสงเคราะห

การโปรแกรมเชงิพนัธุกรรมเชงิเสน้ (Linear genetic programming)

รจีสิเตอรแ์บบภาพ รจีสิเตอรต์วัเลข

ผลลพัธข์องโปรแกรม

5การสงัเคราะหเ์ชงิววิฒันาการของโปรแกรมประมวลผลภาพเพื�อตรวจแยกพื นที�มา่นตา    

Page 6: การสงเคราะห์เชั งิ วิวัฒนาการ ......การค นค นค าความเหมาะสม (Fitness retrieval) การสงเคราะห

การแทนแบบโครงสรา้งยอ่ย (sub-program representation)

6การสงัเคราะหเ์ชงิววิฒันาการของโปรแกรมประมวลผลภาพเพื�อตรวจแยกพื นที�มา่นตา    

Page 7: การสงเคราะห์เชั งิ วิวัฒนาการ ......การค นค นค าความเหมาะสม (Fitness retrieval) การสงเคราะห

ตวัดําเนนิการมลูฐานที.ใช ้

7การสงัเคราะหเ์ชงิววิฒันาการของโปรแกรมประมวลผลภาพเพื�อตรวจแยกพื นที�มา่นตา    

Page 8: การสงเคราะห์เชั งิ วิวัฒนาการ ......การค นค นค าความเหมาะสม (Fitness retrieval) การสงเคราะห

การคน้คนืคา่ความเหมาะสม (Fitness retrieval)

8การสงัเคราะหเ์ชงิววิฒันาการของโปรแกรมประมวลผลภาพเพื�อตรวจแยกพื นที�มา่นตา    

Canonical transform

Compare this canonical form with those stored in

memory

no

Is it matched with a canonical form in memory

yes

Canonical forms and fitness values of discovered

programs

Retrieve fitness value from memory

Individual(linear representation)

Fitness value

Store this canonical form and fitness value into

memory

Evaluation

เป้าหมาย หลกีเลี�ยงการรนัโปรแกรมที�เคยถกูคน้พบแลว้

Page 9: การสงเคราะห์เชั งิ วิวัฒนาการ ......การค นค นค าความเหมาะสม (Fitness retrieval) การสงเคราะห

การคน้คนืคา่ความเหมาะสม (Fitness retrieval)

9การสงัเคราะหเ์ชงิววิฒันาการของโปรแกรมประมวลผลภาพเพื�อตรวจแยกพื นที�มา่นตา    

Tournament size 2 5 10

Genetic operations 0.131 0.135 0.108

Canonical transformation 0.287 0.215 0.235

Necessary evaluation 1399.032 1219.620 1046.911

Wasteful evaluation 4600.058 5009.844 4670.332

Conventional LGP 6000.222 6229.600 5717.352

LGP with fitness retrieval 1399.451 1219.971 1047.255

Reduction rate 76.67% 80.41% 81.68%

# of RDD (%) 3799.69 (75.99%) 4007.30 (80.15%) 4079.96 (81.60%)

เวลาการประมวลผล (วนิาท)ี

Page 10: การสงเคราะห์เชั งิ วิวัฒนาการ ......การค นค นค าความเหมาะสม (Fitness retrieval) การสงเคราะห

Hierarchical structure GP (HSGP)

Level-2LNM/2

Level-1LN

Level-1LN

Population integration

Seeds Seeds

M/4M/4Level-1

LNLevel-1

LN

Population integration

Seeds Seeds

M/4M/4

Level-2LN M/2

Level-3LN

Population integration

MLN: learning node (โหนดเรยีนรู)้

G2 generations

G3 generations

G1 generations

เป้าหมาย: เรง่ความเร็ว GP

10การสงัเคราะหเ์ชงิววิฒันาการของโปรแกรมประมวลผลภาพเพื�อตรวจแยกพื นที�มา่นตา    

Page 11: การสงเคราะห์เชั งิ วิวัฒนาการ ......การค นค นค าความเหมาะสม (Fitness retrieval) การสงเคราะห

เปรยีบเทยีบเวลาการประมวลผล HSGP v.s. GP

# of program executions

Fitness

10×105

HSGPs

CGPs (G = 1000)

11

HSGP ใชเ้วลาการประมวลผลเพยีง 30 -40%ของเวลาที.ใชโ้ดย GP ธรรมดา

การสงัเคราะหเ์ชงิววิฒันาการของโปรแกรมประมวลผลภาพเพื�อตรวจแยกพื นที�มา่นตา    

Page 12: การสงเคราะห์เชั งิ วิวัฒนาการ ......การค นค นค าความเหมาะสม (Fitness retrieval) การสงเคราะห

การตรวจแยกพื นที�มา่นตา

� การแขง่ขนัขั bนตอนวธิตีรวจแยกพืbนที.มา่นตา NICE.I : Noisy Iris Challenge Evaluation – Part I

� มฐีานขอ้มลูฝึกฝน 500 ภาพพรอ้มทั bง ภาพบรเิวณมา่นตาซึ.งถกูตรวจแยกโดยมนุษย์

� ทําการวัดผลบน ฐานขอ้มลูทดสอบซึ.งไมเ่ปิดเผย� ใช ้segmentation error เป็นตวัชีbวัดหลัก� มผีูส้ง่โปรแกรมแขง่ขนั 27 ราย จาก 14 ประเทศทั.วโลก

12การสงัเคราะหเ์ชงิววิฒันาการของโปรแกรมประมวลผลภาพเพื�อตรวจแยกพื นที�มา่นตา    

Page 13: การสงเคราะห์เชั งิ วิวัฒนาการ ......การค นค นค าความเหมาะสม (Fitness retrieval) การสงเคราะห

การตรวจแยกพื นที�มา่นตา

13

� สงัเคราะหโ์ดยใช ้HSGP แบบ 6 เลเวล

� โหนดเรยีนรูช้ั bนลา่งสดุเรยีนจากภาพ 5 ภาพ

� โหนดเรยีนรูช้ั bนบนสดุ ใช ้160 ภาพ� 4 ลกัษณะเดน่ (โปรแกรมยอ่ย)� ขนาดภาพ 300 × 400 จดุภาพ� 57 ตวัดําเนนิการมลูฐาน� ใช ้segmentation accuracy เป็นฟังกช์นัจดุประสงค์

การสงัเคราะหเ์ชงิววิฒันาการของโปรแกรมประมวลผลภาพเพื�อตรวจแยกพื นที�มา่นตา    

Page 14: การสงเคราะห์เชั งิ วิวัฒนาการ ......การค นค นค าความเหมาะสม (Fitness retrieval) การสงเคราะห

ผลการตรวจแยกพื นที�มา่นตา

FP FN ERROR

Training set (500 images)

0.01 0.559 0.050

Unknowntest set

0.19 0.605 0.052(17th from 27)

Input Ground truth Output

14การสงัเคราะหเ์ชงิววิฒันาการของโปรแกรมประมวลผลภาพเพื�อตรวจแยกพื นที�มา่นตา    

Page 15: การสงเคราะห์เชั งิ วิวัฒนาการ ......การค นค นค าความเหมาะสม (Fitness retrieval) การสงเคราะห

ผลการตรวจแยกพื นที�มา่นตา

15การสงัเคราะหเ์ชงิววิฒันาการของโปรแกรมประมวลผลภาพเพื�อตรวจแยกพื นที�มา่นตา    

Rank ERROR

1 0.0130

2 0.0160

3 0.0180

4 0.0220

5 0.0280

6 0.0290

7 0.0300

8 0.0305

9 0.0320

10 0.0340

Rank ERROR

11 0.0341

12 0.0410

13 0.0415

14 0.0480

15 0.0490

16 0.0500

17 0.0520

18 0.0560

19 0.0580

20 0.0750

Rank ERROR

21 0.0790

22 0.0890

23 0.0900

24 0.1220

25 0.2770

26 0.9900

27 1.0000

Page 16: การสงเคราะห์เชั งิ วิวัฒนาการ ......การค นค นค าความเหมาะสม (Fitness retrieval) การสงเคราะห

ผลการตรวจแยกพื นที�มา่นตา

16การสงัเคราะหเ์ชงิววิฒันาการของโปรแกรมประมวลผลภาพเพื�อตรวจแยกพื นที�มา่นตา    

�โปรแกรมตรวจแยกมา่นตาจํานวนมากได ้ถกูพจิารณา�กลุม่ประชากรถกูววิฒันาการรุน่ตอ่รุน่�โปรแกรมหลากหลายรปูแบบถกูพจิารณา (ไมข่ึbนกบัประสบการณข์องผูอ้อกแบบ)

�ทราบประสทิธภิาพที.แทจ้รงิของโปรแกรม�โปรแกรมที.ถกูพจิารณาไดถ้กูวดัผลจรงิๆ

Page 17: การสงเคราะห์เชั งิ วิวัฒนาการ ......การค นค นค าความเหมาะสม (Fitness retrieval) การสงเคราะห

สรปุ

� ระบบสงัเคราะหโ์ปรแกรมเชงิววิฒันาการ�การโปรแกรมเชงิพันธกุรรมเชงิเสน้ (Linear GP)�เป็นระบบอตัโนมัติ�เรง่ความเร็วโดยใช ้Hierarchical structure GP และการคน้คนืคา่ความเหมาะสม

� ผลการสงัเคราะหโ์ปรแกรมตรวจแยกพืbนที.มา่นตา�โปรแกรมที.สงัเคราะหไ์ด ้ใหค้า่ความผดิพลาดเพยีง 0.050 และ 0.052 สําหรับฐานขอ้มลูฝึกฝนและฐานขอ้มลูทดสอบตามลําดบั

17การสงัเคราะหเ์ชงิววิฒันาการของโปรแกรมประมวลผลภาพเพื�อตรวจแยกพื นที�มา่นตา    

Page 18: การสงเคราะห์เชั งิ วิวัฒนาการ ......การค นค นค าความเหมาะสม (Fitness retrieval) การสงเคราะห

Q & A

18

Page 19: การสงเคราะห์เชั งิ วิวัฒนาการ ......การค นค นค าความเหมาะสม (Fitness retrieval) การสงเคราะห

Prohibition of redundant individuals

Canonical transform

Compare this canonical form with those stored in

memory

Fitness evaluation

no

Does it match a canonical form in

memory

yes

Canonical forms of discovered programs

Apply mutation operator to the individual

Individual(linear representation)

Fitness value

Store this canonical form into memory

Avoid search on the already discovered programs

19

Page 20: การสงเคราะห์เชั งิ วิวัฒนาการ ......การค นค นค าความเหมาะสม (Fitness retrieval) การสงเคราะห

The n-elitist method

The n-elitist method

Population integration

20

Page 21: การสงเคราะห์เชั งิ วิวัฒนาการ ......การค นค นค าความเหมาะสม (Fitness retrieval) การสงเคราะห

ปญัหาการตรวจจบัวชัพชืในสนามหญา้

21

� Learned by LGP with prohibition of redundant individuals

� Two features� 51 Pos (no color operations)� Fitness function: segmentation accuracy (ACC)

� Population size=100, Max. gen. = 500

� Image size is 640 × 480� 30 images� Four human-designed methods:BC, MO, UA, SVM

Input

Ground truth

Page 22: การสงเคราะห์เชั งิ วิวัฒนาการ ......การค นค นค าความเหมาะสม (Fitness retrieval) การสงเคราะห

ปญัหาการตรวจจบัวชัพชืในสนามหญา้

2222

� Statistical test� divided into 6 folds� training: 1 fold� validation: 5 folds� 6 experiments

Segmentation accuracy (%)

P-value of t-test (compare with trial #8)

Ranking (4 compared methods + 10 trials)