Სარჩევი:
- ნაბიჯი 1: მასალები
- ნაბიჯი 2: აპარატურა - 3D ბეჭდვა
- ნაბიჯი 3: აპარატურა - ელექტრონული კომპონენტები
- ნაბიჯი 4: პროგრამული უზრუნველყოფა
- ნაბიჯი 5: პროგრამული უზრუნველყოფა - ხმა
- ნაბიჯი 6: პროგრამული უზრუნველყოფა - სახის და მეტყველების ამოცნობა
- ნაბიჯი 7: პროგრამული უზრუნველყოფა - მბრუნავი ძრავა
- ნაბიჯი 8: მომავალი გაუმჯობესება
ვიდეო: სპიკერი-მცოდნე Camara სისტემა (SPACS): 8 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:18
წარმოიდგინეთ საკონფერენციო ზარი, სადაც მრავალი სპიკერი გარს უვლის ერთ კამერას. ჩვენ ხშირად ვხვდებით იქ, სადაც კამერის შეზღუდული ხედვის კუთხე ხშირად ვერ ახერხებს შეხედოს მეტყველ ადამიანს. აპარატურის ეს შეზღუდვა მნიშვნელოვნად ამცირებს მომხმარებლის გამოცდილებას. თუ კამერას შეუძლია აქტიური დინამიკების მზერა, დისტანციური აუდიტორია უფრო მეტად ჩაერთვება საუბარში ზარის დროს. ამ პროექტში ჩვენ შემოგთავაზებთ კამერის (პროტოტიპს) სისტემას, რომელიც ამოიცნობს და მისდევს აქტიურ სპიკერს კამერის დინამიკისკენ შემობრუნებით. სისტემა იყენებს როგორც ვიზუალურ, ისე აუდიო დაფუძნებულ მიდგომას. როდესაც კამერებიდან ამოღებულია სახეები, ის განსაზღვრავს მეტყველ პირს და ითვლის ბრუნვის კუთხეს. როდესაც სახეები არ არის გამოვლენილი მიმდინარე კუთხით, სისტემა ეძებს დინამიკს ჩამოსვლის აუდიო სიგნალების მიმართულებით.
ნაბიჯი 1: მასალები
ადაფრუტის ბუმბული nRF52840 Express X 1
www.adafruit.com/product/4062
ელექტროეტის მიკროფონის გამაძლიერებელი - MAX4466 X 2
www.adafruit.com/product/1063
მიკრო სერვო ძრავა X 1
www.adafruit.com/product/169
Android სმარტფონი X 1
ნაბიჯი 2: აპარატურა - 3D ბეჭდვა
სწრაფი განხორციელებისათვის, ჩვენ გადავწყვიტეთ 3D ბეჭდვა ჩვენთვის საჭირო შიგთავსები. არსებობს ორი ძირითადი კომპონენტი შიგთავსებისთვის; ჭურჭელი და სმარტფონის სადგამი. ჩვენ გამოვიყენეთ ჭურვი ამ ბმულიდან (https://www.thingiverse.com/thing:141287), სადაც მოცემულია Arduino ჩანთა ბოლოში და მბრუნავი მაგიდა, რომელიც შეიძლება იყოს დაკავშირებული სერვო ძრავით. ჩვენ გამოვიყენეთ სმარტფონის სტენდი ამ ბმულიდან (https://www.thingiverse.com/thing:2673050), რომელიც დასაკეცი და კუთხის რეგულირებადია ისე, რომ გვაძლევს კუთხის მოხერხებულად დაკალიბრების საშუალებას. ქვემოთ მოყვანილ ფიგურაში ნაჩვენებია ერთად აწყობილი 3D ბეჭდვის ნაწილები.
ნაბიჯი 3: აპარატურა - ელექტრონული კომპონენტები
არსებობს ოთხი სადენიანი კომპონენტი; ადაფრუტის ბუმბული, ორი მიკროფონი და ძრავა. კომპაქტური შეფუთვისთვის, ჩვენ შევაერთეთ (ნაცრისფერი წრეები) მავთულები პურის დაფის გამოყენების გარეშე. ქვემოთ აღწერილია სქემის დიაგრამა და ფაქტობრივი არტეფაქტი.
ნაბიჯი 4: პროგრამული უზრუნველყოფა
ჩვენი სისტემა პირველ რიგში იყენებს სახის ამოცნობის ვიზუალურ ინფორმაციას, რათა დაიცვას სპიკერი, რადგან ის უფრო ზუსტია. იმისათვის, რომ ბუმბულმა ვიზუალური ინფორმაცია მიიღოს Android აპლიკაციიდან, ჩვენ ვიყენებთ Bluetooth Low Energy– ს, როგორც კომუნიკაციის მთავარ მეთოდს.
როდესაც რაიმე სახე გამოვლინდება, აპლიკაცია ითვლის იმ კუთხეს, რომელიც ძრავას სჭირდება ბრუნვისთვის, რათა სპიკერი ფოკუსირდეს ჩარჩოს ცენტრში. ჩვენ დავშალეთ შესაძლო სცენარები და ვიმუშავეთ შემდეგნაირად:
- თუ სახე (ები) გამოვლენილია და ლაპარაკობს, ის ითვლის დინამიკების შუა წერტილს და ბრუნავს ფარდობით კუთხეს.
- თუ სახე (ები) გამოვლენილია და არცერთი მათგანი არ საუბრობს, ის ასევე ითვლის სახეების შუა წერტილს და შესაბამისად აბრუნებს კუთხეს.
- თუ რაიმე სახე არ არის გამოვლენილი, სისტემა ცვლის დინამიკების თვალთვალის ლოგიკას ვიზუალიდან აუდიოზე.
SPACS პროგრამული უზრუნველყოფა მდებარეობს
ნაბიჯი 5: პროგრამული უზრუნველყოფა - ხმა
ხმა (YH)
შემომავალი ხმის წყაროს დასადგენად, ჩვენ პირველად შევეცადეთ გამოგვეყენებინა დროის სხვაობა ორ მიკროფონს შორის. მაგრამ ეს არ იყო ისეთი ზუსტი, როგორც ჩვენ ველოდით მას შემდეგ, რაც Arduino Leopard– ის შერჩევის სიჩქარე (~ 900 ჰც), სადაც ჩვენ ხმოვანი სიგნალები გამოვცადეთ, ისეთი ნელი იყო, რომ მას არ შეეძლო 10 სმ – ის დაშორებით მიკროფონებს შორის დროის სხვაობის აღება.
ჩვენ შევცვალეთ გეგმა, რომ გამოვიყენოთ ინტენსივობის სხვაობა ორ შეყვანის ხმოვან სიგნალს შორის. შედეგად, ბუმბული იღებს ორ ხმოვან სიგნალს და ამუშავებს მათ იმის დასადგენად, საიდან მოდის ხმა. დამუშავება შეიძლება აღწერილი იყოს შემდეგი ნაბიჯებით:
- აიღეთ ორი მიკროფონის შეყვანა და გამოაკელით ოფსეტი სიგნალების ამპლიტუდის მისაღებად.
- დააგროვეთ ამპლიტუდების აბსოლუტური მნიშვნელობები MIC– ზე 500 პიკაპისთვის.
- დაგროვილი ღირებულებების სხვაობა შეინახეთ რიგში 5 სლოტის მქონე.
- დააბრუნეთ რიგების ჯამი, როგორც საბოლოო სხვაობის მნიშვნელობა.
- შეადარეთ საბოლოო მნიშვნელობა ზღურბლებთან, რათა გადაწყვიტოთ საიდან გაჩნდა ხმა.
ჩვენ ვიპოვეთ ბარიერი სხვადასხვა მნიშვნელობებში საბოლოო მნიშვნელობის შედგენით, მათ შორის ბგერა მარცხნიდან და მარჯვნივ. ზღურბლთან ერთად, საბოლოო მნიშვნელობისთვის, ჩვენ ასევე დავაყენეთ კიდევ ერთი ბარიერი დაგროვილი ამპლიტუდების საშუალო საფეხურზე 2, ხმაურების გაფილტვრის მიზნით.
ნაბიჯი 6: პროგრამული უზრუნველყოფა - სახის და მეტყველების ამოცნობა
სახის ამოცნობისთვის ჩვენ გამოვიყენეთ Google– ის მიერ გამოშვებული ML Kit Firebase– ისთვის (https://firebase.google.com/docs/ml-kit). ML Kit უზრუნველყოფს სახის გამოვლენის API, რომელიც აბრუნებს თითოეული სახის შემოსაზღვრულ ყუთს და მის ღირსშესანიშნაობებს, მათ შორის თვალებს, ცხვირს, ყურებს, ლოყებს და პირის ღრუს სხვადასხვა წერტილებს. როდესაც სახეები გამოვლენილია, აპლიკაცია თვალყურს ადევნებს პირის მოძრაობას იმის დასადგენად, საუბრობს თუ არა ადამიანი. ჩვენ ვიყენებთ ბარიერზე დაფუძნებულ მარტივ მიდგომას, რომელიც იძლევა საიმედო შესრულებას. ჩვენ გამოვიყენეთ ის ფაქტი, რომ პირის მოძრაობა იზრდება ჰორიზონტალურად და ვერტიკალურად, როდესაც ადამიანი ლაპარაკობს. ჩვენ ვიანგარიშებთ პირის ღრუს ვერტიკალურ და ჰორიზონტალურ მანძილს და გამოვთვლით სტანდარტულ გადახრას თითოეული მანძილისთვის. მანძილი ნორმალიზდება სახის ზომაზე. უფრო დიდი სტანდარტული გადახრა მიუთითებს მეტყველებაზე. ამ მიდგომას აქვს შეზღუდვა, რომ ყველა აქტივობა მოიცავს პირის მოძრაობას, მათ შორის ჭამას, დალევას ან ყეფას, შეიძლება აღიარებული იყოს როგორც მეტყველება. მაგრამ, მას აქვს დაბალი ცრუ უარყოფითი მაჩვენებელი.
ნაბიჯი 7: პროგრამული უზრუნველყოფა - მბრუნავი ძრავა
ძრავის ბრუნვა არ იყო ისეთი მარტივი, როგორც ველოდით ბრუნვის სიჩქარის კონტროლის გამო. სიჩქარის გასაკონტროლებლად, ჩვენ ვაცხადებთ გლობალურ მრიცხველ ცვლადს, რომელიც საშუალებას აძლევს ძრავას გადატრიალდეს მხოლოდ მაშინ, როდესაც ცვლადი მიაღწევს გარკვეულ მნიშვნელობას. ჩვენ ასევე გამოვაცხადეთ კიდევ ერთი გლობალური ცვლადი, რომელიც მიუთითებს იმაზე, მოძრაობს თუ არა ძრავა მიკროფონებისათვის, რათა თავიდან აიცილოს ძრავის ბრუნვიდან მომდინარე ხმა.
ნაბიჯი 8: მომავალი გაუმჯობესება
ერთ -ერთი შეზღუდვა ის არის, რომ ძრავა მოძრაობს გარკვეულ კუთხეებში. როგორც ჩანს, ძრავა არ არის საკმარისად ძლიერი იმისათვის, რომ გადალახოს სმარტფონის ბრუნვით წარმოქმნილი ბრუნვა. მისი მოგვარება შესაძლებელია უფრო მძლავრი ძრავის გამოყენებით ან სმარტფონის პოზიციის მორგებით ბრუნვის ცენტრისკენ ბრუნვის შესამცირებლად.
აუდიოზე დაფუძნებული ხმის მიმართულების ამოცნობა შეიძლება გაუმჯობესდეს უფრო დახვეწილი მეთოდით. ჩვენ გვსურს შევეცადოთ აკუსტიკური სხივების ფორმირების მიდგომას შემომავალი ბგერის მიმართულების დასადგენად. ჩვენ ვცადეთ აუდიო სიგნალების ჩამოსვლის დრო. ბუმბულის შერჩევის მაჩვენებელი შეზღუდულია დროის სხვაობის დასადგენად, როდესაც მიკროფონები მხოლოდ 10 სმ მანძილზეა.
ამ პროტოტიპის ბოლო დაკარგული ნაწილი არის გამოყენებადობის შეფასება. შეფასების ერთ – ერთი პერსპექტიული მეთოდია სისტემის ინტეგრაცია არსებულ ვიდეო ზარების პლატფორმასთან და მომხმარებელთა პასუხების დაკვირვება. ეს პასუხები ხელს შეუწყობს სისტემის გაუმჯობესებას და ამ პროტოტიპის მომდევნო გამეორებას.
გირჩევთ:
განწყობის სპიკერი- ძლიერი სპიკერი იმისთვის, რომ განწყობის მუსიკა უკრავს გარემოს ტემპერატურაზე დაყრდნობით: 9 ნაბიჯი
Mood Speaker- ძლიერი სპიკერი Mood Music– ის დასაკრავად, გარემოს ტემპერატურაზე დაყრდნობით: გამარჯობა! ჩემი სკოლის პროექტისთვის MCT Howest Kortrijk– ში, მე გავაკეთე Mood Speaker ეს არის ჭკვიანი Bluetooth სპიკერი მოწყობილობა სხვადასხვა სენსორებით, LCD და WS2812b ledstrip შედის. სპიკერი უკრავს ფონურ მუსიკას ტემპერატურის მიხედვით, მაგრამ შეუძლია
ბატონი სპიკერი - 3D ბეჭდვით DSP პორტატული სპიკერი: 9 ნაბიჯი (სურათებით)
ბატონი სპიკერი - 3D ბეჭდვით DSP პორტატული სპიკერი: მე მქვია სიმონ ეშტონი და წლების განმავლობაში ბევრი დინამიკი ავაშენე, ჩვეულებრივ ხისგან. მე მივიღე 3D პრინტერი შარშან და ამიტომ მინდოდა შემექმნა ისეთი, რაც განასახიერებს დიზაინის უნიკალურ თავისუფლებას, რასაც 3D ბეჭდვა იძლევა. დავიწყე თამაში
DIY აუდიო სპიკერი 2.1 სისტემა: 10 ნაბიჯი
წვრილმანი აუდიო სპიკერი 2.1 სისტემა: იდეის შექმნიდან 4 თვეა, ყუთები მზად არის ჩემი პირველივე სასწავლო ინსტრუქციისთვის. ეს რეალურად დაიწყო პროექტით, რადგან არსებული (ძალიან იაფი) 5.1 მოწყობილობა სამწუხაროდ იშვიათად გამოიყენებოდა. ძალიან გართულებულია 2 დისტანციური მართვით და ა.შ. გამაძლიერებელი
Vespa ET4 IPod სპიკერი სისტემა: 14 ნაბიჯი (სურათებით)
Vespa ET4 IPod სპიკერი სისტემა: მე მივიღე ჩემი პირველი Vespa დაახლოებით ერთი წლის წინ და ძალიან მომეწონა ნიუ იორკში ხელსაწყოების დამუშავება. პირველივე დღიდან მინდოდა შემეძლო ჩემი iPod– ის მოსმენა, როდესაც ვზიდავდი, მაგრამ ყურსასმენებით ტარების იდეა მთელ ამ ტრაფიკში გიჟურად მეჩვენება. როცა ვკითხულობ
კიდევ ერთი Altoids სპიკერი სისტემა: 4 ნაბიჯი
კიდევ ერთი Altoids სპიკერი სისტემა: სწრაფი, მარტივი და რეალურად საკმაოდ მძლავრი სპიკერი სისტემა; დამზადებულია ალტოიდების კალისგან და სპიკერების იაფი სისტემისგან, რომელიც შევიძინე როსში. მე ვიცი ამ ინსტრუქციის ტონა უკვე არსებობს, მაგრამ ეს არის ჩემი პირველი, ამიტომ ვაკეთებ რაღაც მარტივს