Александр Кривошлык
← Все кейсы

Система анализа изображений керна

Расчёт признаков слоя керна

Объединил локальные Java-алгоритмы и Python/CV-сервис в процесс расчёта геометрических, визуальных и спектральных признаков. Расчёт учитывает неполные данные и изменения геометрии слоя.

Задача

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

Моя ответственность

Реализовал backend, доменную модель, хранение и тесты. Контракт с Python/CV-сервисом спроектировал совместно с AI-командой.

Результат

Backend рассчитывает и сохраняет доступные признаки, учитывает смещения сенсоров и запускает пересчёт после серии правок.

Слой как единица анализа

Пользователь выделяет слои на панорамном изображении керна и назначает им класс. Расчёт признаков готовит данные для автоматической классификации; сама классификация и проверка её качества на момент описания оставались в разработке.

От сенсоров к группам признаков

Разделил загрузку исходных данных, подготовку контекста, вычисления и сохранение. Локальные Java-алгоритмы и Python/CV-сервис включены в общий backend-процесс; контракт с сервисом согласован вместе с AI-командой.

Данные сенсоровИзображения и контур слоя
Единые координатыRGB как база, физические координаты и offset по Y
Независимые группы расчётов
Геометрические
Визуальные
Спектральные
↓ Сохранение доступных результатов и явное обозначение отсутствующих значений
Упрощённая схема расчёта. Отсутствие данных одной модальности не останавливает остальные группы; распределение конкретных алгоритмов между Java и CV-сервисом здесь не раскрывается.

Неполные данные и редактирование

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

Частичный результат. Структура вектора остаётся стабильной. Отсутствующее исходное значение отделено от нейтрального нормализованного представления. Такое поведение согласовали командой вместе с заказчиком.

Debounce. Пока пользователь меняет геометрию, пересчёт не запускается на каждое промежуточное движение: вычисления начинаются после серии правок.

Проверка и результат

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

Процесс поддерживает разные сенсоры и частичные результаты. Ускорение ручной разметки не заявляется: оно зависит от будущих результатов классификации. Около 10 000 слоёв на километр — только иллюстративная гипотеза при 10 слоях на метр, не измеренная статистика.