Как стать автором
Обновить
25
0.1
AigizK @AigizK

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

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

Раскладываем по полочкам параметры АЦП

Время на прочтение10 мин
Количество просмотров77K
Привет, Хабр! Многие разработчики систем довольно часто сталкиваются с обработкой аналоговых сигналов. Не все манипуляции с сигналами можно осуществить в аналоговой форме, поэтому требуется переводить аналог в цифровой мир для дальнейшей постобработки. Возникает вопрос: на какие параметры стоит обратить внимание при выборе микроконтроллера или дискретного АЦП? Что все эти параметры означают? В этой статье постараемся детально рассмотреть основные характеристики АЦП и разобраться на что стоит обратить внимание при выборе преобразователя.

image

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

Проект Natasha. Набор качественных открытых инструментов для обработки естественного русского языка (NLP)

Время на прочтение34 мин
Количество просмотров89K
Два года назад я писал на Хабр статью про Yargy-парсер и библиотеку Natasha, рассказывал про решение задачи NER для русского языка, построенное на правилах. Проект хорошо приняли. Yargy-парсер заменил яндексовый Томита-парсер в крупных проектах внутри Сбера, Интерфакса и РИА Новостей. Библиотека Natasha сейчас встроена в образовательные программы ВШЭ, МФТИ и МГУ.

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

Для новостных статей качество на всех задачах сравнимо или превосходит существующие решения. Например с задачей NER Natasha справляется на 1 процентный пункт хуже, чем Deeppavlov BERT NER (F1 PER 0.97, LOC 0.91, ORG 0.85), модель весит в 75 раз меньше (27МБ), работает на CPU в 2 раза быстрее (25 статей/сек), чем BERT NER на GPU.

В проекте 9 репозиториев, библиотека Natasha объединяет их под одним интерфейсом. В статье поговорим про новые инструменты, сравним их с существующими решениями: Deeppavlov, SpaCy, UDPipe.

Всего голосов 57: ↑55 и ↓2+53
Комментарии25

Откуда берется применение ML в России на гос.уровне?

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

Предисловие


Всем привет!

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

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

С чего все началось?


Все началось с того, что в конце 2019 я понял, что в своей предыдущей области проф.деятельности достиг некого пика и дальше развитие в этой области мне:

  1. не интересно
  2. оно возможно, но, полностью соответствует принципу Парето где мне надо было бы потрать очень много усилий ради призрачных перспектив, да еще и не таких желанных, как мне казалось в начале пути.
Читать дальше →
Всего голосов 10: ↑6 и ↓4+2
Комментарии10

[Фреймворк формирования полезных привычек] и максимального вовлечения юзеров на примере изучения английского языка

Время на прочтение14 мин
Количество просмотров12K
Возможно, вам знакомо чувство (особенно, если вы разработчик), когда на глаза попадается отличная статья/идея с интересной теорией, которую непременно хочется протестировать на практике. К сожалению, часто рутинные обязанности и задачи отвлекают от внедрения самых интересных фич.

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

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

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


Всего голосов 15: ↑15 и ↓0+15
Комментарии5

2. Математическое описание систем автоматического управления

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

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


2.1. Получение уравнений динамики системы. Статическая характеристика. Уравнение динамики САУ (САР) в отклонениях
2.2. Линеаризация уравнений динамики САУ (САР)
2.3. Классический способ решения уравнений динамики


Лекции по курсу «Управление Техническими Системами», читает Козлов Олег Степанович на кафедре «Ядерные реакторы и энергетические установки», факультета «Энергомашиностроения» МГТУ им. Н.Э. Баумана. За что ему огромная благодарность.


Данные лекции только готовятся к публикации в виде книги, а поскольку здесь есть специалисты по ТАУ, студенты и просто интересующиеся предметом, то любая критика приветствуется.


Первая часть: «Введение в теорию автоматического управления. Основные понятия теории управления техническим системами»



Читать дальше →
Всего голосов 9: ↑6 и ↓3+3
Комментарии9

Датасеты для automotive

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

1. A2D2 dataset от Audi


image

Наш набор данных включает в себя более 40 000 кадров с семантической сегментацией изображений и метками облака точек, из которых более 12 000 кадров также имеют аннотации для 3D-боксов. Кроме того, мы предоставляем немаркированные данные датчиков (прибл. 390 000 кадров) для последовательностей с несколькими циклами, записанных в трех городах.

Сегментация данных

Набор данных содержит 41 280 кадров с семантической сегментацией по 38 категориям. Каждому пикселю изображения присваивается метка, описывающая тип объекта, который он представляет, например пешехода, автомобиль, растительность и т. д.

Облако точек

Сегментация облака точек производится путем слияния семантической пиксельной информации и лидарных облаков точек. Таким образом, каждой 3D-точке присваивается метка типа объекта. Это зависит от точной регистрации камеры-лидара.

Рамки

3D-боксы предусмотрены для 12 499 кадров. Лидарные точки в поле зрения фронтальной камеры помечены 3D-рамками. Мы аннотируем 14 классов, имеющих отношение к вождению, например автомобили, пешеходы, автобусы и т. д.
Читать дальше →
Всего голосов 9: ↑9 и ↓0+9
Комментарии0

Опыт подготовки к сертификации Professional Scrum Master II (Scrum.org)

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

Привет всем, хотел рассказать о материалах при подготовке к сертификации PSM II от Scrum.org. Буду очень рад, если поделитесь своим опытом тоже :)


Sidenote: если вы апологет движения "сертификаты потеряли свою ценность" — я с вами соглашусь. И в отношении PSM I всё довольно просто — сертификация говорит что вы понимаете как работает фреймворк в общих чертах. В PSM II уже идёт работа с набранным в бою опытом применения скрама, потому она (сертификация) серьёзнее. Но ничего сверхъестественного в этом экзамене тоже нет. Кстати, сейчас в мире 6793 PSM II обладателей.


image


Подготовка к PSM II


Как писал Denis Salnikov, хорошо будет пройти Scrum.org open assesments перед сдачей несколько раз на 100%


  • PSPO open — потому что там бывают вопросы, чтоб вы понимали как коучить PO и как идёт работа с ценностью. (кстати говоря, если вы дошли до PSM II, вы вполне можете сдать PSPO не мучаясь, что я и сделал).
  • PSM — потому что это должно отскакивать на зубок. Ценности, роли, события, артефакты.
  • PAL-E — чтобы через призму коучинга понимать менеджмент, и некоторые метрики, взрослость компании.
  • PSK open — чтобы понимать основы работы с потоком.
  • Nexus open — базовые основы пусть не самого популярного, но официального scrum.org решения для масштабирования.

Какие-то другие тесты надо проходить осторожно. В интернете довольно много подготовительных тестов: некоторые из них несколько PMBoK уклона, что норм для PMI-ACP, но другие прям адово извращают саму суть скрама, вводят какие-то новые роли, занимаются всяческим саботажем того, что вы практикуете к моменту подготовки к PSM II — берегите себя.


Коучинг, книжки, тренерство


Lyssa Adkins: Coaching Agile Teams — довольно лёгкая

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

5 визуализаций, который помогут улучшить Data Story

Время на прочтение5 мин
Количество просмотров4.5K
Статья переведена в преддверии запуска курса «Разработчик Python».




Сторителлинг – один из важнейших навыков для специалистов, которые занимаются анализом данных. Чтобы доносить идеи и делать это убедительно, нужно простраивать эффективную коммуникацию. В этой статье мы познакомимся с 5 методами визуализации, которые выходят за рамки классического понимания, и могут сделать вашу Data Story более эстетичной и красивой. Работать мы будем с графической библиотекой Plotly на Python (она также доступна на R), которая позволяет создавать анимированные и интерактивные диаграммы с минимальными усилиями.
Читать дальше →
Всего голосов 7: ↑7 и ↓0+7
Комментарии0

Интерактивные эксперименты с машинным обучением (на TensorFlow)

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

Вкратце


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


Несмотря на то, что машинные модели в репозитории могут быть немного "туповатенькими" (помните, это всего-лишь эксперименты, а не вылизанный код, готовый к "заливке на продакшн" и дальнейшему управлению новыми Tesla), они будут стараться как могут чтобы:


  • Распознать цифры и прочие эскизы, которые вы нарисуете в браузере
  • Определить и распознать объекты на видео из вашей камеры
  • Классифицировать изображения, загруженные вами
  • Написать с вами поэму в стиле Шекспира
  • И даже поиграть с вами в камень-ножницы-бумагу
  • и пр.

Я тренировал модели на Python с использованием TensorFlow 2 с поддержкой Keras. Для демо-приложения я использовал React и JavaScript версию Tensorflow.


Интерактивные эксперименты с машинным обучением

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

Интерполяция и дискретизация, зачем они нужны при проективном преобразовании изображения?

Время на прочтение9 мин
Количество просмотров13K
Привет, Хабр! Сегодня мы очень подробно расскажем о неочевидных моментах в такой, казалось бы, простой операции: исправлении проективных искажений на изображении. Как это часто оказывается в жизни, нам пришлось выбирать, что важнее: качество или скорость. И чтобы достичь некого баланса мы вспомнили об алгоритмах, которые активно исследовали еще в 80-90-е годы в рамках задачи рендеринга структур, и с тех пор редко вспоминали в контексте обработки изображений. Если интересно, заглядывайте под кат!



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

Имитация рисования от руки на примере RoughJS

Время на прочтение8 мин
Количество просмотров11K
RoughJS это маленькая (<9 КБ) графическая библиотека JavaScript, позволяющая рисовать в эскизном, рукописном стиле. Она позволяет рисовать на <canvas> и с помощью SVG. В этом посте я хочу ответить на самый популярный вопрос о RoughJS: как это работает?


Немного истории


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

Вкратце изучив вопрос, я нашёл статью Джо Вуда и его коллег под названием Sketchy rendering for information visualization. Описанные в ней техники стали основой библиотеки, особенно в рисовании линий и эллипсов.

В 2017 году я написал первую версию библиотеки, которая работала только на Canvas. Решив задачу, я потерял к ней интерес. Год спустя я много работал с SVG, и решил адаптировать RoughJS для работы с SVG. Также я изменил структуру API, сделав её более простой, и сосредоточился на простых векторных графических примитивах. Я рассказал о версии 2.0 на Hacker News и внезапно она обрела огромную популярность. В 2018 году это был второй по популярности пост ShowHN.
Читать дальше →
Всего голосов 46: ↑46 и ↓0+46
Комментарии4

Руками не трогать! Управляем веб-страницей с помощью веб-камеры

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


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


Экономический кризис станет двигателем быстрой адаптации изменений: компании, которые первыми поймут, как дать пользователям дополнительную ценность или удобство, окажутся в топах. Перед IT-индустрией будет масса челленджей. И в этом материале мы поделимся своим решением одной из проблем нового мира. Но обо всем по порядку.

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

Django: краткое руководство по интернационализации

Время на прочтение5 мин
Количество просмотров27K
Перевод приложения на разные языки и его локализация — это нечто такое, чем приходится заниматься всем разработчикам. В материале, перевод которого мы сегодня публикуем, представлено краткое руководство по интернационализации Django-приложений.

Часть того, о чём тут пойдёт речь, применимо к локализации любых Python-проектов. Разобрав основы, мы поговорим об ускорении работ по интернационализации. В частности — о применении платформы Phrase.



Предполагается, что у читателя этого материала имеется работающее Django-приложение, и то, что у него установлен пакет gettext (установить его можно, например, командой pip install gettext). Если вы раньше не пользовались Django (популярным веб-фреймворком, основанным на Python), то вам, возможно, будет полезно сначала взглянуть на это официальное руководство, а потом вернуться к данной статье.
Читать дальше →
Всего голосов 41: ↑40 и ↓1+39
Комментарии9

Руководство по FFmpeg libav

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

Долго искал книгу, в которой было бы разжёвано, как использовать FFmpeg-подобную библиотеку, известную как libav (название расшифровывается как library audio video). Обнаружил учебник «Как написать видеоплеер и уложиться в менее чем тысячу строк». К сожалению, информация там устаревшая, так что пришлось создавать мануал своими силами.

Большая часть кода будет на C, однако не волнуйтесь: Вы легко всё поймёте и сможете применить на любимом языке. У FFmpeg libav уйма привязок ко многим языкам (в том числе и к Python и к Go). Но даже если Ваш язык прямой совместимости не имеет, всё равно можно привязаться через ffi (вот пример с Lua).

Начнём с краткого экскурса о том, что такое видео, аудио, кодеки и контейнеры. Затем перейдем к ускоренному курсу, посвященному использованию командной строки FFmpeg, и, наконец, напишем код. Не стесняйтесь переходить сразу в раздел «Тернистый путь изучения FFmpeg libav».

Есть мнение (и не только моё), что потоковое интернет-видео уже приняло эстафету от традиционного телевидения. Как бы то ни было, FFmpeg libav точно достоин изучения.

Оглавление


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

Шаблон backend сервера на Golang — часть 1 (HTTP сервер)

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

UPD. Ссылка на новый репозиторий проекта с поддержкой развертывания в Kubernetes


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


Шаблон включает:


  • Передачу параметров сервера через командную строку github.com/urfave/cli
  • Настройка параметров сервера через конфигурационный файл github.com/sasbury/mini
  • Настройка параметров TLS HTTP сервера
  • Настройка роутера регистрация HTTP и prof-обработчиков github.com/gorilla/mux
  • Настройка уровней логирования без остановки сервера github.com/hashicorp/logutils
  • Настройка логирования HTTP трафика без остановки сервера
  • Настройка логирования ошибок в HTTP response без остановки сервера
  • HTTP Basic аутентификация
  • MS AD аутентификация gopkg.in/korylprince/go-ad-auth.v2
  • JSON Web Token github.com/dgrijalva/jwt-go
  • Запуск сервера с ожиданием возврата в канал ошибок
  • Использование контекста для корректной остановки сервера и связанных сервисов
  • Настройка кастомной обработки ошибок github.com/pkg/errors
  • Настройка кастомного логирования
  • Сборка с внедрением версии, даты сборки и commit

Вторая часть посвящена прототипированию REST API.


Третья часть посвящена развертыванию шаблона в Docker, Docker Compose, Kubernetes (kustomize).


Пятая часть посвящена оптимизации Worker pool и особенностям его работы в составе микросервиса, развернутого в Kubernetes.


Ссылка на репозиторий проекта.

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

Дорожная карта математических дисциплин для машинного обучения, часть 1

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

Вместо предисловия


Допустим, сидя вечерком в теплом кресле вам вдруг пришла в голову шальная мысль: «Хм, а почему бы мне вместо случайного подбора гиперпараметров модели не узнать, а почему оно всё работает?»
Читать дальше →
Всего голосов 40: ↑39 и ↓1+38
Комментарии42

Реализация поиска печатей на OpenCV без нейронок, регистрации и смс

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


Не так давно перед нами стояла задача найти и извлечь печати с документов. Зачем? Например, для проверки наличия печатей в договорах с двух сторон (участников договора). У нас в закромах уже был прототип для их поиска, написанный на OpenCV, но он был сыроват. Решили откопать данный реликт, стряхнуть с него пыль и на его основе сделать рабочее решение.


Большинство приемов, описанных здесь, можно применить и вне задачи поиска печатей. Например:


  • цветовая сегментация;
  • поиск круглых объектов / окружностей;
  • конвертация изображения в полярную систему координат;
  • пересечение объектов, Intersection over Union (IoU, Коэффициент Жаккара).

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

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

Использование сверточной нейронной сети для игры в «Жизнь» (на Keras)

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


Цель этой статьи — научить нейронную сеть играть в игру "Жизнь", не обучая ее правилам игры.


Привет, Хабр! Представляю вашему вниманию перевод статьи "Using a Convolutional Neural Network to Play Conway's Game of Life with Keras" автора kylewbanks.

Читать дальше →
Всего голосов 31: ↑28 и ↓3+25
Комментарии23

Делаем интерактивный план местности за 15 минут

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


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

Всего голосов 16: ↑15 и ↓1+14
Комментарии2

Методы наименьших квадратов: текст, написанный программистом для программистов

Время на прочтение19 мин
Количество просмотров36K
Продолжаю публикацию своих лекций, изначально предназначенных для студентов, учащихся по специальности «цифровая геология». На хабре это уже третья публикация из цикла, первая статья была вводной, она необязательна к прочтению. Однако же для понимания этой статьи необходимо прочитать введение в системы линейных уравнений даже в том случае, если вы знаете, что это такое, так как я буду много ссылаться на примеры из этого введения.

Итак, задача на сегодня: научиться простейшей обработке геометрии, чтобы, например, суметь преобразовать мою голову в истукана с острова Пасхи:


Читать дальше →
Всего голосов 84: ↑80 и ↓4+76
Комментарии13

Информация

В рейтинге
3 201-й
Дата рождения
Зарегистрирован
Активность