i_eron (i_eron) wrote,
i_eron
i_eron

Логика в спину

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

В реальности пиксели в фотоаппарате мерят не совсем тот сигнал, который бы точно изображал реальность. Философ бы, может, объяснил, что пиксели - это реальные объекты в кусочке кремния по ту сторону линзы, а мы от них хотим, чтоб они служили идеальными символами реальных объектов, которые по эту. Реальность картинки против реальности пикселей. Ну вроде как хотеть красивых идеальных рядов на военном параде, хотя у вон того солдатика, может, четверо детей, а у этого, допустим, тёща болеет. Этот пример, наверное, выдаёт, что я не философ. Физик не будет говорить про символы, он назовёт отклонение реального сигнала в пикселе от желаемого "шумом" и будет искать физические причины этого шума. И, извините, характеризовать их (это значит - мерить, проверять, от чего и как они зависят, выколупывать физику у них изнутри, их характер). А инженер будет их чинить.

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

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

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

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

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

Поэтому чинить шумы можно двумя способами. Один - уменьшать или устранять физическую причину каждого шума, делать пиксели лучше. Мы очень стараемся, но выходит только постепенно. Другой - прятать результат шума, делать алгоритмы лучше. Это тоже непросто - ведь шум непостоянный, он от чего-то зависит, нельзя грубо всё взять и поделить, надо думать и приспосабливаться (для этого "логике" и нужна логика). Естественно, дигитальщики требуют от нас лучших пикселей - иногда агрессивно, а иногда жалуясь, что у них логика слабая. А мы, если сами не можем, то сообщаем им, что у нас от чего зависит, и требуем починить - ведь если мы их логике ложечкой скормили "вход", то "выход" должен быть отличный, иначе с этой логикой проблемы, пусть тогда на пиксели не жалуются.

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

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

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

Они посчитали, что если они всё-таки включат алгоритм, который будет чинить наши пиксели, то их кремниевый мозг в чипе станет работать интенсивнее, отчего он будет больше нагреваться и нагревать соседний с ним глаз. А пиксели от этого дополнительного нагрева добавят шума больше, чем алгоритм починит. Для нас это как удар в спину - ведь тот шум, который от нагрева увеличится, это совсем другой шум, чем тот, который мы хотели починить. Их физические причины из совершенно разных областей, ну никак не связанные между собой. А теперь оказывается, что связанные - через починку! Философ бы сказал, что мир символов, хоть и находится вне реального мира, всё-таки влияет на него, согревает (философ, заткнись!). А я скажу, что это как человек, который мучается с похмелья головой, лёжа на диване. Голос разума у него в голове настаивает - встань, попей воды. А он отвечает - если я поднатужусь и встану, голова только больше заболит. И ведь он прав. Вот такая логика.



This entry was originally posted at http://i-eron.dreamwidth.org/219972.html
Tags: работа, цвет
  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 18 comments