Online Group Singing System by Background Subtraction
Transcription
Online Group Singing System by Background Subtraction
โครงงานทางวิศวกรรม (Senior Project Report) ชือหัวข้ อโครงงาน (ภาษาไทย) ระบบการร้ องเพลงร่ วมกันแบบกลุ่มออนไลน์ โดยการลบ ฉากหลัง Online Group Singing System by Background Subtraction ชือหัวข้ อโครงงาน (ภาษาอังกฤษ) จัดทําโดย นางสาว ทศรัตน์ นางสาว หทัยรัชต์ เจริ ญลาภกุล เจริ ญกุลวณิ ชย์ รหัสประจําตัว 4930167021 รหัสประจําตัว 4931254121 ลายเซ็น__________ ลายเซ็น__________ อาจารย์ทปี รึกษาโครงงาน อ.ดร. นัทที นิภานันท์ ลายเซ็น__________ รายงานนี=เป็ นส่วนหนึ@งของการศึกษาวิชาโคงงานทางวิศวกรรมคอมพิวเตอร์ หลักสูตรปริ ญญาวิศวกรรมศาสตร์บณ ั ทิต สาขาวิศวกรรมคอมพิวเตอร์ ภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ จุฬาลงกรณ์มหาวิทยาลัย ปี การศึกษา 2552 รายงานฉบับสมบูรณ์ Online Group Singing System by Background Subtraction กิตติกรรมประกาศ โครงงานนี=สาํ เร็ จลุล่วงได้ดว้ ยดีดว้ ยความกรุ ณาจาก อ.ดร.นัทที นิภานันท์ อาจารย์ที@ปรึ กษาโครงงาน ซึ@ง คอยดูแล ให้คาํ แนะนําแนวทาง ให้ขอ้ มูลเพิม@ เติมที@เป็ นประโยชน์ และได้ให้ขอ้ คิดเห็นต่างๆ ในการพัฒนา โครงงานอย่างใกล้ชิดตลอดมา ขอขอบคุณพี@ๆในแลป ISL2 ที@คอยช่วยเหลือให้คาํ ปรึ กษา แนะนําแนวทาง ช่วยไขปัญหาต่างๆที@เกิดขึ=น ขอขอบคุณภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ จุฬาลงกรณ์มหาวิทยาลัยที@ให้ การศึกษา, ค้นคว้า ความรู ้ และประสบการณ์ทางวิชาชีพตลอดเวลาสี@ ปีที@ผา่ นมา ขอขอบคุณ คุณครู อาจารย์ทุกท่านที@ให้ความรู ้ ความเข้าใจในเนื=อหาทางวิชาการ พร้อมทั=งไม่ลืมที@จะสัง@ สอนให้เป็ นคนดีในสังคม ขอบคุณเพื@อนๆ พี@ๆ น้องๆ ภาควิศวกรรมคอมพิวเตอร์ และเพื@อนๆทุกคนที@ร่วมทุกข์ร่วมสุ ขทั=งทางด้าน วิชาการและกิจกรรม ตลอดระยะเวลาที@ผา่ นมา ท้ายที@สุด ผูจ้ ดั ทําโครงงานใคร่ ขอกราบขอบพระคุณ บิดา มารดา ผูม้ ีพระคุณที@ทาํ ให้พวกเราทุกคน ประสบความสําเร็ จและมีทุกวันนี=ได้ โครงการนี=ได้รับทุนอุดหนุนจากโครงการการแข่งขันพัฒนาโปรแกรมคอมพิวเตอร์แห่งประเทศไทย ครั=งที@ 12 จากศูนย์เทคโนโลยีอิเล็กทรอนิกส์และคอมพิวเตอร์แห่งชาติ สํานักงานพัฒนาวิทยาศาสตร์และ เทคโนโลยีแห่งชาติ และ สํานักงานส่ งเสริ มอุตสาหกรรมซอฟต์แวร์แห่งชาติ โครงการนี=ได้รับทุนอุดหนุนจากโครงการ IRPUS นางสาว ทศรัตน์ เจริ ญลาภกุล นางสาว หทัยรัชต์ เจริ ญกุลวณิ ชย์ Online Group Singing System by Background Subtraction ก รายงานฉบับสมบูรณ์ Online Group Singing System by Background Subtraction บทคัดย่อ โครงการนี=ตอ้ งการพัฒนาระบบร้องเพลงร่ วมกันระหว่างสองคนผ่านLAN โดยใช้เทคโนโลยี MultiMedia Synchronization นัน@ คือการแสดงภาพและเสี ยงให้ตรงกัน และใช้เทคโนโลยีดา้ น image processing คือ background subtraction ให้โปรแกรมสามารถแสดงภาพของผูเ้ ล่นที@อยูต่ า่ งเครื@ องกันให้มาอยูใ่ นฉากเดียวกันได้ โปรแกรมนี=ช่วยตอบสนองความต้องการทางด้านสังคม เนื@องจากทําให้ไม่จาํ เป็ นต้องเดินทางมาพบเจอกันเพื@อ ร้องคาราโอเกะ ผูท้ ี@มีเวลาน้อยก็สามารถร้องเพลงกับกลุ่มเพื@อนได้ ผูท้ ี@อยูไ่ กลกันมากก็สามารถร้องเพลงพร้อม กันได้ นอกจากประหยัดเวลาแล้วยังช่วยประหยัดเงินค่าเดินทางอีกด้วย โดยในการพัฒนาโปรแกรมนี=ได้ใช้ Library ต่างๆ ที@เป็ น Open Source หลายตัว ได้แก่ OpenCV ในการทํา Image Processing (Background Subtraction, libvlc ในการ stream ข้อมูลภาพและเสี ยงผ่านเครื อข่าย และ DirectShow ในการรับ stream ดังกล่าว รวมทั=งรับ Input จากกล้องเว็บแคม และเชื@อมต่อการทํางานของ OpenCV และ libvlc รวมทั=งแสดง Output ออก ทางจอภาพและลําโพง ซึ@งผลที@ได้จากการพัฒนาพบว่ามีปัญหาในการเชื@อมต่อการทํางานของ Library เนื@องจาก รู ปแบบข้อมูลที@แตกต่างกัน ทําให้โปรแกรมถูกแบ่งออกเป็ นสองส่ วนและยังไม่สามารถรวมกันได้ คําสํ าคัญ การแบ่งแยกพื=นหลัง, การทําให้สื@อหลายชนิดสอดคล้องกัน, กลุ่มเสมือนจริ ง, ออนไลน์ผา่ น แลน Online Group Singing System by Background Subtraction ข รายงานฉบับสมบูรณ์ Online Group Singing System by Background Subtraction Abstract The goal of this project is to develop the application for singing online via LAN which two people could sing simultaneously. To accomplish this, Multi-Media Synchronization Technique would be useful for combining multi-source Audio and Video. Also, Image Processing Technology which includes Background Subtraction helps about displaying all users in the new chosen background together. This Application could satisfy the need of society, since it allows people to sing a song together without traveling to the specific place. As a result, some people who have less time or be far away from each other can sing together with friends and keep in touch by doing this interesting activity. Moreover, it would save more money from travelling expense. In details of development, we use several Open Source Libraries as follows: OpenCV for Image Processing (Background Subtraction), libvlc for Streaming encoded video and audio via network, and DirectShow for receiving the stream and input from Webcam, connecting the use of 2 different libraries : OpenCV and libvlc, and also rendering output on monitor and speaker. However, this application is not developed completely as planned. Due to the problem which occurs while trying to pass different formats of data from each library, application is divided into 2 parts and still cannot be integrated properly. Keywords Background Subtraction, Multi-Media Synchronization, Virtual Group, Online via LAN Online Group Singing System by Background Subtraction ค รายงานฉบับสมบูรณ์ Online Group Singing System by Background Subtraction บทนํา คนไทยชื@นชอบการร้องคาราโอเกะ เห็นได้จากในปี 2544 มีผมู ้ าใช้บริ การร้านคาราโอเกะถึง สิ บล้าน ครั=ง ธุรกิจด้านนี=จึงเติบโตได้ดีและมีมูลค่าทางธุรกิจถึง 2,000 ล้านบาท ซึ@งในปัจจุบนั มีร้านคาราโอเกะมากถึง 400,000 ร้านในประเทศไทย (ข้อมูลอ้างอิงจากข่าวเศรษฐกิจของ บิสิเนสไทย) [1] แต่ปัจจุบนั นี=ลูกค้าในธุรกิจนี=เริ@ มเบื@อหน่ายกับการร้องคาราโอเกะแบบเดิมๆ มีผลให้การเติบโตทาง ธุรกิจช้าลง บางร้านปรับเปลี@ยนหน้าตาของร้านและหน้าตาการใช้งานโปรแกรมคาราโอเกะ แต่ยงั ไม่สามารถเร่ ง การเติบโตทางธุ รกิจได้ ถึงแม้วา่ คนไทยจะชื@นชอบการร้องคาราโอเกะกับกลุ่มเพื@อน แต่ดว้ ยเวลาที@เร่ งรี บในชีวิตประจําวันทําให้ ไม่สามารถมีเวลาตรงกันเพียงพอที@จะเดินทางมาถึงร้านคาราโอเกะพร้อมกันได้ ด้วยปัญหาที@กล่าวมา จึงเกิดเว็บคาราโอเกะขึ=นมา ซึ@งเป็ นเว็บไซต์ที@ให้บริ การการร้องเพลงคาราโอเกะ แต่กเ็ ป็ นเพียงแค่การร้องเพลงแล้วบันทึกเก็บไว้ดูเอง หรื อ แบ่งปันให้เพื@อนดูเท่านั=น ทําให้ผใู ้ ช้บริ การไม่รู้สึก สนุกเหมือนร้องคาราโอเกะร่ วมกับกลุ่มเพื@อน ดังนั=นโครงการนี=จึงเป็ นการตอบทั=งปั ญหาเรื@ องเวลา และความต้องการร้องเพลงคาราโอเกะร่ วมกับกลุ่ม เพื@อน โดยโครงการนี=ตอ้ งการสร้างต้นแบบโปรแกรมร้านคาราโอเกะออนไลน์ที@มีการแสดงภาพเป็ นผูใ้ ช้ที@ร้อง เพลงด้วยกันทั=งหมดให้อยูบ่ นฉากหลังเดียวกันซึ@งผูใ้ ช้สามารถเลือกได้ตามที@ชอบ ทําให้ผใู ้ ช้รู้สึกคล้ายกับการ เดินทางมาร้องที@ร้านคาราโอเกะด้วยกัน นอกจากนี=ความเป็ นมาที@สาํ คัญอีกประการหนึ@งคือ ความลํ=าหน้าของเทคโนโลยีอินเตอร์ เน็ตและความ ครอบคลุมผูใ้ ช้ทว@ั โลกทําให้เกิด Social Network ซึ@งเป็ นการใช้อินเตอร์ เน็ตให้เป็ นเหมือนอีกสังคม เป็ นสถานที@ ที@ผคู ้ นสามารถติดต่อสื@ อสาร ทํากิจกรรมต่างๆร่ วมกันได้ โดยจากการที@ทาง Pipl [2] รวบรวมข้อมูลผูใ้ ช้ Social Network ทัว@ โลกแล้วนํามาวิเคราะห์ทางสถิติ พบว่าในประเทศไทยมีผใู ้ ช้ Social Network ถึง 3 ล้านคน และ ธุรกิจ Social Network มีการเติบโตสู งถึง 200% แสดงให้เห็นถึงความต้องการการมีสังคมทางอินเตอร์เน็ตที@เพิม@ Online Group Singing System by Background Subtraction ง รายงานฉบับสมบูรณ์ Online Group Singing System by Background Subtraction สู งขึ=น รวมถึงเทคโนโลยีอินเตอร์เน็ตมีการพัฒนาอย่างต่อเนื@อง คาดว่าความเร็ วของอินเตอร์เน็ตจะเร็ วเพียงพอ จนทําให้การส่ งไฟล์วดี ีโอและเสี ยงได้อย่างรวดเร็ ว จากที@ได้กล่าวมานี= โครงการนี=จะส่ งผลให้ธุรกิจคาราโอเกะมีตลาดกว้างขวางขึ=นกว่าธุรกิจแบบเดิม จึง เป็ นที@สนใจของนักธุรกิจ โดยในปัจจุบนั นี=มีเทคโนโลยีมากมายที@จะช่วยในการพัฒนาส่ วนต่าง ๆ ของระบบคาราโอเกะกลุ่ม เสมือนจริ งออนไลน์ให้ทาํ งานได้อย่างมีประสิ ทธิภาพ เช่น เทคโนโลยีการตัดภาพพื=นหลัง (Background Subtraction) ที@จะช่วยในการแยกภาพผูใ้ ช้ออกจากพื=นหลัง แล้วนําภาพนั=นมารวมกับผูใ้ ช้คนอื@น และใส่ ภาพพื=น หลังใหม่ลงไป จากผลงานวิจยั เกี@ยวกับเทคโนโลยีการตัดภาพพื=นหลัง [3, 4] พบว่าอัลกอริ ธึมต่าง ๆ ที@ใช้ในการ ตัดภาพพื=นหลังออกนั=น ให้ผลที@แตกต่างกันไปในแต่ละสถานการณ์ โดยที@ไม่มีอลั กอริ ธึมใดที@ให้ผลดีในทุก สถานการณ์ ดังนั=น ผูเ้ สนอโครงการจึงต้องศึกษาเพื@อหาอัลกอริ ธึมที@เหมาะสมสําหรับการใช้เว็บแคมและการ นําไปใช้ตอ่ ในโปรแกรมด้วย นอกจากนี=ยงั มีเทคโนโลยีการทําให้ภาพและเสี ยงจากหลายแหล่งสอดคล้องกัน ซึ@งได้ถูกกล่าวถึงเป็ น อย่างมากในโปรแกรมที@รองรับการ Conference ของผูใ้ ช้หลาย ๆ คน ให้สามารถพูดคุยกันได้เสมือนเดินทางมา เข้าห้องประชุมห้องเดียวกันโดยตรง ตัวอย่างของเทคโนโลยีดงั กล่าว ได้แก่ Red5 [5], XMPP [6] และ RTMFP [7] เป็ นต้น ซึ@งผูเ้ สนอโครงการจะต้องนําเทคโนโลยีที@เหมาะสมมาประยุกต์ใช้ เพื@อให้โปรแกรมมีประสิ ทธิภาพ ในการทํางาน Online Group Singing System by Background Subtraction จ รายงานฉบับสมบูรณ์ Online Group Singing System by Background Subtraction สารบัญ 1. ปัญหาและความสําคัญ .................................................................................................................................. 1 2. วัตถุประสงค์ของโครงการ............................................................................................................................ 2 3. ขอบเขตของโครงการ ................................................................................................................................... 2 4. รายละเอียดการพัฒนา ................................................................................................................................... 3 4.1 Background Subtraction ........................................................................................................................... 3 4.2 Multi-Media Transfer ............................................................................................................................. 12 4.3 Project Structure & User Interface ......................................................................................................... 16 5. อุปกรณ์และเครื@ องมือที@ใช้ในการพัฒนา ..................................................................................................... 19 5.1 Visual Studio C++ 2008......................................................................................................................... 19 5.2 OpenCV.................................................................................................................................................. 19 5.3 libvlc ....................................................................................................................................................... 19 5.4 DirectShow............................................................................................................................................. 19 5.5 MFC ....................................................................................................................................................... 20 6. ปัญหาและอุปสรรค .................................................................................................................................... 21 6.1 ความซับซ้อนของ Library ต่างๆ ............................................................................................................ 21 6.2 Compatibility ของ Library ต่างๆ ........................................................................................................... 21 7. แนวทางในการพัฒนาและประยุกต์ ............................................................................................................ 21 8. เอกสารอ้างอิง ............................................................................................................................................. 23 Online Group Singing System by Background Subtraction ฉ รายงานฉบับสมบูรณ์ Online Group Singing System by Background Subtraction สารบัญรูป รู ปที@ 1 ภาพแสดง Video editing application ......................................................................................................... 3 รู ปที@ 2 สองรู ปบนแสดงภาพจากกล้องของผูใ้ ช้สองคนที@อยูต่ า่ งสถานที@กนั รู ปล่างแสดงการรวม ....................... 5 รู ปที@ 3 แผนภาพแสดงวิธีการทํางานของอัลกอลิธึมทํา Background Subtraction ................................................. 6 รู ปที@ 4 ภาพพื=นหลังที@ไม่มีผใู ้ ช้ .............................................................................................................................. 8 รู ปที@ 5 ภาพพื=นหลังที@ตอ้ งการนํามาแทน............................................................................................................... 8 รู ปที@ 6 ภาพที@ตอ้ งการนํามาประมวลผล ................................................................................................................ 8 รู ปที@ 7 ภาพแสดง AbsDiff .................................................................................................................................... 8 รู ปที@ 8 ภาพแสดง Gaussian ................................................................................................................................... 9 รู ปที@ 9 ภาพแสดง ErodeDilate .............................................................................................................................. 9 รู ปที@ 10 ภาพแสดง Mask ...................................................................................................................................... 9 รู ปที@ 11 ภาพแสดง Refined Mask ......................................................................................................................... 9 รู ปที@ 12 ภาพแสดงผลการรันอัลกอลิธ@ ึมที@ทดลอง ............................................................................................... 11 รู ปที@ 13 แผนภาพแสดง Flow การทํางานในการส่ งข้อมูล Multimedia ผ่าน Network ........................................ 12 รู ปที@ 14 แผนภาพแสดงการทํางานในส่ วนของการรับข้อมูลจาก Network โดย DirectShow Framework .......... 13 รู ปที@ 15 แผนภาพแสดงโครงสร้างหลักของโปรแกรม........................................................................................ 16 รู ปที@ 16 ภาพแสดงหน้าต่างหลักของโปรแกรม .................................................................................................. 17 รู ปที@ 17 ภาพแสดงหน้าต่างสําหรับกรอก IP Address ที@ตอ้ งการติดต่อ ............................................................... 17 รู ปที@ 18 ภาพแสดงหน้าต่างสําหรับเลือกไฟล์ภาพพื=นหลัง .................................................................................. 18 Online Group Singing System by Background Subtraction ช รายงานฉบับสมบูรณ์ Online Group Singing System by Background Subtraction 1. ปัญหาและความสําคัญ คนไทยชื@นชอบการร้องคาราโอเกะ ธุรกิจด้านนี=จึงเติบโตได้ดีและมีมูลค่าทางธุรกิจสู ง ซึ@งใน ปัจจุบนั มีร้านคาราโอเกะมากกว่า 400,000 ร้านในประเทศไทย แต่ปัจจุบนั นี=ลูกค้าในธุรกิจนี=เริ@ มเบื@อหน่าย กับการร้องคาราโอเกะแบบเดิมๆ มีผลให้การเติบโตทางธุ รกิจช้าลง บางร้านปรับเปลี@ยนหน้าตาของร้านและ หน้าตาการใช้งานโปรแกรมคาราโอเกะ แต่ยงั ไม่สามารถเร่ งการเติบโตทางธุรกิจได้ ถึงแม้วา่ คนไทยจะชื@นชอบการร้องคาราโอเกะกับกลุ่มเพื@อน แต่ดว้ ยเวลาที@เร่ งรี บใน ชีวติ ประจําวันทําให้ไม่สามารถมีเวลาตรงกันเพียงพอที@จะเดินทางมาถึงร้านคาราโอเกะพร้อมกันได้ ด้วยปัญหาที@กล่าวมา จึงเกิดเว็บคาราโอเกะขึ=นมา ซึ@งเป็ นเว็บไซต์ที@ให้บริ การการร้องเพลงคารา โอเกะ แต่กเ็ ป็ นเพียงแค่การร้องเพลงแล้วบันทึกเก็บไว้ดูเอง หรื อ แบ่งปันให้เพื@อนดูเท่านั=น ทําให้ผใู ้ ช้บริ การ ไม่รู้สึกสนุกเหมือนร้องคาราโอเกะร่ วมกับกลุ่มเพื@อน ดังนั=นโครงการนี=จึงเป็ นการตอบทั=งปั ญหาเรื@ องเวลา และความต้องการร้องเพลงคาราโอเกะ ร่ วมกับกลุ่มเพื@อน โดยโครงการนี=ตอ้ งการสร้างร้านคาราโอเกะออนไลน์ที@สามารถรองรับการผูใ้ ช้หลายคน พร้อมกันได้ รวมทั=งมีการแสดงภาพเป็ นผูใ้ ช้ที@ร้องเพลงด้วยกันทั=งหมดให้อยูบ่ นฉากหลังเดียวกันซึ@งผูใ้ ช้ สามารถเลือกได้ตามที@ชอบ ทําให้ผใู ้ ช้รู้สึกคล้ายกับการเดินทางมาร้องที@ร้านคาราโอเกะด้วยกัน Online Group Singing System by Background Subtraction 1 รายงานฉบับสมบูรณ์ Online Group Singing System by Background Subtraction 2. วัตถุประสงค์ ของโครงการ o o o o เพื@อศึกษาเทคนิค Background Subtraction ที@เหมาะสมในการตัดภาพพื=นหลังออก เพื@อศึกษาเทคนิคที@เหมาะสมในการส่ งและรับข้อมูล Multimedia ผ่าน Local Area Network เพื@อศึกษาเทคนิคที@เหมาะสมในการแก้ไขและควบคุม Multimedia Stream เพื@อสร้างโปรแกรมร้องเพลงออนไลน์ซ@ ึงสามารถรองรับผูใ้ ช้ได้สองคน โดยสามารถแสดงภาพผูใ้ ช้ ทั=งหมดบนพื=นหลังเดียวกันได้ 3. ขอบเขตของโครงการ o โปรแกรมที@พฒั นานี=จะสามารถทํางานบนระบบปฏิบตั ิการ Window XP/Vista เท่านั=น o ไฟล์ภาพพื=นหลังเป็ น JPG หรื อ AVI o โปรแกรมที@พฒั นาขึ=นสามารถทํางานได้บน Local Area Network Online Group Singing System by Background Subtraction 2 รายงานฉบับสมบูรณ์ Online Group Singing System by Background Subtraction 4. รายละเอียดการพัฒนา 4.1 Background Subtraction กิจกรรมขั=นแรกในส่ วนการศึกษาเกี@ยวกับอัลกอลิธึมการทํา Background Subtraction ที@เคยมีการวิจยั มา ได้ดงั นี= • Real Time Illumination Invariant Background Subtraction Using Local Kernel Histograms [8] เสนอโดย Philippe Noriega และ Olivier Bernier ได้กล่าวถึงวิธี local kernel histograms and contour-based features โดยวิธีน= ีสามารถจัดการกับปัญหาเงา,เงาสะท้อน,การเคลื@อนไหวของ สิ@ งของชิ=นเล็กๆในพื=นหลัง,การเปลี@ยนแปลงของแสงอย่างมากในข้อจํากัดในสภาวะโลกจริ งได้ โดยวิธีน= ีมีอตั ราการผิดพลาดตํ@าและคํานวน realtime • A Statistical Approach for Real-time Robust Background Subtraction and Shadow Detection [9] เสนอโดย Thanarat Horprasert, David Harwood และ Larry S. Davis ได้กล่าวถึงอัลกอลิธึม เพื@อใช้ตรวจจับสิ@ งของที@เคลื@อนที@จาก static background scene ที@มีเงาและ highlight อยูด่ ว้ ย โดยวิธีที@เสนอนี=มีความ Sensitivity, Reliability, Robustness, Speed of detection โดยได้ นําเสนอโมเดลสี แบบใหม่โดยแยก brightness distortion, chromaticity distortionออกจากกัน ซึ@งมีผลทําให้สามารถแยกเงาจากพื=นหลังได้ โดยในบทความได้นาํ เสนอ application ต่างๆ ได้แก่ Motion Capture System, Interactive Game, Video Editing รูปที 1 ภาพแสดง Video editing application Online Group Singing System by Background Subtraction 3 รายงานฉบับสมบูรณ์ Online Group Singing System by Background Subtraction วิธีที@เสนอนี=ใช้งานได้ดีเมื@อเป็ น static background scene เท่านั=น แต่ได้กล่าวในบทวิจยั ไว้วา่ ถ้า ต้องการจัดการกับปั ญหา dynamic scene สามารถทํา adaptive background model updating เช่น Non-parametric model for background subtraction • Non-parametric Model for Background Subtraction [10] เสนอโดย Ahmed Elgammal, David Harwood และ Larry Davis ได้กล่าวถึง non-parametric background model และเสนอวิธี background subtractionโดย model ที@เสนอสามารถรองรับพื=น หลังที@ cluttered และ ไม่ completely static เช่นมีการขยับของกิ@งไม้พมุ่ ไม้ และmodelสามารถ ปรับได้เร็ วตามการเปลี@ยนแปลงของภาพทําให้สามารถdetect moving targetได้ดีและสามารถ ใช้ขอ้ มูลสี ในการจัดการเรื@ องเงาและ สามารถทํางาน realtimeทั=ง grey level&color imagerys • Fast Lighting Independent Background Subtraction [11] เสนอโดย Yuri Ivanov, Aaron Bobick และ John Liu ได้กล่าวถึงวิธี background subtraction แบบเร็ วโดยขึ=นกับ disparity verification ซึ@งคือไม่เปลี@ยนแปลงตามการเปลี@ยนแปลงอย่างเร็ ว ของแสง method นี=ตอ้ งทํา offline construcion of disparity fields ซึ@ งเชื@อมกับภาพพื=นหลัง เบื=องต้น แล้วตอน runtime ทําการ segmentโดยเทียบภาพพื=นหลังกับค่าความเข้มสี แต่ละ พิกเซลโดยถ้ามีมากกว่า 1 กล้อง จะทําให้ Robustness ในการ segment เพิม@ ขึ=นและสามารถ กําจัดเงาได้ และmethod นี=ใช้กบั fixed background geometry รวมทั=งสามารถจัดการกับการ เปลี@ยนแปลงของแสงได้ใน runtime และเนื@องจากไม่ทาํ disparity search จึงสามารถคํานวน realtime ได้ Online Group Singing System by Background Subtraction 4 รายงานฉบับสมบูรณ์ Online Group Singing System by Background Subtraction ได้ดาํ เนินกิจกรรมขั=นที@สองต่อคือได้ทดสอบเขียนโปรแกรมโดยใช้ Library OpenCV โดยในที@สุด ได้อลั กอลิธึมที@ทาํ งานได้คอ่ นข้างเร็ ว โดยมีรายละเอียดอัลกอลิธึมดังนี= ภาพที@รับมาจากกล้องสามารถใช้ฟังก์ชนั@ จาก openCV รับภาพจากกล้องและแยกข้อมูลของภาพ ออกเป็ นสามช่อง คือ Red Green Blue ซึ@งคือค่าความสว่างแสงของแสงแต่ละสี โดยอัลกอลิธึมนี=ใช้หลักการลบ กันของค่าสามช่องนี= ว่าแตกต่างจากภาพด้านหลังของผูใ้ ช้มากหรื อไม่ ถ้ามีความแตกต่างมากก็แสดงว่าพิกเซล นั=นเป็ น foreground ถ้าใกล้เคียงกับพื=นหลังเดิมก็จดั ว่าพิกเซลนั=นเป็ น background ที@เราจะตัดทิง= และแทนที@ดว้ ย ค่าของพิกเซลจาก background อันใหม่ที@ผใู ้ ช้เลือกไว้ โดยทําการเก็บค่าเฉลี@ยของภาพพื=นหลังที@ไม่มีผใู ้ ช้อยูจ่ ากการเก็บภาพเฟรมแรก ๆ เรี ยกว่า Average Background แผนภาพด้านล่างนี=แสดงวิธีการทํางานของอัลกอลิธ@ ึมที@ใช้ รูปที 2 สองรูปบนแสดงภาพจากกล้องของผู้ใช้ สองคนทีอยู่ต่างสถานทีกนั รูปล่างแสดงการรวม Online Group Singing System by Background Subtraction 5 รายงานฉบับสมบูรณ์ Online Group Singing System by Background Subtraction รูปที 3 แผนภาพแสดงวิธีการทํางานของอัลกอลิธึมทํา Background Subtraction จากแผนภาพด้านบนเห็นได้วา่ โปรแกรมจะรับภาพมาจากกล้องสองส่ วนคือ ภาพพื=นหลังเฉลี@ยขณะไม่ มีผใู ้ ช้อยูจ่ ากเฟรมแรกๆ เรี ยกว่า Avg BG และ เฟรมจากวีดีโอที@เป็ นพื=นหลังที@มีผใู ้ ช้อยู่ เรี ยกว่า Frame จากนั=น คํานวณค่าความต่างของค่าความสว่างของสี สามช่อง โดยสนใจเฉพาะความต่างจึงคํานวณด้วย |. .| |. .||. .| Online Group Singing System by Background Subtraction 6 รายงานฉบับสมบูรณ์ Online Group Singing System by Background Subtraction ได้เป็ นภาพค่าความต่างเรี ยกว่า AbsDiff แต่เนื@องจากภาพนั=นมี noise จึงควรพิจารณาค่าความแตกต่าง รอบๆ พิกเซลนั=นด้วย จึงนํามาผ่านการ smooth ด้วย Gaussian เรี ยกว่า Gaussian โดยใช้ Window Size เป็ น 15 และเพื@อให้ภาพมีความต่อเนื@องกันอย่างเรี ยบเนียนขึ=นจึงทําการ Erode และต่อด้วย Dilate ซึ@งเป็ นการ Smooth ความต่างของภาพความต่างลดลง เรี ยกว่า ErodeDilate จากนั=นนํามาผ่าน Threshold เพื@อตัดสิ นว่าความต่างไหน ที@เกิน Threshold จะถือว่าเป็ น Foreground หากไม่เกินจะถือว่าเป็ น Background เรี ยกว่า Mask โดยค่า Threshold ที@ใช้คือ 11 แต่เนื@องจาก noise ทําให้อาจเกิดช่องว่างบน foreground ได้จึงใช้การคํานวณหา Convex Hull แล้ว เติมช่องว่างนั=นให้เป็ น foreground ซึ@งมีผลให้ foreground มีความต่อเนื@องมากขึ=นเรี ยกว่า Refined Mask และเมื@อ ต้องการแสดงผลจะพิจารณาจาก Mask ว่าพิกเซลไหนเป็ น Foreground จะไม่ตอ้ งเปลี@ยนแปลง ส่ วนพิกเซลไหน เป็ น Background ให้เปลี@ยนเป็ นค่าพิกเซลนี=บน Background ใหม่ที@เลือกไว้ แต่เนื@องจากแสงอาจมีการ เปลี@ยนแปลงเล็กน้อยได้จึงทําการปรับเปลี@ยน Avg BG ให้ถูกต้องมากขึ=นในทุกๆจํานวนเฟรมที@กาํ หนด โดยมี การปรับเฉพาะพิกเซลที@ถูกพิจารณาว่าเป็ น Background ติดต่อกันในทุกเฟรมในช่วงที@กาํ หนด ต่อไปนี=เป็ นภาพ ผลการรันโปรแกรม Online Group Singing System by Background Subtraction 7 รายงานฉบับสมบูรณ์ Online Group Singing System by Background Subtraction รูปที 4 ภาพพืนU หลังทีไม่ มีผ้ใู ช้ รูปที 5 ภาพพืนU หลังทีต้องการนํามาแทน รูปที 6 ภาพทีต้องการนํามาประมวลผล รูปที 7 ภาพแสดง AbsDiff Online Group Singing System by Background Subtraction 8 รายงานฉบับสมบูรณ์ Online Group Singing System by Background Subtraction รูปที 8 ภาพแสดง Gaussian รูปที 9 ภาพแสดง ErodeDilate รูปที 10 ภาพแสดง Mask รูปที 11 ภาพแสดง Refined Mask Online Group Singing System by Background Subtraction 9 รายงานฉบับสมบูรณ์ Online Group Singing System by Background Subtraction โดยอัลกอลิธึมนี=มีขอ้ จํากัดคือ • ตลอดการรับภาพจากกล้องเพื@อประมวลผลโดยอัลกอลิธึมนี= กล้องต้องถูกตั=งไม่ให้ปรับตั=งค่า auto เช่น Auto White Balance, Auto Light เนื@องจากจะทําให้คา่ ความสว่างที@จุดเดียวกันของภาพ เปลี@ยนแปลงไปตามเวลาด้วย เป็ นผลให้กาํ หนดพื=นหลังได้ไม่ถูกต้อง • ตลอดการรับภาพจากกล้องเพื@อประมวลผล แสงในห้องต้องเป็ นแสงค่อนข้างคงที@ • ในช่วงเริ@ มเปิ ดโปรแกรมต้องทําการถ่ายภาพโดยไม่มีผใู ้ ช้ก่อน เพื@อให้ได้มาซึ@งภาพพื=นหลังที@จะถูก นํามาลบกับภาพที@ตอ้ งการนํามาประมวลผล • การทํางานจะให้ผลไม่ดี หากตัวคนมีสีใกล้เคียงกับพื=นหลังที@ถ่ายไว้ ซึ@งคือมีผลให้อลั กอริ ธึมคิดว่าเป็ น พื=นหลังเมื@อมีการซ้อนทับกัน เป็ นผลให้ตวั คนอาจไม่ครบ มีขาดไป การทดลองที@ได้ทาํ ไปแล้วแต่ไม่ได้ผลมีลาํ ดับการทํางานดังนี= • ในเฟรมแรกๆตามที@กาํ หนดไว้จะทําการหา AvgBG และ AvgDiff ซึ@งคือพื=นหลังโดยเฉลี@ยแต่ละ พิกเซลและการเปลี@ยนแปลงของพื=นหลังโดยเฉลี@ยแต่ละพิกเซลตามลําดับ • จากนั=นทําการสร้าง High Threshold และ Low Threshold ซึ@งคือค่าความเข้มสี แต่ละช่องซึ@งมีสามช่อง R,G,Bของแต่ละพิกเซลที@มากสุ ดหรื อน้อยสุ ดที@จะถูกพิจารณาว่าเป็ นพื=นหลัง โดยสร้างทั=งสองภาพนี= โดยใช้ AvgBG มาบวกกับ AvgDiff ได้เป็ น High Threshold และเอา AvgDiff มาลบได้เป็ น Low Threshold • เฟรมถัดๆมาจะอนุญาติให้ผใู ้ ช้เข้ามาในกล้อง เฟรมเหล่านี=จะถูกนํามาพิจารณาแต่ละพิกเซลและแต่ละ ช่องว่าอยูภ่ ายใน High Threshold และ Low Threshold ของแต่ละพิกเซลและแต่ละช่องด้วยหรื อไม่ หากใช่จะถือว่าเป็ นพื=นหลังและแทนที@ดว้ ยค่าพิกเซลของพื=นหลังใหม่ Online Group Singing System by Background Subtraction 10 รายงานฉบับสมบูรณ์ Online Group Singing System by Background Subtraction ผลการทดลองปรากฎว่าส่ วนพื=นหลังที@มีความเข้มสู งหรื อมีคา่ ความสว่างใกล้ศูนย์มกั จะถูกพิจารณาเป็ น พื=นหลังเสมอๆ คิดว่าเป็ นเพราะว่าได้ผลดังรู ป รูปที 12 ภาพแสดงผลการรันอัลกอลิธึมทีทดลอง Online Group Singing System by Background Subtraction 11 รายงานฉบับสมบูรณ์ Online Group Singing System by Background Subtraction 4.2 Multi-Media Media Transfer รูปที 13 แผนภาพแสดง Flow การทํางานในการส่ งข้ อมูล Multimedia ผ่าน Network ในส่ วนของ Multimedia Transfer จะแผนผังการทํางานเป็ นดังรู ปด้านบนนี= โดยจะแบ่งออกเป็ น 2 ส่ วน หลักๆ คือ ส่ วนของการส่ งข้อมูลออก Network และ ส่ วนของการรับข้อมูลจาก Network - ส่ วนของการส่ งข้อมูลออก Network ในส่ วนนี=จะครอบคลุมในส่ วนของการรับภาพและเสี ยงจากกล้องและไมโครโฟน แล้วนํามาทํา การ Encode เพื@อให้ขอ้ มูลมีขนาดเล็กลงเพื@อประสิ ทธิภาพในการส่ ภาพในการส่งข้อมูลผ่าน Network โดย Algorithm ที@เลือกใช้ในการ Encode ได้เลือก cvid ซึ@งเป็ น codec ของ cinepak[13] cinepak จากนั=นก็ จะต้องทําการ Encapsulate ทั=ง Audio และ Video Stream เข้าด้วยกัน โดยรู ปแบบของ encapsulation ที@เลือกใช้น= นั คือ AVI Stream แล้วทําการส่ งผ่าน Network ตาม Protocol ที@ เลือกใช้ คือ MMS ซึ@งงานในส่ วนนี=จะใช้ libvlc ช่วยในการพัฒนาทั=งหมด Online Group Singing System by Background Subtraction 12 รายงานฉบับสมบูรณ์ Online Group Singing System by Background Subtraction - ส่ วนของการรับข้อมูลจาก Network ในส่ วนนี=จะครอบคลุมในส่ วนของการรับภาพและเสี ยงจาก Network มาทําการ Decapsulate AVI Stream และ Decode Video&Audio เพื@อนํามาทํา Image Processing โดย OpenCV และ แสดงผลภาพและเสี ยงออกทางหน้าจอและลําโพง ซึ@งงานในส่ วนนี=จะใช้ DirectShow Framework ช่วยในการพัฒนาทั=งหมด ลักษณะในการทํางานของ DirectShow Framework จะ เป็ น DirectShow Filter หลายๆ Filter มาต่อกัน แล้ว Stream จะถูกสร้างที@ Source Filter Filte แล้ว ส่ งผ่าน Transfrom Filter ต่างๆ จนมาสิ= นสุ ดที@ Sink Filter ซึ@งมักจะเป็ น Renderer Filter หรื อ File Writer Filter โดยมีรายละเอียดในแต่ละ Filter ดังนี= รูปที 14 แผนภาพแสดงการทํางานในส่ วนของการรับข้ อมูลจาก Network โดย DirectShoww Framework 1. WM ASF Reader Filter Filter[14] จะรับผิดชอบในส่ วนของการรับ Multimedia Stream มาจาก Network และการ Decapsulate Stream โดย Filter ตัวนี=สามารถรับและ Decapsulate Stream ที@ Encapsulate แบบ H264, ASF(WMV), AVI ส่ วน Output ของ Filter ตัวนี= จะถูกแบ่งออกเป็ น 2 Stream คือ Video Stream และ Audio Stream ที@ยงั ไม่ได้ถูก Decode Online Group Singing System by Background Subtraction 13 รายงานฉบับสมบูรณ์ Online Group Singing System by Background Subtraction 2. AVI Decompressor Filter[15] จะรับผิดชอบในส่ วนของการ Decode Video Stream ที@รับมาจาก WM ASF Reader Filter และ Output ของ Filter ตัวนี= จะเป็ น Uncompressed Video ที@มี Color Space เป็ น RGB24 3. Proxy Trans Filter[16] จะรับผิดชอบในส่ วนของการเชื@อมต่อกับ OpenCV เพื@อทํา Image Processing โดยจะรับ Uncompressed Video Stream มาจาก AVI Decompressor Filter เข้ามา แล้วทําการดึงภาพจาก Video Stream เพื@อแปลงเป็ น รู ปแบบข้อมูลภาพที@ OpenCV สามารถใช้งานได้ (IplImage) จะนําข้อมูลภาพที@ ได้มาตัดภาพพื=นหลังตาม Algorithm ที@ได้กล่าวถึงไปแล้ว โดยใช้ OpenCV นอกจากนี=จะต้องรับข้อมูลภาพจากกล้องของเครื@ องคอมพิวเตอร์ของตัวเองมาทํา การตัดภาพพื=นหลังด้วยวิธีการเดียวกัน จากนั=นก็จะรวมภาพทั=งสองที@ผา่ นการ ประมวลผลแล้วและภาพพื=นหลังใหม่เข้าด้วยกัน และส่ งออกทาง Output Pin ของ Filter นี= ซึ@งจะเป็ น Uncompressed Video Stream ที@มี Color Space เป็ น RGB24 เช่นเดียวกับตอนรับเข้ามาใน Filter 4. Color Space Converter Filter[17] จะรับผิดชอบในส่ วนของการแปลง Color Space ของ Video Stream ที@รับมาจาก Proxy Trans Filter ในรู ปแบบของ RGB24 แล้ว Filter ตัวนี=จะทําการแปลงจาก RGB24 ให้เป็ น RGB32 อย่างไรก็ตาม Color Space Converter Filter ตัวนี= ไม่สามารถแปลงจาก Color Space แบบอื@นที@ไม่ใช่ RGB ให้เป็ น RGB ได้ (จะรองรับแค่ใน Windows Mobile เท่านั=น) 5. Video Renderer Filter[18] จะรับผิดชอบในส่ วนของแสดงผลภาพออกทาง หน้าจอ โดยจะรับ Video Stream มาจาก Color Space Converter Filter แล้ว Render ภาพจาก Video Stream ออกบนหน้าจอ ถือว่าเป็ น Sink Filter หรื อก็คือ เป็ น Filter ที@ไม่มีการส่ งข้อมูลต่อให้กบั Filter อื@น 6. Audio Renderer Filter[19] จะรับผิดชอบในส่ วนของการแสดงเสี ยงออกทาง ลําโพง โดยมีลกั ษณะการทํางานเหมือนกับ Video Renderer Filter แต่เปลี@ยนจาก Video Stream เป็ น Audio Stream Online Group Singing System by Background Subtraction 14 รายงานฉบับสมบูรณ์ Online Group Singing System by Background Subtraction โปรแกรมโดยรวมจะต้องสามารถทํางานได้ท=งั สองส่ วนพร้อมๆ กัน จึงจะถือว่าเสร็ จสมบูรณ์ แต่ ในตอนนี=ตวั โปรแกรมทํางานได้แค่ทีละส่ วนเท่านั=น นัน@ คือ คอมพิวเตอร์ เครื@ องหนึ@งจะรับผิดชอบในส่ วนของ การส่ งข้อมูลออก Network และคอมพิวเตอร์ อีกหนึ@งเครื@ องจะรับผิดชอบในส่ วนของการรับข้อมูลจาก Network และแสดงผลได้แค่ที@เครื@ องที@รับข้อมูลจาก Network เท่านั=น ในบางส่ วนของโปรแกรมได้ถูกเปลี@ยนแปลงจากที@วางแผนไว้ในตอนแรก เนื@องจากได้ทดลองทําแล้ว พบว่า ไม่สามารถทําได้ตามที@คิดไว้ มีรายละเอียดต่าง ๆ ดังนี= - จากที@วางแผนไว้วา่ จะใช้ libvlc ทั=งการส่ งและรับข้อมูล Multimedia ผ่าน Network แต่หลังจาก ทดลอง implement จริ งแล้ว พบว่าไม่สามารถทําได้จริ ง เพราะ libvlc ไม่สามารถส่ งต่อข้อมูลที@เป็ น Video Stream ให้เป็ นรู ปแบบที@ OpenCV จะนําไปทํางานต่อได้ จึงต้องเปลี@ยนในส่ วนของการรับ ข้อมูลเป็ น DirectShow แทน เพราะสามารถดึงและแปลงรู ปสําหรับ OpenCV ได้ และสามารถรับ ข้อมูลจาก Streaming Server ได้ดว้ ย - จากที@วางแผนไว้วา่ จะ Encode และ Encapsulate Stream แบบ H264 (MPEG4) แต่พบว่าการรับ ข้อมูลด้วย DirectShow Filter นั=นไม่รองรับการ Decode แบบดังกล่าว จึงต้องทําการเปลี@ยนรู ปแบบ การ Encapsulation Stream เป็ น AVI - รู ปแบบในการ Encode และ Encapsulate Stream ที@ WM ASF Reader รองรับมี 3 รู ปแบบหลักๆ คือ H264, ASF และ AVI ที@เลือกใช้ AVI แต่ไม่เลือก ASF เพราะว่าถ้าใช้ ASF จะต้องมี Filter เพิม@ ขึ=นมาอีกหนึ@งตัวสําหรับการ Decode Video Stream คือ WMVideo Decoder DMO Filter[20] ซึ@ง ทางผูพ้ ฒั นายังหารายละเอียดการใช้งานที@ถูกต้องไม่พบ Online Group Singing System by Background Subtraction 15 รายงานฉบับสมบูรณ์ Online Group Singing System by Background Subtraction 4.3 Project Structure & User Interface รูปที 15 แผนภาพแสดงโครงสร้ างหลักของโปรแกรม รู ปด้านบนแสดงโครงสร้างหลักของโปรแกรม โดยจะมีเครื@ องคอมพิวเตอร์อยูส่ องเครื@ อง คอมพิวเตอร์ เครื@ องแรกจะทําหน้าที@ในการส่ งข้อมูลภาพและเสี ยงผ่าน Network ไปให้คอมพิวเตอร์เครื@ องที@สอง ซึ@งจะรับ ข้อมูลภาพนั=นไปตัดภาพพื=นหลัง แล้วนําไปรวมกับภาพที@รับมาจากกล้องของตนเองที@ตดั ภาพพื=นหลังแล้ว เช่นเดียวกัน จากนั=นนําภาพที@ได้แสดงออกบนหน้าจอ นอกจากนี=คอมพิวเตอร์เครื@ องที@สองจะรับข้อมูลเสี ยงจาก Network และ ไมโครโฟนในเครื@ องของตน แล้วนําไปแสดงออกทางลําโพงพร้อมกัน Online Group Singing System by Background Subtraction 16 รายงานฉบับสมบูรณ์ Online Group Singing System by Background Subtraction ในส่ วน User Interface ของโปรแกรม จะใช้ MFC มาช่วยในการพัฒนา ซึ@งได้ผลการพัฒนาออกมาได้ดงั นี= - หน้าต่างหลักของโปรแกรม รูปที 16 ภาพแสดงหน้ าต่ างหลักของโปรแกรม - หน้าต่างสําหรับกรอก IP Address ของเครื@ องที@ตอ้ งการติดต่อร้องเพลงด้วย รูปที 17 ภาพแสดงหน้ าต่ างสํ าหรับกรอก IP Address ทีต้องการติดต่ อ Online Group Singing System by Background Subtraction 17 รายงานฉบับสมบูรณ์ Online Group Singing System by Background Subtraction - หน้าต่างสําหรับ เลือกภาพพื=นหลังใหม่ ที@ตอ้ งการ รูปที 18 ภาพแสดงหน้ าต่ างสํ าหรับเลือกไฟล์ภาพพืนU หลัง Online Group Singing System by Background Subtraction 18 รายงานฉบับสมบูรณ์ Online Group Singing System by Background Subtraction 5. อุปกรณ์ และเครืองมือทีใ ช้ ในการพัฒนา 5.1 Visual Studio C++ 2008 เป็ นเครื@ องมือหลักในการสร้างและพัฒนาโครงการ โดยจะช่วยในส่ วนของการเขียนโปรแกรม (Text Highlighting), การเชื@อมต่อกับ Library ต่างๆ ที@เลือกใช้ (Library Linking), การสร้างและรัน โปรแกรม (Build and Run Project) เหตุผลที@เลือกใช้ คือ เป็ นเครื@ องมือที@เป็ นที@นิยมใช้กนั อย่างแพร่ หลายในการพัฒนาโปรแกรม ด้วยภาษา C++ และมี Tutorial ในการสอนใช้ที@ละเอียดและครอบคลุมการใช้งานทั=งหมด 5.2 OpenCV ย่อมาจาก Open Computer Vision เป็ น Open Source Library ที@ใช้ทาํ Image Processing ซึ@งจะ นํามาช่วยในส่ วนของการตัดภาพพื=นหลัง (Background Subtraction) และการรวมภาพจากวีดีโอหลายๆ วีดีโอเข้าด้วยกัน รวมทั=งแสดงภาพหลังจากรวมแล้วบนภาพพื=นหลังใหม่ดว้ ย เหตุผลที@เลือกใช้ คือ เป็ นเครื@ องมือที@นิยมใช้กนั อย่างแพร่ หลายในการทํางานเกี@ยวกับ Computer Vision และมีเอกสารที@ดีซ@ ึงเป็ นประโยชน์ตอ่ การพัฒนาเป็ นอย่างมาก 5.3 libvlc เป็ น Open Source Library ที@จะช่วยในการ encode, decode และ encapsulate stream ก่อน ส่ งออกทาง Network และรับ Stream จาก Network เหตุผลที@เลือกใช้ คือ เป็ น Open Source ทําให้สามารถศึกษา Source Code เพื@อนํามาประยุกต์ใช้ กับโปรแกรมได้ และ รองรับการ encode, encapsulate และ protocol หลากหลายรู ปแบบในการส่ งผ่าน Network 5.4 DirectShow เป็ น Framework ที@มากับ Software Development Kit (SDK) ของ Windows ที@ใช้จดั การ Multimedia Stream ทั=งในด้านการสร้าง Stream จาก Video File, Network และ Capture จากกล้อง รวม Online Group Singing System by Background Subtraction 19 รายงานฉบับสมบูรณ์ Online Group Singing System by Background Subtraction ไปถึงการทําการแก้ไข Video Stream ซึ@งจะเอาปรับใช้ในการทํา Image Processing โดยการดึงภาพและ แปลงข้อมูลภาพให้อยูใ่ นรู ปแบบที@ OpenCV สามารถนําไปทํางานต่อได้ และช่วยในส่วนของการ แสดงผลภาพและเสี ยงออกทางหน้าจอและลําโพง เหตุผลที@เลือกใช้ คือ libvlc ไม่สามารถดึงภาพจาก Video Stream แล้วนําไปแปลงเป็ นข้อมูลใน รู ปแบบที@ OpenCV สามารถนําไปใช้งานได้ ทําให้ไม่สามารถตัดภาพพื=นหลังและรวมภาพจากวีดีโอที@ รับมาจาก Network ได้ จึงต้องนํา DirectShow มาช่วยในการรับ Video Stream จาก Network และดึง ภาพส่ งต่อให้ OpenCV ทํางานต่อไป 5.5 MFC Microsoft Foundation Classes หรื อ MFC เป็ นเครื@ องมือที@มากับ Microsoft Visual C++ 2008 ที@ จะช่วยในส่ วนของการสร้าง User Interface เหตุผลที@เลือกใช้ คือ เป็ นเครื@ องมือที@ใช้งานได้ง่าย ไม่ซบั ซ้อนยุง่ ยาก และเป็ นเครื@ องมือที@มีอยู่ แล้วใน Microsoft Visual C++ ทําให้ไม่ตอ้ งลงอะไรเพิม@ เติม Online Group Singing System by Background Subtraction 20 รายงานฉบับสมบูรณ์ Online Group Singing System by Background Subtraction 6. ปัญหาและอุปสรรค 6.1 ความซับซ้ อนของ Library ต่ างๆ การศึกษาและเลือกใช้งาน Library ต่างๆ ซึ@งบางอันมีความซับซ้อนในการใช้งานค่อนข้างสู ง ทําให้เสี ยเวลาในการศึกษานาน จึงพยายามเลือกอันที@ใช้งานง่าย มีวธิ ีการติดตั=ง และวิธีการใช้งานที@ ละเอียดชัดเจน รวมทั=งจะต้องสอดคล้องกับสิ@ งที@เราต้องการใช้งานจริ ง 6.2 Compatibility ของ Library ต่ างๆ การส่ งต่อข้อมูลระหว่าง Library ที@ตา่ งกัน เพื@อให้ทาํ งานต่อกันได้น= นั เป็ นปัญหาหลักที@พบเจอ ในการพัฒนา โปรแกรม คือ ไม่สามารถดึงภาพจาก Multimedia Stream ที@รับมาจาก libvlc เพื@อนําไป แปลงเป็ นรู ปแบบข้อมูลภาพที@ OpenCV สามารถนําไปใช้งานต่อได้ ดังนั=นจึงต้องหาเครื@ องมืออื@นมา รับผิดชอบในส่ วนของการรับและส่ งข้อมูลผ่าน Network โดยได้เลือกใช้ DirectShow Framework มา ช่วย แต่ทางผูพ้ ฒั นาโครงการหาได้เพียง Filter ที@จะมาช่วยในการรับข้อมูลเท่านั=น แต่ในส่ วนของการ ส่ งข้อมูลนั=น ทางผูพ้ ฒั นาโครงการหา Filter ที@คาดว่าจะทํางานได้ แต่เนื@องจากเวลาที@จาํ กัดทําให้ ผูพ้ ฒั นาทําการศึกษาและ Implement ได้ทนั รวมไปถึงยังไม่สามารถหาเอกสารหรื อตัวอย่างการใช้งาน Filter ตัวนี=อย่างละเอียดเจอ ดังนั=นตัวโปรแกรมในขณะนี=จึงยังไม่สามารถทํางานทั=งส่ วนรับและส่ งได้ พร้อมกัน 7. แนวทางในการพัฒนาและประยุกต์ หากจะนําโครงการนี=ออกเผยแพร่ ออกสู่ ตลาด ควรจะปรับปรุ งเพิม@ เติมในส่ วนของหน้าตา โปรแกรมและลูกเล่นต่าง ๆ ในโปรแกรมให้ดึงดูดความสนใจของผูใ้ ช้ให้มากขึ=น รวมถึงการปรับแก้อลั กอ ลิธ@ ึมการทํา Background Subtraction ให้สามารถตัดขอบได้เรี ยบเนียนมากขึ=น โดยผูพ้ ฒั นาขอแนะนําว่า น่าจะทดลองการทํา Linear Threshold แทนการทํา Binary Threshold และน่าจะทดลองศึกษาเรื@ องของการ เปื= อนสี ภาพให้มีสีโดยรวมใกล้เคียงกับพื=นหลังใหม่ ในขณะนี=โปรแกรมสามารถแสดงภาพผูร้ ้องเพลงร่ วมกันบนภาพพื=นหลังเดียวกันได้ และสามารถ ส่ งและรับข้อมูล Multimedia ผ่าน Network ได้แล้ว ดังนั=นตัวโปรแกรมสามารถนําไปใช้เป็ นต้นแบบเพื@อ Online Group Singing System by Background Subtraction 21 รายงานฉบับสมบูรณ์ Online Group Singing System by Background Subtraction พัฒนาเป็ น Virtual Group Karaoke Online ซึ@งเป็ นโปรแกรมที@ทาํ ให้ผทู ้ ี@ตอ้ งการร้องเพลงคาราโอเกะ สามารถร่ วมร้องคาราโอเกะด้วยกันโดยที@ไม่จาํ เป็ นต้องเดินทางมาอยูใ่ นสถานที@เดียวกัน อย่างไรก็ตามการ จะพัฒนาโปรแกรมดังกล่าวจะต้องศึกษาเพิม@ เติมในเรื@ องของการส่ งข้อมูล Multimedia ผ่าน Internet Network ซึ@งจะมีความคลาดเคลื@อนมากกว่า LAN มาก และยังต้องพัฒนาต่อให้ตวั โปรแกรมสามารถทํางาน ได้ท=งั รับและส่ งข้อมูลพร้อมกัน ซึ@งในส่ วนนี=สามารถเปลี@ยนจากการส่ งข้อมูลด้วย libvlc เป็ นการส่ งข้อมูล ด้วย Filter ของ DirectShow แทน โดย Filter ที@คาดว่าจะทํางานในส่ วนนี=ได้ คือ WM ASF Writer Filter นอกจากนี= เนื@องจากการร้องเพลงคาราโอเกะเป็ นที@นิยมของกลุ่มวัยรุ่ น ดังนั=นการเพิม@ เติมลูกเล่น ต่างๆจะทําให้ตอบสนองต่อความต้องการของผูใ้ ช้ได้เป็ นอย่างดี ซึ@งสามารถทําได้หลายวิธี ได้แก่ การเพิม@ ภาพฉากหลังให้หลากหลายมากขึ=น เพิม@ การให้คะแนนในการร้องเพลงร่ วมกันของผูใ้ ช้ รวมไปถึงการเพิม@ การโต้ตอบกันระหว่างผูใ้ ช้ในกลุ่มเดียวกันให้มากขึ=นเพื@อเพิม@ อรรถรสในการร้องเพลงร่ วมกันให้ดูสมจริ ง มากยิง@ ขึ=น Online Group Singing System by Background Subtraction 22 รายงานฉบับสมบูรณ์ Online Group Singing System by Background Subtraction 8. เอกสารอ้ างอิง [1] Video Streaming, Available from: URL: http://www.mediacollege.com/video/streaming/ overview.html. (Accessed September 30, 2009) [2] Ekiga, Available from: URL: http://ekiga.org/index.php?rub=1. (Accessed August 20, 2009) [3] Dimdim, Available from: URL: http://www.dimdim.com/opensource/dimdim_open_source_ community_edition.html. (Accessed August 21, 2009) [4] OpenMeetings, Available from: URL: http://code.google.com/p/openmeetings. (Accessed September 30, 2009) [5] Vmukti, Available from: URL: http://www.vmukti.com. (Accessed September 30, 2009) [6] Port Forwarding, Available from: URL: http://en.wikipedia.org/wiki/Port_forwarding. (Accessed September 30, 2009) [7] VLC, Available from: URL: http://www.videolan.org/vlc/streaming.html. (Accessed September 30, 2009) [8] DirectShow, Available from: URL: http://en.wikipedia.org/wiki/DirectShow. (Accessed October 5, 2009) [9] VMR9, Available from: URL: http://www.codeproject.com/KB/directx/DirectShowVMR9.aspx?df= 100&forumid=141179&exp=0&select=1601363. (Accessed October 23, 2009) [10]SIP Protocols, Available from: URL: http://www.radvision.com/NR/rdonlyres/51855E82-BD7C4D9D-AA8A-E822E3F4A81F/0/RADVISIONSIPProtocolOverview.pdf. (Accessed September 30, 2009) [11]Red5 Tutorials, Available from : URL : http://www.red5tutorials.net/index.php/Main_Page. (Accessed June 25, 2009). [12]OpenLaszlo, Available from: URL: http://www.openlaszlo.org. (Accessed October 16, 2009) [13]Cinepak, Available from: URL: http://en.wikipedia.org/wiki/Cinepak. (Accessed January 9, 2010) [14]WM ASF Reader Filter, Available from: URL: http://msdn.microsoft.com/en-us/library/dd390984 %28VS.85%29.aspx. (Accessed January 9, 2010) [15]AVI Decompressor, Available from: URL: http://msdn.microsoft.com/en-us/library/dd318185 %28VS.85%29.aspx. (Accessed January 9, 2010) Online Group Singing System by Background Subtraction 23 รายงานฉบับสมบูรณ์ Online Group Singing System by Background Subtraction [16]Proxy Trans Filter, Available from: URL: http://www.scribd.com/doc/4020616/OpencvDirectshow ?autodown=pdf. (Accessed January 9, 2010) [17]Color Space Converter Filter, Available from: URL: http://msdn.microsoft.com/en-us/library/dd3878 92%28VS.85%29.aspx. (Accessed January 9, 2010) [18]Video Renderer Filter, Available from: URL: http://msdn.microsoft.com/en-us/library/dd407349 %28VS.85%29.aspx. (Accessed January 9, 2010) [19]Audio Renderer Filter, Available from: URL: http://msdn.microsoft.com/en-us/library/dd317589 %28VS.85%29.aspx. (Accessed January 9, 2010) [20]WMVideo Decoder DMO, Available from: URL: http://msdn.microsoft.com/en-us/library/dd375519 %28VS.85%29.aspx. (Accessed January 9, 2010) Online Group Singing System by Background Subtraction 24
Similar documents
พ.ญ. ขวัญใจ วงศกิตติรักษ กลุ มงานจักษุวิทยา
posterior subcapsular opacity เกิดขึน ้ เนือ ่ งจากมีการสะสมของ sorbital fructose glucose ในเลนสเ์ พิม ่ มากขึน ้ สง่ ผลให ้เกิด sudden and progressive myopia ¾ อาจพบว่าเป็ น abrupt onset in uncont...
More informationwww.muaythai2000.com 2016/08/03 8 +5.47 % ( ) 511
นิยาม UIP : จำนวน IP ที่ไม่ซ้ำกัน, USS : Unique Session (Session ที่ไม่ซ้ำกัน), PVs : pageviews จำนวนข้อมูลฮิต, RV%(Return Visitor) จำนวน IP ที่กลับมาดูเว็บ CH% อัตราการเปลี่ยนแปลงของ UIP , Rank : ...
More information