Сервис проверки видеофайлов на нарушение авторских прав
https://lk.hacks-ai.ru/event/1077379/case
сабмит находится в /docs/submit.csv
- Ссылка на открытый репозиторий с исходным кодом https://github.com/gulldan/cp2024-yappy-quadriceps
- Ссылка на презентацию - https://docs.google.com/presentation/d/1C-MzD46t9aNqD58hoAA54vU0BT9Kl737UcsssT1CcCk/edit?pli=1#slide=id.g2fd3fa2cd53_0_136
- Ссылка на прототип (ссылка на гит/ссылка на облако) - http://176.123.167.90:17083
- Ссылка на тестовый датасет https://lodmedia.hb.bizmrg.com/case_files/1133387/train_dataset_train_data_yappy.zip
- Ссылка на валидационный датасет https://lodmedia.hb.bizmrg.com/case_files/1133387/test_dataset_test_data_yappy.zip)
Для получения видеоэмбеддингов сервис выполняет следующие этапы:
- Разделение видео на кадры с заданной частотой (fps=1) с помощью ffmpeg.
- Обработка кадров с использованием энкодера, обученного на основе контрастного обучения с использованием аугментаций. В основе обучения используются лоссы SimCLR и кросс-энтропия.
- Проведение тщательной фильтрации результатов поиска, чтобы гарантировать высокое качество и релевантность эмбеддингов.
Этот подход позволяет эффективно извлекать информативные и репрезентативные видеоэмбеддинги, обеспечивая высокую точность в дальнейшем анализе и поиске.
Для получения аудиоэмбеддингов из видео используются следующие шаги:
- Аудио из видео нарезается на фрагменты по 1 секунд.
- С помощью модели wav2vec2 извлекаются эмбеддинги размерностью 512.
- Вектора эмбеддингов могут быть сохранены в базу данных для дальнейшего использования.
- Для поиска нарушений копирайта проводится следующая процедура:
- Для каждого аудио вектора (представляющего 1-секундный фрагмент) находятся ближайшие вектора в базе данных.
- Вектора проходят фильтрацию по порогу косинусного сходства (cos sim) 0.96.
- Отбираются только те вектора, которые принадлежат наиболее часто встречаемой аудиозаписи среди найденных ближайших векторов.
- По количеству отрезков которое, сошлось отбираем Топ-к схожих видео.
Данный процесс позволяет эффективно выявлять и отслеживать дубликаты.
Все описание в папке infra. Запускать нужно build.sh , скрипт который ве подготовит и запустит все необходимое.
back (postgresql, qdrant, minio)
vector, openobserve, grafana, prometheus