JSPM

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

0.0.3
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 7
  • Score
    100M100P100Q39880F
  • License GPL-3.0

Face Detection Node for Node-RED

Package Exports

  • @smcgann/node-red-face-detection-plus
  • @smcgann/node-red-face-detection-plus/face-detection.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@smcgann/node-red-face-detection-plus) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

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

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.
    Detected Object detected_object
Image Buffer image_buffer
Image File image_file

⚙️ 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)


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