{ "cells": [ { "cell_type": "markdown", "metadata": { "tags": [] }, "source": [ "## Извлечение признаков из визуального сигнала\n", "\n", "
" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "nbsphinx": "hidden", "tags": [] }, "outputs": [], "source": [ "import os # Взаимодействие с файловой системой\n", "import sys # Доступ к некоторым переменным и функциям Python\n", "\n", "PATH_TO_SOURCE = os.path.abspath(os.path.dirname(globals()['_dh'][0]))\n", "PATH_TO_ROOT = os.path.join(PATH_TO_SOURCE, '..', '..', '..')\n", "\n", "sys.path.insert(0, os.path.abspath(PATH_TO_ROOT))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Импорт необходимых инструментов" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "from oceanai.modules.lab.build import Run" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Сборка" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/markdown": [ "**[2024-10-08 16:23:19] 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

" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "_b5 = Run(\n", " lang = 'ru', # Язык\n", " color_simple = '#333', # Цвет обычного текста (шестнадцатеричный код)\n", " color_info = '#1776D2', # Цвет текста содержащего информацию (шестнадцатеричный код)\n", " color_err = '#FF0000', # Цвет текста содержащего ошибку (шестнадцатеричный код)\n", " color_true = '#008001', # Цвет текста содержащего положительную информацию (шестнадцатеричный код)\n", " bold_text = True, # Жирное начертание текста\n", " num_to_df_display = 30, # Количество строк для отображения в таблицах\n", " text_runtime = 'Время выполнения', # Текст времени выполнения\n", " metadata = True # Отображение информации о библиотеке\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Формирование нейросетевой архитектуры модели" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/markdown": [ "**[2024-10-08 16:23:19] Формирование нейросетевой архитектуры для получения нейросетевых признаков (видео модальность) ...** " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/markdown": [ "**--- Время выполнения: 0.105 сек. ---**" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "res_load_video_model_deep_fe = _b5.load_video_model_deep_fe(\n", " show_summary = False, # Отображение сформированной нейросетевой архитектуры модели\n", " out = True, # Отображение\n", " runtime = True, # Подсчет времени выполнения\n", " run = True # Блокировка выполнения\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Загрузка весов нейросетевой модели" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/markdown": [ "**[2024-10-08 16:23:19] Загрузка весов нейросетевой модели для получения нейросетевых признаков (видео модальность) ...** " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/markdown": [ "**[2024-10-08 16:23:22] Загрузка файла \"weights_2022-11-01_12-27-07.pth\" 100.0% ...** " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/markdown": [ "**--- Время выполнения: 3.994 сек. ---**" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Настройки ядра\n", "_b5.path_to_save_ = './models' # Директория для сохранения файла\n", "_b5.chunk_size_ = 2000000 # Размер загрузки файла из сети за 1 шаг\n", "\n", "url = _b5.weights_for_big5_['video']['fi']['fe']['googledisk']\n", "\n", "res_load_video_model_weights_deep_fe = _b5.load_video_model_weights_deep_fe(\n", " url = url, # Полный путь к файлу с весами нейросетевой модели\n", " force_reload = True, # Принудительная загрузка файла с весами нейросетевой модели из сети\n", " out = True, # Отображение\n", " runtime = True, # Подсчет времени выполнения\n", " run = True # Блокировка выполнения\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Процесс извлечения визуальных признаков (`FI V2`)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/markdown": [ "**[2024-10-08 16:23:23] Извлечение признаков (экспертных и нейросетевых) из визуального сигнала ...** " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/markdown": [ "**[2024-10-08 16:23:24] Статистика извлеченных признаков из визуального сигнала:**
    Общее количество сегментов с:
        1. экспертными признаками: 16
        2. нейросетевыми признаками: 16
    Размерность матрицы экспертных признаков одного сегмента: 10115
    Размерность матрицы с нейросетевыми признаками одного сегмента: 10512
    Понижение кадровой частоты: с 30 до 5 " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/markdown": [ "**--- Время выполнения: 1.331 сек. ---**" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Настройки ядра\n", "# Путь к видеофайлу\n", "path = 'video_FI/test/_plk5k7PBEg.003.mp4'\n", "\n", "hc_features, nn_features, emo_preds = _b5.get_visual_features(\n", " path = path, # Путь к видеофайлу\n", " reduction_fps = 5, # Понижение кадровой частоты\n", " window = 10, # Размер окна сегмента сигнала (в кадрах)\n", " step = 5, # Шаг сдвига окна сегмента сигнала (в кадрах)\n", " lang = 'en',\n", " out = True, # Отображение\n", " runtime = True, # Подсчет времени выполнения\n", " run = True # Блокировка выполнения\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Процесс извлечения визуальных признаков (`MuPTA`)" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/markdown": [ "**[2024-10-08 16:23:24] Извлечение признаков (экспертных и нейросетевых) из визуального сигнала ...** " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/markdown": [ "**[2024-10-08 16:23:25] Статистика извлеченных признаков из визуального сигнала:**
    Общее количество сегментов с:
        1. экспертными признаками: 16
        2. нейросетевыми признаками: 16
    Размерность матрицы экспертных признаков одного сегмента: 10109
    Размерность матрицы с нейросетевыми признаками одного сегмента: 10512
    Понижение кадровой частоты: с 30 до 5 " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/markdown": [ "**--- Время выполнения: 1.2 сек. ---**" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Настройки ядра\n", "# Путь к видеофайлу\n", "path = 'video_FI/test/_plk5k7PBEg.003.mp4'\n", "\n", "hc_features, nn_features, emo_preds = _b5.get_visual_features(\n", " path = path, # Путь к видеофайлу\n", " reduction_fps = 5, # Понижение кадровой частоты\n", " window = 10, # Размер окна сегмента сигнала (в кадрах)\n", " step = 5, # Шаг сдвига окна сегмента сигнала (в кадрах)\n", " lang = 'ru',\n", " out = True, # Отображение\n", " runtime = True, # Подсчет времени выполнения\n", " run = True # Блокировка выполнения\n", ")" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.11" } }, "nbformat": 4, "nbformat_minor": 4 }