1 / 18

SIMAGINARITY

SIMAGINARITY. Salih Safa BACANLI. Description. Simaginarity is a site that allows users to upload their photos and see the other users’ photos that are similar to theirs’. Photo and username. Technologies. PHP (Apache Server) MYSQL Amazon EC2 (servers) Amazon S3 (file storage). PHP

shada
Download Presentation

SIMAGINARITY

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SIMAGINARITY Salih Safa BACANLI

  2. Description • Simaginarity is a site that allows users to upload their photos and see the other users’ photos that are similar to theirs’. • Photo and username

  3. Technologies • PHP (Apache Server) • MYSQL • Amazon EC2 (servers) • Amazon S3 (file storage)

  4. PHP • Easy to handle code & design • Relatively fast • Supported by Amazon AWS

  5. MYSQL (mysqli) • Works fine with Apache, PHP • Necessary to get ordered data

  6. db host MYSQL APACHE

  7. Basic Scenario • Users creates an account with email and username • User uploads photos (rare) • User sees similar photos (often)

  8. Now... • When user uploads a new photo it is compared with all of the photos in the system and similarity values written to database (heavy work) • When user wants to see similar photos photo information from database is shown. • No calculation again.

  9. Before... • Calculation is done when everytime user sees similar photos. • Time consuming, • Kills the efficiency when number of photos increase • Previous design is changed

  10. In order to see the most similar photos we need to get the ordered values of comparison. • Not possible with nosql database • Installed Redis (nosql database) but useless • Redis is slow if working in VM (EC2) http://redis.io/topics/latency • http://stackoverflow.com/questions/11765502/best-ec2-setup-for-redis-server

  11. Why not nosql

  12. DB

  13. MVC • Model • Config.php • View • Php html files • Controller • library.php

  14. Image Functions • Histogram • Histcompare • sum (xi-yi)2(Covariance) • If array sizes different than some value, histograms are not same (value:99) • The more value is closer to 0 the more similar are the images • Get the sorted values of «value» in imagecomp table • Average (not used) • Getting average color

  15. What should be done to make it more efficient? • SQS (no time left) • Comparison is done by host now. If it can be done by another server or DB server, the host can be little light afterwards. • Average value comparison (recorded, not used) • A way to do the processing on S3. Files are processed on local. • Some way to make the processing on user’s computer (javascript, java) • Using maybe nosql for users and images table

  16. Site feature improvements • Make users define groups of photos so that only their friends see their similar photos • To make the job realistic, get only some points of photo histogram • Image processing techniques • Geotagging • Mobile version of site

  17. What I learnt? • Using AWS • Nice features of Cloud • Getting used to using Distributed System • Useful cloud computing usage idea

  18. Demo time http://ec2-54-200-159-114.us-west-2.compute.amazonaws.com

More Related