Как стать автором
Обновить
10
0
Максим @kshmax

Пользователь

Отправить сообщение

С помощью модели не получится повысить качество аудио. Модель во время разделения, скорее наоборот, может добавлять артефакты и "протечки", что, кстати, заметно на некоторых демках.

Для такой задачи, как Вы описываете, можно брать аудиозаписи в хорошем качестве, специально понижать и искажать их, а затем обучать модель на восстановление к исходному качеству. Но это уже другая история :)

Да, идея как раз такая. Модель оценивает, что находится в кадре и на основе этой информации извлекает из звуковой смеси те звуки, которые, по мнению модели, издаются объектом на картинке. При этом в режиме применения модели такая "оценка" делается для разных участков видео и по объекту в этом участке модель решает, какую часть звуковой дорожки нужно взять, чтобы изолировать звук. Это как раз демонстрируется на рисунках с подписью "локализация звука": сетка 14x14 и каждая ячейка - небольшой участок кадра, в котором модель оценивает, что находится внутри и на основе этого выделяет звук из общей дорожки

Архитектура из статьи без кадров не работает. Если убрать кадры, то это будет UNet для спектрограмм. Так делают, но качество сам не сравнивал. В данном случае идея не только в разделении, но и в нахождении источников звука в кадре, а для этого нужны визуальные данные.

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

Два источника - это гиперпараметр обучения. Можно было бы смешивать 3, 4 и т.д. источника и разделять на них, но это потребовало значительно больше ресурсов. Демки, где два видео смешиваются и разделяются, завязаны на число источников при обучении.

При локализации источников звука сетка строится для одного видео и из этой сетки можно выделять больше двух источников. Тогда ненулевые маски были бы в трех разных областях кадра, например.

Сам я с такой задачей не работал, это Voice/Speech separation, можно посмотреть решения https://paperswithcode.com/task/speech-separation или есть свежая статья от фейсбука https://arxiv.org/pdf/2003.01531.pdf

Спасибо за замечание.


bazel устанавливался из репозитория Ubuntu.


Для сборки примеров из приведенного репозитория подойдет:


sudo apt install bazel-2.0.0

Для более ранних версий Mediapipe был необходим:


sudo apt install bazel-1.2.1

Версии 1 и 2 несовместимы, из-за чего могут возникать некоторые проблемы, если поставить просто bazel. Насколько я помню, для Ubuntu 19.04 bazel == bazel-1.2.1, для Ubuntu 19.10 bazel == bazel-2.0.0. Причем при попытке собрать не той версией появляется много косвенных ошибок.


Opencv подтягивается через bazel, откуда брать указывается в WORKSPACE. Файл довольно большой, но бОльшая его часть — это зависимости, перенесенные из оригинального WORKSPACE из Mediapipe. Поскольку поддерживаемых платформ много, там указывается отдельные opencv для linux, android, ios, mac. Android SDK и NDK там также указаны в самом начале.


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

И главный аргумент: «это же Google»

У гугла было несколько крупных и провальных проектов: очки, G+ и др. Так что «гугл — значит выстрелит» — не аксиома.

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Зарегистрирован
Активность