Подсчёт долей фракций руды на конвейере: SAM2 для разметки, YOLO и проблемы с перекрытием

На производственной площадке стоит камера над лентой конвейера, она снимает поток , а система считает доли трёх цветовых фракций — серо-белой, оранжевой, розовой — и пишет результат в JSON для следующего этапа обработки. Цвет фракции используется как косвенный признак химического состава — технолог по нему оценивает качество партии. Заказчику нужна всего одна цифра — доля оранжевой фракции . Для предприятия эта фракция самая интересная по составу, остальные классы имеют второстепенное значения. Эту цифру нужно предоставлять в режиме 24/7, без расхождений между сменами. Камера стоит в закрытом помещении внутри здания. Освещение искусственное, прожектора фиксированные. Естественного света нет, влажность стабильна, поэтому большинство стандартных проблем компьютерного зрения на улице — блики на мокрых камнях, изменение цвета по времени суток, тени от солнца — в нашем случае не возникают и в статье обсуждаться не будут.

https://habr.com/ru/articles/1034836/

#sam #instance_segmentation #yolo #SAM2 #машинное_обучение #машинное_зрение #computer_vision #разметка_данных #data_labeling

Подсчёт долей фракций руды на конвейере: SAM2 для разметки, YOLO и проблемы с перекрытием

Задача, с которой пришел заказчик На производственной площадке стоит камера над лентой конвейера, она снимает поток , а система считает доли трёх цветовых фракций — серо-белой, оранжевой, розовой — и...

Хабр

DIY-стенд для инспекции печатных плат (профиль, камера, шаговые двигатели и немного инженерного упрямства)

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

https://habr.com/ru/articles/1034422/

#diy #ии #стенд #из_говна_и_палок #диплом #ниокр #pcb #computer_vision #detection #arduino

DIY-стенд для инспекции печатных плат (профиль, камера, шаговые двигатели и немного инженерного упрямства)

Я, как и многие, залип в датасеты , метрики и нейросети - и в какой-то момент понял, что почти не думаю о главном, как вообще проходит процесс инспекции печатных плат. Чтобы закрыть вопрос реального...

Хабр

Ultralytics (@ultralytics)

Ultralytics YOLO26로 포장 라인 통로의 박스 개수를 실시간으로 세는 사례를 소개한다. 수작업 오류를 줄이고, 생산 현장의 가시성을 높이며, 산업 자동화와 컴퓨터 비전 기반 재고/물류 추적에 활용할 수 있다.

https://x.com/ultralytics/status/2049886586364371236

#ultralytics #yolo26 #industry40 #computer_vision #automation

Ultralytics (@ultralytics) on X

Count boxes in packaging aisles with Ultralytics YOLO26! 📦 Automate box counting in real time, reduce manual errors, and improve packaging line visibility as items move through aisle-based workflows. Read more ➡️ https://t.co/u2dwOKSXJt #Industry40 #AI #ComputerVision

X (formerly Twitter)

Muhammad Rizwan Munawar (@muhammdrizwanmr)

Ultralytics YOLO26의 region counting과 analytics(면적 플롯)를 통합해 구역별 총 유입/유출 카운팅을 시각화하는 방법을 소개한다. 지역별 카운트를 딕셔너리에 저장해 간단히 분석할 수 있으며, 객체 추적·산업 현장 분석에 활용 가능하다.

https://x.com/muhammdrizwanmr/status/2050072098010509334

#ultralytics #yolo26 #computer_vision #analytics #object_detection

Muhammad Rizwan Munawar (@muhammdrizwanmr) on X

Region + total in and out counting using @ultralytics YOLO26 😍 Here I am using the bar plot for every zone. I have simply integrated the region counting module with analytics (area plots). The process is very simple; you can store the region counts in the dictionary, and

X (formerly Twitter)

Flow Matching, 276M параметров и моделирование хаоса: как мы научили генеративную модель Marchuk предсказывать погоду

Привет, Хабр! Мы команда «Генеративный ИИ для видео» лаборатории FusionBrain AIRI — группа исследователей в области Generative AI. Наш основной профиль — модели генерации изображений и видео: пиксели, временная когерентность, латентные пространства, трансформеры и diffusion/flow‑подходы. Мы — не метеорологи. Но совсем недавно мы задались вопросом: можно ли взять SOTA‑идеи из алгоритмов генерации видео и применить их к задаче предсказания глобальной погодной карты, не превращая ML‑модель в усложненный пайплайн на базе специфических метеорологических знаний? Оказалось, что да, и весьма неплохо. В этой статье мы расскажем про нашу новую модель прогноза погоды на основе алгоритма Flow Matching под названием Marchuk, которая выгодно выделяется на фоне конкурентных подходов своей компактностью и производительностью. Она даже смогла предсказать морозы в январе 2026 года!

https://habr.com/ru/companies/airi/articles/1011256/

#прогноз_погоды #диффузионные_нейросети #Machine_Learning #Weather_Forecasting #Computer_Vision #Flow_Matching #Diffusion_Models #DiT #Research

Flow Matching, 276M параметров и моделирование хаоса: как мы научили генеративную модель Marchuk предсказывать погоду

Введение: взгляд на атмосферу через объектив видеокамеры Привет, Хабр! Мы команда «Генеративный ИИ для видео» лаборатории FusionBrain AIRI — группа исследователей в области...

Хабр

Приложение real-time face swap на чистом Rust: ONNX Runtime, lock-free потоки и 60 кадров в секунду

Большинство инструментов для замены лиц это Python-скрипты, склеенные из PyTorch, OpenCV и надежды. Они работают, но тащат за собой гигабайты зависимостей, требуют правильно настроенного CUDA и разваливаются в тот момент, когда ты пытаешься запустить их в реальном времени. Мне стало интересно: можно ли собрать весь пайплайн на чистом Rust? Без Python. Без PyTorch. Без обёрток. Один бинарник, который скачал, распаковал и запустил. Оказалось, можно. 60 fps на веб-камере. Пайплайн На каждом кадре последовательно отрабатывают четыре нейросети. RetinaFace находит лица и извлекает пять ключевых точек. ArcFace вычисляет 512-мерный эмбеддинг исходного лица. InSwapper принимает регион целевого лица и эмбеддинг источника, на выходе отдаёт заменённое лицо. GFPGAN опционально улучшает результат для более высокого качества. Все четыре модели работают через ONNX Runtime. Никаких кастомных CUDA-ядер, никакого оверхеда фреймворков. Тензор на вход, тензор на выход. Архитектура потоков Три потока, ноль блокировок на горячем пути. Поток захвата получает кадры с веб-камеры через nokhwa и публикует их через ArcSwap. Поток пайплайна подхватывает новые кадры, прогоняет инференс и публикует обработанные кадры через второй ArcSwap. Поток UI читает актуальный буфер и рендерит через egui. Никаких мьютексов на данных кадра. Никаких каналов. Никакого async. Только атомарные счётчики поколений и lock-free замена указателей. Структуры разделяемого состояния занимают ровно по 64 байта каждая и выровнены по кэш-линиям, чтобы исключить false sharing между ядрами. Это проверяется compile-time ассертами.

https://habr.com/ru/articles/1024700/

#Rust #ONNX #Machine_Learning #Computer_Vision #Face_Detection #egui #Open_Source #lockfree #multithreading #realtime

Приложение real-time face swap на чистом Rust: ONNX Runtime, lock-free потоки и 60 кадров в секунду

Большинство инструментов для замены лиц - это Python-скрипты, склеенные из PyTorch, OpenCV и надежды. Они работают, но тащат за собой гигабайты зависимостей, требуют правильно настроенного CUDA и...

Хабр

Мультимодальные модели – грубый и дорогой инструмент

Пока все в погоне за всё более универсальными ИИ-агентами пытаясь создать тот самый AGI по нашему подобию, мне кажется полезным спуститься на уровень ниже и посмотреть на более приземлённую инженерную проблему. Мы неплохо научили модели работать с текстом, кодом, изображениями и инструментами. Мы научили их вызывать функции, научили эти ИИ писать собственные инструменты каждый раз для задач которые повторяются миллионы раз, видеть как мы(фото), думать как мы(рассуждения). Мы научились – дообучать их под новые сценарии через fine-tuning. Но если убрать хайп, остаётся неприятный факт: во многих практических задачах модели по-прежнему работают грубо и дорого. Особенно хорошо это видно на фронтенде. Сегодня у модели есть два типовых способа "увидеть" сайт. Первый – читать код: HTML, CSS, JS, и серверную логику (если вы предоставили модели доступ). Второй – смотреть на скриншоты, а в более дорогом варианте – на видео (хоть и таких решений я не видел, и скорее не видео, а слайд-шоу, но считаю логичным внедрением для некоторых сценариев). И эти оба подхода неудобны. А обучать модель внутреннему представлению через имеющиеся виды зрения – как правильно, – как распознать кнопку итд – дорого, требует ещё больших данных, больше вычислений. А банально небольшое отклонение стиля уже ломает верстку. Да с бэкендом мы можем строить среду в которой благодаря RL обучению модель научится решать задачу. Но как быть с интерфейсом? Фото дает слишком много шума в виде пикселей, а код дает много лишнего шума в виде разметки, скриптов. Когда обычному пользователю: не нужно смотреть на каждый серый пиксель фона кнопки, или изучать все стили, js и html разметку сайта, он видит овал на котором написано "войти" – и понимает что это – кнопка, особенно, если при наведении или нажатии цвет фона кнопки меняется.

https://habr.com/ru/articles/1023916/

#мультимодальные_модели #интерфейсы #вебинтерфейсы #фронтенд #dom #computer_vision #ui #ai_agents

Мультимодальные модели – грубый и дорогой инструмент

Нам нужно новое зрение для интерфейсов Пока все в погоне за всё более универсальными ИИ-агентами пытаясь создать тот самый AGI по нашему подобию, мне кажется полезным спуститься на уровень ниже и...

Хабр

Как я выбираю моменты для Shorts: почему LLM + транскрипт почти всегда дают мусор

Это третья статья про мой "аниме завод" — систему, которая автоматически превращает длинные эпизоды в Shorts. Если хотите полный контекст, вот предыдущие части:

https://habr.com/ru/articles/1021552/

#llm #shorts #python #cv #computer_vision #signal_processing #multimodal #transcript #youtube_shorts #ai

Как я выбираю моменты для Shorts: почему LLM + транскрипт почти всегда дают мусор

Это третья статья про мой "аниме завод" — систему, которая автоматически превращает длинные эпизоды в Shorts. Если хотите полный контекст, вот предыдущие части: Как я построил «аниме-завод»: систему,...

Хабр

Я научил виртуальную камеру быть оператором: как устроен алгоритм face tracking для Shorts/Reels

В предыдущей статье я подробно рассказывал про свой "аниме завод" — пайплайн, который автоматически превращает эпизоды в готовые Shorts. Но внутри этой системы есть один особенно важный узел, который заслуживает отдельного разбора: виртуальная камера для автоматического кадрирования. В этой статье я разберу не просто "функцию автокропа", а полноценный алгоритм виртуальной камеры для вертикального видео. Это тот случай, когда задача на первый взгляд кажется простой: есть горизонтальный ролик, нужно сделать 9:16, удержать человека в кадре и не превратить результат в дёрганый автофокус из начала 2010-х. Но как только начинаешь делать это не для демо, а для реального пайплайна, сразу всплывают инженерные проблемы:

https://habr.com/ru/articles/1021278/

#face_tracking #virtual_camera #MediaPipe #YuNet #Haar_Cascade #OpenCV #Shorts #Reels #computer_vision #auto_crop

Я научил виртуальную камеру быть оператором: как устроен алгоритм face tracking для Shorts/Reels

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

Хабр

[Перевод] Аугментация ограничивающих боксов в детекции: форматы, `BboxParams` и типичные ошибки

Когда аугментации в детекции «не работают», проблема часто не в модели, а в bbox после преобразований. Неверный coord_format , перепутанные нормализованные и абсолютные координаты, агрессивные кропы, пустые боксы после фильтрации — всё это не ломает код, но quietly ломает обучение. В статье разбираю: — какие форматы bbox поддерживает Albumentations — как правильно настраивать A.BboxParams — когда использовать min_area и min_visibility — почему обычный RandomCrop часто плохая идея для detection — и где пайплайн чаще всего ломается на практике Если вы работаете с COCO , YOLO , pascal_voc или просто хотите перестать обучать модель на испорченной разметке — этот материал для вас.

https://habr.com/ru/articles/1020618/

#albumentations #bounding_boxes #object_detection #computer_vision #data_augmentation #bbox #coco #yolo #python #deep_learning

Аугментация ограничивающих боксов в детекции: форматы, `BboxParams` и типичные ошибки

Когда в пайплайне детекции всё вроде настроено правильно, а mAP упорно не растёт, проблема нередко оказывается не в модели и не в оптимизаторе, а в разметке после аугментации. Вы отразили изображение,...

Хабр