Русский
Русский
English
Статистика
Реклама

Гамма

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

01.07.2020 10:24:00 | Автор: admin


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

Основа исследования


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

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

В частности распознавание речи связывают с комбинацией тета и гамма колебаний, поскольку она позволяет иерархически координировать кодирование фонем в слогах без предварительного знания их длительности и временного возникновения, т.е. восходящая обработка* в реальном времени.
Восходящая обработка* (bottom-up) тип обработки информации, основанный на поступлении данных из среды для формирования восприятия.
Естественное распознавание речи также сильно зависит от контекстных сигналов, которые позволяют предвидеть содержание и временную структуру речевого сигнала. Ранее проведенные исследования показали, что во время восприятия непрерывной речи важную роль играет именно механизм прогнозирования. Этот процесс связывают с бета колебаниями.

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

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

Ученые отмечают, что во многих теоретических исследованиях поддерживаются как восходящий, так и нисходящий* подходы к обработке речи.
Нисходящая обработка* (top-down) разбор системы на составляющие для получения представления о ее композиционных подсистемах способом обратной инженерии.
Разработанная ранее нейрокомпьютерная модель, включающая соединение реалистичных тета- и гамма- возбуждающих/тормозных сетей, была способна предварительно обрабатывать речь таким образом, чтобы затем ее можно было правильно декодировать.

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

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

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

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

Они разработали нейрокомпьютерную модель Precoss (от predictive coding and oscillations for speech), основанную на структуре предиктивного кодирования, в которую добавили тета- и гамма-колебательные функции, чтобы справиться с непрерывной природой естественной речи.

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

Архитектура Precoss модели


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

Разработанная модель четко отделяет чтои когда. Что относится к идентичности слога и его спектральному представлению (не временная, но упорядоченная последовательность спектральных векторов); когда относится к предсказанию времени и продолжительности слогов.

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


Изображение 1

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

  • тета-колебание;
  • блок медленной амплитудной модуляции в тета-модуле;
  • пул слоговых единиц (столько слогов, сколько присутствует в естественном вводном предложении, т.е. от 4 до 25);
  • банк из восьми гамма-единиц в спектротемпоральном модуле.

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

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

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


Изображение 2

Производительность модели зависит от того, совпадает ли гамма-последовательность с началом слога, и соответствует ли ее длительность продолжительности слога (50600 мс, среднее = 182 мс).

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

Результаты моделирования


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

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


Изображение 3

Для оценки релевантности синхронизации слогов на основе медленной амплитудной модуляции было проведено сравнение модели А с вариантом В, в котором тета-активность не моделируется колебаниями, а возникает из самоповторения гамма-последовательности.

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

Чтобы более точно оценить специфические эффекты тета-гаммы соединения и сброса накопленных данных в слоговых единицах, были сделаны дополнительные варианты предыдущих моделей A и B.

Варианты C и D отличались отсутствием предпочтительной скорости гамма-излучения. Варианты E и F дополнительно отличались от вариантов C и D отсутствием сброса накопленных данных о слогах.

Из всех вариантов модели только A имеет истинную тета-гамма связь, где гамма-активность определяется тета-модулем, тогда как в В модели гамма-скорость устанавливается эндогенно.

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

Между вариантами присутствовали значительные отличия. По сравнению с моделями A и B, производительность была значительно ниже в моделях E и F (в среднем на 23%) и C и D (на 15%). Это указывает на то, что стирание накопленных данных о предыдущем слоге перед обработкой нового слога является критически важным фактором кодирования слогового потока в естественной речи.

Сравнение вариантов A и B с вариантами C и D показало, что тета-гамма связь, будь то стимульная (A) или эндогенная (B), значительно улучшает производительность модели (в среднем на 8.6%).

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

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

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

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

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


Изображение 4

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

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

Способность модели точно распознавать слоги во входном предложении не учитывает переменную сложность различных сравниваемых моделей. Потому была проведена оценка байесовского информационного критерия (BIC) для каждой модели. Данный критерий количественно определяет компромисс между точностью и сложностью модели (изображение 5).


Изображение 5

Вариант А показал самые высокие значения BIC. Ранее проведенное сравнение моделей А и В не могло точно различить их производительность. Однако благодаря критерию BIC стало очевидно, что вариант A обеспечивает более уверенное распознавание слогов, чем модель без тета-колебаний, управляемых стимулом (модель В).

Для более детального ознакомления с нюансами исследования рекомендую заглянуть в доклад ученых и дополнительные материалы к нему.

Эпилог


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

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

Во время практических испытаний удалось успешно расшифровать 2888 слогов (220 предложений естественной речи, использовался английский язык).

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

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

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

Немного рекламы


Спасибо, что остаётесь с нами. Вам нравятся наши статьи? Хотите видеть больше интересных материалов? Поддержите нас, оформив заказ или порекомендовав знакомым, облачные VPS для разработчиков от $4.99, уникальный аналог entry-level серверов, который был придуман нами для Вас: Вся правда о VPS (KVM) E5-2697 v3 (6 Cores) 10GB DDR4 480GB SSD 1Gbps от $19 или как правильно делить сервер? (доступны варианты с RAID1 и RAID10, до 24 ядер и до 40GB DDR4).

Dell R730xd в 2 раза дешевле в дата-центре Equinix Tier IV в Амстердаме? Только у нас 2 х Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 ТВ от $199 в Нидерландах! Dell R420 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB от $99! Читайте о том Как построить инфраструктуру корп. класса c применением серверов Dell R730xd Е5-2650 v4 стоимостью 9000 евро за копейки?
Подробнее..

Радиация детекторы. Часть первая, газоразрядная

02.02.2021 16:10:30 | Автор: admin

Недавняя статья про опарафиненный детектор нейтронов побудила меня поднять старую тему и написать еще парочку статей на тему радиации. А именно -- про детекторы ионизирующих излучений.

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

Ионизация и ионизационная камера

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

Ионизационная камера в принципе проста. Это просто объем, заполненный каким-нибудь газом при каком-нибудь давлении, в который помещены какие-нибудь два электрода. Один электрод находится под положительным потенциалом и собирает отрицательные ионы, другой -- наоборот. Заряд, прошедший через камеру, пропорционален дозе, а ток -- мощности дозы. Геометрия ионизационной камеры (рис. 1), то есть форма ее электродов и их взаимное расположение могут быть различными, но обычно это или плоская (две пластины с зазором между ними), или коаксиальная (один электрод представляет собой трубу, а другой -- цилиндр или проволока, помещенная внутри первого электрода соосно с ним). Заполнена камера может быть самыми различными газами в зависимости от поставленной задачи. Это может быть воздух при атмосферном давлении, если нужно измерять экспозиционную дозу, тяжелые газы, если нужно повысить чувствительность к высоким энергиям, трехфтористый бор или гелий-3, когда стоит задача детектирования нейтронных потоков (бор-10 и гелий-3 легко вступают в реакции с нейтронами, продукты которых вызывают ионизацию). Давление газа тоже выбирают исходя из условий эксперимента: его увеличение способствует повышению эффективности поглощения излучения, но с его ростом снижается вероятность того, что ионы не завязнут в газе и не рекомбинируют по пути, а дойдут до электродов.

Рис.1. Плоская и коаксиальная ионизационные камеры.

Ток, проходящий через ионизационную камеру, очень мал. Допустим, мощность экспозиционной дозы равна 1 Р/ч. Это много. Но по определению единицы рентгена за час будет рождаться лишь 2,082109 пар ионов. каждая из которых заберет электрон с катода и отдаст на анод, если камера будет достаточно велика, чтобы воздух поглотил все излучение. То есть ток в цепи будет составлять 9,310-14 А! А при уровнях, соответствующих естественному радиационному фону этот ток будет ниже еще в сто тысяч раз.

Существуют два способа измерить такой ток. Первый -- это зарядить ионизационную камеру и отключить от нее все, кроме чувствительного электрометра с бесконечным входным сопротивлением. Измерив скорость падения напряжения (или перепад напряжения до и после облучения) и зная суммарную емкость ионизационной камеры и электрометра, можно определить дозу или ее мощность. Такую аппаратуру использовали Беккерель и супруги Кюри, и так устроены карманные дозиметры-накопители карандашного типа. Однако чаще нужно знать интенсивность излучения, поэтому поступают по-другому: включают в цепь ионизационной камеры очень высокоомное сопротивление, типичное сопротивление которого выбирают около 100 ГОм. Тогда падение напряжения на этом резисторе при мощности дозы 1 Р/ч составит 9,3 мВ и это значение вполне можно измерить. Правда, чтобы это удалось, входное сопротивление вольтметра должно измеряться тераомами! Раньше основой такого вольтметра почти всегда являлась специальная электрометрическая лампа со всеми вытекающими чудесами типа анодного напряжения в несколько вольт. Смысл последнего -- в том, чтобы не происходила ионизация остаточных газов

Рис. 2. Включение электрометрической лампы (из кн.: Шумиловский Н.Н., Стаховский Р.И. Масс-спектральные методы. М.: Энергия. 1966.)

Лучшие электрометрические лампы могут иметь входные (сеточные) токи на уровне 0,1 фА, что эквивалентно мощности дозы ~1,2 мР/ч и, не требуя для питания высоких напряжений и большого тока накала, хорошо вписываются в полупроводниковую электронику. Однако они очень чувствительны к внешним воздействиям и не особо долговечны. Альтернативой им является применение специальных полевых транзисторов с ультрамалыми утечками затвора (в отечественной практике для этого чаще всего брали отобранные экземпляры КП304А). Современная элементная база для измерения фемтоамперных токов -- это специальные операционные усилители, такие, как ADA4530-1. Всего за 15 американских долларов мы легко и непринужденно получаем входной ток около 1 фА. Такие ОУ обычно включают в схеме трансимпедансного усилителя, то есть огромное сопротивление R включают в цепь обратной связи (рис.3)

йй

Чтобы входной ток на уровне 1 фА был реальностью, схему можно монтировать только навесным монтажом или на плате из специального диэлектрика, тщательно соблюдая рекомендации производителя. Ориентироваться при этом имеет смысл на разводку оценочной платы ADA4530-1R-EBZ-TIA со всеми ее защитными кольцами и экранами. Разумеется, усилитель лучше расположить прямо внутри корпуса-экрана ионизационной камеры.

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

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

Газовое усиление и пропорциональные счетчики

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

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

Рис. 4. ВАХ ионизационной камерыРис. 4. ВАХ ионизационной камеры

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

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

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

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

Наиболее оптимальная конструкция пропорционального счетчика, при которой размножение ионов приобретает характер управляемого процесса -- это коаксиальная конструкция, в которой анодом является тонкая (сотые доли миллиметра) проволока, натянутая по оси цилиндрического катода. В таком случае ударная ионизация молекул газа происходит лишь рядом анодом, в области большой, до 40 кВ/см, напряженности электрического поля, никогда не захватывая всего пространства между катодом и анодом. Большое пространство, в котором напряженность поля недостаточна для развития лавин и происходит только дрейф положительных ионов к катоду, предотвращает развитие "зачатков" самостоятельного разряда -- стримеров. Дополнительно их образование подавляют, вводя в газовую смесь многоатомные органические молекулы (метан, пропан и т.п.), которые являются "ловушками" для стримера, создавая на пути его головы своего рода дымовую завесу, поглощающую жесткое УФ-излучение, испускаемое ею и играющее существенную роль в распространении стримера и последующем возникновении самостоятельного разряда.

Рис. 5. Пропорциональные счетчики СРМ-19Рис. 5. Пропорциональные счетчики СРМ-19

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

Рис. 6. Амплитудный спектр импульсов пропорционального счетчика нейтронов с гелиевым заполнениемРис. 6. Амплитудный спектр импульсов пропорционального счетчика нейтронов с гелиевым заполнением

Другое распространенное применение пропорциональных счетчиков, которое скорее может встретиться в радиолюбительской практике -- это счет нейтронов. Счетчики нейтронов обычно заполняют гелием-3 с небольшой добавкой инертных газов под довольно высоким (2-4 атм) давлением, ядро которого, вступив в реакцию с медленным нейтроном, превращается в разлетающиеся в разные стороны протон и ядро трития. Суммарная их энергия составляет 764 кэВ, и они оставляют по пути пролета в газе множество ионов, давая импульсы, резко отличающиеся по амплитуде от фоновых, вызванных гамма-излучением (рис. 6, узкий пик справа, соответствующий полному поглощению частиц газом). Пропорциональные детекторы нейтронов могут также быть заполнены газообразным трифторидом бора, но чаще всего их используют в другом режиме -- в режиме постоянного коронного разряда.

Рис.7. Включение пропорционального счетчика нейтроновРис.7. Включение пропорционального счетчика нейтронов

Напряжение питания пропорциональных счетчиков обычно составляет 1000..3000 В и для целей спектрометрии должно выдерживаться с высочайшей точностью. Для нейтронных счетчиков такая точность не нужна, но все же следует учитывать, что выраженного плато такие счетчики не имеют. Амплитуда импульсов невелика, единицы милливольт. Тут очень важно подобрать оптимальное время формирования импульса. Сам импульс тока довольно короткий -- примерно 0,6 мкс. Импульс этот заряжает емкость счетчика и монтажа, а также входную емкость пересчетного устройства, формируя фронт импульса напряжения. Спад же возникает в процессе разряда этой емкости на нагрузку. Постоянную времени этого спада выбирают из следующих соображений: если она будет около 0,5 мкс, амплитуда импульсов от нейтронов окажется слишком низкой, и вместе с тем низкоамплитудные импульсы от гамма-фона будут сильнее мешать регистрации. С ростом времени формирования последние как бы размазываются и сливаются друг с другом, и импульсы от нейтронов становятся более выраженными. При слишком большом времени напротив, уже импульсы от нейтронов "размазываются". В большинстве случаев время формирования выбирают в районе 3-5 мкс.

Счетчик Гейгера-Мюллера

В счетчик Гейгера-Мюллера пропорциональный счетчик превращается, если повысить напряжение между его электродами. С ростом напряжения растет и коэффициент газового усиления. Но до бесконечности он расти не может. В какой-то момент лавина, несмотря на неоднородность поля, превращается в стример. Канал стримера является проводящей средой и в его вершине высокая напряженность поля, и растущий стример несет эту область впереди себя, пробивая себе путь. Достигнув катода, стример соединяет катод и анод проводящим ионизированным каналом и возникает самостоятельный разряд. Так единственная частица переводит детектор из непроводящего состояния в проводящее и вывести из него может только снятие напряжения на время, достаточное для рекомбинации заряженных частиц внутри счетчика. Сделать это можно, например, включив в цепь счетчика очень большое сопротивление: при возникновении разряда емкость, образованная электродами счетчика разряжается и напряжение падает вплоть до погасания разряда, а после этого емкость счетчика заряжается вновь и он снова готов к регистрации следующей частицы. Правда, мертвое время -- время, в течение которого счетчик заряжается и нечувствителен пока -- слишком велико, оно может достигать миллисекунд! Что делать? Варианта два: либо, снизив сопротивление в цепи анода до разумного, при котором мертвое время приемлемо, подключить внешнюю схему, которая, зафиксировав фронт импульса, обрывает разряд, закоротив счетчик, и, выждав несколько микросекунд до деионизации, снимает закоротку (рис. 8). Либо изобрести самогасящийся счетчик.

Рис. 8. Схема принудительного гашения разряда в счетчике Гейгера.

Как сделать счетчик самогасящимся? Помните, когда шла речь о пропорциональном счетчике, я говорил о добавке органического газа? Это работает и в счетчике Гейгера. Если внутри счетчика будет компонент, который под действием разряда сделает среду между катодом и анодом непрозрачной, разряд погаснет, так как исчезнет один из факторов его поддержания -- фотоэлектронная эмиссия из катода. Обычно в газовое наполнение счетчиков Гейгера вводят или спирт, или галогены -- бром и йод. Спирт используют в высоковольтных счетчиках, он обеспечивает поддержание обширного плато с малым наклоном, но активно расходуется при каждом импульсе, так что ресурс таких детекторов невелик -- не более нескольких десятков миллионов импульсов. Чаще встречаются галогеновые счетчики с рабочим напряжением 400-900 В. Галогены превращаются в непрозрачную среду из-за диссоциации молекул на атомы, которые немедленно воссоединяются, так что гасящая присадка в галогеновых счетчиках не расходуется. Однако из-за химической активности все же происходит постепенная ее потеря из-за реакции с электродами. Так что и у этих детекторов ресурс не бесконечен, но он составляет миллиарды импульсов.

Применение самогасящего счетчика Гейгера предельно просто. Подать +400 вольт на анод через сопротивление в несколько МОм и снимать импульсы с катода, включив между ним и землей нагрузочное сопротивление. Или с анода -- через разделительный конденсатор. Амплитуда импульсов тут не милливольты, а вольты и десятки вольт, а зависимость чувствительности счетчика от напряжения имеет хорошо выраженное плато протяженностью 80-100 В. Но увы: ни амплитуда, ни форма импульсов абсолютно не несут никакой информации ни о природе частиц, ни о их энергии. Существуют, впрочем, некоторые ухищрения. Например, если поставить один за другим два плоских (типа Pancake) счетчика, можно одновременно регистрировать бета- и гамма-излучение, разделяя их на два канала. А сделав катод счетчика из меди, а окно -- из никеля, мы получим счетчик, очень чувствительный к излучению характеристической линии CuK и почти не видящий остального рентгеновского излучения в ее окрестностях.

Рис. 9. Счетчик СИ-45ФРис. 9. Счетчик СИ-45Ф

А как вы думаете, для регистрации какого излучения предназначен вот этот счетчик Гейгера-Мюллера (рис.8)?
Это детектор ультрафиолетового излучения. Причем -- солнечно-слепой. Его чувствительность к естественному и искусственному освещению практически равна нулю. Зато пламя свечи он обнаруживает на расстоянии в 2-3 метра при засветке прямым солнечным светом. Используется в качестве датчика пламени. Кстати, он несамогасящийся (схема гашения, приведенная выше -- именно для этого счетчика).

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

Коронные счетчики

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

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

В отличие от режима Гейгера-Мюллера, в коронном режиме счетчик остается чувствительным к энергии частиц. Слабоионизирующие частицы -- гамма-кванты и выбитые ими электроны -- если и порождают импульсы тока, то они тонут в шуме короны. Только при высокой интенсивности гамма-излучения, свыше 50-1000 Р/ч, наблюдается значительное усиление этого шума и увеличение среднего тока. В большинстве практических случаев, не связанных с работой внутри активной зоны реактора, можно считать, что коронные счетчики вообще нечувствительны к гамма-излучению.

Коронные счетчики применяют обычно для детектирования альфа-частиц и нейтронов. Счетчики альфа-частиц можно сделать разборным и помещать препарат непосредственно внутрь: при рабочем давлении в 1 атм нет необходимости в вакуумной системе и достаточно промыть объем счетчика потоком смеси Пеннинга из баллончика. Тем не менее, промышленно выпускаемые счетчики (САТ-7, САТ-8, СИ-9АМ) снабжены окнами из тонкой слюды.

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

Рис. 10. Выходной сигнал коронного счетчика нейтроновРис. 10. Выходной сигнал коронного счетчика нейтронов

Включение счетчика в коронном режиме почти ничем не отличается от пропорционального, но для поддержания устойчивого коронного разряда и сопротивление в анодной цепи должно быть велико. Его следует выбирать согласно документации на счетчик: так, для относительно низковольтного СИ-9АМ оно составляет 6-8 МОм, для более высоковольтных нейтронных счетчиков, таких, как СНМ-16 -- 47 МОм. Обычно схема включения коронных счетчиков с рекомендуемыми номиналами приводится в паспорте, и ее следует придерживаться. Выходной сигнал представляет собой шум, на фоне которого наблюдаются импульсы, форма и длительность которых зависит от номиналов внешних элементов. Амплитуда этих импульсов составляет десятки милливольт, иногда до 150-200 мВ. Следует подобрать порог дискриминации таким образом, чтобы шум не попадал в счетный канал. При этом нужно учитывать, что амплитуда импульсов зависит от энергии частиц и выбор порога дискриминации -- это компромисс между эффективностью регистрации и фоном и чувствительностью к гамма-излучению.

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

Заключение

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

Подробнее..

Перевод Как создаётся изображение формата RAW?

24.08.2020 12:15:17 | Автор: admin

Рис. 1: фото на Nikon D610 с объективом AF-S 24-120mm f/4 и параметрами 24mm f/8 ISO100

Каковы базовые шаги создания изображения формата RAW на низком уровне? В данной статье я опишу, что происходит под капотом цифровой камеры, где необработанные данные превращаются в пригодное для просмотра изображение формата RAW иногда этот процесс называют рендерингом. Для демонстрации преобразования информации с изображения на каждом шаге я буду использовать приведённую в начале статьи фотографию, сделанную на Nikon D610 с объективом AF-S 24-120mm f/4 и параметрами 24mm f/8 ISO100.

Рендеринг это преобразование RAW и редактирование


Рендеринг можно разделить на два основных процесса: преобразование RAW и редактирование. Преобразование RAW необходимо для превращения необработанных данных изображения в стандартный формат, который понимают программы для редактирования и просмотра изображений, а также устройства для работы с ними. Обычно для этого используется колориметрическое цветовое пространство RGB типа Adobe или sRGB.

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

Пример чистого конвертера RAW dcraw от Дэвида Коффина. Пример чистого редактора Photoshop от Adobe. Большинство конвертеров RAW на самом деле сочетают в себе функции преобразования RAW с функциями редактора (к примеру, Capture NX, LR, C1).

7 шагов базового преобразования RAW


Граница того, где заканчивается конвертация и начинается редактирование, достаточно размыта, но, в зависимости от того, как их разделять, можно выделить всего 7 шагов в основном процессе преобразования файла RAW в стандартное колориметрическое цветовое пространство к примеру, sRGB. Шаги не обязательно должны идти в таком порядке, однако следующая последовательность довольно логична.

  1. Загрузить линейные данные из файла RAW и вычесть уровни чёрного.
  2. Провести балансировку белого.
  3. Подправить линейную яркость.
  4. Обрезать данные изображения.
  5. Восстановить исходное изображение из мозаики (дебайеризация).
  6. Применить преобразования и коррекции цветов.
  7. Применить гамму.

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

+ Отображение тона: адаптация к динамическому диапазону устройства вывода


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

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

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

1. Загрузить линейные данные из файла RAW и вычесть уровни чёрного


Первый шаг в преобразовании RAW простая загрузка данных из файла RAW в память. Поскольку форматы RAW отличаются от камеры к камере, большинство конвертеров используют вариации программ LibRaw/dcraw с открытым кодом. Следующие команды для LibRaw или dcraw перепакует RAW в линейный 16-битный TIF, который смогут прочесть приложения для обработки (Matlab, ImageJ, PS, и т.д.). Установка программы не требуется, нужно только, чтобы исполняемый файл был в переменной PATH или находился в той же директории.

unprocessed_raw -T  yourRawFile

или

dcraw -d -4 -T  yourRawFile

Если ваша фотоматрица хорошо спроектирована и находится в рамках спецификаций, записанные данные будут находиться в линейном соотношении с яркостью света, однако обычно они хранятся со смещением, зависящим от камеры и канала. Т.н. уровни чёрного имеют величины в несколько сотен или тысяч DN, и их нужно вычесть из оригинальных необработанных данных, чтобы нулевая интенсивность пикселей совпадала с нулевым количеством света. dcraw с приведённой выше командной строкой сделает это для вас (хотя и применит некие средние значения). При использовании unprocessed_raw вам нужно знать значение уровня чёрного для вашей камеры и вычесть его соответственно (или можно использовать параметр B, который, правда, в текущей версии LibRaw, похоже, не поддерживается).

Оказывается, что Nikon вычитает уровни чёрного из каждого канала перед записью в файлы D610, поэтому для нашего справочного кадра любая из команд сработает. Я загрузил её командой dcraw -d -4 T, которая также масштабирует данные до 16 бит (см. шаг 3 по коррекции яркости далее).

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


Рис 2: матрица цветного фильтра Байера: расположение RGGB.

Байеровская матрица для D610 имеет раскладку RGGB. Необработанные данные выглядят на этом этапе следующим образом, как недоэкспонированное чёрно-белое изображение:


Рис. 3: Шаг 1: линейное необработанное изображение с вычтенными уровнями чёрного. Должно выглядеть таким же ярким, как следующий рис. 4. Если нет ваш браузер неправильно обрабатывает цвета (я использую Chrome, и он, очевидно, обрабатывает их неправильно).

Если фото чёрное, то ваш браузер не знает, как показывать правильно размеченные линейные данные. Интересно, что редактор WordPress показывает изображение верно, но после публикации в Chrome оно выглядит неправильно (примечание: к 2019 году это, наконец, исправили) [статья 2016 года / прим. перев.]. Вот, как должно выглядеть это изображение:


Рис. 4: то же фото, но в виде CFA grayscale

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

Изображение выглядит как полноценное чёрно-белое из-за малого размера, но на самом деле это не так: даже на одинаково освещённых участках видна пикселизация. Это происходит из-за того, что соседние цветовые фильтры, имея разную спектральную чувствительность, собирают разную информацию о цветах. Это легко видно при увеличении изображения. Вот как выглядит участок изображения сразу под карточкой WhiBal с увеличением до 600%:


Рис 5: CFA-пикселизация видна на равномерно серой карточке (сверху) и на окрашенных листьях.

2. Данные о балансе белого


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

Поэтому следующий шаг применить баланс белого к линейным данным CFA, умножив каждый красный пиксель на 2,0493 (1/48,8%), а каждый синий на 1,3256 (1/75,4%). В терминах Adobe мы получим чёрно-белое изображение, нейтральное относительно камеры. Тогда гарантированно, за исключением шума, все пиксели покажут одинаковые линейные значения на нейтральных частях изображения.


Рис. 6: после балансировки белого пикселизация серой карточки исчезает, но на цветных объектах она ещё видна.

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

3. Корректировка линейной яркости


Большинство современных цифровых камер с заменяемыми объективами дают необработанные данные размерностью 12-14 линейных битов. Стандартная битовая глубина файлов (jpeg, TIFF, PNG) обычно задаётся в виде множителей 8, и любимой глубиной большинства редакторов сегодня являются 16 бит. Мы не можем просто взять 14-битные данные с вычтенным уровнем чёрного и сохранить их в 16 бит всё попадёт в нижние 25% линейного диапазона и будет слишком тёмным. В идеале нам нужно обрезать данные после балансировки белого и вычитания чёрного, чтобы соответствовать обрезанным данным 16-битного файла, и соответствующим образом их масштабировать (см. шаг 4). Простой способ примерного приведения данных просто умножить 14-битные данные на 4, масштабируя их до 16 бит. Именно это было сделано на шаге 1 после вычитания чёрного (dcraw -d -4 -T делает это автоматически, а с unprocessed_raw нужно будет сделать это вручную).

Говоря о масштабировании, мы можем также захотеть подправить нашу яркость. Этот шаг субъективен, и его, вероятно, не стоит делать, если вы гонитесь за честным рендером изображения, таким, какое оно получилось на матрице и записалось в файл RAW. Однако ни у кого не получается идеально выставить экспозицию, а разные камеры часто измеряют среднее серое в разных процентах от необработанных данных, поэтому полезно иметь возможность подправлять яркость. Поэтому у многих конвертеров относительные ползунки называются коррекция экспозиции или компенсация экспозиции. В Adobe есть связанная с этим метка DNG, нормализующая экспонометр для разных камер, BaselineExposure. Для D610 она равняется 0,35 шага.

На мой вкус наше изображение темновато, и карточка WhiBal, которая должна иметь 50% отражающей способности, в полном масштабе даёт всего 17%. Линейная коррекция яркости это умножение каждого пикселя в данных на константу. Если мы посчитаем, что на данном снимке не нужно сохранять самые яркие участки изображения яркостью выше 100% рассеянного белого света, то эта константа в данном примере будет равняться 50/17, примерно 1,5 шага коррекции. В данном случае я решил применить субъективно-консервативную коррекцию в +1,1 шага линейной яркости, умножив все данные в файле на 2,14, и получилось следующее:


Рис. 7: CFA-изображение после вычитания уровней чёрного, балансировки белого, обрезки, коррекции линейной яркости на 1,1 шаг

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

4. Убедиться в ровной обрезке данных по балансу белого


Если в необработанных данных изначально был обрезан зелёный канал, возможно, после применения множителей баланса белого придётся обрезать и два других до полного масштаба, чтобы исправить возникшую нелинейность. Полный масштаб показан на гистограммах ниже в виде нормализованного значения 1,0. Видно, что зелёный канал оригинальных необработанных данных был обрезан (из-за нагромождения значений), а другие не были.


Рис. 8: Сверху вниз: гистограммы R, G, B после применения множителей баланса белого к необработанным данным, до обрезки. Обязательно обрезать все три до уровня меньшего из каналов, чтобы в ярких областях не появилось ложных цветов. Данные изображения отложены на отрезке 0-1, где 1 полный масштаб.

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


Рис. 9: Слева: правильно обрезанное изображение после применения баланса белого. Справа: изображение не обрезано. Жёлтой стрелкой показана область, близкая к максимальной яркости, где неполная информация от цветовых каналов даёт розоватый оттенок.

Вместо обрезки можно было бы сделать определённые предположения о недостающих цветах и дополнить относительные данные. В продвинутых конвертерах RAW этим занимаются алгоритмы или ползунки с названиями типа реконструкция ярких участков. Способов сделать это существует множество. К примеру, если не хватает всего одного канала, как в случае с зелёным от 1,0 до 1,2 на рис. 8, проще всего предположить, что яркие участки находятся в районе нейтрально белого цвета, а в необработанных данных изображения сделан правильный баланс белого. Тогда в любом квартете, где зелёный цвет будет обрезан, а два других не будут, то значение зелёного будет равняться среднему значению двух других каналов. Для данного снимка такая стратегия смогла бы реконструировать не более 1/4 шага в ярких участках (log2(1,2)). Затем потребовалось бы провести сжатие ярких участков и/или повторную нормализацию новой полной шкалы до 1,0.

5. Дебайеризация данных CFA


До сего момента CFA-изображение находилось на одной чёрно-белой плоскости, из-за чего цветные участки казались пикселизированными, как видно на рис. 6. Пришло время дебайеризации разделения красных, зелёных и синих пикселей, показанных на рис. 2, на отдельные полноразмерные цветовые плоскости, путём аппроксимации отсутствующих данных (на рис. ниже они показаны в виде белых квадратов).


Рис. 10: дебайеризация заполнение отсутствующих данных в каждой цветовой плоскости с использованием информации из всех трёх плоскостей.

На этом шаге можно использовать любой из большого количества продвинутых алгоритмов дебайеризации. Большинство из них работают очень хорошо, но некоторые получаются лучше других, в зависимости от ситуации. Некоторые конвертеры RAW типа открытых RawTherapee и dcraw предлагают пользователю выбрать алгоритм из списка. Большинство конвертеров не дают такой возможности, и используют один алгоритм дебайеризации. Знаете ли вы, какой алгоритм дебайеризации использует ваш любимый конвертер RAW?

В данном испытании я решил схитрить и просто сжать каждый квартет RGGB в единый пиксель RGB, оставив значения R и B для каждого квартета такими, какие они есть в необработанных данных, и усреднив G по двум (это эквивалентно режиму dcraw h). Это алгоритм дебайеризации 22 по ближайшим соседям. Он даёт более удобное в работе изображение вдвое меньшего размера (по линейным измерениям, или вчетверо по площади).


Рис. 11: необработанное RGB-изображение после вычитания уровней чёрного, балансировки белого, обрезки, коррекции линейной яркости и дебайеризации 22 по ближайшим соседям (эквивалент dcraw h).

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

Figure 11 shows that our raw capture data is now in RGB format with three fully populated color planes. The colors are those recorded by the camera (can we say camera space?) as shown by your browser through your video path and monitor. They seem a bit bland but not too far off. The tones are not in a standard RGB color space, so imaging software and hardware down the line do not necessarily know what to make of them. The next step is therefore to convert these colors to a generally understood, colorimetric, standard color space.

6. Преобразование и коррекция цветов


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

Вооружившись всем этим, а также сделав множество предположений по поводу типичных источников света, сцен и способов просмотра, можно сгенерировать компромиссную линейную матрицу, преобразующую цвет, полученный в CFA-изображении (таком, как показано на рис. 11), в стандартный цвет, который смогут распознать распространённые программы типа редакторов или браузеров, а также устройства типа дисплеев и принтеров.

К счастью для нас, измерением и расчётом этих матриц занимается несколько прекрасных лабораторий а потом они выкладывают расчёты в открытый доступ. К примеру, DXOmark.com выпускает матрицы для преобразования данных из необработанного фото после балансировки белого в sRGB для двух источников для любой камеры из их базы данных. Вот, например, их матрица для Nikon D610 и стандартного источника света D50:


Рис 12: цветовая матрица от DXO lab для источника света D50: от данных, прошедших балансировку белого и дебайеризации к sRGB.

Какая из компромиссных матриц будет лучшей, зависит от спектрального распределения энергии источника света в момент снятия кадра, поэтому реальную матрицу обычно интерполируют на основе парочки ссылок. В мире Adobe сегодня это стандартные источники света A и D65, отвечающие за предельные варианты типичного освещения в повседневной фотографии, от лампы накаливания до дневной тени и съёмки в помещении. Затем преобразованные данные адаптируются к источнику света, соответствующему итоговому цветовому пространству для sRGB это, например, D65. В итоге получается некая матрица, как, например, та, что показана на рис. 12. Потом остаётся просто перемножить её на RGB-значения каждого дебайеризованного пикселя после шага 5.

В спецификации своего DNG Converter Adobe советует более гибкий процесс. Вместо прямого перехода от CFA камеры к колориметрическому цветовому пространству Adobe сначала преобразует данные в цветовое пространство Profile Connection (XYZ D50), умножая данные после балансировки белого и дебайеризации на интерполированную линейную прямую матрицу [forward matrix], а потом уже приходит в итоговое цветовое пространство типа sRGB. Иногда Adobe также применяет дополнительную нелинейную цветовую коррекцию с использованием специальных профилей в XYZ (на языке DNG это HSV-коррекции через ProPhoto RGB, HueSatMap и LookTable).

Прямые матрицы камеры, сделавшей снимок, записываются в каждый DNG-файл, хвала Adobe. Я скачал оттуда матрицы для D610, а матрицы XYZD50 -> sRGBD65 с сайта Брюса Линдблума, и получил итоговое изображение:


Рис. 13: Честно сконвертированное изображение. Необработанные данные, вычтены уровни чёрного, произведена балансировка белого, обрезка, подправлена яркость, дебайеризация через ближайшего соседа 22, цвет подкорректирован и преобразован в цветовое пространство sRGB.

Теперь цвета такие, какие ожидают встретить программы и устройства в цветовое пространство sRGB. Если вам интересно, то данное изображение практически идентично тому, что выдаёт конвертер необработанных данных Capture NX-D от Nikon с профилем Flat. Однако выглядит оно не очень резко из-за плохой контрастности наших мониторов (см. Отображение тона).

7. Применение гаммы


Последний шаг зависит от выбранного цветового пространства. Gamma для пространства sRGB равна около 2,2. Я отмечаю это особо только для того, чтобы показать, что на этом этапе процесс рендеринга становится нелинейным. С этого момента изображение приведено к колориметрическому гамма цветовому пространству, и его можно как загружать в любимый редактор, так и выводить на экран. В теории все предыдущие шаги были линейными, то есть легко обратимыми.

+ Отображение тона


В 2016 году почти всегда требуется ещё и коррекция тона, чтобы выбрать, как именно втиснуть большой динамический диапазон камеры в небольшой диапазон отображающего устройства. К примеру, в зависимости от вашей устойчивости к шуму, динамический диапазон моего D610 имеет 12 шагов, при том, что у моего совсем неплохого монитора коэффициент контрастности равен 500:1, или порядка 9 шагов. Это значит, что три нижних шага с камеры не будут видны на мониторе из-за его подсветки.

Кривая RGB субъективно перераспределит тона по диапазону, так, чтобы некоторые тени стали виднее за счёт некоторых самых ярких участков (поэтому эту кривую называют градационной кривой). На момент написания статьи такую кривую обычно применяет Adobe в ACR/LR во время рендеринга перед тем, как показать изображение в первый раз:


Рис. 14: градационная кривая применяемая ACR/LR ближе к концу процесса рендеринга в Process Version 3 (2012-2016). Горизонтальная ось нелинейна.

В данном случае я её не использовал. Я просто применил кривую увеличения контраста и добавил немного резкости в Photoshop CS5 к рис. 13, чтобы получить итоговое изображение:


Рис. 15: Итоговое sRGB изображение. Изначально необработанные данные, вычтены уровни чёрного, произведена балансировка белого, обрезка, подправлена яркость, проведена дебайеризация, цвет подкорректирован, применена градационная кривая

Конечно, применение кривой контраста на позднем этапе меняет хроматичность и насыщенность цветов, однако именно это происходит, когда вы применяете эти подстройки гамма-RGB пространстве после рендера изображения. Исторически так всё происходило в фотоаппаратах, и так всё происходит в популярных конвертерах RAW такова процедура, и к такому мы с годами привыкли. Альтернативной для достижения точности цветопередачи будет использовать цветовой профиль с сайта Торгера, и уже не трогать тона.

Подытожим


Итак, для базовой конвертации RAW с линейной подстройкой яркости и цветов требуется:

  1. Загрузить линейные данные из файла RAW и вычесть уровни чёрного.
  2. Провести балансировку белого.
  3. Подправить линейную яркость.
  4. Обрезать данные изображения.
  5. Провести дебайеризацию.
  6. Применить преобразования и коррекции цветов.
  7. Применить гамму.

И всё покров тайны с конвертертации необработанных данных сорван.

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

s = raw2RGB(DSC_4022 , ROI , 1.1)

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

Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru