35
สสสสสส บบบบบ 1 บบบบบ................................................3 1.1 บบบบบบบบบบบบบบบบ.....................................3 1.2 บบบบบบบบบบบบบบบบบบบบ...............................3 1.3 บบบบบบบบบบบบบบบบบบบบ...............................3 บบบบบ 2 บบบบบบบบบบบบบบบบบบบบบบบ......................5 บบบบบ 3 บบบบบบบบบบบบบบบบบบบบบบบบบบบบ..............6 3.1 บบบบบบบบบบบบบบ (Image Enhancement)...........6 3.2 บบบบบบบบบ RGB บบบบบบบบบบบบ HSV (HSV Color space and HSV Color space)...........................7 3.3 Morphology..............................................8 3.4 Segmentation...........................................9 3.5 บบบบบบ Camera calibration บบบบ MATLAB.....10 3.6 บบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบ Stereo Vision............................................. 11 3.7 Physic Engine........................................12 3.8 OpenCV.................................................. 14 3.9 OpenGL.................................................. 14 3.10........บบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบ บบบบบบบบบบบบบบบบบบบบบบบบบบบ.........................15 บบบบบ 4 บบบบบบบบบบบบบบบบบบบบบ........................16 4.1 บบบบบบบบบบบบบบบบบบบบบ.............................16 4.2 Input / Output Specification..................16 4.3 Functional Specification........................17 4.4 บบบบบบบบบบบบบบบบบบบบบ.............................17 4.5 บบบบบบบบบบบบบบบ.....................................18

nattee.net · Web view4.7เคร องม อท ใช ในการพ ฒนา19 4.8ค ณล กษณะของอ ปกรณ ท ใช ก บโปรแกรม20

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: nattee.net · Web view4.7เคร องม อท ใช ในการพ ฒนา19 4.8ค ณล กษณะของอ ปกรณ ท ใช ก บโปรแกรม20

สารบญ

บทท 1 บทนำ�................................................................................................................................3

1.1 แนวคดของโครงง�น.................................................................................................3

1.2 คว�มสำ�คญของโครงง�น.......................................................................................3

1.3 คว�มเปนม�ของโครงง�น.......................................................................................3

บทท 2 วตถประสงคและเป�หม�ย.....................................................................................5

บทท 3 ทฤษฎและหลกก�รทเกยวของ............................................................................6

3.1 ก�รปรบปรงภ�พ (Image Enhancement)........................................6

3.2 ปรภมส RGB และปรภมส HSV (HSV Color space and HSV Color space).........................................................................................................7

3.3 Morphology.............................................................................................................8

3.4 Segmentation.......................................................................................................9

3.5 ก�รทำ� Camera calibration ดวย MATLAB..................................10

3.6 หลกก�รและก�รคำ�นวณทเกยวของกบก�รทำ� Stereo Vision. . .11

3.7 Physic Engine.....................................................................................................12

3.8 OpenCV......................................................................................................................14

3.9 OpenGL......................................................................................................................14

3.10....ก�รปรบเปลยนของผลลพธเนองจ�กก�รเปลยนระยะห�งระหว�งกลอง............................................................................................................................................15

บทท 4 ร�ยละเอยดของก�รพฒน�.................................................................................16

4.1 ภ�พรวมของก�รพฒน�ระบบ.............................................................................16

4.2 Input / Output Specification..............................................................16

4.3 Functional Specification.........................................................................17

4.4 โครงสร�งของซอฟตแวร......................................................................................17

4.5 ตวอย�งโปรแกรม.....................................................................................................18

4.6 ขอบเขตและขอจำ�กดของโปรแกรมทพฒน�..............................................19

Page 2: nattee.net · Web view4.7เคร องม อท ใช ในการพ ฒนา19 4.8ค ณล กษณะของอ ปกรณ ท ใช ก บโปรแกรม20

2

4.7 เครองมอทใชในก�รพฒน�...................................................................................19

4.8 คณลกษณะของอปกรณทใชกบโปรแกรม...................................................20

บทท 5 กลมผใชโปรแกรม....................................................................................................22

บทท 6 ผลก�รทดสอบโปรแกรม......................................................................................23

บทท 7 ปญห�และอปสรรค.................................................................................................24

บทท 8 แนวท�งก�รพฒน�ตอในอน�คต.....................................................................25

บทท 9 ขอสรปและขอเสนอแนะ........................................................................................26

บทท 10 เอกส�รอ�งอง........................................................................................................27

Page 3: nattee.net · Web view4.7เคร องม อท ใช ในการพ ฒนา19 4.8ค ณล กษณะของอ ปกรณ ท ใช ก บโปรแกรม20

3

บทท 1 บทนำา

1.1 แนวคดของโครงงาน

ในปจจบนเทคโนโลย Augmented reality กำ�ลงเข�ม�มบทบ�ทม�กขนตอก�รดำ�รงชวตของเร� ทงจ�กท�ง Smart phone ทเร มมก�รนำ�เทคโนโลยนเข�ม�แกไขปญห�ต�งๆ เชน ก�รผส�นขอมลสถ�นทบนแผนทและตำ�แหนงจ�ก GPS เข�กบภ�พถ�ยจ�กกลองวดโอเพอบอกทศท�ง, ก�รรจำ�และใหขอมลสถ�นทสำ�คญโดยก�รวเคร�ะหจ�กภ�พวดโอและตำ�แหนงจ�ก GPS เปนตน นอกจ�กนนยงมก�รใชเทคโนโลยนบนอปกรณอนๆ เชน ก�รเตมลกเลนบนภ�พถ�ยใหสอดคลองกบใบหน�คน, ก�รเสรม effect บนเกมสกระด�นเพอใหเกมมคว�มสมจรงและสนกยงขน เปนตน ยงไปกว�นนยงมก�รผส�นวตถเสมอนเข�กบโลกจรงดวยก�รวเคร�ะหภ�พจ�กโลกจรงกอนแลวแสดงภ�พวตถเสมอนซอนลงไปเหมอนกบว�มวตถจรงอยตรงนนเชน เกม Kweekie, Parallel Tracking and Mapping for Small AR Workspaces เปนตน

1.2 ความสำาคญของโครงงาน

โครงง�นวศวกรรมคอมพวเตอร ระบบวตถเสมอน นถกจดทำ�ขน“ ” เพอทำ�ก�รศกษ�ก�รควบคมวตถเสมอนดวยมอในส�มมตผ�นท�งกลองเวบแคมโดยเนนก�รจำ�ลองก�รปฏสมพนธระหว�งมอและวตถเสมอนในเชงก�ยภ�พ คอทำ�ใหเร�ส�ม�รถจบและเคลอนย�ยวตถเสมอนในส�มมตได ทงนเพอเปนก�รเสรมคว�มสมจรงของวตถดงกล�วอนจะทำ�ใหเกดประโยชนกบง�นด�น Augmented reality โดยเฉพ�ะในด�นก�รนำ�เทคโนโลยดงกล�วม�ใชในก�รสร�งระบบวตถเสมอนจรงทตองก�รใหมปฏสมพนธกบคนผ�นก�รจบดวยมอ เชน ระบบวตถเสมอนสำ�หรบทำ�ก�ร

Page 4: nattee.net · Web view4.7เคร องม อท ใช ในการพ ฒนา19 4.8ค ณล กษณะของอ ปกรณ ท ใช ก บโปรแกรม20

4

ทดลองท�งวทย�ศ�สตร , ระบบวตถเสมอนของเลนตวตอเสรมทกษะ เปนตน โดยผลสำ�เรจจะเปนโปรแกรมระบบวตถเสมอนจรงทส�ม�รถปรบใหแสดงระบบวตถ ใดๆกไดต�มกบชดโมเดลทโหลดใหกบระบบ

1.3 ความเปนมาของโครงงาน

ถงแมว�จะมผลง�นหล�ยๆ ชนทพย�ย�มแสดงวตถเสมอนใหสมจรงดวยก�รแสดงเปนภ�พส�มมต และพย�ย�มทำ�สวนตดตอผใชใหส�ม�รถใชท�มอในก�รตดตอกบระบบผ�นท�งกลองเวบแคม เชน Sixth Sense, Hand Gesture Recognition for interactive interfaces, HandVu เปนตน แตอย�งไรกต�ม เร�ไมส�ม�รถใชมอจบวตถทแสดงนนได ซ งผลง�นเหล�นนเนนก�รวเคร�ะหแยกแยะท�ท�งมอเพอทำ�ก�รควบคมระบบ เนนก�รควบคมระบบในสองมต ทำ�ใหไมส�ม�รถควบคมวตถทเปนส�มมตไดอย�งสมจรงและเปนธรรมช�ต ก�รพฒน�ก�รจำ�ลองปฏสมพนธเชงก�ยภ�พระหว�งมอและวตถเสมอนจงเปนสงสำ�คญทจะชวยใหก�รควบคมวตถเสมอนเหล�นนง�ย และเปนธรรมช�ตม�กยงขน อนจะทำ�ใหเกดก�รพฒน� Application ทหล�กหล�ยยงขนในรปแบบของ Augmented reality ทสมจรงม�ยงขน นอกจ�กนนยงส�ม�รถนำ�ไปประยกตใชในก�รทำ�ก�รควบคมคอมพวเตอร และ Virtual reality ไดอกดวย

Page 5: nattee.net · Web view4.7เคร องม อท ใช ในการพ ฒนา19 4.8ค ณล กษณะของอ ปกรณ ท ใช ก บโปรแกรม20

5

บทท 2 วตถประสงคและเปาหมาย

โครงง�นระบบวตถเสมอน เปนระบบจำ�ลองก�รควบคมวตถในส�มมต ซงมวตถประสงคและเป�หม�ยของโครงง�นดงตอไปน

1. เพอทำ�ใหส�ม�รถ จบ, ผลก และ บด วตถเสมอนใน Augmented reality ดวยมอได

2. เพอสร�งชดโมเดลวตถเสมอนจรงตวอย�งทดสอบ 1 ชด คอชดของเลนตวตอเสรมทกษะ

Page 6: nattee.net · Web view4.7เคร องม อท ใช ในการพ ฒนา19 4.8ค ณล กษณะของอ ปกรณ ท ใช ก บโปรแกรม20

6

บทท 3 ทฤษฎและหลกการทเกยวของ

3.1 การปรบปรงภาพ (Image Enhancement)

กระบวนก�รปรบปรงคณภ�พของภ�พเปนก�รปรบปรงภ�พใหเหม�ะสมกบก�รประมวลผลต�งๆ เนองจ�กภ�พทรบเข�ม�นนอ�จมสญญ�ณรบกวน จงตองปรบปรงคณภ�พของภ�พกอนทจะนำ�ภ�พนนไปประมวลผลท�งคอมพวเตอรวชนตอไป ซงจะทำ�ใหประมวลผลไดดขน โดยทวไปก�รปรบปรงภ�พทำ�ไดทงใน spatial domain และ frequency domain แตในโครงง�นนใชก�รปรบปรงภ�พใน spatial domain ซงมจดประสงคเพอ smooth ภ�พ

ก�ร smoothing นนทำ�ไดโดยใชก�ร convolution ซงเปนก�รนำ� mask กว�ดไปบนภ�พทละจดภ�พจ�กซ�ยไปขว� และจ�กบนลงล�ง ต�มสมก�ร

w ( x , y )∗f (x , y )=∑s=−a

a

∑t=−b

b

w ( s , t ) f ( x−s , y−t )

โดยทw ( x , y )คอ mask ขน�ด mxnf ( x , y ) คอ inputa= (m−1 )

2และb= (n−1 )

2

รปท 1 ตวอย�ง mask ขน�ด 3x3

พจ�รณ�รปข�งล�ง จะพบว�ขน�ดของ mask สงผลตอภ�พ output เปนอย�งม�ก

1/91/9

1/91/91/91/9

1/91/91/9

Page 7: nattee.net · Web view4.7เคร องม อท ใช ในการพ ฒนา19 4.8ค ณล กษณะของอ ปกรณ ท ใช ก บโปรแกรม20

7

รปท 2 ก�ร Smoothing โดยใช mean filtering โดยใช mask ทมขน�ดต�งๆ กน

3.2 ปรภมส RGB และปรภมส HSV (HSV Color space and HSV Color space)

ปรภมส RGB เปนปรภมสทใชกนอย�งแพรหล�ยในระบบภ�พดจตอลคอมพวเตอร โดยแทนค�สของจดภ�พแตละจดภ�พดวยเวกเตอรส�มมต ซงแทนค�สปฐมภมไดแก สแดง, สเขยว และ สนำ�เงน โดยมชวงของค�สระหว�ง 0-255 ซงปรภมส RGB จะมลกษณะเปนรปลกบ�ศก ดงรป

รปท 3 ปรภมส RGB

Page 8: nattee.net · Web view4.7เคร องม อท ใช ในการพ ฒนา19 4.8ค ณล กษณะของอ ปกรณ ท ใช ก บโปรแกรม20

8

ปรภมส HSV ใชหลกก�รแยกคว�มสว�งออกจ�กเนอสของจดภ�พ โดยปรภมส HSV นนแทนค�ดวยเวกเตอรส�มมต ซงประกออบดวย H แทนค�เนอส (Hue), S แทนค�คว�มอมตวของส (Saturation) และ V แทนค�คว�มสว�งของแสง (Value) ซงปรภมส HSV จะมลกษณะเปนรปกรวย ดงรป

รปท 4 ปรภมส HSV

ก�รแปลงปรภมส RGB ม�เปนปรภมส HSV ทำ�ไดโดย

H={ δ ,∧B≤G2π−δ ,∧ot herwise

โดยท δ=cos−1( (R−G )+(R−B )

2√(R−G )2+ (R−B ) ∙ (G−B ) )S=1−3 ∙ Min (R ,G ,B )

R+G+B

V= R+G+B3

3.3 MorphologyMorphology เปนตวดำ�เนนก�รทกอใหเกดก�รเปลยนแปลงรป

ร�งของวตถในภ�พ ซงในทนจะกล�วถงก�รดำ�เนนก�ร morphology

Page 9: nattee.net · Web view4.7เคร องม อท ใช ในการพ ฒนา19 4.8ค ณล กษณะของอ ปกรณ ท ใช ก บโปรแกรม20

9

บนภ�พ binary ซงประกอบดวยตวดำ�เนนก�ร 2 ตว ไดแก ภ�พอนพตทเปนไบน�ร และ mask

ก�รดำ�เนนก�ร morphology พนฐ�นประกอบดวย Dilation, Erosion, Closing, Opening ซงในโครงง�นนจะใชก�รดำ�เนนก�ร Opening เพอลดสญญ�ณรบกวน

Dilation เปนก�รขย�ยรปร�งของวตถในภ�พอนพต ต�มสมก�ร

BS=¿b∈B Sb Erosion เปนก�รหดรปร�งของวตถในภ�พอนพต ต�มสมก�ร

BS={b|b+s∈B;∀ s∈S }

Opening ใชลบจดเลกๆ หรอขอบทยนออกม�บรเวณขอบของวตถในภ�พ

BoS=(BS )S

3.4 Segmentationกระบวนก�ร Segmentation เปนกระบวนก�รแยกวตถ หรอองค

ประกอบต�งๆ ออกจ�กภ�พอนพท โดยในโครงง�นน จะใชสของ marker ซงมคว�มเดนชดจ�กสของพนหลงในก�ร segmentation ซงมขนตอนดงน

1. ปรบปรงคณภ�พของภ�พ โดยใชเทคนคก�รเบลอภ�พ2. แปลงปรภมสจ�กปรภม RGB เปนปรภม HSV3. ตงค� threshold ของค� H, S และ V ใหสอดคลองกบสของ

marker4. กำ�หนดใหค�ของจดสทเปนองคประกอบทตองก�รพจ�รณ�มค�

เปนสข�ว (255) และกำ�หนดใหค�ของจดสทไมใชองคประกอบทตองก�รพจ�รณ�มค�เปนสดำ� (0)

Page 10: nattee.net · Web view4.7เคร องม อท ใช ในการพ ฒนา19 4.8ค ณล กษณะของอ ปกรณ ท ใช ก บโปรแกรม20

10

รปท 5 กระบวนก�ร segmentation เพอห�วตถด�นซ�ย

3.5 การทำา Camera calibration ดวย MATLAB

เปนก�รห�คณสมบตของระบบกลอง 2 อย�งไดแก สมบตของกลองแตละตว คอ Intrinsic matrix ซงเกบ focal lengths และ center of image และ Distortion matrix สำ�หรบปรบแกคว�มบดเบยวของภ�พ และสมบตของระบบกลองคอ ก�รเอยงตวกนของกลองทงสอง และระยะห�งระหว�งกลอง

เลอกใช Camera calibration toolbox บน MATLAB ของ Jean-Yves Bouguet เพร�ะเปน toolbox ทส�ม�รถปรบห�ค�ทตองก�รไดอย�งละเอยด รค�คล�ดเคลอนและมผใชกนอย�งแพรหล�ย ก�รทำ�ง�นจะใชต�ร�งหม�กรกสำ�หรบก�รทำ� calibration คอทร�บขน�ดของชอง และจำ�นวนชองทแนนอนเปนตวอ�งอง โดยถ�ยภ�พในหล�ยๆ มมมอง แลวนำ�ไปห�จดตดของชองต�ร�งหม�กรก แลวคำ�นวณขนเปนคณสมบตของระบบกลองทตองก�ร

Page 11: nattee.net · Web view4.7เคร องม อท ใช ในการพ ฒนา19 4.8ค ณล กษณะของอ ปกรณ ท ใช ก บโปรแกรม20

11

รปท 6 ภ�พแสดงก�รทำ� Camera calibration ดวย MATLAB

Page 12: nattee.net · Web view4.7เคร องม อท ใช ในการพ ฒนา19 4.8ค ณล กษณะของอ ปกรณ ท ใช ก บโปรแกรม20

12

3.6 หลกการและการคำานวณทเกยวของกบการทำา Stereo Vision

Epipolar geometry

รปท 7 ภ�พแสดง epipolar geometry

เปนเรข�คณตของระบบ Stereo vision ประกอบไปดวยสวนสำ�คญต�งๆดงน1. Center of projection (Ol ,Or) จดรวม Projection

line ของแตละกลอง2. Projection plane (π l , πr) ระน�บของ Image ของแตละ

กลอง3. Object point (P) จดวตถ4. Image points (pl , pr) จด image ของ P บนแตละ

Image plane5. Epipoles (e l , er) จด image ของ center of projection

ของอกกลองบน Image plane6. Epipolar plane ระน�บระหว�งจด Ol ,Or ,P

7. Epipolar lines เสนตรงท Epipolar plane ตดกบ Projection planes ของแตละกลอง

Page 13: nattee.net · Web view4.7เคร องม อท ใช ในการพ ฒนา19 4.8ค ณล กษณะของอ ปกรณ ท ใช ก บโปรแกรม20

13

ประโยชนของ Epipolar geometry คอชวยในก�รแกปญห� correspondence problem และเปนโมเดลในก�รคำ�นวณท�งเรข�คณตของระบบ เชน ก�รทำ� rectification, reconstruction

Correspondence problemเนองจ�กโครงก�รนใช marker ตดทปล�ยนวแยกสเพอห�นวมอ ทำ�ใหไมตองแกปญห� correspondence โดยส�ม�รถจบคปล�ยนวในสองภ�พดวยสไดเลย

Reconstructionใชก�รทำ� Triangulation

รปท 8 ภ�พแสดงก�รทำ� Triangulation

เปนก�รห�ตำ�แหนงส�มมตของวตถโดยตรงจ�กขอมลท�งเรข�คณตของระบบทม ทงนคว�มถกตองของขอมลทไดจงขนอยกบระดบคว�มถกตองของขอมลท�งก�ยภ�พของระบบทห�ได

Page 14: nattee.net · Web view4.7เคร องม อท ใช ในการพ ฒนา19 4.8ค ณล กษณะของอ ปกรณ ท ใช ก บโปรแกรม20

14

3.7 Physic Engineเปนสวนทตองตงสมมตฐ�นใหวตถในระบบเพมเตม เพร�ะเนองจ�ก

วตถเสมอนไมส�ม�รถมก�รตอบสนองกลบ (Feedback) ม�ทมอไดดงนนเมอถกควบคมดวยมอวตถจะอยในสภ�พคล�ย ไมมมวลเพร�ะไมส�ม�รถฝนแรงของมอไดและเก�ะตดไปกบนว โดยแยกก�รคำ�นวณออกเปนกรณต�งๆ ต�มจำ�นวนนวทม�ชนวตถ

ใหจด A, B, C แทนนวท 1, 2, 3 ทม�ชนกบวตถ ต�มลำ�ดบ โดย A’, B’, C’ จะแทนตำ�แหนงถดไปของนวดงกล�ว, cubePoints แทนจดของกลองวตถเสมอน และ normal แทนเสนตงฉ�กระน�บพน

Page 15: nattee.net · Web view4.7เคร องม อท ใช ในการพ ฒนา19 4.8ค ณล กษณะของอ ปกรณ ท ใช ก บโปรแกรม20

AA’

normal

A

B

A’

B’

A

B

A’

B’ B

15

พจ�รณ�ก�รสมผส 1 นว

รปท 9 ภ�พแสดงเรข�คณตของก�รเคลอนวตถดวยหนงนว

var move=( A'−A )

if (move ∙ (cubeCenter−A )>0 ){

cubePoints+¿move−(move ∙normal )normal

}

พจ�รณ�ก�รสมผส 2 นว

รปท 10 ภ�พแสดงเรข�คณตของก�รเคลอนวตถดวยสองนว

1. ย�ยกลองไปท A’2. ทำ�ก�รหมนกลองรอบจด A’ต�มก�รกว�ดของเวกเตอร AB

ไป A’B’ พจ�รณ�ก�รสมผส 3 นว

Page 16: nattee.net · Web view4.7เคร องม อท ใช ในการพ ฒนา19 4.8ค ณล กษณะของอ ปกรณ ท ใช ก บโปรแกรม20

A

B

A’

B’

A

B

A’

B’

CC’

C

C’

16

รปท 11 ภ�พแสดงเรข�คณตของก�รเคลอนวตถดวยส�มนว

ทำ�ก�รเคลอนทในแบบ 2 นวกอน แลวเพมก�รหมนทเกดจ�ก AC และ A’C’ เฉพ�ะสวนองคประกอบต�มแกน A’B’ รอบจด A’

ทงนเลอกเกบขอมลของกลองดวย Homogeneous transformation matrix สำ�หรบแปลงจ�กคอนดบของวตถเปนคอนดบของโลกจรง และมตของกลองไดแก กว�ง, ย�ว, ลก เพอคว�มสะดวกในก�รคำ�นวณและก�รทำ�ง�นรวมกบ OpenGL

3.8 OpenCVOpenCV เปน library ทใชสำ�หรบก�รประมวลผลภ�พ เพอนำ�ไป

พฒน�ตอในง�นด�นคอมพวเตอรวชน โดยส�ม�รถประมวลผลภ�พไดทงภ�พนงและภ�พเคลอนไหว โดยมฟงกชนสำ�เรจรปสำ�หรบจดก�รขอมลภ�พ และก�รประมวลผลภ�พพนฐ�นเชน ก�รห�ขอบภ�พ ก�รกรองขอมลภ�พ เปนตน

Page 17: nattee.net · Web view4.7เคร องม อท ใช ในการพ ฒนา19 4.8ค ณล กษณะของอ ปกรณ ท ใช ก บโปรแกรม20

17

3.9 OpenGLOpenGL เปน library สำ�หรบแสดง graphic 3D ทเลอกใชใน

ง�นน ใชในก�รแสดงภ�พสองมมมอง ในมมมองแรกคอมมมองกลอง ทำ�ก�รตงค�ก�ร projection ของ OpenGL ใหสอดคลองกบค�ของกลองจรง ทำ�ให ปล�ยนวและวตถเสมอนทว�ดซอนลงบนมมมองนมคว�มสอดคลองกบภ�พจ�กกลอง

มมมองทสองคอมมมองบน มขนเพอใหส�ม�รถทร�บระยะลกของวตถไดเพร�ะไมส�ม�รถทร�บไดจ�กภ�พในมมมองกลอง

3.10 การปรบเปลยนของผลลพธเนองจากการเปลยนระยะหางระหวางกลอง

ก�รจดกลองในท�ม�ตรฐ�นของระบบคอก�รจดใหภ�พทไดอยรวมระน�บกน ทำ�ใหส�ม�รถประม�ณระยะลกของวตถไดจ�กสมก�รอย�งง�ย (แมว�จะไมมก�รทำ� rectify)

Z= fTd

w henZ=dept h

f=focal lengt h

T=seperate distancebetween camera

d=pixel disparity

ถ�จดระยะห�งของกลองใหม ใหต�งจ�กค�ทกำ�หนดไวเดม T พบว�ระบบจะยงทำ�ง�นไดเหมอนเดมคอยงส�ม�รถเคลอนตำ�แหนงของวตถต�มตำ�แหนงของ marker เพยงแตระบบจะปรบเปลยนขน�ดวตถเสมอนไปกล�วคอ ถ�จดกลองใหห�งกนนอยกว� T จะทำ�ใหคว�มแตกต�งของภ�พ

Page 18: nattee.net · Web view4.7เคร องม อท ใช ในการพ ฒนา19 4.8ค ณล กษณะของอ ปกรณ ท ใช ก บโปรแกรม20

18

จ�กกลองทงสองลดลง กล�วคอ ค� d สำ�หรบวตถทระยะเดมลดลง เปนผลใหไดค� Z ม�กขน แตเนองจ�กขน�ดของมอในแตละภ�พยงคงเดม ระบบจงเข�ใจว�มอใหญขน หรอในอกมมมองหนงคอขน�ดของวตถเสมอนเลกลง และเลอนเข�ไปอยใกลกลองม�กขน ในท�งกลบกน ก�รจดกลองใหห�งกนม�กกว� T จะทำ�ใหเกดผลในท�งตรงกนข�ม คอวตถเสมอนใหญขน และอยใกลกลองม�กยงขน

กล�วโดยสรปคอถ�เปนก�รทำ�ง�นทไมตองก�รใหขน�ดวตถเสมอนทตงไวมค�เท�ขน�ดในโลกจรง ส�ม�รถตงกลองทคว�มห�งใดๆกไดโดยจะยงส�ม�รถควบคมวตถเสมอนดวย marker ไดต�มเดม

Page 19: nattee.net · Web view4.7เคร องม อท ใช ในการพ ฒนา19 4.8ค ณล กษณะของอ ปกรณ ท ใช ก บโปรแกรม20

19

บทท 4 รายละเอยดของการพฒนา

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

โครงก�รวจย ระบบวตถเสมอนทส�ม�รถจบดวยมอได คอก�ร“ ”พฒน�ระบบทส�ม�รถจำ�ลองปฏสมพนธเชงก�ยภ�พระหว�งมอกบวตถเสมอนใน Augmented reality ได โดยส�ม�รถสรปภ�พรวมของก�รพฒน�ไดดงตอไปน

Hand feature extractionคอก�รแยกแยะมอออกจ�กภ�พ และห�จดสำ�คญของมอคอ ปล�ยนว เพอทำ�ก�รคำ�นวณพกดส�มมตในขนตอไป โดยใชปลอกนวเปน Marker ตดทปล�ยนว แยกสต�มนว เพอชวยในก�รแยกแยะมอออกจ�กภ�พ

Stereopsisเปนวธทใชในก�รห�ตำ�แหนงส�มมตของปล�ยนวทห�ไดจ�กขนกอนหน�โดยอ�ศยภ�พทไดจ�กกลองสองตวทต�งมมมองกนในก�รคำ�นวณห�คว�มลก มประเดนทตองพจ�รณ�ดงนo Correspondence

ใชสของ marker ในก�รระบจดทแทนปล�ยนวเดยวกนในแตละภ�พทคกน แทนก�ร search corresponding point แบบปกต

o Reconstructionใชก�รทำ� Triangulation เพอห�พกดส�มมตของปล�ยนว

Physic Engineเปนสวนคำ�นวณคว�มสมพนธระหว�งพกดส�มมตของมอกบวตถเสมอน

Page 20: nattee.net · Web view4.7เคร องม อท ใช ในการพ ฒนา19 4.8ค ณล กษณะของอ ปกรณ ท ใช ก บโปรแกรม20

20

Final Applicationรวมสวนประกอบทงหมดเข�ดวยกน

4.2 Input / Output Specification Input: ภ�พวดโอจ�กกลองเวบแคมจ�ก 2 มมมองทใกลเคยง

กน ซงแสดงก�รเคลอนไหวของมอผใช Output: ก�รตอบสนองของระบบวตถเสมอนทสอดคลองกบ

มอ

4.3 Functional Specificationขอกำ�หนดเชงหน�ทของโครงง�นระบบวตถเสมอน ส�ม�รถอธบ�ย

แยกเปน 2 สวน คอ Hand recognition unit:

เป�หม�ย: ห�พกดไดถกตองและตอเนอง 80% แบบ real-time

Physic engine unit:เป�หม�ย: ทำ�ก�รจำ�ลองคว�มสมพนธท�งก�ยภ�พไดใกลเคยงคว�มจรงแบบ real-time

Graphic display unit:เป�หม�ย: แสดงภ�พไดแบบ real-time

Page 21: nattee.net · Web view4.7เคร องม อท ใช ในการพ ฒนา19 4.8ค ณล กษณะของอ ปกรณ ท ใช ก บโปรแกรม20

Hand recognition unit

Physic engine unit

Graphic display unit

21

4.4 โครงสรางของซอฟตแวร

โครงง�นระบบวตถเสมอน ไดแบงออกเปนหนวยยอยๆ โดยแตละหนวยมโครงสร�งก�รทำ�ง�นทสมพนธกนเปนลำ�ดบขนตอนดงแผนผงลำ�ดบง�นด�นล�งน

รปท 12 โครงสร�งของซอฟตแวร

โดยแตละสวนมร�ยละเอยด ดงน Hand recognition unit:

ห�พกดส�มมตของจดสำ�คญบนมอไดจ�กขอมลภ�พของกลองเวบแคม

Physic engine unit:คำ�นวณปฏสมพนธเชงก�ยภ�พระหว�งมอและวตถเสมอนไดใน 3 รปแบบคอ จบ, ผลก, บด

Graphic display unit:แสดงวตถซอนลงบนภ�พจ�กเวบแคมต�มผลก�รคำ�นวณของ Physic engine ได โดยจะแสดงวตถเสมอนในกรอบอ�งองของกลองเสมอ (โครงก�รจงจะไมมก�รใชตวอ�งองตำ�แหนงในโลกจรง (marker))

Page 22: nattee.net · Web view4.7เคร องม อท ใช ในการพ ฒนา19 4.8ค ณล กษณะของอ ปกรณ ท ใช ก บโปรแกรม20

22

4.5 ตวอยางโปรแกรม

โปรแกรมทพฒน�ขนใชวตถส�มมตแทนวตถในโลกจรงและในโลกเสมอนดงน

รปท 13 ทรงกลมแทนปลอกนว (Marker) ทเจอในระบบ

รปท 14 วตถเสมอนรปสเหลยมและ model แทนวตถเสมอน

โดยจะมสองมมมองใหใชสำ�หรบก�รควบคมคอมมมองกลองและมมมองบน

Page 23: nattee.net · Web view4.7เคร องม อท ใช ในการพ ฒนา19 4.8ค ณล กษณะของอ ปกรณ ท ใช ก บโปรแกรม20

23

รปท 15 มมมองกลองและมมมอง Top-view

4.6 ขอบเขตและขอจำากดของโปรแกรมทพฒนา

เพอพฒน�ระบบวตถเสมอนจรงทส�ม�รถทำ�ก�รปฏสมพนธกบมอในเชงก�ยภ�พในลกษณะของ Augmented reality (คอรบ input ผ�นกลองและแสดงภ�พวตถซอนลงบนภ�พจ�กกลอง)

สร�งชดโมเดลวตถเสมอนจรงตวอย�งทดสอบ 1 ชด คอชดของเลนตวตอเสรมทกษะ

เนองจ�กใชเวบแคมในก�รพฒน�จงตองก�รสภ�วะแวดลอมในก�รใชง�นทมแสงเพยงพอ

Physic engine ททำ�ก�รพฒน�ขนจะมขอจำ�กดดงนo มก�รคำ�นวณคว�มสมพนธเฉพ�ะระหว�งมอกบวตถ จะไม

พจ�รณ�ก�รชนของกนของวตถเสมอนo วตถเสมอนเปนรปลกบ�ศก (ส�ม�รถใชวตถรปทรงอนใน

ลกบ�ศกใสไดในลกษณะของ bounding box)

Page 24: nattee.net · Web view4.7เคร องม อท ใช ในการพ ฒนา19 4.8ค ณล กษณะของอ ปกรณ ท ใช ก บโปรแกรม20

24

ทงนเพอใหง�นมประเดนอยในเรอง Computer vision เปนหลก

4.7 เครองมอทใชในการพฒนา

Microsoft Visual Studio 2008เปน IDE ทใชในก�รพฒน�โครงง�น โดยใชภ�ษ� C++ เปนหลก

OpenCVเปน library ใชสำ�หรบก�รประมวลผลด�น Image

Processing และ Computer Vision OpenGL

เปน library ใชสำ�หรบแสดงกร�ฟกส�มมต GLUT (OpenGL Utility Toolkit)

ใชในก�รควบคมก�รทำ�ง�นของระบบวนโดวส เพอใหโปรแกรมทเร�สร�งขนม�ส�ม�รถถกนำ�ไปใชบน platform อนๆ ได

GLUI (GLUT-Based User Interface Library)ไลบร�รตวเชอมสำ�หรบภ�ษ� C++ บนพนฐ�นของ GLUT ซงจะประกอบดวยตวคอนโทรลในลกษณะเดยวกนกบวนโดวสแบบต�งๆ สำ�หรบใชกบ OpenGL

กลองเวบแคมจำ�นวน 2 ตวใชสำ�หรบรบภ�พอนพตจ�ก 2 มมมอง

4.8 คณลกษณะของอปกรณทใชกบโปรแกรม

ชดกลอง Webcam Logitech รน QuickCam Pro 4000(V-UT16) 2 ตว ว�งตวขน�นกน, ห�งจ�กกน 3.5” ยดฐ�นมนคง

Page 25: nattee.net · Web view4.7เคร องม อท ใช ในการพ ฒนา19 4.8ค ณล กษณะของอ ปกรณ ท ใช ก บโปรแกรม20

25

รปท 16 ชดกลอง Webcam Logitech รน QuickCam Pro 4000(V-UT16)

Page 26: nattee.net · Web view4.7เคร องม อท ใช ในการพ ฒนา19 4.8ค ณล กษณะของอ ปกรณ ท ใช ก บโปรแกรม20

26

บทท 5 กลมผใชโปรแกรม

โครงง�นวตถเสมอน มกลมเป�หม�ยผใชง�นดงน

ผใชทตองก�รจดก�รกบวตถส�มมตดวยก�รเคลอนย�ยดวยมอ ทงใน Augmented reality

ผใชทตองก�รควบคมคอมพวเตอรดวยมอ ซงระบบทำ�ใหส�ม�รถควบคมไดทงสองมตแบบปกต และมตคว�มลกดวย

กลมผใชทสนใจในเทคโนโลยประเภท Augmented Reality หรอสนใจในผลง�นด�น Computer Vision

Page 27: nattee.net · Web view4.7เคร องม อท ใช ในการพ ฒนา19 4.8ค ณล กษณะของอ ปกรณ ท ใช ก บโปรแกรม20

27

บทท 6 ผลการทดสอบโปรแกรม

Page 28: nattee.net · Web view4.7เคร องม อท ใช ในการพ ฒนา19 4.8ค ณล กษณะของอ ปกรณ ท ใช ก บโปรแกรม20

28

บทท 7 ปญหาและอปสรรค

ในระหว�งก�รพฒน�โครงง�น ผพฒน�พบปญห�ในก�รดำ�เนนโครงง�น ดงน

1. ปญห�เรองคว�มเชยวช�ญในก�รเขยนโปรแกรมดวยภ�ษ� C++เนองจ�กคว�มไมชำ�น�ญในภ�ษ�ทใชเขยนโปรแกรมในชวงแรก ๆ จงทำ�ใหในแตละขนตอนก�รทำ�ง�น จำ�เปนตองตรวจสอบคว�มถกตองกอนเสมอ ทำ�ใหก�รทำ�ง�นเปนไปอย�งล�ช� และย�กตอก�รตรวจสอบ ซงปญห�นมแนวท�งก�รแกไขคอ ศกษ�ก�รทำ�ง�นของคำ�สงทใชเปนประจำ�อย�งละเอยด จะทำ�ใหก�รทำ�ง�นเปนไปอย�งมประสทธภ�พ และรวดเรวม�กยงขน

2. ปญห�คว�มไมชำ�น�ญในก�รใชเครองมอ OpenCVเนองจ�กเครองมอ OpenCV นนเปนอปกรณทมคว�มซบซอนในตวเองเปนอย�งม�ก ทำ�ใหตองใชเวล�ในก�รคนคว�ห�คำ�ตอบเพอไขปญห�ขอสงสยม�ก ทงจ�กท�งหนงสอและท�งอนเตอรเนต เชนก�รกลบกนของ RGB เปน BGR และ ก�รไม Release Frame ในแตละ loop เปนตน ตวอย�งทกล�วข�งตนทำ�ใหผลลพธของระบบไมเปนไปต�มทตองก�ร และตองใชเวล�ม�กในก�รคนคว�ห�ส�เหต ปญห�นมแนวท�งก�รแกไขไดโดย ศกษ�คนคว�จ�กอนเตอรเนต และ ไดรบแนะนำ�จ�กอ�จ�รยทปรกษ�โครงก�รและรนพในหองทดลอง

Page 29: nattee.net · Web view4.7เคร องม อท ใช ในการพ ฒนา19 4.8ค ณล กษณะของอ ปกรณ ท ใช ก บโปรแกรม20

29

บทท 8 แนวทางการพฒนาตอในอนาคต

ในแตละสวนทไดทำ�ก�รพฒน�ขน ผพฒน�ไดเหนถงแนวท�งในก�รตอยอดดงน

สวนก�รห�ปล�ยนวส�ม�รถใช Algorithm ทซบซอนขนเพอทจะห�ปล�ยนวโดยไมตองอ�ศย marker เลยกได

สวนของกลองส�ม�รถเพมคว�มถกตองของตำ�แหนงปล�ยนวจ�กสองกลอง ใหละเอยดม�กยงขน, สอดคลองกนเชงเวล�ม�กยงขน (Synchronized) และมอตร�ก�รรบภ�พทเรวยงขน (frame per sec) ไดดวยก�รใชกลองทดยงขน

สวนของ Physic engineส�ม�รถเพมเตมคว�มสมจรงดวยก�รนำ� Physic engine ขน�ดใหญเชน Open dynamic engine (ODE) ม�ใสก�รคำ�นวณเพมเตมเชน แรงต�งๆ, และก�รชนกนระหว�งวตถเสมอน

สวนแสดงผลo ส�ม�รถพฒน� User interface แบบส�มมตเพอให

ส�ม�รถใชง�นระบบไดหล�กหล�ยม�กยงขนo ส�ม�รถแสดงผลดวยจอภ�พแบบ Head mounted

display ซงจะทำ�ใหระบบมคว�มสมจรงม�กยงขนo ส�ม�รถพฒน�ใหแสดงผลใน Virtual reality หรอใชใน

ง�นควบคมคอมพวเตอรแทนได

Page 30: nattee.net · Web view4.7เคร องม อท ใช ในการพ ฒนา19 4.8ค ณล กษณะของอ ปกรณ ท ใช ก บโปรแกรม20

30

ทงนท�งผพฒน�ไดทำ� ก�รพฒน� API ใหนกพฒน�คนอนๆ ส�ม�รถเรยกใช และนำ�ไปประยกตใชกบง�นประเภทอนๆ ไดต�มทตองก�รโดยแยกออกเปน Class ต�งๆอย�งละเอยด แตอย�งไรกต�ม ก�รนำ� API ไปใช จะตองอ�ศยทกษะก�รเขยนโปรแกรม และก�รเรยนรก�รใชง�นอยบ�งซงส�ม�รถทำ�ไดจ�กก�รศกษ� Source code และโปรแกรมตวอย�ง

Page 31: nattee.net · Web view4.7เคร องม อท ใช ในการพ ฒนา19 4.8ค ณล กษณะของอ ปกรณ ท ใช ก บโปรแกรม20

31

บทท 9 ขอสรปและขอเสนอแนะ

โดยสรปแลว ระบบส�ม�รถจำ�ลองปฏสมพนธเชงก�ยภ�พไดผลลพธและคว�มถกตองเปนทน�พอใจ อย�งไรกต�ม ก�รใชปลอกนวส เปน marker ทำ�ใหมขอจำ�กดเรองคว�มเขมของแสง และสรบกวนในฉ�กหลงทำ�ใหเกดคว�มผดพล�ดขนเปนบ�งครง

ทงน จงยงส�ม�รถนำ�ไปพฒน�ตอยอด เพอทำ�ใหระบบมคว�มสมบรณ และส�ม�รถประยกตใชในง�นทหล�กหล�ยม�กยงขน นอกจ�กน โครงก�รนยงไดนำ�คว�มรท�งด�น Digital Image Processing และ Computer Vision ม�ประยกตใชเข�ดวยกน โดยใชเทคนคหล�ยๆอย�ง จงหวงว�จะเปนประโยชนตอผทศกษ�ก�รทำ�ง�นของโครงก�รน

Page 32: nattee.net · Web view4.7เคร องม อท ใช ในการพ ฒนา19 4.8ค ณล กษณะของอ ปกรณ ท ใช ก บโปรแกรม20

32

บทท 10 เอกสารอางอง

[1] Emanuele Trucco and Alessandro Verri, “Introductory Techniques for 3-D Computer Vision”, Prentice Hall, 1998

[2] Gary Bradski and Adrian Kaehler, “Learning OpenCV”, 1st edition, United State of America: O’Reilly, 2008

[3] Wikitude, http://www.wikitude.org/[4] Austrian startup Mobilizy unveils augmented reality

driving directions, http://social.venturebeat.com/2009/08/28/austrian-startup-mobilizy-unveils-augmented-reality-driving-directions/

[5] Augmented Reality - Layar Reality Browser, http://www.layar.com

[6] Layar, worlds first mobile Augmented Reality browser, http://www.youtube.com/watch?v=b64_16K2e08

[7] New YouCam 3 Webcam Software, http://www.cyberlink.com/products/youcam/overview_en_US.html

[8] PIT Strategy, http://www.augmented-reality-games.com/page.asp?pageid=215

[9] Kweekies, http://www.int13.net/kweekies-augmented-reality/en/

[10] Georg Klein and David Murray, “Parallel Tracking and Mapping for Small AR Workspaces”, Active Vision Laboratory, University of Oxford, 2007, http://www.robots.ox.ac.uk/~gk/publications/KleinMurray2007ISMAR.pdf

[11] Parallel Tracking and Mapping (PTAM) news, http://ewokrampage.wordpress.com/

[12] Pranav Mistry and Pattie Maes and Liyan Chang, “WUW - Wear Ur World - A Wearable Gestural Interface”, MIT Media Lab,

Page 33: nattee.net · Web view4.7เคร องม อท ใช ในการพ ฒนา19 4.8ค ณล กษณะของอ ปกรณ ท ใช ก บโปรแกรม20

33

http://fluid.media.mit.edu:4000/assets/_pubs/wip177-mistry.pdf

[13] C. Keskin, A. Erkan, L. Akarun, “REAL TIME HAND TRACKING AND 3D GESTURE RECOGNITION FOR INTERACTIVE INTERFACES USING HMM”, Boğaziçi University, 2009, http://cs.nyu.edu/~naz/docs/icann.pdf

[14] Handvu Hand Gesture Recognition, http://www.movesinstitute.org/~kolsch/HandVu/HandVu.html

[15] HandVu for virtual and augmented environments, 2004, http://www.movesinstitute.org/~kolsch/HandVu/hv_ARVR.wmv

[16] Le Dung and Makoto Mizukawa, “Fast Hand Feature Extraction Based on Connected Component Labeling, Distance Transform and Hough Transform”, Shibaura Institute of Technology, 2009

[17] Camera Calibration Toolbox for Matlab, http://www.vision.caltech.edu/bouguetj/calib_doc

[18] ผศ.ดร.ธน�รตน ชลด�พงศ, เอกส�รประกอบก�รสอนวช�คอมพวเตอรวชน 2/2553