14
Albert Einstein ECE 479/579 Marek Perkowski Ben Schaeffer Gehad Shaat Jessie Truong Nathen Upperman Tin Nguyen Portland State University - Winter 2011

Ben Schaeffer Gehad Shaat Jessie Truong Nathen Upperman Tin Nguyen Portland State University - Winter 2011

Embed Size (px)

Citation preview

Page 1: Ben Schaeffer Gehad Shaat Jessie Truong Nathen Upperman Tin Nguyen Portland State University - Winter 2011

Portland State University - Winter 2011

Albert EinsteinECE 479/579

Marek Perkowski

Ben SchaefferGehad ShaatJessie Truong

Nathen UppermanTin Nguyen

Page 2: Ben Schaeffer Gehad Shaat Jessie Truong Nathen Upperman Tin Nguyen Portland State University - Winter 2011

Portland State University - Winter 2011

Introduction to Einstein What we did and what we used Image Processing Software management

Outline

Page 3: Ben Schaeffer Gehad Shaat Jessie Truong Nathen Upperman Tin Nguyen Portland State University - Winter 2011

Portland State University - Winter 2011

Before After

Page 4: Ben Schaeffer Gehad Shaat Jessie Truong Nathen Upperman Tin Nguyen Portland State University - Winter 2011

Portland State University - Winter 2011

Page 5: Ben Schaeffer Gehad Shaat Jessie Truong Nathen Upperman Tin Nguyen Portland State University - Winter 2011

Portland State University - Winter 2011

Bluetooth API and implementation Servo controller application Android application (robot remote control)

with voice recognition object and human detection application Text-to-speech Integration of all previously mentioned

component into einsteinBrain Efficient Power system CUDA & TBB base program

What We Did

Page 6: Ben Schaeffer Gehad Shaat Jessie Truong Nathen Upperman Tin Nguyen Portland State University - Winter 2011

Portland State University - Winter 2011

IDE◦ Visual studio 2008 (developing C++ application)◦ RobotC (developing NXT application)◦ Appinventor ( developing android application)

Libraries◦ OpenCv 2.2 C/C++◦ .NET C++ Framework ◦ CUDA toolkit◦ NVIDIA Performance Primitives (NPP) library◦ GPU Computing SDK◦ TBB (Threading Building Blocks)

Hardware◦ NXT◦ Maestro servo controller◦ DC motors with Hitechnic controller◦ self-built power distribution system◦ 16 V battery

Subversion for managing resources and documents

What We Used

Page 7: Ben Schaeffer Gehad Shaat Jessie Truong Nathen Upperman Tin Nguyen Portland State University - Winter 2011

Portland State University - Winter 2011

Use neural network to improve Einstein's Artificial intelligence

Make him better good looking! replace NXT with a powerful microcontroller more balanced weight of the body improve power efficiency add wireless camera add more sensors & stereo camera replace the neck motor with servo use of CUDA & TBB to improve speed

Future Work

Page 8: Ben Schaeffer Gehad Shaat Jessie Truong Nathen Upperman Tin Nguyen Portland State University - Winter 2011

Portland State University - Winter 2011

We did the following processing on images◦ Find colored objects◦ Detect how many beats per minutes for a

drumstick◦ Face detection with area estimation

Image Processing

Page 9: Ben Schaeffer Gehad Shaat Jessie Truong Nathen Upperman Tin Nguyen Portland State University - Winter 2011

Portland State University - Winter 2011

Graphical User Interface

Page 10: Ben Schaeffer Gehad Shaat Jessie Truong Nathen Upperman Tin Nguyen Portland State University - Winter 2011

Portland State University - Winter 2011

Software Managment

Page 11: Ben Schaeffer Gehad Shaat Jessie Truong Nathen Upperman Tin Nguyen Portland State University - Winter 2011

Portland State University - Winter 2011

Android Application

Page 12: Ben Schaeffer Gehad Shaat Jessie Truong Nathen Upperman Tin Nguyen Portland State University - Winter 2011

Portland State University - Winter 2011

Load the picture normally Upload to gpu Process image using GPU functions

src = imread("file.jpg", CV_LOAD_IMAGE_GRAYSCALE);GpuSrc.upload(src);cv::gpu::matchTemplate(GpuSrc,GpuTmplt ,GpuDst, CV_TM_CCORR_NORMED);

CUDA & OpenCV

Page 13: Ben Schaeffer Gehad Shaat Jessie Truong Nathen Upperman Tin Nguyen Portland State University - Winter 2011

Portland State University - Winter 2011

GPU Vs. CPU

Page 14: Ben Schaeffer Gehad Shaat Jessie Truong Nathen Upperman Tin Nguyen Portland State University - Winter 2011

Portland State University - Winter 2011

Lessons Learned

• Power solutions are critical.

• Camera choice is important.

• Organize all SW components early.

• Design for speed!