การจดจำข้อมูลที่ทำคลัสเตอร์เป็นรูปร่าง


9

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

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

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

นอกจากนี้ฉันชอบ Python แต่ฉันเปิดให้มีการเข้ารหัสในภาษาอื่นถ้าคุณมีวิธีอื่นที่จะทำ

ขอบคุณ!


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

คุณต้องการที่จะหารูปร่างหรือคุณพยายามที่จะจำแนกนก? ถ้าเป็นเช่นนั้นจะใช้เสียงของ Hidden Markov Model หรือไม่?
Mikhail

คำตอบ:


2

สองคำถาม:

1 / ใกล้ 8s เราสามารถสังเกตระยะห่างที่มั่นคงได้ 100ms หรือมากกว่านั้นจากนั้นจะเพิ่มขึ้นอย่างกะทันหันจนถึง 8.5 วินาที ลำดับทั้งหมดนี้ (8 วินาทีถึง 8.5 วินาที) ก่อตัวเป็นเอนทิตี้เดียวหรือคุณคิดว่าสองขั้นตอน (เสถียรแล้วลดลง) เป็นสองเอนทิตีหรือไม่

2 / คุณต้องการทำงานโดยมีหรือไม่มีผู้ดูแล คุณรู้ล่วงหน้าเกี่ยวกับ "รูปแบบ" ที่จะมองหา?

  • หากคุณต้องการทำงานโดยไม่มีการควบคุม (กล่าวว่าคุณได้รวบรวมการบันทึกและตั้งเป้าที่จะแยก "การแสดงเชิงโครงสร้าง" ออกมา) ปัญหาของคุณคล้ายกับการตรวจจับกิจกรรมเสียงในขั้นตอนแรก เพียงใช้ความเข้มของสัญญาณอาจใช้ร่วมกับตัวชี้วัด "pitchiness" (พูดถึงอัตราส่วนของค่าความสัมพันธ์อัตโนมัติสูงสุดในช่วง brid, 1kHz - 5kHz ที่นี่) เพื่อตรวจหาส่วนที่มีระดับเสียงแหลมสูง ค่ามัธยฐานกรองลำดับที่เกิดขึ้นเพื่อทำให้เรียบและจากนั้นเกณฑ์ที่จะได้รับส่วนที่แตกต่างกัน เมื่อคุณแยกสัญญาณของคุณออกเป็นส่วน ๆ แล้วคุณสามารถทำสิ่งที่น่าสนใจกับพวกมันได้ ตัวอย่างเช่นคุณสามารถแยกวิถีพิทช์แต่ละอัน (ลำดับที่มีความถี่สูงสุดสูงสุดสำหรับแต่ละเฟรม FFT หรือสิ่งที่มีประสิทธิภาพมากขึ้นที่แยกด้วยตัวประมาณพิทช์จริง) ใช้ DTW เพื่อคำนวณเมทริกซ์ของระยะทางตามเข็มคู่ระหว่างแต่ละบล็อกและใช้อัลกอริทึมการจัดกลุ่ม (k- หมายถึงการจัดกลุ่ม agglomerative) เพื่อระบุกลุ่มของรูปแบบระยะห่างที่คล้ายกัน (8: 8.5 และ 10: 10.5 ส่วน) อาจเป็นไปได้ว่าวิธีที่ไม่ได้รับการดูแลจะมีการแบ่งกลุ่มมากเกินไปตัวอย่างเช่น 7.6: 8.5 และ 9.6: 10.5 จะได้รับการยอมรับว่าเป็นการทำซ้ำของสองช่วงตึกเดียวกันในขณะที่คุณสามารถใช้รูปแบบเดียวได้Sequiturมีโครงสร้างหนึ่งระดับที่สูงขึ้น

  • หากคุณมีพจนานุกรม "รูปแบบ" ที่กำหนดไว้ล่วงหน้าที่คุณต้องการติดป้ายสัญญาณของคุณคุณควรทำตามวิธีการที่ใช้สำหรับการรู้จำเสียงด้วยความแตกต่างที่สำคัญเพียงอย่างเดียวที่การรู้จำเสียงนั้นไม่คำนึงถึงขณะที่อยู่ใน case pitch เป็นข้อมูลเพียงอย่างเดียวที่ต้องพิจารณา! ระบบรู้จำเสียงพูดจะจัดการทั้งการแบ่งส่วนและงานการรับรู้ในการดำเนินการถอดรหัส FST เดียว

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