Table Filter Plugin license is not active, please generate a trial license or purchase the product.
NameNetIDSection
Eitan Tseeitanyt2ECE 110


Statement of Purpose

I am planning to train a machine learning algorithm to recognize handwritten characters, and create a hardware accelerator on an FPGA to accelerate recognition of handwritten digits by the trained algorithm. The goals are to have a high accuracy algorithm (hopefully >90+%) and an effective hardware accelerator that runs quickly. Perhaps ideally it would be near-real time, but I don't know about the feasibility of that.

Background Research

I’m interested in learning how to use FPGAs and gaining further experience with machine learning since they are extremely versatile and can be used in a wide variety of applications. In addition, I’m interested in both of these areas. This was inspired by a project that made a calculator using machine learning to recognize digits and the operation signs to carry out the calculations (Microdent’s project).

I am currently looking around for projects to gain familiarity with programming the FPGA and eventually learning and then building the hardware accelerator from scratch.

The ML algorithm (a concurrent neural network) is coming along- as of 9/30 I will be training it on about half the EMNIST dataset, due to some issues with processing the size of the dataset. I will see where it goes from there; hopefully I will resolve the issue and train it on the entirety of the dataset.

Block Diagram / Flow Chart

System Overview

  • The image input is either going to be an image that is processed into 28x28 pixel images
    • right now it is looking like it'll be from the computer itself, but I hope to use a camera if possible
  • ML algorithm is a concurrent neural network trained on the EMNIST dataset
  • Hardware accelerator is dedicated hardware that will run the algorithm faster than the hardware on the laptop
  • Program will output the predicted digit, displayed on the device to which the FPGA is connected.

Parts

Provide a list of parts that you may need for your project. You should include details such as the quantity, model number, purpose, vendor, and price (excluding taxes and shipping) for each part. This list may change as you work on your project. 

1x PYNQ-Z2 board (obtained)- $123.00 (Newark)

1x CAT6 Ethernet Cable (obtained)- $1.64 (ECE supply store)

1x USB-A to Ethernet Adapter (obtained)- $18.23 (ECE supply store)

1x 8GB SD card (obtained)- $4.31 (ECE supply store)

Possible Challenges

I foresee learning how to program an FPGA as something difficult as I have very little prior experience with this. I'll need to learn it from the ground up.

Final Papers and Video

Video: https://drive.google.com/file/d/130k8OUPl__X-OBvahk9nKDQF7Mxa2Yzk/view?usp=sharing

Paper: https://docs.google.com/document/d/1QIUtwLZg0N5-t6F3OFqhM6kb39_yjdRbpGKNWQGTVbo/edit?usp=sharing

References

[1]"GitHub - Microdent/Handwritten_Mathematical_Calculator_on_FPGA: A simple demo to implement the Handwritten Mathematical Calculator on PYNQ-Z2 FPGA platform by using HLS.", GitHub, 2021. [Online]. Available: https://github.com/Microdent/Handwritten_Mathematical_Calculator_on_FPGA. [Accessed: 16- Sep- 2021].

Attachments:

Comments:

Hey! Seems like a great project but I would love to see you have more research and a more detailed system overview since this your main concern and challenge is your experience. Also, the FPGA is a part that would go over your project budget itself. Could you find a cheaper alternative? Otherwise, if we would be able to buy that board then we would ask to have it back to use in future Honors Lab projects. 

Posted by dbycul2 at Sep 25, 2021 21:46

DM me on Discord when you update your proposal and I will take a look and revaluate the approval then.

Posted by dbycul2 at Sep 25, 2021 21:47

Project Approved

Group # 37

Posted by weustis2 at Sep 30, 2021 19:09