ฉันจะเปรียบเทียบภาพสองภาพจากกล้องและบอกได้ว่ามีความแตกต่างเพียงพอในการตรวจจับการเคลื่อนไหวหรือไม่?


18

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

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

ใครบ้างมีเบาะแสเกี่ยวกับวิธีการที่จะประสบความสำเร็จหรือว่ามีเอกสารให้อ่าน?


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

1
นี่คือการโพสต์ที่น่าสนใจในเรื่องที่คุณอาจพบcodeproject.com/KB/audio-video/Motion_Detection.aspx ที่

CHDK ยังแบ่งภาพเป็นกริด chdk.wikia.com/wiki/UBASIC/Scripts:_AdaptiveMD สำหรับการตรวจจับการเคลื่อนไหวและไม่ตรวจจับการเปลี่ยนแปลงของแสงฉันจะบอกว่าการเปลี่ยนแปลงในเซลล์กริดจำนวนมากไม่ได้เคลื่อนไหวในขณะที่การเปลี่ยนแปลงในเซลล์กริดเพียงไม่กี่ตัว
endolith

คำตอบ:


10

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

นี่คือกระดาษและรหัสสำหรับการแยกตัวประกอบเมทริกซ์ http://www.ece.rice.edu/~aew2/sparcs.html

นี่คือภาพรวมจากบล็อก CS และลิงก์ไปยังรหัสอื่น:

https://sites.google.com/site/igorcarron2/matrixfactorizations

http://nuit-blanche.blogspot.com/search/label/MF

สำรวจเทคนิคอื่น ๆ : http://www.vis.uni-stuttgart.de/uploads/tx_vispublications/Brutzer2011-2.pdf


1
คุณทำ CW นี้โดยเจตนาหรือไม่?
Lorem Ipsum

1
"CW" หมายถึงอะไร
mirror2image

อ๊ะคำถามวิกิ ฉันคิดว่ามันเป็นความคิดที่ดีที่จะแนะนำเทคโนโลยีใหม่นี้ให้กับผู้ที่ทำสิ่งต่าง ๆ โปรดลบออกหากคุณไม่เห็นด้วย ppls อื่น ๆ อาจมีประสบการณ์มากขึ้นกับเทคโนโลยีนี้ - ฉันเริ่มเข้าสู่มัน
mirror2image

CW เป็นคำถามชุมชน - วิกิ สิ่งนี้หมายความว่าคุณจะไม่ได้รับชื่อเสียง (ในกรณีนี้ 4x10 = 40) สำหรับ upvotes ในคำตอบของคุณ บางคนจงใจทำคำตอบเช่นนี้ แต่บ่อยครั้งที่มันตั้งใจ ฉันเปลี่ยนสิ่งนี้ให้คุณเพื่อที่คุณจะได้รับตัวแทนของคุณ ตอนนี้เป็น 181 จาก 126 :)
Lorem Ipsum

5

จำเอาไว้: มีเงา (ไม่ใช่แค่ความสว่าง)

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

แต่เพื่อความเป็นธรรมฉันก็ไม่มีทางออกที่ดีเลย ความคิดแรกของฉันคือการกระจายภาพแต่ละภาพไปยังรูปภาพอ้างอิงของห้องว่างและเรียกใช้การตรวจจับขอบบนภาพ diff แต่สิ่งนี้จะตรวจจับเงา แต่ฉันเดาว่าคุณไม่สามารถแตกต่างกันระหว่างเงาและวัตถุอื่น ๆ ... อย่างน้อยฉันก็ไม่รู้ แต่บางทีคุณสามารถเปรียบเทียบผลลัพธ์หลังจากการตรวจจับขอบระหว่าง 2 เฟรมเนื่องจากเงาส่วนใหญ่เคลื่อนที่ช้า (ยังคงมีปัญหาเมื่อรถยนต์เคลื่อนที่โดยหรือเมื่อเมฆเคลื่อนผ่าน)


คุณต้องการตรวจจับบางสิ่งที่เปลี่ยนแปลงทันที เงาจะไม่เปลี่ยนจากนาทีหนึ่งไปเป็นนาทีถัดไป ความสว่างโดยรวมของดวงอาทิตย์จะเป็นอย่างไร
endolith

2
เงาจะเคลื่อนที่อย่างรวดเร็วหากมีเช่นรถที่กำลังเคลื่อนที่และปล่อยเงาของมันผ่านทางหน้าต่างหรือปล่อยเงาของวัตถุอื่น ๆ ด้วยไฟหน้า
Philipp Wendt

4

เทคนิค "การแยกตัวประกอบเมทริกซ์" จะไม่ช่วยให้คุณทำงานของคุณ! กระดาษที่อ้างถึงโดย @ mirror2image นั้นเกี่ยวกับการลบพื้นหลัง แต่ไม่ได้ขึ้นอยู่กับ "การแยกตัวประกอบแบบเมทริกซ์"

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

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

การอ้างอิงที่ดีที่สุดในรายงานการวิจัยของคุณ (และยังง่ายกว่าถ้าคุณต้องการนำไปใช้จริง) - W4 ระบบค้นหาที่นี่และดูกระดาษ Picardi ที่นี่เพื่อสำรวจรายละเอียดเพิ่มเติมสำหรับเทคนิคอื่น ๆ ในระบบ

มีความท้าทายมากมายที่ใช้กับปัญหานี้:

  1. การปรากฏตัวของเสียงสร้างปัญหาของความกำกวมที่สำคัญ วิธีการที่นี่คือการใช้การกรองชั่วคราวที่มีประสิทธิภาพและการพิจารณาความแปรปรวนของเสียงเพื่อให้ภูมิคุ้มกันกับเกณฑ์

  2. การปรากฏตัวของเงาทำให้เกิดความกำกวมไม่ว่าจะเป็นเบื้องหน้าหรือ มีเอกสารที่จำลองสีกับความแตกต่างของความเข้มเพื่อแยกความแตกต่างระหว่างเงากับพื้นหน้าจริง

  3. พื้นหลังอาจสลับซับซ้อนเช่นโบกต้นไม้หรือทะเลเป็นต้น

  4. พื้นหลังอาจมีการเปลี่ยนแปลงของแสงช้าหรือฉับพลันซึ่งพื้นหลัง "เรียนรู้" ก่อนหน้านี้จะถูกปรับให้เข้ากับแสงใหม่

หนึ่งในจุดสังเกตที่มีการอ้างอิงมากที่สุดคืออัลกอริธึม Wall flowerแสดงวิธีที่ดีที่สุดในการรวมสถานการณ์ต่าง ๆ เช่นนี้เพื่อให้การตรวจจับวัตถุเคลื่อนที่ที่มีประสิทธิภาพ


2

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

ฉันคิดว่าฮิสโตแกรมสีเป็นตัวเลือกที่ดีสำหรับมัน

หากคุณแบ่งภาพเป็นพื้นที่และสร้างฮิสโตแกรมแยกต่างหากสำหรับพื้นที่เหล่านี้คุณสามารถกำหนดตำแหน่ง / เส้นทางของผู้บุกรุกได้


ขอบคุณมากฉันจะรอการแก้ปัญหาอื่น ๆ ถ้าฉันไม่สามารถหาได้ดีกว่านี้จะยอมรับของคุณ FYI ฉันไม่ต้องการระบุเส้นทางของผู้บุกรุกเนื่องจาก 1 นาทีนั้นไม่เพียงพอสำหรับการทำเช่นนั้น แต่การส่งการแจ้งเตือนนั้นยอดเยี่ยม ขอบคุณ

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

1
ใช่แล้วอันที่จริงฉันวางแผนที่จะถ่ายภาพทุก ๆ 10 วินาทีและอัปโหลดเมื่อฉันตรวจจับผู้บุกรุกหรือทุกนาทีเมื่อไม่มีปัญหา

1

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

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