Abstract—Visually impaired people find it difficult to navigate around in unknown environments. Obstacles pose a serious threat to their safety. Several solutions have been proposed for this problem, many being Computer Vision (CV) based. However, CV applications are computationally intensive. When implementing real-time computer vision applications on mobile devices like cell phones or laptops, there are additional constraints like processing time, energy consumption, hardware cost and accuracy of response to take into consideration. Existing approaches where the execution takes place serially on the CPU do not satisfy most of these constraints. The idea behind GAV is to get the best of both worlds - throughput and latency oriented tasks by using the Graphics Processing Unit (GPU) along with the CPU in order to improve the performance of CV. GAV is an application intended to run on mobile devices, that uses the camera to capture live video feed and CPU-GPU pair for computation, in order to help visually impaired people navigate through lesser known spaces. Keywords—Computer Vision, Image Processing, Machine Vision, Parallel Processing, Real-Time Systems. I. INTRODUCTION People battling complete blindness or visual impairments often have a difficult time navigating by themselves in unfamiliar spaces. Physical movement is one of the biggest challenges for people with an impaired vision. This difficulty increases greatly when there are obstacles in their path. Moving around in such environments can be dangerous and it is important to detect the obstacles and notify the person accordingly. GAV – GPU Accelerated Vision – is a real-time machine vision system that can be ported to mobile devices. The main motive behind using mobile devices/smartphones is that they are portable and hassle-free. Their reducing costs make them an attractive, pragmatic and multi-purpose investment. Nowadays, most smartphones come with graphical processing units (GPUs). Even people with visual impairments can operate them with ease. Following are the main objectives of the application:- • Detecting obstacles • Issue voice alert on detecting obstacles • Give directions to the user in order to avoid the obstacle • Operate in real-time The current implementation of our application uses MATLAB along with its CUDA C based Parallel Computing Toolbox to harness the performance of an NVIDIA GPU and thus reducing response time over the more traditional CPU. II. RELATED WORK Over the years, extensive research has been done in the field of computer vision. Technology i.e. software and hardware has been developed with respect to navigation for autonomous robots [4][5][6] as well as for the visually impaired community[11]. Out of these, many have used SONAR [13], LIDAR [10], LASER strippers [1][7] and other expensive sensors along with cameras specifically for obstacle and negative obstacle detection. Systems have even been designed for navigation in known environments using color markers, OCR [3] and GPS [2] in unknown environments. The wide array of sensors used has eventually made the system too bulky and impractical to be used by VI people. Many developers have implemented obstacle detection systems that utilize on-board stereo vision cameras like in [9] for better perception. This has been done with decent success, the only problem being that CV with stereo vision requires a high degree of computation and expensive hardware. Prototypes like [12] use HSI intensity values and histogram matching to detect obstacles from a wheelchair. Very few applications exist that use GPUs for obstacle detection [14] using Optical Flow [15] and Support Vector Machine algorithms. III. GPU FOR CV APPLICATIONS Computer Vision applications require the processing of sequences of images and extraction of important information from those images. Processing of images is a task that involves data-parallel processing. Most of the processing is done on a per pixel basis and there is no interpixel dependency. Traditional applications are built to process data serially and hence they are slow when processing large datasets like images or videos. GPUs, on the other hand, are built to process data in parallel using large number of cores GAV - GPU Accelerated Vision Deepali Shinde 1 , Mithilesh Said 2 , Pratik Shetty 3 , Prof. Swapnil Gharat 4 Computer Engineering Dept., Rajiv Gandhi Institute of Technology, University of Mumbai, Mumbai, India. 1 deepalis0@gmail.com, 2 s.mit7816@gmail.com, 3 shetty.pratik@outlook.com, 4 swapnil.gharat@mctrgit.ac.in 303 International Journal of Engineering Research & Technology (IJERT) www.ijert.org ICONECT' 14 Conference Proceedings