Сбор обучающих изображений
Survey123 умные атрибуты позволяют использовать модель классификации изображений, чтобы получать значения в зависимости от того, какие объекты эта модель обнаружит на изображении.
Для создания модели классификации изображений вам необходима большая коллекция изображений, идентифицирующих каждый класс объектов, которые должна распознавать ваша модель. Вы идентифицируете два класса: знаки остановки и знаки скорости.
Для дорожных знаков вам следует иметь приблизительно по 500 изображений для каждого класса. Допускается несколько фотографий одного и того же знака (с разным освещением, углом и расстоянием до объекта). Разное освещение, угол и расстояние до объекта усиливают модель, что приводит к большей точности, а также к большей надежности и приемлемости прогнозных показателей.
Примечание:
Создание моделей, обеспечивающих наивысшую точность и надежность, требует нескольких итераций, а также тестирования и экспериментов. В этом уроке представлен рабочий процесс и среда для демонстрации шагов, необходимых для создания моделей для классификации изображений в полевых условиях. Для создания модели, пригодной для использования в производственной среде, может потребоваться гораздо больше итераций и тестовых изображений.
Создание и публикация опроса
Сначала вы создадите опрос с помощью Survey123 Connect, который захватывает изображение и тип знака и присваивает каждой записи уникальный ID.
- Загрузите файл SignImageCollection .xlsx.
- Запустите ArcGIS Survey123 Connect.
Примечание:
Если у вас нет ArcGIS Survey123 Connect, вы можете загрузить его в Microsoft Store или на странице продукта Survey123. Запустите установщик и следуйте инструкциям по установке программы.
- На ленте щелкните кнопку меню и щелкните Войти.
- Выполните вход с использованием ваших учетных данных ArcGIS.
Если у вас нет учетной записи организации, см. варианты доступа к программному обеспечению.
- Перетащите скачанный файл .xlsx в галерею опросов в Survey123 Connect.
- Когда импорт будет завершен, щелкните OK.
- Просмотрите вопросы опроса.
Вопрос Изображение знака включает кнопку камеры, которая позволяет пользователям прикреплять изображение с помощью своих мобильных устройств. Вы используете этот опрос для сбора изображений для обучения модели.
- Щелкните Опубликовать.
- В окне Publish SignImageCollection нажмите Опубликовать опрос.
Опрос опубликуется в вашей организации ArcGIS, вместе c соответствующими сервисами объектов и элементами формы.
- Когда публикация будет завершена, щелкните OK.
- В боковом меню щелкните кнопку Больше действий. Щелкните Управление на веб-сайте Survey123.
В новом окне браузера опубликованный опрос открывается на странице Обзор на веб-сайте Survey123. Чтобы позволить другим использовать этот опрос, вы опубликуете его для всей организации.
- На ленте щелкните Совместная работа.
- На вкладке Опубликовать опрос для Кто может отправлять ответы в этот опрос? выберите Участники моей организации и щелкните Сохранить.
Откроется окно Опубликовать опрос.
- В окне Опубликовать опрос щелкните Сохранить.
Вы создали опрос для сбора изображений, которые будут использоваться для обучения модели классификации изображений.
Вы можете поделиться опросом с коллегами и начать собирать различные дорожные знаки, в том числе фотографии, сделанные при разном освещении, с разных углов и расстояний. Чем больше будет разнообразия и примеров, тем лучше полученная модель сможет предсказать то, что попадает в ее обзор. Включите примерно 500 изображений для каждой категории изображений, которые вы хотите классифицировать.
- Закройте Survey123 Connect.
Использование опроса
Теперь, когда опрос опубликован, вы можете загрузить его на свое мобильное устройство и работать с ним.
Если вы не можете сделать снимки уличных знаков в вашем районе, вы можете использовать образец базы геоданных фотографий, созданный для этого урока, чтобы перейти к следующему разделу и пропустить эти шаги.
- На своем мобильном устройстве откройте мобильное приложение Survey123.
Примечание:
Если у вас нет мобильного приложения Survey123, перейдите в Google Play, App Store, Microsoft Store или на страницу продукта Survey123. При загрузки со страницы продукта под мобильным приложением ArcGIS Survey123 щелкните ссылку загрузки для операционной системы вашего компьютера или устройства. Запустите загруженную программу установки и следуйте ее инструкциям, чтобы установить мобильное приложение.
- Нажмите Войти через ArcGIS Online. Войдите под учётной записью организации ArcGIS.
Примечание:
Если вы используете ArcGIS Enterprise, нажмите Управление подключениями ArcGIS и войдите в свою среду ArcGIS Enterprise.
Приложение откроется на странице My Survey123. Чтобы собрать записи для опроса, вам необходимо скачать его.
- Нажмите Загрузить опросы.
Примечание:
Если на ваше устройство уже загружены опросы, для загрузки нового опроса нажмите кнопку Меню и выберите Загрузить опросы.
На странице Загрузить опросы отображаются все опросы, которые были предоставлены вашей организации.
- В строке поиска введите SignImageCollection. В результатах поиска найдите ваш опрос SignImageCollection и нажмите Загрузить.
Опрос будет загружен на ваше устройство.
- Когда опрос будет загружен, нажмите стрелку назад, чтобы вернуться в галерею опросов.
Опрос SignImageCollection отображается в галерее опросов.
- Щелкните опрос SignImageCollection. На странице содержания опроса нажмите Собрать.
- Для вопроса Изображение знака нажмите кнопку камеры.
Примечание:
Кнопка камеры позволяет добавлять фотографии из файла или использовать камеру устройства для сбора фотографий. Если вы не можете протестировать опрос в полевых условиях, вы можете использовать эту коллекцию образцов изображений. Откройте фотографии на своем компьютере и используйте свое устройство, чтобы сфотографировать изображение на экране компьютера.
- Сделайте фотографию знака остановки или скорости.
- Для вопроса Тип знака выберите Знак остановки или Знак скорости в зависимости от знака, который вы сфотографировали.
- Нажмите кнопку отправить.
Если ваше устройство подключено к сети, вам будет предложено выбрать Отправить сейчас, Продолжить этот опрос или Сохранить в Исходящих.
- Выберите Отправить сейчас.
Продолжайте собирать фотографии знаков остановки и скорости, пока не отправите не менее 500 изображений каждого из них. Попробуйте добавить фотографии, сделанные с разных сторон, под разными углами и при разном освещении.
Больше фотографий означает, что модель лучше обучена, и тем выше вероятность точного определения знаков.
Примечание:
Если вы не можете сделать фотографии уличных знаков в вашем районе, вы можете использовать образец базы геоданных, созданный для этого урока. Следующие шаги описывают, как использовать ваши собственные данные или образец базы геоданных для обучения модели.
Теперь у вас есть входные данные, требующиеся для построения модели классификации изображений.
Обучение модели
Далее вы будете использовать ArcGIS Notebooks для создания модели классификации изображений. Вам нужно будет создать блокнот с расширенными возможностями графического процессора. Для расширенных возможностей требуется 30 кредитов в час.
Кроме того, вы можете загрузить и использовать предоставленный блокнот локально, но вы должны убедиться, что у вас есть подходящее аппаратное обеспечение.
Примечание:
Если вы хотите научиться использовать ArcGIS Notebooks, чтобы писать код Python для ArcGIS, пройдите Урок Привет, Notebook!, чтобы начать. Если вы видите кнопку Загрузить, но не видите кнопку Открыть блокнот, возможно, вы не вошли в систему. Если после авторизации у вас нет доступа к кнопке Открыть блокнот, то ваша учетная запись не предназначена для использования блокнота. Обратитесь к администратору вашей организации, чтобы запросить доступ к Notebooks.
Вам также могут быть интересны другие уроки Notebook, доступные в серии упражнений Изучаем Python с ArcGIS Notebooks.
Руководство Доступ к ArcGIS Notebooks для вашей организации в ArcGIS Online может быть полезным для администраторов, которые ранее не подключали ArcGIS Notebooks.
Установка ArcGIS Notebooks
Во-первых, вы создадите блокнот в ArcGIS Notebooks. Если у вас нет доступа к ArcGIS Notebooks, вы можете загрузить обученную модель для использования в следующем разделе этого руководства.
- Загрузите блокнот SignImageClassificationModel.
- Переименуйте загруженный файл, добавив свои инициалы к файлу .ipynb.
Имена элементов в организации ArcGIS должны быть уникальными. Если кто-либо ещё в вашей организации проходил данный урок, возможно, уже загружен файл блокнота с именем по умолчанию.
- Если необходимо, войдите в вашу учетную запись организации ArcGIS.
- На ленте щелкните вкладку Ресурсы.
- Щелкните Новый элемент.
- Перетащите или перейдите к файлу .ipynb и добавьте его в окно Новый элемент.
- В окне Новый элемент задайте следующие параметры:
- Для Заголовок введите Модель коллекции изображений знаков_(ВашеИмя).
- Для Папка выберите или создайте подходящую папку проекта.
- Для Теги введите SignImageCollectionModel.
- Для Краткая информация введите Модель коллекции изображений знаков.
- Щелкните Сохранить.
Элемент создан, и откроется страница с информацией об элементе.
- На странице с информацией щелкните вкладку Настройки.
- Для Notebook Runtime выберите ArcGIS Notebook Python 3 Advanced с поддержкой GPU – 9.0.
- Щелкните Сохранить.
- Перейдите на вкладку Обзор.
- Щелкните Открыть блокнот.
Инструкции по запуску блокнота и созданию файлов модели включены в текст блокнота.
- Выполните шаги в блокноте и вернитесь к данному уроку.
К шагам в блокноте относятся:
- Настройка параметров среды
- Загрузка обучающих изображений из векторного слоя
- Обучение модели
- Тестирование модели (дополнительно)
Примечание:
Блокнот спроектирован таким образом, что его можно запускать с использованием предоставленных данных. Важно выполнять шаги, описанные в блокноте, особенно перезапустить ядро по указанию.
Если вы собрали свои собственные изображения, то вы можете поменять ID элементов, указанне в блокноте, чтобы создать модель из ваших собственных изображений.
Загрузить результаты модели
После успешного выполнения блокнота сгенерируется пакет файлов. Вы загрузите эти файлы для включения в ваш тестовый опрос.
- В ArcGIS Notebooks выберите Файлы.
- Перейдите к /arcgis/home/tmp/fa40cf680eb4436daf4109b887b52b30/models/
Примечание:
Имена этих файлов по умолчанию основаны на дате запуска блокнота. Ваши имена файлов могут отличаться от изображения выше.
- Загрузите файл .zip.
Примечание:
Если вы не тренировали модель, вы можете загрузить модель для использования в следующем разделе этого руководства.
- Извлеките содержимое файла .zip в подходящее местоположение на вашем компьютере.
Вы загрузили выходные файлы модели классификации изображений, которые будут использованы в мобильном приложении Survey123, чтобы автоматически распознавать знаки скорости и остановки.
Тестирование модели
Затем вы добавите файлы модели классификации изображений в опрос для распознавания дорожных знаков скорости и остановки.
В идеале, вам следует выйти в поле, чтобы протестировать этот опрос, но если вы не можете этого сделать, или поблизости нет знаков скорости и остановки, вы также можете смоделировать данное тестирование, используя фотографии с компьютера.
Создание и публикация опроса
Сначала вы создадите опрос, используя Survey123 Connect, в котором будет использоваться созданная вами модель для классификации изображений как знаков остановки или скорости.
- Загрузите SignImageClassificationModelTesting файл .xlsx.
- Запустите Survey123 Connect. Если необходимо, войдите под учетной записью организации ArcGIS.
- Перетащите скачанный файл .xlsx в галерею опросов.
Будет создан новый опрос с названием SignImageClassificationModelTesting.
- Когда импорт будет завершен, нажмите ОК.
- В боковом меню щелкните Файлы.
Все файлы, относящиеся к опросу SignImageClassificationModelTesting, видны. В вашем опросе есть папка media. Вы скопируете и вставите два файла модели из папки, которую вы загрузили, в папку media.
- Откройте папку, содержащую выходные данные модели. Найдите и скопируйте файлы модели, имеющие расширение .emd и .tflite.
Примечание:
Имена этих файлов основаны на дате запуска блокнота. Ваши имена файлов могут отличаться от изображения выше.
Файлы .emd и .tflite предоставят для вашего опроса возможность распознавать знаки скорости и остановки при использовании камеры вашего устройства.
- Вернитесь в папку опроса SignImageClassificationModelTesting. Откройте папку media и вставьте файлы .emd и .tflite в папку media.
- Закройте окно просмотра файлов и вернитесь к Survey123 Connect.
Новый опрос имеет следующие характеристики:
- Вопрос типа Изображение знака выглядит так же, как обычная кнопка камеры в Survey123, но он будет использовать модель, которую вы включили в опрос, для интерпретации содержимого захваченной фотографии.
- Вопрос Тип знака автоматически будет проверять тип знака, который он обнаруживает на фотографии.
- Вопрос Это правильно позволяет пользователям проверить, как справилась камера.
Вы готовы опубликовать свой опрос.
- В боковом меню щелкните Публикация.
- В окне Опубликовать SignImageClassificationModelTesting щелкните Опубликовать опрос.
Survey123 Connect публикует содержимое в вашу организацию ArcGIS. Процесс публикации может занять больше времени, чем обычно, т.к. в опрос включаются файлы классификации изображения.
- Когда публикация будет завершена, щелкните OK.
- В боковом меню щелкните кнопку Больше действий и выберите Управление на веб-сайте Survey123.
Опубликованный опрос открывается на странице Обзор на веб-сайте Survey123. Чтобы позволить другим использовать этот опрос, вы опубликуете его для всей организации.
- На ленте щелкните Совместная работа.
- На вкладке Опубликовать опрос для Выберите, кто может отправлять ответы в этот опрос? выберите Участники моей организации. Щелкните Сохранить.
- В окне Опубликовать опрос щелкните Сохранить.
Вы создали опрос, чтобы протестировать модель классификации изображений.
Следующий шаг - с помощью опроса протестировать модель. Вы захотите протестировать точность модели, делая фотографии в разных условиях освещения, с разных углов и расстояний. Чем больше разнообразных фотографий вы успешно протестируете, тем больше у вас будет уверенности при публикации этих моделей.
Использование опроса
Теперь, когда опрос опубликован, вы загрузите его на свое мобильное устройство. Вы можете выйти на улицу и снимать фотографии знаков остановки и скорости.
Примечание:
Если вы не можете протестировать опрос в полевых условиях, вы можете использовать эту коллекцию образцов изображений. Откройте фотографии на своем компьютере и используйте свое устройство, чтобы сфотографировать изображение на экране компьютера.
- Откройте полевое приложение Survey123 на вашем мобильном устройстве.
- Если необходимо, войдите в вашу учетную запись организации ArcGIS.
Приложение откроется на странице My Survey123. Чтобы собрать записи для опроса, вам необходимо скачать его.
- Нажмите кнопку Меню и выберите Загрузить опросы.
На странице Загрузить опросы отображаются все опросы, которые были предоставлены вашей организации.
- В строке поиска введите SignImageClassificationModelTesting. В результатах поиска найдите ваш опрос SignImageClassificationModelTesting и нажмите Загрузить.
Опрос будет загружен на ваше устройство.
- После завершения загрузки опроса нажмите стрелку назад, чтобы вернуться в галерею опросов.
- Нажмите опрос SignImageClassificationModelTesting. На странице содержания опроса нажмите Собрать.
- Для вопроса Изображение знака нажмите кнопку камеры.
- Сделайте фотографию знака остановки или скорости.
Предварительный просмотр камеры отображает классификацию (остановка или скорость) и значение достоверности, отображаемые в верхней части экрана.
После захвата изображения вы вернетесь на страницу опроса. Вопрос Тип знака автоматически обновится с тем же самым значением, которое было при предварительном просмотре изображения с камеры. Данная классификация изображения была выполнена с помощью файлов модели, которые были включены в опрос.
Далее вам нужно будет проверить результат интеллектуальных атрибутов.
- Если модель правильно предсказала тип знака, в вопросе Это правильно? нажмите Да. В противном случае нажмите Нет.
- Нажмите кнопку отправить.
Если ваше устройство подключено к сети, вам будет предложено выбрать Отправить сейчас, Продолжить этот опрос или Сохранить в Исходящих.
- Нажмите Отправить сейчас.
- Продолжайте делать фотографии знаков остановки и скорости, пока вы не отправите не менее 10 изображений каждого из них.
Вы только что использовали камеру, чтобы классифицировать фотографии, содержащие знаки остановки или знаки скорости. Если вас устраивают результаты, вы можете использовать данные файлы модели в любом опросе для идентификации знаков остановки или скорости. Если результаты вас не устраивают, возможно, вам нужно заново обучить эту модель.
Рассмотрите следующие опции, чтобы улучшить качество модели:
- Просмотрите изображения, использованные для обучения модели.
- Убедитесь, что знак находится посередине изображения и при необходимости обрежьте его.
- Убедитесь, что у вас есть фотографии с различным освещением, углом и расстоянием до объекта.
- Продолжайте обучать данные, увеличивая эпохи (итерации), пока потеря проверки (valid_loss) и потеря обучения (train_loss) не станут меньше 1. Рекомендуется увеличивать эпохи на 5 для каждого обучения.
Вы можете найти больше учебных пособий в галерее учебных пособий.