Во время обучения на бакалавриате занимался разработкой 2D игр под Android. Всё это делалось в среде Unity 3D на языке C#. Мы с командой принимали участие в хакатоне SECON 2018.
Летом 2018го года принимал участие в программе обмена студентов "Camp America", во время которой работал в детском лагере в штате New Hampshire в течение двух месяцев. После лагеря полтора месяца подрабатывал в штате New Jersey.
Знаком с линейными и нелинейными структурами данных, с некоторыми популярными алгоритмами (сортировки, поиска, декомпозиции).
Имею базовое представление о нейросетях - нейроны, веса, слои, функции активации/суммы, модели нейронов, обучение методом обратного распространения ошибки.
Есть теоретические знания основных методов оптимизации. Градиентный спуск для гладких функций. Метод имитации отжига, дифференциальная эволюция, метод Нелдера-Мида для негладких.
В университете был курс по машинному обучению, где я получил опыт обучения моделей на уже готовых данных (линейная, логистическая, полиномиальная регрессии, метод классификации knn и кластеризации k-means). Курс по базам данных помог погрузиться в язык запросов SQL.
Во втором семестре магистратуры собрал на базе Arduino и Raspberry Pi 4
колёсного робота. В практических интересах реализовал на нём
распознавание линий (вроде дорожной разметки). Проект создавался с использованием оператора Кенни и преобразования Хафа на языке Python. Программная часть этого проекта и видеозапись есть на GitHub:
https://github.com/Tpoc311/AutoPiCar.
Что касается хобби, то с раннего детства я занимался хоккеем. С тех пор несколько раз в сезон уделяю время катанию на коньках.
Работал на 1/2 ставки совмещая с учёбой в университете. Занимался, в основном, вёрсткой графического интерфейса для редактора схем (наподобие MS Visio) на HTML/CSS. JavaScript использовал для анимации элементов страницы.
Писал программы-верификаторы на языке Haskell.
Специализация - информатика и вычислительная техника. Второй курс магистратуры.
За время учёбы заинтересовался областью компьютерного зрения. На данный момент публикую статьи, одна из которых на тему задачи обнаружения дорожной разметки. Также, изучал дифференциальный метод вычисления оптического потока Лукаса-Канаде.
За время обучения выделил для себя несколько интересных курсов. На них я изучил алгоритмы и структуры данных, основы машинного обучения (регрессионные модели, классификация) и методы обработки больших данных (Spark, PySpark, Hadoop).
CV и ML занимаюсь в рамках дипломного проекта и в свободное от учёбы время, поскольку в учебную программу не входят подобные дисциплины.
В курсе рассказывается базовая математика, необходимая для анализа данных. Здесь разбирают такие области математики, как векторы, пределы, производные (в том числе и градиент), некоторые методы оптимизации, матричные разложения, случайные величины, распределения, статистики, доверительные интервалы. Также курс даёт понятие о работе с библиотеками анализа данных на Python (Scipy, Numpy, Matplotlib). В конце курса необходимо выполнить задание на проработку центральной предельной теоремы
Весь материал подаётся не слишком углублённо, но на достаточном для понимания уровне.
Короткий курс по OpenCV. Здесь вычисляется оптический поток с применением различных трекеров. Проводится отслеживание как одного выбранного на изображении объекта, так и нескольких. Также, автор рассказывает, чем отличается плотный оптический поток от стандартного.
Ещё один короткий курс, в течение которого изучаются базовые методы работы с изображениями - загрузка изображения, поворот, перевод в grayscale, работа с каналами изображения. Рассматриваются способы рисования на изображении различных фигур как по координатам, так и с помощью мыши. Рассказываются некоторые моменты, которые нужно учитывать при работе с изображениями с помощью OpenCV.
Курс показался непростым, хотя и написано, что для начинающих.
Встречаются довольно интересные задачи, которые с ходу не решались. Бывало, что на задачу уходили даже дни. Это дало возможность достаточно хорошо проработать язык, прощупать разные его стороны.