У Вас отключён javascript.
В данном режиме, отображение ресурса
браузером не поддерживается

Dash & Cam - Форум для обсуждения видеорегистраторов и экшн-камер

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.



Коррекция хроматических аберраций

Сообщений 1 страница 30 из 90

1

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

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


Первая версия Chroma редактора
Коррекция хроматических аберраций


[good]

Отредактировано v_max (15.08.2018 06:06:18)

Подпись автора

[html]
<style type="text/css">
.sign {
width: 88px; /* Ширина */
border-style: double; /* double, dotted, dashed, solid, outset */
border-color: #809FFE; /* Цвет границы */
padding:3px;
font-style: bold; /* Курсивное начертание */
color: #809FFE; /* Цвет текста */
}
</style>
<div class="sign">
<div>
</b>v_max</b>  <img src="https://forumstatic.ru/files/0018/21/d5/91139.png">
</div>
</div>
[/html]

0

2

v_max написал(а):

все что на данный момент расковыряно уже...


Мало пока наковыряно...)
Позже отпишу в ЛС.

Подпись автора

[html]
<div>
<a href="http://videoreg.forum2.net"><img src="https://forumstatic.ru/files/0018/21/d5/26807.gif">
</div>
<br>
<div>
<a href="https://clck.ru/NGf3a"><img src="https://forumstatic.ru/files/0018/21/d5/23980.gif" title="Additional version of the forum">
</div>
[/html]

+1

3

Kaliningrad написал(а):

v_max написал(а):
Позже отпишу в ЛС.

Инфа засекречена ?  ;)
ИМХО может лучше сюда публично? вдруг еще кто подключится к теме ;)

Пока инфы нет можно интерфейсную часть пописать.
Была бы уверенность что потом это удасться до конца довести...

Для мат модели в первом приближении можно считать землю (объектив) круглым...
т.е. аберрации зависимыми только от расстояния до центра. значит нужно
1. задать кривые коррекции (поправка величины сдвига картинки в зависимости от расстояния до центра) для каждого из каналов RGB
2. иметь возможность подогнать центр ... он может быть и смещен относительно центра кадра

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

Ну и останется вопрос как из насчитанных данных
это превратить в параметры коррекции для прошивки
Вот тут придется поковыряться изрядно...

Отредактировано v_max (27.07.2018 06:09:05)

Подпись автора

[html]
<style type="text/css">
.sign {
width: 88px; /* Ширина */
border-style: double; /* double, dotted, dashed, solid, outset */
border-color: #809FFE; /* Цвет границы */
padding:3px;
font-style: bold; /* Курсивное начертание */
color: #809FFE; /* Цвет текста */
}
</style>
<div class="sign">
<div>
</b>v_max</b>  <img src="https://forumstatic.ru/files/0018/21/d5/91139.png">
</div>
</div>
[/html]

0

4

v_max написал(а):

Инфа засекречена ?


Нет, конечно!
Просто надо сообща обмозговать и в народ выкатить уже обощённые данные.
А то будет 20 постов обсуждений в виде личной переписки, а нужным будет только один...)

Подпись автора

[html]
<div>
<a href="http://videoreg.forum2.net"><img src="https://forumstatic.ru/files/0018/21/d5/26807.gif">
</div>
<br>
<div>
<a href="https://clck.ru/NGf3a"><img src="https://forumstatic.ru/files/0018/21/d5/23980.gif" title="Additional version of the forum">
</div>
[/html]

+1

5

Вот такая вот табличка в calib13
Дины векторов смещщения увеличены в 4 раза для нагляности
http://sg.uploads.ru/t/xqzTG.png

Отредактировано v_max (30.07.2018 17:30:39)

Подпись автора

[html]
<style type="text/css">
.sign {
width: 88px; /* Ширина */
border-style: double; /* double, dotted, dashed, solid, outset */
border-color: #809FFE; /* Цвет границы */
padding:3px;
font-style: bold; /* Курсивное начертание */
color: #809FFE; /* Цвет текста */
}
</style>
<div class="sign">
<div>
</b>v_max</b>  <img src="https://forumstatic.ru/files/0018/21/d5/91139.png">
</div>
</div>
[/html]

+3

6

v_max написал(а):

Вот такая вот табличка в calib13


По сути, как и DeWarp.
Выглядит весьма наглядно... https://image.ibb.co/kLSvRw/smile9.gif

Подпись автора

[html]
<div>
<a href="http://videoreg.forum2.net"><img src="https://forumstatic.ru/files/0018/21/d5/26807.gif">
</div>
<br>
<div>
<a href="https://clck.ru/NGf3a"><img src="https://forumstatic.ru/files/0018/21/d5/23980.gif" title="Additional version of the forum">
</div>
[/html]

0

7

У меня пока ступор по части понимания как эта табличка
С ее размером 34*25 привязывается к координатам растра размером 4000*3000. понять бы где точно находится центр растра.

Подпись автора

[html]
<style type="text/css">
.sign {
width: 88px; /* Ширина */
border-style: double; /* double, dotted, dashed, solid, outset */
border-color: #809FFE; /* Цвет границы */
padding:3px;
font-style: bold; /* Курсивное начертание */
color: #809FFE; /* Цвет текста */
}
</style>
<div class="sign">
<div>
</b>v_max</b>  <img src="https://forumstatic.ru/files/0018/21/d5/91139.png">
</div>
</div>
[/html]

0

8

v_max написал(а):

У меня пока ступор


Ступор есть начальная стадия понимания процесса...)
Это нормально...

Подпись автора

[html]
<div>
<a href="http://videoreg.forum2.net"><img src="https://forumstatic.ru/files/0018/21/d5/26807.gif">
</div>
<br>
<div>
<a href="https://clck.ru/NGf3a"><img src="https://forumstatic.ru/files/0018/21/d5/23980.gif" title="Additional version of the forum">
</div>
[/html]

0

9

Вчера весь вечер экспериментировал...
Вопервых взял родную таблицу от T5E. У нее чуть другой размер сетки.. Но сама она на забита нулями.
С этими размером табличка четко ложится на цифры размеров кадра входного потока
Сгенерировал по этой родной сетке саму табличку но с большими размерами смещений чем у YI
Если на YI максимум смещения около 28 то я в итоге после нескольких итераций пришел к цифре 40-44
Но и так синий не вытягивается полностью..
Причина как я понимаю еще и в разнице фокусного расстояния на разных длинах волн так что при визуально отстроенном
фокусе глаз отстраивает фокус по желтому (интуитивно по максимуму чуствительности) ... при этом синий уже слегка расфокусирован ..
И чем дальше от центра тем сильнее ....
и как эту расфокусированые синие пятна ни двигай коррекцией его размытая граница все равно точно не ляжет на границу лучше сфокусированых желтого и зеленого.
Возможно надо попробовать еще покрутить фокус отстраиваясь по картинке с отключеным зеленым.. что бы отстроиться примерно по средней с точки зрения абераций длине волны...

Сегодня поснимаю на том что вчера наподбирал посмотрим...

Отредактировано v_max (01.08.2018 06:47:27)

Подпись автора

[html]
<style type="text/css">
.sign {
width: 88px; /* Ширина */
border-style: double; /* double, dotted, dashed, solid, outset */
border-color: #809FFE; /* Цвет границы */
padding:3px;
font-style: bold; /* Курсивное начертание */
color: #809FFE; /* Цвет текста */
}
</style>
<div class="sign">
<div>
</b>v_max</b>  <img src="https://forumstatic.ru/files/0018/21/d5/91139.png">
</div>
</div>
[/html]

+2

10

v_max, Adobe Camera RAW может полностью скорректировать ХА на этом объективе? Если не еще пробовал, это может помочь.

+1

11

molexey написал(а):

Adobe Camera RAW может полностью скорректировать ХА на этом объективе?


Может...
На примере скриншота:
http://sd.uploads.ru/t/W5I87.jpg

Подпись автора

[html]
<div>
<a href="http://videoreg.forum2.net"><img src="https://forumstatic.ru/files/0018/21/d5/26807.gif">
</div>
<br>
<div>
<a href="https://clck.ru/NGf3a"><img src="https://forumstatic.ru/files/0018/21/d5/23980.gif" title="Additional version of the forum">
</div>
[/html]

+2

12

Позавчера прошился раз 30 подбирая коэффициенты красного и синего на сетке от YI...
Не сводится ни в какую....
Сделал три кадра со значениями -255/-255 , 0/0 и +255.+255
что бы понять границы диапазона перестройки этими чиселками...
по моим предположениям для цветокомпонент смещения вычисляются умножением значений узлов сетки
на эти коэффициенты .... как то так  gridValue(x,y) * redScale / 255 ....
Вобщем понятно что на сетке от YI с ее значениями около 20 в максимуме
диапазонов +- 255 просто мало для синей компоненты
Их мало даже на сетке с максимумом в 32

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

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

Попутно решил посмотреть в 3D профиль сетки что бы понять какой он вообще...
Посмотрел на профиль от YI ... мама мия,  он кривой как турецкая сабля....
Т.е видимо в результате приведения значений к целым величинам значений таблицы
там получились такие локальные бугры и провалы что про монотонность от радиуса можно забыть...
Кстати заодно выяснил что он еще и слегка (среднестатистически) нелинеен от радиуса но нелинейность не превышает 10%
Так что думаю линейный генератор сетки пойдет.....
Короче сел за исследования как сделать целочисленную сетку размера 34х25 так что бы отклонения в ее узлах (из за ошибок округления) были минимальны...
Для заданного размера сетки 34х25 просчитал варианты с максимумом значения от 20 до 48
Неожиданный результат (который математически я пока не могу объяснить).... сетки с максимумами в 20 и 40 дают практически идеально точный результат
по отклонениям округленных до целого значений от расчетных... 

Вобщем вывод если генерировать свои сетки то видимо либо с 20 либо с 40
Для нормальных объективов и 20 хватит... а вот для нашего похоже придется делать 40

Короче дело двигается ... но жесть как тяжко. 
ХЗ успею до отпуска допилить или нет.

Отредактировано v_max (03.08.2018 06:11:10)

Подпись автора

[html]
<style type="text/css">
.sign {
width: 88px; /* Ширина */
border-style: double; /* double, dotted, dashed, solid, outset */
border-color: #809FFE; /* Цвет границы */
padding:3px;
font-style: bold; /* Курсивное начертание */
color: #809FFE; /* Цвет текста */
}
</style>
<div class="sign">
<div>
</b>v_max</b>  <img src="https://forumstatic.ru/files/0018/21/d5/91139.png">
</div>
</div>
[/html]

+4

13

А я правильно понимаю, что 1/0 по адресу 0x20 в calib13.bin вкл/выкл коррекцию ХА?

0

14

nutsey написал(а):

А я правильно понимаю, что 1/0 по адресу 0x20 в calib13.bin вкл/выкл коррекцию ХА?

Очень похоже на то.. Хотя отключать не пробовал

Вот этот кусочек лога (спасибо molexey за лог)
один в один ложится на байтики начиная с 0х20 файлика calib13

chromatic_aberration_correction.enable 1
chromatic_aberration_correction.calib_version 538116389
chromatic_aberration_correction.horizontal_grid_number 31
chromatic_aberration_correction.vertical_grid_number 18
chromatic_aberration_correction.tile_width_exponent 7
chromatic_aberration_correction.tile_height_exponent 7
chromatic_aberration_correction.vin_sensor_start_x 12
chromatic_aberration_correction.vin_sensor_start_y 42
chromatic_aberration_correction.vin_sensor_width 3840
chromatic_aberration_correction.vin_sensor_height 2162
chromatic_aberration_correction.vin_sensor_h_subsample_factor_num 1
chromatic_aberration_correction.vin_sensor_h_subsample_factor_den 1
chromatic_aberration_correction.vin_sensor_v_subsample_factor_num 1
chromatic_aberration_correction.vin_sensor_v_subsample_factor_den 1
chromatic_aberration_correction.red_scale_factor 0
chromatic_aberration_correction.blue_scale_factor -256
chromatic_aberration_correction.ca_grid_table_path c:\VideoRawCapItuner_0001_Ca_Table.bin

Подпись автора

[html]
<style type="text/css">
.sign {
width: 88px; /* Ширина */
border-style: double; /* double, dotted, dashed, solid, outset */
border-color: #809FFE; /* Цвет границы */
padding:3px;
font-style: bold; /* Курсивное начертание */
color: #809FFE; /* Цвет текста */
}
</style>
<div class="sign">
<div>
</b>v_max</b>  <img src="https://forumstatic.ru/files/0018/21/d5/91139.png">
</div>
</div>
[/html]

+2

15

Кажется до меня дошло почему моя модель никак не ложится на то что я вижу в табличке от YI4K
И почему эта табличка простыми масштабированиями не подгоняется под T5E...
Похоже дело в том что эта модель сильно упрощенная и не учитывает бочки от нашей линзы...
На у YI4K линза с меньшей бочкой и углом .....

ЗЫ вопрос... а никто не расковырял где у нас лежит таблица DEWARPа?

Подпись автора

[html]
<style type="text/css">
.sign {
width: 88px; /* Ширина */
border-style: double; /* double, dotted, dashed, solid, outset */
border-color: #809FFE; /* Цвет границы */
padding:3px;
font-style: bold; /* Курсивное начертание */
color: #809FFE; /* Цвет текста */
}
</style>
<div class="sign">
<div>
</b>v_max</b>  <img src="https://forumstatic.ru/files/0018/21/d5/91139.png">
</div>
</div>
[/html]

0

16

Похоже, что в calib6.bin.

+2

17

v_max написал(а):

где у нас лежит таблица DEWARPа?


В соседнем calib-профиле...

Подпись автора

[html]
<div>
<a href="http://videoreg.forum2.net"><img src="https://forumstatic.ru/files/0018/21/d5/26807.gif">
</div>
<br>
<div>
<a href="https://clck.ru/NGf3a"><img src="https://forumstatic.ru/files/0018/21/d5/23980.gif" title="Additional version of the forum">
</div>
[/html]

+1

18

Kaliningrad написал(а):

В соседнем calib-профиле...
Подпись автора

Это который calib6.bin ... он на T5E пустой... забит блоками нулей и FF-ов  ;(  а коррекция то работает ;)
Хммммм.....  видимо не там....

Отредактировано v_max (07.08.2018 06:57:23)

Подпись автора

[html]
<style type="text/css">
.sign {
width: 88px; /* Ширина */
border-style: double; /* double, dotted, dashed, solid, outset */
border-color: #809FFE; /* Цвет границы */
padding:3px;
font-style: bold; /* Курсивное начертание */
color: #809FFE; /* Цвет текста */
}
</style>
<div class="sign">
<div>
</b>v_max</b>  <img src="https://forumstatic.ru/files/0018/21/d5/91139.png">
</div>
</div>
[/html]

0

19

v_max написал(а):

видимо не там....


Обычно, как раз именно там.
Версия ThiEYE T5&T5e_V5.1 (180601):
http://s3.uploads.ru/t/uaR6I.jpg

Подпись автора

[html]
<div>
<a href="http://videoreg.forum2.net"><img src="https://forumstatic.ru/files/0018/21/d5/26807.gif">
</div>
<br>
<div>
<a href="https://clck.ru/NGf3a"><img src="https://forumstatic.ru/files/0018/21/d5/23980.gif" title="Additional version of the forum">
</div>
[/html]

+1

20

Kaliningrad написал(а):

Обычно, как раз именно там.

Точно... черт меня запутал где-то...

Вот что получается... (верхний левый угол кадра 4K в 1:1) ... еще не идеал но имхо хоть как-то
http://s3.uploads.ru/t/bQJyr.jpg

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

PS... С утреца пощелкал.. вобщем перестарался ;-(

Отредактировано v_max (08.08.2018 06:12:19)

Подпись автора

[html]
<style type="text/css">
.sign {
width: 88px; /* Ширина */
border-style: double; /* double, dotted, dashed, solid, outset */
border-color: #809FFE; /* Цвет границы */
padding:3px;
font-style: bold; /* Курсивное начертание */
color: #809FFE; /* Цвет текста */
}
</style>
<div class="sign">
<div>
</b>v_max</b>  <img src="https://forumstatic.ru/files/0018/21/d5/91139.png">
</div>
</div>
[/html]

+1

21

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

Продолжаем ... до и после
http://s9.uploads.ru/t/knAeu.png

Подпись автора

[html]
<style type="text/css">
.sign {
width: 88px; /* Ширина */
border-style: double; /* double, dotted, dashed, solid, outset */
border-color: #809FFE; /* Цвет границы */
padding:3px;
font-style: bold; /* Курсивное начертание */
color: #809FFE; /* Цвет текста */
}
</style>
<div class="sign">
<div>
</b>v_max</b>  <img src="https://forumstatic.ru/files/0018/21/d5/91139.png">
</div>
</div>
[/html]

+3

22

v_max написал(а):

Продолжаем ... до и после


Отлично выходит... https://image.ibb.co/kLSvRw/smile9.gif

Подпись автора

[html]
<div>
<a href="http://videoreg.forum2.net"><img src="https://forumstatic.ru/files/0018/21/d5/26807.gif">
</div>
<br>
<div>
<a href="https://clck.ru/NGf3a"><img src="https://forumstatic.ru/files/0018/21/d5/23980.gif" title="Additional version of the forum">
</div>
[/html]

0

23

v_max написал(а):

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

Продолжаем ... до и после

Красота!

Синяя изолента тут бы не подошла =)

+1

24

Походу у меня табличка получилась перевернутая по знакам ;)
т.е. значения в сетке с противоположным знаком и коэффициенты красного и синего с другим знаком....

+64/+208 на табличке  -40...+40 (из минуса в плюс)
а у YI
-96/-256 на табличке +27...-27 (из плюса в минус)

Вот и думаю... переворачивать или фиг бы с ней

PS... Поснимал с утра.... опять не попал ;(  Печалька...
таки лезет синий ... причем в разных углах кадра по разному....
значит надо буде еще поколдовать со сдвигом центра таблички

Отредактировано v_max (09.08.2018 06:23:30)

Подпись автора

[html]
<style type="text/css">
.sign {
width: 88px; /* Ширина */
border-style: double; /* double, dotted, dashed, solid, outset */
border-color: #809FFE; /* Цвет границы */
padding:3px;
font-style: bold; /* Курсивное начертание */
color: #809FFE; /* Цвет текста */
}
</style>
<div class="sign">
<div>
</b>v_max</b>  <img src="https://forumstatic.ru/files/0018/21/d5/91139.png">
</div>
</div>
[/html]

+2

25

Ну вот первый результат....
подхаченая calib13.bin
https://drive.google.com/open?id=1P2Anh … nvkaDqdG8U
Кому хоцца может попробовать...

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

Тут еще похоже проблема в том что аберрации такие дикие что не хватает дискретности таблички с тайлами 128х128
т.е. от ячейке к ячейке разница значений больше 1 (два  а местами и три) ... как результат в одной ячейке сводится а в соседней нет

Дальше буду пробовать переходить с матрицы 34х25 на матрицу 65х48 ( на такую же размерность как в коррекции геометрии)
но там непоняток вагон... например что лежит ЗА этой таблицей... не накроет ли она что-то другое при изменении размерности...

Отредактировано v_max (11.08.2018 20:03:21)

Подпись автора

[html]
<style type="text/css">
.sign {
width: 88px; /* Ширина */
border-style: double; /* double, dotted, dashed, solid, outset */
border-color: #809FFE; /* Цвет границы */
padding:3px;
font-style: bold; /* Курсивное начертание */
color: #809FFE; /* Цвет текста */
}
</style>
<div class="sign">
<div>
</b>v_max</b>  <img src="https://forumstatic.ru/files/0018/21/d5/91139.png">
</div>
</div>
[/html]

+4

26

v_max написал(а):

Кому хоцца может попробовать...


Полагаю, что ВСЕМ хочется...)

Подпись автора

[html]
<div>
<a href="http://videoreg.forum2.net"><img src="https://forumstatic.ru/files/0018/21/d5/26807.gif">
</div>
<br>
<div>
<a href="https://clck.ru/NGf3a"><img src="https://forumstatic.ru/files/0018/21/d5/23980.gif" title="Additional version of the forum">
</div>
[/html]

+2

27

Kaliningrad написал(а):

Полагаю, что ВСЕМ хочется...)
Подпись автора

Могу собрать твою крайнюю с этой табличкой и выложить СЮДА...
Ну или сам собери ;)
Я сегодня точно не в состоянии уже... спать пошел... за всю неделю бессонных ковыряний

Отредактировано v_max (11.08.2018 20:06:34)

Подпись автора

[html]
<style type="text/css">
.sign {
width: 88px; /* Ширина */
border-style: double; /* double, dotted, dashed, solid, outset */
border-color: #809FFE; /* Цвет границы */
padding:3px;
font-style: bold; /* Курсивное начертание */
color: #809FFE; /* Цвет текста */
}
</style>
<div class="sign">
<div>
</b>v_max</b>  <img src="https://forumstatic.ru/files/0018/21/d5/91139.png">
</div>
</div>
[/html]

0

28

v_max написал(а):

Я сегодня точно не в состоянии уже...


Только если с утра или сам сбацай.
У меня сейчас ламинатно-плинтусное настроение...)

Подпись автора

[html]
<div>
<a href="http://videoreg.forum2.net"><img src="https://forumstatic.ru/files/0018/21/d5/26807.gif">
</div>
<br>
<div>
<a href="https://clck.ru/NGf3a"><img src="https://forumstatic.ru/files/0018/21/d5/23980.gif" title="Additional version of the forum">
</div>
[/html]

0

29

v_max написал(а):

подхаченая calib13.bin

Вот как это выглядит на Firefly 8SE (сток слева).
http://s8.uploads.ru/t/ngPku.png

+2

30

nutsey написал(а):

Вот как это выглядит на Firefly 8SE (сток слева).

Маленько перебор для FF8S

Подпись автора

[html]
<style type="text/css">
.sign {
width: 88px; /* Ширина */
border-style: double; /* double, dotted, dashed, solid, outset */
border-color: #809FFE; /* Цвет границы */
padding:3px;
font-style: bold; /* Курсивное начертание */
color: #809FFE; /* Цвет текста */
}
</style>
<div class="sign">
<div>
</b>v_max</b>  <img src="https://forumstatic.ru/files/0018/21/d5/91139.png">
</div>
</div>
[/html]

0