We need an experienced software developer (code programmer) to create a neural network.

Job ID: 35096446

Budget: $750 – $1,500 USD

WHO WE ARE:

Hi, I am Peter. I represent a company named Lesser. We have a commercial software that helps people organize large amounts of photos.

This is our website: lessersoftware.com

Our software uses facial recognition to find faces that we want to recognize in photos and then we sort these photos in different folders according to who appears on them.

It is especially useful for professional photographers that shoot big events like marathons or graduation parties where they take photos of a lot of different people and each person is a different client.
Our current software is very efficient in recognizing the faces and separating the photos but we have an issue that we would like to improve:

TASK:

-Sometimes the photographer is taking photos of person A, but then person B or C appears in the background (look at the exemples in the attachment). In this case this photo won’t be interesting for person B and C, just for person A. But right now the software will recognize all the faces without distinction. So we need to create a neural network to differentiate who are the main people photographed in the picture and who are the people that just appeared by circumstance in the photo but are not people of interest (recognize which face is relevant or irrelevant for the photo).



WHAT WILL BE PROVIDED:

For this project we will provide a pack of photos (initially around 10,000 and as the freelancer progresses with the task, we will provide another 50,000 or 100,000 photos to refine the process) for the freelancer to create and adjust the neural network to do the task described above. Along with the photos it will be provided a txt file with a code that identifies the faces to be analyzed in each of the photos. So the neural network won’t need to identify the faces, they will already be identified, it just needs to analyze and tell if the face is relevant or irrelevant.


APPROVAL:

For the approval of this project, once complete, the professional will need to run the neural network with a new set of photos that we will provide alive in a video call, and the success rate of differentiating these faces needs to be at least at 99% true positives (relevant faces classified as relevant) with less than 10% false positives (irrelevant faces classified as relevant faces).

The validation dataset is at least 10 thousand photos large and very similar to the training dataset. The validation dataset will be provided after the freelancer has ended training the neural network. The freelancer will not have access to this validation dataset during the development phase.

If the neural network fails to meet the validation criteria, new validation datasets will be provided again and again, up to 3 times. After the third unsuccessful attempt, we will consider the project as failed. Otherwise, if the neural network meets the criteria with at least one of the datasets, we are releasing the payment.

DETAILS AND EXTRA:
We thought that the following git project might be of interest in helping sorting this task out: https://github.com/xuebinqin/U-2-Net

The dataset provided will be similar to the one provided here in a zip file, with photos and a maps.json file containing the code to the detected faces.

In the end we will need a python script where we will enter an input similar to this:
{
"Faces": [
{
"X": 1607,
"Y": 1073,
"Width": 832,
"Height": 832
},
{
"X": -209,
"Y": 1162,
"Width": 839,
"Height": 839
}
],
"PhotoPath": "/P220907ER0312.jpg"
}


and the outcome should come like this:
{
"Faces": [
{
"X": 1607,
"Y": 1073,
"Width": 832,
"Height": 832,
"IsRelevant": true
},
{
"X": -209,
"Y": 1162,
"Width": 839,
"Height": 839,
"IsRelevant": false
}
],
"PhotoPath": "/P220907ER0312.jpg"
}
Related categories: Machine Learning (ML) Neural Networks