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).
Надо разбираться дальше.
This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

If you are unable to use this captcha for any reason, please contact us by email at support@dreamwidth.org

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 09:40 am
Powered by Dreamwidth Studios