Pull to refresh
0
0
Кожанов Никита Юрьевич @nikkymen

Computer Vision, Machine Learning

Send message

Кластеризация в ML: от теоретических основ популярных алгоритмов к их реализации с нуля на Python

Level of difficultyHard
Reading time34 min
Views21K

Кластеризация — это набор методов без учителя для группировки данных по определённым критериям в так называемые кластеры, что позволяет выявлять сходства и различия между объектами, а также упрощать их анализ и визуализацию. Из-за частичного сходства в постановке задач с классификацией кластеризацию ещё называют unsupervised classification.

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

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

Основы обработки радиолокационных данных дистанционного зондирования Земли

Level of difficultyMedium
Reading time31 min
Views8.7K

В настоящее время все более востребованными становятся данные радиолокационного наблюдения (РЛН) с космических аппаратов дистанционного зондирования Земли. Наблюдая повышенный интерес к этой предметной области с одной стороны и явный недостаток информационных материалов по теме обработки радиолокационных данных ДЗЗ с другой, решили написать статью, которая, надеемся, будет полезна для всех интересующихся темой ДЗЗ.

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

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

Level of difficultyMedium
Reading time8 min
Views17K

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

Читать далее
Total votes 51: ↑50 and ↓1+65
Comments9

Запускаем Matlab внутри Docker-контейнера с поддержкой GUI в ОС GNU/Linux

Level of difficultyMedium
Reading time51 min
Views5.4K

Возникла задача запускать графические приложения в полностью изолированной среде: как от Интернета, так и от файловой системы «хозяйской» ОС. В моём случае это был Matlab. Пишут, что в последних версиях он стал шибко «умным»: сам без спроса постоянно лезет в сеть и чем-то там постоянно обменивается со своими серверами. Однако использовать для поставленной задачи виртуальную гостевую машину / аппаратную виртуализацию (наподобие VirtualBox) — это, ИМХО, «too much». Docker подошел бы гораздо лучше, т.к. он использует то же ядро ОС и не требует эмуляции / виртуализации ввода-вывода, что существенно экономит ресурсы. Однако Docker «из коробки» не предназначен для запуска GUI-приложений. Что ж, попробуем это исправить и запустить таки Matlab внутри Docker-контейнера с полной поддержкой «иксов» и GUI.

Читать далее
Total votes 13: ↑12 and ↓1+14
Comments9

15 ресурсов по Git. Что почитать/посмотреть?

Level of difficultyEasy
Reading time2 min
Views24K

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

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

Читать далее
Total votes 12: ↑8 and ↓4+4
Comments6

8 сервисов для доставки товаров в Россию в 2024 году. Разбираю риски

Level of difficultyEasy
Reading time7 min
Views14K

Сейчас сервисов, которые привозят товары в Россию – как грибов после дождя. Среди них много мошенников. Я сам дважды натыкался.

За полтора года я поработал с 12 мейлфорвардерами – сервисами по доставке товаров из стран Европы, США, Турции и ОАЭ. Более менее приличные описал ниже. Также в статье рассказываю о рисках и нюансах работы с описанными сервисами.

Читать далее
Total votes 12: ↑11 and ↓1+13
Comments16

Встречайте QmlBrowser – маленький, но перспективный принц на балу старых пердунов

Level of difficultyEasy
Reading time8 min
Views9.9K

HTML стал для нас совершенно естественным способом взаимодействия с аудиторией в интернете. И мы уже даже не задумываемся над тем, так ли он удобен на самом деле, возможны ли более современные и удобные альтернативы? И в то же время мы так или иначе испытываем недовольство от использования HTML приложений, зачастую успокаивая себя мантрой: «Ну это же HTML, что от него ожидать?». Попытке решить эту проблему и найти альтернативу привычному HTML и посвящена эта статья.

Читать далее
Total votes 24: ↑21 and ↓3+23
Comments36

DVC — прекрасный инструмент для DataScience

Level of difficultyMedium
Reading time9 min
Views11K

Привет Хабр, меня зовут Дмитрий Несмеянов, я являюсь руководителем направления разработки ML-инфраструктуры "ЛОКО-банка".

Сегодня я хочу рассказать про DVC: инструмент, который многие, незаслуженно, обходят стороной. Была хорошая статья от Райффайзен Банк, в этой статье я постараюсь резюмировать мою и коллег экспертизу в работе с DVC.

DVC (Data Version Control) - это система версионирования датасетов и не только, которая является надстройкой над git. Если вы умеете работать с git, поздравляю, вы умеете работать с DVC. Кроме того, DVC позволяет логировать эксперименты, а также делать Auto-ML.

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

Проксируем OpenVPN через Shadowsocks или чиним OpenVPN во время блокировок

Level of difficultyEasy
Reading time3 min
Views31K

В данной статье рассмотрим как настроить существующее подключение к OpenVPN серверу, которое могло или может перестать работать, через shadowsocks (Outline VPN) туннель на OpenWRT любых версий с помощью openvpn-openssl и shadowsocks-libev.

Понадобятся:

Существующий сервер OpenVPN и настроенный клиент на OpenWRT

Конфиг shadowsocks (Outline) вашего либо чужого сервера.

Свободные 650кб памяти в роутере

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

Дружим YOLACT и RockChip: запуск инстанс-сегментации на китайском одноплатнике

Level of difficultyEasy
Reading time7 min
Views4.7K

Приветствую всех читателей Хабра! Сегодня я хочу поделиться своим опытом запуска YOLACT на edge-устройстве RockChip. Несмотря на то, что процесс занял больше времени, чем я ожидал, я решил поделиться с вами своими наработками, чтобы помочь другим разработчикам, которые могут столкнуться с той же задачей. В конце концов я нашёл способ запуска yolact, который позволил достичь высокой производительности и качества модели. Надеюсь, что мой опыт будет полезен для вас и поможет вам избежать ошибок, которые я совершил. Приятного чтения!

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

«SAM и тут и сям»: Segment Anything Model в задачах компьютерного зрения (часть 2)

Level of difficultyMedium
Reading time6 min
Views3K

В предыдущей части мы разобрали, как можно улучшить качество предсказаний SAM и ускорить её работу. Мы уже упоминали, что SAM — это фундаментальная модель, а значит, она может использоваться не только для сегментации, но и легко адаптироваться для решения других задач компьютерного зрения. Сегодня мы рассмотрим, как SAM может применяться для решения таких задач, как Image Inpainting, Object Tracking, 3D-сегментация и 3D-генерация, а также увидим, как SAM работает на датасетах из медицинской сферы и сравним дообученную модель с базовыми весами. А еще мы поделимся своим опытом и расскажем, как SAM облегчила нам разметку данных при сборе датасета бьютификации изображений.

SAM и тут и сям...
Total votes 12: ↑12 and ↓0+12
Comments0

8 инструментов для аннотирования изображений в 2023 году

Reading time7 min
Views4.9K

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

Что такое аннотирование изображений?


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

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

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


Примерами аннотирования изображений являются отрисовка ограничивающих прямоугольников вокруг объектов на фотографии, разметка объектов текстом или разделение изображения на части на основании его визуальных признаков.
Читать дальше →
Total votes 3: ↑3 and ↓0+3
Comments1

Shadowsocks-туннелирование корпоративного VPN

Level of difficultyEasy
Reading time8 min
Views47K

Если у вашей компании имеются серверы, работающие за границей, и доступ для внутренних пользователей вы предоставляете посредством VPN-протоколов (достаточно типовая схема, особенно после Covid — 2019, когда удалённая работа стала особенно популярной), то настало время действовать на опережение. Конечно, применение административного ресурса, возможно, защитит ваши интересы от тотальных проблем в будущем, но лучше подстраховаться, чем в один прекрасный день получить 100500 сообщений от систем мониторинга о недоступности опекаемых клиентов. Статья демонстрирует, как скрыть от противодействия со стороны систем глубокого анализа трафика сервисы компании, доступ к бизнес-процессам которых обеспечивается посредством VPN, используя для этого туннели shadowsocks.
Читать дальше →
Total votes 53: ↑53 and ↓0+53
Comments54

Проксируем OpenVPN с помощью Cloak

Level of difficultyEasy
Reading time9 min
Views57K

Cloak — это подключаемый транспорт, который расширяет возможности традиционных прокси-инструментов, таких как OpenVPN, Shadowsocks и Tor для обхода сложной цензуры и дискриминации данных.

Руководство будет включать:

1. Предисловие

2. Описание работы Cloak

3. Настройку сервера Cloak

4. Настройку клиента Cloak на OpenWRT

5. Настройку клиента OpenVPN

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

Сделай SAM: Segment Anything Model в задачах компьютерного зрения (часть 1)

Level of difficultyMedium
Reading time7 min
Views7.1K

Всем привет! В прошлой статье мы рассказывали, как можно ускорить процесс разметки данных с помощью интерактивной сегментации, и уже упоминали state-of-the-art-решение в этой области — модель Segment Anything. Сегодня остановимся на том, как можно улучшить качество и производительность SAM: научить модель генерировать более детализированные и гранулярные маски, а также ускорить её работу в 50 раз и адаптировать для мобильных устройств. А в следующей части на примерах покажем, что способности SAM не ограничиваются одной только сегментацией: модель может применяться для решения самых разных задач компьютерного зрения.

Что такое Segment Anything (SAM)? 

SAM (Segment Anything Model) — это сегментационная модель, которая была выпущена Meta AI*  весной 2023 года и быстро стала одной из самых популярных AI-моделей. SAM называют первой фундаментальной моделью в компьютерном зрении и сравнивают с ChatGPT в NLP из-за рекордно большого количества разнообразных данных, которые видела модель (SAM обучалась на датасете SA-1B, содержащем более одного миллиарда масок); а также из-за её способности к zero-shot transfer, то есть способности легко обобщаться для решения смежных задач.

Сделай SAM...
Total votes 22: ↑22 and ↓0+22
Comments3

Все DETRы мира: выкидываем и возвращаем энкоры. Часть 1

Level of difficultyHard
Reading time22 min
Views4.3K

Материал для ТГ-канала “Варим ML”

Я - большой фанат задачи детекции, она мне нравится по всем критериям. Она самая интересная концептуально - одновременно нужно и искать объекты, и определять их тип. Классификация целых изображений скучновата и не так часто применима на практике (по крайней мере в медицине), а сегментация мне кажется нудноватой - ну их, эти конкретные пиксели. Ещё статьи про детекцию - самые интересные для меня в техническом плане. Мне нравится разбираться в разных видах архитектур - anchor-based и anchor-free, one-stage и multi-stage, а ещё я очень люблю разные крутые идеи, которые улучшают тот или иной компонент детекционного пайплайна - например, PISA для умного взвешивания разных сэмплов в лоссе, Precise RoIPooling и Deformable RoIPooling для более точного и хитрого пулинга фичей, D2Det для декаплинга задач локализации и классификации, SoftNMS для замены традиционного NMS.

В 2020 году вышла крутая статья про новую архитектуру для детекции - DETR. Она меня очень вдохновила, и я тут же бросился впиливать её в проект Маммография (ММГ), тем более что код был с виду очень простой. После недели мучений я не смог выжать ничего адекватного - обучалось ужасно, долго и предиктило в основном фигню. Возможно, я где-то набаговал, но возиться дольше не хотелось.

Тем не менее, все три года идея всё-таки впилить DETR преследовала меня по пятам, тем более что за это время вышло несколько десятков статей, тем или иным образом улучшающим оригинальную архитектуру. И вот, в один прекрасный день я зачем-то решил прочитать вообще все статьи про DETRы, а заодно попробовать несколько вариаций в ММГ. Задача оказалась слегка сложнее, чем я ожидал…

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

MacOS Monterey на Linux — быстро и просто?

Level of difficultyEasy
Reading time3 min
Views46K
Что делать, если у вас возникло желание или необходимость заняться разработкой под MacOS или iOS, но под рукой нет макбука, а покупать его только чтобы открыть Xcode кажется делом сомнительным? Недавно я столкнулся с такой проблемой в одном из своих пет-проектов и решил ее достаточно просто и быстро. После выполнения нескольких достаточно примитивных шагов, мне удалось запустить MacOS Monterey как на скриншоте ниже.

image

Никакого Virtualbox, никакого Virtual Machine Manager. Из требований — только 100 Гб свободного места на диске и хотя бы 16 Гб оперативной памяти. В рунете я встречал описание похожих путей установки, вроде Docker-OSX или Sosumi. Но я бы хотел поделиться способом, который позволяет использовать актуальную версию MacOS (Sosumi — сразу минус) и не потратить уйму свободного времени на возню с конфигами и терминалом. Поехали.
Читать дальше →
Total votes 68: ↑64 and ↓4+75
Comments67

Пишем нейросеть для сегментации снимков со спутника

Level of difficultyEasy
Reading time16 min
Views7K

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

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

Call Stack Logger — инструментирование функций как способ отслеживания потока выполнения программы

Reading time14 min
Views3.9K

Доводилось ли вам когда-нибудь работать над C++ проектом с такой огромной кодовой базой, что понимание того, что на самом деле происходит во время выполнения программы, требует кучи времени и сил? Откуда и какие функции вызываются? Вам когда-нибудь поручали исправить баг в таком проекте, прилагая лишь логи, которые приближают вас к нахождению первопричины проблемы так же, как Моисей к земле обетованной? А попытки воспроизведения бага не дают вам никакой полезной информации? Если ваш ответ да – пожалуйста, присаживайтесь поудобнее.

Читать далее
Total votes 11: ↑9 and ↓2+9
Comments3

Введение в Adversarial attacks: как защититься от атак в модели глубокого обучения на транзакционных данных

Reading time7 min
Views4.4K

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

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

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

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

Виды атак

Существует несколько типов Adversarial attacks, каждый из которых имеет свои уникальные характеристики и методологию.

Читать далее
Total votes 1: ↑1 and ↓0+1
Comments1
1
23 ...

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity

Specialization

Software Developer, Application Developer
Lead
From 400,000 ₽
C++
Qt
OpenCV
Cuda
Computer vision
Neural networks