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

Face Detection Node for Node-RED

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

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)


📜 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

Node Info

Version: 0.0.3
Updated 2 hours ago
License: GPL-3.0
Rating: not yet rated

Categories

Actions

Rate:

Downloads

102 in the last week

Nodes

  • face-detection-plus

Keywords

  • node-red
  • face-detection
  • yolo
  • onnx

Maintainers

Contributors

  • GOOD-I-DEER