Як я створив проєкт для моніторингу залізничних переїздів: цілився у розв’язання своєї проблеми, а попав у біль тисячі

💡 Усі статті, обговорення, новини про продукти — в одному місці. Приєднуйтесь до Product спільноти!

Вітаю! Моє ім’я Ігор Карась. Я фаундер декількох проєктів з технічним бекграундом понад 20 років і це моя правдива історія побудови Rail-X — системи моніторингу залізничних переїздів на Python і нейромережах, ще до AI-лихоманки. Підготував для вас декілька інсайтів, тож беріть теплий чай з печивом і приготуйтесь до цікавої історії.

Все почалося з 20 хвилин, які стали тригером

Rail-X не починався як стартап. Не було презентацій, інвесторів, акселераторів і навіть бізнес-плану. Була дуже проста і зла побутова ситуація.

Надворі була весна 2018 року. Щоранку я возив сина в садочок через залізничний переїзд у місті Ірпінь. Потяг уже проїхав, а шлагбаум залишався закритим. Іноді — 15–25 хвилин поспіль. За цей час накопичувався затор, люди нервували, хтось сигналив, хтось виходив з авто «подивитися, що там сталося». А мене ще чекала дорога назад.

Через пів року такої невизначеності Бучанський переїзд став останньою краплиною — я простояв 30 (Карл!) хвилин, запізнюючись на зустріч, і мій терпець увірвався:

Чому у 21 столітті ми не знаємо, коли переїзд відкриється? Це ненормально.

Адже знаючи, що переїзд буде перекрито більш як 5 хвилин, я можу поїхати в об’їзд.

Коли емоції вгамувались, прийшла друга думка, яка була значно важливіша:

Ми занадто багато скаржимося на проблеми замість того, щоб взятися за їх розв’язання самостійно.

На той час у мене за плечима був 10-річний досвід комерційної розробки ПО. Програмування, в яке я закохався ще у 8 класі, було моєю роботою, хобі та, кінець кінцем, моїм життям! Я не сумнівався у навичках. Сумнів був лише в тому, скільки часу й нервів забере обраний шлях та що це за шлях...

Як зараз пам’ятаю, у мене пробудився цей хижацький інстинкт полювання, тільки тут було протистояння інженерської жилки, а рішення — це жертва, яку потрібно вполювати. Мій мозок почав працювати над пошуком шляхів реалізації мого задуму, а саме — як збирати інформацію про статус переїзду автоматично.

Неприємне відчуття, коли б’єшся головою об стінку, яку знаєш, що не проб’єш

Перша ідея не заставила себе довго чекати!

У ті роки «свічка» мого інтересу до побудови проєкту розумного будинку на Arduino догорала і майже згасла. Я перестав будувати велосипед (найулюбленіше заняття програмістів-романтиків) і розбудовував систему Smart House у своєму помешканні на основі одного популярного китайського бренду. У них є набір сенсорів Aqara, дані з яких можна було перенаправляти в OpenHAB, а там вже «широкий степ» для польоту фантазії.

Ідея була наївно-простою: приклеїти сенсор геркона на шлагбаум, який по протоколу mqtt відправляв би сигнали на шлюз у будці регулювальника, а той через 3G-модем далі на сервер. Діло в капелюсі, все точно запрацює!

З цією «геніальної ідеї», до якої додумався тільки я з-поміж всіх представників гомо сапієнс в Україні, швиденько пішов на пітчинг до найголовнішої людини на переїзді — регулювальника.

Холодний душ не заставив мене довго чекати. Виявляється, що залізничний переїзд це стратегічно важливий об’єкт ще з 1957 року. Щоб ви розуміли, настільки він важливий: потрібне пильне око людини та ліва рука з прапорцем, щоб просигналізувати машиністу, що у нього нічого не волочеться за останнім вагоном і можна продовжувати рух! А тут я приходжу з ініціативою наклеїти незрозумілий об’єкт на шлагбаум, та ще й націлився на споживання електроенергії для модема і хабу, щоб забезпечити роботу цього самого об’єкту. Небачена зухвалість.

Між рядками читалося, що мені потрібно було вище... на рівень регіонального керівника УЗ. Мені потрібно було дійти до цієї бетонної стінки, щоб добре вдаритися і набити шишку. І я це зробив через штурм форми зворотного зв’язку Укрзалізниці — на мене вийшов керівник колійного господарства (так, виявляється це робочий спосіб комунікації) і він, додавши льоду у діжку, закінчив мої водні процедури, початі ще на переїзді!

Процедура наступна:

  • для того, щоб щось додаткове обладнати для такого об’єкта з підвищеними заходами безпеки, як переїзд, потрібна сертифікація;
  • для сертифікації потрібно зробити мінімум один тест;
  • для встановлення обладнання для тестування, а також для встановлення обладнання на постійній основі, потрібен виїзд бригади;
  • залучення такої бригади має оплачуватись разом з усіма іншими процедурами.

Я розумів, що шлях складний, але тільки тоді усвідомив, наскільки — куди там тягатися тімліду з аутстафінгової компанії з такою великою державною машиною, як УЗ?!

Інсайт: хоч і поїзди їздять за графіком, переїзд закривається не за ним. Тому що тільки пасажирські дотримуються розкладу, а це половина всіх перевезень. Інша половина — вантажні, у них графіка немає.

Навіщо змагатися з Голіафом, якщо можна досягнути своєї цілі іншим шляхом?!

До мого роздратування додався виклик, який не дозволив відмовитись від своєї ідеї. Під час прогулянки до переїзду я помітив стовп з вузлом комунікацій інтернет-провайдера та ще й в дуже хорошому місці — там би гарно стала камера.

Це була хороша ідея. Стовп вже на балансі міста, живлення та інтернет-підключення вже є — залишилось прикрутити камеру. Забігаючи наперед, ця ідея таки спрацювала.

Швидкий пошук привів мене до камер провайдера Maximum NET, які були у відкритому доступі, там якраз був необхідний ракурс на ЗД-переїзд міста Вишневе — його і збирався використовувати.

На той час добре показувала себе ObjectDetection-модель на Tensorflow для розпізнавання обʼєктів на картинках. Після вивчення принципу дії зупинився на ній.

Далі справа за збором даних, а саме кадрів зі знайденої камери. Швидко написав скрипт на Python. За 24 години у мене було понад 2000 картинок — матеріалу для навчання. Далі розмітка (потрібно було вказати, що саме треба шукати на картинці), потім спроба навчання на моєму MacBook Pro 2015 року — ця ідея була так собі, хоча і достатня для хоч якоїсь перевірки дієздатності гіпотези.

Ендорфін лупасив по повній, здається, ті тижні тільки й на ньому вивозив. Тому що ця робота велася до основних моїх обов’язків, далі була робота, яка годувала, а після неї продовження. Відчувалась нестача сну. Хороше відчуття, але поступово «спалює».

Ситуація пригальмувалась через потребу в нормальному сервері з GPU для швидкості навчання і розпізнавання.

Яким би ти не був вмілим і наполегливим, без допомоги інших людей може нічого не вийти. Тому я звернувся до свого друга, який знався на залізі, він любив цю справу та якраз розпродавав свої майнінгові ферми. За тиждень у мене був сервер на базі AMD Ryzen 3 з двома NVIDIA GeForce GTX 1070.

Все було готово для запуску:

  • Python + Tornado як бекенд, там ще асинхронність була через yield, а не asyncio (навіть не питайте, чому).
  • MongoDB — подобалась вона мені тоді, та ще й цікаво було своє ORM туди написати.
  • ActiveMQ для черг з протоколом комунікації.
  • pyTelegramBot — за задумом все мало жити в Телеграмі — вікно комунікації для такий затятих бекендщиків, як я.
  • Tensorflow з ObjectDetection-моделькою на сервері з 2 GPU — це давало можливість перенавчати модель на одній, тим часом коли інша розпізнавала 5 кадрів за 1 секунду.

Сам писав, сам тестував, сам маркував, навчав, деплоїв... все як у класика, все сам. Це робилося на шаленому ентузіазмі і все запрацювало в зв’язці:
— нейронка аналізувала кадри з відеопотоку камери;
— як тільки вона помічала зміну положення шлагбаумів, відправляла сигнал на Backend;
— той своєю чергою за допомогою Telegram-бота постив новий статус у канал.

Все було готово для того, щоб показати це мешканцям Вишневого.

Те приємне відчуття, коли стоїш перед дверима і розумієш, що за ними багато цікавого

Таке відчуття я вже переживав у 2012 році. Мені пощастило потрапити до ядра розробників OLL.tv перед запуском і до його презентації. Тоді я активно моніторив Twitter і Facebook в жадібному пошуку коментарів від звичайних людей про те, як вони сприймали наш продукт. Працювати над продуктом і спостерігати, як він розвивається, дуже захопливо!

Це відчуття відвідало мене знову! 22 листопада 2018-го я зробив декілька дописів у групи міста Вишневого, написав декілька коментарів і новина розійшлася, почалося активне обговорення. Люди почали додаватись в канал і генерувати ідеї для покращення. Через два місяці на каналі було 3000 підписників без жодної реклами та маркетингових потуг. Ідея і її реалізація «зайшли» — здається, я на щось натрапив...

Після декількох місяців роботи була зібрана статистика і стало зрозуміло, чому люди позитивно відгукнулися про роботу бота. Той переїзд дійсно пекельний, ось статистика закриття за 2020 рік — 50% часу він був закритий і об’їхати його важко:

Через три місяці після запуску вдалося зібрати достатню кількість даних, щоб почати будувати передбачення. На жаль, бот ніяк не міг вплинути на частоту і тривалість перекриття, проте він давав інформацію, яка допомагала в ухваленні рішень.

Найсолодший плід — це плід своєї праці

Після підключення сервісу до трьох переїздів і пів року роботи сервісу я знайшов партнерів — соціальну платформу Be City на чолі з Анною Страховською. Саме вони посприяли встановленню камери у містах Бучі та Ірпіні.

Ціль була досягнута — я користувався системою, про яку мріяв і яка сповіщала про стан переїзду, а головне — система була створена мною.

Пізніше завдяки представнику міської ради також вдалося під’єднати переїзд у Рівному.

Згодом була співпраця з iOS і Android-програмістами. У проєкта з’явилися свої застосунки:

Потім була введена «теплова лінія», яка дозволяла візуально оцінити статус за останні 30 хвилин і його поведінку в наступні 30 хвилин для поточного дня тижня за статистикою останніх чотирьох тижнів, а також кадр з камери. Це виглядало так:

Був навіть відеоанонс з демонстрацією роботи, який набрав понад 30000 переглядів.

Міжнародне визнання

У жовтні 2021-го я взяв участь в акселераторі, організатором якого була CRDF Global — міжнародна некомерційна організація. Це був цікавий досвід, я працював з ментором і ми розбирали мій проєкт, бізнес-модель, шляхи розширення.

Я став призером і отримав $6000 на розвиток. Це фінансування дало можливість купити третій сервер з GPU та відпрацювати концепт роботи камери від сонячної батареї з 3G-модемом, що дозволило б швидко покривати переїзди по всій Україні та бути незалежним.

Автономна частина включала:

  • камеру;
  • сонячну панель;
  • акумулятор;
  • 3G-модем;
  • бокс для всього цього добра.

А ось як це виглядало в процесі тестування:

У мене було багато pet-проєктів:

  • BitStreamer — поштучний продаж посилань для завантажень з високою швидкістю з файлообмінників (олди мають пам’ятати) — ex.ua, fileshare, depositfiles та інші.
  • JoyS — мобільний застосунок для мультисоціального шерінгу інформації ще до Buffer.
  • SMSme — відгуки про заклади через смс — прямо для управлінського персоналу. Ми навіть плату «стравили» для підтримки 30 gsm моделей і через Arduino керували серверним кодом.
  • GeoPoints — геозалежна соціальна мережа за 5 років до появи Nimses.
  • Jeka24h — система для ОСББ для роботи з мешканцями будинків на базі Telegram і Odoo.
  • вже згаданий ASHouse — розумний будинок на Arduino.

Проте реальне визнання отримав саме Rail-X, тому ще один інсайт: першим користувачем системи маєш бути ти сам, вона має розв’язувати твою проблему, всі інші з такою ж проблемою обов’язково приєднаються! Очевидна річ, але усвідомлюєш її, тільки коли сам це перевіриш.

На другу половину 2021 року сервіс працював з переїздами у 7 містах та налічував 30000 користувачів. Динаміка росту була задовільною, план розширення — випробуваний, з’являлись ідеї для кращої монетизації, окрім реклами. Все було готово, але сталася війна...

Коли життя поставили на паузу

24 лютого 2022 наша країна зазнала повномасштабного військового вторгнення від північного сусіда і завдяки військовим, комунальникам, та в принципі всім, стоїть вже майже чотири роки. Низький уклін їм всім! Слава Героям!

Через заборону роботи камер сервіс в замороженому стані з 2022 року — разом з життям він також став на паузу.

Ось одне з останніх фото, зроблене з камери в Бучі — техніка ворога, яка через пару днів стала спаленим брухтом на вулиці Вокзальній:

Вихід завжди є, варто тільки глянути навкруги!

Проєкт показав себе добре і має достатню користувацьку базу для перезапуску як community-driven. Тепер можна не чекати на дозвіл використання камер, їхнє повторне встановлення — тепер кожен може сповіщати про статус!

Побачив переїзд закритим — сповісти про це, і після підтвердження іншим учасником про це дізнаються всі підписники каналу. Можна буде відмічати, з якої сторони переїзду стоїш у черзі й наскільки вона довга. А бот попіклується про те, щоб статус «Закритий» не завис. Буде своя система заохочення у вигляді балів і гейміфікації. Буде можливість залиши заявку на підключення переїзду будь-якого міста.

Схожу проблему я помітив і у місті Маямі, Флорида, тільки не з ЗД-переїздами — тут з ними все добре, автоматизовані, закриваються за 10 секунд до приїзду потяга і відкриваються аналогічно після, все працює чудово без пильного ока людини. Але така ж проблема існує з розвідними мостами — вони також можуть хаотично закриватись і паралізувати центр міста. Нова механіка може стати в пригоді й для цього міста. Подивимось, наскільки твердий «бетон» в США.

Це буде нова сторінка для проєкту — приєднуйтесь!

Три висновки, які я виніс як фаундер і інженер:

  1. Перший користувач — це ти сам.
  2. Не чекай дозволу, шукай обхід.
  3. Стек — це інструмент, але ключ — відповідальність.

Результат з’являється там, де є рішучість, системність і готовність доводити справу до кінця.

Слава Україні, побачимось в коментарях!

Сподобалась стаття? Підписуйтесь на автора, щоб отримувати сповіщення про нові публікації на пошту.

👍ПодобаєтьсяСподобалось58
До обраногоВ обраному9
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Клас, успіху! YC якраз відкрив новий набір!

Як залізничник з 40-ка річним стажем відкрию Вам страшний секрет — на УЗ ще й досі працюють норми 30-х років минулого століття . І щоб той переїзд працював нормально , стосовно потреб цього століття , потрібно лише переписати ПТЕ — основний закон залізниці . А потім електромеханік крутне перемінний резистор в ланцюзі керування шлагбаума і той буде працювати як в Америці . Але то все абсолютно не цікавить тих людей , які керують УЗ , нажаль .

Дякую, вам! В свій час активно користувався у Вишневому.

Чудовий допис. Дякую!

Це не на цьому переїзді раптом панду поїздом збило?

Не знаю про цей, а ось в Канаді колись збило поїздом слона Джамбо (так, саме того, на чесь якого Дісней свій мультик назвав). Прямолінійні канадійці там поставили пам’ятник слону і потягу: maps.app.goo.gl/fD13vt1fHJbaJHHq5

Як без доступу до інфраструктури, то можна було розпізнавати сирену/дзвінок переїзду можливо навіть тупо смуговим фільтром десь 600-1200гц і програмно відфільтрувати по часу- як сигнал довше 15-20с (ігнорувати пропуски 2-3с), то явно це не автомобіль. Хоча навіть як і нейронка, то звук дешевше аналізувати, і нема питань зі снігом, вантажівками, які закривають огляд і т.д.
Ну і на порядки менше енергоспоживання та і раннє оповіщення, так як сирену раніше вмикають, чим опускають шлагбаум, мізерний епізодичний трафік. В режимі очікування сигналу дискретний фільтр споживав би одиниці чи десяток мА разом з мк, при детекції сигналу виводимо SIM800 з IoT тарифом зі сплячки та пересилаємо дані, знову спимо, далі при зникненні звукового сигналу знову пробуджуємося, відсилаємо пакет про зміну стану, спимо. Це треба дуже маленька сонячна панель та LTO щоб живити це на якомусь стовпі.

Те, що щось там десь свистить, ще не означає, що шлагбаум справді опустився/піднявся.

Оригінальна ідея, тільки сирени подаються при закритті/відкритті — треба продумати, щоб не розсинхронізуватись

тільки сирени подаються при закритті/відкритті

Мабуть таке тільки у густо населених районах. На тих що я бачив, вона вмикається раніше і звучить постійно поки опущений. Короче поки ділянка колії занята потягом і це детектує автоматика. Крім того це навіть вирішує проблему з переїздами, де нема шлагбаумів, тільки сигналізація
www.youtube.com/shorts/_GdRo1qS5yE
www.youtube.com/shorts/kO5P5uF3_WE
Теж можна прототип зробити навіть не виходячи з дому
Та і чатДЖПТ каже:

На більшості переїздів звукова сигналізація працює протягом усього часу, поки переїзд вважається небезпечним, а не тільки в момент опускання шлагбаума.

Типовий алгоритм такий:
Вмикається миготлива світлова сигналізація + звук
Починає опускатися шлагбаум — звук продовжує звучати
Поки шлагбаум повністю закритий і поїзд не проїхав — звук зазвичай продовжується
Після звільнення ділянки звук вимикається, шлагбаум підіймається

Але є нюанси:
на деяких переїздах звук може вимикатися після повного закриття шлагбаума, щоб зменшити шум для мешканців поблизу;
інколи використовують переривчастий або змінний режим звучання;
конкретна логіка залежить від типу автоматики та місцевих норм.
На мережі Укрзалізниця найчастіше звук працює безперервно від початку спрацювання сигналізації до відкриття переїзду, особливо на переїздах без чергового — це підвищує безпеку.

Погоджуюсь, ідея дуже цікава! А якщо додати ще лазер з іншого боку, який буде цілити у великий фоторезистор (чи щось цього типу) і промінь буде перериватись піднятим шлагбаумом — взагалі буде топ!

Ну таке ж не зробиш будь-де та ще й на необхідному векторі, та і по верхній точці не гарантовано де там зупиниться та дровиняка, і не факт що вона не буде відхилятись. Звук набагато простіше, надійніше та покриває більше кейсів. Без нейронки мабуть буде складно відфільтрувати потенційний сигнал машин екстрених служб, але якщо склеїти дискретний фільтр, який запускає просту нейронку для класифікації на ESP32, то думаю будуть прекрасні результати.
Хоча як і без нейронки результати будуть нормальні, так як навряд чи звук сирени потенційно проїжджаючої машини будуть детектитись на переїзді більше 15 секунд, а якщо вона там стоїть з сиреною, то мабуть же і переїзд закритий і сигналізація теж звучить, тобто це не заважатиме. Так що процент хибних спрацювань навіть без нейронки буде мізерний, та і це не критичне застосування, просто інформаційне сповіщення, з огляду на легкість інтеграції, практично взагалі будь де, куди доходить звук, мізерної ціни компонентів та каналу зв’язку взагалі топчик- за умовні 25грн IOT тарифу мобільного оператора підключаємо одну локацію.
Детектити ту сигналізацію взагалі просто- фактична центральна частота 2,6khz, поліцейська сирена/швидкої 0,3-1,8khz. Фільтр на смугу 2,2-3khz і готово.

І звідки люди беруть оці «чотири роки війни»?.. У нас війна триває вже 13-й рік як, а велика війна — 4. Але ж, на промосковському телемарафоні такого не розкажуть

Для розпізнавання (класифікації) можна ще використовувати edge tpu типу Google Coral. Ціна в районі $70-120. Є m2 і USB формфактор. Юзаю такий в парі з Orange Pi 5.
Для збражень 320×320 inference time ~5-10ms, тобто 100 кадрів на секунду.

Цікаво, дуже дякую! Це буде дійсно дешевше і цікавіше ніж 1 GPU 1070 на 5 переїздів, щоб не втрачати швидкість 1 розпізнавання в 1 секунду.

https://frigate.video/
Я використовую google coral в парі з Frigate NVR. Дуже цікавий і гнучкий інструмент. Є інтеграція із mqtt. Крім всього іншого, налаштував розпізнавання пташок і тепер періодично отримую повідомлення, коли сова сидить на воротах вночі)))

Идея интересная, но требует доступа к чувствительной информации железнодорожников.
С которой всегда будут проблемы.
А вместе с тем, есть у них вечно открытая информация — расписание. Агрегируешь расписания дальних поездов и электричек по станциям, добавляешь карты, скармливаешь ИИ-шке.
Имеешь предсказания с высокой вероятностью.
Да, скажете грузовые. Но интервалы между проходом поездов нормированыые, так что можно довольно уверенно полагаться на апроксимацию.

Дякую за ідею — чудово підходить для додаткової інформації у каналах! Попрацюю в цьому напрямку!

На УЗ , ще й досі , використовується таке старезне обладнання , що ніякий прогноз самого наворочаного ШИ не спрацює . Ну і керівництво УЗ абсолютно не зацікавлене в будь яких перемінах . Там головна мета вкрасти якомога більше і тихенько «пайду в лєс »

Стаття класна, але тут воно нікому не потрібно.

Вважаю це компліментом. Дякую! Звісно з 2018 технології скакнули і статтю можна по-праву вважати застарілою, та це історія мого шляху, яка можливо надихне когось.

Я радий, що нею поділився, отримав для себе як мінімум 2 інсайди.

Взагалі інформацією слід ділитись — це єдиний ресурс, який не втрачається, а можливість здобути нове — колосальна.

Доречі, гугл показує на картах пробки, тобто якось з нього можна отримати ці дані, принаймні теоретично. Якщо пробка є — то перехід закритий.

Якщо отримати якось історичні дані по пробках біля переходу — можна робити передбачення.

Була і така ідея, але боюсь для Вишневого червоні лінії на мапі навколо переїзду зʼявляються десь 16:00 і сходять біля 21:00, але вони не дають розуміння як часто переїзд відкривається :(

Була навіть спроба інтеграції з Waze через feeds, але і там затримка в 10хв, що вже не релевантно :(

«Важливість кібербезпеки трохи переоцінена» ©

Мені взагалі не дуже подобаються з точки зору кібербезпеки таки сервіси, коли статус якогось критичного об’єкту можна відслідковувати онлайн та ще й без авторизації.

Ви собі навіть не уявляєте, що може отримати з таких сервісів грамотний осінтер... Навіть у мирний час.

А ось зробити реально безпечно і корисно було-б трохи по іншому. Хоча відразу визнаю, цим треба зайнятися УЗ чи міська адміністрація. З обох боків переїзду є точка на автодорозі, перехрестя, звідки можна об’їхати. Тобто місце, де водій приймає рішення — чи їхати через переїзд, чи в об’їзд. І якщо на цьому перехресті встановити додатковий «світлофор» що показує відкритий чи закритий переїзд і очикуваний час в цьому статусі — це було-б безпечно (бо неможливо моніторити віддалено) і корисно будь-кому, бо водію не треба мати жодного застосунку (може він взагалі тут вперше і востаннє їде) і відволікатися від дороги. Ну і для УЗ теж гарно — бо немає накопичення «пробки» на переїзді.

І ще раз, я відразу визнаю, що це важко реалізувати пересічній людині. Але це найбільш коректний і безпечний шлях.

Щоб зробити трохи безпечніше та «приватніше» можна обмежити поле зору камери виключно світлофором (або може взагалі можна знімати якимось фотодіодом з оптикою виключно стан світлофора, не впевнений), або, хоча-б, не публікувати фото з переїзду. Гугл не просто так прибирає обличчя і номери зі своїх фото ;)

Коротше, завжди треба думати про безпеку! ;)

Якщо переїзд закритий, то немає сенсу взагалі в той район їхати, в моєму випадку. Типу рішення, я приймаю за багато кілометрів звідти.

Якщо переїзд закрився на 5 хвилин, то поки ви доїдете...

Додатковий світлофор — цікава ідея, проте нічого не заважає водію розвернутися навіть перед самим шлагбаумом, повернутися до перехрестя прийняття рішення і поїхати в обʼїзд.

Але ж кожного разу стоїчи у черзі ти постійно сам з собою домовляєшся: «Ще хвилина і точно поїду» (ох як нахлинули спогади з Бучанського переїзду, коли на 27 хвилині здався, відʼїхав, а його відкрили... 😂)

Кадр з «теплової лінії» поновлювався раз на 1 хв і впроваджувався в 2021. Зараз реалії інші і дуже велике питання відновлення роботи через камери — навіть якщо забрати трансляцію кадру.

Цікаво, чи є пристрої (лазери), які можуть зчитувати колір на відстані?! Можна було б зчитувати колір семафору і розуміти чи він блимає

Чому переїзд довго закривається? Що стоїть в основі проблеми? Як її можна вирішити? Наразі мова йде про спостереження проблеми.

Суть в застарілих протоколах. Наприклад, шлагбауми можуть не підніматись, якщо один потяг проїхав, а інший, наприклад, їде в 5 км. А якщо ще на цьому проміжку є станція зупинки і паралельно їде вантажний потяг, якого потрібно пропустити... Це особливо критично біля вузлових міст

Ще шлагбаум можуть закрити , бо потяг готується до відправки зі станції . Тобто потяг ще стоїть і поїде невідомо коли , але за вимогами написаної в 30-ті роки інструкції по сигналізації , переїзд вже потрібно закрити .

Доброзичлива підказка: для фіксованої камери і такого простого об’єкта для розпізнавання, як шлагбаум, можна було використати класичні методи комп’ютерного зору, без нейромереж і GPU

Цікава ідея, варто над цим буде подумати коли відновляться камери (чи може буде більш точно «якщо»).

Свого часу я пробував використати OpenCV, але мало мав досвіду використання цієї бібліотеки, та і гайда ніякого тоді не знайшов.

Буду дуже вдячним за підказку шляху іншої реалізації

Цікава тема! Будь якій переїзд за межами станцій як правило розташований за якимось прохідним світлофором значення якого відомо поїздним диспетчерам, відповідно вони володіють інформацією коли переїзд закривається та відкривається, це можно розрахувати від момента коли світлофор перекинувся на червоний та коли став жовтим (тобто блок-участок звільнився). Довжина типового блок участку 2’км. Але
— треба мати доступ до цієї інформації
— є едж кейс для приміських потягів які можуть проїхати шлагбаум але зупинитися на платформі не прокидаюся межі блок участку. тобі переїзд буде відкритий а прохідний світлофор ще червоним.

І така була думка (вже не став розтягувати статтю) — завести інсайдера в диспетчерському відділі. Розуміючи ризики для такої людини навіть не став розвивати цю ідею.

Ще була ідея підключити працівника переїзду, дати йому привілейовані права у боті/каналі і організувати збір йому «на чай». Але ризики тут, напевно, ті ж самі :(. Тут потрібно спілкуватися з ними...

Ще момент, і тут я стану на бік працівника переїзду, він сам дізнається про рух потяга не раніше ніж за 10 хв + він сильно зарегульований правилами і напіватоматикою. Тобто якщо пройшов потяг і є сигнал, що рухається наступний і буде через 6 хв, то система не дає підняти шлагбаум. Йому потрібно вклинюватись в систему (дещо порушувати протокол), щоб відкривати переїзд — не кожен буде це робити.

Достатньо залучити чергових по суміжних станціях . Інформації вони мають більше ніж черговий по переїзду і її вистачить щоб не чіпати диспетчера .

Як чудово, що ви завітали до коментарів!
Скажіть, чи теоритично можливо залучити чергових або працівників переїзду до сервісу давши йому права писати повідомлення типу «закриється через 5 хв» чи «відкриється через 3 хв»? А за його зусилля віддячити всією громадою (організувати складчину-чайові) — чи підуть вони на це? Як на це буде дивитися керівництво, їм буде загрожувати звільнення?

Корисний сервіс створили для людей 👍
Щоб спростити реалізацію можна було використати камеру HikVision з технологією AcuSense. Вона сама буде аналізувати зображення, визначить, чи змінилось положення шлагбауму і надсилати вам сповіщення по http на ваш сервер. При її використанні відпадає потреба в навчанні своєї моделі, Tesnorflow, потужного сервера для аналізу фото, бо цю роботу зробить камера.

Дякую за інсайт, корисно. Така технологія тільки в HikVision чи є й в інших (не китайських) виробників?

З не китайських Axis камери таке підтримують наскільки я знаю.

Клас! Дякую, обовʼязково гляну. Зараз стратегія:
1. Швидке підключення нових переїздів в community-driven режимі — можна подавати заявку на додачу нових переїздів
2. Як тільки там (в каналі) збереться когорта 200-1000 користувачів — тоді можна шукати локальний бізнес для встановлення камери.

Якраз і Axis буду рекомендувати для встановлення!

80 разів на годину закривається шлагбаум? Чи це парні події — закрився одна + відкрився інша, тоді 40?
В будь-якому випадку, ставити ActiveMQ щоб пропускати аж 2 події за хвилину — гармата по горобцям

Так, щодо «гармати» ви праві, якби там були тільки статуси. Архітектурно закладав для майбутніх розширень. До того ж там бігали не тільки вони і сигнали від нейронки. Там ще «ходила» черга на поновлення повідомлень у ТГ (у нього обмеження на 20 повідомлень у хвилину)

Люблю такі проекти, які виникають по суті з побуту) не зупиняйтесь) якщо будуть ідеї, то обов’язково «насиплю».

Слухайте, дуже круто насправді, але не можу зрозуміти, чому б не можна було «приклеїти» на той шлагбаум датчик з гіроскопом і альтиметром умовно? Менше роботи ніби (але все ж можливо не так надійно).

Чи тут все базувалося на тому що на «стратегічний об’єкт» — зась щось клеїти в цілому?

Саме так мені аргументував спочатку працівник на переїзді, а потім ще пояснити керівники вище. Проте це було б найкраще і найнадійніше — було багато помилок при розпізнаванні

А ще раз на Х тижнів вночі пролазити батарейки замінювати, щоб ніхто не побачив.

😁 Не забуваймо і про живлення «приблуди» для обробки сигналу і передачі на сервер.

Написано ж, ЗД переїзд це режимний об’єкт, критична інфраструктура. А тут невідоме обладнання самовільно встановлене — шпигун-диверсант! За таке сісти можна

Ну і живлення самого пристрою + EDGE-модему, чи як ви там зібрались дані передавати

Мені здається ви зможете сісти anyway)
Бо це навіть не геркон а ціла камера, яка несанкціоновано наглядає за стратегічним об’єктом. А особливо зараз за умов війни. Ви надіюсь даєте собі звіт що ваші камери дивляться не тільки за шлагбаумом, а і за проходящими потягами в т.ч. з наприклад, військовою технікою? І якщо ви продовжите в тому ж дусі піаритись до вас дуже швидко прийдуть. Спочатку ворог а потім служба божа. Не просто так керівник вам сказав зась на самому початку. Чим ви і ваш проект відрізняється від якогось дурника, купленого через телегу росіянами для організації нагляду за залізницею? Згортай парніша свою бурхливу діяльність поки в змозі, моя тобі дружня порада.

Дружня тобі порада — дочитати статтю до кінця.
Автора написав же, що камери вимкнули.

Пілотно релізнув вчора новий функціонал, запрошую вас глянути на його роботу: t.me/RailCrossVushneve

Як у вас є свій «проблемний» переїзд — заявку на його додачу до проекту можна зробити через бот: t.me/railcrossbot

Класна робота. Чи можна більш явно вказувати в повідомленні що Відкрився? Зеленим тощо. Бо Закрився червоним видно, а відкриття — ні. І ще яка цінність інформації про час скільки був відкритий/закритий? Чи це не інфосміття в каналі?
Дякую!

Заходьте в групу обговорення: t.me/railcrosses_chat, будемо допилювати

Було б класно окрім передбачень мати читники в обох напрямах заздалегідь на якійсь відстані за десяток км перед переїздом

Та і там думаю без камер можна було б наявність відсутність потягів моніторити ну зі згодою УЗ 😅

Класний проєкт ❤️

Так, ви мислите у вірному напрямку. Підключивши сусідні переїзди у Боярці/Тарасівці/Калинівці можна щось і придумати стосовно «насуваючого потягу».

Пілотно релізнув вчора новий функціонал, запрошую вас глянути на його роботу: t.me/RailCrossVushneve — там можна відмічатись чергах, цікаво чи буде користуватись попитом

Підписатись на коментарі