Skip to content

texty/missing-children-ai-search

Repository files navigation

Missing Children AI Search

This project builds an automated artificial intelligence system to identify Ukrainian children who were abducted or forcibly resettled in Russia. The system uses computer vision techniques to analyze and match facial features with state-of-the-art models from the DeepFace library.

Data Sources

We collected data from three main sources:

  1. Russian data: 37,022 photos from usynovite.ru (Russian adoption website) downloaded on November 17, 2024 and March 30, 2025
  2. Belarusian data: 4,017 photos from dadomu.by (Belarusian adoption website) collected on March 30, 2025
  3. Ukrainian data: 758 photos from childrenofwar.gov.ua (Ukrainian government database for displaced children) downloaded on November 17, 2024 and March 30, 2025

Scrapers and downloaded data are available in a separate repository: missing-children-scrapers.

Installation

  1. Clone the repository:
    git clone https://github.com/yourusername/missing-children-ai-search.git
  1. Navigate to the project directory:
    cd missing-children-ai-search
  1. Create and activate a virtual environment:
    python3 -m venv env
    source env/bin/activate
  1. Install dependencies:
    pip install -r requirements.txt

Usage

Preprocessing

Run the preprocessing notebook to prepare the dataset:

jupyter notebook preprocessing.ipynb

Face Recognition

Run the face recognition script to identify matches:

python face_recognition.py

After running the face recognition script, automatically identified matches are saved to the results directory and require manual review to confirm each match.

Note: Using a GPU significantly speeds up face recognition processing on large datasets.

Project Structure

missing-children-ai-search/
├── data/                 # Preprocessed dataset files
├── model_selection/      # Face detection and recognition benchmarks
├── results/              # Output files
├── preprocessing.ipynb   # Data preprocessing notebook
├── face_recognition.py   # Main recognition script
├── requirements.txt      # Python dependencies
└── README.md             # Project documentation

Model Selection

We used the DeepFace library for facial detection and recognition. After benchmarking multiple detector-model combinations, RetinaFace with ArcFace achieved the highest accuracy on our validation dataset.

Read more: model_selection/Detector_Comparison.md

About

AI system using facial recognition to identify Ukrainian children abducted to Russia by matching photos from Ukrainian missing children and Russian adoption databases

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors