Pull to refresh
144
31.2
Alexander Kapitanov @hukenovs

Train on test set is all you need

Send message

Как научить LLM понимать видео? Обзор подходов

Level of difficultyMedium
Reading time9 min
Views1.2K

Всем привет! Сегодня поговорим про задачу понимания видео и эволюцию подходов к обучению мультимодальных больших языковых моделей для этой задачи.

Video Understanding — направление на стыке компьютерного зрения (CV) и обработки естественного языка (NLP), включающее в себя множество разнообразных задач на восприятие и интерпретацию видео. От базового распознавания предметов и объектов в видеоряде, локализации объектов в пространстве или во времени, подсчета предметов и людей, до генерации кратких или развернутых описаний видео и задач на рассуждения о причинах происходящего на видео, требующих глубокого понимания мира — от человеческой психологии до физических свойств объектов. 

Читать далее
Total votes 18: ↑18 and ↓0+24
Comments0

Рецепт идеальной разметки в Computer Vision

Level of difficultyMedium
Reading time11 min
Views2.3K

За два года команда RnD CV из SberDevices выложила в открытый доступ три датасета для задач компьютерного зрения: HaGRID, EasyPortrait и Slovo. Чтобы достичь максимальной точности обработки данных, полученных с краудсорсинговых платформ, мы применили методы агрегации, которые позже объединили в фреймворк.

Привет, Хабр! На связи Карина Кванчиани и Александр Капитанов из SberDevices. В этой статье мы расскажем о фреймворке агрегации разметки данных, который использует наша команда и коллеги из других подразделений. AggregateMe помогает привести несколько разметок к одной и повысить её качество в случае, если исполнители где-то ошиблись. Скоро фреймворк появится в открытом доступе, а здесь расскажем, как он работает.

Читать далее
Total votes 10: ↑10 and ↓0+17
Comments1

Переводчик с языка, на котором нельзя говорить и писать

Level of difficultyMedium
Reading time12 min
Views9.8K

Привет, Хабр! Это Александр Капитанов и Александр Нагаев из Sber Devices. Мы занимаемся задачами компьютерного зрения: генерацией, матированием и редактированием изображений, сегментацией, портретной гармонизацией, заменой лиц, распознаванием жестов. А с недавних пор ещё и распознаваниtv русского жестового языка.

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

Читать далее
Total votes 24: ↑24 and ↓0+29
Comments2

GigaChat и русский жестовый язык

Level of difficultyMedium
Reading time4 min
Views2.9K

Всем привет! Меня зовут Капитанов Александр, я отвечаю за направление компьютерного зрения в SberDevices. В этой статье я расскажу о том, как моя команда Vision RnD разработала серию моделей SignFlow, обеспечивающих перевод с жестового языка на русский и американский английский в реальном времени с высокой метрикой качества. На основе этих моделей мы реализовали прототип общения с генеративной языковой моделью GigaChat, что является первым в мире открытым решением задачи общения с искусственным интеллектом при помощи русского жестового языка (РЖЯ). Далее я расскажу о разработке модели, тонкостях обучения, демо-стенде и интеграции с GigaChat.

Читать далее
Total votes 18: ↑18 and ↓0+18
Comments5

Slovo и русский жестовый язык

Level of difficultyMedium
Reading time10 min
Views6.8K

Всем привет! В этой статье мы расскажем о непростой задаче распознавания русского жестового языка (РЖЯ) для слабослышащих. Насколько нам известно, в открытом доступе не существует универсального набора данных для распознавания РЖЯ. Поэтому мы решили выложить небольшую часть нашего датасета в открытый доступ. В статье мы затронем основные особенности РЖЯ, поговорим о проблемах и сложностях самого языка, и процессе его сбора и разметки. Расскажем, где искали экспертов и как нам в итоге удалось собрать самый большой и разнородный жестовый датасет для РЖЯ. В конце статьи представим набор предобученных нейронных сетей и небольшое приложение, демонстрирующее распознавание жестового языка. Часть датасета и веса моделей мы выложили в открытый доступ — все ссылки вы можете найти в конце статьи или в нашем репозитории.

Интересно?
Total votes 32: ↑32 and ↓0+32
Comments6

EasyPortrait — портретная сегментация и анализ лиц

Level of difficultyMedium
Reading time9 min
Views3.8K

Всем привет! Наверняка, кто-то из вас уже пользовался сервисом видеоконференций SberJazz. Мы в нашей RnD команде решили помочь ребятам с задачей замены фона, для чего создали подходящий датасет и провели ряд исследований в направлении удаления фона (background removal). На этом мы не остановились и разметили данные для задачи анализа лица (face parsing). Это позволит пользователям применять эффекты бьютификации: сглаживание кожи, изменение размера и цвета губ или глаз, отбеливание зубов и т. д.

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

Читать далее
Total votes 17: ↑17 and ↓0+17
Comments16

HaGRID — огромный открытый датасет для распознавания жестов

Reading time9 min
Views8.4K

Хороший набор данных невероятно важен при обучении нейросетей. Наш датасет изображений с жестами HaGRID (Hand Gesture Recognition Image Dataset) — один из таких. С его помощью можно создать систему распознавания жестов, которая будет отлично работать в совершенно разных ситуациях. Например, жестовое управление можно использовать в видеоконференциях, для управления устройствами умного дома или мультимедийными возможностями автомобиля. Ещё одна важная возможность — создание виртуальных помощников для пользователей с дефектами речи или использующих язык жестов. Ниже рассказываем, как всё это работает, и делимся ссылками на датасет и набор предобученных моделей к нему.

Читать далее
Total votes 19: ↑19 and ↓0+19
Comments12

Сверхдлинное преобразование Фурье на FPGA

Reading time13 min
Views19K
Всем привет!

В этой статье я хочу рассказать про реализацию алгоритма сверхдлинного быстрого преобразования Фурье на ПЛИС. Написать эту статью меня побудило желание поделиться личным практическим опытом, который не хотелось бы потерять, оставив информацию только у себя в голове. А поскольку я больше не занимаюсь задачами цифровой обработки сигналов на ПЛИС, то я просто обязан передать доступные мне знания.

В этой статье показана невозможность реализации «классической» схемы очень длинного БПФ даже на самых современных кристаллах ПЛИС и предложен алгоритм, позволяющий это сделать. Также пошагово рассмотрена основная идея алгоритма: от математической составляющей до создания законченного решения на базе ПЛИС с использованием внешней DDR-памяти. Статья затронет тонкости проектирования многоканальных систем обработки для подобного класса задач и, в частности, опишет мой практический опыт.


Читать дальше →
Total votes 61: ↑61 and ↓0+61
Comments23

Курс лекций «Основы цифровой обработки сигналов»

Reading time12 min
Views193K
Всем привет!

Часто ко мне обращаются люди с вопросами по задачам из области цифровой обработки сигналов (ЦОС). Я подробно рассказываю нюансы, подсказываю нужные источники информации. Но всем слушателям, как показало время, не хватает практических задач и примеров в процессе познания этой области. В связи с этим я решил написать краткий интерактивный курс по цифровой обработке сигналов и выложить его в открытый доступ.

Большая часть обучающего материала для наглядного и интерактивного представления реализована с использованием Jupyter Notebook. Предполагается, что читатель имеет базовые знания из области высшей математики, а также немного владеет языком программирования Python.


Читать дальше →
Total votes 100: ↑100 and ↓0+100
Comments97

Особенности оконной фильтрации на ПЛИС

Reading time11 min
Views19K
Всем привет! В этой статье речь пойдет об одной важной части цифровой обработки сигналов — оконной фильтрации сигналов, в частности на ПЛИС. В статье будут показаны способы проектирования классических окон стандартной длины и «длинных» окон от 64K до 16M+ отсчетов. Основной язык разработки — VHDL, элементная база — современные кристаллы FPGA Xilinx последних семейств: это Ultrascale, Ultrascale+, 7-series. В статье будет показана реализация CORDIC — базового ядра для конфигурации оконных функций любой длительности, а также основных оконных функций. В статье рассмотрен метод проектирования с помощью языков высокого уровня С/C++ в Vivado HLS. Как обычно, в конце статьи вы найдете ссылку на исходные коды проекта.

КДПВ: типичная схема прохождения сигнала через узлы ЦОС для задач анализа спектра.


Читать дальше →
Total votes 36: ↑34 and ↓2+32
Comments12

Реализация целочисленного БПФ на ПЛИС

Reading time14 min
Views26K
Всем привет!

Однажды меня спросили заказчики, нет ли у меня в проектах целочисленного БПФ, на что я всегда отвечал, что это уже сделано другими в виде готовых, хоть и кривых, но бесплатных IP-ядер (Altera / Xilinx) – берите и пользуйтесь. Однако, эти ядра не оптимальны, обладают набором «особенностей» и требуют дальнейшей доработки. В связи с чем, уйдя в очередной плановый отпуск, который не хотелось провести бездарно, я занялся реализацией конфигурируемого ядра целочисленного БПФ.


КДПВ (процесс отдладки ошибки переполнения данных)

В статье я хочу рассказать, какими способами и средствами реализуются математические операции при вычислении быстрого преобразования Фурье в целочисленном формате на современных кристаллах ПЛИС. Основу любого БПФ представляет узел, который носит название «бабочка». В бабочке реализуются математические действия – сложение, умножение и вычитание. Именно о реализации «бабочки» и её законченных узлов будет идти рассказ в первую очередь. За основу взяты современные семейства ПЛИС фирмы Xilinx – это серия Ultrascale и Ultrascale+, а также затрагиваются старшие серии 6- (Virtex) и 7- (Artix, Kintex, Virtex). Более старшие серии в современных проектах – не представляют интереса в 2018 году. Цель статьи – раскрыть особенности реализации кастомных ядер цифровой обработки сигналов на примере БПФ.
Читать дальше →
Total votes 55: ↑55 and ↓0+55
Comments29

Расчет корректирующего КИХ-фильтра на ПЛИС

Reading time9 min
Views25K


Всем привет! Написать эту статью меня побудило выступление на семинарах по цифровой обработке сигналов, где слушатели всегда заостряли интерес к методике вычисления корректирующих FIR-фильтров, несмотря на то, что эту тему я затрагивал поверхностно и по большей части рассказывал об этом в ознакомительных чертах. Если публика желает получить тайные знания, то почему бы ими не поделиться. В этой статье я постараюсь в доступной форме изложить алгоритм расчета корректирующих КИХ фильтров, который необходим для выравнивания АЧХ в полосе пропускания после звеньев CIC фильтров в задачах децимации и интерполяции сигналов. В частности, рассмотрим проектирование фильтров на современных ПЛИС Xilinx. Как обычно, в конце статьи будет ссылка на полезные скрипты для расчета различных фильтров и получение файла коэффициентов фильтра-корректора.

Предполагается, что читатель знаком с основами цифровой обработки сигналов и имеет представление о CIC и FIR фильтрах. Приступим.
Читать дальше →
Total votes 33: ↑33 and ↓0+33
Comments0

Women's Day Gift by FPGA

Reading time8 min
Views7.7K
Всем привет! В преддверии 8 марта решил сделать своей возлюбленной небольшой подарок с использованием тех инструментов, которыми чаще всего приходится пользоваться на работе. Имея немного свободного времени, я подумал, а почему бы не написать небольшую статью на хабре по этому поводу. Это отличная возможность поздравить всех дам и, в частности, немногочисленный женский состав сообщества хабрахабр. Статья написана "just for fun" и не имеет никакого научного вклада, не несёт большой смысловой нагрузки, но может быть полезна начинающим разработчикам в области ПЛИС. Я расскажу какие средства использованы для получения конечного результата и что из этого вообще получилось. В статье вы увидите мерцающие сердечки и бегущий текст на светодиодной матрице 8x8, которая управляется небольшой старенькой ПЛИС. В конце статьи вы найдете видео-демонстрацию совместной работы ПЛИС и матрицы светодиодов.


Total votes 29: ↑26 and ↓3+23
Comments9

Реализация узла БПФ с плавающей точкой на ПЛИС

Reading time17 min
Views32K
Всем привет! В этой статье речь пойдет о реализации быстрого преобразования Фурье в формате с плавающей точкой на ПЛИС. Будут показаны основные особенности разработки ядра от самой первой стадии до готового конфигурируемого IP-ядра. В частности, будет проведено сравнение с готовыми ядрами фирмы Xilinx, показаны преимущества и недостатки тех или иных вариантов реализации. В статье будет рассказано о главной особенности ядра БПФ и ОБПФ — об отсутствии необходимости переводить данные в натуральный порядок после БПФ и ОБПФ для их совместной связки. В этой статье я постараюсь отразить всё тонкости реализации проекта под названием FP23FFTK, приведу реальные примеры использования готового ядра. Проект написан на языке VHDL и заточен под FPGA фирмы Xilinx последних семейств.


Читать дальше →
Total votes 43: ↑42 and ↓1+41
Comments5

Подключение АЦП к ПЛИС. Особенности, сложности, реализация

Reading time18 min
Views66K

Всем привет! В данной статье речь пойдет о подключении микросхем АЦП к кристаллам ПЛИС. Будут рассмотрены основные особенности соединения узлов схем, представлены современные АЦП и их характеристики. В статье будут даны практические советы по быстрому и правильному подключению АЦП к ПЛИС с минимальными временными затратами. Кроме того, речь пойдет о принципах подключения тех или иных АЦП, будет рассмотрен входной буфер ПЛИС и его базовые компоненты – триггеры, узлы задержки IODELAY, сериализаторы ISERDES и т.д. Более детально с примерами программного кода на языке VHDL будет проведен обзор основных элементов, требуемых для качественного приёма данных от АЦП. Это входной буфер, узел упаковки данных для одноканальных и многоканальных систем, модуль синхронизации и передачи данных на базе FIFO, узел программирования АЦП по интерфейсу SPI, узел синтеза частоты данных – MMCM/PLL. Также в статье будет представлен обзор законченных устройств (в стандарте FMC) от ведущих зарубежных и отечественных производителей аналоговых и цифровых схем. В конце статьи вы найдете ссылку на исходные коды универсального узла приёмника данных от многоканальных схем АЦП. Код простой и гибкий в конфигурировании, он представлен на языке VHDL и заточен на микросхемы ПЛИС Xilinx 7 серии и выше, но может быть применен и в других кристаллах ПЛИС.
Читать дальше →
Total votes 27: ↑27 and ↓0+27
Comments19

Использование TCL в разработке на FPGA

Reading time11 min
Views37K
Всем привет! Давно не писал статьи на любимую тематику и наконец-то созрел на что-то более-менее приличное и стоящее. В этой статье речь пойдет об очень интересной задаче, с которой инженер-разработчик сталкивается чуть ли не каждый день. Предлагаю вам посмотреть, каким образом можно использовать всю мощь и простоту TCL скриптов для проектирования на FPGA. В данной статье описание базируется на ПЛИС фирмы Xilinx, но это не отменяет возможностей TCL скриптов для кристаллов ПЛИС других производителей.


Интересно? Поехали…
Читать дальше →
Total votes 28: ↑26 and ↓2+24
Comments27

Custom floating point format on FPGA

Reading time10 min
Views25K
Всем привет!

В данной статье речь пойдет о числах в формате с плавающей точкой и в частности о реализации специализированного формата FP23 на программируемых логических интегральных схемах (ПЛИС). В рамках конкретного проекта у меня родилась мысль реализовать оптимальный для определенных нужд формат данных с плавающей точкой. В итоге эта мысль переросла в реальный проект, который впоследствии нашел применение в некоторых интересных задачах цифровой обработки сигналов. В статье рассмотрены основные сложности при реализации формата данных floating point на ПЛИС Xilinx, рассмотрены базовые математические операции в формате FP23. Также в конце статьи вы можете найти исходный код проекта, которой можно свободно использовать в своих задачах или на его основе реализовать похожие форматы данных.


Читать дальше →
Total votes 24: ↑24 and ↓0+24
Comments10

Генераторы хаоса на FPGA

Reading time8 min
Views35K
Всем привет!

Эта статья посвящается удивительным особенностям в мире хаоса. Я постараюсь рассказать о том, как обуздать такую странную и сложную вещь, как хаотический процесс и научиться создавать собственные простейшие генераторы хаоса. Вместе с вами мы пройдем путь от сухой теории до прекрасной визуализации хаотических процессов в пространстве. В частности, на примере известных хаотических аттракторов, я покажу как создавать динамические системы и использовать их в задачах, связанных с программируемыми логическими интегральными схемами (ПЛИС).


Окунуться в мир хаоса...
Total votes 40: ↑40 and ↓0+40
Comments13

Цифровая фильтрация на ПЛИС – Часть 2

Reading time23 min
Views97K


Всем привет!

Это вторая публикация на тему «Цифровая фильтрация на ПЛИС». Вторая часть будет посвящена практической реализации КИХ фильтров на FPGA. В процессе подготовки материала я понял, что она раздуется до небывалых размеров, но делить ее на несколько частей не хочется. Поэтому все тонкости теории и синтеза FIR фильтров будут в одной статье, разбитой на взаимосвязанные разделы. Начну обзор с теоретической части, в частности — расскажу об особенностях и методах расчета коэффициентов фильтров. Подробно рассмотрю создание КИХ фильтров в различных средах — MATLAB, CoreGENERATOR, Vivado HLS. Всех заинтересовавшихся прошу под кат.
Читать дальше →
Total votes 2: ↑2 and ↓0+2
Comments0

Цифровая фильтрация на ПЛИС – Часть 1

Reading time9 min
Views72K
Всем привет!

Давно хотел начать цикл статей, посвященных цифровой обработке сигналов на ПЛИС, но по разным причинам так и не мог к этому приступить. К счастью, в распоряжении появилось немного свободного времени, поэтому периодически я буду публиковать материалы, в которых отражены различные аспекты, связанные с ЦОС на ПЛИС.


В этих статьях я постараюсь минимизировать теоретическое описание тех или иных алгоритмов и большую часть материала посвятить практическим тонкостям, с которыми столкнулся лично я и мои коллеги, и знакомые, так или иначе связанные с разработкой на ПЛИС. Надеюсь, данный цикл статей принесет пользу, как начинающим инженерам, так и матёрым разработчикам.
Читать дальше →
Total votes 19: ↑19 and ↓0+19
Comments13
1

Information

Rating
224-th
Location
Москва, Москва и Московская обл., Россия
Works in
Registered
Activity

Specialization

Specialist
Lead
Machine learning
Neural networks
Computer vision
OpenCV
Pytorch
Deep Learning
TENSORFLOW
Big data
Algorithms and data structures
Data Analysis