Francesca Pizzorni Ferrarese 05/05/2010

Slides:



Advertisements
Presentazioni simili
Primary Italian Saying How You Are.
Advertisements

IDL routine for Hot-Spot detection and effusion rate estimation
“FIBROSI NEFROGENICA SISTEMICA”
Centro Internazionale per gli Antiparassitari e la Prevenzione Sanitaria Azienda Ospedaliera Luigi Sacco - Milano WP4: Cumulative Assessment Group refinement.
L’esperienza di un valutatore nell’ambito del VII FP Valter Sergo
Cache Memory Prof. G. Nicosia University of Catania
Teoria e Tecniche del Riconoscimento
Parametri Acustici (ISO 3382)
Interfacce Java.
1 Teaching Cloud Computing and Windows Azure in Academia Domenico Talia UNIVERSITA DELLA CALABRIA & ICAR-CNR Italy Faculty Days 2010.
A. Oppio, S. Mattia, A. Pandolfi, M. Ghellere ERES Conference 2010 Università Commerciale Luigi Bocconi Milan, june 2010 A Multidimensional and Participatory.
EBRCN General Meeting, Paris, 28-29/11/20021 WP4 Analysis of non-EBRCN databases and network services of interest to BRCs Current status Paolo Romano Questa.
DG Ricerca Ambientale e Sviluppo FIRMS' FUNDING SCHEMES AND ENVIRONMENTAL PURPOSES IN THE EU STRUCTURAL FUNDS (Monitoring of environmental firms funding.
Each student will be able to ask an adult or stranger: What do you like to do? and What dont you like to …?
1.E un algoritmo ricorsivo: Tutti le istanze di oggetti raggiungibili da un oggetto persistente diventano anchessi persistenti.
piacere The verb to like does not have a direct equivalent in Italian.
© and ® 2011 Vista Higher Learning, Inc.4B.1-1 Punto di partenza Italian uses two principal tenses to talk about events in the past: the passato prossimo.
Cancer Pain Management Guidelines
© and ® 2011 Vista Higher Learning, Inc.10A.1-1 Punto di partenza Infinitive constructions consisting of a conjugated verb and an infinitive are common.
Routing Crediti Parte delle slide seguenti sono adattate dalla versione originale di J.F Kurose and K.W. Ross (© All Rights Reserved)
1 A neural approach to the analysis of CHIMERA experimental data CHIMERA Collaboration S.Aiello 1, M. Alderighi 2,3, A.Anzalone 4, M.Bartolucci 5, G.Cardella.
C Consiglio Nazionale delle Ricerche - Pisa Iit Istituto per lInformatica e la Telematica Reasoning about Secure Interoperation using Soft Constraints.
Biometry to enhance smart card security (MOC using TOC protocol)
Quale dei seguenti composti può comportarsi da acido di Broensted ? Quale è la relativa reazione con una base? Cl -, HSO 4 -, NH 4 +, NH 3, H 2 S, OH -
Corso di Laurea in Ingegneria Elettronica - U niversità di N apoli F EDERICO II Autori XXXXX XXXXXXX YYYYY YYYYYYY ZZZZZ ZZZZZZZ Titolo tesina Parte X:
Costruzione di Interfacce Lezione 10 Dal Java al C++ parte 1
TIPOLOGIA DELLE VARIABILI SPERIMENTALI: Variabili nominali Variabili quantali Variabili semi-quantitative Variabili quantitative.
Segmentation C. Andrés Méndez 17/04/2013. Where to find the presentations?
Fuoco vitale portions of art. Project Fuoco vitale The tast lab is born to stimulate the knowledge of the territory around the Vesuvio,with all its characteristics.
2000 Prentice Hall, Inc. All rights reserved. 1 Capitolo 3 - Functions Outline 3.1Introduction 3.2Program Components in C++ 3.3Math Library Functions 3.4Functions.
Magnetochimica AA Marco Ruzzi Marina Brustolon
Queuing or Waiting Line Models
DISSIMILARITIES AND MATCHING BETWEEN SYMBOLIC OBJECTS Prof. Donato Malerba Department of Informatics, University of Bari, Italy ASSO.
DISSIMILARITIES AND MATCHING BETWEEN SYMBOLIC OBJECTS Prof. Donato Malerba Department of Informatics, University of Bari, Italy ASSO.
Chistmas is the most loved holiday of the years. Adults and children look forward to Chistmas and its magical atmosphere. It is traditional to decorate.
LHCf Status Report Measurement of Photons and Neutral Pions in the Very Forward Region of LHC Oscar Adriani INFN Sezione di Firenze - Dipartimento di Fisica.
Concord A tool for the analysis and concordances of the terminological constituents P. Plini, N. Mastidoro* * - Èulogos, Rome Institute for Atmospheric.
Morphological Image Processing
Histogram and region based processing
Ischia, giugno 2006Riunione Annuale GE 2006 Exploiting the Body Effect to Improve Analog CMOS Circuit Performances *P. Monsurrò, **S. Pennisi, *G.
UNIVERSITÀ DEGLI STUDI DI PAVIA FACOLTÀ DI ECONOMIA, GIURISPRUDENZA, INGEGNERIA, LETTERE E FILOSOFIA, SCIENZE POLITICHE. Corso di Laurea Interfacoltà in.
Guardate le seguenti due frasi:
Microsoft Kinect IR PATTERN PROJECTOR IR CAMERA RGB CAMERA.
Italian Regular Verbs Italian Regular Verbs Regular or irregular?? Italian verbs are either regular or irregular. Italian irregular verbs MUST be memorized…
Motor Sizing.
MILANO Single step D=400mm, f=40°Diag From a message of Levacher about next step thermal analysis for the baffle can be allocated a space of.
Frequency Domain Processing (part 2) and Filtering C. Andrés Méndez 03/04/2013.
Funzioni stringhe. chr Restituisce il carattere di un valore ascii dato. Per vedere lelenco dei codici ascii clicca QQQQ uuuu iiiiEsempio
Frequency Domain Processing
Project Review Novembrer 17th, Project Review Agenda: Project goals User stories – use cases – scenarios Project plan summary Status as of November.
Project Review Novembrer 17th, Project Review Agenda: Project goals User stories – use cases – scenarios Project plan summary Status as of November.
Quale Europa? Riscopriamo le radici europee per costruire unEuropa PIÙ vicina a noi ISTITUTO COMPRENSIVO MAZZINI CASTELFIDARDO PROGETTO COMENIUS 2010/2012.
UG40 Energy Saving & Twin Cool units Functioning and Adjustment
Collection & Generics in Java
EMPOWERMENT OF VULNERABLE PEOPLE An integrated project.
A PEACEFUL BRIDGE BETWEEN THE CULTURES TROUGH OLYMPICS OLYMPIC CREED: the most significant thing in the olympic games is not to win but to take part OLYMPIC.
Passato Prossimo. What is it?  Passato Prossimo is a past tense and it is equivalent to our:  “ed” as in she studied  Or “has” + “ed” as in she has.
Lezione n°27 Università degli Studi Roma Tre – Dipartimento di Ingegneria Corso di Teoria e Progetto di Ponti – A/A Dott. Ing. Fabrizio Paolacci.
Italian 1 -- Capitolo 2 -- Strutture
Scenario e Prospettive della Planetologia Italiana
WP4 – Software Infrastructures. How it was Overall goal “The outcome of WP4 is the design, implementation and evaluation of software components that will.
PINK FLOYD DOGS You gotta be crazy, you gotta have a real need. You gotta sleep on your toes. And when you're on the street. You gotta be able to pick.
Un problema multi impianto Un’azienda dispone di due fabbriche A e B. Ciascuna fabbrica produce due prodotti: standard e deluxe Ogni fabbrica, A e B, gestisce.
Accoppiamento scalare
SUMMARY Time domain and frequency domain RIEPILOGO Dominio del tempo e della frequenza RIEPILOGO Dominio del tempo e della frequenza.
SUMMARY Different classes and distortions RIEPILOGO Le diverse classi e le distorsioni RIEPILOGO Le diverse classi e le distorsioni.
SUMMARY Real operational amplifiers RIEPILOGO Amplificatori operazionali reali RIEPILOGO Amplificatori operazionali reali.
PROGETTO SOCRATES Dante Alighieri Primary School Classes 2A-B-C GENERAL OBJECTIVES: -To increase the motivation and the pleasure for reading -To pass.
Summer Village 2004 Frequently, presenters must deliver material of a technical nature to an audience unfamiliar with the topic or vocabulary. The material.
Transcript della presentazione:

Francesca Pizzorni Ferrarese 05/05/2010 Image Segmentation Francesca Pizzorni Ferrarese 05/05/2010

Introduction Segmentation is one of the most important steps leading to the analysis of processed image data, its main goal is to divide an image into parts that have a strong correlation with objects or areas of the real world contained in the image complete segmentation - set of disjoint regions uniquely corresponding with objects in the input image cooperation with higher processing levels which use specific knowledge of the problem domain is necessary partial segmentation - regions do not correspond directly with image objects image is divided into separate regions that are homogeneous with respect to a chosen property such as brightness, color, reflectivity, texture, etc. In a complex scene, a set of possibly overlapping homogeneous regions may result. The partially segmented image must then be subjected to further processing, and the final image segmentation may be found with the help of higher level information. Simple segmentation problems: contrasted objects on a uniform background simple assembly tasks, blood cells, printed characters, etc. Totally correct and complete segmentation of complex scenes usually cannot be achieved in this processing phase. A reasonable aim is to use partial segmentation as an input to higher level processing. Segmentation methods global knowledge, e.g. using histogram of image features edge-based segmentations region-based segmentations Characteristics used in edge detection or region growing: brightness, texture, velocity field 

Hough Transform The Hough Transform (HT) is a robust method for finding lines in images that was developed by Paul Hough. The main idea for the HT is as follows: For each line L, there is a unique line l perpendicular to L which passes through the origin. l has a unique distance and angle from the horizontal axis of the image. This angle and distance define a point in the parameter space, sometimes known as Hough space. A point in image space has an infinite number of lines that could pass through it, each with a unique distance and angle. This set of lines corresponds to a sinusoidal function in parameter space. Two points on a line in image space correspond to two sinusoids which cross at a point in parameter space. That point in parameter space corresponds to that line in image space, and all sinusoids corresponding to points on that line will pass through that point. The real solution to implement this algorithm is to quantize the parameter space by using a 2D array of counters, where the array coordinates represent the parameters of the line; this is commonly known as an accumulator array. The HT method for finding lines in images generally consists of the following three stages: Perform accumulation on the accumulator array using the binary edge image. Find peak values in the accumulator array Verify that the peaks found correspond to legitimate lines, rather than noise. La trasformata di Hough è una tecnica che permette il riconoscimento di configurazioni globali presenti in una immagine (segmenti, curve, forme prestabilite), e si basa sulla trasformazione di tutti i punti costituenti una immagine, in punti di un nuovo spazio detto spazio dei parametri. Nella sua versione tradizionale, la trasformata di Hough si applica ad immagini binarie, ovvero immagini in cui sono presenti due soli livelli, bianco e nero, ed in cui l'informazione associata ad un punto è rappresentata unicamente dalla sua posizione. Questa tecnica, ideata da Hough nel 1962, è basata sulla "validazione delle ipotesi" in cui, definita la curva che si intende cercare nella scena, per ogni punto dell'immagine si calcolano i parametri di tutte le curve che potrebbero passare per quel punto e si incrementano le celle di uno spazio n-dimensionale (con n numero dei parametri) che corrispondono alle varie curve. Si ottiene così una funzione di accumulazione definita nello spazio dei parametri. Alla fine saranno i massimi di questa funzione, ovvero i punti nello spazio dei parametri che hanno accumulato il maggior numero di "voti" a rappresentare le curve che hanno probabilità elevata di essere presenti nell'immagine, come se si trattasse di una ipotesi avvalorata dal maggior numero di conferme sperimentali. Una delle caratteristiche più interessanti della Trasformata di Hough è quella di non risentire del "rumore" presente in una immagine. Infatti, l'altezza dei picchi nella matrice di accumulazione, dipende in maniera del tutto trascurabile da eventuali lacune presenti nella retta di partenza o dall'esistenza di punti spuri presenti nello spazio immagine.

Hough Transform The MATLAB has a function called hough that computes the Hough Transform. Esercizio 1 Costruire un’immagine che contenga pixel bianchi isolati applicare la trasformata di Hough e visualizzare il risultato f=zeros(101,101); f(1,1)=1; f(101,1)=1; f(1,101)=1; f(101,101)=1; f(51,51)=1; H=hough(f); imshow(H,[])

Hough Transform Esercizio 2 Caricare l’immagine beatles.jpg e trasformarla in scala di grigi Creare l’immagine BW applicando un filtro di canny per l’estrazione degli edge Applicare la trasformata di hough a BW: [H,T,R] = hough(BW); Identificare 15 picchi in H applicando la funzione houghpeaks Visualizzare H e plottare i picchi in rosso Estrarre i segmenti di linea con la funzione lines = houghlines(BW,T,R,P,'FillGap',5,'MinLength',7); I = imread('circuit.tif'); rotI = imrotate(I,33,'crop'); BW = edge(rotI,'canny'); [H,T,R] = hough(BW); imshow(H,[],'XData',T,'YData',R,... 'InitialMagnification','fit'); xlabel('\theta'), ylabel('\rho'); axis on, axis normal, hold on; P = houghpeaks(H,5,'threshold',ceil(0.3*max(H(:)))); x = T(P(:,2)); y = R(P(:,1)); plot(x,y,'s','color','white'); % Find lines and plot them lines = houghlines(BW,T,R,P,'FillGap',5,'MinLength',7); figure, imshow(rotI), hold on max_len = 0; for k = 1:length(lines) xy = [lines(k).point1; lines(k).point2]; plot(xy(:,1),xy(:,2),'LineWidth',2,'Color','green'); % Plot beginnings and ends of lines plot(xy(1,1),xy(1,2),'x','LineWidth',2,'Color','yellow'); plot(xy(2,1),xy(2,2),'x','LineWidth',2,'Color','red'); % Determine the endpoints of the longest line segment len = norm(lines(k).point1 - lines(k).point2); if ( len > max_len) max_len = len; xy_long = xy; end % highlight the longest line segment plot(xy_long(:,1),xy_long(:,2),'LineWidth',2,'Color','cyan');

Hough Transform rotI = rgb2gray(imread('beatles.jpg')); %rotI = imrotate(I,33,'crop'); BW = edge(rotI,'canny'); [H,T,R] = hough(BW); imshow(H,[],'XData',T,'YData',R,... 'InitialMagnification','fit'); xlabel('\theta'), ylabel('\rho'); axis on, axis normal, hold on; P = houghpeaks(H,15); x = T(P(:,2)); y = R(P(:,1)); plot(x,y,'s','color','red'); % Find lines and plot them lines = houghlines(BW,T,R,P,'FillGap',20,'MinLength',7); figure, imshow(rotI), hold on max_len = 0; for k = 1:length(lines) xy = [lines(k).point1; lines(k).point2]; plot(xy(:,1),xy(:,2),'LineWidth',2,'Color','green'); % Plot beginnings and ends of lines plot(xy(1,1),xy(1,2),'x','LineWidth',2,'Color','yellow'); plot(xy(2,1),xy(2,2),'x','LineWidth',2,'Color','red'); % Determine the endpoints of the longest line segment len = norm(lines(k).point1 - lines(k).point2); if ( len > max_len) max_len = len; xy_long = xy; end plot(xy_long(:,1),xy_long(:,2),'LineWidth',2,'Color','cyan');

Thresholding Thresholding algorithm  Search all the pixels f(i,j) of the image f. An image element g(i,j) of the segmented image is an object pixel if f(i,j) >=T, and is a background pixel otherwise. Global Thresholding Esercizio 3 Caricare l’immagine text.jpg e trasformarla in scala di grigi Select an initial estimate for T. (A suggested initial value is the midpoint between the minimum and maximun intensity values in the image.) Segment the image using T. This will produce two groups of pixels, G1 consisting of all pixels with intensity values > T, and G2, consisting of pixels with values < T. Compute the average intensity values x1 and x2 for the pixels in regions G1 and G2. Compute a new threshod value: T=1/2(x1+x2) Repeat steps 2 through 4 until the difference in T in successive iterations is smaller than a predifined parameter T0. T = graythresh(f) I = imread('coins.png'); level = graythresh(I); BW = im2bw(I,level); imshow(BW)

Thresholding T=0.5*(double(min(f(:)))+double(max(f(:)))); done = false; while ~done g = f >= T; Tnext = 0.5*(mean(f(g))+mean(f(~g))); done = abs (T-Tnext) < 0.5; T = Tnext; end

Thresholding Local thresholding Esercizio 4 Caricare l’immagine MicroArraySlide e selezionarne una porzione (imcrop) Applicare la sogliatura globale (graythresh) e locale sull’immagine in scala di grigi

Region Based Segmentation Esercizio 5 Caricare l’immagine lungs.jpg e visualizzarla Identificare le coordinate di un seedpoint all’interno della regione del polmone a sx Utilizzare la funzione regiongrow per segmentare il polmone, assegnando una soglia opportuna Il Region Growing è un approccio alla segmentazioneopposto allo split & merge. 􀀀Si scelgono, generalmente a caso, un certonumero di pixel nell'immagine, e li si e marcacome ìsemiî;􀀀Ciascun seme costituisce un ìclusterî.􀀀Iterativamente, ogni pixel viene associato alcluster più vicino secondo una distanzaopportuna che tiene conto sia della distanzaspaziale che della similitudine delle features;􀀀Quando tutti i pixel sono stati associati ad uncluster (labelled) il processo termina f=imread('lungs.jpg'); imshow(f) [g, NR, SI, TI] = regiongrow(f, 255, 65); subplot(221); imshow(f, []); title('original image'); f=rgb2gray(f); [g, NR, SI, TI] = regiongrow(f, [200 200], 15); mask=zeros(480 640) mask=zeros(480,640); mask(200,200)=1 [g, NR, SI, TI] = regiongrow(f, mask, 15); imshow(g)

Region Based Segmentation Esercizio 6 Copiare nella directory di matlab il file matitk.mexglx Caricare l’immagine penguin.jpg e trasformarla in scala di grigi (f) Concatenare lungo z quattro immagini f Determinare l’immagine gradiente GradMag = matitk('FGMRG',1.7,double(f)); Applicare la funzione di watershed f=imread('penguin.jpg'); f=rgb2gray(f); f=cat(3,f,f,f,f,f,f,f); GradMag = matitk('FGMRG',1.7,f); imshow(GradMag(:,:,1)) Water=matitk('SWS',[0.3 0],GradMag); imshow(Water(:,:,1))