Vision Agent: визуальный интеллект для решения множества задач по обнаружению визуальных целей
Общее введение
Vision Agent - это проект с открытым исходным кодом, разработанный компанией LandingAI (команда Энда Ву) и размещенный на GitHub, цель которого - помочь пользователям быстро генерировать код для решения задач компьютерного зрения. Он использует продвинутый агентный фреймворк и мультимодальную модель для генерации эффективного кода ИИ для компьютерного зрения с помощью простых подсказок для различных сценариев, таких как обнаружение изображений, видеослежение, подсчет объектов и многое другое. Инструмент не только поддерживает быстрое создание прототипов, но и легко внедряется в производственные среды и широко применим в производстве, медицине, сельском хозяйстве и т. д. Vision Agent предназначен для автоматизации сложных задач технического зрения, и разработчики могут получить исполняемый код, просто предоставив описание задачи, что значительно снижает порог разработки ИИ зрения. В настоящее время он получил более 3 000 звездных меток, а сообщество очень активно и постоянно обновляется.

Примеры применения можно найти в Агентное обнаружение объектов: инструмент для визуального обнаружения объектов без аннотации и обучения

Список функций
- Автоматическая генерация кода: Генерирование визуального кода ИИ для изображения или видео на основе описания задачи, введенного пользователем.
- Обнаружение и подсчет объектов: Поддержка обнаружения определенных объектов на изображении или видео и их подсчета, например, подсчета голов.
- Анализ видеокадров: Извлечение кадров из видео и отслеживание или сегментация объектов.
- Инструменты визуализации: Обеспечивает визуализацию изображений/видео с наложением ограничительных рамок и разделительных масок.
- Поддержка нескольких моделей: Интеграция различных визуальных моделей с открытым исходным кодом, между которыми пользователи могут переключаться в зависимости от своих потребностей.
- Пользовательские расширения инструментов: Позволяет пользователям добавлять новые инструменты или модели для решения конкретных задач.
- Поддержка развертывания: Создание кода для поддержки быстрого создания прототипов и развертывания в производственных средах.
Использование помощи
Как установить и использовать
Vision Agent - это библиотека на базе Python, пользователям необходимо получить исходный код через GitHub и установить его в локальной среде. Ниже приведена подробная процедура установки и использования:
Процесс установки
- Подготовка к защите окружающей среды
- Убедитесь, что на вашем компьютере установлен Python 3.8 или более поздней версии.
- Установите Git для клонирования репозиториев с GitHub.
- Дополнительно: рекомендуется использовать виртуальную среду (например.
venv
возможноconda
), чтобы изолировать зависимости.
- склад клонов
Откройте терминал и выполните следующую команду, чтобы получить исходный код Vision Agent:git clone https://github.com/landing-ai/vision-agent.git cd vision-agent
- Установка зависимостей
В каталоге репозитория установите необходимые зависимости:pip install -r requirements.txt
Если вам нужно использовать определенную модель (например. Антропология или OpenAI), требуется дополнительная настройка ключа API, см. далее.
- Проверка установки
Выполните следующую команду, чтобы проверить, успешно ли прошла установка:python -c "import vision_agent; print(vision_agent.__version__)"
Если возвращается номер версии (например, 0.2), установка завершена.
Использование основных функций
Основная функция Vision Agent - генерировать код и выполнять задачи видения по подсказкам. Ниже приводится подробная пошаговая процедура выполнения основных функций:
1. создание визуального кода ИИ
- процедура::
- Импортируйте модуль Vision Agent:
from vision_agent.agent import VisionAgentCoderV2 agent = VisionAgentCoderV2(verbose=True)
- Подготовьте описание задания и медиафайлы. Например, подсчитайте количество людей на изображении:
code_context = agent.generate_code([ {"role": "user", "content": "Count the number of people in this image", "media": ["people.png"]} ])
- Сохраните сгенерированный код:
with open("count_people.py", "w") as f: f.write(code_context.code)
- Импортируйте модуль Vision Agent:
- Функциональное описание: После ввода пути изображения и описания задачи Vision Agent автоматически генерирует Python-код, содержащий логику обнаружения и подсчета объектов. Сгенерированный код опирается на встроенные инструменты, такие как
countgd_object_detection
.
2. Обнаружение и визуализация объектов
- процедура::
- Загрузите изображение и запустите обнаружение:
import vision_agent.tools as T image = T.load_image("people.png") dets = T.countgd_object_detection("person", image)
- Наложите ограничительную рамку и сохраните результат:
viz = T.overlay_bounding_boxes(image, dets) T.save_image(viz, "people_detected.png")
- Визуализация результатов (опционально):
import matplotlib.pyplot as plt plt.imshow(viz) plt.show()
- Загрузите изображение и запустите обнаружение:
- Функциональное описание: Эта функция обнаруживает заданный объект (например, "человек") на изображении и рисует на нем ограничительную рамку, что подходит для проверки качества, мониторинга и других сценариев.
3. Анализ и отслеживание видеокадров
- процедура::
- Извлеките кадры видео:
frames_and_ts = T.extract_frames_and_timestamps("people.mp4") frames = [f["frame"] for f in frames_and_ts]
- Запустите трассировку объекта:
tracks = T.countgd_sam2_video_tracking("person", frames)
- Сохраните видеоролик с визуализацией:
viz = T.overlay_segmentation_masks(frames, tracks) T.save_video(viz, "people_tracked.mp4")
- Извлеките кадры видео:
- Функциональное описание: извлекает кадры из видео, обнаруживает и отслеживает объекты и, наконец, генерирует визуализацию видео с маской сегментации, подходящую для динамического анализа сцены.
4. Настройка других моделей
- процедура::
- Измените файл конфигурации, чтобы использовать другие модели (например, антропную):
cp vision_agent/configs/anthropic_config.py vision_agent/configs/config.py
- Установите ключ API:
Добавьте ключ в переменную окружения:export ANTHROPIC_API_KEY="your_key_here"
- Повторно запустите задачу генерации кода.
- Измените файл конфигурации, чтобы использовать другие модели (например, антропную):
- Функциональное описаниеVision Agent по умолчанию поддерживает несколько моделей, и пользователи могут менять их в зависимости от своих потребностей, чтобы повысить эффективность выполнения задач.
Пример операционного процесса: Расчет процента наполнения кофейных зерен
Предположим, у вас есть изображение банки с кофейными зернами, и вы хотите рассчитать процент заполнения:
- Напишите описание задания и запустите его:
agent = VisionAgentCoderV2() code_context = agent.generate_code([ {"role": "user", "content": "What percentage of the jar is filled with coffee beans?", "media": ["jar.jpg"]} ])
- Выполните сгенерированный код:
Сгенерированный код может быть:from vision_agent.tools import load_image, florence2_sam2_image image = load_image("jar.jpg") jar_segments = florence2_sam2_image("jar", image) beans_segments = florence2_sam2_image("coffee beans", image) jar_area = sum(segment["mask"].sum() for segment in jar_segments) beans_area = sum(segment["mask"].sum() for segment in beans_segments) percentage = (beans_area / jar_area) * 100 if jar_area else 0 print(f"Filled percentage: {percentage:.2f}%")
- Выполните код, чтобы получить результат.
предостережение
- Убедитесь, что входное изображение или видео имеет правильный формат (например, PNG, MP4).
- Если у вас возникли проблемы с зависимостями, попробуйте обновить
pip install --upgrade vision-agent
. - Поддержка сообщества: Для получения помощи присоединяйтесь к сообществу LandingAI в Discord.
© заявление об авторских правах
Авторское право на статью Круг обмена ИИ Пожалуйста, не воспроизводите без разрешения.
Похожие статьи
Нет комментариев...