Conducerea unui manipulator robotic folosind procesare de imagine [615825]

Programul de studii: Ingineria Sistemelor-Control Avansat Si Sisteme In Timp Real
Facultatea: Universitatea Politehnica Bucuresti – Automatica si Calculatoare
Lucrare de dizertatie
Conducerea unui manipulator robotic folosind procesare de imagine
Masterand: [anonimizat]: Sl.Dr.Ing.Silviu Raileanu
Bucuresti,Romania
22.06.2020

Conducerea unui manipulator robotic folosind
procesare de imagine
immediate
CUPRINS
Introducere 2
Scopul lucrarii de dizertatie 2
OpenCL-Computatia de scop general cu GPU 2
OpenCL-Accelerarea folosind procesare de imagine 2
OpenCL-Calculul eterogen 2
OpenCL-Executia de kernel pe dispozitiv 2
OpenCL-Modelul de memorie 2
OpenCL-Bufferul 2
OpenCL-Pipeline 2
OpenCL-Regiuni de memorie 2
OpenCL-Comenzile si modelul de coada 2
OpenCL-Operatiile de blocare de memorie 2
OpenCL-Evenimente API 2
OpenCL-Domeniul de executie pe kernel 2
OpenCL-Modelul de platforma 2
OpenCL-Modelul de executie 2
OpenCL-Taxonomia Flynn 2
OpenCL-Paralelizarea de task 2
Blurarea folosita pentru eliminarea de zgomot din
imagine 2
Definirea filtrului bilateral 2
Convertirea in tonuri de gri 2
Convertirea de threshold 2
Gasirea de contor de imagine 2
Detectia de margine de gradient 2Operatorul de margine 2
Urmarirea de contur 2
Template matching 2
Reconstructia 3D 2
Detectorul de regiune affina Harris 2
Invariantele de scala 2
Punctul de centroid 2
Decompozitia geometrica 2
Formula integrala 2
Regiunea de margine 2
Dreptunghiul si marginea 2
Convex Hull al imaginii 2
Laplacianul de functie 2
Algoritmul de baza morfologic 2
Algoritmul eroziune iterativa imbunatita 2
Distanta Euclidiana 2
Extragerea de features 2
Modelul morfologic adaptiv 2
Detectia de colt si de cerc 2
Scheletizarea sau transformarea MA 2
Transformarea mediala axiala prin dilatare morfolog-
ica 2
Algoritmul MAT 2
Algoritmul de reconstructie 2
Obtinerea scheletului din functia de distanta 2
Transformata de distanta 2

Aproximarea de distanta Euclidiana 2
Decompozitia distantei Euclidiene de element de struc-
turare 2
Algoritmul de urmarire de maxim modificat 2
Rezultate obtinute 2
Procesarea morfologica 2
Detectia de margine 2
Extragerea de feature 2
Analiza de forme 2
Desenarea de forma morfologica 2
Decompozitia de elemente morfologice in elementele de
executie 2
Elementul de structurare unidimensionala geometrica 2
Strategia de decompozitie 2
Elementul structural bidimensional geometric 2
Decompozitia algoritmului unidimensional 2
Algoritmul pentru morfologia matematica 2
Decompozitia de threshold de morfologie in tonuri de
gri 2
Algoritmul de decompozitie a threshold-ului pentru
dilatarea tonurilor de gri 2
Operatorul binar morfologic 2Introducere
Procesarea de imagine este un domeniu care s-a dezvoltat
foarte rapid bazat pe matematica si stiinta calculatoarelor.
Metodele de procesare de imagine consuma foarte mult
timp si computatia acestora este provocatoare chiar si pentru
ultimele modele de hardware.
O portiune foarte importanta din acest domeniu este
optimizarea.
Optimizarea duce la micsorarea algoritmilor complecsi in
timp record.
Cea mai importanta unealta hardware de procesare este CPU
pentru viteza si versatilitate.
Cel mai important trend este cresterea abilitatii procesului
de CPU prin extinderea numarului de pipeline-uri,cresterea
unitatilor de procesare vectoriale si marirea numarului de
nuclee.
In constrast cu CPU,GPU este considerat sa fie o unitate
foarte eficienta de procesare paralela.
Arhitectura GPU beneficiaza de paralelizarea masiva si
executarea multi-threading.
Performanta GPU este limitata de cateva conditii:
Raportul de fractii paralele la fractii secventiale ale
algoritmului
Raportul operatiilor in virgula flotanta la accesul de
memorie globala
Diversitatea de branching
Cerintele de sincronizare globala
Overhead-ul de transfer de date

Scopul acestei lucrari de dizertatie
Obiectivul principal al acestei lucrari de dizertatie este
accelerarea de algoritmi de procesare de imagine cu respect
la date de dimensiuni mari.
Aceasta lucrare se focuseaza pe decompozitia si algoritmi de
procesare de imagine,folosind metoda globale.
Pentru aceasta implementare am ales platforma GPU,datorita
maririi de viteza al algoritmilor intensiv computationali.
Multe lucrari de stiinta in concordanta cu accelerarea GPU
au fost publicate.
Tehnologia folosita in cadrul lucrarii de fata se numeste
Machine Vision.
Aceasta este tehnologia si metodele folosite pentru asigurarea
inspectiei bazata pe imagine si analiza pentru inspectie
automata,control de proc si ghidaj robotic.
Metodele si secventele de operatii
Primul pas in secventa de inspectia automata este achizitia de
imagine, folosind camere,lentile si sisteme de iluminat.
Echipamentul folosit include:
Iluminat
Camera
Alta imagine
Procesor
Software
Dispozitiv de output
Cat timp imaginea conventionala 2d este folosita in Ma-
chine Vision,alternativele includ Imaginistica MultiSpec-
trala,Imaginistica Hiperspectrala,Imaginea 3D de suprafete.
Rezultatul obtinut din sistemele de inspectie automata sunt
luarea de decizie pass/fail.
Aceste decizii ruleaza mecanisme de triggerare care rejecteaza
obiectele defecte.
In cazul nostrul rejectia obiectelor defecte a fost facuta
folosind un manipulator robot folosind tehnica pick and place.
Fig. 1. Stereo Vision

OpenCL
OpenCL este un framework pentru platforma heterogena de
CPU,GPU si alte arhitecturi.
Acesta este un standard dezvoltat de Khronos Group.
In contextul de programare GPU,acesta suporta interoperabil-
itatea cu standardul OpenGL.
Similar cu CUDA,unitatile de executie de baza au fost numite
kernel-uri.
Kernel-ul a fost paralelizat si a permis o paralelizare potrivita
pentru GPU sau a sarcinilor paralele.
Computatia de scop general pe GPU
GPGPU este tehnica de mapare a algoritmilor pe scop general
de hardware.
Performanta placilor grafice in multe aplicatii cum sunt:
Simularea de trafic
Dinamica Moleculara
Modelarea Seismica
Simularea de corp n
Procesarea de imagine
Modelul de streaming a fost o abstractizare pentru progra-
marea pe GPU.
Operatiunea de mapare a fost aplicata la functia data intr-un
stream de date.
Calculul stream-ului de date mic si intr-un stream de input
mare a fost numita Reducere .
Scatter siGather au fost doua operatii fundamentale de
memorie ce au permis accesul indirect read si write.
Sort siSearch doua operatii bine cunoscute care necesita
atentie sa fie implementata pe GPU.
Accelerarea de procesare de imagine
Procesarea de imagine este un camp foarte vast,care include
algoritmi specifici.
Printre acestia se numara:
Transformata Fourier
Transformata Hough
Aplicare Wavelet
Transformata Radon
Multiplicare de matrici
Solvere de ecuatii lineare
Principal Component Analysis
Ecuatii partiale diferentiale
Algoritmii de sortare si cautareMetode statistice
Operatii Morfologice
In aceasta lucrare am prezentat o evaluare a algoritmilor
de procesare de imagine implementati pe tehnologie GPU
folosind OpenCL.
In cazul de fata am folosit unealta de dezvoltare Python si
libraria pyOpenCL.
OpenCL(Open Computing Language) este un standard de-
schis pentru programare paralela ce foloseste diversi accel-
eratori gasiti in supercomputere,servere cloud,computere per-
sonale,dispozitive mobile si platforme de sisteme incorporate.
Acesta are aplicatii in multe domenii cum ar fi:
Unelte profesionale creative
Software stiintific si medical
Procesarea de viziune
Antrenarea retelei neurale
Inferentiere
Call-urile API care menajeaza obiecte OpenCL cum ar fi cozile
de comanda,obiectele de memorie,obiectele kernel,functii intr-
un program si call-uri cum ar fi executarea in kernel,citirea sau
scrierea unui obiect de memorie.
Calculul Eterogen
Calculul eterogen a inclus procesarea seriala si paralela.
Am folosit calculul eterogen,si am compus sarcinile pe apli-
catie unde au fost mapate la cel mai bun dispozitiv de
procesare in sistem.
Prezentele dispozitivelor de sistem au prezentat oportunitatea
pentru program sa foloseasca concurenta si paralelismul si au
imbunatit performanta si puterea.
Mediile de calcul eterogene au devenit multifatetate si
au exploatat capabilitatea de raza de microprocesor mul-
ticore,procesare CPU,procesoare de semnal digital,hardware
reconfigurabil.
Prezentand un nivel de heterogeneitate,procesul de mapare
al sarcinii la gama de arhitecturi care poseda un numar de
provocari.
Aplicatiile eterogene au inclus un mix de comportare de
incarcare intensiva de date,care au venit din date intensive.
Sarcinile au putut fi caracterizate ca si intensive computational:
Metode iterative
Metode numerice
Modelare financiara
In ultima perioada,dispozitivele de calcul paralel au crescut
ca si numar al capabilitatilor
GPU a aparut in scena de computatie si a asigurat capabilitatea
de procesare la nivel de cost scazut.
Calculul intensiv si portiunile de intensivitate de date.
Concurenta are de a face cu doua sau mai multe activitati
care s-au intamplat in acelasi moment de timp.
Sarcinile concurente au putut fi executate la acelasi moment
de timp.

Fig. 2. Specificatii Hardware
Calculul heterogen cu OPENCL
Ca si specificatii am avut:
Paralelism
Memorie sharata virtuala
Obiect de memorie pe pipeline
Atomica C11
Imagini imbunatite
Specificatii aditionale
Specificatie OpenCL
Modelul de platforma
Modelul de executie
Modelul de programare de kernel
Modelul de memorie
Executia de kernel pe dispozitiv
Aplicarea unei comenzi la dispozitiv pentru inceperea unui fir
de executie a fost facuta cu apelarea:
clEnqueueNDRangeKernel()
Modelul de memorie OpenCL
Subsistemele de memorie difera dintre platformele de com-
puting.
OpenCL defineste trei tipuri de obiecte de memorie:
Buffere
ImaginiPipeline-uri
Bufferul
Crearea unui buffer a necesitat alimentarea dimensiunii de
buffer si contextul in care buffer-ul a fost alocat.
Alte flag-uri care au specificat optiunile aditionale pentru
creare si initializarea de buffer-ului.
Alimentarea pointer-ului de host cu datele folosite pentru
initializarea de buffer.
Elementele de date adiacente nu au fost garantate la stocarea
continua in memorie.
Scopul de folosire al imaginilor este acordarea permisiunii
hardware-ului sa ia avantaj la spatiul local si sa utilizeze
accelerarea hardware pe mai multe dispozitive.
In versiunile anterioare de OpenCL,kernel-ului nu i-a fost
permis sa citeasca de la si scrie la imaginea unica.
Pipeline-uri
Obiectul de memorie de pipeline a fost o secventa de ordine
de iteme de date.
Un pipeline are un punct de sfarsit cu iteme de date inserate.
Cand am creat un pipeline folosind call-ul API OpenCL cu
iteme de date eliminate.
Regiuni de memorie
OpenCL clasifica memoria precum :
Memorie host
Memorie dispozitiv
Memoria de host a fost direct disponibila la host si a fost
definita in afara OpenCL.
OpenCL a divizat memoria de dispozitiv in patru regiuni de
memorie.
Regiunile de memorie au fost disjunctate logic si deplasarea
de date dintre regiunile de memorie a fost controlata de
developer-ul de kernel.
Etapele de executare ale unei aplicatii simple OpenCL au fost
urmatoarele:
Descoperirea de platforma si dispozitive
Crearea de context
Crearea de obiecte de comanda pe dispozitive
Crearea de obiecte de memorie pentru mentinerea de date
Copierea de fisiere de intrare in dispozitive
Crearea si compilarea unui program din codul sursa
OpenCL
Extragerea de kernel din program
Executarea de kernel
Copierea datelor inapoi in host
Eliberarea de resurse OpenCL
Comenzile si modelul de coada
OpenCL a fost bazat pe paralelizarea de taskuri,modelul a fost
controlat de host,in care fiecare task a fost paralelizat.
Acesta a fost mentinut prin folosirea de cozi de comanda
thread-safe atasata la fiecare dispozitiv.
Kernel-urile,deplasarea de date si alti operatori nu au fost
simplu executati de utilizator la functia de runtime
Operatiile au fost legate in coada folosind operatii de codare
asincrona.
Acestea au trebuit executate la un moment de timp in viitor.

Comenzile codate in stiva OpenCL au fost comenzi executate
de kernel,comenzile de transfer de memorie,comenzi de sin-
cronizare.
Completarea unei comenzi este garantata doar la atingerea
punctului de sincronizare din coada de comanda.
Urmatorul punct este punctul de comanda de sincronizare.
Operatiile de memorie de blocare
Operatiile de memorie de blocare sunt cele mai folosite si cele
mai usor folosite metode de sincronizare.
Evenimente API
Fiecare call API clEnqueue a generat un eveniment care a
reprezentat statusul de executie al comenzii.
Queued – Comanda a fost plasata in coada de comanda
Submitted – Comanda a fost eliminata din command-
queue si pentru a fi executat pe dispozitiv
Ready – Comanda este gata pentru executarea din dispoz-
itiv
Running – Executia comenzii a inceput pe dispozitiv
Ended – Executia comenzii a fost terminata pe dispozitiv
Completa – Comanda si toate comenzile au terminat
executia
API calls nu au returnat conditiile de eroare de returnare
sau profilare de date care sunt in concordanta cu executia
OpenCL.
OpenCL a asigurat un mecanism pentru verificarea de conditii
de eroare.
Conditiile de eroare relatate la executia de comanda au fost
facute printr-un eveniment asociat cu comanda.Domeniul de executie de kernel
Executia OpenCL a fost centrata pe conceptul de kernel.
Kernel-ul a fost o unitate de cod care a reprezentat o instanta
unica de functie kernel.
Instanta kernel este prima similara la functie C.
Kernel Dispatch,fiecare item de lucru este independent.
In OpenCL sincronizarea dintre itemele de lucru a fost limitata
intentionat.
Modelul relaxat de executie permite programelor OpenCL sa
fie scalate la dispozitive care poseda un numar mare de miezi.
OpenCL a satisfacut structura ierarhica a spatiului de executie.
Modelul de platforma
Modelul de platforma consta dintr-un host conectat la unul sau
mai multe dispozitive OpenCL.
Dispozitivul OpenCL a fost divizat in unul sau mai multe
unitati de computatie care au fost divizate in unul sau mai
multe unitati de calcul unde au fost divizate in unul sau mai
multe elemente de procesare.
Aplicatia OpenCL a fost implementata de atat codul sursa si
dispozitivul de cod din kernel.
Portiunea de cod de hosting a unei aplicatii OpenCL ruleaza
pe un procesor de host.
Computatia pe dispozitivul OpenCL este mapata pe elementele
de procesare de dispozitiv.
Cat timp elementele de procesare din unitatea de computing
au fost executate pe aceleasi secvente.
Hardware-ul optimizat pentru executia pe un stream unic de
instructiune pe elemente multiple de procesare.
Cand debitul de control a variat de la un element de procesare
la altul.
Acesta a asigurat o buna flexibilitate in algoritmi care au putut
sa fie implementati in OpenCL.
Modelul de executie
Modelul de executie OpenCL a fost definit in termeni de doua
unitati de executie:
Kernel-ul care executa unul sau mai multe dispozitive si un
Program host
Kernel-ul executa din contextul bine definit administrat de
host.
Dispozitive
Unul sau mai multe dispozitive expuse de platforma OpenCL
Obiecte Kernel
Functia OpenCL a fost asociata cu
Obiecte de program
Sursa de program si executabilul care a implementat kernel-ul
Obiecte de memorie
Variabilele visibile in host si dispozitivele OpenCL.
Instantele de kernel au operat pe aceste obiecte in ordinea
firelor de executare.
Comenzi kernel-enqueue
Acestea realizeaza enqueue la un kernel pentru executia pe
dispozitiv.
Comenzi de memorie
Transferul de date dintre memorie de host si memorie de dis-
pozitiv dintre obiectele de memorie sau maparea si nemaparea
obiectelor de memorie din spatiul de adresa de hosting.

Comenzi de sincronizare
Punctele de sincronizare au definit constrangerile de ordine
dintre comenzi.
Queued
Comanda a fost enqueued intr-o coada de comanda.
O comanda este reziduala in coada pana in momentul cand
este eliminata explicit.
Submitted
Comanda este golita din command-queue si a fost scoasa
pentru executare pe dispozitiv.
O data ce este golita din linia de comanda,comanda a executat
dupa orice precerinte ale executarii intalnite.
Ready
Toate precerintele in care constrangerea unei comenzi au fost
intalnite.
Comanda pe o comanda de kernel-enqueue,comanda colectia
de grupuri de lucru asociate cu o comanda,a fost plasata in
lucrul de dispozitiv care este potrivit pentru executie.
Running
Executia comenzii a pornit.Pentru cazul de comanda de kernel
enqueue,unul sau mai multe grupuri de lucru asociate cu
pornirea de comanda a fost executata.
Ended
Executia de comanda a fost terminata.
Cand o comanda de Kernel a fost terminata,toate grupurile de
lucru asociate cu comanda au terminat executia.
Completat
Comanda a terminat executia si status-ul de evenimente de
obiect,asociata cu comanda
Comenzile au comunicat statusul lor prin evenimente.
Completarea a fost indicata prin setarea de evenimente asociate
cu o comanda.
Comenzile dintr-o coada de comanda a fost executata relativ
la unul sau mai multe module.
Executia in ordine
Comenzile si orice efecte adverse ale comenzilor au aparut in
aplicatiile OpenCL si sunt executate in aceiasi ordine in care
au fost legate in coada la coada de comanda.
Executia out of order
Comenzile au fost executate in orice ordine constransa prin
punctele de sincronizare explicita.
Cozile de comanda multiple au putut fi prezentate printr-un
context simplu.
Cozile de comanda multiple au executat comenzile indepen-
dent.
Obiectivele de eveniment au fost vizibile la programul host
daca au fost folosite sa defineasca punctele de sincronizare
dintre comenzile in cozile de comanda multiple.
Daca punctele de sincronizare au fost stabilite intre comenzi
si au fost luate pentru dependentele stabilite in punctele de
sincronizare.
Miezul de executie OpenCL a fost definit de executia kernel-
ului.
Cand comanda de kernel-enqueue,a scos un kernel pentru
executie.
Fiecare kernel de executare a fost numit item de lucru.Lucrurile de grup au fost divizate in subgrupuri care au
asigurat nivelul de control de executie.
Modelul de executie,Executia de instante de kernel
Rezultatul oferit de programul OpenCL a fost obtinut prin
executia de instante de kernel pe dispozitivele de computatie.
Obiectul de kernel a fost definit de la o functie din obiectul de
program si o colectie de argumente care au conectat kernelul
la valori argument.
Instanta de kernel a fost atribuita unei imagini si pentru o
coada de comanda in ordine,instanta de kernel a aparut la
lansare.
Comenzile de sincronizare se afla in coada de instanta kernel
satisfacuta.
Fiecare eveniment a fost o lista de evenimente optionale
cand instantele de kernel care au fost legate in coada sa fie
completate.
Sincronizarea la model de executie
Sincronizarea se refera la mecanisme care au fost constranse
de ordinul de executie dintre doua sau mai multe ordine de
executie
Sincronizare grup de lucru
Sincronizarea de subgrup
Sincronizarea de comanda
Sincronizarea de-a lungul itemelor de lucru dintr-un grup unic
a fost purtata folosind functia de grup de lucru.
Operatiunile disponibile colective au fost:
Bariera
Reducere
Broadcast
Suma de prefix
Evaluarea de predicate
Sincronizarea de comanda a fost definita in termeni de puncte
distincte.
Punctele de sincronizare au fost regasite in cozile de comanda
de host si dintre comenzile in cozile de comanda de dispozitiv.
Punctele de sincronizare definite in OpenCL au inclus:
Lansarea de comanda
Instanta de kernel a fost lansata in dispozitiv dupa ce
evenimentele care se regasesc in kernel sa fie setat la zero.
Terminarea de comanda
Kernel-urile au fost asezate in coada astfel incat starea pe
kernel sa atinga starea de sfarsit inainte sa fie lansata.
Completarea de comanda
Instanta de kernel a fost completata dupa grupurile de lucru
in kernel si dupa kernelul care a fost completat.
Comenzile de blocare
Comanda de blocare a definit punctul de sincronizare dintre
unitatea de executie care a chemat functia de blocare API si
comanda de coada care a atins starea completa.
Modelul de memorie,regiunile de memorie fundamentala
Memoria host
Memoria este direct disponibila la host.
Comportarea de memorie host a fost definita din afara
OpenCL.
Memoriile de obiect sunt deplasate dintre Host si dispozitive

prin funcii din API OpenCL sau prin interfata de memorie
virtuala.
Memoria de dispozitiv
Memoria direct disponibila la kernel-uri disponibile care
executa pe dispozitivele OpenCL.
Memoria globala
Regiunea de memorie permite access read write la toate
itemele de lucru la grupurile de lucru care ruleaza pe un
dispozitiv din context.
Memoria constanta
Regiunea de memorie globala a ramas constanta in timpul
executiei pentru instanta de kernel.
Memoria locala
O regiune de memorie locala la grupul de lucru.
Regiunea de memorie poate fi utilizata la variabilele de
alocare care au fost sharate de itemii de lucru.
Memoria privata
Spatiul constant de adresa a fost asociat cu obiectele de
memorie in memoria globala nu sunt pastrate intre instantele
de kernel dintre dispozitiv si host.
SVM a cauzat adrese sa aiba un inteles dintre host si
dispozitivele din context.
Pe platformele cu suport hardware pentru spatiul de adresa
sharata.
Computing paralel
Arhitecturi multiple exista pentru a performa o sarcina
multipla folosind procesoare multiple.
Grid computing
MPP(Massively Parallel Processor) Systems
Cluster server system-retea de computer general purpose
SMP(Symmetric Multiprocessing System)
Multi-core processor
Taxonomia Flynn
Taxonomia Flynn este o clasificare de arhitecturi propuse de
Michaell J.Flynn.
Aceasta este bazata pe concurenta si data stream-urile disponi-
bile in arhitectura.
Single Instruction,Single Data Stream (SISD)
Single Instruction,Multiple Data Streams (SIMD)
Multiple instruction,Single Data Stream (MISD)
Multiple instruction,Multiple Data Streams (MIMD)
Cand am paralelizat
In faza de planificare al programelor paralele,am luat in
considerare anumite legi.
Asumam faptul ca Tsreprezinta timpul necesar pentru rularea
portiunii de cod care nu poate fi paralelizat.
Tpreprezinta timpul necesar pentru rularea portiunii de cod
care a beneficiat de paralelizare.
T(1) =Ts+Tp
T(N) =Ts+Ts
N
Proportia de timp a fost petrecuta ruland cod care nu putut fi
paralelizat,marimea de viteza S atinsa este:
S=T(1)
T(n)=T(1)
Ts+Tp
N=1
y+(1y)N
Aceasta lege a fost cunoscuta ca legea lui Amdahl.Paralelizarea de task
Caracteristica principala a metodei de paralelizare paralela este
ca fiecare procesor executa comenzi diferite.
Metoda de paralelizare task a necesitat o metoda de echilibrare
a sarcinilor pentru a lua avantajul de core-uri.
O alta metoda folosita in paralelizarea de task este numita
pipelining.
Pipelining a fost folosit in referinta cu ”instruction pipeling”
Optimizarea OpenCL
OpenCL asigura API-uri standard la nivel apropiat de hard-
ware.
Acestea includ operatii vectoriale SIMD,memoria asincrona
folosind DMA
Transfer de memorie dintre procesoare
Modelul de programare paralel pentru programare de date
In modelul de programare de date paralel,fiecare kernel a fost
trecut prin coada de comanda sa fie executat in mod simultan
la unitatile de computing sau elementele de procesare.
Fiecare kernel a asigurat un index unic,astfel incat procesarea
a fost performata pe seturi diferite de date.
Modelul de memorie
OpenCL permite kernel-ului sa acceseze 4 tipuri de memorie.
Memorie globala
Memoria a fost citita din obiectele de lucru,care a fost memo-
ria de dispozitiv.
Memorie constanta
Memoria care a fost citita din iteme de lucru.
Acestea au fost fizic memoria de dispozitiv, folosita mult mai
eficient decat memoria globala.
Memoria locala
Memoria a fost citita din itemii de lucru dintr-un grup de lucru
Memoria privata
Memoria a putut fi folosita din fiecare item de lucru.
Instalarea si folosirea rutinei OpenCL pe placa video Intel
pe platforma Windows
Pentru folosirea rutinei OpenCL am folosit
Intel CPU Runtime for OpenCL Applications 18.1 for
Windows OS
Aceasta rutina in tandem cu unealta PyOpenCL, ne-a dat acces
la computatie paralela OpenCL.
Ce a facut PyOpenCL special?
Garbage collector in concordanta de durata de viata
a obiectelor care face mult mai usor sa scriem cod
corect,care nu are scurgeri de memorie si este stabil
Verificarea de eroare automata,toate erorile au fost traduse
in exceptii Python
Layer-ul de baza PyOpenCL a fost scris in C++
asadar,acesta este open-source
Software care conlucreaza cu PyOpenCl:
pyclblas (face BLAS disponibil din cod pyopencl
CLBlast (wrapper pentru libraria BLAS OpenCL)
gpyfft(wrapper pentru libraria OpenCL FFT)
Maparea itemilor de tip OpenCL
Tipurile Scalare
Tipurile Vectoriale

Fig. 3. Ierarhia de memorie in modelul de programare OpenCL
Operatiile de baza de optimizare deschise sunt maximizarea
de raport de operatii punct flotant,ascunderea latentei de
memorie globale si echilibrul de utilizare de memorie
globala,memorie sharata si inregistrare.
Tipurile Scalare:
modulul cltypes asigura maparea din tipul OpenCL la tipurile
echivalente numpy.
Tipurile Vectoriale:
Tipurile corespunzatoare vectoriale au fost facute disponibile
in acelasi pachet.Operatiuni de procesare de imagine
Blurarea folosita pentru eliminarea de zgomot din imagine
Filtrul bilateral a fost un filtru nonlinear,care a pastrat
marginile si a eliminat zgomotul din imagini.
Ponderea filtrului bilateral a fost bazata pe distributia Gaus-
siana.
Ponderile nu depind de distanta Euclidiana a pixelilor.
Definitia filtrului bilateral
Filtrul bilateral este definit ca:
ffiltrat1
WpP
xi2!I(xi)I(x)jj(jjxixjj)
Termenul de normalizare Wpa fost definit ca:
Wp=P
xi2!fr(jjI(xi)I(x)jj)gs(jjxixjj)
ifiltrateste imaginea filtrata
I este imaginea de input originala filtrata
x este coordonata de pixel curent filtrat
!este fereastra centrata in x,astfel incat xi2!e
freste kernel-ul de raza pentru netezirea diferentelor din
coordonate.
w(i;j;k;l ) = exp((ik)2+(jl)2
22dI(i;j)I(k;l)jj2
22r
Filtrul bilateral a fost controlat de doi parametri dsitAcesti
doi parametri au determinat raza de valoare in domeniul de
raza si domeniul spatial.
Convertirea in tonuri de gri
In imaginile sub format de tonuri de gri nu putem face
diferenta dintre emiterea de culori diferite si am acordat
fiecarei iesiri o valoare unica.
Ca abordare am lasat ponderile din mediere sa fie dependente
de imaginea actuala pe care am dorit sa fie convertita.
Pentru convertirea unei culori dintr-un spatiu al culorilor
bazat pe model RGB,functia de compresie gamma a trebuit
eliminata din expansiunea Gamma prin linearizarea imaginii
pe componente
Rlinear;Glinear;Blinear
Convertirea de threshold
Operatiunea de thresholding a fost cea mai simpla metoda de
segmentare,folosita pentru obtinerea imaginilor binare.
Metoda de forma de histograma
Metode bazate pe clusterizare
Atributul de obiect
Metode spatiale
Metode locale
Gasirea de contur de imagine
Marginile si conturul poarta un rol important.
Marginea vine din schimbarea locala a intensitatii din ori-
entarea particulara.
Detectia de margine de baza de gradient
Operator de margine
Detectia de margine derivata secunda
Ascutirea de margine
Detectie de margine de gradient
Metoda de detectie de margine a detectat marginea din
schimbarea de intensitate de-a lungul liniei de imagine.
In imagine prima derivata de functie a trebuit estimata si
reprezentata la panta tangentei de pozitie u.
df
duu=f(u+1)f(u1)
u+1u1=f(u+1)f(u1)
2

Derivata functiei multidimensionale de-a lungul unei axe este
derivata partiala:
I(u;v) =I
u(u;v)
Vectorul si amplitudinea de gradient a fost calculata prin
ecuatia:
jIj(u:v) =p
Iu (u:v))2+ (
I)(u:v))2
Operatorul de margine:
Operatorul de margine
Aceste metoda foloseste filtrarea liniara de-a lungul celor 3
linii adiacente si coloane.
Pentru operatorul Prewitt,filtrul H de-a lungul axelor x si y
este de forma
HP
x=2
41 0 1
1 0 1
1 0 13
5
HP
y=2
4111
0 0 0
1 1 13
5
Operatorul Sobel de-a lungul coordonatelor x si y este de
forma:
HS
x=2
41 0 1
2 0 2
1 0 13
5
HS
y=2
4121
0 0 0
1 2 13
5
Componenta locala de gradient prin scalare a operatorului
Prewitt:
I(u:v) =1
62
4121
0 0 0
1 2 13
5
E(u:v) =p
(Dx(u:v))2+ (Dy(u:v))2
(u:v) =tan1(Dy(u:v)
Dx(u:v)=Arctan (Dy(u:v):Dx(u:v))
Netezirea de margine
Sarcina a fost folosita tipic pentru rezolvarea problemelor
cand pierderea de imagine dupa scanare si scalare.
Ideea a fost amplificarea frecventei ridicate a componentelor
din imagine.
Netezirea de margine cu filtrul Laplace(Derivata Se-
cunda)
Unsharp masking
Sarcina M a fost generata de substragerea de versiune netezita
de imagine 1 cu kernel H(filtru de netezire.
MI(IH) =Ii
Ponderarea factorului a mastii M si adaugarea la imaginea I.
I=I+ MUrmarirea de contur
Urmarirea de contur sau urmarirea de marginire a fost o
tehnica care a fost aplicata imaginilor numerice pentru ex-
tragerea de margine.
De ce s-a dorit extragerea conturului dintr-un anumit pattern :
Urmarirea de contur a fost o tehnica de preprocesare pentru
extragerea informatiei despre forma generala.
O data ce conturul pattern-ului dat a fost extrac-
tat,caracteristicile diferite au fost examinate.
Pixelii de contur au fost un subset mic de numere totale de
pixeli care reprezinta un pattern si cantitatea a fost cu mult
redusa cand am rulat algoritmii de extragere de features de
contur in loc de pattern-ul intreg.
Conturul a impartit multe specificatii cu pattern-ul original.
Algoritmii de urmarire de contur
Algoritm square tracing
Urmarire Moore Neighbor
Radial Sweep
Algoritm Theo Pavlidis
In cadrul lucrarii de fata am folosit algoritmul square tracing .
Algoritm
Descrierea formala a algoritmului de square tracing:
Intrare:
A-tesselatie patratica.
T-contine componente conectate
P-celule negre
Iesire:
Secventa B(b1,b2,…,bn) de pixeli din contur.
Incepe
Seteaza B sa fie gol
De jos in sus si scanare stanga dreapta am scanat celulele
T din pixeli negri s de P gasiti
Inserare s in B
Seteaza pixelul curent p la pixelul de pornire s
Dute la pixelul adiacent de p
Actualizeaza p si seteaza la pixelul curent
Cat timp p nu este egal cu s
Daca pixelul curent este negru
Insereaza p in B si dute la stanga
Actualizeaza p si seteaza pixelul curent
Altfel
Dute la dreapta

Actualizeaza p
end while
end
Urmatoarea etapa care a dus la trasarea conturului a fost
calculul ariei de contur implementate prin functia
contourArea
Aria de contur a fost calculata prin integrarea ariei acesteia si
expandarea acesteia sub forma de serii Taylor.
Calculul momentului de imagine
Invariantele de moment.
Momentele au fost bine cunoscute pentru aceste aplicatii
de analiza de imagine si au fost folosite pentru derivata
invariantelor cu respect la clasele de transformate specifice.
Momentele de termen de invarianta au fost folosite si in-
variantele de moment au fost invariante formate de moment
si singurele momente care au fost invariante insasi au fost
momentele centrale.
Prin folosirea de invariante de moment,am recunoscut un
obiect ca un obiect chiar cand aparenta a variat intr-un
anumit fel si s-a potrivit cu identitatea de obiect,categorie
si schimbarile de-a lungul intrarii de subiect,precum pozitiile
relative.
Translatia invariantelor de moment are o insemnatate care nu
s-a referit la geometrie.
Operatorul de convolutie a comutat cu respect la traducere si
daca a realizat convolutia functiei f si g.
O abordare la recunoasterea obiectului de translatie de invari-
atie a fost luarea de template de obiect.
Aceasta abordare a fost numita template matching.
Template matching
Template matching a fost o metoda de kernel glorificata.
f(x) =P
i1N iK(x; i)
Parametrii de metoda kernel au facut parte din categoria scalari
si
Folosirea de seturi optimale si duce la folosirea de diferite
metode de kernel.
Metoda kernel folosita in aceasta lucrare a fost intitulata
reconstructia3D si a fost procesul de capturare al formei si
al obiectelor reale.
Abordarea de recunoastere a folosit descriptori bazati pe
feature.
Algoritmii simpli de detectie au fost:
Detectorul de Regiune Afina Harris
Operatorul Scale Invariance Feature Transform
Detectorul de regiune afina Harris
In campul de analiza de imagine si computer vision,detectorul
de imagine Harris apartine categoriei de detectare de feature.
Detectorul de feature a fost un pas de preprocesare care s-a
bazat pe identificarea de puncte caracteristice sau puncte ce
fac corespondente dintre imagini.
Features de invarianta de afinitate au fost potrivite pentru
matching si detecteaza regiuni in forma de elipsa cu featuresde edge si blob.
Metoda a construit un model 3D pentru un obiect care contine
pozitia spatiala 3D si pentru fiecare pereche de features de
potrivire am construit estimata de puncte de pozitii.
Pentru a produce modelul unificat am folosit principiul de
minimizare globala pentru reducerea de eroare.
Ultima etapa a fost gasirea metodei de proiectie de afinitate
care foloseste RANSAC(Random Sample Consensus).
Invariantele de scala
Invariantele ijcu respect la translatie si scala au fost constru-
ite din momente centrale prin divizarea momentului propriu
scalat.
i+j >= 2
Invarianta de translatie urmeaza momentele centrale.
Invariantele de rotatie
I1=20+02
I2= (2002)2+42
11
I3= (30312)2+ (3212
03
I4=30+12)2+ (32103)2
I5= (303(12)[(30+12)23(21+03)2]
Punctul de centroid
Analiza de cluster este o metoda de organizare de date in
grupuri reprezentative bazat pe caracteristici similare.
Fiecare membru al clusterului este in comun cu alti membri
ale aceluiasi cluster.
Punctul de centroid
Centroidul este folosit ca inlocuire de centru de gravitate si
centrul de masa.
Centrul de gravitate este o notiune care vine din mecanica.
Centroidul geometric al obiectului convex,obiectul non-convex
are un centroid care in afara figurii insasi.
Metoda de echilibrare al unui set finit de puncte.
Centroidul unui set finit de puncte x1;x2;::::;xkinRneste
C=x1x2+:::+xk
k
Decompozitia geometrica
Centroidul figurii de plan X a fost calculat prin divizarea
numarului finit de imagini.
X1;X2;:::Xncalculat centroid C1si ariaAide fiecare parte
si computing Centroidul figurii planului X a fost calculat prin
divizarea intr-un numar finit de figuri simple.
X1;X2;:::;Xn
Calculand centroidul Cisi ariaAila fiecare parte.
Formula integrala
Centroidul unui subset X din Rnpoate fi calculat prin inte-
grala:
C=xg(x)dx
g(x)dx
Ck=zSk(z)dz
Sk(z)dz
Coordonatele de centru au fost:
Cx=xSy(x)dx
A
Cy=ySx(y)dy
A
Regiunea de marginire
x=1
Aintabx[f(x)g(x)]dx
In coordonatele triliniare centroidul a fost exprimat in termeni
de lungimi echivalente in termeni de lungimi a,b,c si unghi de
vertex L.M.N

Fig. 4. Convex Hull aplicat pe imagine
C=1
a+1
b+1
c=bc:ca:ab=cscL :cscM :cscN
cosL +cosMcosN :cosM +cosNcosL :cosN +cosL
cosM
secL +secMsecN :secM +secNsecL :secN +secL
secM
Dreptunghiul de marginire
In geometrie,cutia minima sau marginirea cea mai mica sau
cutia inchisa in dimensiuni S si N este cutia cu masura cea
mai mica.
Cand am folosit parametri cum ar fi aria,volumul sau hiper-
volumul in dimensiuni ridicate unde punctele au stat.
Cutia de marginire minima este aceeasi cu cutia de marginire
minima al convex hull si a putut fi folosit heuristic.
In procesarea de imagine numerica, cutia de marginire a im-
plicat cunoasterea de coordonate de margine dreptunghiulara
care foloseste imaginile numerice.
Convex Hull al imaginii
Convex Hull sau inchiderea convexa este cel mai mic set
convex care apartine setului.
Convex hull poate fi definit ca si intersectia mai multor seturi
convexe care contin un subset de spatiu Euclidian.
Pentru subsetul marginit al planului,convex hull este vizualizat
ca forma de ecuatie elastica.
Convex Hull apartine seturilor deschise si ale seturilor com-
pacte
Problema algoritmica pentru gasirea convex hull este numarul
finit de puncte in plan sau spatii Euclidiane jos dimensionale.
In cazul seturilor de puncte finite, convex hull a fost studiat
pentru poligoane simple,miscare Browniana,curbe spatiale si
epigraf de functii.
Laplacian-ul de functie
Operatorul Laplacian este un operator derivativ gasit pentru
gasirea marginilor din imagine.
Diferenta majora dintre Laplacian si alti operatori Pre-
witt,Sobel,Robinson si Kirsch.
Fig. 5. Rezultatul aplicarii operatorului Laplacian
Laplacian-ul este masca derivata secunda si am avut doua
clasificari ale operatorului pozitiv Laplacian.
Celalalt este operatorul Negativ Laplacian.
Clasificarea de operator Laplacian:
Marginile inward
Marginile outward
Operatorul Pozitiv Laplacian
In laplacian-ul pozitiv am avut masca in care elementul de
centru trebuie sa fie negativ si elementul de colt al mastii
care trebuie sa fie zero.2
40 1 0
14 1
0 1 03
5
Operatorul Negativ Laplacian
Operatorul Laplacian negativ care are masca standard si in
care elementul central este pozitiv.
Toate elementele din colt sunt zero si restul de elemente in
masca sunt -1.2
401 0
1 41
01 03
5
Laplacianul este un operator derivativ si foloseste
discontinuitatile de nivel de gri din imagine si a scos
regiunile cu nivele de gri.
Lucrul important este aplicarea de filtre pe imagine.

Algoritmii de baza morfologici
In analiza si procesarea de imagine si analiza este important
sa extragem specificatiile din obiecte,descriere forme si re-
cunoastere de pattern-uri.
Astfel de sarcini se refera la concepte geometrice,cum ar fi
dimensiunea,forma si orientarea.
Fiecaruie pixel i-au fost alocate ca celula din starea curenta.
Implementarea acestor algoritmi in procesarea de vecinatate
permite procesarea paralela.
Algoritmi morfologici:
Boundary extraction
Region Filling
Extragere de componente conectate
Convex Hull
Thinning
Thickening
Scheletizarea
Pruning
Operatii de margine morfologica
Algoritmul de eroziune iterativ imbunatit
Pentru a reduce calculele redundante,transformata de distanta
a fost aplicata.
Distanta Euclidiana tridimensionala
p= (P1;P2;P3)si (q= (q1+q2+q3)) in imaginea
tridimensionala unde p1;p2;p3;q1;q2;q3
Distanta Euclidiana
ds(p;q) =p
(p1q1)2+ (p2q2)2+ (p3q3)2
ds(p;q) = [dc(p;q)]2
Extragere de feature
Extragerea de feature este un pas esential de pre-procesare la
recunoasterea de pattern si problema de machine learning.
Modelul morfologic adaptiv
Operatorul morfologic traditional proceseaza o imagine
folosind un element de structurare de forma fixata.
A si B sunt subseturi de EN.
Dilatarea adaptiva morfologica de A printr-un element de
structurare B este definita prin:
Detectia de colt prin morfologia reglata
Colturile sunt implicate in recunoasterea de pattern.
Acestia sunt pixeli ale carei pixeli se schimba abrupt.
Masurarea locala cum ar fi supresarea nonmaximala a fost
folosita pentru obtinerea de harta de colt binara.
Morfologia modificata reglata pentru detectia de colt
Morfologia reglata mosteneste multe proprietati de morfolog-
ica si este utila pentru aplicarea in procesarea de imagine.
AB=jXj(A\( )s)>=s
s2[1;min (A;B)]
A B=xj(A\(B)x)<s;s2[1;B])
Razele punctelor semnificative si coordonatele
Punctele semnificative au fost maximul local al vecinatatii in
transformata de distanta.
Algoritmul de extragere de punct semnificativ este:
Executa dk, k este element de structura cu toate
zerourile
Daca valoarea de pixel de obiect este iesirea in pasul 1este egal cu acela in d, atunci am mentinut valoarea altfel
incat punctul sa fie zero
Daca punctele de iesire nonzero au fost conectate,atunci
am reprezentat punctele printr-un punct de mediere unic
Listeaza valorile de raza si coordonatele punctelor de
nonzero in concordanta la ordinea scazatoare la valoarea
de raza
Localizarea prin morfologia ierarhica al filtrului trece
banda
Problema considerata este localizarea de obiect.
Deschiderea cu o imagine a eliminat pixelii din regiune.
TRECEJOS =ABnh
TRECESUS =A(ABn )
TRECEBANDA = (ABn )(ABn )
unde raza de B,h1¡h2
Detectia de colt si de cerc
Algoritmul de detectie de colt si cerc bazata a fost introdus in
aceasta sectiune.
Imaginea a fost deschisa cu elementul de structurare de disc.
Aria de reziduu deschis variaza cu unghiul de colt.
Algoritmul de detectie colt
Imaginea binara a fost dilatata prin elementul de struc-
turare al dimensiunilor potrivite
Iesirea a fost deschisa printr-un element de structura al
discului al unei dimensiuni mari
Scaderea iesirii de la pasul 2 la iesirea de la pasul 1
Iesirea de la pasul 3 a fost erodata prin elementele de
structurare bidisc
Scaderea iesirilor bierodate
Scheletizarea sau transformarea MA
Scheletizarea a fost motivata din necesitatea de convertire
a unei imagini numerice intr-o forma lineara intr-o maniera
naturala.
Scheletul scoate in evidenta anumite proprietati al scheletului.
Scheletul sau axa simetrica a fost utilizata extensiv pentru
caracterizarea de obiecte.
Transformarea mediala axiala prin dilatare morfologica
Setul de centre si valori ale blocurilor maximale este numita
transformata axa simetrica.
Iesirea Dilatarii Morfologice sa fie d.
O transformata DT a convertit o imagine binara care a constat
dintr-un obiect si nonobiect dintr-o imagine unde fiecare pixel
de obiect are o valoare care corespunde la distanta minima.
h1= 00
h2= 00
h3= [00]
h4= [00]
Algoritmul MAT
Rasterizeaza imaginea de distanta d.
Daca oricare dintre valorile rezultate este egal la valoarea
originala in tonuri de gri
Algoritmul de reconstructie
m denota grayscale MAT.Acesta foloseste elementul de struc-
tura de distanta k.
Obtinerea scheletului din functia de distanta

Functia de distanta a pixelului P in regiunea de obiect S a
fost definita ca distanta cea mai mica de P din toti pixelii de
background S.
D(P) =minQS(d(P:Q))
d(P,Q) este distanta Euclidiana dintre P si Q.
Daca am vizualizat valorile de distanta ca altitudine de
suprafata,atunci suprafata consta din scheletul in care vectorul
tangent nu poate fi definit unic.
A(P) =jQjd(P;Q) =D(P);Q2Sj
Algoritmul de scheletizare si proprietatile de conectivitate
Algoritmul de scheletizare ia punctele de schelet,prin alegerea
de maxime locale si ia in considerare schimbarile din axele
mediene.
Punctele de baza si punctele apex sunt detectate punctele
initiale de schelet
Inceperea cu trei puncte schelet,generarea directionala
uphill este folosita pentru a adauga puncte schelet si
adaugarea de noi puncte schelet
Am inceput cu punctele marcate,generarea directionala
downhill a completat urmarirea de schelet
Scheletul este o alta descriptie de forma de obiect.
Daca este o axa care este echidistanta de la marginile de
forma.
Pentru gasirea de schelet al imaginii,am folosit transformata
de distanta
Transformata de distanta este un algoritm care aproximeaza
distanta Euclidiana la fiecare punct imagine la regiune mult
mai rapid.
Intrarea de imagine este x(m;n)si distanta pixelilor din
regiune este marcata cu complement fata de 1 al lui x(m;n)
siD(m:n)
x(m;n) =2
666666666640 0 0 0 0 0 0 0
0 1 1 1 1 1 1 0
0 1 1 1 1 1 1 0
0 1 1 1 1 1 1 0
0 1 1 1 1 1 1 0
0 1 1 1 1 1 1 0
0 1 1 1 1 1 1 0
0 0 0 0 0 0 0 03
77777777775
D(mn) =2
666666666640 0 0 0 0 0 0 0
0 5 5 5 5 5 5 0
0 5 10 10 10 10 5 0
0 5 10 15 15 10 5 0
0 5 10 15 15 10 5 0
0 5 10 1 1 1 5 0
0 5 5 5 5 5 5 0
0 0 0 0 0 0 0 03
77777777775
Distantele aratate in D(m;n)sunt scalate printr-un factor de
5.
Motivul pentru complementarea acestuia este usor sa
intelegem imaginea de distanta.
Incepem cu o matrice schelet (m;n)de aceiasi dimensiune
cu imaginea de intrare cu intrari zero.
D(mn) =2
40 0 0
0 5 5
0 5 03
5Scheletul imaginii de input este:
schelet (mn) =2
666666666640 0 0 0 0 0 0 0
0 1 0 0 0 0 1 0
0 0 1 0 0 1 0 0
0 0 0 1 1 0 0 0
0 0 0 1 1 0 0 0
0 0 0 1 1 0 0 0
0 1 0 0 0 0 1 0
0 0 0 0 0 0 0 03
77777777775
Transformarea de distanta
nteriorul marginirii de obiect inchis este considerat pixeli de
obiect si exteriorul ca pixeli de background.
S denota un set de pixeli de obiect dintr-o imagine.
Functia de mapare dintr-o mapare de imagine contine S
la matricea de intregi nonnegativi este numit ”functia de
distanta”, daca satisface urmatoarele trei criterii.
Pozitiva Definita – Aceasta este d(p,q)¿0 doar si numai
daca p=q pentru toate p,q 2S
Simetric – Acesta este d(p;) =d(q;p)pentru toate
p;q2S
Triangular – Acesta este d(p;r)<d(p;)+d(q;r)pentru
toatep;q;r2S
Aproximarea de distanta Euclidiana
Transformata de distanta este esentiala o computatie globala.
Toate masurile de distanta sunt pozitiv definite,simetrice si
satisfac inegalitatea de triunghi.
Distantele globale din imagine pot fi aproximate prin
propagarea de distanta locala care distanta dintre pixelii de
vecinatate.
Distanta Euclidiana este o masura nonliniara.
Definitia distantei de masurare este relatia dintre blocul (d4)
k4=2
4212
1 01
2123
5k8=2
4111
1 01
1113
5
Am calculat distanta Euclidiana prin formula urmatoare:
dc=p
((d4d8)2+ (d8)2
Decompozitia distantei Euclidiene de element de
structurare
Decompozitia elementului de structurare al distantei
Euclidiene.
k=max(k1;k2;:::;kn)
Converteste imaginea binara,care consta dintr-un
obiect(foreground) si nonobiect(background) in alta imagine.
Una din aplicatiile din calculul factorului de forma care
masoara compactivitatea bazata pe raportul de numar total.
Calculul distantei de la un obiect de pixel la background este
o operatie globala, care costa.
DT este operatorul general format pe baza de multe metode
in computer vision si geometrie cu potential pentru aplicatii.
Transformarea de distanta prin operatiuni iterative
Trei tipuri de masuri de distanta in procesarea de imagine
numerica sunt folosite:
Euclidiana
Bloc de oras
Tabla de sah

Fig. 6. Aplicarea scheletizarii pe imagine
Distanta Bloc de oras dintre doua puncte
P= (x;y)siQ= (u;v)este definita ca:
d4(P;Q) =jxuj+jyvj
ds(P;Q) =max(jxuj;jyvj)
Distanta Euclidiana dintre doua puncte:
P= (x;y)
siQ= (u;v)
este definita ca:
dc(P;Q) =p
(xu)2+ (yv)2
d(P;Q) =d(P;R) +d(R;Q)
Xs(P) =Xs(P) +mind(Q;P)Xs(Q)
Transformata de distanta prin morfologie
Abordarea pentru atingerea transformatei de distanta nu este
adoptat direct la definitia la distanta minima de la un obiect
de la un pixel de obiect de la pixelii de background de border.
Decompozitia de imagini mari in procesarea de imagine
In anumite aplicatii,MRI,CT si microscopie confocala,pentru
astfel de date,procesarea de imagine este dificila si necesita
abordari avansate,cu respect la optimizare de memorie.Algoritmul de urmarire de maxim modificat a fost dat
dupa cum urmeaza
Punctele de apex au fost detectate pe punctul initial de
schelet
Pentru inceperea fiecarui punct de apex,am folosit gener-
area directionala-uphill pentru generarea de puncte de
schelet
Extragerea de margine
Cand imaginea de intrare a fost in tonuri de gri,am performat
procesul de segmentare prin aplicarea de threshold de imagine.
Aplicarea de threshold pe imagine a fost facuta aplicand o
histograma.
Setul de marginire al unui set A este:
A = A-(A-B)
Region Filling
Obiectivul procedurii de Region Filling a fost umplerea cu
valori de 1 al intregii regiuni de obiect.
Setul de imagini binare a continut pixelii de marginire 1 si de
nonmarginire.
Xi= (Xi1+B)TAk=1,2,3
Extragerea de componente conectate
Similar cu region filling,procesul iterativ a fost aplicat pentru
extragerea de componente conectate.
A fost dorita extragerea componentelor dorite prin conectarea
la luarea unui pixel din componenta si cresterea ei prin
performarea de dilatari iterative sub o conditie restrictionate
de A.
Xi= (Xi1dn+B)Tk= 1;2;3
Convex Hull
Setul convex este linia dreapta care a legat orice doua puncte
in set care consta in puncte care sunt in set.
In imagini numerice folosind setul convex hull de 45 de
grade,care contine orientarea de multiplu de 45.
C(A) =i1kDi
Subtierea
Operatiunea de subtiere a fost similara cu eroziunea si nu
cauzeaza disparitia de componente pe obiect.
Scheletii digitali au fost generati de algoritmii de sub-
tiere,bazati pe seturi de transformare morfologica.
Subtierea unei imagini binare a fost reprezentata in termeni de
operatiune hit or miss.
AB=A(AB) =AT(AB)
In cadrul procesului de cautare si de stergere.
OperatorulABn a localizat ocurenta in B si in A si substractia
de set a eliminat acesti pixeli care au fost localizati din A.
Pentru slabirea lui A simetric am folosit o secventa de 8
elemente de structura.
Slabirea unei secvente de 8 elemente a fost reprezentata de:
AB= (AB)B8
Procesul de slabire a eliminat pixelii din marginile de obiect
si elementele de structura au fost proiectate sa gaseasca pixelii
de imagine si nu au schimbat conectivitatea de obiect.
Ingrosarea
Ingrosarea a fost similara cu dilatarea,dar nu a cauzat
fuzionarea de obiecte de discontinuitate.

Ingrosarea a fost o morfologie duala la subtierea si a fost utila
pentru cresterea de concavitati dintr-un obiect.
A(B=AB
Imaginea ingrosata contine setul original plus pixelii umpluti
determinati de operatorul hit and miss.
Secventa de element de structurare a fost folosita in ingrosare
si este aceiasi cu subtierea.
Secventa de operatorul de ingrosare a fost reprezentata de:
A(jBj= (A(B1)(B2):(Bn))
Pruning
Scheletul unui pattern dupa subtiere de obicei apare ca branch-
uri de zgomot mic.
Procesul se numeste pruning.
Ramura de zgomot poate fi localizata prin gasirea punctului
de pornire.
Operatorul de margine morfologic
Operatorul de margine bazat pe operatorul morfologic a fost
introdus de Lee,Haralick si Shapiro.
Detectorii cei mai simpli morfologici de detectie de margine au
fost reziduurile de dilatare si operatorii de reziduu de eroziune.
Filtrele de baza morfologice
Filtrele de imagine au eliminat componentele de imagine
nedorite si au imbunatatit pe cele dorite.
Morfologia matematica a aplicat conceptul de set teoretic si a
asigurat abordarea de procesare de semnal numeric.
Filtrele morfologice au folosit:
Dilatarea
Eroziunea
Deschiderea
Inchiderea
Acestea au fost folosite pentru mai multe scopuri care includ
:
Digitizarea
Imbunatirea
Compresia
Restaurarea
Segmentarea
Descrierea
Filtrele morfologice au apartinut operatorilor nonliniari care
au fost folositi pentru netezirea regiunilor mici intunecate.
Elementele intunecate au fost reduse sau au fost eliminate si
au depins de formele si dimensiunea relatata la elementele
structurate.
Inchiderea morfologica si-a pastrat obiectivele mici care au
fost iluminate din background si au conectat obiectele in-
tunecate cu spatii mici.
Filtrele alternative secventiale
Filtrele alternative sunt o combinatie de filtre iterative morfo-
logice cu dimensiune crescatoare de elemente de structurare.
X este denotat de o imagine binara si B denota element de
structura binar.
AFB(X) = (X_B)_B
AFB(X) = (X_B)
AFB(X) = (X_B)_B)_B
AFB(X) = (X_B)_B)_BBN=BN1_B1
Filtre recursive morfologice
Filtrele recursive morfologice au fost folosit pentru procesarea
iterativa a transformatei de distanta si de scheletonizare.
Scopul operatorului recursiv morfologic este alimentarea ei la
iesire si sa fie considerat in calculul de pixeli de scanare.
Transformata de distanta si morfologia recursiva.
d1=fkn 1
d2=d1kn2
Filtrele morfologice soft
Filtrele morfologice soft au adoptat conceptul de filtre de ordin
statistic si filtrele morfologice.
Diferenta principala filtrele traditionale morfologice sunt op-
eratorul maxim si de minim inlocuite statistic de ordine
ponderata.
Idea de baza al operatorilor morfologici soft este elementul
structurat B este divizat in doua subseturi.
Dilatarea morfologica soft(eroziunea) a unei functii cu respect
la doua seturi finite A si B
Definitia 5.9
Dilatarea morfologica soft al lui F a fost definita ca
fP[B;A;K ])(x)
Operatiunile morfologice soft set de set au putut fi simplificate
prinn=Card (A)siN=Card (B)
Dilatarea
Dilatarea a fost unul din operatorii de baza in aria de mor-
fologie matematica,celalalt fiind eroziunea,care a fost aplicata
la eroziune,aplicata la imaginea binara.
Operatorul de dilatare la doua portiuni de date ca intrari.
Prima este imaginea care a trebuit dilatata.
A doua este un set de coordonate cunoscut ca element de
structurare(cunoscut ca si kernel)
Definitia matematica de dilatare al imaginilor binare este
urmatoarea.
Xeste un set de coordonate Euclidiene care a corespuns la
imaginea de intrare binara si K este un set de coordonate
pentru elementul de structurare.
Kx denota translatia lui K cu originea in x
Dilatarea lui X cu K este un set simplu set de puncte x astfel
incat intersectia lui kX CU x nongol.
Pentru calculul dilatarii unei imagini de intrare binare prin
acest element de structura si am considerat pixelii de back-
ground din imaginea de intrare.
Pentru fiecare pixel de background am superimpus elementul
de structura cu un pixel de foreground.
Dilatarea este dualitatea de eroziune,dilatarea de pixeli de fore-
ground este echivalenta cu erodarea de pixeli de background.
Xk=dilate (Xk1;J)TAnot
Eroziunea
Eroziunea este unul din operatorii de baza in aria de morfolo-
gie matematica,aplicata la imagini binare si efectul operatoru-
lui pe o imagine binara este erodarea marginirilor de regiuni
din pixeli de foreground.
Definitia matematica al eroziunii pentru imagini binare este:
X este S de coordonate Euclidiane care corespunde din

Fig. 7. Aplicarea operatorului de eroziune
imagine de intrare binara si K este set de coordonate in
element de structura
Kxdenota traducerea lui K cu originea in x
Eroziunea lui X cu K este simplu set al numerelor lui x
astfel incat Kx este un subset de X
Pentru calculul eroziunii de imagine de intrare binara prin ele-
mentul de structura,am considerat fiecare pixel de foreground
in imaginea de intrare la iesire.
Inchiderea
Inchiderea este un operator important din campul morfologiei
matematice.
Precum deschiderea operatorului dual,poate fi derivat prin
operatiunile fundamentale ale eroziunii si dilatare.
Inchiderea este similara in multe cai cu dilatarea si tinde sa
mareasca marginirea de foreground.
Ca si cu alti operatorii morfologici, operatiunea exacta este
determinata de elementul de structura.
Ca si cu eroziunea si dilatarea,elementul de structura partic-
ulara 3×3,element de structura este cel mai comun folosit si
este folosit in multe implementatari legate de cod.
Variante comune
Deschiderea si inchiderea sunt folosite in combinatie pentru a
atinge rezultate subtile.
Daca am reprezentat inchiderea unei imagini f cu C(f) si in
deschiderea O(f)si combinatiile comune includ:
Deschiderea corespunzatoare
Inchiderea corespunzatoare
Filtrul automedian
Deschidere corespunzatoare
Min(f;C(O(C(f))))
Inchiderea corespunzatoare
Fig. 8. Aplicarea operatorului de dilatare
Max (f;O(C(O(F)))
Filtrul automedian
Max (O(C(O(f)));Min (f;C(O(C(f))))
Deschiderea
Deschiderea este definita ca eroziunea de dilatare folosind
acelasi element de structurare pentru ambii operatori.
Transformata hit-and-miss
Transformata hit and miss este o operatiune generala binara
care este folosita pentru pattern-urile particulare de foreground
si background din imagine.
Elementul de structura folosit in hit and miss este o extensie
la tipul introdus pentru eroziune si de dilatare
Operatorul hit and miss a fost performat in acelasi fel cu
operatorii morfologici prin traducerea de origine la elementul
structurat la toate punctele din imagine.
Transformata hit and miss a fost folosita pentru ocurente de
pattern-uri particulare binare in orientari fixe.
Aceasta este folosita pentru a ne uita la cateva pattern-uri.
Folosirea de succes al transformatei hit and miss se bazeaza
pentru a gasi set de pattern-uri binare care sa captureze
variatiile posibile si orientarea de feature astfel incat sa fie
localizat.
Subtiere
Subtierea este un operator morfologic folosit pentru eliminarea
de pixeli de foreground din imagini binare.
Operatorul de subtiere este relatat la transformata hit and
miss.
thin(I;J) =Ihitandmiss (I;J)
Substragerea este o subtractie logica definita de:
XY=X =2Y
Operatiunea de subtiere a fost calculata prin traducerea de

origine de element de structurare la fiecare pozitie de pixel
din imagine.
Alegerea de element de structura determina sub ce situatii
pixelii de foreground vor fi setati la background si determina
aplicatia la operatorul de subtiere.
Ingrosarea
Ingrosarea este o operatiune morfologica care a fost folosita
pentru cresterea de regiune selectata in imagini binare.
thicken (I;J) =Ihitandmiss (I;J)
Imaginea ingrosata consta din imaginea originala plus pixelii
de foreground aditionali pe transformata de hit and miss.
Alegerea de element de structura a determinat sub ce situatii
de pixel de background.
Scheletizarea si punctul de curbatura maxima
Marginirea de obiect este dat de curba simpla inchisa
L(s)2R2
Marginirea unui obiect este data de curba inchisa planara
L(s)2R2
s este parametrizarea de lungime de arc de-a lungul curbei.
Punctul de schelet corespunde general doua puncte de
marginire care ating discul maximal.
Teorema 1
Un segment de marginire conecteaza doua puncte care au
generat un punct de schelet care contine cel putin un punct
intern care are curbatura maxima pozitiva.
Doua puncte care descriu marginirea de disc in doua segmente
circulare.
Segmentul circular pe marginire pentru doar un singur punct.
Daca am segmentat marginirea de forma la punctele de
curbatura maxima pozitiva,punctele generate in schelet
apartin segmentelor de marginire.
Gaseste curbatura de-a lungul unei curbe de marginire si
divizeaza marginirea in segmente de puncte de curba maxima
pozitiva.
Parametrii de lungime de arc al segmentarii sunt referiti la s,
undei20;1:::N1
(sn=s0)
N este numarul de maxime locale pozitive.
Pentru fiecare segment am calculat distanta Euclidiana care
se mapeaza pe intregul domeniu de imagine !2R2pentru
segmentul ith al marginirii de curbe.
Eliminarea de puncte exterioare si toate punctele localizare
pe ramuri care incep cu punctele L(sIsi o distanta de la
1=k(si)
Pentru segmentarea unei curbe inchise am descris operarea
buna pe toate formele.Aproximarea discreta
Aproximarea numerica folosita pentru implementarea algorit-
mului propus de scheletizare considera informatia de nivel de
gri la pixeli de-a lungul obiectului de marginire.
Un model posibil a relatiei dintre pixelii de imagine si
preimaginea continua descrie obiectul din background.
Am asumat faptul ca comportarea lineara a functiei de nivel
de gri este aproape de nivel de zero.
Localizarea de marginire este obtinerea prin interpolare lineara
pentru o metoda utila
k=fi+fi+1
fi+1k11+jfiki1
Schema a asigurat valorile de curbatura la punctele de inter-
sectie la liniile de marginire si de grid.
Maxima locala pozitiva al curbaturei a putut fi detectata si
folosita pentru segmentarea de marginire.
Doua tehnici alternative pentru calculul distantei subpixelului
sunt folosite in mod consistent
Algoritmul Osher-Sethian pentru debitul bazat pe curbatura a
fost bazat pe implementarea numerica de
f
t=jfjk
k – curbatura definita la fiecare nivel al imaginii de nivel gri.
L(s) : [0;L] =>R2
s este parametrizarea de lungime de arc si este sistem incor-
porat ca nivel de set in f si propagarea in timp.
Li=Lss
Dl= 1jDj
A=DDij= (DijD(i1;j)=x
B=DDij= (Di1D(i;j)=x
C=DDij= (DijD(i;j)=y
D=DDij(DijD(i;j)=y
Cercul poate atinge o curba la un punct unic sau cateva puncte.
Relatia unui segment de curbatura la discurile care il ating la
punctul p.
Pentru evitarea de repetitii despre relatia unui segment de
curbe.
Pentru evitarea repetiei ne referim la discurile cu centrul
localizat la partea stanga a curbei.
Curba a penetrat toate discurile,care il ating la p si sunt
tangente la curbe.
Centrele tuturor discurilor tangente sunt localizate pe normalul
de curba.
Daca curbatura de curba la p este negativa atunci exista o
vecinatate la p in care curba este in afara discurilor tangente
la el.
Daca raza discurilor tangente este mai mica decat raza de
curbatura la p,exista o vecinatate de p in care curba este in
afara discului.
Pentru segmentul de curba convexa,daca raza de tangenta este
mai mare decat raza de curbatura la curba de p,atunci exista
o vecinatate de p in care curba este in disc.
Pentru segmentele de curba convexe,raza discului tangent este
egala in raza de curbatura la curba lui p.
Daca curbatura este curba lui p este de maxim local atunci
este o vecinatate de p in care curba este in afara discului.
Pentru segmentul de curba convexa,daca am inspectat toate

discurile tangente in ordine de crestere radiala.
Lema1
Discul maximal intr-o forma a atins panta in urmatoarele
puncte:
Doua sau mai multe puncte de separatie
Punctul unic sau segmentul de curbatura astfel incat sa
fie pozitiv si maxim local
Dovada
Daca discul maximal este in forma marginita in cel putin un
punct denotat cu p.
Am inspectat setul de tangenta la marginire.
Toate discurile mari contin puncte externe din vecinatatea lui
p.
Lema 2
AB si CD sunt doua segmente liniare in plan intersectate la
punctul E.
OriB2CsauD2CB
Adenota centrul incercuit la A care
trece prin B si CCcare denota cercul centrat la C si care trece
prin D.
Elementele esentiale sunt:
Propagarea punctelor in segmentele maxime de disc in
noi forme se intampla la centrul de disc maxim
Perechile de quenching de forma plina
Toate punctele propagate din segmentele de arc s-au strans in
jurul centrului de disc original maximal.
Punctul de oprire 0este o forma noua care contine raza mai
mica.
Corolar 3
Centrul discului maximal care a atins marginirea a doua puncte
separate a conectat doua parti diferite ale scheletului.
Doua parti ale scheletului sunt doua forme noi.
Lema 4
La punctul de capat pentru un schelet corespunde punctul unic
de marginire.
Teorema 2
Fiecare forma conectata care nu este un cerc,are cel putin
doua puncte de marginire in care curbatura este atat pozitiva
si maximala locala.
d(p;q)este distanta Euclidiana dintre doua puncte p si q
Locatia scheletului preliminar ca localizare de seturi de nivel
zero.
Ldot= (x;y) :Pi;j;(DiDj= 0)
Localizarea de marginire a fost obtinuta prin interpolarea
liniara pentru o metoda liniara utila de gasire a marginirii a
celulei dintre patru pixeli de vecinatati.
k=jfIj+jfi+1
fi1k1+jfijki+1Ki<0interpolarea curbaturii insasi a dus la deschidere zero
care este mai potrivita
k=fi
ki+jfi1fi1+jfij
Fig. 9. Aplicarea scheletizarii pe imagine
Rezultate obtinute in urma rularea programului
Rezultate obtinute in urma calculului ariilor de contururi.35970:0 35804:0 35422:5
Rezultate in urma calcularii lungimii arcului de contur:
766 548
Punctul de centroid:
360
103
Punctele de extrem:2
664251 21
469 186
251 21
251 1863
775
Valori de coordonate bounding box:251 21
134 120
Rezultate minimizare valori de coordonate bounding box:2
4360:0 103:5
164:9999 217:9999
90:03
5
Valoare a convex hull obtinut din imagine:2
664469 186
251 186
251 21
469 213
775

Analiza de imagine
Procesarea morfologica
Morfologia matematica a fost bazata pe analiza si procesul de
structura spatiala in imagini.
Conceptele de baza au fost duse inapoi la teoria se-
turilor,geometria integrala.
Metodele morfologice au fost folosite pentru preprocesarea de
imagine.
Dilatarea si erodarea au fost doua operatii fundamentale mor-
fologice.
Detectia de margine
Marginile (discontinuitatile in luminanta de imagine sau valori
de culoare,reprezinta regiuni importante din imagine.
In concordanta cu caracterul acesteia,marginile sunt detectate
cu operatorii bazati pe derivate.
Detectorii de margine au fost implementati prin metode de
convolutie.
In cazul kernelurilor mari neseparabile, o convolutie in dome-
niul Fourier poate fi performata.
Algoritmii de edge detection au fost de asemenea inclusi in
segmentarea de imagine sau metode de extragere de feature.
Extragerea de feature
Un feature de imagine este o caracteristica reprezentativa sau
atribut de imagine.
Obiectivul de extragere de feature a fost pentru transformarea
de date de intrare si care pot fi foarte mari intr-un set de
informatii.
Transformatele de imagini cum ar fi Fourier,Haar si transfor-
mata Hough au fost folosite pentru detectarea de features de
shape.
Abordarile bazate pe textura au inclus detectorii de
margine,metoda de autocorelatie,filtre Gabor,metode de ma-
trice dependenta,decompozitia de valoare singulara.
Analiza de forma
Tehnicile de analiza de forma au fost unelte utile pentru
clasificarea de imagine de obiect,includ abordari calitative si
cantitative.
Exemplele de categorie sunt corelatie,informatie mutuala
si metode de optimizare, cum sunt descriptori de invari-
anta,metoda de relaxare si wavelet-uri
Unul din metodele de inregistrare bazate pe arie sunt bazate
pe debitul de gradient,unde iluminarea constanta din imagine
este asumata.
Descrierea de forma morfologica
Descrierea de forma descrie forma de obiect in concordanta
la features geometrice.
Forma obiectului se refera la profil si structura fizica.
Aceste caracteristici au fost reprezentate de regiunea de
marginire.
Aceste reprezentari au fost folosite pentru:
Potrivirea de forme
Recunoasterea de obiecte
Luarea de masurari
N=maxjnjX A(n) =
A(0) = (0;0)A(n+ 1) =A(n)B(n)foru = 0;1:::n1
Pa(X) =PSx(n;B(n))
CardX
(n) = 1Card (X_A(n))
Card (X)
Decompozitia de elemente morfologice de elemente de
structura
Morfologia matematica a fost utilizata pentru multe aplicatii
in analiza si procesare de imagine.
Majoritatea arhitecturilor de procesare de imagine au fost
adaptate la operatori morfologici si au folosit elemente de
structura.
Elementul de structurare unidimensional geometric
Elementul de structura unidimensionala geometrica pentru
elementul K(x) este actual de curba geometrica.
Am asignat fiecarui punct in elementul de structura prin
distanta negata din acest punct la curba orizontala tangenta la
top pentru a ne asigura ca k(x) scade.
Semicercul centrat pe origine a putut fi reprezentat implicit
prin:
f(x;y) =x2+y2r2= 0
y=p
r2x2
k(x) =p
r2x2r
Strategia de decompozitie
Scaderea excentrica unidimensionala,forma geometrica
si elementul de structura k(x) a putut fi reprezentat ca
k(x) =g(x) +c
f k)(x) =1[f k)(x)]
f k)(x) =min(k(z0))
g(x1)>g(x2)k(x1)>k(x2)
min[k(z0)j=1[mink(z01)]
(fk)(x) =C1[C(f)(x)]
Elementul structural bidimensional geometric
f(x;y;z ) =x2+y2+z2r2= 0
z=p
r2x2y2
k(x;y) =p
r2x2y2r
Decompozitia de element structural in tonuri de gri
Am dorit ca f:F> E sik:KEsa denote imaginea
in tonuri de gri si elementul de structura in tonuri de gri.
(fk)(x) =max[f(xz) +k(z)]
(fk)(x) =min[f(x+z)k(z)]
Proprietatile generale ale decompozitiei de element
structural
Decompozitia de element structural a fost potrivita pentru
binarizare.
Daca elementul de structurare k a fost decompus intr-o
dilatare secventiala de componente mai mici structurale,atunci
dilatarea(eroziunea) si imaginea lui f cu k a fost egala cu
aplicarea de dilatare.
fk= (fk1)k2))kn
F k= (f k1) k2) Kn
fxk= (fk)x
fx k= (f k) = (f k)

Decompozitia algoritmului unidimensional
DacaSxa fost impar dute la pasul 5
Decompune Sn= [a1;a2;a3;::an]2Sn1unde
Sn1= [a1;a2;a3;::an1
ComparaSnsiSn1
Sn=Sn1
Sn= [a1;a2;a3;:::an]inSn2
Sn= [a1;a2;a3;:::an]
SnsiSn2
Sn=Sn2
Arhitecturi pentru morfologia matematica
Decompozitia threshold-ului de morfologie in tonuri de gri
si in morfologie binara
Operatiile morfologice binare de dilatare si de erodare au fost
extinse la procesarea de imagine in tonuri de gri.
Algoritmul de decompozitie de threshold pentru dilatarea
de tonuri de gri
Operatorul traditional de dilatare a fost implementat folosind
urmatoarele metode
fk)(x;y) =max(f(xm;yn) +k(m;n)j
O imagine discreta cu M nivele a fost decompusa in M slice-
uri :
Ujfj=Sjf[0][S(f1)[:::[S[f(M1)]
=[S[f1]
Operatorul binar morfologic
Operatorul binar de dilatare
Operatorul binar de erodare
Rezultate obtinute
Teorema de centroid
Centroidul geometric al unui obiect convex este intotdeauna
inclus intr-un obiect.
Daca centroidul este definit este un punct fix de izometrii.
In cazul de fata am folosit metoda de decompozitie
geometrica.
Centroidul de plan de figura X a putut fi calculat prin
divizarea acestuia intr-un numar finit de imagini mult mai
simpleX1;X2;:::XNcare a calculat centroidul Cide arieAi
Bibliografie
Practical Computer Vision Applications Using Deep
Learning with CNN -Ahmed Fawzy Sad
Computer and Machine Vision – The-
ory,Algorithms,Practicalities – E.R.Davies
Machine learning in computer vision – N.Sebe.Ira Co-
hen,Ashutosh Garg, Thomas S.Huang
Computer Vision Metrics – Survey,Taxonomy and anal-
ysis of computer vision,visual neuroscience and Deep
Learning
Deep Learning – Adaptive Computation and machine
learning – Ian Goodfellow,Yoshua Bengio and Aaron
Courville
Fig. 10. Trasarea de centroid
Fig. 11. Obtinerea de trasaturi
Fig. 12. Determinarea punctului de centroid

Fig. 13. Rezultatul obtinerii punctului de centroid
Fig. 14. Trasarea punctului de centroid
Fig. 15. Rezultatul aplicarii operatorului Sobel
Fig. 16. Rezultatul aplicarii operatorilor Sobel pe axa x si pe axa y
Fig. 17. Obtinerea marginii de imagine
Fig. 18. Trasarea graficului de functie de distributie centrala si a histogramei

Fig. 19. Coeficientul de template matching normat
Fig. 20. Coeficient de template matching
Fig. 21. Coeficient de template matching format
Fig. 22. Template Norma Matrice Patratica
Fig. 23. Obtinere rezultate de defecte

Fig. 24. Imaginea originala,imaginea de template
Fig. 25. Imaginea pe care am aplicat clasificatorul
Fig. 26. Defazajul aplicat pe imaginea originala
Fig. 27. Rezultatul Histogramei
Fig. 28. Aplicarea de filtru Sobel care elimina outliers

Fig. 29. Localizarea de obiect
Fig. 30. Defazajul median
Fig. 31. Rezultate statistici de outlier pentru calculul pozitiei de nod
Fig. 32. Modelul discret al defazajului median
Fig. 33. Defazajul introdus de filtrele modale
Fig. 34. Gradientul de histograma orientat

Similar Posts