Данный репозиторий содержит исходный код "Динамографа" - Python приложения, основанного на FastAPI, интегрированного с машинным обучением для анализа динамограмм. Используется приложением для мониторинга и управления скважинами - Светофор, а также клиентским приложением Динамограф.
-
Анализ Динамограмм:
Приложение позволяет проводить анализ динамограмм в двух форматах:
Сырые данные
иИзображение
. -
Создание новых маркеров
В настоящее время поддерживается список маркеров, состоящий из 20 элементов
-
Пополнение датасетов и обучение
Возможность постоянного пополнения датасетов новыми данными и дообучение модели
-
Дополнительные параметры
Включение параметров скважины для наиболее тонкого анализа
Все запросы должны начинаться с префикса /v1
. Эндпоинты /dnm
, /marker
, /ai
поддерживают все
операции CRUD. Приведённые ниже запросы являются публичными и требуют для валидации API ключи, которые
устанавливаются в заголовок Authorization: Basic <YOUR_API_KEY>
. Ключи можно получить в приложении Динамограф.
Используется для получения пользователями Светофора случайной непромаркированной динамограммы. В результате пользователь получит объект с последней присвоенной ему динамограммой или же будет сгенерированна и отправлена новая.
GET /dnm/random/${public_id}
Parameter | Type | Description |
---|---|---|
public_id |
string |
Required. Публичный id пользователя "Светофор" |
GET /dnm/marker/all
Используется для получения пользователями Светофора всех доступных (1) маркеров. В результате пользователь получит список с объектами маркеров, которыми далее можно будет промаркировать полученную динамограмму
(1) Маркер - условное обозначение "Эталонной динамограммы", т.е изображения, которое отображает конкретую неисправность в ШГН.
Используется для получения пользователями Светофора случайной непромаркированной динамограммы. В результате пользователь получит объект с последней присвоенной ему динамограммой или же будет сгенерированна и отправлена новая.
POST /dnm/mark
Parameter | Type | Description |
---|---|---|
dnm_id |
list |
Required. Id динамограммы |
marking_data |
list |
Required. Список маркеров динамограммы |
Используется для создания отчётов по скважине. В результате пользователь получит строку - результат анализа.
POST /ai/predict/image
Parameter | Type | Description |
---|---|---|
image |
file |
Изображение динамограммы |
Принцип действия схожий с анализом по изображению, только предварительно данные конвертируются в матричный вид для удобства распознавания моделью машинного обучения.
POST /ai/predict/raw
Parameter | Type | Description |
---|---|---|
raw_data |
list |
Объект с точками динамограммы |
Client: Vue, Vite, TailwindCSS
Server: FastAPI, Uvicorn
DL: TensorFlow, Keras
Проект нашёл своё применение в компании ПАО "Татнефть"