logo

Концепт конволуције

Конволуција се користи за многе ствари као што су израчунавање извода, откривање ивица, примена замућења итд. и све се то ради помоћу 'конволуционог кернела'. Конволуционо језгро је веома мала матрица и у овој матрици свака ћелија има број и такође тачку сидрења.

Тачка сидрења се користи за познавање положаја кернела у односу на слику. Почиње у горњем левом углу слике и креће се по сваком пикселу узастопно. Кернел преклапа неколико пиксела на свакој позицији на слици. Сваки пиксел који се преклапа се множи, а затим додаје. А збир се поставља као вредност тренутне позиције.

филмска глумица Кајал
Концепт конволуције

Конволуција је процес у коме се сваки елемент слике додаје својим локалним суседима, а затим се пондерише језгром. Повезан је са обликом математичке конволуције.

У конволуцији, матрица не врши традиционално множење матрице, али је означена са *.

Претпоставимо да постоје две матрице 3к3, једна је језгро, а друга је део слике. У конволуцији, редови и колоне језгра се окрећу и затим се множе, а затим се врши сабирање. Елементи који су присутни у центру матрице, односно у [2,2] слике биће пондерисана комбинација матрице слике и тежине ће бити дате од стране кернела. Слично томе, сви остали елементи матрице ће бити пондерисани, а затим ће се израчунати тежине.

Следи псеудо код који описује процес конволуције:

абц са бројевима
 For each image row in input image: For each pixel in image row: Set accumulator to zero For each kernel row in kernel: For each element in kernel row: If element position corresponding* to pixel position then Multiply element value corresponding*to pixelvalue Add result to accumulator Endif Set output image pixel to accumulator 

Конволуција се може израчунати коришћењем вишеструких фор петљи. Али употреба фор петљи узрокује много поновљених прорачуна, а такође се повећава величина слике и кернела. Коришћењем дискретне Фуријеове трансформације технике израчунавање конволуције се може брзо обавити. У овој техници, цела операција конволуције се претвара у једноставно множење.

У конволуцији, проблем се јавља када је језгро близу ивице или углова јер је језгро дводимензионално.

Да бисте превазишли ове проблеме, можете урадити следеће:

  1. Оне се могу занемарити
  2. Додатни пиксели се могу креирати близу ивица.

Додатни пиксели се могу креирати на следеће начине:

  1. Дупликат ивице пиксела.
  2. Одразите ивице
  3. Пиксели се могу копирати са другог краја.