1.2.1 • Published 4 months ago

bakuparjo v1.2.1

Weekly downloads
-
License
MIT
Repository
-
Last release
4 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

4 months ago

1.2.0

4 months ago

1.1.2

4 months ago

1.1.1

4 months ago

1.1.0

4 months ago

1.0.2

4 months ago

1.0.1

4 months ago

1.0.0

4 months ago