VisionForge — профессиональный настольный инструмент для умной разметки изображений, аугментации, контроля качества датасетов, обучения моделей YOLO и экспорта в Production.
Всё в одном: от импорта сырых видео и сегментации в 1 клик до кластеризации эмбеддингов, тренировки и инференса в реальном времени.
- Сегментация в один клик: кликните по объекту — гибридный алгоритм (адаптивный ROI, FloodFill + многомасштабный GrabCut / FastSAM / YOLO-seg) мгновенно строит точный полигональный контур по пиксельным границам.
- Сглаживание контуров: оптимизация вершин полигонов алгоритмом Рамера-Дугласа-Пекера (
approxPolyDP) без потери детализации.
- Поддержка видеоформатов
.mp4,.avi,.mkv,.mov. - Режимы извлечения: по интервалу кадров, по целевой частоте (FPS) или с детекцией смены сцен (Keyframes / Scene Change).
- Разметьте объект на начальном и конечном ключевом кадре — VisionForge автоматически рассчитает плавные траектории движения bounding box'ов и вершин полигонов на всех промежуточных кадрах.
- Живой предпросмотр аугментаций в реальном времени с интерактивными ползунками:
- Геометрия: поворот, масштаб, сдвиг по осям X/Y, отражение по горизонтали и вертикали.
- Цвет: поканальные HSV-сдвиги оттенка (Hue), насыщенности (Saturation) и яркости (Value).
- Эффекты: Гауссов шум, размытие (Blur), симуляция дождя (Rain), тумана (Fog) и вырезов (Cutout).
- Автоматический пересчет и трансформация всех полигонов и bounding box'ов с возможностью сохранения аугментированных копий в датасет в 1 клик.
- Перцептивный хеш (64-bit pHash): быстрое выявление почти идентичных кадров и серийных снимков через 2D ДКП (дискретное косинусное преобразование) с фильтрацией по порогу схожести (%).
- Детекция дефектов: автоматический поиск смазанных/размытых кадров (дисперсия Лапласиана), пересвеченных и слишком темных изображений с пакетным удалением.
- Извлечение 144-мерных дескрипторов изображений (пространственные гистограммы, цветовые градиенты, текстуры).
- Понижение размерности в 2D (быстрый PCA или нелинейный t-SNE).
- Поиск аномалий: автоматическая подсветка выбросов (Outliers) красными кольцами для мгновенного нахождения ошибок разметки, редких ракурсов или некорректных классов.
- Интерактивный холст: зум, панорамирование, карточки предпросмотра и мгновенный переход к кадру по двойному клику.
- Конвертация моделей YOLO: экспорт в форматы
ONNX(с поддержкой FP16, dynamic batch, ONNX Simplify),TensorRT,OpenVINO,CoreML. - Генератор Python-скрипта инференса: создание готового, полностью автономного Python-скрипта для детекции/сегментации на веб-камерах, видеофайлах или RTSP-потоках с замером FPS и сохранением видео.
- Двухслойная архитектура проектов (
.vf): разделение проверенного ручного слоя (main) и слоя предсказаний нейросетей (auto) с потоковым утверждением без блокирующих окон. - Иерархия классов: создание мегаклассов, группировка, объединение и цветовая палитра.
- Экспорт датасетов: YOLO (Detection / Segmentation / Classification), COCO JSON, Pascal VOC XML.
- Встроенное обучение YOLO: настройка гиперпараметров, графики метрик и логи в реальном времени.
| Клавиша | Действие |
|---|---|
M |
Режим «Магия» (1-клик сегментация) |
B |
Переключиться в режим прямоугольника (Box) |
P |
Переключиться в режим полигона (Polygon) |
N |
Принудительно начать рисование нового объекта |
A |
Авторазметка текущего кадра загруженной моделью |
T |
Переключить активный класс на следующий |
F / G |
Предыдущий / следующий кадр |
Ctrl + I |
Окно интерполяции треков между кадрами |
Ctrl + Z |
Отмена последнего действия (Undo) |
Ctrl + D |
Удалить текущее изображение из датасета |
D |
Удалить выделенный бокс / полигон |
E |
Изменить класс выделенного объекта |
S |
Сохранить проект |
Enter / Двойной клик |
Завершить построение полигона |
Esc |
Сбросить незавершенное рисование |
F11 |
Полноэкранный режим |
ПКМ |
Контекстное меню управления классами |
# 1. Клонирование репозитория
git clone https://github.com/fikstt2/VisionForge.git
cd VisionForge
# 2. Создание и активация виртуального окружения
python -m venv .venv
# Windows:
.venv\Scripts\activate
# Linux / macOS:
source .venv/bin/activate
# 3. Установка зависимостей
pip install -r requirements.txt
# 4. Запуск VisionForge
python main.py
# или в Windows через батник:
run.batpython run_tests.pyVisionForge/
├── core/ # Ядро приложения
│ ├── annotation_widget.py # Виджет разметки (OpenGL/QPainter, боксы, полигоны, магия)
│ ├── smart_segmenter.py # Движок 1-клик сегментации (FastSAM / GrabCut / Adaptive ROI)
│ ├── video_extractor.py # Модуль нарезки видео (Interval / FPS / Scene Change)
│ ├── track_interpolator.py # Алгоритм интерполяции траекторий боксов и полигонов
│ ├── augmentation_engine.py # Движок аугментаций изображений и аннотаций
│ ├── dataset_deduplicator.py # 64-bit pHash дедупликация и QA детекция дефектов
│ ├── embedding_explorer.py # Модуль дескрипторов, t-SNE / PCA проекций и поиска выбросов
│ ├── gallery_dialog.py # Галерея датасета с фильтрами
│ ├── thumbnail_bar.py # Карусель миниатюр
│ └── i18n.py # Движок локализации (RU/EN)
├── detection/ # Детекция в реальном времени и оверлей
├── locales/ # Файлы локализации (ru.json, en.json)
├── project/ # Управление проектами .vf, импортеры и экспортеры
│ ├── project_manager.py # Менеджер монолитного формата .vf
│ ├── dataset_preparer.py # Сплиттер и сборщик датасетов YOLO / COCO / VOC
│ ├── exporters.py # Экспорт аннотаций
│ └── importers.py # Импорт аннотаций
├── ui/ # Графический интерфейс (PyQt5)
│ ├── main_window.py # Главное окно редактора
│ ├── embedding_map_dialog.py # Интерактивная 2D карта эмбеддингов t-SNE/PCA
│ ├── augmentation_sandbox_dialog.py # Интерактивная песочница аугментаций
│ ├── deduplication_dialog.py # Диалог поиска дубликатов и дефектов
│ ├── track_interpolation_dialog.py # Диалог интерполяции треков
│ ├── video_extractor_dialog.py # Диалог нарезки видео
│ ├── production_export_dialog.py # Экспорт в ONNX / TensorRT / OpenVINO
│ ├── inference_generator_dialog.py # Генератор автономных Python-скриптов
│ ├── project_hub_dialog.py # Хаб проектов с недавними записями
│ ├── statistics_dialog.py # Статистика и аналитика классов
│ └── training_widget.py # Обучение моделей YOLO
├── tests/ # Модульные тесты (57 тестов)
├── main.py # Точка входа в приложение
├── run.bat # Скрипт быстрого запуска для Windows
└── requirements.txt # Зависимости проекта
Проект распространяется под лицензией GNU General Public License v3.0 (GPLv3). Подробности в файле LICENSE.