Multimodal fusion to obtain scores by audio and video FI V2
Import required packages
[2]:
from oceanai.modules.lab.build import Run
Build
[3]:
_b5 = Run(
lang = 'en', # Inference language
color_simple = '#333', # Plain text color (hexadecimal code)
color_info = '#1776D2', # The color of the text containing the information (hexadecimal code)
color_err = '#FF0000', # Error text color (hexadecimal code)
color_true = '#008001', # Text color containing positive information (hexadecimal code)
bold_text = True, # Bold text
num_to_df_display = 30, # Number of rows to display in tables
text_runtime = 'Runtime', # Runtime text
metadata = True # Displaying information about library
)
[2024-10-09 14:52:17] OCEANAI - персональные качества личности человека: Авторы: Рюмина Елена [ryumina_ev@mail.ru] Рюмин Дмитрий [dl_03.03.1991@mail.ru] Карпов Алексей [karpov@iias.spb.su] Сопровождающие: Рюмина Елена [ryumina_ev@mail.ru] Рюмин Дмитрий [dl_03.03.1991@mail.ru] Версия: 1.0.0a40 Лицензия: BSD License
Getting and displaying versions of installed libraries
_b5.df_pkgs_- DataFrame with versions of installed libraries
[4]:
_b5.libs_vers(runtime = True, run = True)
| Package | Version | |
|---|---|---|
| 1 | OpenCV | 4.10.0 |
| 2 | MediaPipe | 0.10.14 |
| 3 | NumPy | 1.26.4 |
| 4 | SciPy | 1.14.1 |
| 5 | Pandas | 2.2.3 |
| 6 | Scikit-learn | 1.5.2 |
| 7 | OpenSmile | 2.5.0 |
| 8 | Librosa | 0.10.2.post1 |
| 9 | AudioRead | 3.0.1 |
| 10 | IPython | 8.28.0 |
| 11 | Requests | 2.32.3 |
| 12 | JupyterLab | 4.2.5 |
| 13 | LIWC | 0.5.0 |
| 14 | Transformers | 4.45.1 |
| 15 | Sentencepiece | 0.2.0 |
| 16 | Torch | 2.4.1+cu118 |
| 17 | Torchaudio | 2.4.1+cu118 |
| 18 | Torchvision | 0.19.1+cu118 |
— Время выполнения: 0.013 сек. —
Analysing audio information (forming model and loading model weights)
Formation of the neural network architecture of the model for obtaining scores by hand-crafted features (audio modality)
_b5.audio_model_hc_- Нейросетевая модель nn.Module для получения оценок по экспертным признакам
[5]:
res_load_audio_model_hc = _b5.load_audio_model_hc(
show_summary = False, # Displaying the formed neural network architecture of the model
out = True, # Display
runtime = True, # Runtime count
run = True # Run blocking
)
[2024-10-09 14:52:17] Формирование нейросетевой архитектуры модели для получения оценок по экспертным признакам (аудио модальность) …
— Время выполнения: 0.013 сек. —
Downloading the weights of the neural network model to obtain scores by hand-crafted features (audio modality)
_b5.audio_model_hc_- Нейросетевая модель nn.Module для получения оценок по экспертным признакам
[6]:
# Настройки ядра
_b5.path_to_save_ = './models' # Директория для сохранения файла
_b5.chunk_size_ = 2000000 # Размер загрузки файла из сети за 1 шаг
url = _b5.weights_for_big5_['audio']['fi']['hc']['googledisk']
res_load_audio_model_weights_hc = _b5.load_audio_model_weights_hc(
url = url, # Полный путь к файлу с весами нейросетевой модели
force_reload = True, # Принудительная загрузка файла с весами нейросетевой модели из сети
out = True, # Отображение
runtime = True, # Подсчет времени выполнения
run = True # Блокировка выполнения
)
[2024-10-09 14:52:17] Загрузка весов нейросетевой модели для получения оценок по экспертным признакам (аудио модальность) …
[2024-10-09 14:52:21] Загрузка файла “weights_2022-05-05_11-27-55.pth” 100.0% …
— Время выполнения: 3.485 сек. —
Formation of the neural network architecture of the model for obtaining scores by deep features (audio modality)
_b5.audio_model_nn_- Нейросетевая модель nn.Module для получения оценок по нейросетевым признакам
[7]:
res_load_audio_model_nn = _b5.load_audio_model_nn(
show_summary = False, # Displaying the formed neural network architecture of the model
out = True, # Display
runtime = True, # Runtime count
run = True # Run blocking
)
[2024-10-09 14:52:21] Формирование нейросетевой архитектуры для получения оценок по нейросетевым признакам (аудио модальность) …
— Время выполнения: 1.067 сек. —
Downloading the weights of the neural network model to obtain scores for deep features (audio modality)
_b5.audio_model_nn_- Нейросетевая модель nn.Module для получения оценок по нейросетевым признакам
[8]:
# Настройки ядра
_b5.path_to_save_ = './models' # Директория для сохранения файла
_b5.chunk_size_ = 2000000 # Размер загрузки файла из сети за 1 шаг
url = _b5.weights_for_big5_['audio']['fi']['nn']['googledisk']
res_load_audio_model_weights_nn = _b5.load_audio_model_weights_nn(
url = url, # Полный путь к файлу с весами нейросетевой модели
force_reload = False, # Принудительная загрузка файла с весами нейросетевой модели из сети
out = True, # Отображение
runtime = True, # Подсчет времени выполнения
run = True # Блокировка выполнения
)
[2024-10-09 14:52:22] Загрузка весов нейросетевой модели для получения оценок по нейросетевым признакам (аудио модальность) …
[2024-10-09 14:52:25] Загрузка файла “weights_2022-05-03_07-46-14.pth”
— Время выполнения: 2.936 сек. —
Analysing video information (forming model and loading model weights)
Formation of the neural network architecture of the model for obtaining scores by hand-crafted features (video modality)
_b5.video_model_hc_- Нейросетевая модель nn.Module для получения оценок по экспертным признакам
[9]:
res_load_video_model_hc = _b5.load_video_model_hc(
lang = 'en', # Language selection for models trained on First Impressions V2'en' and models trained on for MuPTA 'ru'
show_summary = False, # Displaying the formed neural network architecture of the model
out = True, # Display
runtime = True, # Runtime count
run = True # Run blocking
)
[2024-10-09 14:52:25] Формирование нейросетевой архитектуры модели для получения оценок по экспертным признакам (видео модальность) …
— Время выполнения: 0.002 сек. —
Downloading the weights of the neural network model to obtain scores by hand-crafted features (video modality)
_b5.video_model_hc_- Нейросетевая модель nn.Module для получения оценок по экспертным признакам
[10]:
# Настройки ядра
_b5.path_to_save_ = './models' # Директория для сохранения файла
_b5.chunk_size_ = 2000000 # Размер загрузки файла из сети за 1 шаг
url = _b5.weights_for_big5_['video']['fi']['hc']['googledisk']
res_load_video_model_weights_hc = _b5.load_video_model_weights_hc(
url = url, # Полный путь к файлу с весами нейросетевой модели
force_reload = True, # Принудительная загрузка файла с весами нейросетевой модели из сети
out = True, # Отображение
runtime = True, # Подсчет времени выполнения
run = True # Блокировка выполнения
)
[2024-10-09 14:52:25] Загрузка весов нейросетевой модели для получения оценок по экспертным признакам (видео модальность) …
[2024-10-09 14:52:28] Загрузка файла “weights_2022-08-27_18-53-35.pth” 100.0% …
— Время выполнения: 3.298 сек. —
Formation of neural network architecture for obtaining deep features
_b5.video_model_deep_fe_- Нейросетевая модель nn.Module для получения нейросетевых признаков
[11]:
res_load_video_model_deep_fe = _b5.load_video_model_deep_fe(
show_summary = False, # Displaying the formed neural network architecture of the model
out = True, # Display
runtime = True, # Runtime count
run = True # Run blocking
)
[2024-10-09 14:52:28] Формирование нейросетевой архитектуры для получения нейросетевых признаков (видео модальность) …
— Время выполнения: 0.114 сек. —
Downloading weights of a neural network model to obtain deep features
_b5.video_model_deep_fe_- Нейросетевая модель nn.Module для получения нейросетевых признаков
[12]:
# Настройки ядра
_b5.path_to_save_ = './models' # Директория для сохранения файла
_b5.chunk_size_ = 2000000 # Размер загрузки файла из сети за 1 шаг
url = _b5.weights_for_big5_['video']['fi']['fe']['googledisk']
res_load_video_model_weights_deep_fe = _b5.load_video_model_weights_deep_fe(
url = url, # Полный путь к файлу с весами нейросетевой модели
force_reload = True, # Принудительная загрузка файла с весами нейросетевой модели из сети
out = True, # Отображение
runtime = True, # Подсчет времени выполнения
run = True # Блокировка выполнения
)
[2024-10-09 14:52:28] Загрузка весов нейросетевой модели для получения нейросетевых признаков (видео модальность) …
[2024-10-09 14:52:47] Загрузка файла “weights_2022-11-01_12-27-07.pth” 100.0% …
— Время выполнения: 19.075 сек. —
Formation of the neural network architecture of the model for obtaining scores by deep features (video modality)
_b5.video_model_nn_- Нейросетевая модель nn.Module для получения оценок по нейросетевым признакам
[13]:
res_load_video_model_nn = _b5.load_video_model_nn(
show_summary = False, # Displaying the formed neural network architecture of the model
out = True, # Display
runtime = True, # Runtime count
run = True # Run blocking
)
[2024-10-09 14:52:48] Формирование нейросетевой архитектуры для получения оценок по нейросетевым признакам (видео модальность) …
— Время выполнения: 0.023 сек. —
Downloading the weights of the neural network model to obtain scores for deep features (video modality)
_b5.video_model_nn_- Нейросетевая модель nn.Module для получения оценок по нейросетевым признакам
[14]:
# Настройки ядра
_b5.path_to_save_ = './models' # Директория для сохранения файла
_b5.chunk_size_ = 2000000 # Размер загрузки файла из сети за 1 шаг
url = _b5.weights_for_big5_['video']['fi']['nn']['googledisk']
res_load_video_model_weights_nn = _b5.load_video_model_weights_nn(
url = url, # Полный путь к файлу с весами нейросетевой модели
force_reload = False, # Принудительная загрузка файла с весами нейросетевой модели из сети
out = True, # Отображение
runtime = True, # Подсчет времени выполнения
run = True # Блокировка выполнения
)
[2024-10-09 14:52:48] Загрузка весов нейросетевой модели для получения оценок по нейросетевым признакам (видео модальность) …
[2024-10-09 14:52:52] Загрузка файла “weights_2022-03-22_16-31-48.pth”
— Время выполнения: 4.148 сек. —
Analysing multimodal information (forming model, loading model weights, obtaining personality traits scores)
Formation of neural network architectures of models for obtaining the personality traits scores (multimodal fusion)
_b5.av_models_b5_- Нейросетевые модели nn.Module для получения результатов оценки персональных качеств
[15]:
res_load_av_models_b5 = _b5.load_av_models_b5(
show_summary = False, # Displaying the formed neural network architecture of the model
out = True, # Display
runtime = True, # Runtime count
run = True # Run blocking
)
[2024-10-09 14:52:52] Формирование нейросетевых архитектур моделей для получения результатов оценки персональных качеств (мультимодальное объединение) …
— Время выполнения: 0.002 сек. —
ЗDownloading the weights of neural network models to obtain the personality traits scores (multimodal fusion)
_b5.av_models_b5_- Нейросетевые модели nn.Module для получения результатов оценки персональных качеств
[16]:
# Настройки ядра
_b5.path_to_save_ = './models' # Директория для сохранения файла
_b5.chunk_size_ = 2000000 # Размер загрузки файла из сети за 1 шаг
url_openness = _b5.weights_for_big5_['av']['fi']['b5']['openness']['googledisk']
url_conscientiousness = _b5.weights_for_big5_['av']['fi']['b5']['conscientiousness']['googledisk']
url_extraversion = _b5.weights_for_big5_['av']['fi']['b5']['extraversion']['googledisk']
url_agreeableness = _b5.weights_for_big5_['av']['fi']['b5']['agreeableness']['googledisk']
url_non_neuroticism = _b5.weights_for_big5_['av']['fi']['b5']['non_neuroticism']['googledisk']
res_load_av_models_weights_b5 = _b5.load_av_models_weights_b5(
url_openness = url_openness, # Открытость опыту
url_conscientiousness = url_conscientiousness, # Добросовестность
url_extraversion = url_extraversion, # Экстраверсия
url_agreeableness = url_agreeableness, # Доброжелательность
url_non_neuroticism = url_non_neuroticism, # "Эмоциональная стабильность
force_reload = True, # Принудительная загрузка файла с весами нейросетевой модели из сети
out = True, # Отображение
runtime = True, # Подсчет времени выполнения
run = True # Блокировка выполнения
)
[2024-10-09 14:52:52] Загрузка весов нейросетевых моделей для получения результатов оценки персональных качеств (мультимодальное объединение) …
[2024-10-09 14:52:54] Загрузка файла “weights_2022-08-28_11-14-35.pth” 100.0% … Открытость опыту
[2024-10-09 14:52:56] Загрузка файла “weights_2022-08-28_11-08-10.pth” 100.0% … Добросовестность
[2024-10-09 14:52:59] Загрузка файла “weights_2022-08-28_11-17-57.pth” 100.0% … Экстраверсия
[2024-10-09 14:53:01] Загрузка файла “weights_2022-08-28_11-25-11.pth” 100.0% … Доброжелательность
[2024-10-09 14:53:03] Загрузка файла “weights_2022-06-14_21-44-09.pth” 100.0% … Эмоциональная стабильность
— Время выполнения: 11.693 сек. —
Getting scores (multimodal fusion)
_b5.df_files_- DataFrame with data
_b5.df_accuracy_- DataFrame with accuracy
[17]:
# Настройки ядра
_b5.path_to_dataset_ = 'E:/Databases/FirstImpressionsV2/test' # Директория набора данных
# Директории не входящие в выборку
_b5.ignore_dirs_ = []
# Названия ключей для DataFrame набора данных
_b5.keys_dataset_ = ['Path', 'Openness', 'Conscientiousness', 'Extraversion', 'Agreeableness', 'Non-Neuroticism']
_b5.ext_ = ['.mp4'] # Расширения искомых файлов
# Полный путь к файлу с верными предсказаниями для подсчета точности
url_accuracy = _b5.true_traits_['fi']['googledisk']
_b5.get_av_union_predictions(
depth = 1, # Глубина иерархии для получения аудио и видеоданных
recursive = False, # Рекурсивный поиск данных
sr = 44100, # Частота дискретизации
window_audio = 2, # Размер окна сегмента аудио сигнала (в секундах)
step_audio = 1, # Шаг сдвига окна сегмента аудио сигнала (в секундах)
reduction_fps = 5, # Понижение кадровой частоты
window_video = 10, # Размер окна сегмента видео сигнала (в секундах)
step_video = 5, # Шаг сдвига окна сегмента видео сигнала (в секундах)
lang = 'en',
accuracy = True, # Вычисление точности
url_accuracy = url_accuracy,
logs = True, # При необходимости формировать LOG файл
out = True, # Отображение
runtime = True, # Подсчет времени выполнения
run = True # Блокировка выполнения
)
[2024-10-09 16:17:33] Получение прогнозов и вычисление точности (мультимодальное объединение) …
2000 из 2000 (100.0%) … test80_25_Q4wOgixh7E.004.mp4 …
| Path | Openness | Conscientiousness | Extraversion | Agreeableness | Non-Neuroticism | |
|---|---|---|---|---|---|---|
| Person ID | ||||||
| 1 | 13kjwEtSyXc.003.mp4 | 0.555285 | 0.507643 | 0.44126 | 0.541062 | 0.486505 |
| 2 | 1Lv72Si4GnY.000.mp4 | 0.556782 | 0.442179 | 0.503365 | 0.557368 | 0.520389 |
| 3 | 1uC-2TZqplE.003.mp4 | 0.47469 | 0.568426 | 0.334602 | 0.493305 | 0.459734 |
| 4 | 2Z8Xi_DTlpI.000.mp4 | 0.664059 | 0.623677 | 0.5902 | 0.599828 | 0.637361 |
| 5 | 3df_Uk9EmwU.002.mp4 | 0.639771 | 0.531204 | 0.54498 | 0.585063 | 0.545633 |
| 6 | 3gmc2kLV4Bo.003.mp4 | 0.677814 | 0.667441 | 0.623028 | 0.614309 | 0.64445 |
| 7 | 3hKgh9AB3tk.003.mp4 | 0.403166 | 0.397586 | 0.335559 | 0.497902 | 0.398648 |
| 8 | 3S72dDIm1fM.005.mp4 | 0.577434 | 0.597293 | 0.495771 | 0.639257 | 0.59949 |
| 9 | 3tPq9fNOXZQ.000.mp4 | 0.543016 | 0.452105 | 0.446706 | 0.481398 | 0.414833 |
| 10 | 43tayteIFRk.001.mp4 | 0.547357 | 0.504516 | 0.428625 | 0.575848 | 0.526416 |
| 11 | 4RKQGZzPClk.000.mp4 | 0.549941 | 0.401322 | 0.447195 | 0.520176 | 0.496661 |
| 12 | 6zm71IHOCZA.005.mp4 | 0.458676 | 0.430076 | 0.316856 | 0.497522 | 0.459488 |
| 13 | 7qGYGbIg45c.001.mp4 | 0.311843 | 0.321219 | 0.221201 | 0.375789 | 0.243581 |
| 14 | 8YQKwMdiaAE.003.mp4 | 0.64309 | 0.512177 | 0.484826 | 0.50723 | 0.556773 |
| 15 | 9Crw2RtrBcY.005.mp4 | 0.652284 | 0.842436 | 0.536853 | 0.710465 | 0.746347 |
| 16 | 9eNHxfOV2Kg.005.mp4 | 0.597793 | 0.528687 | 0.454204 | 0.491327 | 0.560673 |
| 17 | 9J-KIPMQmqk.002.mp4 | 0.573772 | 0.675375 | 0.47772 | 0.617765 | 0.626578 |
| 18 | 9RfE2-aTvaM.002.mp4 | 0.556951 | 0.572427 | 0.461965 | 0.616268 | 0.576087 |
| 19 | 9_6auSk_wkY.002.mp4 | 0.657349 | 0.629292 | 0.633481 | 0.6122 | 0.625547 |
| 20 | aaylz9A9K80.000.mp4 | 0.660384 | 0.543107 | 0.642626 | 0.603371 | 0.628241 |
| 21 | Af_F0IzHK6o.002.mp4 | 0.544945 | 0.477108 | 0.40823 | 0.557337 | 0.500925 |
| 22 | Ah5PEPT4xbo.000.mp4 | 0.543 | 0.466857 | 0.422051 | 0.502522 | 0.461761 |
| 23 | AotbiNsU85A.003.mp4 | 0.462694 | 0.434322 | 0.346588 | 0.428535 | 0.356066 |
| 24 | BLc_GvsbI1U.001.mp4 | 0.634953 | 0.633947 | 0.585365 | 0.616067 | 0.608561 |
| 25 | bLOSPQ8MAC8.005.mp4 | 0.453969 | 0.581637 | 0.349498 | 0.528774 | 0.470935 |
| 26 | bPLhV0PGR50.001.mp4 | 0.601943 | 0.593242 | 0.493392 | 0.540426 | 0.504249 |
| 27 | bYXRyimxh7A.001.mp4 | 0.58827 | 0.525422 | 0.485068 | 0.532413 | 0.535188 |
| 28 | ch2BcBv4SdQ.003.mp4 | 0.690328 | 0.647787 | 0.699549 | 0.64751 | 0.689377 |
| 29 | cpch8WDydcM.004.mp4 | 0.585724 | 0.567717 | 0.503909 | 0.556293 | 0.542365 |
| 30 | De4i7-FX9Og.002.mp4 | 0.64488 | 0.587383 | 0.618146 | 0.614909 | 0.62523 |
[2024-10-09 16:17:33] Точность по отдельным персональным качествам личности человека …
| Openness | Conscientiousness | Extraversion | Agreeableness | Non-Neuroticism | Mean | |
|---|---|---|---|---|---|---|
| Metrics | ||||||
| MAE | 0.0844 | 0.0802 | 0.0793 | 0.0858 | 0.0848 | 0.0829 |
| Accuracy | 0.9156 | 0.9198 | 0.9207 | 0.9142 | 0.9152 | 0.9171 |
[2024-10-09 16:17:33] Средняя средних абсолютных ошибок: 0.0829, средняя точность: 0.9171 …
Лог файлы успешно сохранены …
— Время выполнения: 5069.328 сек. —
[17]:
True