จะดึงสัญญาณจราจรจากภาพถ่ายได้อย่างไร?


15

ฉันสามารถใช้เทคนิคการวิเคราะห์ภาพใดในการแยกสัญญาณไฟจราจรจากภาพเช่นภาพด้านล่าง

ภาพภายนอกของริมถนนใหญ่

แก้ไข:

หลังจากการแพร่กระจาย Anisotropic: พื้นหลังที่ฉันไม่ต้องการได้รับการเคลียร์เล็กน้อย

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

หลังจากการขยาย:

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

Thresholding หลังจากการแพร่กระจาย: ไม่สามารถหา thresholding ที่ดีที่สุดสำหรับวัตถุประสงค์นี้

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

อย่างไรก็ตามฉันไม่สามารถหาวิธีลบพื้นหลังได้

แก้ไข: ฉันต้องการชิ้นส่วนเหล่านี้ของภาพของฉัน

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

กำลังถ่ายภาพอินพุทอื่น:

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

การใช้การกรองค่ามัธยฐานและการตรวจจับขอบ:

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

หลังจากการกรองหมวกล่าง:

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

ฉันจะแยกสัญญาณถนนได้อย่างไรโปรดช่วยด้วย?


สำหรับฉัน "สัญญาณไฟจราจร" หมายถึงอุปกรณ์ที่มีแสงสว่างเพียงพอjustsymbol.com/images/traffic-signal-sign-6.pngไม่ใช่สัญญาณ คุณหมายถึงสัญญาณเท่านั้นหรือไม่
endolith

ใช่เพียงสัญญาณ
vini

คุณลองวิธีใดบ้าง
Maurits

ใช่ฉันมีเทมเพลต
vini

ได้แก้ไข @mauritis
Vini

คำตอบ:


17

คุณลองอะไรที่เรียบง่ายเช่นความสัมพันธ์หรือไม่?

( แก้ไข ) แนวคิดเบื้องหลังความสัมพันธ์คือการใช้เทมเพลต (ในกรณีของคุณเป็นตัวอย่างเครื่องหมายจราจร) และเปรียบเทียบกับทุกตำแหน่งในภาพทดสอบ การดำเนินการเปรียบเทียบที่ฉันเคยสร้างภาพด้านล่างเรียกว่าcross-correlation แบบปกติ พูดโดยประมาณว่าคุณสร้างมาตรฐาน (mean = 0, ส่วนเบี่ยงเบนมาตรฐาน = 1) พิกเซลในเทมเพลตและส่วนภาพที่คุณต้องการจับคู่คูณพิกเซลทีละพิกเซลและคำนวณค่าเฉลี่ยของผลิตภัณฑ์ วิธีนี้คุณจะได้รับ "คะแนนการแข่งขัน" คือการวัดความคล้ายคลึงกันระหว่างเทมเพลตและภาพทดสอบในทุกตำแหน่งในภาพทดสอบ ตำแหน่งที่มีการจับคู่ที่ดีที่สุด (สหสัมพันธ์สูงสุด) เป็นตำแหน่งที่เหมาะสมที่สุดสำหรับตำแหน่งของป้ายถนน (อันที่จริงฉันใช้ฟังก์ชัน Mathematica แล้วสหสัมพันธ์ระยะทางในการสร้างภาพด้านล่างซึ่งเป็น 1 - (ความสัมพันธ์ปกติ) ดังนั้นจุดที่มืดที่สุดในภาพการแข่งขันจึงสอดคล้องกับการจับคู่ที่ดีที่สุด)

ฉันไม่มีเทมเพลตอื่น ๆ ดังนั้นฉันจึงตัดเครื่องหมายจากรูปภาพที่สองที่คุณโพสต์:

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

แม้ว่าเทมเพลตจะถูกหมุนเล็กน้อยความสัมพันธ์ข้ามยังคงมีประโยชน์

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

และพบคู่ที่ดีที่สุดในตำแหน่งที่เหมาะสม:

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

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


1
@nikie: คุณสามารถอธิบายกระบวนการที่คุณใช้หรือไม่
smokris

ใช่ว่าจะช่วยได้มากขึ้น ความคิดที่ดูเหมือนดี
vini

@vini หากคุณมีเทมเพลตและคุณพยายามที่จะหาอินสแตนซ์ของมันในภาพของคุณการเชื่อมโยงข้ามเป็นวิธีที่เป็นธรรมชาติที่สุดและควรเป็นวิธีแรกที่คุณลอง นี่คือคำตอบที่นี่ (รหัส Mathematica) และอีกข้อใน SO (รหัส MATLAB) ที่ฉันใช้วิธีนี้
Lorem Ipsum

7

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

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

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

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


6

googling road way signs detectionให้บทความดีๆมากมายในหัวข้อนี้

บางคนใช้การแบ่งส่วนสีเนื่องจากสีฟ้าสีเขียวสีแดง ฯลฯ

บางคนใช้การปรับให้เรียบแบบเกาส์เซียนก่อนจากนั้นตรวจจับขอบแสนรู้และการค้นหาเส้นขอบเพื่อแยกป้าย

ลองลิงค์ต่อไปนี้: ลิงค์ 1 , ลิงค์ 2


ลิงก์ที่น่าเสียดาย แต่น่าเสียดายที่
CharlesB

จริง ๆ แล้วทั้งลิงค์ใช้งานได้สำหรับฉัน
Abid Rahman K

@CharlesB: ลิงก์ได้รับการอัพเดต :)
Anoop KP

5

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

ขั้นตอนแรก (การตรวจจับผู้สมัครที่ใช้การแปลงแบบ Hough) เป็นขั้นตอนที่ยากกว่า ฉันสามารถคิดหลายวิธีในการพยายามตรวจสอบว่าผู้สมัครนั้นเป็นสัญญาณหรือไม่ นี่เป็นปัญหาที่สนุก สนุกกับการแก้มัน :)

โดยวิธีการฉันแน่ใจว่าคุณสามารถค้นหาบทความวิจัยที่ดีที่เกี่ยวข้องอย่างมาก

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