PeekingDuck
A modular framework built to simplify Computer Vision inference workloads.
Install / Use
/learn @aisingapore/PeekingDuckREADME
<h4 align="center"> <a href="https://peekingduck.readthedocs.io/en/stable/getting_started/index.html">Getting started</a> <span> · </span> <a href="https://peekingduck.readthedocs.io/en/stable/tutorials/index.html">Tutorials</a> <span> · </span> <a href="https://peekingduck.readthedocs.io/en/stable/master.html#api-documentation">API docs</a> <span> · </span> <a href="https://peekingduck.readthedocs.io/en/stable/faq.html">FAQ</a> <span> · </span> <a href="https://github.com/aisingapore/PeekingDuck/issues">Report a bug</a> <span> · </span> <a href="#communities">Communities</a> </h4>
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.
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 object detection, pose estimation, object tracking, and crowd counting 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.
Installation
Install from PyPI using pip
> pip install peekingduck
Note: for users with ARM-based devices such as a Raspberry Pi or Apple Silicon Mac, please refer to the documentation for more detailed installation instructions.
PeekingDuck can also be installed in a virtual environment.
> peekingduck verify-install
You should see a video of a person waving his hand with bounding boxes overlaid.
The video will close automatically when it is run to the end, select the video window and press q to exit earlier.
Usage
Create a project folder and initialize a PeekingDuck project.
> mkdir <project_dir>
> cd <project_dir>
> peekingduck init
Run the demo pipeline.
> peekingduck run
If you have a webcam, you should see a man waving on the output screen with skeletal frame overlaid.
Terminate the program by clicking on the output screen and pressing q.
Use peekingduck --help to display help information for PeekingDuck's command-line interface.
Gallery
<table> <tr> <td> <a href="https://peekingduck.readthedocs.io/en/stable/use_cases/social_distancing.html"> <img src="https://raw.githubusercontent.com/aisingapore/PeekingDuck/main/docs/source/assets/use_cases/social_distancing.gif"> </a> </td> <td> <a href="https://peekingduck.readthedocs.io/en/stable/use_cases/privacy_protection_faces.html"> <img src="https://raw.githubusercontent.com/aisingapore/PeekingDuck/main/docs/source/assets/use_cases/privacy_protection_faces.gif"> </a> </td> <td> <a href="https://peekingduck.readthedocs.io/en/stable/use_cases/zone_counting.html"> <img src="https://raw.githubusercontent.com/aisingapore/PeekingDuck/main/docs/source/assets/use_cases/zone_counting.gif"> </a> </td> <td> <a href="https://peekingduck.readthedocs.io/en/stable/use_cases/object_counting_over_time.html"> <img src="https://raw.githubusercontent.com/aisingapore/PeekingDuck/main/docs/source/assets/use_cases/object_counting_over_time.gif"> </a> </td> </tr> <tr> <td> <a href="https://peekingduck.readthedocs.io/en/stable/use_cases/group_size_checking.html"> <img src="https://raw.githubusercontent.com/aisingapore/PeekingDuck/main/docs/source/assets/use_cases/group_size_checking.gif"> </a> </td> <td> <a href="https://peekingduck.readthedocs.io/en/stable/use_cases/privacy_protection_license_plates.html"> <img src="https://raw.githubusercontent.com/aisingapore/PeekingDuck/main/docs/source/assets/use_cases/privacy_protection_license_plates.gif"> </a> </td> <td> <a href="https://peekingduck.readthedocs.io/en/stable/use_cases/crowd_counting.html"> <img src="https://raw.githubusercontent.com/aisingapore/PeekingDuck/main/docs/source/assets/use_cases/crowd_counting.gif"> </a> </td> <td> <a href="https://peekingduck.readthedocs.io/en/stable/use_cases/people_counting_over_time.html"> <img src="https://raw.githubusercontent.com/aisingapore/PeekingDuck/main/docs/source/assets/use_cases/people_counting_over_time.gif"> </a> </td> </tr> </table>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 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
Related Skills
claude-opus-4-5-migration
112.3kMigrate prompts and code from Claude Sonnet 4.0, Sonnet 4.5, or Opus 4.1 to Opus 4.5
model-usage
354.3kUse CodexBar CLI local cost usage to summarize per-model usage for Codex or Claude, including the current (most recent) model or a full model breakdown. Trigger when asked for model-level usage/cost data from codexbar, or when you need a scriptable per-model summary from codexbar cost JSON.
TrendRadar
51.4k⭐AI-driven public opinion & trend monitor with multi-platform aggregation, RSS, and smart alerts.🎯 告别信息过载,你的 AI 舆情监控助手与热点筛选工具!聚合多平台热点 + RSS 订阅,支持关键词精准筛选。AI 智能筛选新闻 + AI 翻译 + AI 分析简报直推手机,也支持接入 MCP 架构,赋能 AI 自然语言对话分析、情感洞察与趋势预测等。支持 Docker ,数据本地/云端自持。集成微信/飞书/钉钉/Telegram/邮件/ntfy/bark/slack 等渠道智能推送。
mcp-for-beginners
15.8kThis open-source curriculum introduces the fundamentals of Model Context Protocol (MCP) through real-world, cross-language examples in .NET, Java, TypeScript, JavaScript, Rust and Python. Designed for developers, it focuses on practical techniques for building modular, scalable, and secure AI workflows from session setup to service orchestration.
