Алгоритми за предварителна обработка на изображения. Основни алгоритми за обработка на изображения Използва усъвършенствани алгоритми за обработка на изображения, за да гарантира точност

Цифровият шум е дефект на изображението, който представлява произволно разположени области, които са близки до размера на пиксела и се различават от оригиналното изображение по яркост или цвят. Намаляването на шума играе важна роля при предаването, обработката и компресирането на видео последователности и изображения.

Видео шумът може да възникне по няколко причини:

1. Несъвършено оборудване за заснемане на видео.

2. Лоши условия на снимане – например нощно фото/видео заснемане, снимане при лошо време.

3. Смущения при предаване по аналогови канали - смущения от източници на електромагнитни полета, вътрешен шум на активните компоненти (усилватели) на преносната линия. Пример може да бъде телевизионен сигнал.

4. Неточности при филтриране при извличане на сигнали за яркост и цветова разлика от аналогов композитен сигнал и др.

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

Има различни видове шум в зависимост от естеството на произволното разпределение на шума в изображението. На практика най-често се срещат следните видове:

Бял гаусов шум

Един от най-често срещаните шумове е адитивният гаусов шум, който се характеризира с добавяне на стойности с нормално разпределение и нулева средна стойност за всеки пиксел в изображението. Терминът "добавка" означава, че този тип шум се добавя към полезния сигнал. Възниква, когато приемането на сигнала е лошо.

Цифров шум

Причината за цифров шум най-често се свързва с особеностите на използваната за снимане техника – обикновено с недостатъчна светлочувствителност на матрицата. Този тип шум се характеризира със замяна на някои от пикселите в изображението със стойности с фиксирана или произволна стойност. Ако яркостта на точките е приблизително равна, цифровият шум се нарича още „импулсен“. Ако интензитетът на точките може да варира от черно до бяло, този шум се нарича шум от сол и черен пипер.

Обикновено този тип шум засяга само малък брой пиксели в изображението.

Комбиниран шум

Много по-рядко се срещат случаите, когато изображението в еднакъв обем е шумно с гаусов шум и произволни импулси. Този набор се нарича комбиниран шум.

Дефекти при сканиране на изображението

Също така върху изображението могат да се появят външни ефекти, като пукнатини, драскотини, синини. Тези артефакти нямат хомогенна структура и определянето на тяхната форма и местоположение до голяма степен е извън математическия анализ. Дефекти от този вид могат да бъдат отстранени само чрез ръчна обработка на изображения, поради което те не се разглеждат в тази работа.

Алгоритми за премахване на шума

Има голям брой алгоритми за премахване на шум от изображения и те могат да се използват не само от специални програми за обработка, но и от някои фото и видео камери. Въпреки това все още няма универсален алгоритъм за филтриране, тъй като по време на обработката на изображението неизменно е необходимо да се избира между степента на елиминиране на нежеланите ефекти и запазването на малки детайли, които имат характеристики, подобни на шума. Освен това, алгоритъм, който лесно се справя с един вид шум, може само да развали изображението с друг вид шум.

Нека разгледаме няколко от най-известните алгоритми за потискане на шума на изображението.

Линейно осредняване на пикселите

Най-простата идея за премахване на шума е да се осреднят стойностите на пикселите в пространствен квартал. Тъй като шумът се променя независимо от пиксел на пиксел, шумът на съседните пиксели ще се компенсира взаимно, когато се добави. Посочен е правоъгълен прозорец, който се наслагва на свой ред върху всеки пиксел от изображението. Стойността на централния пиксел се изчислява въз основа на анализа на всички съседни пиксели, които попадат в областта на прозореца. Съответно, колкото по-голям е прозорецът, толкова по-осреднена стойност ще се получи в крайна сметка, което води до силен ефект на замъгляване.

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

Този методможе също да се приложи във времевия домейн, като се осреднява всеки пиксел върху съседни кадри от видео потока (всеки пиксел ще бъде осреднен за пиксели, разположени на една и съща позиция в съседни кадри).

Този алгоритъм е много прост, но не дава добър резултат, в същото време води до силно замъгляване на детайлите на изображението.

Гаусов филтър

Той има принцип на действие, подобен на предишния метод и също така принадлежи към броя на изглаждащите филтри. Намаляването на шума с помощта на линеен филтър за осредняване обаче има значителен недостатък: всички съседи на обработвания пиксел имат еднакъв ефект върху резултата, независимо от разстоянието им до него. Филтърът на Гаус също усреднява централния пиксел и неговите съседи в определена област, само че това се случва по определен закон, който се задава от функцията на Гаус.

Където параметър y задава количеството замъгляване, а параметър A осигурява нормализиране. В резултат на това централният пиксел на разглежданата област ще има най-голяма стойностсъответстващ на пика на гаусовото разпределение. Стойностите на останалите елементи ще имат все по-малко влияние с увеличаване на разстоянието от центъра.

Матричният филтър, изчислен по посочената формула, се нарича Гаусов; колкото по-голям е неговият размер, толкова по-силно е размазването (с фиксирано у). Дотолкова доколкото този филтъре отделимо, то може да бъде представено като:

Оттук следва, че конволюцията може да се извършва последователно от редове и колони, което води до значително ускоряване на метода за големи размери на филтъра.

Алгоритъм на 2Dcleaner

Заменя всеки пиксел в изображението със средната стойност на съседните пиксели, взети в област, ограничена от определен радиус. В този случай не се разглеждат всички точки в радиуса, а само тези, чиято стойност се различава от централния пиксел с не повече от някаква предварително определена стойност (праг). Това води до замъгляване на равномерно оцветените участъци от остри ръбове на обекти. Това намалява шума от ниско ниво в изображението, като същевременно запазва фините детайли непокътнати.

Средно филтриране

Линейните алгоритми се оказват много ефективни при потискане на гаусовия шум, когато съседните пиксели, въпреки че имат известно произволно разпределение на стойностите, все пак остават в рамките на определена средна стойност, характерна за региона, към който принадлежат. Понякога обаче трябва да се справите с изображения, изкривени от други видове смущения. Пример за такава интерференция е импулсният шум, който се проявява в присъствието на произволно разпръснати точки с произволна яркост в изображението. Осредняването в този случай „размазва” всяка такава точка в съседни пиксели, което води до влошаване на качеството на изображението.

Стандартният начин за потискане на импулсния шум е средното филтриране. Тази техника за нелинейна обработка на изображения елиминира отклоненията, но, за разлика от алгоритмите за линейно усредняване, оставя монотонните пикселни последователности непроменени. Благодарение на това средните филтри са в състояние да поддържат без изкривяване контурите на обектите и разликите между областите с различна яркост, като същевременно ефективно потискат некорелиран шум и малки детайли.

Принцип на филтриране: Задава се определен прозорец с странен размер, който се наслагва последователно върху всеки пиксел от изображението. Сред всички пиксели в разглежданата област, включително централната, се търси средната стойност, която в крайна сметка се присвоява на централния пиксел на областта. В този случай медианата означава медианният елемент от масива от сортирани пикселни стойности, принадлежащи на региона. Нечетният размер на прозореца е избран точно, за да се гарантира съществуването на медианния пиксел.

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

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

Изостряне на изображение

Почти всички алгоритми за потискане на шума в изображението водят до неговото замъгляване, в резултат на което се губят малки детайли, а възприемането на изображението е трудно. Филтърът за изостряне на изображението може частично да компенсира този негативен ефект и да възстанови загубения контраст на контура и цветовите преходи. Остротата може да зависи и от много други фактори - от качеството на обектива, от използваната диафрагма, от дебелината на антимуарния филтър, разположен върху основната матрица цифрови фотоапаратизамъгляване на изображението в различна степен. Също така, остротата на изображенията често трябва да се увеличи след намаляване на техния размер, защото това неизбежно губи част от информацията, а с това и яснотата на контурите.

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

Фигура 5.1 - Илюстрация на концепцията за "острота на контура"

Остротата на изображението зависи от големината на разликата в яркостта между областите (W), които образуват неговите контури, и от остротата на промяната в тази разлика (H).

Техниката на нерезко маскиране за първи път е използвана за обработка на филмови снимки. Методът, адаптиран за цифрова обработка на изображения, се различава малко от оригиналния: от изображението се изважда така наречената „нерезка маска“ - неговото замъглено и обърнато копие. Резултатът е ново изображение, съдържащо само светлите очертания на оригинала. Тъмните очертания могат да бъдат получени чрез просто обръщане на резултата.

Ако в бъдеще извадите тъмните контури от оригиналното изображение и добавите светли, получавате значително увеличение на контраста при всяка разлика в яркостта.

Можете да използвате всеки от филтрите за потискане на шума, като филтъра на Гаус, за да замъглите оригинала, за да получите „нерезка маска“.

Фигура 5.2 - Резултат от прилагането на нерезко маскиране

Операцията на конволюция доста често се използва при обработката на изображения. Освен за заточване се използва за размазване, увеличаване на яркостта, изсветляване и др.

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

Основният елемент на конволюцията е маската на конволюция - тя е матрица (с произволен размер и съотношение на страните). Тази маска често се нарича филтър, ядро, шаблон или прозорец. Стойностите на матричните елементи обикновено се наричат ​​коефициенти.

Най-често квадратната матрица се използва като конволюционно ядро.

Обработката на изображението чрез операцията на навиване е както следва: Централният елемент на матрицата, наречен „котва“, се наслагва последователно върху всеки пиксел от изображението. Новата стойност на разглеждания пиксел се изчислява като сума от стойностите на съседните пиксели, умножени по съответните коефициенти на маската на навиване.

Полученият ефект зависи от избраното конволюционно ядро.

Ядрото на филтъра за усилване на контраста има стойност, по-голяма от 1 в точката (0, 0), като общата сума на всички стойности е равна на 1. Например, филтърът за усилване на контраста е филтри с ядра, посочени от матрици:

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

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

Компенсация на разликата в осветеността

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

Тази ситуация се нарича "излишна светлина" и води до факта, че поради твърде яркото подпорно осветление се губят детайлите и цветът на обектите, разположени на фона на прекалено ярки обекти, като става трудно да се разграничат.

Често срещана е и ситуацията на липса на светлина. Това може да бъде причинено от снимане в тъмни помещения с лошо осветление, както и от ограничения диапазон на чувствителност на видео оборудването.

Алгоритъм на Retinex с единична скала

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

В такива случаи е необходимо да се приложи „интелигентна“ корекция на цветовете, която би могла да изравни осветлението в изображението, обработвайки светлите зони в по-малка степен от тъмните.

Тези изисквания са изпълнени от алгоритъма Single Scale Retinex, базиран на принципите на дизайна на рецепторите на ретината. Основната цел на алгоритъма е да раздели изображението на компоненти, които отговарят за осветлението и детайлите поотделно. Тъй като проблемите в изображението са свързани с осветлението на сцената, след като получи компонент, отговорен за осветлението, става възможно той да се трансформира отделно от изображението, като по този начин значително се повиши неговото качество.

Всяко изображение може да бъде представено като продукт на високочестотен сигнал (отражение - R) и нискочестотен сигнал (осветяване - I).

S (x, y) = I (x, y) * R (x, y) (5.6)


Фигура 5.3 - Представяне на изображението в алгоритъма Retinex.

Приблизително изображение на осветлението може да се получи с помощта на нискочестотно филтриране - с други думи, просто замъгляване на оригиналното изображение, например с филтър на Гаус.

където G - Гаусов филтър

Тъй като логаритъмът на сигнала не променя честотата и поради свойствата на логаритмичната функция (логаритъмът на произведението е равен на сумата от логаритмите на факторите), проблемът за разделяне на произведението на сигналите може да бъде опростено до задачата за разделяне на сумата от сигнали.

След това остава само да вземете експонента от получения сигнал, за да го върнете към първоначалната скала на амплитудата. Полученият високочестотен компонент може да бъде добавен към замъглено и изсветлено оригинално изображение, което действа като нов светлинен модел.

Ефектът, получен от изравняване на осветеността, може да е твърде силен (тъмните зони ще станат еднакви по яркост като светлите). За да намалите ефекта, можете просто да смесите обработеното изображение с оригинала в определена пропорция.

Гама корекция

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

Информацията за яркостта в аналогова форма в телевизията, както и в цифрова форма в повечето разпространени графични формати, се съхранява в нелинеен мащаб. Яркостта на пиксел на екрана на монитора може да се счита за пропорционална

където I е яркостта на пиксела на екрана на дисплея (или яркостта на цветните компоненти, червено, зелено и синьо поотделно),

V е числовата стойност на цвета от 0 до 1, и

d - индикатор за гама корекция.

Ако r е по-малко от 1, тогава характеристиките на предаване на нивата ще бъдат изпъкнали и полученото изображение ще бъде по-светло от оригинала. Ако r е по-голямо от 1, тогава характеристиките на трансфера на нива ще бъдат вдлъбнати и полученото изображение ще бъде по-тъмно от оригинала.

По подразбиране параметърът r е равен на 1, което съответства на линейната характеристика на предаването на нивата и липсата на гама корекция.

Избиране на контурите на изображение

Анализът на контурите може да се използва за описване, разпознаване, сравняване и търсене на графични обекти, представени като контури. Тъй като използването на контури изключва вътрешните точки на обекта от разглеждане, това може значително да намали изчислителната и алгоритмичната сложност на тези операции.

Фигура 5.4 - Промяна във формата на мощностната функция в зависимост от параметъра r

Контурът на обекта е списък от точки, които представляват определена крива в изображението, която разделя обекта от фона. Най-често се наблюдава скок в яркостта или цвета по контура.

За да опростите търсенето на контури в изображението, можете предварително да го бинаризирате.

Филтърът на Собел избира границите на обектите въз основа на тяхната яркост. Тъй като цветният компонент не се взема предвид, изображенията трябва първо да бъдат преобразувани в сиви скали.

Филтърът на Собел се прилага последователно към всеки пиксел, като се изчислява приблизителната стойност на неговия градиент на яркост. Градиентът за всяка точка от изображението (функция на яркостта) е двуизмерен вектор, чиито компоненти са хоризонталните и вертикалните производни на яркостта на изображението.

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

Че. резултатът от работата на оператора на Собел в точка в областта с постоянна яркост ще бъде нулев вектор, а в точка, лежаща на границата на области с различна яркост - вектор, пресичащ границата в посока на увеличаване на яркостта.

За да изчисли приблизителните стойности на производните във всяка точка от изображението, филтърът на Собел използва конволюция с матрица 3 × 3.

Коефициенти на Собел матрица:

Крайната стойност на градиента се изчислява чрез апроксимация по формулата:

| G | = | Gx | + | Gy |

Граничен детектор Кени

Въпреки че работата на Кени е извършена в първите дни на компютърното зрение (1986), граничният детектор на Кени все още е един от най-добрите детектори. Методът на Кени е многоетапен алгоритъм и включва следните стъпки:

1. Почистване на изображението от шум и ненужни детайли.

2. Почистване на изображението от шум и ненужни детайли.

3. Търсете градиенти на изображението, например чрез оператора Sobel.

4. Потискане на не-максимуми. Като граници са маркирани само местни върхове.

5. Филтриране с двоен праг. Потенциалните граници се определят от прагове.

6. Проследяване на пътища (Свързване на ръбове с пътища)

Тъй като най-малкият шум в изображението може да наруши целостта на неговите контури, се препоръчва да филтрирате изображението по всеки метод за намаляване на шума, преди да започнете търсенето. Поради високата скорост на работа и лекотата на изпълнение най-често се използва филтърът на Гаус. Ръбовете на изображението могат да бъдат в различни посоки, така че алгоритъмът на Кени използва четири филтъра за откриване на хоризонтални, вертикални и диагонални ръбове. С помощта на оператора за откриване на граници (например оператора на Собел) се получава стойността за първата производна в хоризонтална посока (Gy) и вертикална посока (Gx). От този градиент можете да получите ъгъла на посоката на границата:

Ъгълът на посоката на границата е закръглен до един от четирите ъгъла, представляващи вертикален, хоризонтален и два диагонала (например 0, 45, 90 и 135 градуса). Само онези пиксели, в които е достигнат максимумът на локалния градиент в посока на вектора на градиента, се декларират като граници. Стойността на посоката трябва да бъде кратна на 45 °. След потискане на не-максимуми, ръбовете стават по-прецизни и по-тънки.

На следващата стъпка чрез прагово филтриране за всеки разглеждан пиксел се определя дали той принадлежи към границите на изображението. Колкото по-висок е прагът, толкова по-равномерни ще бъдат намерените контури, но слабите ръбове могат да бъдат игнорирани. От друга страна, намаляването на прага увеличава податливостта на алгоритъма към шум. Изборът на граница на Кени използва два прага на филтриране: ако стойността на пиксела е по-висока от горната граница, тя приема максималната стойност (границата се счита за валидна), ако е по-ниска, пикселът се потиска, точки със стойност, попадаща в диапазона между праговете приемат фиксирана средна стойност (те ще бъдат прецизирани при следващата стъпка).

Последната стъпка в обработката на изображението е обвързването на отделните ръбове в еднакви контури. Пикселите, които са получили средната стойност в предишната стъпка, са или потиснати (ако не докосват нито един от вече откритите ръбове) или са прикрепени към съответния контур.

Сегментиране

Повечето изображения, получени от фото и видео оборудване, са растерни, тоест се състоят от цветни точки, подредени в правоъгълна решетка. Хората обаче възприемат света около себе си като съвкупност от цели обекти, а не като матрица от точки. Човешкият мозък е в състояние да комбинира различни детайли на изображението в хомогенни зони, като подсъзнателно го разделя на обекти. Този процес се нарича сегментиране и може да бъде приложен програмно при решаване на проблема с компютърния анализ на изображения и разпознаване на модели. Сегментирането се извършва в ранните етапи на анализа и качеството на неговото изпълнение може да окаже силно влияние върху неговата скорост и точност.

Методите за сегментиране могат да бъдат разделени на два класа: автоматични - не изискващи взаимодействие с потребителя и интерактивни - използващи въвеждане на потребителя директно в процеса.

В първия случай не се използва априорна информация за свойствата на регионите, но се налагат някои условия за разделянето на самото изображение (например всички региони трябва да са еднакви по цвят и текстура). Тъй като тази формулировка на проблема за сегментиране не използва априорна информация за изобразените обекти, методите от тази група са универсални и приложими за всякакви изображения.

За груба оценка на качеството на метода в конкретен проблем обикновено се записват няколко свойства, които една добра сегментация трябва да притежава:

§ еднородност на регионите (еднородност на цвета или текстурата);

§ несходство на съседните региони;

§ гладкост на границата на региона;

§ малък брой малки „дупки“ в рамките на регионите;

Прагова сегментация

Thresholding е най-простият метод, фокусиран върху обработката на изображения, отделните хомогенни области на които се различават по средна яркост. Въпреки това, ако изображението е неравномерно осветено, някои от обектите може да съвпадат по интензитет с фона, което ще направи сегментирането на прага неефективно.

Най-простият и в същото време често използван тип прагова сегментация е двоичното сегментиране, когато в изображението се разграничават само два вида хомогенни зони.

В този случай преобразуването на всяка точка от изходното изображение в изхода се извършва съгласно правилото:

където x0 е единственият параметър за обработка, наречен праг. Изходните нива на яркост y0 и y1 могат да бъдат произволни, те изпълняват само функциите на етикети, с помощта на които се маркира получената карта - приписвайки точките си съответно на класовете K1 или K2. Ако полученият продукт се подготвя за визуално възприятие, тогава често техните стойности съответстват на нивата на черно и бяло. Ако има повече от два класа, тогава по време на прагове трябва да се зададе семейство от прагове, което разделя яркостта на различните класове един от друг.

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

Сегментиране въз основа на разделяне на графика

Методите на теорията на графите са една от най-активно развиващите се области в сегментирането на изображения.

Общата идея на методите на тази група е следната. Изображението е представено под формата на претеглена графика с върхове в точките на изображението. Теглото на ръба на графика отразява сходството на точките в определен смисъл (разстоянието между точките в определен показател). Разделянето на изображението се моделира чрез изрязване на графика.

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

За намиране на разфасовката на минималната цена се използват различни методи: алчни алгоритми (на всяка стъпка се избира такъв ръб, така че общата цена на изрязването да е минимална), методи за динамично програмиране (гарантирано е, че чрез избор на оптимален ръб на всяка стъпка ще получим оптималния път), алгоритъмът Dijkstra и т.н.

Интерполация

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

По време на процеса на интерполация между пикселите на изображението се вмъкват допълнителни точки, чийто прогнозен тон и цвят се изчисляват с помощта на специален алгоритъм, базиран на анализа на наличните данни за съседните области. За съжаление, тъй като всяка интерполация е само приближение, изображението неизменно губи качество, когато се интерполира.

Интерполация на най-близкия съсед

Този алгоритъм е най-простият вид интерполация, просто увеличаване на всеки пиксел от изображението до необходимия мащаб. Изисква най-малко време за обработка, но дава най-лошите резултати.

Билинейна интерполация

Този тип интерполация се извършва за всяка координата на двумерната мрежа. В този случай изображението се разглежда като повърхност, цветът е третото измерение. Ако изображението е цветно, тогава интерполацията се извършва отделно за три цвята. За всяка неизвестна точка в новото изображение, билинейната интерполация отчита квадрата от четири околни известни пиксела. Среднопретеглената стойност на тези четири пиксела се използва като интерполирана стойност. В резултат на това изображенията изглеждат значително по-гладки от резултата от метода на най-близкия съсед.

Билинейната интерполация работи добре при големи цели на мащабиране, но доста размазва острите ръбове на изображението.

Бикубичната интерполация отива една стъпка по-далеч от билинейната интерполация, като се има предвид масив от 4x4 околни пиксела - само 16. Тъй като те са на различни разстояния от неизвестния пиксел, най-близките пиксели се претеглят повече при изчислението. Бикубичната интерполация произвежда значително по-резки изображения от предишните два метода и може би е оптимална по отношение на времето за обработка и качеството на изхода. Поради тази причина той стана стандартен за много програми за редактиране на изображения (включително Adobe Photoshop), драйвери за принтер и вградена интерполация на камерата.

Увеличеното изображение може да стане много по-малко рязко. Алгоритмите за интерполация, които запазват по-добре остротата, също са по-податливи на моар, докато тези, които елиминират моаре, са склонни да дават по-мек резултат. За съжаление, този компромис с мащабиране не може да бъде избегнат.

Един от най-добрите начиниза да се борите с това - нанесете неостра маска веднага след мащабирането, дори ако оригиналът вече е бил заточен.

5.2 Обосновка за избора на алгоритми, използвани в подсистемата

Основното изискване към разработения софтуерен пакет беше да се сведе до минимум забавянето при възпроизвеждане на видео поток по време на предварителната му обработка в компютърен клъстер. Освен това снимането може да се проведе при всякакви условия, което означава, че за кратко време беше необходимо да се внедрят голям брой прости филтри за неутрализиране на различни негативни ефекти. Освен това беше необходимо за кратко време да се проучат голям брой негативни фактори, които се появяват във видеото и да се внедрят прости филтри, за да ги неутрализират. Алгоритмите, които отговарят на представените изисквания, трябва да бъдат лесно достъпни, добре оптимизирани, високонадеждни и в същото време лесни за изпълнение. Функциите на библиотеката OpenCV имат такива свойства, следователно, при избора на специфични методи за внедряване на филтри за обработка на видео поток, приоритет беше даден на алгоритмите, съдържащи се в тази библиотека под една или друга форма.

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

В резултат на това бяха избрани следните алгоритми за внедряване на филтри за обработка на видео поток в изчислителен клъстер:

1. За премахване на “адитивен бял” шум е избран алгоритъмът на Гаус. Като най-разпространеният метод за намаляване на шума, той е много добре оптимизиран и следователно има висока скорост на работа.

2. За премахване на “добавения бял” шум е избран алгоритъмът на Гаус. Като най-разпространеният метод за намаляване на шума, той е много добре оптимизиран и следователно има висока скорост на работа.

3. За премахване на “импулсния” шум беше избрано средно филтриране. Този метод също е добре оптимизиран и е специално проектиран да елиминира импулсния и шума от сол и черен пипер.

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

5. Библиотеката OpenCV не съдържа алгоритми за корекция на цветовете – затова беше решено да се приложи най-разпространеният и добре документиран алгоритъм на Single Scale Retinex. Този метод е много ефективен, но изисква оптимизация за ускоряване на скоростта на работа.

6. Алгоритъмът на Кени е избран като метод за извличане на контурите, тъй като дава по-добри резултати от филтъра на Собел.

7. Алгоритъмът за пирамидална сегментация, представен в библиотеката OpenCV, работи изключително бавно, затова беше решено да се използва дискутираният по-рано алгоритъм за сегментиране върху графики.

8. интерполация - методът на бикубична интерполация е избран като най-разумния компромис между скоростта на работа и качеството на резултата.

Инсталиране и конфигуриране на използвания софтуер.

Използваният изчислителен клъстер работеше с GNU Linux (Ubuntu)

След монтажа операционна систематрябва да инсталирате няколко библиотеки, които поддържат четене и запис на файлове с изображения, рисуване на екрана, работа с видео и т.н.

Инсталиране на CMake

Проектът е изграден с помощта на CMake (необходима е версия 2.6 или по-нова). Можете да го инсталирате с командата:

apt-get install cmake

Може да имате нужда и от следните библиотеки:

build-essential libjpeg62-dev libtiff4-dev libjasper-dev libopenexr-dev libtbb-dev libeigen2-dev libfaac-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev

Инсталиране на ffmpeg

За да може opencv да обработва правилно видео файловете, библиотеката ffmpeg трябва да бъде инсталирана. Това става със следните команди:

1) Изтегляне на изходните кодове на библиотеката

wget http://ffmpeg.org/releases/ffmpeg-0.7-rc1.tar.gz

2) Разопаковане на архива с изходни кодове

tar -xvzf ffmpeg-0.7-rc1.tar.gz

3) Конфигурация на библиотеката

configure --enable-gpl --enable-version3 --enable-nonfree --enable-postproc

Enable-libfaac --enable-libopencore-amrnb --enable-libopencore-amrwb

Enable-libtheora --enable-libvorbis --enable-libxvid --enable-x11grab

Enable-swscale --enable-shared

4) Изграждане и инсталиране на библиотеката

инсталиране на GTK

Показването на OpenCV прозорци изисква инсталирана библиотека GTK + 2.x или по-нова, включително заглавни файлове (libgtk2.0-dev)

apt-get инсталирате libgtk2.0-dev

Инсталиране на Opencv

След инсталиране на всички свързани библиотеки, инсталацията на opencv2.2 се извършва със следните команди:

1) Изтегляне на изходните кодове на библиотеката OpenCV

http://downloads.sourceforge.net/project/opencvlibrary/opencv-unix/2.2/OpenCV-2.2.0.tar.bz2

2) Разопаковане на архива с изходни кодове

tar -xvf OpenCV-2.2.0.tar.bz2

3) генериране на Makefile с помощта на CMake.

4) изграждане и инсталиране на библиотеката OpenCV

5) Може също да се наложи да регистрирате пътя към библиотеките

експортиране LD_LIBRARY_PATH = / usr / local / lib: $ LD_LIBRARY_PATH

Инсталиране и компилиране на разработения софтуерен пакет

Трябва да се копира изходни кодовепрограми от диска, предоставен с тази обяснителна бележка. Копирайте пакетния файл build_all.sh в същата папка и след това го стартирайте. Ако gcc компилаторът е инсталиран в системата, изграждането ще се случи автоматично.

Представяне на изображения

Има два основни типа представяне на изображения - векторни и растерни.

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

Растерното изображение е една или повече матрици, които описват пространственото разпределение на характеристиките на изображението върху определена декартова координатна мрежа. В този случай изображението е изградено от много точки и има растерна структура. Основният елемент на растерното изображение е пиксел (съкратено от фразата "елементи на картината" - елементи на изображението), който има координати в растерната координатна система и някои атрибути (цвят, яркост, прозрачност и др.). Броят на пикселите в координатите X и Y (хоризонтални и вертикални) определя разделителната способност (измерението) на представянето на изображението. Цветът на пиксела се определя от дълбочината - броят на битовете, необходими за определяне на всеки цвят.

Растерните изображения, в зависимост от методите за настройка на цвета на пиксела и свойствата на оригиналното изображение, се разделят на:

Двоичен

полутон

Палитра

Пълен цвят

При двоично представяне цветът на пиксела може да бъде бял или черен и е кодиран в един бит. Изображението е матрица. Всеки елемент I (i, j) от тази матрица има стойност 0 или 1, където i е номерът на реда и е номерът на колоната j на елемента, съответстващ на дадения пиксел (фиг. 1).

В изображенията в сивата скала пикселите представляват стойности на яркостта в сивата скала. Матричните индекси, описващи изображение в сивата скала, определят позицията на пиксела върху растера и стойността на матричния елемент

- задава неговата яркост I (i, j) (фиг. 2).

Изображенията на палитрата се описват с две матрици (фиг. 3). Единият съхранява стойностите на индексите, които определят препратката към реда на матрицата на палитрата. Матрицата на палитрата е цветна карта. Съдържа 3 групи колони - съответстващи на червения цвят "R", зеления "G" и синия "B". Те също така задават цвета на съответния пиксел.

Палитрата е Nc 3 матрица, където Nc е броят на цветовете.

Алгоритми за предварителна обработка на изображения

Пълноцветните изображения са изградени в RGB формат и представляват три матрици R (i, j), G (i, j), B (i, j). Съответните елементи на всяка матрица съдържат стойностите на интензитета на червения, зеления и синия цвят за пиксела, определен от индексите на матрицата. По този начин пълноцветното изображение няма цветова карта и цветът на всеки пиксел е представен от три числа, взети от съответните матрици (фиг. 4).

Форматът на числата в матриците може да бъде цяло число или с плаваща запетая. Първият случай се отнася до така наречените дигитализирани изображения, получени с помощта на различни устройства – скенери, цифрови фотоапарати, телевизионни камери и др. Именно в този формат информацията за изображенията се съхранява в стандартни графични файлове.

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

За пълноцветни изображения един параметър е максималният брой цветове, които могат да бъдат представени в този формат. Най-често използваните изображения имат 16, 256, 65536 (High Color) и 10,7 милиона (True Color) цвята.

Алгоритми за предварителна обработка на изображения

0 0 0 0 1 1 1 0 0

120 122 125 128 115 117 118

1 0 0 0 1 1 1 1 0

119 121 124 125 128 130 133

1 1 0 0 1 1 0 0 1

122 122 124 123 127 126 128

120 121 123 125 127 125 126

1 1 1 0 1 1 0 0 0

118 110 109 108 108 109 110

0 0 1 0 0 1 0 0 1

Алгоритми за предварителна обработка на изображения

Индексна матрица

31 15 03 09

Матрица на палитра

Алгоритми за предварителна обработка на изображения

Пълноцветно изображение може да бъде представено не само в RGB формат, но и с помощта на други цветови системи.

В системата HSB цветът се представя от следните цветови характеристики: Hue - нюанс;

Saturation - насищане; Яркост - яркост.

Смята се, че тази цветова система съответства на особеностите на човешкото възприятие на цвета.

В системата LAB цветът се разглежда като комбинация от лекота и две независими стойности на цветност, които определят истинския цвят на пиксела. Chroma A - избира цвят от магента до зелено. Цветност B - вторият цветен компонент се избира от диапазона от жълто до циан.

Има и други системи за представяне на цветовете. Естествено, всички те са свързани и от едно представяне може да се получи друго. Разнообразието от цветови системи се дължи на задачите, решени с тяхна помощ. Например, по-удобно е да извършвате корекция на цветовете в системата LAB, да възпроизвеждате изображението на екрана на монитора в RGB системата, да печатате по-добре,

Алгоритми за предварителна обработка на изображения

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

Класификация на алгоритмите за предварителна обработка

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

Алгоритмите, насочени към подобряване на цветното възпроизвеждане на изображението, се наричат ​​алгоритми за корекция на цветовете. Тази група включва и алгоритми, които работят с полутонови изображения, които променят техните характеристики на яркост и контраст.

Алгоритмите, насочени към обработка на пространствените характеристики на изображенията, се наричат ​​алгоритми пространствено филтриране.Тази група включва алгоритми за потискане на смущенията, алгоритми за пространствено изглаждане и алгоритми за пространствено усилване, алгоритми за потискане и усилване на пространствените честоти.

Алгоритмите, които извършват геометрични операции върху изображение, се наричат алгоритми за геометрична обработка... Те включват:

Алгоритми за предварителна обработка на изображения

Изрязване на изображение - избор от оригиналното изображение на определена част от правоъгълна форма;

Преоразмерете изображението. Тези алгоритми използват различни методи за интерполация, които позволяват или да се попълнят правилно липсващите пиксели в увеличеното изображение, или да се преизчислят стойностите на пикселите, когато изображението се намали.

Завъртете изображението. Тези алгоритми завъртат оригиналното изображение под определен ъгъл, като правилно преизчисляват стойностите на пикселите, използвайки различни методи за интерполация.

Алгоритмите, извършващи трансформации от една цветова система в друга, се наричат алгоритми за преобразуване на цветовете... Те също така включват алгоритми за преобразуване на цветни изображения в сиви скали и алгоритми за бинаризация, които преобразуват оригиналното изображение в двоично.

Алгоритмите, които подчертават някои области в оригиналното изображение според различни, често неформални условия, се наричат ​​алгоритми за сегментиране. Пример за такъв алгоритъм може да бъде например алгоритъм, който трябва да избира области от текстова и графична информация върху изображение на документ, или алгоритъм, който избира области в текстово изображение, които се отнасят до отделни думи.

Алгоритми за предварителна обработка на изображения

Алгоритми за пространствено филтриране

Пространственото филтриране на изображение в математическа форма е дискретна конволюция на дискретно изображение с някаква импулсна характеристика на пространствения филтър

Ако (i, j)

Im (i m, j n) h (m, n), където:

m N11 n N21

Im, Ако матрици на оригиналните и филтрираните изображения, h матрица на импулсната характеристика на филтъра,

N 11, N 21 са долната и горната граница на колоните за импулсна характеристика, N 12, N 22 са лявата и дясната граница на редовете на импулсната характеристика.

Матрицата на импулсната характеристика може да бъде получена чрез изчисляване на пространствения филтър въз основа на посочените параметри. Голямо количество литература, посветена на цифровото филтриране, например, е посветена на методи за изчисляване на пространствени филтри. За практически изчисления можете да използвате стандартни математически пакети, например системата „MATLAB“ включва системата за изчисляване на филтъра „Image Filter Design“.

Имайте предвид, че филтрирането може да се извърши и в честотната област. В това

Алгоритми за предварителна обработка на изображения

В случай, редът на филтриране е както следва:

Преобразувайте изображение от пространствен домейн в честотен домейн с помощта на 2D дискретно преобразуване на Фурие

Извършете поелементно умножение на честотната матрица на изображението по честотната матрица на филтъра

Преобразувайте получения резултат в пространствена област, като използвате обратното двумерно дискретно преобразуване на Фурие.

аз (x, y)

Im (f x, f y)

Ако (f x, f y) Im (f x, f y) H (f x, f y)

Ако (fx, f y)

Ако (x, y).

Филтрирането на изображения в честотната област се използва рядко поради голямото количество изчисления. Този метод на филтриране обаче се използва широко в теоретичните изчисления при анализ на опциите за обработка на изображения. Тя ви позволява ясно да визуализирате какъв вид филтриране е необходимо. Например, ако трябва да подчертаете резки промени в яркостта на изображението, тогава е очевидно, че трябва да използвате високочестотни филтри. Напротив, ако трябва да се отървете от нискочестотния шум - трептящи контури, отделни пренапрежения и т.н., тогава трябва да използвате нискочестотни филтри. Конкретни параметри на филтъра се избират въз основа на честотния анализ на смущенията и свойствата на оригиналното изображение.

1

В тази статия са разработени алгоритми за обработка на изображения от интелигентни мобилни роботи на базата на размита логика и невронни мрежи, които осигуряват избор на ръбове в изображението с помощта на оператора Sobel. Същността на обработката на изображения е да приведе оригиналното изображение на сцената във форма, която позволява да се реши проблемът с разпознаването на нейните обекти. Разглеждат се основните проблеми, както и начините за решаването им при първоначалната подготовка на изображението за разпознаване. Подробно са анализирани алгоритъмът за предварителна обработка с помощта на размита логика и процесът на бинаризация на изображението. Изграден е алгоритъм за размита обработка за избор на граници в изображение с помощта на оператора на Собел.

обработка на изображение

размита логика

интелигентна система

разпознаване на обект

1. Веснин Е.Н., Вето А.В., Царев В.А. За разработването и прилагането на адаптивни оптоелектронни системи за техническо зрение // Автоматизация в индустрията, 2009.- № 11.- С. 48-52.

2. Гришин В.А. Системи за техническо зрение при решаване на задачи за управление на безпилотни летателни апарати // Сензори и системи, № 2, 2009.- С. 46-52.

3. Клевалин В.А., Поливанов А.Ю. Методи за цифрово разпознаване в техническите зрителни системи на промишлени роботи // Мехатроника, автоматизация, управление, 2008, № 5.- С. 56-56.

4. Михайлов С.В., Романов В.В., Зайкин Д.А. Техническа визуална система за диагностициране на процеса на рязане на материали // Бюлетин на компютъра и информационни технологии, 2007, бр.3.- С. 12-19.

5. Семин М.С. Преглед на решението на приложни проблеми с помощта на технически системи за зрение // http://www.videoscan.ru/page/718#13.

В момента автоматичната обработка на изображения е едно от най-важните направления в тази област изкуствен интелекти предполага разработването на роботизирани системи, които извършват разпознаване на образи. Един от най-ефективните инструменти за разпознаване на модели са системи, базирани на размита логика и изкуствени невронни мрежи. Техническата зрителна система (STZ) изисква няколко метода и алгоритма, които решават един и същ проблем. различни начини, като същевременно осигурява необходимите показатели за бързина и надеждност на идентификацията.

Същността на алгоритъма за хибридна обработка на изображения в STZ на мобилните роботизирани системи (MRC) е да приведе оригиналното изображение на сцената във форма, която позволява да се реши проблемът с разпознаването на нейните обекти.

Алгоритъм за предварителна обработка на изображения с помощта на размита система в STZ

За обработката на изображения, размитата обработка представлява много различни размити подходи, които са разбиране, представяне, обработка на изображения, сегменти и размити множества. В процеса на разпознаване на образи процесът на предварителна обработка на размити изображения е от голямо значение, тъй като от него зависи качеството на данните, които след това пристигат на входовете на невронната мрежа. В рамките на решаваната задача, разработеният алгоритъм за предварителна размита обработка може да бъде представен като следната последователност от стъпки (фиг. 1): заснемане на изображение с помощта на уеб камера; преобразуване на полученото цветно изображение в градационно изображение сиво; размита обработка на изображения.

Ориз. 1. Алгоритъм за предварителна обработка на размити изображения

По този начин, първата стъпка в предварителната размита обработка е преобразуването на изображението от цвят в сивото. Преобразуването на цветовете на изображението в сиви скали е както следва. Цялата цветова палитра е представена под формата на куб, чиито върхове съответстват на различни цветове... Сивата скала е разположена по диагонала на куба, свързвайки черния и белия върх.

За да преобразувате изображението в сивото, интензитетите на червения, зеления и синия компонент на цвета се подчертават за всяка точка в изображението и след това цветът се преобразува по следната формула:

където е новата стойност на цвета, е интензитетът на червения компонент на цвета, е интензитетът на зеления компонент на цвета и е интензитетът на синия компонент на цвета. Всеки алгоритъм извежда между 0 и 1 сива скала. Съществуват няколко метода за преобразуване на изображения само в сиви скали. Методът на лекотата използва средната стойност между двата най-значими и най-малко значими цвята:. Средният метод използва средната стойност на всичките три цвята: ... Методът за осветеност използва средно претеглена стойност на трите цвята, като се вземе предвид човешкото възприятие. Така че, тъй като човешкото око е най-податливо на зелен цвят, теглото му се счита за най-важно:. Използва се методът за определяне на яркостта софтуерза обработка на изображения. Той е реализирал функцията " rgb2gray "в MATLAB и това често се използва за компютърно зрение. Процесът на размита предварителна обработка има процес на преобразуване на изображения от цвят (RGB) в сиви скали с помощта на метод за определяне на яркостта. След това изображението се преобразува от сивото в черно-бяло (фиг. 2).

Ориз. 2. Процесът на преобразуване на изображения от цвят в сиви скали

Бинаризация на изображението по време на предварителна обработка

Целта на предварителната размита обработка на изображението е формиране и последващо подобряване на изображението, неговата бинаризация и кодиране (по-специално получаване на контурно представяне). Бинаризацията на изображението е процесът на преобразуване на изображение, състоящо се от градация на един цвят (в нашия случай сив) в двоично изображение, т.е. изображение, в което всеки пиксел може да има само два цвята (в нашия случай това са черно и бяло). В резултат на тази трансформация цветът на пиксела условно се счита за равен на нула или едно, докато пикселите с нулева стойност (в този случай бели пиксели) се наричат ​​​​фон, а пикселите със стойност, равна на единица (черни ) се наричат ​​преден план. Но двоичното изображение, получено в резултат на такава трансформация, е изкривено в сравнение с оригинала, което се характеризира с появата на пропуски и размазване на обекти, появата на шум на изображението в хомогенни области, както и загуба на целостта на структурата на обектите.

Загубата на целостта на обекта, както и разкъсването на обекта, възникват поради редица причини, като голямо неравномерно осветяване на обекта или докосване (или припокриване на предмети). Именно наслагването (или докосването - като специален случай на припокриване) причинява особена трудност при обработката. от една страна, изображението на няколко обекта може да се интерпретира като един обект, а от друга страна, алгоритми, които проверяват геометричната цялост на обекта, ще образуват празнини в местата на припокриване, представяйки тези области като фон. Сложността на обработката се крие в отсъствието на теоретично решение на проблема с интерпретацията на налагането на обекти, тъй като част от информацията се губи. При прилагането на алгоритми на практика една от посочените опции се приема като правилно решение - или пресечната точка се счита за продължение на текущия обект, или припокриващата се област ще се счита за фон.

Thresholding преобразува цветно или сиво изображение в черно-бяло изображение. Праговите трансформации са централни за приложенията за сегментиране на изображения поради техните интуитивни свойства и лекота на изпълнение. За всеки пиксел в изображението се изследва нивото му на интензитет, ако стойността му е над определено прагово ниво, това съответства на бялото. Ако е под зададения праг, се задава черен. Нивото на прага ще бъде между 0 и 255.

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

В процеса на бинаризация всички методи се разделят на две групи според принципа на конструиране на прагова повърхност - това са методи за глобална и локална бинаризация. В методите за глобална бинаризация на обработка, праговата повърхност е равнина с постоянна стойност на праговата яркост, т.е. праговата стойност се изчислява въз основа на анализа на хистограмата на цялото изображение и е еднаква за всички пиксели на оригиналното изображение. Глобалният праг има значителен недостатък - ако изходното изображение има неравномерно осветление, областите, които не са добре осветени, се класифицират изцяло като преден план. При методите за обработка на локална бинаризация, праговата стойност се променя за всяка точка въз основа на някои характеристики на областта, принадлежаща към някакъв квартал на дадената точка. Недостатъкът на този вид трансформация е ниска скоростработата на алгоритмите, свързани с преизчисляването на праговите стойности за всяка точка от изображението.

Като метод за решаване на проблема ще използваме метода на Бернсен. Методът се основава на идеята за сравняване на нивото на яркост на преобразувания пиксел с местните средни стойности, изчислени в неговата среда. Пикселите на изображението се обработват един по един, като се сравнява тяхната интензивност със средните стойности на яркостта в прозорците, центрирани в точките (фиг. 3).

Ориз. 3. Преобразуване на пиксел на изображението

Алгоритъм за размита обработка за извличане на ръбове и сегментиране на изображението

След преобразуване на изображението в черно-бяло се получава градиентно изображение с помощта на оператора на Собел и се подава към входовете за обработка на размити изображения (FOI) (фиг. 4).

Обработката на размити изображения се състои от три основни етапа: размиване на изображението, система за размити изводи, базирана на стойности за членство, и размиване на изображението. Основната обработка на размити изображения е в средната стъпка (размита система за извод). След прехвърляне на данните за изображението от нивото на сивото към размиването, системата за размити изводи се определя от стойностите на членството. Fuzzification – кодиране на данни от изображението и defuzzification – резултати от декодиране, които позволяват на изображенията да се обработват с размити методи.

Изображение - размер със сива скала и може да бъде дефиниран като масив от размити едноточкови набори (размити набори могат да се поддържат само с една точка), указващи стойността на членство на всеки пиксел във връзка с предварително определено свойство на изображението (напр. яркост, гладкост и т.н.).

(1)

където и са принадлежността на пиксел в обозначението на размити множества. Определянето на стойностите за членство зависи от специфичните изисквания на конкретното приложение и от свързаната база от знания.

Системният изход за входната система се дава по следната формула:

(2)

Ориз. 4. Алгоритъм за обработка на размити изображения за откриване на граници

Приложение на невронни мрежи за разпознаване на образи

Многослоен персептрон е изкуствена невронна мрежа, състояща се от няколко входни възела, които образуват входен слой, един или повече изчислителни слоя неврони и един изходен слой (фиг. 6). В такива мрежи сигналът, приложен към входния слой, се предава последователно в посока напред от слой към слой. Този вид ANN се използва успешно за решаване на различни проблеми, по-специално за проблема с разпознаването на образи.

Невронната мрежа за обратно разпространение се състои от няколко слоя неврони и всеки неврон от предишния слой е свързан с всеки неврон от следващия слой. В такива мрежи, след определяне на броя на слоевете и броя на елементите на всеки слой, е необходимо да се изчислят стойностите на теглата и праговете на мрежата по такъв начин, че да се сведе до минимум грешката в прогнозата. Тази задача се решава с помощта на различни алгоритми за обучение. Същността на тези алгоритми е да напаснат мрежата към данните за обучение. Грешката на внедрената мрежа ще бъде определена чрез стартиране на всички входни данни и сравняване на действителните стойности, получени на изхода на мрежата, с целевите стойности. След това получените разлики се сумират в обща, така наречена, функция за грешка, която характеризира общата грешка в мрежата. Но по-често сумата от квадратите на грешките се приема като функция за грешка.

Един от най-често срещаните алгоритми за обучение на многослойни невронни мрежи е алгоритъмът за обратно разпространение на грешката. Този алгоритъм изчислява градиентния вектор на повърхността на грешката. След това преместваме определено количество в посоката на вектора (той ще ни посочи посоката на най-стръмното спускане), където стойността на грешката ще бъде по-малка. Такъв последователен напредък постепенно ще доведе до минимизиране на грешката. Тук възникват трудностите при определяне на сумата, с която да се авансира. Ако размерът на стъпката е сравнително голям, това ще доведе до най-бързото спускане, но има възможност за "прескачане"

желаната точка или отидете в грешна посока, ако повърхността има доста сложна форма. Например, ако повърхността е тясно дере със стръмни склонове, алгоритъмът ще се движи много бавно, скачайки от един склон на друг. Ако размерът на стъпката е малък, това ще доведе до намиране на най-оптималната посока, но може значително да увеличи броя на повторенията. За постигане на най-оптимален резултат размерът на стъпката се взема пропорционално на стръмността на наклона с определена константа - скоростта на обучение. Изборът на тази константа се извършва експериментално и зависи от условията на определен проблем.

Нека въведем следната нотация. Означава се матрицата на теглата от входовете към скрития слой, а матрицата на теглата, свързващи скрития и изходния слой, е. За индекси ще използваме следната нотация: входовете ще бъдат номерирани само с индекс, елементите на скрит слой - с индекс, а изходите - с индекс. Броят на мрежовите входове е равен, броят на невроните в скрития слой е, броят на невроните в изходния слой е равен. Оставете мрежата да тренира върху проба,. Тогава алгоритъмът за обучение за многослоен персептрон ще изглежда така:

Стъпка 1. Инициализация на мрежата. Малки произволни стойности се присвояват на тегловните коефициенти, например от диапазона (-0,3, 0,3); са зададени - параметърът на точността на обучението, - параметърът на скоростта на обучение (като правило и може да бъде допълнително намален в процеса на обучение), - максимално допустимият брой итерации.

Стъпка 2. Изчислете текущия изходен сигнал. Едно от изображенията на обучаващата извадка се подава на входа на мрежата и се определят стойностите на изходите на всички неврони на невронната мрежа.

Стъпка 3. Настройка на синоптичните тегла. Изчислете промяната в теглата за изходния слой на невронната мрежа, като използвате формулите:

където , . Изчислете промяната в теглата за скрития слой, като използвате формулите: , където

Стъпка 4. Стъпки 2-3 се повтарят за всички обучителни вектори. Обучението приключва, когато функцията за грешка за всяко от обучаващите изображения достигне стойността на функцията за грешка, която не надвишава e или след максимално допустимия брой повторения.

На стъпка 2 е по-добре да се представят вектори от тренировъчната последователност към входа в произволен ред.

Броят на входовете и изходите на мрежата, като правило, се диктува от условията на проблема, а размерът на скрития слой се намира експериментално. Обикновено броят на невроните в него е 30-50% от броя на входовете. Твърде много неврони в скрития слой води до факта, че мрежата губи способността си да обобщава (тя просто запомня елементите на обучаващата извадка и не реагира на подобни модели, което е неприемливо за задачи за разпознаване). Ако броят на невроните в скрития слой е твърде малък, мрежата просто не е в състояние да се научи.

Заключение

Разглеждат се основните проблеми, както и начините за решаването им при първоначалната подготовка на изображението за разпознаване. Подробно са анализирани алгоритъмът за предварителна обработка с помощта на размита логика и процесът на бинаризация на изображението. Изграден е алгоритъм за размита обработка за избор на граници в изображение с помощта на оператора на Собел.

Рецензенти:

Гагарина Л.Г., доктор на техническите науки, професор, ръководител на катедрата по информатика и софтуер за компютърни системи, Национален изследователски университет МИЕТ, Москва.

Портнов Е.М., доктор на техническите науки, професор в катедра „Информатика и софтуер за компютърни системи“, ръководител на Научно-изследователска лаборатория „Контролни информационни системи“ на Националния изследователски университет „МИЕТ“, Москва.

Библиографска справка

Aung Ch.Kh., Tant Z.P., Fedorov A.R., Fedorov P.A. РАЗРАБОТВАНЕ НА АЛГОРИТМИ ЗА ОБРАБОТКА НА ИЗОБРАЖЕНИЯ ОТ ИНТЕЛИГЕНТНИ МОБИЛНИ РОБОТИ, ОСНОВАНИ НА РАЗМИТА ЛОГИКА И НЕВРОННИ МРЕЖИ // Съвременни проблеминаука и образование. - 2014. - No 6 .;
URL: http://science-education.ru/ru/article/view?id=15579 (дата на достъп: 01.02.2020 г.). Предлагаме на вашето внимание списанията, издавани от "Академията по естествени науки"

ДИГИТАЛЕН ЛЕЧЕНИЕ СИГНАЛИ

Тема 17. ОБРАБОТКА НА ИЗОБРАЖЕНИЯ

Няма нищо, каквото и да се осмелява въображението на човек.

Тит Лукреций. Римски философ и поет. 1 век пр.н.е NS

Въображението е добро нещо. Но извадете клошаря от мазето, измийте го, превърнете го в Аполон, опаковайте го в кибритена кутия и го изпратете на приятел електронна пощадобра графична програма ще се справи по-добре.

Анатолий Пишминцев, новосибирски геофизик от Уралското училище. XX век

Въведение.

1. Основни понятия. Графично представяне на изображения. Представяне на цвета в компютърната графика. Цветен модел RGB. CIE XYZ цветова система.

2. Геометрични трансформации на растерни изображения. Области и етапи на трансформация. Вземане на проби. Интерполационна серия от реконструкция на двуизмерен сигнал. Честотно изкривяване на изображенията и тяхното елиминиране. Пресемплиране на изображения.

3. Филтриране на изображения. Линейни филтри. Изглаждащи филтри. Нарастващи контрастни филтри. Филтри за разлика. Двумерна циклична конволюция. Нелинейни филтри. Прагово филтриране. Средно филтриране. Екстремни филтри.

4. Компресиране на изображения. Алгоритми за кодиране с дължина на повторението (RLE). Алгоритми на речника. Алгоритми за статистическо кодиране. Компресиране на изображение с загуба. Оценка на загубата на изображение. Преобразуване на Фурие. Вейвлет трансформация.

ВЪВЕДЕНИЕ

Обхватът на изследванията в областта на цифровите изображения нараства бързо. Това е така, защото обработката на изображения е многоизмерна обработка на сигнали и повечето сигнали в реалния свят са многоизмерни.


Изображението в математическо представяне е двуизмерен сигнал, който носи огромно количество информация. Цветно изображение 500 × 500 елемента е масив от няколкостотин хиляди байта. Такава информация може да бъде обработена само чрез рационална организация на изчисленията. За специфични задачи за обработка на изображения могат да се прилагат ефективни техники за обработка, като се вземат предвид характеристиките и ограниченията на тази конкретна задача. Но ако говорим за обработка на изображения за решаване на широк клас проблеми, тогава е необходимо да се отделят набор от стандартни операции, от които е възможно да се изградят алгоритми за решаване на произволни проблеми. Те включват линейни трансформации, 2D конволюция и 2D дискретни трансформации на Фурие.

Въпреки това, нелинейните трансформации също се използват широко в обработката на изображения. Особеността на изображенията е, че отделните елементи на изображението са в определена връзка със съседните елементи. Следователно повечето алгоритми за преобразуване на изображения са локални по природа, тоест обработват изображения от групи елементи, разположени в квартал около даден. Линейните трансформации удовлетворяват свойството на местността и позволяват изграждането на алгоритми, чиято изчислителна сложност зависи малко от размера на околния квартал. Същите свойства се изискват от нелинейните трансформации на изображения. Класът на такива трансформации включва алгоритми, които се наричат ​​алгоритми за филтриране на ранг, базирани на изчисляване на локална статистика за ранг на изображения. При изчисляване на ранговите статистики и техните производни са възможни опростявания, свързани с информационната излишък на изображенията. Най-известният алгоритъм от този клас е алгоритъмът за медианно филтриране. Други примери за алгоритми за ранг са екстремни филтриращи алгоритми, които заменят анализирания елемент на изображението с максимум или минимум в квартал. Друго свойство на алгоритмите за ранг е локалната адаптация към характеристиките на обработеното изображение и възможността за тяхното използване не само за изглаждане и почистване от шум, но и за извличане на характеристики при автоматично разпознаване на изображение.

При обработката на изображения широко се използват методите за обработка на едномерни сигнали, ако е възможно да се обобщят до многомерни сигнали. В същото време трябва да се има предвид това математически методиописанията на многомерните системи не са пълни. Многомерните системи имат голям брой степени на свобода, а дизайнът им придобива гъвкавост, която не е присъща на едномерните системи. В същото време многомерните полиноми не се разлагат на прости фактори, което усложнява анализа и синтеза на многомерни системи.

17.1. Основни понятия

Графично представяне на изображения. За представяне на графична информация на двуизмерна равнина (екран на монитора) се използват два подхода: растер и вектор.

При векторния подход графичната информация се описва като съвкупност от абстрактни геометрични обекти – линии, сегменти, криви, правоъгълници и т. н. Векторното описание предполага априорно познаване на структурата на изображението.

Растерната графика оперира с произволни изображения под формата на растери. Растерът е описание на изображение в равнина чрез разделянето (дискретизирането) на идентични елементи в обикновена решетка и присвояването на собствен цвят и всякакви други атрибути на всеки елемент. Най-простият растер е правоъгълен, най-икономичният по отношение на броя на пробите за предаване на изображение е шестоъгълен. От математическа гледна точка растерът е частично постоянна апроксимация в равнината на непрекъсната функция на изображението.

Растерният елемент се нарича пиксел. Стандартна идентификация на пикселите:


f (i, j) = (A (i, j), C (i, j)), (17.1.1)

където A (i, j) Ì R2 - пикселна площ, C (i, j) Î C - атрибут на пиксела (обикновено цвят). Най-често се използват два вида атрибути:

C (i, j) = I (i, j) - интензитет на пиксела (яркост);

C (i, j) = (R (i, j), G (i, j), B (i, j)) - цветови атрибути в цветовия модел RGB.

В матрична форма:

Mij ​​= (Aij, Cij).

При дискретизиране на непрекъснати изображения, стойностите на Aij могат да бъдат определени по два начина, или като стойности на точките Aij = (i, j), за които са дефинирани атрибутите Cij, или като стойности на квадрати Aij = (i, i + 1) × (j, j + 1) или всяка друга форма, с определянето на Cij чрез средните стойности в тази форма (фиг. 17.1.1).

На практика, като правило, X и Y са ограничени набори от неотрицателни цели числа на квадратен или правоъгълен растер със съотношение на ширината към височината на растера, което се записва във формата, напр. "4: 3".

Представяне на цвета в компютърната графика. Концепцията за цвета се основава на възприемането от човешките очи на електромагнитни вълни в определен честотен диапазон. Дневната светлина, която възприемаме, има дължини на вълната λ от 400 nm (виолетово) до 700 nm (червено). Описанието на светлинния поток може да бъде неговата спектрална функция I (λ). Светлината се нарича монохроматична, ако нейният спектър има само една специфична дължина на вълната.

Има два вида рецептори на ретината: пръчици и конуси. Спектралната чувствителност на пръчките (фиг. 17.1.2) е право пропорционална на яркостта на падащата светлина. Конусите са разделени на три типа, всеки от които има определена чувствителност в ограничени диапазони с максимуми за червени, зелени и сини цветове и рязко губят чувствителността си в тъмното. Податливостта на окото към синьо е значително по-ниска, отколкото към другите две. Важно свойство на човешкото възприятие на светлината е линейността, когато се комбинират цветове с различни дължини на вълната.

Цветен модел RGB (Red, Green, Blue - червено, зелено, синьо) в компютърната графика в момента е най-разпространено. В този модел спектралната функция е представена като сума от кривите на чувствителността за всеки тип конус с неотрицателен коефициенти на тежест(нормализирани от 0 до 1), които се обозначават като R, G и B. Моделът се характеризира със свойството на адитивност за получаване на нови цветове. Например, кодирането на спектрални функции:

Черно: fчерно = 0, (R, G, B) = (0,0,0);

Лилаво fviolet = fred + fblue, (R, G, B) = (1,0,1);

Бяло fбяло = fred + fgreen + fblue, (R, G, B) = (1,1,1).

Триизмерното цветово пространство на RGB модела е показано на фиг. 17.1.3. Поради особеностите на възприемането на светлината от рецепторите, не всички цветове, видими за хората, са представени в този модел. Делът на възпроизводимите цветове обаче е много по-висок от дела, който не е представен в този модел.

CIE XYZ цветова система. Международният стандарт за цветово представяне CIE (CIE - Commission Internationale de l "Eclairage) е приет през 1931 г. от Международната комисия по осветяване, той дефинира три основни функции ρX (λ), ρY (λ), ρZ (λ), в зависимост от линейните комбинации на дължината на вълната с неотрицателни коефициенти (X, Y и Z) произвеждат всички видими от човека цветове. Тези функции отчитат относителното възприемане на интензитета на светлината от рецепторите на окото. В триизмерното пространство, Цветовата система CIE образува конус в първия квадрант и се използва за висококачествено показване на цветни изображения.

17.2. Геометрични трансформации на растерни изображения

Области и етапи на трансформация. Изображенията могат да бъдат разделени на текстура и детайлност. В текстурните изображения всички проби (елементи) носят информация (изображението на телевизионния екран). Подробно изображение е изображение, върху което можете да подчертаете пречещи обекти, фона и полезни обекти.

Има три основни групи алгоритми за обработка на изображения на компютри:

1. Първична (предварителна) обработка на изображението с цел възстановяване, почистване от случаен шум, подобряване на качеството, коригиране на геометрични изкривявания на оптичните системи (дефокусиране, аберациии др.).

2. Описание на изображения, разпознаване на образи. Извършва се за определяне на параметрите на детайлите на изображението и включва: намиране на области на изображението, които са еднакви по ниво на осветеност и цвят, подчертаване на характеристиките на формата на изображението, определяне на координатите на специални точки на обекти и др.

3. Ефективно кодиране за намаляване на обема при предаване и съхранение.

Повечето от методите за предварителна обработка се основават на използването на филтри с инвариантно линейно пространство (LPI). Линейните алгоритми се изпълняват с помощта на двумерни аналози на едномерни FIR и IIR филтри. Те могат да се използват например при внедряване на филтри за намаляване на шума в изображенията.

FIR филтрите се реализират по метода на конволюция. Предимството на 2D FIR филтрите е яснота, простота и абсолютна стабилност. IIR филтрите се реализират с помощта на диференциални уравнения и z-трансформации. Те са по-бързи от FIR филтрите, но могат да бъдат нестабилни. Синтезът на двумерни IIR филтри се различава от синтеза на едномерни филтри, тъй като за двумерна функция не е възможно да се изберат полюсите в изрична форма.

Може да са необходими и нелинейни методи за възстановяване на изображения и подобряване на тяхното качество. Така например, за да се потисне шума и в същото време да се запази контурната част на изображенията, е необходимо да се използват нелинейни или линейни пространствено неинвариантни (LPNI) филтри, които се реализират чрез алгоритми за ранг. Всички нелинейни филтри за ранг са базирани на бързи алгоритми за локално изчисляване хистограми.

Един от тези методи е средното филтриране. Използването на средни филтри е ефективно за потискане на някои видове шум и периодични смущения без едновременно изкривяване на сигнала, например за потискане на изблици от шумови пикове, включително прекъсвания на линията. Методът може да се използва и за решаване на проблеми, свързани с разпознаването, например за подчертаване на тънки линии и малки изолирани обекти.

Алгоритмите за описание на изображения и разпознаване на образи обикновено са нелинейни и евристични по природа. Характеристиките на обектите обикновено са площта на изображението на обекта, периметърът на контура на изображението, съотношението на площта към квадрата на периметъра на изображението. Формата на обекта може да се характеризира с радиуса на окръжност, вписана в изображението или описана около изображението на обекта, дължината на минималния и максималния радиус-вектор от „центъра на масата“ на изображението.

Вземане на проби. Трансформациите на изображения в компютър и съхранението на обработени данни се извършват в дискретна форма. Извадката се използва за получаване на дискретно представяне от непрекъснати аналогови изображения на реалния свят. На практика се осъществява от входни устройства (цифрова камера, скенер или други). За визуално възприемане на обработени изображения на изходни устройства (дисплей, плотер и др.), аналоговото изображение се реконструира според неговото дискретизирано представяне.

В най-простия случай на черно-бели изображения имаме двуизмерен масив sa (x, y). За цветни изображения в модела RGB, като се вземе предвид свойството адитивност при добавяне на цветове, всеки слой от R, G и B също може да се разглежда и обработва като двуизмерен масив, с последващо сумиране на резултатите.

От методите за обобщаване на едномерно периодично вземане на проби към двумерен случай, най-простият е периодичното вземане на проби в правоъгълни координати:

s (n, m) = sa (nDx, mDy),

където Dx и Dy са хоризонтални и вертикални интервали на семплиране на двумерен непрекъснат сигнал sa (x, y) с непрекъснати координати x и y. По-долу стойностите на Dx и Dy, както в едномерния случай, се приемат за равни на 1.

Извадката на двуизмерен сигнал също води до периодизация на неговия спектър и обратно. Условието за информационна еквивалентност на координатното и честотното представяне на дискретен сигнал също се запазва при равен брой пробни точки в основните диапазони на сигнала. За правоъгълна извадка, директната и обратната трансформация на Фурие се определя от изразите:

S (k, l) = s (n, m) exp (-jn2pk / N-jm2pl / M), (17.2.1)

S (k, l) = exp (-jn2pk / N) s (n, m) exp (-jm2pl / M), (17.2.1 ")

s (n, m) = S (k, l) exp (-jn2pk / N-jm2pl / M). (17.2.2)

s (n, m) = ехр (-jn2pk / N) S (k, l) ехр (-jm2pl / M). (17.2.2 ")

Ориз. 17.2.1. Периодизация на спектъра.

Тези изрази показват, че двуизмерен DFT върху правоъгълен растер за извадка на данни може да бъде изчислен с помощта на едномерни последователни DFT. Вторите суми от изрази (17.2.1 ") и (17.2.2") са едномерни DFT на секциите на функциите s (n, m) и S (k, l) по линиите n и k, съответно , а първите са едномерни DFT на изчислените функции в сеченията по m и l. С други думи, началните матрици със стойности s (n, m) и S (k, l) се преизчисляват първо в междинни матрици с DFT по редове (или по колони), а междинните матрици - в крайни матрици с DFT по колони (или съответно по редове).

С цел периодичното повторение на спектъра (фиг. 17.2.1), причинено от семплирането на аналоговия сигнал с честота Fx = 1 / Dx и Fy = 1 / Dy, не променя спектъра в основния честотен диапазон (по отношение на спектъра на оригиналния аналогов сигнал) е необходимо и е достатъчно максималните честотни компоненти fmax в спектъра на аналоговия сигнал, както в редове, така и в колони, да не надвишават честотата на Найкуист (fmax. x £ fN = Fx / 2, fmax. y £ fM = Fy / 2). Това означава, че честотата на дискретизация на сигнала трябва да бъде най-малко два пъти по-голяма от максималната честотна компонента в спектъра на сигнала:

Fx ³ 2fmax. x, Fy ³ 2fmax. y, (17.2.3)

което гарантира, че спектралните функции достигат нулеви стойности в краищата на основния диапазон на спектъра.

Интерполационна серия от реконструкция на двуизмерен сигнал. Ако непрекъснатият сигнал sa (x, y) е сигнал с ограничен спектър и периодите на семплиране са избрани достатъчно малки и спектрите на съседните периоди не се припокриват:

Sa (Wx, Wy) = 0 за | Wx | p / Dx, | Wy | p / Dx,

тогава, както в едномерния случай, сигналът sa (x, y) може да бъде реконструиран от дискретен сигнал с помощта на двумерен аналог от серията Котельников-Шенън:

sa (x, y) = Sn Sm s (n, m) . (17.2.4)

Честотно изкривяване на изображенията и тяхното елиминиране. Сигнал с неограничен спектър също може да бъде семплиран, но в този случай има алиасинг в съседни периоди, докато високите честоти, по-високи от честотите на Найкуист, ще бъдат "маскирани", както в едномерния случай, под ниските честоти на основен период. Ефектът на "отражение" от границите на периода дава още по-сложна картина поради интерференцията на честотите, отразени в различни координати. Подобен ефект, известен като псевдоним, също ще възникне, когато изображенията са с недостатъчна семплиране. Този ефект може да се наблюдава особено ясно при резки контрастни промени в яркостта.

За борба с подобни явления се използва предварително филтриране (antialiasing) - предварителна конволюция на аналогово изображение с функция за претегляне на филтъра, която отрязва високочестотните компоненти, които могат да доведат до алиасинг. В двуизмерния случай филтрирането се описва по следния начин:

z (x, y) = h (x ", y") ③③ s (x-x ", y-y"). (17.2.5)

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

На фиг. 3 и по-долу, Таблица 17.2.1 показва примери за най-често срещаните едномерни филтри срещу заглаждане. Те могат да бъдат изпълнени под формата на аналогови филтри и могат да се използват, например, при предаване на телевизионни линии с изображения в аналогова форма по радиоканали (хоризонтално антиалиасинг). По принцип подобна операция може да се извърши върху колони (двойно - изображение) и след като изображението бъде сумирано, ще се извърши пълна операция за сглаждане, но този метод принадлежи повече към областта на специалните научни изследвания.

Таблица 17.2.1.

Основни функции за тегло

Времеви прозорец

Функция за тегло

Преобразуване на Фурие

естествен (P)

П (t) = 1, | t | £ t; П (t) = 0, |t |> t

P (w) = 2t sinc

Бартлет (D)

B (w) = t sinc2 (wt / 2).

Хенинга, Ганна

p (t) = 0,5

0,5P (w) + 0,25P (w + p / t) + 0,25P (w-p / t)

Хаминг

p (t) = 0,54 + 0,46 cos (pt / t)

0,54P (w) + 0,23P (w + p / t) + 0,23P (w-p / t)

Carre (2-ри прозорец)

p (t) = b (t) sinc (pt / t)

t · B (w) * П (w), П (w) = 1 за | w |

Лаплас-Гаус

p (t) = exp [-b2 (t / t) 2/2]

[(t / b) exp (-t2w2 / (2b2))] ③ П (w)

Двумерните аналози на едномерни филтри f1 (x) са конструирани в два варианта на симетрия: или като функция на радиуса:

f2 (x, y) = f1 (),

или като произведение:

f2 (x, y) = f1 (x) × f1 (y).

Първият вариант е по-правилен, но вторият има свойството на отделимост, т.е. двумерната конволюция може да се извърши от две едномерни навивки последователно по редовете с f1 (x) и по колоните с f1 (y).

Пресемплиране на изображението или повторната дискретизация е промяна в честотата на дискретизация на цифров сигнал. За цифрови изображения това означава преоразмеряване на изображението.

Има различни алгоритми за повторна семплиране на изображения. Например, за да се увеличи изображението 2 пъти с помощта на метода на билинейна интерполация, междинните колони и редове се получават чрез линейна интерполация на стойностите на съседни колони и редове. Всяка точка от новото изображение може да се получи като претеглена сума от по-голям брой точки в оригиналното изображение (бикубична и други видове интерполация). Най-високо качество се получава при използване на алгоритми, които отчитат не само времето, но и честотната област на сигнала.

Помислете за алгоритъм за повторна дискретизация с максимално запазване на честотната информация на изображението. Ще разгледаме работата на алгоритъма върху едномерни сигнали, тъй като двуизмерното изображение може първо да бъде разтеглено или компресирано хоризонтално (по редове) и след това вертикално (по колони), а повторното вземане на проби на двуизмерно изображение може да бъде сведени до повторно дискретизиране на едномерни сигнали.

Да предположим, че имаме едномерен сигнал (фиг. 17.2.4), определен на интервала 0-T и семплиран със стъпка Dt = 1 (N интервала). Необходимо е да се "разтегне" сигнала m пъти. Спектърът на сигнала, показан на фигурата, се изчислява чрез бързата трансформация на Фурие (FFT, броят на извадките от спектъра е равен на броя на сигналните извадки) и се дава в основния FFT диапазон (0-2p, честота на Найкуист wN = p / Dt = p, или 0.5N според номерирането на спектърните проби със стъпка по протежение на спектъра Df = 1 / T или Dw = 2p / T). Има 2 стъпки за извършване на разтягане.

Първата стъпка е интерполация с нули, което увеличава дължината на сигнала с m пъти. (фиг. 17.2.5). Необходимо е да се умножат всички проби от оригиналния сигнал по m и след това след всяка проба от сигнала да се вмъкне m-1 нулева стойност. На интервала 0-T, чиято стойност остава непроменена, сега се намира m пъти повече интервали на вземане на проби (mN), а новата стъпка на вземане на проби ще бъде равна на Dx = Dt / m. Съответно новата честота на Найкуист за този сигнал е mp / Dt = mp. Но физическата стойност на стъпката на спектъра в честотни единици е обратна на физическата стойност на интервала за настройка на сигнала (Df = 1 / T) и следователно FFT от mN точки на сигнала ще изчисли mN точки от спектъра в основният FFT диапазон от 0-2 pm със стъпка от спектъра на оригиналния сигнал, в който ще присъстват m-периоди от спектъра на оригиналния сигнал (един основен и m-1 страничен).

Втората стъпка е да се филтрират страничните ленти на спектъра с помощта на нискочестотен филтър или във времевия, или в спектралния домейн. На фиг. 17.2.6, спектърът беше изчистен и беше извършена обратната трансформация на Фурие, в резултат на което се получи сигнал m пъти по-дълъг от оригиналния с пълно запазване на цялата честотна информация.

По подобен принцип алгоритъмът за компресиране (децимация) на сигнала може да бъде конструиран с коефициент n, като редът на стъпките е обратен. Когато сигналът е компресиран, стъпката на дискретизация на сигнала се увеличава и съответно честотата на Найкуист намалява, докато отсечените високи честоти (шум и незначителни високочестотни части от спектъра на сигнала) ще се отразяват от границата на главния диапазон и се добавя към основната информация, създавайки изкривяване. За да се елиминира това явление, първо, сигналът се филтрира нискочестотно с гранична честота, равна на новата честота на Найкуист (антиалиасинг), и едва след това сигналът се унищожава чрез децимация.

При повторно семплиране само във времевия домейн, алгоритмите за разтягане и компресиране по правило се комбинират в един последователен процес с уточняване на промяната в стъпката на дискретизация под формата на съотношението m / n, което прави възможно задаване на цяло число стойности на m и n с дробни стойности на промяната в стъпката на вземане на проби. Това значително опростява алгоритмите и повишава ефективността и качеството на тяхната работа. Така например, когато сигналът се разтяга 1,5 пъти при m / n = 3/2, сигналът първо се разтяга 3 пъти (просто и равномерно добавяне на нули към всички проби, след това се извършва нискочестотно филтриране, след което сигналът се унищожава два пъти. Не се изисква филтър за изглаждане, тъй като неговата гранична честота се покрива от честотата на първия нискочестотен филтър. Когато операцията за обратна компресия (например m / n = 2/3), по същия начин се използва само филтърът за изглаждане.

17.3. филтриране на изображения

Под филтриране на изображения се разбира операция, която води до изображение със същия размер, получено от оригиналното по определени правила. Обикновено интензитетът (цвят) на всеки пиксел от полученото изображение се определя от интензитетите (цветовете) на пикселите, разположени в част от неговата близост в оригиналното изображение.

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

Линейни филтри имат много просто математическо описание. Ще приемем, че е дадено оригиналното изображение в сивата скала A и ще обозначим интензитетите на неговите пиксели A (x, y). Линеен филтър се дефинира от функция с реална стойност h (филтърно ядро), дефинирана в растера. Самото филтриране се извършва с помощта на операцията за дискретна конволюция (претеглено сумиране):

B (x, y) = h (i, j) ③③A (x, y) = h (i, j) A (x-i, y-j). (17.3.1)

Резултатът е изображение B. Обикновено ядрото на филтъра е различно от нула само в някои квартали N на точката (0, 0). Извън този квартал h (i, j) е нула или е много близо до него и може да се пренебрегне. Сумирането се извършва върху (i, j) Î N, а стойността на всеки пиксел B (x, y) се определя от пикселите на изображението A, които се намират в прозореца N, центриран в точката (x, y). ) (обозначение - множеството N (x, y) ). Филтърно ядро, дефинирано в правоъгълен квартал N, може да се разглежда като m-by-n матрица, където дължините на страните са нечетни числа. Когато указвате ядро ​​като матрица, то трябва да бъде центрирано. Ако пикселът (x, y) е в близост до ръбовете на изображението, тогава координатите A (x-i, y-j) за определени (i, j) може да съответстват на несъществуващи пиксели A извън изображението. Този проблем може да бъде решен по няколко начина.

Не филтрирайте тези пиксели, като изрязвате изображение B по краищата или прилагате оригиналните стойности на изображение A към техните стойности.

Не включвайте липсващия пиксел в сумирането, като разпределите теглото му h (i, j) равномерно между другите пиксели в квартала N (x, y).

Предефинирайте стойностите на пикселите извън границите на изображението с помощта на екстраполация.

Предефинирайте стойностите на пикселите извън границите на изображението, като използвате продължение на огледално изображение.

Изборът на метода се извършва, като се вземат предвид специфичните характеристики на филтъра и изображението.

Изглаждащи филтри. Най-простият правоъгълен изглаждащ филтър с радиус r се определя с помощта на матрица с размер (2r + 1) × (2r + 1), всички стойности на която са равни на 1 / (2r + 1) 2, и сумата от стойностите са равни на единица. Това е двуизмерен аналог на нискочестотен едномерен плъзгаща средна U-образен филтър. При филтриране с такова ядро, стойността на пиксела се заменя със средната стойност на пиксела в квадрат със страна 2r + 1 около него. Пример за 3 × 3 филтърна маска:

.

Едно от приложенията на филтрите е намаляването на шума. Шумът се променя независимо от пиксел до пиксел и при условие, че математическото очакване на стойността на шума е равно на нула, шумът на съседните пиксели по време на сумирането ще се компенсира един за друг. Колкото по-голям е прозорецът за филтриране, толкова по-малък ще бъде средният интензитет на шума, но това също ще доведе до съответно замъгляване на значими детайли на изображението. Изображението на бяла точка на черен фон по време на филтриране (реакция на единичен импулс) ще бъде равномерно сив квадрат.

Намаляването на шума с помощта на правоъгълен филтър има значителен недостатък: всички пиксели във филтърната маска на произволно разстояние от обработения имат същия ефект върху резултата. Малко по-добър резултат се получава при модифициране на филтъра с увеличаване на теглото на централната точка:

.

По-ефективно намаляване на шума може да се извърши, ако влиянието на пикселите върху резултата намалява с увеличаване на разстоянието от обработвания. Това свойство се притежава от филтър на Гаус с ядрото: h (i, j) = (1 / 2ps2) exp (- (i2 + j2) / 2s2). Филтърът на Гаус има ненулево ядро ​​с безкраен размер. Въпреки това, стойността на ядрото на филтъра намалява много бързо до n) и следователно на практика можем да се ограничим до навиване с малък прозорец около (0, 0), например, като се вземе радиусът на прозореца равен на 3σ.

Филтрирането по Гаус също е анти-алиасинг. Въпреки това, за разлика от правоъгълен филтър, изображението на точка с филтриране по Гаус ще бъде симетрично замъглено петно, с намаляване на яркостта от средата към краищата. Степента на замъгляване на изображенията се определя от параметъра σ.

Нарастващи контрастни филтри ... Докато филтрите за сглаждане намаляват локалния контраст на изображението, като го замъгляват, филтрите за подобряване на контраста произвеждат обратния ефект и по същество са филтри с висока пространствена честота. Ядрото на филтъра за усилване на контраста в точката (0, 0) има стойност, по-голяма от 1, с обща сума от стойности, равна на 1. Например, филтрите за усилване на контраста са филтри с ядро, определено от матрици :

. .

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

Филтри за разлика Линейни филтри са дадени чрез дискретни приближения диференциалоператори (по метода на крайните разлики). Тези филтри играят съществена роля в много приложения, например за задачи за намиране на граници в изображение.

Най-простият диференциален оператор е вземането на производната по отношение на x-координата d / dx, която е дефинирана за непрекъснати функции. Често срещани варианти на подобни оператори за дискретни изображения са филтрите Prewitt и Sobel:

. .

Филтри, които апроксимират оператора на производната по отношение на y-координата d/dy се получават чрез транспониране на матрици.

Най-простият алгоритъм за изчисляване на градиентната норма от три съседни точки:

G (x, y) = .

Прилага се и опростена формула за изчисление:

Изчисляване на градиентната норма от четири съседни точки (оператор Робъртс):

Алгоритъмът на Собел използва осем показания на яркостта в близост до централната точка:

G (x, y) = , G (x, y) @ ,

Gxx, y = -,

Gyx, y = -.

Наред с по-точното определяне на нормата на градиента, алгоритъмът на Собел също така позволява да се определи посоката на вектора на градиента в равнината за анализ на изображението под формата на ъгъла j между градиентния вектор и посоката на редовете на матрицата:

j (x, y) = argtg (Gyx, y / Gxx, y).

За разлика от филтрите за изглаждане и усилване на контраста, които не променят средната интензивност на изображението, в резултат на използването на операторите на разликата, като правило се получава изображение със средна стойност на пиксела, близка до нула. Вертикалните ръбове (граници) на оригиналното изображение съответстват на пикселите с големи абсолютни стойности в полученото изображение. Следователно делта филтрите се наричат ​​още филтри за избор на граници.

Подобно на горните филтри, използвайки метода на крайната разлика, можете да съставите филтри за други диференциални оператори. По-специално, диференциалният оператор на Лаплас (лапласиан) D = 2 / x2 + 2 / y2, който е важен за много приложения, може да бъде апроксимиран за дискретни изображения чрез филтър с матрица (една от опциите):

.

Както се вижда на фиг. 17.3.2, в резултат на прилагането на дискретния лапласиан, големите абсолютни стойности съответстват както на вертикални, така и на хоризонтални разлики в яркостта. Следователно филтърът е филтър, който намира границите на всяка ориентация. Намирането на границите в изображението може да стане чрез прилагане на този филтър и вземане на всички пиксели, чийто размер надвишава определен праг.

Този алгоритъм обаче има значителни недостатъци. Основната е несигурността при избора на праговата стойност. За различни части на изображението обикновено се получава приемлив резултат при значително различни прагови стойности. Освен това филтрите за разлика са много чувствителни към шума на изображението.

Двумерна циклична конволюция. Що се отнася до едномерните сигнали, двумерната конволюция може да се извърши в областта на пространствените честоти с помощта на бързи алгоритми за преобразуване на Фурие и умножаване на двумерните спектри на изображението и филтърното ядро. Също така е цикличен и обикновено се изпълнява в плъзгаща версия. Като се вземе предвид цикличността, за да се изчисли постоянният модел на спектъра на ядрото, размерите на маската на филтъра на ядрото се удвояват по осите и се допълват с нули, а същите размери на маската се използват за избор на прозорец, плъзгащ се върху изображението, в рамките на което се извършва FFT. Внедряването на FIR филтър с FFT е особено ефективно, ако филтърът има голяма референтна област.

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

Нека представим концепцията за M-окръг на елемент от изображение A (x, y), който е централен за тази окръжност. В най-простия случай M-кварталът съдържа N-пиксела - точки, попадащи във филтърната маска, включително (или не включваща) централната. Стойностите на тези N-елементи могат да бъдат подредени в вариационенсерия V (r), подредена във възходящ (или низходящ) ред, и изчисляване на определени моменти от тази серия, например средната стойност на яркостта mN и дисперсия dN Изчисляването на изходната стойност на филтъра, който замества централната проба, се извършва по формулата:

B (x, y) = aА (x, y) + (1-a) mN. (17.3.2)

Стойността на коефициента a = е свързана с определена връзка със статистиката на преброяванията във филтърния прозорец, например:

a = dN / (dN + k dS), (17.3.3)

където dS е дисперсията на шума в изображението като цяло или в S-околността за S> M и MÎS, k е константата на доверие на дисперсията на S-околия. Както следва от тази формула, за k = 1 и dN "dS, a" 0,5 се получава, а стойността B (x, y) = (A (x, y) + mN) / 2, тоест се сумира еднакво от стойностите на централната референтна стойност и средната стойност на пикселите на неговия M- квартал. С увеличаване на стойностите на dN приносът към резултата на централната референтна стойност нараства, с намаляване на стойността на mN. Теглото на приноса на средните стойности за М-квартал може да се промени със стойността на коефициента k.

Изборът на статистическата функция и естеството на зависимостта на коефициента a от нея може да бъде доста разнообразен (например според дисперсиите на разликите в извадките в М-махала с централната извадка) и зависи от двете от размера на отвора на филтъра и от естеството на изображенията и шума. По същество стойността на коефициента a трябва да определя степента на увреждане на централната референтна функция и съответно функцията за заемане на пробите от М-квартала, за да се коригира.

Най-простите и често срещани типове нелинейни филтри за обработка на изображения са прагови и медианни филтри.

Прагово филтриране се задава, например, както следва:

B (x, y) =

Величината стре прагът на филтриране. Ако стойността на централната точка на филтъра надвишава средната стойност на пробите mN в неговата M-околност със стойността на прага, тогава тя се заменя със средната стойност. Стойността на прага може да бъде или постоянна, или функционално зависима от стойността на централната точка.

Средно филтриране се определя, както следва:

B (x, y) = med (M (x, y)),

т.е. резултатът от филтрирането е средната стойност на пикселите от квартала, чиято форма се определя от филтърната маска. Средното филтриране може ефективно да премахне шума от изображението, което независимо влияе на отделните пиксели. Например такива шумове са "счупени" пиксели в цифровата фотография, шум от сняг, когато някои от пикселите се заменят с пиксели с максимален интензитет и т.н. Предимството на медианното филтриране е, че "горещ" пиксел на тъмен фон ще бъдат заменени тъмни, а не "размазани" в околността.

Средното филтриране има изразена селективност по отношение на елементите на масива, които са немонотонен компонент на поредица от числа във филтърния отвор. В същото време средният филтър оставя монотонния компонент на последователността непроменен. Благодарение на тази функция медианните филтри с оптимално подбрана бленда запазват острите ръбове на обектите без изкривяване, потискайки некорелиран или слабо корелиран шум и малки детайли.

Екстремни филтри се определят от правилата:

Bmin (x, y) = min (M (x, y)),

Bmax (x, y) = max (M (x, y)),

това означава, че резултатът от филтъра е минималните и максималните стойности на пикселите във филтърната маска. Такива филтри се използват като правило за двоични изображения.

17.4. КОМПРЕСИЯ НА ИЗОБРАЖЕНИЕТО

Типичното изображение с разделителна способност от порядъка на 3000 × 2000 при 24 бита на пиксел за цвят е 17 мегабайта. За професионални устройства размерът на получения растер на изображението може да бъде много по-голям, дълбочината на цвета е до 48 бита на пиксел, а размерът на едно изображение може да бъде повече от 200 мегабайта. Следователно алгоритмите за компресиране на изображения са много подходящи за намаляване на количеството данни, представляващи изображение.

Има два основни класа алгоритми:

1. Компресия без загуби, ако има обратен алгоритъм A-1 такъв, че за всяко h-образ A [h] = h1 имаме A-1 = h. При такива се използва компресия без загуби графични форматипредставяне на изображения, като: GIF, PCX, PNG, TGA, TIFF и се използва при обработката на особено ценна първична информация (медицински изображения, въздушни и космически изображения и др.), когато дори и най-малкото изкривяване е нежелателно

2. Компресиране със загуба (компресия със загуби), ако не дава възможност за точно възстановяване на оригиналното изображение. Алгоритъм за приблизително възстановяване на изображението, сдвоен с A, ще бъде обозначен като A *. Двойката (A, A *) е избрана, за да осигури високи коефициенти на компресия, като същевременно поддържа визуално качество. Компресията със загуби се използва във формати на изображения: JPEG, JPEG2000 и др.

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

Алгоритми за кодиране с дължина на повторението (RLE). се основават на прост принцип: заместване на повтарящи се групи от елементи от оригиналната последователност с двойка (количество, елемент) или само с количество.

Битово ниво. Ще разгледаме оригиналните данни на ниво поредица от битове, например, представляващи черно-бяло изображение. Обикновено има няколко 0 или 1 подред и можете да кодирате броя на последователните еднакви цифри. Но броят на повторенията също трябва да бъде кодиран в битове. Можем да приемем, че всеки брой повторения варира от 0 до 7 (3-битов код), като се редуват поредица от кодове от единици и нули. Например, последователността може да се сравни с числата 7 0 4, т.е. 7 единици, 0 нули, 4 единици, и имаме Нова година- Колкото по-дълга е дължината на последователностите от същите битове, толкова по-голям е ефектът. И така, последователност от 21 единици, 21 нули, 3 единици и 7 нули се кодира по следния начин: тоест от оригиналната последователност с дължина 51 бита имаме последователност с дължина 36 бита.

Ниво на байтове. Да предположим, че на входа се подава изображение в сива скала, където 1 байт е разпределен на стойността на интензитета на пиксела, докато очакването на дълъг низ от идентични битове е значително намалено.

Ще разделим входния поток на байтове (код от 0 до 255) и ще кодираме повтарящи се байтове по двойки (число, буква). Един байт може да бъде оставен непроменен. И така, байтовете AABBBCDAA са кодирани (2A) (3B) (C) (D) (2A).

Модификациите на този алгоритъм обаче рядко се използват сами (например във формат PCX), тъй като подкласът от последователности, върху които алгоритъмът е ефективен, е сравнително тесен. Най-често те се използват като един от етапите на компресионния тръбопровод.

Алгоритми на речника вместо да се кодира само един елемент от входната последователност, се кодира веригата от елементи. В този случай се използва речник от низове (създадени от входната последователност) за кодиране на нови.

Алгоритъмът LZ77 е един от първите, които използват речник. Последните N вече кодирани елементи от последователността се използват като речник. По време на процеса на компресиране, речникът на подпоследователността се "плъзга" върху входящата последователност. Веригата от елементи на изхода се кодира, както следва: позицията на съвпадащата част от обработената верига от елементи в речника - отместване (спрямо текущата позиция), дължина, първият елемент, следващ съвпадащата част от веригата. Дължината на веригата за съвпадение е ограничена отгоре с числото n. Съответно, задачата е да се намери най-големият низ от речника, който съответства на обработваната последователност. Ако няма съвпадения, тогава се записват нулевото отместване, една дължина и първият елемент от некодираната последователност.

Схемата за кодиране, описана по-горе, води до концепцията за плъзгащ се прозорец, който се състои от две части:

Подпоследователност от вече кодирани елементи с дължина N-речник - буфертърсене (буфер за търсене);

Подпоследователността с дължина n от веригата от елементи, за които ще бъде направен опит за намиране на съвпадение, е буферът за предварителен поглед.

Декодирането на компресирана последователност е декриптиране на записаните кодове: всеки запис се съпоставя с низ от речник и изрично написан елемент, след което речникът се измества. Речникът се пресъздава по време на работа на алгоритъма за декодиране.

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

LZW алгоритъм. Речникът в този алгоритъм е таблица, която се запълва с низове от елементи, докато алгоритъмът работи. Процесът на компресиране търси най-дългата верига, която вече е записана в речника. Всеки път, когато нов низ от елементи не бъде намерен в речника, той се добавя към речника и се записва кодът на низа. На теория няма ограничение за размера на таблицата, но ограничението за размера ви позволява да подобрите съотношението на компресия, тъй като се натрупват ненужни (неоткрити) вериги. Колкото повече записи има една таблица, толкова повече информация трябва да бъде разпределена за съхраняване на кодовете.

Декодирането се състои в директно декриптиране на кодовете, тоест в изграждане на речник и извеждане на съответните низове. Речникът се инициализира по същия начин, както в кодера. Предимствата на алгоритъма включват висок коефициент на компресия и доста висока скорост както на компресиране, така и на декодиране.

Алгоритми за ентропийно кодиране поставете в съответствие с всеки елемент от последователността код, така че дължината му да съответства на вероятността за поява на елемента. Компресията се осъществява чрез замяна на елементи от оригиналната последователност, които имат еднаква дължина (всеки елемент приема същия брой битове) с елементи с различни дължини, пропорционални на отрицателния логаритъм на вероятността, т.е. елементи, които са по-често срещани от останалите, имат по-къса дължина на кода.

Алгоритъмът на Huffman използва префиксен код с променлива дължина със специално свойство: по-кратките кодове не съвпадат с префикса (началната част) на по-дългите. Този код позволява кодиране едно към едно. Процесът на компресиране се състои в замяна на всеки елемент от входната последователност с неговия код. Изграждането на набор от кодове обикновено се извършва с помощта на т.нар кодови дървета.

Алгоритъмът на Хъфман е двупроходен. Първото преминаване върху изображението създава таблица с тегла на елементите, а по време на второто се извършва кодиране. Има реализации на алгоритъма за фиксирана таблица. Често се случва предварителното разпределение на вероятностите на елементите азбуканеизвестно, тъй като цялата последователност не е налична наведнъж и се използват адаптивни модификации на алгоритъма на Huffman.

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

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

Оценка на загубата на изображение. Има много мерки за оценка на загубата на изображения след тяхното възстановяване (декодиране) от компресирани, но за всички те могат да бъдат избрани две изображения, така че тяхната мярка за разлика да бъде достатъчно голяма, но разликите ще бъдат почти незабележими за око. И обратното - можете да вземете изображения, които са много различни на око, но имат малка разлика.

Стандартната числена мярка за загуба обикновено е стандартното отклонение (RMS) на стойностите на пикселите на реконструираното изображение от оригиналното. Най-важната „мярка” за оценка на загубите обаче е мнението на наблюдателя. Колкото по-малко разлики (или по-добре, тяхното отсъствие) открива наблюдателят, толкова по-високо е качеството на алгоритъма за компресиране. Алгоритмите за компресиране с загуби често дават на потребителя възможността да избере количеството "загубени" данни, тоест правото да избира между качеството и размера на компресираното изображение. Естествено, колкото по-добро е визуалното качество с по-висок коефициент на компресия, толкова по-добър е алгоритъмът.

Преобразуване на Фурие. Най-общо изображението може да се разглежда като функция на две променливи, дефинирани в точките на крайния растер. Набор от такива функции в точките на фиксиран краен растер образуват крайномерно евклидово пространство и към тях може да се приложи дискретно преобразуване на Фурие, т.е. спектралното представяне на изображението. Осигурява:

Некорелацията и независимостта на коефициентите на спектъра, тоест точността на представянето на един коефициент не зависи от никой друг.

- Енергийно уплътняване. Преобразуването запазва основната информация в малък брой коефициенти. Това свойство е най-силно изразено при фотореалистични изображения.

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

Алгоритъмът за компресия, използван във формата JPEG, се основава на използването на дискретната косинусова трансформация на Фурие. Схемата за компресиране в алгоритъма е конвейер, където тази трансформация е само един от етапите, но един от основните. Алгоритъмът съдържа следните основни операции:

1. Превод в цветово пространство YCbCr. Тук Y е компонентът на яркостта, Cb и Cr са компонентите на цветността. Човешкото око е по-чувствително към яркостта, отколкото към цвета. Следователно е по-важно да се поддържа по-голяма точност при предаването на Y, отколкото при предаването на Cb и Cr.

2. Дискретна косинус трансформация (DCT). Изображението е разделено на блокове 8 × 8. Към всеки блок се прилага дискретна косинусова трансформация (отделно за компонентите Y, Cb и Cr).

3. Намаляване на високочестотните компоненти в DCT матриците. Човешкото око практически не забелязва промени във високочестотните компоненти, следователно коефициентите, отговорни за високите честоти, могат да се съхраняват с по-малка точност.

4. Зигзагообразно подреждане на матриците. Това е специален матричен проход за получаване на едномерна последователност. Първо идва елемент T00, след това T01, T10, T1 Освен това за типичните фотореалистични изображения първо ще има ненулеви коефициенти, съответстващи на нискочестотни компоненти, а след това - много нули (високочестотни компоненти).

5. Компресиране първо по метода RLE, а след това по метода на Huffman.

Алгоритъмът за възстановяване на изображението работи в обратен ред. Коефициент на компресия от 5 до 100 или повече пъти. В същото време визуалното качество на повечето фотореалистични изображения остава на добро ниво при компресиране до 15 пъти. Алгоритъмът и форматът са най-често срещаните за прехвърляне и съхранение на пълноцветни изображения.

Вейвлет трансформация сигнали е обобщение на класическото преобразуване на Фурие. Терминът "wavelet" в превод от английски означава "малка (къса) вълна". Уейвлетите са обобщено наименование за семейства от математически функции с определена форма, които са локални по време и честота и в които всички функции се получават от една основна чрез нейните измествания и разтягане по времевата ос.

В алгоритмите за компресиране със загуби, като правило, всички операции на тръбопровода за компресия се запазват, като дискретното преобразуване на Фурие се заменя с дискретно уейвлет трансформация. Вейвлет трансформациите имат много добра честотно-пространствена локализация и превъзхождат традиционните трансформации на Фурие по този индикатор. Това прави възможно прилагането на по-силно квантуване, подобрявайки свойствата на последователността за последваща компресия. Алгоритмите за компресиране на изображения, базирани на тази трансформация, при същото съотношение на компресия, показват по-добри резултати при поддържане на качеството на изображението.

литература

46. ​​и др. Бързи алгоритми при обработка на цифрови изображения. - М .: Радио и комуникация, 1984 .-- 224 с.

47. Soifer обработка на изображения. Част 2. Методи и алгоритми. - Образователно списание Сорос No3, 1996г.

48., Шум на хрущяла от изображения, базирани на нелинейни алгоритми, използващи ранг статистика. - Ярославски държавен университет, 2007 г.

49. Андреевски системи за телевизионно наблюдение. Част II. Аритметика – логически основи и алгоритми. Урок. - SPb: SPb, GUITMO, 2005 .-- 88с.

51. Въведение в цифровата обработка на сигнали (математически основи) .- М .: Московски държавен университет, Лаборатория по компютърна графика и мултимедия, 2002. - http: // pv. ***** / dsp / dspcourse. pdf, http: // dsp-book. ***** / dspкурс. djvu, http: // geogin. ***** / архив / dsp / dsp4.pdf.

1i. и други алгоритмични основи растерна графика... - Интернет университет информационни технологии... - http: // www. ***** / отидете / курс / rastrgraph /

2i. Лукин - електронни системи: Бележки от лекцията. ITMO, 2004. - Санкт Петербург, ITMO IFF, 2004. - http: // iff. ***** / kons / oes / KL. htm

За забелязани грешки и предложения за допълнения: ***** @ *** ru.

Авторско право© 2008ДавидовА.V.



Свързани статии: