Pull to refresh

Компьютерное зрение всем, даром

Reading time 3 min
Views 15K


20 лет назад, в 1999 году, компания Kyocera выпустила первый мобильный телефон с цифровой камерой – Visual Phone VP-210. С тех пор, благодаря невероятно большому и растущему рынку мобильных устройств связи, ПЗС-матрицы цифровых камер совершили невероятный скачок по всем параметрам. Чувствительность, диапазон, размер, энергопотребление, но что ещё важнее – цена.

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

Давайте на реальных примерах рассмотрим, насколько сложно (или просто) сейчас работать с изображениями и какие задачи под силу айтишнику иной специализации.

Безусловно, главным инструментом для работы с изображениями является Open Source библиотека OpenCV. Написанная на C++ – также имеет интерфейсы для работы с Python, Java, PHP, JavaScript и другими, менее популярными языками. На примере нескольких проектов с использованием OpenCV, опубликованных на хабре в 2018-2019, рассмотрим, какие задачи решались и какие технологии использовались.

1) Умная кормушка: Machine Learning, Raspberry Pi, Telegram, немножко магии обучения + инструкция по сборке
Пост о хоббийном проекте ZlodeiBaal: 27.6k просмотров, 289 закладок. Raspberry Pi B+, камера, OpenCV, Caffe, Python.

2) DIY тепловизор на Raspberry PI или «Кажется теперь я знаю, чем займусь этим летом»
Пост о хоббийном проекте Walker2000: 73.8k просмотров, 425 закладок. Raspberry Pi B+/Raspberry Pi Zero W, тепловизионная матрица, OpenCV, Python.

3) Печать гобелена «Игры престолов» на фискальном принтере с использованием Python
Пост о хоббийном проекте viking_unet: 7,9k просмотров, 50 закладок. Фискальный принтер, OpenCV, Python.

4) StereoPi — наша железка для изучения компьютерного зрения, дронов и роботов
Пост об отечественном железячном проекте Realizator: 14,1k просмотров, 117 закладок. Raspberry Pi, OpenCV.

5) Восстановление смазанных и расфокусированных изображений с помощью фильтра Винера. Реализация на C++ OpenCV
Пост об опыте VladislavBK: 16,7k просмотров, 154 закладки. Nikon, OpenCV, C++.

6) OpenCV на STM32F7-Discovery
Пост о хоббийном проекте 0xdde: 6,4k просмотров, 71 закладка. STM32, OpenCV, Qt, C++.

7) Запускаем свой нейросетевой детектор на Raspberry Pi с помощью Neural Compute Stick и OpenVINO
Пост о хоббийном проекте BeloborodovDS: 14.7k просмотров, 126 закладок. Raspberry Pi. Neural Compute Stick, OpenCV, OpenVINO, C++.

8) Компьютерное зрение и машинное обучение в PHP используя библиотеку opencv
Пост о хоббийном проекте morozovsk: 21.6 тыс просмотров, 236 закладок. OpenCV, PHP, php-opencv.

9) opencv4arts: Нарисуй мой город, Винсент
Пост о компьютерном зрении и нейросетях в браузере dkurt: 5.4k просмотров, 63 закладки. OpenCV, JavaScript, OpenCV.js

10) *Место вакантно*
Последний пункт предназначался для проекта на Java, так как этот язык вполне официально поддерживается OpenCV, однако мне не удалось найти на Хабре подходящий пост. Пишите свои предположения, почему? А ещё лучше пишите пост по теме. Java весьма распространённый язык, и я крайне удивлён столь скудному представлению на хоббийном ландшафте айтишников.

Не трудно подметить – в большинстве случаев авторы впервые работали с OpenCV и компьютерным зрением в частности. Это не помешало им сравнительно небольшими усилиями создать функционирующий проект и даже решать реальные задачи удобным способом.
Only registered users can participate in poll. Log in, please.
Насколько вероятно, что в одном из следующих хобби/pet-проектов вы будете использовать машинное зрение?
58% Почти наверняка 58
36% Мало вероятно 36
6% Мне это абсолютно не интересно 6
100 users voted. 11 users abstained.
Only registered users can participate in poll. Log in, please.
Когда вам понадобится воспользоваться OpenCV, вы обратитесь к нативной реализации C/C++ или пожертвуете производительностью в угоду возможному комфорту?
36.89% Похоже, я управлюсь и с С++ 38
46.6% Однажды Python – всегда Python 48
1.94% JavaScript мне больше по душе 2
3.88% PHP, который смог 4
10.68% Мифический Java 11
103 users voted. 13 users abstained.
Tags:
Hubs:
+12
Comments 6
Comments Comments 6

Articles

Information

Website
piter.com
Registered
Founded
Employees
201–500 employees
Location
Россия