GithubHelp home page GithubHelp logo

ffhs-masterthesis-epu's Introduction


EPU Logo
FFHS MAS Industry 4.0 Masterthesis

Read Thesis Download Thesis

Table of contents

AbstractContentCite

This repository contains all thesis, documentation, code and data for the Masterthesis Hardware Accelerated Edge Computing. The main goal is to identify people at a certain location in order to stop industrial machinery for security reasons.

Abstract

Edge computing has proven to be very valuable and is often needed in addition to cloud computing. Especially in areas such as image and video processing, where large amount of data is generated that cannot be transferred in their entirety to the cloud for processing, or in areas where security and real-time behavior are essential.

In the just mentioned cases, it is not practical to transfer the data to the cloud for processing and return the result to the device. Edge computers can be very powerful, but also high maintenance and power hungry, depending on the algorithm and hardware. In this work, a Proof of concept (POC) is presented to combine low-cost and low-power Central Processing Unit (CPU) with Field Programmable Gate Array (FPGA) to run an algorithm as optimized as possible. The simplicity of the CPU programming and the modular and parallel nature of the FPGA creates very powerful hardware, that can handle many different problems.

A prototype system was presented in an industrial use case, where an automated industrial ma- chine is allowed to run, only when no human is nearby. We present an Edge Processing Unit (EPU) that monitors a selected region using a camera. The images are preprocessed in CPU and an object detection is performed in real time using a tiny You only look once (YOLO) v3 Machine Learning (ML) implemented in FPGA. A Convolutional Neural Network (CNN) hardware accelerator, performs the person detection. A MQTT broker, which also runs on the edge device, sends the results to the cloud and local Programmable Logic Controller (PLC). The entire sys- tem runs on a Xilinx PYNQ-Z1 board with a ZYNQ XC7Z020 System on Chip (SoC) that houses a dual core Arm A9 CPU and programmable Artix-7 logic. It achieves a higher frame rate and consumed less power than a comparable non-hardware accelerated edge device. The amount of data transferred was drastically reduced, compared to a cloud application.

Content

├───code              # all program files
│   ├───config        # platform configuration files
│   │   ├───pc        # pc version configuration files
│   │   └───pynq      # pynq version configuration files
│   ├───docs          # documentation, poster and presentation
│   ├───notebooks     # jupyter notebooks used for result analysis an test
│   ├───output        # jupyter notebooks output files
│   │   ├───plot      # 
│   │   └───timelogs  #
│   ├───scripts       # bash scripts for installation purposes
│   └───src           # program source files
│       ├───streamlit # files for streamlit client application
│       └───yolo      # files for epu application
├───doc               # Thesis pdf
└───img               # project images

Keywords

EPU Edge_Computing Industrial_Edge_Computing Cloud_Computing ML Image_Analysis Hardware_Accelerator FPGA Python_for_Zynq_(PYNQ) MQTT SoC

Cite

@thesis{EPU,
    title = {{EPU}: Edge Processing Unit},
    author = {Zahno, Silvan},
    date = {2021},
    school = {Fernfachhochschule Schweiz (FFHS)},
}

ffhs-masterthesis-epu's People

Contributors

tschinz avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.