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

Мотивация

Это мой первый блог, и это действительно личная история.

Кроме того, многие из моих друзей, коллег, пользователей LinkedIn, Quora и FB действительно спрашивают меня, как изучать науку о данных, машинное обучение, Python. Это мой ответ им. И, конечно же, эту историю слышало и большинство моих интервьюеров.

Рассказ

Речь идет о проекте моей хобби (мечты) лунный трекер.

Цитата из первого прочитанного мной романа (даже сейчас моя любимая книга):

«Возможность осуществить мечту делает жизнь интересной».
- Пауло Коэльо, Алхимик

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

Вместо того, чтобы изучать точные алгоритмы, технологии или инструменты, найдите решение, которое побудит вас пожертвовать своим сном, Netflixing, YouTube и т. Д.

NB: Со временем у вас будут появляться лучшие и более простые инструменты. Дело в том, чтобы получить острые ощущения от решения проблемы с тем, что у вас есть в данный момент.

Длинная история

Как я занимался проектом «лунный трекер» одновременно с моей карьерой, поскольку это было чем-то, что происходило в тени на долгие ~ 10 лет.

Начало [2010]

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

А затем я сформулировал для себя формулировку проблемы: возьмем Луну в качестве ориентира для моего бота. Большинство из нас может не задумываться над этим основным вопросом, как определить луну на небе? Но это очевидно, верно! Кошек, собак, деревьев много, но перед нашими глазами только одна и только одна луна. Тогда что в этом такого!

Тогда один из моих первых наставников по обработке изображений (Пулкит, технический директор Gridbots) заставил меня задуматься:

Как вы опишете луну слепому !?

Еще раньше ... Как вы опишете круг, квадрат и т. Д.? Потому что наш алгоритм не может иметь визуальную перспективу, как люди.

Почему обнаружение луны сложно для машинного глаза?

Давай продумаем ...

  1. Форма меняется в зависимости от месячного цикла.
  2. Размер
  3. Изменение интенсивности в течение цикла, а также на ежедневной основе (в зависимости от времени)
  4. Цвет
  5. Время, когда оно появляется на небе
  6. Угол: путь, который требуется
  7. Источники света луноподобные, отражения

Путешествие

Возможно, это не работа, достойная патента, или революционная работа. Но кое-что, что было интересно мне и в моем списке дел на протяжении многих лет.

Также я хотел бы поблагодарить моего виртуального наставника Адриана Роузброка, который очень помогал со своим сайтом PyImageSearch все эти годы.

Этап 1 [2010–2013]

Этот раздел немного специфичен для части решения, относящейся к обработке изображений, что может быть неинтересно для обычного чтения.

Инструмент Visual Basic 6 || Обнаружение капель || Нахождение компонентов связности || Нахождение самой большой капли (белые шары ниже) .

Почему это особенное? Потому что этот этап вернул меня к алгоритмам и кодированию. Я сам написал алгоритм, основанный на «мыслить как слепой (с ослабленным зрением)». Это чувство достижения было невероятным.

Это был определяющий этап в моей жизни, усилия, которые я здесь приложил, помогли мне сориентироваться в карьере. Наряду с работой 5,5 дней в неделю и подготовкой к экзамену GATE мне удалось поработать и над лунным трекером. И я почти уверен, что я не очень талантливый математик, но моя страсть к обработке изображений привела меня к математическому факультету IIST, Trivandrum.

Этап 2 [2013–2015]

Машинное обучение становится модным словом. Я изучил алгоритмы машинного обучения и математику, лежащую в их основе, в рамках магистерской работы. Мне посчастливилось приземлиться на правильном курсе в нужное время. Я подумал, что теперь это легкий орешек. Но мне приходилось освещать курсовую работу, диссертацию и т. Д. Поэтому, к сожалению, «лунный трекер» получил меньший приоритет.

Что мне нужно сделать, так это создать набор данных (луна и фон), извлечь хорошие функции и обучить модель с помощью SVM или RF. И наведите курсор на изображение в блоках разного размера, чтобы локализовать луну в кадре. Также изучено сопоставление шаблонов, извлечение функций SIFT / SURF и сопоставление.

Хорошо, я попробовал. Но чувствовал, что решение может быть не идеальным. Так что тогда я еще не доделал.

Ощущение успеха временами опасно, потому что вы можете на время отклониться от своих целей и увлечений.

Этап 3 [2016–2020]

Я стал «специалистом по обработке данных» **, как говорится в каком-то забавном определении, как человек, не лучший в математике и не лучший в кодировании. Мне посчастливилось решать различные предметные проблемы (электронная коммерция, здравоохранение, BFSI, производство) с помощью машинного обучения. И я никогда не упускал возможности попасть в имиджевые проекты. Было весело решать проблемы.

Теперь вернемся к нашему лунному трекеру. По мере того, как методы глубокого обучения становились популярными и эффективными, я снова оставил «лунный трекер» на потом, так как теперь счел это более легкой задачей.

Мне посчастливилось работать над разными интересными имиджевыми проектами и хакатонами.

«И когда ты чего-то хочешь, вся вселенная сговаривается, чтобы помочь тебе достичь этого».
- Пауло Коэльо, Алхимик

Вселенная сделала свое дело, но я откладывал или, скорее, не имел мотивации обернуть наш лунный трекер.

Хорошо, что до сих пор нет прямого "классификатора луны".

Теперь, спустя два месяца после карантина, перепроверив свой список дел в журнале, я, наконец, решил поставить его в центр внимания!

Окончательное решение [2020]

Используется маска R-CNN и, конечно же, набор данных, собранных за многие годы. Совет для тех, кто хочет попробовать легко создавать собственные маски, используйте инструмент Lablellmg. Я создал проект в Google Colab, чтобы сократить время обучения.

Всегда приятно видеть, что что-то работает. Мне потребовалось всего 3 дня, чтобы завершить окончательное решение. Доказал это, тем не менее, я могу провести на нем много бессонных ночей. Я мог бы сделать это три года назад, когда маска-RCNN стала популярной, но из-за лени и отсутствия доступа к графическому процессору так далеко.

Теперь это просто. Мне нужно добавить еще несколько похожих изображений улиц, чтобы повысить точность. И снова доработайте модель.

Дальнейшее совершенствование

После описания части как до сих пор снова переходим к ответу на вопрос почему усилий.

Используя ту же модель для видео и немного кодирования, можно, наконец, добиться отслеживания !! Выполнено.

Конец пути [2020]

Сноска

Все, что я хочу сказать, это иметь хобби-проект, иметь мечту, а что, если это приведет вас к успеху в жизни!

Стремитесь к звездам, вы можете достичь Луны.

В начале 18 века у нас появился первый фотоаппарат. Теперь, в 2020 году, даже наши мобильные телефоны обладают интеллектуальным зрением, а две наши камеры (спутники) выходят за пределы Солнечной системы.

Есть только один способ научиться. Это через действие. Все, что вам нужно знать, вы узнали за время своего путешествия.

- Пауло Коэльо, алхимик

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

Люди способны в любой момент своей жизни делать то, о чем мечтают.

- Пауло Коэльо, алхимик

Если вам интересно изучить окончательное решение, посмотрите: