Этот вопрос уже давно меня озадачивает; Как стать экспертом в области компьютерного зрения? Под экспертом я имею в виду инженера-программиста, также известного как разработчик. Стоит ли мне читать больше книг? записаться на академическую программу? онлайн-курсы? участвовать в проектах с открытым исходным кодом? подать заявку на соответствующую стажировку / работу? выполнять исследовательские работы?

Это озадачило меня до такой степени, что я даже усомнился в том, что этот вопрос вообще был правильным. Мне посоветовали думать наоборот. Чего я пытаюсь достичь? Что я хочу построить? Затем я должен попутно изучить необходимые теории и инструменты, т.е. я должен стать человеком, движимым объективными целями [2, 3, 4]. Другой совет состоял в том, чтобы быть более конкретным и перефразировать вопрос; например, как мне устроиться на x работу в компанию y, например на z человека?

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

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

Чтобы сузить критерии поиска, я решил перефразировать свой вопрос.

Какова техническая квалификация инженера-программиста компьютерного зрения?

Я поискал в LinkedIn несколько вакансий и профилей профессиональных инженеров-программистов компьютерного зрения. Я мог с уверенностью сделать вывод;

  • почти нет четкой разницы между позицией разработчика и позицией исследователя; нужно иметь возможность обмениваться шляпами между обоими
  • степень магистра, доктора философии, опубликованная статья или патент поддержат ваше заявление о приеме на работу
  • солидный опыт в машинном обучении, параллельных вычислениях, многопоточности и оптическом распознавании символов OCR были обычными навыками
  • необходим опыт работы с Matlab для прототипирования и c ++ для оптимизированных решений
  • OpenCV - это обязательная библиотека
  • и, конечно же, опыт работы с реальными проектами и решение сложных задач.

Друг Абдельрахман Элогил помог мне получить отзывы от двух инженеров по программному обеспечению компьютерного зрения по вышеуказанным вопросам;

Мой личный совет заключается в том, что резюме - это очень большая область. Он должен иметь хороший общий опыт, а затем сосредоточиться на конкретной области резюме. Также «Цифровая обработка изображений» Гонсалеса - известная книга по базовой обработке изображений. У него тоже есть книга с использованием Matlab. Я также согласен с тем, что было сказано, что большинство компаний не используют Matlab, хотя они не возражают использовать его для прототипирования, если таковой имеется, или использовать его бесплатную альтернативу Octave. Я эксперт по Matlab, но с тех пор, как пришел в свою компанию, я им не пользовался.

Еще один добавил;

Кажется, что есть два типа инженеров, которые занимаются компьютерным зрением, и они могут существовать вместе в одной команде:

1. Инженер высокого уровня, и это человек с небольшим опытом или без опыта в резюме, но работает с системами, включающими резюме, соединяя компоненты резюме, не разбираясь в том, как они работают.

2. Основной инженер CV, и большинство из них имеют MS / PhD в CV / ML (однако существуют некоторые большие исключения) или провели некоторые исследования в CV во время бакалавриата / стажировки / работы и т. Д.
Еще один комментарий: a Основной инженер CV не должен быть экспертом или даже знаком с OpenCV. Он просто достаточно хорошо понимает теорию. Кроме того, резюме - это большая сфера деятельности, и основной инженер резюме не будет знать всего. Ему просто нужно иметь подтвержденные знания и опыт в одной области, и это говорит о том, что он будет в порядке, чтобы взяться за аналогичную / другую проблему / проект CV.

Еще у меня был случайный разговор с коллегой Ахмедом Ибрагимом - бывшим стажером в Microsoft Research Labs. - и добавил, что исследовательский разработчик сосредотачивается на реализации алгоритмов, предписанных его руководителем группы. Руководитель группы имеет докторскую степень. в области, связанной с их исследованиями. Он придумывает подход к решению проблемы и ожидаемые результаты. Затем разработчик знакомится с инструментами и библиотеками для выполнения поставленной задачи. Наконец, он сообщает об узких местах и ​​результатах руководителю группы.

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

«Что касается того, чему мы должны научиться, прежде чем мы сможем это сделать, мы узнаем, выполняя это». - Аристотель, Никомахова этика.

Исчерпывающий список ресурсов:

  • Онлайн-курсы

Https://www.youtube.com/watch?v=715uLCHt4jE

  1. Https://www.coursera.org/learn/machine-learning
    http://nptel.ac.in/courses/117105101/1
  • Материалы курса
  1. Http://slazebni.cs.illinois.edu/spring13/
    http://vision.stanford.edu/teaching/cs231n/index.html
    http: // ufldl. stanford.edu/tutorial/
  • Книги
  1. Компьютерное зрение: алгоритмы и приложения (тексты в компьютерных науках), Ричард Селиски
    Компьютерное зрение OpenCV с Python, Джозеф Хауз
  • Блоги
  1. Http://sebastianraschka.com/index.html
  • Проекты с открытым исходным кодом
  1. Http://www.openpr.org.cn/
    http://www.tina-vision.net/
    http://camellia.sourceforge.net/ женщина
    «Http://opensourcevfx.org/tag/image-processing/

    https://code.google.com/p/openip/
  • Вакансии
  1. Https://www.dice.com/jobs/detail/Computer-Vision-%26%2347-Image-Processing-Software-Engineer-Robert-Half-Technology-San-Diego-CA-92123/rhalfint/00400- 130120
    http://itseez.com/jobs/
    https://www.miteksystems.com/careers/software-engineer-computer-vision-image-processing-0 < br /> https://jobs.apple.com/search?job=42945510&openJobId=42945510#&openJobId=42945510
    http://wuzzuf.net/jobs/p/47377-C—-3D– Обработка изображений, инженер-программист, 360 изображений, Гиза, Египет
  • На кого подписаться
  1. LinkedIn [ссылка]

Ссылки:

[1] Существуют ли какие-либо проекты с открытым исходным кодом в области обработки изображений? Https://www.researchgate.net/post/Are_there_any_open_source_projects_in_image_processing1
[2] https://ask.fm/yasserhtd/answers/129884902406
[3] https: // ask .fm / yasserhtd / answers / 130406182662
[4] https://ask.fm/yasserhtd/answers/130836844806