Object Recognition in Python | Finding Objects in an Image | TensorFlow, PixelLib

Posted by


В этом уроке мы рассмотрим, как распознавать объекты на изображениях с использованием библиотек TensorFlow и PixelLib на Python. TensorFlow – это популярная библиотека для машинного обучения, а PixelLib – это библиотека для обработки изображений, в частности, для обнаружения и сегментации объектов на изображениях.

Для начала, убедитесь, что у вас установлены все необходимые библиотеки. Установите TensorFlow и PixelLib следующим образом:

pip install tensorflow
pip install pixellib

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

import tensorflow as tf
from pixellib.instance import instance_segmentation
import matplotlib.pyplot as plt

Затем мы загружаем модель обнаружения объектов на изображениях с помощью функции instance_segmentation() из библиотеки PixelLib:

instance_seg = instance_segmentation()
instance_seg.load_model("mask_rcnn_coco.h5")

Теперь мы можем использовать эту модель для обнаружения объектов на изображении. Для этого мы используем функцию segmentImage():

segmask, output = instance_seg.segmentImage("input.jpg", show_bboxes=True)

Здесь "input.jpg" – это путь к изображению, на котором мы хотим обнаружить объекты. Функция segmentImage() возвращает маску сегментации и выходное изображение с обнаруженными объектами. Мы можем отобразить результат, используя код:

plt.imshow(output)
plt.show()

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

print(segmented_instance.segmented_objects)

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

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

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

0 0 votes
Article Rating
46 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
@Elenezer
1 month ago

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

@dobrblnia_TT
1 month ago

замечательно! хотелось бы увидеть распознавание объектов на своём датасете, это может гораздо увеличить возможности программы

@user-Nachum
1 month ago

ссылку на веса не могу найти

@АлександрВальвачев-я6ъ
1 month ago

Материал очень полезен, спасибо.

@Sarqyrama
1 month ago

здравствуйте, можно ли у вас приобрести готовый софт для камер видеонаблюдения, это если в наличии у вас имеется софт либо ПО?

@lier228
1 month ago

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

@pichfazhe3417
1 month ago

а возможно как-то реализовать поиск объекта в игре? проблема в том, что он анимированный и не статичной формы,иногда частично перекрывается другими текстурами. Пробовал поиск по картинке, по цвету, все бессмысленно.

@imfexxxx
1 month ago

Кто-то сталкивался с проблемой?

The name tf.disable_eager_execution is deprecated. Please use tf.compat.v1.disable_eager_execution instead.

@ИвановИван-ш8н
1 month ago

path_to_model нет файла в проекте

@davidhartman8698
1 month ago

У кого-то была ошибка с форматом входных данных? Конкретно у меня ожидается формат .tf, а не .h5. Я не очень осведомлен в TF и Keras и не смог конвертировать файл из одного формата в другой. Нашел кучу советов, но хз как конкретно их применить к исходному коду модели.
Вот сама ошибка:
NotImplementedError: Save or restore weights that is not an instance of `tf.Variable` is not supported in h5, use `save_format='tf'` instead.

@davidhartman8698
1 month ago

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

@dadyx85
1 month ago

Не запускается. Выдает вот это: raise NotImplementedError(

NotImplementedError: Save or restore weights that is not an instance of `tf.Variable` is not supported in h5, use `save_format='tf'` instead. Got a model or layer Conv2D with weights [<KerasVariable shape=(7, 7, 3, 64), dtype=float32, path=conv1/kernel>, <KerasVariable shape=(64,), dtype=float32, path=conv1/bias>]

@Biohack-1
1 month ago

Я начал учить питон, и raspbwrry pi хочу на этой основе сделать робота снегоуборщика, которой сможет убирать не только двор но и улицы, а для этого мне нужно что бы он мог распознавать объекты людей машин животных и препятствия и дорожные знаки, и то как действовать в той или иной ситуации, да да знаю что для такого программа будет большая и написать не просто и не быстро но вот хочеться и все

@leoentoni
1 month ago

Какой версии python итерпритатор?

@stognybasil1247
1 month ago

Удалось установить работающий код на Raspberry? Не было медленной работы кода? У меня распознование 1city.jpg выполняется за 12 с. Это очень медленно.

@ЧерновАндрей-г6т
1 month ago

Вопрос в том как создать и обучить свою модель

@Qaz_Python-rs1lj
1 month ago

Мен осындағы жасап көрдім. Бірақ видеодағыдай шықпады
суреттерден денелерді таба алмады

@pokupki29
1 month ago

А как наоборот сделать. Есть конкретное изображение предмета а на выходе получить что это? Машина человек принтер телефон собака или книга….

@ИльяПерваков-ю7ы
1 month ago

в Visual studia code: при первом запуске
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated UXXXXXXXX escape из-за файла mask_rcnn_coco.h5 как быть?

@gdbot8735
1 month ago

в видео всё очень понятно, но на деле просто ужас! Не работает, выделяет стену как яблоко, и вообще рандомно как-то, ещё уже обновили numpy и теперь нету np.bool и надо искать и заменять на просто bool(вины автора нет, видео уже 3 года назад было сделано), но если кто знает, помогите пж