การวัดทางสถิติหากภาพประกอบด้วยพื้นที่ที่เชื่อมต่อกันเป็นอวกาศ


14

ลองพิจารณาภาพระดับสีเทาทั้งสองนี้:

แม่น้ำ สุ่ม

ภาพแรกแสดงรูปแบบแม่น้ำที่คดเคี้ยว ภาพที่สองแสดงสัญญาณรบกวนแบบสุ่ม

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

ภาพแม่น้ำมีสองพื้นที่: แม่น้ำ = ค่าสูงและอื่น ๆ = ค่าต่ำ

ผลลัพธ์คือฮิสโตแกรมนั้นมีค่า bimodal:

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

ดังนั้นรูปภาพที่มีลวดลายของแม่น้ำควรมีความแปรปรวนสูง

อย่างไรก็ตามภาพสุ่มด้านบน:

River_var = 0.0269, Random_var = 0.0310

ในทางตรงกันข้ามภาพสุ่มมีความต่อเนื่องของพื้นที่ต่ำในขณะที่ภาพแม่น้ำมีความต่อเนื่องของพื้นที่สูงซึ่งแสดงให้เห็นอย่างชัดเจนในรูปแบบการทดลองที่หลากหลาย: ป้อนคำอธิบายรูปภาพที่นี่

ในทำนองเดียวกันความแปรปรวน "สรุป" ฮิสโตแกรมในตัวเลขหนึ่งฉันกำลังมองหาตัวชี้วัดเชิงพื้นที่ที่ "สรุป" ตัวแปรทดลอง

ฉันต้องการให้มาตรการนี้ "ลงโทษ" ความผันแปรสูงที่ความล่าช้าเล็ก ๆ หนักกว่าความล่าช้าใหญ่ดังนั้นฉันจึงได้คิด:

 svar=h=1nγ(h)/h2

ถ้าฉันเพิ่มจาก lag = 1 ถึง 15 ฉันจะได้รับ:

River_svar = 0.0228, Random_svar = 0.0488

ฉันคิดว่ารูปแม่น้ำควรมีความแปรปรวนสูง แต่ความแปรปรวนเชิงพื้นที่ต่ำดังนั้นฉันจึงแนะนำอัตราส่วนความแปรปรวน:

 ratio=var/svar

ผลลัพธ์คือ:

River_ratio = 1.1816, Random_ratio = 0.6337

ความคิดของฉันคือการใช้อัตราส่วนนี้เป็นเกณฑ์ในการตัดสินใจว่าภาพนั้นเป็นภาพแม่น้ำหรือไม่ อัตราส่วนสูง (เช่น> 1) = แม่น้ำ

ความคิดใด ๆ เกี่ยวกับวิธีที่ฉันสามารถปรับปรุงสิ่งต่าง ๆ ?

ขอบคุณล่วงหน้าสำหรับคำตอบ!

แก้ไข: ทำตามคำแนะนำของ whuber และ Gschneider นี่คือ Morans I ของสองภาพที่คำนวณด้วยเมทริกซ์น้ำหนักระยะทางผกผัน 15x15 โดยใช้ฟังก์ชัน Matlab ของ Felix Hebeler :

River_M Random_M

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

River_sumSqM = 654.9283, Random_sumSqM = 50.0785 

มีความแตกต่างอย่างมากที่นี่ดังนั้น Morans ฉันดูเหมือนจะเป็นตัวชี้วัดที่ดีมากของความต่อเนื่องเชิงพื้นที่ :-)

และนี่คือฮิสโตแกรมของค่านี้สำหรับการเปลี่ยนรูปแม่น้ำ 20,000 รูป: ฮิสโตแกรมของการเปลี่ยนแปลง

เห็นได้ชัดว่าค่า River_sumSqM (654.9283) ไม่น่าเป็นไปได้และภาพแม่น้ำจึงไม่สุ่มเชิงพื้นที่


4
คำถามที่น่าสนใจ คำแนะนำหนึ่งที่นึกได้ทันทีคือการมุ่งเน้นไปที่ช่วงสั้น ๆ ของรูปสี่เหลี่ยม: นั่นเป็นส่วนที่สำคัญและจะทำหน้าที่แยกแยะภาพได้ดีที่สุดเช่นนี้ (สถิติที่เกี่ยวข้องอย่างใกล้ชิดคือMoran IและGeary C. ) มันยากที่จะให้คำแนะนำเฉพาะ แต่ถ้าคุณไม่สามารถอธิบายลักษณะของภาพที่คุณคาดหวังในการประมวลผลได้ชัดเจนยิ่งขึ้น
whuber

2
+1 whuber โมแรนฉันดูเหมือนจะเป็นการเริ่มต้นที่ดีในกรณีนี้ จากนั้นอาจลองทดสอบการเปลี่ยนรูปเพื่อดูว่าภาพของคุณ "รุนแรง" เป็นอย่างไร
Gschneider

@Gschneider การทดสอบการเรียงสับเปลี่ยนเป็นความคิดที่ดีโดยเฉพาะอย่างยิ่งเนื่องจากไม่จำเป็นต้องมีการเรียงสับเปลี่ยน! มันง่ายที่จะคำนวณการกระจายของ variogram (หรือ Moran I หรือ Geary C หรืออะไรก็ตาม) ภายใต้การเรียงลำดับของค่าในภาพ: มีค่ามากมายที่ CLT ใช้ (เช่น Variogram จะมีลักษณะเหมือนจุดสีเขียวสองเท่าของความสูงคงที่คือความแปรปรวนของค่ารูปภาพ) ปัญหาจะยิ่งท้าทายเมื่อรูปแบบ "แม่น้ำ" ต้องแยกความแตกต่างจากรูปแบบอื่นเช่น "ทะเลสาบ" หรือ "แม่น้ำ" สามารถมีความกว้างแตกต่างกันอย่างกว้างขวาง
whuber

ขออภัย แต่ฉันไม่แน่ใจว่าฉันทำตาม: คุณกำลังบอกให้ฉันเปลี่ยนแปลงรูปภาพที่กำลังทดสอบพิกเซลต่อพิกเซลในแบบสุ่มบางส่วนแล้วเปรียบเทียบค่า Moran I ของรูปภาพที่เปลี่ยนรูปกับรูปภาพที่กำลังทดสอบหรือไม่
Andy

สิ่งที่ฉันมีอยู่ในใจก็คือนิยามโครงสร้างเพื่อนบ้าน (อาจจะง่าย) เรียงลำดับแรกและคำนวณ Moran I จากนั้นคุณสามารถคำนวณ K พูดได้ 200,000 การเรียงสับเปลี่ยนที่เป็นไปได้ของพิกเซลคำนวณ Moran I สำหรับการเปลี่ยนแปลงแต่ละครั้ง เมื่อคุณได้ 200,000 Moran I มาแล้วดูว่าสถิติที่คุณสังเกตเห็นนั้นอยู่ที่ไหน แต่วิธีการของคนผิวปากฟังดูง่ายกว่า :)
Gschneider

คำตอบ:


1

ฉันคิดว่า Gaussian blur ทำหน้าที่เป็นตัวกรอง low-pass ที่ทิ้งโครงสร้างขนาดใหญ่ไว้ด้านหลังและลบส่วนประกอบหมายเลขคลื่นสูง

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

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

http://en.wikipedia.org/wiki/Gaussian_blur

http://en.wikipedia.org/wiki/Cross-correlation


1
แนวคิดที่น่าสนใจที่นี่! ฉันขอชักชวนคุณให้ตอบคำถามนี้โดยใช้วิธีการอย่างน้อยหนึ่งข้อของคุณกับภาพตัวอย่างใน (1) แสดงวิธีการทำงานของคุณและ (2) ประเมินว่ามันทำงานได้ดีเพียงใด
whuber

1
มันมาจากวิทยานิพนธ์ของฉัน (วิศวกรรมเครื่องกล) ฉันวาง Gaussian เบลอในตำแหน่งของลูกตุ้มไม่เชิงเส้นและใช้วิธีการจัดตำแหน่งเพื่อถอยกลับตำแหน่งจากภาพและเปรียบเทียบกับการวิเคราะห์ ฉันลองด้วยเสียงหลายระดับ ตราบใดที่เสียงดังต่ำกว่าระดับที่เกี่ยวข้องกับขนาดของเกาส์เซียนก็มีการสร้างใหม่ที่ดีมาก ลิงค์ รูปที่ 11 เป็นกราฟที่เกี่ยวข้องสำหรับการสร้างใหม่ รูปที่ 6 และสมการที่ 2 บ่งบอกถึงการตอบสนองต่อเสียงรบกวน
EngrStudent - Reinstate Monica

ขอบคุณ! ดังนั้นดูเหมือนว่าคุณจะสามารถตอบคำถามนี้ได้อย่างยอดเยี่ยมและแสดงให้เห็นว่ามันมีประสิทธิภาพเพียงใด :-)
whuber

ขออภัยสำหรับความคิดเห็นที่สอง ฉันคิดว่ามันเป็น "ฉลาด" ที่ใช้ส่วนหนึ่งของวัตถุเป็น "แม่ - เวฟ" หลอกสำหรับตัวเอง ดูเหมือนว่าการอ้างอิงตนเอง แต่ยังเป็นบทกวี Adjoint ตนเอง
EngrStudent - Reinstate Monica

1

มันช้าไปหน่อย แต่ฉันไม่สามารถต่อต้านข้อเสนอแนะหนึ่งข้อและข้อสังเกตหนึ่งข้อได้

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

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

รูปภาพดิบ ภาพดิบ

สำหรับภาพเหล่านี้แต่ละภาพฉันใช้ฟิลเตอร์มัธยฐาน 5 คูณ 5 15 ครั้ง * ซึ่งทำให้รูปแบบราบรื่นในขณะที่รักษาขอบไว้ ผลลัพธ์แสดงไว้ด้านล่าง

ปรับภาพให้เรียบ ภาพที่ราบเรียบ

(* การใช้ฟิลเตอร์ขนาดใหญ่จะยังคงรักษาความคมชัดที่ขอบ แต่จะทำให้ตำแหน่งของมันราบรื่น)

โปรดสังเกตว่าภาพ "แม่น้ำ" ยังคงมีฮิสโตแกรม bimodal ได้อย่างไร แต่ตอนนี้มันถูกแยกออกเป็น 2 ส่วนประกอบอย่างสวยงาม * ในขณะที่ภาพ "สัญญาณรบกวนสีขาว" ยังคงมีฮิสโตแกรมที่เป็นองค์ประกอบเดียว (* เกณฑ์ที่ง่ายดายผ่านเช่นวิธีของ Otsuเพื่อสร้างมาสก์และจบการแบ่งส่วน)


xf[y]

(ขออภัยในความโวยวาย ... การฝึกฝนของฉันเป็นนักธรณีสัณฐาน แต่เดิม)


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

0

คำแนะนำที่อาจชนะได้อย่างรวดเร็ว (หรืออาจไม่ได้ผล แต่สามารถกำจัดได้อย่างง่ายดาย) - คุณเคยลองดูอัตราส่วนของค่าเฉลี่ยต่อความแปรปรวนของฮิสโตแกรมความเข้มของภาพหรือไม่?

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

ในกรณีที่มีแม่น้ำที่มีค่าความเข้มต่างกันสองค่าคุณจะมีการแจกแจงปัวซองสองค่า

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

มันดิบมาก แต่ถ้ามันใช้งานได้คุณจะสามารถคำนวณสถิติที่เพียงพอที่จำเป็นด้วยการผ่านแต่ละพิกเซลในภาพของคุณ :)

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