Pull to refresh

Comments 101

Это идеальный случай, сферический конь в вакууме.
А как быть ночью или в дождь? А зимой, когда вся дорога занесена снегом, в том числе и разметка? А только что отремонтированная дорога без разметки?
А в будущем могут ещё появиться шутники, которые положат вдоль и поперёк дороги туалетную бумагу и свернут мозг роботу за рулём…
Так автор же и написал, что система чувствительна с внешним условиям. Прототипам это вполне свойственно.
Про идеальный случай не спорю, но это прототип. Кстати я тестировал немного на других дорогах, если доберусь до компа и не забуду залью больше видео, основная проблема была перезд на другую полосу, а вот определение самой полосы работало неплохо. Что касается снега и новых дорог, то думаю, что в реальных системах используется много разных датчиков, которые я тут использовать не могу. Это как встроенная навигация против внешнего gps приемника. Ну а с шутниками это отдельная история. Вообще интересно было бы посмотреть как оно работает на реальных машинах, если у кого есть отпишитесь пожалуйста.
я могу ошибаться, но многие машины имеют универсальный диагностический интерфейс obd-II, который позволит получать многочисленную статистику от автомобиля во время его движения. Возможно, это может помочь более точно распознавать намерения водителя.
Честно говоря, дальше камеры идти не планировалось, а для OBD надо либо паять свое что-то, либо купить какой-нибудь OBD-BT переходник, но за ссылку на библиотеку спасибо!
На ELM-327 есть и USB и Bluetooth адаптеры.
Интересно, буду знать!
UFO just landed and posted this here
Я бы на это сильно не расчитывал, дорогое это удовольствие…
ну не обязательно электроникой, мне кажется достаточно добавлять в краску/материал разметки что-нибудь со специфическими электромагнитными свойствами.
Пускай они их хотя бы отремонтируют для начала!
Если эта штука позволит избежать хотя бы одну аварию, пусть хоть в идеальных условиях, то ей уже цены не будет.
С другой стороны, я чаще попадал в различные ситуации (пока без последствий. 3тфьу) именно в идеальных условиях. Как-то начинаю расслабляться, больше думать о работе, семье, слушать радио или общаться с пассажирами. Поэтому считаю, что именно в идеальных условиях подобные помощники нужнее. А в экстремальных условиях и так все внимание на дороге.
Согласен на счет того, что в идеальных условиях как раз и расслабляются люди больше всего. Когда быстро едешь по горной дороге сильно не отвлекаешься…
Если положить вдоль дороги ночью туалетную бумагу по направлению в кювет — туда и люди поедут.
Отличный пост, главное тестировать аккуратно.
Lane Departure Warning можно перевести как предупреждение выезда за пределы полосы.
Работа интересная.
Спасибо, хороший вариант, мне в голову както не приходил.
Короче «предупреждение выезда с полосы».
Очень интересно и мало понятно(для меня). Хотел бы сам что-нибудь такое сделать в будущем. Вас не затруднит дать ссылку видео дороги без работы программы?
Напишите завтра в личку пожалуйста, я дам ссылки на необработанное видео. Сейчас неь доступа к нему.
Изображать выезд за пределы стрелочкой сомнительно.
GPS-навигаторы стрелочкой показывают, куда надо повернуть.
Это для тестов. Чтото показывать вообще не имеет особо смысла, так как если водитель не видит, что он уезжает с полосы, то не увидит и сигнал. Обычно применяют аудио сигналы и вибрацию руля или сиденья, но у меня к такому доступа не было, а пищать и отвлекать водителя во время теста не хотелось.
По видимому систему придется отключать в сложных метеоусловиях или при загруженности дорог, но этот прототип по качеству уже достаточен для коммерческой реализации в качестве видеорегистратора например. Можно подмаргивать светодиодом и попискивать при уходе с полосы.

Для определения того, что водитель действительно хочет перестроиться достаточно должно быть включенных поворотников. И это кстати, хороший способ ненавязчиво напомнить о том, что их надо включать. ;)

Кроме того, как себя помню, все это должно хорошо помогать начинающим водителям.

Спасибо за исходники. Попробую и себе делать…
На тему начинающих кстати правда, я помню пока к габаоитам не привык все не мог понять где я на полосе нахожусь, а так если забить ширину машины можно точно видеть.

На тему исходников там может быть не очень с комментами, все таки прототип, так что если что не ясно обращайтесь. Главное там указать как кропать изображение и начальные координаты полос (я автоопределение так и не сделал)
По мне, так лучше стрелки, показывающие, куда машина скатывается, развернуть на 180 градусов, говоря о том, куда нужно вырулить.
Возможно, я тут чуть выше писал о подобном, стрелки они больше для тестирования.
Здорово было бы сделать «Русскую» версию, которая волшебным образом смотрела ширину дороги и делила ее на полосы, причем без линий разметки :)
Я недавно ездил в родной Симферополь, так там раздеение полос вообще динамическое, вроде нарисованы две, а едут все как три… Боюсь до понимания такого компьютеры в ближайшем будущем не дойдут:)
Тут во многих местах вообще разметки не видно и все едут как хотят :)
Кстати, не факт, что это плохо! Читал в «Науке и жизни», вроде бы, что ставили эксперимент — при намеренно бредовой разметке дороги или ее отсутствии количество ДТП на этих участках значительно снижается! Водители, видимо. внимательнее ведут машину.
А еще добавить ям, водителей-идиотов, открытых люков… и тогда водитель уж точно не заснет за рулем и все станет безопасным, как в сказке… или в реальности…

На эту тему недавно мне попадался хороший ролик: Пористые дороги
А как она ведёт себя на дорогах, где только осевая линия? Понимает, что та должна быть слева, а не справа?
Именно текущая версия будет пытаться найти полосу, но если не получится просто не будет волноваться об уходе в ту сторону, где полосы нет
Я о том, что если едем прямо по осевой, куда она будет показывать, налево или направо?
Возможно я не совсем понимаю про едет прямо по осевой. Будет показывать в ту сторону, куда больше машина сместилась, точнее вру, в противоположную. Но я все же не понимаю. Если машина на нее наезжает с одной из сторон, то все логично, если изначально едет по ней, то я и сам не знаю, что надо показывать:)
Вот еще идея — поставить по камере на линии левых и правых колес, то есть где-то над фарами на капоте или под ними на бампере. В этом случае система будет инварианта по отношению к габаритам машины. Камеры будут определять с какой стороны находится разметка, если посередине — значит наехал на нее.
Сделать их инфракрасными, так как в этом случае изображение меньше подвержено влиянию грязи и погоды.
Может быть нужно будет также поставить ИК прожекторы.
Систему оповещения сделать как в вертолете — такой же звуковой сигнал. Визуально можно представить полоской светодиодов над рулем, которые будут «бежать» в сторону возвращения на полосу.
Ситроен в свое время ставила ик датчики под машиной направленные вниз, они как раз подобным образом и работали. В моем случае серьезных модификаций авто не хотелось:)
UFO just landed and posted this here
UFO just landed and posted this here
Это да, мы об этом тогда тоже думали, но продолжали тестировать:)
Тогда рабоать не будет:) вообще без размети задача становится гораздо веселее, если кто осилит буду рад почитать
Определить края дороги вашим методом и сделать виртуальную полосу по центру между ними? Кстати и для случая только с осевой будет полезно.
Так мой метод определяет только полосы. Если совсем нет разметки, то он уже не работает.
Ого. где это?
Видимо, это шара для гаишников — куда не плюнь — двойные осевые :)
Ну хоть не поперёк дороги и то хорошо
ничего смешного, это дешевый и эффективный способ вывести из строя навигационный компьютер вражеской бронетехники.
кто-то расписывал разметочную машину
учебный полигон для дорожников? :)
Преобразования Хафа не пробовали? В принципе я не особый сторонник Хафа, но в данном случае они наверно могут дать не самый плохой вариант. Поскольку вы ищите только линии, причем под определнном углом, то Хаф напрашивается сам собой. При этом, Хаф сможет найти эти линии, даже если они пунктиром.
Думал о нем, с одной стороны оно бы сработало, применить его после Canny и найти границы полос разметки. С другой же стороны частенько трава у дороги имеет такой же цвет и освещенность как разметка, появляется много шума и нужно уже больше заниматься трекингом. Но преобразование Хафа тут определенно имеет право на жизнь, возможно вместе с текущим методом.
Спасибо тебе, такие как ты делают мир лучше!

Надеюсь, что в будущем, огромное внимание будут уделять вопросам безопасности, подобным этой теме, а именно: определение движения ТС ночью навстречу, ослепление водителей, системы предупреждения о животных на обочине, ямах и прочим прочим.

Сам собираюсь оформлять такие идеи, но к сожалению руки из жопы не позволяют собрать хоть насколько-нибудь рабочие прототипы.

Правда насчёт ослепления заказал для тестов готовое решение от Uwe Braun, надеюсь скоро приедет, а то никаких обзоров нет, а интересно.
Гхм

Я уже год езжу на BMW, которая и пешеходов и животных определяет, полосы видит, знаки считывает, и еще много чего делает.

Имеет ли смысл изобретать велосипеды, или все же лучше (если реально хочется заняться темой) податься в инженеры к одному из ведущих автопроизводителей?

Дело в том, что у меня нет BMW и не будет. Может быть будет Toyota, может что-то ещё…

Да и производить я не собираюсь, это предмет увлечения и исследования. Есть те, кто пользуется, есть те, кому интересно создавать. А по поводу стоит ли изобретать, можно сюда заглянуть. Вроде уже 21-й век на дворе, а всё изобретают.
Системы уже давно стандартизированы. Производит AFAIR тот же Bosch и другие. Cтоят весьма дешево для производителей.

Тойота точно так же ставить будет такие системы (или уже ставит, не следил), ибо тот же Ниссан уже ставит вовсю например.

Насчет изобретать — есть понятие хобби, есть понятие бесполезного выхлопа. Автор статьи — молодец, он сделал работу для ВУЗа. Но воспринимать это всерьез смысла нет, ибо если что-то новое изобретать — надо изучать что сделано уже и как это работает — мировая наука в тч базируется на открытиях сделанных раньше.
Ну ок, пусть будет бесполезным выхлопом. Не хочу дискутировать по этому поводу. Пусть дальше стандартизируют и удешевляют.
Изобретать велосипеды в образовательных целях имеет смысл, чем я и занимался. О том, что японцы еще 10 лет назад такие системы начали делать знаю. Иначе следуя Вашей логике можно делать так:
— Вася из соседнего подъезда качок, 100 раз подтягивается, да и спортсменов уже много — не буду ходить в спортзал и заниматься спортом.
— Коля из другого подъезда диплом получил, да и много уже инженеров, врачей, ученых — не буду учиться.
— Вот уже 2млрд китайцев, вообще много людей на планете — а не застрелиться ли мне.
Утрирую конечно, но попытка решения сложной задачи с нуля — достаточно хороший способ изучить предметную область, понять какие бывают входные данные и разобраться с подводными камнями. Ну а на тему устроиться к одному из автопроизводителей, все может быть попозже, как раз на это дело и учусь, лаба наша как раз спонсирована BMW, но занимаюсь в немного другой области, а чтобы делать что-то реальное, надо знать как это делать.

Лучше бы Вы, как владелец машины, которая это умеет, рассказали как там реализована обработка ситуаций, когда полоса не видна, снег, грязь, другие машины итд итп. Будет очень интересно послушать.
Спасибо за топик, ликбез и действующий пример. Было очень интересно :) Но, несмотря на в целом положительное к вам отношение, не могу удержаться от того, чтобы не поворчать на аналогии выше.

Ваши примеры выше: развиваться/рожать — это действия, которые каждый обязан делать, если не хочет умереть под забором, никому не нужный.

В то время «изобретение велосипедов» — это просто один из множества способов получить нужный скилл. Далеко не так обязательно как с примерами, можно и по-другому.
Как бы было хорошо, если бы все на этой планете делали все, что они обязаны делать:). Я не спорю, что пример может быть и не самый удачный, но я поэтому и написал, что утрирую.

А на тему велосипедостроения, честно говоря, я и сам не любитель писать велосипеды и считаю их злом, но при двух важных условиях: есть четкое понимание того, как велосипед работает и почему, а также есть возможность легко взять готовый велосипед. Вот тут то и начинается интересное. Много ли людей может сказать, что они понимают как работает система от MBW, Nissan, etc? Второй вопрос, можно ли взять готовое? Хоть у меня и находится информационный центр BMW через дорогу от офиса, я не могу пойти и сказать: «мужики, киньте мне на флэшку исходники вашей системы». Есть кучка статей о таких системах, а вот какой-нибудь хорошей готовой либы я не нашел. Кстати, все, что можно не реализовывать из серии стандартных алгоритмов я не реализовывал, в исходниках только высокоуровневые части.
Вообще хороший пример: борьба Win VS Linux, вроде как есть винда, которую можно пойти купить и забить, ан нет, пишут линукс (бсд, макось, ...), хотя вроде как тот же велосипед. Так что не всегда велосипеды зло:)

Ну а что касается именно этого проекта, так мне надо было придумать хороший проект (курсовик, грубо говоря), который бы подошел для курса по компьютер вижну и автоэлектронике одновременно. Просто взять чью-то разработку я не мог.
Вообще очень даже интересная идея.
И достойна использования уже даже в таком виде.

А после некоторого кол-ва доработок — легко потянет на коммерческую систему.
Из мыслей-идей «чего бы добавить»:
1. Брать с машины данные о включении поворотника и не выводить нотификацию в случае их включения (причём только в нужную сторону)
2. Брать данные с датчика скорости и отключать нотификацию на скоростях ниже 10-20 км/ч
3. Поставить на машину (куда-нибудь в область боковых зеркал) датчики с парктроника и выводить нотификацию при попытке перестроиться в едущую рядом машину. Если же перестроение происходит ещё и без поворотника, то громко и противно завизжать

Достойна для кого? Ровно все то что вы описали — у меня стоит в машине и работает (и с поворотников данные считывает, и скорость учитывает (ниже 40кмч воообще-то лучше), и перестроение в другие машины…

Дело в том что такие системы уже поставлены промышленно на поток. Работа автора — хороша, но чисто как дипломная.
Достойна для использования в автомобилях (естественно я не про вариант «ноутбук стоящий рядом», но это уже совсем незначительный вопрос), ибо:
1. Подобная система стоит далеко не на всех автомобилях, а установка «от производителя» на автомобили старше 5 лет обычно вообще нереальна. Предложение «выкинуть все авто без подобной системы» не рассматриваем.
2. Наличие в вашей машине подобной системы не спасёт вас от зазевавшегося товарища, который может в вас въехать. Так что полезна даже вам.

Вообще первое время (после того как сел за руль) в голове довольно долго укладывалась простая истина — я могу быть самым лучшим водителем в мире, на самой технически оснащённой машине, но всё-равно это мне не поможет при лобовом столкновении с вылетевшей (по какой-либо причине — водитель уснул, умер, не рассчитал манёвр) навстречу машиной (если трасса допускает возможность лобового столкновения) даже при скорости сближения в 150 км/ч (оба едут 75 км/ч), а уж про 250+ км/ч (оба едут 120+ км/ч) вообще молчу.

А это значит, что установка любых систем безопасности на любых машинах в итоге полезна в том числе и мне, т.к. уменьшает вероятность столкновения.
1) установка на авто более 5 лет — вы хотите стать виновником смертей людей? нет? это ничего что надо тысячи человеко-часов тратить чтобы отлаживать такие системы, а если будет глючить — то это реально смертельная опасность?

Никто не будет ставить такие самоделки (особенно учитывая уровень необходимой интеграции с машиной) на машины, тем более старые.

2) Про зазевавшегося товарища — тоже велосипед, ибо у меня в машине опять же стоит радар который контролирует объекты приближающиеся, и в случае слишкой большой скорости (и отсутствии замедления) прямо перед глазами загорится на лобовом огромный красный сигнал, заверещит звуковая сигнализация, перенастроятся тормоза (а если все совсем плохо — машина начнет тормозить резко сама), подтянутся ремни безопасности и тд и тп.

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

1) Изобретено что-то новое? — ?..
2) Лучше ли реализация чем существующие аналоги? — ?..
3) Хочется ли нести ответственность (вплоть до уголовной) за смерти людей, которые обязательно погибнут из-за некорректно работающей системы? — ?..
4) Есть ли финансы на тестирование системы (полигоны, моделирование, разбитые машины и прочее), а так же сертификацию (это — миллионы долларов)? — ?

Я лично тоже очень «за» хобби всякие, но воспринимать это серьезно — смешно. Если хочется построить космический корабль — это возможно, но надо собираться, организовывать компанию, набирать профи из аэро-космической индустрии, искать инвесторов и тд.
UFO just landed and posted this here
А чем Вас не устроили варианты из первой попытки, скриншоты которых расположены в правом столбце на Вашем мониторе (3 скриншота, начиная снизу). На них вроде отчетливо видно спшлошную полосу и прерывистую. Да и изображение черное-белое, что, как мне кажется, удобнее для обработки.
Это они на данном конкретном кадре выглядят хорошо, но в других ситуациях будет много шума, хотя мой подход как раз и пользуется результатами Canny внутри «виртуальных датчиков»
А еще бы неплохо распознавать пешеходов и велосипедистов, особенно в темноте.
Audi A6 (A7) в топовых комплектациях умеют это делать youtube
Стрелками лучше указывать куда НУЖНО РУЛЬНУТЬ, а не куда мы УЖЕ ЗАРУЛИЛИ. Это примерно из той же серии подсознательных паттернов, что и «красный — стоп, зелёный — поехали».

Если мы заехали не туда, например, сильно зарулили влево, то лучше слева красный крестик нарисовать, и стрелку вправо. А то получается, поощряем к дальнейшему сходу с полосы.
На машинах которые реально оборудованы такой системой не показываются никакие стрелки, а вибрирует руль с нужной стороны (100% ощущение что наехал на ребристую поверхность — такая краска тоже бывает на дорогах) — в результате чего чисто автоматически возвращаешься в свою полосу.
>> На машинах которые реально оборудованы такой системой
Вы пишете во множественном числе про машины. Скажите, какими машинами вы пользовались с установленной такой системой? Это бюджетная civic-комплектация или особые опции?
В идеале для отслеживания полосы использовать краску, которая отражает излучение определенного типа/длины или изобрести датчик который встраивается в покрытие и отражает сигнал определенной категории.
Это очень круто! Вы молодец!

Но, к сожалению, современные автомобили, на которые эта система ставится как опция, (а также еще часто вместе с разпознаванием дорожных знаков) в Россию с данными система не поставляются. Т.к. по комментариям производителей, качество дорожной разметки, и состояние дорожных знаков очень далеко от российских же гостов. Что в корне затрудняет распознавание и функционирвоание данных систем.
Пичаль
Неправда ваша.

BMW спокойно себе поставляет машины с этой системой и в Россию причем уже лет 5 как.

www.bmw.ru/ru/ru/newvehicles/6series/coupe/2007/allfacts/ergonomics_ldw.html

Оставаться на своей полосе.
Система предупреждения о пересечении линий разметки.
Опциональная система предупреждения о пересечении линий разметки вызывает слабую вибрацию рулевого колеса, если автомобиль может уйти с занимаемой им полосы движения. Камера, установленная между зеркалом заднего вида и ветровым стеклом, распознает линии разметки на дороге. Система не работает, если водитель включает указатели поворота. Таким образом система не подает ненужных сигналов.
Значит BMW рискнули ) И то не факт, т.к. вы прислали ссылку на сайт BMW а не страницу дилера. Попробуйте в конфигураторе собрать себе машинку и выбрать эти системы. Вполне вероятно, что они будут недоступны.

На новых Ford Focus III эти системы поставляются только на американский и европейский рынок.
Скажите, ну правда сначала писать лучше а потом думать?

Зайдите в конфигуратор той-же пятой серии. И эта и множество других систем вполне себе доступны к заказу.

Если бы я 4 года назад не катался на BMW официальной в Мск с этими системами — я бы не писал, ибо я как раз сначала факты проверяю.
А у нас в Чехии такие полосы (может и не везде — сам не вожу, не обращал внимания), что когда на них наезжаешь — это очень слышно (покрышки по ним типа как по гравию грохочут), да и в темноте они свет фар отражают.
Система распознавания полос в BMW как раз такие полосы и симулирует — как бы легкий гул и вибрация руля

Я по Чехии много катаюсь, полосы не везде такие но на основных магистралях почти везде.
Слушайте, Вы уже всем сказали, что у Вас есть БМВ, что она невменяемо крута, но спешу Вам напомнить — технологии БМВ
1) Предналежат БМВ
2) Закрыты
3) Не являются истиной в последней инстанции
4) Инженеров для БМВ не выращивают в пробирках, в лабораториях БМВ. Что бы стать инженером БМВ нужно знать и уметь очень много всего. В том числе — пытаться решить задачу своим способом, до того как он будет ознакомлен с оффициальным решением.

Кроме того, решение этой задачи полезно и для других сфер.
Навскидку, например, можно поставить этот софт на робота и заставить его ездить по разметке. Для домашних сборщиков всяких лего-штук — самое то.
А в какой стране разворачиваются действия?
от чего ж в .gitignore не прописали:
*.pyc
Виноват, не знал еще тогда о существовании .pyc, а так внимания не обратил.
Коллега, Вы просто начали воплощать мою мечту в жизнь! Осталось присоединить к этой системе GPS, подцепиться к управлению газом и тормозом, ну и, конечно, сделать апгрейд автомобиля — так, чтобы руль мотором поворачивался (модель с парковочным автоматом вполне должна подойти). Можно будет, скажем, новости по пути на работу читать прямо за рулём.
Этим делом Google (да и много кто еще) давненько балуется:) На самом то деле, сделать систему, которая работает в хороших условиях не сложно, сложно сделать ту, которая работает всегда, а еще сложнее сделать так, чтобы она прошла через все законодательные и бюрократические препятствия (это кстати, как сказал один из топ-менеджеров VW на одной конференции, сложнее, чем инженерная сторона проблемы).
Полезное дело. Хорошо, что такое изучают и делают. Спасибо.
Я вот думаю, что может стоит показывать стрелочки, показывающие как вернуться к правильной позиции? Человеку проще руководствоваться подсказками показывающими куда крутить руль. Вот и знаки на дороге показывают то, куда поворачивает дорога, т.е. подсознательно понимаешь, что и руль туда надо крутить.
Мы такую систему практически довели до ума ещё в 2007м году, кучу статей написали. Жаль что она в ход не пошла…
А можно посмотреть? Интересно просто.
Я могу скинуть номера статей где это было описано.
Спасибо! Ссылки на популярные журналы тоже подойдут, у нашего университета есть подписка на многие издания.
Интересно. Там достаточно много подобных роликов. Народ занимается этим серьезно, не то, что я:)
Sign up to leave a comment.

Articles