Giter VIP home page Giter VIP logo

obstacle-avoidance-of's Introduction

image001

Autonomous Snomobile Obstacle Avoidance using Optical Flow Curl Analysis

Lead Architect: Ryan J. Richards

The Pennsylvania State University - School of Electrical Engineering and Computer Science

Introduction/Methodology

Optical Flow is the motion of objects, surfaces, edges, etc in a scene computed by a current and previous frame. The Lucas-Kanade (LK) differential method is a widley used way for computing optical flow. This method is available on both LabVIEW's IMAQ libraries and OpenCV libraries.

Studies have been conducted for testing the effectiveness of optical flow for obstacle detection and avoidance ([1], [2], [3]). All have their own unique advatages and drawbacks.

A new method is proposed and tested which utilizes a curl-based analysis of optical flow to detect obstacles. The curl of each velocity field (two-components) are computed. The 2D field is filtered by a user-defined value and each remaining object is dilated using a basic morphological technique. The objects then undergo a particle analysis (ultimately used for the ROI highlighting process).

LabVIEW Code

This curl-analysis is realized using LabVIEW's IMAQ library. This VI allows the user to enter a folder containing frame-by-frame images of a video. The VI then analyzes and computes the Optical Flow for each frame (and the previous one). The user can then view the results in the main image indicator, while viewing an intensity graph of the velocity curl-field on a separate indicator. To use this VI follow these steps:

(1) enter the folder containing images of the video in the Video Sequence Folder Path

(2) press the run button and watch the video/analysis execute

(3) if the user wants to stop at anytime during the analysis then press the STOP button

2

Results

Extensive testing revealed that this algorithm is a suitable (albeit slightly computationally time consuming) way of detecting obstacles in snowy conditions. The figure below shows the obstacles being detected in the blue region-of-interest (ROI) boxes, while the LK velocity vectors are the red arrows.

1

Appendix

[1] https://github.com/tgarc/flownav

[2] http://opticflow.bu.edu/research/time-to-contact-estimation

[3] http://www.cs.cornell.edu/~asaxena/rccar/icml_obstacleavoidance.pdf

obstacle-avoidance-of's People

Contributors

rrichards7 avatar

Watchers

James Cloos 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.