eddy_em: (Костерок)
[personal profile] eddy_em
Продолжаю свои мучения с "полиномами Жао".
В упор не понимаю, как с ними работать: хорошие значения для коэффициентов Цернике получаются лишь для очень простых векторных полей, аппроксимирующихся полиномами максимум второй степени. При повышении степени получается какой-то фигвам.


Так как "полиномы Жао" состоят из линейной комбинации двух градиентов полиномов Цернике, преобразовывать коэффициенты Жао в коэффициенты Цернике надо хитро.

Для теста я взял простой "волновой фронт" вида
100.*(x-0.3)*y+200.*x*y²+300.*yy⁴
Вычислил градиенты и стал восстанавливать, ограничив предельную степень полиномов Цернике пятеркой.
В среднем отклонение восстановленного изображения от оригинала получилось около 2.5. Однако, при восстановлении нормалей длина отклонений получилась уже около 10.

При восстановлении коэффициентов Цернике получилось вот что. Если пользоваться коэффициентом sqrt((n+3)/(n+1)), получается вот что:
Coefficients for Zernike (sqrt((n+3)/(n+1)):
 i    Z[i]  gradZ[i]  S[i]
 0    63.0     0.0     0.0
 1   -26.6   -26.6   -26.6
 2    27.9    29.0    43.2
 3    36.2    36.2    36.2
 4    57.2    59.6    75.1
 5   -80.2   -85.2  -106.2
 6     0.0     0.0     0.0
 7     0.0     0.0     0.0
 8     8.7    10.1    10.0
 9   -31.2   -31.3   -31.3
10     0.0     0.0     0.0
11     0.0     0.0     0.0
12    17.0    15.5    15.5
13   -21.0   -21.0   -21.0
14    20.9    21.0    21.0
15     0.0     0.0     0.0
16     0.0     0.0     0.0
17     0.0     0.0     0.0
18    -0.3    -0.0    -0.0
19     0.3     0.0     0.0
20     0.2     0.0     0.0

(первый столбец — номер в нотации Нолля, второй — коэффициент Цернике для "волнового фронта", третий — восстановленный из поля нормалей коэффициент, четвертый — соответствующий коэффициент Жао).

Если схитрить и заменить коэффициент у второго слагаемого в формуле для "полинома Жао" на sqrt((n+1)/n), получится красивей:
Coefficients for Zernike (sqrt((n+1)/n):
 i    Z[i]  gradZ[i]  S[i]
 0    63.0     0.0     0.0
 1   -26.6   -26.6   -26.6
 2    27.9    29.0    43.2
 3    36.2    36.2    36.2
 4    57.2    56.1    75.1
 5   -80.2   -80.5  -106.2
 6     0.0     0.0     0.0
 7     0.0     0.0     0.0
 8     8.7    10.1    10.0
 9   -31.2   -31.3   -31.3
10     0.0     0.0     0.0
11     0.0     0.0     0.0
12    17.0    15.5    15.5
13   -21.0   -21.0   -21.0
14    20.9    21.0    21.0
15     0.0     0.0     0.0
16     0.0     0.0     0.0
17     0.0     0.0     0.0
18    -0.3    -0.0    -0.0
19     0.3     0.0     0.0
20     0.2     0.0     0.0

и отклонения восстановленного изображения от оригинала становятся меньше. Но все равно заметны сильные расхождения оригинальных и восстановленных коэффициентов. Да и непонятно, что такое sqrt((n+1)/n).
Надо разбираться дальше.

April 2025

S M T W T F S
  1 23 45
67 89101112
13141516171819
20212223242526
27282930   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated May. 22nd, 2025 02:42 am
Powered by Dreamwidth Studios