1.2.1 • Published 10 months ago

bakuparjo v1.2.1

Weekly downloads
-
License
MIT
Repository
-
Last release
10 months ago

Bakuparjo

A JavaScript face comparison library that automatically handles model loading and provides easy-to-use face similarity detection.

Features

  • Compare faces between images with percentage similarity scores
  • Automatic download and caching of face recognition models
  • Works in both Node.js and browser environments
  • Simple API for face detection and comparison

Installation

npm install bakuparjo

Usage

Basic usage

import FaceComparison from 'bakuparjo';

async function checkAttendance() {

const faceComparer = new FaceComparison();

const collectionImages = [
    "/media/person1.jpg",
    "/media/person2.jpg",
    "/media/person3.jpg"
];

const loginImage = "/facelogin/new-capture.jpg";

try {

    const results = await faceComparer.compareFaces(loginImage, collectionImages);

    console.log('Similarity results:');
    results.forEach(result => {
        console.log(${result.imagePath}: ${result.similarity}% similar);
    });

    const mostSimilar = results.reduce((prev, current) =>
        (parseFloat(prev.similarity) > parseFloat(current.similarity)) ? prev : current
    );

    console.log(Most similar image: ${mostSimilar.imagePath} with ${mostSimilar.similarity}% similarity);
    } catch (error) {
        console.error('Error comparing faces:', error);
    }
}

Advanced usage

const faceComparer = new FaceComparison({
    threshold: 0.5, // Adjust similarity threshold (lower = stricter)
    modelPath: './my-models' // Custom model path
});

API Reference

new FaceComparison(options)

Creates a new face comparison instance.

Options:

  • threshold (number): Similarity threshold (default: 0.6)
  • modelPath (string): Path to store/load models (default: './models' in Node.js, '/models' in browser)

async loadModels()

Loads the required face recognition models. Called automatically when needed.

async compareFaces(referenceImagePath, collectionImagePaths)

Compares a reference face with a collection of faces.

Parameters:

  • referenceImagePath (string): Path to the reference image
  • collectionImagePaths (array): Array of paths to compare against

Returns: Array of objects with:

  • imagePath (string): Path to the compared image
  • similarity (string): Percentage similarity (0-100%)
  • error (string, optional): Error message if processing failed

Browser Usage

For browser environments, make sure the models are available in your web root:

<!-- Models should be available at /models/ -->
<script type="module">
import FaceComparison from 'bakuparjo';
const faceComparer = new FaceComparison();
// ...
</script>

License

MIT

1.2.1

10 months ago

1.2.0

10 months ago

1.1.2

10 months ago

1.1.1

10 months ago

1.1.0

10 months ago

1.0.2

10 months ago

1.0.1

10 months ago

1.0.0

10 months ago