npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@smcgann/node-red-face-detection-plus

v0.0.3

Published

Face Detection Node for Node-RED

Readme

platform npm version Min Node Version GitHub license

@smcgann/node-red-face-detection-plus

A Node-RED node that detects faces using AI.

You can use the output with 🔗 @smcgann/node-red-vectorize-plus as part of a face recognition flow. You can also use it to crop the face images from the original image and save them as files.

This node is derived from 🔗 @GOOD-I-DEER/node-red-contrib-face-detection

Key Changes

✔ Added YOLOv8s-face model.
✔ Added postinstall script to download models.
✔ Updated dependencies.
✔ Image Buffer output now includes bounding boxes (useful for annotations).
✔ Moved data and originImg into separate msg properties.
✔ Returns number of detected faces in msg.payload.
✔ Supports runtime configuration through msg.faceOptions for dynamic settings.
✔ Includes metadata in msg.faceConfig (threshold and model).
✔ More robust error handling.
Better Performance.
Easier integration into Node-RED flows.


Installation

Either use the Edit Menu - Manage Palette option to install, or run the following command in your Node-RED user directory - typically ~/.node-red

cd ~/.node-red/
npm install @smcgann/node-red-face-detection-plus

Restart your Node-RED instance


Input Properties

🖼️ msg.payloadImage Buffer

  • Accepts PNG, JPG, GIF, WEBP, TIFF, AVIF (binary image data).

⚙️ msg.faceOptionsObject (Optional)

  • Allows overriding node config settings dynamically.
  • Example:
{  
  "threshold": 0.4,  
  "model": "yolov8n-face"  
}  

Node Properties

🏷 Name

  • The name displayed in the Node-RED editor.

🔍 Model

Select the detection model:

  • YOLOv8n (faster, good for larger faces)
  • YOLOv8s (detects smaller faces, but slower)

📤 Return Value

Defines the type of data returned:

  • Detected Objectdata.boxes
  • Image Bufferdata.faces (array of cropped face images) + data.boxes
  • Image File → Saves detected faces as separate files.

📂 Absolute Path Dir

(Visible if Image File is selected)

  • Defines where the cropped face images are saved.

🎯 Confidence Threshold

  • Defines the minimum score required for a detected face to be considered valid (range: 0.1 - 1):

    | Threshold | Effect |
    |-----------|--------|
    | Low (0.1 - 0.4) | More faces detected, but higher risk of false positives. |
    | High (0.7 - 1.0) | Fewer faces detected, reducing false positives but possibly missing faces. |


Output

Data is output in the output format selected in the 'Return Value' property.

📌 msg.payloadNumber

  • Number of faces detected.

🖼️ msg.originImgBuffer

  • Input Image.

⚙️ msg.faceConfigObject

  • Returns values used for detection.
  {  
    "threshold": 0.4,  
    "model": "yolov8n-face"  
  }  

✍️ Authors

S.McGann → Modified Version.

GOOD-I-DEER (Samsung Software Academy for Youth)


📜 Copyright and license

S.McGann → Modified Version

Samsung Automation Studio Team under the GNU General Public License v3.0 license.

References

🔗 Node-RED Creating Nodes
🔗 Samsung Automation Studio Github Repository
🔗 Ultralytics YOLOv8
🔗 YOLOv8 ONNX in JavaScript
🔗 YOLOv8 ONNX in Node.js
🔗 YOLOv8 Face Model