Архіви Портретна обробка - Цікаве, неймовірне і корисне для допитливого
У тілі статті міститися зменшені в два з половиною рази прев'юшки.
повнорозмірний psd можна завантажити окремо.
Все почалося в 1822 році, коли французький математик і фізик Жан Батист Жозеф Фур'є опублікував свою роботу «Аналітична теорія тепла», в якій для розрахунків використовував уявлення функцій тригонометричними рядами. Розкладання Фур'є виявилося дуже зручним і гнучким інструментом. У 19 столітті ці ідеї активно розвивалися математиками, а в 20 були взяті на озброєння радіотехніки. Пряме (що дозволяє розкласти сигнал у частотний спектр) і зворотне (що дозволяє встановити сигнал з його часттного спектра) перетворення Фур'є стали наріжним каменем обробки сигналів.
Цифрова техніка породила необхідність цифрової обробки сигналів, а комп'ютери надали для цього найширші можливості. І тут активно використовується перетворення Фур'є. На ньому побудовано багато алгоритми стиснення інформації (в тому числі JPG і MPEG), системи шумозаглушення і багато іншого. Природно, така обробка не обійшла стороною і цифрові зображення. Цей метод давно відомий в середовищі професссіональних ретушерів і на заході його назва крутиться навколо слова «вейвлет» (wavelet). Хоча реально в його основі лежить більш просте перетворення Фур'є, тому я називаю це частотним розкладанням.
У маси дана методика просунулася не сильно. Сумніваюся, що тут наявний «змова професіоналів», які приховують від публіки «секретні прийоми». Швидше за все, фахівцям було просто лінь писати статті, а «широким масам» цілком вистачало портретури (як співзвучно з політурою, і результати схожі). Особисто я «відкрив Америку через кватирку», коли півтора роки тому розбирався з режимами накладання та знайшов статтю Олександра Міловського «Муар нам тільки сниться» . Розібрався з частотним розкладанням самостійно і тільки потім дізнався, що його давно і щільно використовують багато фахівців. Нічого дивного - все було придумано до нас.
Фур'є туди-назад або аналогія зі звуком.
Людям, які не знайомі з обробкою сигналів, найпростіше буде зрозуміти сенс даного методу за аналогією з обробкою звуку, яка відбувається практично у всіх сучасних системах відтворення. Я січтает, що розумніше один раз зрозуміти принцип, ніж багато разів переписувати з книжок «чудо-значення» незрозумілих налаштувань. Але, якщо ви вже знайомі з обробкою сигналів або вам просто не цікаво в цьому розбиратися, переходите до наступного розділу.
«Фур'є туди-назад» - це жаргонне студентське назву стандартного методу обробки сигналів: пряме перетворення Фур'є розкладає вхідний сигнал (наприклад, на вході в підсилювач) в спектр - отриманий спектр змінюється відповідно до характеристики приладу (наприклад, посилюються низькі частоти) - зворотне перетворення Фур'є дозволяє отримати з нового спектра вихідний сигнал (в нашому прикладі баси будуть звучати голосніше). Принадність такого методу в тому, що можна змінювати різні частоти окремо, не залежно один від одного. Найпростіше зміна - посилення або ослаблення. Ті, хто застав стару техніку, пам'ятають на підсилювачах ручки «НЧ» і «ВЧ». Це і є підсилювачі низької і високої частоти. Ці регулювання не зачіпали середні частоти, але дозволяли окремо посилити або послабити низькі і високі. У сучасній техніці спектр ділиться на більшу кількість частотних смуг. Роздільне управління кожної з них забезпечує еквалайзер. Програвач iTunes, наприклад, має десятисмуговий еквалайзер.
Але нам не потрібно такого детального поділу. Давайте повернемося до трьох смугах і розберемося, який внесок вносять в мелодію лежать в них звуки.
Низькі частоти, вони ж баси. Вони задають загальний ритм, або, можна сказати, загальну форму мелодії. У цьому легко переконатися повністю відключивши всі колонки і послухавши тільки сабвуфер. Ви відразу уловите основний ритм, хоча можете навіть не зрозуміти, що це за пісня. Таким чином:
Низькі частоти несуть інформацію про загальну форму.
У середніх частотах лежить голос людини і основні звуки більшості музичних інструментів. Це основна, найбільш інформативна і деталізована частина звуку. Мобільні телефони відтворюють тільки середні частоти, що зовсім не заважає нам слухати співрозмовника або насолоджуватися (а частіше зовсім навпаки) всілякими рингтонами. Іншими словами:
У середніх частотах знаходиться основна деталізація.
У високих частотах знаходяться найбільш різкі звуки (наприклад, звук тарілок барабанної установки). Там же знаходиться частина високих гармонік інших інструментів. З відключенням високих частот звук стає більш плавним, позбавляється різкості. Тобто:
Високі частоти додають різкість.
А тепер давайте відкинемо попередні пояснення, залишимо тільки короткі висновки і представимо що мова йде про зображення. З точки зору математики і обробки сигналу різниці між звуком і зображенням практично немає: звук - це одновимірний (залежність акустичного тиску або напруги на клемах підсилювача від часу) неперіодичний сигнал, а картинка - це двовимірний (залежність яскравості від горизонтальної та вертикальної координати) неперіодичний сигнал . Для RGB зображення таких Сигалов буде відразу три: яскравість в каналах Red, Green і Blue. Отже, в зображенні:
Низькі частоти несуть інформацію про загальну форму.
У середніх частотах знаходиться основна деталізація.
Високі частоти додають різкість.
Якщо ми зможемо рознести різні частоти зображення на різні верстви, то отримаємо наступне.
На першому шарі (НЧ) - найбільші деталі, загальний розподіл яскравості і кольору, тобто форму об'єкта.
На другому шарі (СЧ) - середня і дрібна деталізація, яка ховається за виразом «локальний контраст» і для знятих крупним планом об'єктів є фактурою поверхні.
На третьому шарі (ВЧ) - понад-дрібну деталізацію, про яку часто говорять «мікроконтраст» і яка відповідає за різкість.
Треба відразу зазначити, що граничні переходи є над-дрібними деталями, навіть якщо це кордону досить великих елементів зображення. До речі, якщо ви ще не здогадалися, класичне підвищення різкості фільтром Unsharp Mask - це просто сильне посилення верхніх частот, а підвищення різкості методом HiRaLoAm (High Radius Low Amount) - це слабке посилення середніх і верхніх частот.
Як це зробити в графічному редакторі.
«На повному автоматі» це можна реалізувати за допомогою плагінів. Для GIMP'а існує Wavelet decompose , Для користувачів ImageMagick є досить докладний опис (з кодом) , Що працюють в Photosop можуть використовувати 2D Fast Fourier Transform plugin for Adobe Photoshop або пошукати в інтернеті за словами «wavelet» або «FFT». Я не люблю плагіни (на те є свої причини, але це виходить за рамки даної статті), тому ми все виконаємо стандартними засобами Photoshop.
Візьмемо найпростіший випадок, поділ на дві складові. Завдання розпадається на дві: по-перше, розділити картинку на частотні складові; по-друге, скласти ці частотні складові назад в картинку. Для вирішення першої нам будуть потрібні фільтри нижніх і верхніх частот. Фільтр НЧ залишає тільки частоти нижче певної. Природно, частоти не обрізаються різко. Просто починаючи з якогось значення вони плавно послаблюються. Фільтр верхніх частот за таким же принципом залишає тільки частоти вище певної. Ці фільтра повинні взаємно доповнювати один одного. Тобто, після ВЧ-фільтрації ми повинні побачити різницю між вихідною картинкою і її НЧ-складової. В іншому випадку ми не зможемо скласти зображення назад.
Фільтром нижніх частот в фотошопі є Gaussian Blur. Чим більший радіус ми задаємо, тим нижче частоти, які він залишає. Додатковим до нього фільтром верхніх частот є High Pass (до речі, англійський термін high-pass filter так і перекладається «фільтр верхніх частот»). Таким чином, після застосування до копії вихідної картинки Gaussian Blur ми отримаємо її низькочастотну складову. А після застосування до копії вихідної картинки High Pass з тим же значенням Radius - високочастотну, тобто різницю між вихідною картинкою і її розмитою копією. Ця різниця дорівнює відхиленню яскравості від середньо-сірого (тон 128).
З яких міркувань вибирається Radius. Розповідати про картинку в термінах «частоти» не дуже зручно, тому перейдемо до термінів «розміри». Зниження частоти відповідає збільшенню довжини хвилі, а для картинки це означає збільшення розміру елементів. Чим більше значення Radius, тим більший розмір повинен мати елемент зображення щоб залишитися на розмитою копії, тим більше деталей буде зникати з неї, залишаючи тільки «чисту» форму об'єкта. Таким чином, при використанні Gaussian Blur ми зацікавлені в якомога більшому значенні Radius.
З іншого боку, чим більше значення Radius, тим більший розмір можуть мати елементи пропущені фільтром High Pass, тим більше інформації про форму пройде в шар на якому ми збиралися залишити тільки деталізацію. Таким чином, при використанні High Pass ми зацікавлені в якомога меншому значенні Radius. Оскільки за умовами задачі це значення для Gaussian Blur і High Pass має бути однаковим, виходячи з конкретної картинки і стоїть завдання вибирається якийсь компромісний варіант.
Всю роботу можна проводити в одному файлі, а фільтри застосовувати до копій шару з вихідним зображенням. Щоб полегшити підбір значення Radius, я попередньо перетворюю ці копії в смарт-об'єкти (Convert to Smart Objects). Таким чином фільтри застосовуються до них як смарт-фільтри і допускають зміна налаштувань в будь-який момент. На ілюстрації наведено зовнішній вигляд фотографії та палітри Layers для вихідної картинки, її НЧ-складової (шар Low) і ВЧ-складової (шар High). Значення параметра Radius для обох фільтрів дорівнює 10.
Тепер друга половина завдання: скласти отримані НЧ і ВЧ складові в єдину картинку. Для цього треба яскравість кожної точки розмитою копії (НЧ-складової) змінити рівно настільки, наскільки яскравість ВЧ-складової відрізняється від середньої (тон 128). Ми могли б скористатися режимом накладення Linear Light, але його алгоритм трохи інший: яскравість кожної точки нижнього шару змінюється на величину в два рази більшу, ніж відміну яскравості верхнього шару від середньої (тон 128). Висловлюючись математично: R = S + 2 (C - 128), де S - вихідна яскравість, C - накладається яскравість, R - результуюча яскравість. Щоб компенсувати закладене в Linear Light дворазове посилення треба перед складанням в два рази знизити контраст ВЧ-шару, залишивши незмінною середню яскравість. Це можна зробити створивши поверх нього шар, що коректує кривих, в якому чорна точка зрушена вгору до значення 64, а біла вниз до значення 192.
Тепер коригувальний і ВЧ шари можна об'єднати в групу і присвоїти цій групі режим накладення Linear Light. Готово, перед вами вихідна картинка. Якщо ви хочете мінімізувати сумарну помилку округлення (це має сенс при розкладанні на більшу кількість складових), працюйте в 16-бітному режимі. Але при розкладанні на дві складові вона настільки мала, що 8-бітові вихідні можна не перекладати в 16 біт.
Кілька додаткових зауважень. Вони не впливають на описаний вище алгоритм, тому, якщо вам не хочеться перевантажувати мозок, можете сміливо переходить до наступного розділу.
Зауваження перше. Олександр Міловський запропонував для зниження контрасту ВЧ-шару використовувати Brightness / Contrast з установкою Contrast = -50%. Якщо ви вирішите вчинити так само, не забудьте поставити галочку Use Legacy. З часу написання статті алгоритм роботи Brightness / Contrast був змінений і ця галочка змушує його працювати по старому алгоритму. Наочно це можна побачити на зображенні до питання номер 3 в моїх «Відповідях на питання» .
Зауваження друге. На форумі сайту www.modelmayhem.com є пост з милою назвою «HighPass курить взатяг (+ рішення)» , В якій стверджується, що High Pass дає не акуратний результат і пропонується наступна методика:
1. Зробити дві копії шару з вихідним зображенням
2. застосувати до нижньої Gaussian Blur з бажаним радіусом
3. до верхнього шару застосувати команду Apply Image, вибравши в якості накладається зображення розмитий шар, режим накладення - Subtract, в поле Offset ввести 128, в поле Scale ввести 2.
4. насолоджуватися результатом, який «не курить взатяг».
Хай вибачить мені автор цього повідомлення, але я це вважаю маренням. Описана методика з коефіцієнтом Scale 1 повністю повторює алгоритм дії фільтра HighPass, а коефіцієнт Scale 2 просто в два рази знижує контраст (ми це робили кривими). Таким чином шаманські танці з бубном позбавляються будь-якого сенсу. Я спробував розкласти і скласти картинку різними методами і отримав абсолютно однакові результати. Крім того, відразу знижений контраст ВЧ-шару зіпсує нам життя під час ретуші. Те ж саме відноситься і до другого запропонованого автором алгоритму. Охочих посперечатися прошу в коменти. UPD: як з'ясувалося, проблеми у High Pass все-таки є, подробиці у другій частині статті.
Зауваження третє. Іноді замість кривих для компенсації внесеного Linear Light посилення пропонують зменшити непрозорість ВЧ-шару до 50%. В окремих випадках така заміна може бути рівнозначна, але в загальному - немає. В областях світлих деталей на світлому фоні (або темних деталей на темному тлі) після неослабленим Linear Light накладення може початися постеризація і зменшення непрозорості від неї не врятує.
Навіщо було городити город?
Відповідь на це питання очевидна: якщо ми розклали зображення на складові, то тепер можемо правити кожну з них окремо.
Для ретуші форми найзручніше застосовувати штамп з зменшеною непрозорістю. Це дозволяє плавно згладити світло-тіньової малюнок. Але при ретуші особи нас утримує від цього фактура шкіри: вона починає замилюватися і особа перетворюється в латексну маску. Частотне розкладання вирішило цю проблему. На НЧ-шарі залишилася тільки форма, вся фактура шкіри пішла на ВЧ-шар. Тому можна абсолютно спокійно працювати напівпрозорим штампом, пензликом і навіть пальцем (Smudge Tool). Можна згладити форму. Таким чином легко прибрати нерівномірність макіяжу, огріхи постановки світла, зменшити глибину зморшок, прибрати запалення (на ілюстрації я прибрав почервоніння з подряпини на лобі, зберігши її). На окремих ділянках можна не просто згладити, але і перемалювати світло-тіньової малюнок (так прибираються мішки під очима). Пальцем можна протягнути, плавно подовжити вже наявні тіні.
Я робив ретуш на новому прозорому шарі, включивши для штампа режим Sample: Current & Below. На зображенні нижче зеленим кольором відзначені відредаговані на НЧ-шарі області (це спеціально зроблене превью, при ретуші такої картинки не буде). Далі наведено зовнішній вигляд шару ретуші на прозорому і білому тлі.
З ретушшю текстури непогано справляється Healing Brush, але при роботі з цілісного зображення у неї не дуже добре виходить узгодити яскравості вихідної і ретушіруемой областей. В результаті на зображенні залишаються неприємні плями. При роботі по ВЧ-шару ця проблема знімається. Зверніть увагу на великий старий шрам на лобі справа. Я брав зразки для ретуші як зліва (де лоб пристойно світліше), так і праворуч (де лоб набагато темніше) від нього. Але все відмінності по яскравості і кольору залишилися на нижньому НЧ-шарі, тому умови роботи для Healing Brush були просто тепличними.
Як і в попередньому випадку ретуш робилася на новому порожньому шарі з налаштуванням інструмента Sample: Current & Below. Перед ретушшю треба перемкнути ВЧ-групу в режим накладення Normal (або Pass Trough) і відключити шар кривих понижуючий контраст. Контрастніша картинка дозволяє легше орієнтуватися і працювати більш акуратно. На зображенні нижче зеленим кольором відзначені відредаговані на ВЧ-шарі області. Далі наведено зовнішній вигляд шару ретуші на прозорому і білому тлі.
Так як це технічна ілюстрація, «глянсове» вилизування не проводилося (я взагалі не прихильник полірування всіх осіб під одну обкладинку). Як зразок виправлені кілька характерних дефектів. Щоб розгледіти всі тонкощі треба дивитися повнорозмірний файл. Для тих хто не може (або не хоче) качати великий psd нижче наведені зменшені в два з половиною рази картинки «До-Після». Якщо різниця не помітна, можна зірвати їх до себе на комп'ютер, накласти двома шарами один на одного і моргнути.
UPD: Для тих, хто в танку. Мені все одно скільки на ваш погляд прищиків я не дочистив. Це демонстрація методики. Хто хоче замість навчання милуватися чужими результатами, може пошукати собі інші статті.
до:
після:
У найкритичніших випадках можна просто пересадити шкіру з однієї особи на іншу. Мені одного разу довелося ретушувати фотографію дівчини у якої велика пасмо волосся розметав по всьому обличчю. Завдання було проста: все волосся з обличчя прибрати, зробити як живу. Після витирання волосся обличчя перетворилося в латексну маску (практично чиста НЧ-складова). Виручила пара її ж фотографій з схожим ракурсом. З «донорів» взята ВЧ-складова і декількома шматками пересаджена на оброблюваний знімок. При цій операції не обов'язково використовувати фото однієї і тієї ж моделі (я взяв ці фото просто тому що вони були під рукою). Можна пересаджувати шкіру з будь-якої особи на будь-який.
Розкладання на більшу кількість складових.
Немає сенсу змагатися з шумодава (а деякі з них працюють саме за таким принципом) і розкладати картинку на дуже велику кількість складових. Але в деяких випадках розкласти картинку на три складові є розумним.
Розкладання на три складових може стати в нагоді при боротьбі з дефектами однорідного розміру. Наприклад, з веснянками. На НЧ-шарі для фільтра Gaussian Blur треба виставити мінімальне значення параметра Radius при якому веснянки вже зникають. На ВЧ-шарі для фільтра High Pass треба виставити максимальне значення параметра Radius при якому веснянки ще не з'являються.
Середньо-частотний шар розташовується посередині. Це копія вихідного зображення до якої застосовані фільтр High Pass зі значенням радіусу як у Gaussian Blur НЧ-шару, а потім Gaussian Blur зі значенням радіусу як у High Pass ВЧ-шару. Потім до нього застосовується коригувальний шар кривих понижуючий контраст і всієї групі присвоюється режим накладення Linear Light. Фінальна структура шарів зображена на малюнку внизу.
Таким чином веснянки залишаються на Седнєв шарі і легко ретушуються. В областях де вони розташовані дуже купчасто може знадобитися так само невелика корекція НЧ-шару.
Спрощений метод застосування.
В його основі лежить віднімання і він підійде тільки для згладжування форми особи ( «вбивства обсягу»).
До копії вихідного зображення застосуєте Gaussian Blur з таким значенням Radius, щоб з картинки пішла вся цікава для вас деталізація. Після цього застосуєте High Pass з таким значенням Radius, щоб на зображенні збереглися тільки ті елементи, обсяг яких ви вважаєте зайвим (мішки під очима, вилиці, глибокі зморшки, складки шкіри і т.п.). Інвертуйте результат (якщо ви працює зі смарт-об'єктом, інвертуйте картинку всередині нього) і змініть режим накладання на Linear Light (в цьому випадку навіть не потрібно застосовувати понижуючі контраст криві). Замаскуйте весь шар (Add Layer Mask Hide All) і напівпрозорої м'якої пензлем білим кольором прорисуйте по масці ті ділянки, які хочете згладити.
Орієнтири і перспективні напрямки.
Я не люблю наводити конкретні настройки інструментів, так як кожна картинка вимагає своїх значень. Але в якості загального орієнтиру можу дати вам приблизні значення Radius при яких на ВЧ-шар йдуть відповідні елементи (для грудного портрета 12-25 мегапікселів).
Radius 1-2 - дрібна фактура шкіри
Radius 4-5 - повна фактура шкіри за винятком глибоких зморшок і подібних дефектів
Radius 10-12 - повна фактура шкіри з великими дефектами
Radius 25-30 - практично всі локальні відблиски і тіні (мішки під очима, носогубні складки, другий і інші підборіддя і т.п.)
Крім явних і неодноразово описаних ідей (наприклад, можливість змінити глобальний контраст, зберігаючи локальний), я бачу ще кілька шляхів розвитку даного методу обробки. Я сам навряд чи зможу зайнятися цим найближчим часом, якщо хочете, можете поекспериментувати в цьому напрямку самостійно. Буде цікаво дізнатися результати
1. Макіяж. Частотне розкладання дозволяє легко боротися з огріхами роботи візажиста. Але крайній випадок такого дефекту - це повна відсутність макіяжу. Можна спробувати накласти його, працюючи по НЧ-складової. Можливо, що доведеться якось допрацьовувати і ВЧ. Конкретні методи краще розробляти маючи в якості зразка фото з макіяжем (бажано при тому ж світлі, в тому ж ракурсі і з тією ж моделлю).
2. Швидке і м'яке приглушення фактури шкіри при збереженні інших деталей без махання пензликом по масці. Працюючи на ВЧ-шарі використовувати містять мало фактури шкіри, але досить багато інших деталей, червоний (RGB) і чорний (CMYK) канали для змішування і накладення всередині ВЧ-групи.
3. Поголити чоловіка. Не треба великого розуму, щоб пересадити шкіру з голеного підборіддя. А ось акуратно «збрити» одно-двох денну щетину не вдаючись до допомоги «донорів» завдання цікава. Можливі варіанти вирішення - комбінація двох попередніх прикладів.
В кінці хочу нагадати. Дана методіка- це не спосіб ретуші шкіри і навіть не прийом портретної ретуші. Вона універсальна і підходить для будь-яких зображень, коли вам необхідно окремо правити деталі різних розмірів.
Автор: zhur74
Навіщо було городити город?