Giter Club home page Giter Club logo

eznote's Introduction

EZnote

HopHacks Project Link

Inspiration ๐Ÿ’ญ

Have you ever imagined how hard it is for students with disability to take notes during lectures? According to data from the National Center for Education Statistics, there are nearly 7 million disabled students in the U.S., which makes up 14% of national public school enrollment. For many of them, note-taking is an incredibly difficult task. To tackle this problem, some schools like our school, Johns Hopkins University, offer note-taking accommodations by recruiting peer note-takers. However, this approach is sometimes ineffective as there is often a lack of volunteering note-takers, and it also results in a waste of resources.

What it does โœจ

EZnote is an online automatic note-taking tool designed to enhance the learning experience for students with disability. Students can choose to upload a lecture recording or film a lecture in real-time, and EZnote will automatically generate the notes in PDF format with great efficiency and precision.

Specifically, EZnote uses Computer Vision and Machine Learning to recognize the writing board and the teacher in the lecture video. As the lecture video is being analyzed, everything written on the board by the teacher, including graphs and special symbols, can be captured and generated as PDF files. Moreover, we have written algorithms to "remove" the teacher from the background when the teacher is standing in front of the writing board, effectively improving the accuracy.

How we built it ๐Ÿงฐ

EZnote is built with TensorFlow and OpenCV libraries in python. The application backend is built with Node.js and the frontend is built with JavaScript, HTML, and CSS.

How to use it ๐Ÿค”

  • Open client.html.
  • Select a lecture you wish to be converted into notes.
  • Click upload.
  • EZnote automatically generates notes in pdf version for you to download!

Challenges we ran into ๐Ÿ’ช

  • The human recognition model does not always track the teacher. Sometimes, it gets "distracted" by other people or objects in the image.
  • The text extraction ability is limited by the resolution of the camera.
  • Coordinates transformation is difficult to implement under different frames.
  • Building frontend and backend is more difficult than we thought - we took a long time learning how to build file uploading and processing system and integrate client side with server side.

Accomplishments that we're proud of ๐Ÿ˜Š

We have achieved all the main functionalities of EZnote, such as

  • automatic recognition of teacher, writing board, and texts in the images
  • successfully "removal" of teacher from the images while keeping the background pixels
  • minimizing noise introduced during image processing
  • optimizing running time to ensure the code works in time series and gives real-time feedback

What we learned ๐Ÿ“š

  • computer vision algorithms and image processing
  • supervised machine learning
  • web development

What's next for EZnote ๐ŸŒ

We have many things in mind for EZnote.

  • We will enable EZnote to generate notes in real-time as the lecture video is being recorded. This can be done by comparing the difference in matrices (which are calculated from screenshots of the writing board) at different moments.
  • We will also use a similar method to train EZnote to distinguish minor correction from full board erasing.
  • We will make EZnote more scalable and production ready to benefit all students with disability across the world.

eznote's People

Contributors

chrrrrris avatar nicklutuxun avatar keyiding avatar jchen324 avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

eznote's Issues

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.