Почему камеры смартфонов не исправляют подушкообразные искажения автоматически?

Ранее я спрашивал, почему GoPro автоматически не исправляет искажение «рыбий глаз », и этот вопрос связан, но отличается:

Учитывая, что в настоящее время смартфоны обладают такой большой вычислительной мощностью (например, графические процессоры Nvidia) и что их подушкообразное искажение легче исправить, чем чрезвычайно широкоугольный объектив типа «рыбий глаз» в GoPro, почему смартфоны не исправляют это искажение автоматически? перекос , который он производит на фотографиях?

Ниже фото Sony Xperia Z5, иллюстрирующее сильное искажение. На самом деле мяч для упражнений имеет довольно сферическую форму .

Подушкообразное искажение Sony Xperia Z5

Другие смартфоны не намного лучше.

Samsung Galaxy S5, iPhone 5S, Sony Xperia Z5, Nexus 5X подушкообразные искажения

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

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

введите описание изображения здесь

Вы уверены, что то, на что вы жалуетесь, не является результатом коррекции объектива? Растянутые углы — это именно то, что вы получите, если скорректируете бочкообразную дисторсию широкоугольного объектива до прямолинейного отображения. Если это окажется так, то лучшим вопросом может быть «Почему нет возможности отключить это, когда я больше забочусь о головах людей в углах, чем о прямых линиях?»…
Вы говорите о подушкообразной дисторсии, но нам ее не показываете. Какие линии должны быть прямыми?

Ответы (5)

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

каждый объектив создает круглое изображение... а затем ваш сенсор обрезает то, что необходимо. но вы правы, это конкретное "искажение" на самом деле не является искажением, так выглядит правильная прямолинейная проекция с широким полем зрения. лучшим доказательством является то, что прямые линии не кривые. в софте править нечего! если вам не нравится этот эффект, вы всегда можете обрезать середину, чтобы она выглядела более «естественной».
Каждая линза создает круг изображения, но это не совсем то же самое, что круглое изображение. Возможно, я должен был сказать сферический вместо этого.
сферическое изображение? это тоже нехорошее слово, изображение всегда плоское, поэтому в лучшем случае оно может быть круглым. проекции прямолинейного объектива и объектива «рыбий глаз» различаются, но если говорить об изображении и его форме, то разницы нет вообще. для некоторых рыбий глаз круг изображения (или круглое изображение, создаваемое объективом, в этом контексте то же самое) меньше диагонали сенсора, потому что мы не собираемся кадрировать изображение, нам нравится максимально широкое поле. вы можете сделать то же самое с обычным прямолинейным объективом и получить круглое изображение, окруженное чернотой, хотя это не имеет смысла ;-)
о, и когда вам нужно неискаженное широкоугольное изображение, используйте (полу)сферический датчик изображения! тогда ваш рыбий глаз мог бы проецировать на него абсолютно идеальное изображение... абсолютно идеальное, пока кто-нибудь не отобразит его на несферическом экране :-P
Это своего рода смысл предпоследнего предложения в ответе. Вам нужно спроецировать изображение на часть сферы, а не на плоскую плоскость, чтобы оно не было искажено.

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

В самом деле, допустим идеализированную совершенную линзу. Имеется одна фокусная точка (расстояние от этой точки до сенсора и есть фокусное расстояние). Теперь для любой точки объекта, который вы фотографируете, просто рассмотрите линию, проходящую через эту точку и фокальную точку. Эта линия будет пересекать (плоскость, содержащую) датчик в одной точке, эта точка будет соответствующей точкой на изображении. Теперь представьте себе где-нибудь мяч. Линия от визуальной границы мяча до фокальной точки — это линия, проходящая через фокальную точку по касательной к мячу. Все эти линии вместе образуют конус. Пересечение этого конуса с датчиком будет эллипсом. Это будет только круг, если мяч находится точно в центре изображения. Чем дальше от центра изображения шар, тем меньше он похож на круг. Просто представьте, что вы смотрите на конус с позиции мяча, датчик будет находиться под углом к ​​линии от вас через точку фокусировки. Взгляните на изображения дляконические сечения .

То, что вы описываете, является фундаментальным явлением.


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

Оптическое поведение вашего объектива называется прямолинейным отображением и рассматривается как эталон оптического поведения: все линии сохраняют свою прямолинейность на окончательной фотографии:

В геометрической оптике дисторсия — это отклонение от прямолинейной проекции, при которой прямые линии сцены остаются прямыми на изображении. Это форма оптической аберрации. https://en.wikipedia.org/wiki/Distortion_(оптика)

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

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

Например, некадрированное изображение, снятое с помощью 21,5-мм 135-эквивалентного прямолинейного объектива, воспроизводит угол обзора 90 градусов по диагонали (фокусное расстояние составляет половину диагонали 135 кадров). Если вы посмотрите на это изображение с расстояния, равного половине диагонали изображения, с одним закрытым глазом, вы не увидите никаких отклонений от того, что вы могли бы видеть вживую с одним закрытым глазом (за исключением ограничений монитора). Если вы используете этот трюк, зная эквивалентное фокусное расстояние вашего объектива, вы можете увидеть круглый шар (или вы можете приблизиться к ЖК-дисплею, пока шар не станет круглым). Это было бы почти невозможно для изображений, сделанных со слишком широкими объективами, потому что монитор не будет показывать вам хорошее изображение (либо слишком темное, либо что-то еще хуже, если оно слишком старое) под таким углом зрения (рассмотрите углы, которые просматриваются под самым большим углом в этом кейс).

Это единственный способ просмотра изображений без каких-либо геометрических несоответствий, а объектив «рыбий глаз» (он же объектив с сильным бочкообразным искажением) даже не позволит вам использовать этот трюк без соответствующего изогнутого монитора.

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

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

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

Перекошенная фотография мяча, сфотографированная под «правильным» углом

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

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

Диаграмма

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

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


Я кратко опишу, как эти два явления взаимодействуют с объектами, пытаясь угадать общее для меня и вас.

  • Первое фото: вы смотрите на изображение с неправильного расстояния, и именно это делает мяч эллиптическим.

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

    диаграмма

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

    схема полки

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

  • Изображение стены : то же, что и с изображением полок, нижняя часть стены находится дальше от плоскости зрачка и т. д.

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

Вывод

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

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

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

И, как отмечает @Chris в комментариях: «Более того, искажение может не быть проблемой, например, для большинства пейзажных снимков. Поэтому, в сочетании с техническими недостатками, коррекция объектива в такой степени является творческим выбором и должна решаться фотограф."

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

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

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

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