
Представьте себе: вы въезжаете на оживленную общественную парковку или в торговый центр, и вместо того, чтобы ездить кругами в поисках свободного места, цифровой знак или приложение направляет вас прямо к ближайшему свободному месту. Это обещание автоматизированной системы обнаружения парковки на основе камеры. В этой статье мы рассмотрим простой подход, чтобы показать, как можно использовать VisionAgent для создания именно этого — без слоев сложной логики. VisionAgent — это генеративный конструктор приложений Visual AI, который следует агентской структуре для обработки сложных визуальных задач, требующих рассуждений. Он модуляризирует выбор инструментов, чтобы выбрать лучший визуальный инструмент для задачи, и использует встроенные шаблоны визуального проектирования для решения особенно сложных визуальных проблем.

Почему это важно
- Экономит время : больше не нужно кружить в поисках места. Водители сразу видят свободные места.
- Уменьшает заторы : меньше блуждающего движения означает меньше очередей и меньше разочарований.
- Простая настройка : несколько камер, размещенных по всему участку, а также инструменты обнаружения VisionAgent позволят вам быстро приступить к работе.
Основная идея
- Камеры наблюдения : вы устанавливаете камеру (или камеры), наблюдающую за рядами парковочных мест.
- Обнаружение автомобиля : каждые несколько секунд вы делаете снимок с камеры и передаете его в приложение, созданное с использованием кода машинного зрения, сгенерированного VisionAgent.
- Определение пустых мест : определите, какие парковочные места не заняты, отметив промежутки между обнаруженными автомобилями (или отметив контуры парковочных мест). VisionAgent поможет вам написать начальный код для этого, который вы можете изменить самостоятельно или повторно запросить у VisionAgent оптимизацию для вас.
- Обновления в реальном времени : отображение списка пустых мест или потока данных в реальном времени с ограничивающими рамками зеленого цвета для пустых мест и красного цвета для занятых.

Детектор пустых парковочных мест на базе VisionAgent, позволяющий пользователям загружать изображения парковок для анализа
Как помогает VisionAgent
- Интерфейс Easy Chat : вы можете подсказать VisionAgent, и он проанализирует вашу подсказку, чтобы найти оптимальное решение, разбив проблему на несколько решаемых шагов. Как правило, большинство шагов включают написание кода Vision для решения вашей проблемы. Для этого приложения я дал начальную подсказку «найти пустые места для автомобилей» вместе с изображением, и планировщик VisionAgent агентски выдает следующий путь выполнения:
- Используйте модель countgd_object_detection для обнаружения всех автомобилей на изображении.
- Сортируйте и группируйте обнаружения в горизонтальные линии.
- Анализируйте промежутки между автомобилями, чтобы выявить пустые места.
- Объедините обнаружение автомобилей и пустых мест.
- Визуализируйте результаты с помощью ограничивающих рамок и сохраните итоговое изображение.
VisionAgent использует LLM на различных этапах для проверки своих наблюдений и создания пути решения проблемы.
- Быстрое обнаружение объектов : VisionAgent имеет встроенную библиотеку моделей, которую он использует для поиска подходящей для вас модели, например, countgd_object_detection, которая может легко идентифицировать автомобили (и даже грузовики, внедорожники и т. д.), потенциально экономя массу времени, которое уходит на выбор и настройку модели.
- Гибкая интеграция: всего за несколько строк кода Python (часто в сочетании со Streamlit) можно создать простой веб-интерфейс для просмотра видео с камер и использования кода, сгенерированного VisionAgent.

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

Пользовательский интерфейс VisionAgent: Агент выводит окончательное решение, показывая код, вывод кода и его визуализацию.
Легкий трубопровод
- Захват изображения с веб-камеры, IP-камеры или статичный снимок.
- Обнаружение автомобилей обнаружения = countgd_object_detection(«car», image)
- Определите пустые места Либо вычислив зазоры между ограничивающими прямоугольниками, либо обнаружив каждое стойло (если вы пометили их заранее). Пометьте эти пустые области стойл как «empty_spot» с зеленым ограничивающим прямоугольником.
- Визуализация и создание отчетов. Нарисуйте ограничивающие рамки:
Распечатайте или отобразите количество автомобилей по сравнению с пустыми местами.
overlay_bounding_boxes(изображение, все_обнаружения)

Интерфейс приложения, отображающий аннотированное изображение, на котором отмечены обнаруженные автомобили (желтые ограничивающие рамки) и пустые места (зеленые ограничивающие рамки), а также подробная статистика по общему количеству мест, припаркованных автомобилей и пустых мест.
Пример фрагмента кода
из vision_agent.tools импортируйте countgd_object_detection , overlay_bounding_boxes
def detect_parking ( изображение ):
# 1. Обнаружение автомобилей
car_detections = countgd_object_detection ( «car» , image )
# 2. Найдите пустые места (упрощенный подход: проверьте горизонтальные зазоры и т. д.)
пустые_пятна = [
{«label»: «empty_spot» , «bbox»: [100, 50, 200, 120], «color»: (0, 255, 0)}
]
# 3. Объединить результаты и наложить
все_обнаружения = обнаружение_автомобилей + пустые_места
annotated_img = overlay_bounding_boxes ( изображение , все_обнаружения )
вернуть annotated_img , all_detections
Затем вы отобразите annotated_img в своем интерфейсе и, возможно, покажете количество обнаруженных автомобилей по сравнению с пустыми местами.
Проблемы и советы
- Угол обзора камеры : убедитесь, что камера четко видит каждое парковочное место.
- Освещение : День или ночь могут изменить то, насколько хорошо обнаруживаются автомобили. Инфракрасные камеры или хорошее освещение могут помочь.
- Планировка парковки : на некоторых парковках есть наклонные слоты или полуразмытые линии, поэтому вам, возможно, придется подкорректировать свою логику, чтобы найти свободные места.
- Производительность : если вам необходимо обнаружение в реальном времени (например, несколько кадров в секунду), вам, возможно, придется обучить эффективную модель с помощью функции пользовательской модели VisionAgent, где вы можете ввести свои данные и обучить пользовательские модели, адаптированные специально для вашей задачи.
Соберите все вместе
- Установите пакет VisionAgent Python.
- Настройте камеру или загрузите тестовые фотографии.
- Напишите короткий сценарий или приложение Streamlit, которое:
- Захватывает кадр с камеры.
- Вызывает detect_parking (или ваш вариант).
- Отображает аннотированное изображение, а также простую статистику, например «Машины: X, Свободные места: Y».
- При необходимости усовершенствуйте — возможно, добавьте в пользовательский интерфейс «Занятость парковки: 80%».
С VisionAgent, обрабатывающим большую часть кода зрения, вы можете создать простую, практичную систему мониторинга парковки, не увязая в сложных сложных задачах компьютерного зрения. В мгновение ока у вас будет лента в реальном времени, сообщающая водителям: «Эй, в ряду 2 есть свободное зеленое место!» — и это легкая победа для всех. Загрузите полный код из этого репозитория, запустите приложение Streamlit локально и наслаждайтесь!
Источник: landing.ai



























