SRS

SRS 28.04.2023

SRS

Система розпізнавання емоцій (SRS - Speech Recognition System) автоматично визначає емоційний стан людини. Робота такої системи передбачає аналіз процесу звукового мовленнєвого сигналу, відбір ознак, що можуть містити інформацію про емоційний стан голосу людини, та застосування методів розпізнавання емоцій.

Відповідно до завдання дослідження було виконано наступне:

- досліджено акустичні ознаки, за якими можна характеризувати людське мовлення;

- проаналізовано класифікатори розпізнавання емоцій за голосом;

- вивчено поняття нейронної мережі та будову згорткових нейронних мереж;

- опановано технологію розпізнавання емоцій людини на зображенні;

- розроблено мобільний застосунок розпізнавання емоцій спікера в реальному часі засобами мови Python, виконано навчання моделі на наборі даних RAVDESS.

- реалізовано у застосунку можливість розпізнавання емоцій людини на зображенні в реальному часі засобами мови Python, використано бібліотеки Keras, Numpy, Pandas, виконано навчання моделі на наборі даних Fer2013;

- для розробки мобільного додатку використано фреймворк Kivy та бібліотеку KivyMD.

Система розпізнавання емоційного стану за голосом складається з чотирьох етапів роботи:

- запис вхідного сигналу;

- відбір ознак;

- обробка класифікатором;

- видача результату.

Мовленнєвий сигнал, який поширюється в повітряному середовищі, є звуковим коливанням, що характеризується частотою (кількістю коливань в секунду), інтенсивністю (амплітудою коливань) і тривалістю.

При роботі зі звуковими сигналами, прийнято розбивати вхідні дані на невеличкі числові проміжки – фрейми, оскільки аналіз хвиль на певному проміжку є більш зручним та ефективним, аніж аналіз в конкретних моментах.

Для опрацювання та вилучення ознак з аудіофайлів використано бібліотеку Librosa в Python.

Розглянемо короткий опис використаних ознак для кожного аудіо файлу:

-      шкала Мела – призначена для сприйняття частоти людиною, це шкала тонів, які слухачі оцінюють як однакову відстань один від одного;

-      висота – наскільки високий чи низький звук; це залежить від частоти, більший тон – висока частота;

-      частота – швидкість вібрації звуку, вимірює хвильові цикли в секунду;

-      chroma – представлення аудіо, коли спектр проєктується на 12-елементний вектор ознак, що представляють 12 окремих півтонів (або кольоровості); обчислюється шляхом підсумовування спектру амплітуди логарифмічної частоти по октавах;

-      MFCC – кепстральні коефіцієнти частоти Mel – голос залежить від форми голосового тракту, включаючи язик, зуби; представлення короткочасного спектру потужності звуку, по суті, відображення голосового тракту.

Далі використовується класифікатор MLPClassifier – це багатошаровий класифікатор персептрону. Багатошаровий персептрон (MLP) має внутрішню нейронну мережу. Багатошаровий персептрон, випущений з метою класифікації. Класифікатор MLP навчається на наборі даних RAVDESS. Фаза навчання дає змогу MLP вивчити кореляцію між набором входів і виходів. Під час навчання MLP коригує такі параметри моделі, як ваги та зміщення, щоб мінімізувати помилку.

У роботі використано набір даних RAVDESS (The Ryerson Audio-Visual Database of Emotional Speech and Song). Це база голосових даних 24 акторів, які записали по декілька прикладів на кожну з восьми емоцій.

Алгоритм розпізнавання емоцій людини на зображені складається з наступних етапів:

- реєстрація зображення;

- обробка зображення;

- визначення особи на зображенні;

- визначення ключових точок на обличчі;

- класифікація емоцій.

Для розробки системи використано мову програмування Python, яка має великий набір бібліотек для штучного інтелекту і машинного навчання. У проєкті для розпізнавання емоцій на зображенні використано наступні бібліотеки:

-      відкриту нейромережеву бібліотеку Keras, яка є надбудовою над TensorFlow;

-      NumPy для наукових обчислень і аналізу даних;

-      Pandas для універсального аналізу даних.

Для навчання нейронної мережі вибрано набір даних Fer2013, який містить приблизно 30 000 зображень RGB обличчя з різними виразами. Набір даних Fer2013 складається із зображень обличь у відтінках сірого розміром 48x48 пікселів. Обличчя буде автоматично зареєстровано, коли займатиме приблизно однакову кількість місця на кожному зображенні. Файл fer2013.csv містить два стовпця: емоції та пікселі. Стовпчик емоції містить числовий код від 0 до 6 включно для емоцій, присутніх на зображенні. Стовбець пікселі містить рядок (дані для кожного зображення особи), що зберігає розділені пробілами значень пікселів.

У роботі визначаються чотири емоції: злий, радісний, здивований та нейтральний.

Для розробки мобільного додатку використано мову Python, фреймворк Kivy та біблотеку KivyMD. Дизайн сторінок додатку розроблено в онлайн-сервісі розробки інтерфейсів Figma.

Результати дослідження можуть бути використані для навчання студентів висловлювання свої емоцій в акторських гуртках, школах акторської майстерності; для аналізу зацікавленості студентів на занятті, що дозволить покращити якість подання та засвоєння матеріалу. Такий тип застосунків можна використовувати і в медицині для аналізу обличчя та визначення хворобливого стану пацієнта.


Назва конкурсу:  Конкурс «Вирішення практичних задач із застосуванням штучного інтелекту»
ПІБ Співвиконавців:  Дубецька Вікторія Володимирівна
ПІБ Керівника/Куратора:  Оляніна Надія Володимирівна
ПІБ конкурсанта:  Гуцул Руслан Андрійович
Країна:  Україна
Область:  Тернопільска область
Назва НЗ:  Відокремлений структурний підрозділ «Гусятинський фаховий коледж Тернопільського національного технічного університету імені Івана Пулюя»
Учасник фіналу:  Так
Файл статті (pdf):  Завантажити

Повернення до списку