Skip to content

Latest commit

 

History

History
68 lines (58 loc) · 7.12 KB

README.md

File metadata and controls

68 lines (58 loc) · 7.12 KB

Реализовано

Backend

Репозиторий на GitHub
subtitles_demo.py - использует SDK pvleopard для преобразования Speech to Text, он это делает один раз, как только файл попал на сервер, сохраняет разметку, и после того как пользователь запросил видео с субтитрами, отображает их при помощи библиотеки moviepy.


handlers.py - находит кадры, которые могут вызвать эпилептические припадки. Он строит гистограмму интенсивности для каждого кадра, потом их сравнивает. Если значение больше какого-то порога, то он ставит метку. Когда пользователь запросит видео с вырезанными эпилептическими сценами, мы не будем обрабатывать все видео, мы будем просто ориентироваться на заранее проставленные метки и проводить обработку. Также производит обработку аудио-сегмента видео для устранения громких и пронзительных звуков.


main.py - сервер. Он использует протокол webrtc для параллельной отправки видео и аудио. Перед отправкой он производит предварительную обработку видео.

Quick Start

Скачать все зависимости pip install -r requirments.txt
Запустить проект на локальной машине uvicorn main:app
Приложение будет доступно по адресу: 127.0.0.1:8000

Frontend

Репозиторий на GitHub
Деплой сайта
Реализован пользовательский веб-интерфейс, приближенный к оригинальному сайту KION, с помощью Create React App и Redux Toolkit.
Режим для людей с дальтонизмом: мы смогли охватить такие его разновидности, как протанопия, дейтеранопия, тританопия. Также есть контрастный черно-белый вариант. Все цветовые режимы применяются ко всем элементам, включая текст, баннеры, видео и картинки.


Режим для слабовидящих: увеличинеие шрифта и размеров некоторых блоков.


Сохранение настроек: для авторизованных пользователей сохраняются последние выбранные настройки.


3 слота для пресетов на одном аккаунте: чтобы каждый член семьи мог сделать настройки под себя и потом быстро к ним вернуться.

Quick start

Склонировать репозиторий npm install
Запуск в браузере на http://localhost:3000 npm start

Что будет реализовано

Так как в рамках хакатона не всё возможно реализовать, тут представлены идеи нашей команды:

Улучшение эпилептической обработки

При вырезании сцены теряется большая часть информативности этого кадра, а в последствие и фильма, так что появилась идея распределять всю контрастность между ниже стоящими кадрами. То есть у нас есть условно 4 кадра с контрастностью 15 - 15 - 15 - 100, и разница между контрастностью может быть только 15, следовательно, мы проводим такую обработку: 30 - 30 - 30 - 45. Конечно, при такой обработке будут теряться цветопередача и контрастность, но это будет вызывать минимальные проблемы у людей, имеющих диагноз эпилепсия.

Добавление работы с потоком видео

KION также предоставляет возможность просматривать телевизионные каналы, и их обработкой тоже нужно заниматься. Наша идея заключается в том, что у нас будет задержка перед показом, то есть нам телеканал передает видео, но должна быть задержка примерно 5 минут. Мы обрабатываем всеми возможными обработками и храним их в оперативной памяти. Как только прошёл этот кадр, то мы удаляем его из памяти параллельно добавляя новые. Эта идея так же будет работать в real time, но будет некоторая задержка.

Реализовать аудио-обработку

Резкий звук также может вызвать эпилептический припадок или приступы у людей с нервными расстройствами, так что нам надо определять скачики и их нормализировать. Это также можно сделать с помощью предобработки и разметки.

Оценка опасности видео и предупреждения

Мы предлагаем ввести метрику оценки опасности видео, основываясь на количестве эпилептически опасных моментов, например: "безопасно", "есть риски", "опасный", "не рекомендуем к просмотру". Также есть люди, которые переносят эпилепсию в легкой форме или которым не нравится резкая смена цветов и контрастности, и для таких людей можно ввести не вырезание или обработку кадров, а предупреждение (alert). Оно будет появляться за n секунд до и предупреждать пользователя о потенциальном нежелательном моменте.