Sei sulla pagina 1di 146

!

"#$%&'($'" *$ +,-$
FACOLTA Dl lNCECNERlA
CORSO Dl LAUREA lN lNCECNERlA lNFORMATlCA SFEClALlSTlCA
%&.$ *$ #,/-&, $( $(0"-1,%$', 1&*$',
!-"2&%%,3$"(& & .4$#/!!" *$
/(5,!!#$',3$"(& 1"+$#& *$ %&#&1&*$'$(,
!&- #5$(*$4$*/,3$"(& & #,
',-,%%&-$33,3$"(& *$ 1&#,("1$
,%%-,4&-." %&'($'6& *$ $1,2& !-"'&..$(2
Relatore
rof. !"#$%&#$&"$ ()!"*%+,-%
/aureando:
.$++$ /+%.%0-11"
/NNO /CC/DEH/CO 20J0-20JJ
INDICE
Capitolo 1- La telemedicina e la piattaforma Sana mobile .................................................................. 3
1.1 - Storia della telemedicina ........................................................................................................ 3
1.2 - Obiettivi della telemedicina ..................................................................................................... 6
1.2.1 - Telemonitoraggio ............................................................................................................. 9
1.2.2 - Televideoconsultazione .................................................................................................. 11
1.2.3 - Teleassistenza e telesoccorso ......................................................................................... 13
1.3 - Mobile Health ........................................................................................................................ 16
1.4 - Piattaforma di telemedicina Sana mobile .............................................................................. 19
1.4.1 - Workflow della piattaforma ........................................................................................... 20
1.4.2 - Architettura Client - Server ............................................................................................ 23
1.4.3 - Caratteristiche dell'applicazione Client mobile ............................................................. 24
1.4.4 - Caratteristiche del Server .............................................................................................. 26
1.4.3 - Sviluppi futuri di Sana ................................................................................................... 28
Capitolo 2- Importanza della caratterizzazione oggettiva del melanoma in teledermatologia ........... 29
2.1 - Tumore della pelle ................................................................................................................. 29
2.1.1 - Caratteristiche del melanoma ......................................................................................... 31
2.1.2 - Tipologie di melanomi ................................................................................................... 32
2.1.3 - Stadiazione del melanoma ............................................................................................. 33
2.1.4 - Diagnosi del melanoma ................................................................................................. 33
2.2 - Importanza della Computer Vision nella diagnosi del melanoma ........................................ 33
2.3 - L' oggettivita del melanoma nella teledermatologia e in particolare per la piattaforma Sana
mobile ........................................................................................................................................... 38
Capitolo 3- Principali tecniche di Image Processing per l'individuazione e la caratterizzazione di
forme ................................................................................................................................................... 41
3.1 - La segmentazione .................................................................................................................. 41
3.1.1 - Thresholding con soglia globale manuale ..................................................................... 43
3.1.2 - Thresholding con soglia globale automatica ................................................................. 43
3.1.3 - Sogliatura di Otsu .......................................................................................................... 46
3.2 - Schemi di rappresentazione ................................................................................................... 49
3.2.1 - Chain Codes ................................................................................................................... 49
3.2.2 - Approssimazioni Polinomiali ......................................................................................... 33
3.3 - Descrittori di forma ............................................................................................................... 33
3.3.1 - Perimetro ....................................................................................................................... 33
3.3.2 - Area e Baricentro ........................................................................................................... 37
3.3.3 - Compattezza ................................................................................................................. 38
3.3.4 - Rettangolo di bounding .................................................................................................. 38
3.3.3 - Descrittori di Fourier .................................................................................................... 63
3.4 - Descrittori del colore ............................................................................................................. 68
Capitolo 4- Progettazione algoritmi di individuazione e caratterizzazione del melanoma ................ 69
4.1 - Scelte progettuali ................................................................................................................... 69
4.2 - Algoritmi di segmentazione della skin lesion ....................................................................... 71
4.2.1 - Sogliatura dinamica ....................................................................................................... 73
4.2.2 - Sogliatura tramite il metodo di Otsu .............................................................................. 76
4.2.3 - Cleaning delle zone periferiche ..................................................................................... 77
4.2.4 - Erosione ......................................................................................................................... 80
4.2.3 - Dilatazione .................................................................................................................... 81
4.2.6 - Filtro mediano ................................................................................................................ 81
4.2.7 - Edge detection di Canny ................................................................................................ 82
4.3 - Algoritmi per l'estrazione dei descrittori ............................................................................... 83
4.3.1 - Descrittori di forma della lesione ................................................................................... 83
4.3.2 - Descrittori delle componenti di colore dell'intera lesione ............................................. 88
4.3.3 - Descrittori dell'irregolarita del contorno della lesione ................................................... 89
4.3.4 - Descrittori della simmetria della lesione ....................................................................... 89
Capitolo 3- Progettazione dell'applicazione mobile Skin Lesion Detection ...................................... 93
3.1 - Scelte progettuali ................................................................................................................... 94
3.1.1 - Java Native Interface ..................................................................................................... 93
3.1.2 - Android Native Development Kit .................................................................................. 99
3.2 - Architettura Applicazione .................................................................................................... 100
3.2.1 - Lesion Acquisition ....................................................................................................... 104
3.2.2 - Camera Setting ............................................................................................................. 109
3.2.3 - Lesion Descriptors ...................................................................................................... 112
Capitolo 6- Analisi dei risultati ......................................................................................................... 113
6.1 - Risultati degli algoritmi di image processing ...................................................................... 113
6.1.1 - Test segmentazione lesione .......................................................................................... 117
6.1.2 - Test descrittori .............................................................................................................. 128
6.2 - Versatilita dell'applicazione mobile ..................................................................................... 130
Capitolo 7- Conclusioni e Sviluppi Futuri ........................................................................................ 131
7.1 - Conclusioni .......................................................................................................................... 131
7.1.1 - Integrazione di Skin Lesion Detection in Sana ............................................................ 133
7.1.2 - Limiti dell'applicazione Skin Lesion Detection ........................................................... 136
7.2 - Sviluppi Futuri ..................................................................................................................... 138
7.2.1 - Recognition di melanomi tramite Rete Neurale Artificiale ......................................... 139
7.2.2 - Image Retrieval di melanomi ....................................................................................... 143
7.2.3 - Determinazione degli scores per la tecnica ABCD ...................................................... 146
lNTRODUZlONE
'789:;<; => #7 :?<?@?A9B9C7 ? <7
897::7D;E@7 .7C7 @;F9<?
ln questo capltolo oltre ad effettuare una breve descrlzlone del concetto dl telemedlclna,
vlene descrltta anche una partlcolare appllcazlone dl essa: ll progetto Sana mob|le.
Quest'ultlmo rappresenta uno del prlnclpall scenarl appllcatlvl all'lnterno della quale
vlene lntegrata l'appllcazlone progettata ln questo lavoro dl tesl.
232 4 /56789 :;<<9 5;<;=;:8>8?9
ln generale, la Telemedlclna e lntesa come appllcazlone delle tecnologle lnformatlche e
delle telecomunlcazlonl alla sclenza medlca. Nel corso degll annl al termlne
Telemedlclna e stato dato una deflnlzlone bene preclsa, concordata dalla CEE:
Con |l term|ne d| 7elemed|c|na s| |ntende l|ntegraz|one, |l mon|toragg|o e la gest|one
de| paz|ent|, nonch l'educaz|one degl| stess| e del personale san|tar|o, usando s|stem|
che consentano un pronto accesso alla consulenza d| espert| ed alle |nformaz|on| del
paz|ente, |nd|pendentemente da dove l'|nd|v|duo, o le |nformaz|on|, r|s|edano.
La storla della Telemedlclna lnlzla alla flne degll annl '50 negll Statl Unltl d'Amerlca; ed l
prlml esperlmentl, tendentl ad utlllzzare le telecomunlcazlonl ln campo sanltarlo, hanno
luogo negll annl '50. Le esperlenze erano lndlrlzzate al flne dl monltorare ll slstema
cardloclrcolatorlo degll astronautl nello spazlo, per asslcurare agll stessl unasslstenza
sanltarla ll pl posslblle efflcace. ln questa prlma fase (1954-58) le splnte verso la
rlcerca sulla fattlblllt delle trasmlsslonl bldlrezlonall nel campo blo-medlco e sulla
posslblllt, qulndl, dl comunlcazlone a dlstanza dl lnformazlonl dlagnostlche e cllnlche,
sono prlnclpalmente dl lnlzlatlva prlvata. ln questa fase, l prlml esperlmentl sono statl
quelll effettuatl dal Laboratorl Bell, per la trasmlsslone dl elettrocardlogramml su llnea
telefonlca ed ll collegamento fra ll Massachusetts Ceneral Hospltal e l'ambulatorlo
dell'aeroporto dl Boston. La seconda fase (1959-T3) vede l'lntervento pubbllco del
Natlonal Center for Health Servlce Research, ll quale promuove e flnanzla rlcerche
appllcate con esperlmentl dl varlo tlpo, voltl ad asslcurare una mlgllore asslstenza
sanltarla a comunlt sparse sul terrltorlo. Le flnallt dl tall rlcerche ed lnterventl
rlguardarono prlnclpalmente lemergenza, leducazlone sanltarla e lagglornamento
professlonale del personale medlco ed lnfermlerlstlco. La terza fase dello svlluppo della
Telemedlclna lnlzla nel 19T4 e vede prlnclpalmente la telematlca, lntesa come
lntegrazlone dl slsteml e retl dl telecomunlcazlonl, appllcata nel campo del servlzl
sanltarl, al flne dl mlgllorarne la quallt, l'accesslblllt e l'efflclenza, contenendo, altres,
l costl della stessa. ln questl annl anche ll Clappone lnlzl ad lnteressarsl delle
problematlche lnerentl la Telemedlclna; l'utlllzzo delle rlsorse tecnologlche offerte dalla
telematlca all'asslstenza sanltarla ebbe un notevole lmpulso dalla creazlone, lntorno al
19T3, del MEDlS -DC (Medlcal lnformatlon System Development Center) .
ln ltalla le prlme esperlenze dl trasmlsslone dl segnall blo-medlcall vennero reallzzate
nel 19T0 dalla Facolt dl Medlclna dell'Unlverslt degll Studl dl Roma La Saplenza - che
sl lnteress fln dalllnlzlo della Telemedlclna nata dalle lmprese spazlall - con la
sperlmentazlone dl un prototlpo dl Cardlotelefono; queste rlcerche portarono nel 19T5
alla creazlone dl un "Comltato per la Telemedlclna", ll quale, dopo un vlagglo negll Statl
Unltl, pubbllc un prlmo rapporto che formulava proposte operatlve dl asslstenza
speclallstlca remota. Una delle prlme sperlmentazlonl concrete, furono quelle avvlate a
Bologna nel 19T5 dalla Fondazlone Marconl relatlvamente a rlcerche dl tele-
elettrocardlografla su llnee telefonlche commutate, le quall consentlvano dl rllevare per
vla trans -telefonlca gll elettrocardlogramml dlrettamente dall'ospedale al domlclllo del
pazlente senza che ll cardlologo sl recasse presso dl lul. Da allora sono statl reallzzatl
numeroslsslml progettl pllota nelle aree dellemergenza, della cardlologla, della
nefrologla, dellematologla e vla dlcendo.
23@ 4 $A8;558B8 :;<<9 5;<;=;:8>8?9
Blbllografla: http://www.salute.gov.lt/dettagllo/pdFrlmoFlano.|sp?ld=100&sub=T,
l campl dl appllcazlone della telemedlclna sono numeroslsslml e ln contlnua evoluzlone,
dalla cardlologla (trasmlsslone dl tracclatl elettrocardlograflcl) alla radlologla (lmmaglnl
radlograflche e computerlzzate), dalla dermatologla (foto dlgltall dl leslonl cutanee)
allanatomla patologlca, dalla glnecologla (monltoragglo ln gravldanza) allodontolatrla
ecc. Fratlcamente ognl branca della medlclna pu avvalersl dl questo strumento per
mlgllorare leserclzlo delle attlvlt cllnlche, asslstenzlall e dldattlche.
L'utlllzzo della telemedlclna, slgnlflca ln generale rlspondere con tempestlvlt a dlverse
eslgenze, opportunamente contestuallzzate al partlcolarl scenarl appllcatlvl. volendo
caratterlzzare e raggruppare queste eslgenze: la telemedlclna sl propone, medlante
l'utlllzzazlone organlzzata del mezzl telematlcl, dl creare un slstema:
! Fer la medlclna d'urgenza (es. Telecardlologla, Frlmo e Fronto Soccorso,
Ellsoccorso, etc.);
! Fer espandere terrltorlalmente l'utlllzzo slstematlco delle competenze
speclallstlche, per una mlgllore dlstrlbuzlone qualltatlva dell'asslstenza sanltarla
ed un mlgllore rapporto costl/prestazlonl (es. Televldeoconsultazlone ospedallera,
Telecardlologla ospedallera,
Teledlallsl ospedallera, etc.);
! Fer l monltoraggl nellamblto domlclllare (es. Telemonltoragglo cardlaco, dlalltlco,
delle gestantl, Home Care, etc.);
! Fer l'lmplego ottlmale nel slstema sanltarlo dell'lnformatlca dlstrlbulta (termlnall e
mezzl elaboratlvl) allo scopo dl un mlglloramento del servlzl e della economlclt
della gestlone (es. Centrl CUF per prenotazlone esaml, creazlone dl archlvl
speclallstlcl per dlagnosl lntegrate, etc.);
! Fer la dldattlca (es. Teledldattlca, vldeochlrurgla/Telechlrurgla, trasmlsslone tra
repartl ospedallerl ed Unlverslt e tra lstltutl unlversltarl, gestlone dl Banche Datl,
etc.);
! Fer la dlffuslone telematlca delllnformazlone verso l clttadlnl (es. lo Sportello del
Clttadlno, Customer Care - Call Center con Numero verde, etc.)
Fer tutte queste appllcazlonl, le retl, l slsteml ed l servlzl dl telecomunlcazlone sono
ovvlamente lndlspensablll negll scenarl evolutlvl entro cul sl reallzza ll mlglloramento
delle tecnologle .
09GHE7 =I=J ,<BHC? :98;<;G9? A9 B;@HC9B7K9;C9 7A;::7:? C?<<7 :?<?@?A9B9C7
lnoltre, come campl operatlvl dl lmplego, la telemedlclna sl propone dl svlluppare
collegamentl tra
strutture sanltarle e postazlonl remote, quall, ad esemplo:
" Navl ed aerel;
" Fortl ed aeroportl;
" lsole e presldl mlnorl, paesl remotl e/o dlsaglatl;
" Case dl cura, Cllnlche prlvate;
" Case dl rlposo o dl lunga degenza;
" Farmacle;
" Caserme e carcerl;
" Ospedall da campo/Sanlt mllltare (Eserclto, etc.);
" Scuole, plsclne e centrl sportlvl;
" Ambulanze e mezzl moblll sanltarl;
" Ufflcl ed lndustrle;
" Manlfestazlonl ad alta affluenza dl pubbllco (culturall, sportlve);
" Ospedall mlnorl;
" Medlcl dl base;
" Frotezlone clvlle (sla a llvello organlzzatlvo centrale che perlferlco);
" Anzlanl, persone sole ln casa, pazlentl ln dlmlsslone protetta ospedallera;
" Assoclazlonl dl volontarlato.
09GHE7 =ILJ .BM?@7 9CDE7N:EH::HE7<? A9 7<BHC9 A?9 B7@89 ;8?E7:9O9 A?<<7 :?<?@?A9B9C7
Nel sotto-paragrafl successlvl, vengono approfondltl alcunl slsteml dl telemedlclna che
hanno trovato magglore appllcazlone.
=ILI= > %?<?@;C9:;E7GG9;
Con ll termlne telemonltoragglo sl fa rlferlmento all'lnsleme dl mezzl e forme
d'lntervento che mlrano a consentlre la fornltura dl un'asslstenza prestata ln strutture
decentrate rlspetto a quelle ospedallere, mlgllorando la quallt globale del servlzlo.
L'asslstenza extraospedallera poggla le proprle posslblllt dl efflcacla/efflclenza sulla
comunlcazlone a dlstanza fra Asslstltl e Centrl medlcl dl Servlzlo; solo ln queste
condlzlonl gll operatorl medlcl possono lntervenlre a dlstanza ln dlversl tlpl dl sltuazlonl,
determlnando le azlonl opportune per segulre l blsognosl dl asslstenza (es. anzlanl,
lnferml). ll processo dl monltoragglo conslste percl dl tre funzlonl fondamentall:
" prellevo ed lnvlo dl segnall cllnlcamente slgnlflcatlvl da parte degll Asslstltl verso
Centrl dl asslstenza/lntervento;
" acqulslzlone, anallsl e valutazlone dl tall segnall da parte del Centro medlco dl
Servlzlo;
" attuazlone dl lnterventl presso gll Asslstltl reallzzablll con modallt dlfferentl a
seconda
del casl.
Spesso ll problema dl fondo e dl tlpo organlzzatlvo e conslste nell'lndlvlduazlone e
reallzzazlone delle forme dl lntervento pl adeguate, che consentano la larga dlffuslone
ed economlclt del servlzlo offerto, sla sfruttando le posslblllt offerte dalla rete dl
telecomunlcazlonl pubbllca, sla costltuendo opportunl Centrl dl Servlzlo. Dl segulto
vengono elencatl alcunl esempl dl telemonltoragglo.
! 7elemon|toragg|o card|aco: prevede la reglstrazlone contlnuatlva dell'attlvlt
cardlaca effettuata medlante una apparecchlatura portatlle, un successlvo lnvlo
ln rete del datl reglstratl, verso un Centro dove questl vengono elaboratl;
dall'anallsl del tracclato, vengono derlvate lnformazlonl sulla sltuazlone cardlaca
del pazlente, che pu percl essere lnformato con tempestlvlt.
! 7elemon|toragg|o della d|al|s|: l datl, sla cllnlcl sla statlstlcl ottenutl con slsteml dl
gestlone automatlzzata dell'lntero centro dlallsl (cartelle cllnlche, schede dl
programmazlone, elaborazlonl statlstlche, programmazlone delle vlslte e degll
esaml, ecc.), sono lnoltratl ad un centro speclallzzato dl gestlone, che provvede
alla loro elaborazlone ed al controllo delle operazlonl e qualora, durante una
seduta dl dlallsl domlclllare, sl verlflchlno sltuazlonl dl emergenza o anomalle
gravl nel funzlonamento delle apparecchlature sl lntervlene lmmedlatamente.
! 7elemon|toragg|o de| d|abet|c|: eslstono slsteml automatlcl per la lnfuslone
dell'lnsullna ln modo contlnuatlvo, la cul veloclt vlene regolata ln base al tasso
gllcemlco; alcunl glucometrl sono provvlstl dl lnterfaccla standardlzzata a llvello
flslco e possono archlvlare, ln una memorla lnterna, ll valore dl glucoslo con
relatlva lndlcazlone dl tempo. Questl valorl possono pol essere lnvlatl verso un
centro speclallzzato remoto, utlllzzando un FC ed ll slstema dl telecomunlcazlone,
congluntamente ad eventuall commentl lntrodottl dlrettamente dal pazlente; ll
monltoragglo dell'andamento glornallero potrebbe percl essere segulto a
dlstanza dal personale medlco.
! 7elemon|toragg|o per|natale: consente ll controllo del battlto cardlaco fetale e
delle contrazlonl uterlne; la verlflca del datl raccoltl pu essere perlodlca
utlllzzando chlamate programmate, consentendo un eventuale lntervento
lmmedlato per parto lnclplente o dlfflcolt fetall lnsorte.
=ILIL > %?<?O9A?;B;CNH<:7K9;C?
ll slstema dl televldeoconsulto sl basa sul collegamento a dlstanza tra strutture
sanltarle, e sulla posslblllt dl trasmettere, tramlte retl dl telecomunlcazlone, datl
blomedlcl ed lmmaglnl dlagnostlche. Dlventa cos posslblle, per un slngolo operatore o
per una equlpe sanltarla, ottenere una consulenza da un Centro speclallstlco d'ascolto,
senza trasferlre flslcamente ll pazlente o la sua documentazlone cllnlca, quando lo
rlchledano motlvl d'urgenza, dl partlcolare complesslt del caso patologlco, oppure dl
lntrasportablllt del pazlente. Attraverso slsteml dl questo tlpo sl ha la posslblllt dl una
collaborazlone lnterdlsclpllnare tra equlpe medlche, che porta ad una lntegrazlone del
patrlmonlo delle dlverse competenze, con l'oblettlvo ultlmo della rlsoluzlone del caso
cllnlco e, qulndl, del benessere del pazlente. L'apparato dl televldeoconsulto consente
l'lntegrazlone della trasmlsslone vldeo, audlo, datl ed lmmaglnl. E' predlsposto lnfattl
per trasmettere, acqulslre, elaborare e memorlzzare lmmaglnl dl dlverso tlpo (T.A.C.,
R.M.N., radlografle, ecografle, termografle, endoscople, laparoscople, caplllaroscople,
etc.), nonch lmmaglnl rlprese dal vlvo (es. lmmaglnl patologlche) e dl preparatl
lstologlcl (es. vetrlnl).
09GHE7 =IPJ $CDE7N:EH::HE7 A9 B;@HC9B7K9;C? 9C HC; NB?C7E9; A9 %?<?O9A?;B;CNH<:;
Lapparato dl televldeoconsultazlone consente dl effettuare sesslonl standard dl
vldeocomunlcazlone e contemporaneamente la comunlcazlone dl datl e lmmaglnl.
vengono cos slmultaneamente gestltl ln manlera dlnamlca: un canale vldeo, uno audlo
a larga banda e un canale datl; su questultlmo sono dlsponlblll funzlonl come:
trasferlmento dl lmmaglnl dlagnostlche (compresse o ln formato lntegrale),
telepuntamento, telescrlttura, traferlmento dl flle, (cartelle cllnlche, refertl, etc.),
lavagna vlrtuale condlvlsa, prolezlonl dl esaml cllnlcl contenentl lmmaglnl multlple;
graflca e vldeo sono presentatl su un unlco schermo ln un amblente a flnestre. E
posslblle acqulslre lmmaglnl medlante telecamera e/o scanner oppure lmportarll da flle;
eslstono funzlonl per esamlnare gll archlvl dl lmmaglnl, scegllere quelle costltuentl un
esame e controllarne la sequenza dl trasmlsslone al termlnale remoto. lnoltre vlene
fornlta llnterfaccla per ll collegamento con le retl ospedallere e sono dlsponlblll
accessorl speclallzzatl per collegare TAC, RMN, scanner radlograflcl, etc.
ll collegamento con un Centro speclallstlco d'ascolto per ll consulto speclallstlco rende
parzlalmente "autonoml" anche Centrl sanltarl sltuatl ln zone remote o geograflcamente
lsolate, o che comunque non posseggano, tra le loro rlsorse, speclallstl ln quella
determlnata branca medlca. Con ll slstema delle consulenze a dlstanza, lnfattl, tall
Centrl sanltarl sono ln grado dl gestlre ln sltu pazlentl altrlmentl destlnatl ad un
trasferlmento. Due o pl Centrl sanltarl ad alto llvello dl speclallzzazlone, collegatl da un
slstema dl televldeoconsulto, hanno la posslblllt dl ottlmlzzare, con lo scamblo dl
oplnlonl e dl rlsultatl, una collaborazlone sclentlflca.
Un'ulterlore lpotesl dl servlzl prevede ll collegamento, all'lnterno stessa struttura
ospedallera, tra dlfferentl repartl collocatl a dlstanza, ma accomunatl da un lnsleme dl
problematlche e dl lnterscambl che rende lndlspensablle tra essl un contlnuo flusso dl
lnformazlonl verball e graflche(ad esemplo: Reparto dl Chlrurgla - Oncologla - Anatomla
Fatologlca; Fronto Soccorso - Radlologla - Rlanlmazlone).
Con ll televldeoconsulto sl ellmlnano, qulndl, gll spostamentl del consulentl o del
pazlentl, oppure ll trasferlmento della cartella cllnlca, da un reparto all'altro; con una
conseguente rlduzlone del templ dlagnostlcl e terapeutlcl, una mlgllore organlzzazlone
del lavoro del personale sanltarlo, ed una gestlone pl efflclente delle urgenze medlche
e chlrurglche.
09GHE7 =IQJ &N?@89; D<HNN; A7:9 A9 HC N9N:?@7 A9 :?<?O9A?;B;CNH<:7K9;C?I
=ILIP > %?<?7NN9N:?CK7 ? :?<?N;BB;EN;
La teleasslstenza (lntesa come servlzlo rlvolto all'Home Care e che lngloba anche l
servlzl dl telemedlclna per utentl/pazlentl ln sltuazlone protetta domlclllare), per l
probleml che rlsolve e per le caratterlstlche dell'utenza, sl lnserlsce nell'amblto del
Servlzlo dl Asslstenza Domlclllare. Questa forma dl telemedlclna nacque per lnlzlatlva dl
alcune ammlnlstrazlonl comunall, furono cos organlzzate squadre dl collaboratorl
famlllarl ll cul complto prlnclpale era quello dl recare solllevo materlale specle agll
anzlanl che, per deslderlo espresso o per lmposslblllt dl ldonea slstemazlone ln
strutture pubbllche o prlvate resldenzlall, rlmanevano nella proprla abltazlone. Evolutosl
nel tempo, ll Servlzlo Domlclllare ha oggl assunto una pl preclsa flslonomla e
connotazlone contrlbuendo a rendere meno emarglnante una sltuazlone eslstenzlale
che, troppo spesso, rasenta l'abbandono e l'lsolamento. Esso, per, espletato nella
forma tradlzlonale, prlvllegla gll lnterventl materlall verso l'asslstlto e, rlchledendo
l'lmpegno dl organlcl mal adeguatl all'amplezza della popolazlone ln oggetto, llmlta ll
beneflclo asslstenzlale ad una mlnlma parte del soggettl. Questa carenza vlene
frontegglata dalla teleasslstenza, da conslderare come strumento dl lntegrazlone del
Servlzlo Domlclllare se coordlnato con gll altrl servlzl soclo-sanltarl del terrltorlo. La
teleasslstenza e pertanto un servlzlo che, per le sue caratterlstlche (dl temporanelt e dl
complementarlet operatlva), ln relazlone alla tlplclt del blsogno del slngolo utente,
pu assumere forme dlverse e deve avere sempre un necessarlo coordlnamento con gll
altrl servlzl soclall del terrltorlo e con quel servlzl sanltarl che, potendo essere erogatl a
domlclllo, rlchledono la presenza dl operatorl professlonalmente capacl dl fornlre le
prestazlonl speclflche (medlco generlco, medlco speclallsta, personale lnfermlerlstlco,
personale volontarlo, etc.).
09GHE7 =IRI .?EO9K9 A9 6;@? '7E?
Sulla base dello scenarlo sopraesposto, la teleasslstenza vlene lntesa, prlnclpalmente,
come offerta dl un lnsleme dl servlzl rlvoltl ad un largo target dl utenza (non
necessarlamente anzlana), con l'oblettlvo dl deflnlre ln modo ottlmale quello
comunemente chlamato Home Care. Questl servlzl possono essere lndlvlduatl ln:
" Telesoccorso (rlchlesta per una qualslasl urgenza/emergenza soclo-sanltarla);
" Telecontrollo (per gll anzlanl, per le gestantl, farmacologlca, osslgenoterapla,
etc.);
" Telemedlclna domlclllare (monltoragglo cardlologlco, dlalltlco, per pazlentl ln
dlmlsslone
protetta ospedallera, pazlentl a rlschlo, etc.);
" Telefonla Soclale (per dlsablll, motulesl, audlolesl, etc.);
" Teleallarme (allarml amblente, lncendl, gas, etc.);
" Telelnformazlone (lnternet, Tv lnterattlva, Fosta elettronlca, etc.);
" Teledldattlca;
" Telelavoro.
La premessa lndlspensablle per la reallzzazlone pratlca del servlzlo e la costltuzlone dl
un Centro dl teleasslstenza ln grado dl attuare ognl opportuna e posslblle lnlzlatlva
afflnch ll soggetto, pur esposto al rlschl per l quall ll rlmedlo lmmedlato sembra essere
rappresentato dal rlcovero, possa contlnuare a rlmanere nel proprlo habltat, ln cl
agevolato dalla consapevolezza dl una asslstenza adeguata.
La Teleasslstenza utlllzzando le tecnologle proprle della Telemedlclna, lnflne, pu trovare
utlle appllcazlone verso altre categorle a rlschlo, ln partlcolare nel campo
dell'emergenza arltmlca e cardlovascolare. Le malattle cardlovascolarl, lnfattl,
rappresentano ln assoluto la patologla pl frequente nel paesl lndustrlallzzatl ed ln
partlcolare l'emergenza lschemlca e la forma ln cul sl concretlzza pl frequentemente
l'emergenza cardlologlca.
09GHE7 =ISJ &N?@89; 9CDE7N:EH::HE7 6;@? '7E?
ll collegamento con una Centrale dl Teleasslstenza da parte dl utentl portatorl dl queste
patologle, permetterebbe un monltoragglo ed un controllo nel caso dl arltmle sporadlche
ed occaslonall, ln assoclazlone con apparatl dl rllevazlone del tracclato
elettrocardlograflco (es. apparatl personall). ll telesoccorso dlventerebbe, altres,
essenzlale nel caso dl esordl lmprovvlsl o patologle gravl, che necessltano un lntervento
lmmedlato da parte dl personale speclallzzato o, nel casl pl gravl, dl centro moblle dl
rlanlmazlone. Ceneralmente, ll slstema e costltulto da un termlnale perlferlco e da una
centrallna dl rlcezlone. ll termlnale, lnstallato presso l'abltazlone dell'utente, e corredato
da un telecomando tascablle con ll quale e posslblle lnvlare automatlcamente la
rlchlesta dl soccorso da qualunque punto del proprlo appartamento. La chlamata vlene
rlcevuta e decodlflcata dalla centrallna ln dotazlone al Centro dl asslstenza che metter
ln atto le operazlonl dl soccorso. Quanto appena descrltto e la forma pl sempllce dl un
slstema dl soccorso, grazle a contlnul passl della tecnologla sl stanno mettendo su
slsteml sempre pl soflstlcatl.
23C 4 06A8<; D;9<5E
Crazle all'lnarrestablle svlluppo della tecnologla moblle da un punto dl vlsta sla del
dlsposltlvl sla delle lnfrastrutture dl comunlcazlone, negll scenarl dl telemedlclna sta
assumendo sempre pl lmportanza ll moblle health o mHealth (sanlt moblle). ln
generale ll moblle health fornlsce la posslblllt dl accedere al servlzl sanltarl attraverso
l'uso dl cellularl, smartphone e FDA. ll valore agglunto lnerente al moblle health e che la
magglor parte del servlzl offertl dalla telemedlclna classlca sono accesslblll
lndlpendentemente dalla postazlone. Ovvlamente questo vantagglo vale sla per l
pazlentl sla per gll operatorl sanltarl. Focallzzando l'attenzlone sul pazlente, alcunl del
servlzl che ll moblle health potrebbe mettere a dlsposlzlone:
" raccolta dl datl relatlvl a parametrl flslologlcl con lo scopo dl per poter essere
lnvlatl ad una plattaforma tecnologlca; ln questo modo ll pazlente verrebbe
controllato a dlstanza lndlpendentemente dal luogo ln cul sl trova;
" accedere al servlzl dl consulto medlco on llne, ln un qualslasl momento e da un
qualslasl posto;
" memorlzzazlone del proprl datl sanltarl sul proprlo dlsposltlvo, con la posslblllt dl
poter essere consultatl ln un qualslasl posto.
09GHE7 =ITJ &N?@89; A9 HC; NB?C7E9; A9 @;F9<? M?7<:M
l servlzl sopra-descrlttl sono soltanto alcunl offertl dal moblle health, stesso dlscorso
varrebbe dal lato operatore sanltarlo.
ll tutto sl potrebbe slntetlzzare dlcendo che l dlsposltlvl moblle hanno come ruolo
prlmarlo ll mlglloramento delle cure sanltarle; l'ulterlore vantagglo e che l dlsposltlvl
moblle oltre ad essere utlllzzatl nel mondo svlluppato, hanno un ruolo molto
determlnate nel paesl emergentl.
ll numero dl persone che vlvono ln estrema povert nel mondo e molto
elevato(statlstlche degll ultlml hanno hanno stlmato un numero lntorno ad 1 mlllardo),
ed ln queste sltuazlonl l'adozlone dl cure medlche rlsulta estremamente dlfflclle. Bastl
pensare che report fattl per l'anno 2005, hanno stlmato un numero dl mortl parl a clrca
3 mlllonl per la sola AlDS, senza tener conto dl altre malattle molto dlffuse nel paesl
emergentl: tubercolosl, malarla ecc. Un'elevata percentuale dl queste mortl e legata alla
mancata tempestlvlt delle cure, a causa del fatto che le lnfrastrutture sono precarle e
le dlsparate cllnlche rurall rendono dlfflclll l trattamentl. l pazlentl che vlvono ln zone
rurall sono costrettl a percorrere lunghe dlstanze per ragglungere una struttura sanltarla
dove devono attendere, ln alcunl casl, una glornata lntera. ln alcunl casl sono costrettl a
tornare a casa senza cure a causa della mancanza dl personale e alla mancanza dl
medlclnall per la elevata rlchlesta. lnoltre, molto spesso, manca un monltoragglo nel
tempo delle dlverse cure rendendo pol lnefflcace qualslasl medlclnale. ln sltuazlone dl
questo genere e sempllce lntulre come appllcazlonl dl mHealth porterebbero
oggettlvamente del mlglloramentl nella cura del pazlentl.
09GHE7 =IUJ 1;F9<? 6?7<:M C?9 87?N9 ?@?EG?C:9
lnfattl, con ll rapldo aumento della copertura moblle e lespanslone verso le aree rurall
dove lnternet e ancora lontano, la tecnologla moblle rappresenta una grande rlsorsa per
fare prevenzlone e prestare cure medlche per le popolazlonl pl povere. Qulndl
appllcazlonl moblle orlentate alla telemedlclna, lntroducono numeroslsslml vantaggl,
slntetlzzablll nel seguentl puntl:
" lnformazlonl chlare da parte del personale medlco;
" accesso pl rapldo alle lnformazlonl per la popolazlone;
" l'adozlone dl slsteml ammlnlstratlvl sanltarl pl efflclentl;
" la raccolta delle lnformazlonl oltre a facllltare la cura del pazlente lndlvlduale,
sono utlllzzate anche per costrulre una banca datl dl lnformazlonl;
" una magglore standardlzzazlone per l reglstrl medlcl.
Tuttl questl vantaggl portano ad un'ottlmlzzazlone nelle cure del pazlentl aumentando
cos le prospettlve dl vlta degll stessl.
L'ulterlore vantagglo dl utlllzzare appllcazlonl moblle e che ll software pu essere
utlllzzato anche su cellularl a basso costo.
23F 4 G89559H67=9 :8 5;<;=;:8>8?9 /9?9 =6A8<;
Blbllografla: documento ln ltallano e slto sana moblle
Sana moblle e un progetto ldeato dal MlT(Massachusetts lnstltute of Technology) e
della Harvard Unlverslty, con lo scopo dl svlluppare una plattaforma moblle, open
source, dl telemedlclna, per fornlre cure sanltarle pl efflclentl nel paesl ln vla dl
svlluppo. Sana, prlma chlamata Moca (abbrevlazlone dl Moblle Care) e pol rlbattezzata
ln Sana per la presenza dl un'altra assoclazlone avente lo stesso nome, e
un'organlzzazlone dl rlcercatorl studentl che mlra allo svlluppo dl una plattaforma dl
dlagnostlca medlca end-to-end rlvolta agll operatorl sanltarl lmpegnatl ln zone remote
sulla base dl smartphone con slstema operatlvo Androld, sfruttando ll fatto che ormal le
antenne per cellularl sono lnstallate ln ognl parte del mondo.
09GHE7 =IVJ #;G; .7C7
ln partlcolare, Sana consente agll operatorl sanltarl che operano ln aree svantagglate dl
lnvlare lnformazlonl scrltte, fotografle, audlo e vldeo e, se posslblle, radlografle a medlcl
speclallzzatl a scopo dl dlagnosl, ll tutto tramlte un server centrale.
Sana e partner dell' OMS(Organlzzazlone Mondlale della Sanlt) e dell' mHealth Alllance,
attualmente la plattaforma dl telemedlclna vlene utlllzzata ln dlversl paesl del mondo:
" lndla;
" Braslle;
" Flllpplne;
" alcunl paesl dell'Afrlca;
" Colombla;
" Slerra Leone;
" Crecla.
=IQI= > W;EXD<;Y A?<<7 897::7D;E@7
ll workflow dell'appllcazlone Sana, pu essere slntetlzzato ln una sequenza dl quattro
macro-operazlonl .
09GHE7 =I=ZJ .BM?@7:9KK7K9;C? Y;EXD<;Y .7C7
1. L'operatore sanltarlo vlslta ll pazlente resldente ln un area rurale, remota al posto
ln cul rlslede ll medlco speclallsta.
2. L'operatore sanltarlo esegue sullo smartphone un modulo dell'appllcazlone Sana,
chlamato procedura, assoclato alla tlpologla dl vlslta che sl sta facendo al
pazlente. Fer la Sana termlnology, una procedura e costltulta dall'acqulslzlone
dl una sequenza dl elementl(domande&rlsposte, lmmaglnl, vldeo, audlo e
coordlnate CFS) che descrlvono lo stato della malattla del pazlente. Ovvlamente l
datl blnarl, come le lmmaglnl, vengono acqulsltl ln automatlco dal componentl
hardware (come fotocamera, lettore CFS ecc) lntegratl nello smartphone.
3. Termlnata la compllazlone della procedura, l'operatore sanltarlo effettua l'upload
del datl sul server che e connesso ad un gestore dl cartella cllnlca elettronlca:
OpenMRS(descrltto nel sotto-paragrafl successlvl). ln partlcolare, questl datl
vengono automatlcamente lnserltl all'lnterno dl una coda lntegrata ln OpenMRS.
4. ll medlco sl connette(con un comune browser) ad OpenMRS e per ognl record
presente ln coda formula, attraverso una descrlzlone testuale, ll trattamento pl
adatto al problema dlagnostlcato ed effettua ll send della descrlzlone.
All'evento send, ll server lnvla automatlcamente un SMS allo smartphone da cul
e partlto l'upload del record ln esame. A questo punto l'operatore sanltarlo pu
vlslonare l'eslto della dlagnosl.
Successlvamente vlene approfondlto ll concetto dl procedura. L'esecuzlone dl una dl
una Sana procedure, a tuttl gll effettl, consta nell'lnserlmento dl un set dl datl, lnserltl
attraverso una serle dl CUl(Craphlcal User lnterface) opportunamente connesse tra loro.
Ovvlamente per ognl patologla e assoclata una proprla procedura che raccoglle l datl
necessarl a dlagnostlcare lo stato della patologla. Oltre al datl lnerentl la patologla, per
ognl procedura e prevlsto l'lnserlmento del datl del pazlente, questo fa s che per ognl
pazlente sl tlene traccla della storla delle sue patologle. L'appllcazlone moblle Sana
mette a dlsposlzlone una serle dl procedure dl default, ma a queste se ne possono
agglungere altre customlzzate alla partlcolare patologla che sl vuole gestlre. Fer creare
una nuova procedura, non c'e blsogno dl programmare(tramlte codlce) la nuova CUl, ma
ll tutto vlene fatto scrlvendo sempllcemente un flle XML-based .
ln flgura 1.11 e rlportata la sequenza dl operazlonl per l'lnserlmento e l'upload del datl
dl una partlcolare procedura(Surgery Follow-Up).
09GHE7 =I==J &N?@89; A?<<5?N?BHK9;C? A9 HC7 8E;B?AHE7[.HEG?E\ 0;<<;Y>/8]
ln flgura 1.12 e mostrata la notlflca della rlcezlone dl una dlagnosl.
09GHE7 =I=LJ (;:9D9B7 A?<<7 E9B?K9;C? A9 HC7 A97GC;N9
=IQIL > ,EBM9:?::HE7 '<9?C: > .?EO?E
La plattaforma Sana ha un'archltettura dl tlpo cllent-server, ln cul l cllents possono
essere sla gll smartphone(per l'lnvlo del datl delle procedure) sla l pc da cul l medlcl
accedono per formulare le dlagnosl. Mentre ll server, oltre ad essere costltulto dal
gestore dl cartelle cllnlche OpenMRS, e costltulto anche dal modulo MDS(Moca Dlspatch
Server) ll cul complto fondamentale e quello dl gestlre ln manlera opportuna la
comunlcazlone datl da e verso l dlsposltlvl moblle.
ln flgura 1.13, e schematlzzata l'archltettura cllent-server secondo quanto appena
speclflcato.
09GHE7 =I=PJ ,EBM9:?::HE7 .7C7
Una descrlzlone pl rlgorosa dell'lnterazlone cllent-server, pu essere schematlzzata nel
puntl successlvl.
! Termlnato l'lnserlmento del datl della procedura, essl vengono messl nel formato
|SON(formato testuale unlversale, sempllce da comprendere per le persone e
faclle da processare per le macchlne) e lnvlata al server MDS come sequenza dl
chunks(questo ottlmlzza l'lnvlo dl datl dl grosse dlmenslonl come le lmmaglnl).
! ll server MDS, attende la rlcezlone dl tuttl l chunks, ll assembla ln un unlco
record(che modella la rlchlesta dl dlagnosl) e pol sl connette all'OpenMRS
lnserendo nella coda ll record rlcevuto. Se la rlchlesta dl dlagnosl e relatlva ad
un pazlente non reglstrato nell'archlvlo OpenMRS, lo stesso MDS provveder alla
reglstrazlonl, automatlca, dl un nuovo pazlente(e ln grado dl fare questo perch,
come precedentemente speclflcato, oltre al datl della procedura vengono lnvlatl
anche l datl del pazlente).
! Nel momento ln cul ll medlco declde dl lnvlare l'eslto della dlagnosl, ll server MDS
provvede all'lnvlo automatlco dell'SMS; afflnch questo sla posslblle tuttl gll
smartphone che lnteraglscono con ll server, devono essere opportunamente
reglstratl attraverso un ldentlflcatlvo.
=IQIP > '7E7::?E9N:9BM? A?<<5788<9B7K9;C? '<9?C: @;F9<?
L'appllcazlone cllent moblle dl Sana, come preannunclato, e stata programmata per
poter essere utlllzzata su dlsposltlvl moblle aventl slstema operatlvo Androld. La scelta
della plattaforma Androld non e casuale; lnfattl ll slstema operatlvo, essendo open
source, vlene utlllzzato da una mlrlade dl devlce a partlre da quelll a fascla pl alta slno
ad arrlvare a quelll dl fascla pl bassa. ll basso costo dl questl ultlml fa s che tall
dlsposltlvl slano alla portata dl tuttl e questo non fa altro che aumentare le posslblllt dl
utlllzzo della plattaforma Sana. Un ulterlore valore agglunto per ll progetto dl
telemedlclna Sana e legato al fatto che esso stesso e dl natura open source.
09GHE7 =I=QJ .BM?E@7:7 9C9K97<? A?<<5788<9B7K9;C? .7C7
Dl segulto vengono elencate le pecullarlt pl rllevantl dell'appllcazlone moblle.
! Effettua la pacchettlzzazlone, ln chunks, del datl da lnvlare al server. Questa
operazlone e lndlspensablle perch l datl dl una procedura(testo,lmmaglnl, vldeo)
hanno una dlmenslone non lndlfferente. Ad esemplo: se mentre sl sta lnvlando
un'lmmaglne sl ha perdlta dl campo, quando la connesslone rltorna l'appllcatlvo
non lnvla nuovamente l'lntera lmmaglne ma soltanto quel chunks mancantl.
Questa operazlone ha una certa lmportanza polch e molto frequente la perdlta
dl campo dl un cellulare). Un altro scenarlo che glustlflca la necesslt della
pacchettlzzazlone: l'arrlvo dl una chlamata mentre sl sta facendo l'upload dl
una procedura (tuttl gll smartphone gestlscono la chlamata come task a prlorlt
prlmarla, lnterrompendo qualslasl attlvlt ln esecuzlone prlma della chlamata).
! lmplementa la slncronlzzazlone. ll cllent e composto da pl task slncronlzzatl tra
loro, ad esemplo tra l pl lmportantl: c'e quello che sl occupa dl esegulre la
procedura, quello che lnvla l chunks ln background, quello che e ln ascolto dl
eventuall SMS rlcevutl dal server MDS ecc.
! Multl-modal transfers: trasferlsce l datl, scegllendo ln automatlco ll tlpo dl
trasmlsslone(CFRS, WlFl) a seconda della dlsponlblllt dl connesslone(se sono
entrambe dlsponlblll, vlene utlllzzata la WlFl ln quanto pl affldablle).
! Fermette dl acqulslre le coordlnate CFS, qualora ll dlsposltlvo supporta la geo-
locallzzazlone.
! l datl del pazlente possono essere sla lnserltl nel classlcl form dl lnput sla acqulsltl
ln automatlco catturando con la fotocamera ll codlce bldlmenslonale QR(Qulck
Response) contenente le lnfo del pazlente. Ad esemplo, ll codlce QR potrebbe
essere assoclato alla carta d'ldentlt. La scanslone del codlce QR veloclzza
l'lnserlmento del datl datl del pazlente. Fer la lettura del codlcl QR, ll cllent
lntegra l'appllcazlone gratulta Barcod Scanner.
=IQIQ > '7E7::?E9N:9BM? A?< .?EO?E
Come sopra-descrltto ll server della plattaforma dl telemedlclna Sana e composto da
due modull: OpenMRS e MDS. Dl segulto vengono rlportate alcune pecullarlt dl
entrambl.
OpenHRS(Open Hed|cal Record System /
E un gestore web delle cartelle cllnlche elettronlche, anch'esso progetto open source,
che permette dl reglstrare, manlpolare e gestlre l datl del pazlentl. lndlpendentemente
da Sana, OpenMRS e stato progettato come archlvlo medlco che permette dl reperlre
rlsorse gratls utlle al paesl ln vla dl svlluppo. lnoltre, OpenMRS e un gestore cllnlco dl
tlpo web-based(scrltto ln scrlpt |ava |SF), qulndl non necesslta dl essere lnstallato sul pc
del medlco ma e accesslblle da qualslasl pc dotato dl un comune browser.
09GHE7 =I=QJ $C:?ED7BB97 A9 <;G9C "8?C1-.
Nel corso degll annl le funzlonallt dl OpenMRS sono state sempre pl ampllate e
ottlmlzzate. Allo stato attuale, alcune delle pecullarlt prlnclpall:
" Tutte le lnformazlonl sono centrallzzate su un dlzlonarlo dl concettl medlcl;
" Cestlone dell'autentlcazlone degll utentl;
" Cestlone del prlvllegl delle dlverse tlpologle dl utentl;
" Cestlone dell'anagraflca pazlentl;
" Cestlone della cartella cllnlca;
" Export del datl ln dlversl formatl;
" Archltettura modulare espandlblle anche grazle all'eslstenza dl AFl messe a
dlsposlzlone degll svlluppatorl;
" Cestlone dl datl multlmedlall;
" Supporto a numerose llngue.
La plattaforma Sana sfrutta le pecullarlt dl OpenMRS per uno storage e una gestlone
ottlmlzzata del datl lnerentl l pazlentl.
HDS(Hoca D|spatch Server/
Come e stato detto ln precedenza, MDS sl occupa dl gestlre la trasmlsslone del datl da e
verso ll telefono. Esso e stato programmato ln Fython utlllzzando ll framework D|ango.
MDS assume tutte le funzlonallt dl un mlddleware, polch fondamentalmente sl occupa
dl far lnteraglre due slsteml dlversl: smartphone e un gestore dl datl cllnlcl (nel caso
partlcolare OpenMRS).
Le caratterlstlche prlnclpall:
! Sono state svlluppate delle AFl(ln partlcolare REST AFl) che consentlrebbero a
smartphone dl qualslasl plattaforma l'lnterazlone con un qualslasl gestore
EMR(Electronlc Medlcal Record). Nel caso partlcolare dl Sana, abblamo
l'lnterazlone tra la plattaforma-Androld e OpenMRS.
! Sl occupa dl assemblare l chunks rlcevutl, e soltanto quando vengono rlcevutl
tuttl quantl, vengono passatl come unlco record ad OpenMRS.
! Cestlsce l'lnvlo automatlco dl SMS utlllzzando del servlzl web.
=IQIR > .O9<H889 DH:HE9 A9 .7C7
ll progetto Sana moblle, dalla sua nasclta e sempre ln contlnuo svlluppo, uno del
prosslml step, lmplementablle nell'arco dl breve tempo e la gestlone del flusso del
datl(che non slano SMS) che va dal server al cllent moblle. Questo permetterebbe dl
vlsuallzzare dlrettamente sul telefono dlverse lnformazlonl sulla storla cllnlca del
pazlente che sl sta vlsltando. Allo stesso tempo, uno degll svlluppl futurl a lungo
termlne, dato la sua complesslt, conslste nella classlflcazlone e lnterpretazlone
automatlca dl datl multlmedlall come lmmaglnl, vldeo e audlo, al flne dl lmplementare
modull dl supporto alle declslonl. Fer tale scopo e necessarlo l'utlllzzo delle prlnclpall
tecnlche dl lmage processlng, Machlne Learnlng, pl ln generale dl lntelllgenza
artlflclale(Al).
Froprlo nell'ottlca dl questa tlpologla dl svlluppo sl colloca l'appllcazlone progettata, ed
lmplementata, ln questo lavoro dl tesl. ln partlcolare sl e declso dl lmplementare, per ll
partlcolare scenarlo della teledermatologla(una delle procedure dl default presentl
nell'appllcazlone Sana), un modulo orlentato al supporto delle declslonl, basato
sull'lndlvlduazlone e la caratterlzzazlone automatlca del melanoma. Magglorl dettagll
verranno man mano espressl nel corso della descrlzlone del capltoll successlvl.
'789:;<; L> $@8;E:7CK7 A?<<7
B7E7::?E9KK7K9;C? ;GG?::9O7 A?<
@?<7C;@7 9C :?<?A?E@7:;<;G97
!"# % &'()*+ ,+--. /+--+
Una delle prlnclpall appllcazlonl dl teledermatologla e lo screenlng dl leslonl cutanee
rlguardantl ll tumore della pelle. ll tumore della pelle, flno a pochl annl fa e stato
conslderato una forma rara dl cancro, lnvece, oggl e ln cresclta ln tutto ll mondo. ll
prlnclpale fattore dl rlschlo e l'esposlzlone cronlca alla luce solare l cul raggl possono
dannegglare ll DNA delle cellule della pelle portando sla alla morte delle stesse sla a
trasformazlonl dl carattere canceroso provocandone una cresclta lncontrollata. Allo
stesso tempo l tumorl della pelle sl svlluppano anche ln partl del corpo non esposte al
sole.
La pelle e un organo costltulto da dlversl stratl dl tessutl e la sua funzlone prlnclpale e
quella dl rlvestlre ll corpo umano, asslcurandone la protezlone dell'organlsmo.
A llvello superflclale sono presentl solchl, pleghe e rlllevl e ll loro dlsegno varla a
seconda dl dlversl fattorl come l'elastlclt, l'adeslone della pelle all'apparato locomotore
e la dlsposlzlone degll annessl cutanel, ossla pell e unghle. Questl ultlml assleme alla
cute costltulscono un'entlt anatomlca funzlonale. l dlversl macro-stratl che
costltulscono la pelle sono:
" ep|derm|de: strato pl superflclale;
" derma: strato lntermedlo;
" |poderma o tessuto sottocutaneo o grasso: strato pl profondo.
09GHE7 LI=J .:E7:9 A?<<7 8?<<?
L'epldermlde, a sua volta, e formata da cellule dl dlversa natura: quella prlnclpale e ll
cherat|noc|ta o cellula ep|tel|ale, mentre nello strato lnferlore sono sltuatl l melanoc|t|,
che hanno ll complto dl produrre melanlna, la cul funzlone e quella dl proteggere la pelle
quando ll corpo e esposto alla luce, ln partlcolare alla radlazlone ultravloletta(Uv). La
melanlna e un plgmento naturale che, con la stessa funzlonallt, e presente anche nel
capelll e ln alcune partl dell'occhlo. ln condlzlonl normall l melanocltl possono dar luogo
ad agglomeratl scurl vlslblll sulla superflcle della pelle e notl come nel, dettl anche nevl.
proprlo la cresclta lncontrollata del cheratlnoclta e del melanocltl che da orlglne al
dlversl tumore della pelle. lnfattl, cl sono dlverse tlpologle dl tumorl ed essl sono
classlflcatl ln base alla natura delle cellule da cul hanno orlglne. Dl segulto vengono
elencate le dlverse tlpologle:
! Carc|nom| basocellular|, sono legatl alle cellulale basall sltuate nello strato pl
profondo dell'epldermlde. Appalono come plccoll nodull dl aspetto perlaceo
oppure come chlazze dl colore rosa, che aumentano lentamente dl dlmenslone.
Qualche volta possono essere plgmentatl e possono qulndl essere scamblatl per
del melanoml.
! Carc|nom| sp|nocellular|, dlpendono dalle cellule dello strato splnoso, strato pl
superflclale dell'epldermlde, e appalono come nodull o are a bordl rllevatl con una
depresslone centrale, ulceratl ma non sangulnantl.
! Helanom|, essl sl orlglnano sla ln puntl dl pelle lntegra sla a partlre da nel
preeslstentl. Quello che pl comunemente porta alla trasformazlone dl un nevo ln
melanoma e ll camblamento ln breve tempo(alcune settlmane o pochl mesl) dl
dlversl fattorl ln termlnl dl forma, colore e dlmenslone.
Le prlme due tlpologle sono l tumorl pl dlffusl e allo stesso tempo facllmente curablll, a
dlfferenza lnvece del melanoml che sono molto pl perlcolosl ln quanto hanno la
capaclt dl lnvadere l tessutl clrcostantl e dlffondere nell'organlsmo attraverso la
clrcolazlone ematlca e llnfatlca, portando metastasl a llvello del varl organl.
Dl segulto vlene focallzzata l'attenzlone sul melanoma, polch le tecnlche lmplementate
nel progetto dl questa tesl dl laurea sono state pensate come supporto alla dlagnosl dl
questa partlcolare tlpologla dl tumore cutaneo.
LI=I= > '7E7::?E9N:9BM? A?< @?<7C;@7
ll melanoma cutaneo detto anche melanoma mallgno, come gl descrltto
precedentemente, tra le dlverse tlpologle dl tumorl della pelle, e slcuramente ll pl
aggresslvo e perlcoloso.
La sede dl manlfestazlone del melanoma e slcuramente la cute, purtuttavla esso pu
lnsorgere, meno frequentemente, anche ln altrl dlstrettl corporel come: mucose delle
bocca, genltall, la congluntlva ecc.
09GHE7 LILJ .?K9;C? @?<7C;@7
Esso colplsce prevalentemente l soggettl adultl, e le popolazlonl dl pelle chlara, ma
occaslonalmente pu manlfestarsl anche ln bamblnl e adolescentl. ll melanoma pu
presentarsl ln qualslasl reglone anatomlca della cute, anche se negll uomlnl compare
pl spesso sulla cute dl torace, schlena, collo e testa, mentre nelle donne sono
prevalentl l melanoml su braccla e gambe. Quando la malattla sl trova ln uno stato pl
avanzato, con una certa probablllt, vl e la posslblle formazlone dl altrl melanoml
cutanel vlclnl alla leslone prlmltlva, denomlnatl satellltl. La perlcoloslt dl questo
tumore e legata alla generazlone, da parte della leslone prlmltlva, dl metastasl. Queste
ultlme possono essere caratterlzzate sla come metastasl vlclne(reglonall) sla come
metastasl lontane; tale caratterlzzazlone e legata alla modallt dl dlffuslone delle cellule
tumorall:
" metastasl vlclne: dovute alla dlffuslone delle cellule tumorall verso l llnfonodl pl
vlclnl alla leslone prlmarla e la dlffuslone lungo l vasl llnfatlcl;
" metastasl lontane: sono dovute alla dlffuslone attraverso l vasl sangulgnl.
09GHE7 LIPJ %989B7 <?N9;C? A?< @?<7C;@7
LI=IL > %98;<;G9? A9 @?<7C;@9
Allo stato attuale sono state lndlvlduate quattro tlpologle dl melanoma:
! D|ffus|one superf|c|ale: e dl sollto platto e dl forma lrregolare e colorato con
dlverse sfumature dl marrone e nero. Esso pu verlflcarsl a qualslasl et ed ln
qualunque parte del corpo. la tlpologla pl comune dl melanoma;
! Nodulare: solltamente e costltulto da un solo settore con la pelle sollevata e dl
colore scuro bluastro o rosso-bluastro, anche se alcunl sono prlvl dl colore;
! /ent|g|ne mal|gna: dl sollto sl manlfesta negll anzlanl. E pl comune con la pelle
dannegglata dal sole sul vlso, collo, e braccla. Le anomalle della pelle sono,
generalmente, ln grandl aree, platte, e dl colore marrone;
! /crale lent|gg|noso: e la tlpologla meno comune, ha caratterlstlche slmlll a quelle
della tlpologla precedente, ma sl presenta nella zona palmare, plantare e
subllnguale. E la forma pl comune dl melanoma nelle popolazlonl dl pelle nera.
ln partlcolare, ll lavorl dl questa tesl sl e concentrato sul melanoma a dlffuslone
superflclale.
LI=IP > .:7A97K9;C? A?< @?<7C;@7
Come speclflcato precedentemente, cl che rende perlcoloso ll melanoma e la comparsa
dl metastasl. lnfattl, esso e slcuramente guarlblle solo se vlene asportato
chlrurglcamente nella sua fase lnlzlale, quando ancora conflnato negll stratl pl
superflclall della pelle. Fer cul ln fase dl dlagnosl del melanoma, afflnch possa essere
scelta una cura approprlata, e molto lmportante avere una sorta dl classlflca dl gravlt,
a tal rlguardo rlentra ll concetto dl stadlzlone del melanoma. Tale gravlt pu essere
deflnlta secondo quattro stadl:
! Stad|o / e Stad|o //: comprendono melanoml prlmltlvl che ancora non hanno dato
metastasl.
! Stad|o ///: comprende l melanoml che hanno dato metastasl reglonall, ossla al
llnfonodl che drenano la zona cutanea dove sl e orlglnato ll melanoma oppure
metastasl |n trans|t, cloe che sl trovano nella zona che decorre tra la sede del
tumore prlmltlvo e l llnfonodl reglonall.
! Stad|o /v: rlguarda melanoml che sl sono dlffusl oltre la zona reglonale attraverso
ll sangue o ll slstema llnfatlco, dando metastasl a dlstanza ln altrl organl o tessutl.
La gravlt del quadro cllnlco dlpende anche dal numero e dalla sede delle
metastasl.
LI=IQ > *97GC;N9 A?< @?<7C;@7
Dalla descrlzlone del paragrafl precedentl e lntultlvo desumere che la mlgllor arma
vlncente per poter curare ll melanoma e la dlagnosl precoce, tanto prlma ll melanoma
vlene curato, tanto magglorl sono le probablllt dl sopravvlvenza e guarlglone. lnoltre le
metastasl possono sla essere presentl al momento della dlagnosl sla comparlre a
dlstanza dl tempo: per questo e lmportante che ll pazlente sl sottoponga a vlslte dl
controllo perlodlche negll annl successlvl alla dlagnosl. Quando compalono metastasl
loblettlvo delle teraple e quello dl controllarne la cresclta, prolungando ln questo modo
la sopravvlvenza.
Nella stragrande maggloranza del casl la dlagnosl del melanoma sl compone dl una
successlone dl tre macro-steps, che vengo adottatl a seconda dello stadlo ln cul sl
troverebbe ll melanoma.
1. Tecnlca /8CD. Sono delle sempllcl regole, ma allo stesso tempo efflcacl, che
permettono dl caplre quando un neo o un'anomalla qualslasl della cute, assume
delle caratterlstlche che potrebbero essere tlplche dl uno stadlo lnlzlale, ma
anche avanzato, dl un melanoma. Le regole da adottare sono contestuallzzate al
slgnlflcato dl ognl slngola lettera:
- %: as|mmetr|a, le leslonl sospette non hanno una forma regolare, l contornl dl
una parte destra non seguono lo stesso andamento dl quella opposta.
- (: bord|, le leslonl sospette hanno bordl frastagllatl, dentellatl ed ln generale
lrregolarl.
- +: colore, la colorazlone non e unlforme, sono presentl zone pl chlare e pl
scure; l colorl pl frequentl sono: marrone, nero, bruno e blanco.
- I: d|ametro, rlsulta essere sospetta qualslasl camblamento dl dlmenslone;
all'lnlzlo e stata utlllzzata una soglla dl 5mm al dlsotto della quale non venlva
conslderata come sltuazlone dl allarme, ma negll ultlml annl sono statl
dlagnostlcatl anche melanoml al dl sotto del 5mm.
Qualora una sola dl queste quattro condlzlone fosse verlflcata e necessarlo
recarsl ad uno speclallsta dermatologo che valuter ln manlera pl approfondlta
l'anomalla cutanea, adottando, a seconda dello stato della leslone, delle tecnlche
pl preclse descrltte nel due puntl successlvl.
2. Dermoscop|a o Ep|lum|nescenza. Sebbene la tecnlca ABCD e molto utlle a
dlagnostlcare precocemente l prlnclpall elementl dl allarme, essa non e
sufflclente ad effettuare una dlagnosl corretta e approfondlta specle se dl a che
fare con leslonl dl plccole dlmenslonl. Fer questo motlvo sl rlcorre
all'epllumlnescenza, una speclale tecnlca dl lngrandlmento e lllumlnazlone della
pelle che consente dl osservare anche gll stratl pl profondl. Questo esame e
effettuato tramlte uno strumento chlamato dermatoscoplo, che permette dl
osservare patterns sub-cutanel non vlslblll ad occhlo nudo favorendone ll
rlconosclmento. La tecnlca e basata sull'lnterposlzlone tra una lente e la cute dl
alcune gocce dl acqua, ollo o gel ecograflco; ln questo modo la cute dlventa
trasluclda permettendo al dermatologo dl osservare flno alla glunzlone dermo-
epldermlca numerose caratterlstlche pecullarl per la dlagnosl precoce del
melanoma non vlslblll ad occhlo nudo. Questa tlpologla dl esame e molto
utlllzzata per effettuare una mappatura del nevl, specle per quelll dl plccole
dlmenslonl per cul e dlfflclle effettuare una valutazlone oggettlva con la tecnlca
ABCD.
3. 8|ops|a. l'unlca dlagnosl che permette dl caplre con masslma certezza se
l'anomalla cutanea rlsulta essere mallgna, conslste nel prelevare una porzlone dl
tessuto e anallzzarla al mlcroscoplo.
@3@ 4 "=J6759?K9 :;<<9 +6=JL5;7 !8M86? ?;<<9 :89N?6M8 :;<
=;<9?6=9
nb qul potrel mettere come blbllografla quella dl Flsher
Come speclflcato nel paragrafo precedente, la tecnlca ABCD e molto utlle per effettuare
un'anallsl precoce dl anomalle cutanee; per, allo stesso tempo, attraverso quest'anallsl
sl potrebbe rlcorrere a probleml dl soggettlvlt nella valutazlone del prlml tre parametrl:
A, B e C. Questo problema potrebbe essere pl frequente soprattutto se l'anallsl
prellmlnare non venlsse effettuata da un medlco speclallsta. Quest'ultlmo aspetto non e
da sottovalutare perch e molto lmportante, ancor prlma che sl rlcorre allo speclallsta
dermatologo, avere un feedback sulla perlcoloslt della leslone cutanea, tutto questo
nella loglca che ll mlgllor modo per curare ll melanoma e quello dl rlusclre a trattarlo nel
suo stadlo lnlzlale. D'altro canto, soprattutto quando ll melanoma e nel suo stadlo
lnlzlale con plccole dlmenslonl, rlsulta essere dlfflclle anche per gll speclallstl rlusclre ad
effettuare una valutazlone oggettlva pur utlllzzando lmmaglnl acqulslte con la tecnlca
dell'epllumlnescenza. Ne consegue da una parte un certo tasso dl falsl posltlvl, ln
termlnl dl sclsslonl lnutlll, dall'altra dl falsl negatlvl, la cul sottostlma della leslone rlsulta
essere ancor pl perlcolosa.
Nell'ultlmo decennlo, la contlnua evoluzlone della tecnologla e delle metodologle
lnformatlche hanno permesso lo svlluppo dl plattaforme hardware-software dl supporto
alle declslonl del dermatologl, nella dlagnosl del melanoma, e non solo. Questo ha
portato ad una attenuazlone se non ad un'ellmlnazlone del probleml dl soggettlvlt
sopracltatl. Cos e stata lntrodotta la dermatoscopla computerlzzata, lntroducendo
vantaggl ln termlnl sla dl accuratezza dlagnostlca sla dl anallsl predlttlve basate
sull'anallsl dl sequenza dl lmmaglnl. Un ulterlore vantagglo dl estrema lmportanza, nella
dlagnosl precoce del melanoma, e dato dalla posslblllt dl effettuare ll follow-up delle
leslonl cutanee, lntroducendo la posslblllt dl confrontare non solo vlslvamente ma
soprattutto numerlcamente le caratterlstlche delle leslonl .
09GHE7 LIQJ *?E@7:;NB;89; B;@8H:?E9KK7:;
Fl ln generale, ll dermatoscoplo computerlzzato fa parte del coslddettl s|stem| d|
d|agnos| ass|st|ta dal computer, o C/D (Computer-/|ded Detect|on), sono plattaforme
lnformatlche che alutano ll medlco speclallsta nella dlagnosl evldenzlando le pl
probablll sedl dl malattla o suggerendo la natura, benlgna o mallgna, dl un reperto: sl
rlferlsce a uno schema computerlzzato che rlleva automatlcamente una serle dl sospettl
sulle lmmaglnl e ll segnala allo speclallsta, al quale pol spetta dl determlnare quall delle
segnalazlonl sono leslonl e quall falsl posltlvl del slstema.
lntultlvo lmmaglnare che ln tutto questo glocano un ruolo da protagonlsta le tecnlche
e gll algorltml dl 9@7G? 8E;B?NN9CG a partlre dalla segmentazlone slno ad arrlvare alla
descrlzlone delle features, deflnendo cos ln modo non amblguo e non pl soggettlvo le
caratterlstlche pecullarl del melanoma. Questl strumentl e queste tecnlche slcuramente
non potranno mal sostltulre ll ruolo del dermatologo ma allo stesso tempo fornlscono un
lmportante e determlnante supporto alle sue declslonl. lnfattl, e stato sclentlflcamente
dlmostrato che la valutazlone flnale da parte del dermatologo basata sla
sull'osservazlone sla sull'lnterpretazlone strumentale rlsulta essere pl accurata dl altre
metodlche analoghe nella dlagnosl precoce del melanoma.
Allo stesso tempo oltre alla sempllce descrlzlone oggettlva delle caratterlstlche del
melanoma, grazle all'utlllzzo dl metodl statlstlcl ed ln partlcolare le tecnlche dl Machlne
Learnlng, strumentl pl soflstlcatl lmplementano del metodl predlttlvl basatl sull'anallsl
dl sequenze dl lmmaglnl, dl leslonl plgmentate, che sono ln grado dl fornlre quadrl
dlagnostlcl dettagllatl.
Tutto quanto appena descrltto fa rlferlmento a tecnlche, ormal ben consolldate, che
vengono utlllzzate per la dermatoscopla; ma negll ultlml annl con la contlnua evoluzlone
dell'lmaglng dlgltale, grazle allo costruzlone dl fotocamere sempre pl evolute dal punto
dl vlsta sla spazlale sla cromatlco, le stesse tecnlche computerlzzate usate nella
dermatoscopla stanno plan plano trovando appllcazlone anche ad lmmaglnl che non
vengono acqulslte con la tecnlca dell'epllumlnescenza ma attraverso delle comunl
camere dlgltall dl quallt elevata. A tal rlguardo cl sono lnnumerevoll artlcoll sclentlflcl.
lmmaglnablll sono l vantaggl che queste tecnlche computerlzzate possono portare al dl
la della dermatoscopla; ln prlmls tra tuttl vl e la posslblllt dl avere un feedback pl
oggettlvo sull'entlt dell'anomalla cutanea, ancor prlma dl recarsl da uno speclallsta.
Come al sol|to, la scopo d| quest| strument|/tecn|che non sara ma| quello d| sost|tu|re |l
dermatologo ma sfruttare l'oggett|v|ta de| r|sultat| d| un calcolatore per r|usc|re ad
esemp|o a generare degl| allarm| precoc| su les|on| che |n un pr|mo momento
sembrerebbero non per|colose, a valutare numer|camente l'evoluz|one della les|one
ecc .
@3C 4 *O 6NN;558B85P :;< =;<9?6=9 ?;<<9 5;<;:;7=956<6N89 ;
8? J9758>6<97; J;7 <9 J89559H67=9 /9?9 =6A8<;
forse, qul e megllo mettere ll rlferlmento all'artlcolo dl flsher.
Una buona parte del dlversl progettl che sl occupano dl caratterlzzare ll melanoma, ln
manlera oggettlva tramlte tecnlche computerlzzate, hanno come obblettlvo comune
quello dl assoclare degll score numerlcl al slngoll parametrl della tecnlca ABCD, l quall
contrlbulranno alla determlnazlone dl uno score totale caratterlzzante lo stato della
slngola leslone. Questl parametrl oltre a poter essere determlnatl ln manlera dlversa, a
seconda delle tecnlche dl lmage processlng e Machlne Learnlng adottate, allo stesso
tempo possono essere gestltl ln manlera dlversa ln base al partlcolarl contestl
appllcatlvl.
Una delle posslblll appllcazlonl e quello della teledermatologla che non conslste soltanto
nell'lnvlare sempllcemente delle lmmaglnl ad un host remoto ed attendere che venga
fatta una dlagnosl da un medlco speclallsta, ma cl possono essere dlverse tlpologle dl
appllcazlonl.
09GHE7 LIRJ .BM?E@7:7 A9 HC5788<9B7K9;C? A9 :?<?A?E@7:;<;G97
Alcune delle posslblll appllcazlonl dl telemedlclna assoclata alla dlagnosl precoce del
melanoma:
! l'utente effettua l'upload, su un portale speclallzzato, lnvlando sla l'lmmaglne
della leslone sla l parametrl ABCD, l cul ultlml vengono sceltl ln base alla
somlgllanza dl alcune leslonl camplone (come ln flgura 2.5); sulla base dl queste
lnformazlonl ll slstema, ln tempo reale, fornlsce all'utente una caratterlzzazlone
dell'anomalla cutanea.
! L'utente lnvla l'lmmaglne ln manlera slmlle al punto precedente con la dlfferenza
che le lnformazlonl del parametrl ABC vengono estratte ln automatlco dal slstema
remoto, fornendo ln tempo reale un feedback sulla perlcoloslt della leslone.
Questl due sono soltanto alcunl del posslblll scenarl, ln realt e sempllce lmmaglnare la
versatlllt delle appllcazlonl dl telemedlclna contestuallzzate alla dermatologla.
Un altro scenarlo ln cul la teledermatologla ha un ruolo molto fondamentale e l'utlllzzo dl
essa all'lntero dl aree geograflche nelle quall ll medlco speclallsta non e presente,
sltuazlonl dl questo tlpo sono molto presentl nel paesl sottosvlluppatl.
Come speclflcato nel paragrafl lnlzlall dl questo capltolo, la plattaforma dl telemedlclna
Sana moblle offre tra l suol dlversl modull anche uno lnerente la teledermatologla, per
questo sl llmlta a raccogllere delle lnformazlonl dl carattere qualltatlvo della leslone e ad
effettuare l'upload dell'lmmaglne. Successlvamente queste lnformazlonl verranno
anallzzate da un medlco speclallsta che provveder ad lnvlare la dlagnosl corretta.
Questo approcclo per quanto utlle e funzlonale ha del llmltl che se superatl porterebbero
lndubblamente ad ulterlorl vantaggl. Dl segulto vengono elencatl alcunl del llmltl
prlnclpall.
! L'operatore sanltarlo, che non e un medlco speclallsta, solltamente, non ha degll
strumentl dl auslllo che gll permetterebbero dl fare una valutazlone oggettlva e dl
lntervenlre, per l casl gravl, ln templ brevl eventualmente ancor prlma dl rlcevere
una dlagnosl dal medlco. Ad esemplo, se questo fosse posslblle, l'lntervento
tempestlvo potrebbe essere ll sempllce fatto che l'operatore sanltarlo
nell'uplodare l datl nella coda delle vlslte assocl una prlorlt pl alta per casl pl
gravl. Questo potrebbe essere molto lmportante se sl pensa che dall'altra parte cl
sono delle postazlonl medlche che devono dlagnostlcare centlnala dl rlchleste
provenlentl da dlverse aree.
! ll medlco speclallsta potrebbe trovarsl dlfronte ad lmmaglnl che slano poco
nltlde(bastl pensare che la sempllce lllumlnazlone e molto determlnante) o
lncomplete per poter effettuare una dlagnosl, questo rlchlederebbe la rlpetlzlone
dell'esame ed e lmmaglnablle come una cosa slmlle, ln paesl sottosvlluppatl, non
farebbe altro che portare ulterlorl dlfflcolt. ll tutto sl sempllflcherebbe se
l'operatore sanltarlo rlusclsse ad avere almeno un feedback oggettlvo sulla bont
dell'lmmaglne da lnvlare.
La plattaforma dl software moblle lmplementata ln questo lavoro dl tesl e stata
progettata con l'oblettlvo dl estrapolare ln manlera automatlca ed ln tempo reale l datl
caratterlzzantl la leslone del melanoma.
Tutto questo e stato pensato nell'ottlca dl sfruttare l'oggettlvlt dl questl datl per rlusclre
a bypassare, o perlomeno a rldurre, l due llmltl prlnclpall sopraelencatl.
L'lntera plattaforma consta sostanzlalmente ln un'appllcazlone che, tramlte ll controllo
completo dell'hardware della telecamera dello smartphone, oltre a catturare
sempllcemente l'lmmaglne della leslone cutanea, effettua ln tempo reale ll processlng
della leslone: la segmentazlone della stessa per pol estrarne del descrlttorl numerlcl che
potrebbero essere utlll per rlsolvere l probleml sopraelencatl.
La descrlzlone degll algorltml dl lmage processlng e dell'appllcazlone moblle completa
sono presentl rlspettlvamente nel capltoll 4 e 5.
'789:;<; P> !E9CB987<9 :?BC9BM? A9
$@7G? !E;B?NN9CG 8?E
<59CA9O9AH7K9;C? ? <7
B7E7::?E9KK7K9;C? A9 D;E@?
ln questo capltolo vengono descrltte alcune delle prlnclpall tecnlche dl lmage-processlng
utlllzzate per effettuare la segmentazlone e l'estrapolazlone del descrlttorl dl oggettl
presentl all'lnterno dl un'lmmaglne. ln partlcolar modo sono state menzlonate quelle
tecnlche/algorltml che hanno avuto un ruolo determlnante negll algorltml progettatl per
l'estrapolazlone e la caratterlzzazlone delle leslonl cutanee. Non e stata effettuata una
trattazlone degll algorltml dl edge-detectlon polch essl sono ben notl nella letteratura
della Computer vlslon.
C32 4 *9 M;N=;?59K86?;
Nell'elaborazlone dl lmmaglnl dlgltall, la segmentazlone e vlsto come ll processo dl
partlzlonamento dl un'lmmaglne ln reglonl slgnlflcatlve. ln altrl termlnl, e ll processo con
ll quale sl classlflcano l plxels dell'lmmaglne che hanno caratterlstlche comunl; clascun
plxel dl una reglone e slmlle agll altrl della stessa reglone ln base a caratterlstlche
come: colore, lntenslt o texture. Segue una deflnlzlone formale e rlgorosa della
segmentazlone.
Sla R llntera reglone spazlale occupata dalllmmaglne, ll processo dl segmentazlone pu
essere vlsto come ll partlzlonamento dl R ln n sotto-reglonl, R
1
, R
2
. , R
n
tall da
soddlsfare le seguentl condlzlonl:
Con Q(R
k
) predlcato deflnlto sul puntl dl un lnsleme R
k
. Descrlvendo le condlzlonl
sopraelencate:
" ognl plxel deve appartenere ad una reglone;
" ln puntl appartenentl ad una reglone devono essere connessl(ad esemplo: 4-
connessl, 8-connessl, questl sono descrlttl nel paragrafo successlvo);
" le reglonl devono essere dlsglunte;
" l plxel appartenentl ad una reglone devono soddlsfare un certo predlcato Q;
" due reglonl adlacentl devono essere dlverse nel senso del predlcato Q.
Un esemplo dl predlcato Q potrebbe essere: Q(R
l
) = TRUE se l'lntenslt medla del plxel
dl R
l
e lnferlore a m e la loro devlazlone standard e mlnore dl c (con m e c parametrl
costantl).
Fer la segmentazlone cl sono dlverse tecnlche ln letteratura, tuttavla nessuna dl esse
rlsulta essere la mlgllore ln assoluta che andrebbe bene ln tuttl l casl, ognuna
dev'essere valutata ln base a slngoll contestl appllcatlvl. Alcune delle pl comunl
strategle dl segmentazlone sono:
" Edge-based;
" Thresholdlng;
" Reglon Crowlng;
" Reglon Spllttlng and Merglng.
La tecnlche dl Thresholdlng(sogllatura) sono basate sull'anallsl dell'lstogramma, esse
sono molto utlllzzate grazle alla loro sempllclt lmplementatlva e sopratutto
all'efflclenza computazlonale. Fer queste motlvazlonl, ln questo lavoro dl tesl, per gll
algorltml dl segmentazlone progettatl sono state utlllzzate una comblnazlone dl tecnlche
dl sogllatura. Solltamente nelle tecnlche dl thresholdlng sl conslderano le lnformazlonl
dell'lstogramma dell'lmmaglne sfruttando l suol plcchl e le sue valll per locallzzare l
cluster dell'lmmaglne. Solltamente, l'oblettlvo flnale e quello dl ottenere un lmmaglne
blnarlzzata, ossla avente due soll llvelll dl grlglo dl cul uno assoclato all'oggetto
lnteressato mentre l'altro llvello assoclato allo sfondo.
La segmentazlone basata su sogllatura fornlsce buonl rlsultatl nel caso dl scene non
molto complesse, questo e ln llnea con la complesslt delle lmmaglnl trattate ln questo
lavoro dl tesl, ossla un oggetto(leslone cutanea) al centro dello sfondo(pelle).
Nel sotto-paragrafl successlvl vengono descrlttl alcunl del metodl pl comunl dl
thresholdlng.
PI=I= > %ME?NM;<A9CG B;C N;G<97 G<;F7<? @7CH7<?
Nel casl pl sempllcl la suddlvlslone fra puntl delllmmaglne corrlspondentl ad oggettl e
puntl dl sfondo pu essere effettuata confrontando ll llvello dl grlglo dl ognl plxel con un
valore dl soglla opportunamente determlnato. Quest'operazlone ha come rlsultato
un'lmmaglne ln cul l plxels delloggetto e dello sfondo sono marcatl con due llvelll dl
grlglo dlfferentl:
7 = sogl|a; f(x,y/ = |ntens|ta d| gr|g|o del p|xel d| pos|z|one (x,y/
/F f(x,y/ > 7
(x,y/ e un punto dell'oggetto(sfondo/
E/SE (x,y/ e un punto dello sfondo(oggetto/
Come sopra-preannunclato, llstogramma del llvelll dl grlglo costltulsce lo strumento
fondamentale per la determlnazlone della soglla. ln partlcolar modo, nel casl pl
sempllcl, sl anallzza l'lstogramma e sl lndlvldua un valore adeguato al flnl della
separazlone fra oggettl e sfondo. L'lstogramma rappresentato ln flgura 3.1, rappresenta
uno del casl pl sempllcl ln cul l due plcchl(modl) sono nettamente dlstanzlatl tra loro;
supponendo che questl due plcchl appartengono rlspettlvamente ad un oggetto e allo
sfondo, e lntultlvo pensare come la mlgllor soglla per segmentare l'lmmaglne sl trova a
met della dlstanza tra l due plcchl.
09GHE7 PI=J $N:;GE7@@7 B;C AH? 89BBM9 F?C A9N:7CK97:9
ln questo caso sl parla dl lstogramma blmodale.
Fer nella magglor parte degll scenarl reall e dlfflclle avere una sltuazlone cos sempllce,
molto spesso l due modl dell'lstogramma sono sovrappostl. ln generale, quanto
magglore e lentlt della sovrapposlzlone tanto pl dlfflcoltosa sar la scelta del valore
dl soglla e dl conseguenza pegglorl saranno l rlsultatl ottenlblll medlante loperazlone dl
blnarlzzazlone.
09GHE7 PILJ $N:;GE7@@7 B;C @;A9 N;OE788;N:9
La presenza dl modl sovrappostl dell'lstogramma assoclatl all'oggetto e allo sfondo e
legata all'eslstenza dl plxels dell'oggetto pl chlarl(scurl) dl plxels dello sfondo e dl
plxels dello sfondo pl scurl (chlarl) dl plxel dell'oggetto. ln talunl casl, ll llvello dl grlglo
dl un plxel non e una caratterlstlca sufflclente al flnl della dlscrlmlnazlone fra oggetto e
sfondo e llmmaglne non pu essere blnarlzzata correttamente (senza errorl) tramlte
una soglla globale.
Tuttavla, vlsta llmportanza delloperazlone dl blnarlzzazlone, che rlduce drastlcamente
la quantlt del datl preservando ll contenuto lnformatlvo prlmarlo delllmmaglne, ln
moltlsslme appllcazlonl sl cerca dl determlnare una soglla globale che consenta dl
effettuare una blnarlzzazlone raglonevolmente corretta anche ln presenza dl un certo
grado dl sovrapposlzlone fra l modl. Molto spesso, sfruttando alcune partlcolarlt,
caratterlstlche del slngoll scenarl, sl effettuano dlversl steps dl sogllatura che
permettono pol dl arrlvare ad una blnarlzzazlone ottlmale; questo e quello che accade
negll algorltml dl segmentazlone progettatl nel lavoro dl tesl(paragrafl 4.2.1 e 4.2.2).
PI=IL > %ME?NM;<A9CG B;C N;G<97 G<;F7<? 7H:;@7:9B7
ln letteratura sono presentl numerosl metodl, ormal consolldatl, che sulla base
dell'anallsl dell'lstogramma, permettono dl determlnare automatlcamente la soglla per
la blnarlzzazlone. ll motlvo per ll quale e pl opportuno utlllzzare una soglla determlnata
automatlcamente e rlassunto nel seguentl puntl:
! La scelta manuale della soglla, soprattutto ln casl pl complessl, pu essere
molto dlfflcoltosa e qulndl rlchledere molto tempo.
! La scelta manuale sl basa necessarlamente su una valutazlone soggettlva. ln
numerose appllcazlonl questo non e accettablle.
! Nellelaborazlone dl sequenze dl lmmaglnl la determlnazlone automatlca
consente dl ottenere una soglla dlstlnta per clascuna lmmaglne. Cl garantlsce
una magglore adattatlvlt rlspetto a posslblll varlazlonl delllllumlnazlone.
L'unlco lnconvenlente legato alla determlnazlone automatlca della soglla e costltulto dal
magglore costo computazlonale.
Dl segulto vengono elencatl l prlnclpall metodl dl base utlllzzatl dagll algorltml per la
determlnazlone automatlca della soglla.
! (valor med|o/ : sl basa sul presupposto che veroslmllmente la met del plxels
appartenga all'oggetto e met allo sfondo.
! (|
max
+|
m|n
//2: consldera ll valore lntermedlo del range del llvelll dl grlglo; questo
non rlchlede la suddlvlslone omogenea del plxels tra oggetto e sfondo.
! (|
pJ
+|
p2
//2 oppure m|n{|, | C j|
pJ
, |
p2
]}: valore lntermedlo oppure valore mlnlmo fra
l llvelll dl grlglo corrlspondentl al due plcchl prlnclpall delllstogramma (metodo
del modl ). La rlcerca del plcchl (masslml locall) vlene effettuata su un lntorno dl
dlmenslone 3 o 5:
A partlre da questl metodl sono statl svlluppatl numerosl altrl algorltml basatl sulla
rlcerca della soglla ottlma, ossla quella soglla che mlnlmlzza l'errore dl classlflcazlone
relatlvo ad un crlterlo preflssato. Tra questl algorltml rlentra ll metodo dl Otsu, descrltto
nel sotto-paragrafo successlvo.
PI=IP > .;G<97:HE7 A9 ":NH
ll metodo dl Otsu e uno degll algorltml che ha contrlbulto alla segmentazlone delle
leslone cutanee. L'algorltmo presume che nell'lmmaglne da sogllare slano presentl due
sole classl e dl conseguenza calcola la soglla ottlma per separare queste due classl
mlnlmlzzando la varlanza lntra-classe.
09GHE7 PIPJ -9NH<:7:; A?<<5788<9B7K9;C? A?< D9<:E; A9 ":NH
Supponendo dl avere unlmmaglne dl dlmenslonl MxN con L llvelll dlstlntl dl lntenslt e
lndlcando con n
l
ll numero dl plxel dl lntenslt l, ll metodo sl basa sull'anallsl
dell'lstogramma normallzzato avente componentl p
l
=n
l
/MN. ln partlcolare l'algorltmo dl
Otsu pu essere rlassunto ln una serle dl macro-steps:
" calcolo dell'lstogramma normallzzato dell'lmmaglne;
" calcolo delle somme cumulatlve F
1
(k) per k=0, 1, ..., L-1;
" calcolo delle medle cumulatlve m(k) per k=0, 1, ..., L-1;
" calcolo della medla globale delle lntenslt, m
C
;
" calcolo della varlanza lnter-classe per k=0, 1, ..., L-1;
" determlnazlone la soglla k che masslmlzza la varlanza lnter-classe; se ll masslmo
non e unlco, vlene rlcavato k come medla del valorl dl k corrlspondentl al varl
masslml trovatl;
" Rlcavare la mlsura dl separablllt q per k=k .
Dl segulto vengo descrltte le operazlonl espllclte che sl rlflettono nel macro-steps sopra-
descrlttl.
Calcolato l'lstogramma normallzzato, sl selezlona una soglla T(k)=k, 0<k<L-1, e sl
dlvlde ln base ad essa llmmaglne ln due classl, C
1
(tuttl l plxel con lntenslt [0, k|) e C
2
(tuttl l plxel con lntenslt [k+1, L-1|). Con tale soglla, la probablllt che un plxel sla
assegnato alla classe C
1
e:
mentre, per la classe C
2
sl ha:
ll valore medlo dl lntenslt del plxel appartenentl alla classe C
1
e:
ln manlera slmlle sl rlcava:
Sl deflnlsce medla cumulatlva flno al llvello k:
La medla delle lntenslt delllntera lmmaglne e data da:
Fer valutare la bont della soglla k sl utlllzza la metrlca normallzzata:
Con o
2
C
varlanza globale del plxel delllmmaglne:
e o
2
B
varlanza lnter-classe:
lnoltre, la varlanza lnter- classe pu essere scrltta anche come:
E sempllce verlflcare la seguente condlzlone: pl dlstantl sono le due medle, pl la
varlanza lnter-classe e elevata. lnflne la formula della soglla ottlmale e data da:
C3@ 4 />E;=8 :8 79JJ7;M;?59K86?;
Solltamente ln un qualunque contesto dl Computer vlslon, un task successlvo
all'operazlone dl segmentazlone rlchlede la caratterlzzazlone degll oggettl(reglonl) ln
termlnl dl: forma, dlmenslonl, poslzlone e orlentamento. Queste lnformazlonl estratte
prendono ll nome dl propr|eta o descr|ttor| o features. Cl sono dlversl descrlttorl e la loro
utlllt varla a seconda del varl contestl. lnoltre, essl vanno sceltl ln modo tale da
renderll lnsenslblll a varlazlonl non slgnlflcatlve presentl sulle lstanze dell'oggetto e ln
modo da consentlre la dlscrlmlnazlone tra lstanze dl oggettl dlversl.
La rappresentazlone dl un oggetto verte fondamentalmente su due tlpologle dl
caratterlstlche:
" esterne(dette anche del boundary): esprlmono le caratterlstlche dl forma
dell'oggetto;
" |nterne: esprlmono le caratterlstlche della superflcle, come ll colore o la tessltura.
Nella magglor parte delle appllcazlonl entrambe le tlpologle dl caratterlstlche sono
necessarle; degll esempl dl tasks ln cul sl evldenzla l'lmportanza del descrlttorl: retr|eval
d| |mmag|n|, recogn|t|on ecc.
Frlma del calcolo vero e proprlo del descrlttorl e utlle adottare degll scheml dl
rappresentazlone ll cul scopo e quello dl compattare l datl (rlspetto al trattl dl boundary
o agll aggregatl dl plxels) ln modo da rendere pl slgnlflcatlvl l descrlttorl e
computazlonalmente meno complesso ll loro calcolo.
Nel due sotto-paragrafl successlvl vengono descrltte due delle tecnlche pl comunl per
la generazlone degll scheml dl rappresentazlone.
PILI= > 'M79C ';A?N
ll boundary e rappresentato tramlte una sequenza dl segmentl rettlllnel connessl, dl
lunghezza e dlrezlone speclflcata. Tall segmentl possono essere 4-connessl o 8-connessl,
entrambl eventl un'opportuna codlflca per la dlrezlone. l codlcl numerlcl adottatl per le
due tlpologle dl connesslonl sono rlportatl ln flgura 3.4.
09GHE7 PIQJ ';A9D9BM? A?<<? A9E?K9;C9^ NBM?@7 A9 N9C9N:E7J Q>B;CC?NN?_ NBM?@7 A9 A?N:E7J U>
B;CC?NN?
Dall'anallsl della flgura 3.4 sl evlnce con chlarezza che la rappresentazlone del contorno
e pl preclsa per la 8-connesse, a dlscaplto dl una codlflca generalmente meno
efflclente. Un sempllce metodo dl generazlone del chaln code dl un contorno conslste
nel percorrere ll contorno, per esemplo ln senso orarlo, a partlre da un punto scelto
arbltrarlamente, e nellassegnare ll codlce numerlco approprlato alla dlrezlone del
segmento conglungente ll punto corrente al successlvo. L'lmplementazlone dl questo
metodo e legata alle caratterlstlche prlnclpall delle lmmaglnl dlgltall ossla quelle dl
essere acqulslte ed elaborate secondo una grlglla dl camplonamento a maglle quadrate.
La lunghezza dl ognl segmento e stablllta sla dal passo dl camplonamento sla dalla
dlrezlone stessa(questo aspetto e trattato anche nel calcolo del perlmetro dl un
oggetto). Dl contro alla sempllclt dl questo metodo, cl sono due aspettl negatlvl:
" solltamente ll chaln code rlsulta essere molto lungo;
" dlsturbl anche plccoll lungo ll boundary, dovutl a rumore o ad lmperfezlonl della
segmentazlone, possono causare varlazlonl del codlce non necessarlamente
correlate alla forma del boundary .
Fer bypassare questl tlpl dl probleml un approcclo comunemente utlllzzato e quello del
r|-camp|onamento del boundary medlante una grlglla a maglla pl dlstesa. Questo pu
essere ottenuto scegllendo l nodl(evldenzlatl ln verde ln flgura 3.5), della grlglla a
maglla pl larga, pl vlclnl al puntl ln cul ll boundary orlglnale attraversa l latl della
grlglla stessa.
09GHE7 PIRJ +;HCA7E\ 7<<59C:?EC; A9 HC7 GE9G<97 89` ?N:?N7
La rappresentazlone dl un boundary rl-camplonato e effettuata attraverso un chaln code
a 4 (oppure a 8) dlrezlonl, costrulto conslderando, a partlre da un punto scelto ln modo
arbltrarlo, ll 4-cammlno (oppure l8-cammlno) pl breve non lnterno al contorno stesso
percorso ln senso orarlo; questo e quanto rappresentato un flgura 3.5.
09GHE7 PISJ +;HCA7E\ E9>B7@89;C7:; B;C E788E?N?C:7K9;C? Q>B;CC?NN; ? U>B;CC?NN;
Laccuratezza della rappresentazlone dlpende dal passo della grlglla dl rl-
camplonamento . lnoltre, ll chaln code dl un boundary dlpende dalla scelta del punto dl
partenza, ma pu essere facllmente normallzzato con dlversl crlterl. Fer, queste
normallzzazlonl hanno effetto soltanto se l boundary sono essl stessl lnvarlantl rlspetto
alla rotazlone e al camblamento dl scala. Questultlma condlzlone e dlfflclle da
reallzzare, a causa della natura dlgltale delle lmmaglnl: lo stesso oggetto, dlgltallzzato ln
due poslzlonl orlentate dlversamente, d luogo ln generale a due boundary dalla forma
dlversa .
Cr|ter|o d| Normal|zzaz|one J
ll boundary e trattato come una sequenza clrcolare dl clfre e come descrlttore vlene
conslderato quella sequenza che forma ll numero lntero dl mlnlmo valore. Nell'lmmaglne
3.T sono presentl le rappresentazlonl normallzzate delle sequenze presentl nella
precedente flgura, 3.5.
09GHE7 PITJ -788E?N?C:7K9;C? A?9 B;A9B9 C;E@7<9KK7:9
Cr|ter|o d| Normal|zzaz|one 2
Conslste nell'effettuare una normallzzazlone rlspetto alla scala, questa vlene effettuata
andando ad aglre sul passo della grlglla dl rl-camplonamento.
Cr|ter|o d| Normal|zzaz|one J
Effettua una normallzzazlone rlspetto alla rotazlone; questa pu essere effettuata
usando, al posto del chaln code, la sua prlma dlfferenza, che sl ottlene contando ll
numero dl camblamentl dl dlrezlone (per esemplo ln senso antlorarlo) che separano due
elementl adlacentl del codlce . La flgura 3.8, mostra un esemplo per un codlce 4-
dlrezlonale.
09GHE7 PIUJ &N?@89; A9 C;E@7<9KK7K9;C? E9N8?::; 7<<7 E;:7K9;C?
PILIL > ,88E;NN9@7K9;C9 !;<9C;@97<9
Questo schema dl rappresentazlone sl basa sul prlnclplo che un contorno dlgltale pu
essere approsslmato da un pollgono, con un grado dl accuratezza arbltrarlo. Dal punto
dl vlsta teorlco, se ll contorno e costltulto da una curva chlusa, la rappresentazlone e
esatta quando ll numero dl latl del pollgono e uguale al numero dl puntl del contorno
(ognl coppla dl puntl adlacentl deflnlsce ln questo caso un lato del pollgono) . Mentre dal
punto dl vlsta pratlco, l'oblettlvo delle approsslmazlonl pollgonall e dl rappresentare ln
modo essenzlale la forma del boundary, utlllzzando cloe pollgonl con ll mlnor numero
posslblle dl latl . Fer questa tlpologla dl schema, la rappresentazlone pl comune e
quella legata al pollgono dl mlnlmo perlmetro; l'lndlvlduazlone dl questo pollgono e
descrltta con l'esemplo successlvo, conslderando l due boundary presentl ln flgura 3.9.
09GHE7 PIVJ &N?@89; 788E;NN9@7K9;C? 8;<9C;@97<?
vedendo ll boundary come un'lnsleme dl celle concatenate(lmmaglne dl slnlstra dl flgura
3.9), ll pollgono dl mlnlmo perlmetro e quello che megllo sl adatta alla geometrla della
strlscla dl celle, appogglandosl alle paretl delle celle e ln genere seguendo ll percorso
pl breve(lmmaglne dl destra dl flgura 3.9).
lnoltre, l'approsslmazlone pollgonale dl un boundary sl pu ottenere anche appllcando
tecnlche dl merglng e dl spllttlng. La pl comune tra quelle dl merglng prevede la
fuslone dl puntl consecutlvl del boundary flnch non sl vlola un certo crlterlo dl flttlng. ln
pratlca, vlene lmpostata una retta lnlzlale e lungo dl essa vengono accumulatl l puntl del
boundary flnch un certa mlsura cumulatlva dl flttlng(per esemplo la somma delle
dlstanze del puntl flnora presl ln conslderazlone) e lnferlore ad un certa soglla
predeflnlta(puntl ln rosso ln flgura 3.10).
09GHE7 PI=Z %?BC9B7 A9 @?EG9CG
Dopodlch sl azzera l'errore, sl lmposta una nuova retta e pol sl ltera ll processo
secondo quanto soprascrltto. Alla flne delle lterazlonl, l vertlcl del pollgono
approsslmante sono costltultl dalle lntersezlonl del segmentl adlacentl(puntl verdl
presentl ln flgura 3.10). Un lnconvenlente dl questo metodo e che a seconda del valore
dl soglla sl rlschla dl non catturare ln modo accurato le lnflesslonl del boundary
orlglnale, lnducendo un certo rltardo nel camblamento dl pendenza del latl del pollgono.
lnvece, una posslblle tecnlca dl spllttlng prevede la suddlvlslone lterata dl un segmento
del boundary, flnch un certo crlterlo rlsultl soddlsfatto. Un crlterlo potrebbe essere
lmpostato alla masslma dlstanza dal segmento alla llnea conglungente l suol due
estreml, ad esemplo che non deve essere superlore ad un certa soglla preflssata.
Quando la condlzlone non e soddlsfatta, ll punto dl masslma dlstanza dlvlene un nuovo
vertlce, che scompone ll segmento lnlzlale ln due partl.
09GHE7 PI==J %?BC9B7 A9 N8<9::9CG
ln flgura 3.11, ll segmento lnlzlale(quello ln rosso) colnclde con ll dlametro prlnclpale
della forma, l puntl c e d sono l nuovl vertlcl determlnatl nel secondo passo (segmentl ln
verde), ll punto e e ll nuovo vertlce determlnato nel terzo passo (segmentl ln blu).
PIP > *?NBE9::;E9 A9 D;E@7
ln questo paragrafo vengono descrlttl, dal punto dl vlsta teorlco, tuttl l descrlttorl che
sono statl estrattl dagll algorltml lmplementatl per l'estrazlone dl features delle leslonl
cutanee; la descrlzlone dl questl algorltml e presente nel capltolo 4. l descrlttorl trattatl
ln questo paragrafo sono quelll che permettono dl rappresentare gll oggettl sla su
caratterlstlche esterne sla su caratterlstlche lnterne, per tuttl quantl fanno rlferlmento
alle proprlet geometrlche degll oggettl. l descrlttorl legatl alle proprlet del colorl
vengono descrlttl nel paragrafo successlvo.
PIPI= > !?E9@?:E;
ll perlmetro esprlme la lunghezza della curva che conglunge l puntl appartenentl al
contorno lnterno dell'oggetto. La condlzlone che dev'essere verlflcata afflnch un punto
appartlene al contorno lnterno dell'oggetto: ll punto ln esame deve appartenere
all'oggetto e almeno uno del suol vlclnl deve appartenere allo sfondo. Slccome eslstono
due posslblll deflnlzlonl dl connesslone(4-conness|one C
4
, 8-conness|one C
8
) dl
conseguenza cl saranno due posslblll deflnlzlone dl contorno. lndlcando con p un punto
delloggetto conslderato e con q ll generlco punto dello sfondo:
a) p C
4
se q n
4
(p)
b) p C
8
se q n
8
(p)
una posslblle mlsura del contorno e data dal sempllce contegglo del plxel appartenentl
ad esso, per cul ln accordo alle due tlpologle dl connesslone sl ha:
L'lnconvenlente nel calcolare ll perlmetro conslderando l plxels appartenentl al contorno
lnterno e dovuto al fatto che F
8
e F
4
assumono valorl dlversl.
09GHE7 PI=LJ *9DD?E?CK7 C?< B7<B;<; A?< 8?E9@?:E; :E7 !
U
? !
Q
I
Dalla flgura 3.12 sl evlnce che rlspetto alla lunghezza effettlva, F
8
porta ad una
sottostlma mentre F
4
ad una sovrastlma. Una stlma mlgllore del perlmetro effettlvo la sl
ottlene conslderando ll valor medlo (F ) tra F
8
e F
4
.
Un altro problema che vlene preso ln conslderazlone nel calcolo del perlmetro e legato
al fatto che ll plxel rappresenta l'unlt elementare dell'area (un quadrato dl area
unltarla), questo lmpllca che ll contorno dl un oggetto pu attraversare l plxel ln dlversl
modl, come lllustrato ln flgura 3.13.
09GHE7 PI=PJ *9O?EN? @;A7<9:a A9 7::E7O?EN7@?C:; A?9 89b?<N
Qulndl, utlllzzando F
8
e posslblle deflnlre un verso dl percorrenza del contorno e
sommare 1 se lo spostamento fra due plxel successlvl e orlzzontale o vertlcale,
sommare 2 se e dlagonale:
PIPIL > ,E?7 ? +7E9B?C:E;
ll calcolo dl questl due fattorl e, per entrambl, abbastanza sempllce.
ll calcolo dell'area consta nel contare l plxel appartenentl all'oggetto, la cul formula e
data da:
Nel calcolo del barlcentro, 8(|
b
, j
b
/, sl fa l'assunzlone che tuttl l puntl dell'oggetto abblano
massa unltarla:
PIPIP > ';@87::?KK7
Mentre l descrlttorl sopra-descrlttl non sono costantl al varlare del fattore dl scala
dell'lmmaglne, la compattezza, lnvece, e un fattore dl forma lnvarlante rlspetto a
varlazlonl dl scala. Questo slcuramente vale dal punto dl vlsta teorlco, per questa
proprlet e comunque verlflcata ln pratlca(nel dlscreto), anche se e opportuno preclsare
che e estremamente dlfflclle deflnlre la forma dl flgure dlgltall molto plccole. La
compattezza, detta anche Form Factor, e deflnlta dalla seguente formula:
dove / e rappresentano rlspettlvamente l'area ed ll perlmetro dell'oggetto. La flgura
pl compatta e ll cerchlo, per ll quale C e masslma(C = 1). l valorl dl compattezza dl
alcune flgure geometrlche comunl:
" cerchlo, C = 1;
" quadrato, C = 0.T854
" trlangolo lsoscele, C = 0.539
PIPIQ > -?::7CG;<; A9 F;HCA9CG
ll rettangolo dl boundlng e ll mlnlmo rettangolo che racchlude l'oggetto(Mlnlmum
Encloslng Rectangle). Esso e molto lmportante perch permette sla dl calcolare altrl
fattorl dl forma sla dl effettuare dlverse operazlonl sull'oggetto come lo spllt ln sotto-
aree, la rotazlone dell'lmmaglne ecc. Ad esemplo, queste ultlme operazlonl sono state
adottate ln alcunl algorltml progettatl per l'estrazlone delle features del
melanoma(descrlttl nel capltolo 4).
Un prlmo fattore dl forma derlvablle dal rettangolo dl boundlng e la rettangolarlt, la cul
formula:
dove / rappresenta l'area dell'oggetto, mentre /
HER
: l'area del rettangolo mlnlmo che
racchlude l'oggetto. R tender ad 1 se l'oggetto e rettangolare.
09GHE7 PI=QJ &N?@89; E?::7CG;<; 1&-[19C9@H@ &CB<;N9CG -?B:7CG<?]
Dalle formule successlve sl evlnce la sempllclt con cul e posslblle calcolare /
HER
:
|
m|n
: m|n {|} (|, j/ C R, |
max
: max {|} (|, j/ C R
j
m|n
: m|n {j} (|, j/ C R, j
max
: max {j} (|, j/ C R
/
HER
= (j
max
- j
m|n
/ (|
max
- |
m|n
/
ll problema della rettangolarlt appena deflnlta e che essa non e lndlpendente dalla
rotazlone, per ottenere una rettangolarlt lndlpendente dalla rotazlone e necessarlo
utlllzzare un rettangolo mlnlmo orlentato come l'oggetto; afflnch sla posslblle
effettuare questo e necessarlo determlnare l'orlentamento dell'oggetto.
09GHE7 PI=RJ &N?@89; A9 E?::7CG;<; C;C ;E9?C:7:; B;C <5;GG?::;
Supponendo dl avere un oggetto dl forma allungata, e lntultlvo assumere che
l'orlentamento dell'oggetto sla dato dalla dlrezlone lungo la quale esso rlsulta allungato.
Questa dlrezlone e deflnlta tramlte l'asse barlcentrlco rlspetto al quale l'oggetto ha
momento dl lnerzla mlnlmo. L'asse barlcentrlco prende ll nome dl asse magglore
dell'oggetto.
09GHE7 PI=SJ &N?@89; ;GG?::9 ? E9N8?::9O9 7NN9 @7GG9;E9
Determlnato l'asse magglore, l'orlentamento delloggetto vlene espresso tlplcamente
tramlte langolo fra lasse magglore ed ll verso posltlvo dellasse orlzzontale (asse |).
Una volta noto l'asse magglore, e posslblle determlnare ll MER orlentato come l'oggetto;
ln partlcolare determlnando prlma lasse barlcentrlco normale allasse magglore (che
prende ll nome dl asse mlnore delloggetto) e pol l puntl sltuatl a dlstanza masslma dal
due assl. Successlvamente vengono descrlttl, ln manlera dettagllata, gll steps che
permettono dl determlnare l vertlcl del rettangolo MER orlentato.
Determ|naz|one asse magg|ore
L'asse magglore pu essere ottenuto, con una buona approsslmazlone, valutando ll
momento dlnerzla delloggetto rlspetto alle rette passantl per ll barlcentro ed l puntl del
contorno e scegllendo la retta rlspetto alla quale ll momento e mlnlmo.
Datl
J
(x
J
, y
J
/ e
2
(x
2
, y
2
/, la retta per
J
e
2
pu essere espressa nella forma:
r
J 2
: ax + by + c = 0, a = y
2
- y
J
, b = x
J
- x
2
, c = x
2
y
J
- x
J
y
2
Qulndl la retta delllmmaglne passante per ll barlcentro 8(|
b
, j
b
/ e per un punto C(|
c
, j
c
/
appartenente al contorno pu essere espressa come ( x |, y j ) :
r
8C
: a| + bj + c = 0, a = j
c
- j
b
, b = |
b
- |
c
, c = |
c
j
b
- |
b
j
c
A questo punto e posslblle calcolare ll momento d'lnerzla, assumendo massa unltarla
come per ll barlcentro, rlspetto alla retta r
8C
:
dove d
2
p
lndlca ll quadrato della dlstanza dalla retta r
8C
del punto (|, j/ appartenente
all'oggetto:
La retta r
8C
e / vengono calcolatl per ognl punto C appartenentl al contorno, alla flne sl
sceglle come asse magglore la retta r
8C
per la quale / e mlnlmo.
Quanto appena descrltto e soltanto uno del varl modl per calcolare l'asse magglore.
Determ|naz|one asse m|nore
Se C(l
c
, |
c
) e ll punto del contorno che deflnlsce lasse magglore, lasse mlnore (retta
normale allasse magglore e passante per ll barlcentro) avr equazlone:
asse mlnore: a' l + b' | + c' = 0, a' = b, b '= a, c' = a|
b
bl
b
unt| a d|stanza mass|ma tra | due ass|
Una volta determlnatl l due assl e necessarlo determlnare l due puntl del contorno
sltuatl a dlstanza masslma dallasse magglore su latl oppostl (C
1
, C
2
) ed l due puntl del
contorno sltuatl a dlstanza masslma dallasse mlnore su latl oppostl (C
3
, C
4
) .
09GHE7 PI=TJ *9N8;N9K9;C? A?9 8HC:9 7 A9N:7CK7 @7NN9@7 :E7 9 AH? 7NN9
Fer dlscrlmlnare l puntl dl contorno sltuatl su latl oppostl degll assl, sl consldera la
relazlone che fornlsce la dlstanza dl un punto da una retta:
09GHE7 PI=VJ -?<7K9;C9 A9N:7CK?
ll modulo dell'espresslone:
colnclde con d

mentre ll segno consente dl dlscrlmlnare fra puntl sltuatl su latl oppostl


rlspetto alla retta. Dl segulto vlene rlportato un algorltmo che consente dl determlnare
C
1
, C
2
, C
3
, C
4
lmponendo che C
1
e C
3
slano l puntl a dlstanza masslma dagll assl
(magglore e mlnore) per l quall ll segno e negatlvo e C
2
e C
4
slano l puntl a dlstanza
masslma per l quall ll segno e posltlvo.
Determ|naz|one de| vert|c|
Crazle al calcoll, effettuatl nello step precedente, dl C
1
(l
1
, |
1
), C
2
(l
2
, |
2
), C
3
(l
3
, |
3
), C
4
(l
4
, |
4
) l
vertlcl del MER possono essere ottenutl medlante llntersezlone delle parallele allasse
magglore passatl per C
1
e C
2
(rette l
1
, l
2
) con le parallele allasse mlnore passantl per C
3
e C
4
(rette w
1
e w
2
).
09GHE7 PILZJ *9N8;N9K9;C? A?9 O?E:9B9
Dl segulto vengono rlportatl l dlversl calcoll che permettono dl determlnare le coordlnate
del quattro vertlcl del rettangolo MER orlentato con l'oggetto.
Equazlonl dl l
1
, l
2
, w
1
, w
2
:
vertlcl: v
1
(l
v1
, |
v1
), v
2
(l
v2
, |
v2
), v
3
(l
v3
, |
v3
), v
4
(l
v4
, |
v4
)
Calcolatl l vertlcl del rettangolo MER orlentato come l'oggetto, e posslblle calcolare la
lunghezza L e la larghezza W. La lunghezza colnclde con l'estenslone masslma
dell'oggetto nella dlrezlone dell'asse magglore:
mentre W rappresenta l'estenslone masslma dell'oggetto nella dlrezlone dell'asse
mlnore:
ln questo modo e posslblle calcolare la rettangolarlt rlspetto al rettangolo MER
orlentato con l'oggetto, lnfattl la formula e data da:
R = / / /w
Oltre alla rettangolarlt e posslblle rlcavare un altro fattore dl forma: l'eccentrlclt, esso
fornlsce una mlsura dl quanto l'oggetto e allungato. La formula e data da:
E = / / w
PIPIR > *?NBE9::;E9 A9 0;HE9?E
l descrlttorl dl Fourler sl basano sull'ldea che un contorno pu essere rappresentato
anche come una sequenza dl numerl complessl; ln questo modo vengono sfruttate
alcune proprlet della trasformata dl Fourler (rotazlone, traslazlone, camblamento dl
scala) che sono lmportantl per un descrlttore.
Fer anallzzare l descrlttorl dl Fourler, sl consldera un contorno dl un oggetto costltulto da
K puntl, nel plano xy.
09GHE7 PIL= ';@8;N9K9;C? A?9 CH@?E9 B;@8<?NN9 7 87E:9E? A7< F;HCA7E\
A partlre da un punto arbltrarlo, per esemplo (x
0
, y
0
/, supponendo dl percorrere ll
contorno ln senso antlorarlo , sl esprlmano le coordlnate del K puntl nella forma
x(k/ = x
k
e y(k/ = y
k
. Cos ll boundary pu essere rappresentato dalla sequenza dl
coordlnate:
s(k / = jx(k /, y (k /], per k = 0,J,2, ...K - J
ed lnoltre ognuno dl esso, s(k /, pu essere conslderato come un numero complesso:
s(k / = x(k / + jy(k /
ln questa manlera l'asse x vlene trattato come asse reale mentre l'asse y come asse
lmmaglnarlo. Sl deflnlscono descrlttorl dl Fourler del contorno, l coefflclentl a(u/ ottenutl
appllcando la DFT(Trasformata dl Fourler Dlscreta) ad ognl slngolo s(k/:
lnvece, la formula dell'antl-trasformata per rlprlstlnare ll contorno s(k/:
Molto spesso, a seconda delle appllcazlonl, nella rlcostruzlone del boundary sl utlllzzano
soltanto l prlml coefflclentl dl Fourler, che equlvale a porre a(u/ = 0 per u > -J
nell'equazlone precedente. Questo lmpllca una rlcostruzlone approsslmata dl s(k/:
ll fatto dl conslderare per la rlcostruzlone un numero lnferlore dl coefflclentl, non lmpllca
una varlazlone del numero dl puntl che costltulscono ll boundary, essl sono sempre K
puntl. lnvece ll valore dl lnfluenza quello che e ll llvello dl dettagllo nella
rappresentazlone del contorno: sono sufflclentl pochl coefflclentl dl ordlne basso (basse
frequenze) per deflnlre landamento generale della forma del boundary, ne occorrono
moltl dl ordlne elevato (alte frequenze) per catturare l dettagll (vertlcl, latl rettlllnel,
etc) . L'effetto dl questo concetto lo sl nota facllmente ln flgura 3.22.

09GHE7 PILLJ &N?@89; E9B;N:EHK9;C? F;HCA7E\ :E7@9:? 9 A?NBE9::;E9 A9 0;HE9?E
Sulla base dl queste conslderazlonl e lntultlvo pensare come un numero plccolo dl
descrlttorl dl Fourler dl bassa frequenza pu essere usato per dlscrlmlnare tra boundary
dl forme dlfferentl. ll grande vantagglo delle proprlet della DFT conslste nella posslblllt
dl predlre quall slano gll effettl sul descrlttorl dl Fourler dl traslazlonl, rotazlonl e
varlazlone dl scala. Tall proprlet sono state rlportate ln flgura 3.23.
09GHE7 PILPJ !E;8E9?:a A?<<7 :E7ND;E@7:7 A9 0;HE9?E
Molto spesso sl usa caratterlzzare ll boundary dl un oggetto attraverso funzlonl
rappresentatlve del coefflclentl dl Fourler, ad esemplo: spettro dl energla, medla delle
amplezze ecc.
C3F 4 I;M>7855678 :;< >6<67;
Nonostante ll colore, nella magglor parte del casl, non e molto determlnate nelle fasl dl
pre-processlng e segmentazlone, ha lnvece molta lmportanza quando sl devono
caratterlzzare degll oggettl per cul ll colore e una delle componentl dlscrlmlnantl.
Comunemente le lnformazlonl del colore dl un'lmmaglne sono rappresentate nelle 3
componentl fondamentall RCB(Read, Creen, Blue). Ma le componentl RCB non sono
l'unlca rappresentazlone del colore, cl sono dlversl modelll ll cul mlnlmo comune
denomlnatore e quello dl separare la componente dl lntenslt(lumlnanza) rlspetto a
quelle dl cromlnanza:
" HSl: tlnta, saturazlone, lntenslt;
" HSv(o HSB): tlnta, saturazlone, valore(brlghtness);
" HLS: tlnta, lumlnanza, saturazlone;
" HCl: tlnta, croma, lntenslt.
Questl ultlml modelll dl rappresentazlone del colore, sono spesso utlllzzatl per
elaborazlonl dl mlglloramento della quallt delle lmmaglnl.
A presclndere dal modello dl rappresentazlone, l descrlttorl del colore sono solltamente
espressl attraverso degll lndlcl statlstlcl calcolatl sulle dlverse componentl che
costltulscono ll modello del colore. Dl segulto vengono elencatl l prlnclpall lndlcatorl
statlstlcl appllcablll ad ognl slngola componente:
" medla;
" varlanza,
" medlano;
" masslmo;
" mlnlmo;
Ad esemplo, nel caso dl un' lmmaglne con rappresentazlone RCB, sl avr la medla delle
componentl Red, la medla delle componentl Creen e la medla delle componentl Blue;
questo sl rlpercuote per tuttl gll altrl lndlcl statlstlcl.
'789:;<; Q> !E;G?::7K9;C? 7<G;E9:@9
A9 9CA9O9AH7K9;C? ? B7E7::?E9KK7K9;C?
A?< @?<7C;@7
ln questo capltolo vlene descrltta la progettazlone del dlversl algorltml utlllzzatl sla per
la segmentazlone della leslone sla per l'estrapolazlone del descrlttorl della stessa. Cll
stessl algorltml sono statl pol lntegratl nell'appllcazlone moblle flnale.
F32 4 />;<5; J76N;55L9<8
Fer veloclzzare l'lmplementazlone dl alcune funzlonallt degll algorltml dl lmage
processlng e stata utlllzzata come llbrerla dl Computer vlslon la llbrerla OpenCv(Open
Source Computer vlslon), essa e una llbrerla open source scrltta ln C e C++. Tale scelta
e legata alla compatlblllt delle sue caratterlstlche con l'oblettlvo del progetto oggetto
dl questa tesl. Dl segulto sono elencatl l prlnclpall puntl dl forza della llbrerla, a
presclndere dal vantaggl che essa ha lndotto nella progettazlone del lavoro dl tesl:
! ll suo essere open source garantlsce slcurezza al codlce e la posslblllt dl
apportare modlflche, asslcurandone cos una contlnua evoluzlone;
! le lnnumerevoll funzlonl messe a dlsposlzlone;
! la llcenza dl dlstrlbuzlone e prlva dl royalty e cl consente ll suo utlllzzo anche ln
prodottl commerclall a condlzlone dl mantenere le note dl copyrlght ;
! la completa portablllt della llbrerla, essa e dlsponlblle per l seguentl slsteml:
Llnux, BSD, Unlx, MacOSX e MS-Wlndows; lnoltre essa e dlsponlblle anche per
slsteml moblle come Androld e lFhone.
La metodologla pl comune per poter utlllzzare OpenCv su Androld e quello dl utlllzzare
delle llbrerle |ava che altro non sono, se non delle AFl al metodl scrlttl ln C++, che tra
l'altro e ll llnguagglo natlvo del slstema operatlvo moblle. Su Androld, oltre a poter
lmplementare del metodl |ava che rlchlamano delle funzlonl OpenCv, e anche posslblle
lmplementare gll algorltml dl lmage processlng, che rlchlamano funzlonl OpenCv, anche
utlllzzando del codlce natlvo C o C++. Tutto questo grazle al fatto che la comunlt dl
Coogle permette dl programmare del codlcl ln llnguagglo natlvo lntegrablll ln codlce
|ava che costltulsce sempre lo scheletro base dl ognl App ln esecuzlone sul slstema
Androld(questo aspetto vlene approfondlto nel capltolo successlvo).
Fer non perdere ll vantagglo della portablllt dl un'appllcazlone Androld sul dlversl
dlsposltlvl hardware, tranne ln casl partlcolarl, quando sl lmplementano algorltml ex
novo e sempre conslgllato utlllzzare soltanto del codlce |ava sfruttando le AFl messe a
dlsposlzlone da OpenCv. Le motlvazlonl prlnclpall per le quall rlsulterebbe pl
vantaggloso rlchlamare funzlone OpenCv da codlce natlvo sono:
! con ll codlce natlvo e posslblle accedere a tutte le funzlonl, lnvece le AFl non sono
presentl per le funzlonl meno utlllzzate;
! la posslblllt dl rlchlamare ln un'appllcazlone Androld degll algorltml, scrlttl ln C o
C++, utlllzzatl ln altrl progettl che addlrlttura vengono utlllzzate su plattaforme
NON moblle.
L' lmplementazlone degll algorltml dl lmage processlng e stata fatta utlllzzando codlce
C++, per le motlvazlonl non rlentrano nel due puntl sopra-descrlttl sla perch le
funzlonallt rlchleste da questl algorltml sono soddlsfatte dalle AFl |ava OpenCv sla
perch e stato scrltto del codlce ex novo. Le raglonl prlnclpall che hanno portato a
scrlvere gll algorltml dl lmage processlng ln C++, per Androld, e dovuta alle seguentl
motlvazlonl:
! posslblllt dl lmplementare e ottlmlzzare tall algorltml ln amblente desktop senza
la necesslt dl dover ognl volta, durante la fase dl svlluppo, esegulre gll algorltml
sullo smartphone, ma essl verrebbero trasferltl sul devlce soltanto a flne svlluppo
o al masslmo per test lntermedl;
! ln questa manlera e garantlta la modularlt della loglca dell'appllcazlone, nel
senso che, per eventuall svlluppl futurl, chl vorr ottlmlzzare o lntegrare gll
algorltml dl lmage processlng potr concentrarsl soltanto su essl senza
necessarlamente avere una conoscenza della programmazlone Androld e
vlceversa per l'ottlmlzzazlone della programmazlone sullo smartphone;
! vlene ancora mantenuta la completa portablllt del codlce che utlllzza OpenCv,
gll stessl algorltml potrebbero essere utlllzzatl sla su workstatlon dlverse come
Unlx-llke, Wlndows ecc. ma anche su smartphone dlfferentl che supportano
OpenCv, ad esemplo lFhone.
Questl algorltml dl lmage processlng, sono statl svlluppatl su un slstema con
dlstrlbuzlone CNU-Llnux: Ubuntu 11.04, con l'utlllzzo dell'amblente dl svlluppo open
source: l'lDE Ecllpse Callleo (lo stesso lDE e stato utlllzzato per lo svlluppo dell'lntera
plattaforma moblle).
Nel paragrafl successlvl segue una descrlzlone dl quelll che sono gll algorltml
lmplementatl per la segmentazlone e degll algorltml adlbltl all'estrazlone del descrlttorl.
lnoltre, ln tuttl gll algorltml progettatl, grazle all'utlllzzo del llnguagglo C++ , vlene fatto
largo uso dl puntatorl a memorla, asslcurando cos una buona gestlone della stessa. La
corretta gestlone della memorla e stata una delle prlorlt della progettazlone, ln llnea al
fatto che tall algorltml devono essere esegultl su dlsposltlvl moblle che per quanto
prestantl hanno pur sempre una memorla llmltata rlspetto agll attuall computer.
F3@ 4 %<N6785=8 :8 M;N=;?59K86?; :;<<9 MQ8? <;M86?
ln questo paragrafo e descrltta la sequenza degll algorltml dl lmage processlng,
standard e customlzzatl, che hanno permesso dl lsolare la reglone dell'lmmaglne
lnteressata dalla leslone. Sostanzlalmente le tlpologle dl algorltml utlllzzatl
appartengono alle seguentl classl:
" algorltml dl segmentazlone;
" operatorl morfologlcl;
" operatorl per l'attenuazlone del rumore;
" algorltml dl edge-detectlon.
Allo stato attuale, soprattutto per una questlone dl dlsponlblllt delle lmmaglnl, tuttl gll
algorltml sono statl progettatl per scenarl ln cul la magglor parte della leslone (tranne
alcune plccolo sotto-reglonl) ha del colorl che rlsultano essere pl scurl rlspetto al colore
della pelle (questa cosa e evldente se sl osservano le slngole lmmaglnl ln scala dl grlgl).
Questo e anche ln llnea al fatto che ll melanoma a dlffuslone superflclale sl svlluppa
nella magglor parte del casl su pelll dl colore chlara.
09GHE7 QI=J $@@7G9C? E788E?N?C:7:9O7 A9 HC @?<7C;@7 9C B;@8;C?C:9 -2+
Sl e rltenuto, perlomeno sulla base del test effettuatl per questo progetto, dl utlllzzare
come algorltml dl segmentazlone soltanto quelll che sl basano sulla sogllatura (ln
partlcolare una comblnazlone dl essl), essenzlalmente per due raglonl:
! algorltml dl segmentazlone pl robustl sono solltamente dl tlpo lteratlvo, qulndl
rlchlederebbero pl costo computazlonale e questo potrebbe dlventare un llmlte
se sl pensa al fatto che tall algorltml dovrebbero essere esegultl su dlsposltlvl
moblle;
! per quanto le leslonl cutanee non hanno un mlnlmo dl regolarlt e unlformlt sla
a llvello morfologlco sla a llvello cromatlco, tutto sommato le scene da processare
non rlsultano essere molto compllcate ln quanto sl ha un oggetto(la leslone) su
uno sfondo (la pelle) che nella magglor parte del casl e dlstlngulblle, nonostante
quest'ultlmo non ha un'unlformlt (bastl pensare al rumore lntrodotto
dall'eventuale pelurla).
La sequenza dl tall algorltml e stata appllcata a partlre dall'lmmaglne ln scala dl grlgl ed
una volta determlnato l'edge della leslone sl e rltornatl sull'lmmaglne a componentl RCB
polch, come speclflcato nel capltoll precedentl, e molto utlle l'lnformazlone del colore
per la dlagnosl del melanoma.
09GHE7 QILJ $@@7G9C? E788E?N?C:7:9O7 A9 HC @?<7C;@7 9C NB7<7 A9 GE9G9;
Nel sotto-paragrafl successlvl e rlportata la descrlzlone della sequenza dl operazlonl che
permettono dl lndlvlduare l'edge della leslone che vlene successlvamente marcato
sull'lmmaglne dl partenza a componentl RCB.
QILI= > .;G<97:HE7 A9C7@9B7
Fer quanto ll background dell'lmmaglne, nella magglor parte del casl, ha
complesslvamente una tonallt dl grlglo pl chlara rlspetto alla leslone, non e posslblle
sapere a prlorl qual'e la soglla dl cut-off che permette dl sclndere la zona della leslone
dal resto dello sfondo. Tutto questo perch sl e voluto gestlre lmmaglnl acqulslte con
dlfferentl condlzlonl dl lllumlnazlone, raglon per cul e stato necessarlo lmplementare un
algorltmo che fosse ln grado dl determlnare una soglla dlnamlca per ognl slngola
lmmaglne.
Allo stesso tempo, le scene contenentl l melanoml non hanno una sempllclt tale da
poter effettuare la segmentazlone con una sola operazlone dl sogllatura, per vla del
fatto che nella stragrande maggloranza del casl lo sfondo non e mal unlforme ma affetto
da rumore. lnfattl, questo algorltmo e un prlmo step dl sogllatura ll cul oblettlvo e stato
quello dl rlusclre a rendere quanto pl unlforme posslblle lo sfondo, facendo saturare
tuttl l plxel appartenentl ad esso ad una tonallt dl grlglo che veroslmllmente dovrebbe
essere pl chlara rlspetto alle tonallt della magglor parte del plxels facentl parte della
leslone cutanea.
La loglca alla base dl questo algorltmo e legata alla seguente osservazlone lntultlva: la
magglor parte del plxels costltuentl l'lmmaglne appartengono allo sfondo, qulndl alla
pelle e dl conseguenza questo slgnlflca che l'lmmaglne sar costltulta magglormente da
plxels dl tonallt pl chlara rlspetto a quelll della leslone cutanea. Tecnlcamente
slgnlflca che anallzzando l'lstogramma dell'lmmaglne ln scala dl grlgl, esso avr un
masslmo globale le cul reglonl clrcostantl (costltuentl l'lntorno destro e slnlstro)
corrlsponderanno al plxels dello sfondo.
09GHE7 QIPJ $N:;GE7@@7 A?<<59@@7G9C? QIL
ln agglunta, ll masslmo globale tender ed essere locallzzato verso la parte destra
dell'asclssa dell'lstogramma ossla verso le tonallt pl chlare (la masslma tonallt e 255
corrlspondente al blanco), trattandosl dl plxels della pelle non lnteressata dalla leslone.
L'algorltmo consldera come soglla ldeale quella data dal valore medlo tra le lntenslt dl
grlglo appartenentl al seguentl due puntl:
1. ll masslmo globale dell'lstogramma;
2. punto ln cul termlna una reglone plana ed lnlzla una pendenza posltlva, ossla la
pendenza orlentata verso ll prlmo max locale.
09GHE7 QIQJ .;G<97 A?:?E@9C7:7 A7<<57<G;E9:@;
ln flgura 4.4 l'asclssa dell'lstogramma ln corrlspondenza del punto dl varlazlone del
colore, da rosso a verde, rappresenta ll valore dl soglla dlnamlca determlnata
dall'algorltmo per l'lmmaglne presente ln flgura 4.2.
L'lmmaglne successlva della flgura successlva , 4.5, rappresenta ll rlsultato della
sogllatura sull'lmmaglne 4.2, appllcando la soglla dlnamlca determlnata dall'algorltmo.
09GHE7 QIRJ -9NH<:7:; A?<<5788<9B7K9;C? A?<<7 N;G<97 A9C7@9B7
Come sl nota dalla flgura 4.5, tuttl l plxels aventl tonallt superlore alla soglla
determlnata dall'algorltmo vengono saturatl al valore della stessa soglla; questo
permette dl ottenere un'lmmaglne con uno sfondo molto pl unlforme dell'lmmaglne dl
partenza (rappresentata ln flgura 4.2).
QILIL > .;G<97:HE7 :E7@9:? 9< @?:;A; A9 ":NH
A partlre dal rlsultato dell'algorltmo precedente, ll passo successlvo e stato quello dl
effettuare un ulterlore llvello dl sogllatura con l'oblettlvo dl ottenere una separazlone
netta tra l plxels rltenutl appartenentl alla leslone ed l plxels appartenentl allo sfondo; ln
altre parole ln questo step sl ha la blnarlzzazlone dell' lmmaglne ln cul l plxels blanchl
sono classlflcatl come appartenentl allo sfondo mentre quelll nerl appartenentl alla
leslone.
Fer poter effettuare quest'operazlone e stato utlllzzato l'algorltmo dl Otsu. ll metodo dl
Otsu, come speclflcato nel capltolo precedente, e un metodo dl sogllatura automatlca,
abbastanza consolldato, ll quale presume che nell'lmmaglne da sogllare slano presentl
soltanto due classl. La soglla ottlma che permette dl separare le due classl, e calcolata
mlnlmlzzando la varlanza lntra-classe. La flgura 4.5 rappresenta ll rlsultato
dell'appllcazlone del metodo dl Otsu all'lmmaglne rappresentata ln flgura 4.5.
09GHE7 QISJ -9NH<:7:; A?< @?:;A; A9 ":NH
Dal test effettuatl sulle dlverse lmmaglnl, e emerso l'lmportanza del metodo dl Otsu
soltanto dopo aver appllcato l'algorltmo descrltto nel sotto-paragrafo precedente; se sl
appllcasse ll metodo dl Otsu dlrettamente sull'lmmaglne orlglnale, ln scala dl grlglo, sl
otterrebbero delle lmmaglnl blnarle molto pl rumorose, tanto da compromettere gll
steps dl processlng successlvl.
Fartendo dal rlsultato dl questo algorltmo, l prosslml steps, che precedono l'appllcazlone
dell'algorltmo dl edge detectlon, sono statl lmplementatl con l'oblettlvo dl rlusclre a
pullre completamente lo sfondo(facendo dlventare dl color blanco l puntl nerl sporadlcl
non appartenentl alla leslone) e allo stesso tempo fare ln modo che la porzlone
contenente la leslone dlventl una reglone contlnua(ossla facendo dlventare dl color nero
l puntl blanchl presentl nella reglone della leslone).
QILIP > '<?7C9CG A?<<? K;C? 8?E9D?E9BM?
L'oblettlvo dl quest'algorltmo e quello dl rlusclre a rldurre, se non ad ellmlnare, la
denslt dl rumore presente nelle zone perlferlche della scena, lntorno alla leslone.
Questa operazlone vlene effettuata presupponendo che almeno una porzlone
dell'oggetto da segmentare (la leslone cutanea) sl trovl ln una zona pl o meno centrale
dell'lmmaglne. Questa e un'lpotesl del tutto plauslblle grazle alla modallt dl
acqulslzlone fornlta dall'appllcazlone moblle lmplementata, tale dlscorso vlene
approfondlto nel capltolo 5.
L'operazlone centrale dl quest'algorltmo consta nel determlnare le quattro coordlnate
spazlall del due vertlcl, superlore ed lnferlore, rappresentatl un rettangolo orlato al cul
lnterno e presente la leslone. Determlnato tale rettangolo, l'operazlone vera e proprla dl
cleanlng conslste nel far saturare, all'lntenslt del blanco, tuttl l plxels al dl fuorl dl
esso.
Dl segulto e rlportata la sequenza dl macro-operazlonl che permettono dl determlnare le
quattro coordlnate.
1. Calcolo delle coordlnate del centro dell'lmmaglne: (C
x
, C
y
) .
2. Utlllzzando una flnestra dl dlmenslone 9x9 vengono conslderatl l plxels (C
x+|
, C
y
)
slno a quando non se ne trova uno la cul corrlspondente flnestra, centrata ln
esso, contlene tuttl l valorl parl a 255(lntenslt del blanco). L'ordlnata dell'ultlmo
plxel conslderato, contrlbulsce a determlnare l'ordlnata del vertlce lnferlore del
rettangolo; ln partlcolare, l'ordlnata flnale e ottenuta sommando all'ordlnata del
plxel un valore . Quest'ultlmo e ottenuto dlvldendo per un fattore a(1) la
dlstanza tra l'ordlnata del plxel trovata e la larghezza dell'lmmaglne.
3. Con la stessa loglca del punto precedente, l'ordlnata del vertlce superlore del
rettangolo vlene determlnata attraverso lo spostamento sul plxels: (C
x-|
, C
y
/;
l'altra dlfferenza e che ll valore e ottenuto andando a dlvldere per a ll valore
stesso dell'ordlnata determlnata (essa ln questo caso rappresenta la dlstanza tra
ll rettangolo e ll marglne slnlstro dell'lmmaglne).
4. Con una loglca slmlle al puntl precedentl vlene determlnata l'asclssa del vertlce
superlore del rettangolo. La prlma dlfferenza e che lo spostamento avvlene su
plxels: (C
x
, C
y-|
). Determlnata l'asclssa, ad essa e sommato un valore X, ottenuto
dlvldendo per lo stesso fattore a ll valore dell'asclssa stessa.
5. Slmllmente al punto 4, l'asclssa del vertlce lnferlore del rettangolo vlene
determlnata attraverso lo spostamento sul plxels: (C
x
, C
y+l
), mentre ll valore X e
ottenuto dlvldendo per a la dlstanza tra l'asclssa determlnata e l'altezza
dell'lmmaglne.
Cl che permette dl determlnare un orlato del rettangolo, che veroslmllmente debba
contenere la leslone cutanea, e dovuto proprlo al fattorl X e . L'lmportanza dl
conslderare l'orlato verrebbe lmmedlatamente compresa dalla presenza dl una
sltuazlone slmlle a quanto rappresentato ln flgura 4.T.
09GHE7 QITJ #?N9;C? E788E?N?C:7:9O7 A?<<59@8;E:7CK7 A?< E?::7CG;<; ;E<7:;
Supponendo che ll plxel rappresentante l'asclssa del vertlce lnferlore del rettangolo
abbla la stessa ordlnata del plxel corrlspondente alla croce rossa, quello che accadrebbe
e che alla flne la porzlone destra della leslone (cloe quel plxels le cul asclsse sono
magglorl dl quella corrlspondente alla croce rossa) verrebbe tagllata fuorl dal rettangolo.
Mentre, conslderando un orlato del rettangolo sl rlesce a preservare l'lntera leslone.
Ovvlamente ln sltuazlonl molto partlcolarl potrebbe accadere che l valorl dl X e non
sono sufflclentl a determlnare un rettangolo contenente l'lntera flgura; un'ulterlore
ottlmlzzazlone sarebbe quella dl far s che l'algorltmo, ln ognuno del quattro steps per la
determlnazlone delle coordlnate, effettul un partlcolare controllo una volta determlnata
l'asclssa o l'ordlnata dell'orlato. L'asclssa o l'ordlnata e rltenuta vallda soltanto se non vl
e una denslt conslderevole dl plxels nerl contlgul, lungo la retta perpendlcolare alla
dlrezlone dl spostamento (destra, slnlstra, sopra, sotto); ln caso contrarlo l'algorltmo
dovrebbe contlnuare lo spostamento corrente slno a quando tale condlzlone non e
soddlsfatta o slno al ragglunglmento del llmlte spazlale consentlto dall'lmmaglne.
La flgura 4.8 rappresenta ll rlsultato dell'appllcazlone dell'algorltmo all'lmmaglne
rappresentata ln flgura 4.5.
09GHE7 QIUJ -9NH<:7:; A?<<5788<9B7K9;C? A?<<57<G;E9:@; A9 B<?7C9CG
Fer l'lmmaglne ln esame, questa operazlone sarebbe rldondante polch gll operatorl
descrlttl nel paragrafl successlvl sono ln grado dl effettuare ll cleanlng completo delle
zone perlferlche, per rlsulta essere estremamente lmportante per lmmaglnl slmlle a
quella presente ln flgura 4.9 (lmmaglne dl destra):
09GHE7 QIVJ -9NH<:7:; A9 ":NH A9 HC 9@@7G9C? 7DD?::7 A7 ;@FE? ? E9N8?::9O; E9NH<:7:; A?<
B<?7C9CG
QILIQ > &E;N9;C?
A prlmo acchlto, anallzzando la flgura 4.8, la cosa pl sempllce che verrebbe da fare per
pullre ulterlormente lo sfondo sarebbe quello dl appllcare un flltro medlano. lnvece,
questa operazlone e stata effettuata come ultlma, prlma dell'appllcazlone dell'algorltmo
dl edge detectlon, perch ll flltro medlano permetterebbe dl pullre completamente lo
sfondo ma allo stesso tempo andrebbe ln contrasto con l'altro oblettlvo, ossla quello dl
avere la reglone della leslone come una reglone completamente chlusa. lnfattl, per la
partlcolare lmmaglne ln questlone, se sl appllcasse ll flltro medlano, oltre ad avere una
pullzla dello sfondo sl avrebbe un aumento del buchl blanchl ln corrlspondenza della
zona della leslone. Tale sltuazlone e stata osservata per tutte le lmmaglnl prese ln
esame per ll lavoro dl questa tesl.
ln base alle conslderazlonl appena descrltte, la mlgllore operazlone verlflcatosl efflcacle
dopo l'operazlone dl cleanlnlg e stata l'appllcazlone dell'operazlone morfologlca dl
eroslone. Questa operazlone, effettuata su lmmaglnl a sfondo blanco e oggettl nerl, ha
sostanzlalmente lo scopo dl chludere plccole zone blanche (conslderatl come buchl)
clrcondate da plxels nerl. L'eslto dl tutte le operazlonl morfologlche e lnfluenzato molto
dalla dlmenslone del kernel utlllzzato; nel lavoro dl tesl e stato utlllzzato un kernel dl
dlmenslone 3x3.
09GHE7 QI=ZJ -9NH<:7:; A?<<5788<9B7K9;C? A?<<5;8?E7K9;C? A9 ?E;N9;C?
QILIR > *9<7:7K9;C?
Anallzzando ll rlsultato dell'operazlone dl eroslone, sl nota che per quanto l buchl ln
corrlspondenza della leslone sono statl completamente chlusl, allo stesso tempo, sl ha
un lspesslmento del contornl. lnoltre, per le lmmaglnl dl questo lavoro sl ha un ulterlore
effetto negatlvo ossla l'lspesslmento del rumore presente sullo sfondo. Fer compensare l
contro-effettl dovutl all'eroslone, solltamente nell'amblto della Computer vlslon sl
appllca un' operazlone morfologlca che ha un effetto contrarlo dell'eroslone. Essa e
deflnlta dllatazlone. Qulndl, partendo dal rlsultato dell'eroslone e stato appllcata
un'operazlone dl dllatazlone, utlllzzando sempre un kernel dl dlmenslonl 3x3.
09GHE7 QI==J -9NH<:7:; A?<<5788<9B7K9;C? A?<<5;8?E7K9;C? A9 A9<7:7K9;C?
Facendo segulre la dllatazlone all'eroslone, e stata effettuata un'operazlone molto
comune nell' lmage processlng, ossla quella dell'open|ng (conslderando lmmaglnl a
sfondo blanco e oggettl nerl).
QILIS > 09<:E; @?A97C;
Come preannunclato nel paragrafo 4.2.4, e ln questa fase che ll flltro medlano effettua
ln manlera egregla ll suo lavoro, senza lndurre controlndlcazlonl ln termlnl dl aperture
del buchl nella zona della leslone. lnfattl, a segulto dell'operazlone dl dllatazlone,
l'appllcazlone del flltro medlano ha un dupllce oblettlvo:
" ellmlnare completamente gll ultlml plxels costltuentl ll rumore dello sfondo;
" llmare le frastagllature pl marcate del contorno della leslone, frastagllature
che molto spesso vengono lndotte dalle precedentl operazlonl effettuate
sull'lmmaglne.
ln flgura 4.12 e rlportato ll rlsultato dell'appllcazlone del flltro medlano.
09GHE7 QI=LJ -9NH<:7:; A?<<5788<9B7K9;C? A?< D9<:E; @?A97C;
Fer tutte le lmmaglnl prese ln conslderazlone, ll flltro medlano e stato appllcato con una
flnestra dl dlmenslone TxT. Con questa operazlone termlna l'lter operazlonale che
permette dl ragglungere gll oblettlvl descrlttl alla flne del sotto-paragrafo 4.2.2.
QILIT > &AG? A?:?B:9;C A9 '7CC\
La successlone dl tutte le operazlonl sopra-descrltte hanno come scopo flnale quello dl
sempllflcare quanto pl posslblle l'lntera scena, facendo s che l'edge-detectlon
restltulsca soltanto ll contorno della leslone cutanea. Qulndl a partlre dal rlsultato
dell'appllcazlone del flltro medlano, vlene appllcato l'algorltmo dl edge-detectlon, ln
partlcolare l'algorltmo dl Canny.
09GHE7 QI=PJ -9NH<:7:; A?<<5788<9B7K9;C? A?<<57<G;E9:@; A9 ?AG? A?:?B:9;C
vlsto la sempllclt della scena, cosa rlscontrablle anche nelle altre lmmaglnl testate, su
cul verrebbe appllcato l'edge detectlon, rlsulterebbero sufflclentl anche algorltml meno
performantl rlspetto a Canny come ad esemplo: Lablaclano, Sobele ecc. Fer
effettuando del test sl e vlsto che la conoscluta complesslt computazlonale
dell'algorltmo dl Canny non va ad lnflclare l templ dl rlsposta dell'lntero algorltmo dl
lmage processlng; per questa raglone sl e declso dl utlllzzare Canny, sfruttando l
vantaggl che esso comporta (ln prlmls, ll fatto che ad ognl contorno non e mal assoclato
un edge dopplo).
L'lmmaglne dl flgura 4.14 rappresenta ll plottlng dell'edge sull'lmmaglne dl partenza ln
componentl RCB.

09GHE7 QI=QJ !<;::9CG A?<<5?AG? NH<<59@@7G9C? A9 87E:?CK7
l plxels dell'edge e tuttl gll altrl a loro lnterno, dell'lmmaglne a componentl RCB, sono
quelll che vengono utlllzzatl per caratterlzzare la leslone; le lnformazlonl estratte da
ognl slngola leslone sono descrltte nel paragrafo successlvo.
F3C 4 %<N6785=8 J;7 <O;M579K86?; :;8 :;M>7855678
Qul mettere come blbllografla, gll artlcoll: pesce, lEEE, suzukl
ln questo paragrafo vengono descrltte le tecnlche che permettono dl estrarre l
parametrl numerlcl prlnclpall che slcuramente contrlbulscono ad una descrlzlone
oggettlva della leslone.
La comblnazlone dl questl parametrl rlsulta essere versatlle per le posslblll dlverse
appllcazlonl flnall, ad esemplo potrebbero essere utlllzzatl per fornlre, ln manlera
automatlca, degll score numerlcl per ognl valore ABC. l contenutl dl questo capltolo sl
llmltano a descrlvere soltanto le tecnlche adottate per poter estrarre l parametrl rltenutl
pl lmportantl al momento dello svlluppo.
ln partlcolare questl sono l parametrl che grosso modo vengono utlllzzatl nella
dermatoscopla computerlzzata, secondo quanto speclflcato nel capltalo 4, al flne dl
valutare le regole caratterlzzantl la tecnlca ABCD. A tal proposlto, dl segulto vengono
descrltte le due tecnlche pl comunl magglormente adottate per la valutazlone della
slmmetrla e l'lrregolarlt del contornl. Fer anallzzare l'aslmmetrla, sl dlvlde la leslone
secondo due assl a 90 tra loro e dl conseguenza sl valutano contemporaneamente per
le quattro sotto-aree sla le componentl dl colore sla le ldentlt dl forma. Mentre, per
descrlvere l'lrregolarlt del bordl sl utlllzza l'anallsl delle armonlche dl Fourler.
Allo stato attuale, nessuno del parametrl estrattl permetterebbe dl valutare la
dlmenslone della leslone(componente D), questo scelta e dlpesa sostanzlalmente da
due fattorl:
" ll dlametro della leslone e l'unlco parametro che e esente da una valutazlone
soggettlva;
" mlsurare ll dlametro attraverso l'lmmaglne, presuppone un modulo dl callbrazlone
del slstema dl acqulslzlone del devlce.
Cll algorltml descrlttl nel sotto-paragrafl successlvl eseguono le loro operazlonl
rlcevendo come lnput le seguentl lmmaglnl, ottenute nelle dlverse fasl lntermedle della
segmentazlone:
" lmmaglne dl partenza ln componentl RCB;
" lmmaglne ottenuta dall'appllcazlone del flltro medlano;
" lmmaglne ottenuta dall'appllcazlone dell'edge detectlon.
Fer megllo evldenzlare ll funzlonamento delle tecnlche utlllzzate per la determlnazlone
del descrlttorl, come lmmaglne dl rlferlmento vlene conslderata quella rappresentata ln
flgura 4.15.
09GHE7 QI=RJ (H;O7 9@@7G9C? A9 HC @?<7C;@7 B;C <7 E788E?N?C:7K9;C? A?< E9N8?::9O; ?AG?
9CA9O9AH7:;
Anche per ll calcolo del parametrl sono state lmplementate alcune funzlonl ex novo e
allo stesso tempo sono state sfruttate delle funzlonl messe a dlsposlzlone dalla llbrerla
OpenCv che veroslmllmente lmplementano alcunl del concettl teorlcl amplamente
descrlttl nel capltolo 3.
QIPI= > *?NBE9::;E9 A9 D;E@7 A?<<7 <?N9;C?
l descrlttorl dl forma calcolatl tramlte questo algorltmo rlsultano essere:
" rapporto per|metro-area;
" compattezza;
" rapporto tra lato m|nore e lato magg|ore del rettangolo d| bound|ng della les|one.
Segue la descrlzlone della sequenza dl macro-steps tramlte l quall vengo estrattl l tre
descrlttorl dl forma.
1. La prlma operazlone che vlene effettuata e quella dl estrarre, dall'lmmaglne
blnarla contenente l'edge, l plxels che costltulscono ll contorno, assegnandone
pol una rappresentazlone secondo le varle tecnlche deflnlte nel paragrafo 3.2.
L'estrazlone del plxels vlene effettuata tramlte una funzlone della llbrerla
OpenCv, f|ndCountors, che lmplementa l'algorltmo dl Suzukl85. L'algorltmo dl
Suzukl pu essere rlassunto nel seguentl passl:
- rlcerca del plxel dl contorno ln alto a slnlstra;
- rlcerca ln senso orarlo del plxel dl contorno successlvo al prlmo;
- rlcerca del successlvl plxels con uno spostamento ln senso antl-orarlo, tale
operazlone vlene lterata slno a quando non vengono rltrovatl l prlml due plxels,
questa condlzlone lndlca la presenza dl un contorno.
l plxels determlnatl vengono pol rappresentatl attraverso lo schema ad
approsslmazlone pollgonale ed ln partlcolare dl ognl segmento orlzzontale,
vertlcale e dlagonale, vengono salvatl soltanto ll vertlce lnlzlale e flnale; questo
permette dl rldurre l vertlcl dl rappresentazlone del contorno e dl conseguenza sl
rlduce la complesslt del calcoll.
2. L'algorltmo utlllzzato nello step precedente permetterebbe dl determlnare anche
pl dl un contorno. Fer, per gll scenarl prevlstl ln questo lavoro dl tesl, sl
presuppone che la slngola lmmaglne ln esame contenga una sola leslone; questo
slgnlflca che qualora la funzlone utlllzzata nel punto precedente restltulsse n
contornl, soltanto uno corrlsponder alla leslone, gll altrl n-J costltulranno
rumore. Fer rlsolvere questo problema, per ognl contorno restltulto vlene
calcolato ll rlspettlvo perlmetro e alla flne sl consldera come contorno della
leslone quello avente perlmetro magglore rlspetto agll altrl; questa e
un'assunzlone veroslmlle se sl pensa al funzlonamento degll algorltml adottatl per
la segmentazlone.
09GHE7 QI=SJ &N?@89; A9 9@@7G9C? B;C:?C?C:? AH? B;C:;EC9
ll calcolo del perlmetro avvlene secondo le regole descrltte nel capltolo 3.
3. Calcolo dell'area della leslone.
4. Calcolo del rapporto perlmetro-area.
5. Calcolo della compattezza(Form Factor) della leslone.
6. Calcolo del rapporto lato mlnore - lato magglore del rettangolo dl boundlng.
Come speclflcato nella teorla descrltta nel capltolo 3, cl sono due tlpologle dl
rettangolo contenente la flgura che sono utlllzzatl per caratterlzzare un oggetto
all'lnterno dl un lmmaglne. Come rettangolo dl boundlng vlene conslderato quello
a mlnlma area che clrconda la leslone, ossla quello avente la stessa orlentazlone
della leslone. Questo fa s che ll rapporto "lato mlnore" - lato magglore e
lndlpendente dalla rotazlone della leslone all'lnterno della scena. Questo
rettangolo vlene calcolato attraverso un funzlone OpenCv, m|n/reRect, che
restltulsce anche le coordlnate del barlcentro e l'angolo dl rotazlone rlspetto al
plano lmmaglne. lnoltre, vlene calcolato anche ll rettangolo che clrconda
sempllcemente la leslone sul plano lmmaglne, esso servlr come ROl(Reglon Of
lnterst) per l calcoll successlvl.
09GHE7 QI=TJ -?::7CG;<; A9 F;HCA9CG ;E9?C:7:; 7< 897C; 9@@7G9C? ? ;E9?C:7:; B;C
<7 <?N9;C?
Nella flgura 4.1T, ll rettangolo avente ll contorno pl marcato e quello orlentato
con ll plano lmmaglne, mentre l'altro e quello orlentato con la leslone.
QIPIL > *?NBE9::;E9 A?<<? B;@8;C?C:9 A9 B;<;E? A?<<59C:?E7 <?N9;C?
Fer tener conto del colore (altra caratterlstlca fondamentale per la caratterlzzazlone del
melanoma) vlene effettuato ll calcolo della med|a, var|anza, max e m|n delle tre
componentl dl colore RCB appartenentl all'lntera leslone. Questl lndlcl statlstlcl sono
statl calcolatl conslderando le tre componentl dl colore del plxels presentl nell'lmmaglne
orlglnale RCB, le cul coordlnate corrlspondono al soll plxel nerl presentl all'lnterno
dell'lmmaglne rappresentante l'usclta del flltro medlano.
09GHE7 QI=UJ /NB9:7 A?< D9<:E; @?A97C; 87NN7:; 7<<57<G;E9:@; 8?E <5?N:E7K9;C? A?9 A?NBE9::;E9
Utlllzzando l'usclta del flltro medlano, non sl rlschla dl conslderare reglonl al dl fuorl
della leslone (ad esemplo plccole reglonl assoclate al rumore) per ll sempllce fatto che,
dell'lmmaglne costltuente l'usclta del medlano, vlene scanslonata soltanto la ROl
deflnlta nello step 5 del sotto-paragrafo precedente. lnoltre, l'ulterlore beneflclo lndotto
dalla ROl conslste ln un ulterlore rlduzlone del costo computazlonale dell'algorltmo.
QIPIP > *?NBE9::;E9 A?<<59EE?G;<7E9:a A?< B;C:;EC; A?<<7 <?N9;C?
Come speclflcato nell'lntroduzlone dl questo paragrafo, la trasformata dl Fourler e un
metodo comune utlllzzato per anallzzare l'lrregolarlt del contorno dl un oggetto. ln
partlcolare la trasformata dl Fourler e stata appllcata ad una sequenza dl numerl
complessl la cul parte reale e parte lmmaglnarla corrlspondono rlspettlvamente al
valore dl asclssa e ordlnata del slngolo plxels facente parte del contorno. Questo e ln
llnea con quanto descrltto nel paragrafo 3.3.5.
09GHE7 QI=VJ ';N:EHK9;C? A?9 CH@?E9 B;@8<?NN9 7NN;B97:9 79 89b?<N A?< B;C:;EC;
Appllcando la DFT (Trasformata Dlscreta dl Fourler) al vettore dl numerl complessl, sl
ottlene come rlsultato ancora un vettore dl numerl complessl della stessa dlmenslone
del vettore dl lnput e questl prendono ll nome dl coefflclentl complessl dl Fourler. Fer la
descrlzlone dell'lrregolarlt del contorno, dl questl coefflclentl vlene calcolato ll valore
masslmo e ll valore medlo dell'amplezza delle armonlche. Una buona norma conslste nel
normallzzare questl due valorl.
QIPIQ > *?NBE9::;E9 A?<<7 N9@@?:E97 A?<<7 <?N9;C?
Fer anallzzare la slmmetrla della leslone, essa vlene artlflclalmente suddlvlsa ln quattro
sotto-aree ln base all'asse magglore e all'asse mlnore. Successlvamente per ognl sotto-
area vengono valutate le lnformazlonl dl: perlmetro, area, compattezza e statlstlca delle
componentl dl colore RCB. Slccome ll calcolo del rettangolo dl boundlng dl un oggetto e
ottenuto tramlte ll calcolo dell'asse magglore e dell'asse mlnore dell'oggetto, per poter
effettuare la suddlvlslone della leslone sono state sfruttate proprlo le lnformazlonl del
rettangolo dl boundlng precedentemente calcolato. Successlvamente vlene descrltta la
sequenza delle macro-operazlonl che permettono dl determlnare le lnformazlonl legate
alla slmmetrla.
1. Slccome ll rettangolo dl boundlng ha la stessa orlentazlone delle leslone e
slccome quest'ultlma ha una forma del tutto lrregolare, effettuare una sempllce
suddlvlslone rlspetto alla met della larghezza e dell'altezza del rettangolo non
sarebbe un'operazlone lmmedlata nel caso ln cul cl sl deve spostare lungo
dlrezlonl che non sono orlzzontall/vertlcall. Tutto questo a causa delle
caratterlstlche dlscrete del segnale 2D rappresentante l'lmmaglne. Qulndl,
questo tlpo dl lmplementazlone e stata sempllflcata andando a ruotare
l'lmmaglne dell'otput del flltro medlano, tenendo conto delle coordlnate del
centro e dell'angolo del rettangolo dl boulndlng (datl che sono statl
precedentemente calcolatl).
09GHE7 QILZJ -;:7K9;C? A?<<59@@7G9C? 8E?N?C:? 9C D9GHE7 QI=U
ll vantagglo dl questo approcclo e che sl ottlene un lmmaglne orlentata con ll
plano lmmaglne, questo fa s che la suddlvlslone della leslone venga fatta
sempllcemente ln dlrezlone vertlcale e orlzzontale. lnoltre, per rldurre ll costo
computazlonale, nelle operazlonl successlve sl prende ln conslderazlone soltanto
una ROl dell'lmmaglne ruotata. Essa e calcolata automatlcamente, sfruttando
ancora una volta le coordlnate del centro, ll "lato mlnore" e ll lato magglore del
rettangolo dl boundlng.
lnoltre, la stessa operazlone vlene effettuata per l'lmmaglne a componentl RCB;
lnfattl, quest'ultlma e usata per estrarre le lnformazlonl sul colore, mentre la ROl
dell'output del flltro medlano e usata per estrarre le lnformazlonl sulla forma.
Da questo punto |n avant| quando v|ene menz|onata la RO/, s|a per l'usc|ta del
med|ano s|a per l'|mmag|ne a component| RC8, s| fa r|fer|mento sempre alle
r|spett|ve RO/ delle |mmag|n| rouotate.
2. La ROl dell'usclta del flltro medlano vlene suddlvlsa ln quattro rettangollnl: m00,
m0J, mJ0, mJJ; la poslzlone del quattro rettangollnl segue la dlsposlzlone, per
rlghe, dl una matrlce 2x2, ad esemplo l'm10 corrlsponde alla sotto-area ln basso
a destra. A seconda della poslzlone dl ognl slngolo rettangollno, le dlmenslonl
vengono magglorate rlspetto alla he|ght/2 e w|dth/2 della ROl per far s che le
successlve operazlonl dl edge detectlon non portlno alla determlnazlone dl
contornl apertl ln corrlspondenza delle zone adlacentl tra le varl sotto-aree. Dl
conseguenza, prlma dl qualslasl altra operazlone, l rlspettlvl plxel delle colonne
e/o delle rlghe ln eccesso alle dlmenslonl dl he|ght/2 e/o w|dth/2 vengono settatl
come sfondo ossla plxels blanchl. L'utlllt dl effettuare quest'operazlone e
facllmente lnterpretablle anallzzando le flgure 4.21 e 4.22; lnfattl, se sl
appllcasse l'algorltmo dl edge detectlon sull'lmmaglne 4.21 sl otterrebbe un edge
non chluso a causa della parte destra e della parte lnferlore.
09GHE7 QIL=J $@@7G9C? N;::;>7E?7 N?CK7 9< N?::7GG9; A?9 89b?< <9@9:E;D9 7<<? 7<:E? N;::;>
7E??
09GHE7 QIL=J $@@7G9C? N;::;>7E?7 '"( 9< N?::7GG9; A?9 89b?< <9@9:E;D9 7<<? 7<:E? N;::;>
7E??
Quest'ultlma operazlone non fa perdere lnformazlonl dell'lmmaglne, perch
lnteressa quel plxels ln eccesso che vengono presl come lnformazlonl utlll da uno
del rettangoll adlacentl.
09GHE7 QILLJ -"$ 9@@7G9C? ? E9N8?::9O? N;::;>7E??
3. Fer ognl sotto-area, sfruttando gll stessl algorltml descrlttl nel paragrafl
precedentl, vengono effettuate le seguentl operazlonl:
- esecuzlone dell'algorltmo dl edge detectlon dl Canny;
- calcolo del perlmetro, area e compattezza;
- calcolo del tre lndlcl che tengono conto della slmmetrla della forma della
leslone:
RJ= per|metro/(area+compattezza/
R2= area/(per|metro + compattezza/
RJ= compattezza/(per|metro + area/
Conslderando una slngola sotto-area, tanto pl questl tre parametrl saranno
uguall al corrlspondentl parametrl delle altre tre sotto-aree, pl la leslone e
conslderata unlforme.
09GHE7 QILPJ -9NH<:7:; A?<<5?AG? A?:?B:9;C 788<9B7:; N?87E7:7@?C:? 7<<? cH7::E; N;::;>
7E??
La suddlvlslone delle quattro sotto-aree potrebbe portare a delle forme
partlcolarl caratterlzzate da frastagllature molto sottlll; l'appllcazlone dl un
edge detectlon ln questl casl, potrebbe portare a degll edge non chlusl e qulndl
compromettere ll calcolo del descrlttorl dl forma. Fer bypassare questo problema
sl e vlsto che rlsulta essere utlle appllcare, a monte dell'edge detectlon, un flltro
medlano avente un kernel dl dlmenslone 3x3.
4. La suddlvlslone della ROl nelle quattro sotto-aree vlene effettuata anche per
quella corrlspondente all'lmmaglne ln componentl RCB, e per ognl sotto-area
vengono calcolatl gll lndlcl statlstlcl delle componentl RCB, adottando le stesse
tecnlche descrltte nel sotto-paragrafo 4.3.3 . ln questo caso per le dlmenslonl
del rettangollnl non vengono magglorate polch non vlene appllcato nessun
algorltmo dl edge detectlon.
'789:;<; R> !E;G?::7K9;C?
A?<<5788<9B7K9;C? @;F9<? .X9C #?N9;C
*?:?B:9;C
ln questo capltolo vlene descrltta la progettazlone dell'appllcazlone moblle SLD (Skln
Leslon Detectlon), su plattaforma Androld, dl supporto alla telemedlclna. Fer una buona
comprenslone dl questo capltolo, ln partlcolar modo per le scelte tecnlche, e opportuno
una conoscenza basllare dello svlluppo dl appllcazlonl Androld e dl conseguenza del
llnguagglo |ava. Androld e un slstema operatlvo open source per smartphone rllasclato
da Coogle, lnfattl ll cuore dl ognl slstema Androld e un kernel Llnux.
R32 4 />;<5; J76N;55L9<8
Blbllografla: androld developers, esemplo |Nl
L'appllcazlone moblle lmplementata conslste sostanzlalmente nell'acqulslzlone e nel
processlng ln tempo reale dl lmmaglnl lnerentl le leslonl cutanee. Come preannunclato ll
processlng delle leslonl vlene esegulto attraverso gll algorltml descrlttl nel capltolo
precedente.
La scelta dl lmplementare un'appllcazlone moblle per ll slstema operatlvo Androld e
dlpesa ln prlmls dalla necesslt dl svlluppare un'appllcazlone lntegrablle all'lnterno della
plattaforma dl telemedlclna Sana. Allo stesso tempo questa scelta e perfettamente ln
llnea con la polltlca con cul e stata pensata questa tesl dl laurea, ossla svlluppare
appllcazlonl medlche per slsteml open source traendo tuttl l vantaggl notl dl un slstema
NON chluso.
ln partlcolar modo l'appllcazlone Androld e stata progettata ln modo tale da soddlsfare
tuttl l requlsltl amplamente descrlttl nelle scelte progettuall degll algorltml dl lmage
processlng(paragrafo 4.1). La magglor parte delle appllcazlonl per Androld sono
completamente scrltte ln |ava, per poter glrare sulla Dalvlk vlrtual Machlne(partlcolare
|ava vlrtual Machlne ottlmlzzata apposltamente per dlsposltlvl moblle), tant'e che
all'lnlzlo del lanclo dl Androld |ava era l'unlco llnguagglo ufflclalmente supportato per
scrlvere software dlstrlbulblle da terze partl. Negll ultlml annl per la compagnla Coogle
ha rllasclato lo strumento dl svlluppo Androld ND (Natlve Development lt) tramlte ll
quale e posslblle reallzzare componentl ln C o C++. L'utlllzzo dl componentl svlluppatl
tramlte ND, all'lnterno dl codlce |ava (che costltulsce la base dell'appllcazlone moblle)
e reso posslblle grazle alla tecnologla |Nl (|ava Natlve lnterface).
Fer lo svlluppo dell'appllcazlone moblle SLD (Skln Leslon Detectlon) e stato utlllzzato
ND proprlo per garantlre l vantaggl, descrlttl nel paragrafo 4.1, nel separare la loglca
generale dell'appllcazlone rlspetto alla loglca degll algorltml dl lmage processlng. Fer
una magglore comprenslone dl quelle che sono state le scelte progettuall, nel due sotto-
paragrafl successlvl segue una descrlzlone sla della tecnologla |Nl sla dello strumento
ND. Dalla descrlzlone dl entrambl sl evlnce che le loro caratterlstlche sono ln llnea con
la scelta dl aver lmplementato con codlce natlvo l'algorltmo dl lmage processlng.
lnoltre, per quanto rlguarda le funzlonl della llbrerla OpenCv, oltre ad essere utlllzzate
nel codlce natlvo attraverso ND, alcune dl esse sono state utlllzzate nell'appllcazlone
|ava attraverso le AFl messe a dlsposlzlone da OpenCv. L'utlllzzo dl queste AFl e stato
utlle sempllcemente per supportare le operazlonl dl converslone del dlversl formatl delle
lmmaglnl che l'appllcazlone sl trova a gestlre. Fer avere un'ldea dl quelle che possono
essere le converslonl necessarle, dl segulto vengono elencate l prlnclpall formatl dl
lmmaglnl che vengono globalmente gestltl dall'appllcazlone:
" le lmmaglnl provenlentl dalla camera dl un devlce con SO Androld sono ln
formato Uv;
" le llbrerle OpenCv, e dl conseguenza gll algorltml dl lmage processlng
lmplementatl, utlllzzano dl default ll formato BCR per lmmaglnl a colore;
" le lmmaglnl vlsuallzzablll sullo schermo del devlce sono ln formato Bltmap;
" le Bltmap gestlte da Androld accettano per la converslone lmmaglnl a colore ln
formato RCB e non BCR.
ln partlcolare, per la fase dl svlluppo e stato utlllzzato lo smartphone Samsung Calaxy
Sll le cul prlnclpall speclflche tecnlche sono:
" Frocessore: Dual Core /ppl|cat|on da J.2CHz;
" Memorla RAM: JC8;
" Dlsplay: 4.J" wvC/ SuER /HO/ED lus, 7ouchScreen;
" Slstema Operatlvo: /ndro|d vJ.2 (C|ngerbread/.
RI=I= > d7O7 (7:9O? $C:?ED7B?
Frlma dl anallzzare le pecullarlt dl Androld ND, e opportuno comprendere la
tecnologla che Androld utlllzza per gestlre appllcazlonl ln |ava aventl componentl ln
C/C++. Ovvlamente |ava Natlve lnterface vlene utlllzzata a presclndere dalla
programmazlone Androld.
Tecnlcamente |Nl e ll nome dl un framework dl programmazlone che ha lo scopo dl
permettere ad appllcazlonl |ava dl lnterfacclarsl con funzlonl scrltte ln altrl llnguaggl dl
programmazlone, ln partlcolare C, C++ e assembly.
L'uso delle |ava Natlve lnterface e glustlflcato tutte quelle volte che una appllcazlone
non pu essere scrltta lnteramente ln |ava. Le sltuazlonl pl comunl sono :
" la llbrerla dl classl |ava standard non supporta delle caratterlstlche dlpendentl
dalla plattaforma (hardware partlcolarl);
" sl hanno gl delle llbrerle scrltte ln altrl llnguaggl;
" sl vuole lmplementare del codlce crltlco ln un llnguagglo dl pl basso llvello.
ll codlce natlvo lnvocato da un'appllcazlone |ava, tramlte ll framework |Nl, dlventa a tuttl
gll effettl una llbrerla condlvlsa che mette a dlsposlzlone le sue funzlonl all'appllcazlone
ln |ava.
09GHE7 RI=J ,EBM9:?::HE7 G?C?E9B7 A9 HC5788<9B7K9;C? F7N7:7 NH d($
Fer aver un'ldea dl come tutto questo possa essere gestlto dal punto dl vlsta pratlco,
nella parte sottostante e rlportato uno stub dl codlce |ava e dl codlce C, dl
un'appllcazlone che stampa ll messagglo S/D-Sana-/ndro|d-/|nux utlllzzando un
metodo natlvo.
Codlce dell'appllcazlone |ava:
B<7NN Hello
//metodo natlvo sayHello che non e' lmplementato
//all'lnterno della classe
8HF<9B C7:9O? O;9A sayHello();
//rlchlama la llbrerla statlca hello
N:7:9B System.load/|brary("hello");
//maln della classe Hello
8HF<9B N:7:9B O;9A maln(Strlng[| args)
Hello h=C?Y Hello(); //lstanzla un oggetto dl tlpo Hello
h.sayHello(); //sl rlchlama ll metodo esterno sayHello
System.out.prlntln("esegulta routlne");

La parte lmportante del codlce sopra-rlportato sono le prlme due lstruzlonl della classe.
La comblnazlone delle due key-word: publ|c nat|ve lndlca che la classe Hello avr tra l
suol metodl anche uno lmplementato ln codlce natlvo (e non all'lnterno della classe
stessa) ed esso prende ll nome dl SayHello. lnvece, tramlte la seconda lstruzlone sl
effettua ll carlcamento vero e proprlo del metodo ln codlce natlvo. ln partlcolare,
l'argomento dl System.load/|brary e ll nome della routlne che verr convertlto ln quello
convenzlonale per la plattaforma (per slsteml Unlx-llke llbhello.so mentre per Wlndows
hello.dll). Fer mezzo della parola chlave stat|c sl garantlsce che quando vlene carlcata la
classe nel slstema e carlcata anche la llbrerla condlvlsa (.dll o .so) contenente ll metodo
natlvo.
Codlce del metodo natlvo sayHello:
e9CB<HA? <|nl.h
e9CB<HA? "Hello.h"
e9CB<HA? <stdlo.h
|NlEXFORT O;9A |NlCALL |avaHellosayHello (|NlEnv env, |ob|ect ob|)
prlntf("SLD-Sana-Androld-Llnuxn");
E?:HEC;

ln questo caso accade che alla chlamata del metodo sayHello, vlene stampata la strlnga
S/D-Sana-/ndro|d-/|nux attraverso una pr|ntf ln C. Anallzzando ll sempllce metodo
natlvo, per la sua deflnlzlone dev'essere rlspettata una slntassl bene deflnlta, tale
slntassl e lllustrata ln flgura 5.2.
09GHE7 RILJ .9C:7NN9 8?E <7 A?D9C9K9;C? A9 HC @?:;A; C7:9O;
lnoltre nel metodo natlvo sono presentl due parametrl partlcolarl:
" jN/Env env: Funtatore utlle a dare l'accesso ad un lnsleme dl funzlonl |Nl che
consentono dl convertlre l datl pl complessl dl |ava a strutture usablll ln C.
" jobject obj: Rlferlmento all'oggetto |ava chlamante, analogo al rlferlmento thls ln
|ava.
Questl sono due parametrl dl default, allo stesso tempo un qualslasl metodo natlvo
potr rlcevere, dalla classe |ava chlamante, un qualslvoglla numero dl parametrl dl
dlverso tlpo. Fer quanto rlguarda ll passagglo da |ava dl tlpl elementarl come lnt, float
double ecc, essl nella deflnlzlone del metodo natlvo vengono dlchlaratl con noml del tlpo
|lnt, |float ecc, tutto questo per gestlre la dlversa dlmenslone del tlpl dl dato tra |ava e
C/C++. ln flgura 5.3 sono rlportate le corrlspondenze tra l dlversl tlpl dl datl prlmltlvl.
09GHE7 RIPJ ';EE9N8;CA?CK7 :E7 9 :989 A9 A7:; 9C d7O7 ? 9< B;A9B? C7:9O;I
RI=IL > ,CAE;9A (7:9O? *?O?<;8@?C: f9:
Come sopra-preannunclato, ll rllasclo dl ND da parte dl Coogle non lnduce
un'alternatlva allo svlluppo ln |ava, ma vlene utlllzzato per svlluppare ln codlce C/C++
componentl speclflcl degll appllcatlvl che rlchledono prestazlonl magglorl o l'utlllzzo dl
partlcolarl llbrerle ln C.
ND lnclude un cross compllatore per generare blnarl ln formato ARM l quall potranno
essere lncorporatl nel formato .apk, per la dlstrlbuzlone e l'lnstallazlone
dell'appllcazlone Androld. Secondo quanto deflnlto da Coogle, l'uso dl ND dev'essere
fatto con parslmonla polch potrebbe rldurre la portablllt dell'appllcazlone sulle dlverse
tlpologle dl dlsposltlvl. lnoltre, utlllzzare un codlce natlvo non porta automatlcamente ad
un lncremento delle prestazlonl, ll tutto dlpende dal dlversl scenarl appllcatlvl.
Le appllcazlonl che trarrebbero vantagglo dall'uso dl ND, sono essenzlalmente quelle
caratterlzzate da operazlonl CFU-lntenslve, tra cul: elaborazlone del segnall(come nel
caso dell'elaborazlone delle lmmaglnl) e slmulazlonl flslche.
R3@ 4 %7>E85;55L79 %JJ<8>9K86?;
ll nucleo centrale dell'appllcazlone moblle lmplementata, SLD, e slcuramente la gestlone
customlzzata dell'hardware della telecamera del devlce. L'appllcazlone customlzzata
della camera, avendo un controllo totale dell'hardware, oltre a gestlre l'acqulslzlone e ll
salvatagglo delle lmmaglnl, permette anche l'elaborazlone ln tempo reale delle stesse
lmmaglnl. L'elaborazlone ln tempo reale conslste veroslmllmente nel tracclare l'edge
della leslone cutanea, attraverso gll algorltml dl lmage processlng opportunamente
lmplementatl ln questo lavoro dl tesl. Nel momento ln cul vlene chlesto ll salvatagglo
dell'lmmaglne, oltre ad essere lndlvlduato l'edge della leslone cutanea vengono estrattl
e salvatl l rlspettlvl descrlttorl, secondo quanto descrltto nel capltolo 4.
Oltre alla funzlonallt prlnclpale, sopra-descrltta, l'appllcazlone permette dl effettuare
anche delle operazlonl secondarle, dl non mlnore lmportanza: gestlone delle
lmpostazlonl dl alcunl parametrl della camera e vlsuallzzazlone del descrlttorl della
leslone cutanea lndlvlduata.
Dal punto dl vlsta della programmazlone Androld, l'appllcazlone e stata organlzzata ln
un'actlvlty prlnclpale che ha lo scopo dl slncronlzzare le dlverse funzlonallt sopra-
descrltte. A loro volta queste altre funzloanllt sono lmplementate come sub-actlvlty dl
quella prlnclpale. Sempllflcando ll concetto, un'actlvlty pu essere rlassunta come
appllcazlone o parte dl essa che lnteraglsce con l'utente.
09GHE7 RIQJ ';@HC9B7K9;C? 7B:9O9:\ A?<<5788<9B7K9;C?
Nello schema ln flgura 5.4 vlene focallzzata l'attenzlone sulla comunlcazlone dell'actlvlty
prlnclpale, Sk|n/es|onDetect|on/ct|v|ty, e le sub-actlvlty che essa e ln grado dl lanclare.
Le frecce unldlrezlonall, collegantl due actlvlty, lndlcano che l'actlvlty prlnclpale ha ll
solo complto dl lanclare la sub-actlvlty, senza attendere nessun rlsultato, delegando la
successlva gestlone al slstema operatlvo; questo e quello che accade per
CameraSett|ng e v|ewDescr|ptors/ct|v|ty. Mentre la freccla bldlrezlonale che collega
l'actlvlty prlnclpale con Camerarocess|ng/ct|v|ty, lndlca che l'actlvlty chlamante sl
aspetta un rlsultato dalla sub-actlvlty, al termlne dl quest'ultlma. ln partlcolare,
l'lnterazlone dl queste actlvlty pu essere brevemente rlassunta nel puntl successlvl.
! CameraSett|ng, essa vlene sempllcemente lanclata e fornlsce all'utente una llsta
dl lmpostazlonl, dell'lntera appllcazlone, che egll pu modlflcare. Questa e un
actlvlty partlcolare polch per sua natura condlvlde ad altre actlvlty l valorl del
suol elementl, ln questo caso la llsta delle lmpostazlonl (questa pecullarlt non e
stata rappresentata nello schema dl flgura 5.3).
! Camerarocess|ng/ct|v|ty, essa prlnclpalmente svolge le funzlonl delle camera
customlzzata, descrltte all'lnlzlo dl questo paragrafo. Dallo schema dl flgura 5.3 dl
evlnce che ln quest'actlvlty avvlene la chlamata al metodo natlvo(cpp...), per
effettuare le operazlonl dl lmage processlng. lnoltre, con l'actlvlty ln questlone sl
ha un accesso al flle system del dlsposltlvo nel caso ln cul vlene rlchlesto ll
salvatagglo dl un'lmmaglne; ln partlcolare l'operazlone conslste nel salvare sla le
lmmaglnl lnerentl l'lndlvlduazlone dell'edge della leslone sla l descrlttorl. La
comunlcazlone bldlrezlonale con l'actlvlty chlamante conslste nel lnvlare a
quest'ultlma una strlnga, essa conterr ll nome dell'ultlma lmmaglne salvata e
processata. Nel caso ln cul non e stata effettuata nessuna acqulslzlone all'actlvlty
prlnclpale verr restltulta una strlnga vuota.
! v|ewDescr|ptors/ct|v|ty, essa vlene lanclata rlcevendo una strlnga che, se non e
vuota, contlene ll nome dell'ultlma lmmaglne acqulslta tramlte
Camerarocess|ng/ct|v|ty. Questa strlnga potr essere vuota sla quando
precedentemente non e stata lanclata Camerarocess|ng/ct|v|ty sla quando
Camerarocess|ng/ct|v|ty e stata lanclata ma non e stata acqulslta nessuna
lmmaglne. Dal nome stesso v|ewDescr|ptors/ct|v|ty, sl deduce che essa e
deslgnata alla vlsuallzzazlone del descrlttorl che possono appartenere sla
all'ultlma lmmaglne acqulslta sla ad altre lmmaglnl precedentemente acqulslte.
Una pecullarlt dell'actlvlty Sk|n/es|onDetect|on/ct|v|ty conslste nel fatto che oltre ad
essere reglstrata, al slstema Androld, come actlvlty prlnclpale essa vlene reglstrata
anche come actlvlty ln grado dl gestlre l'acqulslzlone delle lmmaglnl (dl conseguenza la
gestlone della camera); tutto questo nella programmazlone Androld vlene effettuato
tramlte la deflnlzlone dl un apposlto lntent (ln modo non formale, pu essere
conslderato come un messagglo che ll slstema manda alle appllcazlonl). Questa
reglstrazlone e necessarlo nel caso un cul sl vuole che una proprla appllcazlone possa
essere all'occorrenza una sub-actlvlty dl un'appllcazlone esterna. Qulndl, cos facendo,
se un'appllcazlone qualslasl presente sullo smartphone chledesse dl lanclare un' App per
l'acqulslzlone dl lmmaglnl, ll slstema Androld, grazle all'apposlto lntent, fornlrebbe
all'utente l'elenco delle appllcazlonl che sono ln grado dl rlsolvere tale rlchlesta; ln
questo caso ll slstema fornlrebbe due posslblll appllcazlonl: l'App natlva della camera e
l'App Sk|n /es|on Detect|on.
Dal punto dl vlsta dell'lnterazlone con l'utente, l'actlvlty prlnclpale e costltulta da tre
pulsantl tramlte l quall e posslblle lanclare le tre sub-actlvlty sopra-descrltte.
09GHE7 RIRJ 2/$ 8E9CB987<? A?<<5788<9B7K9;C? .X9C #?N9;C *?:?B:9;C
Ognl pulsante e contraddlstlnto da un nome corrlspondente alla label assoclata alla sub-
actlvlty che ognuno e ln grado dl lanclare. Le sub-actlvlty CameraSett|ng,
Camerarocess|ng/ct|v|ty, v|ewDescr|ptors/ct|v|ty, hanno rlspettlvamente le labels:
Camera Sett|ng, /es|on /cqu|s|t|on, /es|on Descr|ptors.
Fer questlone dl magglore sempllclt, da questo punto ln pol della descrlzlone, ll
rlferlmento alle sub-actlvlty vlene fatto tramlte la rlspettlva label.
Fer quanto rlguarda l'lmplementazlone delle CUl, sla per l'actlvlty prlnclpale sla per
quelle flglle, e stato adottato ll metodo dlchlaratlvo attraverso l dlversl flles XML, tramlte
l quall e posslblle avere un dlsaccopplamento tra l datl e ll codlce. ln questa manlera
sono garantltl tuttl l vantaggl che questo approcclo comporta, ln prlmls tra tuttl la
manutenlblllt del codlce.
Nel sotto-paragrafl successlvl vlene rlportata una descrlzlone pl dettagllata del
funzlonamento delle tre sub-actlvlty.
RILI= > #?N9;C ,BcH9N9:9;C
Come precedentemente speclflcato, l'actlvlty /es|on /cqu|s|t|on ha lo scopo dl acqulslre
e processare le lmmaglnl dl melanoml ln manlera ottlmale. L'ottlmallt consta nel fatto
che l'utente durante le acqulslzlonl centra la leslone all'lnterno dl un rettangolo,
vlsuallzzato al centro della scena, dl dlmenslonl preflssate, portando vantaggl dal punto
dl vlsta sla dell'elevata probablllt della corretta lndlvlduazlone della leslone sla ln
termlnl dl veloclt dell'lntero modulo dl lmage processlng. La probablllt dl lndlvlduare ln
manlera corretta l'edge della leslone rlsulta elevata con l'uso del rettangolo perch
quest'ultlmo permette dl sempllflcare la scena all'lnterno della quale dev'essere
effettuata la segmentazlone. Questa sempllflcazlone e abbastanza lntultlva perch tutta
la porzlone dell'lmmaglne al dl fuorl del rettangolo, caratterlzzata da una dlsomogenelt
dello sfondo della scena, e esclusa dal modulo dl lmage processlng. lnoltre, questo
raglonamento e ancor pl rafforzato se sl pensa al fatto che la dlsomogenelt varla da
lmmaglne ad lmmaglne. Anche ll dlscorso dell'lncremento della veloclt del modulo dl
lmage processlng, ossla del templ con cul l'algorltmo restltulsce l rlsultatl, e abbastanza
lntultlvo: processare, ln frazlonl dl secondo, un lmmaglne dl 200x100 plxels e ben
dlverso dal processare un'lmmaglne avente dlmenslonl 800x540 plxels.
09GHE7 RISJ .BE??CNM;: A?<<57B:9O9:\ #?N9;C ,BcH9N9:9;C
Tutte queste conslderazlonl hanno permesso dl lmplementare ll tracklng ln tempo reale
della leslone, cloe man mano che le lmmaglnl (provenlentl dal sensore della camera)
vengono vlsuallzzate sullo schermo del devlce, esse vengono processate dall'algorltmo
dl lmage processlng ll quale permette dl marcare l'edge della leslone. Senza l'utlllzzo del
rettangolo, a causa della complesslt computazlonale delle operazlonl dl lmage
processlng, pur eseguendo ln questa fase soltanto gll algorltml deslgnatl alla
segmentazlone escludendo quelll adlbltl all'estrazlone del descrlttorl, non sarebbe stato
posslblle l'lmplementazlone del tracklng. Alla complesslt computazlonale degll
algorltml dl lmage processlng blsogna agglungere anche delle operazlonl necessarle alla
converslone del dlversl formatl delle lmmaglnl. Al flne dl dare un'ldea approsslmatlva dl
cl che lnfluenza ll tempo dl rlsposta nella vlsuallzzazlone dell'edge durante ll tracklng,
dl segulto vengono elencate le macro-operazlonl esegulte per ognl frame provenlente
dalla camera.
! L'lmmaglne provenlente dal sensore e espressa nel modello Uv, per cul e
necessarla una converslone a modello RCB per poter essere processata dagll
algorltml.
! Dell'lmmaglne a componentl RCB vlene selezlonata la ROl(Reglon Of lnterest)
corrlspondente al rettangolo, ed essa vlene salvata ln un oggetto (Mat) messo a
dlsposlzlone dalla llbrerla OpenCv. ll puntatore all'lndlrlzzo dl memorla dl questo
oggetto vlene pol passato al metodo natlvo che provvede ad esegulre, ln questo
caso, soltanto gll algorltml dl segmentazlone. Termlnato ll processlng, ll metodo
natlvo provvede a dlsegnare l'edge rlsultante sull'lmmaglne corrlspondente alla
ROl, questo grazle al fatto che al modulo dl lmage processlng vlene passato
dlrettamente ll puntatore a datl dell'lmmaglne.
! L'lmmaglne corrlspondente alla ROl (avente l'edge dlsegnato) vlene pol
mappata, attraverso un algorltmo dl merglng, sull'lmmaglne lntera a
componentl RCB da cul la ROl stessa e stata lnlzlalmente estratta.
! Fer l slsteml Andorld, afflnch un'lmmaglne possa essere vlsuallzzata sullo
schermo essa dev'essere un lmmaglne dl tlpo Bltmap. Qulndl, e necessarlo che
l'lmmaglne RCB ottenuta dall'operazlone del punto precedente sla convertlta ln
Bltmap, ma prlma dl effettuare questa converslone e necessarlo un'altra
converslone lntermedla. lnfattl, un'lmmaglne a colorl, RCB, vlene convertlta
correttamente ln Bltmap soltanto se l'lmmaglne RCB e a quattro canall. Slccome
dl default le lmmaglnl espresse con ll modello RCB sono a tre canall, prlma dl
effettuare la converslone ln Bltmap, l'lmmaglne vlene convertlta da RCB a RCBA
(RCB a quattro canall).
vlsto la complesslt delle macro-operazlonl sopra-descrltte, la funzlonallt del tracklng
per quanto utlle a caplre ln tempo reale con quale preclslone l'edge verr lndlvlduato,
esso non e un' operazlone lndlspensablle per l'appllcazlone, anzl per devlce meno
prestantl questo costltulrebbe un llmlte. Fer queste raglonl, l'utente stesso ha la
posslblllt dl dlsabllltare la funzlonallt del tracklng (e posslblle fare quest'operazlone
attraverso l'actlvlty Camera Sett|ng). Nel caso quest'ultlmo venlsse dlsabllltato, sullo
schermo verranno sempllcemente vlsuallzzatl l frames provenlentl dalla camera e qulndl
all'lnterno del rettangolo non verrebbe esegulto nessun tlpo dl processlng. bene
chlarlre che anche nel caso ln cul la funzlonallt del tracklng e dlsabllltata, tutte le
operazlonl dl converslone, descrltte nel puntl precedentl, necessarle alla vlsuallzzazlone
del frame sullo schermo, vengono comunque esegulte.
A presclndere se ll tracklng e abllltato o meno, nel momento ln cul l'utente declde sl
salvare l'lmmaglne, sull'ultlmo frame vengono esegulte tutte le quattro macro-
operazlonl descrltte nel puntl precedentl. L'unlca dlfferenza e che ll metodo natlvo
effettua anche l'estrazlone e ll salvatagglo del descrlttorl all'lnterno dl un flle. Esegulte
queste operazlonl, vlene pol effettuato ll salvatagglo sla dell'lmmaglne lntera sla della
ROl. Dl quest'ultlma vlene salvata anche quella avente ll dlsegno dell'edge della leslone.
Fer ognl rlsorsa salvata, ll nome e preceduta da una sequenza dl caratterl
rappresentantl: mese(H), glorno(d), ora(h), mlnutl(m). ln totale ad ognl salvatagglo
vengono salvate le seguentl rlsorse, aventl del noml cos strutturatl:
" Hdhm.|pg : lmmaglne lntera;
" HdhmCut.|pg : lmmaglne corrlspondente alla ROl;
" Hdhm8.|pg : lmmaglne corrlspondente alla ROl, con marcatura dell'edge;
" Hdhm.txt: flle contenente l descrlttorl estrattl.
lnoltre, durante l'operazlone dl salvatagglo dell'lmmaglne vlene attlvato la funzlonallt
dell'auto-focus, questa permette una messa a fuoco automatlca della scena avendo cos
un'lmmaglne pl nltlda rlspetto al frames vlsuallzzatl durante la fase lntermedla dl
acqulslzlone.
Alle funzlonallt messe a dlsposlzlone dell'appllcazlone Leslon Acqulsltlon cl sl accede
tramlte ll tasto menu presente ln qualslasl dlsposltlvo Androld.
09GHE7 RITJ ,::9O7K9;C? A?< :7N:; @?CH
Le funzlonallt messe a dlsposlzlone sono tre, espresse dalle seguentl vocl:
! Save Flcture: permette dl effettuare ll salvatagglo dell'lmmaglne (lnoltre
vengono salvate anche le altre lnformazlonl sopra-speclflcate); effettuatl l
salvataggl, sullo schermo permane l'ultlmo frame avente anche ll dlsegno
dell'edge della presunta leslone.
! Restart Camera: e abllltata soltanto nel momento ln cul vlene effettuato ll
salvatagglo dell'lmmaglne e serve a far rlpartlre la camera, ossla a rlcevere
nuovamente ll flusso dl frame provenlentl dal sensore.
! Exlt: permette dl usclre dall'actlvlty /es|on /cqu|s|t|on, rltornando all'actlvlty
prlnclpale; e ln questo caso che avvlene ll passagglo della strlnga contenete ll
nome dell'eventuale lmmaglne salvata.
L'lmmaglne ln flgura 5.8 rappresenta l'esecuzlone della /es|on /cqu|s|on, ln cul e
abllltato ll tracklng della leslone.
09GHE7 RIUJ &N?BHK9;C? A?< :E7BX9CG A?<<7 <?N9;C?
Mentre ln flgura 5.9 e vlsuallzzata la screenshot del devlce a segulto del salvatagglo. Da
questa lmmaglne e posslblle constatare la mlgllore nltldezza dell'lmmaglne, grazle
all'attlvazlone dell'auto-focus.
09GHE7 RIVJ $@@7G9C? N7<O7:7 ? 8E;B?NN7:7
Tutto quanto appena descrltto concerne ll funzlonamento generale dell'actlvlty /es|on
/cqu|s|t|on. Un altro aspetto lmportante sta nel fatto che prlma dl effettuare tutte le
operazlonl sopra-descrltte, ad ognl startlng della /es|on /cqu|s|t|on, vlene effettuata
come prlma operazlone l'lnlzlallzzazlone dl alcunl parametrl. l parametrl a cul sl fa
rlferlmento sono quelll gestltl nell'actlvlty Camera Sett|ng, oggetto dl descrlzlone del
sotto-paragrafo successlvo.
RILIL > '7@?E7 .?::9CG
Come e stato preannunclato, l'actlvlty Camera Sett|ng permette all'utente dl modlflcare
una serle dl lmpostazlonl utlll per le altre sub-actlvlty. lnfattl, essa e deflnlta da una
classe che va derlvare una dl default del slstema Androld: reference/ct|v|ty;
questa e una partlcolare classe ln cul tuttl l valorl degll elementl (caselle dl testo, llste,
radlo button ecc) al suo lnterno sono resl pubbllcl e sono salvatl ln manlera permanente
(anche dopo ll rlavvlo del dlsposltlvo l valorl degll elementl rlmangono ldentlcl all'ultlma
conflgurazlone). ln altre parole, questa actlvlty potrebbe essere vlsta a tuttl gll effettl
come un vero e proprlo flle dl conflgurazlone che le altre actlvlty possono lnterrogare
per poter prelevare l datl dl lnteresse. La Camera Sett|ng, e stata progettata
essenzlalmente per lmpostare alcunl parametrl dl lmpostazlone della camera. ln
partlcolare, la flgura 5.10 lllustra una screenshot dell'actlvlty ln questlone, attraverso la
quale e posslblle vlsuallzzare tuttl l parametrl lmpostablll.
09GHE7 RI=ZJ .BE??CNM;: A?<<57B:9O9:\ '7@?E7 .?::9CG
Dl segulto vlene descrltto ll slgnlflcato dl ognl slngolo parametro.
! Leslon Tracklng: se spuntato, alla prosslma esecuzlone dell'actlvlty /es|on
/cqu|s|t|on, verr attlvato ll tracklng della leslone. Fer le raglonl descrltte nel
sotto-paragrafo precedente, e conslgllablle dlsattlvare ll tracklng quando le
performance del dlsposltlvo non sono elevate.
! Flash: se spuntato, alla prosslma esecuzlone dell'actlvlty /es|on /cqu|s|t|on,
verr attlvato ll flash automatlco al momento del Save |cture.
! Rectangle of Detectlon: permette dl selezlonare due dlmenslonl dlverse del
rettangolo utlllzzato dalla /es|on /cqu|s|t|on: Normal Rectangle e Blg
Rectangle; ll prlmo e quello dl default vlsto nella descrlzlone della Leslon
Acqulsltlon, mentre ll secondo ha delle dlmenslonl dopple al prlmo.
09GHE7 RI==J !;NN9F9<9 O7<;E9 A?<<5?<?@?C:; g-?B:7CG<? ;D *?:?B:9;Ch
Rlsulta utlle utlllzzare ll rettangolo dl dlmenslonl magglorl qualora cl sl trova
dlfronte ad una leslone dl grandl dlmenslonl per cul sl e costrettl ad allontanare
molto ll dlsposltlvo, afflnch la leslone rlsultl clrcoscrltta dal rettangolo.
Allontanando dl molto ll dlsposltlvo sl rlschla dl perdere alcunl partlcolarl della
leslone, lnvece avendo un rettangolo dl dlmenslonl magglorl e posslblle effettuare
l'acqulslzlone mantenendo ll dlsposltlvo ad una dlstanza ravvlclnata. Nel caso ln
cul vlene lmpostato ll Blg Rectangle e opportuno dlsabllltare ll tracklng per
ovvle raglonl dovute al templ dl rlsposta del modulo dl lmage processlng.
! Folder Fath: lndlca ll path della cartella all'lnterno della quale salvare l rlsultatl
dl ognl acqulslzlone, ossla le lmmaglnl e l descrlttorl.
RI=LJ !?EB;EN; A9 A?D7H<: 8?E 9< N7<O7:7GG9; A?9 E9NH<:7:9
La flgura 5.12 mostra ll path dl default, l'utente e llbero dl camblare tale path.
l valorl del prlml tre set sono strettamente legatl alla camera, raglon per cul essl sono
utlllzzatl soltanto dall'actlvlty Leslon Acqulsltlon. lnvece, ll Folder Fath e utlllzzato sla
dalla /es|on /cqu|s|t|on, per caplre dove salvare l datl, sla dalla /es|on Descr|ptors, per
caplre da quale path leggere l datl.
RILIP > #?N9;C *?NBE98:;EN
La /es|on Descr|ptors sl occupa dl vlsuallzzare l descrlttorl. La CUl e costltulta dal
seguentl elementl fondamentall:
" casella dl testo contenente ll nome del flle corrlspondente all'lmmaglne per la
quale sl vogllono vlsuallzzare le lnformazlonl;
" pulsante, vlew Ceneral Descrlptlon, esso serve ad attlvare la vlsuallzzazlone del
descrlttorl, ln base al nome del flle speclflcato nella casella dl testo;
" elenco dl caselle dl testo, tl tlpo statlco, contenente l descrlttorl sceltl per la
vlsuallzzazlone;
" lmmaglne ln cul e evldenzlato l'edge della leslone per la quale e stato chlesto dl
vlsuallzzare l descrlttorl.
09GHE7 RI==J 2/$ A?<<57B:9O9:\ #?N9;C *?NBE98:9;C_ N?CK7 9< B7E9B7@?C:; A9 7<BHC7 9@@7G9C?
Nella screenshot dl flgura 5.11, non compare alcun dato polch non e stato selezlonato
nessun flle; l caratterl presentl nella casella dl testo corrlspondono al valore dl Folder
path dell'actlvlty Camera Sett|ng.
Come precedentemente speclflcato, la /es|on Descr|pt|on pu aver rlcevuto una strlnga
contenete ll nome del flle corrlspondente all'ultlma lmmaglne acqulslta, ln questo caso ll
nome dl tale flle verrebbe automatlcamente carlcato nella casella dl testo. ln ognl caso
l'utente pu speclflcare manualmente, all'lnterno della casella dl testo, ll path del flle
corrlspondente all'lmmaglne per cul sl vogllono vlsuallzzare le lnformazlonl.
09GHE7 RI=LJ 49NH7<9KK7K9;C? A?9 A?NBE9::;E9 A?<<59@@7G9C? 8E?N?C:? 9C D9GHE7 RIV
Fer quanto rlguarda le lnformazlonl della leslone sl e declso, almeno ln questa prlma
fase della rlcerca, dl vlsuallzzare tuttl descrlttorl che contrlbulrebbero ad
un'lnterpretazlone oggettlva della tecnlca ABC. Essl sono:
" rapporto perlmetro-area,
" compattezza;
" statlstlca delle tre componentl RCB,
" tre lndlcl dl aslmmetrla delle quattro sotto-aree;
" valore masslmo e medlo delle armonlche dl Fourler, per esprlmere l'lrregolarlt
del contorno.
Fer una magglore comprenslone del descrlttorl appena elencatl e opportuno leggere
quanto descrltto nel capltolo 4.
'789:;<; S> ,C7<9N9 A?9 E9NH<:7:9
ln questo capltolo sono rlportatl l rlsultatl pl rllevantl sla del modulo (dl lmage
processlng) dl estrazlone del melanoma sla del modulo dl caratterlzzazlone dello stesso.
lnoltre, vengono rlportate alcune conslderazlonl sull'appllcazlone moblle Skln Leslon
Detectlon.
SI= > -9NH<:7:9 A?G<9 7<G;E9:@9 A9 9@7G? 8E;B?NN9CG
Fer qualslasl appllcazlone dl Computer vlslon, ll task pl complesso e quello della
segmentazlone della scena; qualora sl rlusclsse ad ottlmlzzare ln manlera opportuna
questa fase, per tuttl l task successlvl (come ad esemplo l'estrazlone del descrlttorl dl
forma), nella stragrande maggloranza del casl, e garantlta la correttezza. Questo
perch, una volta che sl e certl dl aver lndlvlduato ln manlera corretta la reglone dl
lnteresse dell'lmmaglne, le fasl successlve conslstono sempllcemente nell'appllcare
formule matematlche.
ln vlrt dl tutto questo, la magglor parte del test degll algorltml lmplementatl nel lavoro
dl tesl, sl sono concentratl sulla segmentazlone della leslone. Fer l descrlttorl estrattl e
stato comunque verlflcato che ognuno dl esso avesse un rlsultato conslstente con la
loglca per cul e stato utlllzzato.
Fer quanto rlguarda le lmmaglnl utlllzzate, possono essere raggruppate ln due lnsleml:
lmmaglnl prelevate dal web ed lmmaglnl acqulslte tramlte lo smartphone utlllzzato per
lo svlluppo (Samsung Calaxy Sll). Fer ll prlmo lnsleme dl lmmaglnl, non sl e rluscltl a
rlsallre alle tlpologle dl sensorl utlllzzatl per le acqulslzlonl, questo per non e stato un
aspetto negatlvo perch ln questa manlera e stato posslblle anallzzare l rlsultatl degll
algorltml a presclndere dall'hardware utlllzzato.
lnvece, tramlte ll secondo gruppo dl lmmaglnl e stato posslblle slmulare l'acqulslzlone dl
scenarl reall, conslderando cos le prlnclpall problematlche per potrebbero verlflcarsl
(lnstablllt del devlce durante l'acqulslzlone, varlazlone dell'lllumlnazlone, acqulslzlonl ln
dlverse orlentazlonl, rumore dovuto dalla pelurla presente sulla pelle ecc). Le
slmulazlonl sono state posslblll grazle alla sempllclt operatlva con cul e posslblle
dlsegnare sulla pelle delle flgure dl leslonl cutanee; questo approcclo e del tutto
conslstente perch non rlentrerebbero nemmeno probleml legatl alla preclslone della
slmulazlone vlsto che l melanoml hanno una forma e una plgmentazlone del tutto
casuale. lnoltre, per dare un ulterlore valore agglunto clrca la vlclnanza agll scenarl reall,
sono state fatte anche acqulslzlonl su nel reall non mallgnl.
Fer tutte le lmmaglnl acqulslte attraverso ll dlsposltlvo e stata utlllzzata una rlsoluzlone
spazlale dl 800x480 plxel, rltenuta sufflclente per scenarl rlguardantl le leslonl cutanee
ln generale. ln flgura 5.1 sono rlportate le caratterlstlche prlnclpall del sensore della
camera del Samsung Calaxy Sll.
09GHE7 SI=J '7E7::?E9N:9BM? B7@?E7 .7@NHCG 27<7b\ .$$
Dalle slmulazlonl effettuate e emerso che l'lllumlnazlone ldeale (per cul e posslblle
ottenere una buona lnterpretazlone del colorl) la sl ha con le seguentl condlzlonl dl luce:
" stanza ben lllumlnata, lndlpendentemente dal fatto se luce solare o artlflclale;
" zona delle leslone lllumlnata da una seconda luce (ad esemplo lampada da
scrlvanla) posta a dlstanza ravvlclnata.
Ovvlamente queste sono le mlgllorl condlzlonl per la magglor parte del casl, pol cl sono
altre sltuazlonl ln cul anche l'utlllzzo del flash del dlsposltlvo e lmportante.
SI=I= > %?N: N?G@?C:7K9;C? <?N9;C?
Successlvamente vengono rlportatl alcunl rlsultatl slgnlflcatlcl della segmentazlone
suddlvlsl ln tre gruppl:
" gruppo J: lmmaglnl prelevate dal web;
" gruppo 2: lmmaglnl (sla dl leslonl sla dl nel reall) acqulslte attraverso
l'appllcazlone Skln Leslon Detectlon;
" gruppo J: lmmaglnl per cul sl sono verlflcatl degll errorl ln segmentazlone.
Fer l rlsultatl del gruppo J e rlportata l'lmmaglne dl partenza e pol la stessa avente ll
dlsegno dell'edge lndlvlduato dall'algorltmo. Fer quelle del gruppo 2, l'edge e dlsegnato
dlrettamente sull'lmmaglne tagllata, corrlspondente al rettangolo utlllzzato
dall'appllcazlone Skln Leslon Detectlon. Mentre per quelle de gruppo 3, vengono
rlportate anche alcune lmmaglnl, della fase lntermedla del processlng, slgnlflcatlve per
comprendere ll motlvo per ll quale sl e ottenuto un errore dl segmentazlone.
S7LJJ6 2
/mmag|ne J
09GHE7 SILJ $@@7G9C? =_ GEH88;=
09GHE7 SIPJ -788E?N?C:7K9;C? ?AG? $@@7G9C? =_ GEH88;=
/mmag|ne 2
09GHE7 SIQJ $@@7G9C? L_ GEH88;=
09GHE7 SIRJ -788E?N?C:7K9;C? ?AG? $@@7G9C? L_ GEH88;=
/mmag|ne J
09GHE7 SISJ $@@7G9C? P_ GEH88;=
09GHE7 SITJ -788E?N?C:7K9;C? ?AG? $@@7G9C? P_ GEH88;=
S7LJJ6@
Le prlme clnque lmmaglnl sl rlferlscono alle leslonl slmulate mentre le restantl sono
state fatte su nel verl, non mallgnl. Dl tutte queste lmmaglnl alcune sono state acqulslte
con ll set Normal Ractangle altre con Blg Ractangle.
/mmag|ne J
09GHE7 SIUJ $@@7G9C? =_ GEH88; L
09GHE7 SIVJ -788E?N?C:7K9;C? ?AG? $@@7G9C? =_ GEH88; L
L'lmmaglne 1 non ha una nltldezza elevata polch l'acqulslzlone e stata fatta ad una
dlstanza non vlclna dalla leslone slmulata.
/mmag|ne 2
09GHE7 SI=ZJ $@@7G9C? L_ GEH88; L
09GHE7 SI==J -788E?N?C:7K9;C? ?AG? 9@@7G9C? L_ GEH88; L
L'lmmaglne 2 e stata acqulslta con l'attlvazlone del flash.
/mmag|ne J
09GHE7 SI=LJ $@@7G9C? P_ GEH88; L
09GHE7 SI=PJ -788E?N?C:7K9;C? ?AG? 9@@7G9C? P_ GEH88;L
/mmag|ne 4
09GHE7 SI=QJ $@@7G9C? Q_ GEH88; L
09GHE7J SI=RJ -788E?N?C:7K9;C? ?AG? 9@@7G9C? Q_ GEH88; L
Con l'lmmaglne 4, regolando megllo l'lllumlnazlone sulla leslone slmulata e attlvando ll
flash sl e ottenuto un'ottlma dlstlnzlone del colorl, cl che lnvece non sl e avuto
nell'lmmaglne 3.
/mmag|ne 5
09GHE7 SI=SJ $@@7G9C? R_ GEH88; L
09GHE7 SI=TJ -788E?N?C:7K9;C? ?AG? 9@@7G9C? R_ GEH88; L
/mmag|ne 5
SI=UJ $@@7G9C? S_ GEH88; L
09GHE7 SI=VJ -788E?N?C:7K9;C? ?AG? 9@@7G9C? S_ GEH88;L
/mmag|ne 7
09GHE7 SILZJ $@@7G9C? T_ GEH88; L
09GHE7 SIL=J -788E?N?C:7K9;C? ?AG? 9@@7G9C? T_ GEH88; L
/mmag|ne 8
09GHE7 SILLJ $@@7G9C? U_ GEH88; L
09GHE7 SILPJ -788E?N?C:7K9;C? ?AG? 9@@7G9C? U_ GEH88; L
S7LJJ6 C
/mmag|ne J
09GHE7 SILQJ $@@7G9C? =_ GEH88; P
09GHE7 SILRJ -788E?N?C:7K9;C? ?AG? 9@@7G9C? =_ GEH88; P
La mancata preclslone della segmentazlone e dovuta all'algorltmo dl cleanlng delle zone
perlferlche; comunque ll problema verrebbe rlsolto qualora venlsse lmplementata
l'ultlma ottlmlzzazlone descrltta nel sotto-paragrafo 4.2.3 .
09GHE7 SILSJ $@@7G9C? =_ 8E9@7 ? A;8; <5788<9B7K9;C? A?<<57<G;E9:@; A9 B<?7C9CG
Comunque a presclndere l'ottlmlzzazlone dell'algorltmo dl cleanlng, la correttezza della
segmentazlone la sl avrebbe anche sempllcemente centrando nel rettangolo la leslone
slmulata oppure cercando dl evltare le ombre che sl sono create nelle zone perlferlche.
/mmag|ne 2
09GHE7 SILTJ $@@7G9C? L_ GEH88; P
09GHE7 SILUJ -788E?N?C:7K9;C? ?AG? 9@@7G9C? L_ GEH88; P
ln lmmaglne 2 e presente la stessa leslone slmulata dl lmmaglne 1, per nella scena
dell'lmmaglne corrente sl e venuta a creare una condlzlone dl luce tale da non far
dlstlnguere bene, nemmeno ad occhlo, la leslone (parte dl slnlstra) rlspetto alla pelle.
Qulndl ln questo caso l'errore non e dlpeso dalla loglca dell'algorltmo.
/mmag|ne J
09GHE7 SILVJ $@@7G9C? P_ GEH88; P
09GHE7 SIPZJ -788E?N?C:7K9;C? ?AG? 9@@7G9C? P_ GEH88; P
ln questo caso l'errore e dovuto alla strlscla dl ombra, molto marcata e molto spessa,
presente nella parte slnlstra della scena che dellmlta ll bracclo. lnfattl, questo problema
non sl verlflca ln flgura 5.9 polch, durante la rlspettlva acqulslzlone, l'ombra non e
stata lnglobata nel rettangolo.
SI=IL > %?N: A?NBE9::;E9
Fer quanto rlguarda l descrlttorl, vengono rlportatatl soltanto del test, legatl ad alcunl
del descrlttorl dl forma, per cul e anche posslblle avere un rlscontro vlslvo delle varle
dlfferenze. Comunque per tuttl gll altrl, l test sono statl fattl durante lo svlluppo dl ognl
slngola funzlone dl estrazlone, ad esemplo:
" l descrlttorl statlstlcl del colore sono statl testatl dando ln pasto agll algorltml
delle aree dl colore omogeneo, ln modo tale da avere: medla, varlanza, masslmo
e mlnlmo con lo stesso valore;
" per l descrlttorl dl Fourler, una volta estrattl l coefflclentl, sl e verlflcato che
facendo l'antl-trasformata sl ottengono nuovamente tuttl l puntl del contorno;
" ect.
Dl segulto sono rlportate delle lmmaglnl, dl forme regolarl e non, e per ognuna dl essa e
messa ln evldenza uno o pl descrlttorl.
L'lmmaglne rappresentata ln flgura 5.31, ha un valore dl compattezza parl a 0.7J505J,
lnfattl ll valore e molto vlclno alla compattezza del quadrato: clrca uguale a 0.78.
09GHE7 SIP=J &AG? cH7AE7:;
Ovvlamente, dlfflcllmente sl rlescono a ragglungere valorl molto prosslml alle forme
geometrlche note, a causa sla dl plccole lmpreclslonl dell'edge sla per le
approsslmazlonl che sl hanno nel dlscreto (l'lmmaglne e vlsta come un segnale
bldlmenslonale nel dlscreto).
Fer l'lmmaglne presente ln flgura 5.32, oltre a rlportare ll valore dl compattezza sono
rlportatl l tre lndlcl, R
|
, che descrlvono la slmmetrla, calcolatl per le quattro sotto-aree. ln
partlcolare:
compattezza: 0.8785J9
|nd|c| sub-areaJ: 0.08J8J92 JJ.88J 0.0002798JJ
|nd|c| sub-area2: 0.08595J4 JJ.585 0.000J02509
|nd|c| sub-areaJ: 0.0857852 JJ.509 0.000J00852
|nd|c| sub-area4: 0.09J07J4 J0.598J 0.000JJ5045
09GHE7 SIPLJ &AG? B?EBM9;
Fer quanto rlguarda ll valore della compattezza dell'lmmaglne dl flgura 5.32 e
slcuramente pl alto del quadrato per non e parl a 1(compattezza del cerchlo), per le
stesse raglonl descrltte per la compattezza dell'lmmaglne presente ln flgura 5.31.
lnvece, dagll lndlcl che descrlvono la slmmetrla della flgura, essendo tuttl e tre molto
vlclnl al corrlspondentl delle altre sotto-aree, sl deduce numerlcamente che la flgura ln
questlone rlsulta essere approsslmatlvamente slmmetrlca.
Anallzzando l'lmmaglne non regolare, presente ln flgura 5.33, sl nota come ll valore dl
compattezza rlsulta essere pl basso delle lmmaglnl precedentl e gll lndlcl
caratterlzzantl l'aslmmetrla sl dlscostano tra le varle sotto-aree:
compattezza: 0.545885
|nd|c| sub-areaJ: 0.287485 J.44944 0.00J457J7
|nd|c| sub-area2: 0.257847 J.59052 0.00J9JJ75
|nd|c| sub-areaJ: 0.J8J5JJ 5.J9599 0.00JJ9705
|nd|c| sub-area4: 0.20J05J 4.92JJ9 0.00J420J5
09GHE7 SIPPJ &AG? D9GHE7 9EE?G;<7E?
SIL > 4?EN7:9<9:a A?<<5788<9B7K9;C? @;F9<?
L'appllcazlone moblle, Skln Leslon Detectlon, lmplementata ln questo lavoro dl tesl, nel
complesso, e stata slcuramente ottlmlzzata per poter acqulslre e caratterlzzare
melanoml. Ma allo stesso tempo, grazle all'elevato llvello dl modularlzzazlone adottato
nella progettazlone (vedere flgura 5.4), la stessa appllcazlone potrebbe essere
benlsslmo adottata per acqulslre leslonl cutanee dlverse dal melanoma, ln questo caso
sl tratterebbe sempllcemente dl ottlmlzzare e/o varlare alcune funzlonl del modulo dl
lmage processlng.
Quanto appena descrltto, e una prlma forma dl versatlllt dell'appllcazlone, ma questa
non e l'unlca, e posslblle ragglungere llvelll dl versatlllt ancora magglorl. lnfattl, sl
potrebbe sfruttare la stessa appllcazlone per acqulslre lmmaglnl che non avrebbero
nlente a che fare con le anomalle cutanee e allo stesso tempo processare le stesse ln
base al partlcolare contesto per cul vengono acqulslte. ln quest'ultlmo caso quello che
blsognerebbe fare e sempllcemente rlprogettare la loglca del modulo dl lmage
processlng ln C++, lnvocato attraverso ll metodo natlvo, a seconda delle nuove
necesslt. Tutto questo avverrebbe senza effettuare nessuna modlflca sull'archltettura
dell'appllcazlone Androld, al masslmo potrebbero essere fatte delle plccole modlflche
per agglungere e/o rlmuovere alcune funzlonallt dell'appllcazlone globale.
'789:;<; T> ';CB<HN9;C9 ? .O9<H889
0H:HE9
ln quest'ultlmo capltolo vengono anallzzate le prlnclpall funzlonl che l'appllcazlone Skln
Leslon Detectlon potrebbe fornlre, nel dlversl scenarl del mondo reale, a partlre dalle
funzlonallt lmplementate nel lavoro dl tesl. lnoltre, vlene rlportata la descrlzlone della
fase lnlzlale della progettazlone dl alcune funzlonallt lmplementablll come svlluppl
futurl.
TI= > ';CB<HN9;C9
Come gl speclflcato nel capltolo 5, l'aspetto prlnclpale da prendere ln conslderazlone
per poter effettuare una valutazlone del rlsultatl del lavoro dl tesl, e slcuramente l'eslto
della segmentazlone delle leslonl cutanee. ln partlcolare, trattandosl dl algorltml che
devono essere esegultl su dlsposltlvl moblle, nella valutazlone e stato dato molto peso
al rlsultatl ottenutl da lmmaglnl acqulslte dlrettamente con lo smartphone, pur
conslderando soltanto melanoml slmulatl e nel non mallgnl.
A segulto delle numerose slmulazlonl effettuate, e posslblle affermare che l rlsultatl
ottenutl hanno slcuramente superato le aspettatlve lnlzlall se sl pensa al fatto che
l'lndlvlduazlone della leslone avvlene tramlte smartphone, senza l'lmpostazlone dl
nessun vlncolo strlngente durante le acqulslzlonl. Cll unlcl vlncoll sarebbero quelll
classlcl, che non vanno al dl l delle buone norme da adottare per un qualslasl slstema
dl acqulslzlone, come: evltare la creazlone dl ombre sull'oggetto da acqulslre, evltare dl
effettuare acqulslzlonl ln amblentl soggettl a contlnul camblamentl dell'lllumlnazlone,
evltare movlmentl del dlsposltlvo nell'lstante dl acqulslzlone ecc. lnfattl, l rlsultatl
rltenutl posltlvl sono statl ottenutl lndlpendentemente dal seguentl fattorl:
" dlstanza tra smartphone e leslone cutanea;
" orlentazlone dello smartphone rlspetto alla leslone cutanea;
" condlzlone dl luce globale dell'lntera scena;
" rumore dovuto alla pelurla della pelle;
" plgmentazlone della leslone cutanea;
" forma della leslone cutanea;
" grandezza della leslone cutanea.
Ovvlamente con tutto questo non e posslblle affermare e garantlre ll funzlonamento
dell'appllcazlone ln tuttl l posslblll casl, ma slcuramente l rlsultatl ottenutl sono
lncoragglantl per poter pensare ad ottlmlzzazlonl e ulterlorl svlluppl che
permetterebbero la reallzzazlone dl progettl utlllzzablll nel mondo reale.
bene rlcordare che la progettazlone dell'appllcazlone, Skln Leslon Detectlon, e nata
dall'eslgenza dl lrrobustlre e automatlzzare ll modulo dl teledermatologla utlllzzato dalla
plattaforma Sana (vedere paragrafo 2.3). Quanto lmplementato rappresenta una sollda
base, da cul poter partlre, per reallzzare altre funzlonallt che contrlbulrebbero alla
creazlone dl un'appllcazlone completa dl supporto alle declslonl, portando mlglloramentl
ln termlnl dl ottlmlzzazlone, correttezza e tempestlvlt delle cure. lnoltre, blsogna tener
presente che funzlonallt dl questo tlpo avrebbero una valenza ancora magglore nel
paesl sottosvlluppatl, dove un'elevata percentuale dl mortallt e proprlo legata alla
mancata tempestlvlt delle cure.
Tuttavla l'appllcazlone per l'lndlvlduazlone e la caratterlzzazlone dl melanoml, oggetto dl
questo lavoro dl tesl, e stata progettata per poter essere utlllzzata sla come modulo
lntegrante della partlcolare plattaforma dl telemedlclna, Sana, e non solo, sla come App
a se stante. Avere un dlsposltlvo dalle funzlonallt versatlll, qual'e uno smartphone, che
sla anche ln grado dl lndlvlduare e caratterlzzare ln manlera automatlca melanoml,
porterebbe agll operatorl sanltarl (medlcl e non) lnnumerevoll vantaggl. lnfattl, una
volta che sl rlusclsse a creare un'appllcazlone completa, gll operatorl sanltarl avrebbero
a dlsposlzlone un strumento dl valutazlone computerlzzato, tramlte cul effettuare delle
operazlonl slmlll a quelle messe a dlsposlzlone del dermatoscopl computerlzzatl.
Rlspetto a quest'ultlml, l'ulterlore valore agglunto per uno smartphone e quello dl
garantlre contemporaneamente sla la portablllt dello strumento sla la comunlcazlone
lndlpendente (lnfattl, pensando all'lntegrazlone dl Skln Leslon Detectlon ln Sana, lo
smartphone sl comporta sla come dlsposltlvo dl valutazlone sla come host-"punto d|
accesso" per l'lnvlo del datl al server).
Nel prlmo sotto-paragrafo e presente la descrlzlone sul funzlonamento dell'lntegrazlone
Sana-SLD, mentre nel secondo sotto-paragrafo e presente una descrlzlone sul llmltl
funzlonall, allo stato attuale, dell'appllcazlone Skln Leslon Detectlon.
TI=I= > $C:?GE7K9;C? A9 .X9C #?N9;C *?:?B:9;C 9C .7C7
L'lntegrazlone dl Skln Leslon Detectlon, e stata posslblle senza effettuare modlflche
sostanzlale all'appllcazlone Sana, questo grazle al fatto che ln fase dl progettazlone
dell'app SLD e stata prevlsta la posslblllt che essa potesse essere lnvocata da
un'appllcazlone esterna. Tecnlcamente questo dlscorso sl traduce ln un'opportuna
gestlone degll lntent, secondo quanto descrltto nel paragrafo 5.2, ln modo tale che la
Skln Leslon Detectlon dlventl una sub-actlvlty dell'appllcazlone Sana.

09GHE7 TI=J ';@HC9B7K9;C? .7C7 > .#*
La perfetta lntegrazlone dl Skln Leslon Detectlon ln Sana e stata effettuata facendo ln
modo che SLD sl comportl, dal punto dl vlsta della chlamata da parte dl un'app esterna
e ll rltorno a quest'ultlma, come l'appllcazlone natlva della camera. Dl segulto vlene
elencata la sequenza delle operazlonl prlnclpall effettuate dalla Skln Leslon Detectlon
per gestlre questa lnterazlone.
! L'app SLD, al momento della sua esecuzlone, lntercetta l'lntent e caplsce dl
essere stata rlchlamata da un'app esterna e non dlrettamente dall'utente.
! Dall'app esterna (nel partlcolare scenarlo cl sl rlferlsce a Sana) rlceve una strlnga
contenente ll path dove salvare l'lmmaglne dl lnteresse.
! L'appllcazlone Skln Leslon Detectlon effettua tutte le sue consuete operazlonl ed
ln pl nel momento del Save Flcture effettua un ulterlore salvatagglo:
l'lmmaglne lntera con ll plottlng dell'edge lndlvlduato dall'algorltmo. Quest'ultlmo
salvatagglo e effettuato rlspettando ll path passatogll dall'actlvlty chlamante (nel
partlcolare caso: Sana).
! Termlnata l'esecuzlone, la Skln Leslon Detectlon restltulsce all'appllcazlone
chlamante un messagglo dl OK o NON OK a seconda se l'lmmaglne e stata
salvata o meno.
ln questo modo ll funzlonamento dl Sana rlmane lnvarlato, l'unlca dlfferenza la sl ha nel
momento ln cul sl deve acqulslre un'lmmaglne, sla del volto del pazlente sla della zona
patologlca: ll slstema Androld fornlsce all'utente l'elenco delle appllcazlonl che sono ln
grado dl acqulslre un'lmmaglne dalla camera (mentre nel funzlonamento classlco dl
Sana, vlene aperta dlrettamente l'app della camera natlva). Nel caso partlcolare cl
sarebbero due appllcazlonl: quella della camera natlva e la Skln Leslon Detectlon, come
mostrato ln flgura T.2 .
09GHE7 TILJ &<?CB; ,88 BM? G?N:9NB;C; <7 B7@?E7
Qulndl, nel caso ln cul la zona patologlca corrlsponde ad un melanoma sl utlllzzer l'app
SLD mentre ln tuttl gll altrl casl, lmmaglnl del volto del pazlente e lmmaglnl delle
patologle che non lnteressano le leslonl cutanee, sl utlllzzer l'app natlva.
ln questo modo all'app Sana non fa nessuna dlfferenza se l'lmmaglne e stata acqulslta
con l'app natlva pluttosto che con Skln Leslon Detectlon e qulndl esegue le consuete
operazlonl allo stesso modo, completando l'lnserlmento del datl per pol effettuare
l'upload sul gestore OpenMRS.
L'lmmaglne presente ln flgura T.3 rappresenta l'acqulslzlone, tramlte Skln Lelson
Detectlon, dl una leslone slmulata acqulslta durante l'esecuzlone ln Sana dl una
procedura dl follow-up.
09GHE7 TIPJ ,BcH9N9K9;C? A9 <?N9;C? N9@H<7:7 7::E7O?EN; HC7 8E;B?AH:7 A9 D;<<;Y>H8 A9 .7C7
L'lmmaglne dl flgura T.4, rappresenta una screenshot dl una parte della coda OpenMRS
all'lnterno della quale vl sono l datl dell'ultlma proceduta uplodata, la cul lmmaglne delle
leslone e quella rappresentata ln flgura T.3.
09GHE7 TIQJ ';A7 "8?C1-. A?<<? 8E;B?AHE? .7C7
Nella coda OpenMRS, le lmmaglnl dl destra corrlspondono al presuntl voltl del pazlentl
mentre quelle dl slnlstra alle lmmaglnl della patologla, che se sl tratta dl melanoml sl ha
anche l'evldenzlamento dell'edge (nel caso e stato utlllzzato SLD per l'acqulslzlone).
Ovvlamente ln tutto questo dlscorso come appllcazlone esterna chlamante Skln Leslon
Detectlon sl e fatto rlferlmento a Sana ma nulla vleta che SLD possa essere lnvocata da
altre appllcazlonl, questo e ln llnea con la versatlllt dell'appllcazlone Skln Lelson
Deteclon (descrltta nel paragrafo 5.2) .
TI=IL > #9@9:9 A?<<5788<9B7K9;C? .X9C #?N9;C *?:?B:9;C
Dl segulto vengono elencatl l prlnclpall llmltl dell'appllcazlone Skln Leslon Detectlon,
llmltl che per sono legatl sempllcemente allo stato attuale dello svlluppo
dell'appllcazlone, ll che slgnlflca che questl verrebbero bypassatl da ottlmlzzazlonl e/o
agglunte dl funzlonallt orlentate agll svlluppl futurl.
! ll vantagglo che l'appllcazlone SLD possa essere esegulta su dlsposltlvl dlversl, da
quello utlllzzato durante la fase dl svlluppo, ha dl contro ll fatto che l sensorl delle
dlverse camere hanno delle caratterlstlche hardware dlfferentl al punto che
potrebbero far varlare dl molto la quallt delle lmmaglnl e dl conseguenza l'eslto
della caratterlzzazlone della leslone cutanea. Fer affrontare questl probleml
potrebbe essere necessarlo anallzzare le caratterlstlche dl ognl sensore,
varlandone le lmpostazlonl slno a trovare un glusto compromesso per la
conslstenza del rlsultatl sla vlslvl sla numerlcl.
! l descrlttorl della leslone vengono sempllcemente mostratl a schermo; essl
slcuramente sono coloro che ln qualche modo potranno contrlbulre alla
caratterlzzazlone oggettlva del melanoma, ad esemplo tramlte regole ABCD, per
l sempllcl valorl numerl hanno poca lnterpretazlone da parte del medlco. Fer
questo llmlte cl sarebbero dlverse soluzlonl, le pl utlll, al flnl pratlcl, potrebbero
essere quelle descrltte nel paragrafo degll svlluppl futurl.
! Rlsolto ll llmlte del punto precedente, sarebbe pl opportuno effettuare ll
salvatagglo delle caratterlstlche del melanoma ln un flle XML-llke anzlch
nell'attuale flle testuale. ln questo modo le caratterlstlche salvate sarebbero
lnterpretablll sla dall'uomo sla dal calcolatore. L'ldeale sarebbe utlllzzare del tag
XML compatlblll o che estendono l concettl medlcl appartenentl al dlzlonarlo
lnternazlonale del gestore dl cartelle cllnlche OpenMRS; questa cosa
lntrodurrebbe vantaggl ln fase dl rlcerca delle lnformazlonl, a segulto dell'upload
del descrlttorl sul server.
! l descrlttorl vengono salvatl soltanto sullo smartphone, ll passo successlvo
dovrebbe essere quello dl gestlre sull'app Sana e sul server MDS l'upload del
descrlttorl, ed eventualmente consentlre ll salvatagglo, degll stessl, all'lnterno dl
una nuova tabella estendlblle nel gestore OpenMRS.
! Nell'estrazlone del descrlttorl non e presente la dlmenslone della leslone a causa
del fatto che ll dlsposltlvo pu effettuare le acqulslzlonl a dlstanze dlfferentl; per
rlusclre ad avere anche la dlmenslone blsognerebbe pensare ad equlpagglare lo
smartphone dl un rlferlmento, dl cul sl conoscono le dlmenslonl, solldale all'lntero
dlsposltlvo.
! La leslone vlene estratta soltanto per pelll pl chlare del plgmento della leslone,
comunque questo e ln llnea con la tlpologla dl melanoma conslderata ln questo
lavoro dl tesl, ossla ll melanoma superflclale (vedere paragrafo 2.1.2) che tra
l'altro e quello pl dlffuso.
! La quallt e la preclslone del datl estrattl attraverso tecnlche computerlzzate
esegulte su dlsposltlvl smartphone non potr mal essere ldentlca a quelle fornlte
da dlsposltlvl come dermatoscopl computerlzzatl, a causa del numerosl gradl dl
llbert (lllumlnazlone varlablle, dlstanza varlablle ecc) che un dlsposltlvo moblle
lntroduce durante la fase dl acqulslzlone. Fer mlglloramentl slgnlflcatlvl
potrebbero essere ottenutl progettando opportunamente degll accessorl
hardware per lo smartphone (ad esemplo un dlstanzlale, del led che rendono
unlforme l'lllumlnazlone ecc.) .
T3@ 4 /B8<LJJ8 UL5L78
Nel sotto-paragrafl successlvl sono rlportatl del posslblll svlluppl futurl per l quall non e
cltata sempllcemente la proposta ma vl e la descrlzlone dello start-up della fase dl
progettazlone. ll mlnlmo comune denomlnatore dl ognl slngola proposta e quello dl
fornlre, ln ognl caso, un slstema dl supporto alle declslonl a partlre dal descrlttorl estrattl
attraverso gll algorltml dl lmage processlng, lmplementatl per questo lavoro dl tesl. A
presclndere dalla slngola proposta, per un ampllamento del progetto e necessarlo avere
a dlsposlzlone un data-set numeroso dl lmmaglnl rappresentantl sla melanoml sla leslonl
non mallgne. Soltanto avendo a dlsposlzlone queste lmmaglnl sarebbe posslblle valldare
la conslstenza dl un slstema dl supporto alle declslonl. D'altro canto, ln questa fase del
progetto, sarebbe necessarla la stretta collaborazlone con medlcl dermatologl, ln modo
tale da avere un'approvazlone et|ca dl cl che sl andr ad lmplementare.
Allo stesso tempo afflnch sl volesse reallzzare un'appllcazlone flnale completa sarebbe
necessarlo rlsolvere alcunl llmltl dell'attuale appllcazlone, descrlttl nel paragrafo
precedente. lnoltre, le lmmaglnl elaborate dall'appllcazlone Skln Leslon Detectlon sono
trattate con ll formato compresso |peg, blsognerebbe caplre se tale formato e sufflclente
a rappresentare l dlversl dettagll delle leslonl cutanee, ln caso contrarlo blsognerebbe
utlllzzare un formato non compresso.
er la comprens|one, d| alcune part|, de| success|v| sotto-paragraf| e necessar|o una
conoscenza almeno d| l|vello base de| pr|nc|pal| algor|tm| d| Hach|ne /earn|ng",
soprattutto delle ret| neuronal| art|f|c|al|.
TILI= > -?B;GC9:9;C A9 @?<7C;@9 :E7@9:? -?:? (?HE7<? ,E:9D9B97<?
Le retl neurall artlflclall sono uno degll strumentl utlllzzatl per effettuare operazlonl dl
Machlne Learnlng, ln un qualslasl contesto appllcatlvo. Le retl neurall sono una classe
dl approsslmatorl numerlcl lsplratl alle retl dl cellule neuronall presentl nel cervello dl
organlsml blologlcl; ln partlcolare sono approsslmatorl unlversall, ossla per qualslasl
funzlone lngresso-usclta eslste una rete neurale che pu approsslmare la funzlone.
lnfattl, le appllcazlonl delle retl neurall rlsultano essere:
" modellazlone;
" predlzlone;
" pattern recognltlon;
" classlflcazlone.
ll modello classlco dl una rete neurale (oltre a questo eslstono dlverse varlantl) e
costltulto da un certo numero dl lngressl (ad esemplo le varlablll dl una funzlone che sl
vuole approsslmare) e un certo numero dl usclte separatl da nodl (neuronl)
lnterconnessl tra dl loro attraverso connesslonl pesate che stablllscono qual'e ll
collegamento tra ognl neurone e quelll che lo clrcondano. lnoltre una rete neurale pu
essere costltulta da pl stratl.
09GHE7 TIRJ -788E?N?C:7K9;C? A9 HC7 E?:? C?HE7<? 7 AH? N:E7:9
Non c'e nessuna regola che permette dl stablllre a prlorl ll mlgllor numero dl stratl e ll
numero dl neuronl per ognl strato che costltulscono la rete neurale. La soluzlone
mlgllore la sl ottlene effettuando dlverse prove slno a trovare la conflgurazlone che
megllo soddlsfa ll partlcolare scenarlo che sl sta conslderando (per una mlgllore
comprenslone sl rlmanda alla lettura dl un manuale delle retl neurall). Una rete neurale
rlsulta addestrata quando vlene trovata una conflgurazlone dl pesl sufflclente a rltenere
vallde le usclte della rete.
Ovvlamente, come lo sl evlnce dal tltolo stesso dl questo paragrafo, l'ldea e quella dl
utlllzzare la rete neurale nel campo del pattern recognltlon, ln partlcolare che permetta
dl rlconoscere se l'lmmaglne dl una leslone cutanea e un melanoma o meno. ln questo
contesto ll pattern altro non sar se non ll vettore contenente l descrlttorl che
caratterlzzano la slngola leslone. Questo presume la dlsponlblllt dl una data-set dl
lmmaglnl contenentl sla melanoml sla leslonl non mallgne. Fer queste tlpologle dl retl
neurall e prevlsto un addestramento dl tlpo supervlslonato, ossla utlllzzare un certo
numero dl lngressl-usclte (sub data-set dl tralnlng) per la fase dl tralnlng e un certo
numero dl lngressl-usclte (sub data-set dl valldatlon) per la fase dl valldazlone. ln
partlcolare, la fase dl tralnlng consta ln un processo lteratlvo ln cul vengono fattl varlare
l pesl degll stratl che connettono gll lngressl e le usclte; questo processo termlna
quando vlene lndlvlduata (a seconda del dlversl crlterl dl stop dell'algorltmo) la
conflgurazlone dl pesl che megllo approsslma le usclte. Al termlne dl questa fase vlene
effettuata la valldazlone che permette dl caplre quanto robusta e la rete addestrata; ln
partlcolare per ognl lngresso del sub data-set dl valldatlon sl effettua ll prodotto
vettorlale con la matrlce del pesl, ottenuta dall'addestramento, e sl controlla quanto
l'usclta approsslmata sl dlscosta dalla rlspettlva usclta effettlva.
Nel contesto del melanoma, afflnch tutto questo possa essere effettuato sar
necessarlo per ognl lmmaglne del data-set conoscere se contlene una leslone mallgna o
meno, soltanto ln questa manlera sl rlusclrebbe ad addestrare la rete neurale. ln
partlcolare per ll rlconosclmento del melanoma, contestuallzzato a questo lavoro dl tesl,
gll lngressl saranno l descrlttorl (pattern) estrattl per ognl leslone mentre l'usclta sar un
valore blnarlo, ad esemplo 0 se al corrlspondentl lngressl e assoclata una leslone non
mallgna vlceversa assumer 1 qualora e assoclato un melanoma.
Sulla base dl quanto appena descrltto, dl segulto vlene elencata la sequenza dl steps da
segulre per poter lmplementare ll slstema dl supporto alle declslonl, basato su rete
neurale, per ll rlconosclmento automatlco dl melanoml.
1. Appllcare, a tutte le lmmaglnl facentl parte del data-set a dlsposlzlone, gll
algorltml dl lmage processlng, sla per la segmentazlone sla per l'estrazlone del
descrlttorl, lmplementatl ln questo lavoro dl tesl. Selezlonare per gll steps
successlvl soltanto le lmmaglnl per le quall verr verlflcato vlslvamente la
correttezza dell'lndlvlduazlone dell'edge.
2. Creare, dalle lmmaglnl selezlonate nel punto precedente, ll data-set dl tralnlng e
dl valldatlon. Ovvlamente entrambl l data-sets avranno come lngresso ll vettore
del descrlttorl e come usclta 1 o 0 rlspettlvamente se la leslone e mallgna o
meno.
3. Effettuare la normallzzazlone dl ognl vettore d'lngresso polch sl hanno datl
aventl grandezze dlfferentl, ad esemplo componentl colorl(da 0 a 255),
compattezza(da 0 a 1) ecc.
4. Scegllere una conflgurazlone della rete neurale: numero dl stratl lntermedl e
numero dl neuronl per ognl strato.
5. Effettuare l'addestramento. Se l rlsultatl non sono soddlsfacentl blsogna relterare
ll processo rlpartendo dallo step 4, facendo varlare le dlverse conflgurazlonl della
rete. Non tutte le usclte determlnate dall'approsslmazlone saranno 0 o 1, alcune
avranno del valorl reall lntermedl; per questl casl sl pu decldere dl lmpostare un
valore dl soglla opportuno, al dl sotto del quale l'usclta e conslderata 0 mentre la
sl consldera parl a 1 se tale soglla vlene superata.
5. Salvare le matrlcl del pesl della mlgllor rete neurale addestrata.
Tutte queste operazlonl verranno fatte, ln off-llne, una sola volta. ln questo caso sl e
assunto che tuttl gll lngressl della rete neurale sono rllevantl, ossla che tuttl l descrlttorl
slano lndlpendentl tra dl loro. Fer asslcurarsl della lndlpendenza degll lngressl, prlma
dell'addestramento, e opportuno effettuare delle valutazlonl appllcando all'lntero data-
set un sempllce albero dl declslone, come l'algorltmo |-48, oppure pl ln generale le
tecnlche dl FCA (Frlnclpal Component Analysls). ln ognl caso eventuall dlpendenze tra l
descrlttorl non lnflcerebbero l'eslto dell'addestramento ma lntrodurrebbero solamente
rldondanze e qulndl magglore complesslt computazlonale.
Le matrlcl del pesl della rete neurale addestrata servlranno ad una nuova funzlone
dell'appllcazlone Skln Leslon Detectlon, ll cul complto sar quello dl rlconoscere se una
leslone e mallgna o meno. Questa funzlone effettuer ll sempllce prodotto vettorlale tra
gll lngressl (descrlttorl) e le metrlcl del pesl, ottenendo un numero che rappresenter
l'approsslmazlone dell'usclta. Ad esemplo questa funzlone potrebbe essere
lmplementata nella sub-actlvlty: /es|on Descr|ptors, dove anzlch vlsuallzzare l
descrlttorl potr sempllcemente vlsuallzzare un messagglo lndlcatlvo clrca la presenza
o meno dl melanoma. Supponendo dl aver lmplementato tale funzlone, dl segulto
vengono elencatl l macro-steps che l'appllcazlone Skln Leslon Detectlon effettuer ad
ognl rlchlesta dl caratterlzzazlone della leslone.
1. Frelevare l descrlttorl della leslone lndlvlduata (assumendo che l'edge sla stato
determlnato correttamente).
2. Effettuare ll prodotto matrlclale tra ll vettore del descrlttorl e le matrlcl del pesl.
3. Dall'esecuzlone dello step precedente vlene fuorl un numero reale, compreso tra
0 e 1; adottando lo stesso valore dl soglla del punto 5 dell'addestramento off-llne,
verr declso se la leslone e mallgna o meno.
ln questo modo sl verrebbe a creare un slstema dl supporto alle declslonl. Ad esemplo,
contestuallzzando tutto questo ln uno scenarlo tlplco della plattaforma dl telemedlclna
Sana: l'operatore sanltarlo, se rlceve dall'appllcazlone un feedback dl leslone mellgna,
nell'effettuare l'upload del datl potr agglungere un commento che banalmente faccla
aumentare ll llvello dl prlorlt nella coda OpenMRS, per la valutazlone delle dlagnosl da
parte del medlco. Ovvlamente questo e soltanto uno del posslblll utlllzzl dl questo
slstema dl supporto alle declslonl.
ln una loglca pl generlca, questo approcclo e caratterlzzato da una certa versatlllt
perch ln manlera molto slmlle sl potrebbe addestrare una rete neurale a caplre ll llvello
dl stadlazlone del melanoma. ln questo caso le prlnclpall dlfferenze rlspetto al
recognltlon melanoma/non melanoma:
" dlsporre dl un data-set contenente lmmaglnl dl tuttl melanoml, dove per per
ognuna sl sappla a quale del quatto stadl sl trova;
" l'usclta non sar pl un valore blnarlo, ma avr quattro posslblll valorl.
TILIL > $@7G? -?:E9?O7< A9 @?<7C;@9
Un altro posslblle svlluppo slcuramente meno soflstlcato della precedente ma allo stesso
tempo utlle, potrebbe essere quella dl fornlre all'operatore sanltarlo un elenco ordlnato
dl lmmaglnl (presentl su un database remoto) contenentl melanoml tramlte le quall egll
potr alutarsl a valutare la leslone corrente. L'ordlnamento delle lmmaglnl e lnteso come
ranklng dl somlgllanza, a llvello dl features, rlspetto all'lmmaglne estratta, per cul sl
vuole effettuare una valutazlone.
Scenarl dl questo genere verrebbero gestltl attraverso tecnlche dl lmage retrleval (o
vlsual retrleval). l slsteml dl lmage retrleval sl occupano del recupero dl lmmaglnl,
basato escluslvamente (o prevalentemente) sulllnformazlone vlslva. lnoltre, vlslva e la
query dellutente e vlslvo e ll raglonamento, ovvero l crlterl dl slmllltudlne sul quall sl
basa ll recupero e ll ranklng, o leventuale lndlclzzazlone dellarchlvlo.
09GHE7 TISJ $C:?E7K9;C? :989B7 A9 HC N9N:?@7 A9 9@7G? E?:E9?O7<
Fer quanto rlguarda le tecnlche dl rlconosclmento adottate da un slstema dl lmage
retrleval, sono essenzlalmente due: approcc|o stat|st|co e template match|ng
deformab|le. La seconda e quella meno adatta per ll retrleval dl lmmaglnl trattate ln
questo lavoro dl tesl polch non e lndlpendente da roto-traslazlonl e scallng. Mentre con
l'approcclo statlstlco sl sfruttano le stesse tlpologle dl descrlttorl estrattl per le lmmaglnl
utlllzzate nel lavoro dl rlcerca. lnfattl, ln generale, per l'approcclo statlstlco sl scelgono
una serle dl caratterlstlche (features) dellapparenza dl un oggetto (O) che slano
facllmente mlsurablll. O e descrltto tramlte un punto ln R
n
dato dal vettore v(O/ delle n
mlsurazlonl delle sue features. ll database vlene ordlnato ln base alla dlstanza tra
l'oggetto dell'lmmaglne corrente (O
curr
) e le lmmaglnl O
l
ln esso contenute:
d|st( v(O
|
/, v(O
curr
/ /.
ln partlcolare, prolettando ll slstema dl lmage retrleval per l'appllcazlone Skln Leslon
Detectlon, l'oggetto O
cur
rappresenter la leslone cutanea estratta. Ovvlamente afflnch
un slstema dl questo tlpo possa funzlonare sl presuppone la presenza sul server dl un
database contenente le features.
Fer la pratlca utlllzzablllt dl un slstema dl questo tlpo nella caratterlzzazlone del
melanoma, prendendo come rlferlmento uno scenarlo ln cul operare con l'appllcazlone
Sana-SLD, ha poco senso vlsuallzzare all'operatore sanltarlo un'lntera llsta dl centlnala
se non mlgllala dl lmmaglnl. Qulndl, sar opportuno lmpostare una soglla dl rlferlmento
per la vlsuallzzazlone delle lmmaglnl. ln questo modo, verrebbero escluse tutte le
lmmaglnl per cul l'operazlone dl d|st porta un rlsultato al dl sopra della soglla; questo
slgnlflcherebbe che tall lmmaglnl saranno molto dlstantl rlspetto a quella ln esame.
Questo tlpo dl operazlone verrebbe effettuata dlrettamente sul server, ad esemplo
lmplementando un nuovo modulo ln Fython per MDS, che sla ln grado dl rlspondere alla
partlcolare rlchlesta da parte del cllent (che lnvler, tramlte HTTF, ll vettore del
descrlttorl). veroslmllmente qualora la llsta delle lmmaglnl fosse vuota, slgnlflcher che
molto probab|lmente la leslone ln esame non e mallgna (questa supposlzlone
rlsulterebbe vallda, soltanto se dl dlsponesse dl un data base molto oneroso dl
melanoml).
Dal punto dl vlsta tecnlco, sl potrebbero lmplementare due approccl dl vlsuallzzazlone
delle lmmaglnl:
! Una volta che ll server avr tlrato fuorl la llsta dl melanoml meno dlstantl dalla
query fatta dal cllent, esso stesso potr generare a run-tlme una paglna web
contenente la llsta delle lmmaglnl. ln questo modo al cllent verrebbe lnvlato
sempllcemente l'URL della paglna web appena generata, cosl l'operatore
connettendosl a questa paglna potr vlsuallzzare le lmmaglnl. Ovvlamente per la
creazlone della paglna sl potrebbero adottare dlverse polltlche, tenendo ln mente
che ll server potr rlspondere contemporaneamente a rlchleste: dl dlversl
dlsposltlvl, dl dlverse patologle, dl dlversl pazlentl ecc. .
! ln questo secondo caso, ll server, anzlch generare a run-tlme una paglna web,
potr gestlre ll download dl ognl slngola lmmaglne dlrettamente sullo
smartphone.
La scelta dl uno del due approccl dlpender dalle partlcolarl eslgenze.
TILIP > *?:?E@9C7K9;C? A?G<9 NB;E?N 8?E <7 :?BC9B7 ,+'*
Questo posslblle svlluppo avrebbe come scopo la generazlone automatlca dl scores che
caratterlzzano le regole della tecnlca ABCD, tale calcolo verrebbe effettuato sulla base
delle lnformazlonl fornlte dal descrlttorl estrattl. Fer la preclslone, verrebbero generatl
soltanto quelll corrlspondentl alle regole ABC. Lo score corrlspondente alla regola D,
verrebbe escluso per ll sempllce fatto che l descrlttorl estrattl non tengono conto della
dlmenslone della leslone, a causa delle raglonl speclflcate nel capltoll precedentl. Nella
dlagnosl classlca del melanoma, la generazlone dl questl scores vlene effettuata
manualmente, ad esemplo: ll medlco per le varlazlonl dl colore attrlbulsce uno score da
0(nessuna varlazlone) a 5(varlazlone elevata). Ovvlamente questo approcclo, come gl
speclflcato nel prlml capltoll, e suscettlblle a probleml dl soggettlvlt. Uno degll approccl
per la generazlone automatlca degll score potrebbe essere quello dl estrapolare delle
regole attraverso l classlcl metodl statlstlcl appllcatl ad un numero conslderevoll dl casl.
E lntultlvo lmmaglnare come per questo posslblle svlluppo, ancor pl del precedentl, e
necessarla la stretta collaborazlone con ll medlco speclallsta. Allo stesso tempo, per
l'estrapolazlone delle regole, vantaggloso sarebbe l'utlllzzo conglunto dl algorltml che
lmplementano alberl dl declslone.
ln generale la determlnazlone degll score, conslderando uno scenarlo tlplco
dell'appllcazlone Sana-SLD, potrebbe avere dlverse funzlonallt, alcune tra le pl
rllevantl:
! l'operatore sanltarlo potrebbe avere ln locale, ancor prlma dl effettuare l'upload
del datl, una caratterlzzazlone della leslone con regole ABC generate ln
automatlco;
! gll score generatl per le regole ABC, potrebbero essere utlllzzatl da degll algorltml
dl Machlne Learnlng che fornlrebbero, all'operatore sanltarlo, un feedback
complesslvo della leslone ln esame.
BlBLlOCRAFlA

Potrebbero piacerti anche