เหตุใดหลายเสียน Blurs


9

การใช้การเบลอแบบเกาส์หลายครั้งอาจส่งผลให้เกิดผลที่เทียบเท่ากับการเบลอแบบเกาส์ที่แข็งแกร่งกว่า

ยกตัวอย่างเช่นคำถามนี้บอกว่า: การทำแบบเกาส์หลายครั้งทำให้พร่ามัวเหมือนกับการทำเบลอที่ใหญ่กว่าหรือไม่?

วิกิพีเดียยังบอกด้วยว่ามันบอกว่ามันจะเป็นการคำนวนมากหรือมากกว่านั้นในการทำเบลอหลาย ๆ ครั้งเมื่อเทียบกับการเบลอเพียงครั้งเดียว

การประยุกต์ใช้ Gaussian blur หลาย ๆ ภาพที่ต่อเนื่องกันกับภาพจะมีผลเช่นเดียวกับการใช้ gaussian blur ที่ใหญ่กว่าซึ่งมีรัศมีเป็นรากที่สองของผลรวมของกำลังสองของรัศมีการเบลอที่ใช้จริง ตัวอย่างเช่นการใช้ gaussian blurs ที่ต่อเนื่องกับรัศมีของ 6 และ 8 ให้ผลลัพธ์เหมือนกับการใช้ gaussian blur เดียวของรัศมี 10 เนื่องจาก \ sqrt {6 ^ 2 + 8 ^ 2} = 10 เนื่องจากความสัมพันธ์นี้เวลาในการประมวลผลจึงไม่สามารถ ได้รับการบันทึกโดยการจำลอง gaussian blur กับ blurs ที่ต่อเนื่องและน้อยกว่า - เวลาที่ใช้จะน้อยกว่าการแสดง blur ขนาดใหญ่เพียงครั้งเดียว

ที่มา: https://en.wikipedia.org/wiki/Gaussian_blur#Mechanics

อย่างไรก็ตามฉันเคยได้ยินและอ่านเกี่ยวกับคนที่ทำภาพเบลอหลายภาพในแบบเรียลไทม์เพื่อให้ได้ภาพเบลอที่แรงขึ้น

มีประโยชน์อย่างไรหากไม่ลดการคำนวณ


3
คุณแน่ใจหรือว่าพวกเขากำลังพูดเกี่ยวกับ blurs gaussian หลาย? การทำกล่องเบลอหลาย ๆ แบบเป็นวิธีทั่วไปในการประมาณเบลอเกาส์
yuriks

ข้อมูลที่น่าสนใจ ฉันเชื่ออย่างนั้นใช่ แต่อาจผิดพลาดได้!
Alan Wolfe

1
มันอาจจะง่ายกว่าสำหรับการสุ่มตัวอย่างพิกเซลที่อยู่ใกล้เคียงและมันยังใช้งานง่ายกว่าในรูปแบบทางกายภาพของการแพร่กระจายดู12 ขั้นตอนสำหรับ Navier-Stokes, ขั้นตอนที่ 7
joojaa

คำตอบ:


14

มีสองกรณีที่ฉันสามารถนึกถึงว่าภาพพร่ามัวหลายภาพจะดำเนินการต่อเนื่องกันในภาพเดียว

ขั้นแรกเมื่อทำการเบลอรัศมีขนาดใหญ่อาจลดการคำนวณทั้งหมดหากคุณลดขนาดตัวอย่างภาพ (ซึ่งเบลอ) จากนั้นทำการเบลอรัศมีเล็กลงบนภาพตัวอย่าง ตัวอย่างเช่นการลดขนาดภาพลง 4x และแสดงภาพเบลอร์แบบกว้าง 10px จากผลลัพธ์จะใกล้เคียงกับภาพแบบเบียนแบบ 40px แบบกว้างประมาณต้นฉบับ แต่น่าจะเร็วขึ้นอย่างมากเนื่องจากการปรับปรุงการสุ่มตัวอย่างและตัวอย่างน้อยลง ทั้งหมด

กล่องกว้างประมาณแบบเกาส์เซียน

ตัวกรองการสุ่มตัวอย่างเริ่มต้นมักจะเป็นเพียงแค่กล่อง (ดังที่แสดงไว้ด้านบน) แต่ตัวมันเองอาจเป็นอะไรที่ซับซ้อนกว่าเช่นตัวกรองรูปสามเหลี่ยมหรือตัวกรอง bicubic เพื่อปรับปรุงการประมาณ

Mitchell-Netravali การประมาณแบบเกาส์กว้าง

นี่คือตัวอย่างของ Mitchell-Netravali (ลูกบาศก์) ตามด้วย Gaussian น่าสนใจปรากฏว่าการใช้ Gaussian สำหรับการสุ่มตัวอย่างครั้งแรกนั้นไม่ได้เป็นการประเมินที่ยอดเยี่ยมหากเป้าหมายของคุณคือการใช้ Gaussian ในการสร้าง Gaussian ที่ใหญ่กว่า

ขั้นตอนการสุ่มตัวอย่างเริ่มต้นนั้นมักใช้เมื่อนำเอฟเฟ็กต์ภาพเช่นความชัดลึกและความเบลอของภาพเคลื่อนไหวด้วยเหตุผลที่คล้ายกัน

เหตุผลที่สองในการทำ Gaussian blurs หลาย ๆ อันคือการประมาณตัวกรองที่ไม่สามารถแบ่งแยกได้โดยการผสมระหว่าง Gaussians ที่มีรัศมีต่างกัน ตัวอย่างเช่นนี้ใช้กันอย่างแพร่หลายในบลูม เอฟเฟกต์การเบ่งบานมาตรฐานทำงานโดยการนวดสดครั้งแรกเพื่อแยกวัตถุที่มีความสว่างจากภาพจากนั้นสร้างสำเนาวัตถุเบลอที่เบลอจำนวนมาก สิ่งนี้ช่วยให้ศิลปินสามารถควบคุมรูปร่างและลักษณะของดอกไม้ได้ในระดับที่สูงขึ้น

ผลรวมของสาม Gaussians สร้างฟังก์ชั่น "หนักหาง"

ตัวอย่างเช่นที่นี่คือผลรวมถ่วงน้ำหนักของ Gaussians สามเส้น (เส้นสีแดง) ซึ่งสร้างรูปร่างที่แหลมและแคบกว่าหนักกว่าแบบเกาส์เดียว (เส้นสีน้ำเงิน) นี่เป็นรูปแบบที่ได้รับความนิยมสำหรับใช้ในการบานเนื่องจากการรวมกันของศูนย์กลางที่แคบและสว่างพร้อมรัศมีที่กว้างและน่าดึงดูด แต่เนื่องจากรูปร่างของตัวกรองชนิดนี้ไม่สามารถแบ่งแยกได้จึงมีราคาถูกกว่าที่จะทำให้มันเป็นส่วนผสมของ Gaussians มากกว่าที่จะลองกรองด้วยตัวเองโดยตรง

การเปลี่ยนแปลงอื่น ๆ ในความคิดนี้คือแนวคิดของโปรไฟล์การแพร่ที่ใช้กับการกระเจิงใต้ผิวดินสำหรับการเรนเดอร์สกิน รัศมีการเบลอที่แตกต่างกันอาจใช้สำหรับช่องสีแดงสีเขียวและสีน้ำเงินเพื่อประมาณความยาวคลื่นที่แตกต่างกันของการกระจายแสงที่แตกต่างกันเช่นในGPU Gems 3 บทแรเงาผิวโดย Eugene d'Eon และ Dave Luebke ในความเป็นจริงกระดาษนั้นใช้ส่วนผสมของ Gaussians เจ็ดชนิดที่แตกต่างกันซึ่งมีน้ำหนัก R, G และ B ที่แตกต่างกันสำหรับแต่ละคนโดยประมาณเพื่อตอบสนองการกระเจิงของการกระจายของผิวหนังมนุษย์

โปรไฟล์การกระจายจากบทความ GPU Gems 3 เกี่ยวกับการแรเงาผิว

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.