Как удалить местоположение на фото или видео в Instagram
Может быть, вы по разным причинам заинтересованы в том, чтобы Инстаграм перестал отслеживать ваше местоположение, поэтому в этой статье мы расскажем вам, как это сделать, а также как убрать местоположение фотографий, которые вы уже опубликовали в известной соц. платформу, которая по умолчанию отслеживает местоположение и помечает местоположение сделанных фотографий, хотя эту опцию можно убрать или выбрать другое место при публикации любого контента.
Геолокация — очень полезная и интересная функция, но иногда она может быть опасной или нежелательной. Сообщение о том, где мы находимся, каждый раз, когда мы публикуем что-либо в социальных сетях, может иметь свои риски, в дополнение к тому факту, что приложения всегда знают, где мы находимся, и может стать проблемой в случае атаки или наличия какой-либо уязвимости в вашем безопасность.
Instagram — это социальная сеть, которая неуклонно росла и продолжает расти, и многие пользователи предпочитают использовать эту социальную сеть остальным, в основном потому, что она обеспечивает гораздо более прямое взаимодействие между пользователями. Когда фотография загружается вручную, само приложение позволяет нам выбрать, хотим ли мы поделиться местоположением фотографии, что следует учитывать, если мы хотим защитить нашу конфиденциальность.
Если вы хотите знать, как запретить Instagram отслеживать ваше местоположение Мы объясним, как заставить приложение перестать это делать.
Как удалить местоположение на фото или видео, которое вы уже разместили
Возможно, вы уже опубликовали фотографии или видеоролики, в которых отображается место, где вы были, и вы хотите его удалить, или просто то, что вы только что закончили публикацию фотографии и вскоре после того, как вы поняли, что не осознавали, что удалили геолокацию в то время опубликовать его. Это не проблема, поскольку Instagram позволяет удалить местоположение фото или видео.
Чтобы удалить место на фотографии или видео, которое вы уже опубликовали, вам просто нужно найти нужную фотографию и нажать кнопку, расположенную в правом верхнем углу, после чего на экране появятся следующие параметры:
В этом списке опций мы должны нажать на редактировать, что позволит нам редактировать описание изображения, отмечать людей или изменять / удалять местоположение. Чтобы сделать последнее, просто нажмите на местоположение и не выбирайте ни одно, ни другое.
Если вы хотите удалить его, вам нужно будет щелкнуть X, расположенный в верхней левой части после нажатия на место, и когда вы вернетесь к фотографии, вы увидите, что это место исчезло. Для подтверждения просто нажмите на тик, расположенный в верхней правой части экрана.
Как полностью отключить локацию для Instagram на Android
Если вы никогда не хотите использовать местоположение Instagram и вам ясно, что вы не хотите, чтобы приложение постоянно контролировало, где вы находитесь, вы можете деактивировать местоположение Instagram прямо из системы, то есть сообщить операционной системе, что это не так. чтобы использовать местоположение GPS для этого приложения.
В зависимости от мобильного устройства, который у вас есть, процесс может отличаться, поскольку каждый производитель обычно имеет свой собственный интерфейс и собственное меню, хотя процесс аналогичен для всех терминалов Android, хотя название параметров и способ доступа к каждому из них могут незначительно отличаться.
На устройстве Android вам следует перейти в Настройки а позже Блокировка экрана и безопасность, чтобы позже войти в опцию Ubicación а затем нажмите на Разрешения на уровне приложения, который покажет список со всеми приложениями, которые установлены на устройстве.
Среди них необходимо найти и отключить Instagram. Если мы когда-нибудь захотим снова активировать его, достаточно будет повторить процесс.
Имейте в виду, что как только это будет сделано, вы не сможете указать местоположение на опубликованных фотографиях или видео, даже если захотите.
Как полностью отключить местоположение для Instagram на iPhone
Если вы хотите знать как запретить Instagram отслеживать ваше местоположение деактивируя локализацию в системе устройства Apple, то есть в iPhone, вы должны выполнить следующую процедуру.
Прежде всего вы должны пойти в Настройки и в этом меню найдите параметр Конфиденциальность. Оказавшись в последнем, нажмите на Расположение, который перенесет вас в новое меню, в котором вы обычно можете активировать или деактивировать местоположение на всем устройстве или выбрать желаемый вариант для каждого приложения.
В этом меню вы увидите список всех приложений, установленных на вашем устройстве. Поиск Instagram и щелкните по нему, что позволит вам выбрать один из двух вариантов «Разрешить доступ к местоположению», имея два варианта: Никогда o При использовании приложения. По умолчанию последний будет активирован, и чтобы полностью отключить локацию, просто выберите Никогда.
Как и в случае с Android, если в любой момент вы захотите снова разрешить доступ и местоположение будет работать, вы должны выполнить ту же процедуру, только в этом случае вы должны выбрать опцию При использовании приложения.
Так ты знаешь как запретить Instagram отслеживать ваше местоположение, что поможет вам обеспечить более высокий уровень конфиденциальности, в дополнение к этому мы объяснили, как удалить тег местоположения из тех публикаций, которые вы уже сделали в прошлом, если хотите. Однако деактивация местоположения имеет недостаток, заключающийся в невозможности указать, где вы находитесь, если вы хотите поделиться им, хотя это вариант, который вы можете активировать или деактивировать по своему усмотрению, по вашему желанию и необходимости.
Обычно по умолчанию разные приложения запрашивают разрешения на местоположение, чтобы иметь возможность получать больше информации и улучшать свои услуги, хотя это нарушает конфиденциальность каждого человека.
3 способа удалить данные о местоположении с фото или видео; Запретить камеру записывать GPS-маяки
паритетФлориан опубликовано на
Ваш телефон обычно объединяет информацию о местоположении в снимаемые вами фото и видео. Когда вы делитесь ими с другими, данные о местоположении также передаются, что ставит под угрозу вашу конфиденциальность. К счастью, у нас есть несколько способов удалить данные о местоположении с фото и видео на Android и iOS. Кроме того, вы также можете запретить вашей камере сохранять положение GPS на фотографиях и видео. Читать дальше.
резюме
ПереключатьУдалите данные о местоположении из ваших фото и видео
Топ 5 направлений в …
Please enable JavaScript
Топ 5 направлений в Азии для цифровых кочевниковСнимаемые вами фотографии и видео содержат дополнительную информацию в виде метаданных, называемых данными EXIF. Обычно он содержит марку и модель камеры, дату, информацию о фотографии, такую как ISO, выдержку, диафрагму и т. Д., И, возможно, координаты GPS того места, где был сделан снимок.
Эти изображения и видео, когда они передаются другим, могут раскрывать данные о вашем местоположении. Ваша конфиденциальность может оказаться под угрозой, особенно если кто-то, кто обижается на вас, займет вашу позицию. Сейчас многие сайты социальных сетей автоматически удаляют данные EXIF, но вы никогда не знаете, какие из них удаляют, а какие нет.
Поэтому, чтобы защитить себя и свою конфиденциальность, вы должны следовать приведенному ниже руководству, чтобы удалить местоположение и другие данные со своих фотографий и видео. Мы также упоминали, как можно полностью запретить вашему телефону сохранять данные о местоположении GPS.
Удалить местоположение фото и видео на Android
1] Использование сторонних приложений
Photo Metadata Remover (только для фотографий)
- Загрузите и установите Photo Metadata Remover на свой телефон.
- Откройте приложение и нажмите » Выбрать фото, «
- Выберите все фотографии, с которых вы хотите удалить данные о местоположении.
- Теперь выберите выходную папку, в которой вы хотите сохранить эти фотографии.
После того, как вы выбрали папку назначения и разрешили доступ к хранилищу, приложение удаляет метаданные, включая координаты местоположения GPS всех выбранных фотографий. Теперь вы можете делиться этими фотографиями с другими, не беспокоясь о своей конфиденциальности.
Вы также можете удалить данные о местоположении массово, используя опцию «Выбрать папку».
II. EXIF Pro (фото и видео)
- Загрузите и установите EXIF Pro-Exif Tool для Android на свой телефон.
- Откройте приложение и разрешите доступ к хранилищу.
- Выберите фото и видео из фото библиотеки. Вы можете использовать значок сетки для сортировки фотографий и видео.
- После того, как вы выбрали файлы, нажмите кнопку Stylo верхний правый значок.
- Теперь нажмите на кнопку Быстрые действия кнопку в правом нижнем углу.
- кран Очистить данные GPS. торопиться Хорошо подтвердить.
2] Использование Google Фото
- Перейдите на сайт photos.google.com в своем браузере.
- Откройте фотографию, данные GPS которой вы хотите удалить.
- нажмите Инфо кнопку вверху.
- На боковой панели справа щелкните значок редактировать кнопка рядом с информацией о местоположении.
- Затем выберите Нет места на локации информация будет удалена с фото или видео.
3] Использование приложения «Галерея» (OneUI 3.

В серии Galaxy S21 Samsung также представила новые функции в программном обеспечении One UI 3.0 на базе Android 11. Теперь у нас есть новая функция, ориентированная на конфиденциальность, которая позволяет удалять данные о местоположении с фотографии перед ее загрузкой.
- Запустите приложение «Галерея».
- Откройте фотографию, которой хотите поделиться.
- Щелкните по нему доля кнопка.
- Выбирать Удалить данные о местоположении под предварительным просмотром изображения на экране «Поделиться».
Это удалит с фотографии данные о местоположении, включая широту и долготу. На данный момент эта функция является эксклюзивной для линейки Samsung Galaxy S21. Однако вскоре он должен появиться и на других телефонах Samsung.
Удалить местоположение фотографий и видео на iOS (iPhone / iPad)
В iOS есть удобный переключатель для отключения геолокации и других данных при обмене фотографиями и видео с другими людьми. Если у вас iPhone или iPad, вот как удалить данные о местоположении из ваших фотографий и видео.
- Запустите приложение «Фото» на вашем iPhone и iPad.
- Выберите фото и видео, которыми хотите поделиться.
- Щелкните по нему доля кнопку внизу слева.
- Щелкните по нему Опции вверху меню общего доступа.
- На следующем экране выключите кнопку, чтобы Расположение.
Вы также можете отключить «Все данные фото», если не хотите делиться какими-либо другими метаданными со своей фотографией.
Запретить камеру вашего телефона записывать данные о местоположении GPS
На андроид
Приложение камеры почти на всех телефонах Android предлагает возможность остановить запись маяков GPS с фотографиями и видео. Все, что вам нужно сделать, это открыть камеру, перейти в настройки и отключить параметр «Сохранить местоположение» или «Тег местоположения».
Вот и все. Фотографии и видео, снятые с этого момента, больше не будут содержать данные GPS. И вам не нужно беспокоиться о раскрытии местоположения другим во время обмена медиафайлами.
На iOS (iPhone / iPad)
Нет прямого переключателя для отключения геотегов на фотографиях на iOS. Однако вы можете отключить «Службы геолокации», щелкая изображения, чтобы камера не записывала данные GPS. Вы также можете отключить доступ к местоположению для приложения камеры следующим образом.
- Откройте Настройки приложение на вашем iPhone.
- Перейти к Конфиденциальность> Службы геолокации.
- Прокрутите вниз и коснитесь Камера.
- Изменить доступ к когда-либо.
пак
Все было о том, как удалить данные о местоположении из фотографий и видео на Android и iPhone. Мы также упомянули, как можно запретить приложению камеры добавлять геотеги к изображениям. Это, безусловно, поможет вам защитить вашу конфиденциальность, не раскрывая свое местоположение другим людям во время обмена фотографиями. Если вы ищете дополнительные способы, вот дополнительная информация об удалении местоположения и других данных с ваших фотографий.
ВКонтакте грозит судебный иск от звукозаписывающих компаний
Опубликовано
Sony, Universal и Warner Music подали иск, обвиняя сайт в «крупномасштабном» нарушении авторских прав.
Акция координируется Международной федерацией фонографической индустрии (Ifpi), которая представляет звукозаписывающие компании по всему миру.
ВКонтакте не ответил на запрос BBC о комментарии.
Лейблы обвинили VK, вторую по величине социальную сеть в Европе, в создании «огромной библиотеки» музыки, на которую у нее нет прав, и предоставлении ее в качестве услуги на своем сайте.
Лейблы добиваются судебного решения в России, чтобы заставить ВКонтакте удалить ряд файлов из своего сервиса.
В заявлении, объявляющем о действии, исполнительный директор Ifpi Фрэнсис Мур сказала: «Мы неоднократно подчеркивали эту проблему в течение длительного периода времени.
«Мы призвали VK прекратить нарушения и вести переговоры со звукозаписывающими компаниями, чтобы стать лицензированным сервисом.
«На сегодняшний день компания не предприняла никаких значимых шагов для решения проблемы, поэтому сегодня возбуждено уголовное дело.»
«Notorious»
Лейблы утверждают, что популярность ВКонтакте и наличие музыкальной библиотеки затрудняют создание юридической службы в России.
«Это акция, которая может принести пользу всей музыкальной индустрии России», — сказал Леонид Агронов, исполнительный директор Национальной федерации музыкальной индустрии, российской торговой организации звукозаписывающей индустрии.
Основатель ВКонтакте Павел Дуров отменил свою отставку, заявив, что это была первоапрельская шутка.
В ноябре 2012 года ВК был признан Верховным судом России виновным в распространении нелицензионной музыки, принадлежащей музыкальной группе «Гала».
Это решение последовало за вступлением России во Всемирную торговую организацию, требованием которой было ужесточение законов об авторском праве и правоприменения.
Эта последняя акция приходится на период нестабильности в ВКонтакте.
1 апреля основатель сайта Павел Дуров объявил о своем уходе из компании, но позже отменил свое заявление об отставке, предположив, что это была первоапрельская шутка.
Его заявление об увольнении — пусть даже и шутка — затронуло деликатный для ВК вопрос. Недавние изменения акционеров заставили многих предположить, что сайт теперь тесно контролируется Кремлем, и на него оказывается давление с целью удалить посты, поддерживающие Украину.
Удаление фона (общий (пиксельный) против глубокого обучения) Подход | by VK
9 мин чтения·
3 декабря 2022 г.В этой статье я рассказываю об удалении фона с помощью компьютерного зрения в различных подходах, таких как общее попиксельное удаление и подход глубокого обучения.
Ввод и удаление фона выводЧто такое удаление фона?
Когда вам нравится сфокусированная часть вашего изображения и вы хотите удалить отвлекающие его элементы, не мешая той части, которую вы хотите сохранить, это называется удалением фона. Технически удаление фона не работает, как сказано.
Иногда вам нужно удалить с изображения что-то, что находится перед рамкой. Таким образом, удаление фона не всегда означает стирание материалов заднего кадра.
Зачем вам услуги по удалению фона?
В цифровой фотографии люди неуклюже щелкают тысячи кадров, а после того, как они это сделают, сортируют изображения, которые им понадобятся.
Удаление фона с изображения — наиболее часто используемая сегодня услуга по обработке изображений. Давайте посмотрим, почему вы хотели бы использовать свои деньги, чтобы сделать это.
Итак, мы сосредоточимся на том, как убрать фон на фоне приложения или веб-сайта.
Теперь сосредоточьтесь на удалении фона по пикселям с помощью библиотеки OpenCV.0005 Шаги : # Импортировать изображение # Чтение изображения # Преобразование изображения в изображение серого цвета # Применение метода пороговой обработки # Использование cv2.split() для разделения каналов # Составление списка красного, зеленого, синего # Использование cv2.merge() для слияния rgba # Импортировать библиотеку OpenCV
import cv2
file_name = r"/home/vk/Desktop/CV_BackgroundRemoval/black_backgroundremoval/6. jpg"
src = cv2.imread(file_name, 1)
tmp = cv2.cvtColor(src, cv2.COLOR_BGR2GRAY)
_, alpha = cv2.threshold(tmp, 0, 255, cv2.THRESH_BINARY)
# Цветное изображение
b, g, r = cv2.split(src)
# Каналы и альфа
rgba = [b, g, r, alpha]
# в цветное/многоканальное изображение
# Запись и сохранение в новое изображение
cv2.imwrite("/home/vk/Desktop/CV_BackgroundRemoval/black_backgroundremoval/opencv_bgrm.png", dst) 900 05 Вывод и ввод удаления черного фона
II. Удаление фона — 3-й метод (OpenCV)
- Метод 1
В этом первом методе мы фокусируемся на удалении переднего плана, фона и объединении нас обоих.
шагов:
- Размытие по Гауссу для удаления шума
- Упростим наше изображение, объединив пиксели в шесть равноотстоящих ячеек в пространстве RGB. Другими словами, преобразуемыми в 5 x 5 x 5 = 125 цветов
- Преобразовать наше изображение в серое шкалу и применить пороговое значение для получения маски переднего плана
- Применить маску на наше разбитое изображение, сохранив только передний план (по существу, удалив фон)
def bgremove1 (myimage = myrimage): 2 def bgremove1)0113 myimage =cv2.imread(myimage)Передний план, Фон, Передний план+Фон, Входные изображения
# Размытие изображения для уменьшения шума
myimage = cv2.GaussianBlur(myimage,(5,5), 0)# Мы объединяем пиксели. Результатом будет значение 1..5
bins=np.array([0,51,102,153,204,255])
myimage[:,:,:] = np.digitize(myimage[:,:,:],bins,right=True)*51# Создать одноканальную шкалу серого для порога 90 113 myimage_grey = cv2.cvtColor(myimage, cv2.COLOR_BGR2GRAY)
# Выполнить пороговое значение Otsu и извлечь фон.
![]()
# Мы используем Binary Threshold, так как хотим создать полностью белый фон
ret,background = cv2.threshold(myimage_grey,0,255,cv2.THRESH_BINARY+cv2.THRESH_OTSU)# Преобразование черного и белого обратно в 3-канальные оттенки серого
background = cv2.cvtColor(background, cv2.COLOR_GRAY2BGR)
c v2.imwrite("method1_background_image.png",background)# Выполнить пороговое значение Otsu и извлечь передний план.
# Мы используем TOZERO_INV, так как хотим сохранить некоторые детали переднего плана
ret,foreground = cv2.threshold(myimage_grey,0,255,cv2.THRESH_TOZERO_INV+cv2.THRESH_OTSU) # В настоящее время передний план — это только маска
foreground = cv2.bitwise_and(myimage,myimage, mask=foreground) # Обновить передний план с помощью bitwise_and для извлечения настоящего переднего планаcv2.imwrite("method1_bm.png",finalimage)
return finalimage
2. Метод 2 — Техника Терсхолдинга
Очевидно, что в методе 1 мы выполнили большую обработку изображения. Как видно, размытие по Гауссу и пороговое значение Оцу требуют большой обработки. Кроме того, при применении размытия по Гауссу и биннинга мы потеряли много деталей в нашем изображении. Следовательно, мы хотели разработать альтернативную стратегию, которая, как мы надеемся, будет быстрее. Сбалансировав эффективность и зная, что OpenCV является высокооптимизированной библиотекой, мы выбрали подход, ориентированный на пороговое значение:
Шаги:
- Преобразовать наше изображение в оттенки серого
- Выполнить простую пороговую обработку для создания маски переднего плана и фона
- Определить передний план и фон на основе маски
- Реконструировать исходное изображение, объединив передний план и фон
image):
myimage =cv2.imread(myimage)# Первое преобразование в оттенки серого H_TRUNC)
ret, background = cv2.
threshold(baseline,126,255,cv2.THRESH_BINARY) ret,foreground = cv2.threshold(baseline,126,255,cv2.THRESH_BINARY_INV)
foreground = cv2.bitwise _and(myimage,myimage, mask=foreground) # Обновить передний план с помощью bitwise_and для извлечения реального переднего плана
cv2.imwrite("method2_foreground_image.png",foreground)
# Преобразование черного и белого обратно в 3-канальные оттенки серого
background = cv2.cvtColor(background, cv2.COLOR_GRAY2BGR)
c v2.imwrite("method2_background_image.png",фон)# Объедините фон и передний план, чтобы получить наше окончательное изображение метод 3 — цветовое пространство HSV
До сих пор мы работали в цветовом пространстве BGR. Имея это в виду, наши изображения склонны к плохому освещению и теням. Несомненно, мы хотели знать, приведет ли работа в цветовом пространстве HSV к лучшим результатам. Чтобы не потерять детали изображения, мы также решили не применять размытие по Гауссу и объединение изображений.
Вместо этого сосредоточьтесь на Numpy для пороговой обработки и создания масок изображений. В целом наша стратегия была такой:Шаги:
- Преобразовать наше изображение в цветовое пространство HSV
- Выполнить простую пороговую обработку для создания карты с помощью Numpy на основе насыщенности и значения
- Объединить карту из S и V в окончательную маску
- Определить передний план и фон на основе комбинированной маски
- Реконструировать исходное изображение путем объединения извлеченного переднего плана и фона
def bgremove3(myimage=myimage):Передний план, Фон, Передний план+Фон, Входные изображения Размыть фон.
myimage =cv2.imread(myimage)# BG Remover 3
myimage_hsv = cv2.cvtColor(myimage, cv2.COLOR_BGR2HSV)#Возьмите S и удалите любое значение меньше половины
s = myimage_hsv[:,:,1]s = np.where(s < 127 , 0, 1) # Любое значение ниже 127 будет исключено # Увеличиваем яркость изображения и затем мод на 255
v = (myimage_hsv[:,:,2] + 127) % 255
v = np.where(v > 127, 1, 0) # Любое значение выше 127 будет частью нашей маски
# Объединить две наши маски на основе S и V в один «Передний план»
foreground = np.where(s+v > 0, 1, 0) земля, cv2.COLOR_GRAY2BGR) # Конвертировать фон обратно в пространство BGR ", передний план)
finalimage = background+foreground # Объединение переднего плана и фона
cv2.imwrite("method3_image.png",finalimage)
return finalimage
Итак, аккуратное удаление фона, поэтому мы сосредоточимся на глубоком обучении.
Аккуратно удален фон, поэтому мы переходим к глубокому обучению и двухэтапному процессу.
- Создать чистую маску в U2net
- Вычесть маску и входное изображение
А теперь я расскажу об архитектуре U2net,
9 0071 Этап 1: U2Net
U2net: мы разрабатываем простую, но мощную архитектуру глубокой сети U2-Net для обнаружения существенных объектов (SOD). Архитектура нашей U2-Net представляет собой двухуровневую вложенную U-структуру. Дизайн имеет следующие преимущества: (1) он способен захватывать больше контекстной информации из разных масштабов благодаря смешению рецептивных полей разного размера в предлагаемых нами ReSidual U-блоках (RSU), (2) он увеличивает глубину всей архитектуры без значительного увеличения вычислительных затрат из-за операций объединения, используемых в этих RSU-блоках. Эта архитектура позволяет нам обучать глубокую сеть с нуля, не используя магистрали из задач классификации изображений. Мы реализуем две модели предлагаемой архитектуры: U2 — Net (176,3 МБ, 30 кадров в секунду на графическом процессоре GTX 1080Ti) и U2 — Net† (4,7 МБ, 40 кадров в секунду), чтобы упростить использование в различных средах. Обе модели демонстрируют конкурентоспособную производительность на шести наборах данных SOD.
Скачать — Модель U2net: https://drive.google. com/file/d/1ao1ovG1Qtx4b7EoskHXmi2E9rp5CHLcZ/view
import osвходные и выходные изображения 9000 4 Этап 2: Вычитание входного изображения и маски .open('/content/drive/MyDrive/background_removal_DL/test_data/images/input/4.jpeg')
from skimage import io, transfor
import torch
import torchvision
import torchvision
from torch.autograd import Variable
import torch.nn as nn
import torch.nn.functional as F utils
# импортировать torch.optim как optimимпортировать numpy как np
из PIL импортировать изображение
импортировать globиз data_loader импортировать RescaleT
из data_loader импортировать ToTensor
из data_loader импортировать ToTensorLab
из data_loader импортировать SalObjDatasetиз импорта модели U2NET # полная версия 173,6 МБ
из импорта модели U2NETP # маленькая версия u2net 4,7 МБ# нормализовать предсказанную карту вероятностей SOD
def normPRED(d):
ma = torch.max(d)
mi = torch.min(d)dn = (d-mi)/(ma-mi)
return dn
def save_output(image_name,pred,d_dir):
предсказать = пред
предсказать = предсказать.сжать()
предсказать_np = предсказать. 0005im = Image.fromarray(predict_np*255).convert('RGB')
img_name = image_name.split(os.sep)[-1]
image = io.imread(image_name)
imo = im.resize((image.shape[1],image.shape[0]),resample=Image.BILINEAR )pb_np = np.array(imo)
aaa = img_name.split(".")
bbb = aaa[0:-1]
imidx = bbb[0]
для i в диапазоне (1,len(bbb)):
imidx = imidx + "." + bbb[i]imo.save(d_dir+imidx+'.png')
def main():
# --------- 1. получить путь и имя изображения ---------
model_name='u2net'#u2netpimage_ dir=os.path.join(os.getcwd(),'test_data','images','input')
Prediction_dir=os.path.join(os.getcwd(),'test_data','images',model_name+'_results'+os.sep)
model_dir = os.path.join(os.getcwd(),'saved_models',model_name, имя_модели+'.pth')img_name_list = glob.glob(image_dir + os.sep + '*')
print(img_name_list)# --------- 2. загрузчик данных ---------
#1.загрузчик данных
test_salobj_dataset = SalObjDataset(img_name_list = img_name_list,
lbl_name_list = [],
transform=transforms.Compose([RescaleT(320),
ToTensorLab(flag=0)])
)
test_salobj_dataloader = данные Loader (test_salobj_dataset,
batch_size = 1,
shuffle = False,
num_workers = 1)# --------- 3. определение модели ---------
if(model_name=='u2net'):
print("...загрузить U2NET---173,6 МБ")
net = U2NET(3,1)
elif(model_name=='u2netp'):
print("...загрузить U2NEP---4,7 МБ")
net = U2NETP(3,1)
net.load_state_dict(torch.load(model_dir))
if torch.cuda.is_available():
net.cuda()
net.eval()# --------- 4. вывод для каждого изображения ---------
для i_test, data_test в enumerate(test_salobj_ загрузчик данных):print("вывод:",img_name_list[i_test].split(os.sep)[-1])
inputs_test = data_test['image']
inputs_test = inputs_test.type(torch.FloatTensor)if torch.
cuda.is_available():
inputs_test = Variable(inputs_test.cuda())
else:
inputs_test = Variable (inputs_test)d1,d2,d3,d4,d5,d6,d7= net(inputs_test)
# нормализация
pred = d1[:,0,:,:]
pred = normPRED(pred)# сохранить результаты в папку test_results
если не os.path.exists(prediction_dir):
os.makedirs(prediction_dir, exists_ok=True)
save_output(img_name_list[i_test],pred,prediction_dir)del d1,d2,d3,d4,d5,d6,d7
if __name__ == "__main__":
main()
subimage=subimage.convert("RGBA")
original=original.convert("RGBA")
subdata=subimage.getdata()
ogdata=original.getdata()
newdata=[]
для i в диапазоне(subdata.size[0]*subdata .size[1]):
, если subdata[i][0]==0 и subdata[i][1]==0 и subdata[i][2]==0:
newdata. append((255,255,255,0))
else:
newdata.append(ogdata[i])
subimage.putdata(newdata)
subim age.save('/content/drive/MyDrive/background_removal_DL/test_data/images/output/output_bgrm.png',"PNG")
В этой архитектуре U2net генерируется вывод маски. И вычтите ввод и замаскируйте изображение. Но это не было четко удаленным фоном. Так что теперь дни недавно представили новый подход Rembg.
Rembg:
- Rembg — это метод глубокого обучения.
- Rembg — магистральная архитектура — U2Net.
- Четко удален фон.
из rembg import removeRembg Выходные и входные изображения
import cv2input_path = '/home/vk/Desktop/CV_BackgroundRemoval/rembg/6.jpg'
output_path = '/home/vk/Desktop/CV_BackgroundRemoval/rembg/rembg_output2.png'input = cv2.imread(input_path)
output = remove( input)
cv2.imwrite(output_path, output)
Сравнение магистралей:
Спасибо за посещение, ребята! , если у вас есть какие-либо вопросы и ошибки в этой статье, прокомментируйте это! или давайте подключим linkedin, kaggle обсуждение.