Home
da Monografia - Departamento de Sistemas e Computação
Contents
1. 22 Quadro 2 Iniciando a Intent para acessar a c mera sese 34 Quadr 3 Classe EOS uni tei ive eee EEE eet oe er E EE E e E ek 35 Quadro 4 Implementa o do m todo set GPSInfo eene 36 Quadro 5 Convertendo coordenadas da tela para coordenadas da imagem 37 Quadro 6 Salvando informa es imagem essere nennen nennen 39 Quadro 7 Salvando imagem no dispositivo essen 40 Quadro 8 Salvando imagem no dispositivo essere 41 Quadro 9 Enviando a imagem para classifica o sess 42 Quadro 10 Exibindo o resultado da classificag o eee 43 Quadro 11 Contrato da aplica o do servidor serene 44 Quadro 12 Retornando os nomes das esp cies da base de 45 Quadro 13 Recebendo uma imagem para classifica o e 46 Quadro 14 Conectando com a API para a classifica o eee 47 Quadro 15 Recebendo uma imagem cadastro de amostra ou 49 Quadro 16 Cadastrando uma nova amostra ou nova esp cie sse 50 Figura 13 Tela inicial da aplica o pesca entren ai ads 52 Figura 14 a Fotografar amostra b confirmar o resultad
2. 80 Intervalo R tulo Nome Cient fico Nome Popular Novas caracter sticas Populusx 3447 3510 31 canadensis Canadian poplar pilosa composta n o discolor Moench 3447 3461 81 3471 3492 82 Intervalo R tulo Nome Cient fico Nome Popular Novas caracter sticas Mahonia bealei l 3335 3389 29 Fortune Care Beale s barberry pilosa composta discolor 3335 3354 83 3365 3383
3. CO to C PD How o thNPmD CO w Co N 6 MS e wW wW Ru CO OI Ooo BR DBR HR BR DB BW DU O101010101 01 O1 public static void uploadClassifySample final String prImgPath final ImageView ivImage Thread t new Thread new Runnable public void run try HttpParams httpParameters new BasicHttpParams 1 HttpConnectionParams setConnectionTimeout httpParameters 999999999 HttpConnectionParams setSoTimeout httpParameters 99999999 HttpClient httpClient new DefaultHttpClient httpParameters HttpPost httppost new HttpPost Constants SERVICE_ADRESS UploadClassifySample FileBody fb new FileBody new File prImgPath ContentType APPLICATION_JSON MultipartEntityBuilder multipartEntity MultipartEntityBuilder create multipartEntity setMode HttpMultipartMode STRICT multipartEntity addPart image jpeg fb httppost setEntity multipartEntity build HttpResponse httpResp httpClient execute httppost HttpEntity entityResponse httpResp getEntity InputStream is entityResponse getContent if httpResp getStatusLine getStatusCode 200 throw new Exception salvarRetornoServidor is String s Exif getStringUserComment Constants IMA
4. o ass ncrona com o servidor A classe Constants cont m constantes comuns para o uso entre as atividades A classe GPs encapsula o acesso GPS do dispositivo provendo informa es de localiza o A classe 1 Exif gerencia a aquisi o e o armazenamento de metatags em arquivos Por fim Comunication gerencia as transfer ncias de dados do aplicativo cliente para o servidor 3 2 2 2 Diagramad e classes do aplicativo servidor As classes envolvidas em responder as requisi es enviadas pela aplica o cliente est o representadas pela Figura 10 30 Figura 10 Diagrama de classes que representa o servi o WCF do servidor lt lt interface gt gt IPS GetData GetSpecimens UploadClassifySmaple Stream primage UploadNewSample Stream primage I I i L PSSVC PlantarumAPI DB PATH getData 7 Ee Plantarum GetSpecimens String GetFeaturellnfo id PLNT FEAT ID Featurelnfo UploadClassifySample Stream primage Stream GetSpecimeninfo id PLNT_SPEC_ID Specimeninfo UploadNewSample Stream primage GetSpecimens RegisteringSpecimen prData String primagePath String AddSpecimen info Specimeninfo SaveExif prMessage String prFileName String GetSpecimenlmage specimen PLNT_SPEC_ID imagelnfo CreatePropertyltem Propertyltem Specimenlmagelnfo CopyStream prinput Stream prOutput Stream _ GetSpecimenlmage id PLNT S
5. string pontos dic CoordinatesPecioloPonta if specimenName pontos throw new Exception CoordinatesPecioloPonta ou SpecimenName est o vazios s o obrigat rios api new PlantarumAPI api OpenDatabase DB PATH var specimens api GetSpecimens bool contains false foreach var spec in specimens if spec Name specimenName contains true if contains api AddSpecimen new PlantarumAPI SpecimenInfo Name specimenName specimens api GetSpecimens Dictionary lt string long specDic new Dictionary lt string long gt foreach var spec in specimens specDic Add spec Name spec ID Point petiole new Point int Parse pontos Split int Parse pontos Split Split int Parse pontos Split Point tip new Point int Parse pontos Split Split api AddSample specDic specimenName prImagePath petiole tip specimenComment if uselmageToSpecimen true PlantarumAPI SpecimenImageInfo info new PlantarumAPI SpecimenImageInfo var img Image FromFile prImagePath ImageConverter converter new ImageConverter info Data byte converter ConvertTo img typeof bytel info MimeType null api SetSpecimenImage specDic specimenName info 51 No m todo RegisteringSpecimen a aplica o recebe a imagem e os dados textuais informados na aplicac o cl
6. 19 else if x gt bitmap getWidth 1 20 x bitmap getWidth 1 21 22 23 if y 0 24 y 0 25 else if gt bitmap getHeight 1 26 y bitmap getHeight 1 2x 28 29 int result int 2 30 result 0 y result 1 x 32 33 return result 34 O m todo no getCoordinatesOfImage chamado toda vez que o usu rio toca uma regi o no ImageView que mostra a imagem pois foi adicionado um onTouchListener neste primeiro e no evento onTouch foi adicionada a chamada para o m todo getCoordinatesOfImage Ao clicar pela segunda vez a aplica o assume que foram selecionadas as duas coordenadas necess rias para a imagem ent o exibido um 38 AlertDialog perguntando se o usu rio deseja manter inverter ou descartar os pontos Ao descartar a aplicag o espera que ele selecione novamente as coordenadas Ao manter ou inverter ele volta para a tela inicial e os pontos s o salvos nas propriedades EXIF da imagem Para salvar as coordenadas na imagem utilizado o m todo setStringUserComment que recebe como parametro uma String que ser salva na propriedade UserComment das propriedades EXIF da imagem pois esta propriedade pode receber um texto livre Fez se necess rio a adi o da biblioteca Exifdriver pois as bibliotecas nativas do Java n o possuem tratamento para a propriedade necess ria e as bibliotecas padr o do Android possuem um n mero limitado de op es que podem ser
7. Entre os trabalhos de Kinght Painter e Potter 2010 e Kumar et al 2012 a diferen a existe porque a cada classifica o o trabalho de Kumar et al 2012 retorna uma lista com os vinte poss veis resultados enquanto Kinght Painter e Potter 2010 retornam apenas a esp cie com o acerto possivel notar um aumento na precis o ao comparar os trabalhos que utilizam apenas caracter sticas geom tricas para a classifica o com o presente trabalho que utiliza 63 caracteristicas geom tricas descritores de Fourrier cor textura e ainda a descrig o de tr s caracter sticas informadas pelo usu rio para determinar o tipo formato e a textura da amostra 64 4 CONCLUSOES Este trabalho apresentou o desenvolvimento de uma aplica o m vel para captura de imagens de folhas de plantas informa es de localiza o e de caracter sticas morfol gicas atrav s de um smartphone com sistema operacional Android Tamb m prop s o desenvolvimento de uma aplica o servidora capaz de processar a informa o e fazer a classifica o de esp cies de plantas por meio de uma API Uma esp cie pode ser reconhecida ou adicionada passando para o servidor a imagem da folha da planta com coordenadas de pec olo e ponta da folha e tamb m descrevendo algumas caracter sticas da folha em quest o A adi o de tr s novas caracter sticas foi importante pois al m de aumentar o ndice de acerto nos testes da API possibilitou que fossem obtidos
8. Partindo da necessidade da comunicac o entre sistemas de naturezas diferentes com uma dif cil abertura para comunica o Gomes 2011 explica que poss vel utilizar webservices para resolver este problema pois permite que duas aplicag es desenvolvidas em linguagens diferentes possam comunicar se de forma simplificada por meio de servigos atrav s de XML Ferreira 2012 p 28 descreve webservices como sistemas autossuficientes e auto descritos que podem ser utilizados por outras aplica es ou servicos Ferreira 2012 explica que a grande vantagem em fazer uso deste tipo de sistema poder utilizar as necessidades de um nicho de usu rios como resposta para outro nicho de usu rios Assim tem se o reaproveitamento de c digo e uma otimiza o dos servi os conforme sua utiliza o Segundo Borges 2005 p 1 as vantagens do uso desta tecnologia acontecem por conta da ampla gama de aplica es que poss vel se desenvolver a partir dos servi os disponibilizados n o sendo necess rio que os sistemas possuam a mesma plataforma ou comunica o direta entre si Isso abre uma grande possibilidade de extens o de maneira transparente 17 Segundo Ferreira 2012 22 23 os princ pios fundamentais para esta arquitetura orientada a servi o s o visibilidade intera o e efic cia Neste cen rio o paradigma orientado a servicos em que os webservices est o inclusos proporciona algumas vantagens como cada um de seus servigos
9. o de imagem varia conforme o gerenciador de arquivos que estiver instalado e configurado como padr o no dispositivo No dispositivo utilizado para teste o gerenciador era o 7Zipper portanto a Figura 19 mostra a tela de seleg o de arquivos pelo 7Zipper 57 Figura 19 Tela para seleg o de arquivo o y be Pa B ME Ts 22 10 Evite chamadas indesejadas Baixe Truecaller EI A g n storage emulated t true panoramas pers PhotoEditor Pictures PitchLab PlantarumSamples Playlists PITrRes Podcasts As imagens salvas pelo aplicativo ficam dentro da pasta PlantaumSamples que ser criada assim que o aplicativo for instalado Ap s selecionar uma imagem antes de chegar tela de cadastro de amostra verificado se a imagem j possui as caracter sticas textuais informadas pelo usu rio e se j possui as coordenadas de pec olo e ponta Ao constatar que a imagem n o possui caracter sticas textuais a aplicag o abre a tela exibida na Figura 15 para que o usu rio as informe Se a imagem n o possuir as coordenadas de pec olo e ponta a aplicag o solicita que o usu rio as informe pela tela exibida na Figura 14 Ap s assegurar que estas informa es est o preenchidas a aplica o verifica ent o se a imagem possui coordenadas de GPS e se n o possuir a pr pria aplica o as preenche S ent o se d continuidade no fluxo e vai para a tela de cadastro de esp cies A partir do cadastr
10. processamento nesta etapa convertida a imagem para tons de cinza Feito isso iniciada a segmenta o com a fun o de descobrir quais pixels fazem parte da folha Em seguida s o fechadas as lacunas na folha e removidos alguns ru dos Em seguida a colora o da imagem convertida para bin rio e o interior da folha subtra do deixando uma imagem da borda da folha c extra o de caracter sticas morfol gicas essas s o utilizadas para a compara o entre a estrutura da imagem adquirida com as amostras cadastradas na base de 21 dados As caracter sticas morfol gicas utilizadas por Knight Painter e Potter 2010 p 6 compreendem propor o de aspecto retangularidade propor o de rea convexa propor o de per metro convexo circularidade excentricidade formato informa o espacial sobre a distribui o da folha em diferentes posi es em rela o ao eixo vertical e por fim histograma de angulac o A Figura 4 mostra a visualiza o do processo de detec o de bordas e a rota o da imagem a fim de encontrar a ponta e definir um eixo que divida em duas partes a imagem na aplica o desenvolvida por Knight Painter e Potter 2010 Figura 4 a Visualiza o da detec o de bordas b interface de rota o da imagem Fonte Knight Painter e Potter 2010 p 4 A aplicag o desenvolvida por Knight Painter e Potter 2010 teve os algoritmos de reconhecimento previamente testados
11. 1 verifica o manual onde o usu rio navega nas caracter sticas das esp cies retornadas da identifica o j rotulando a correspond ncia correta k adi o da folha para a cole o local 1 um mapa do local onde a folha foi coletada No trabalho de Kumar et al 2012 p 13 citado que o servidor de bakend um Intel Xeon com dois processadores quad core rodando a 2 33 Ghz cada e 16 GB de RAM Com exce o de algumas vers es de imagens em alta resolu o que s o servidas via Amazon s Simple Storage Service S3 todas as outras opera es s o gerenciadas pelo servidor deles 2 4 2 Automatic plant leaf classification for a mobile field guide an Android aplication Knight Painter e Potter 2010 desenvolveram uma aplica o que permite ao usu rio identificar esp cies vegetais atrav s de fotografias das folhas das plantas tiradas por um smartphone equipado com o sistema operacional Android Os autores ressaltam o uso da plataforma Android pelo fato da maioria destes dispositivos serem equipados com uma c mera de alta qualidade possuindo flash e foco autom tico Em mais alto n vel o algoritmo desenvolvido por Knight Painter e Potter 2010 segue as seguintes etapas a aquisi o da imagem a imagem de entrada adquirida com um smartphone Esta imagem deve ser capturada em uma dist ncia razo vel com boas condi es de luz e em um plano de fundo que ofere a um bom contraste em rela o folha b pr
12. Figura 12 Diagrama de atividades para classifica o de esp cies Plantarum Classify Sample Client Server API btAddSampleOnClick StartintentNewSample StartintentSampleDetails gt UploadClassifySample StartintentSelectPoints 2 wo ClassifySample Pd PlantarumApi ud l ii UploadClassifyNewSample 7 GetinformationFromString lt OpenDatabase LoadClassifier StartintentSampleDetails je _ Classify StartintentSelectPoints GetSpecimeninfo UploadClassifyNewSample ii GetSpecimentimage H g T Da mesma forma que a Figura 11 a Figura 12 mostra processo que se refere da maneira mais descritiva poss vel podendo n o executar dois processos de cria o dependendo do contexto do usu rio Se a imagem capturada pelo usu rio n o conseguir ser classificada junto a base de dados os processos de cria o GetSpecimenInfo Get SpecimenImage n o ser o invocados Mais detalhes de como os m todos funcionam poder o ser vistos na se o de implementa o 3 3 IMPLEMENTA O A seguir s o mostradas as t cnicas e ferramentas utilizadas e a operacionalidade da implementa o 3 3 1 T cnicas e ferramentas utilizadas A aplica o do servidor foi desenvolvida utilizando a linguagem CX disponibilizada pela plataforma Microsoft Net Como ambiente de desenvolvimento foi selecionada a IDE Micro
13. android amp start 250 gt Acesso em 07 set 2013 SAUERESSIG Daniel Levantamento dendrol gico na floresta ombr fila 2012 131 f Disserta o Mestrado em Ci ncias Florestais Setor de Ci ncias Agr rias Universidade Federal do Paran Curitiba Dispon vel em lt http www floresta ufpr br pos graduacao defesas pdf ms 2012 d618 0783 M pdf gt Acesso em 20 maio 2013 67 WIGGERS Ivonei STANGE Carlos E Manual de instruc es para coleta identificac o e herborizac o de material bot nico 2008 Dispon vel em lt http www diaadiaeducacao pr gov br portals pde arquivos 733 2 pdf gt Acesso em 29 jun 2014 WU Stephen G et al A leaf recognition algorithm for plant classification using probabilistic neural network In IEEE INTERNATIONAL SYMPOSIUM ON SIGNAL PROCESSING AND INFORMATION TECHNOLOGY 7th 2007 Giza Proceedings S 1 IEEE 2008 p 11 16 68 AP NDICE Imagens utilizadas para a validac o da aplicac o Esp cies escolhidas do banco de dados Fl via dataset para a validac o manual da aplica o Antes de cada esp cie a legenda detalha os valores separados por ponto e v rgula que representam consecutivamente o intervalo de amostras da esp cie o r tulo da esp cie o nome cient fico o nome popular e as novas caracter sticas inclu das Cada amostra de tem a sua identificac o esquerda Intervalo R tulo Nome Cient fico Nome Popular Novas c
14. bons resultados nos testes com esp cies reais Para os testes do aplicativo cliente foi utilizado um Samsung Galaxy S IV com sistema Android vers o 4 4 2 que possibilitou atingir o objetivo com sucesso devido qualidade da c mera do dispositivo A implementa o do aplicativo para servidor teve um bom resultado ao ser utilizado a linguagem CH por m teria sido mais proveitoso e facilitaria a integra o com a API se tivesse sido desenvolvido com o Microsoft Visual Studio 2010 pois o compilador de C do Microsoft Visual Studio 2010 diferente da vers o 2012 do Microsoft Visual Studio Isto gerou uma s rie de problemas que poderiam ter sido evitados ao utilizar a mesma vers o em que foi contruida a API O maior problema ao incluir as caracter sticas na API foi utilizar o Microsoft Visual Studio 2012 para isto Como a API foi constru da no Microsoft Visual Studio 2010 suas depend ncias OpenCV e QT necessitavam do compilador desta vers o Foi instalada a vers o 2010 do Microsoft Visual Studio e mesmo selecionando a vers o correta do compilador para a API ao compilar acontecia um erro que impossibilitava a cria o dos bin rios Foi necess ria a cria o de uma m quina virtual para a compila o da API onde s foi instalada a vers o 2010 do Microsoft Visual Studio e assim foi poss vel a cria o dos bin rios da API O desenvolvimento deste trabalho possibilita o reconhecimento e a classifica o de esp cies baseado no r
15. composto respectivamente A Figura 1 exibe os tipos de superf cie e os tipos simples e composto Figura 1 Exemplos de tipos de folhas Fonte adaptado de Ferri 1981 p 43 47 A Figura 1 mostra em ordem a folha simples b folha composta c folha lisa d folha pilosa Segundo Wiggers e Stange 2008 p 5 o processo de identifica o mais comum por meio da compara o da amostra rec m coletada com outra j catalogada Wiggers e Stange 2008 p 33 ainda cita outra caracter stica que deve ser levada em considera o para o reconhecimento a cor das faces da folha Algumas esp cies apresentam 16 na cor das faces de suas folhas estas esp cies s o denominadas discolores A Figura 2 mostra o exemplo de uma folha discolor Figura 2 Exemplo de folha discolor AA E Fonte Wiggers e Stange 2008 p 33 Wiggers e Stange 2008 p 5 explica que classifica o a ordena o das plantas em niveis hierarquicos de acordo com as caracter sticas apresentadas 2 2 DESENVOLVIMENTO DE WEBSERVICES Segundo Borges 2005 p 1 webservices podem ser considerados componentes de software independente de plataforma e implementa o unindo a infraestrutura da internet e comunica o via Extensible Markup Language XML Os webservices s o compostos por um fragmento de informag o que pode ser acessado de qualquer tipo de dispositivo por qualquer um em qualquer lugar
16. direg o do conhecimento necess rio para a execuc o deste trabalho Em especial a Arno Wilson Cassaniga por ter iniciado este trabalho e principalmente pela ajuda durante o desenvolvimento minha namorada pela compreens o e apoio nos momentos necess rios Ao meu orientador Aur lio Faustino Hoppe por ter idealizado e acreditado na viabilidade deste trabalho Talento 1 inspira o e 99 transpira o Thomas Edison RESUMO Este trabalho apresenta o desenvolvimento de uma aplica o m vel capaz de interagir com um servi o web para o cadastro e classifica o de esp cies de plantas atrav s da captura de imagens pelo dispositivo m vel onde a aplicag o est sendo executada As imagens capturadas s o enviadas juntamente com detalhes de captura e tr s caracter sticas macromorfol gicas para um servidor web que por meio de uma capaz de cadastrar ou classificar a amostra em uma base de dados Os resultados obtidos tornam poss vel o reconhecimento e classificac o de esp cies baseando se no registro de folhas Palavras chave Classificac o de plantas Dispositivos m veis Android ABSTRACT This work presents the development of a mobile application capable of interacting with a web service for registration and classification of plant species by capturing images with a mobile device where the application is running Captured images are sent along with details of capture and three macromorphological fea
17. folha 2v Semidor Usu rio UCOS Enviar imagem _ extend UCO6 Classificar amostra UCO07 Enviar resultado da classificac o Segue detalhamento dos casos de uso exibidos no diagrama da Figura 7 a UCO1 Fotografar folha permite ao usu rio acessar a c mera do dispositivo a fim de que seja fotografada uma amostra b uco2 Salvar imagem permite que o usu rio salve uma amostra no dispositivo m vel na aus ncia de conex o com o servidor para que seja enviada mais tarde C UC03 Cadastrar amostra permite que o usu rio cadastre uma nova amostra de determinada esp cie de planta d UC04 Cadastrar esp cie permite ao usu rio adicionar uma nova esp cie de planta na base de dados UCO5 Enviar imagem permite enviar para classificag o uma amostra que foi fotografada e salva anteriormente f 0 06 Classificar amostra permite que seja enviada para a classifica o uma imagem que acaba de ser fotografada g UC07 Enviar resultado da classifica o permite ao usu rio ver o resultado da classificac o 3 2 2 Diagrama de classes A aplica o composta por dois projetos diferentes e para facilitar o entendimento a representa o da estrutura das classes foi subdividida em duas subse es A primeira subse o referente aos diagramas do aplicativo cliente e a segunda se refere ao diagrama de classes do aplicativo servidor 27 3 2 2 1 Diagramas do aplicativ
18. foram impressas quatro amostras de cada esp cie para testar a aplica o as amostras impressas podem ser consultadas no Anexo A Ao iniciar os testes foram encontrados problemas no reconhecimento por fatores externos como por exemplo ilumina o configura o da c mera do dispositivo e foco da imagem a ser processada A partir destes problemas identificados foi iniciada a primeira bateria de testes com as amostras impressas utilizando condi es adequadas de ilumina o atentando se para as configura es da c mera e foco da imagem Os resultados obtidos foram positivos sendo que de trinta e duas imagens submetidas para classificac o apenas duas n o foram reconhecidas e quatro tiveram falso positivo indicando uma esp cie incorreta Para a segunda bateria de testes as imagens que nao haviam sido reconhecidas foram adicionadas base de dados e as que possu am falso negativo tamb m e ent o ao refazer o teste apenas uma imagem acusou falso positivo e nenhuma ficou sem ser reconhecida Uma terceira bateria de testes foi feita com a base de dados utilizando uma ferramenta disponibilizada por Cassaniga 2012 Nesta bateria foi constru da uma nova base de testes 60 onde foram adicionadas as mesmas esp cies por m apenas setenta por cento das amostras para cada esp cie foi inserida As esp cies que n o foram inseridas foram submetidas classifica o Os resultados podem ser vistos na Tabela 1 que lista as esp cies
19. no MATLAB Ap s isto os algoritmos do MATLAB serviram como guia para a implementa o da aplica o para a plataforma Android As fun es do MATLAB convex hull fill area e moments of inertia por serem especializadas e de mais alto n vel n o estavam dispon veis nas bibliotecas padr o do 22 Android e nem do Java portanto foram implementadas manualmente por Knight Painter e Potter 2010 Knight Painter e Potter 2010 optaram por fazer todas as opera es para o reconhecimento diretamente no dispositivo visando que na falta de internet o aplicativo seja capaz de computar localmente os dados e a partir de uma base local ser poss vel fazer o reconhecimento das esp cies A fim de melhorar a usabilidade de sua aplicag o Knight Painter e Potter 2010 sugerem que sejam feitas melhorias no algoritmo nas etapas onde o usu rio interage com a segmenta o A implementa o realizada por eles utiliza um grande numero de itera es que deveriam ser evitadas para diminuir o atraso na atualiza o da imagem exibida nestas etapas 2 4 3 Shape based plant leaf classification system using Android No trabalho de Sangle Shirsat e Bhosle 2013 descrito o desenvolvimento de uma aplica o Android que proporciona ao usu rio a habilidade de identificar esp cies vegetais baseado em fotografias das folhas das plantas tiradas por um dispositivo m vel A aplicag o proposta composta das seguintes etapas a aquisi o da imag
20. void tryAdjustimageSize String void B calculatelnSampleSize Options int int int copyFile Fil File void setThreadResutt String void getThreadResult String amp trydjustimageRotation String void G exiffoDegrees float float decodeBitmapFromResource Resources int int int Bitmap 9 Constants com plantarum utils A SF SERVICE_ADRESS String http 10 0 0 115 PLIPS svc a ei IMAGE DIR String Environment A F getExtematStorageDirectory getPath A File separator Les PlantarumSamples File separator SF MAGE PATH String DIR TEMP JPG le Q9 setStringUserComment String Context String void 23 String IM MP g O SetStringUserComment String Context String void 5 S MAGE_CAPTURE_RESULT_CODE int 19890314 hasPoints String boolean SF CONNECTIVITY_RESULT_CODE int 19891403 ESS S CHOOSE_FILE_RESULT CODE int 14031989 gum S SELECT POINTS RESULT CODE int 14198903 ER SF NEW_SAMPLE_RESULT_CODE int 3141989 9 getStringUserComment String String SF SAMPLE DETAILS RESULT CODE int 3198914 e Constants O pacote utils composto pelas classes Utils Comunication GPS Constants Exif classe Utils cont m m todos diversos para o tratamento de arquivos a exibi o das imagens em seu tamanho correto no dispositivo e para tratar o resultado da comunica
21. 0 20 100 17 17 100 Thunb ex A Murr Koidz Phoebe nanmu Oliv 17 17 100 20 19 95 Gamble Phyllostachys edulis 16 13 81 25 16 16 100 Carr Houz Total 145 97 24 146 97 94 O cen rio para os testes foi constru do da mesma forma para as duas vers es e as amostras para cadastro e treino s o geradas aleatoriamente pela ferramenta disponibilizada por Cassaniga 2012 61 3 4 2 Testes com esp cies locais Para o segundo cen rio foram utilizadas esp cies reais de plantas selecionando algumas esp cies que possuiam os atributos que foram incluidos na API processo de populac o da base de dados o treinamento da rede neural aconteceram unicamente por interm dio da aplicag o desenvolvida simulando com maior veracidade cen rio de utilizac o da aplicac o Para os testes em ambiente real foram encontrados problemas de iluminag o e contraste na imagem causados pela sombra gerada pela pr pria amostra e pela falta de ilumina o de exposi o da imagem Para contornar o problema de contraste foi necess rio que as amostras fossem fotografadas sobre um vidro sobre uma superf cie branca Para contornar o problema da sombra da amostra optou se por utilizar o flash do dispositivo obtendo resultados positivos Foram utilizadas cinco diferentes esp cies para esta se o de testes utilizando diferentes combina es das novas caracter sticas inclu das na API A Figura 21 mostra as esp cies c
22. 11 Diagrama de atividades para cadastrar amostra Plantarum Add Sample Client API PlantarumApi btAddSampleOnClick A startintentChooseFile OpenDatabase GetSpecimens M jj False asDetails 2 True False lt fasSpecime 2 StartintentSampleDetails RegisteringSpecimen True AddSpecimen False hasPoints J GetinformationFromString 2 rue StartintentSelectPoints AddSample False rue StartintentSample Details F PlantarumApi registeringSpecimen OpenDatabase 2 LoadClassifier Y rd lassi l uploadClassifySample Classify GetSpecimeninfo Na Figura 11 mostra a atividade de cadastrar amostra na situa o mais descritiva onde GetSpecimentimage todos os casos de uso podem ser executados dependendo do contexto que usuario estiver Se usuario estiver retornando entrando no cadastro de amostra ap s o retorno do m todo classificar esp cie e n o tiver sido poss vel classificar a imagem o usu rio j ter uma amostra com as coordenadas de pec olo e ponta cadastradas ent o as opera es de cria o startIntentChooseFile startIntentSampleDetails startIntentSelectPoints n o ser o executadas Tamb m se o usu rio ao digitar o nome da esp cie selecionar um nome j existente a atividade de cria o AddSpecimen n o ser executada A Figura 12 mostra o diagrama de atividades para o processo de classifica o de especies 32
23. 9 1 CT JAVA VI 2010 05 PDF gt Acesso em 07 set 2013 KNIGHT David PAINTER James POTTER Matthew Automatic plant leaf classification for a mobile field guide an android application 2010 5 f Departamento de Engenharia El trica Universidade de Stanford Stanford Calif rnia Dispon vel em http www stanford edu class ee368 Project 10 Reports Knight Painter Potter PlantLeafC lassification pdf gt Acesso em 07 set 2013 KUMAR Neeraj et al Leafsnap a computer vision system for automatic plant species identification 2012 14 f Universidade de Washington Seattle Washington Dispon vel em lt http homes cs washington edu neeraj papers nk eccv2012 leafsnap pdf gt Acesso em 07 set 2013 PLOTZE Rodrigo O Identifica o de esp cies vegetais atrav s da an lise da forma interna de rg os foliares 2004 152 f Disserta o Mestrado em Ci ncias de Computa o e Matem tica Computacional Instituto de Ci ncias Matem ticas e de Computa o Universidade de S o Paulo S o Paulo Dispon vel em lt http www teses usp br teses disponiveis 55 55134 tde 03052006 034021 publico ME RodrigoPlotze ICMC 2004 pdf gt Acesso em 07 set 2013 SANGLE Shailesh SHIRSAT Kavita BHOSLE Varsha Shape based plant leaf classification system using Android 2013 8 f Dispon vel em http www 1ert org browse volume 2 2013 august 2013 edition download 4872 3 Ashape based plant leaf classification system using
24. DateFormat yyyyMMddHHmmss File f new File Constants IMAGE DIR SampleDate sdf format new Date jpg Utils copyFile src f Toast makeText MainActivity this Imagem armazenada com sucesso Toast LENGTH SHORT show catch Exception e Toast makeText this Erro ao salvar arquivo Toast LENGTH LONG show _J000d4swyNR pO0wO JONA Ap s salvar a imagem o usuario retorna tela inicial e pode fotografar uma nova imagem cadastrar uma amostra ou enviar uma amostra para classifica o No AlertDialog que exibido ap s a chamada do m todo setStringUserComent se o usu rio clicar em enviar a aplica o verificar se possui conex o com a internet e se n o possuir exibido um AlertDialog informando que necess ria conex o com redes de dados pedindo ao usu rio para ativar as configura es Ao recusar ele direcionado para a tela inicial e se ele aceitar o aplicativo faz uma chamada ao m todo openNecessaryConfig que encaminha o usu rio para as configura es de internet e localiza o O Quadro 8 demonstra como ficou a implementa o do m todo openNecessaryConfig 41 Quadro 8 Salvando a imagem no dispositivo private void openNecessaryConfig 2 WifiManager wifiManager WifiManager 3 getSystemService WIFI_SERVICE 4 if wifiManager isWifiEnabled 5 startA
25. Figura 20 Configura o da base de dados para teste Classificador Par metros Probabilistic Neural Network 3 4 ColorMoments Caracter sticas Utilizar desvio padr o dos valores RGB True Y EX Utilizar kurtosis dos valores RGB True J Roundness Utilizar m dia dos valores RGB True Y Dispersion Utilizar skewness dos valores RGB True ColorMoments 4 Fourier Descriptors Vein Mask Quantidade de descritores a serem utilizados 11 4 Lacunaridade Resolu o do per metro contomo 300 Fourier Descriptors 4 Lacunaridade Tipo Coeficiente inicial 2 y Pilosidade Delta de Coeficiente 2 Descolor Quantidade de coeficientes diferentes 3 4 Probabilistic Neural Network Coeficiente de smoothing 0 05 4 Slimness Erro em graus a ser considerado no informe dos pontos extremos pelo usu rio 1 4 Vein Mask N mero de m scaras 3 Coeficiente de smoothing 1D do par metro 100 Para a popula o deste banco de dados foi utilizada uma ferramenta console disponibilizada por Cassaniga 2012 para o treino da rede neural Cada esp cie teve um treino separado com todas as amostras presentes no banco de imagens Fl via dataset Neste treino foi necess rio alterar o c digo fonte da ferramenta para que cada uma das esp cies fosse inclu da com uma combina o diferente das novas caracter sticas implementadas Ao fim da construg o da base de dados
26. GE DIR RetServ jpg if s contains specInfo Utils setThreadResult OK return if s contains NotRecognized Utils setThreadResult NotRecognized return if s contains ERR Utils setThreadResult ERR return catch Exception e Utils setThreadResult ERR t start try t join catch InterruptedException e e printStackTrace 43 O resultado do servidor a classificac o ser a imagem que representa a esp cie da amostra que foi submetida e o nome da esp cie estar salvo na propriedade EXIF do arquivo enviado Este resultado ser salvo em um arquivo para que ao retornar para a atividade principal seja exibida a imagem e a esp cie reconhecida Caso a amostra nao for reconhecida a aplica o salva um arquivo contendo a resposta do servidor e mostra um AlertDialog que informa ao usu rio que a amostra n o foi encontrada Em seguida pergunta se ele deseja cadastrar uma nova esp cie com base na imagem enviada Para exibir o resultado no dispositivo necess rio ler Stream recebido e salv lo em um arquivo Ap s isso chamado o m todo showResult que l este arquivo o decodifica como bitmap e adquire a informa o que est nas propriedades EXIF para mostrar o nome da esp cie O Quadro 10 cont m a implementa o necess ria para exibir o resultado Quadro 10 Exibindo o resultado da classifica o priva
27. II GetString coordByes Substring 0 21 System Text Encoding ASCII GetString img GetPropertyItem 270 22 Value Length 1 23 24 catch System ArgumentException 25 26 return null 27 28 29 RegisteringSpecimen dataSample fileName prImage 30 31 return OK 32 33 catch Exception ex 34 35 string erro UploadFile err ex Message 36 if ex InnerException null 37 erro nUploadFile err inner exception 38 ex InnerException Message 39 40 return null 41 O m todo UploadNewSample da mesma forma que 0 UploadClassifySample recebe uma imagem no formato Stream salva a e extral as caracter sticas que est o na propriedade EXIF Ap s isso efetua uma chamada para RegisteringSpecimen Onde cadastrada uma nova amostra ou uma nova esp cie O Quadro 16 mostra a implementa o deste m todo Quadro 16 Cadastrando uma nova amostra ou nova esp cie 50 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 n e Oo eo BR DBR HBR BR DB ABA AW O101010101 01 O1 private void RegisteringSpecimen string prData string prImagePath Stream primage var dic GetInformationFromString prData string specimenName dic SpecimenName string specimenComment dic SpecimenComment string uselmageToSpecimen dic UseImageToSpecimen
28. PEC ID Specimenlmagelnfo GetBytesFromStrem prStream Stream prEncoding Encoding byte Classify imagePath String petiole Point tip Point ReadFully prinput Stream byte PLNT SPEC ID SaveTemp prStream Stream A interface IPS cont m os m todos que s o poss veis acessar de fora do servidor O m todo GetData retorna um texto simples confirmando que a conex o com o servidor foi efetuada com sucesso e que servigo est executando corretamente O m todo Get Specimens utiliza a classe PlantarumAPI para retornar uma lista com todas as esp cies da base em que a aplicag o for se conectar Quando o cliente chamar o m todo UploadClassifySpecimen o servidor ir receber os dados do cliente e chamar o m todo ClassifySpecimen O retorno deste m todo ser imagem e o nome da esp cie que foi reconhecida ent o o servidor agrupa essas informa es e retorna para o cliente O cliente tamb m pode chamar o m todo UploadNewSample que internamente far a recep o dos dados e chamar O RegisteringNewSample para fazer o cadastro da amostra e tamb m da esp cie se esta ainda n o existir 3 2 3 Diagramas de atividades Os diagramas de atividades apresentados a seguir nos ajudam a visualizar a sequ ncia das opera es executadas no cliente e no servidor nas duas fun es mais complexas da aplica o A Figura 11 mostra o diagrama de sequ ncia para a fun o de cadastrar amostra 31 Figura
29. UNIVERSIDADE REGIONAL BLUMENAU CENTRO DE CI NCIAS EXATAS E NATURAIS CURSO DE CIENCIA DA COMPUTACAO BACHARELADO PLANTARUM UMA APLICACAO ANDROID PARA CONSULTAS DE PLANTAS MATHEUS BORTOLON BLUMENAU 2014 2014 1 17 MATHEUS BORTOLON PLANTARUM UMA APLICACAO ANDROID PARA CONSULTAS DE PLANTAS Trabalho de Conclus o de Curso submetido Universidade Regional de Blumenau para a obteng o dos cr ditos na disciplina Trabalho de Conclus o de Curso do curso de Ci ncia da Computag o Bacharelado Prof Aur lio Faustino Hoppe Mestre Orientador BLUMENAU 2014 2014 1 17 PLANTARUM APLICACAO ANDROID PARA CONSULTAS DE PLANTAS Por MATHEUS BORTOLON Trabalho aprovado para obten o dos cr ditos na disciplina de Trabalho de Conclus o de Curso IL pela banca examinadora formada por Presidente Prof Aur lio Faustino Hoppe Mestre Orientador FURB Membro Prof Dalton Solano dos Reis Mestre FURB Membro Prof Francisco Adell P ricas Mestre FURB Blumenau 09 de julho de 2014 Dedico este trabalho minha fam lia que me ofereceram sempre seu apoio e motiva o para a conclus o deste trabalho AGRADECIMENTOS Dedico este trabalho a Deus que fez de mim o que sou hoje minha fam lia por toda a ajuda e paci ncia Agradeco especialmente a minha m e Sandra Maria Bortolon pela ajuda em tornar o que era um sonho em uma realidade Aos meus amigos por me apontarem a
30. a imagem e ent o s o feitas as mesmas verifica es das informa es da imagem feitas no processo de cadastrar amostra Por fim a imagem enviada para a classifica o no servidor Se a imagem n o puder ser classificada questionado ao usu rio se ele deseja cadastrar uma nova esp cie com esta imagem e se ele concordar iniciado o processo de cadastro de amostra Para a realiza o das tarefas desempenhadas s o necess rios alguns m todos de apoio por isso foi criado o pacote utils que cont m funcionalidades comuns entre as tarefas A Figura 9 exp e o pacote utils e cada uma de suas classes 29 lt lt Java Package gt gt 8 com plantarum utils Figura 9 Pacote Utils Java Class gt gt Java Class gt gt 9 Comunication 9GPS com plantarum utils com plantarum utils E Comunication oP locationManager LocationManager registeringSpecimen Context String void o locationListener LocationListener PuploadClassifySample String Image View void c location Location O saveHitpResponse nputStream void dces hasConnection Context boolean initialize Context void getLocation Location setLocation Location void BtryConnect boolean lt lt Java Class gt gt Outils com plantarum utils lt lt Java Class dutis inicializarDiretorios String void getFilePath Uri ContentResolver String displayimageBySrc String ImageView
31. a a ser classificada composta possui ou n o pelos e se o verso da amostra possui cor diferente da parte fotografada Para isto foi necess ria a inclus o de tr s novas classes na API e tamb m fez se necess ria a inclus o de novos par metros para os m todos PLNT DB add sample PLT classify que faziam adi o de esp cies e classifica o respectinamente As classes inclu das extendem da interface IFeature criada por Cassaniga 2012 portanto os m todos para a persist ncia inclus o na base de dados e utiliza o destas caracter sticas pela rede neural n o precisaram ser alterados 3 3 2 Operacionalidade da implementa o Esta se o destinada a mostrar o funcionamento da aplica o A Figura 13 mostra a tela inicial do aplicativo que possibilita escolher entre tr s a es fotografar para classificar cadastrar uma nova amostra ou enviar uma imagem salva para a classifica o 52 Figura 13 Tela inicial da aplicac o X F ala0 la 11 38 J Plantarum Nesta tela s o apresentados tr s bot es e uma imagem de abertura O bot o esquerda inicia O processo para fotografar uma imagem e enviar ao servidor para classificag o O bot o do meio chama as fung es para o cadastro de uma nova esp cie na base de dados do servidor O bot o a direita tem como fung o permitir que seja selecionada uma imagem para ser enviada para a classificag o Ao tocar no bot o esquerda o usu rio direc
32. acessar localiza o global acessar a c mera escrita e leitura de arquivos A aplica o inicia na MainActivity que disponibiliza tr s a es ao usu rio capturar imagem adicionar amostra e fazer classifica o de amostra existente A captura da imagem iniciada quando o usu rio clica no bot o btCamera A a o do bot o inicia uma nova Intent que o direciona para c mera permitindo que ele ajuste as configura es para a foto manualmente e fotografe a amostra O m todo que inicia a c mera O startIntentCamera sua implementa o pode ser vista no Quadro 2 34 Quadro 2 Iniciando a Intent para acessar a c mera 1 private void startIntentCamera 2 try 4 3 Intent intent new Intent MediaStore ACTION IMAGE CAPTU 4 Uri outputFileUri Uri fromFile new File Constants IMAGE _ 5 intent putExtra MediaStore EXTRA_OUTPUT outputFileUri 6 7 8 Ho E a startActivityForResult intent Constants IMAGE_CAPTURE_RESULT_CODE 9 catch IllegalArgumentException e 10 SuppressWarnings unused TL String tem e getMessage e getLocalizedMessage 12 e fillInStackTrace 13 14 Ao iniciar a c mera necess rio passar um caminho para o arquivo que ser gerado e como necess rio fazer opera es tamb m passado um valor para o retorno da Intent para assim ser poss vel tratar de maneira independente cada atividade inic
33. adastradas Figura 21 Esp cies cadastradas para testes reais Tipo Composta Tipo Simples Tipo Simples Tipo Composta Tipo Simples Pilosidade Lisa Pilosidade Lisa Pilosidade Pilosa Pilosidade Lisa Pilosidade Pilosa Discolor N o Discolor Sim Discolor N o Discolor N o Discolor Sim A Figura 21 mostra uma amostra de cada esp cie cadastrada em ordem as caracter sticas utilizadas foram a composta b discolor c pilosa d composta e discolor e pilosa e discolor As esp cies de fato possu am as caracter sticas indicadas no momento do cadastro Para iniciar os testes de classifica o foram inclu das nove amostras de cada uma das esp cies sempre alterando a posi o da ponta da folha Ap s o cadastro foram fotografadas sete amostras de cada esp cie e submetidas classifica o A maioria das amostras foi bem sucedida na classifica o A Esp cie b apresentou falso positivo com a esp cie como Esp cie c mais de uma vez ao submeter uma amostra 62 com colora o mais clara As demais esp cies tiveram resultados positivos ao serem submetidas com as caracter sticas informadas corretamente Foi realizada uma segunda se o de testes com esta mesma base de dados no qual as caracter sticas de textura cor e formato n o foram informadas ao submeter s imagens para classifica o Em nenhum dos casos a esp cie foi reconhecida com sucesso e ao submeter a Esp cie e sem as caracter stica
34. amp loc null 1 10 loc GPS getLocation 11 12 13 ExifManager exifManager 14 ExifDriver exifDriver ExifDriver getInstance sampleImage 15 getAbsolutePath 16 if exifDriver null 17 exifManager new ExifManager exifDriver context 18 exifManager setGPSLocation loc getLatitude 19 loc getLongitude loc getAltitude 20 21 exifDriver save samplelmage getParent File separator 22 temp2 jpg 23 24 Utils copyFile new File samplelmage getParent File separator 25 temp2 jpg sampleImage 26 27 new File sampleImage getParent File separator 28 temp2 jpg 29 delete 30 31 sampleImage new File samplelmage getAbsolutePath 32 33 catch Exception e 34 Toast makeText 35 context 36 Nao foi poss vel salvar os dados de localizac o na imagem 37 Toast LENGTH LONG show 38 39 Ap s a opera o de salvar as informa es de localiza o na imagem o usu rio direcionado para uma nova tela a fim de que sejam selecionados o pec olo e a ponta da folha Esta nova tela controlada pela classe SelectPointsActivity Os pontos a serem registrados devem ser marcados pelo usu rio na ordem correta primeiro pec olo e depois ponta Para marcar os pontos na folha o usu rio clica na tela para apontar onde fica o pec olo e a ponta da amostra por m como a imagem n o necessariamente ser da mesma altura e largura da tela que a est exibindo a
35. ar cteristicas Acer 3282 3334 28 buergerianum Tridente maple lisa simples n o discolor Miq 3282 3296 69 3306 3301 70 Intervalo R tulo Nome Cient fico Nome Popular Novas car cteristicas 1268 1323 6 Acer Palmatum Japanese maple lisa simples discolor 1273 1288 71 1304 1319 72 Intervalo R tulo Nome Cient fico Nome Popular Novas caracter sticas Viburnum quus 2231 2290 16 awabuki p lisa composta n o discolor Arrowwood K Koch 2231 2244 73 2233 2264 74 Intervalo R tulo gt Nome Popular Novas caracter sticas Cient fico 1123 1194 4 Cercis chinensis Chinese redbud lisa composta discolor 1123 1130 75 1140 1185 Intervalo R tulo IN M Nome Popular Novas caracter sticas Cient fico 2424 2485 19 Ginkobiloba L pilosa simples n o discolor maidenhair tree 2425 2430 77 2442 2469 78 Intervalo R tulo Nome Cient fico Nome Popular Novas caracter sticas Liriodendron 3511 3563 32 chinense Hemsl Chinese tulip tree pilosa simples discolor Sarg 3511 3518 79 3529 3550
36. atic plant species identification O trabalho desenvolvido por Kumar et al 2012 descreve uma aplica o que auxilia os usu rios a identificar esp cies pela fotografia de suas folhas Para seu trabalho necess rio que uma esp cie de folha seja fotografada com um fundo de cor s lida e clara O processo de reconhecimento dividido em quatro etapas a classificando processo onde a imagem testada para saber se uma folha v lida Este passo decide se o restante do processamento ser feito ou n o b segmentando neste passo acontece a binariza o da imagem separando a folha do plano de fundo c extraindo s o extra das caracter sticas de curvatura da imagem binarizada para compactamente e descritivamente representar a forma da folha Neste passo s o processados histogramas de curvatura sobre m ltiplos tamanhos utilizando medidas integrais de curvatura d comparando acontece a compara o das caracter sticas extra das da imagem com as caracter sticas j classificadas da base de dados a fim de encontrar as correspond ncias Devido ao tamanho do conjunto de dados da base e a capacidade de discrimina o das caracter sticas extra das utilizada a abordagem de vizinhan a mais pr xima com interse o histograma como a m trica de dist ncia para a compara o 19 O tempo total de processamento de todo o ciclo leva em torno de cinco segundos e ao final exibido ao usu rio as melhores combina es enco
37. capaz de fazer a identifica o de esp cies Por ser todo executado manualmente e possuir alto grau de complexidade a probabilidade de acontecer algum erro humano muito alta Ao omitir alguma caracter stica da planta o bot nico pode estar comprometendo todo o processo de classificac o desta esp cie O desenvolvimento de tecnologias voltadas rea de catalogac o e classificag o de esp cies vegetais uma necessidade que pode ser suprida com a construg o de ferramentas para auxiliar os profissionais de bot nica nestas tarefas PLOTZE 2004 p 2 Visando reduzir os problemas causados pela deteriorag o e perda de caracter sticas relevantes para a classificag o de esp cies tais ferramentas poderiam armazenar as amostras de maneira digital em um banco de imagens Neste cen rio acredita se que a implementa o de uma ferramenta para auxiliar os bot nicos no cadastro e classifica o de esp cies vegetais seria uma forma de reduzir estes problemas gerados pelo processo manual Assim surge a motiva o de criar uma aplica o para tal A partir de um cat logo digital o reconhecimento de esp cies vegetais pode ser automatizado pois as informa es para a compara o estar o definidas e armazenadas digitalmente livres de deteriora o O trabalho proposto desenvolve uma aplicag o mobile capaz de armazenar coletar informa es de plantas no seu ambiente natural tais como imagens caracter sticas e sua localiza o Es
38. ctivityForResult 6 new Intent Settings ACTION WIFI SETTINGS 7 Constants CONNECTIVITY RESULT CODE 8 9 Location loc GPS getLocation 10 if loc null 11 startActivityForResult new Intent 12 Settings ACTION LOCATION SOURCE SETTINGS 13 Constants CONNECTIVITY RESULT CODE 14 O m todo openNecessariConfig verifica se a rede wireless est habilitada e se n o estiver inicia uma nova Intent que leva s configura es de dados para que o usu rio ative e conecte em uma rede Tamb m tenta conseguir conex o com o GPS e se n o conseguir inicia uma nova Intent que leva s configura es de GPS para que o usu rio o ative pois caso a imagem ainda n o possua as informa es de localiza o ele tentar adicionar novamente antes de enviar ao servidor Ap s isso se o usu rio estiver com as configura es de rede e GPS ativas a aplica o tenta enviar a imagem para classifica o pelo m todo uploadClassifySample Neste m todo a aplica o tenta conectar se ao servidor para enviar a imagem A plataforma Android requer que todas as requisi es ass ncronas sejam feitas em uma thread separada da atividade principal para garantir o funcionamento da aplica o e for ar o desenvolvedor a controlar o tempo m ximo para obter uma resposta do servidor O Quadro 9 mostra como ficou o c digo deste m todo Quadro 9 Enviando a imagem para classificag o 42 2r
39. do onde fica a base e a ponta da folha Neste processo Cassaniga 2012 utiliza das imagens as seguintes caracter sticas a circularidade define o quanto uma forma geom trica assemelha se a um c rculo b dispers o representa para a API de Cassaniga 2012 a raz o entre a maior e a menor dist ncia do centro at um ponto no contorno da folha c magreza a raz o entre o comprimento e a largura da folha d descritores de Fourier s o coeficientes resultantes da transforma o discreta de Fourier e m scara de nervura uma caracter stica que representa a rea total que as nervuras ocupam na folha f lacunaridade representa uma m dia que aplicada a textura das plantas a qual 18 indica se um padr o aplicado a uma subparte da textura possui poucas ou muitas lacunas g estat sticas de cor correspondem a c lculos exclusivamente aplicados aos valores do padr o de cor da imagem S o c lculos estat sticos de m dia desvio padr o assimetria e pico ou achatamento na curva A API disponibilizada em formato Dynamic Link Library DLL facilitando a integra o com plataformas independentes e permitindo a sua utiliza o em variados tipos de projetos 2 4 TRABALHOS CORRELATOS Esta se o destina se a apresentar tr s trabalhos voltados ao reconhecimento de plantas utilizando dispositivos m veis para a captura da imagem e exibi o dos resultados 2 4 1 Leafsnap A computer vison for autom
40. e de dados configurada fa a a cria o da mesma com as configura es recomendadas implementar interface para o servi o criado para outras plataformas de dispositivos m veis implementar a na aplica o cliente as configura es recomendadas para a c mera 66 REFER NCIAS BORGES Jr M P Desenvolvendo webservices Rio de Janeiro Ci ncia Moderna 2005 CASSANIGA A W PLANTARUM API para reconhecimento de plantas 2012 113 f Trabalho de Conclus o de Curso Bacharelado em Ci ncias da Computa o Centro de Ci ncias Exatas e Naturais Universidade Regional de Blumenau Blumenau Dispon vel em http campeche inf furb br tccs 2012 II TCC2012 2 04 V F ArnoWCassaniga pdf Acesso em 07 set 2013 FERREIRA Fl vio M S Home gateway do living usability lab 2012 118 f Disserta o Departamento de Eletr nica Telecomunica es e Inform tica Universidade de Aveiro Aveiro Dispon vel em lt http ria ua pt bitstream 10773 10264 1 Disserta C3 A7 C3 A30 pdf gt Acesso em 07 set 2013 FERRI M rio G Bot nica Morfologia externa das plantas S o Paulo Nobel 1981 GOMES Evandro W C Global interface process usando android atrav s de webservices 2011 47 f Monografia de Especializa o Especialista em Tecnologia Java Departamento Acad mico de Inform tica Universidade Tecnol gica Federal do Paran Curitiba Dispon vel em http repositorio roca utfpr edu br jspui bitstream 1 61
41. egistro de imagens de suas folhas facilitando o trabalho por diminuir a depend ncia de cat logos impressos ou conhecimento das caracter sticcas determinantes de determinada esp cie 65 4 1 LIMITA ES A aplica o desenvolvida possui as seguintes limita es a b d e O processo depende um uma imagem de entrada com alto contraste entre a folha e o fundo sem ru dos a aplica o cliente n o define automaticamente as configura es da c mera a aplica o cliente somente executa em telas com resolu o de 1920x1080 pixels a imagem de entrada deve ser fotografada com o dispositivo em orienta o retrato a aplica o depende de uma base de dados previamente criada para a API Plantarum para o cadastro e identifica o de esp cies necess rio que a amostra tenha sido fotografada e salva pela pr pria aplica o 42 EXTENS ES Algumas sugest es deste trabalho s o listadas a seguir a b d e g h implementa o de novas caracter sticas a serem informadas pelo usu rio permitir a utiliza o da c mera em qualquer orienta o portar a aplica o dispositivos com diferentes tamanhos de tela fazer um pr tratamento da imagem de entrada no dispositivo a fim de eliminar a necessidade do alto contraste permitir enviar para a classifica o e cadastro qualquer imagem do dispositivo criar mecanismo na aplica o servidor que ao notar a n o exist ncia de uma bas
42. em tempo real para permitir ao usu rio visualizar os resultados da segmenta o e capturar a imagem somente quando a regi o aceit vel da folha for demarcada como mostrado na Figura 5 Ent o a aplicag o solicita outra entrada do usu rio para que ele rotacione a imagem visando encontrar o topo da folha fotografada Ap s isso a aplica o exibe uma anima o enquanto faz a extra o de caracter sticas Por ltimo a aplica o exibe o resultado do c lculo como a Figura 6 Figura 6 Resultado do c lculo de dist ncia euclidiana GroundNut Distance 0 8604571 Gulmohar Distance 0 9607355 Tulsi Distance 2 4664493 Ashoka Distance 2 031358 Mango Distance 1 9769436 Rose Distance 1 6749703 Fonte Sangle Shirsat e Bhosle 2013 p 7 Na Figura 6 o menor dos valores considerado como resultado da combinag o entre a entrada e a base de dados Sangle Shirsat e Bhosle 2013 deixam como sugest o para trabalhos futuros a melhoria no desempenho pois o algoritmo desenvolvido por eles possui muitas itera es que poderiam ser evitadas o que torna a aplica o lenta e com baixa taxa de atualiza o na 24 exibig o da imagem da c mera O pequeno atraso gerado pela baixa taxa de atualizag o pode dificultar que o usu rio aponte com precis o folhas mais estreitas 2 4 4 Se o comparativa dos trabalhos relacionados O Quadro 1 apresenta de maneira comparativa algumas caracter sticas dos trabalhos aprese
43. em a imagem de uma folha desconhecida adquirida pela c mera do dispositivo assumindo que ter boas condi es de luz e dist ncia e possuir um plano de fundo que fornega o contraste suficiente para a imagem b pr processamento antes da extra o de caracter sticas morfol gicas deve ser encontrada a borda da folha Isso feito convertendo a imagem para escala de cinza e depois separando o fundo da parte desejada por segmentac o Em seguida s o fechados os buracos e removidas pequenas regi es Por fim a imagem binarizada e o interior da folha subtra do sobrando apenas o contorno da folha c extra o de caracter sticas morfol gicas Ap s efetuar uma longa pesquisa na literatura e testes com v rias combina es o algoritmo final de Sangle Shirsat e Bhosle 2013 realiza a combina o das caracter sticas mais adequadas segundo os autores As caracter sticas morfol gicas que Sangle Shirsat e Bhosle 2013 utilizaram na extra o foram propor o de aspecto retangularidade propor o de rea convexa propor o do per metro convexo circularidade excentricidade formato informa o espacial sobre a distribui o da folha em diferentes posi es em rela o ao eixo vertical e histograma de angula o 23 Figura 5 Processo de captura da imagem Fonte Sangle Shirsat e Bhosle 2013 p 7 Na aplica o de Sangle Shirsat e Bhosle 2013 p 7 exibida a segmenta o
44. g erro ERR ex Message if ex InnerException null erro nUploadFile err inner exception ex InnerException Message return null m todo exibido no Quadro 13 um arquivo em que nome a data da chamada para salvar a imagem localmente antes de enviar para a classificac o Tamb m antes da classificac o necess rio ler as propriedades EXIF para obter as informac es textuais da imagem Ap s isso feita uma chamada para ClassifySample passando o caminho da imagem salva e as informa es lidas 47 O m todo ClassifySample faz conex o do WCF com API Plantarum CASSANIGA 2012 Para isso o m todo recebe o caminho de uma imagem e um texto contendo as coordenadas do pec olo e ponta da folha Ent o feita a convers o do texto recebido para dois objetos do tipo Point e depois iniciada a comunicac o com a API de classifica o O Quadro 14 mostra a implementa o deste m todo Quadro 14 Conectando com a API para a classifica o 1 2 3 4 3 6 7 8 9 10 2 3 4 9 6 7 8 19 20 21 22 23 24 25 26 21 28 29 30 31 32 33 34 35 36 37 38 39 40 private Stream ClassifySample string prMetaTags var dic string pontos string prImagePath GetInformationFromString prMetaTags dic CoordinatesPecioloPonta Point petiole new Point int Parse pontos Split 0 Split 0 int Par
45. i o em Json e formato da resposta em XML O m todo GetData somente retorna uma mensagem simples do servidor utilizado para testar se a conex o com o servidor foi efetuada com sucesso e se o servi o est executando de maneira adequada 45 O m todo GetSpecimens retorna o nome de todas as esp cies cadastradas na base de dados na forma textual separadas por um conjunto de caracteres espec fico utilizado para dividir o texto simples em uma lista com todos os nomes O Quadro 12 cont m o c digo utilizado neste m todo Quadro 12 Retornando os nomes das esp cies da base de dados 1 String IPS GetSpecimens 2 3 string result 4 5 api new PlantarumAPI 6 api OpenDatabase DB PATH 7 var especies api GetSpecimens 8 9 foreach var esp in especies 10 11 result esp Name 12 1 14 if string IsNullOrEmpty result 15 16 result N A 17 18 19 return result 20 3 Os m todos do servidor utilizam uma base de dados que seu caminho fica definida na constante DB_PATH No m todo GetSpecimens a aplicag o do servidor cria um objeto novo que inicializa a API em seguida abre a base de dados e chama o m todo que retorna todas as esp cies cadastradas Ap s isso percorre a lista retornada para concatenar em uma vari vel de texto os nomes destas esp cies com o conjunto de caracteres de separag o e por fim retorna o texto O m todo UploadClassifySample u
46. iada Ap s ser executada a Intent a aplicag o retorna para o m todo onActivityResult e pelo c digo de inicio da Intent poss vel saber que o retorno da camera A partir deste ponto a aplicag o faz conex o com GPS e atribui os valores de latitude e longitude para a imagem Para conseguir as informa es de GPS necess rio criar um LocationListner assim sempre que houver atualiza es em um objeto do tipo Location as coordenadas de localiza o ser o atualizadas Por este motivo foi implementado a classe GPs a fim de manter um objeto do tipo Location sempre atualizado para que quando for necess rio utilizar as coordenadas elas estejam corretas e atualizadas O Quadro 3 cont m a implementa o da classe GPS 35 Quadro 3 Classe GPS 2 3 import 4 import 5 import 6 import 7 import 8 9 public 10 11 12 13 14 15 16 T3 18 9 C CO PO PO PO PO PD How o JO 0 0 thNPmD CO wW w w N 6 MS BUD UD 0D O CO OI GP KB DB BR BR BR BR Ww android c android package com plantarum utils ontent Context ocation Location android ocation LocationListener android ocation LocationManager android o class GPS private static private static s Bundle LocationManager locationManager ocationListener locationListener private static jocati
47. ica o O quarto cap tulo cont m as conclus es formuladas a partir do trabalho e sugest es para extens es ao mesmo 15 2 FUNDAMENTA O TE RICA Nas pr ximas se es s o apresentados os principais conceitos relacionados ao processo de desenvolvimento de aplica es para dispositivos m veis e webservices Na se o 2 1 explicado sobre morfologia externa das folhas A se o 2 2 exp e o desenvolvimento de webservices Na se o 2 3 demonstrada a API Plantarum de Cassaniga 2012 Por fim a se o 2 4 apresenta tr s trabalhos correlatos e um comparativo entre eles 2 1 MORFOLOGIA EXTERNA DAS PLANTAS Segundo Wiggers e Stange 2008 p 3 para a classifica o de plantas a taxonomia baseia se em caracteres da morfologia floral e da anatomia dentre outros A identifica o das esp cies essencial para o desenvolvimento das ci ncias b sicas e aplicadas Ferri 1981 p 49 explica que a morfologia de folhas pode variar por in meras causas principalmente por adapta o ao modo e local onde se encontram J a morfologia do restante da planta depende principalmente da distribui o de suas folhas Adapta es morfol gicas em uma folha t m a fun o de fazer com que ela tenha condi es de produzir material org nico para sua sobreviv ncia Segundo Ferri 1981 p 52 uma folha pode ter formas e superf cies diferentes como piloso ou liso ou tamb m ser inteiro ou com divis es tamb m chamados de simples e
48. ica o cliente uet i eost teneo ade 33 3 3 1 2 Implementa o da aplica o servidor eee 43 3 3 1 3 Implementa o de novas caracter sticas na 51 3 3 2 Operacionalidade da implementa o 51 3 4 RESULTADOS E DISCUSS O ua de 58 3 4 1 Testes com banco de IMAGENS rta 58 Testes A ad 61 3 4 3 Compara o com os trabalhos correlatoS ooooconnncccnnnccnoncccnoncnononncononcnonanccononccnonaccnnnnnos 62 4 CONCLUS ES c 64 TINTA CO la Eee ame 65 DO chet 65 REFERENCIAS ant 66 AP NDICE A Imagens utilizadas para a valida o da aplica o 68 13 1 INTRODUCAO Atualmente o processo de registro e classifica o de plantas em uma escala global feito quase que na sua totalidade de forma manual onde s o recolhidas amostras e o profissional de bot nica informa as caracter sticas para a cataloga o desta esp cie Segundo Plotze 2004 p 6 o processo de cat logo e classifica o de plantas demasiado trabalhoso pois neste processo o profissional de bot nica colhe as amostras desseca as prensa as e descreve as caracter sticas da esp cie em uma ficha padronizada para anexar com a amostra no cat logo Segundo Plotze 2004 p 6 o bot nico deve possuir grandes conhecimentos e habilidades na rea de taxonomia para ser
49. iente e ent o separa as informac es que foram digitadas para verificar se o nome da esp cie j existe na base de dados Quando o nome j existir na base de dados somente cadastrada uma amostra para a esp cie encontrada Quando n o existir cadastrada primeiramente uma nova esp cie e ent o adicionada uma amostra para a esp cie 3 3 1 3 Implementa o de novas caracter sticas na API A API Plantarum de Cassaniga 2012 foi constru da utilizando como plataforma as linguagens e C oferecidas pela plataforma Microsoft visual C no ambiente de desenvolvimento Microsoft Visual Studio 2010 Para a segmenta o de imagens Cassaniga 2012 utilizou a bilioteca de c digo aberto OpenCV Para a persist ncia de dados Cassaniga 2012 fez uso da biblioteca SQLite em conjunto com a biblioteca CppSQLite Estas bibliotecas foram escolhidas por possibilitarem acesso aos dados com uma abordagem orientada objetos e por n o precisarem de instalag o de nenhum servi o para sua utiliza o Foram implementadas tr s novas caracter sticas para classifica o de esp cies a serem informadas pelo usu rio as quais foram retiradas do estudo de Saueressig 2012 p 14 16 onde ele as exp e como caracter sticas a fim de cobrir varia es morfol gicas entre os indiv duos Foram escolhidas para a implementa o deste trabalho as caracter sticas de tipo da folha pilosidade e discoloridade possibilitando ao usu rio informar se a amostr
50. imagem transformada para ocupar a tela toda Ent o quando o usu rio clica em algum ponto na tela a fim de marcar a imagem necess rio que se 37 fa a o c lculo de propor o das dimens es da matriz da imagem com as propor es da matriz da tela do dispositivo para que sejam transformadas as coordenadas do clique tamb m As coordenadas obtidas com o clique do usuario est o relacionadas s dimens es da tela e os c lculos para a transformac o do clique do usu rio foram implementados no m todo getCoordinatesOf Image Onde recebido o par metro o evento do click MotionEvent e a componente ImageView que hospeda a imagem na tela Este procedimento serve para obter as coordenadas de dispositivo normalizado NDC A implementag o deste m todo pode ser vista no Quadro 5 Quadro 5 Convertendo coordenadas da tela para coordenadas da imagem private int getCoordinatesOfImage MotionEvent event ImageView view 2 3 float eventX event getX 4 float eventY event getY 5 float eventXY new float eventX eventY 6 7 Matrix invertMatrix new Matrix 8 view get ImageMatrix invert invertMatrix 9 10 invertMatrix mapPoints eventXY 11 int x Integer valueOf int eventXY 0 12 int Integer valueOf int eventXY 1 13 14 Drawable imgDrawable view getDrawable 15 Bitmap bitmap BitmapDrawable imgDrawable getBitmap 16 17 if x lt 0 18 x 0
51. ionado para a c mera para fotografar uma amostra e envi la ao servidor A Figura 14 mostra o estado da aplicac o ap s tocar no bot o esquerda Figura 14 a Fotografar amostra b confirmar o resultado Autom tico Descartar Salvar 53 Ap s a imagem adquirida solicitado que o usuario insira as informag es de tipo da folha pilosidade discoloridade e possui uma op o para caso estas informa es devam ou n o ser desconsideradas A Figura 15 mostra a tela respons vel por esta parte do processo Figura 15 Informa es da amostra Bm Tipo da folha simples Pilosidade lisa Discoloridade nao 165 20 47 lt KZ SampleDetails OK Desconsiderar estas caracter sticas Nesta tela o usu rio seleciona dentre as op es dispon veis as que correspondem com a amostra que ele est submetendo para an lise Ap s tocar no bot o OK ele direcionado para uma tela onde dever o ser informados o pec olo e a ponta da folha A Figura 16 retrata como feito este processo 54 Figura 16 Informac o do pec olo ponta da amostra 0 7 412 8 0021 EOM N Q F 125 00 19 Selecione pec olo ponta Selecione pec olo e ponta Selecione o pec olo da folha Selecione a ponta da folha Neste processo o usu rio informa as coordenadas tocando nas partes correspondentes da folha Ao tocar a primeira vez na parte corresp
52. lidade acionada pelo bot o adicionar esp cie alterando o fato de que n o ser necess ria a seleg o de uma imagem pois o cadastro da esp cie ser feito com a pr pria imagem enviada ao servidor Ao obter um resultado negativo da classificac o exibida uma mensagem para informar que a imagem n o foi reconhecida e verificar se o usu rio deseja ou n o cadastrar uma nova esp cie Caso seja escolhido cadastrar a nova esp cie o usu rio direcionado a uma tela que cont m campos para o preenchimento das informa es da esp cie e mostra qual ser a imagem da esp cie a ser cadastrada A Figura 18 mostra a tela de cadastro de esp cies 56 Figura 18 Tela de cadastro de esp cies NO alar J Nova Amostra A tela representada pela Figura 18 mostra os campos que o usu rio deve informar para cadastro da amostra campo Esp cie da amostra do tipo auto completar na medida em que o usu rio digita a aplicag o sugere as esp cies j cadastradas na base de dados Isto possibilita que se a amostra for de uma nova esp cie esta seja cadastrada e se for apenas mais uma amostra de uma esp cie j existente seja cadastrada apenas a amostra Outro caminho para chegar nesta tela o bot o do meio da tela inicial por m ao utilizar este caminho solicitado que o usu rio selecione a imagem previamente salva que deseja cadastrar A tela apresentada na Figura 19 pode variar pois a tela para seleg
53. ntados nesta se o Quadro 1 Caracter sticas dos trabalhos relacionados caracter sticas trabalhos Kumar etal Knight Painter e Potter Sangle Shirsat e Bhosle relacionados 2012 2010 2013 Coordenadas de GPS Sim N o N o Extra o das caracter sticas Servidor Dispositivo Dispositivo mera do x o m x C mera do dispositivo C mera do dispositivo M todo de entrada dispositivo m vel m vel m vel Com aux lio zi Xx M todo de reconhecimento oa Autom tico Autom tico do usu rio Plataforma mobile iOS Android Android A partir do Quadro 1 possivel perceber que os trabalhos relacionados possuem funcionalidades bastante semelhantes e que o m todo de entrada de dados para as aplica es de classificag o de plantas em dispositivos m veis tem sido em todos os casos a c mera do pr prio dispositivo Outra caracter stica a ser levada em conta que dois destes trabalhos foram desenvolvidos na plataforma Android uma plataforma que est em ascens o e possui caracter sticas de custo favor veis para o desenvolvimento A extra o de caracter sticas no trabalho de Kumar et al 2012 feita em um servidor e 1sso bastante proveitoso para a usabilidade da aplicag o pois os processadores presentes em dispositivos m veis n o s o recomendados para c lculos que possuem complexidade elevada A t cnica de envio ao servidor para extrag o de caracter sticas
54. ntradas na base de dados Neste processo quem determina a verdadeira classifica o o usuario da aplica o A aplica o desenvolvida por Kumar et al 2012 p 11 composta por um sistema end end onde a imagem de entrada adquirida em dispositivos m veis e enviada ao servidor onde acontece a extrag o de caracter sticas e a busca de correspond ncias Ao final o servidor retorna o resultado das correspond ncias para exibi o no dispositivo m vel A Figura 3 demonstra algumas funcionalidades da aplica o m vel de Kumar et al 2012 Figura 3 Funcionalidades da aplica o Leafsnap 5288000066 0000000009 95060005 a Home b Browse c Search d Detail e Snap It Results g Verification 1 1 Verification 3 3 Label k Collection 1 Map Fonte Kumar et al 2012 p 12 20 Segundo Kumar et al 2012 11 Figura 1 composta de a tela inicial com uma escolha aleat ria de imagem para ser exibida b tela de navega o com uma lista orden vel de esp cies com a funcionalidade de busca para as esp cies contidas no sistema c funcionalidade de busca para encontrar uma esp cie em particular por seu nome comum ou cient fico d vis o detalhada de uma esp cie em particular mostrando diferentes imagens cadastradas para uma mesma esp cie e tela Snap it que possibilita a identifica o autom tica f resultado da identifica o autom tica g
55. o see 53 Figura 15 Informa es da amostra erre nn rana rra nc 53 Figura 16 Informa o do pec olo e ponta da amostra seen 54 Figura 17 Resultado com sucesso da classifica o esee 55 Figura 18 Tela de cadastro de esp cies it 56 Figura 19 Tela para sele o de arquivo ais i n 57 Figura 20 Configura o da base de dados para teste esse 59 Figura 21 Esp cies cadastradas para testes reais sssesessesseeeeeeeenren nennen 61 Quadro 16 Comparativo dos trabalhos correlatos com este 62 LISTA DE TABELAS Tabela 1 Esp cies de plantas utilizadas na valida o da 60 Tabela 2 Compara o dos resultados de classifica o entre as vers es da API 60 LISTA DE SIGLAS ADT Android Developer Tools API Application Programming Interface DLL Dinamic Link Libary EXIF Exchangeable Image File Format GPS Global Positionning System HTTP Hypertext Transfer Protocol IDE Integrated Development Enviroment JSE Java Standard Edition NDC Normalized Device Coordinatest SDK Software Development Kit UML Unified Modeling Language WCF Windows Communication Foundation XML Extensible Markup Lang
56. o cliente O aplicativo cliente possui nove classes que foram divididas em dois pacotes Activities Utils A Figura 8 apresenta O pacote Activities que contem as interfaces acessadas pelo usu rio para desempenhar as a es da aplica o Figura 8 Pacote Activities 3 lt lt Java Class gt gt lt lt Java Package gt gt 9 MainActivity 8 com plantarum activities com plantarum activities o isSample Boolean MainActivity O onActivityResult int int Intent void gt onCreate Bundle void btAddSampleOnClick void btClassifyOnClick void E btUploadOnClick void startintentCamera void startintentSelectPoints void startintentSampleDetails void startintentNewSample void errSelectPointsAlert void errSpecimeninfo void startintentChooseFile void savelmage String void preUploadAlert void E openNecessaryConfig void errTryUploadAlert void showResult void posPictureToServerAlert void E sampleNotRecognized void i lt lt Java Class gt gt Y Java Class gt gt Q SelectPointsActivity Java Class 3 NewSampleActivity com plantarum activities 9 SampleDetails com plantarum activities a coordinates int com plantarum activities specimens String o alert AlertDialog SampleDetails a samplelmage File img Bitmap o alert AlertDialog rotated boolean onCreate Bundle void linkSpinnersArray int int void amp NewSampleActivi
57. o de esp cie preenchido e confirmado a aplica o envia esta imagem para o servidor cadastr la na base como esp cie ou amostra e depois retorna para a tela inicial informando se a imagem foi cadastrada com sucesso ou se houve algum erro A ltima funcionalidade do sistema a ser explicada disparada pelo bot o da direita na tela inicial Este bot o tem a fun o de enviar uma imagem salva no dispositivo para a classifica o Ao tocar neste bot o aberta a tela retratada na Figura 19 e ap s a sele o do arquivo da mesma forma que acontece no cadastro de amostra o sistema verifica as informa es textuais coordenadas de pec olo e ponta Na falta de alguma caracter stica a aplica o abre a tela correspondente para o preenchimento desta Ap s isto feita a verifica o de coordenadas GPS se estiver inexistente a pr pria aplica o preenche Ao final deste processo a imagem enviada ao servidor para classifica o e se o resultado for positivo 58 exibe a tela representada pela Figura 13 Se o resultado for negativo questiona se o usu rio deseja cadastrar uma nova amostra ou n o da mesma forma que acontece no final do processo de fotografar imagem e enviar para classificag o 3 4 RESULTADOS E DISCUSSAO Esta se o dedicada comprova o da funcionalidade da aplica o ao fotografar e reconhecer as esp cies de plantas e para isto foram efetuados dois cen rios distintos de teste O primeiro cen rio f
58. oi feito utilizando imagens impressas de um banco de imagens enquanto o segundo cen rio foi constru do com esp cies locais Esta se o foi dividida para explicar cada um dos contextos onde a subse o 3 4 1 trata os testes com o banco de imagens e a subse o 3 4 2 exibe os testes com amostras locais No final desta se o h uma rea que compara os resultados deste trabalho com os trabalhos correlatos descrita pela subse o 3 4 3 3 4 1 Testes com banco de imagens No cen rio fict cio foi utilizado o banco de imagens Flavia dataset disponibilizado gratuitamente por Wu et al 2007 Neste banco de imagens as esp cies n o possu am as caracter sticas que foram inclu das na API portanto para os testes estes aspectos foram simulados marcando as esp cies com atributos que n o necessariamente possu am Como foram inclu dos tr s novos atributos e cada um destes atributos possui um dos valores a maior combina o distinta destes atributos de oito diferentes entre si Por isso para os testes foram selecionadas oito esp cies atribuindo para elas uma destas oito combina es Utilizando a ferramenta disponibilizada por Cassaniga 2012 foi criada uma base de dados com a parametriza o recomendada por ele na p gina 89 de seu trabalho e apta a salvar as novas caracter sticas A Figura 20 mostra as configura es utilizadas para a cria o da base de dados na aplica o disponibilizada por Cassaniga 2012 59
59. on location public static void initialize Context context setLocation null locationListener new LocationListener public voi GPS setL public voi public voi public voi getSyst d onLocationChanged Location loc ocation loc d onStatusChanged String provider int status Bundle extras d onProviderDisabled String provider d onProviderEnabled String provider locationManager LocationManager context mService Context LOCATION SERVICE locationManager requestLocationUpdates LocationManager GPS PROVIDI 5000 0 locationListener td a M public static Location getLocation return location S location private static void setLocation Location location location Para atribuir os valores de cPs para a imagem a aplicac o faz uma chamada ao m todo setGPSInfo logo ap s a confirma o da imagem fotografada ent o neste m todo as coordenadas s o adquiridas e salvas nas propriedades EXIF espec ficas para localiza o O Quadro 4 cont m a implementa o do m todo setGPSInfo 36 Quadro 4 Implementa o do m todo setGPSInfo il public static void setGPSInfo String prImgPath Context context 2 try 3 File sampleImage new File prImgPath 4 Location loc GPS getLocation 5 6 if loc null 7 GPS initialize context 8 9 for int 1 0 i lt 10 amp
60. ondente ao pec olo a aplica o guarda as coordenadas e solicita que o usu rio toque na parte correspondente a ponta da folha As circunfer ncias representam os toques utilizados para passar por esta parte do processo Ap s tocar a ponta da folha uma mensagem exibida para saber se o usu rio deseja manter os pontos inverter pec olo e ponta ou descartar Ao optar por manter os pontos a aplica o retorna para a tela inicial e solicita uma nova interag o para decidir se deve salvar a imagem enviar ou descartar Caso o usuario opte por salvar ou por descartar a imagem a aplica o salvar e retornar a tela principal caso contr rio optando por enviar a aplica o envia a imagem e espera o retorno do servidor Quando o servidor responde se a imagem foi classificada o resultado mostrado na tela principal permitindo que o usu rio possa repetir o processo sem precisar executar qualquer outra a o A Figura 17 mostra o resultado da classifica o quando positivo 55 Figura 17 Resultado com sucesso da classifica o Plantarum specinfo Especie 5 Violeta Discolor e pilosa O processo de fotografar uma imagem e envi la para servidor compreende processo mais longo e no caso de teste onde a amostra nao foi reconhecida compreende tamb m a funcionalidade para adicionar amostra Quando uma amostra nao reconhecida caso o usuario deseje cadastrar uma nova esp cie a aplicac o utiliza a funciona
61. ponder ao cliente no m todo UploadClassifySample Por ltimo quando a amostra reconhecida pela o nome da esp cie salvo na propriedade EXIF da imagem e a imagem enviada para cliente como retorno da classificac o Para cadastro de esp cie ou amostra o contrato WCF disponibiliza o m todo UploadNewSample que recebe uma imagem do tipo Stream por par metro e executa m todo com o mesmo nome na classe que implementa este contrato Para cadastro de esp cies e classificag o de esp cies tem se um nico m todo pois se o usu rio desejar cadastrar uma amostra ele deve selecionar uma das j cadastradas na base e se ele desejar cadastrar uma nova amostra ele deve colocar um nome inexistente na base O Quadro 15 demonstra a implementag o deste m todo 49 Quadro 15 Recebendo uma imagem cadastro de amostra ou esp cie 1 string IPS UploadNewSample Stream prImage 2 3 try 4 var fileName string Format 0 jpg DateTime Now ToString 6 yyyyMMddHHmms s 7 fileName Path Combine D PlantarumSamples fileName 8 9 Stream imgStream new MemoryStream GetBytesFromStream 10 primage System Text Encoding ASCII 11 12 Image img Image FromStream imgStream 13 img Save fileName 14 String dataSample 15 try 16 157 byte coordByes img GetPropertyItem 270 Value 18 19 if coordByes null 20 dataSample Encoding ASC
62. r null amp amp exifDriver getIfd0 null amp amp exifDriver getIfd0 get 270 null String temp EncodingUtils getAsciiString exifDriver getIfd0 get 270 getBytes if temp contains s Utils copyFile new File Constants IMAGE DIR temp2 jpg new File Constants IMAGE PATH I else Utils copyFile new File prImgPath new File Constants IMAGE PATH new File Constants IMAGE DIR temp2 jpg delete new File Constants IMAGE DIR tempS jpg delete samplelmage null catch Exception e e getMessage 40 Ap s a chamada do m todo setstringUserComent exibido um AlertDialog para que o usuario selecione se deseja enviar armazenar ou descartar a imagem Ao selecionar descartar o usu rio volta para a tela inicial sem a o nenhuma salva Ao selecionar armazenar a imagem salva no dispositivo para que o usu rio seja capaz de mais tarde selecion la e enviar a imagem para classificac o ou para cadastr la como nova esp cie O m todo utilizado para salvar a imagem saveImage e o aplicativo cria um novo arquivo em um diret rio do armazenamento interno com o nome correspondendo a data e hora do dispositivo no momento de salvar O Quadro 7 cont m a implementac o deste m todo Quadro 7 Salvando a imagem no dispositivo private void savelmage String prSrc try File src new File prSrc SimpleDateFormat sdf new Simple
63. rafar uma amostra RF b possuir acesso a informa es de localiza o quando dispon vel RF c permitir salvar no dispositivo a imagem com sua data de captura e suas informa es de localiza o RF d possuir funcionalidade de envio ao servidor para classifica o e cadastro de amostras RF e possuir um servi o que utilize a API Plantarum CASSANIGA 2012 como mecanismo de cadastro e classifica o RF f exibir os resultados das opera es no dispositivo m vel RF g utilizar a plataforma Microsoft Net com a linguagem CH para o servi o RNF h utilizar a plataforma JSE com a linguagem Java para o aplicativo m vel RNF 3 2 ESPECIFICA O A especifica o da aplica o foi representada em diagramas da Unified Modeling Language UML utilizando a ferramenta ArgoUML 0 34 para descrever a estrutura de utiliza o da aplica o a estrutura da aplica o mobile e a jornada dos dados no m todo principal da API 3 2 1 Diagrama de casos de uso A Figura 7 exibe o diagrama de casos de uso com as ac es disponibilizadas pela aplicag o m vel para o consumo da API Plantarum CASSANIGA 2012 Foi identificado apenas um ator denominado Usu rio o qual utiliza todas as funcionalidades da aplicac o 26 Figura 7 Diagrama de casos de uso Plantarum UCO3 Cadastrar amostra _ extend UCO4 Cadastrar esp cie extend UC02 Salvar imagem UCO1 Fotografar
64. rdenadas selecionadas nas metatags da imagem e solicita se o usu rio deseja enviar salvar ou descartar Ao escolher enviar imagem esta enviada ao servidor para a classificac o escolhendo salvar a imagem salva no dispositivo e escolhendo descartar todas as informa es deste processo s o descartadas poss vel cadastrar uma nova amostra a partir do m todo btAddSampleOnClick Ao ativar este m todo a aplicag o solicita que o usu rio selecione uma imagem que foi salva previamente Ap s isto verificado se a imagem selecionada j possui as informac es tipo de folha pilosidade e discoloridade e se n o possuir solicitado o preenchimento destas informa es Ent o verifica se a imagem para encontrar as informa es de pec olo e ponta da folha e se n o forem encontradas o usu rio deve selecionar na imagem onde est o estas coordenadas Por fim iniciada uma nova atividade controlada pela classe NewSampleActivity onde o usu rio deve preencher a informa o de nome da amostra uma descri o e se esta amostra representa a esp cie No fim do processo o usu rio pode confirmar ou cancelar a inclus o da amostra Ao confirmar a aplica o salva as informa es na imagem e envia a mesma para o servidor utilizando o m todo registeringSpecimen A aplica o permite tamb m que seja enviada para classifica o uma imagem salva no dispositivo Para isto utilizado o m todo btUploadonClick que solicita a sele o de um
65. s aconteceu falso positivo com a Esp cie c Com estes testes poss vel perceber que as novas caracter sticas implementadas na API interferem no resultado do reconhecimento de forma significativa Ao omitir os detalhes que foram inclu dos na classifica o o reconhecimento falhou em todas as tentativas por m ao se informar as caracter sticas devidamente os resultados foram positivos na sua maioria identificando as esp cies com sucesso 3 4 5 Compara o com os trabalhos correlatos O Quadro 17 apresenta a compara o entre algumas caracter sticas dos trabalhos relacionados com o presente trabalho Quadro 17 Comparativo dos trabalhos correlatos com este projeto Caracter sticas Trabalhos Knight Painter e Kumar et al Plantarum relacionados Potter 2010 2012 2014 Coordenadas de GPS N o Sim Sim Extra o das caracter sticas Dispositivo Servidor Servidor Geom tricas nervuras descritores de Fourier cor textura e descri o de aspecto informado pelo usu rio Caracter sticas utilizadas Geom tricas Geom tricas Com auxilio M todo de reconhecimento Autom tico yn Autom tico do usu rio Plataforma Android iOS Android Precis o m dia 80 96 8 97 94 A proposta apresentada Sangle Shirsat Bhosle 2013 n o apresentada Quadro 17 pois n o consta no trabalho a descrig o da precis o m dia impossibilitando a compara o com os demais
66. se pontos Split 0 Split 1 Point tip new Point int Parse pontos Split 1 Split 0 int Parse pontos Split 1 Split 1 api new PlantarumAPI api OpenDatabase DB PATH api LoadClassifier long specimen 0 Specimen api Classify prImagePath petiole tip if specimen 0 return null var specInfo var imgInfo if imgInfo api GetSpecimenInfo specimen api GetSpecimenImage specimen null var memStr new MemoryStream imgInfo Data var image return Savel else return Savel Image FromStream memStr Exif specInfo Name image prImagePath Exif specInfo specInfo Name Image FromFile prImagePath Substring 0 prImagePath LastIndexOf 1 temp jpg primagePath Como mostra o Quadro 14 os passos necess rios para a utilizag o da API s o a inicializa o da API que se d pela chamada ao construtor seguido da abertura da base de dados Para a classifica o da amostra necess rio que seja feita a carga do classificador que foi cadastrado para a base que foi carregada e s ent o poss vel fazer a classifica o A API retorna o id da esp cie que foi encontrada depois com este ia solicitado para a API a 48 imagem e as informac es da esp cie que foi reconhecida Se nao for poss vel reconhecer a imagem o m todo Cassify da API lan a uma exce o que tratada antes de res
67. serem independentes e reutiliz veis Os servigos tamb m possuem a vantagem do encapsulamento escondendo sua complexidade e proporcionando um bom n vel de seguran a Em complemento Ferreira 2012 p 23 explica que os servi os s o escal veis proporcionando uma redu o de custos na coopera o entre sistemas por conta da facilita o da comunica o e ger ncia de sistemas complexos 2 3 API PLANTARUM A API desenvolvida por Cassaniga 2012 possui as funcionalidades de cria o de base de dados para o catalogo de plantas adi o de amostras de folhas na base e a classifica o de uma amostra Ao criar uma nova base de dados poss vel selecionar o m todo de classifica o que ser utilizado para as amostras desta base as caracter sticas para discriminar as amostras e tamb m quais ser o os valores para os par metros utilizados pelo m todo classificador Ao adicionar uma imagem na base de dados devem ser informados onde fica a base e a ponta da folha Tamb m poss vel escolher a esp cie da planta se ela j estiver inclu da no sistema Ainda poss vel cadastrar um r tulo que pode ser utilizado para identifica o Caso a esp cie ainda n o possua cadastro na base de dados poss vel fazer este cadastro para posteriormente associar a esp cie a outra amostra ou mesmo fazer o reconhecimento desta esp cie Para a classifica o de plantas necess rio que seja passada uma imagem para a API e que seja informa
68. soft Visual Studio 2012 Neste projeto foi utilizado como tecnologia a API Plantarum CASSANIGA 2012 para a classifica o e cadastro de esp cies 33 Para melhorar os resultados deste trabalho foram inclu das novas caracter sticas classificag o e reconhecimento de plantas na API Plantarum de Cassaniga 2012 Para isto foi necess rio utilizar o mesmo conjunto de ferramentas e t cnicas utilizadas para a constru o desta API Na aplicag o do cliente foi utilizada a linguagem Java oferecida pela Oracle Como plataforma de desenvolvimento foi escolhida a IDE Android Developer Tools ADT vers o 22 3 0 uma customiza o da IDE Eclipse oferecida pela Google para o desenvolvimento para dispositivos Android em complemento foi utilizado o SDK vers o 22 3 Para a comunicag o via HTTP foram utilizadas as bibliotecas Httpclient 4 3 Httpcore 4 3 e Httpmime 4 3 disponibilizadas pela Apache Software Foundation Para a leitura e gravac o de propriedades dos arquivos de imagem foi utilizada a biblioteca independente Exifdriver 3 3 1 1 Implementa o da aplica o cliente A aplicac o cliente foi desenvolvida com base no dispositivo Samsung Galaxy S IV com o Android na vers o m nima de 2 3 3 Este dispositivo possui processador quad core de 1 2 GHz 2 GB de mem ria c mera de 13 megapixels e resolu o da tela de 1080x1920 pixels A aplicag o exige permiss es de internet acessar e modificar o estado da rede sem fio
69. stem IO 2 using System ServiceModel 3 using System ServiceModel Web 4 5 namespace PL 6 7 ServiceContract 8 public interface IPS 9 10 OperationContract t1 WebGet UriTemplate GetData 12 RequestFormat WebMessageFormat Json 13 ResponseFormat WebMessageFormat Json 14 string GetData 15 16 OperationContract 17 WebGet BodyStyle WebMessageBodyStyle Bare 18 UriTemplate GetSpecimens 19 ResponseFormat WebMessageFormat Xml 20 RequestFormat WebMessageFormat Json 21 string GetSpecimens 22 23 OperationContract 24 WebInvoke Method POST 25 BodyStyle WebMessageBodyStyle Bare 26 UriTemplate UploadClassifySample 27 RequestFormat WebMessageFormat Json 28 ResponseFormat WebMessageFormat Xml 29 Stream UploadClassifySample Stream imagem 30 31 OperationContract 32 WebInvoke Method POST 33 BodyStyle WebMessageBodyStyle Bare 34 UriTemplate UploadNewSample 35 RequestFormat WebMessageFormat Json 36 ResponseFormat WebMessageFormat Xml 37 string UploadNewSample Stream imagem 38 39 No contrato exibido no Quadro 11 existem quatro m todos para atender a aplicac o cliente desenvolvida S o dois m todos do tipo Gi ET sem par metros com o formato da requisig o e da resposta em Json Em complemento mais dois m todos do tipo PosT que recebem uma imagem no formato stream como par metro com o formato da requis
70. tas informa es s o enviadas para um servidor a fim de catalogar ou obter a classificag o da esp cie 1 1 OBJETIVOS DO TRABALHO O objetivo geral deste trabalho disponibilizar uma aplicag o para Android capaz de interagir com um webservice para efetuar o cadastro e classifica o de esp cies de plantas 14 Os objetivos espec ficos s o a disponibilizar uma aplicag o para dispositivos m veis que permita capturar imagens a partir da c mera do dispositivo b prover um servigo Windows Communication Foundation WCF para realizar a troca de informag es entre o dispositivo m vel e a API Plantarum de Cassaniga 2012 C fornecer um mecanismo de e armazenamento ass ncrono que na indisponibilidade de conex o com o webservice as amostras a data e hora e as coordenadas de Global Positioning System GPS das plantas sejam armazenadas no pr prio dispositivo m vel para envio posterior d oferecer uma interface gr fica no dispositivo m vel para exibir as informa es retornadas pela API Plantarum de Cassaniga 2012 1 2 ESTRUTURA DO TRABALHO O primeiro cap tulo apresenta a motiva o e os objetivos a serem atingidos com este trabalho O segundo cap tulo cont m a base te rica dos principais conceitos e t cnicas exploradas no desenvolvimento do projeto No terceiro cap tulo est o descritos a arquitetura a implementa o e os resultados obtidos nos testes de valida o da apl
71. te void showResult Bitmap bMap BitmapFactory decodeF ile sampleImage getAbsolutePath if bMap getWidth gt bMap getHeight Matrix matrix new Matrix matrix postRotate 90 bMap Bitmap createBitmap bMap 0 0 bMap getWidth bMap getHeight matrix true ImageView findViewById R id ivImagem setImageBitmap bMap String s S getStringUserComment sampleImage getAbsolutePath TextView findViewById R id tvResultado setText s 10 01 Q0 2r JOANA Ao fim ser mostrada na tela inicial a imagem que representa a esp cie e o nome da esp cie que foi reconhecida 3 3 1 2 Implementa o da aplica o do servidor A aplicag o do servidor foi desenvolvida no modelo WCF para permitir o consumo de seu servico no ambiente da internet e o framework do Net utilizado foi o 4 0 Para a classificac o e cadastro de imagens foi utilizada a API Plantarum CASSANIGA 2012 e suas depend ncias A aplica o n o faz uso de nenhuma biblioteca al m da mencionada acima O modelo WCF formado por um contrato que fica p blico e cont m a assinatura para a utiliza o dos servi os implementados O contrato da aplica o desenvolvida possui quatro 44 servigos para o consumo p blico O Quadro 11 demonstra estrutura do contrato implementado Quadro 11 Contrato da aplica o do servidor 1 using Sy
72. tilizado para classificar uma amostra que recebida por par metro nesta imagem deve conter os pontos do pec olo e da ponta da folha nas propriedades EXIF da imagem O Quadro 13 mostra a implementa o deste m todo Quadro 13 Recebendo uma imagem para classificac o 46 OO CO C C0 C0 CO Y C0 CO CO PO PO PO PO DN YUADOBWNFTUWO MANDAP 4 Oo o 38 a w Nop B WB Ww WN rn Stream IPS UploadClassifySample Stream prImage try var fileName string Format 0 jpg DateTime Now ToString yyyyMMddHHmmss fileName Path Combine D PlantarumSamples fileName Stream imgStream new MemoryStream GetBytesFromStream primage System Text Encoding ASCII SaveTemp imgStream Image img Image FromStream imgStream img Save fileName String coordinates try byte coordByes img GetPropertyItem 270 Value if coordByes null coordinates System Text Encoding ASCII GetString coordByes Substring 0 System Text Encoding ASCII GetString img GetPropertyItem 270 Value Length 1 catch System ArgumentException return null var specimen ClassifySample coordinates fileName if specimen null return SaveExif NotRecognized img fileName else return specimen catch Exception ex strin
73. tures to a web server that through an API is capable of registering or classify the sample into a database The results make possible the recognition and classification of species based on the leaves database Key words Plants classify Mobile devices Android LISTA DE ILUSTRACOES Figura 1 Exemplos de tipos de 1 eh doedgnessdeeadcvenddectancseaaesdeseac 15 Figura 2 Exemplo de folha discolor eiie tete teet ated un ste ete deco Fm a eut agen 16 Figura 3 Funcionalidades da aplica o Leafsnap seen 19 Figura 4 a Visualiza o da detec o de bordas b interface de rota o da imagem 21 Figura 5 Processo de captura da imagem e secs tecnici lacet abe e e eden HR add assi 23 Figura 6 Resultado do c lculo de dist ncia euclidiana ees 23 Quadro 1 Caracter sticas dos trabalhos relacionados sssseeeeeeeeenee 24 Figura 7 Diagrama de casos de USO eiii etat ge letta da ls Re eed dE 26 Figura Pacote Te S ec qe a cue aces 27 Figura 9 DELLE ona dede eee dt sad etel A tatus du i 29 Figura 10 Diagrama de classes que representa o servi o WCF do servidor 30 Figura 11 Diagrama de atividades para cadastrar amostra sese 3l Figura 12 Diagrama de atividades para classifica o de
74. ty SelectPointsActivity E returnToMain void o onWindowFocusChanged boolean void onCreate Bundle void onCreate Bundle void strCoord View MotionEvent String btCancelOnClick void E getCoordinatesOfimage MotionEvent ImageView int btConfirmOnClick void posSelectPoints woid getTileData String posDiscardPoints void errSampleField void returnToMain String void validate boolean loadSpecimen void A classe MainActivity a classe que controla a visualizag o inicial da aplicag o e os resultados da classifica o de esp cies Esta classe possibilita iniciar a atividade para tirar uma foto atrav s do m todo btClassifyOnClick cadastrar uma nova amostra com o m todo btAddSampleOnClick Ou enviar para O servidor uma imagem previamente salva utilizando o m todo btUploadOnClick 28 No m todo btClassifyOnClick usuario tem acesso camera do dispositivo pelo m todo startIntentCamera Ao retornar da c mera a aplica o pega as coordenadas de GPS as adiciona na foto e encaminha o usu rio para a tela controlada por SampleDetails onde s o solicitadas as informa es tipo da folha pilosidade e discoloridade No retorno desta atividade o usu rio enviado para a atividade controlada pela classe SelectPointsActivity para selecionar os pontos que representam o pec olo e a ponta da folha Ap s retornar da tela de sele o de pontos a aplica o salva as coo
75. uage SUM RIO 1 INTRODUCA Oti AA A c Da us 13 LA OBJETIVOS DO TRABALHO sra rr 13 12 ESTRUTURA DO TRABALHO dd eG Me 14 2 FUNDAMENTA O TE RICA csssssssssssssssssssssessssssssecssessssssssssssessssessssecsnsssssssesecseees 15 2 1 MORFOLOGIA EXTERNA DAS PLANTAS 15 2 2 DESENVOLVIMENTO DE WEBSERVICES tata e 16 2 3 APTPEANTARUN si 17 24 TRABALHOS CORRELATOS esmas 18 2 4 1 Leafsnap A computer vison for automatic plant species identification 18 2 4 2 Automatic plant leaf classification for a mobile field guide an Android aplication 20 2 4 3 Shape based plant leaf classification system using Android usse 22 2 4 4 Se o comparativa dos trabalhos relacionados eere 24 3 DESENVOLVIMENTO sicario FER PR E HERR NET NEA 25 3 1 REQUISITOS PRINCIPAIS DO PROBLEMA A SER TRABALHADO 25 32 ESPECIFICA O naaa nl CHEE OT a EET en UEM EINE Pa NL e E 25 3 241 Diagramq de Casos de SO spas aio todos 25 3 2 2 Diagrama de Classes ue pesi ta 26 3 2 2 1 Diagramas dor aplicativo cen ic 27 3 2 2 2 Diagrama de classes do aplicativo servidor 29 3 2 3 Diagramas de SEQUENCIA A d e a DR E A a 30 35 IMPLEMENTA O sao Act e Brae ILLNM 32 3 3 T T cnicas e ferramentas utilizadas tam ep toe A ete aoe 32 3 3 1 1 Implementa o da apl
76. utilizada por Kumar et al 2012 tem o ponto fraco de ser dependente de conex o com a internet Knight Painter e Potter 2010 e Sangle Shirsart e Bhosle 2013 efetuam os c lculos localmente para nao depender da conex o com a internet por m isto afeta o desempenho da aplicag o implicando em sua usabilidade A classificag o autom tica de esp cies utilizada por Knight Painter e Potter 2010 e Sangle Shirsart e Bhosle 2013 possui a vantagem de n o ser necess ria nenhuma interag o com o usu rio para a sele o da planta Kumar et al 2012 prop e uma maneira de classificac o onde o usu rio deve escolher dentre uma lista de esp cies prov veis qual a esp cie correta 25 3 DESENVOLVIMENTO Neste capitulo s o apresentadas as etapas do desenvolvimento da aplica o Plantarum Na se o 3 1 s o enumerados os requisitos principais do projeto desenvolvido A se o 3 2 apresenta a especifica o da aplica o contendo a arquitetura do projeto cliente e a arquitetura do projeto servidor A se o 3 3 detalha a implementa o das principais t cnicas e algoritmos utilizados pela aplica o Por fim a se o 3 4 apresenta os testes efetuados para a valida o da aplica o e os resultados obtidos 3 1 REQUISITOS PRINCIPAIS DO PROBLEMA A SER TRABALHADO Os Requisitos Funcionais RF e Requisitos N o Funcionais RNF da aplica o Plantarum s o a permitir ao usu rio acesso a c mera com o intuito de fotog
77. utilizadas sendo que nenhuma delas permitia grava o de texto livre O Quadro 6 mostra a implementa o do m todo setStringUserComment Quadro 6 Salvando informa es na imagem 39 2r C0 to C PD How o thNPmD CO wW w w N 6 MS BUD UD UD O e oases 8 HBR DBR DBR DB WBA AW UU BW MB WN rn public static void setStringUserComment final String comment final Context context final String prImgPath ExifManager exifManager String nomeArquivo Constants IMAGE_DIR tempS jpg String s File sampleImage new File prImgPath Utils copyFile sampleImage new File nomeArquivo sampleImage new File nomeArquivo try ExifDriver exifDriver ExifDriver getInstance prImgPath if exifDriver null if exifDriver getIfd0 get 270 null byte temp new byte exifDriver getIfd0 get 270 getBytes length temp exifDriver getlfd0 get 270 getBytes s EncodingUtils getAsciiString temp S s comment exifManager new ExifManager exifDriver context exifManager set ImageDescription s exifDriver save Constants IMAGE DIR temp2 jpg exifDriver ExifDriver getInstance Constants IMAGE DIR temp2 jpg if exifDrive
78. utilizadas para a valida o da aplica o Tabela 1 Esp cies de plantas utilizadas na valida o da aplica o N mero N mero de Percentual p de amostras de acerto Esp cie amostras reconhecidas de teste Acer Palmatum 16 16 100 Aesculus chinensis 17 16 94 12 Berberis anhweiensis Ahrendt 18 18 100 Cercis chinensis 22 22 100 Indigofera tinctoria L 19 19 100 Kalopanax septemlobus Thunb ex A Murr 17 17 100 Koidz Phoebe nanmu Oliv Gamble 20 19 95 Phyllostachys edulis Carr Houz 16 16 100 Total 146 98 64 O resultado mostra que as caracter sticas contribu ram no reconhecimento das amostras Em compara o com os resultados da vers o anterior da API a nova vers o mostra um percentual maior de acerto como apresentado na Tabela 2 Tabela 2 Compara o dos resultados de classifica o entre as vers es da API N mero N mero de Percentual Numero N mero de Percentual de amostras de acerto de amostras de acerto Especie amostras reconhecidas API 1 0 0 amostras reconhecidas API 1 1 0 de teste API 1 0 0 deteste API 1 1 0 API API 1 0 0 1 1 0 Acer Palmatum 16 16 10046 16 16 100 Aesculus chinensis 22 22 100 17 16 94 12 Berberis anhweiensis 17 17 100 18 18 100 Ahrendt Cercis chinensis 18 18 100 22 22 100 Indigofera tinctoria L 19 18 94 75 19 19 100 Kalopanax septemlobus 2
Download Pdf Manuals
Related Search
Related Contents
AC1025 User Manual - Sunstone Engineering Fujitsu LIFEBOOK AH544/G32 Copyright © All rights reserved.
Failed to retrieve file