Humans rely heavily on our sense of sight to gain information about our environment. The field of Computer Vision (CV) attempts to do the same – replacing human eyes with cameras, and the brain with computer hardware and deep learning models. CV has made huge strides over the last decade and permeated our lives, from using facial recognition to unlock phones, to obstacle detection in self-driving vehicles.

Peeking Duck


In CV Hub, we use CV as our toolbox to solve real-world problems, such as ensuring social distancing between individuals and providing coaching feedback for exercises. We’ve consolidated our development experience into PeekingDuck, a low-code, open-source CV inference framework, with the hope of making CV more accessible to all.

PeekingDuck is a low-code, 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.

PeekingDuck allows a software engineer with limited computer vision skills to quickly build the end-to-end inference pipeline.

Explore PeekingDucks’s documentation

Supported Use Cases

Note that these are just some of the supported use cases. Read the documentation for the full list of supported use cases.

Privacy Protection

Anonymise personal information in images, such as faces or license plates, to comply with data privacy laws such as the GDPR. Click on each image to find out more.

Privacy Protection (Faces) Documentation

As organizations collect more data, there is a need to better protect the identities of individuals in public and private places. Our solution performs face anonymization and can be used to comply with the General Data Protection Regulation (GDPR) or other data privacy laws.

nodes:
- input.visual:
    source: 0
- model.mtcnn
- draw.mosaic_bbox
- output.screen
Privacy Protection (License Plates) Documentation

Posting images or videos of our vehicles online might lead to others misusing our license plate numbers to reveal our personal information. Our solution performs license plate anonymization and can comply with the General Data Protection Regulation (GDPR) or other data privacy laws.

nodes:
- input.visual:
    source: <path/to/video with cars>
- model.yolo_license_plate
- draw.blur_bbox
- output.screen

Smart Monitoring

Tackle scenarios where automated counting of objects such as people or vehicles is required, such as in retail analytics or traffic management. Click on each image to find out more.

People Counting (Over Time)

People counting over time involves detecting and tracking different persons, and incrementing the count when a new person appears. This use case can reduce dependency on manual counting, and be applied to areas such as retail analytics, queue management, or occupancy monitoring.

nodes:
- input.visual:
    source: <path/to/video with people>
- model.jde
- dabble.statistics:
    maximum: obj_attrs["ids"]
- draw.bbox
- draw.tag:
    show: ["ids"]
- draw.legend:
    show: ["cum_max"]
- output.screen
Object Counting (Over Time)

Posting images or videos of our vehicles online might lead to others misusing our license plate numbers to reveal our personal information. Our solution performs license plate anonymization, and can also be used to comply with the General Data Protection Regulation (GDPR) or other data privacy laws.

nodes:
- input.visual:
    source: <path/to/video with cars>
- model.yolo_license_plate
- draw.blur_bbox
- output.screen

COVID-19 Prevention and Control

Prevent the spread of infectious airborne diseases by checking for social distancing, wearing of face masks, and group sizes of social gatherings. Click on each image to find out more.

Social Distancing

To support the fight against COVID-19, AI Singapore developed a solution to encourage individuals to maintain physical distance from each other. This can be used in many places, such as in malls to encourage social distancing in long queues, or in workplaces to ensure employees’ well-being.

An example of the latter is HP Inc., which collaborated with us to deploy this solution on edge devices in its manufacturing facility in Singapore.

nodes:
- input.visual:
    source: 0
- model.posenet
- dabble.keypoints_to_3d_loc:
    focal_length: 1.14
    torso_factor: 0.9
- dabble.check_nearby_objs:
    near_threshold: 1.5
    tag_msg: "TOO CLOSE!"
- draw.poses
- draw.tag:
    show: ["flags"]
- output.screen


Face Mask Detection

Wearing of face masks in public places can help prevent the spread of COVID-19 and other infectious diseases. AI Singapore has developed a solution that checks whether or not a person is wearing a face mask. This can be used in places such as malls or shops to ensure that visitors adhere to the guidelines.

nodes:
- input.visual:
    source: 0
- model.yolo_face
- draw.bbox:
    show_labels: true
- output.screen

More!

Check out PeekingDucks Documentation and GitHub repository, and join our community of passionate CV enthusiasts!