Upload
thinvestorclub-ktbst
View
213
Download
0
Embed Size (px)
DESCRIPTION
My Senoir Project
Citation preview
บทท 1
บทนำ
1.1 ทมาและความสำคญของปญหา
ศพทภาษาองกฤษมอยมากมายโดยอาจพบจากการอานหนงสอนวนยาย หนงสอพมพ หนงสอ
เรยน ซงคนไทยสวนหนงไมสามารถใชภาษาองกฤษไดหรออาจตดขดในคำศพททไมทราบความหมาย ดง
นนจงตองมเครองมอทใชแปลศพทองกฤษเปนภาษาไทยโดยทเครองมอเหลานควรจะพกพาไดสะดวก
ทงนอปกรณพกพามหลากหลายรปแบบโดยทสวนหนงเปนแบบทใชระบบหนาจอสมผสและอกทงยงม
กลองถายรป ดงนนจงมแนวคดทจะใชกลองและหนาจอสมผสนสรางแอปพลเคชนแปลภาษาองกฤษเปน
ภาษาไทยดวยวธใชงานทแตกตางจากการพมพ เพอตอบโจทยทวา “ เปนไปไดไหมทเพยงแคการสมผส
หนาจอเพยงครงเดยวกสามารถไดความหมายของศพททตองการ “ โดยอาศยภาพจากกลองถายรปแลวใช
กระบวนการ OCR เพออานคำศพทในภาพ
1.2 วตถประสงค
1.2.1 เพอสรางแอปพลเคชนทสามารถแปลคำศพทภาษาองกฤษเปนภาษาไทยโดยใช OCR
1.2.2 เพอสรางแอปพลเคชนแปลคำศพทภาษาองกฤษทใชงานงาย สะดวก
1.2.3 เพอสรางแอปพลเคชนแปลคำศพททสามารถใชงานไดบนอปกรณพกพา
1.3 ลกษณะและขอบเขตของโครงงาน
1.3.1 สามารถอานตวอกษร A - Z และ a - z ในภาพได
1.3.2 Font ของภาษาองกฤษทรองรบคอ Times New Roman และ Font อนๆ รวมกนอยางนอย 3
Fonts
1.3.3 สามารถเลอกถายภาพใหมหรอภาพทมอยแลวในเครอง (Photo Albums)
1.3.4 การทำงานของแอปพลเคชนเปนแบบ Snapshot คอ ผใชเลอกถายภาพหรอเลอกภาพ (Photo
Album) แลวจงนำเขาสการประมวลผลภาพ
1.3.5 ตวอกษรในภาพตองคมชดมากพอและไมเลกจนเกนไป อยางนอยตองสามารถอานไดดวย
มนษย เพอประสทธภาพในการประมลผลภาพ
1.3.6 เลอกคำศพทโดยการลากแทบดำครอบทตวอกษร
1
1.3.7 สามารถปอนคำโดยตรงดวยการพมพคำศพทได
1.3.8 การแปลคำศพทอางองจาก Google Translate ซงตองมการเชอมตออนเตอรเนตในขณะใช
งานแอปพลเคชน
1.3.9 สรางแอปพลเคชนททำงานบน iOS เวอรชน 4.0 ขนไปและมกลอง
1.4 อปกรณและเครองมอทใช
1.4.1 ฮารดแวร
- คอมพวเตอรโนตบค (Macbook Pro 5,5 13 นว)
- หนวยประมวลผลกลาง Intel Core 2 Duo 2.26 GHz
- หนวยความจำหลก 2 GB
- ฮารดดสก ขนาด 160 GB
- iPhone 3GS, iPhone 4 หรอ iPod Touch 4 Generation
1.4.2 ซอฟตแวร
- Mac OS X 10.6 (Snow Leopard)
- Xcode
- iOS SDK
1.5 ผลทคาดวาจะไดรบ
1.5.1 มแอปพลเคชนเพอแปลภาษาองกฤษเปนภาษาไทยทเพยงแคการสมผสครงเดยวกสามารถ
ไดความหมายของศพททตองการ
1.5.2 มการนำแอปพลเคชนทไดไปใชอยางแพรหลาย
1.5.3 เปนแนวคดเพอพฒนาแอปพลเคชนอน ๆ ตอไป
2
บทท 2
ผลงานทเกยวของ
2.1 แอปพลเคชนชอ : vTranslator จดทำโดย : Vlad Seryakov
รปท 2.1 แอปพลเคชน vTranslator
vTranslator เปนแอปพลเคชนทใชในการแปลภาษาโดยใช Google Translate ซงตวแปล
ภาษากมอยมากมายโดยทสวนใหญแลวการรบคำทจะนำไปแปลผานทางคยบอรด แตสำหรบ vTranslator
จะแตกตางตรงทใชการถายภาพคำทตองการแปลแทน จากนน vTranslator กจะอานคำจากภาพทถายได
แลวสงไปใหกบ Google Translate แปลให
กระบวนอานคำจากภาพหรอ Optical Character Recognition (OCR) ท vTranslator ตองใช
เพออานคำมาจากเครองมอชอ Tesseract ทเปน Open Source อยใน Google Code
ขอด
vTranslator เปนฟรแอปพลเคชนทใคร ๆ กสามารถโหลดมาใชงานได เพยงแคม iTunes ID
หรอ Apple ID และเขาไปดาวโหดลท Apple App Store
ขอเสย
การเลอกถายคำทจะนำมาแปลมขอจำกดตรงทกรอบซงเปนตวระบสวนทจะอานเลกเกนไป
และไมสามารถปรบเปลยนขนาดได ทำใหในบางครงการถายคำแคเพยงคำเดยวกอาจจะไมพอและถานำ
มาใชกบการถายคำเพยงคำเดยวการพมพผานคยบอรดจะเรวและแมนยำกวาวธการถายภาพ ซงจะทำให
เกดภาระเพมมากกวาความสะดวก
4
2.2 แอปพลเคชนชอ : Page Scannerจดทำโดย : FastIntelligence
รปท 2.2 แอปพลเคชน Page Scanner รปท 2.3 สวนของการสแกนภาพ
แทนทการพมพเพอคดลอกขอมลทเปนตวอกษรในกระดาษ การนำ Optical Character
Recognition (OCR) เขามาชวยทำหนาทปอนขอความสคอมพวเตอรจะชวยลดเวลาในการคดลอกขอมล
ไดมาก โดยหลกการทำงานกคอนำเอากระดาษไปสแกนผานเคร องสแกนเพ อใหไดเปนไฟลใน
คอมพวเตอรซงกคอไฟลภาพ จากนนนำภาพทไดไปอานเอาขอความออกมาผานกระบวนการ OCR ซง
การทจะไดภาพเพอนำมาอานเอาขอความออกมายงมสงอนอกทใชแทนกนได โดยในทนกคอกลองถายรป
ของโทรศพทมอถอทมความละเอยดสงและคมชดมากพอจะเทยบเทากบเครองสแกนได จงมาเปนแอปพล
เคชนนททำเสมอนวาเปนเครองสแกนขนาดเลกทรวมเอาการทำงานของ OCR เขาไวดวยกน
ขอด
แทนทเครองสแกนอนใหญโต (เมอเทยบกบขนาดของมอถอ) ดวยขนาดทเลกกระทดรด
ของมอถอ
ขอเสย
ความแมนยำในการอานคำจากภาพ (OCR)
5
บทท 3
ทฤษฏและความรทเกยวของ
3.1 Optical Character Recognition (OCR)OCR คอการอานตวอกษรในภาพดงเชนกบการทคนเรามองภาพแลวอานตวอกษรในภาพดวยตา
โดยคอมพวเตอรนนการมองคอการใชกลองรบแสงทสะทอนออกมาจากวตถและเกบคาของแสงแตละ
ตำแหนงในขณะหนงไวซงกคอภาพนง จากนนภาพทไดจะถกนำไปคนหาตวอกษรแลวนำตวอกษรท
คนหาไดมาเปรยบเทยบวาเปนตวอกษรตวอะไร
3.2 Google Translate APIเปนเครองมอทใชในการแปลภาษาทมหลากหลายภาษาใหเลอก อกทงเครองมอแปลภาษานยง
สามารถแปลคำศพทแบบกลมคำหลาย ๆคำรวมกนไดอกดวย ซงถงแมวาการแปลแบบนจะยงเรยบเรยงคำ
ไมคอยด แตอยางไรแลวเครองมอตวนกยงถกพฒนาตอไปอยางตอเนอง
การใชงานกระทำโดยการสงผาน URL
h t t p : / / a j a x . g o o g l e a p i s . c o m / a j a x / s e r v i c e s / l a n g u a g e / t r a n s l a t e ?
v=1.0&q=TEXT&langpair=SOURCE|DESTINATION
โดยแทนทคำทตองการคนหาแทนทตำแหนง TEXT ภาษาตงตนท SOURCE ในลกษณะตวยอ
เชน en คอ English, ja คอ Japanese เปนตน และสดทายคอภาษาทตองการแปลไปท DESTINATION ใน
ลกษณะตวยอเชนเดยวกบภาษาตงตน จากนนเราจะไดขอความทเปนผลการแปลอางองตาม URL ทสงไป
6
บทท 4
ขนตอนและแผนการดาเนนงาน
4.1 ขนตอนการดำเนนงาน4.1.1 ศกษาขอมลเบยงตน
คนหาขอมลความเปนไปไดของโครงงานทจะนำเสนอวามเปนเปนไปไดมากนอยเพยงใด คอ
4.1.1.1 แนวคดทจะทำสามารถทำใหเปนจรงไดหรอไม
4.1.1.2 มแอปพลเคชนอน ๆ ทใกลเคยงกบแนวคดทจะทำ เพอศกษาหาจดออนจดแขง
4.1.2 เสนอโครงงาน
สงเอกสารขอทำโครงงานพรอมทงนำเสนอและใหคณะจารยพจารณาหวขอโครงงาน
4.1.3 ศกษาทฤษฏและความรทเกยวของ
4.1.3.1 เรยนรภาษา Objective-C ซงใชในการพฒนาแอปพลเคชนบนระบบปฎบตการ iOS
4.1.3.2 ศกษาหลกการทำงานของ Optical Character Recognition ซงตองนำมาใชในการอานตว
อกษรในภาพ
4.1.3.3 ศกษาการใช Google Translate API เพอใชในการแปล
4.1.4 วเคราะหและออกแบบแอปพลเคชน
วางแผนขนตอนการทำงานของแอปพลเคชนทงในสวนของการอานภาพ การแปลคำ ซงรวมไป
ถงการนำการทำงานแตละสวนมารวมเขาดวยกน
4.1.5 เขยนโปรแกรม
ลงมอสรางการทำงานสวนตาง ๆ ขนมาโดยการเขยนดวภาษา Objective-C รวมกบ iOS SDK
4.1.6 ทดสอบและปรบปรงแอปพลเคชน
ทดสอบการทำงานของแอปพลเคชนทงในเรองการใช เชน หนวยประมวลผล หนวยความจำ
เปนตน โดยอนดบแรกทดสอบในตวจำลอง (Simulator) หลงจากนนจงนำไปทดสอบบนอปกรณจรงตอ
ไป
4.1.7 จดทำเอกสาร
ทำเอกสารรายละเอยดของโครงงานและวธใชแอปพลเคชนทไดจากแนวคดตามโครงงานทไดนำ
เสนอ
7
4.2 แผนการดำเนนงาน
ขนตอนการดำเนนงานส.ค.
53
ก.ย.
53
ต.ค.
53
พ.ย.
53
ธ.ค.
53
ม.ค.
54
ก.พ.
54
ศกษาขอมลเบองตน
เสนอโครงงาน
ศกษาทฤษฏและความรทเกยวของ
วเคราะหและออกแบบแอปพลเคชน
เขยนโปรแกรม
ทดสอบและปรงปรงแอปพลเคชน
จดทำเอกสาร
ตารางท 4.1 แผนการดำเนนงาน
8
บทท 5
วธการดำเนนงาน
5.1 สวนตดตอผใช
รปท 5.1 สวนเลอกภาษา รปท 5.2 หนาตางหลก
เมอเรยกใชงานแอปพลเคชนนข นมากจะพบกบหนาจอตามภาพทางดานขวาโดยแตละสวน
มหนาทดงน
- กลองขอความดานบน ใชเพอเพอรบขอความทจะถกนำไปแปล ซงขอความอาจจะมาจากการใช
งานความสามารถในการดงขอความมาในภาพหรอพมพโดยตรงผานคบอรดของ iOS กได นนคอเรา
สามารถเพม ลบ หรอแกไขขอความไดตรงน
- กลองขอความดานลาง ใชเพอแสดงผลลพธจากการแปลขอความ ดงนนขอความในสวนนจง
สามารถทำไดเพยงแคคดลอกเทานน
- ปมรปถงขยะ(มมขวาลาง) ใชเพอลางขอความในกลองขอความทงสองออกทงหมด
- ขอความดานบนกลองขอความทงสอง ใชเพอแสดงภาษาสำหรบแตละสวน โดยในสวนบน
หมายความถงภาษาของขอความทจะถกนำไปแปล และสวนลางกคอภาษาทจะไดจากการแปล
- ปม Settings (มมซายบน) ใชเพอเลอกภาษาสำหรบกลองขอความทงสองดงทกลาวมาแลว โดย
จะมหนาตางใหมปรากฏขนมาตามรปดานซาย (ตวอยางภาพ) ซงภาษาทจะแปลออกมาไดจะอางองจาก
ภาษาท Google Translate สามารถแปลได และภาษาทจะถกนำไปแปลคอภาษาทใชตวอกษร a ถง z และ
A ถง Z
- ปม Translate (กลางลาง) ใชเพอสงแปลขอความ
- ปมรปกลองถายรป (มมขวาลาง) ใชเพอเปดสวนของกลองถายรป ทงนเพอถายรปภาพขอความ
ทตองการจะแปลความหมาาย
- ปมรปกระดาษ (ดานขวาตดกบปมรปกลอง) ใชเพอเลอกรปภาพจากแหลงภาพทมอยแลว
(Photo Albums)
- ปม Help (มมขวาบน) ใชเพอแสดงขอความแนะนำการใชงานแอปพลเคชน
9
5.2 การทำงานของ OCR5.2.1 การแบงขอความตามบรรทด
เมอไดภาพมาแลวอนดบแรกกคอการคำออกไปแตละบรรทด โดยเกบคาเอาไวเปนคอนดบ เชน
บรรทดท 1 เรมตนทแถว 1 และสนสดทแถว 15 เปนตน โดยการตรวจสอบหาเสนแบงบรรทด คอ ถาหาก
แถวใดไมมคาสดำอยในแถวเลยและอยกอนบรรทดทมสดำอยถอวาเปนจดเรมตนบรรทด และ ถาแถวนน
ไมมสดำอยเลยและอยหลงจากบรรทดทมสดำอยแสดงวาเปนแถวสนสดบรรทด ดงตวอยางการขดเสน
แบงบรรทดตามรป
5.2.2 การแบงตวอกษรในแตละบรรทด
หลงจากคนหาไดตำแหนงของแตละบรรทดมาแลวกจะทำการแบงแตละตวอกษรออกจากกน
โดยใชหลกการลกษณะเดยวกบการพจารณาบรรทด คอ หาคอลมทไมมสดำซงเรมจากแถวเรมตนบรรทด
ไปยงแถวทสนสดบรรทด หากพบวาเปนคอลมทไมมสดำอยเลยและอยกอนคอลมทมสดำอยแสดงวาเปน
คอลมเรมตน ซงคอลมสนสดกคอคอลมวางทอยหลงนนเอง
เกบขอมลตำแหนงของแตละตวอกษรไว เชน ทแถวท 1 มตวอกษรเรมตนท 10 สนสดท 30
เปนตน
5.2.3 การหาตำแหนงของเวนวรรค
หลงจากสองกระบวนการทผานมาแลวสงทไดคอตำแหนงของตวอกษรทแนนอนแตตวอกษรทง
หลายกยงตองพจารณาหาเวนวรรค เพอแบงตวอกษรออกเปนคำตามกลมทแบงดวยเวนวรรค
หลกการ คอ หาคาเฉลยความหางของแตละตวอกษรออกมาแลวนำคาเฉลยทไดมาเปรยบเทยบ
กบความหางของแตละตวอกษร ถาตวอกษรหางกบอกตวอกษรมากกวาคาเฉลยทไดแสดงวาตวอกษรสอง
ตวนนถกขนดวยเวนวรรคนนเอง
5.2.4 การเปรยบเทยบเพอหาตวอกษร
หลกจากไดตำแหนงและวรรคแบงคำแลวตอไปกจะนำเอาสวนของตวอกษรแตละตวมาเปรยบ
เทยบกบภาพตวอกษรแตละฟอนตทเตรยมเอาไว โดยทำการสเกลภาพตวอกษรของฟอนตทเตรยมไวให
เทากบขนาดของฟอนตทตดออกมาในอตราสวนทเทากน (ผลหารของความยาวและความสง) จากนนนำ
ภาพทงสองมาลบหาผลตางกนหากภาพนนเหมอนกนกจะลบกนไดพอดหมายความวาคอตวอกษรตวทนำ
มาเปรยบเทยบกนนนเอง
ทำในขนตอนทกลาวมาไปในแตละบรรทดจดหมดโดยหากพบวามเวนวรรคขนใหแทนทดวย
เวนวรรคลงไป
5.3 การแปลคำศพทโดย Google Translateหลงจากไดขอความออกมาแลวตอไปคอการสงคำทจะแปลไปยง Google Translate โดยผานทาง
URL คอ http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q=TEXT&langpair=
SOURCE|DESTINATION
โดยคำจะถกแทนตรงตำแหนง TEXT ซงตองแทนทเวนวรรคดวย %20 และระบภาษาทจะแปลท
ตำแหนง SOURCE และ DESTINATION เปนแบบตวยอ เชน en : English, th : Thai, ja : Japanese
เปนตน
SOURCE คอภาษาทถกนำไปแปล
DESTINATION คอภาษาทจะใหแปลออกมา
10
เมอ URL ดงกลาวถกสงไปและถกประมวลผลแลว Google Translate จะใหขอความกลบมาใน
รปแบบดงน
{"responseData": {"translatedText":"TEXT"}, "responseDetails": null, "responseStatus": 200}
ซงจากขอความทไดกจะตดสวน TEXT ทเปนคำแปลออกมาแสดงเปนผลลพธ
11
บทท 6
ผลการดำเนนงาน ขอจำกด และขอเสนอแนะ
6.1 ผลการดำเนนงานการดำเนนงานสวนใหญแลวเปนไปตามทคาดหวงเอาไว คอ ในสวนของการแปลคำศพทก
สามารถทำไดโดยใชเครองมอตดตอทางอนเตอรเนต (Google Translate) สวนรปลกษณของแอปพลเคชน
จากการสอบถามแลวพบวาเปนทนาพอใจคอดแลวใชไมยากและสวยงาม แตในสวนของการอานคำจาก
ผลทไดสมบรณแบบตามทคาดหวงไวทงหมด ซงจากการทดลองแลวพบวามขอจำกดอยซงจะกลาวถงใน
หวขอตอไป
6.2 ขอจำกดในสวนของการประมวลผลภาพเพอดงตวอกษรออกมาพบวามขอจำกดดงน
- ภาพทจะนำมาประมวลผลตองเปนภาพทมเพยงแคขอความ ทงนเพราะวาวธทใชในการ
ประมวลผลภาพไมไดถกออกแบบมาเพอคนหาขอความจากภาพทมรปตาง ๆ ปะปนอย เชน ภาพ
โปสเตอร ใบปลว เปนตน แตเพอการคนหาขอความจากภาพทประกอบไปดวยตวอกษรเพยงอยางเดยว
เชน หนงสอนยาย หนงสอเรยน (ทมเพยงบทบรรยาย ไมมรปภาพ) เปนตน
- การแยกตวอกษรในแตละบรรทดหากตวอกษรตดกนหรอตำแหนงครอมกน เชน fa จะไม
สามารถแยกแยะตวอกษรเชนนได ทงนเพราะในการพจารณาแบงตวอกษรพจารณาโดยการแบงตาม
ชองไฟโดยดจากสวนบนของบรรทดไลลงมายงสวนลางของบรรทด ถาหากวาจากบนสดถงลางสดเปน
สวนทวางทงหมด(พจารณาทละหลก)แสดงวาเปนชองไฟหรอชองวาง ซงถาสงเกตจากตวอกษร f และ a
ทวางตดกนเปน fa สวนปลายหวของ f จะโคงมาอยบนตวอกษร a ดงนนจงทำใหไมสามารถหาชองไฟ
ระหวางตวอกษรทงสองไดตามหลกการพจารณาทกลาวมา
- เพอความแมนยำในการเปรยบเทยบเพอจดจำตวอกษร ขนาดของตวอกษรในภาพควรจะเปนตว
อกษรขนาด 15 พอยต ทงนเพราะการจดจำตวอกษรใชการนำภาพตนฉบบของแตละตวอกษรในแตละ
ฟอนตมาเปรยบเทยบกบแตละตวอกษรในภาพ ซงภาพตนฉบบนถกเตรยมไวทขนาดฟอนต 15 พอยต ดง
นนถาขนาดของตวอกษรในภาพเลกกวาหรอใหญกวาจงตองมการยอหรอขยายภาพตนฉบบเพอให
สามารถนำไปเปรยบเทยบ ตรงนเองทการยอหรอขยายอาจทำใหภาพตนฉบบผดเพยนไป
- ตวอปกรณ iOS นนสามารถใชไดทง iPhone, iPod Touch และ iPad ทใช iOS เวอรชน 4.0 ขน
ไป แตในสวนการใชงานกลองจะมเพยงแค iPhone และ iPod Touch 4G เทานน สวน iPad สามารถใชงาน
เกยวกบรปภาพไดจาก Photo Albums
- สวนของกลองทใชในการถายภาพจะมเพยงแค iPhone 3Gs และ iPhone 4 ทมระบบ Auto-
Focus ซงทำใหสามารถถายรปภาพระบบใกลไดชดเจน แตกลองของ iPod Touch 4G จะขาดในสวนนไป
ทำใหภาพทไดอาจจะไมคมชดเพยงพอทจะนำไปประมวลผลแลวไดผลลพธทนาพอใจ
12
6.3 ขอเสนอแนะจากการศกษาในระหวางการทำงานพบวามเครองมอทนาสนใจเกยวกบการอานตวอกษรจากใน
ภาพทชอ Tesseractโดยเครองมอนถกเผลแพรอยในเวบไซตยอยของ Google ทเกยวของกบการเขยน
โปรแกรมคอมพวเตอร ซงจากการทดสอบประสทธภาพของซอฟแวรทใชงานเครองมน (ซอฟแวรใน
คอมพวเตอรบนระบบปฏบตการ Mac OS X) พบวามความแมนยำสงและรองรบฟอนตไดหลายรปแบบ
แตทงนการนำเครองมอ Tesseract มาใชในระบบปฏบตการ iOS ถอเปนเรองยากเพราะเดมนนเครองมอน
ไมไดทำมาสำหรบ iOS ดงนนจงมขนตอนมากมายทตองทำหากตองการนำเครองมอนมาใชงาน
จากทไดกลาวมาแลวจงขอแนะนำกบผอานหรอผทจะทำงานเกยวของกบการอานตวอกษรจาก
ภาพใหลองศกษาและใชงานเครองมอนเพราะจะชวยใหงานมประสทธภาพมากยงขน อกทงหากจด
ประสงคในการทำงานไมไดอยทการสรางวธการอานตวอกษรแตเปนการนำไปใชแลวละก เครองมอนจะ
ชวยใหผพฒนาสามารถทจะใชเวลาพฒนาตามจดประสงคไดอยางชดเจน ไมตองเสยเวลากบการพฒนา
เครองมอการอานตวอกษรจากภาพ
13
บรรณานกรม
[1] Chaoji Li, 2011, “Page Scanner”, [แอปพลเคชน], เขาถงได:
http://itunes.apple.com/th/app/page-scanner/id368331275?mt=8
[2] Vlad Seryakov , 2010, “vTranslator”, [แอปพลเคชน], เขาถงได:
http://itunes.apple.com/us/app/vtranslator/id351260186?mt=8
14