Разработка AI-системы предсказания ДТП и аварийных ситуаций
Предсказание мест и времени ДТП позволяет превентивно усиливать патрулирование, вводить временные ограничения скорости и планировать ремонт аварийных участков. ML-системы типа PredPol-Traffic достигают точности идентификации зон повышенного риска 70-80% при 15-минутном горизонте.
Данные для предсказания ДТП
Исторические данные ДТП:
- ГИБДД: база данных ДТП с геокоординатами, временем, типом, тяжестью
- Карта ДТП (gibdd.ru): открытые данные
- Европейский CARE: European Road Accident Research and Education
Дорожная инфраструктура:
- Схема дороги (кривизна, количество полос, тип покрытия)
- Знаки и разметка (правила, ограничения)
- Освещённость, тип перекрёстка
- Техническое состояние (история ямочного ремонта)
Ситуационные факторы:
- Погода: дождь, снег, туман, гололёд
- Видимость: сумерки, ночь, яркое солнце
- Трафик: интенсивность, скорость потока
- Время суток и день недели
Feature Engineering
Spatial features:
def spatial_accident_features(segment_id, historical_accidents):
"""
Для каждого дорожного сегмента — пространственные характеристики
"""
return {
'accident_count_1year': count(accidents_last_year),
'accident_severity_mean': mean(injury_severity_scores),
'accident_rate_per_mvkt': accidents / (aadt * segment_length_km / 1000),
'nearby_accidents_500m': count(accidents_within_500m),
'ped_crossings_per_km': pedestrian_crossings / segment_length,
'intersection_density': intersections / segment_length,
'curvature_index': mean_curvature,
'speed_limit': posted_speed_limit
}
Temporal features:
- Циклические кодировки времени (sin/cos часа и дня)
- Пиковые периоды: утренний, вечерний, ночные часы
- Выходные и праздники
Environmental features:
- Фьючерс погоды: за час до прогноза
- Темнота: астрономические расчёты sunrise/sunset
- Дорожные условия: мокрая дорога, гололёд (NWP данные)
Модели предсказания
Задача 1: Hotspot prediction (пространственная) Предсказать вероятность ДТП на каждом сегменте в следующие X часов.
# XGBoost classifier
model = XGBClassifier(
max_depth=6,
n_estimators=300,
learning_rate=0.05,
scale_pos_weight=neg_count/pos_count # имбаланс: ДТП редки
)
Задача 2: Severity prediction Классификация: только материальный ущерб / лёгкие травмы / тяжкий вред / гибель. Для правильного распределения ресурсов: высокая тяжесть → более быстрый отклик.
Задача 3: Near-miss detection Опасные ситуации (near miss) — предшественники ДТП. Детекция по видеопотоку с дорожных камер: резкое торможение, экстренное перестроение. CV-модель: YOLOv8 для детекции ТС + tracking + вычисление TTC (Time To Collision).
Real-time система предупреждения
Динамические знаки: При предсказанном высоком риске на конкретном участке:
- Динамические знаки VMS: ограничение скорости -20 км/ч
- Светофорное управление: увеличение красной фазы для снижения скорости потока
Экстренные службы:
- ГИБДД: автоматическое уведомление → дополнительный патруль в зону риска
- ЕЦТО: предупреждение для диспетчеров городского транспорта
Водители:
- Яндекс.Карты / 2ГИС: отображение зон повышенного риска
- Push уведомления при въезде в зону высокого риска (при наличии согласия)
Анализ причин и меры безопасности
Black Spot Analysis:
def identify_black_spots(accidents_gdf, grid_size=100, threshold_accidents=3):
"""
Стандарт ЕС: участок = black spot если ≥3 ДТП с пострадавшими
за 3 года на 300 м дороги
"""
grid = create_grid(city_boundary, grid_size)
for cell in grid:
cell.accident_count = count(accidents_in_cell)
if cell.accident_count >= threshold_accidents:
cell.is_black_spot = True
return grid
Counterfactual analysis: SHAP для объяснения: почему конкретный участок стал hotspot. Если главный фактор — недостаточная видимость → предложение: добавить освещение.
ROI-driven prioritization: Ранжирование мероприятий по улучшению безопасности:
Benefit = expected_accidents_prevented × avg_accident_cost
Cost = engineering_intervention_cost
ROI = Benefit / Cost
Сроки: базовая hotspot модель на исторических данных ГИБДД — 3-4 недели. Система real-time с динамическими знаками и интеграцией ГИБДД — 3-4 месяца.







