Резюме
Создайте минимальный, но масштабируемый SDK для кастомной стереокамеры, который предоставляет:
плагинный интерфейс диспаратности (алгоритмы: SGBM, LightStereo, CREStereo; MVP: LightStereo CPU + LightStereo CUDA),
простой просмотрщик (стерео + глубина), и
Предоставьте MVP за 3 недели, готовую к производству структуру, четкие точки расширения и CI. SDK должен быть спроектирован для кроссплатформенности и независимости от языка (будущие привязки для Python, Rust, Java).
Целевой объем MVP (3 недели)
Платформы (MVP)
Основная разработка/тестирование: Linux x86_64 (Ubuntu 22.04 или 24.04).
Дополнительно (желательно, если позволит время): Windows 11.
GPU: NVIDIA CUDA (12.x) для варианта LightStereo CUDA (если GPU присутствует). CPU-only все равно требуется.
Основные модули
Абстракция движка диспаратности
Реализации MVP:
LightStereoCPU (без GPU)
LightStereoCUDA (CUDA 12.x)
Только заглушки (без реализации) для SGBM и CREStereo для демонстрации точек расширения (возвращать “не реализовано”, но компилировать).
Просмотрщик (простой)
Минимальный интерфейс
Панели:
Живой стерео просмотр (левый/правый выровненный).
Просмотр глубины: цветная глубина, с ползунком динамического диапазона + щелчок для определения пикселя, чтобы показать глубину (м) и диспаратность.
FPS + наложение задержки.
Выбор источника (папка-заглушка / API камеры).
Выбор алгоритма (LightStereo CPU/CUDA).
Запись/Воспроизведение:
Дополнительно, если позволит время: запись/чтение простого формата набора данных (pngs + временные метки + json).
Публичный C API (для будущих языковых привязок)
Предоставить тонкий C уровень поверх C++ ядра
Демонстрационная привязка Python через pybind11 вокруг C API. Это доказывает многоязычную жизнеспособность сейчас; Rust/Java будут добавлены позже с использованием того же C ABI.
Не цели (MVP)
Полная кроссплатформенная паритетность (macOS, ARM) — просто спроектируйте для этого.
Интеграция драйвера камеры производственного уровня — мы будем использовать чистый интерфейс и заглушку источника сейчас.
Расширенные функции интерфейса (инструменты ROI, 3D облако точек) — могут быть будущей работой.
Технический стек
Язык: C++20 для ядра; C ABI для FFI; минимальные C обертки.
Сборка: CMake (экспортируемые цели, find_package готово).
Компьютерное зрение: OpenCV 4.8+.
GPU: CUDA 12.x (опционально во время выполнения).
UI: Dear ImGui + GLFW (или Qt 6, если подрядчик предпочитает, но необходимо сохранить чистоту слоев).
Привязки: pybind11 (демонстрация MVP).
Тестирование: GoogleTest + тесты на основе данных; clang-format/clang-tidy.
CI: GitHub Actions (сборка Linux + модульные тесты; опционально Windows).
Результаты
Репозиторий исходного кода.
Скрипты сборки (CMake) и README с:
предварительные требования, сборка, запуск и примеры команд,
как вызывать C API и привязку Python.
CLI инструменты
stereo_viewer (запуск просмотрщика; выбор алгоритма; показ стерео+глубины).
stereo_benchmark (опционально: измеряет FPS/задержку на образцах данных).
Демонстрация Python
Минимальный пример examples/python/run_lightstereo.py, который загружает два изображения + калибровку (зашитую) и возвращает глубину.
Модульные тесты
Согласованность выравнивания.
Тесты дымовой проверки API диспаратности для вариантов CPU/CUDA.
CI конвейер (сборка Linux + тесты).
Документация
Справочник API (doxygen или md файлы).
Диаграмма обзора архитектуры.
Руководство по расширению: “Как добавить новую IDisparity реализацию”.
Артефакты релиза
libstereo_sdk.so (или .dll), CLI инструменты и Python wheel для Linux (cp310+).
Сроки и этапы (3 недели)
Неделя 1
Структура репозитория, CMake, основные типы, скелет C API.
Неделя 2
Интерфейс IDisparity + реализация LightStereoCPU.
Просмотрщик (стерео + глубина; выборщик; наложение FPS).
Привязка Python (путь запуска), первоначальные тесты, CI.
Неделя 3
Реализация LightStereoCUDA и выбор во время выполнения.
Стабилизация C API; документация; примеры.
Производительность; модульные тесты; упаковка и доставка.
Квалификация подрядчика
Сильные знания C++ (C++17/20) и CMake.
Опыт работы с OpenCV.
Опыт работы с глубокими/диспаратными моделями (LightStereo/CREStereo/SGBM) и CUDA ядрами или развертыванием.
Знакомство с FFI и созданием C ABI для привязок Python/Rust/Java.
Уверенность в использовании Dear ImGui (или Qt) для быстрого создания просмотрщиков.
Бонус: упаковка (Python wheels), сборки для Windows, архитектуры плагинов.
Актуальные фриланс-проекты в категории C и C++
Чёрная Украина (RP-проект на базе MTA)
51 525 UAH
|
Инженер по инфраструктуре резидентных проксиМы строим сеть резидентных прокси с нуля — полностью собственную, без сторонних поставщиков. Нам нужен один исключительный сетевой инженер для создания всей технической базы. Что вы будете строить: - Android SDK для фонового использования, который направляет прокси-трафик через… C и C++, DevOps ∙ 5 дней 10 часов назад ∙ 13 ставок |
Добробка в существующей версии 1с розница блока для РЦ(распределительного центра)В общем поясню, что у нас за база - есть общий сервер, где есть база Розница (где ставятся все приходы) - база УТП, куда переливаются все продажи - считается наценка, остатки по складам - маленькие базы розничных магазинов. По обменам у нас магазины обмениваются с базой Розница… C и C++, C# ∙ 6 дней назад ∙ 6 ставок |
ПО Мастер-программа «KONSTRUCTOR»
185 490 UAH
Мы ищем очень опытного C++ разработчика для модернизации существующего ПО (мастер-программы). Программа отвечает за создание производного ПО представляющего аудио-визуальные сеансы психологической коррекции. Текущая версия написана на чистом WinAPI (Visual Studio 2019/2022).… C и C++, Десктопные приложения ∙ 11 дней 4 часа назад ∙ 19 ставок |
Написание кода для ArduinoНеобходимо разработать программное обеспечение для весового дозатора на базе Arduino Uno. Комплектующие: Arduino Uno R3 HX711 + тензодатчик LCD1602 I2C дисплей MAX7219 светодиодная матрица 8x32 5 кнопок управления 4-канальное реле 2 сигнальные лампы Вибромагнит грубого… C и C++, Встраиваемые системы и микроконтроллеры ∙ 12 дней 12 часов назад ∙ 15 ставок |