\documentclass[10pt,pdf,hyperref={unicode}]{beamer} \hypersetup{pdfpagemode=FullScreen} %\usepackage{ed} \usepackage{lect} \title[Компьютерная обработка. Лекция 6]{Компьютерная обработка результатов измерений} \subtitle{Лекция 6. Обработка изображений, часть 1} \date{} \begin{document} % Титул \begin{frame} \maketitle \end{frame} % Содержание \begin{frame} \tableofcontents \end{frame} \section{Цифровые изображения} \begin{frame}{Цифровые изображения} \begin{defin} \ж Изображение\н представляет собой двумерную функцию $f(x,y)$, где~$x$ и~$y$~--- пространственные координаты, а уровень~$f$ называется\ж интенсивностью\н изображения в данной точке (цветное изображение является совокупностью по крайней мере трех функций $r(x,y)$, $g(x,y)$ и~$b(x,y)$). Если величины~$x$, $y$ и~$f$ принимают дискретные значения, говорят о\к цифровом изображении\н. Элементарная единица цифрового изображения называется\ж пикселем\н. \end{defin} \begin{block}{Дискретизация} Процедуру квантования (\bf дискретизации\н) квазинепрерывного изображения $I_0(X,Y)$ можно представить в виде: $$ I(x,y)=\mathrm{round}\Bigl(\frac{2^N-1}{I_{max}}\Int_{S_{x,y}}I_0(X,Y) \,dXdY\Bigr)+\delta_{x,y}. $$ \end{block} \end{frame} \begin{frame}{RGB-модель} \only<1>{ \img[0.6]{RGB} \centering{Аддитивная RGB-модель} }\only<2>{ \img[0.6]{sRGB} } \end{frame} \begin{blueframe}{CMYK-модель} \only<1>{ \img[0.5]{CMYK} \centering{Субстрактивная CMYK-модель} }\only<2>{ \img[0.6]{colormodels} } \end{blueframe} \begin{frame}{} \img[0.6]{Bayer_pattern} \centering{Маска Байера} \end{frame} \section{Математический аппарат} \begin{frame}{Математический аппарат} \only<1>{\img[0.7]{neighbourhoods} \centering{Соседство}} \only<2>{\img[0.6]{connregs} \centering{Связность} } \only<3>{\img[0.6]{msquare} \centering{Границы, контуры} } \end{frame} \begin{frame}{} \begin{block}{Расстояние} \begin{itemize} \item Евклидово: $D_{e(p,q)}=\sqrt{(x_p-x_q)^{2}+(y_{p}-y_{q})^{2}}$. \item Метрика $L_{1}$: $D_{4}(p,q)=|x_{p}-x_{q}|+|y_{p}-y_{q}|$. \item Метрика $L_{\infty}$: $D_{8}(p,q)=\max\bigl(|x_{p}-x_{q}|,|y_{p}-y_{q}|\bigr)$. \end{itemize} \end{block} \begin{block}{Поэлементные и матричные операции} $$A=\begin{bmatrix}a_{11}&a_{12}\\a_{21}&a_{22}\end{bmatrix},\quad{} B=\begin{bmatrix}b_{11}&b_{12}\\b_{21}&b_{22}\end{bmatrix}.$$ Поэлементное произведение: $$A\cdot B = \begin{bmatrix}a_{11}b_{11}&a_{12}b_{12}\\a_{21}b_{21}&a_{22}b_{22}\end{bmatrix}.$$ Матричное произведение: $$A\times B = \begin{bmatrix}a_{11}b_{11}+a_{12}b_{21}&a_{11}b_{12}+a_{12}b_{22}\\ a_{21}b_{11}+a_{22}b_{21}&a_{21}b_{12}+a_{22}b_{22}\end{bmatrix}.$$ \end{block} \end{frame} \begin{frame}{} \begin{block}{Аффинные преобразования} $$\begin{pmatrix}x'&y'&1\end{pmatrix}^T=\B{A}\begin{pmatrix}x&y&1\end{pmatrix}^T.$$ \end{block} \begin{block}{} \begin{columns}\column{0.5\textwidth} Тождество: $\B{A}=\begin{pmatrix}1 & 0 & 0\\ 0 & 1 & 0\\ 0 & 0 & 1\end{pmatrix},$\\ Масштаб: $\B{A}=\begin{pmatrix}c_{x} & 0 & 0\\ 0 & c_{y} & 0\\ 0 & 0 & 1\end{pmatrix},$\\ Поворот: $\B{A}=\begin{pmatrix}\cos\theta & -\sin\theta & 0\\ \sin\theta & \cos\theta & 0\\ 0 & 0 & 1\end{pmatrix},$\\ Сдвиг: $\B{A}=\begin{pmatrix}1 & 0 & t_x\\ 0 & 1 & t_y\\ 0 & 0 & 1\end{pmatrix},$\\ \column{0.45\textwidth} Скос $y$: $\B{A}=\begin{pmatrix}1 & 0 & 0\\ s_v & 1 & 0\\ 0 & 0 & 1\end{pmatrix},$\\ Скос $x$: $\B{A}=\begin{pmatrix}1 & s_h & 0\\ 0 & 1 & 0\\ 0 & 0 & 1\end{pmatrix},$\\ Отражение $x$: $\B{A}=\begin{pmatrix}1 & 0 & 0\\ 0 & -1 & 0\\ 0 & 0 & 1\end{pmatrix},$\\ Отражение $y$: $\B{A}=\begin{pmatrix}-1 & 0 & 0\\ 0 & 1 & 0\\ 0 & 0 & 1\end{pmatrix},$\\ \end{columns} \end{block} \begin{block}{}Комбинация пребразований: $\B{M}=\prod_{i}\B{T_{i}}$ (зависит от порядка!).\end{block} \end{frame} \begin{frame}{} \only<1>{ \begin{block}{Операции над множествами} Множества и дополнения: $A\cup A^C = \Omega$, $A\cap A^C=\emptyset$. ($A^C\equiv\overline{A}$). Множество через операцию: $A^C=\{a\,|\,a\not\in A\}$. Подмножества: $A\subset B$ или $B \supset A$. Операции: $A-B=A\backslash B=A\cap B^C$, $A+B=A\cup B$. Ассоциативность: $(A\cup B)\cup C=A\cup(B\cup C)$, $(A\cap B)\cap C=A\cap(B\cap C)$. Дистрибутивность: $(A\cup B)\cap C=(A\cap C)\cup(B\cap C)$, $(A\cap B)\cup C=(A\cup C)\cap(B\cup C)$. Законы де-Моргана: $(A\cup B)^C=A^C\cap B^C$, $(A\cap B)^C=A^C\cup B^C$. \end{block} \begin{block}{Логические (булевы) операции} $\cup\Arr \vee$ (дизъюнкция, <<или>>, \t{|}), $\cap\Arr\wedge$ (конъюнкция, <<и>>, \t{\&}), $A^C\Arr\overline{A}$ (отрицание). \end{block} }\only<2>{ \img{SETS} } \end{frame} \section{Пространственные и градационные преобразования} \begin{frame}{Пространственные и градационные преобразования} \begin{defin} \ж Преобразования в пространственной области\н работают непосредственно с пикселями изображения: $$T(u,v)=\Sum_{x=0}^{M-1}\Sum_{y=0}^{N-1}f(x,y)r(x,y,u,v),\qquad\text{где $r$~-- ядро преобразования.}$$ \end{defin} \begin{block}{Градационные преобразования ($I\in[0, I_{max}]$, $I'=f(I)$)} \begin{itemize} \item негатив: $I' = I_{max} - I$; \item логарифмическое: $I' = \C\ln(1+I)$; \item гамма-коррекция: $I'=\C I_{max}\cdot i^\gamma$, $i=\dfrac{I}{I_{max}}$; \item кусочно-линейные преобразования (усиление контраста). \end{itemize} \end{block} \end{frame} \begin{frame}{} \only<1>{ \img[0.8]{hystotransf} }\only<2>{ Логарифмическое преобразование. \img{logtransf} }\only<3,4,5>{ \only<3>{Степенное преобразование (гамма-коррекция).\img[0.8]{gammacorrt}} \only<4>{\img[0.85]{gammacorr}} \only<5>{\img[0.8]{gammacorr1}} } \only<6>{Кусочно-линейные преобразования. \img[0.7]{piecewise} } \end{frame} \begin{frame}{} \only<1>{ \img[0.8]{bitplanes} \centering{Битовые плоскости} }\only<2>{ \img[0.4]{graycode} \centering{Битовые плоскости в кодах Грея} } \end{frame} \begin{frame}{Гистограмма} \only<1>{ \img[0.9]{histogram} }\only<2>{ \img{histograms} } \end{frame} \begin{frame}{} \only<1>{ Неоднозначное (необратимое) и однозначное (возможно, обратимое) отображения: \img{badhisto} }\only<2>{ Эквализация гистограммы \img[0.8]{histeq} } \only<3>{ $N_i$~-- количество пикселей на $i$-м уровне, $L$~-- максимальная интенсивность, $M=\Sum_0^L N_i$~общее количество пикселей. Эквализация: $i' = \frac{\Sum_{j=0}^i N_j}{M}L$. Если $n_i$~-- доля с $i$-м уровнем, то: $i' = L\Sum_{j=0}^i n_j$. \img{HEscheme} } \only<4>{ \begin{block}{Приведение гистограммы $p_r\arr p_z$} \begin{enumerate} \item Получение эквализованной гистограммы, $s_k$. \item Вычисление функции преобразования $G(z_q)=L\Sum_{j=0}^{q}p_z(z_j)$. \item Нахождение для каждого $s_k$ соответствующего значения $z_q$, для которого $G(z_q)$ наиболее близко к~$s_k$. \item Формирование приведенного изображения. \end{enumerate} \end{block} } \only<5,6,7>{ \begin{block}{Локальная гистограммная обработка} \only<5>{\img[0.8]{h1}} \only<6>{\img[0.8]{h2}} \only<7>{\img{localheq}} \end{block} } \end{frame} \begin{frame}{Эквализация гистограммы} \only<1>{M13: без и с эквализацией:\\ \smimg[0.48]{M13_nohisteq}\hfil\smimg[0.48]{M13_histeq} } \only<2>{M29: без и с эквализацией:\\ \smimg[0.48]{M29_nohisteq}\hfil\smimg[0.48]{M29_histeq} } \end{frame} \def\svec#1{\begin{smallmatrix}#1\end{smallmatrix}} \def\smat#1{\begin{pmatrix}#1\end{pmatrix}} \def\pb#1#2{\parbox{0.4\textwidth}{\centering{#1}\par\noindent\centering{\includegraphics{#2}}}} \begin{frame}{Пространственная фильтрация} \only<1>{ \begin{block}{} $w(s,t)$~-- ядро преобразования размера $m\times n$ ($m=2a+1$, $n=2b+1$), $f(x,y)$~-- исходное изображение, $g(x,y)$~-- результат. Преобразование: $$g(x,y) = \sum_{s=-a}^{a}\sum_{t=-b}^{b}w(s,t)f(x+s,y+t),$$ что является расширением одномерного преобразования: $$g(x)=\sum_{s=-a}^{a}w(s)f(x+s).$$ \end{block} }\only<2>{ \begin{block}{} $$f=\svec{0&0&0&1&0&0&0&0},\qquad w=\svec{1&2&3&4&5}.$$ \end{block} \begin{columns} \column{0.48\textwidth} \begin{block}{Корреляция, $v=f\star w$} $$0:\qquad\svec{0&0&0&0&0&0&0&1&0&0&0&0&0&0&0&0\\1&2&3&4&5\\}$$ $$3:\qquad\svec{0&0&0&0&0&0&0&1&0&0&0&0&0&0&0&0\\0&0&0&1&2&3&4&5\\}$$ $$7:\qquad\svec{0&0&0&0&0&0&0&1&0&0&0&0&0&0&0&0\\0&0&0&0&0&0&0&1&2&3&4&5\\}$$ $$a:\qquad\svec{0&0&0&5&4&3&2&1&0&0&0&0}$$ $$v:\qquad\svec{0&5&4&3&2&1&0&0}$$ \end{block} \column{0.48\textwidth} \begin{block}{Свертка, $v=f*w$} $$0:\qquad\svec{0&0&0&0&0&0&0&1&0&0&0&0&0&0&0&0\\5&4&3&2&1\\}$$ $$3:\qquad\svec{0&0&0&0&0&0&0&1&0&0&0&0&0&0&0&0\\0&0&0&5&4&3&2&1\\}$$ $$7:\qquad\svec{0&0&0&0&0&0&0&1&0&0&0&0&0&0&0&0\\0&0&0&0&0&0&0&5&4&3&2&1\\}$$ $$a:\qquad\svec{0&0&0&1&2&3&4&5&0&0&0&0}$$ $$v:\qquad\svec{0&1&2&3&4&5&0&0}$$ \end{block} \end{columns} }\only<3>{ \img[0.65]{imconv} }\only<4>{ \begin{columns} \column{0.48\textwidth} \begin{block}{} \pb{Идентичность}{Vd-Orig} $\smat{0&0&0\\0&1&0\\0&0&0}$\\[2pt] \pb{$f'(x,y)$}{Vd-Edge1} $\smat{1&0&-1\\0&0&0\\-1&0&1}$\\[2pt] \pb{Лапласиан}{Vd-Edge2} $\smat{0&1&0\\1&-4&1\\0&1&0}$\\[2pt] \pb{Лапласиан}{Vd-Edge3} $\smat{1&1&1\\1&-8&1\\1&1&1}$ \end{block} \column{0.48\textwidth} \begin{block}{} \pb{Резкость}{Vd-Sharp} $\smat{0&-1&0\\-1&5&-1\\0&-1&0}$\\[2pt] \pb{Размытие}{Vd-Blur2} $\dfrac{1}{9}\smat{1&1&1\\1&1&1\\1&1&1}$\\[2pt] \pb{Гаусс}{Vd-Blur1} $\dfrac{1}{16}\smat{1&2&1\\2&4&2\\1&2&1}$\\[2pt] \pb{LoG}{Vd-LOG} $\dfrac{1}{64}\smat{11&27&11\\27&-202&27\\11&27&11}$ \end{block} \end{columns} } \end{frame} \begin{frame}{Пространственная фильтрация FITS} \only<1>{Оригинал:\\ \smimg[0.5]{objFull}\;\smimg[0.5]{objCrop} } \only<2>{Фильтр Гаусса $1\times1$ пиксель:\\ \smimg[0.5]{gaussFull}\;\smimg[0.5]{gaussCrop} } \only<3>{Фильтр лапласиана гауссианы $1\times1$ пиксель:\\ \smimg[0.5]{lapgaussFull}\;\smimg[0.5]{lapgaussCrop} } \only<4>{Фильтр Прюитта (горизонтальный):\\ \smimg[0.5]{prewitthFull}\;\smimg[0.5]{prewitthCrop} } \only<5>{Фильтр Прюитта (вертикальный):\\ \smimg[0.5]{prewittvFull}\;\smimg[0.5]{prewittvCrop} } \only<6>{Простой градиент (через фильтры Прюитта):\\ \smimg[0.5]{gradientFull}\;\smimg[0.5]{gradientCrop} } \end{frame} \begin{frame}{} \only<1>{ \begin{block}{Медианная фильтрация} \centering{\includegraphics[width=0.4\textwidth]{image020} \hspace{3em} \includegraphics[width=0.4\textwidth]{image021}} \end{block} }\only<2>{ \begin{block}{Адаптивный медианный фильтр} Зона $K\times K$ пикселей, $I_{min}$, $I_{max}$, $I_{med}$, $I_{xy}$ (интенсивность в данной точке), $K_{max}$~-- максимальный размер зоны. \begin{enumerate} \item $A_1=I_{med}-I_{min}$, $A_2=I_{med}-I_{max}$; если $A_1>0$ и $A_2<0$ переход на 2, иначе $++K$; если $K0$ и $B_2<0$, вернуть $I_{xy}$, иначе вернуть $I_{med}$. \end{enumerate} \end{block} }\only<3>{ \centering{\includegraphics[width=0.35\textwidth]{imf_ori} \hspace{3em} \includegraphics[width=0.377\textwidth]{imf_mean}} \centering{\includegraphics[width=0.377\textwidth]{imf_median} \hspace{3em} \includegraphics[width=0.35\textwidth]{imf_adpmed}} } \only<4>{Медианная фильтрация $r=1$\,пиксель и $r=5$\,пикселей:\\ \smimg[0.5]{median1}\;\smimg[0.5]{median5} } \only<5>{Оригинал, адаптивная медиана ($r=1$) и медиана ($r=1$):\\ \img{oriadpmed} } \end{frame} \section{Частотные преобразования} \begin{frame}{Частотные преобразования} \begin{block}{Двумерное ДПФ} $$F(u,v)=\Sum_{x=0}^{M-1}\Sum_{y=0}^{N-1} f(x,y) \exp\Bigl(-2\pi i\bigl(\frc{ux}{M}+\frc{vy}{N}\bigr)\Bigr).$$ $$f(x,y)=\frac{1}{MN}\Sum_{u=0}^{M-1}\Sum_{v=0}^{N-1} F(u,v) \exp\Bigl(2\pi i\bigl(\frc{ux}{M}+\frc{vy}{N}\bigr)\Bigr).$$ Частотные преобразования: $$g(x,y)=\Re\left(\IFT{H(u,v)\cdot F(u,v)}\right),$$ где $g$~-- результат, $H$~-- \ж передаточная функция фильтра\н, $F$~-- Фурье-образ исходного изображения. \end{block} \end{frame} \begin{frame}{} Ложные частоты (aliasing, муар) \only<1>{\img{aliasing1}} \only<2>{\img[0.8]{aliasing2}} \only<3>{\img[0.8]{aliasing3}} \end{frame} \begin{frame}{} \begin{block}{Связь пространственных и частотных преобразований} Пусть $f(x,y)$~--- изображение размера $M\times N$, а $F(u,v)=\FT{f}$~--- его Фурье-образ. Тогда шаг по $u$ и $v$ определяется выражениями: $$\Delta u=\frac{1}{M\Delta x}, \quad \Delta v = \frac{1}{N\Delta y}.$$ \ж Смещение\н изображения (не оказывает эффекта на модуль БПФ): $$f(x,y)\exp[2\pi i (u_0x/M+v_0y/N)]\Leftrightarrow F(u-u_0, v-v_0),$$ $$f(x-x_0,y-y_0)\Leftrightarrow F(u,v)\exp[-2\pi i(x_0u/M+y_0v/M)].$$ В полярных координатах $f(r,\theta+\theta_0)\Leftrightarrow F(\omega, \phi+\theta_0)$, т.е. вращение изображения приводит к повороту Фурье-образа на тот же угол. Фурье-образ~--- периодическая функция, возможны краевые эффекты! \end{block} \end{frame} \begin{frame} \only<1>{ \begin{block}{Спектр и фаза} $F(u,v)=\Re(u,v)+\Im(u,v)=|F(u,v)|\e^i\phi(u,v)$, где $|F(u,v)|$~-- \ж спектр\н изображения, а $\phi(u,v)$~-- его\ж фаза\н (фазовый угол, $\phi(u,v)=\arctan\dfrac{\Im(u,v)}{\Re(u,v)}$). Зная компоненты образа, можно в Octave вычислить угол как \t{atan2(I,R)}. \ж Спектр мощности\н $P(u,v)=|F(u,v)|^2=\Re^2(u,v)+\Im^2(u,v)$. Спектры и фаза обладают симметрией: $|F(u,v)|=|F(-u,-v)|$, $R(u,v)=R(-u,-v)$, $\phi(u,v)=-\phi(-u,-v)$. $F(0,0)=\sum\sum f(x,y)=MN\left(\frac{1}{MN}\sum\sum f(x,y)\right)=MN\aver{f}$~--- пропорциональна среднему значению изображения. Удаление $F(0,0)/MN$ эквивалентно вычитанию среднего. \end{block} }\only<2>{\begin{columns}\column{0.3\textwidth} Изображение, спектр, центрированный спектр (\t{fftshift}) и логарифмическое преобразование центрированного спектра. \column{0.7\textwidth}\img{fft1} \end{columns} }\only<3>{ \img[0.7]{fft2} }\only<4>{Фазы центрированного, смещенного и повернутого прямоугольников \img{fftphases} } \end{frame} \begin{frame}{} НЧ-фильтр, ВЧ-фильтр, ВЧ-фильтр со смещением: \img{lphpfilter} \end{frame} \begin{frame}{} Краевые эффекты: изображение, НЧ-фильтр Гаусса без дополнения изображения нулями, НЧ-фильтр Гаусса с дополнением нулями. При расширении изображения симметричным дополнением края не будут так изменяться. \img{lpfilt.png} \end{frame} \begin{frame}{} \vspace*{-1em} \begin{columns} \column{0.4\textwidth} Изображение с муаром (скан газетного рисунка),\\ его спектр,\\ спектр после фильтрации,\\ изображение после фильтрации. \column{0.6\textwidth} \img[0.9]{ftfilt} \end{columns} \end{frame} \section{Сигнал--шум} \begin{blueframe}{} \only<1>{ \begin{block}{SNR} $$\SNR = \frac{N}{\sqrt{N}}= \sqrt{N},\qquad N=N_{star}+N_{sky}\quad\Arr$$ $$\SNR\approx\frac{N_{star}}{\sqrt{N_{star}+2N_{sky}}},\qquad N=t_{exp}\cdot R\quad\Arr$$ $$\SNR\approx\frac{R_{star}\sqrt{t_{exp}}}{\sqrt{R_{star}+2R_{sky}}}\quad\Arr\quad \SNR\propto\sqrt{t_{exp}}$$ $$R=R_0\cdot S_{mirror}\propto D_{mirror}^2\quad\Arr\quad \SNR\propto D_{mirror}$$ $$N_{meas}\text{ коротких экспозиций вместо одной:}\quad\sigma_{mean}=\frac{\sigma_{individ}}{\sqrt{N_{meas}}}\propto\frac{\sqrt{S}}{N_{meas}}$$ $$\SNR_{mean}=\frac{S/N_{meas}}{\sigma_{mean}}\propto\sqrt{S}=\SNR_{long}\quad\text{только если } \sigma\approx\sigma_{phot}!!!$$ \end{block} } \only<2>{ \begin{block}{Коррекция апертуры} % CCDPhotometryBook.pdf Почему изображение яркой звезды шире: несмотря на совершенно одинаковую PSF у обеих звезд, при сечении одинаковым порогом яркая звезда всегда <<больше>>. Увеличение апертуры \Arr увеличение шумов, необходимо использовать как можно меньшую апертуру. $$\Delta_N^{bright} = m(N\cdot \FWHM) - m(1\cdot\FWHM)\quad\Arr\quad m^{faint} = m(1\cdot\FWHM) + \Delta_N^{bright},$$ $m(x)$~-- звездная величина на апертуре~$x$. \end{block}\vspace*{-1em} \img[0.6]{fwhm} } \end{blueframe} \begin{frame}{} \only<1>{ Функции плотности вероятности разных шумов. \img{noicepdf} }\only<2>{ Гистограммы с шумами: нормальный, Рэлея, гамма: \img{difnoice} }\only<3>{ Гистограммы с шумами: экспоненциальным, равномерным, импульсным (<<соль--перец>>): \img{difnoice1} } \end{frame} \begin{frame}{} Фильтры: среднее арифметическое, гауссов, минимум по области, максимум по области, медианный, адаптивный медианный и т.п. Пример: медианный и адаптивный медианный фильтры по области $7\times7$ пикселей. \img{adpmed} \end{frame} \begin{frame} Удаление гармонических шумов частотными фильтрами. Изображение, спектр, маска фильтра, итог. \img[0.7]{filterft} \end{frame} \begin{frame}{Спасибо за внимание!} \centering \begin{minipage}{5cm} \begin{block}{mailto} eddy@sao.ru\\ edward.emelianoff@gmail.com \end{block}\end{minipage} \end{frame} \end{document}