Difference between revisions of "ECE497 Project - Object Detection w/ DNN"

From eLinux.org
Jump to: navigation, search
(Packaging)
(Work Breakdown)
Line 72: Line 72:
 
== Work Breakdown ==
 
== Work Breakdown ==
  
Milestones:
+
=== Milestones: ===
  
Getting OpenCV on Pi/Beaglebone (10/28)
+
*Getting OpenCV on Pi/Beaglebone (10/28)
 
+
*Testing Pi vs Beaglebone operation (10/29)
Testing Pi vs Beaglebone operation (10/29)
+
*Image sending and receiving (11/5)
 
+
*Web server configuration (11/5)
Image sending and receiving (11/5)
+
*Servo and tilt pan kit assembly (11/10)
 
+
*Control loop and tuning for servos (11/14)
Web server configuration (11/5)
+
*Enclosure design and construction (11/16)
 
+
*Documentation (11/19)
Servo and tilt pan kit assembly (11/10)
 
 
 
Control loop and tuning for servos (11/14)
 
 
 
Enclosure design and construction (11/16)
 
 
 
Documentation (11/19)
 
  
 
== Future Work ==
 
== Future Work ==

Revision as of 16:43, 16 November 2019


Team members: [Paul Wilda, Leela Pakanati]

Grading Template

I'm using the following template to grade. Each slot is 10 points. 0 = Missing, 5=OK, 10=Wow!!

00 Executive Summary
00 Installation Instructions 
00 User Instructions
00 Highlights
00 Theory of Operation
00 Work Breakdown
00 Future Work
00 Conclusions
00 Demo
00 Late
Comments: I'm looking forward to seeing this.

Score:  10/100

(Inline Comment)

Executive Summary

GET PICTURES OF IMAGE RECOGNITION

We are using tensor flow and Open-CV to detect items in the frame of a web camera. The camera is mounted onto a tilt pan kit to allow us to track the objects in frame as well. Due to the intensive nature of the object detection, we are using a local web server to process the image and find the objects within it. The web server returns an error vector which the Pi coverts to a control vector. It can then adjust its angle to keep the tracked object in the middle of the frame. In order to dramatically decrease the complexity of the project, we would have liked to preform all the processing on the Pi as well however we were unable to get a reasonable response time with either the Pi or the Beagle Bone.

Packaging

In the spirit of small build, big execution, we created an enclosure for our project using mdf. We CNC'd two pieces that were then glued together, sanded and painted. A notch was cut into the back for the cables to access the Raspberry Pi that was mounted on the underside. The Pi was mounted using 4x 3M plastic standoffs and some 3M screws. The tilt pan kit was mounted on the top piece and a hole was drilled through to allow the servo motor cables access to the Pi.

Installation Instructions

Give step by step instructions on how to install your project.

  • Include your github path as a link like this to the read-only git site: https://github.com/MarkAYoder/gitLearn.
  • Be sure your README.md is includes an up-to-date and clear description of your project so that someone who comes across you git repository can quickly learn what you did and how they can reproduce it.
  • Include a Makefile for your code if using C.
  • Include any additional packages installed via apt. Include install.sh and setup.sh files.
  • Include kernel mods.
  • If there is extra hardware needed, include links to where it can be obtained.

User Instructions

Once everything is installed, how do you use the program? Give details here, so if you have a long user manual, link to it here.

Highlights

Here is where you brag about what your project can do.

Include a YouTube demo the audio description.

Theory of Operation

High-level Hardware Overview

Hardware

Schematic

Software

Give a high level overview of the structure of your software. Are you using GStreamer? Show a diagram of the pipeline. Are you running multiple tasks? Show what they do and how they interact.

Work Breakdown

Milestones:

  • Getting OpenCV on Pi/Beaglebone (10/28)
  • Testing Pi vs Beaglebone operation (10/29)
  • Image sending and receiving (11/5)
  • Web server configuration (11/5)
  • Servo and tilt pan kit assembly (11/10)
  • Control loop and tuning for servos (11/14)
  • Enclosure design and construction (11/16)
  • Documentation (11/19)

Future Work

Creating our own libraries to train our model on would be a very interesting addition to this project. This would allow us to detect and recognize individuals and only track certain people.

Making the tilt pan kit more robust would allow us to mount a nicer camera to the system and would significantly improve the image quality as well as the recognition accuracy.


Conclusions

Give some concluding thoughts about the project. Suggest some future additions that could make it even more interesting.