Архив рубрики: Python

Преобразование изображения в вид сверху

В этом заметке будет рассмотрено преобразование изображения в вид сверху с помощью матрицы гомографии. В жаргоне компьютерного зрения вид сверху называется вид с высоты птичьего полета (bird eye view).

Читать далее

Сверточные нейронные сети для компьютерного зрения [1.1] Классификация изображений: Data-driven подход, k-Nearest Neighbor, train/val/test разделение

Это вводная статья, призванная познакомить людей, не знакомых с компьютерным зрением, с проблемой классификации изображений и data-driven подходом.

Читать далее

Сверточные нейронные сети для компьютерного зрения [0.3] Инструкция по использованию IPython

В этом разделе будет рассмотрены IPython notebooks (часто более известный как Jupyter notebooks) для работы над задачами курса. IPython notebook позволяет писать и исполнять Python код в веб-браузере. IPython notebooks позволяет очень легко править код и выполнять его частями; По этой причине IPython notebooks широко используется в научных вычислениях.

Читать далее

Сверточные нейронные сети для компьютерного зрения [0.2] Инструкция по использованию Python/Numpy

Оригинал инструкции был составлен Джастином Джонсоном.

Мы будем использовать язык программирования Python для всех заданий этого курса. Python это отличный универсальный язык программирования сам по себе, но с помощью некоторых популярных библиотек (numpy, scipy, matplotlib) он становиться мощным окружением для научных вычислений.

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

Читать далее

Сверточные нейронные сети для компьютерного зрения [0.1] Введение и установка

Эта статья открывает цикл статей, основанных на переводе лекций и практических заданий курса CS231n Convolutional Neural Networks for Visual Recognition Стэнфордовского университета, этот курс является вводным в использование сверточных нейронных сетей для задач компьютерного зрения. В первой части рассмотрены вопросы структуры курса и подготовки рабочей среды. В рамках перевода некоторые термины не будут переводится в силу редкости русскоязычных ресурсов и повсеместного использования оригинальных названий. Кроме того, статьи не являются точным переводом и могут быть дополнены авторами. 

Отдельная просьба к читателям: при наличии вопросов, задавайте их в сообщениях сообщества в VK.

Читать далее

Компьютерное зрение. Машиное обучение с использовнием нейронных сетей (Keras)

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

Знакомство с нейронными сетями начнем с фреймворка Keras. И на базе того же датасета MNIST попробуем сначала обучить собственную сверточную нейронную сеть.

По умолчанию Keras имеет в своей основе TensorFlow, который имеет достаточно хорошую поддержку GPU.

Читать далее

Компьютерное зрение. Машинное обучение без нейронных сетей (scikit-learn)

В качестве простейшей иллюстрации рассмотрим классификацию датасета MNIST двумя подходами, и. заодно, познакомимся с двумя инструментами.

Датасет MNIST представляет собой набор из 70000 изображений рукописных цифр от 0 до 9, который делится на 60000 обучающих изображений и 10000 тестовых. Подробное его описание и он сам доступены по адресу https://www.openml.org/d/554.

Цифры были нормализованы по размеру и центрированы на изображении фиксированного размера. Исходные черно-белые изображения из NIST были нормализованы по размеру, чтобы поместиться в поле размером 20×20 пикселей при сохранении их соотношения сторон. После нормализации изображения сглажены, вследствие чего содержат уровни серого. Полученные изображения центрированы в поле 28×28 путем вычисления центра масс пикселей и перемещения изображения таким образом, чтобы расположить эту точку в центре.

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

Одним из наиболее известных фреймворков для машинного обучения с использованием классических методов является scikit-learn.

Читать далее

Компьютерное зрение. Введение

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

Читать далее

Оценка параметров ДУ в Python

Одной из распространенных задач, возникающих при исследовании различных объектов — построение математической модели. Нередко математическая модель представляется в виде системы дифференциальных уравнений, однако непосредственное измерение всех, входящих в них параметров, как правило, невозможно по различным причинам. В таком случае, одним из подходов является проведение идентификационных экспериментов и оценка параметров ДУ путем решения оптимизационной задачи.

В статье рассмотрен простой способ оценки параметров системы ДУ в форме Коши на языке Python.

Читать далее

Простой способ передать большие файлы через socket на Python

Python предлагает очень удобную обертку над сокетами (socket), однако, как известно, сокеты являются достаточно низкоуровневыми и не гарантируют доставку сообщения целиком. То есть, отправив большой объем данных, вы их получите, но, скорее всего, по частям. В этой заметке будет показан простой способ сделать обертку над сокетами для получения примитивного протокола уровня пакетов и передавать таким образом большие файлы.

Читать далее