การจำแนกภาพโดยใช้คุณสมบัติ SIFT และ SVM


12

ฉันหวังว่าใครบางคนสามารถอธิบายวิธีการใช้ถุงรูปแบบคำในการจำแนกภาพโดยใช้คุณสมบัติ SIFT / SURF / ORB และเครื่องเวกเตอร์สนับสนุน

ในขณะนี้ฉันสามารถคำนวณเวกเตอร์ฟีเจอร์ SIFT สำหรับรูปภาพและนำ SVM มาใช้อย่างไรก็ตามฉันพบว่ามันยากที่จะเข้าใจวรรณกรรมเกี่ยวกับวิธีใช้รูปแบบคำในกระเป๋าเพื่อ 'vector quantize' คุณสมบัติ SIFT และสร้างฮิสโตแกรมที่ให้ เวกเตอร์ขนาดคงที่สามารถใช้ในการฝึกอบรมและทดสอบ SVM

ยินดีต้อนรับทุกลิงก์ไปยังบทเรียนหรือวรรณกรรมในหัวข้อ

คำตอบ:


16

หากคุณสามารถใช้งาน SVM ได้คุณสามารถกำหนดคุณสมบัติได้ :)

โดยทั่วไปแล้วคุณสมบัติต่างๆจะถูกทำปริมาณโดยใช้การจัดกลุ่ม k-mean ก่อนอื่นคุณต้องตัดสินใจว่า "ขนาดคำศัพท์" ของคุณควรเป็นอะไร (พูดคำว่า "200 คำด้วยสายตา") จากนั้นคุณเรียกใช้การจัดกลุ่ม k-mean สำหรับกลุ่มนั้น (200) SIFT descriptors เป็นพาหะขององค์ประกอบที่ 128 นั่นคือจุดในพื้นที่ 128- มิติ ดังนั้นคุณสามารถลองจัดกลุ่มพวกเขาเช่นจุดอื่น ๆ คุณแยกตัวบ่งชี้ SIFT จากรูปภาพจำนวนมากคล้ายกับภาพที่คุณต้องการจัดประเภทโดยใช้คุณสมบัติถุง (โดยหลักการแล้วควรเป็นชุดภาพแยกต่างหาก แต่ในทางปฏิบัติผู้คนมักจะได้รับคุณสมบัติจากชุดภาพการฝึกอบรม) จากนั้นคุณเรียกใช้การจัดกลุ่ม k-mean ในชุดตัวบ่งชี้ SIFT ขนาดใหญ่นี้เพื่อแบ่งเป็น 200 (หรืออะไรก็ตาม) คือการกำหนด descriptor แต่ละตัวให้กับคลัสเตอร์ k-mean จะให้ 200 ศูนย์คลัสเตอร์

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

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

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


สวัสดี Dima ขอบคุณสำหรับคำตอบของคุณฉันมีคำถามหนึ่งข้อเมื่อคุณพูดว่า "จากนั้นคุณเรียกใช้การจัดกลุ่ม k-mean สำหรับกลุ่มจำนวนนั้น" คุณกำลังเรียกใช้การจัดกลุ่ม k-mean อยู่อย่างไร ป.ล. ฉันเกือบอยากจะยอมรับคำตอบนี้สำหรับความคิดเห็นของคุณเกี่ยวกับคุณสมบัติคำว่าเกินพิกัดอย่างมากฉันมีความเกี่ยวข้องกับการประมวลผลภาพและฉันไม่เห็นด้วยมากนัก
Jono Brogan

@JonoBrogan: คุณควรยอมรับคำตอบของฉันเพราะมันถูกต้อง :) ฉันได้แก้ไขคำตอบเพื่อพยายามชี้แจง k-mean
Dima

มันสมเหตุสมผลแล้วหรือยัง?
Dima

ใช่ขอบคุณ ฉันยอมรับคำตอบแล้ว แต่ฉันแค่สงสัยว่าคุณรู้หรือไม่ว่าคุณจะตัดสินใจเลือกใช้คำว่า "ภาพ" ได้กี่คำ?
Jono Brogan

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