Система анализа изображений керна
Расчёт признаков слоя керна
Объединил локальные Java-алгоритмы и Python/CV-сервис в процесс расчёта геометрических, визуальных и спектральных признаков. Расчёт учитывает неполные данные и изменения геометрии слоя.
Задача
Для слоя на панораме нужен согласованный набор признаков из разных сенсоров, даже при неполных данных и изменении контура.
Моя ответственность
Реализовал backend, доменную модель, хранение и тесты. Контракт с Python/CV-сервисом спроектировал совместно с AI-командой.
Результат
Backend рассчитывает и сохраняет доступные признаки, учитывает смещения сенсоров и запускает пересчёт после серии правок.
Слой как единица анализа
Пользователь выделяет слои на панорамном изображении керна и назначает им класс. Расчёт признаков готовит данные для автоматической классификации; сама классификация и проверка её качества на момент описания оставались в разработке.
От сенсоров к группам признаков
Разделил загрузку исходных данных, подготовку контекста, вычисления и сохранение. Локальные Java-алгоритмы и Python/CV-сервис включены в общий backend-процесс; контракт с сервисом согласован вместе с AI-командой.
Неполные данные и редактирование
Общие физические координаты. Данные других сенсоров приводятся к RGB через физические координаты и компенсацию смещения по Y. Признаки относятся к области, которую выделил пользователь.
Частичный результат. Структура вектора остаётся стабильной. Отсутствующее исходное значение отделено от нейтрального нормализованного представления. Такое поведение согласовали командой вместе с заказчиком.
Debounce. Пока пользователь меняет геометрию, пересчёт не запускается на каждое промежуточное движение: вычисления начинаются после серии правок.
Проверка и результат
Реализовал backend, доменную модель, хранение, интеграционные адаптеры, часть локальных алгоритмов и тесты. Корректность проверяли вручную, совместно с AI-разработчиками и через корреляционный анализ признаков.
Процесс поддерживает разные сенсоры и частичные результаты. Ускорение ручной разметки не заявляется: оно зависит от будущих результатов классификации. Около 10 000 слоёв на километр — только иллюстративная гипотеза при 10 слоях на метр, не измеренная статистика.