Редактор задачи — это отдельное окно, где вы размечаете кадры внутри задачи. В нем есть область изображения, метки, список рамок, блок моделей и нижняя панель статуса.

Слева находится панель инструментов: выбор, выделение, перемещение, инструмент прямоугольника, удаление, копирование, вставка, отмена, повтор, сброс масштаба, переключение видимости и инструменты для предложений модели.
В центре находится рабочая область с текущим кадром.
Справа находится панель свойств:
Labels — список меток и горячих клавиш;Shapes — объекты на текущем кадре;Models — модели для авторазметки.Снизу видно количество объектов, состояние задачи и кнопки Finish Job и Close.
Для детекции объектов модель учится по прямоугольникам. Выберите метку, включите инструмент прямоугольника и обведите объект как можно плотнее.

Если объект должен приводить к другому поведению в EyeAuras, используйте отдельную метку. В демо цели размечены как tgt, а кнопка PLAY AGAIN как btn.

Размечайте поклассово. Сначала выберите одну метку, например tgt, и пройдитесь по всем целям на кадре. Потом переключитесь на btn и разметьте кнопки. Постоянно прыгать между классами на одном кадре обычно заметно медленнее.
Если вы размечаете класс на кадре, разметьте все видимые экземпляры этого класса. Иначе модель запутается: один tgt считается целью, а соседний такой же tgt как будто фоном.
Активно используйте копирование. Часто быстрее выделить готовую рамку, нажать Ctrl+C, Ctrl+V, поставить копию рядом и подогнать размер, чем рисовать новую рамку с нуля.
На последовательных кадрах используйте Ctrl+B: редактор скопирует разметку с предыдущего кадра на текущий. Это особенно удобно для видео, где объект чуть сдвинулся, но форма и размер почти не изменились. После копирования удалите исчезнувшие объекты и поправьте рамки, которые съехали.
Если ошиблись классом, не перерисовывайте рамку. Выделите объект и выберите нужную метку через список справа или горячую клавишу Ctrl+1..9. Ctrl+N переключает выбранный объект на следующую метку.
Рамка должна плотно обнимать видимую часть объекта и не захватывать лишний фон. Для YOLO это важнее красивой симметрии: модель учится на пикселях внутри рамки и рядом с ней.
С перекрытыми объектами заранее решите, как поступать, и делайте одинаково во всех похожих случаях. Для экранной автоматизации обычно лучше размечать только то, что реально видно и по чему можно действовать. Если объект почти полностью закрыт и кликать по нему нельзя, не размечайте его как обычную цель. Если частично закрытый объект все равно важен, размечайте видимую часть последовательно во всех похожих кадрах.
YOLO может находить объекты сплошного цвета, если на кадрах есть стабильный визуальный признак: форма, цвет, контраст, положение или окружение. Но добавляйте отрицательные примеры с похожими цветами, иначе модель начнет видеть цель в любом похожем пятне.
Мелкие объекты тоже можно искать, но у них должен оставаться достаточный размер в пикселях после всех преобразований. Если объект занимает всего несколько пикселей, лучше уменьшить область захвата, записать данные из точного региона EyeAuras, поднять разрешение обучения, выделить объект эффектами или отсеивать слишком маленькие срабатывания уже в EyeAuras.
Пустые кадры тоже полезны. Если на кадре нет цели, оставьте его без рамок и завершите задачу. Такие кадры учат модель не срабатывать на меню, паузы, фон и похожие, но неправильные объекты.
Если объект похож на цель, но кликать по нему нельзя, выберите одну политику: либо не размечайте такие объекты никогда, либо заведите отдельную метку вроде btn или ignore. Самое вредное — иногда размечать одинаковый случай как цель, а иногда оставлять его фоном.
| Клавиши | Действие |
|---|---|
N |
Начать создание прямоугольника, если в проекте есть метки. |
M |
Включить прямоугольное выделение. |
L |
Включить свободное выделение. |
Escape |
Отменить текущую операцию и очистить выделение. |
Q, Delete, Backspace |
Удалить выбранный объект или предложение модели. |
Ctrl+A |
Выделить все рамки на текущем кадре. |
Ctrl+C, Ctrl+X, Ctrl+V |
Копировать, вырезать или вставить выбранные рамки. |
Ctrl+B |
Скопировать рамки с предыдущего кадра на текущий. |
Ctrl+1..9 |
Выбрать метку или сменить метку выбранного объекта. |
Ctrl+N |
Переключить выбранный объект на следующую метку. |
Ctrl+Z |
Отменить последнее изменение. |
Ctrl+Y, Shift+Ctrl+Z |
Повторить отмененное изменение. |
D, F |
Перейти на предыдущий или следующий кадр. |
C, V |
Перейти на шаг назад или вперед. |
R |
Сбросить масштаб и сдвиг изображения. |
Alt+N |
Запустить первую доступную модель на текущем кадре. |
Shift+Alt+N |
Запустить первую доступную модель на всех кадрах задачи. |
Alt+1..9 |
Запустить выбранную модель на текущем кадре. |
Shift+Alt+1..9 |
Запустить выбранную модель на всех кадрах задачи. |
Когда задача размечена, нажмите Finish Job. После этого задача считается завершенной и может участвовать в наборе данных для обучения.
Если закрыть редактор без Finish Job, разметка может сохраниться, но задача останется не завершенной. Для цикла обучения это важное отличие.
Когда обученной модели еще нет, Latest показывает, что файл отсутствует.

После первого обучения можно добавить Latest или выбрать свой .onnx. Latest всегда указывает на самую новую обученную ONNX-модель проекта.

Модель не загружается автоматически при открытии редактора. Это сделано специально: ONNX и GPU-библиотеки зависят от драйверов и иногда падают на стороне нативного кода. Нажмите Load, Run current или Run all, когда готовы запустить распознавание.
Если включен режим Create suggestions, модель создаст предложения, которые можно принять или удалить. Если режим выключен, найденные объекты могут сразу стать рамками.

Предложения временные. Они не сохраняются и не попадают в обучение, пока вы не нажали Accept или Accept all. Удаленные предложения тоже не попадают в набор данных.
Проверяйте модель глазами. Ложное срабатывание лучше удалить сразу, иначе оно попадет в следующее обучение как правильный пример.

Если модель возвращает метки, их нужно сопоставить с метками проекта. Включайте только те строки, которые хотите импортировать. Если модель знает метку, но она не должна участвовать в этой задаче, выключите строку.
Это особенно полезно, когда одна ONNX-модель используется в разных проектах или когда нужно временно игнорировать часть классов.
См. также: Trainer, YOLO ONNX и веса моделей, EyeAuras интеграция.