โดเมนความถี่แสดงถึงอะไรในกรณีของภาพ


110

ฉันเพิ่งเรียนรู้เกี่ยวกับโดเมนความถี่ในภาพ

ฉันสามารถเข้าใจคลื่นความถี่ในกรณีของคลื่น มันหมายถึงความถี่ที่มีอยู่ในคลื่น ถ้าเราวาดคลื่นความถี่ของcos(2πft)เราได้รับสัญญาณที่แรงกระตุ้นfและ+f F และเราสามารถใช้ตัวกรองที่สอดคล้องกันเพื่อดึงข้อมูลเฉพาะ

แต่คลื่นความถี่หมายถึงอะไรในกรณีของภาพ? เมื่อเราใช้ FFT ของภาพใน OpenCV เราจะได้ภาพแปลก ๆ ภาพนี้แสดงถึงอะไร? และแอปพลิเคชันของมันคืออะไร?

ฉันอ่านหนังสือบางเล่ม แต่พวกเขาให้สมการทางคณิตศาสตร์มากมายแทนที่จะเป็นนัยยะทางกายภาพ ดังนั้นทุกคนสามารถให้คำอธิบายง่ายๆเกี่ยวกับโดเมนความถี่ในภาพด้วยแอปพลิเคชันอย่างง่ายในการประมวลผลภาพได้หรือไม่?


5
วิธีที่ดีที่สุดในการทำความเข้าใจว่าการแปลงรูปแบบใดที่จะเล่นกับการป้อนอินพุตง่าย ๆ ให้กับการแปลงผกผัน
endolith

1
ดูคำอธิบายที่น่าสนใจนี้โดย Steve Eddins blogs.mathworks.com/steve/2009/12/04/…
Alessandro Jacopson

@endolith ใช่! คุณต้องมีความรู้บางอย่างเกี่ยวกับโดเมนก่อนที่จะเข้าใจสิ่งที่เกิดขึ้นและทำไมมันเกิดขึ้น ..
SIslam

เรียนโดเมนความถี่ของภาพเป็นตัวแทนของความเข้มของพลังงานในวัตต์ด้วยความเคารพต่อความถี่ที่แน่นอนใน hertiz เช่น (ส่วนประกอบ dc, ความถี่ต่ำและความถี่สูง)
mntaser

คำตอบ:


93

แต่คลื่นความถี่หมายถึงอะไรในกรณีของภาพ?

"สมการทางคณิตศาสตร์" มีความสำคัญดังนั้นอย่าข้ามเลย แต่ 2D FFT ก็มีการตีความที่เข้าใจง่ายเช่นกัน สำหรับภาพประกอบฉันได้คำนวณค่า FFT ผกผันของภาพตัวอย่างบางส่วน:

ป้อนคำอธิบายรูปภาพที่นี่

อย่างที่คุณเห็นมีการตั้งค่าเพียงหนึ่งพิกเซลในโดเมนความถี่ ผลลัพธ์ในโดเมนรูปภาพ (ฉันได้แสดงเฉพาะส่วนที่แท้จริง) คือ "รูปแบบโคไซน์หมุน" (ส่วนจินตภาพจะเป็นไซน์ที่สอดคล้องกัน)

หากฉันตั้งค่าพิกเซลที่แตกต่างในโดเมนความถี่ (ที่ขอบซ้าย):

ป้อนคำอธิบายรูปภาพที่นี่

ฉันได้รูปแบบความถี่ 2d ที่แตกต่างกัน

หากฉันตั้งค่ามากกว่าหนึ่งพิกเซลในโดเมนความถี่:

ป้อนคำอธิบายรูปภาพที่นี่

คุณได้ผลรวมของสองโคไซน์

เช่นเดียวกับคลื่น 1d ที่สามารถแสดงเป็นผลรวมของไซน์และโคไซน์รูปภาพ 2d ใด ๆ ที่สามารถแสดง (พูดอย่างหลวม ๆ ) เป็นผลรวมของ "ไซน์หมุนและโคไซน์" ดังที่แสดงไว้ด้านบน

เมื่อเราถ่าย fft ของภาพใน opencv เราจะได้ภาพแปลก ๆ ภาพนี้แสดงถึงอะไร?

มันแสดงถึงแอมพลิจูดและความถี่ของไซน์ / โคไซน์ที่เมื่อรวมกันจะทำให้ภาพต้นฉบับของคุณ

และแอปพลิเคชันของมันคืออะไร?

มีจำนวนมากเกินไปที่จะตั้งชื่อพวกเขาทั้งหมด ความสัมพันธ์และการบิดสามารถคำนวณได้อย่างมีประสิทธิภาพมากโดยใช้ FFT แต่นั่นเป็นการเพิ่มประสิทธิภาพมากกว่าคุณไม่ได้ "ดู" ที่ผลลัพธ์ FFT สำหรับสิ่งนั้น มันใช้สำหรับการบีบอัดภาพเนื่องจากส่วนประกอบที่มีความถี่สูงมักจะเป็นจุดรบกวน


3
คุณสามารถระบุได้ว่าส่วนไหนของ highfrequency และส่วนไหนของ low frequency ในภาพโดเมน frequency
Abid Rahman K

4
@arkiaz: ในภาพที่ฉันแสดงความถี่สูงสุดอยู่ที่กึ่งกลางของภาพความถี่ต่ำสุด (เช่นค่าเฉลี่ยของภาพอินพุต) คือพิกเซลด้านบนซ้ายในผลลัพธ์ FFT นั่นคือสิ่งที่การดำเนินการ FFT ส่วนใหญ่ให้คุณ หากคุณแสดงผลลัพธ์ FFT เป็นเรื่องปกติที่จะย้ายความถี่ต่ำสุดไปที่กึ่งกลางของภาพที่แสดง
Niki Estner

1
@ Mohammad: ฉันใช้InverseFourierฟังก์ชั่นของ Mathematica แล้ว ไม่ทำเสียงคู่แปดแปด / matlab ifft2ทำเช่นเดียวกัน?
Niki Estner

1
@JimClay สำหรับภาพสีที่จริงผมจะแนะนำให้ใช้โดเมน YUV Y = ความเข้มสัมบูรณ์และ UV = สี แม้แต่ภาพสีข้อมูลส่วนใหญ่ที่คุณสนใจก็อยู่ในส่วนของความเข้มของภาพ คุณใช้เครื่องมือทางคณิตศาสตร์เดียวกันทั้งหมดอย่าลืมแปลงกลับ
Atav32

4
สิ่งเหล่านี้จะยอดเยี่ยมเหมือนภาพเคลื่อนไหวขยับจุดรอบ ๆ และแสดงให้เห็นว่าคลื่นเปลี่ยนความกว้างและมุมได้อย่างไร
endolith

29

ฉันคิดว่านี่เป็นที่รู้จักใน "DSP Guide" ที่รู้จักกันดี ( บทที่ 24 ตอนที่ 5 ):

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

ในการเปรียบเทียบการแปลงฟูริเยร์ของรูปภาพจะแปลงข้อมูลที่ตรงไปตรงมาในโดเมนอวกาศเป็นรูปแบบสัญญาณรบกวนในโดเมนความถี่ กล่าวโดยย่ออย่าคาดหวังว่าการแปลงฟูริเยร์จะช่วยให้คุณเข้าใจข้อมูลที่เข้ารหัสในรูปภาพ

แน่นอนว่ามีโครงสร้างและความหมายบางอย่างที่อยู่เบื้องหลังรูปแบบสุ่มที่ดูเหมือนจะได้มาจากการใช้ DFT ของภาพทั่วไป (เช่นตัวอย่างด้านล่าง) แต่มันไม่ได้อยู่ในรูปแบบที่สมองมนุษย์เตรียมพร้อมที่จะเข้าใจอย่างสังหรณ์ใจ อย่างน้อยเกี่ยวกับการรับรู้ทางสายตา

Imgur

นี่คืออีกหนึ่งการแสดงออกที่น่าสนใจและสามารถอ่านได้อย่างชัดเจนของสิ่งที่มีอยู่ในการแปลงฟูริเยร์ของรูปภาพและวิธีการตีความ มีชุดของรูปภาพที่ทำให้ชัดเจนว่าการติดต่อกันระหว่าง Fourier-transformed และภาพต้นฉบับคืออะไร

แก้ไข:ลองดูที่หน้านี้ซึ่งแสดงให้เห็นว่าใกล้ถึงจุดสิ้นสุดแล้วข้อมูลส่วนใหญ่ที่สำคัญของการรับรู้ภาพจะถูกเก็บไว้ในองค์ประกอบเฟส (มุม) ของการแสดงความถี่

แก้ไข 2:อีกตัวอย่างหนึ่งของความหมายของเฟสและขนาดในการนำเสนอฟูริเยร์: "ส่วน 3.4.1, ความสำคัญของเฟสและขนาด" ของตำราเรียนของ TU Delft " ความรู้พื้นฐานของการประมวลผลภาพ " แสดงให้เห็นอย่างชัดเจน:

Imgur


เฮ้! ฉันพยายามติดตามลิงก์ที่สองในคำถามของคุณ ( "อีกหนึ่งการอธิบายที่น่าสนใจและอ่านง่ายมาก ... " ) แต่ลิงก์ไม่ทำงาน ฉันได้ลองลิงก์ที่ให้ไว้ในความคิดเห็น แต่ใช้งานไม่ได้ คุณสามารถค้นหาและแก้ไขในลิงค์ใช้งานได้ไหม
Penelope

@ พัฒนาคุณเป็นคนที่สองที่จะสังเกตเห็นปัญหากับลิงค์ (ดูความคิดเห็นก่อนหน้าของฉัน) ดูเหมือนว่าหน้าเว็บจะไม่เสถียรแน่นอน อย่างที่ฉันพูดไปก่อนหน้านี้ฉันจะแทนที่ลิงก์ด้วยเวอร์ชันของไฟล์เก็บถาวรเว็บ ขอบคุณที่ชี้นำสิ่งนี้!
วาลyrious

1
อันที่จริงตัวอย่างและคำอธิบายที่ลิงก์ (ในที่สุดก็ทำงานได้) นั้นยอดเยี่ยม :)
penelope

12

คลื่นเป็นคลื่นหนึ่งมิติ มันขึ้นอยู่กับเท่านั้น คลื่นเป็นคลื่นสองมิติ มันขึ้นอยู่กับและy ที่อย่างที่คุณเห็นคุณมีสองความถี่ในทิศทางใดทิศทางหนึ่งf(t)=cos(ωt)tf(x,y)=cos(ωx+ψy)xy

ดังนั้นฟูริเยร์ (FFT) ของจะทำให้คุณเช่นเดียวกับ FFT ของช่วยให้คุณωและถ้าอินพุตของคุณเป็นฟังก์ชั่นที่รวมโคไซน์ 2D แล้ว 2D FFT ของคุณจะเป็นผลรวมของความถี่ของโคไซน์เหล่านั้น - อะนาล็อกโดยตรงของ 1D FFT อีกครั้งcos(ωx+ψy)ω,ψcos(ωx)ω


10

มันอาจจะเป็นที่น่าสังเกตว่าการวิเคราะห์ฟูริเยร์เป็นกรณีพิเศษของแนวคิดที่เรียกว่าฟังก์ชั่นมุมฉาก แนวคิดพื้นฐานคือการที่คุณทำลายสัญญาณที่ซับซ้อนลงในการซ้อนทับเชิงเส้นของฟังก์ชัน "พื้นฐาน" ที่ง่ายขึ้น คุณสามารถทำการประมวลผลหรือวิเคราะห์ในฟังก์ชั่นพื้นฐานจากนั้นหาผลรวมของฟังก์ชั่นพื้นฐานเพื่อรับผลลัพธ์สำหรับสัญญาณดั้งเดิม

เพื่อให้การทำงานมีความต้องการทางคณิตศาสตร์บางอย่างสำหรับฟังก์ชั่นพื้นฐานกล่าวคือพวกมันสร้างฐาน orthonormal ในกรณีของการแปลงฟูริเยร์ฟังก์ชั่นพื้นฐานคือเลขยกกำลังที่ซับซ้อน อย่างไรก็ตามมีฟังก์ชั่นอื่น ๆ อีกมากมายที่สามารถใช้สำหรับสิ่งนั้นได้เช่นกัน


นั่นเป็นเรื่องจริง มีฟังก์ชั่นพื้นฐานประเภทอื่น ๆ อีกบ้าง? ฉันกำลังคิดว่า daubechies wavelets แต่มีคนอื่นด้วยหรือไม่ สิ่งที่แตกต่างพวกเขา
Spacey

น่าจะเป็นที่รู้จักกันดีที่สุดคือชื่อพหุนาม; เป็นตัวแทนของฟังก์ชั่นเป็นชุดของพหุนามที่เป็นที่รู้จักกันของเซเรียอาเทย์เลอร์ เซเรียนี้คำนวณได้ง่ายจากอนุพันธ์ของฟังก์ชัน
MSalters

2
วิธีการหนึ่งที่จะหาฟังก์ชั่นพื้นฐานคือการใช้การวิเคราะห์องค์ประกอบหลัก ผลลัพธ์ 'รูปภาพไอเกน' มักจะมีรูปลักษณ์ที่ใช้งานง่ายของมนุษย์มากกว่าฟังก์ชั่น sin / cos ยกตัวอย่างให้ดูeigenfaces โดเมนความถี่ยังคงเกี่ยวข้องกับการรับรู้ (ดวงตา / สมองของเรามีเครื่องตรวจจับขอบที่ไวต่อความถี่โดยเฉพาะเมื่อมีการเคลื่อนไหว) ฟังก์ชั่นพื้นฐานไม่ได้มีความหมายมากเท่ากับภาพ
Dan Bryant

PCA เป็นเทคนิคการคำนวณพื้นฐานที่ดีซึ่งเป็นที่เข้าใจกันอย่างกว้างขวาง แต่ยังมีอีกหลายคนที่ตั้งสมมติฐานที่แตกต่างกันเกี่ยวกับวิธีการสร้างข้อมูล การวิเคราะห์องค์ประกอบอิสระ (ICA) เป็นหนึ่งในตัวอย่างที่ได้รับความนิยม ไกลออกไปอีกเล็กน้อยมีอัลกอริทึมสำหรับการเรียนรู้ฟังก์ชั่นพื้นฐานทั่วไปโดยใช้การเข้ารหัสแบบเบาบาง (เช่น J Mairal et al., "การเรียนรู้พจนานุกรมออนไลน์เกี่ยวกับการเข้ารหัสแบบเบาบาง" ICML 2009) จากนั้นแนวทางการเรียนรู้ คน
lmjohns3

1
ทำไมฟังก์ชั่นจึงต้องเป็นฉากฉาก?
quantum231

8

ในภาพความถี่ที่เพิ่มขึ้นนั้นเกี่ยวข้องกับการเปลี่ยนแปลงอย่างฉับพลันในความสว่างหรือสี นอกจากนี้เสียงมักจะถูกฝังอยู่ในระดับสูงของสเปกตรัมดังนั้นการกรองความถี่ต่ำสามารถใช้เพื่อลดเสียงรบกวนได้


1
ดังนั้นคุณหมายถึงช่วงการเปลี่ยนภาพที่ฉับพลันบางครั้งถูกมองว่าเป็นเสียงรบกวน?
Abid Rahman K

1
ใช่บางเวลา. ตัวอย่างทั่วไป ได้แก่ เสียงยุง (เสียงรอบขอบ), เสียงบล็อก JPEG ที่ขอบของ macroblocks และแน่นอนว่าเป็นเกรน พิจารณาภาพของการไล่ระดับสีอย่างง่าย การเพิ่มเกรนลงในภาพนี้จะเพิ่มเนื้อหาความถี่สูงโดยแนะนำการเปลี่ยนภาพเป็นนาทีทั่วทั้งภาพ
Emre

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