-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
9a090fb
commit d34cf30
Showing
5 changed files
with
127 additions
and
13 deletions.
There are no files selected for viewing
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
# Definição do problema e contextualização | ||
|
||
## Objetivo | ||
O objetivo deste mini trabalho é estabelecer as bases para o projeto de Aprendizado de Máquina (ML) que visa desenvolver um software capaz de analisar imagens de plantas com doenças e identificar o tipo de doença presente. Para isso, é essencial definir claramente o problema a ser abordado, compreender o contexto no qual ele está inserido e estabelecer objetivos específicos para a solução proposta. Além disso, é importante realizar uma análise do cenário atual, identificando soluções existentes, lacunas e possíveis melhorias. Por fim, devem ser escolhidas e justificadas as métricas de avaliação de desempenho alinhadas com os objetivos do projeto, estabelecendo um patamar mínimo de desempenho esperado para considerar o projeto bem-sucedido. | ||
|
||
|
||
## Cenário Atual e contexto | ||
|
||
A agricultura desempenha um papel fundamental na sustentabilidade alimentar global, fornecendo alimentos essenciais para a população mundial. No entanto, a saúde das plantas, fundamental para a produção agrícola, está constantemente ameaçada por uma variedade de fatores, incluindo doenças. Estas podem ser causadas por fungos, vírus, bactérias, deficiências nutricionais, entre outros agentes patogênicos. Atualmente, a detecção e diagnóstico de doenças em plantas são predominantemente realizados manualmente por agrônomos e especialistas em agricultura. Este processo é muitas vezes demorado, intensivo em mão de obra e sujeito a erros humanos. Além disso, a capacidade dos especialistas em identificar doenças pode variar, o que pode resultar em diagnósticos imprecisos e tratamentos inadequados. Embora soluções computacionais baseadas em técnicas de processamento de imagens e aprendizado de máquina tenham sido desenvolvidas para auxiliar na detecção de doenças em plantas, muitas delas enfrentam desafios significativos. Essas soluções podem ser limitadas em termos de precisão, velocidade de processamento e capacidade de generalização para diferentes tipos de plantas e doenças. Isso pode resultar em diagnósticos imprecisos ou ineficazes, prejudicando a eficácia das medidas de controle e prevenção. A introdução de um software de Aprendizado de Máquina capaz de analisar imagens de plantas e identificar com precisão o tipo de doença presente teria um impacto significativo no cenário atual da agricultura. Uma solução eficaz e precisa permitiria uma detecção mais rápida e confiável de doenças em plantações possibilitando a implementação de medidas preventivas e curativas de forma mais ágil e eficiente. Isso poderia resultar em redução de perdas na produção agrícola, aumento da eficiência dos sistemas de cultivo e, consequentemente, contribuir para a segurança alimentar global. | ||
|
||
## Métricas de avaliação e desempenho | ||
|
||
- Acurácia: | ||
|
||
Justificativa: A acurácia é uma métrica fundamental para avaliar a precisão geral do modelo na classificação das doenças das plantas. Uma alta acurácia indica que o modelo está fazendo previsões corretas na maioria dos casos, o que é crucial para garantir diagnósticos precisos e confiáveis. | ||
|
||
Patamar Mínimo de Desempenho: O patamar mínimo de acurácia esperado para considerar o projeto bem-sucedido será de 85%. Isso significa que o modelo deve ser capaz de classificar corretamente pelo menos 85% das imagens de plantascom doenças. | ||
|
||
- Precisão: | ||
|
||
Justificativa: A precisão é importante para avaliar a proporção de verdadeiros positivos em relação ao total de predições positivas. Uma alta precisão é essencial para garantir que o modelo minimize os falsos positivos, evitando diagnósticos incorretos que possam levar a tratamentos desnecessários ou inadequados. | ||
|
||
Patamar Mínimo de Desempenho: O patamar mínimo de precisão esperado será de 80%. Isso significa que o modelo deve ser capaz de identificar corretamente pelo menos 80% das plantas diagnosticadas como portadoras de doenças. - Revocação: Justificativa: A revocação é importante para avaliar a proporção de verdadeiros positivos em relação ao total de casos positivos reais. Uma alta revocação é crucial para garantir que o modelo minimize os falsos negativos, ou seja, que não deixe de identificar plantas doentes. Patamar Mínimo de Desempenho: O patamar mínimo de revocação esperado será de 80%. Isso significa que o modelo deve ser capaz de identificar corretamente pelo menos 80% das plantas que realmente estão doentes. | ||
|
||
- F1-Score: | ||
|
||
Justificativa: O F1-Score é uma medida que combina precisão e revocação, fornecendo uma avaliação geral do equilíbrio entre essas duas métricas. Um alto F1-Score indica um bom equilíbrio entre a capacidade do modelo de identificar corretamente casos positivos e negativos. | ||
|
||
Patamar Mínimo de Desempenho: O patamar mínimo de F1-Score esperado será de 0.8. Isso significa que o modelo deve alcançar um F1-Score de pelo menos 0.8 para considerar o projeto bem-sucedido. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
# Aquisição de dados | ||
|
||
## Objetivo | ||
O objetivo da aquisição de dados para treinamento do modelo é reunir uma base de dados robusta e representativa de imagens de plantas com doenças. Esses dados serão utilizados no desenvolvimento de um software de Aprendizado de Máquina (ML) destinado a analisar imagens e identificar o tipo de doença presente nas plantas. Para alcançar esse objetivo, é crucial selecionar e adquirir imagens de plantas com uma variedade de doenças e condições, garantindo assim a diversidade necessária para o treinamento eficaz do modelo. Além disso, é importante avaliar a qualidade e a integridade dos dados adquiridos, garantindo que estejam livres de problemas e representem fielmente o problema em questão. Ao estabelecer uma base de dados sólida e bem fundamentada, será possível desenvolver um modelo de ML preciso e confiável para a identificação de doenças em plantas. | ||
|
||
## Qualidade e documentação da fonte de dados | ||
A base selecionada como principal fonte para os datasets será a base PlantVillage disponibilizada publicamente pelo TensorFlow e que pode ser acessada através do link [(ACESSO)](https://www.tensorflow.org/datasets/catalog/plant_village?hl=pt-br). Essa base consiste em 54303 imagens de folhas saudáveis e não saudáveis, divididas em 38 categorias por espécie e doença. Esse conjunto de dados foi disponibilizado pela pesquisa “An open access repository of images on plant health to enable the development of mobile disease diagnostics” [(ACESSO)](https://arxiv.org/abs/1511.08060) em que a url do conjunto de dados primário da pesquisa consta no link [(ACESSO)](https://data.mendeley.com/datasets/tywbtsjrjv/1). | ||
|
||
Todas as imagens do banco de dados PlantVillage foram obtidas em estações de pesquisa experimentais associadas às Land Grant Universities nos EUA (Penn State, Florida State, Cornell e outras). (HUGHES, 2016). | ||
|
||
As imagens abrangem 14 espécies de culturas: Maçã, Mirtilo, Cereja, Milho, Uva, Laranja, Pêssego, Pimentão, Batata, Framboesa, Soja, Abóbora, Morango, Tomate. Contém imagens de 17 doenças fúngicas, 4 doenças bacterianas, 2 doenças causadas por fungos (oomicetos), 2 doenças virais e 1 doença causada por um ácaro. 12 espécies cultivadas também apresentam imagens de folhas saudáveis que não são visivelmente afetadas por uma doença. (HUGHES, 2016). | ||
|
||
HUGHES (2016) confirma a identidade das doenças através de uma validação feita por fitopatologistas especialistas. Esses especialistas trabalharam diretamente em campo com os dois técnicos que fizeram o diagnóstico. Os estados foram determinados com base em abordagens de fenotipagem padrão usadas por fitopatologistas. | ||
|
||
Será utilizado o conjunto de dados com 905 MB de dados, que emprega uma técnica chamada aumento de dados, ou em inglês, "data augmentation". Essa abordagem consiste em gerar várias variações dos dados existentes, proporcionando assim um conjunto de dados expandido para o treinamento. Os dados aumentados são baseados nos dados originais com algumas pequenas alterações. No caso de aumento de imagem, é feita transformações geométricas e de espaço de cores (inversão, redimensionamento, corte, brilho, contraste) para aumentar o tamanho e a diversidade do conjunto de treinamento. Isso permite que o modelo encontre uma gama mais ampla de características e padrões durante o processo de aprendizado. | ||
|
||
## Preparação do ambiente de trabalho | ||
Para a execução do projeto com as bases de datasets definidas, a equipe optou pela utilização de duas plataformas: o GitHub, para armazenamento de arquivos e controle de versão, e o Google Colab, para o ambiente de trabalho e treinamento do modelo. A escolha do Colab deve-se à necessidade de alto custo de processamento de dados para treinar e validar o modelo. Assim, o Colab, oferecendo um sistema com 12.7 GB de memória RAM, 15 GB de VRAM com GPU dedicada e 78 GB de armazenamento, permite que todos os integrantes disponham do mesmo ambiente de processamento, evitando falhas inesperadas ou falta de componentes. | ||
|
||
## Conformidade Legal e Ética | ||
Este conjunto de dados, licenciado sob a descrição CC0 1.0, segue os padrões de uma Licença de Dedicação ao Domínio Público, o que significa que os arquivos associados estão disponíveis para uso público sem restrições de direitos autorais, permitindo copiar, modificar, distribuir e executar o trabalho, mesmo para fins comerciais, tudo sem pedir permissão. A definição da licença do conjunto de dados pode ser encontrada na página [Data for: Identification of Plant Leaf Diseases Using a 9-layer Deep Convolutional Neural Network](https://data.mendeley.com/datasets/tywbtsjrjv/1) na sessão “License”. | ||
|
||
## Referências Bibliográficas | ||
- HUGHES, D. P.; SALATHE, M. An open access repository of images on plant health to enable the development of mobile disease diagnostics. arXiv, , 11 abr. 2016. Disponível em: <http://arxiv.org/abs/1511.08060>. Acesso em: 7 abr. 2024 | ||
- DataCamp. A Complete Guide to Data Augmentation. Learn about data augmentation techniques, applications, and tools with a TensorFlow and Keras tutorial. Novembro de 2022. Disponível em: <https://www.datacamp.com/tutorial/complete-guide-data-augmentation.> Acesso em: 7 abr. 2024. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,48 @@ | ||
# Plants-Diseases | ||
Repositório destinado a criação de um modelo de aprendizado de máquina para identificação de doenças em plantas. | ||
# Home | ||
<h4>Olá, bem vindo a documentação do projeto Plants-Diseases.</h4> | ||
|
||
<h4>Somos uma equipe de 5 pessoas trabalhando no projeto, iniciado na matéria "Machine Learning" na Universidade de Brasília, com o professor Sérgio Freitas durante o semestre 2024.1</h4> | ||
|
||
## O projeto | ||
|
||
<h4>Tendo em vista a importância de identificar doenças e problemas em plantios com antecedência, buscando minimizar os danos causados, nossa equipe embarcou no projeto "Plant Disease", que consiste no desenvolvimento de um modelo Machine Learning o qual realiza o processamento de imagens de folhas e plantas, a fim de identificação de doenças como ferrugem, oídio e outras, trazendo o grande benefício do tempo para grandes e pequenos agricultores.</h4> | ||
|
||
[Para acessar nosso GitHub, clique aqui](https://github.com/Wildemberg-Projects/Plants-Diseases) | ||
|
||
|
||
## A equipe | ||
|
||
<table style="margin-left: auto; margin-right: auto;"> | ||
<tr> | ||
<td align="center"> | ||
<a href="https://github.com/caiomesvie"> | ||
<img style="border-radius: 50%;" src="https://github.com/caiomesvie.png" width="150px;"/> | ||
<h5 class="text-center"> Caio Mesquita Vieira <br> </h5> | ||
</a> | ||
</td> | ||
<td align="center"> | ||
<a href="https://github.com/Denniel-sudo"> | ||
<img style="border-radius: 50%;" src="https://github.com/Denniel-sudo.png" width="150px;"/> | ||
<h5 class="text-center"> Denniel Wiliam </h5> | ||
</a> | ||
</td> | ||
<td align="center"> | ||
<a href="https://github.com/laispa"> | ||
<img style="border-radius: 50%;" src="https://github.com/laispa.png" width="150px;"/> | ||
<h5 class="text-center">Lais Portela <br> </h5> | ||
</a> | ||
</td> | ||
<td align="center"> | ||
<a href="https://github.com/luclopesr"> | ||
<img style="border-radius: 50%;" src="https://github.com/luclopesr.png" width="150px;"/> | ||
<h5 class="text-center">Lucas Lopes <br> </h5> | ||
</a> | ||
</td> | ||
<td align="center"> | ||
<a href="https://github.com/wildemberg-sales"> | ||
<img style="border-radius: 50%;" src="https://github.com/wildemberg-sales.png" width="150px;"/> | ||
<h5 class="text-center">Wildemberg Sales<br> </h5> | ||
</a> | ||
</td> | ||
|
||
</table> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters