14
การมองเห็นของคอมพิวเตอร์ขั้นพื้นฐาน 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 ภิญโญ แท้ประสาทสิทธิ์ มหาวิทยาลัยศิลปากร

Week3 2 Pyramid LoG Wavelet 4perPage

Embed Size (px)

DESCRIPTION

Week3 2 Pyramid LoG Wavelet 4perPage

Citation preview

Page 1: Week3 2 Pyramid LoG Wavelet 4perPage

การมองเห็นของคอมพิวเตอร์ขั้นพื้นฐาน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ภิญโญ แท้ประสาทสิทธิ์ มหาวิทยาลัยศิลปากร

Page 2: Week3 2 Pyramid LoG Wavelet 4perPage

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ภิญโญ แท้ประสาทสิทธิ์ มหาวิทยาลัยศิลปากร

Page 3: Week3 2 Pyramid LoG Wavelet 4perPage

เปรียบเทียบการใช้ 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ภิญโญ แท้ประสาทสิทธิ์ มหาวิทยาลัยศิลปากร

Page 4: Week3 2 Pyramid LoG Wavelet 4perPage

ตัวอย่างการสร้าง 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ภิญโญ แท้ประสาทสิทธิ์ มหาวิทยาลัยศิลปากร

Page 5: Week3 2 Pyramid LoG Wavelet 4perPage

การหาอนุพันธ์บนสัญญาณภาพ• การหาอนุพันธ์เป็นการหาอัตราการเปลี่ยนแปลงที่จุดต่าง ๆ

• โดยทั่วไปฟังก์ชันที่เราจะหาอนุพันธ์ได้ต้องเป็นฟังก์ชันต่อเนื่อง

• แต่รูปภาพอยู่ใน 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ภิญโญ แท้ประสาทสิทธิ์ มหาวิทยาลัยศิลปากร

Page 6: Week3 2 Pyramid LoG Wavelet 4perPage

ตัวอย่างผลการหาอนุพันธ์อันดับสอง

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ภิญโญ แท้ประสาทสิทธิ์ มหาวิทยาลัยศิลปากร

Page 7: Week3 2 Pyramid LoG Wavelet 4perPage

ตัวอย่างผลลัพธ์การใช้ 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ภิญโญ แท้ประสาทสิทธิ์ มหาวิทยาลัยศิลปากร

Page 8: Week3 2 Pyramid LoG Wavelet 4perPage

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ภิญโญ แท้ประสาทสิทธิ์ มหาวิทยาลัยศิลปากร

Page 9: Week3 2 Pyramid LoG Wavelet 4perPage

รายละเอียดผลลัพธ์ของการหาขอบด้วย 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ภิญโญ แท้ประสาทสิทธิ์ มหาวิทยาลัยศิลปากร

Page 10: Week3 2 Pyramid LoG Wavelet 4perPage

คํานวณ 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ภิญโญ แท้ประสาทสิทธิ์ มหาวิทยาลัยศิลปากร

Page 11: Week3 2 Pyramid LoG Wavelet 4perPage

เรื่องน่าสนใจของ 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ภิญโญ แท้ประสาทสิทธิ์ มหาวิทยาลัยศิลปากร

Page 12: Week3 2 Pyramid LoG Wavelet 4perPage

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ภิญโญ แท้ประสาทสิทธิ์ มหาวิทยาลัยศิลปากร

Page 13: Week3 2 Pyramid LoG Wavelet 4perPage

ตัวอย่างการใช้ฮาร์เวฟเล็ตกับภาพสองมิติ

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ภิญโญ แท้ประสาทสิทธิ์ มหาวิทยาลัยศิลปากร

Page 14: Week3 2 Pyramid LoG Wavelet 4perPage

ผลลัพธ์จากการทดลองวิเคราะห์พื้นผิว

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ภิญโญ แท้ประสาทสิทธิ์ มหาวิทยาลัยศิลปากร