Code Monkey home page Code Monkey logo

kinect-pothole-detection's Introduction

Kinect Pothole Detection

Arthur Dzieniszewski & William Mitchell

Final project created for CMU's spring 15-418, Parallel Computer Architecture & Programming course.

Primary goal of the project was to investigate the usage of MPI, specifically OpenMPI, in the context of a real world setting. Our real world setting is composed by trying to identify potholes given the depth image from a Kinect V1 (Xbox 360), and then clustering points corresponding to particular potholes. Originally, the goal of the project was to utilize Raspberry Pi's in a scatter-gather pattern to speed up our implementation of k-means using Lloyd's Method. Logistically, we found this difficult to implement since we had to face issues outside of the project scope (power, wire connections, ethernet controllers). Instead, we focused on the analysis of an MPI implementation on one of our laptops utilizing an Intel Core i5-4200M, with 2 physical cores, each hyperthreaded. We ran tests using our identical implementation against other k-means implementations, with results included in our report.

Our implementation of k-means is written in C, with a wrapper in Python for us to communicate with the workers.

Our findings and a more in-depth explanation are found in our poster file:

Poster

Some detections:

In addition, a video highlighting some of our real life evaluations is provided:

Video

Built off work from an MPI implementation of kmeans.c designed for another purpose. We added the capability to handle work not divisible by processors, communication with a master Python process, improved scatter and gather uses, and some OpenMP pragmas such as explicit vectorization (still done regardless with -O3) link

kinect-pothole-detection's People

Contributors

adzienis 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.