Introduction

https://img.shields.io/badge/python-3.6%20%7C%203.7%20%7C%203.8%20%7C%203.9-blue.svg https://badge.fury.io/py/peekingduck.svg https://img.shields.io/pypi/dm/peekingduck https://img.shields.io/badge/license-Apache%202.0-blue.svg

What is PeekingDuck?

PeekingDuck is an open-source, modular framework in Python, built for Computer Vision (CV) inference. The name “PeekingDuck” is a play on: “Peeking” in a nod to CV; and “Duck” in duck typing used in Python.

Features

Build realtime CV pipelines

PeekingDuck enables you to build powerful CV pipelines with minimal lines of code.

Leverage on SOTA models

PeekingDuck comes with various state of the art (SOTA) object detection, pose estimation, object tracking, crowd counting, and instance segmentation models. Mix and match different nodes to construct solutions for various use cases.

Create custom nodes

You can create custom nodes to meet your own project’s requirements. PeekingDuck can also be imported as a library to fit into your existing workflows.

How PeekingDuck Works

Nodes are the building blocks of PeekingDuck. Each node is a wrapper for a pipeline function, and contains information on how other PeekingDuck nodes may interact with it.

PeekingDuck has 6 types of nodes:

_images/node_types.drawio.svg

A pipeline governs the behavior of a chain of nodes. The diagram below shows a sample pipeline. Nodes in a pipeline are called in sequential order, and the output of one node will be the input to another. For example, input.visual produces img, which is taken in by model.yolo, and model.yolo produces bboxes, which is taken in by draw.bbox. For ease of visualization, not all the inputs and outputs of these nodes are included in this diagram.

_images/yolo_demo.drawio.svg

Acknowledgements

This project is supported by the National Research Foundation, Singapore under its AI Singapore Programme (AISG-RP-2019-050). Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not reflect the views of the National Research Foundation, Singapore.

License

PeekingDuck is under the open source Apache License 2.0 (:

Even so, your organization may require legal proof of its right to use PeekingDuck, due to circumstances such as the following:

  • Your organization is using PeekingDuck in a jurisdiction that does not recognize this license

  • Your legal department requires a license to be purchased

  • Your organization wants to hold a tangible legal document as evidence of the legal right to use and distribute PeekingDuck

Contact us if any of these circumstances apply to you.

Communities