ИНЖИНИРИНГ

Компьютерное зрение

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

Этот сервис сфокусирован на системах компьютерного зрения там, где важны логика детекции, условия среды, ограничения развёртывания и системная интеграция.

Фиксированная сметаОтвет в течение 1 рабочего дняЛюбой стек или языкВ ЕС · готовность к GDPR

Разобрать систему зрения до развёртывания

Расскажите, в чём разрыв: соответствие среде, поведение в рантайме, интеграция или дизайн пайплайна. Мы наметим самый сильный первый скоуп.

  • Фиксированная смета — без обязательств
  • Ответ в течение 1 рабочего дня

Отправляя форму, вы соглашаетесь, что мы можем связаться с вами по этому запросу.

inspect.py
import cv2import numpy as npfrom inspection import Detector, Verdict, plc# Loaded once at start-up: model load is ~900 ms and the line gives us 240 ms# per part. Anything that can be done before the first part arrives, is.detector = Detector("models/weld-seam-v7.onnx", provider="CUDAExecutionProvider")def inspect(frame: np.ndarray) -> Verdict: # Crop to the fixture. The camera sees the whole cell, but the weld is always # in the same window, and cropping first cuts inference cost roughly fourfold. roi = frame[220:820, 340:1240] # Normalise for the lighting, which drifts all shift as the lamps warm up. # Without this the model quietly gets worse between 06:00 and 10:00. gray = cv2.cvtColor(roi, cv2.COLOR_BGR2GRAY) gray = cv2.createCLAHE(clipLimit=2.0, tileGridSize=(8, 8)).apply(gray) # Infer. "Not sure" is a distinct outcome from "no defect", and conflating # the two is how vision systems lose the operators' trust in week three. boxes, scores = detector.run(gray) confident = scores >= 0.62 if not confident.any() and scores.max(initial=0) > 0.35: return Verdict.REVIEW # Decide inside the cycle time. The PLC holds the authority here; the vision # system only ever reports, so a crash fails safe instead of passing scrap. if boxes[confident].size: plc.write("Line1.Reject", True) return Verdict.REJECT plc.write("Line1.Pass", True) return Verdict.PASS
  1. 01 — Crop to the fixture

    The camera sees the whole cell. The weld is always in the same window, so cropping before inference cuts the cost about fourfold and removes most of the background the model could get distracted by.

  2. 02 — Normalise the lighting

    Shift lamps warm up over the morning and the image drifts with them. CLAHE flattens that out. Skip this and the model gets quietly worse between 06:00 and 10:00 — the hardest kind of fault to diagnose.

  3. 03 — Infer, and allow "not sure"

    Two thresholds, not one. A confident detection is a reject; a weak signal is sent for review. Collapsing those into a single yes/no is how a vision system loses the operators’ trust in week three.

  4. 04 — Decide, inside the cycle

    The PLC holds the authority. The vision system only reports, so if the inference box dies the line fails safe rather than passing scrap. That division is the difference between a demo and something allowed near production.

The model is the smallest part of this. Cropping, lighting, an explicit "not sure" outcome, and who is allowed to stop the line are what decide whether it survives a real shift.

Типичные проблемы

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

Что мы создаём

  • •Архитектура систем зрения и поддержка развёртывания
  • •Интеграция между пайплайнами зрения и окружающим софтом
  • •Улучшения надёжности для использования в реальной среде
  • •Инженерная поддержка операционных процессов зрения

Кому подходит

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

Наш подход

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

Технический фокус

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

Сжатый сценарий

Ситуация

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

Подход

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

Результат

Система зрения становится более пригодной к использованию в продакшене и более достойной операционного доверия.

Частые вопросы

Это только разработка модели?

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

Можете ли вы помочь довести прототип до продакшена?

Да. Этот переход часто — место, где начинается самая трудная инженерная работа.

Включает ли это интеграцию в более широкий продукт или машинную систему?

Да. Интеграция обычно центральна, чтобы выходы зрения стали реально полезными.

Другие инженерные услуги

Программная инженерия и научные вычисления

Программная инженерия, научные вычисления на C++/Python, заказные солверы и исполнение архитектуры.

Встраиваемые системы

Инжиниринг встраиваемых систем для границ железа и софта, логики устройств и поведения управления.

ПО для робототехники

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

Промышленная автоматизация и CFD/FEA

Промышленная автоматизация, CFD-симуляция в OpenFOAM, метод конечных элементов и моделирование процессов.