Как с помощью Python распознать текст в изображениях

Мы легко понимаем текст на картинке, просто на неё взглянув. Однако, с компьютерам всё как‑то не так. Им нужна какая‑то мето́да или алгоритм. Здесь на помощь приходит Optical Character Recognition (OCR) или оптическое распознавание символов. Оптическое распознавание символов — это процесс обнаружения текстового содержимого на изображениях и преобразование его в машинно-кодированный текст, к которому мы можем получить доступ и манипулировать в Python (или любом другом языке программирования) как со строковой переменной. Для этого в нашем уроке мы будем использовать библиотеку Tesseract.
Читать далее «Как с помощью Python распознать текст в изображениях»

Лучшие инструменты Python ETL на 2021 год

При создании хранилища данных, для их перемещения в это хранилище обязательно встанет вопрос об ETL (от англ. Extract, Transform, Load — дословно «извлечение, преобразование, загрузка»). Первоначально данные извлекаются из массивов различных источников. Затем необходимо сделать преобразования в формат, который нужен для использования данных в дальнейшем, и, наконец, происходит загрузка в свое хранилище данных.

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

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

Пытаетесь структурировать код в крупных проектах? Отличные ресурсы для новичка, которые не так легко найти

Итак, заканчивая первый курс и освоив дисциплины «Программирования» и «Курс молодого бойца: Python«, вы медленно, но верно должны превратиться в продвинутого новичка — некоторый путь к основам Python пройден и вы уже можете решать реальные проблемы.

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

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

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

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

Если что-то из перечисленного вам знакомо, то вот несколько ресурсов, которые будут вам полезны.
Читать далее «Пытаетесь структурировать код в крупных проектах? Отличные ресурсы для новичка, которые не так легко найти»

Как создать классификатор изображений на Python с помощью Tensorflow 2 и Keras

Во времена цифровизации производственных бизнес-процессов особое значение приобретают навыки работы с изображениями, Computer Vision. Здесь приведен небольшой пример построение и обучение модели, которая классифицирует изображения наборов данных CIFAR-10. Для его загрузки использован Tensorflow, а сам наборов данных содержит изображения самолетов, собак, кошек и еще 7 объектов. Библиотеки Tensorflow 2 и Keras Python помогут нам создать и обучить прогностическую модель, а также проверить её.

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

В этом уроке вы узнаете, как успешно классифицировать изображения в наборе данных CIFAR-10 (который состоит из самолетов, собак, кошек и других 7 объектов) с помощью Tensorflow в Python.
Читать далее «Как создать классификатор изображений на Python с помощью Tensorflow 2 и Keras»

Поиск лиц на изображении с использованием OpenCV в Python

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

В этом уроке мы будем создавать простой скрипт Python, который занимается обнаружением человеческих лиц на изображении, мы будем использовать два метода из библиотеки OpenCV. Во-первых, мы собираемся использовать каскадные классификаторы Хаара, что является простым (и не очень точным), но наиболее удобным способом для новичков.

После этого мы погрузимся в использование детекторов Single Shot Multibox (или коротко SSD), которые представляют собой метод обнаружения объектов на изображениях с использованием одной глубокой нейронной сети.

Примечание: стоит упомянуть, что вам нужно различать обнаружение объекта и классификацию объекта, обнаружение объекта — это обнаружение объекта и его расположение на изображении, а классификация объектов — это распознавание того, к какому классу принадлежит объект. Если вас интересует классификация изображений, перейдите к этому уроку.

Читать далее «Поиск лиц на изображении с использованием OpenCV в Python»

Отбор признаков с помощью Scikit-Learn в Python

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

В этой статье сосредоточимся на том, как сделать отбор отдельных атрибутов (признаков) нашего набора данных, который является одной из основных задач фазы предварительной обработки. Но прежде чем погрузиться в кодирование и реализовать различные методы, используемые для подобных задач, давайте сначала определим, что подразумевается под отбором признаков. Отбор признаков — это процесс выбора подмножества атрибутов из набора данных, которые больше всего влияют на производительность модели, при этом не используются какие-либо преобразования.
Читать далее «Отбор признаков с помощью Scikit-Learn в Python»

Создание недорогой стереокамеры с использованием OpenCV

В этом посте мы узнаем, как создать нестандартную недорогую стереокамеру (используя пару веб-камер) и снимать с ее помощью 3D-видео с помощью OpenCV. Мы предоставляем код на Python.

В частности, вы узнаете следующее:

  1. Шаги создания и настройки стереокамеры
  2. Важность стереокалибровки и коррекции
  3. Шаги стереокалибровки и коррекции
  4. Как работают 3D-очки?
  5. Создание собственного 3D-видео

Читать далее «Создание недорогой стереокамеры с использованием OpenCV»