Почему при первом запуске загружается модель
Первый вырез может быть приостановлен, пока Easy Background Remover загружает модель на устройстве. Модель представляет собой большой набор изученных числовых весов, используемых для отделения объекта от фона. Как только оно станет доступным, оно может работать с вашим изображением внутри браузера вместо того, чтобы требовать отправки фотографии в удаленную службу вырезания.
Таким образом, «первая загрузка» и «локальная обработка» описывают разные части одного и того же проекта. Браузер загружает инструмент обработки; для работы этого инструмента не требуется загружать каждое выбранное изображение.
Почему модель не идет в комплекте с каждым стартапом
Расширение содержит код интерфейса, значки, инструкции и логику обработки. Полезная модель сегментации — это другой вид актива. Его вес может быть намного больше, чем код, необходимый для открытия редактора.
Получение модели по мере необходимости имеет практические преимущества:
- пакету расширения не обязательно загружать полную модель при каждом запуске;
- браузер может кэшировать модель для повторного использования;
- обычные более поздние сеансы могут начинаться без повторения одной и той же передачи;
- актив модели может быть заменен при обновлении конвейера обработки.
За это приходится платить: первый вывод не может начаться до тех пор, пока не поступят необходимые файлы и среда выполнения не инициализирует их. При быстром соединении это может выглядеть как короткий экран настройки. При медленном или ограниченном соединении это может быть самая длинная часть первого сеанса.
Что скачивается
Загрузка содержит данные модели, необходимые для вывода. Думайте об этом как о параметрах специализированной числовой функции, а не о библиотеке ваших фотографий и не о запросе на поиск объекта на вашем изображении.
После загрузки среда выполнения браузера использует эти параметры для расчета маски на основе выбранных вами пикселей. Обычный путь — декодирование изображения, запуск сегментации, уточнение маски и экспорт — предназначен для выполнения в среде расширения.
Это различие имеет значение при чтении сетевой активности. Запрос на фиксированный актив модели не эквивалентен запросу, содержащему текущее изображение. Доступ к сети сам по себе не дает ответа на вопрос, где происходит вывод изображения; путь к данным делает.
Какие изменения в кешировании
Без кэширования каждый запуск редактора может стоить одинаковой стоимости загрузки. Браузер может сохранить актив модели, чтобы следующий сеанс мог повторно использовать его. Это меняет обычную последовательность:
- Первый сеанс проверяет наличие необходимой модели.
- Если он отсутствует, браузер его скачивает.
- Среда выполнения инициализирует модель и запускает вырез.
- Позже обычные сеансы обычно могут загрузить кэшированную копию.
«Обычно» — намеренно. Кэш — это многоразовое хранилище, а не постоянная гарантия. Удаление данных браузера или расширения, изменение профилей, использование другого устройства, нехватка памяти или обновление модели могут снова сделать файл недоступным.
Почему может появиться другая загрузка
Более поздняя загрузка не обязательно означает сбой кэширования. Общие объяснения включают в себя:
- расширение теперь ожидает более новую версию модели;
- данные локального расширения очищены;
- браузер удалил кэшированные данные для восстановления хранилища;
- работа происходит в другом профиле браузера;
- расширение было переустановлено и обнулено его хранилище;
- предыдущая загрузка не завершилась.
Полезный диагностический вопрос не «Скачивал ли я это когда-нибудь?» но «Доступна ли требуемая в данный момент модель в этой среде расширения?»
Время загрузки не является временем вывода
Два ожидания могут выглядеть одинаково, но представляют собой разную работу.
Время загрузки – это передача ресурса модели. Это сильно зависит от скорости соединения, доставки ресурсов и состояния кэша.
Время инициализации и вывода происходит после того, как актив становится доступен. Среда выполнения подготавливает модель, преобразует изображение в подходящий входной файл, вычисляет маску и возвращает результат. Эти шаги в большей степени зависят от устройства, браузера, размеров изображения и доступной памяти.
Сообщение о ходе выполнения во время первой настройки может охватывать более одного этапа. Если модель уже кэширована, но создание большого изображения по-прежнему требует времени, повторное подключение к сети не приведет к мгновенному локальному вычислению.
Что произойдет, если соединение прервется
Если требуемая модель не кэширована и загрузка не может быть завершена, автоматическое удаление не может начаться. Браузер еще не имеет необходимых ему числовых весов. Правильный ответ — восстановить стабильное соединение и дождаться завершения установки.
Как только необходимая модель кэшируется, обычная обработка становится менее зависимой от соединения. «Офлайн-дружественность» все же более точна, чем обещание, что каждое состояние браузера и каждый первый запуск будут работать без сети. Новый профиль без файла модели должен каким-то образом получить этот файл.
Если установка неоднократно перезапускается, проверьте, очищаются ли данные расширения между сеансами, не сильно ли ограничено хранилище или не блокирует ли сетевая политика запрос ресурса. В руководстве Устранение неполадок описаны общие проверки неисправностей.
Конфиденциальность: доставка ресурсов и обработка изображений
Easy Background Remover создан таким образом, что вырезки выполняются в браузере. Выбранное вами изображение декодируется и обрабатывается в редакторе и рабочем расширении. Краткая локальная история также может хранить недавние оригиналы и результаты в памяти браузера.
Запрос модели при первом запуске не меняет этот путь к изображению. Он получает повторно используемый компонент, необходимый для локального вывода. Аналитика веб-сайта, если она присутствует на страницах продуктов, также отделена от пикселей изображений и истории редактирования расширений. Полная текущая формулировка находится на странице Конфиденциальность.
Избегайте более сильных требований, чем поддерживает архитектура. «Chrome никогда не использует сеть» было бы неточно. «Конвейер вырезания предназначен для локальной обработки изображений, а при первом запуске можно загрузить модель», — это точно.
Что делает браузер после загрузки
Модель по-прежнему необходимо инициализировать в среде выполнения браузера. Выбранное изображение декодируется в пиксели, подготавливается как числовой ввод и отправляется работнику для тяжелых вычислений. Рабочий возвращает маску, которую редактор использует для предварительного просмотра и уточнения.
Эта маска не является вторым изображением, полученным с сервера. Это результат, рассчитанный на основе введенных локальных изображений и загруженных весов модели. Что видит вырезаемая модель на устройстве объясняет этап преобразования пикселя в маску; Основы обработки изображений Web Worker объясняет, почему вычисления отделены от работы интерфейса.
Реалистичный контрольный список для первого запуска
Для самого чистого первого теста:
- Откройте редактор при стабильном соединении.
- Прежде чем оценивать скорость обработки, дождитесь завершения настройки модели.
- Начните с изображения разумного размера и четкого объекта.
- Экспортируйте один раз, чтобы проверить полный путь.
- Откройте редактор позже и убедитесь, что установка с кэшированной моделью короче.
Если обновление модели в конечном итоге приведет к повторной загрузке, дождитесь ее завершения, прежде чем сравнивать результаты. Различные версии модели могут создавать несколько разные маски, поэтому записывайте версию расширения, если воспроизводимость имеет значение.
Ожидание первого запуска дает практический компромисс: получить модель обработки один или несколько раз, а затем повторно использовать ее для локальных вырезов. Более подробную информацию об экспортируемых пикселях см. в разделе Как работает локальное удаление фона.