Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
สารบญ
บทท 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
2
4.7 เครองมอทใชในก�รพฒน�...................................................................................19
4.8 คณลกษณะของอปกรณทใชกบโปรแกรม...................................................20
บทท 5 กลมผใชโปรแกรม....................................................................................................22
บทท 6 ผลก�รทดสอบโปรแกรม......................................................................................23
บทท 7 ปญห�และอปสรรค.................................................................................................24
บทท 8 แนวท�งก�รพฒน�ตอในอน�คต.....................................................................25
บทท 9 ขอสรปและขอเสนอแนะ........................................................................................26
บทท 10 เอกส�รอ�งอง........................................................................................................27
3
บทท 1 บทนำา
1.1 แนวคดของโครงงาน
ในปจจบนเทคโนโลย Augmented reality กำ�ลงเข�ม�มบทบ�ทม�กขนตอก�รดำ�รงชวตของเร� ทงจ�กท�ง Smart phone ทเร มมก�รนำ�เทคโนโลยนเข�ม�แกไขปญห�ต�งๆ เชน ก�รผส�นขอมลสถ�นทบนแผนทและตำ�แหนงจ�ก GPS เข�กบภ�พถ�ยจ�กกลองวดโอเพอบอกทศท�ง, ก�รรจำ�และใหขอมลสถ�นทสำ�คญโดยก�รวเคร�ะหจ�กภ�พวดโอและตำ�แหนงจ�ก GPS เปนตน นอกจ�กนนยงมก�รใชเทคโนโลยนบนอปกรณอนๆ เชน ก�รเตมลกเลนบนภ�พถ�ยใหสอดคลองกบใบหน�คน, ก�รเสรม effect บนเกมสกระด�นเพอใหเกมมคว�มสมจรงและสนกยงขน เปนตน ยงไปกว�นนยงมก�รผส�นวตถเสมอนเข�กบโลกจรงดวยก�รวเคร�ะหภ�พจ�กโลกจรงกอนแลวแสดงภ�พวตถเสมอนซอนลงไปเหมอนกบว�มวตถจรงอยตรงนนเชน เกม Kweekie, Parallel Tracking and Mapping for Small AR Workspaces เปนตน
1.2 ความสำาคญของโครงงาน
โครงง�นวศวกรรมคอมพวเตอร ระบบวตถเสมอน นถกจดทำ�ขน“ ” เพอทำ�ก�รศกษ�ก�รควบคมวตถเสมอนดวยมอในส�มมตผ�นท�งกลองเวบแคมโดยเนนก�รจำ�ลองก�รปฏสมพนธระหว�งมอและวตถเสมอนในเชงก�ยภ�พ คอทำ�ใหเร�ส�ม�รถจบและเคลอนย�ยวตถเสมอนในส�มมตได ทงนเพอเปนก�รเสรมคว�มสมจรงของวตถดงกล�วอนจะทำ�ใหเกดประโยชนกบง�นด�น Augmented reality โดยเฉพ�ะในด�นก�รนำ�เทคโนโลยดงกล�วม�ใชในก�รสร�งระบบวตถเสมอนจรงทตองก�รใหมปฏสมพนธกบคนผ�นก�รจบดวยมอ เชน ระบบวตถเสมอนสำ�หรบทำ�ก�ร
4
ทดลองท�งวทย�ศ�สตร , ระบบวตถเสมอนของเลนตวตอเสรมทกษะ เปนตน โดยผลสำ�เรจจะเปนโปรแกรมระบบวตถเสมอนจรงทส�ม�รถปรบใหแสดงระบบวตถ ใดๆกไดต�มกบชดโมเดลทโหลดใหกบระบบ
1.3 ความเปนมาของโครงงาน
ถงแมว�จะมผลง�นหล�ยๆ ชนทพย�ย�มแสดงวตถเสมอนใหสมจรงดวยก�รแสดงเปนภ�พส�มมต และพย�ย�มทำ�สวนตดตอผใชใหส�ม�รถใชท�มอในก�รตดตอกบระบบผ�นท�งกลองเวบแคม เชน Sixth Sense, Hand Gesture Recognition for interactive interfaces, HandVu เปนตน แตอย�งไรกต�ม เร�ไมส�ม�รถใชมอจบวตถทแสดงนนได ซ งผลง�นเหล�นนเนนก�รวเคร�ะหแยกแยะท�ท�งมอเพอทำ�ก�รควบคมระบบ เนนก�รควบคมระบบในสองมต ทำ�ใหไมส�ม�รถควบคมวตถทเปนส�มมตไดอย�งสมจรงและเปนธรรมช�ต ก�รพฒน�ก�รจำ�ลองปฏสมพนธเชงก�ยภ�พระหว�งมอและวตถเสมอนจงเปนสงสำ�คญทจะชวยใหก�รควบคมวตถเสมอนเหล�นนง�ย และเปนธรรมช�ตม�กยงขน อนจะทำ�ใหเกดก�รพฒน� Application ทหล�กหล�ยยงขนในรปแบบของ Augmented reality ทสมจรงม�ยงขน นอกจ�กนนยงส�ม�รถนำ�ไปประยกตใชในก�รทำ�ก�รควบคมคอมพวเตอร และ Virtual reality ไดอกดวย
5
บทท 2 วตถประสงคและเปาหมาย
โครงง�นระบบวตถเสมอน เปนระบบจำ�ลองก�รควบคมวตถในส�มมต ซงมวตถประสงคและเป�หม�ยของโครงง�นดงตอไปน
1. เพอทำ�ใหส�ม�รถ จบ, ผลก และ บด วตถเสมอนใน Augmented reality ดวยมอได
2. เพอสร�งชดโมเดลวตถเสมอนจรงตวอย�งทดสอบ 1 ชด คอชดของเลนตวตอเสรมทกษะ
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
7
รปท 2 ก�ร Smoothing โดยใช mean filtering โดยใช mask ทมขน�ดต�งๆ กน
3.2 ปรภมส RGB และปรภมส HSV (HSV Color space and HSV Color space)
ปรภมส RGB เปนปรภมสทใชกนอย�งแพรหล�ยในระบบภ�พดจตอลคอมพวเตอร โดยแทนค�สของจดภ�พแตละจดภ�พดวยเวกเตอรส�มมต ซงแทนค�สปฐมภมไดแก สแดง, สเขยว และ สนำ�เงน โดยมชวงของค�สระหว�ง 0-255 ซงปรภมส RGB จะมลกษณะเปนรปลกบ�ศก ดงรป
รปท 3 ปรภมส RGB
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
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)
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 คอทร�บขน�ดของชอง และจำ�นวนชองทแนนอนเปนตวอ�งอง โดยถ�ยภ�พในหล�ยๆ มมมอง แลวนำ�ไปห�จดตดของชองต�ร�งหม�กรก แลวคำ�นวณขนเปนคณสมบตของระบบกลองทตองก�ร
11
รปท 6 ภ�พแสดงก�รทำ� Camera calibration ดวย MATLAB
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 ของแตละกลอง
13
ประโยชนของ Epipolar geometry คอชวยในก�รแกปญห� correspondence problem และเปนโมเดลในก�รคำ�นวณท�งเรข�คณตของระบบ เชน ก�รทำ� rectification, reconstruction
Correspondence problemเนองจ�กโครงก�รนใช marker ตดทปล�ยนวแยกสเพอห�นวมอ ทำ�ใหไมตองแกปญห� correspondence โดยส�ม�รถจบคปล�ยนวในสองภ�พดวยสไดเลย
Reconstructionใชก�รทำ� Triangulation
รปท 8 ภ�พแสดงก�รทำ� Triangulation
เปนก�รห�ตำ�แหนงส�มมตของวตถโดยตรงจ�กขอมลท�งเรข�คณตของระบบทม ทงนคว�มถกตองของขอมลทไดจงขนอยกบระดบคว�มถกตองของขอมลท�งก�ยภ�พของระบบทห�ได
14
3.7 Physic Engineเปนสวนทตองตงสมมตฐ�นใหวตถในระบบเพมเตม เพร�ะเนองจ�ก
วตถเสมอนไมส�ม�รถมก�รตอบสนองกลบ (Feedback) ม�ทมอไดดงนนเมอถกควบคมดวยมอวตถจะอยในสภ�พคล�ย ไมมมวลเพร�ะไมส�ม�รถฝนแรงของมอไดและเก�ะตดไปกบนว โดยแยกก�รคำ�นวณออกเปนกรณต�งๆ ต�มจำ�นวนนวทม�ชนวตถ
ใหจด A, B, C แทนนวท 1, 2, 3 ทม�ชนกบวตถ ต�มลำ�ดบ โดย A’, B’, C’ จะแทนตำ�แหนงถดไปของนวดงกล�ว, cubePoints แทนจดของกลองวตถเสมอน และ normal แทนเสนตงฉ�กระน�บพน
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 นว
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 ทใชสำ�หรบก�รประมวลผลภ�พ เพอนำ�ไป
พฒน�ตอในง�นด�นคอมพวเตอรวชน โดยส�ม�รถประมวลผลภ�พไดทงภ�พนงและภ�พเคลอนไหว โดยมฟงกชนสำ�เรจรปสำ�หรบจดก�รขอมลภ�พ และก�รประมวลผลภ�พพนฐ�นเชน ก�รห�ขอบภ�พ ก�รกรองขอมลภ�พ เปนตน
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 จะทำ�ใหคว�มแตกต�งของภ�พ
18
จ�กกลองทงสองลดลง กล�วคอ ค� d สำ�หรบวตถทระยะเดมลดลง เปนผลใหไดค� Z ม�กขน แตเนองจ�กขน�ดของมอในแตละภ�พยงคงเดม ระบบจงเข�ใจว�มอใหญขน หรอในอกมมมองหนงคอขน�ดของวตถเสมอนเลกลง และเลอนเข�ไปอยใกลกลองม�กขน ในท�งกลบกน ก�รจดกลองใหห�งกนม�กกว� T จะทำ�ใหเกดผลในท�งตรงกนข�ม คอวตถเสมอนใหญขน และอยใกลกลองม�กยงขน
กล�วโดยสรปคอถ�เปนก�รทำ�ง�นทไมตองก�รใหขน�ดวตถเสมอนทตงไวมค�เท�ขน�ดในโลกจรง ส�ม�รถตงกลองทคว�มห�งใดๆกไดโดยจะยงส�ม�รถควบคมวตถเสมอนดวย marker ไดต�มเดม
19
บทท 4 รายละเอยดของการพฒนา
4.1 ภาพรวมของการพฒนาระบบ
โครงก�รวจย ระบบวตถเสมอนทส�ม�รถจบดวยมอได คอก�ร“ ”พฒน�ระบบทส�ม�รถจำ�ลองปฏสมพนธเชงก�ยภ�พระหว�งมอกบวตถเสมอนใน Augmented reality ได โดยส�ม�รถสรปภ�พรวมของก�รพฒน�ไดดงตอไปน
Hand feature extractionคอก�รแยกแยะมอออกจ�กภ�พ และห�จดสำ�คญของมอคอ ปล�ยนว เพอทำ�ก�รคำ�นวณพกดส�มมตในขนตอไป โดยใชปลอกนวเปน Marker ตดทปล�ยนว แยกสต�มนว เพอชวยในก�รแยกแยะมอออกจ�กภ�พ
Stereopsisเปนวธทใชในก�รห�ตำ�แหนงส�มมตของปล�ยนวทห�ไดจ�กขนกอนหน�โดยอ�ศยภ�พทไดจ�กกลองสองตวทต�งมมมองกนในก�รคำ�นวณห�คว�มลก มประเดนทตองพจ�รณ�ดงนo Correspondence
ใชสของ marker ในก�รระบจดทแทนปล�ยนวเดยวกนในแตละภ�พทคกน แทนก�ร search corresponding point แบบปกต
o Reconstructionใชก�รทำ� Triangulation เพอห�พกดส�มมตของปล�ยนว
Physic Engineเปนสวนคำ�นวณคว�มสมพนธระหว�งพกดส�มมตของมอกบวตถเสมอน
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
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))
22
4.5 ตวอยางโปรแกรม
โปรแกรมทพฒน�ขนใชวตถส�มมตแทนวตถในโลกจรงและในโลกเสมอนดงน
รปท 13 ทรงกลมแทนปลอกนว (Marker) ทเจอในระบบ
รปท 14 วตถเสมอนรปสเหลยมและ model แทนวตถเสมอน
โดยจะมสองมมมองใหใชสำ�หรบก�รควบคมคอมมมองกลองและมมมองบน
23
รปท 15 มมมองกลองและมมมอง Top-view
4.6 ขอบเขตและขอจำากดของโปรแกรมทพฒนา
เพอพฒน�ระบบวตถเสมอนจรงทส�ม�รถทำ�ก�รปฏสมพนธกบมอในเชงก�ยภ�พในลกษณะของ Augmented reality (คอรบ input ผ�นกลองและแสดงภ�พวตถซอนลงบนภ�พจ�กกลอง)
สร�งชดโมเดลวตถเสมอนจรงตวอย�งทดสอบ 1 ชด คอชดของเลนตวตอเสรมทกษะ
เนองจ�กใชเวบแคมในก�รพฒน�จงตองก�รสภ�วะแวดลอมในก�รใชง�นทมแสงเพยงพอ
Physic engine ททำ�ก�รพฒน�ขนจะมขอจำ�กดดงนo มก�รคำ�นวณคว�มสมพนธเฉพ�ะระหว�งมอกบวตถ จะไม
พจ�รณ�ก�รชนของกนของวตถเสมอนo วตถเสมอนเปนรปลกบ�ศก (ส�ม�รถใชวตถรปทรงอนใน
ลกบ�ศกใสไดในลกษณะของ bounding box)
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” ยดฐ�นมนคง
25
รปท 16 ชดกลอง Webcam Logitech รน QuickCam Pro 4000(V-UT16)
26
บทท 5 กลมผใชโปรแกรม
โครงง�นวตถเสมอน มกลมเป�หม�ยผใชง�นดงน
ผใชทตองก�รจดก�รกบวตถส�มมตดวยก�รเคลอนย�ยดวยมอ ทงใน Augmented reality
ผใชทตองก�รควบคมคอมพวเตอรดวยมอ ซงระบบทำ�ใหส�ม�รถควบคมไดทงสองมตแบบปกต และมตคว�มลกดวย
กลมผใชทสนใจในเทคโนโลยประเภท Augmented Reality หรอสนใจในผลง�นด�น Computer Vision
27
บทท 6 ผลการทดสอบโปรแกรม
28
บทท 7 ปญหาและอปสรรค
ในระหว�งก�รพฒน�โครงง�น ผพฒน�พบปญห�ในก�รดำ�เนนโครงง�น ดงน
1. ปญห�เรองคว�มเชยวช�ญในก�รเขยนโปรแกรมดวยภ�ษ� C++เนองจ�กคว�มไมชำ�น�ญในภ�ษ�ทใชเขยนโปรแกรมในชวงแรก ๆ จงทำ�ใหในแตละขนตอนก�รทำ�ง�น จำ�เปนตองตรวจสอบคว�มถกตองกอนเสมอ ทำ�ใหก�รทำ�ง�นเปนไปอย�งล�ช� และย�กตอก�รตรวจสอบ ซงปญห�นมแนวท�งก�รแกไขคอ ศกษ�ก�รทำ�ง�นของคำ�สงทใชเปนประจำ�อย�งละเอยด จะทำ�ใหก�รทำ�ง�นเปนไปอย�งมประสทธภ�พ และรวดเรวม�กยงขน
2. ปญห�คว�มไมชำ�น�ญในก�รใชเครองมอ OpenCVเนองจ�กเครองมอ OpenCV นนเปนอปกรณทมคว�มซบซอนในตวเองเปนอย�งม�ก ทำ�ใหตองใชเวล�ในก�รคนคว�ห�คำ�ตอบเพอไขปญห�ขอสงสยม�ก ทงจ�กท�งหนงสอและท�งอนเตอรเนต เชนก�รกลบกนของ RGB เปน BGR และ ก�รไม Release Frame ในแตละ loop เปนตน ตวอย�งทกล�วข�งตนทำ�ใหผลลพธของระบบไมเปนไปต�มทตองก�ร และตองใชเวล�ม�กในก�รคนคว�ห�ส�เหต ปญห�นมแนวท�งก�รแกไขไดโดย ศกษ�คนคว�จ�กอนเตอรเนต และ ไดรบแนะนำ�จ�กอ�จ�รยทปรกษ�โครงก�รและรนพในหองทดลอง
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 หรอใชใน
ง�นควบคมคอมพวเตอรแทนได
30
ทงนท�งผพฒน�ไดทำ� ก�รพฒน� API ใหนกพฒน�คนอนๆ ส�ม�รถเรยกใช และนำ�ไปประยกตใชกบง�นประเภทอนๆ ไดต�มทตองก�รโดยแยกออกเปน Class ต�งๆอย�งละเอยด แตอย�งไรกต�ม ก�รนำ� API ไปใช จะตองอ�ศยทกษะก�รเขยนโปรแกรม และก�รเรยนรก�รใชง�นอยบ�งซงส�ม�รถทำ�ไดจ�กก�รศกษ� Source code และโปรแกรมตวอย�ง
31
บทท 9 ขอสรปและขอเสนอแนะ
โดยสรปแลว ระบบส�ม�รถจำ�ลองปฏสมพนธเชงก�ยภ�พไดผลลพธและคว�มถกตองเปนทน�พอใจ อย�งไรกต�ม ก�รใชปลอกนวส เปน marker ทำ�ใหมขอจำ�กดเรองคว�มเขมของแสง และสรบกวนในฉ�กหลงทำ�ใหเกดคว�มผดพล�ดขนเปนบ�งครง
ทงน จงยงส�ม�รถนำ�ไปพฒน�ตอยอด เพอทำ�ใหระบบมคว�มสมบรณ และส�ม�รถประยกตใชในง�นทหล�กหล�ยม�กยงขน นอกจ�กน โครงก�รนยงไดนำ�คว�มรท�งด�น Digital Image Processing และ Computer Vision ม�ประยกตใชเข�ดวยกน โดยใชเทคนคหล�ยๆอย�ง จงหวงว�จะเปนประโยชนตอผทศกษ�ก�รทำ�ง�นของโครงก�รน
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,
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