Vision Agent: визуальный интеллект для решения множества задач по обнаружению визуальных целей

Общее введение

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

Vision Agent:解决多种视觉目标检测任务的视觉智能体

 

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

Vision Agent:解决多种视觉目标检测任务的视觉智能体

 

Список функций

  • Автоматическая генерация кода: Генерирование визуального кода ИИ для изображения или видео на основе описания задачи, введенного пользователем.
  • Обнаружение и подсчет объектов: Поддержка обнаружения определенных объектов на изображении или видео и их подсчета, например, подсчета голов.
  • Анализ видеокадров: Извлечение кадров из видео и отслеживание или сегментация объектов.
  • Инструменты визуализации: Обеспечивает визуализацию изображений/видео с наложением ограничительных рамок и разделительных масок.
  • Поддержка нескольких моделей: Интеграция различных визуальных моделей с открытым исходным кодом, между которыми пользователи могут переключаться в зависимости от своих потребностей.
  • Пользовательские расширения инструментов: Позволяет пользователям добавлять новые инструменты или модели для решения конкретных задач.
  • Поддержка развертывания: Создание кода для поддержки быстрого создания прототипов и развертывания в производственных средах.

 

Использование помощи

Как установить и использовать

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

Процесс установки

  1. Подготовка к защите окружающей среды
    • Убедитесь, что на вашем компьютере установлен Python 3.8 или более поздней версии.
    • Установите Git для клонирования репозиториев с GitHub.
    • Дополнительно: рекомендуется использовать виртуальную среду (например. venv возможно conda), чтобы изолировать зависимости.
  2. склад клонов
    Откройте терминал и выполните следующую команду, чтобы получить исходный код Vision Agent:

    git clone https://github.com/landing-ai/vision-agent.git
    cd vision-agent
  1. Установка зависимостей
    В каталоге репозитория установите необходимые зависимости:

    pip install -r requirements.txt
    

    Если вам нужно использовать определенную модель (например. Антропология или OpenAI), требуется дополнительная настройка ключа API, см. далее.

  2. Проверка установки
    Выполните следующую команду, чтобы проверить, успешно ли прошла установка:

    python -c "import vision_agent; print(vision_agent.__version__)"
    

    Если возвращается номер версии (например, 0.2), установка завершена.

Использование основных функций

Основная функция Vision Agent - генерировать код и выполнять задачи видения по подсказкам. Ниже приводится подробная пошаговая процедура выполнения основных функций:

1. создание визуального кода ИИ
  • процедура::
    1. Импортируйте модуль Vision Agent:
      from vision_agent.agent import VisionAgentCoderV2
      agent = VisionAgentCoderV2(verbose=True)
      
    2. Подготовьте описание задания и медиафайлы. Например, подсчитайте количество людей на изображении:
      code_context = agent.generate_code([
      {"role": "user", "content": "Count the number of people in this image", "media": ["people.png"]}
      ])
      
    3. Сохраните сгенерированный код:
      with open("count_people.py", "w") as f:
      f.write(code_context.code)
      
  • Функциональное описание: После ввода пути изображения и описания задачи Vision Agent автоматически генерирует Python-код, содержащий логику обнаружения и подсчета объектов. Сгенерированный код опирается на встроенные инструменты, такие как countgd_object_detection.
2. Обнаружение и визуализация объектов
  • процедура::
    1. Загрузите изображение и запустите обнаружение:
      import vision_agent.tools as T
      image = T.load_image("people.png")
      dets = T.countgd_object_detection("person", image)
      
    2. Наложите ограничительную рамку и сохраните результат:
      viz = T.overlay_bounding_boxes(image, dets)
      T.save_image(viz, "people_detected.png")
      
    3. Визуализация результатов (опционально):
      import matplotlib.pyplot as plt
      plt.imshow(viz)
      plt.show()
      
  • Функциональное описание: Эта функция обнаруживает заданный объект (например, "человек") на изображении и рисует на нем ограничительную рамку, что подходит для проверки качества, мониторинга и других сценариев.
3. Анализ и отслеживание видеокадров
  • процедура::
    1. Извлеките кадры видео:
      frames_and_ts = T.extract_frames_and_timestamps("people.mp4")
      frames = [f["frame"] for f in frames_and_ts]
      
    2. Запустите трассировку объекта:
      tracks = T.countgd_sam2_video_tracking("person", frames)
      
    3. Сохраните видеоролик с визуализацией:
      viz = T.overlay_segmentation_masks(frames, tracks)
      T.save_video(viz, "people_tracked.mp4")
      
  • Функциональное описание: извлекает кадры из видео, обнаруживает и отслеживает объекты и, наконец, генерирует визуализацию видео с маской сегментации, подходящую для динамического анализа сцены.
4. Настройка других моделей
  • процедура::
    1. Измените файл конфигурации, чтобы использовать другие модели (например, антропную):
      cp vision_agent/configs/anthropic_config.py vision_agent/configs/config.py
      
    2. Установите ключ API:
      Добавьте ключ в переменную окружения:

      export ANTHROPIC_API_KEY="your_key_here"
      
    3. Повторно запустите задачу генерации кода.
  • Функциональное описаниеVision Agent по умолчанию поддерживает несколько моделей, и пользователи могут менять их в зависимости от своих потребностей, чтобы повысить эффективность выполнения задач.

Пример операционного процесса: Расчет процента наполнения кофейных зерен

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

  1. Напишите описание задания и запустите его:
    agent = VisionAgentCoderV2()
    code_context = agent.generate_code([
    {"role": "user", "content": "What percentage of the jar is filled with coffee beans?", "media": ["jar.jpg"]}
    ])
    
  2. Выполните сгенерированный код:
    Сгенерированный код может быть:

    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}%")
    
  3. Выполните код, чтобы получить результат.

предостережение

  • Убедитесь, что входное изображение или видео имеет правильный формат (например, PNG, MP4).
  • Если у вас возникли проблемы с зависимостями, попробуйте обновить pip install --upgrade vision-agent.
  • Поддержка сообщества: Для получения помощи присоединяйтесь к сообществу LandingAI в Discord.
© заявление об авторских правах

Похожие статьи

Нет комментариев

Вы должны войти в систему, чтобы участвовать в комментариях!
Войти сейчас
нет
Нет комментариев...