Skip to main content

4BIM project by group 5

Project description

Project_4bim

Table of Contents

  1. Software Description
  2. Repository Organization
  3. Methodologies Description
  4. Tutoriel
  5. Installation
  6. Technologies
  7. Limits and Improvements
  8. Collaboration
  9. FAQs

Software Description


This software creates a synthesized portrait with facial features that resemble as close as possible to a criminal. The creation of the portrait is made based on a witness's successive choices between different propositions taken from a large-scale face attributes dataset. These choices are used by the software to identify the most likely facial characteristics in order to select and propose an image that corresponds to the witness's expectations and hopefully to the actual criminal.

The software contains a user friendly Graphical User Interface and the algorithms used to propose a final portrait include a Neural Network Algorithm, that will reduce the size of the dataset images and a Genetic Algorithm that will combine and modify the image selected by the witness and propose new image.

Repository Organization


The folder projet contains all the folders that define the software structure. This folder projet contains the main python file that defines the software execution. It also contains :

  • in the clusters folder, all numpy and csv files needed for the genetic algorithm and neural network algorithm.
  • in the decoders folder, all decoder files .h5 needed for the photo decoding in the main.
  • in the selectionimage, son, father, choice and final_choice folders, all photos saved during the main execution.
  • in build/html/index.html, a link that takes to an index where you can easily find all the function's docstrings.

The folder Tutoriel contains two jupyther notebooks that can help you train with the Genetic Algorithm and the Neural Network Algorithm.

Methodologies Description

Our project is based on 3 methodologies.

  1. Neural Network

A Neural Network Algorithm is used to reduce the size of all the dataset images for the software to modify them faster. It contains an encoder that compresses the images and a decoder that decompresses them later in order to display them.

The database used to create the software has more than 200,000 photos. With the aim of not having to train our Neural Network model on all the dataset every time the software was run, we decided to create 8 clusters of the dataset based on all the possible combinations of 3 attributes (Hairstyle, Gender and Age) that we consider reduced significantly the size of the database. Each cluster has a specific encoder and decoder and all these files needed for the Neural Network to run were created in advance. The only image kept in memory at run time are the ones that are being displayed.

  1. Genetic Algorithm

A Genetic algorithm is used to generate a high-quality solution to the search of the criminal's face by the witness. It relies on two biological inspired operators: a mutation and a crossover. The idea is to include the witness's successive photo choices and use that information to generate new photos that contain some of the traits selected.

  1. Graphical User Interface

In order to present a user friendly software, a Graphical User Interface was created with buttons that allow the witness to select different photos, stop and restart the program. It also displays all the photos selected in the previous steps of the software.

Technologies


A list of technologies used within the project:

Installation


To use the application you need a python environnement and you have to verify the versions of python and modules. In addition to use the following instructions you need a linux terminal.

$ git clone cle_SSH
$ cd Project_4BIM/projet
$ mkdir choice
$ mkdir final_choice
$ python3 mainGUI.py
Then follow the intructions of the graphic interface.

Collaboration


You can download the project on github but you can't collaborate directly on the project (it is private).

Tutoriel


First, select an initial set of physical traits for the search. Click on the options and then click on next.

1

Then, 9 photos that correspond to the initial selected traits will be displayed. Select 4 of them and click on next.

1

Then, 6 new created photos will be displayed. In the top right part of the window you can check your previous selected photos. You have two possibilities:

  1. Select one photo from the left buttom and 3 from the right side

or

  1. Select 4 photos from the right side

Note that at anytime you can restart the software by clicking on restart.

1

All your choices will be displayed on the bottom left side of the window.

1

When you think you've found the best portrait, click on the I found suspect and then select the corresponding image.

1

Finally, confirm your choice by clicking yes.

Limits and Improvements

  1. The software doesn't have a maximum number of iterations and there is no convergence criteria.
  2. The software has no Home Page that presents the context in which the program can be used.
  3. The quality of the images could definitely be improved by changing the database or by implementing other AI methodologies.
  4. The graphical interface buttons don't change color when they are selected, so the user cannot visually confirm its choices. Implementing this feature could make the program more user interactive.

FAQs


A list of frequently asked questions

  1. Are the images created during the previous executions saved in a folder? The images created during previous executions are kept in memory until a new execution is done. A final portrait is kept in a folder until a new exeution's final portrait is chosen.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Portrait_Robot_G5-0.0.6.tar.gz (47.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

Portrait_Robot_G5-0.0.6-py3-none-any.whl (54.2 kB view details)

Uploaded Python 3

File details

Details for the file Portrait_Robot_G5-0.0.6.tar.gz.

File metadata

  • Download URL: Portrait_Robot_G5-0.0.6.tar.gz
  • Upload date:
  • Size: 47.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.10.2

File hashes

Hashes for Portrait_Robot_G5-0.0.6.tar.gz
Algorithm Hash digest
SHA256 8187f720dfaed0a0da6af92e72b133111e3d030f6590b9b57987814496a443f5
MD5 309483131c28376ab7b45f4b4c70ba6d
BLAKE2b-256 6ad893d465f6855544fa7e2e80bfe6c7cb1b5d15b516b40f81b10d5594c80d50

See more details on using hashes here.

File details

Details for the file Portrait_Robot_G5-0.0.6-py3-none-any.whl.

File metadata

File hashes

Hashes for Portrait_Robot_G5-0.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 4f487ec3fb53815f179f4380ad7ef930f3e9e9db3762a73d69892ae425b5c658
MD5 f138fea9d93b33395d56c230876f90f9
BLAKE2b-256 45f9f6e31e0e630eb41f8eab24c9b383713904e76668baf06a74a3a54122f7d8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page