Обработка изображений с помощью базовых библиотек глубокого обучения OpenCV.

Мои первые шаги в мир искусственного интеллекта.

Часть 1: Начало всего

Введение

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

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

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

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

Мне посчастливилось получить возможность стажировки в начинающей компании в городе Фукуока, расположенном в регионе Кюсю. Здесь я проведу следующие 4 месяца, погружаясь в сферу искусственного интеллекта.

Фон

Название компании - Medmain, начинающая компания в Фукуоке, стремящаяся «стать пионером новой эры медицины с помощью искусственного интеллекта».

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

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

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

Начало

У меня были базовые знания Python, но этого было достаточно, чтобы начать изучать довольно интересные вещи. Вне занятий я никогда не занимался программированием с использованием чего-либо, кроме базовых библиотек, и поэтому, когда я знал ключевые слова, это был совершенно новый ландшафт для меня. Мне казалось, что то, что я прочитал в учебниках, внезапно приобрело смысл, особенно когда библиотеки, такие как Numpy и Matplotlib, казались практичными. В частности, выполнение сложных или сложных математических операций с большим набором данных было намного эффективнее и удобнее с Numpy. Matplotlib предоставил возможность отображать необходимые метки значений и повысил читаемость продуктов. Эти библиотеки оказались мощными инструментами в моем путешествии.

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

Использование библиотеки показалось мне очень мощным, простыми командами, такими как

cv2.imread

а также

cv2.imshow

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

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

Библиотека также содержала несколько действительно удобных функций, например

cv2.resize

для изменения размера изображения и

cv2.copyMakeBorder

для создания границы и отступов вокруг изображения.

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

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

В сторону

У меня также было время поиграться с обработкой видео с помощью OpenCV, было на удивление приятно использовать цветовую фильтрацию для достижения некоторого простого отслеживания объектов.

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

Это мои первые несколько недель тренировок, ждите, пожалуйста, следующей части!