week3 2 pyramid log wavelet 4perpage
DESCRIPTION
Week3 2 Pyramid LoG Wavelet 4perPageTRANSCRIPT
การมองเห็นของคอมพิวเตอร์ขั้นพื้นฐานFundamentals of Computer Vision
Image Pyramid, Wavelet and
Laplacian of Gaussian
ภิญโญ แท้ประสาทสิทธิ์
ภาควิชาคอมพิวเตอร์ คณะวิทยาศาสตร์ มหาวิทยาลัยศิลปากร
(pinyotae at gmail dot com; pinyo at su.ac.th)
Web site: www.cs.su.ac.th/~pinyotae/comvision/
Facebook group: [email protected] สัปดาห์ที่สาม
Topic Outline
• Clarification from Past Talks
• Image Pyramid
• Laplacian of Gaussian and its Pyramid
• Wavelet and its Pyramid and Tree
20 มิถุนายน 2555 2ภิญโญ แท้ประสาทสิทธิ์ มหาวิทยาลัยศิลปากร
Clarification from Past Talks
• การทําคอนโวลูชันเป็นสิ่งที่มาจากแคลคูลัส– ใช้กับสัญญาณแบบมีช่วงคาบและไม่มีขอบเขตจํากัด
– แต่พอมาใช้กับรูปที่มีขอบเขตจํากัดจึงมีเรื่องชวนงง เช่น • เราต้องจัดการกับขอบภาพ
• ต้องคํานึงถึงการเปลี่ยนขนาดของผลลัพธ์
– ต่างกับการคูณเมตริกซ์
– ลําดับไม่มีความสําคัญ ไม่มีปัญหาหากจะทําอะไรก่อนหลัง f * h = h * f
– พวกฟิลเตอร์ที่แยกออกจากกันได้ แท้จริงก็ไม่ใช่การคูณเมตริกซ์ แต่พฤติกรรมมันเหมือนกับการคูณเมตริกซ์ (เป็นเทคนิคช่วยจําว่ามิติและผลลัพธ์ของฟิลเตอร์ที่เทียบเท่ากันคืออะไร)
*= =
20 มิถุนายน 2555 3ภิญโญ แท้ประสาทสิทธิ์ มหาวิทยาลัยศิลปากร
Clarification from Past Talks (2)
• Degree of Freedom ของการหมุนวัตถุในสามมิติด้วยการใช้มุมแบบ Euler เท่ากับ 6
– เพราะมีพารามิเตอร์ที่เราปรับค่าได้หกตัว
– มุมแกน x มุมแกน y มุมแกน z; การเลื่อนทางแกน x, y และ z
• วิธีการหมุนวัตถุด้วยการใช้มุมแบบ Euler มีพารามิเตอร์ที่ปรับได้หกตัว– แต่วิธีหมุนแบบ Axis/Angle เป็นวิธีที่ทําหน้าที่ได้เหมือนกันและต้องการแค่สามตัว
– วิธีหมุนแบบ Quaternions ต้องการแค่สี่ตัว และเหมาะกับการติดตามการเคลื่อนที่ของกล้อง
20 มิถุนายน 2555 4ภิญโญ แท้ประสาทสิทธิ์ มหาวิทยาลัยศิลปากร
Image Pyramid
• เป็นการพิจารณารูปที่ขนาดต่าง ๆ กันเพื่อให้ได้ข้อมูลที่เหมาะกับการใช้งานมากขึ้น
• มีอยู่สองแบบที่พบบ่อยที่สุด– Gaussian Pyramid
– Laplacian Pyramid
• แบบที่พบบ่อยพอสมควร– Wavelet Pyramid
• แบบที่พบน้อย– Steerable Pyramid
Slide credit: Freeman
20 มิถุนายน 2555 5ภิญโญ แท้ประสาทสิทธิ์ มหาวิทยาลัยศิลปากร
Gaussian Pyramid
• ใช้ Gaussian filter ในการคํานวณรูปใหม่– Gaussian * Gaussian ได้ผลเป็น Gaussian อีกตัวหนึ่ง
• Gaussian เป็น low-pass filter ทําให้ภาพเรียบ– ข้อมูลบางอย่างหายไป และเราสามารถแทนด้วยรูปที่เล็กลงได้โดยข้อมูลไม่หายซ้ําซาก
(ในภาพที่เรียบมักจะมีการใช้ที่เก็บข้อมูลเกินกว่าความจําเป็น)
20 มิถุนายน 2555 6ภิญโญ แท้ประสาทสิทธิ์ มหาวิทยาลัยศิลปากร
Computation of Gaussian Pyramid
http://www-bcs.mit.edu/people/adelson/pub_pdfs/pyramid83.pdf
Gaussian averagingcombines pixels
ขนาดรูปลดลงทีละครึ่ง� ลดปริมาณการคํานวณโดยรวม
20 มิถุนายน 2555 7ภิญโญ แท้ประสาทสิทธิ์ มหาวิทยาลัยศิลปากร
ทําไมไม่ดึงค่าพิกเซลแบบพิกเซลเว้นพิกเซล• การดึงค่ามาสร้างรูปใหม่แบบพิกเซลเว้นพิกเซลทําให้ได้ภาพที่มีขนาดลดลงครึ่งหนึ่ง
• เราเรียกวิธีการนี้ว่า subsampling / downsampling
• ในทางตรงกันข้ามการขยายรูปขึ้นไปเรียกว่า upsampling
Slide credit: Robert T. Collins
20 มิถุนายน 2555 8ภิญโญ แท้ประสาทสิทธิ์ มหาวิทยาลัยศิลปากร
เปรียบเทียบการใช้ Gaussian กับ Subsampling
Slide credit: Robert T. Collins
20 มิถุนายน 2555 9ภิญโญ แท้ประสาทสิทธิ์ มหาวิทยาลัยศิลปากร
ดูผลเปรียบเทียบเวอร์ชันบิ๊กเบิ้ม
Slide credit: Robert T. Collins
ตอนนี้บางคนจะยังรู้สึกชอบแบบไม่มีการ smooth
20 มิถุนายน 2555 10ภิญโญ แท้ประสาทสิทธิ์ มหาวิทยาลัยศิลปากร
ดูผลเปรียบเทียบเวอร์ชันบิ๊กเบิ้ม (2)
Slide credit: Robert T. Collins
แต่ภาพนี้แบบ smooth ก่อนจะเริ่มดูดีกว่า
20 มิถุนายน 2555 11ภิญโญ แท้ประสาทสิทธิ์ มหาวิทยาลัยศิลปากร
ดูผลเปรียบเทียบเวอร์ชันบิ๊กเบิ้ม (3)
Slide credit: Robert T. Collins
แบบที่ไม่มีการ smooth ก่อนจะดูไม่ออกเลยว่าตากับจมูกอยู่ที่ไหน20 มิถุนายน 2555 12ภิญโญ แท้ประสาทสิทธิ์ มหาวิทยาลัยศิลปากร
ตัวอย่างการสร้าง Gaussian Pyramid
ภาพหกระดับแรกของพีระมิดแบบเกาส์สําหรับภาพเลนนา (Lenna)
ภาพต้นฉบับ (ระดับศูนย์) มีขนาด257 x 257 พิกเซลแต่ละระดับที่สูงขึ้นไปมีขนาดประมาณครึ่งหนึง่ของระดับที่มากอ่นมันดังนั้นที่ระดับห้าจะมีขนาดเพียง 9 x 9 พิกเซล
http://www-bcs.mit.edu/people/adelson/pub_pdfs/pyramid83.pdf
20 มิถุนายน 2555 13ภิญโญ แท้ประสาทสิทธิ์ มหาวิทยาลัยศิลปากร
การประยุกต์ใช้ Gaussian Pyramid
• ขยายหรือหดภาพลง
• วิเคราะห์รูปด้วยข้อมูลหลายความละเอียด (Multi-resolution Analysis)– หาวัตถุที่มีขนาดตามที่ต้องการ
– การประมวลผลภาพจากหยาบสู่ละเอียด:
• สร้างรูปประมาณที่มีรายละเอียดน้อย หรือวิเคราะห์การเคลื่อนที่ในภาพที่มีความละเอียดน้อย
• เมื่อได้ข้อมูลแล้วก็วิเคราะห์ภาพที่มีความละเอียดมากขึ้น แก้ไขข้อผิดพลาดที่ทําไม่ได้ในภาพความละเอียดต่ํา
• ทําซ้ําในทํานองเดียวกันจนถึงฐานพีระมิดหรือหยุดทําการวิเคราะห์เมื่อได้ผลลัพธ์ที่พอใจ
• เป็นวิธีที่ประสบความสําเร็จอยู่บ่อย ๆ ในการกําจัดสิ่งรบกวนเช่นพื้นที่เล็ก ๆ หรือโลคอลมินิมา (local minima) ในงานประมาณค่าที่ซับซ้อน
20 มิถุนายน 2555 14ภิญโญ แท้ประสาทสิทธิ์ มหาวิทยาลัยศิลปากร
ตัวอย่างการประยุกใช้ Gaussian Pyramid
• จงหาตําแหน่งของจมูกและปากของม้าลายในภาพ
• จมูกและปากมีสีดํา– แต่ลายม้าลายก็มีสีเดียวกัน ลายมีลักษณะเป็นทางยาว ล้อมรอบด้วยพื้นที่สีขาว
– ถ้าลดรายละเอียดลงไป ลายสีดําจะถูกกลืนไปกับสีขาว แต่ปากกับจมูกมีลักษณะกลม� ยังคงความเป็นพื้นที่สีดําแม้รายละเอียดลดลงไป
– เมื่อได้ตําแหน่งโดยประมาณแล้ว นําตําแหน่งโดยประมาณมาใช้กับภาพที่ละเอียดเพิ่มขึ้น
20 มิถุนายน 2555 15ภิญโญ แท้ประสาทสิทธิ์ มหาวิทยาลัยศิลปากร
Laplacian of Gaussian and Its Pyramid
• เป็นการประยุกต์อนุพันธ์อันดับสองบนภาพที่ผ่าน Gaussian filter มาแล้ว
• นิยมใช้ในการหาขอบวัตถุ
• สามารถใช้ในการหา Blob (หยดส,ี กลุ่มก้อน) รูปร่างคล้ายวงกลมได้ด้วย
• เรามักเขียนย่อ Laplacian of Gaussian ด้วย LoG
• การหาอนุพันธ์ซ้ํา ๆ ไม่ได้ให้ผลลัพธ์เหมือนกับการใช้ Gaussian filter ซ้ํา ๆ– ตอนใช้ Gaussian filter ซ้ํา ๆ จะได้ภาพที่เรียบมากขึ้นเรื่อย ๆ
– แต่ไม่เป็นเช่นนั้นกับ LoG
• การสร้าง LoG Pyramid ต้องใช้เวลาในการคํานวณมาก– เราไม่สามารถสร้างรูป LoG ในพีระมิดชั้นสูง ๆ จากขั้นก่อนหน้าแบบ Gaussian Pyramid
– เราต้องคํานวณจากฐานชั้นแรกเท่านั้น � ใช้เวลามากเพราะภาพชั้นแรกมีขนาดใหญ่
• ประมาณค่า LoG ได้ด้วย Difference of Gaussian (DoG) � เร็วกว่าเดิมมาก
20 มิถุนายน 2555 16ภิญโญ แท้ประสาทสิทธิ์ มหาวิทยาลัยศิลปากร
การหาอนุพันธ์บนสัญญาณภาพ• การหาอนุพันธ์เป็นการหาอัตราการเปลี่ยนแปลงที่จุดต่าง ๆ
• โดยทั่วไปฟังก์ชันที่เราจะหาอนุพันธ์ได้ต้องเป็นฟังก์ชันต่อเนื่อง
• แต่รูปภาพอยู่ใน discrete domain จึงใช้การประมาณค่าแทน
Slide credit: Robert T. Collins
F(x) เป็นฟังก์ชันรูปภาพหนึ่งมิติ
ทําไม่ได้ในสัญญาณภาพดิจิทัลเพราะพิกัดเพิ่มทีละหนึ่ง20 มิถุนายน 2555 17ภิญโญ แท้ประสาทสิทธิ์ มหาวิทยาลัยศิลปากร
ขอบวัตถุกับอนุพันธ์อันดับหนึ่ง
Image source: http://inperc.com/wiki/index.php?title=Edge_detection
เปรียบเทียบผลการหาขอบบนภาพสองมิติด้วยอนุพันธ์อันดับหนึ่ง
ขอบรูปที่ได้ (ภาพขอบนี้สมมติว่าเส้นดํามีค่ามาก)
20 มิถุนายน 2555 18ภิญโญ แท้ประสาทสิทธิ์ มหาวิทยาลัยศิลปากร
อนุพันธ์อันดับสองก็หาขอบได้• ที่จริงอนุพันธ์อันดับสองหาขอบดีกว่า (แต่ก็มักจะมีปัญหากับสัญญาณรบกวน)
• บริเวณที่เป็นจุดยอดของอนุพันธ์อันดับหนึ่งจะกลายเป็นจุดข้ามค่าศูนย์(zero-crossing) ของอนุพันธ์อันดับสอง
Slide credit: Robert T. Collins
20 มิถุนายน 2555 19ภิญโญ แท้ประสาทสิทธิ์ มหาวิทยาลัยศิลปากร
การประมาณค่าอนุพันธ์อันดับสอง
• เมื่อ h มีค่าเท่ากับหนึ่ง
• เคอร์เนลสําหรับการหาอนุพันธ์อันดับสอง
ความผิดพลาดเชิงตัวเลขอันดับสอง(second-order numerical error)
20 มิถุนายน 2555 20ภิญโญ แท้ประสาทสิทธิ์ มหาวิทยาลัยศิลปากร
ตัวอย่างผลการหาอนุพันธ์อันดับสอง
Slide credit: Robert T. Collins
20 มิถุนายน 2555 21ภิญโญ แท้ประสาทสิทธิ์ มหาวิทยาลัยศิลปากร
ประโยชน์จากการใช้อนุพันธ์อันดับสอง
Slide credit: Robert T. Collins
20 มิถุนายน 2555 22ภิญโญ แท้ประสาทสิทธิ์ มหาวิทยาลัยศิลปากร
การหาจุดข้ามค่าศูนย์• ในระบบหนึ่งมิติ ทําคอนโวลูชันด้วย [1 -2 1] และหาพิกเซลที่ผลลัพธ์มีค่าเป็นศูนย์
หรือเกือบจะเป็นศูนย์– ค่าที่เป็นศูนย์แบบแม่นตรงหายากเพราะเราอยู่บนระบบดิสครีต
• ปัญหาก็คือว่าเมื่ออนุพันธ์ย่อยอันดับหนึ่งเป็นศูนย์ อนุพันธ์อันดับสองก็เป็นศูนย์ด้วย– การใช้เคอร์เนล [1 -2 1] บนพื้นที่เป็นศูนย์หรือค่าคงที่จะได้ผลลัพธ์เป็นศูนย์
แต่ไม่มีจุดข้ามค่าศูนย์
• ดังนั้นหลังจากทําคอนโลลูชันด้วย [1 -2 1] เราจะตามหาพิกเซลที่มีค่าผลลัพธ์เท่ากับศูนย์หรือเกือบจะเป็นศูนย์ และ มีผลลัพธ์จากอนุพันธ์อันดับหนึ่งใหญ่พอ– เคอร์เนลอนุพันธ์อันดับหนึ่งที่นิยมคือ Sobel มักถูกนิยามในรูปสองมิติ
20 มิถุนายน 2555 23ภิญโญ แท้ประสาทสิทธิ์ มหาวิทยาลัยศิลปากร
แล้วตกลง Laplacian คืออะไรกันแน่• Laplacian เป็นการหาผลบวกของอนุพันธ์อันดับสองในทุกแกน
• อนุพันธ์อันดับสองเป็นองค์ประกอบของ Laplacian แต่ Laplacian ไม่ใช่อนุพันธ์อนัดับสอง
20 มิถุนายน 2555 24ภิญโญ แท้ประสาทสิทธิ์ มหาวิทยาลัยศิลปากร
ตัวอย่างผลลัพธ์การใช้ Laplacian
Slide credit: Robert T. Collins
20 มิถุนายน 2555 25ภิญโญ แท้ประสาทสิทธิ์ มหาวิทยาลัยศิลปากร
เปรียบเทียบ Laplacian กับอนุพันธ์อันดับสอง
Slide credit: Robert T. Collins
20 มิถุนายน 2555 26ภิญโญ แท้ประสาทสิทธิ์ มหาวิทยาลัยศิลปากร
เรื่องสําคัญของ Laplacian
• (Laplacian) เป็นปริมาณสเกลาร์– ข้อดี: สามารถคํานวณได้ด้วยเคอร์เนลเพียงอันเดียว
– ข้อเสีย: ไม่มีข้อมูลเรื่องทิศทางของขอบ (พวกเคอร์เนลจากอนุพันธ์อันดับหนึ่งทําได้)
• Laplacian เป็นผลบวกของอนุพันธ์อันดับสอง– การหาอนุพันธ์ทําให้สัญญาณรบกวนเด่นชัดขึ้น
– Laplacian ได้รับผลกระทบจากสัญญาณรบกวนมาก
• Laplacian จึงไม่ถูกใช้โดด ๆ แต่จะใช้ร่วมกับการลดสัญญาณรบกวนด้วย
Slide credit: Robert T. Collins
20 มิถุนายน 2555 27ภิญโญ แท้ประสาทสิทธิ์ มหาวิทยาลัยศิลปากร
LoG Filter
Slide credit: Robert T. Collins
20 มิถุนายน 2555 28ภิญโญ แท้ประสาทสิทธิ์ มหาวิทยาลัยศิลปากร
1-Dimensional Gaussian and Derivatives
Slide credit: Robert T. Collins
20 มิถุนายน 2555 29ภิญโญ แท้ประสาทสิทธิ์ มหาวิทยาลัยศิลปากร
Second Derivative of Gaussian
Slide credit: Robert T. Collins
ภาพกลับหัว เพื่อให้ค่า extrema เป็นบวก
20 มิถุนายน 2555 30ภิญโญ แท้ประสาทสิทธิ์ มหาวิทยาลัยศิลปากร
ผลของการใช้ LoG Filter
• ผลลัพธ์จากการหาอนุพันธ์จะมีค่าติดลบอยู่ด้วย � จําเป็นที่จะต้องปรับการแสดงผล
Slide credit: Robert T. Collins
20 มิถุนายน 2555 31ภิญโญ แท้ประสาทสิทธิ์ มหาวิทยาลัยศิลปากร
รายละเอียดผลลัพธ์ของการหาขอบด้วย LoG
• ความละเอียดภาพขึ้นอยู่กับค่าส่วนเบี่ยงเบนมาตรฐานที่ใช้กับ Gaussian kernel
Slide credit: Robert T. Collins
20 มิถุนายน 2555 32ภิญโญ แท้ประสาทสิทธิ์ มหาวิทยาลัยศิลปากร
รายละเอียดผลลัพธ์ของการหาขอบด้วย LoG (2)
• เมื่อเพิ่มส่วนเบี่ยงเบนมาตรฐาน (sigma) รายละเอียดจะลดลงไป
Slide credit: Robert T. Collins
20 มิถุนายน 2555 33ภิญโญ แท้ประสาทสิทธิ์ มหาวิทยาลัยศิลปากร
รายละเอียดผลลัพธ์ของการหาขอบด้วย LoG (3)
• ยิ่งเพิ่มส่วนเบี่ยงเบนมาตรฐาน (sigma) รายละเอียดยิ่งลดลง
Slide credit: Robert T. Collins
20 มิถุนายน 2555 34ภิญโญ แท้ประสาทสิทธิ์ มหาวิทยาลัยศิลปากร
บันทึกเกี่ยวกับเส้นรอบจุดผ่านค่าศูนย์
Slide credit: Robert T. Collins
20 มิถุนายน 2555 35ภิญโญ แท้ประสาทสิทธิ์ มหาวิทยาลัยศิลปากร
ถึงเวลาสร้าง LoG Pyramid เสียที• การเพิ่มส่วนเบี่ยงเบนมาตรฐานในฟังก์ชัน Gaussian ทําให้รายละเอียดลดลง� เราสามารถย่อรูปที่มีรายละเอียดน้อยได้� เพิ่มส่วนเบี่ยงเบนมาตรฐานเพื่อเพิ่มชั้นพีระมิด
• วิธีคํานวณที่รวดเร็วและเป็นการประมาณค่า LoG ที่แม่นยําคือการใช้ DoG– คํานวณความแตกต่างระหว่างภาพ upsampled Gaussian pyramid level กับภาพ
Gaussian pyramid level
20 มิถุนายน 2555 36ภิญโญ แท้ประสาทสิทธิ์ มหาวิทยาลัยศิลปากร
คํานวณ DoG
• คํานวณความแตกต่างระหว่างภาพ upsampled Gaussian pyramid level กับภาพ Gaussian pyramid level
Slide credit: Freeman
20 มิถุนายน 2555 37ภิญโญ แท้ประสาทสิทธิ์ มหาวิทยาลัยศิลปากร
ผลลัพธ์จาก LoG/DoG Pyramid
• ผลลัพธ์จากพีระมิดชั้นเหนือฐานถูกขยายเพื่อให้เห็นถึงความแตกต่างของผลลัพธ์
http://www-bcs.mit.edu/people/adelson/pub_pdfs/pyramid83.pdf
20 มิถุนายน 2555 38ภิญโญ แท้ประสาทสิทธิ์ มหาวิทยาลัยศิลปากร
ประโยชน์จากการทํา LoG Pyramid
หากขอบพื้นที่ค่อนข้างหนา การสร้าง LoG Pyramid จะทําให้พบขอบที่พีระมิดชั้นสูง ๆ ได้
Slide credit: Freeman
20 มิถุนายน 2555 39ภิญโญ แท้ประสาทสิทธิ์ มหาวิทยาลัยศิลปากร
ความเหมือนระหว่าง LoG และ DoG
Slide credit: Robert T. Collins
20 มิถุนายน 2555 40ภิญโญ แท้ประสาทสิทธิ์ มหาวิทยาลัยศิลปากร
เรื่องน่าสนใจของ DoG
• เพราะว่าคํานวณมาจาก Gaussian ทั้งหมด� แยกเคอร์เนลให้เป็นแบบหนึ่งมิติสองตัวได้� คํานวณจากพีระมิดชั้นก่อนหน้าได้ ไม่จําเป็นต้องคํานวณจากฐาน (คํานวณเร็วขึ้น)
• ทั้ง DoG และ LoG เป็น Bandpass filter– เราเห็นคุณสมบัตินี้ได้ยากหากมองที่ LoG
– แต่ถ้ามองที่การคํานวณของ DoG จะคิดตามได้ไม่ยากว่ามันเป็น Bandpass filter
– แล้วมันเป็น Lowpass หรือว่า Highpass?
Slide credit: Robert T. Collins
ลดทั้ง High frequency (Gaussian) และ Low frequency (Difference)20 มิถุนายน 2555 41ภิญโญ แท้ประสาทสิทธิ์ มหาวิทยาลัยศิลปากร
Topic Outline
• Clarification from Past Talks
• Image Pyramid
• Laplacian of Gaussian and its Pyramid
• Wavelet and its Pyramid and Tree
20 มิถุนายน 2555 42ภิญโญ แท้ประสาทสิทธิ์ มหาวิทยาลัยศิลปากร
เวฟเล็ทคืออะไร ใช้ทําอะไร• คือ การแกว่งสั้น ๆ ที่ให้ผลเหมือนการแกว่งของคลื่นที่มีแอมพลิจูดเริ่มจากศูนย์
เพิ่มและลดกลับไปสูศูนย์อีกครั้ง
• เป็นสิ่งที่ถูกสร้างขึ้นมาเพื่อการประมวลผลสัญญาณโดยเฉพาะ
• สามารถรวมเวฟเล็ตเข้าด้วยกันด้วยการทําคอนโวลูชัน
• เวฟเล็ตแต่ละตัวมักจะถูกออกแบบให้มีความถี่ในช่วงใดช่วงหนึ่งโดยเฉพาะ– ถ้าเอาเวฟเล็ตไปใช้กับสัญญาณอินพุต ผลลัพธ์จะเกิดการสั่นพ้องที่ความถี่เวฟเล็ต
– เป็นการแยกเอาข้อมูลที่ความถี่เป้าหมายออกมา
• ถ้าใช้เวฟเล็ตเป็นชุด เราก็จะดึงเอาข้อมูลหลาย ๆ แบบออกมาได้– การใช้ชุดของเวฟเล็ตที่เป็น orthonormal basis/family ไปใช้กับสัญญาณอินพุตเรียกว่า
wavelet transform � ชุดผลลัพธ์ที่ได้สามารถนํามาประกอบกลับเป็นสัญญาณอินพุตได้
20 มิถุนายน 2555 43ภิญโญ แท้ประสาทสิทธิ์ มหาวิทยาลัยศิลปากร
เรื่องน่ารู้เกี่ยวกับเวฟเล็ททรานสฟอร์ม• การเอาเวฟเล็ตในชุด orthonormal basis ไปใช้ทําให้เกิดการย่อย/แยกสัญญาณ
(decompose signal) อย่างเป็นระบบ
• เราสามารถย่อยสัญญาณผลลัพธ์ไปอีกเป็นทอด ๆ ได้(Continuous Wavelet Transform)(ให้นึกถึงการที่เราใช้ Gaussian filter ซ้ํากับผลลัพธ์ทําให้ภาพเรียบขึ้นเป็นลําดับได้)
• เราสามารถเลือกย่อยสัญญาณได้หลายแบบ– จัดให้เป็นแบบพีระมิดก็ได้ (ย่อยสัญญาณไปในทางใดทางหนึ่งตลอด)
– จัดให้เป็นแบบโครงสร้างต้นไม้ก็ได้ (ย่อยสัญญาณหลายทิศทาง)
– การจัดโครงสร้างแบบต้นไม้อาจทําให้จํานวนสาขาเพิ่มขึ้นแบบ exponential ได้
• เวฟเล็ตที่ง่ายที่สุดคือ Haar wavelet
20 มิถุนายน 2555 44ภิญโญ แท้ประสาทสิทธิ์ มหาวิทยาลัยศิลปากร
Wavelet Transform
• ชุดของเวฟเล็ตที่ใช้ในการทําทรานสฟอร์มได้จะประกอบด้วยฟังก์ชันสองชุด– Generating or mother wavelet ซึ่งสร้างมาจากการเลื่อนและการขยาย
– Scaling function (ทําให้เราสามารถทํา multi-resolution analysis และสร้าง pyramid หรือ tree ได้)
• ฟังก์ชันทั้งสองมีความสัมพันธ์กันดังนี้
• ฟังก์ชันดูน่ากลัวก็จริงแต่ก็มีรูปที่ง่าย ๆ อยู่เหมือนกัน
20 มิถุนายน 2555 45ภิญโญ แท้ประสาทสิทธิ์ มหาวิทยาลัยศิลปากร
Haar Wavelet
ให้ h(k) = 1 สําหรับทุกค่า k ใด ๆ
ที่จริงจะต้องเท่ากับ
เพราะ h(k) = 1 g(k) จึงเป็นได้แค่ 1 กับ -1
ผลลัพธ์ในครึ่งแรกเป็นการหาผลรวม พิกัดเพิ่มทีละสอง
ผลลัพธ์ในครึ่งแรกเป็นการหาผลต่าง พิกัดเพิ่มทีละสอง
20 มิถุนายน 2555 46ภิญโญ แท้ประสาทสิทธิ์ มหาวิทยาลัยศิลปากร
ตัวอย่างการใช้ฮาร์เวฟเล็ต
Output of Haar Wavelet Transform
เราสามารถกู้อินพุตคืนมาจากผลลัพธ์จากเวฟเล็ตทรานสฟอร์มได้(x + y) / 2 = 4 (x – y) / 2 = 3X = 7 y = 1
1D Example
Average = lowpassDifference = highpass
Lowpass Highpass
20 มิถุนายน 2555 47ภิญโญ แท้ประสาทสิทธิ์ มหาวิทยาลัยศิลปากร
การใช้ฮาร์เวฟเล็ตกับภาพสองมิติ• การย่อยสัญญาณจะทําเป็นสองขั้นตอน คือ แนวราบ และ แนวตั้ง
อินพุต ผลลัพธ์จากการย่อยสัญญาณแนวราบ
ผลลัพธ์จากการย่อยสัญญาณแนวตั้งต่อจากแนวราบ
ลักษณะของผลลัพธ์ในแต่ละส่วน
Image Source: KristianSandberg
20 มิถุนายน 2555 48ภิญโญ แท้ประสาทสิทธิ์ มหาวิทยาลัยศิลปากร
ตัวอย่างการใช้ฮาร์เวฟเล็ตกับภาพสองมิติ
16 2
10 10
9 7
10 0
Hori Lowpass Hori Highpass
Hori Lowpass Hori Highpass
9.5 3.5
-0.5 3.5
Horizontal decomposition
Vertical decompositionHori Lowpass
Verti Lowpass
Hori Highpass
Verti Lowpass
Hori Lowpass
Verti Highpass
Hori Highpass
Verti Highpass
Input
20 มิถุนายน 2555 49ภิญโญ แท้ประสาทสิทธิ์ มหาวิทยาลัยศิลปากร
การย่อยสัญญาณหลายชั้น
ถ้าเราเลือกย่อยเฉพาะช่องสัญญาณที่มีพลังงานสูงสุด�เราก็จะสร้างพีระมิดขึ้นมาได้
ภาพ
อินพุ
ตนําม
าจาก
BrodatzTexture Gallery
P. Taeprasartsitand L. Gua2004
20 มิถุนายน 2555 50ภิญโญ แท้ประสาทสิทธิ์ มหาวิทยาลัยศิลปากร
การย่อยสัญญาณหลายชั้นหลายทิศทาง
สัญญาณถูกย่อยหลายทิศทาง(เลือกช่องที่มีพลังงานสูง)
ความสัมพันธ์ของสัญญาณที่ถูกย่อยสามารถแสดงได้เป็นโครงสร้างต้นไม้
Image: T.Chang and CC Jay Kuo
20 มิถุนายน 2555 51ภิญโญ แท้ประสาทสิทธิ์ มหาวิทยาลัยศิลปากร
การประยุกต์ใช้• Tianhorng Chang and C.-C. Jay Kuo, Texture Analysis and Classification with Tree-
Structured Wavelet Transform, IEEE Transactions on Image Processing, Vol. 2, No. 4, Octobor 1993.
พื้นผิวสองรูปย่อยนี้คล้ายแต่ไม่เหมือนกัน� ถ้าใช้ correlation มาวัดความคล้ายโอกาสล้มเหลวสูงใช้เวฟเล็ตแยกสัญญาณแล้วเทียบชุดช่องสัญญาณที่เด่น� ความแปรปรวนภายในจะถูกวัดและนํามาเปรียบเทียบ
ภาพ
อินพุ
ตนําม
าจาก
BrodatzTexture Gallery
20 มิถุนายน 2555 52ภิญโญ แท้ประสาทสิทธิ์ มหาวิทยาลัยศิลปากร
ผลลัพธ์จากการทดลองวิเคราะห์พื้นผิว
P. Taeprasartsit and L. Gua 2004
การใช้ช่องสัญญาณเด่นสามช่องในการจําแนกพื้นผิวให้ความแม่นยําสูงมาก
20 มิถุนายน 2555 53ภิญโญ แท้ประสาทสิทธิ์ มหาวิทยาลัยศิลปากร
ปิดท้ายกับเรื่องเวฟเล็ต
ข้อดี
• เป็นพวก Separable แยกการคํานวณออกเป็นหนึ่งมิติหลายตัวได้
• กู้คืนอินพุตได้และไม่มีข้อมูลซ้ําซ้อน (ไม่ overcomplete)
• ใช้ในการบีบอัดภาพได้ดีมาก (ใช้ใน JPEG2000)
ข้อเสีย
• การคํานวณมีเฉพาะแนวตั้งกับแนวนอน ไม่มีแนวทแยงมุม(Steerable pyramid ทําได้)
• ช่องสัญญาณบางช่องมี Alias
20 มิถุนายน 2555 54ภิญโญ แท้ประสาทสิทธิ์ มหาวิทยาลัยศิลปากร
สรุป• ข้อมูลที่สําคัญอาจจะถูกดึงออกมาได้ง่ายจากภาพที่มีความละเอยีดนอ้ยกว่าภาพต้นฉบับ
• การสร้างพีระมิดภาพหรือต้นไม้ภาพทําให้เราแยกข้อมูลออกมาจากภาพได้ดีขึ้น
• Gaussian filter ทําให้ภาพเรียบ แต่ถ้าเอาผลลัพธม์าลบกนัสามารถดึงขอบวัตถุออกมาได้
• การจะแยกพื้นที่ใหญ่ ๆ ออกจากภาพสามารถทําได้จากภาพความละเอยีดต่ํา– ลดสิ่งรบกวนออกโดยปริยาย
– มักใช้เวลาคํานวณน้อยลง
• เราใช้ Difference of Gaussian ประมาณค่า Laplacian of Gaussian ทําให้คํานวณเร็วขึ้น
• เวฟเล็ตดึงลักษณะเฉพาะของภาพ/สัญญาณออกมาได้ดี– เหมาะกับการรู้จําพื้นผิวและเนื้อผ้าที่มีตําหนิหรือ
– ใช้ได้กับงานด้านการรู้จําภาพอื่น ๆ ได้
20 มิถุนายน 2555 55ภิญโญ แท้ประสาทสิทธิ์ มหาวิทยาลัยศิลปากร