/ShareIt

Smart Image Sharing Platform.

Primary LanguagePython

ShareIt

Smart image sharing platform with Nudity detection using image processing and Image caption generation and similarity ranking using Deep Learning.
Note: Some Python library used are pretty outdated and as a result might pose certain security risk.
Further confirm the image processing algorithm.



Project Installation:

  1. Check if "pip" is installed on your system:
    ~$ pip --version
    Should return version or "bash: pip: command not found"
    If command not found, install pip:
    
    ~$ curl -O http://peak.telecommunity.com/dist/ez_setup.py
    ~$ sudo python ez_setup.py
    ~$ sudo easy_install pip
    
  2. Install Virtualenv so that we have an isolated environment for our project.
    ~$ sudo pip install virtualenv
  3. Create Virtualenv and install required modules.
    
    ~$ virtualenv ~/Documents/shareit
    ~$ source ~/Documents/shareit/bin/activate
    ~$ pip install -r requirements.txt
    
    All this has to be done in a local filesystem. Use the requirements.txt file in the repository.
  4. Copy the folder webUI in the local filesystem. For this project we assume you copy the webUI folder in ~/Documents folder.
  5. Enter the location of shareit in webUI/shareit/dirLocation.txt".
    *THIS IS IMPORTANT. So the location will be something like "/home/USER_NAME/Documets/shareit"
  6. .
  7. Start the system by entering:
    ~$ python /home/USER_NAME/Documets/ShareIt/shareit.py
    This will start the system at URL: "http://localhost:5000/".
  8. Caption Generation using Deep Learning is done using Python's Chainer library and inspiration was taken by this project: chainer-image-caption by @dsanno. After setting it up, a simple CRON job was initiated that enters the captions in the SQLite database. Modifications were made to the project to achieve this. Please open an issue, or shoot me an email, if you siwh to know how I set up this step.
  9. Open http://localhost:5000/trending, to see the trending images. We have used the lower bound of Wilsons Interval on the Likes and Dislikes aggregated on each image. This is the method used by Reddit to achieve the same functionality. More information on the maths and logic can be gathered from here:
    Evan Millers Blog
    Medium-Blog Post
  10. Open a site like http://localhost:5000/search?query=dog, to see images tagged with the caption "dog". This can only be done after Caption Generation has been run once or more.
  11. After finishing the project, close terminal, or enter ~$ deactivate, To move out of virtualenv Python.


Profanity detection happens using 2 distinct image processing algorithms whenever the user tries to upload a new image in the system.
License: Standard MIT License.
For more infomation, please check: