Ведущий инженер-программист (C++ / Qt / Computer Vision & AI)
Описание
ОАО «ЛЕНПОЛИГРАФМАШ» уже более 135 лет работает на рынке точного приборостроения и машиностроения и на сегодняшний день остаётся одним из ведущих предприятий Санкт-Петербурга в этой сфере. Мы — головная организация производственного дивизиона Холдинга "ЛЕНПОЛИГРАФМАШ", объединяющего 45 компаний. Основное направление нашей деятельности — разработка и производство широкой номенклатуры высокотехнологичных изделий, а также специализированного программного обеспечения для периферийной компьютерной техники (принтеров, сканеров и др.), предназначенной для эксплуатации в жестких механико-климатических условиях. Задачи: Участие в полном цикле разработки высоконагруженных и критичных к надежности систем. Разработка кроссплатформенного ПО для систем технического зрения и контроля качества. Обязательные требования (Hard Skills): Базовый C++ и системное программирование: глубокое знание C++ (стандарты C++11/14/17). Уверенное владение STL, шаблонами, умными указателями, move-семантикой; опыт разработки многопоточных приложений (работа с потоками, синхронизация, атомарные операции). опыт создания кроссплатформенных решений на фреймворке Qt (сигналы/слоты, QML или QWidgets, работа с сетью, последовательными портами, БД). 2. Работа с аппаратной частью: понимание стандартов машинного зрения (GenICam, GigE Vision, USB3 Vision). Опыт настройки параметров захвата (экспозиция, баланс белого, частота кадров, аппаратные триггеры) и работа с SDK популярных производителей (Basler, FLIR/ADI, Hikrobot, Daheng или отечественные аналоги. 3.Взаимодействие с базами данных: написание модулей обмена с СУБД (SQLite, PostgreSQL, MySQL) в рамках Qt-приложений (через QtSql или ODBC). 4. Операционные системы: Разработка и отладка кода под Windows и Linux (знание системных вызовов, работа с файловой системой, процессами, сокетами). 5.Архитектура и проектирование: умение проектировать архитектуру сложных многомодульных систем. Составление структурных и блок-схем (UML, BPMN). понимание паттернов проектирования, принципов SOLID, подходов к организации кода в больших проектах. 6. Инструменты и качество кода: опыт работы с Git; написание юнит-тестов (GTest, QTest) и проведение интеграционного тестирования; ведение технической документации (ТЗ, пояснительные записки, инструкции по сборке и эксплуатации). 7. Работа с ИИ и обработка изображений: получение статичных изображений: Разработка модуля захвата, который по запросу (программному или от аппаратного триггера) получает одно или несколько неподвижных изображений с камеры. Сохранение снимков в файловую систему (с поддержкой форматов TIFF, PNG, JPEG) для последующего архивирования и верификации; адаптация готовых моделей: Умение брать предобученные модели детекции (например, YOLOv8, а также более лёгкие версии) и адаптировать их под задачу обнаружения требуемых объектов на изображении; подготовка датасетов: самостоятельный сбор, ручная разметка и аугментация изображений для дообучения модели на конкретных примерах; дообучение (Fine-tuning): запуск процесса дообучения модели на собственном размеченном датасете с использованием PyTorch / TensorFlow, подбор гиперпараметров. интеграция в Qt: встраивание дообученной модели в приложение на C++/Qt. Использование инференс-движков (ONNX Runtime, TensorRT, OpenVINO) и библиотеки OpenCV для предобработки (нормализация, коррекция дисторсии, фильтрация шумов) и постобработки (анализ уверенности, фильтрация по площади, объединение пересекающихся боксов); 8. Желательные навыки (Will be a plus): Знание Python для написания вспомогательных скриптов (разметка, конвертация моделей, автоматизация). Условия: Оформление согласно ТК РФ (с первого рабочего дня). График работы: 5/2 с 8:00 до 16:30. Стабильная выплата зарплаты - 2 раза в месяц. Испытательный срок 3 месяца. Наличие Профсоюзной организации (скидки на путевки: базы отдыха ХОЛДИНГа "ЛЕНПОЛИГРАФМАШ" и Детский оздоровительный лагерь) , а также наличие лицензированного медицинского кабинета для профилактического осмотра и выдачи направлений.