DISCLAIMER : No NDA algorithms of AI will be found here. It is up to everyone to create its own ones. Appart from that, you will find the ingredients needed to have an industrial AI running on the Edge ! After a period of R&D starting in 2016, this project was OpenSourced in Jan 2018 when Scott Guthrie arrived in Paris for a Redshirt Tour 18 (can be found here, even if our doc is partially obsolete due to technology evolution : https://github.com/azugfr/RedShirtTour-IoT-Edge-AI-Lab)
NEXT : I will carry on adding more info progressively in this article.
NEXT : I will explain how to get an effective Keynote that involves Julia White – Vice President Corporate Microsoft Azure worldwide.
NEXT : Our VISEO team will share as Open Source on GITHUB the code that is NOT under NDA.
Context : During the Keynote of Julia White at Microsoft Experiences 2018(*), with Guilhem Villemin, I had the opportunity to illustrate Julia’s point regarding IoT, IoT Edge and AI = Intelligent Edge : https://www.youtube.com/watch?v=S3ZPtwAPG8Q&t=92m28s&feature=youtu.be
(*) Largest European Microsoft event with 20000 people registered, over 150000 connected on live TV, plus many thousands on replay
I was acting as a Microsoft Regional Director (“RD program” known worldwide by Microsoft), and an Azure MVP, working as a FTE for VISEO.
Designed in 2017 and OpenSourced in Jan 2018 – for Scott Guthrie – RedShirt Tour Labs
OpenSourced Labs: https://github.com/azugfr/RedShirtTour-IoT-Edge-AI-Lab
To go deeper into the topic:
BOM – Bill of Material
- Team : You need a solid Rambo Team, that will succeed in due time no matter how hard the work is, and a great customer ALTAMETRIS (100% spin-of the SNCF railway), and Craftsman (well, here Craftswoman – Sacha Lhopital that code in a CleanCode manner and with AI expertise), and Artem Sheiko – who I am referring to during the Keynote, our Data Scientist.
- Probably about 20 people contributed to the entire project (started with IoT Edge in 2016)
- Vincent Thavonekham : Project Director & Speaker of the Keynote
- Vincent is awarded : Azure MVP
- Vincent is part of the Leader Visionary program - Microsoft RD (Regional Director) : https://rd.microsoft.com/en-us/about/
- Igor Leontiev : CSA Lead – Cloud Solution Architect | MVP Azure
- Artem Sheiko : DataScientist specialized on Azure BigData
- Sacha Lhopital : AI Dev & Azure IoT Dev ; https://www.meetup.com/fr-FR/MUGLyon/events/250854003/
- Christophe Creuseveau : Director IoT Dev Team – Grenoble and about 10 people in his team (months on Azure IoT Edge + weeks on Azure Cognitive Services) ==> MANY Thanks
- Industrial customer :
- Guilhem Villemin, CTO Altametris / #SCNF ; https://g-dev.fr/?page_id=10
- Alain Morice #SNCF : Senior Business Analyst and Project Leader and Novel ideas …
- and many other people who helped us, particularly my colleagues in Grenoble
- Massive amount of data
- Azure Subscription
- To orchestrate DevOps deployment of the various Docker containers : modules Azure IoT Hub > IoT Edge
- To centralize the source code : Azure DevOps CI/CD + GIT
- To run Azure Custom Vision : https://www.customvision.ai (free trial)
- DRONE : a real industrial drone running on Linux
- Either this one (worth > 1/2 million $) ; if you are one of the 10 people in the world who owns that monster. Or the one guy in France : Nicolas Pollet the CEO of ALTAMETRIS below.
- Or, the one on stage (worth > 20 000$ to 40 000$)
- Alternatively, use another drone without Linux, but add an external “box” running Linux in parallel (could a Raspberry PI, but your AI has to be very low CPU demanding), but you will not have the ability to get the Drone’s telemetry (coordinate, orientation, battery level, …)
- DevOps: for the DevOps aspect and continuous integration : The Gateway ADVANTECH IoT Box ARK-1124U that runs the same OS as the Drone
- ARK-1124U : http://www.advantech.com/products/1-2jkbyz/ark-1124u/mod_e4faa6eb-0cd1-4c55-b2d9-0dea6c8cbdf
- with Celeron dual Core (performance similar to ATOM Baytrail E3840 https://www.cpubenchmark.net/compare/Intel-Celeron-N3350-vs-Intel-Atom-E3840/2895vs2124)
- 4GB Ram
- SSD of 64Gb
- Module Wifi
- Details of the ADVANTECH gateway:
- Intel Celeron N3350 Dual Core SoC
- VGA Display/2x RS-232/422/485/4x USB 3.0
- 1 x Full-size mini PCIe with SIM holder for communication module
- 1x M.2 E-key for WIFI module
- -20 ~ 60 °C extended operating temperature
- TPM 2.0 default built-in
- 12V lockable DC jack power input
- Optional 12~24V power module (Dual Layer)
- Advantech iDoor module compatible (Dual Layer)
- Advantech WISE-PaaS/RMM support
ON THE EDGE SIDE : Microsoft IoT Edge
- Igor Leontiev created 3 ADVANTECH IoT Boxes :
- One for CI/CD DevOps, and advanced debugging tools and GUI
- Another one with a home-made version of a Linux distribution :
- no GUI Linux for sparing resources for the AI compute
- already packaged an IoT Edge SDK
- already packaged a Docker application
- version of Linux,
- GUI vs no-GUI,
- Version of camera and tricky drivers for Linux combined with the fact that we are in a Docker Container
- Type of camera : USB vs. RJ45 vs. Wifi
- type of AI (many versions of TensorFlow, OpenCV …),
- Power needed in terms of CPU to run YOLO libraries,
- Last but not least Igor also created a streaming server so that the OUTPUT of the camera is not the “barebone RAW” image captured, but a version enhanced with what the AI has been detected as object / defect. With possible output :
- VGA cable (via an tiny and fragile adapter from Drone=> VGA
For the demo, we used RJ45 as a plan A, and a VGA as plan B just in case.
By experience, the organizers of MS Experiences preferred to ban any Wifi. Luckily, we has 3 possibilities
VISEO & IMAGE ACQUISITION
Similarly to a real professional camera, it is not a regular camera that we are using, but a camera composed into two distinct pieces. One coming from Germany, and the other one imported from Japan.
- An industrial Sensor, of brand iDS
- A professional lens
- All combined
- Installing the drivers – testing on Windows, then on Linux, then Docker+Linux !
- once deployed in the Drone
HOW TO CREATE THE AI “home-made” ?
This is another story that needs a white paper itself. Without disclosing any NDA information, be armed with :
- Have a True DataScientific (i.e. not someone that vaguely did a maths and statistics
- Follow a very strict and robust model (used for over 20 years in Data Mining) => CRISP :
- ADAPT the CRISP to take into account the modern DevOps & Cloud approach.
As for us, build up from our AI+DevOps experience, we used a simplified version of TDSP : https://docs.microsoft.com/en-us/azure/machine-learning/team-data-science-process/team-data-science-process-for-devops
- be armed with a lot of patience : hours, days, nights !!!
training, and re-training, and re-training, and re-training, and re-training, and re-training…. the AI model, up until you get an adequate one
- some more hours, days, nights assessing the model on Linux – Here Artem Sheiko, the master chef of this AI
- And lots of coffee, next to a skeptical customer top expert in Railway field that will push us to the limits !!
- Another camera view angle (cannot see the demo, but the speakers) : https://youtu.be/oaYe6maXrcg?t=3242
- Hot reaction after the keynote : https://www.youtube.com/watch?v=5V3MqerziqY&feature=youtu.be
- Azure Logic Apps