Как стать автором
Обновить
16
0
Георгий Федоров @georfed

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

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

Кодирование с кодеком HEVC простым языком — гайд на FFmpeg. Высокое качество, но низкий вес

Уровень сложностиПростой
Время на прочтение11 мин
Количество просмотров20K

Казалось бы, довольно простой вопрос: «Чем сжать видео?». На ум сразу приходят Handbrake, Movavi Converter или ещё что-нибудь пострашнее. Однако когда речь заходит о более гиковском подходе с упором на максимальное качество и экономию места, такие программы сложно назвать инструментами. Равно как и для обратной ситуации, когда картинку нужно сильно сжать и сохранить в целостности большую часть полезной информации. Все эти программы только лишь предоставляют набор наиболее общих конфигов для обычной съёмки и 2D.

В этой статье мы изучим, как при помощи самого большого сборника свободных библиотек FFmpeg научиться кодировать видео самому именно под ваши задачи.
Читать дальше →
Всего голосов 90: ↑89 и ↓1+117
Комментарии131

DETR: Бесконечная история

Уровень сложностиСложный
Время на прочтение13 мин
Количество просмотров2.3K

Всем привет, с вами команда Layer!
Мы рады сообщить, что совсем скоро выйдет наша новая исследовательская работа, посвященная поиску моментов в видео, релевантных пользовательскому запросу. Мы хотим сделать эту работу как можно более доступной для каждого, кто хочет глубже разобраться в теме. Поэтому мы решили написать этот небольшой туториал, посвященный семейству моделей DETR, так как они используются не только для детекции котиков на картинках, но и в таких необычных доменах, как детекция моментов в видео. Мы уверены, что среди читателей многие знакомы с основами DETR, однако подозреваем, что не все могли следить за её развитием. Всё‑таки по сравнению с YOLO, DETRу пиара явно не достает. В этой статье мы предлагаем краткий обзор эволюции модели, чтобы помочь вам лучше ориентироваться в новых исследованиях. Если же вы впервые слышите о DETR или хотите освежить свои знания, то бегом читать — тык, если после прочтения остались вопросы, то можно ознакомиться с этими видео — тык, тык.

Давайте детальнее разберёмся, что ждёт вас в этом туториале. Сначала мы рассмотрим недостатки оригинальной версии DETR, а затем перейдём к архитектурным улучшениям, которые либо устранили эти проблемы, либо заметно их сгладили. Начнём с Deformable DETR — модели, которая оптимизировала вычисления. Затем обратим внимание на Conditional DETR и DAB DETR — архитектуры, которые существенно переосмыслили роль queries в модели. Далее мы погрузимся в особенности DN‑DETR, который стабилизирует one‑to‑one matching. После этого детально разберём DINO DETR — модель, которая объединяет и улучшает идеи DN‑DETR и DAB‑DETR, а также переизобретает RPN для детекционных трансформеров. И в завершение нашего путешествия мы познакомимся с CO‑DETR, который объединил классические детекторы, такие как ATSS, Faster RCNN, и модели типа DETR, установив новые SOTA метрики на COCO.

Читать далее
Всего голосов 24: ↑20 и ↓4+22
Комментарии0

Большие и чёрные (ящики): что мы знаем о том, как «думают» нейросети?

Уровень сложностиСредний
Время на прочтение30 мин
Количество просмотров53K

ChatGPT вышел уже почти два года назад, а датасаентисты до сих пор никак не могут определиться — являются ли нейросети тварями дрожащими, или всё же мыслить умеют? В этой статье мы попробуем разобраться: а как вообще учёные пытаются подойти к этому вопросу, насколько вероятен здесь успех, и что всё это означает для всех нас как для человечества.

Узнать →
Всего голосов 149: ↑148 и ↓1+178
Комментарии81

Большие простые числа: преобразование Фурье

Время на прочтение10 мин
Количество просмотров12K

В одной из предыдущих статей я рассказал о математических алгоритмах, позволяющих проверить простоту очень большого числа. Но в основе всех тех алгоритмов лежит одна базовая операция — перемножение двух больших чисел. Именно операции длинного умножения занимают 99,9% времени выполнения любого теста простоты. Как же умножение реализуется на практике? Говорят, что при помощи быстрого преобразования Фурье. Но беглое прочтение Википедии вызывает недоумение. Какое отношение преобразование Фурье имеет к умножению целых чисел? Давайте разбираться.

Читать далее
Всего голосов 40: ↑40 и ↓0+52
Комментарии22

Как работают text2image модели?

Время на прочтение6 мин
Количество просмотров19K

Вы, наверное, слышали про dalle-2, midjourney, stable diffusion? Слышали о моделях, которые по тексту генерируют картинку. Совсем недавно они продвинулись настолько, что художники протестуют, закидывая в стоки картинки с призывом запретить AI, а недавно, вообще, в суд подали! В этой статье будем разбираться, как такие модели работают. Начнем с азов и потихоньку накидаем деталей и техник генерации.

Читать далее
Всего голосов 62: ↑61 и ↓1+77
Комментарии4

Мнение большинства для разметки данных в задачах компьютерного зрения

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров3.2K

Многие прикладные задачи из области компьютерного зрения требуют от разработчиков создания собственных наборов данных, которые можно своевременно обновлять и адаптировать: увеличивать количество классов и сэмплов или делать сэмплы более разнородными по тем или иным признакам. Кроме того, для некоторых задач необходимы доменные и достаточно специфичные данные. Например в SberDevices, для реализации управления умными устройствами с помощью жестов, необходим датасет, на изображениях которого люди показывают жесты перед камерой; для бьютификации в Jazz — фотографии людей на веб-камеру или селфи. Необходимость постоянно создавать и поддерживать собственные наборы данных требует автоматизации их сбора и разметки.

Читать далее
Всего голосов 10: ↑10 и ↓0+10
Комментарии4

Quantization Deep Dive, или Введение в современную квантизацию

Уровень сложностиСредний
Время на прочтение16 мин
Количество просмотров21K

Привет! Меня зовут Василий Землянов, я занимаюсь разработкой ML-инфраструктуры. Несколько лет я проработал в команде, которая делает споттер — специальную маленькую нейросетевую модельку, которая живёт в умных колонках Яндекса и ждёт от пользователя слова «Алиса». Одной из моих задач в этой команде была квантизация моделей. На пользовательских устройствах мало ресурсов, и мы решили, что за счёт квантизации сможем их сэкономить — так в итоге и вышло.

Потом я перешёл в команду YandexGPT. Вместо маленьких моделей я стал работать с очень крупными. Мне стало интересно, как устроена квантизация больших языковых моделей (LLM). Ещё меня очень впечатляли истории, где люди берут гигантские нейросети, квантизируют в 4 бита и умудряются запускать их на ноутбуках. Я решил разобраться, как это делается, и собрал материал на доклад для коллег и друзей. А потом пришла мысль поделиться знаниями с более широкой аудиторией, оформив их в статью. Так я и оказался на Хабре :)

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

Читать далее
Всего голосов 66: ↑65 и ↓1+81
Комментарии13

Всё ещё храните музыку в формате Hi-Res? Тогда мы идем к вам

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров81K

Люди делятся на 2 лагеря: те, кто слышит разницу между lossless и lossy, и те, кто нет. Формат аудио с потерей качества — это интересная тема, но сегодня мы поговорим о звуке в высоком разрешении — это PCM 24/96 и выше, а также DSD во всех его проявлениях. Я не буду рассказывать теорию, чем отличаются эти форматы, такие статьи легко гуглятся. Лишь вскользь упомяну о теореме Котельникова (Найквиста — Шеннона), которая гласит следующее: «Для того, чтобы оцифровать аналоговый сигнал, а потом его БЕЗ ПОТЕРЬ восстановить, необходимо и ДОСТАТОЧНО, чтобы частота дискретизации была в 2 раза СТРОГО больше максимальной частоты полезного сигнала».

Читать далее
Всего голосов 152: ↑148 и ↓4+180
Комментарии449

Как совмещать основную работу и проекты на стороне

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров50K

У многих из нас остается достаточно свободного времени в сутках. А почему бы не монетизировать это время, думает начинающий IT левак? Если работать по три часа в день в будние, брать по 2 тысячи за час, то получится 120 тысяч дополнительного дохода в месяц. Звучит отлично!

Меня зовут Даниил, и я через выгорание, увольнение, споры с заказчиками и успешные проекты научился совмещать карьеру в компании и ведение проектов на стороне.

Читать далее
Всего голосов 91: ↑89 и ↓2+107
Комментарии48

Как мы научили YandexGPT пересказывать видео

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров17K

Порой бывает сложно перематывать длинный ролик в надежде найти хоть что-то интересное или тот самый момент из Shorts. Или иногда хочется за ночь узнать, о чём шла речь на паре научных конференций. Для этого в Браузере есть волшебная кнопка — «Пересказать», которая экономит время и помогает лучше понять, стоит ли смотреть видео, есть ли в нём полезная информация, и сразу перейти к интересующей части.

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

Читать далее
Всего голосов 63: ↑63 и ↓0+63
Комментарии63

Руководство по веб-скрейпингу на Python

Уровень сложностиСредний
Время на прочтение17 мин
Количество просмотров33K

В этом туториале мы создадим надёжные веб-краулеры с использованием таких библиотек, как BeautifulSoup, изучим техники, позволяющие преодолевать реальные трудности при скрейпинге, а также представим рекомендации по крупномасштабному скрейпингу.

Вы получите навыки для скрейпинга сложных сайтов и решения проблем, которые касаются ограничений частоты запросов, блокировок и генерируемых при помощи JavaScript страниц.
Читать дальше →
Всего голосов 43: ↑40 и ↓3+55
Комментарии18

Как я устроился в Амазон и перестал переживать за свой английский

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров94K

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

Меня зовут Андрей Столбовский, последние 5 лет я работал в Яндексе, а в прошлом году перешёл в Амазон и теперь работаю Software Development Manager в AWS Redshift – это мой первый полноценный опыт работы в международной компании. 

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

Итак, поехали. 

Поехали!
Всего голосов 235: ↑232 и ↓3+275
Комментарии160

Что такое MLOps? Самый подробный текст про работу с ML-системами, который вы найдете в интернете

Время на прочтение25 мин
Количество просмотров28K


В этом материале мы подробно разбираем концепцию MLOps. Более того, делаем это тремя способами. Сначала теоретически — через самую толковую, на наш взгляд, схему MLOps. Затем — концептуально, через артефакты, которые заложены в подходе. И наконец, через понимание MLOps как информационной системы.

Сохраняйте текст в закладки, потому что на данный момент это, возможно, самое полное описание MLOps на русском языке (и не перевод очередной англоязычной статьи!). Подарим мерч Selectel тому, кто пришлет ссылку на более развернутое описание концепции в комментариях.
Читать дальше →
Всего голосов 43: ↑43 и ↓0+43
Комментарии13

«Пора ли гнать на мороз Computer Vision — scientist'ов ?» (Fondation Models и вокруг)

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров17K

Прошлый год в Computer Vision запомнился тем, что появилось множество больших претрейненных сетей (Fondation Models). Самая известная - GPT4v (ChatGPT с обработкой изображений).
В статье я попробую простым языком объяснить что это такое (для тех кто пропустил), как меняет индустрию. Какие задачи стало проще решать. Какие продукты появились в последнее время и появятся в будущем.
И можно ли уже выгнать на мороз лишних "ресерчеров"?!

Читать далее
Всего голосов 51: ↑50 и ↓1+65
Комментарии9

Трекинг множества объектов без разметки или как следить за пузырьками во время пенной флотации

Время на прочтение10 мин
Количество просмотров11K


Привет, Хабр! Меня зовут Клоков Алексей, сегодня поговорим об алгоритмах компьютерного зрения, обработке видеопотока и методах трекинга множества объектов без разметки (unsupervised multiple object tracking) на примере пузырьков. Методичка будет полезна как опытным специалистам, перед которыми стоит похожая задача, так и начинающим энтузиастам. На основе черновика этого текста и экспериментов получилось опубликовать научную статью в Journal of Mineral and Material Science.


В тексте вы найдете:
— описание домена данных и технологического процесса флотации;
— подход к cегментации множества подобных объектов;
— существующие методы трекинга без разметки;
— подход к одновременному сопровождению множества подобных объектов;
— сравнение качества работы алгоритмов и много демонстраций

Читать дальше →
Всего голосов 60: ↑60 и ↓0+60
Комментарии8

Data Science Pet Projects. FAQ

Время на прочтение13 мин
Количество просмотров55K

Привет! Меня зовут Клоков Алексей, сегодня поговорим о пет-проектах по анализу данных. Идея написать эту статью родилась после многочисленных вопросов о личных проектах в сообществе Open Data Science (ODS). Это третья статья на Хабре, до этого был разбор алгоритма SVM и анонс крутого NLP курса от ребят из DeepPavlov. В этой статье вы найдете идеи для новых петов и другие полезности. Итак, разберем частые вопросы и дадим определение пет-проекта:


  1. Зачем делать пет-проекты?
  2. Из каких этапов может состоять разработка пет-проекта?
  3. Как выбрать тему и найти данные?
  4. Где найти вычислительные ресурсы?
  5. Как завернуть работающие алгоритмы в минимальный прод?
  6. Как оформить презентабельный вид проекта?
  7. Как и зачем искать коллабораторов?
  8. Когда проходит ODS pet project хакатон?
  9. Где посмотреть примеры пет-проектов и истории участников ODS?

Читать дальше →
Всего голосов 43: ↑43 и ↓0+43
Комментарии11

Просто о Stable Diffusion: никакой магии

Уровень сложностиПростой
Время на прочтение15 мин
Количество просмотров12K

Если вы не провели последние два года на ферме в Сибири, вы, вероятно, слышали о Stable Diffusion или пробовали генерировать изображения с помощью моделей, вроде Dall-e или Midjourney. Они становятся все лучше каждый день, и по качеству уже сравнимы с людьми, а во многих аспектах даже лучше (например, им не нужно платить).

Исследования в области создания видео уже идут полным ходом во многих лабораториях и компаниях, так что это лишь вопрос времени, когда генеративные модели сместят людей с очередного столпа на котором держится наше общества — порно. Я не вижу чтобы кто то поднимал тревогу об огромном количестве людей, которые потеряют работу из-за этого. Я не такой бессердечный, поэтому, прежде чем наступил этот печальный момент, я решил принять меры и создать базовое руководство, которое даже работник индустрии для взрослых сможет понять и использовать, чтобы оставаться в игре. Давайте посмотрим, что к чему.

Читать далее
Всего голосов 44: ↑34 и ↓10+33
Комментарии28

Как работают трансформеры: разбираем математику

Уровень сложностиСредний
Время на прочтение28 мин
Количество просмотров20K

В этом посте я представлю подробный пример математики, используемой внутри модели трансформера, чтобы вы получили хорошее представление о работе модели. Чтобы пост был понятным, я многое упрощу. Мы будем выполнять довольно много вычислений вручную, поэтому снизим размерность модели. Например, вместо эмбеддингов из 512 значений мы используем эмбеддинги из 4 значений. Это позволит упростить понимание вычислений. Мы используем произвольные векторы и матрицы, но при желании вы можете выбрать собственные значения.

Как вы увидите, математика модели не так уж сложна. Сложность возникает из-за количества этапов и количества параметров. Перед прочтением этой статьи я рекомендую прочитать пост Illustrated Transformer (или читать их параллельно) [перевод на Хабре]. Это отличный пост, объясняющий модель трансформера интуитивным (и наглядным!) образом, поэтому я не буду объяснять то, что уже объяснено в нём. Моя цель заключается в том, чтобы объяснить, как работает модель трансформера, а не что это такое. Если вы хотите углубиться в подробности, то изучите известную статью Attention is all you need [перевод на Хабре: первая и вторая части].

Читать далее
Всего голосов 40: ↑40 и ↓0+40
Комментарии8

Как работает Object Tracking на YOLO и DeepSort

Время на прочтение12 мин
Количество просмотров82K
Object Tracking — очень интересное направление, которое изучается и эволюционирует не первый десяток лет. Сейчас многие разработки в этой области построены на глубоком обучении, которое имеет преимущество над стандартными алгоритмами, так как нейронные сети могут аппроксимировать функции зачастую лучше.

Но как именно работает Object Tracking? Есть множество Deep Learning решений для этой задачи, и сегодня я хочу рассказать о распространенном решении и о математике, которая стоит за ним.

Итак, в этой статье я попробую простыми словами и формулами рассказать про:

  • YOLO — отличный object detector
  • Фильтры Калмана
  • Расстояние Махаланобиса
  • Deep SORT
Читать дальше →
Всего голосов 14: ↑14 и ↓0+14
Комментарии3

Самая сложная задача в Computer Vision

Время на прочтение13 мин
Количество просмотров71K
Среди всего многообразия задач Computer Vision есть одна, которая стоит особняком. К ней обычно стараются лишний раз не притрагиваться. И, если не дай бог работает, — не ворошить.
У неё нет общего решения. Практически для каждого применения существующие алгоритмы надо тюнинговать, переобучать, или судорожно копаться в куче матриц и дебрях логики.

Статья о том как делать трекинг. Где он используется, какие есть разновидности. Как сделать стабильное решение.
Всего голосов 127: ↑127 и ↓0+127
Комментарии42

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность