Skip to main content

A computer vision pipeline for live video search on drone video feeds leveraging edge servers.

Project description

Overview

This repo contains a python package dronesearch for running live video analytics on drone video feeds leveraging edge servers. It also contains our experiment code for SEC'18 paper Bandwidth-efficient Live Video Analytics for Drones via Edge Computing.

dronesearch Package

The decreasing costs of drones have made them suitable for search and rescue tasks. Analyzing drone video feeds in real-time can greatly improve the efficiency of search tasks. However, typical drone platforms do not have enough computation power to do real-time video analysis onboard, especially semantic-level vision processing, such as human survivor detection, car detection, and animal detection. Video feeds need to be streamed to an edge server for computer vision processing. When streaming video feeds from a swarm of drones at the same time, judicious use of bandwidth becomes important.

This dronesearch package provides a computer vision pipeline that selectively finds interesting frames and transmit them to edge servers for analysis in order to save bandwidth.

Installation

First, install zeromq. Then,

pip install dronesearch

Demo

We provide a demo that considers computer monitors as objects of interests. Only video frames that are classified as computer monitors will be sent to an edge server for further analysis.

To run the demo, first clone this directory. Then, issue the following commands at the root dir of this repo.

# on drone or your drone emulation platform, by default connecting to tcp://localhost:9000
# --input-source: the uri for OpenCV's VideoCapture(). 
#                 It should be a number for cameras or a file path for videos.
# --filter-config-file: a file path whose content specifies filters to run on the drone.
#                       This demo uses Tensorflow's MobileNet.
# --server-host, and --server-port specifies the edge server.
python -m dronesearch.onboard --input-source 0 --filter-config-file data/cfg/filter_config.ini

# on edge server
# --server-port specifies the listening port.
python -m dronesearch.onserver

Experiments for SEC'18 paper

See experiment-README.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for dronesearch, version 1.0.0.1
Filename, size File type Python version Upload date Hashes
Filename, size dronesearch-1.0.0.1-py3-none-any.whl (11.9 kB) File type Wheel Python version py3 Upload date Hashes View hashes
Filename, size dronesearch-1.0.0.1.tar.gz (5.7 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page