Posts
Showing posts from November, 2017
ปัญหาอุปสรรคและแนวทางแก้ไข
- Get link
- X
- Other Apps
1) รูปภาพมีขนาดเล็กทำให้มีความ blur มากจนไม่สามารถปรับความละเอียดได้เพียงพอกับความต้องการ ซึ่งแนวทางแก้ไขคือต้องถ่ายรูปใบหน้าสุนัขใหม่เท่านั้น 2) กระบวนการดึงคุณสมบัติของรูปภาพในแต่ละรูปใช้พลังในการประมวลผลสูงและใช้เวลานาน ทาให้รองรับงานในเวลาเดียวกันได้น้อย ส่งผลให้ผู้ใช้ต้องรอเป็นเวลานานเมื่อมีการใช้งานพร้อมกันเป็นจานวนมาก โดยแนวทางแก้ไขคือการทา scale up ให้กับเซิร์ฟเวอร์ที่ให้บริการ และการปรับปรุงโปรแกรมให้มีการทางานเป็นแบบคู่ขนานเพื่อรองรับการทา scale out ซึ่งจะสามารถนาเซิร์ฟเวอร์หลายเครื่องมาช่วยในการประมวลผลและลดระยะเวลาการประมวลผลลงได้ 3) อาจมีรูปภาพสุนัขที่หน้าไม่ตรงและมีส่วนประกอบไม่ครบถ้วน ซึ่งแนวทางแก้ไขคือต้องถ่ายรูปใบหน้าสุนัขใหม่เท่านั้น 4) Android Studio ประมวลผลช้าและใช้เวลาในการทดสอบด้วย emulator เป็นเวลานาน แนวทางแก้ไขที่เป็นไปได้คือการทางานบน cross-platform framework เช่น Ionic Xamarin หรือ Phonegap ซึ่งมีความรวดเร็วกว่าเนื่องจากทางานบนเว็บเทคโนโลยี แต่ต้องคานึงถึงเรื่องของการใช้งาน API ระดับลึก
บทสรุปและข้อเสนอแนะ
- Get link
- X
- Other Apps
DogFinder เป็นแอปพลิเคชันสำหรับค้นหาสุนัขสูญหายซึ่งประกอบด้วยหลายขั้นตอนของกระบวนการทำงาน ได้แก่ การดึงคุณสมบัติที่สำคัญจากรูปภาพเพื่อนำมาประมวลผล การคัดเลือกคุณสมบัติที่ไม่มีนัยสำคัญต่อการทำงานออกเพื่อลดเวลาในการประมวลผลและเพิ่มประสิทธิภาพการทำงาน การจัดกลุ่มใบหน้าสุนัขตามลักษณะความใกล้เคียงของใบหน้าโดยอาศัยคุณสมบัติที่ได้จากรูปภาพเพื่อให้สะดวกต่อการค้นหาเฉพาะกลุ่มแทนการค้นหาทั้งระบบ และการค้นหาเพื่อนบ้านใกล้เคียงหรือการค้นหาตามความคล้ายเพื่อให้ได้ใบหน้าที่มีความใกล้เคียงมากที่สุด ซึ่งนำมาประยุกต์ใช้งานเพื่อให้สามารถลดเวลาสำหรับใช้ในการค้นหาด้วยวิธีการแบบเดิม เช่น การประกาศตามที่สาธารณะ ซึ่งจะช่วยอำนวยความสะดวกให้แก่ผู้ใช้งานและลดจำนวนประชากรสุนัขไร้บ้าน เนื่องจากแอปพลิเคชันประกอบไปด้วยการทำงานหลายกระบวนการดังที่กล่าวมา แต่ละกระบวนการจึงต้องมีการทดลองเพื่อคัดเลือกวิธีการและอัลกอริทึมที่มีการทำงานเหมาะสมที่สุด ได้แก่ การคัดเลือกอัลกอริทึมเพื่อลดจำนวนคุณสมบัติของรูปภาพซึ่งสามารถลดไปได้จากคุณสมบัติจำนวน 4096 คุณสมบัติ เหลือ 35 คุณสมบัติ หรือลดไปได้ร้อยละ 99.15 การคัดเลือกอัลกอริ
ER diagram
- Get link
- X
- Other Apps
ระบบแบ่งออกเป็น 5 entity ได้แก่ 1) User Entity เป็น entity ที่แสดงข้อมูลที่จำป็นทั้งหมดของผู้ใช้ เช่น ระดับของผู้ใช้ (role) โทเคนสำหรับติดต่อเครื่องมือสื่อสารของผู้ใช้ (fcm_token) นอกจากนี้ยังมีข้อมูลบางส่วนซึ่งมีการเชื่อมโยงกับข้อมูลของผู้ใช้บนสื่อสังคมออนไลน์ Facebook เช่น ไอดี ชื่อ หรืออีเมลที่แสดงบน Facebook 2) Dog Entity เป็น entity ที่แสดงข้อมูลของสุนัข 1 ตัว เช่น ชื่อ จุดสังเกตบนลำตัว (noticeable) สายพันธุ์ (breed) ละติจูด ลองจิจูด อายุ และสถานะของสุนัขตัวดังกล่าว เช่น ยังอยู่กับเจ้าของ หรือสูญหาย 3) Instance Entity เป็น entity ที่แสดงข้อมูลของรูปภาพใบหน้าสุนัข โดยจะเก็บคุณสมบัติปกติ (raw features) คุณสมบัติที่ผ่านกระบวนการลดคุณสมบัติแล้ว (reduced features) กลุ่มของสุนัขที่มีลักษณะใกล้เคียง (label) 4) Image Entity เป็น entity ที่แสดงข้อมูลของรูปภาพ เช่น ชื่อ เวลาที่สร้าง และไดเรคทอรีที่บ่งบอกถึงที่อยู่ของภาพ 5) Lost and Found Entity เป็น entity ที่แสดงข้อมูลของประกาศพบสุนัขและประกาศสุนัขหาย ซึ่งจะถูกระบุด้วยชนิดของการประกาศ (type) และเก็บคำประกาศ (note)
การออกแบบอัลกอริทึมสำหรับคัดแยกและค้นหาใบหน้าสุนัข
- Get link
- X
- Other Apps
ในการออกแบบอัลกอริทึมสำหรับค้นหาใบหน้าสุนัขจะต้องคำนึงถึงความคล้ายของใบหน้าสุนัขที่ป้อนเข้ามากับใบหน้าสุนัขที่มีในระบบ ยิ่งคล้ายกันมากเท่าใด โอกาสที่เจ้าของจะพบเจอสุนัขยิ่งมีมากขึ้น ระยะเวลาที่ใช้ในการทำงานของอัลกอริทึม หากไม่มีการออกแบบที่ดีพอจะทาให้ใช้ระยะเวลาในการประมวลผลตรงส่วนนี้เป็นเวลานาน เนื่องจากเวลาที่ถูกใช้ไปในส่วนอื่นมากพอเพียงแล้ว เช่น การส่งข้อมูลระหว่างผู้ใช้และเซิร์ฟเวอร์ การประมวลผลของเซิร์ฟเวอร์เอง การติดต่อระหว่างเซิร์ฟเวอร์และบริการต่าง ๆ อาจไม่เป็นที่พอใจของผู้ใช้ จึงมีความจำเป็นที่จะต้องออกแบบอัลกอริทึมให้ใช้เวลาในการทำงานน้อยที่สุดเพื่อลดเวลาการทำงานโดยรวมของระบบ นอกจากนี้อัลกอริทึมต้องสามารถรองรับสายพันธุ์ใหม่ ๆ หรือลักษณะใหม่ ๆ ในกรณีที่เป็นสุนัขพันธุ์ผสมได้ตลอดเวลา การออกแบบจะแบ่งออกเป็น 3 ส่วน คือ อัลกอริทึมสาหรับดึงคุณสมบัติจากรูปใบหน้าสุนัข อัลกอริทึมสาหรับคัดแยกใบหน้าสุนัขตามกลุ่มที่มีลักษณะใบหน้าคล้ายกันและอัลกอริทึมสาหรับค้นหาใบหน้าสุนัขที่มีลักษณะคล้ายที่สุด อัลกอริทึมสำหรับสร้างตัวคัดเลือกคุณสมบัติจากรูปใบหน้ำสุนัข OverFeat สามารถดึงคุณสมบั
เทคโนโลยีที่ใช้
- Get link
- X
- Other Apps
SQL Database เป็นเทคโนโลยีการจัดการฐานข้อมูลชนิดหนึ่งที่ใช้ในการเรียกและเก็บข้อมูลในเชิงความสัมพันธ์ (relational database management system: RDBMS) ผ่านภาษา SQL ซึ่งเป็นภาษาที่เข้าใจง่ายไม่ซับซ้อน แต่มีประสิทธิภาพในการทำงานสูง จัดการง่าย รวมถึงมีระยะเวลาในการตอบสนองต่อคำสั่งที่รวดเร็ว จึงทำให้เป็นที่นิยมและได้รับการรับรองให้เป็นมาตรฐานหนึ่งของสถาบันมาตรฐานสหรัฐอเมริกา (American National Standards Institute - ANSI) และองค์การมาตรฐานสากล (International Standards Organization - ISO) ซึ่งในโครงงานนี้จะใช้ MySQL ซึ่งเป็น SQL Database ชนิดหนึ่งที่เป็นที่นิยมกันมาก เนื่องจากเป็นฟรีแวร์ทางด้านฐานข้อมูลที่มีประสิทธิภาพสูง ผู้ใช้ต่างยอมรับในความรวดเร็วและการรองรับจำนวนผู้ใช้และขนาดของข้อมูลจำนวนมาก Django Framework สัญลักษณ์ของ Django เป็นชุดเครื่องมือ Framework สำหรับ การพัฒนาเว็บไซต์ด้วยภาษา Python ซึ่งมี Framework สำหรับการเขียนเว็บไซต์ด้วยภาษา Python จำนวนมาก โดย Django Framework เป็นหนึ่งใน Framework สำหรับการพัฒนาเว็บไซต์ด้วยภาษา Python โดยปัจจุบันภาษา
ทฤษฏีที่เกี่ยวข้อง
- Get link
- X
- Other Apps
การปรับปรุงคุณภาพของรูปภาพ (Image Enhancement) เป็นกระบวนการในการแปลงข้อมูลภาพตัวเลข เพื่อที่จะสร้างภาพที่เน้นรายละเอียดหรือปรับโทนแสงของภาพที่ต้องการ โดยอาจจะต้องพิจารณาใช้เทคนิคปรับปรุงภาพหลายเทคนิคและนำมาประมวลผลเพื่อให้ได้ภาพที่ต้องการ ซึ่งแต่ละเทคนิคจะมีการปรับปรุงภาพในแง่มุมที่แตกต่างกัน เทคนิคที่ใช้การปรับปรุงภาพวิธีหนึ่งที่เป็นที่นิยมคือ การปรับปรุงภาพเชิงพื้นที่ (Spatial Enhancement) ซึ่งเป็นการเน้นภาพที่ใช้ค่าจากจุดภาพที่อยู่รอบ ๆ จุดภาพใด ๆ มาคำนวณ โดยการปรับภาพเชิงพื้นที่จะเกี่ยวข้องกับความถี่เชิงพื้นที่ หมายถึง ความแตกต่างระหว่างค่าสูงสุดและต่ำสุดของกลุ่มจุดบนภาพที่อยู่ติดกันหรือใกล้เคียงกัน เทคนิคที่นิยมใช้งานกัน ได้แก่ การเน้นขอบของวัตถุในภาพ (Edge Enhancement) และการกรองภาพแบบคอนโวลูชัน (Convolution Filtering) 1) การเน้นขอบภาพ (Edge Enhancement) เป็นการเน้นขอบโดยทำให้จุดภาพตรงรอยต่อระหว่างพื้นที่ที่มีกลุ่มจุดภาพมีค่าเพิ่มสูงขึ้นหรือลดลง ขึ้นกับความสว่างและความมืดของขอบ หากไม่มีการเปลี่ยนแปลง ตัวกรองภาพจะคงสภาพรูปภาพในพื้นที่นั้นไว้เช่นเดิม ซึ่งการปรับคุณภาพโด
วิธีการดำเนินการ
- Get link
- X
- Other Apps
วิธีการดำเนินการ 1) กำหนดวัตถุประสงค์และขอบเขตของการทำงาน 2) ศึกษาเทคนิคต่าง ๆ ที่สามารถนำมำประยุกต์ใช้กับการตรวจจับใบหน้าของสุนัข (Dog Face Detection) 3) ค้นหาเทคนิคที่เหมาะสมในการรู้จำใบหน้าของสุนัข (Dog Face Recognition) 4) วิเคราะห์และออกแบบระบบจากการศึกษาหลักการ ทฤษฎี และเอกสารที่เกี่ยวข้อง 5) ค้นหาและจัดเตรียมกลุ่มรูปภาพของสุนัข (Dataset) สาหรับใช้ในการทดลอง 6) ศึกษาและทดลองเขียนโปรแกรมโดยใช้ภาษา python และใช้ library ที่เหมาะสม 7) ศึกษาการเขียนแอปพลิเคชันบนระบบปฏิบัติการแอนดรอยด์ ออกแบบส่วนติดต่อผู้ใช้งาน (User Interface) อ้างอิง โปรแกรมเพื่อค้นหาสุนัขสูญหาย : http://www.ce.kmitl.ac.th/project.php?action=view&PJ_ID=426
ความสำคัญของแอพพลิเคชั่น ระบบตามหาสุนัขหาย
- Get link
- X
- Other Apps
ในปัจจุบันสังคมไทย นิยมเลี้ยงสุนัขมากขึ้น ซึ่งการเลี้ยงสุนัขมากขึ้นนี้เอง จึงทำให้เกิดปัญหามากขึ้น ปัญหาเหล่านั้นคงหนีไม่พ้นการถูกทอดทิ้งหรือสุนัขหาย เมื่อสุนัขหายไปก็หลายเป็นสุนัขจรจัด และเกิดการแพร่พันธุ์อย่างรวดเร็ว และจะตามมาด้วยปัญหาที่มากมาย อีกทั้งเมื่อสุนัขหาย ยังส่งผลกระทบต่อสภาพจิตใจของเจ้าของทำให้ซึมเศร้าได้ และในสุนัขที่ถูกทอดทิ้ง อาจเกิดจาก การไม่คุมกำเนิด แล้วนำมาปล่อย ซึ่งเมื่อสุนัขโตขึ้น จะแพร่พันธุ์อย่างมาก และนำมาซึ่งโรคและความสกปรกอีกด้วย ในปัจจุบัน ระบบตามหาสุนัขยังไม่มีประสิทธิภาพที่ดีเพียงพอ และเมื่อพบสุนัขที่ถูกทอดทิ้ง ระบบอุปการะก็ยังไม่ดีพอที่จะหาบ้านให้สุนัขเหล่านั้น ซึ่งในขณะเดียวกันผู้พบเห็นสุนัข ก็ไม่รู้ว่าสุนัขใคร ซึ่งด้วยเหตุนี้เองจึงไม่สามารถตามหาตัวเจ้าของที่แท้จริงได้ ด้วยเหตุนี้เอง จึงเป็นที่มาของระบบ ประมวลผลภาพและจดจำใบหน้าของสุนัข เพื่อให้สามารถระบุได้ว่า สุนัขนั้นใครเป็นเจ้าของ เพื่อส่งคืนกลับไปยังเจ้าของที่ถูกต้อง หากเจ้าของไม่ต้องการ ก็ให้หาบ้านอุปการะเลี้ยง เพื่อลดปัญหาดังกล่าว
สุนัข เพื่อนสนิทของมนุษย์
- Get link
- X
- Other Apps
"สุนัข" เป็นสัตว์ที่มนุษย์นิยมนำมาเลี้ยงตั้งแต่สมัยโบราณ เป็นเพื่อนที่ซื่อสัตย์และเพื่อนยามเหงาได้ดี สุนัขจึงเป็นอีกหนึ่งสัตว์เลี้ยงที่คนนำมาเลี้ยง ทั้งนี้สุนัขยังไม่หลากหลายสายพันธุ์ ซึ่งนอกจากจะเลี้ยงไว้ดูเล่นได้แล้ว ยังสามารถใช้งานได้อีกด้วย ในประเทศไทยเองก็มีการเลี้ยงสุนัขไว้เป็นจำนวนมาก และก็มีปัญหาที่พบได้บ่อยจากสุนัขมากมาย เช่น สุนัขจรจัด ซึ่งนำมาด้วยโรคต่างๆ ปัญญาเหล่านี้จะลดน้อยลง ถ้าหากเราสามารถตามหาสุนัขที่หายและติดตามคืนสู่เจ้าของได้ เมื่อสุนัขที่หายไม่เป็นสุนัขจรจัด ก็ทำให้สุนัขจรจัดลดน้อยลง ลดซึ่งปัญหาสังคมได้อีกด้วย #ดูแลสุนัขของเราดีๆนะครับ