Difference between revisions of "Team:NCTU Formosa/Disease Occurrence Prediction"

Line 14: Line 14:
  
 
<style>
 
<style>
$(document).ready(function(){
+
body {
     $(".show_pic").click(function(){
+
     margin: 0;
        $(".hide").show(500);
+
    padding: 0;
        $(".show").hide();
+
    overflow-x: hidden;
     });
+
     height: 100vh;
});
+
}
  
$(document).ready(function(){
+
html, body{
    $(".hide_pic").click(function(){
+
overflow-x: hidden !important;
        $(".hide").hide();
+
-ms-overflow-x: hidden !important;
        $(".show").show(500);
+
}
    });
+
});
+
  
$(document).ready(function(){
+
@font-face {
    $(".show2_pic").click(function(){
+
  font-family: neo_latina;
        $(".hide2").show(500);
+
  src: url(https://static.igem.org/mediawiki/2017/4/46/Neo-latina-demo-FFP.ttf);
        $(".show2").hide();
+
}
    });
+
});
+
  
$(document).ready(function(){
+
#fut{
     $(".hide2_pic").click(function(){
+
background: white;
        $(".hide2").hide();
+
width: 100vw;
        $(".show2").show(500);
+
height: 200px;
     });
+
}
});
+
 
 +
.line{
 +
position: relative;
 +
left: 10vw;
 +
top: 10vmax;
 +
}
 +
 
 +
p {
 +
     text-align: justify;
 +
    font-size: 1.3em !important;
 +
    font-family: Arial, sans-serif;
 +
    margin: 10px 0 0;
 +
}
 +
 
 +
.subtitle>h6{
 +
    font-family: neo_latina;
 +
    font-size: 4em;
 +
    position: relative;
 +
    left: 25px;
 +
    margin-top: 50px;
 +
    margin-bottom: 10px;
 +
}
 +
 
 +
.dsocpd_content{
 +
    margin: 10vh 10vw 0vh;
 +
}
 +
 
 +
/*----------------------------------------------------------------------------*/
 +
/*----------------------------------------------------------------------------*/
 +
 
 +
.hyperlink{
 +
position: relative;
 +
top: 4vmax;
 +
width: 100vw;
 +
height: 20vmax;
 +
    max-width: 100vw;
 +
}
 +
 
 +
.first_line{
 +
    position: relative;
 +
    left: 38vw;
 +
}
 +
 
 +
.second_line{
 +
    position: relative;
 +
    left: 38vw;
 +
top: -1vmax;
 +
}
 +
 
 +
#first{
 +
position: absolute;
 +
left: 6vw;
 +
top: 3.1vmax;
 +
width: 20vw;
 +
    -webkit-transition: all 0.5 ease;
 +
    -moz-transition: all 0.5 ease;
 +
    -o-transition: all 0.5 ease;
 +
    -ms-transition: all 0.5 ease;
 +
    transition: all 0.5 ease;
 +
}
 +
 
 +
#second{
 +
position:absolute;
 +
left: 17.1vw;
 +
top: 7vmax;
 +
width: 20vw;
 +
    -webkit-transition: all 0.5 ease;
 +
    -moz-transition: all 0.5 ease;
 +
    -o-transition: all 0.5 ease;
 +
    -ms-transition: all 0.5 ease;
 +
    transition: all 0.5 ease;
 +
}
 +
 
 +
#third{
 +
position: absolute;
 +
left: 27vw;
 +
top: 1.7vmax;
 +
width: 20vw;
 +
    -webkit-transition: all 0.5 ease;
 +
    -moz-transition: all 0.5 ease;
 +
    -o-transition: all 0.5 ease;
 +
    -ms-transition: all 0.5 ease;
 +
    transition: all 0.5 ease;
 +
}
 +
 
 +
#fourth{
 +
position: absolute;
 +
left: 40vw;
 +
width: 20vw;
 +
    -webkit-transition: all 0.5 ease;
 +
    -moz-transition: all 0.5 ease;
 +
    -o-transition: all 0.5 ease;
 +
    -ms-transition: all 0.5 ease;
 +
    transition: all 0.5 ease;
 +
}
 +
 
 +
#fifth{
 +
position: absolute;
 +
left: 53vw;
 +
top: 7.1vmax;
 +
width: 20vw;
 +
    -webkit-transition: all 0.5 ease;
 +
    -moz-transition: all 0.5 ease;
 +
    -o-transition: all 0.5 ease;
 +
    -ms-transition: all 0.5 ease;
 +
    transition: all 0.5 ease;
 +
}
 +
 
 +
#sixth{
 +
position: absolute;
 +
left: 64.7vw;
 +
top: 2.9vmax;
 +
width: 20vw;
 +
    -webkit-transition: all 0.5 ease;
 +
    -moz-transition: all 0.5 ease;
 +
    -o-transition: all 0.5 ease;
 +
    -ms-transition: all 0.5 ease;
 +
    transition: all 0.5 ease;
 +
}
 +
 
 +
#seventh{
 +
position:absolute;
 +
left: 72.7vw;
 +
top: 6.8vmax;
 +
width: 20vw;
 +
    -webkit-transition: all 0.5 ease;
 +
    -moz-transition: all 0.5 ease;
 +
    -o-transition: all 0.5 ease;
 +
    -ms-transition: all 0.5 ease;
 +
    transition: all 0.5 ease;
 +
}
 +
/*----------------------------------------------------------------------------*/
 +
 
 +
#first:hover{
 +
    width: 23vw;
 +
    left: 4.5vw;
 +
}
 +
 
 +
#second:hover{
 +
    width: 23vw;
 +
    left: 15.6vw;
 +
}
 +
 
 +
#third:hover{
 +
    width: 23vw;
 +
    left: 25.5vw;
 +
}
 +
 
 +
#fourth:hover{
 +
    width: 23vw;
 +
    left: 38.5vw;
 +
}
 +
 
 +
#fifth:hover{
 +
    width: 23vw;
 +
    left: 51.5vw;
 +
}
 +
 
 +
#sixth:hover{
 +
    width: 23vw;
 +
    left: 63.2vw;
 +
}
 +
 
 +
#seventh:hover{
 +
    width: 23vw;
 +
    left: 71.2vw;
 +
}
 +
/*----------------------------------------------------------------------------*/
 +
 
 +
/*----------------------------------------------------------------------------*/
 +
 
 +
.dsocm, .app{
 +
    border-width: 2px;
 +
    border-style: solid;
 +
    border-color: #85CFEA;
 +
    width: 80vw;
 +
    margin-top: 0px;
 +
    margin-bottom: 100px;
 +
}
 +
 
 +
.show, .show2{
 +
    margin: 1vw 2vw;
 +
}
 +
 
 +
 
 +
.hide, .hide2 {
 +
     display: none;
 +
    margin: 1vw 2vw;
 +
}
 +
 
 +
.show_pic, .hide_pic, .show2_pic, .hide2_pic{
 +
    cursor: pointer;
 +
    width: 100px;
 +
    -webkit-transition: all 0.5s;
 +
    -moz-transition: all 0.5s;
 +
    -o-transition: all 0.5s;
 +
    -ms-transition: all 0.5s;
 +
    transition: all 0.5s;
 +
}
 +
 
 +
.show_pic:hover, .hide_pic:hover, .show2_pic:hover, .hide2_pic:hover{
 +
    width: 130px;
 +
}
 +
 
 +
/*----------------------------------------------------------------------------*/
 +
/*----------------------------------------------------------------------------*/
 +
.sub1{
 +
    position: relative;
 +
    width: 70vw;
 +
    left: 5vw;
 +
}
 +
 
 +
.sub2{
 +
    position: relative;
 +
    width: 60vw;
 +
    left: 10vw;
 +
}
 +
 
 +
/*----------------------------------------------------------------------------*/
 +
/*----------------------------------------------------------------------------*/
 +
span>a:link {
 +
    color: red;
 +
}
 +
 
 +
span>a:visited {
 +
    color: green;
 +
}
 +
 
 +
span>a:hover {
 +
    color: hotpink;
 +
}
 +
 
 +
span>a:active {
 +
    color: blue;
 +
}
 +
 
 +
/*----------------------------------------------------------------------------*/
 +
/*----------------------------------------------------------------------------*/
 +
/*----------------------------------------------------------------------------*/
 +
/*----------------------------------------------------------------------------*/
  
 
</style>
 
</style>

Revision as of 02:52, 29 October 2017

navigation

NCTU_Formosa: Disease Occurrence Prediction
Overview

     For curing the fungal diseases in reality, we built the disease prediction system. According to the research data, weather conditions are related to fungal diseases happening incidence. Therefore,we used eleven weather data which extended by 4 weather conditions-- relative humidity, temperature, air pressure, and rainfall for the past 14 days. With the use of convolutional neural network (CNN), we could get the daily probability of the disease happening. Besides using CNN, we also added the spore germination rate to know the more accurate time of spore germination as optimization.

Disease Occurrence model

This will show the words

Convolutional Neural Network

     he method we used was called neural network, one of the popular machine learning solutions, or another well-known name called deep learning. The method that can improve the quality of the model are Convolutional Neural Network (CNN)

一張圖片

Datasets:

     To complete this model, we needed two kinds of data in the beginning. One was weather data, the other was the weather data that respond to the time when fungal diseases happened.

- Collection:

     The fungal disease data were from the government agency, and the weather information was from the Central Meteorological Bureau website.

- Pre-processing:

     We combined the fungal diseases data and the weather information then deleted the diseases data that had no weather data to match with. Later, these data were standardized for machine training and testing.

Convolutional Neural Network(CNN):

     CNN can recognize the patterns of the feature automatically. Therefore, we used it to catch the pattern of the favorite weather change to the fungal diseases in the life cycle. In other words, if CNN identified the weather change that was suitable for fungal diseases in the specific time, it could correspond to the life cycle of the fungal diseases.

- Max pooling:

     After parameters went through the CNN layers, the amount of data were increased, therefore we also added max pooling layer, which is a command way that can help reducing the computational complexity of the model and help to find the best tendency of these data.

- Full connection layer:

     It converted the max pooling output into high dim space, and classified them into two classes, negative(diseases that have happened) and positive(diseasesthat didn’t happen).

- Softmax function:

     The network output was hard to be realized by humans, so we used softmax function to transform it into the diseases happening probability that could be understood by both machines and humans.

     After that, we used cross-entropy to evaluate the differences between the predicted values and actual values in the training stage. At last, we used independent data to test our final model.

Result

     After a bunch of train and test steps, we got our model with about 83% of accuracy.

     (For the result and technology in detail, please check out Disease Occurrence Modeling.)

Spore Germination Rate Modeling

     Although we could get the daily disease occurrence with CNN method, however, we wanted to get the more accurate timing to let our prediction more effective. Due to the fact that the spore germination must happen before disease occurrence, we tried to get the conditions that cause spores germinate. As a result, we made the spore germination rate with the research data and confirmed it by experiment.

Formula:

     According to the research data(??), humidity and temperature were relatively high to the spore germination. As the result, we focused on the relationships between the humidity with the spore germination and temperature with the spore germination.

- Spore germination rate based on temperature: f1(x)=ax3+bx2+cx+d, can be fitted by a cubic equation.

- Spore germination rate based on humidity: f2(x)=ax+b, can be fitted with a linear equation

- The general spore germination rate: f1(x) x f2(x)

Experiment:

- Fixing temperature and change humidity:

     Put the spore suspension solution in concave glass slide and then place it into temperature and the humidity control box. The humidity was fixed at 100%, the temperature was tested every 5 degrees from 10 to 30 Celsius degree.

- Fixing humidity and change temperature:

     Put the spore suspension solution in concave glass slide and placed into temperature and humidity control box. The temperature was fixed at 25 Celsius degree, and the humidity was tested every 5 percents from 80% to 100%

Result:

     (For the result and technology in detail, please check out Spore Germination Rate Modeling)

Application

This will show the words

IoTtalk

     To put the disease occurrence prediction in reality, we combined it with IoT system and we used the IoTtalk platform to make the IoT contact easier and more convenient and link the entire system.The IoTtalk platform was developed by the lab of Dr.Lin in National Chiao Tung University, Taiwan.

     First, we used the sensors to grab the prompt weather conditions and sent to get the spore germination incidence or accumulated till 14 days then sent into the predict system to get the daily possibility of disease occurrence. If both overcame the threshold, the spraying system would be opened and sprayed the peptide that was chosen from our database. The figure below is the main architecture of our project.

一張圖

     (For more in detail, please check out Demonstration--Plant box.)

Untitled Document