Валерий Расс
Слепое пятно

Глава 1. Призрак в пикселях

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

Раньше здесь царил красный свет. Тридцать лет назад, в этой самой полуподвальной студии, Лев Борисович, тогда еще просто Лёва, часами колдовал над ванночками с проявителем. Он помнил магию того времени: как на чистом листе фотобумаги, погруженном в раствор, из ниоткуда проступали лица, улицы, остановленные мгновения жизни. Ему казалось, что он управляет временем.

Но время оказалось хитрее. Пленка ушла, уступив место цифре. Многие ровесники Льва Борисовича начали брюзжать, повесили свои «Зениты» и «Лейки» на гвоздь и ушли на пенсию, проклиная бездушные мегапиксели. А Лев Борисович поступил иначе. Он купил самый мощный компьютер, какой только смог найти, разобрался в питоне, скачал пару локальных нейросетей и понял: магия никуда не делась. Она просто переехала в видеокарту.

Свою нейросеть, которую он собрал, до обучил на тысячах собственных пленочных архивов и прикрутил к голосовому модулю, Лев Борисович назвал «Шуруп». Потому что она вечно всё «докручивала».

— Шуруп, ты спишь? — Лев Борисович отпил остывший чай из кружки с надписью «Лучшему деду» и поправил съехавшие на нос очки.

— Я локальная языковая модель с модулем генерации изображений, Лев Борисович, — раздался из колонок спокойный, слегка ироничный мужской голос. — У меня нет фаз быстрого и медленного сна. Но если вас интересует статус системы — температура видеокарты 65 градусов, я готов к работе. Что на этот раз? Опять будем делать из ваших старых портретов голливудских звезд?

— Язвишь. Значит, проснулся, — хмыкнул старый фотограф. — Нет, сегодня у нас халтура. Городской архив заказал оцифровку пленки 1989 года. День города, демонстрация, шарики, счастливые лица трудящихся. Пленка убитая в хлам: поцарапанная, зерно размером с кулак, еще и засвечена с правого края. Я её от сканировал. Лови в папку «Входящие». Твоя задача: убрать шумы, сделать апскейл до 4К, проявить лица в толпе на заднем плане. Сделай красиво, чтобы заказчик пищал.

— Принято. Запускаю процесс, — отозвался Шуруп. Кулеры под столом завыли, словно турбины идущего на взлет самолета.

Лев Борисович откинулся в скрипучем кожаном кресле и прикрыл глаза. В свои шестьдесят восемь он всё еще мог дать фору молодым ретушерам. Пока они возились со штампом в фотошопе, он с помощью Шурупа реставрировал безнадежные кадры за минуты. Это был идеальный симбиоз: опыт человека, который знал, как должен падать свет, и вычислительная мощь машины.

— Готово, Лев Борисович, — прервал его размышления голос ассистента. — Изображение улучшено. Реставрация лиц завершена с вероятностью совпадения анатомии 98 процентов.

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

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

Взгляд Льва Борисовича скользнул по рядам зевак, стоявших на обочине, и вдруг споткнулся.

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

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

Лев Борисович поперхнулся чаем.

— Шуруп… — медленно произнес он. — Ты опять галлюцинируешь?

— Мои алгоритмы работают в штатном режиме. Укажите область ошибки.

— Правый верхний квадрат. Мужик в плаще. Зачем ты пририсовал человеку из восемьдесят девятого года современные смарт-часы? Ты где там Apple Watch увидел, железяка?

— Я не дорисовывал объекты, не соответствующие эпохе, — сухо парировал Шуруп. — Мой модуль апскейла работает на основе анализа пикселей оригинального скана. Я лишь восстановил то, что было зафиксировано на пленке галогенидами серебра. Кроме того, Лев Борисович, я бы рекомендовал вам обратить внимание не на часы.

— А на что?

— На лицо субъекта. Проанализировав вашу локальную базу данных, я нашел совпадения.

На втором мониторе внезапно открылась галерея.

— Фотография номер 412, похороны Брежнева, 1982 год, задний план, — бесстрастно комментировал Шуруп.

На экране появилось зернистое ч/б фото. В толпе скорбящих стоял тот же самый мужчина в сером плаще.

— Фотография номер 1056, ваш личный архив, студенческая свадьба вашего друга, 1995 год.

Снова он. Стоит у дверей ЗАГСа, курит, смотрит в объектив.

— И, наконец, фотография номер 12, ваш выпускной в училище, 1977 год.

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

— Шуруп… — голос фотографа слегка дрогнул. — Найди мне отличия в его лице на этих четырех снимках. Возрастные изменения. Морщины, седину, да что угодно.

— Анализ завершен, — через секунду ответил ИИ. — Биометрических изменений нет. Субъект не постарел ни на один день. Вероятность совпадения — 99,9%.

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

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

— Запускаю процесс «Image-to-Video», — послушно отозвался Шуруп. — Расчетное время — две минуты. Кстати, Лев Борисович.

— Что?

— Ваш пульс сейчас 110 ударов в минуту. Рекомендую успокоиться. Это просто пиксели.

«Просто пиксели», — подумал Лев Борисович, не отрывая взгляда от ползунка загрузки. — «Мы всю жизнь думаем, что фотография — это просто свет и тень. А что, если иногда камера ловит то, что мы не должны были видеть?»

98%... 99%... 100%.

— Генерация завершена. Вывожу на экран.

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

И тут мужчина в сером плаще на заднем плане шевельнулся. Он перестал поправлять воротник. Медленно, словно преодолевая густое желе времени, он повернул голову и посмотрел прямо в объектив. Прямо в глаза Льву Борисовичу, сидящему перед монитором спустя тридцать пять лет.

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

Тссс.

Видео замерло на последнем кадре и пошло на повтор.

Чай в кружке с надписью «Лучшему деду» окончательно остыл. А Лев Борисович понял, что его тихая пенсия только что подошла к концу.

Глава 2. Шаги сквозь десятилетия

— Стоп. Назад. Покажи еще раз, — хрипло скомандовал Лев Борисович.

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

— Это какой-то сбой алгоритма, — фотограф нервно потер переносицу, оставляя на ней красный след. — Шуруп, твоя нейронка просто достроила движение на основе паттернов. Она решила, что раз человек смотрит в камеру, логично добавить ему осмысленный жест. Так?

— Отрицательно, Лев Борисович, — невозмутимо ответил ИИ. — Модуль генерации видео не обладает собственной фантазией. Он просчитывает векторы движения, заложенные в статичной картинке. Мышечное напряжение лица, микросмаз на руке — всё это уже было на оригинальном скане. Я лишь экстраполировал это во времени. Другими словами: он действительно собирался приложить палец к губам в тот момент, когда щелкнул затвор вашего фотоаппарата.

Лев Борисович рывком поднялся с кресла. Колесики жалобно скрипнули по старому паркету.

— Слова, Шуруп. Это всё нули и единицы. А я верю только тому, что могу потрогать.

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

Фотограф натянул тонкие белые хлопковые перчатки — рефлекс, въевшийся в подкорку.

— Так, 1989 год. Городские мероприятия, — бормотал он себе под нос, ведя пальцем по корешкам папок. — Вот она. Май.

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

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

Вот толпа. Вот тетка с ватой. А вот за её спиной…

Лев Борисович затаил дыхание.

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

— Он настоящий, — тихо констатировал фотограф, опуская лупу. — Это не твой глюк, Шуруп. Он действительно там стоял.

— Я никогда не ошибаюсь в пикселях, босс, — отозвался динамик. Голос ИИ показался Льву Борисовичу чуть самодовольнее обычного.

— Не зазнавайся, калькулятор-переросток, — буркнул Лев Борисович. — Раз он настоящий, значит, это реальный человек. Может, городской сумасшедший? Или кагэбэшник в штатском, топтун? Они любили тереться на массовых мероприятиях. Но почему он не стареет?

Лев Борисович снова подошел к стеллажам. Внутри него уже проснулась охотничья стойка. Он достал еще три коробки: «1977. Училище», «1982. Москва», «1995. Свадьбы».

Через десять минут на светящемся столе лежали четыре полоски пленки из разных эпох.

— Шуруп, запускай барабанный сканер. Прогрей лампу.

— Режим?

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

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

— Сканирование завершено, — наконец сообщил Шуруп. — Файлы загружены в рабочую среду.

— Отлично. Выведи все четыре кадра на экран. Выровняй экспозицию. Выдели лицо нашего «вечно молодого» друга красным маркером.

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

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

— Выполняю расчет пространственной перспективы, — кулеры системника снова взяли высокую ноту. — Триангуляция завершена. Результаты готовы.

На экране под каждой фотографией появились цифры.

Лев Борисович надел очки и прищурился.

Под фото 1977 года светилась надпись: Расстояние до объекта — 45 метров.

Фото 1982 года: Расстояние до объекта — 32 метра.

Фото 1989 года: Расстояние до объекта — 18 метров.

Фото 1995 года: Расстояние до объекта — 5 метров.

Лев Борисович почувствовал, как во рту пересохло. Он перевел взгляд с цифр на лицо незнакомца.

— Шуруп… — сипло сказал фотограф. — Ты понимаешь, что это значит?

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

Лев Борисович посмотрел на последнее фото из девяностых. Пять метров. Это расстояние вытянутой руки и пары шагов.

— Шуруп… А проанализируй-ка мой цифровой архив. Фотки за последние пять лет.

— Ищу совпадения по лицу, — отозвалась машина. — Анализирую папку «Цифра_2015-2025». Найдено одно совпадение. Вчерашний день.

— Что?! Я вчера не снимал! Я весь день сидел дома!

— Фотография номер 88942, — спокойно произнес Шуруп. — Сделана веб-камерой вашего компьютера вчера в 23:45, во время автоматической проверки безопасности системы. Вывожу на экран.

На мониторе появилось черно-белое изображение с веб-камеры. Лев Борисович спал в своем кресле, откинув голову.

А прямо за его спиной, в темном дверном проеме мастерской, стоял мужчина в сером плаще.

Расстояние до объекта: ноль метров.

Глава 3. Слепое пятно

Лев Борисович резко обернулся. Кресло взвизгнуло пружинами.

Дверной проем, ведущий в темный коридор мастерской, был пуст. Только старая пыльная портьера едва заметно покачивалась на сквозняке.

Он схватил со стола тяжелый штатив от старой вспышки «Луч» — отличная металлическая дубинка, если разобраться — и шагнул в темноту.

— Эй! — крикнул он, и голос предательски дрогнул. — Кто здесь? Я вооружен и, если честно, не в настроении!

Тишина. Только гудение серверов Шурупа за спиной. Лев Борисович щелкнул выключателем. Коридор осветила тусклая лампочка. Никого. Дверь на улицу заперта на два мощных ригельных замка, цепочка на месте. Сигнализация горит ровным зеленым светом.

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

С черно-белого снимка веб-камеры на него смотрел спящий старик, а за его спиной стоял тот самый человек из прошлого.

— Шуруп, — Лев Борисович вытер холодный пот со лба. — Вчера в 23:45. Сигнализация срабатывала? Датчики объема в коридоре что-то фиксировали?

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

— То есть, по данным безопасности, здесь никого не было. Но на фото он есть. Как это возможно, умник? Ты же сам сказал: ты веришь только пикселям. А камеры безопасности — это те же пиксели.

— Анализирую парадокс, — Шуруп взял паузу, кулеры снова взвыли. — Гипотеза номер один: сбой веб-камеры. Артефакт матрицы.

— Отклоняется, — отрезал Лев Борисович. — Артефакты выглядят как битые пиксели или цветные полосы. Они не носят серые плащи и не смотрят мне в затылок. Дальше.

— Гипотеза номер два: внешний взлом системы. Кто-то получил удаленный доступ к моему ядру, загрузил сгенерированное изображение и подменил им контрольный снимок веб-камеры, чтобы оказать на вас психологическое давление.

Лев Борисович задумался. Это звучало логично. Если кто-то хотел его напугать, нейросети сегодня позволяли слепить любой дипфейк. Но зачем? Кому нужен старый фотограф на пенсии?

— Хорошо. Допустим, взлом, — кивнул Лев Борисович, закуривая прямо в студии, чего не делал уже лет пять. Дым медленно пополз к потолку, сизым слоем ложась на мониторы. — Но как быть со старыми пленками? Я только что сам отсканировал их при тебе. Негативы лежали в коробках десятилетиями. Хакер не мог залезть в химический слой целлулоида в 1977 году.

— Согласен. Взлом не объясняет физическое наличие субъекта на аналоговых носителях, — признал Шуруп. — Перехожу к гипотезе номер три. Самой маловероятной с точки зрения классической физики.

— Ну, давай свою физику. Удиви меня.

— Субъект не отражает свет в привычном спектре, Лев Борисович.

— В смысле? Он вампир, что ли?