OpenVINO Ρ…Π°ΠΊΠ°Ρ‚ΠΎΠ½: Ρ€Π°Π·ΠΏΠΎΠ·Π½Π°Π²Π°Π½Π΅ Π½Π° глас ΠΈ Π΅ΠΌΠΎΡ†ΠΈΠΈ Π½Π° Raspberry Pi

30 Π½ΠΎΠ΅ΠΌΠ²Ρ€ΠΈ – 1 Π΄Π΅ΠΊΠ΅ΠΌΠ²Ρ€ΠΈ Π² НиТни Новгород сС ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅ OpenVINO Ρ…Π°ΠΊΠ°Ρ‚ΠΎΠ½. УчастницитС бяха ΠΏΠΎΠΊΠ°Π½Π΅Π½ΠΈ Π΄Π° ΡΡŠΠ·Π΄Π°Π΄Π°Ρ‚ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏ Π½Π° ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ²ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ с ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Intel OpenVINO toolkit. ΠžΡ€Π³Π°Π½ΠΈΠ·Π°Ρ‚ΠΎΡ€ΠΈΡ‚Π΅ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ…Π° списък с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΈ Ρ‚Π΅ΠΌΠΈ, ΠΏΠΎ ΠΊΠΎΠΈΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€Π°Ρ‚Π΅ ΠΏΡ€ΠΈ ΠΈΠ·Π±ΠΎΡ€Π° Π½Π° Π·Π°Π΄Π°Ρ‡Π°, Π½ΠΎ ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»Π½ΠΎΡ‚ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ остана Π² Ρ€ΡŠΡ†Π΅Ρ‚Π΅ Π½Π° Π΅ΠΊΠΈΠΏΠΈΡ‚Π΅. ОсвСн Ρ‚ΠΎΠ²Π° сС ΠΏΠΎΠΎΡ‰Ρ€ΡΠ²Π°ΡˆΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ Π½Π΅ Π²Π»ΠΈΠ·Π°Ρ‚ Π² ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°.

OpenVINO Ρ…Π°ΠΊΠ°Ρ‚ΠΎΠ½: Ρ€Π°Π·ΠΏΠΎΠ·Π½Π°Π²Π°Π½Π΅ Π½Π° глас ΠΈ Π΅ΠΌΠΎΡ†ΠΈΠΈ Π½Π° Raspberry Pi

Π’ статията Ρ‰Π΅ Ρ€Π°Π·ΠΊΠ°ΠΆΠ΅ΠΌ ΠΊΠ°ΠΊ ΡΡŠΠ·Π΄Π°Π΄ΠΎΡ…ΠΌΠ΅ своя ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏ Π½Π° ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚, с ΠΊΠΎΠΉΡ‚ΠΎ Π² ΠΊΡ€Π°ΠΉΠ½Π° смСтка Π·Π°Π΅Ρ…ΠΌΠ΅ ΠΏΡŠΡ€Π²ΠΎ място.

Π’ Ρ…Π°ΠΊΠ°Ρ‚ΠΎΠ½Π° участваха Π½Π°Π΄ 10 Π΅ΠΊΠΈΠΏΠ°. ΠŸΡ€ΠΈΡΡ‚Π½ΠΎ Π΅, Ρ‡Π΅ някои ΠΎΡ‚ тях Π΄ΠΎΠΉΠ΄ΠΎΡ…Π° ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈ Ρ€Π΅Π³ΠΈΠΎΠ½ΠΈ. ΠœΡΡΡ‚ΠΎΡ‚ΠΎ Π½Π° ΠΏΡ€ΠΎΠ²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° Ρ…Π°ΠΊΠ°Ρ‚ΠΎΠ½Π° бСшС ΠΈΠ·Π±Ρ€Π°Π½ΠΎ ΠšΠΎΠΌΠΏΠ»Π΅ΠΊΡΡŠΡ‚ β€žΠšΡ€Π΅ΠΌΠ»Π΅Π²ΡΠΊΠΈ Π½Π° ΠŸΠΎΡ‡Π°ΠΈΠ½Π΅β€, ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ бяха ΠΎΠΊΠ°Ρ‡Π΅Π½ΠΈ стари снимки Π½Π° НиТни Новгород, Π² стилна обстановка! (припомням, Ρ‡Π΅ Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° цСнтралният офис Π½Π° компанията Intel сС Π½Π°ΠΌΠΈΡ€Π° ΠΈΠΌΠ΅Π½Π½ΠΎ Π² НиТни Новгород). На участницитС бяха отпуснати 26 часа Π·Π° написванС Π½Π° ΠΊΠΎΠ΄, Π° Π² края Π½Π° ΡΡŠΠ±ΠΈΡ‚ΠΈΠ΅Ρ‚ΠΎ бСшС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° прСдставят своСто Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅. Π”ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΎ прСдимство бСшС Π½Π°Π»ΠΈΡ‡ΠΈΠ΅Ρ‚ΠΎ Π½Π° Π΄Π΅ΠΌΠΎ-сСсия, Π·Π° Π΄Π° сС ΡƒΠ²Π΅Ρ€ΠΈΠΌ, Ρ‡Π΅ всичко, ΠΊΠΎΠ΅Ρ‚ΠΎ бяхмС ΠΏΠ»Π°Π½ΠΈΡ€Π°Π»ΠΈ, дСйствитСлно Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ΠΎ, Π° Π½Π΅ останало само ΠΈΠ΄Π΅ΠΈ Π² прСзСнтацията. ИмашС ΠΌΠ΅Ρ€Ρ‡, закуски, Ρ…Ρ€Π°Π½Π°, всичко бСшС Π½Π° Ρ€Π°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅!

ОсвСн Ρ‚ΠΎΠ²Π°, компанията Intel, ΠΏΡ€ΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΡΡˆΠ΅ ΠΊΠ°ΠΌΠ΅Ρ€ΠΈ, Raspberry PI, Neural Compute Stick 2.

Π˜Π·Π±ΠΎΡ€ Π½Π° Π·Π°Π΄Π°Ρ‡Π°

Π•Π΄Π½Π° ΠΎΡ‚ Π½Π°ΠΉ-Ρ‚Ρ€ΡƒΠ΄Π½ΠΈΡ‚Π΅ части Π½Π° ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ°Ρ‚Π° Π·Π° Ρ…Π°ΠΊΠ°Ρ‚ΠΎΠ½Π° с ΠΎΡ‚ΠΊΡ€ΠΈΡ‚Π° Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ° Π΅ ΠΈΠ·Π±ΠΎΡ€ΡŠΡ‚ Π½Π° Π·Π°Π΄Π°Ρ‡Π°. Π’Π΅Π΄Π½Π°Π³Π° Ρ€Π΅ΡˆΠΈΡ…ΠΌΠ΅ Π΄Π° измислим Π½Π΅Ρ‰ΠΎ, ΠΊΠΎΠ΅Ρ‚ΠΎ всС ΠΎΡ‰Π΅ Π½Π΅ ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π° Π² ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ Π² анонса бСшС спомСнато, Ρ‡Π΅ Ρ‚ΠΎΠ²Π° сС привСтства.

Анализирайки ΠΌΠΎΠ΄Π΅Π», ΠΊΠΎΠΈΡ‚ΠΎ Π²Π»ΠΈΠ·Π°Ρ‚ Π² ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° Π² Ρ‚Π΅ΠΊΡƒΡ‰ΠΎΡ‚ΠΎ ΠΌΡƒ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅, стигамС Π΄ΠΎ ΠΈΠ·Π²ΠΎΠ΄Π°, Ρ‡Π΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅Ρ‚ΠΎ ΠΎΡ‚ тях Ρ€Π΅ΡˆΠ°Π²Π°Ρ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ Π½Π° ΠΊΠΎΠΌΠΏΡŽΡ‚ΡŠΡ€Π½ΠΎΡ‚ΠΎ Π·Ρ€Π΅Π½ΠΈΠ΅. Π’ΡΡŠΡ‰Π½ΠΎΡΡ‚ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ Π΄Π° сС измисли Π·Π°Π΄Π°Ρ‡Π° Π² областта Π½Π° ΠΊΠΎΠΌΠΏΡŽΡ‚ΡŠΡ€Π½ΠΎΡ‚ΠΎ Π·Ρ€Π΅Π½ΠΈΠ΅, която Π΄Π° Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС Ρ€Π΅ΡˆΠ΅Π½Π° с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° OpenVINO, Π° Π°ΠΊΠΎ Ρ‚Π°ΠΊΠ°Π²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС измислСна, Ρ‰Π΅ Π΅ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ Π΄Π° сС намСрят ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π² ΠΎΡ‚ΠΊΡ€ΠΈΡ‚ Π΄ΠΎΡΡ‚ΡŠΠΏ. РСшавамС Π΄Π° Ρ€Π°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΠΈ Π΄Ρ€ΡƒΠ³Π° посока β€” ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈ Π°Π½Π°Π»ΠΈΠ· Π½Π° Ρ€Π΅Ρ‡Ρ‚Π°. ОбмислямС интСрСсна Π·Π°Π΄Π°Ρ‡Π° Π·Π° Ρ€Π°Π·ΠΏΠΎΠ·Π½Π°Π²Π°Π½Π΅ Π½Π° Π΅ΠΌΠΎΡ†ΠΈΠΈ ΠΏΠΎ Ρ€Π΅Ρ‡. Врябва Π΄Π° ΠΊΠ°ΠΆΠ΅ΠΌ, Ρ‡Π΅ Π² OpenVINO Π²Π΅Ρ‡Π΅ ΠΈΠΌΠ° ΠΌΠΎΠ΄Π΅Π», ΠΊΠΎΠΉΡ‚ΠΎ опрСдСля Π΅ΠΌΠΎΡ†ΠΈΠΈΡ‚Π΅ Π½Π° Ρ‡ΠΎΠ²Π΅ΠΊ ΠΏΠΎ Π»ΠΈΡ†Π΅Ρ‚ΠΎ, Π½ΠΎ:

  • Π’ тСорията, ΠΌΠΎΠΆΠ΅ Π΄Π° сС създадС ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€Π°Π½ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌ, ΠΊΠΎΠΉΡ‚ΠΎ Ρ‰Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΊΠ°ΠΊΡ‚ΠΎ със Π·Π²ΡƒΠΊ, Ρ‚Π°ΠΊΠ° ΠΈ с ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΠ΅Ρ‚ΠΎ трябва Π΄Π° Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ повишаванС Π½Π° точността.
  • ΠšΠ°ΠΌΠ΅Ρ€ΠΈΡ‚Π΅ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ ΠΈΠΌΠ°Ρ‚ тСсСн ъгъл Π½Π° Π²ΠΈΠΆΠ΄Π°Π½Π΅, Π·Π° Π΄Π° покрият ΠΏΠΎ-голяма Π·ΠΎΠ½Π°, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° Π΅ Π½Π΅ Π΅Π΄Π½Π° ΠΊΠ°ΠΌΠ΅Ρ€Π°, Π·Π²ΡƒΠΊΡŠΡ‚ няма Ρ‚Π°ΠΊΠΎΠ²Π° ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅.

Π Π°Π·Π²ΠΈΠ²Π°ΠΌΠ΅ идСята: Ρ‰Π΅ Π²Π·Π΅ΠΌΠ΅ΠΌ основата Π½Π° концСпцията Π·Π° сСктора Π½Π° Ρ‚ΡŠΡ€Π³ΠΎΠ²ΠΈΡΡ‚Π° Π½Π° Π΄Ρ€Π΅Π±Π½ΠΎ. МоТС Π΄Π° сС опрСдСля удовлСтворСността Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈΡ‚Π΅ Π½Π° каситС Π² ΠΌΠ°Π³Π°Π·ΠΈΠ½ΠΈΡ‚Π΅. Ако някой ΠΎΡ‚ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈΡ‚Π΅ Π΅ Π½Π΅ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€Π΅Π½ ΠΎΡ‚ обслуТванСто ΠΈ Π·Π°ΠΏΠΎΡ‡Π½Π΅ Π΄Π° Π²Π΄ΠΈΠ³Π° Ρ‚ΠΎΠ½ - ΠΌΠΎΠΆΠ΅ Π²Π΅Π΄Π½Π°Π³Π° Π΄Π° сС ΠΏΠΎΠ²ΠΈΠΊΠ° администратор Π½Π° ΠΏΠΎΠΌΠΎΡ‰.
Π’ Ρ‚ΠΎΠ·ΠΈ случай Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Ρ€Π°Π·ΠΏΠΎΠ·Π½Π°Π²Π°Π½Π΅ Π½Π° Ρ‡ΠΎΠ²Π΅ΠΊ ΠΏΠΎ глас, ΠΊΠΎΠ΅Ρ‚ΠΎ Ρ‰Π΅ Π½ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈ Π΄Π° Ρ€Π°Π·Π»ΠΈΡ‡Π°Π²Π°ΠΌΠ΅ слуТитСлитС Π½Π° ΠΌΠ°Π³Π°Π·ΠΈΠ½Π° ΠΎΡ‚ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈΡ‚Π΅ ΠΈ Π΄Π° прСдоставямС Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠ° Π·Π° всСки ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄. ОсвСн Ρ‚ΠΎΠ²Π°, Ρ‰Π΅ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π°ΠΌΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° самитС слуТитСли Π½Π° ΠΌΠ°Π³Π°Π·ΠΈΠ½Π°, Π΄Π° оцСнявамС атмосфСрата Π² ΠΊΠΎΠ»Π΅ΠΊΡ‚ΠΈΠ²Π°, Π·Π²ΡƒΡ‡ΠΈ Π΄ΠΎΠ±Ρ€Π΅!

Π€ΠΎΡ€ΠΌΠΈΡ€Π°ΠΌΠ΅ изискванията към Π½Π°ΡˆΠ΅Ρ‚ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅:

  • Малък Ρ€Π°Π·ΠΌΠ΅Ρ€ Π½Π° Ρ†Π΅Π»Π΅Π²ΠΎΡ‚ΠΎ устройство
  • Π Π°Π±ΠΎΡ‚Π° Π² Ρ€Π΅Π°Π»Π½ΠΎ Π²Ρ€Π΅ΠΌΠ΅
  • Ниска Ρ†Π΅Π½Π°
  • ЛСсна мащабируСмост

Π’ ΠΊΡ€Π°ΠΉΠ½Π° смСтка, ΠΊΠ°Ρ‚ΠΎ Ρ†Π΅Π»Π΅Π²ΠΎ устройство ΠΈΠ·Π±ΠΈΡ€Π°ΠΌΠ΅ Raspberry Pi 3 с Intel NCS 2.

Π’ΡƒΠΊ Π΅ Π²Π°ΠΆΠ½ΠΎ Π΄Π° сС ΠΎΡ‚Π±Π΅Π»Π΅ΠΆΠΈ Π΅Π΄Π½Π° особСност Π½Π° NCS - Ρ‚ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΈ Π½Π°ΠΉ-Π΄ΠΎΠ±Ρ€Π΅ с стандартни CNN Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΈ, Π° Π°ΠΊΠΎ сС Π½Π°Π»ΠΎΠΆΠΈ Π΄Π° стартиратС Π½Π° Π½Π΅Π³ΠΎ ΠΌΠΎΠ΄Π΅Π» с пСрсонализирани слоСвС, Ρ‚ΠΎ ΠΎΡ‡Π°ΠΊΠ²Π°ΠΉΡ‚Π΅ ΜΆΡ‚ΜΆΠ°ΜΆΠ½ΜΆΡ†ΜΆΠ΅ΜΆΠ²ΜΆ ̢с̢ ΜΆΠ±ΜΆΡƒΜΆΠ±ΜΆΠ½ΜΆΠΎΜΆΠΌΜΆ нискоуровнСва оптимизация.

Π Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π΅ ΠΌΠ°Π»ΠΊΠ°: Π½ΡƒΠΆΠ½ΠΎ Π΅ Π΄Π° сС сдобиСм с ΠΌΠΈΠΊΡ€ΠΎΡ„ΠΎΠ½. ΠŸΠΎΠ΄Ρ…ΠΎΠ΄ΡΡ‰ Π΅ ΠΈ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ USB-ΠΌΠΈΠΊΡ€ΠΎΡ„ΠΎΠ½, Π²ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‡Π΅ няма Π΄Π° ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° Π΄ΠΎΠ±Ρ€Π΅ Π² комбинация с RPI. Но ΠΈ Ρ‚ΡƒΠΊ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π±ΡƒΠΊΠ²Π°Π»Π½ΠΎ "Π»Π΅ΠΆΠΈ ΠΏΠΎΠ΄ Ρ€ΡŠΠΊΠ°". Π—Π° запис Π½Π° гласа Ρ€Π΅ΡˆΠ°Π²Π°ΠΌΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΠΏΠ»Π°Ρ‚ΠΊΠ°Ρ‚Π° Voice Bonnet ΠΎΡ‚ Π½Π°Π±ΠΎΡ€Π° Google AIY Voice Kit, Π½Π° която Π΅ ΠΌΠΎΠ½Ρ‚ΠΈΡ€Π°Π½ стСрСо ΠΌΠΈΠΊΡ€ΠΎΡ„ΠΎΠ½.

БвалямС Raspbian ΠΎΡ‚ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ AIY ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ ΠΈ Π³ΠΎ записвамС Π½Π° Ρ„Π»Π°ΡˆΠΊΠ°, тСствамС Π΄Π°Π»ΠΈ ΠΌΠΈΠΊΡ€ΠΎΡ„ΠΎΠ½ΡŠΡ‚ Ρ€Π°Π±ΠΎΡ‚ΠΈ с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° слСдната ΠΊΠΎΠΌΠ°Π½Π΄Π° (тя Ρ‰Π΅ запишС Π°ΡƒΠ΄ΠΈΠΎ с дълТина 5 сСкунди ΠΈ Ρ‰Π΅ Π³ΠΎ Π·Π°ΠΏΠ°Π·ΠΈ Π² Ρ„Π°ΠΉΠ»):

arecord -d 5 -r 16000 test.wav

Π’Π΅Π΄Π½Π°Π³Π° отбСлязвам, Ρ‡Π΅ ΠΌΠΈΠΊΡ€ΠΎΡ„ΠΎΠ½ΡŠΡ‚ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ чувствитСлСн ΠΈ Π΄ΠΎΠ±Ρ€Π΅ улавя ΡˆΡƒΠΌΠΎΠ²Π΅. Π—Π° Π΄Π° ΠΊΠΎΡ€ΠΈΠ³ΠΈΡ€Π°ΠΌΠ΅ Ρ‚ΠΎΠ²Π°, Ρ‰Π΅ Π²Π»Π΅Π·Π΅ΠΌ Π² alsamixer, Ρ‰Π΅ ΠΈΠ·Π±Π΅Ρ€Π΅ΠΌ устройства Π·Π° запис ΠΈ Ρ‰Π΅ Π½Π°ΠΌΠ°Π»ΠΈΠΌ Π½ΠΈΠ²ΠΎΡ‚ΠΎ Π½Π° входния сигнал Π΄ΠΎ 50-60%.

OpenVINO Ρ…Π°ΠΊΠ°Ρ‚ΠΎΠ½: Ρ€Π°Π·ΠΏΠΎΠ·Π½Π°Π²Π°Π½Π΅ Π½Π° глас ΠΈ Π΅ΠΌΠΎΡ†ΠΈΠΈ Π½Π° Raspberry Pi
ИздълбавамС корпуса с Π½ΠΎΠΆΡ‡Π΅ ΠΈ всичко Π²Π»ΠΈΠ·Π°, Π΄ΠΎΡ€ΠΈ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π·Π°Ρ‚Π²ΠΎΡ€ΠΈΠΌ ΠΊΠ°ΠΏΠ°ΠΊΠ°

ДобавямС Π±ΡƒΡ‚ΠΎΠ½-ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€

По Π²Ρ€Π΅ΠΌΠ΅ Π½Π° разглобяванСто Π½Π° AIY Voice Kit си спомнямС, Ρ‡Π΅ Ρ‚Π°ΠΌ ΠΈΠΌΠ° RGB-Π±ΡƒΡ‚ΠΎΠ½ΠΈ, чиято подсвСтка ΠΌΠΎΠΆΠ΅ Π΄Π° сС управлява ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ½ΠΎ. Π’ΡŠΡ€ΡΠΈΠΌ "Google AIY Led" ΠΈ Π½Π°ΠΌΠΈΡ€Π°ΠΌΠ΅ докумСнтация: https://aiyprojects.readthedocs.io/en/latest/aiy.leds.html
Π—Π°Ρ‰ΠΎ Π΄Π° Π½Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Ρ‚ΠΎΠ·ΠΈ Π±ΡƒΡ‚ΠΎΠ½, Π·Π° Π΄Π° ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌ Ρ€Π°Π·ΠΏΠΎΠ·Π½Π°Ρ‚Π°Ρ‚Π° Смоция, ΠΈΠΌΠ°ΠΌΠ΅ ΠΎΠ±Ρ‰ΠΎ 7 класа, Π° Π±ΡƒΡ‚ΠΎΠ½ΡŠΡ‚ Ρ€Π°Π·ΠΏΠΎΠ»Π°Π³Π° с 8 цвята, Ρ‚ΠΎΡ‡Π½ΠΎ Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ!

Π‘Π²ΡŠΡ€Π·Π²Π°ΠΌΠ΅ Π±ΡƒΡ‚ΠΎΠ½Π° ΠΏΠΎ GPIO към Voice Bonnet, Π·Π°Ρ€Π΅ΠΆΠ΄Π°ΠΌΠ΅ Π½ΡƒΠΆΠ½ΠΈΡ‚Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ (Ρ‚Π΅ Π²Π΅Ρ‡Π΅ са инсталирани Π² дистрибуцията ΠΎΡ‚ AIY projects)

from aiy.leds import Leds, Color
from aiy.leds import RgbLeds

Π©Π΅ създадСм dict, Π² ΠΊΠΎΠΉΡ‚ΠΎ Π½Π° всяка Смоция Ρ‰Π΅ отговаря цвят ΠΏΠΎΠ΄ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π½Π° RGB Tuple ΠΈ ΠΎΠ±Π΅ΠΊΡ‚ Π½Π° класа aiy.leds.Leds, Ρ‡Ρ€Π΅Π· ΠΊΠΎΠΉΡ‚ΠΎ Ρ‰Π΅ обновявамС Ρ†Π²Π΅Ρ‚Π°:

led_dict = {'neutral': (255, 255, 255), 'happy': (0, 255, 0), 'sad': (0, 255, 255), 'angry': (255, 0, 0), 'fearful': (0, 0, 0), 'disgusted':  (255, 0, 255), 'surprised':  (255, 255, 0)} 
leds = Leds()

И накрая, слСд всяко Π½ΠΎΠ²ΠΎ прСдсказаниС Π½Π° Смоция Ρ‰Π΅ обновявамС Ρ†Π²Π΅Ρ‚Π° Π½Π° Π±ΡƒΡ‚ΠΎΠ½Π° Π² ΡΡŠΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΈΠ΅ с нСя (ΠΏΠΎ ΠΊΠ»ΡŽΡ‡Π°).

leds.update(Leds.rgb_on(led_dict.get(classes[prediction])))

OpenVINO Ρ…Π°ΠΊΠ°Ρ‚ΠΎΠ½: Ρ€Π°Π·ΠΏΠΎΠ·Π½Π°Π²Π°Π½Π΅ Π½Π° глас ΠΈ Π΅ΠΌΠΎΡ†ΠΈΠΈ Π½Π° Raspberry Pi
Π‘Π²Π΅Ρ‚ΠΈ, Π±ΡƒΡ‚ΠΎΠ½ΠΎ!

Π Π°Π±ΠΎΡ‚ΠΈΠΌ с гласа

Π©Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ pyaudio Π·Π° улавянС Π½Π° ΠΏΠΎΡ‚ΠΎΠΊΠ° ΠΎΡ‚ ΠΌΠΈΠΊΡ€ΠΎΡ„ΠΎΠ½Π° ΠΈ webrtcvad Π·Π° Ρ„ΠΈΠ»Ρ‚Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° ΡˆΡƒΠΌΠ° ΠΈ Π΄Π΅Ρ‚Π΅ΠΊΡ‚ΠΈΡ€Π°Π½Π΅ Π½Π° гласа. ОсвСн Ρ‚ΠΎΠ²Π°, Ρ‰Π΅ създадСм опашка, Π² която Ρ‰Π΅ добавямС ΠΈ Π²Π·Π΅ΠΌΠ°ΠΌΠ΅ асинхронно ΠΎΡ‚ΠΊΡŠΡΠΈΡ‚Π΅ с глас.

Въй ΠΊΠ°Ρ‚ΠΎ webrtcvad ΠΈΠΌΠ° ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π½Π° Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π½Π° подавания Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ β€” Ρ‚ΠΎΠΉ трябва Π΄Π° бъдС 10/20/30 ms, Π° ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΌΠΎΠ΄Π΅Π»Π° Π·Π° Ρ€Π°Π·ΠΏΠΎΠ·Π½Π°Π²Π°Π½Π΅ Π½Π° Π΅ΠΌΠΎΡ†ΠΈΠΈ (ΠΊΠ°ΠΊΡ‚ΠΎ Ρ‰Π΅ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ ΠΏΠΎ-късно) Π΅ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΎ с датасСт 48 kHz, Ρ‰Π΅ улавямС Ρ‡Π°Π½ΠΊΠΎΠ²Π΅ с Ρ€Π°Π·ΠΌΠ΅Ρ€ 48000Γ—20 ms/1000Γ—1(ΠΌΠΎΠ½ΠΎ)=960 Π±Π°ΠΉΡ‚Π°. Webrtcvad Ρ‰Π΅ Π²Ρ€ΡŠΡ‰Π° True/False Π·Π° всСки ΠΎΡ‚ Ρ‚Π΅Π·ΠΈ Ρ‡Π°Π½ΠΊΠΎΠ²Π΅, ΠΊΠΎΠ΅Ρ‚ΠΎ отговаря Π½Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅Ρ‚ΠΎ ΠΈΠ»ΠΈ ΠΎΡ‚ΡΡŠΡΡ‚Π²ΠΈΠ΅Ρ‚ΠΎ Π½Π° глас Π² Ρ‡Π°Π½ΠΊΠ°.

Π©Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°ΠΌΠ΅ слСдната Π»ΠΎΠ³ΠΈΠΊΠ°:

  • Π©Π΅ добавямС Π² списъка Ρ‚Π΅Π·ΠΈ Ρ‡Π°Π½ΠΊΠΎΠ²Π΅, Π² ΠΊΠΎΠΈΡ‚ΠΎ ΠΈΠΌΠ° глас, Π° Π°ΠΊΠΎ глас няма, Ρ‰Π΅ ΡƒΠ²Π΅Π»ΠΈΡ‡Π°Π²Π°ΠΌΠ΅ брояча Π½Π° ΠΏΡ€Π°Π·Π½ΠΈΡ‚Π΅ Ρ‡Π°Π½ΠΊΠΎΠ²Π΅.
  • Ако Π±Ρ€ΠΎΡΡ‡ΡŠΡ‚ Π½Π° ΠΏΡ€Π°Π·Π½ΠΈΡ‚Π΅ Ρ‡Π°Π½ΠΊΠΎΠ²Π΅ >= 30 (600 ms), Ρ‚ΠΎ Π³Π»Π΅Π΄Π°ΠΌΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π½Π° списъка с Π½Π°Ρ‚Ρ€ΡƒΠΏΠ°Π½ΠΈΡ‚Π΅ Ρ‡Π°Π½ΠΊΠΎΠ²Π΅, Π°ΠΊΠΎ Π΅ > 250, добавямС Π² ΠΎΠΏΠ°ΡˆΠΊΠ°Ρ‚Π°, Π°ΠΊΠΎ Π½Π΅, смятамС, Ρ‡Π΅ Π΄ΡŠΠ»ΠΆΠΈΠ½Π°Ρ‚Π° Π½Π° записа Π½Π΅ Π΅ Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½Π°, Π·Π° Π΄Π° я ΠΏΠΎΠ΄Π°Π΄Π΅ΠΌ Π½Π° ΠΌΠΎΠ΄Π΅Π»Π° Π·Π° идСнтификация Π½Π° говоритСля.
  • Ако ΠΎΠ±Π°Ρ‡Π΅ Π±Ρ€ΠΎΡΡ‡ΡŠΡ‚ Π½Π° ΠΏΡ€Π°Π·Π½ΠΈΡ‚Π΅ Ρ‡Π°Π½ΠΊΠΎΠ²Π΅ всС ΠΎΡ‰Π΅ < 30, Π° Ρ€Π°Π·ΠΌΠ΅Ρ€ΡŠΡ‚ Π½Π° списъка с Π½Π°Ρ‚Ρ€ΡƒΠΏΠ°Π½ΠΈΡ‚Π΅ Ρ‡Π°Π½ΠΊΠΎΠ²Π΅ Π΅ Π½Π°Π΄ 300, Ρ‰Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΎΡ‚ΠΊΡŠΡΠ° Π² ΠΎΠΏΠ°ΡˆΠΊΠ°Ρ‚Π° Π·Π° ΠΏΠΎ-ΠΏΡ€Π΅Ρ†ΠΈΠ·Π½ΠΎ прСдсказаниС. (Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ с Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π΅ΠΌΠΎΡ†ΠΈΠΈΡ‚Π΅ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ сС промСнят)

 def to_queue(frames):
    d = np.frombuffer(b''.join(frames), dtype=np.int16)
    return d

framesQueue = queue.Queue()
def framesThreadBody():
    CHUNK = 960
    FORMAT = pyaudio.paInt16
    CHANNELS = 1
    RATE = 48000

    p = pyaudio.PyAudio()
    vad = webrtcvad.Vad()
    vad.set_mode(2)
    stream = p.open(format=FORMAT,
                channels=CHANNELS,
                rate=RATE,
                input=True,
                frames_per_buffer=CHUNK)
    false_counter = 0
    audio_frame = []
    while process:
        data = stream.read(CHUNK)
        if not vad.is_speech(data, RATE):
            false_counter += 1
            if false_counter >= 30:
                if len(audio_frame) > 250:
                    framesQueue.put(to_queue(audio_frame,timestamp_start))
                    audio_frame = []
                    false_counter = 0

        if vad.is_speech(data, RATE):
            false_counter = 0
            audio_frame.append(data)
            if len(audio_frame) > 300:
                    framesQueue.put(to_queue(audio_frame,timestamp_start))
                    audio_frame = []

Π’Ρ€Π΅ΠΌΠ΅ Π΅ Π΄Π° ΠΏΠΎΡ‚ΡŠΡ€ΡΠΈΠΌ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΠΎΡ‚ΠΈΠ²Π°ΠΌΠ΅ Π½Π° github, Π³ΡƒΠ³Π»ΠΈΠΌ, Π½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΠΌ, Ρ‡Π΅ ΠΈΠΌΠ°ΠΌΠ΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π°Ρ‚Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°. Π’ΠΎΠ²Π° Π΅ доста слоТна част, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ трябва Π΄Π° тСствамС ΠΌΠΎΠ΄Π΅Π»ΠΈΡ‚Π΅ Π½Π° собствСнитС си Π²Ρ…ΠΎΠ΄Π½ΠΈ Π΄Π°Π½Π½ΠΈ, Π° освСн Ρ‚ΠΎΠ²Π°, Π΄Π° Π³ΠΈ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€Π°ΠΌΠ΅ във Π²ΡŠΡ‚Ρ€Π΅ΡˆΠ½ΠΈΡ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π½Π° OpenVINO β€” IR (Intermediate Representation). ΠŸΡ€ΠΎΠ±Π²Π°Π»ΠΈ смС ΠΎΠΊΠΎΠ»ΠΎ 5-7 Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΎΡ‚ github, ΠΈ Π°ΠΊΠΎ ΠΌΠΎΠ΄Π΅Π»ΡŠΡ‚ Π·Π° Ρ€Π°Π·ΠΏΠΎΠ·Π½Π°Π²Π°Π½Π΅ Π½Π° Π΅ΠΌΠΎΡ†ΠΈΠΈ Π·Π°Ρ€Π°Π±ΠΎΡ‚ΠΈ Π²Π΅Π΄Π½Π°Π³Π°, Ρ‚ΠΎ Π·Π° Ρ€Π°Π·ΠΏΠΎΠ·Π½Π°Π²Π°Π½Π΅Ρ‚ΠΎ ΠΏΠΎ глас Π½ΠΈ ΠΎΡ‚Π½Π΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅ Π²Ρ€Π΅ΠΌΠ΅ β€” Ρ‚Π°ΠΌ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ ΠΏΠΎ-слоТни Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΈ.

Π‘ΠΏΠΈΡ€Π°ΠΌΠ΅ сС Π½Π° слСднитС:

  • Π•ΠΌΠΎΡ†ΠΈΠΈ ΠΎΡ‚ гласа β€” https://github.com/alexmuhr/Voice_Emotion
    Вя Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΏΠΎ слСдния ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ: Π°ΡƒΠ΄ΠΈΠΎΡ‚ΠΎ сС нарязва Π½Π° ΠΎΡ‚ΠΊΡŠΡΠΈ с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ Ρ€Π°Π·ΠΌΠ΅Ρ€, Π·Π° всСки ΠΎΡ‚ Ρ‚Π΅Π·ΠΈ ΠΎΡ‚ΠΊΡŠΡΠΈ ΠΈΠ·Π²Π»ΠΈΡ‡Π°ΠΌΠ΅ MFCC ΠΈ слСд Ρ‚ΠΎΠ²Π° Π³ΠΈ ΠΏΠΎΠ΄Π°Π²Π°ΠΌΠ΅ Π½Π° Π²Ρ…ΠΎΠ΄Π° Π½Π° CNN
  • Π Π°Π·ΠΏΠΎΠ·Π½Π°Π²Π°Π½Π΅ ΠΏΠΎ глас β€” https://github.com/linhdvu14/vggvox-speaker-identification
    Π’ΡƒΠΊ вмСсто MFCC Ρ€Π°Π±ΠΎΡ‚ΠΈΠΌ със спСктрограма, слСд FFT ΠΏΠΎΠ΄Π°Π²Π°ΠΌΠ΅ сигнала Π² CNN, ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ Π½Π° ΠΈΠ·Ρ…ΠΎΠ΄Π° ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°ΠΌΠ΅ Π²Π΅ΠΊΡ‚ΠΎΡ€Π½ΠΎ прСдставянС Π½Π° гласа.

ΠΠ°Ρ‚Π°Ρ‚ΡŠΠΊ Ρ‰Π΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ Π·Π° конвСртация Π½Π° ΠΌΠΎΠ΄Π΅Π»ΠΈ, Π·Π°ΠΏΠΎΡ‡Π²Π°ΠΌΠ΅ ΠΎΡ‚ тСорията. OpenVINO Π²ΠΊΠ»ΡŽΡ‡Π²Π° няколко ΠΌΠΎΠ΄ΡƒΠ»Π°:

  • Open Model Zoo, ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΎΡ‚ ΠΊΠΎΠΉΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π²Π°ΠΌΠ΅ Π² ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° си
  • Model Optimizer, Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠΉΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΏΡ€Π΅ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€Π°ΠΌΠ΅ ΠΌΠΎΠ΄Π΅Π»Π° ΠΎΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈ Π½Π° Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€Ρ†ΠΈΡ‚Π΅ (Tensorflow, ONNX ΠΈ Ρ‚.Π½.) Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Intermediate Representation, с ΠΊΠΎΠΉΡ‚ΠΎ слСд Ρ‚ΠΎΠ²Π° Ρ‰Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈΠΌ
  • Inference Engine позволява стартиранС Π½Π° ΠΌΠΎΠ΄Π΅Π»ΠΈ Π² IR Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π½Π° процСсори Intel, Ρ‡ΠΈΠΏΠΎΠ²Π΅ Myriad ΠΈ ускоритСли Neural Compute Stick
  • Най-Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½Π°Ρ‚Π° вСрсия Π½Π° OpenCV (с ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° Inference Engine)
    ВсСки ΠΌΠΎΠ΄Π΅Π» Π² IR Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ сС описва с Π΄Π²Π° Ρ„Π°ΠΉΠ»Π°: .xml ΠΈ .bin.
    ΠœΠΎΠ΄Π΅Π»ΠΈΡ‚Π΅ сС ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€Π°Ρ‚ Π² IR Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Ρ‡Ρ€Π΅Π· Model Optimizer ΠΏΠΎ слСдния Π½Π°Ρ‡ΠΈΠ½:
    python /opt/intel/openvino/deployment_tools/model_optimizer/mo_tf.py --input_model speaker.hdf5.pb --data_type=FP16 --input_shape [1,512,1000,1]

    --data_type позволява Π΄Π° сС ΠΈΠ·Π±Π΅Ρ€Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π½Π° Π΄Π°Π½Π½ΠΈ, с ΠΊΠΎΠΉΡ‚ΠΎ Ρ‰Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΌΠΎΠ΄Π΅Π»ΡŠΡ‚. ΠŸΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Ρ‚ сС FP32, FP16, INT8. Π˜Π·Π±ΠΎΡ€ΡŠΡ‚ Π½Π° ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»Π΅Π½ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ Π΄ΠΎΠ±Ρ€ΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π½Π° производитСлността.
    --input_shape посочва размСрността Π½Π° Π²Ρ…ΠΎΠ΄Π½ΠΈΡ‚Π΅ Π΄Π°Π½Π½ΠΈ. На ΠΏΡ€ΡŠΠ² ΠΏΠΎΠ³Π»Π΅Π΄, Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π½ΠΎ Π΄Π° сС промСня ΠΏΡ€ΠΈΡΡŠΡΡ‚Π²Π° Π² C++ API, Π½ΠΎ Π½ΠΈΠ΅ Π½Π΅ сС Π·Π°Π΄ΡŠΠ»Π±ΠΎΡ‡ΠΈΡ…ΠΌΠ΅ Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° ΠΈ Π·Π° Π΅Π΄ΠΈΠ½ ΠΎΡ‚ ΠΌΠΎΠ΄Π΅Π»ΠΈΡ‚Π΅ просто я фиксирахмС.
    Π‘Π»Π΅Π΄ Ρ‚ΠΎΠ²Π° Ρ‰Π΅ ΠΎΠΏΠΈΡ‚Π°ΠΌΠ΅ Π΄Π° Π·Π°Ρ€Π΅Π΄ΠΈΠΌ Π²Π΅Ρ‡Π΅ конвСртирания ΠΌΠΎΠ΄Π΅Π» Π² IR Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Ρ‡Ρ€Π΅Π· DNN ΠΌΠΎΠ΄ΡƒΠ»Π° Π² OpenCV ΠΈ Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ forward Π½Π° Π½Π΅Π³ΠΎ.

    import cv2 as cv
    emotionsNet = cv.dnn.readNet('emotions_model.bin',
                              'emotions_model.xml')
    emotionsNet.setPreferableTarget(cv.dnn.DNN_TARGET_MYRIAD)

    ΠŸΠΎΡΠ»Π΅Π΄Π½ΠΈΡΡ‚ Ρ€Π΅Π΄ Π² Ρ‚ΠΎΠ·ΠΈ случай позволява Π΄Π° насочим изчислСнията към Neural Compute Stick, Π±Π°Π·ΠΎΠ²ΠΎ изчислСнията сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Ρ‚ Π½Π° процСсора, Π½ΠΎ Π² случая с Raspberry Pi Ρ‚ΠΎΠ²Π° няма Π΄Π° сработи, Ρ‰Π΅ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ стик.

    По-Π½Π°Ρ‚Π°Ρ‚ΡŠΠΊ Π»ΠΎΠ³ΠΈΠΊΠ°Ρ‚Π° Π΅ слСдната: Ρ‰Π΅ Ρ€Π°Π·Π΄Π΅Π»ΠΈΠΌ Π½Π°ΡˆΠ΅Ρ‚ΠΎ Π°ΡƒΠ΄ΠΈΠΎ Π½Π° ΠΏΡ€ΠΎΠ·ΠΎΡ€Ρ†ΠΈ с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ Ρ€Π°Π·ΠΌΠ΅Ρ€ (Π² нашия случай 0.4с), всСки ΠΎΡ‚ Ρ‚Π΅Π·ΠΈ ΠΏΡ€ΠΎΠ·ΠΎΡ€Ρ†ΠΈ Ρ‰Π΅ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ²Π°ΠΌΠ΅ Π² MFCC, ΠΊΠΎΠΈΡ‚ΠΎ слСд Ρ‚ΠΎΠ²Π° Ρ‰Π΅ ΠΏΠΎΠ΄Π°Π΄Π΅ΠΌ Π½Π° ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π°:

    emotionsNet.setInput(MFCC_from_window)
    result = emotionsNet.forward()

    Π‘Π»Π΅Π΄ Ρ‚ΠΎΠ²Π° Ρ‰Π΅ Π²Π·Π΅ΠΌΠ΅ΠΌ Π½Π°ΠΉ-чСсто срСщания клас Π·Π° всички ΠΏΡ€ΠΎΠ·ΠΎΡ€Ρ†ΠΈ. ΠŸΡ€ΠΎΡΡ‚ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, Π½ΠΎ Π·Π° Ρ…Π°ΠΊΠ°Ρ‚ΠΎΠ½Π° Π½Π΅ Π΅ Π½ΡƒΠΆΠ½ΠΎ Π΄Π° измислямС Π½Π΅Ρ‰ΠΎ Ρ‚Π²ΡŠΡ€Π΄Π΅ слоТно, освСн Π°ΠΊΠΎ ΠΈΠΌΠ°ΠΌΠ΅ Π²Ρ€Π΅ΠΌΠ΅. ИмамС ΠΎΡ‰Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠ°Π²Π°ΠΌΠ΅ β€” Ρ€Π°Π·Π±ΠΈΡ€Π°ΠΌΠ΅ сС с Ρ€Π°Π·ΠΏΠΎΠ·Π½Π°Π²Π°Π½Π΅Ρ‚ΠΎ ΠΏΠΎ глас. Врябва Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ някаква Π±Π°Π·Π°, Π² която Π΄Π° сС ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Ρ‚ спСктрограми Π½Π° ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π½ΠΎ записани гласовС. Въй ΠΊΠ°Ρ‚ΠΎ остава ΠΌΠ°Π»ΠΊΠΎ Π²Ρ€Π΅ΠΌΠ΅, Ρ€Π΅ΡˆΠ°Π²Π°ΠΌΠ΅ Ρ‚ΠΎΠ·ΠΈ Π²ΡŠΠΏΡ€ΠΎΡ ΠΊΠ°ΠΊΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ΠΌ.

    По-Ρ‚ΠΎΡ‡Π½ΠΎ, създавамС скрипт Π·Π° запис Π½Π° ΠΎΡ‚ΠΊΡŠΡ ΠΎΡ‚ глас (Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΏΠΎ ΡΡŠΡ‰ΠΈΡ Π½Π°Ρ‡ΠΈΠ½, ΠΊΠ°ΠΊΡ‚ΠΎ Π΅ описано ΠΏΠΎ-Π³ΠΎΡ€Π΅, само ΠΏΡ€ΠΈ прСкратяванС с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π°Ρ‚Π° Ρ‰Π΅ Π·Π°ΠΏΠ°Π·Π²Π° гласа Π² Ρ„Π°ΠΉΠ»).

    ΠžΠΏΠΈΡ‚Π²Π°ΠΌΠ΅:

    python3 voice_db/record_voice.py test.wav

    ЗаписвамС гласовСтС Π½Π° няколко Π΄ΡƒΡˆΠΈ (Π² нашия случай Ρ‚Ρ€ΠΈΠΌΠ° Ρ‡Π»Π΅Π½ΠΎΠ²Π΅ Π½Π° Π΅ΠΊΠΈΠΏΠ°)
    Π‘Π»Π΅Π΄ Ρ‚ΠΎΠ²Π° Π·Π° всСки записан глас изпълнявамС Π±ΡŠΡ€Π·ΠΎ Ρ„ΡƒΡ€ΠΈΠ΅ трансформиранС, ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°ΠΌΠ΅ спСктрограма ΠΈ я Π·Π°ΠΏΠ°Π·Π²Π°ΠΌΠ΅ ΠΊΠ°Ρ‚ΠΎ numpy масив (.npy):

    for file in glob.glob("voice_db/*.wav"):
            spec = get_fft_spectrum(file)
            np.save(file[:-4] + '.npy', spec)

    ΠŸΠΎΠ²Π΅Ρ‡Π΅ информация Π² Ρ„Π°ΠΉΠ»Π° create_base.py
    Π’ ΠΊΡ€Π°ΠΉΠ½Π° смСтка, ΠΏΡ€ΠΈ стартиранС Π½Π° основния скрипт, Π² самото Π½Π°Ρ‡Π°Π»ΠΎ Ρ‰Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ Π΅ΠΌΠ±Π΅Π΄Π΄ΠΈΠ½Π³ΠΈ ΠΎΡ‚ Ρ‚Π΅Π·ΠΈ спСктрограми:

    for file in glob.glob("voice_db/*.npy"):
        spec = np.load(file)
        spec = spec.astype('float32')
        spec_reshaped = spec.reshape(1, 1, spec.shape[0], spec.shape[1])
        srNet.setInput(spec_reshaped)
        pred = srNet.forward()
        emb = np.squeeze(pred)

    Π‘Π»Π΅Π΄ ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°Π½Π΅ Π½Π° вградСния Π΅ΠΌΠ±Π΅Π΄ΠΈΠ½Π³ ΠΎΡ‚ ΠΏΡ€ΠΎΡΠ»ΡƒΡˆΠ°Π½ΠΈΡ ΠΎΡ‚ΠΊΡŠΡ, ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ Π½Π° ΠΊΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈ, ΠΊΠ°Ρ‚ΠΎ изчислим косинусната дистанция ΠΎΡ‚ ΠΎΡ‚ΠΊΡŠΡΠ° Π΄ΠΎ всички гласовС Π² Π±Π°Π·Π°Ρ‚Π° (ΠΊΠΎΠ»ΠΊΠΎΡ‚ΠΎ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠ° Π΅, Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° ΠΏΠΎ-вСроятно) β€” Π·Π° Π΄Π΅ΠΌΠΎ поставихмС ΠΏΡ€Π°Π³ ΠΎΡ‚ 0.3:

            dist_list = cdist(emb, enroll_embs, metric="cosine")
            distances = pd.DataFrame(dist_list, columns = df.speaker)

    Π’ края искам Π΄Π° ΠΎΡ‚Π±Π΅Π»Π΅ΠΆΠ°, Ρ‡Π΅ скоростта Π½Π° инфСрСнс бСшС Π±ΡŠΡ€Π·Π° ΠΈ Π½ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈ Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΎΡ‰Π΅ 1-2 ΠΌΠΎΠ΄Π΅Π»Π° (Π·Π° сСмпъл с дълТина 7 сСкунди, Π½Π° инфСрСнс ΠΎΡ‚ΠΈΠ²Π°Ρ…Π° 2.5). Π’Π΅Ρ‡Π΅ Π½Π΅ успяхмС Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π½ΠΎΠ²ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΈ сС фокусирахмС Π²ΡŠΡ€Ρ…Ρƒ написванСто Π½Π° ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠ° Π½Π° ΡƒΠ΅Π± ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ.

    Π£Π΅Π± ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅

    Π’Π°ΠΆΠ½ΠΎ: Π²Π·Π΅ΠΌΠ°ΠΌΠ΅ с нас Ρ€ΡƒΡ‚Π΅Ρ€ ΠΎΡ‚ Π΄ΠΎΠΌΠ° ΠΈ настройвамС своята Π»ΠΎΠΊΠ°Π»Π½Π° ΠΌΡ€Π΅ΠΆΠ°, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΏΠΎΠΌΠ°Π³Π° Π΄Π° ΡΠ²ΡŠΡ€ΠΆΠ΅ΠΌ устройството ΠΈ Π»Π°ΠΏΡ‚ΠΎΠΏΠΈΡ‚Π΅ Π² ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π°.

    Π‘Π΅ΠΊΠ΅Π½Π΄ΡŠΡ‚ прСдставлява Π½Π΅ΠΏΡ€Π΅ΠΊΡŠΡΠ½Π°Ρ‚ ΠΊΠ°Π½Π°Π» Π·Π° ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ„Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄Π° ΠΈ Raspberry Pi, Π±Π°Π·ΠΈΡ€Π°Π½ Π½Π° тСхнологията websocket (http Π²ΡŠΡ€Ρ…Ρƒ tcp ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»).

    ΠŸΡŠΡ€Π²Π°Ρ‚Π° ΡΡ‚ΡŠΠΏΠΊΠ° Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π΅Π½Π° информация ΠΎΡ‚ Raspberry, Ρ‚.Π΅. прСдсказанията, ΠΎΠΏΠ°ΠΊΠΎΠ²Π°Π½ΠΈ Π² json, ΠΊΠΎΠΈΡ‚ΠΎ ΠΏΠΎ срСдата Π½Π° ΠΏΡŠΡ‚Ρ си сС Π·Π°ΠΏΠ°Π·Π²Π°Ρ‚ Π² Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ, Π·Π° Π΄Π° ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Ρ„ΠΎΡ€ΠΌΠΈΡ€Π°ΠΌΠ΅ статистика Π·Π° Смоционалния Ρ„ΠΎΠ½ Π½Π° потрСбитСля Π·Π° ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π°. Π‘Π»Π΅Π΄ Ρ‚ΠΎΠ²Π° Ρ‚ΠΎΠ·ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ сС ΠΈΠ·ΠΏΡ€Π°Ρ‰Π° Π½Π° Ρ„Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄Π°, ΠΊΠΎΠΉΡ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π°Π±ΠΎΠ½Π°ΠΌΠ΅Π½Ρ‚ΠΈ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°Π½Π΅ Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ ΠΎΡ‚ Π΅Π½Π΄ΠΏΠΎΠΈΠ½Ρ‚Π° Π½Π° вСбсокСта. ЦСлият ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΡŠΠΌ Π½Π° Π±Π΅ΠΊΠ΅Π½Π΄Π° Π΅ ΠΈΠ·Π³Ρ€Π°Π΄Π΅Π½ Π½Π° Π΅Π·ΠΈΠΊΠ° golang, ΠΊΠ°Ρ‚ΠΎ ΠΈΠ·Π±ΠΎΡ€ΡŠΡ‚ ΠΏΠ°Π΄Π½Π° Π²ΡŠΡ€Ρ…Ρƒ Π½Π΅Π³ΠΎ, Π·Π°Ρ‰ΠΎΡ‚ΠΎ Π΄ΠΎΠ±Ρ€Π΅ сС справя с асинхронни Π·Π°Π΄Π°Ρ‡ΠΈ, с ΠΊΠΎΠΈΡ‚ΠΎ Π³ΠΎΡ€ΡƒΡ‚ΠΈΠ½ΠΈΡ‚Π΅ ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ сС справят.
    ΠŸΡ€ΠΈ Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ Π΅Π½Π΄ΠΏΠΎΠΈΠ½Ρ‚Π° потрСбитСлят сС рСгистрира ΠΈ сС записва Π² структурата, слСд ΠΊΠΎΠ΅Ρ‚ΠΎ сС ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π° ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅Ρ‚ΠΎ ΠΌΡƒ. И потрСбитСлят, ΠΈ ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅Ρ‚ΠΎ сС записват Π² общия Ρ…ΡŠΠ±, ΠΎΡ‚ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΡΡ‚Π° Π²Π΅Ρ‡Π΅ сС ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Ρ‚ Π½Π°ΠΏΡ€Π΅Π΄ (Π½Π° подписания Ρ„Ρ€ΠΎΠ½Ρ‚), Π° Π°ΠΊΠΎ потрСбитСлят Π·Π°Ρ‚Π²ΠΎΡ€ΠΈ Π²Ρ€ΡŠΠ·ΠΊΠ°Ρ‚Π° (Raspberry ΠΈΠ»ΠΈ Ρ„Ρ€ΠΎΠ½Ρ‚Π°), Π°Π±ΠΎΠ½Π°ΠΌΠ΅Π½Ρ‚ΡŠΡ‚ ΠΌΡƒ сС Π°Π½ΡƒΠ»ΠΈΡ€Π° ΠΈ Ρ‚ΠΎΠΉ сС ΠΏΡ€Π΅ΠΌΠ°Ρ…Π²Π° ΠΎΡ‚ Ρ…ΡŠΠ±Π°.

    OpenVINO Ρ…Π°ΠΊΠ°Ρ‚ΠΎΠ½: Ρ€Π°Π·ΠΏΠΎΠ·Π½Π°Π²Π°Π½Π΅ Π½Π° глас ΠΈ Π΅ΠΌΠΎΡ†ΠΈΠΈ Π½Π° Raspberry Pi
    ΠžΡ‡Π°ΠΊΠ²Π°ΠΌΠ΅ ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅ с Π±Π΅ΠΊΠ΅Π½Π΄Π°

    Front-end прСдставлява ΡƒΠ΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, написано Π½Π° JavaScript, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° React Π·Π° ускоряванС ΠΈ опростяванС Π½Π° процСса Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°. Π¦Π΅Π»Ρ‚Π° Π½Π° Ρ‚ΠΎΠ²Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΅ визуализация Π½Π° Π΄Π°Π½Π½ΠΈ, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈ Ρ‡Ρ€Π΅Π· Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΈ, изпълнявани Π½Π° back-end страната ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ Π½Π° Raspberry Pi. На страницата ΠΈΠΌΠ° ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·ΠΈΡ€Π°Π½Π΅ ΠΏΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΈ, Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ΠΎ Ρ‡Ρ€Π΅Π· react-router, Π½ΠΎ основният интСрСс прСдставлява Π³Π»Π°Π²Π½Π°Ρ‚Π° страница, ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ Π² Ρ€Π΅Π°Π»Π½ΠΎ Π²Ρ€Π΅ΠΌΠ΅ ΠΏΠΎΡΡ‚ΡŠΠΏΠ²Π° Π½Π΅ΠΏΡ€Π΅ΠΊΡŠΡΠ½Π°Ρ‚ ΠΏΠΎΡ‚ΠΎΠΊ ΠΎΡ‚ Π΄Π°Π½Π½ΠΈ ΠΎΡ‚ ΡΡŠΡ€Π²ΡŠΡ€Π° Ρ‡Ρ€Π΅Π· тСхнологията WebSocket. Raspberry Pi Π΄Π΅Ρ‚Π΅ΠΊΡ‚ΠΈΡ€Π° глас, опрСдСля принадлСТността към ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ Ρ‡ΠΎΠ²Π΅ΠΊ ΠΎΡ‚ рСгистрираната Π±Π°Π·Π° ΠΈ ΠΈΠ·ΠΏΡ€Π°Ρ‰Π° списък с вСроятности Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°. ΠšΠ»ΠΈΠ΅Π½Ρ‚ΡŠΡ‚ ΠΏΠΎΠΊΠ°Π·Π²Π° послСднитС Π°ΠΊΡ‚ΡƒΠ°Π»Π½ΠΈ Π΄Π°Π½Π½ΠΈ, изобразява Π°Π²Π°Ρ‚Π°Ρ€ Π½Π° Ρ‡ΠΎΠ²Π΅ΠΊΠ°, ΠΊΠΎΠΉΡ‚ΠΎ с Π½Π°ΠΉ-голяма вСроятност Π΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ» Π² ΠΌΠΈΠΊΡ€ΠΎΡ„ΠΎΠ½Π°, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ Смоцията, с която изразява Π΄ΡƒΠΌΠΈΡ‚Π΅.

    OpenVINO Ρ…Π°ΠΊΠ°Ρ‚ΠΎΠ½: Ρ€Π°Π·ΠΏΠΎΠ·Π½Π°Π²Π°Π½Π΅ Π½Π° глас ΠΈ Π΅ΠΌΠΎΡ†ΠΈΠΈ Π½Π° Raspberry Pi
    Π“Π»Π°Π²Π½Π° страница с обновяСми прСдсказания

    Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

    НС успяхмС Π΄Π° Π·Π°Π²ΡŠΡ€ΡˆΠΈΠΌ всичко, ΠΊΠ°ΠΊΡ‚ΠΎ Π³ΠΎ бяхмС замислили, просто нямашС Π²Ρ€Π΅ΠΌΠ΅, Π·Π°Ρ‚ΠΎΠ²Π° основната Π½Π°Π΄Π΅ΠΆΠ΄Π° бСшС Π½Π° Π΄Π΅ΠΌΠΎ, Ρ‡Π΅ всичко Ρ‰Π΅ сработи. Π’ прСзСнтацията Ρ€Π°Π·ΠΊΠ°Π·Π°Ρ…ΠΌΠ΅ ΠΊΠ°ΠΊ всичко Π΅ устроСно, ΠΊΠΎΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ смС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π»ΠΈ ΠΈ с ΠΊΠ°ΠΊΠ²ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ смС сС сблъскали. Π‘Π»Π΅Π΄Π²Π°Ρ‰Π°Ρ‚Π° част бСшС Π΄Π΅ΠΌΠΎ β€” СкспСртитС сС Ρ€Π°Π·Ρ…ΠΎΠΆΠ΄Π°Ρ…Π° ΠΈΠ· Π·Π°Π»Π°Ρ‚Π° Π² ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»Π΅Π½ Ρ€Π΅Π΄ ΠΈ сС ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΠ°Π²Π°Ρ…Π° Π΄ΠΎ всяка ΠΊΠΎΠΌΠ°Π½Π΄Π°, Π·Π° Π΄Π° видят работСщия ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏ. Π—Π°Π΄Π°Π²Π°Ρ…Π° Π²ΡŠΠΏΡ€ΠΎΡΠΈ ΠΈ Π½Π° нас, всСки ΠΎΡ‚Π³ΠΎΠ²Π°Ρ€ΡΡˆΠ΅ Π·Π° своята част, Π½Π° Π»Π°ΠΏΡ‚ΠΎΠΏΠ° оставихмС ΡƒΠ΅Π±Π°, ΠΈ всичко наистина Ρ€Π°Π±ΠΎΡ‚Π΅ΡˆΠ΅, ΠΊΠ°ΠΊΡ‚ΠΎ сС ΠΎΡ‡Π°ΠΊΠ²Π°ΡˆΠ΅.

    Π©Π΅ ΠΎΡ‚Π±Π΅Π»Π΅ΠΆΠ°, Ρ‡Π΅ ΠΎΠ±Ρ‰Π°Ρ‚Π° стойност Π½Π° Π½Π°ΡˆΠ΅Ρ‚ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ бСшС 150$:

    • Raspberry Pi 3 ~ 35$
    • Google AIY Voice Bonnet (ΠΌΠΎΠΆΠ΅ Π΄Π° сС Π²Π·Π΅ΠΌΠ΅ ΠΏΠ»Π°Ρ‚ΠΊΠ°Ρ‚Π° respeaker) ~ 15$
    • Intel NCS 2 ~ 100$

    Как Π΄Π° ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΠΈΠΌ:

    • Π”Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ рСгистрация ΠΎΡ‚ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° β€” Π΄Π° поискатС Π΄Π° ΠΏΡ€ΠΎΡ‡Π΅Ρ‚Π΅ тСкст, ΠΊΠΎΠΉΡ‚ΠΎ Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°ΠΌΠ΅ случайно
    • Π”Π° Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΎΡ‰Π΅ няколко ΠΌΠΎΠ΄Π΅Π»Π°: ΠΏΠΎ глас ΠΌΠΎΠΆΠ΅ Π΄Π° сС опрСдСля ΠΏΠΎΠ» ΠΈ Π²ΡŠΠ·Ρ€Π°ΡΡ‚
    • Π”Π° раздСлямС Π΅Π΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Π·Π²ΡƒΡ‡Π°Ρ‰ΠΈ гласовС (диаризация)

    Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΡƒΠΌ: https://github.com/vladimirwest/OpenEMO

    OpenVINO Ρ…Π°ΠΊΠ°Ρ‚ΠΎΠ½: Ρ€Π°Π·ΠΏΠΎΠ·Π½Π°Π²Π°Π½Π΅ Π½Π° глас ΠΈ Π΅ΠΌΠΎΡ†ΠΈΠΈ Π½Π° Raspberry Pi
    Π£ΠΌΠΎΡ€Π΅Π½ΠΈ, Π½ΠΎ щастливи смС

    Π’ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ искам Π΄Π° благодаря Π½Π° ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ‚ΠΎΡ€ΠΈΡ‚Π΅ ΠΈ участницитС. ΠžΡ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ‚Π΅ Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΡ‚Π΅ Π΅ΠΊΠΈΠΏΠΈ Π»ΠΈΡ‡Π½ΠΎ Π½ΠΈ харСса Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π·Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ Π½Π° свободни ΠΏΠ°Ρ€ΠΊΠΈΠ½Π³ мСста. Π—Π° нас бСшС ΠΈΠ·ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ приятно прСТивяванС, потапяйки сС Π² ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°. Надявам сС Π² Ρ€Π΅Π³ΠΈΠΎΠ½ΠΈΡ‚Π΅ Π΄Π° сС ΠΏΡ€ΠΎΠ²Π΅ΠΆΠ΄Π°Ρ‚ всС ΠΏΠΎΠ²Π΅Ρ‡Π΅ интСрСсни ΡΡŠΠ±ΠΈΡ‚ΠΈΡ, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΈ Π½Π° Ρ‚Π΅ΠΌΠΈ, ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ с AI.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster