Projects

Project – Automated Email Summarization with MLOps Pipeline

(2025)
Developed an automated email summarization solution using a pretrained large language model (LLM), orchestrated end-to-end with MLOps best practices. The project includes CI/CD pipelines, monitoring, cloud deployment, and an inference API.

Key features: Data orchestration with Airflow, model versioning with MLflow, containerized FastAPI endpoint for summarization, continuous integration and deployment with GitHub Actions, and monitoring using Prometheus, Grafana, and Flower.

GitHub repository: Franelstar/mlops-nlp-project
Skills: DevOps MLOps DataOps Airflow MLflow Docker GitHub Actions FastAPI LLM Fine-tuning CI/CD Prometheus Grafana Flower Cloud Deployment (GCP) pytest Pydantic

Project – Building a CI/CD Pipeline in an MLOps Context

(June 2025)
As part of a lab project, I designed and implemented a Continuous Integration (CI) and Continuous Deployment (CD) solution for a Python command-line application. The primary goal was to automate key software quality processes essential to MLOps, including linting, formatting, refactoring, and testing.

GitHub repository: Franelstar/CI-CD-Lab
Skills: MLOps CI/CD Software Quality Automation Python Testing Linting Refactoring GitHub Actions

Project – Face Anti-Spoofing and Facial Recognition

Vietnam National University, Hanoi (March 2021 – April 2021)
This project focused on developing a robust facial recognition system enhanced with anti-spoofing mechanisms to detect and prevent identity fraud, such as attempts using printed photos, videos, or masks during authentication.

Objectives:
  • Build an accurate and fast facial recognition model
  • Integrate anti-spoofing techniques to distinguish real faces from spoofing attempts
  • Ensure system reliability under various lighting conditions, angles, and image quality
Technologies and tools used:
  • Deep Learning (Convolutional Neural Networks – CNNs)
  • Anti-spoofing algorithms based on texture analysis, motion detection, and 3D facial features
  • Python libraries: OpenCV, Dlib, TensorFlow, PyTorch

GitHub repository: Franelstar/Visage_antispoofing_recognition
Skills: Computer Vision Facial Recognition Anti-Spoofing Deep Learning CNN OpenCV Python TensorFlow PyTorch Dlib

Project – Creating a Magic Book in Virtual and Augmented Reality

(March 2021)
This project aimed to design and develop an interactive "magic book" experience using virtual reality (VR) and augmented reality (AR) technologies to bring stories and illustrations to life.

Objectives:
  • Create immersive content combining 3D models, animations, and interactive elements triggered by the physical pages of the book
  • Use augmented reality to overlay digital content on physical pages via a smartphone or tablet camera
  • Implement VR-based scenarios that allow users to fully explore the book's universe in an immersive environment
Technologies and tools:
  • Unity 3D for VR/AR development
  • ARKit / ARCore for augmented reality features
  • Python for scripting and logic

GitHub repository: Franelstar/Magic-Book-AR
Skills: Virtual Reality (VR) Augmented Reality (AR) Unity 3D ARKit ARCore 3D Modeling Animation Python

Project – Fake News Detection, Sentiment Analysis on COVID-19 Tweets, and South Park Dialogue Recognition using Natural Language Processing (NLP)

(March 2021)
This project combines several NLP applications aiming to analyze, classify, and extract information from texts from various sources.

Objectives:
  • Detect fake news from texts using supervised classification techniques (TF-IDF, SVM, etc.)
  • Perform sentiment analysis on coronavirus-related tweets to identify dominant emotions (positive, negative, neutral)
  • Recognize South Park characters from their dialogues using text classification models
Technologies and Tools:
  • Python, NLTK, Scikit-learn, Pandas, NumPy
  • Vector representations: Bag of Words, TF-IDF
  • Classification models: SVM, Naive Bayes, Logistic Regression
  • Preprocessing: tokenization, lemmatization, text cleaning

GitHub repository: Franelstar/text-classification
Skills: Python Docker Scikit-learn NumPy Pandas Natural Language Processing (NLP)

Project – Optical Flow Estimation and Object Segmentation by Velocity

(March 2021)
This project aims to leverage optical flow to estimate movements in a sequence of images and automatically segment objects based on their velocity.

Objectives:
  • Calculate optical flow between successive frames of a video to detect pixel-level movements
  • Identify and segment moving objects by discriminating relative speeds (slow, fast, stationary)
  • Analyze dynamic scenes to extract information on trajectories and visual behaviors
Methods and Tools:
  • Optical flow algorithms (Lucas-Kanade, Horn-Schunck, Farnebäck, etc.)
  • Image processing and segmentation
  • Motion vector visualization
  • Python and OpenCV

GitHub repository: Franelstar/optical_flow_segmentation
Skills: OpenCV Python Computer Vision

Project – Leaf Recognition for Plant Classification Using Bag of Words (BoW) Model

(January 2021)
This project aimed to develop a computer vision system capable of classifying plant species based on leaf images using a Bag of Words (BoW) visual model approach.

Objectives:
  • Extract local features from leaf images (e.g., SIFT, ORB)
  • Build a visual vocabulary by clustering descriptors using k-means
  • Represent each image as a histogram of visual words
  • Train a classifier (e.g., SVM) on these representations to predict plant species
Technologies and Methods:
  • Python, OpenCV for image processing and feature extraction
  • Scikit-learn for clustering and classification
  • Use of BoW model for visual representation
  • Dataset preparation and performance evaluation (cross-validation, accuracy metrics)

GitHub repository: Franelstar/Leaf-recognition-for-plant-classification-using-the-Bag-of-Words-model
Skills: OpenCV Python Scikit-learn

Project – Object Recognition Using the SIFT Descriptor

(December 2020)
This project involved developing an application capable of automatically detecting and recognizing an object in an image using keypoints and local descriptors extracted by the SIFT (Scale-Invariant Feature Transform) algorithm.

Objectives:
  • Detect interest points characteristic of an object
  • Extract descriptors invariant to scale, rotation, and illumination
  • Perform matching between descriptors of the target object and those of a scene
  • Identify the presence and position of the recognized object
Technologies and Tools:
  • Python with OpenCV (SIFT, FLANN, BFMatcher)
  • Image processing and computer vision
  • Descriptor matching and homography estimation

GitHub repository: Franelstar/Reconnaissance_objets_SIFT
Skills: Computer Vision OpenCV

Project – Skin Pixel Detection Based on Color

(November 2020)
This project aimed to detect regions corresponding to human skin in an image by exploiting colorimetric information from different color spaces.

Objectives:
  • Identify pixels corresponding to skin based on their color values
  • Compare the performance of different color spaces (RGB, HSV, YCrCb, etc.)
  • Obtain a binary mask locating skin areas in an image
Methodology:
  • Transform images into different color spaces
  • Define value ranges (thresholding) associated with skin
  • Apply morphological filters to clean the masks
  • Visualize results (segmentation, contours)

GitHub repository: Franelstar/Skin-detection
Skills: OpenCV Python Computer Vision

Project – Explainability Analysis of Classification Models with LIME

(October 2020)
Associated with Vietnam National University, Hanoi
This project studied the interpretability of machine learning models through the LIME method (Local Interpretable Model-agnostic Explanations), applied to two concrete cases:
  1. Image recognition (dogs vs cats) using a convolutional neural network (CNN)
  2. Breast cancer prediction using an SVM classifier (presence or absence)
Objectives:
  • Understand local model behavior by explaining their predictions
  • Visualize important regions in an image for CNN
  • Identify influential medical features for SVM

GitHub repository: Franelstar/explainable-Artificial-Intelligence
Skills: Python TensorFlow Sklearn

Project – Object and Person Tracking in Video (OpenCV, Dlib)

(October 2020)
This project involved developing a real-time visual tracking system for objects or people in video, combining object detection and color-based tracking.

Implemented approach:
  • Use of Dlib for initial object/person detection in images (HOG + SVM)
  • Implementation of a color-based tracking algorithm (HSV space segmentation, thresholds, masking)
  • Use of OpenCV for image processing: detection, bounding box drawing, trajectory calculation
  • Robust tracking in video sequences, even with fast movements or scale changes

GitHub repository: Franelstar/video-object-tracking
Skills: Python OpenCV Dlib

TPE – Video Research Backend

(Dec. 2019 – Sept. 2020)
In the context of a year-long supervised personal project (TPE), I developed a content-based video search application. This project aims to automatically analyze videos to extract structured information that facilitates search and exploitation.

Main features:
  • Automatic video segmentation into distinct scenes
  • Scene type classification (bedroom, living room, etc.)
  • Detection and identification of objects present in each scene
  • Counting the number of people per scene with result storage
  • The application uses an API enabling search based on extracted metadata. A client application is used to perform these searches.
Technologies used:
  • Language: Python
  • Libraries: TensorFlow, Flask, OpenCV, dlib, face_recognition, moviepy, scenedetect, numpy, matplotlib, PILLOW
  • Database: PostgreSQL
  • Deep scene detection models
This project allowed me to apply advanced techniques in computer vision, facial recognition, and video processing, while developing a complete tool for content-based video search.

GitHub repository: Franelstar/TPE_Video_Research_Backend
Skills: Computer vision Machine learning Deep learning Docker User Interface (UI) Python OpenCV TensorFlow numpy matplotlib

Academic Project – Creation of an Ontology on the Family Theme (RDF, RDFS, OWL, Protégé)

(Jul. 2020)
As part of a semantic web project, I designed an ontology modeling family relationships using standard Semantic Web technologies such as RDF, RDFS, and OWL, with the Protégé tool.

Project Objectives:
  • Formally represent concepts related to family (person, parent, child, marriage, etc.)
  • Define relationships between individuals (parentage, siblinghood, marriage)
  • Implement logical rules for automatic inference of new facts (e.g., if A is parent of B and B is parent of C, then A is grandparent of C)
  • Verify ontology consistency using reasoning engines
Skills: Knowledge Graphs Semantic Web RDF / RDFS OWL Protégé Ontologies Description Logic Automated Reasoning Semantic Modeling

Project – Data Analysis and Machine Learning with Python (scikit-learn, pandas, seaborn, matplotlib)

(March 2020 – July 2020)
In this project, I implemented a complete data processing and analysis pipeline in Python, from exploratory data analysis to predictive modeling.

Objectives:
  • Perform descriptive and exploratory data analysis (statistics, visualizations)
  • Apply unsupervised learning techniques (factor analysis, clustering)
  • Use supervised learning algorithms for classification and regression (SVM, KNN, decision trees, linear regression)
  • Develop a predictive model for house prices

GitHub repository: Franelstar/Data_scientist_house_data
Skills: Python scikit-learn pandas seaborn matplotlib Data Analysis Machine Learning Predictive Modeling Data Visualization

Project – Intelligent Agents for Item Delivery Simulation (JADE, GAIA, FIPA-ACL)

(May 2020)
In this project, I designed a simulation of an autonomous delivery system based on intelligent agents, leveraging the JADE platform and FIPA-ACL communication standards. The goal was to model a network of agents (clients, warehouses, couriers) capable of cooperating to efficiently deliver packages in a dynamic environment.

Main features:
  • Modeling autonomous agents with defined roles (client, carrier, manager)
  • Inter-agent communication following FIPA-ACL standards
  • Use of GAIA methodology for role and interaction design
  • Negotiation, task allocation, and delivery planning
  • Responsiveness to environmental changes (delays, failures, new orders)

GitHub repository: Franelstar/Projet-Jade
Skills: JADE FIPA-ACL GAIA Multi-agent Systems

Academic Project – Image Processing Application in Python

(April 2020)
Developed an image processing tool integrating manual implementation and experimentation of many fundamental algorithms. The goal was to gain a deep understanding of image transformation, filtering, edge detection, and frequency analysis mechanisms.

Implemented algorithms:
  • Image enhancement:
    • Histogram, linear transformation, gamma correction
    • Histogram equalization
  • Smoothing filters:
    • Mean filter, median filter, Gaussian filter, convolution
  • Edge detection:
    • Prewitt, Roberts, Sobel, Laplacian, Canny
  • Mathematical morphology:
    • Opening, closing, binary image processing
  • Frequency analysis:
    • Fourier transform
  • Color space manipulation:
    • Conversion RGB ↔ grayscale, binary, HSV, etc.

GitHub repository: Franelstar/taitementImage
Skills: Python NumPy OpenCV Computer Vision

Simulation Project – Spread of a Contagious Disease and Social Distancing Effects (GAMA Platform)

(April 2020)
As part of a multi-agent modeling project, I developed a simulation of the spread of a contagious disease within a city using the GAMA platform. The aim was to analyze the impact of different social distancing policies on the epidemic dynamics.

Project objectives:
  • Model a population of mobile agents with daily behaviors (movement, interaction, infection)
  • Simulate virus transmission based on epidemiological parameters (contamination rate, incubation, recovery)
  • Study the effects of health measures: lockdown, mobility reduction, mask-wearing, etc.
  • Visualize the epidemic evolution according to applied strategies

GitHub repository: Franelstar/TP-SMA
Skills: GAMA GALM Multi-Agent Programming

Academic Project – Java Application for Graph Algorithm Visualization

(December 2019 – March 2020)
As part of a university project, I designed and developed a Java application to visualize and execute various fundamental graph theory algorithms. The project integrates Graphviz and the DOT language to dynamically represent graphs, providing an interactive interface focused on learning and experimentation.

Key features:
  • Step-by-step visualization and execution of several algorithms:
    • Depth-first search (DFS) and breadth-first search (BFS)
    • Shortest path algorithms: Dijkstra, Bellman-Ford
    • Minimum spanning tree algorithms: Prim, Kruskal
    • Maximum flow algorithm: Ford-Fulkerson
  • Graphical user interface developed in Java (Swing/JavaFX)
  • Graph export and rendering using Graphviz (.dot files)

GitHub repository: Franelstar/RO-IHM
Skills: Graphviz Java GUI Graph Theory