Меня всегда забавляла идея автономных транспортных средств. Пока однажды я, наконец, не начал углубляться в это. Я начал исследовать, как он работает и что он может делать.

Я просто обдумывал эту идею, пока не нашел способ разработать свой собственный самоуправляемый автомобиль (разумеется, без большого количества функций). Идея заключалась в том, чтобы создать модель и обучить ее таким образом, чтобы она предсказывала требуемый угол поворота рулевого колеса в зависимости от сценария.

Спасибо моему наставнику г-ну Васу Гупта из Всеиндийского сообщества мастеров AI/ML, который провел меня через этот проект и без которого этот проект был бы невозможен.

Я начал искать открытый и надежный набор данных для того же самого. После долгих гуглений и серфинга я обнаружил этот удивительный набор данных, в котором есть угол для данного изображения в градусах.

Наконец-то пришло время запачкать руки кодом!

Я предпочел использовать Google Colab из-за высокой вычислительной мощности, которую он обеспечивает!

Загрузите свой набор данных и начните его изучать!

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

Двигаясь вперед, я масштабировал изображения в 255 раз (пакетная нормализация) и передал их модели.

Наступает самая сложная часть — построение модели.

Я построил модель с нуля, используя Keras API и Tensorflow в качестве бэкенда.

В моей модели было 5 сверточных слоев, за каждым из которых следовал слой MaxPooling. Затем я сгладил эти слои с помощью tf.keras.layers.Flatten(). Я использовал 4 слоя Dense и 3 слоя Dropout, чтобы избежать чрезмерной подгонки.

Я не собирал эту модель с первой попытки, до этого я обучил как минимум 6–7 моделей. Я перестал исследовать другие модели в CNN после этой модели, потому что я получил удовлетворительные результаты в самой этой модели!

Вот несколько ключевых выводов из моего опыта:

1.Всегда распаковывайте набор данных в Google Colab! Это сэкономит вам много времени во время обучения, поверьте мне!
Используйте этот код для распаковки внутри Google Colab:

2. Проведите некоторое время со своим набором данных. Попытайтесь понять его взлеты и падения

3. Тщательно обработайте свой набор данных!
Я провел много времени, пробуя различные способы обработки своих данных. Сначала я использовал пакетную нормализацию 255. Чтобы повысить точность, я попытался читать изображения в «оттенках серого». Это действительно улучшило мои результаты, но не до уровня моего удовлетворения. Затем я попытался использовать функцию контрастности при обработке изображений, и результаты были потрясающими!!
Взгляните на мою функцию ImageLoad:

4. Всегда пробуйте разные модели, прежде чем окончательно остановить свой выбор на одной!
Я попробовал не менее 6–7 разных моделей, прежде чем остановился на этой!
Посмотрите на мою окончательную модель. :

5. Визуализируйте свою модель!
Используйте этот код для визуализации своей модели!

6. Следите за точностью тренировки и потерями!

Вам не нужно тренироваться в течение 200 эпох, если точность вашей модели не улучшится после 120 эпох! Это так просто!

7. Посмотрите на свои результаты и гордитесь собой!
Вы проделали большую работу! Теперь пришло время увидеть ваши результаты! Визуализируйте их и убедитесь сами в точности вашей модели!
Посмотрите на мои результаты:

Ну это было с моей стороны!
PS: В этом проекте мне тоже очень помог мой напарник Sumit!

Я выложил свой проект в открытый доступ на моем профиле GitHub, вы можете найти его здесь!

Свяжитесь со мной в LinkedIn!
Кушагра Вадхва