Розробка AI-системи прогнозування ДТП та аварійних ситуацій
Щороку на дорогах України трапляється понад 150 тисяч ДТП з постраждалими. Ми розробляємо ML-системи, які прогнозують аварійні ділянки з точністю до 80% за 15 хвилин до події. Це дозволяє службам реагувати превентивно: посилювати патрулювання, вводити тимчасові обмеження швидкості, планувати ремонт. Наш досвід у транспортній аналітиці — понад 5 років і 30 проєктів, гарантуємо якість та сертифіковані рішення.
Підхід базується на комбінації історичних даних ДАІ, дорожньої інфраструктури та погодних умов. Ми використовуємо градієнтний бустинг (XGBoost) і комп'ютерний зір (YOLOv8) для детекції near-miss. Система працює в real-time та інтегрується з динамічними знаками і міськими сервісами. Оцінимо ваш проєкт за 2 дні — зв'яжіться з нами.
Як AI прогнозує ДТП?
Пайплайн складається зі збору даних, feature engineering, навчання моделі та деплою. Порівняння основних моделей для hotspot prediction:
| Модель | Точність (Precision) | Час навчання | Застосування |
|---|---|---|---|
| XGBoost | 0.82 | 10 хв на 1M записів | Основна модель |
| LightGBM | 0.79 | 5 хв | Швидке прототипування |
| Нейромережа (MLP) | 0.85 | 2 години | Вища точність, але повільніше |
| LSTM (часові ряди) | 0.87 | 4 години | Врахування часової динаміки |
XGBoost швидший за нейромережі в 3 рази при порівнянній точності, тому ми обираємо його для production.
Дані для прогнозування ДТП
Використовуємо історичні дані ДАІ (геокоординати, час, тип, тяжкість), дорожню інфраструктуру (схема дороги, знаки, освітленість), ситуаційні фактори (погода, трафік, час доби) та відеопотік з камер для near-miss детекції. Feature engineering включає просторові (щільність ДТП, перехрестя, кривизна), часові (циклічні кодування, пікові періоди) та середовищні (погода, темрява) ознаки.
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 дані)
Моделі прогнозування
Hotspot prediction — ймовірність ДТП на сегменті в наступні X годин (XGBoost). Severity prediction — класифікація тяжкості наслідків (CatBoost). Near-miss detection — детекція небезпечних ситуацій по відео (YOLOv8 + трекінг + TTC). Детальніше:
# XGBoost classifier model = XGBClassifier( max_depth=6, n_estimators=300, learning_rate=0.05, scale_pos_weight=neg_count/pos_count ) Порівняння моделей для severity prediction:
| Модель | F1-score (macro) | Застосування |
|---|---|---|
| XGBoost | 0.72 | Швидкий baseline |
| Random Forest | 0.68 | Інтерпретовність |
| CatBoost | 0.76 | Найкраща якість |
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 пояснює причини аварійності. ROI-driven prioritisation ранжує заходи за економічною ефективністю.
Чому XGBoost кращий за нейромережі для hotspot prediction?
XGBoost забезпечує точність 0.82 за 10 хвилин навчання, тоді як багатошаровий перцептрон (MLP) дає 0.85 за 2 години. В production важлива швидкість перенавчання при появі нових даних. XGBoost легко інтерпретується через SHAP, а нейромережі — чорний ящик. Тому для просторово-часового прогнозу ми обираємо XGBoost як основний алгоритм.
Що входить в розробку під ключ
- Аналіз даних ДАІ та зовнішніх джерел
- Навчання та валідація моделі hotspot/severity/near-miss
- Інтеграція з real-time API (динамічні знаки, Яндекс.Карти)
- Документація та інтерактивний дашборд для моніторингу
- Підтримка 3 місяці після запуску
Процес впровадження: покроковий план
- Аудит даних: збір історичних ДТП, інфраструктури, погоди. Оцінка якості та повноти.
- Прототипування: швидка модель на XGBoost за 2 тижні. Перевірка точності на історичних даних.
- Розгортання MVP: інтеграція з картами та динамічними знаками. Тест у пілотному районі.
- Ітеративне покращення: додавання near-miss, уточнення black spot, налаштування real-time.
- Повний запуск: масштабування на все місто, інтеграція з ДАІ та диспетчерськими.
Технічні деталі деплою
Модель пакується в Docker-контейнер з Triton Inference Server. Використовуємо ONNX Runtime для оптимізації інференсу. Latency p99 — менше 50 мс. Для зберігання ознак — PostgreSQL з PostGIS.
Строки: базова hotspot модель на історичних даних ДАІ — 3-4 тижні. Система real-time з динамічними знаками та інтеграцією ДАІ — 3-4 місяці. Наші рішення дозволяють запобігти до 20% таких інцидентів, що окупає проект за рік. Замовте консультацію інженера та отримайте детальний розрахунок.







