Git Product home page Git Product logo

image-recognition-analysis's Introduction

Image Analysis for Academic Study

Overview

This project involves analyzing a dataset of approximately 25,000 images for an academic study.

  • The main objective is to identify the number of unique images and the number of duplicates in the dataset.

  • Additionally, the project aims to extract several features from the images, which include:

    • Dominant color
    • Saturation
    • Brightness
    • Presence of humans
    • Age category of humans
    • Facial expressions
    • General sentiment

Installation

To run the code in this repository, you will need to have Python 3 installed on your machine. You can install Python by following the instructions on the official Python website.

Next, you will need to install the required Python packages. You can do this by running the following command in your terminal:

Protip: To ensure efficient development and avoid conflicts between different Python projects, it is recommended to install required modules inside a virtual environment (virtualenv) and run Visual Studio Code (VS Code) using the virtualenv's Python interpreter.

pip install -r requirements.txt

Usage

To run the analysis on the dataset, simply run the src/main_parallel.py.

Once the analysis is complete, a CSV file called image_duplicates_{case}.csv will be generated in the data/processed, which contains the image IDs and their corresponding feature values.

Visualization

  • To visualize the unqiue images and their # of duplicates.
    • Simply run display_unique_imgs.py after generating the .csv file by the above step.

Repo Structure

Image-Recognition-Analysis
|
|
├───src                                 >     Code Scripts for each milestones
│  ├──milestone_1      
|  .      
|  └──milestone_x  
|
├───config.py                           >     Control variables for test + disp
|
|
├───main.py                             >     Main file to perform analysis on the unique images
├───main_parallel.py                    >     -multiprocessing enabled-
|
├──data                                 >     Input(raw) data + intermediate results (processed)
│  ├──processed
│  └──raw
│     ├──test
│     └──test_full
|
├──results                              >     Complete output for each milestone (.csv + timing + visualization)
│  ├──milestone_1
|  .      
|  └──milestone_x   
|
└──Readme.MD                            >     Self Explanatory XD

Acknowledgements

This project was developed as part of an academic study and was made possible by the following resources:

  • The OpenCV library for image processing.
  • The imagehash library for Perceptual Image Hashing.
  • The ColorThief library for color palette extraction.

License

This project is licensed under the BSD 2-Clause License - see the LICENSE file for details.

image-recognition-analysis's People

Contributors

haiderabasi avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.