machine learning and predictive analyticssesam-world.com/_pdf/sesam-132/06-velux.pdf · we are...
TRANSCRIPT
MACHINE LEARNING AND PREDICTIVE ANALYTICSSigurd Lazic Villumsen
2
WE ARE WORLD CHAMPIONS OF ROOF WINDOWS
3
AW
AR
EN
ES
S
END-USER — AWARENESS / PREFERENCE 2016
PREFERENCE
VELUX GROUP
COMPETITOR X COMPETITOR Y
100
80
60
40
20
00 20 40 60 80 100
No matter how good you are, you can always do it better faster or cheaper
Light grey, use
eyedropper to
THE MAIN POINT
We need these technologies to unlock uninvestigated business potential.
• Increase productivity
• We want to grow (acquisitions and increased sales of core products)
• Increase quality even further
• Mitigate manufacturing challenges• Increasing people turnover
• Increasing product program complexity
• Aging workforce
4
5 VELUX GROUP PRESENTATION
CULTIVATE ⁄ A SIMPLE IDEA
2017 numbers (EUR)
VKR Holdingrevenue
VKR Holdingnet profit
1740 10,200
2.5bn
340m
Company facts
The VELUX Group is owned by VKR Holding A/S, a limited company wholly owned by the foundations and family.
The VELUX Group’s financial results are incorporated into VKR Holding’s consolidated accounts.
sales companies around the world
production sites in nine countries
employeesglobally
UNCHARTED TERRITORY
6
Possible applications
We don’t know where we are so need to explore before we prioritize.
But we need data to be able to do this
POWERBI DASHBOARD FOR MACHIENS
7
We are using PowerBI to visualise the data we are collecting from machines in our production.
Benefits
We can easily share data visualizations in our organization.
Very good at making first level analytics.
VELUX COMPANY
IS MACHINE LEARING ALWAYS NEEDED?
8
Just by making data more accessible, we gain a lot, and also by using fx the insight function in PowerBI we can learn new stuff about our machines.
VELUX COMPANY
SMART DATA, NOT ONLY BIG DATA
9
In VELUX we have our own PackML interface made for data collection from machines.
This gives us the same data foundation for all machines, making it easy to make standardised dashboards fx OEE calculation, Alarm statistics ect.
VELUX COMPANY
UNCHARTED TERRITORY
10
Possible applications
Process optimization
IMPROVING PRODUCTION PROCESSES
11
What we think
ML can be used as a way of improving production processes.
Why is it important
We need to be in control of our processes if we wish to stay in control of quality, delivery cost.
Why ML
We have a big toolbox for optimizing processes, ML could be an additional tool for that.
Status:
Not very far in these areas
Cases:
1. Aluminium saw
2. PU painting line.
CASE 1: IMPROVING ALUMINIUM SAW
12
Why
Varying length is a problem when cutting aluminum on flying saw.
Goal: Remove the varying length by using machine learning
Result.
?
CASE 1: IMPROVING ALUMINIUM SAW
13
Why
Varying length is a problem when cutting aluminum on flying saw.
Goal: Remove the varying length by using machine learning
Result.
Machine learning was never necessary as linear correlation was found just by looking at the data.
Machine learning not always needed
CASE 2: IMPROVING PU PAINTING
14
Goal:
• Improve quality of painted components
• Reduce the used amount of paint.
• Predict maintenance e.g. change of nozzle
• Data available
Visual inspection
UNCHARTED TERRITORY
15
Possible applications
Process optimization
VISUAL INSPECTION
16
What we think
We think that we can push the boundaries for visual inspection by using new technology.
Why is it important
Manual inspection is a cost heavy process.
We need to ensure uniform and global quality references
Why ML
We are working with natural products e.g. wood. So far traditional vision solutions has not been good enough
Cases:
3. Wood grading
4. Paint inspection
5. Pane crack recognition
CASE 3: USING DEEP LEARNING FOR AUTOMATIC WOOD GRADING
LUKE WHITE
MARCH 4, 2019
Light grey, use
eyedropper to
USING DEEP LEARNING FOR AUTOMATIC WOOD GRADING
18
Goal: To develop a machine vision system to find defects in wooden components as well as or better than current human inspection.
Several iterations of training utilizing both “un-supervised” and “supervised” methods where tested.
SUPERVISED VS. UNSUPERVISED
19
Unsupervised Training Example
Supervised Training Example
AUTOMATIC WOOD GRADING
20
Reclassified good/bad parts and re-trained system. New results of 98%+ certainty.
Determined unsupervised training not allowing different quality standards for different wood surfaces (A, B, C, etc.)
Supervised Training
Allowed different surfaces to have different quality standards.
Resulted in certainties above 99% on defined defects.
Current work:
Testing fine crack/lamination seam testing using current lighting
CASE 4: WHITE PAINTED WOOD COMPONENTS
21
DETECTION OF PAINT DEFECTS
22 19 DECEMBER 2018 MACHINE LEARNING
Goal: Classify defects in white painted wood components
Simple POC
Result: Good preliminary results. We can detect contaminations and non uniform paint
RESULTS FROM PRE-STUDY
23 19 DECEMBER 2018 MACHINE LEARNING
CASE 5: DETECTION OF CRACKED PANES
24
MOTIVATION
Damaged glass is a source of claims and internal scrap for VELUX
25
Manual inspection Hand programmed scanner Machine learning
Currently glass is subject to manual inspection.
A scanner will be able to take high quality and consistent
images of glass. Performance is untested on edge damages,
but images can be fed to a machine learning model
Machine learning will ensure a high detection rate (95%+), while keeping maintenance low, as the models are self
learning.
DEEP LEARNING FOR QUALITY INSPECTION• Using a deep learning, we teach a computer model to recognize glass with damaged edges and scratches through four individual steps
• By introducing the computer model to a large number of images of damaged and undamaged glass. You can say that the computer model is “trained”
• The computer model then predicts whether or not it thinks the glass is damaged.
• We then compare these predictions to the actual state of the glass.
• The computer model then updates itself based how right it predicted the state of the glass.
Window glass Deep Learning model
Layer 1 Layer 2 Layer 3 Layer 4
Predictions
Evaluation
Actual state
Model learns based on error
DATSET• The final dataset consisted of 1200 image tiles. However, only 55 of the images have an actual damage on them, which in this case is the important
information. As such, we have a very skewed dataset, which will have to be taken into consideration when training the models and validating the results.
• Further image preprocessing is performed as part of the data pipeline, this being:
• Random image augmentation is added to increase image diversity. Augmentations include random 90-interval degrees rotation, color scaling, adding random noise, tilting and shifting images by small amounts.
Random image augmentation
INITIAL RESULTS – RANDOM VALIDATION• To solve the issue of the unbalanced dataset (55 damaged image images when subtracting the validation data, vs 1145 undamaged images), we have
to manually balance the dataset. If we leave it unchanged, the model will have a very hard time distinguishing between damaged and undamaged glass.
• Balancing the dataset simply means copying the damaged images until we reach a balanced dataset (1125 damaged and undamaged images). This will make it very easy to overfit the data, which can be alleviated by applying enough data augmentation.
• A validation set can be chosen in various ways, usually it is done by randomly holding back 20% of the data. In this study, we experiment with various small validation sizes, due to the small sample size of data (number of images). We train the model on validation samples of 4, 8 and 12 images of each class for balanced interpretable validation – A total of 8, 16 and 24 images. To validate the results, we do this sampling the validation data 50 times, training a model for each sample and reporting the average validation loss and accuracy across the 50 models.
• Accuracies should be compared to the accuracy of just guessing the majority class – which as we have balanced the dataset is 50%.
• We utilize a model type pre-trained on another very large dataset, such that the model has already learned useful representations. Due to the short time, we utilize an older model architecture (VGG16 with convolutional top layers) that is known to converge well during training – Higher performance is expected when using a more recent model architecture.
Overview of results
Training data1176-1192 images
Validation data4-12 images sampled from 55 damaged
images and 4-12 images sampled from 1145 undamaged images. Each sampled 50 times.
Average of 50 models with 16 validation images
Loss measure
Loss
Training accuracy
-
Validation accuracy
0.909
Average of 50 models with 8 validation images
Loss measure
Loss
Training accuracy
-
Validation accuracy
0.922
Average of 50 models with 24 validation images
Loss measure
Loss
Training accuracy
-
Validation accuracy
0.910
29
Rolls Rolls
Viprotronscanner
Camera
Lighting
Viproton PC & software /w VELUX software
Mounted share
Robot arm Discarded Pellet large
Discarded Pellet small
Azure Data Box Edge
Robot com interface
Relay
Azure data lake storage
Reporting on performance
Quality monitor
VELUX TC-SkjernHardware: VELUX IT
PRODUCTION OPERATIONSViprotron
Software: Data & Analytics
UNCHARTED TERRITORY
30
Possible applications
Process optimization
Visual inspection
Optimizing business
processes
CASE 6: IMPROVING SERVICE REGISTRATIONS.
31
Project goal:
Predict the cost of a service technician and what spareparts he might need based on user input.
Data:
User inputs, Many years of service registrations
PREDICTIVE ANALYTICS PROCESS. Input → Model → Output
32
Input:SCO
Product TypeProduct Size
Product VariantComponentSymptom
Ect.
Model:Classification
We run a model that creates a decision tree on the input variable dependent on the
associated output variables.
Output:Spare part
Number of SparepartsStdTextKey
HoursExecution factor
Probability
{
"json_data": {
"sales_company": "V-F",
"product_type": "GPL",
"product_size": "MK04",
"product_variant": "3076F",
"component_group_code": "0004",
"component_code": "4003",
"symptom": "9",
"id": "1"
}
}
{
"json_data": {
"Material": " IPL MK04 0076F",
"Material_Quantity": "1",
"Stdtextkey": "GL_WH",
"Hours": "1",
}
}
PREDICTION MODEL VS. MACHINE LEARNING
33
HOW DOES A PREDICTION MODEL WORK
Model
Data
Prediction
Customer request
Service order
Confirmed data
Feedbackloop
What is the difference between a prediction model and machine learning?Prediction model: Uses data and model to create a customer specific prediction Machine learning: Set up that alters the model based on the comparison of the prediction and confirmation data
Learning algorithm
NOT PART OF THE CURRENT PROJECT SCOPE!!!
ARCHITECTURE FOR PREDICTIVE MODELLING IN VELUX
Hana
Data storage on
BW
Development server
ComputeLocal environment
Localfilesystem
CodeTrained model
Trainedmodel
NAS
ODBC
Productionserver
REST API(Plumber)
JSON
JSON
Audit Trail
WebpageVELUX Network Cloud
SAP PEP SRS 2
MAGIC 1 MAGIC 2
NOTICE: ARCHITECTURE FOLLOWS APPLICATION
36
Not necessarily a one size fits all, but sharing of best practice is extremely important
The application requirements will control the architecture.
Pane crack recognition Service predictions
UNCHARTED TERRITORY
37
Possible applications
Process optimization
Visual inspection
Optimizing business
processes
MACHINE LEARNING: WHERE ARE WE?
38
2018 2019 2020 2021
White painted wooden
components
Pane cracks
Wood defect detection
Sup
ply
Oth
er
White painted wooden
componentsPane cracks
Wood defect detection
Quality prediction Painting line
Aluminum sawPredictive
maintenance ØB
… …
……
……
……
……
……
…
…
……
……
…
…
……
……
…
…
Web solutions … (secret) … (secret)Web solutions
… …
……
……
……
…
…
……
……
…
…
UNCHARTED TERRITORY
39
Possible applications
Process optimization
Visual inspection
Optimizing business
processes
Predictive maintenance
Lead generation
Unknown applications
Mordor
CONCLUDING REMARKS
• A good data foundation is an absolute requirement.
• We have taken the first steps towards using machine learning in VELUX.
• We are in many cases still novices in the field, but making progress.
• I expect we will see this as a common tool in 1-2 years
• Remember your old tools.
• Don’t limit yourself to one supplier
• Partner up
• Work with it
40
CONTACT INFO
FIND US HERE
pinterest.com/VELUXGroup/
linkedin.com/company/VELUX
youtube.com/user/VELUX
facebook.com/VELUX
twitter.com/VELUX
Sigurd Lazic Villumsen
+45 30707273