Сломанный пиксель · Глава 17. Сравнение

Глава 17. Сравнение

— Показывай, что там, — говорит Антон, едва я переступаю порог квартиры, даже не предложив снять куртку в прихожей.

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

— Смотри, — говорит он, растягивая на экране два видеоряда параллельно, один над другим. — Слева исходник с камеры, справа готовый ролик, присланный Артёмом.

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

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

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

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

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

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

— Готово, — объявляет он, запуская обработку. — Сейчас сетка ляжет поверх обоих видео, посмотрим на искажения. Терпение, пара секунд на просчёт кадров.

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

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

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

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

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

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

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

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

— Тогда покажи это всем, — говорит он серьёзно. — Не ради Артёма. Ради себя самой.

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

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

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

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

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

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

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