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 information

www.muaythai2000.com 2016/08/03 8 +5.47 % ( ) 511

www.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