Skip to main content

State-of-the-art Computer Vision and Object Detection for TensorFlow.

Project description



PyPI PyPI - License

State-of-the-art Computer Vision and Object Detection for TensorFlow.

Made by Rishabh Anand • https://rish-16.github.io

sightseer provides state-of-the-art general-purpose architectures (YOLOv3, MaskRCNN, Fast/Faster RCNN, SSD...) for Computer Vision and Object Detection tasks with 30+ pretrained models written in TensorFlow 1.15.

Installation

sightseer is written in Python 3.5+ and TensorFlow 1.15.

Ideally, sightseer should be installed in a virtual environments. If you're unfamiliar with Python virtual environments, check out this tutorial on getting started.

Via PyPi

To use sightseer, you must first have TensorFlow installed. To do so, follow the instructions on the TensorFlow installation page.

When your virtual environment is set up with TensorFlow, you can install sightseer using pip:

pip install sightseer

Model Clients (as of now)

  1. YOLOv3Client (Darknet by Joseph Redmon)

Facebook AI's Mask R-CNN will be out in the v1.2.0 release. For more information on model release, check out the Roadmap.

Components of sightseer

The package comes with 4 major components that help with different parts of the object detection process all the way from preparing your raw data to getting predictions and displaying them.

Component Description
Sightseer Obtains image data or video footage
Proc Provides image/frame-wise annotation and inter-format conversion tools
Zoo Stores the wrappers over all state-of-the-art models and configs
Serve Provides deployment and model serving protocols and services

If not using custom datasets, Sightseer and Zoo are the submodules majorly used for generic predictions from pre-trained models. When there is custom data involved, you can use Proc to annotate your datasets and even convert them between XML/JSON/CSV/TFRecord formats.

Serve is an experimental productionising submodule that helps deploy your models on cloud services like AWS and GCP. For more details on future tools and services, check out the Roadmap.

Features

Footage or raw images can be rendered using Sightseer before being ingested into models or further preprocessed.

1a. Loading images

from sightseer import Sightseer

ss = Sightseer()
image = ss.load_image("path/to/image") # return numpy array representation of image

1b. Loading videos

from sightseer import Sightseer

ss = Sightseer()
frames = ss.load_vidsource("path/to/video") # returns nested array of frames

Support for video, webcam footage, and screen recording will be out in the coming v1.2.0 release.

2. Using models from sightseer.zoo

Once installed, any model offered by sightseer can be accessed in less than 10 lines of code. For instance, the code to use the YOLOv3 (Darknet) model is as follows:

from sightseer import Sightseer
from sightseer.zoo import YOLOv3Client

yolo = YOLOv3Client()
yolo.load_model() # downloads weights

# loading image from local system
ss = Sightseer()
image = ss.load_image("./assets/road.jpg")

# getting labels, confidence scores, and bounding box data
preds, pred_img = yolo.predict(image, return_img=True)
ss.render_image(pred_img)

To run the model on frames from a video, you can use the framewise_predict method:

from sightseer import Sightseer
from sightseer.zoo import YOLOv3Client

yolo = YOLOv3Client()
yolo.load_model() # downloads weights

# loading video from local system
ss = Sightseer()
frames = ss.load_vidsource("./assets/video.mp4")

"""
For best results, run on a GPU
"""
# getting labels, confidence scores, and bounding box data
preds, pred_frames = yolo.framewise_predict(frames)
ss.render_footage(pred_frames) # plays the video and saves the footage

The module can even be repurposed into a Command-line Interface (CLI) app using the argparse library.

Contributing

Suggestions, improvements, and enhancements are always welcome! If you have any issues, please do raise one in the Issues section. If you have an improvement, do file an issue to discuss the suggestion before creating a PR.

All ideas – no matter how outrageous – welcome!

Before committing, please check the Roadmap to see if proposed features are already in-development or not.

Note: Please commit all changes to the development experimentation branch instead of master.

Licence

Apache Licencse 2.0

Project details


Download files

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

Source Distribution

sightseer-1.1.1.tar.gz (13.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sightseer-1.1.1-py3-none-any.whl (16.3 kB view details)

Uploaded Python 3

File details

Details for the file sightseer-1.1.1.tar.gz.

File metadata

  • Download URL: sightseer-1.1.1.tar.gz
  • Upload date:
  • Size: 13.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.3

File hashes

Hashes for sightseer-1.1.1.tar.gz
Algorithm Hash digest
SHA256 5e0b6a17178f098e4dc94dc2fe40a770e3bd1fabdcfdfeebf1222cbd8dfceb0d
MD5 5d9a5b6fd2face929054918f33e5f2ba
BLAKE2b-256 23043c3469ac60ed01d6092328465287c4e595607fcb237aac4258e33e968002

See more details on using hashes here.

File details

Details for the file sightseer-1.1.1-py3-none-any.whl.

File metadata

  • Download URL: sightseer-1.1.1-py3-none-any.whl
  • Upload date:
  • Size: 16.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.3

File hashes

Hashes for sightseer-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 8cf5a317bc3ba7737493941e32ade50336e84dc012c592e51a7b496f9fcb4e50
MD5 0fe9e01fd98e43130b93ea7c028c6870
BLAKE2b-256 e41b4a5324c0e23c0b66048f11a987d1438769d2dc1c125843e881888dc29d4c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page