diff --git a/.gitattributes b/.gitattributes index a6344aac8c09253b3b630fb776ae94478aa0275b..e077387adfe58813553bae62edc30ccaded764eb 100644 --- a/.gitattributes +++ b/.gitattributes @@ -33,3 +33,9 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text *.zip filter=lfs diff=lfs merge=lfs -text *.zst filter=lfs diff=lfs merge=lfs -text *tfevents* filter=lfs diff=lfs merge=lfs -text +*.jpg filter=lfs diff=lfs merge=lfs -text +*.jpeg filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.gif filter=lfs diff=lfs merge=lfs -text +*.bmp filter=lfs diff=lfs merge=lfs -text +*.webp filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..da974a7f7ab2d6199218d834d40ef65795f6f265 --- /dev/null +++ b/.gitignore @@ -0,0 +1,19 @@ +# Model files +*.pth +*.pt +*.bin + +# OS files +.DS_Store +__pycache__/ +*.py[cod] +*$py.class + +# Virtual environment +venv/ +env/ +.env/ + +# IDE files +.vscode/ +.idea/ \ No newline at end of file diff --git a/README.md b/README.md index a1985307ebf4d5b00e86a160515a6a8bffc22db8..929f6266d33321cf667d016026f5aefadb8943c3 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,42 @@ --- -title: Scene Classification Swin L -emoji: 📚 -colorFrom: green -colorTo: yellow +title: "AML 16" +version: "1.0.0" +emoji: "🤗" +colorFrom: indigo +colorTo: pink sdk: gradio -sdk_version: 5.34.2 +sdk_version: "5.29.0" app_file: app.py pinned: false -short_description: scene_classification_swin_l --- -Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference +# AML 16 + +This is a demo application for the best-performing model (Swin-Large) created for the AML 16 project. +The app uses Gradio to provide an interactive interface where users can upload an image, view the top-1 predicted scene category, see a reference image from the predicted class, and explore the top-5 prediction probabilities in a bar chart. + +The model was trained for scene classification and deployed using Hugging Face Spaces. + +- predict.py +This file handles loading the trained Swin-Large model and making predictions. +It loads the model weights from Hugging Face Hub, applies the correct image preprocessing, and outputs: + +The uploaded image, + +A reference image from the predicted class, + +The Top-5 prediction probabilities. + +The model was customized with an updated classifier head, and class labels are loaded from a labels.json file. A random sample image from the predicted class folder is also shown for better visualization. + +- app.py +This file builds the Gradio interface. +It lets users upload an image, runs the prediction using predict.py, and displays: + +The uploaded image, + +An image for the top-1 predicted class, + +The predicted class label, + +A bar chart showing the Top-5 prediction probabilities. \ No newline at end of file diff --git a/app.py b/app.py new file mode 100644 index 0000000000000000000000000000000000000000..e5dc871883579bc655f45a62cba34fe949ad25fa --- /dev/null +++ b/app.py @@ -0,0 +1,16 @@ +import gradio as gr +from predict import predict + +demo = gr.Interface( + fn=predict, + inputs=gr.Image(type="filepath", label="Upload Image"), + outputs=[ + gr.Image(label="Uploaded Image"), + gr.Image(label="Top-1 Class Example"), + gr.Label(label="Top-5 Probabilities") + ], + title="Scene Classification with Reference Image Testing using Large SWIN version 1.1.0", + description="Upload an image to get the predicted class with a sample image and top-5 prediction chart." +) + +demo.launch() diff --git a/labels.json b/labels.json new file mode 100644 index 0000000000000000000000000000000000000000..aaaea076d43ed1f13fbc314ff25761b7beec80f1 --- /dev/null +++ b/labels.json @@ -0,0 +1,42 @@ +[ + "airport_terminal", + "amphitheatre", + "amusement_park", + "art_gallery", + "bakery_shop", + "bar", + "bookstore", + "botanical_garden", + "bridge", + "bus_interior", + "butchers_shop", + "campsite", + "classroom", + "coffee_shop", + "construction_site", + "courtyard", + "driveway", + "fire_station", + "fountain", + "gas_station", + "harbour", + "highway", + "kindergarten_classroom", + "lobby", + "market_outdoor", + "museum", + "office", + "parking_lot", + "phone_booth", + "playground", + "railroad_track", + "restaurant", + "river", + "shed", + "staircase", + "supermarket", + "swimming_pool_outdoor", + "track", + "valley", + "yard" +] \ No newline at end of file diff --git a/predict.py b/predict.py new file mode 100644 index 0000000000000000000000000000000000000000..869734f72540c799281741fb1ded6d9d310a6bb2 --- /dev/null +++ b/predict.py @@ -0,0 +1,91 @@ +import torch +import torch.nn as nn +import torch.nn.init as init +from transformers import SwinForImageClassification +from huggingface_hub import hf_hub_download +from PIL import Image +import json +import os +import random +from torchvision import transforms + +# Load labels +with open("labels.json", "r") as f: + class_names = json.load(f) +print("class_names:", class_names) + +MODEL_NAME = "microsoft/swin-large-patch4-window7-224" + +class SwinCustom(nn.Module): + def __init__(self, model_name=MODEL_NAME, num_classes=40): + super(SwinCustom, self).__init__() + self.model = SwinForImageClassification.from_pretrained(model_name, num_labels=num_classes, ignore_mismatched_sizes=True) + in_features = self.model.classifier.in_features + self.model.classifier = nn.Sequential( + nn.Linear(in_features, in_features), + nn.LeakyReLU(), + nn.Dropout(0.3), + nn.Linear(in_features, num_classes) + ) + # Weight initialization + for m in self.model.classifier: + if isinstance(m, nn.Linear): + init.kaiming_uniform_(m.weight, a=0, mode='fan_in', nonlinearity='leaky_relu') + + def forward(self, images): + outputs = self.model(images) + return outputs.logits + +model_path = hf_hub_download(repo_id="Noha90/AML_16", filename="large_swin_best_model.pth") +print("Model path:", model_path) +model = SwinCustom(model_name=MODEL_NAME, num_classes=40) +state_dict = torch.load(model_path, map_location="cpu") +if "model_state_dict" in state_dict: + state_dict = state_dict["model_state_dict"] +model.load_state_dict(state_dict, strict=False) +model.eval() + +# Preprocessing +transform = transforms.Compose([ + transforms.Resize((224, 224)), + transforms.ToTensor(), + transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]) +]) + +def predict(image_path): + image = Image.open(image_path).convert("RGB") + x = transform(image).unsqueeze(0) + with torch.no_grad(): + outputs = model(x) + print("Logits:", outputs) + probs = torch.nn.functional.softmax(outputs, dim=1)[0] + print("Probs:", probs) + print("Sum of probs:", probs.sum()) + top5 = torch.topk(probs, k=5) + + top1_idx = int(top5.indices[0]) + top1_label = class_names[top1_idx] + + # Select a random image from the class subfolder + class_folder = f"sample_images/{str(top1_label).replace(' ', '_')}" + reference_image = None + if os.path.isdir(class_folder): + image_files = [f for f in os.listdir(class_folder) if f.lower().endswith((".jpg", ".jpeg", ".png", ".bmp", ".gif", ".webp"))] + if image_files: + chosen_file = random.choice(image_files) + ref_path = os.path.join(class_folder, chosen_file) + print(f"[DEBUG] Randomly selected reference image: {ref_path}") + reference_image = Image.open(ref_path).convert("RGB") + else: + print(f"[DEBUG] No images found in {class_folder}") + else: + print(f"[DEBUG] Class folder does not exist: {class_folder}") + + top5_probs = {class_names[int(idx)]: float(score) for idx, score in zip(top5.indices, top5.values)} + print(f"image path: {image_path}") + print(f"top1_label: {top1_label}") + print(f"[DEBUG] Top-5 indices: {top5.indices}") + print(f"[DEBUG] Top-5 labels: {[class_names[int(idx)] for idx in top5.indices]}") + print(f"[DEBUG] Top-5 probs: {top5_probs}") + + return image, reference_image, top5_probs \ No newline at end of file diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000000000000000000000000000000000000..90c5a0cba2c634f7aa13c700dc65f18bc1c09329 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,7 @@ +torch +torchvision +transformers +Pillow +gradio +numpy +huggingface_hub diff --git a/sample_images/airport_terminal/airport-check-in.jpg b/sample_images/airport_terminal/airport-check-in.jpg new file mode 100644 index 0000000000000000000000000000000000000000..cf79e931e44f75f63ededb875a81b82a45e104df --- /dev/null +++ b/sample_images/airport_terminal/airport-check-in.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:183bf4dd47c45a3b475c9f24032c973af82834ab34649deb5c190a1429969569 +size 13863 diff --git a/sample_images/airport_terminal/checkin.jpg b/sample_images/airport_terminal/checkin.jpg new file mode 100644 index 0000000000000000000000000000000000000000..99e14f9b24cc08b032192e88e31726524fa07c21 --- /dev/null +++ b/sample_images/airport_terminal/checkin.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c0f80e6bdd7ace112fd799fe1f516ac4abe4487a72a19fed0436f82afc2883a7 +size 125716 diff --git a/sample_images/amphitheatre/amphitheatre.png b/sample_images/amphitheatre/amphitheatre.png new file mode 100644 index 0000000000000000000000000000000000000000..57137bdae359cd52c4fcea6c3af3c39ef92f9d93 --- /dev/null +++ b/sample_images/amphitheatre/amphitheatre.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:810f640dbcae341f2a00f5690408eb263941bc2ea1c34dab8e8e55105e7c548a +size 2767792 diff --git a/sample_images/amusement_park/A Swinger Ride.jpg b/sample_images/amusement_park/A Swinger Ride.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5eefe5a069c3fb4d140dee890acc99f5b38cb716 --- /dev/null +++ b/sample_images/amusement_park/A Swinger Ride.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1cad54c6fdb3c5e24c805da6b593ac10cad0543f54dc5a7749bcb37c9072439c +size 1128592 diff --git a/sample_images/amusement_park/airport-check-in.jpg b/sample_images/amusement_park/airport-check-in.jpg new file mode 100644 index 0000000000000000000000000000000000000000..12aadd848a9af8a5f9a87670a0db870a91e4fad9 --- /dev/null +++ b/sample_images/amusement_park/airport-check-in.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d7cd3f5dda8a9d57ce38522de00efba0ae1e817a12d87a20628d60d207200a6a +size 65823 diff --git a/sample_images/art_gallery/art_gallery.jpg b/sample_images/art_gallery/art_gallery.jpg new file mode 100644 index 0000000000000000000000000000000000000000..efcbf2b2e38128e3a57931652bf27d0a91064d2d --- /dev/null +++ b/sample_images/art_gallery/art_gallery.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ce079953b1811d13779d896ca0d09c425ee4a3e5c386bd2db7d415a806d14fd4 +size 1466605 diff --git a/sample_images/bakery_shop/ShopInterior.jpg b/sample_images/bakery_shop/ShopInterior.jpg new file mode 100644 index 0000000000000000000000000000000000000000..66886a8a9793970621117b5e6ef0af5b8b1b5b24 --- /dev/null +++ b/sample_images/bakery_shop/ShopInterior.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1b81ae0922fa7bcef4e494c5cba5209db8b887dda0658ed10fd433db257fc016 +size 191852 diff --git a/sample_images/bar/Ram02.jpg b/sample_images/bar/Ram02.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ebae16a5dd6ae06e3314cfc7e5d4219bd7d99af0 --- /dev/null +++ b/sample_images/bar/Ram02.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:352f1422e9dd9f023ba47045014c7360bf8581fe54a4a60e3715ab5d421e8e61 +size 130539 diff --git a/sample_images/bookstore/book_store.jpg b/sample_images/bookstore/book_store.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4e77e2851b800e868783dec086b1ac38ed0eef85 --- /dev/null +++ b/sample_images/bookstore/book_store.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:afdb86d9fcf4162b1bdd6204240c5b287363e78158cb70e59546c15564ba8eed +size 458272 diff --git a/sample_images/botanical_garden/botanical_garden.jpg b/sample_images/botanical_garden/botanical_garden.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e3d6c2bf559150cd2a21c1767cbb4de302e40ec8 --- /dev/null +++ b/sample_images/botanical_garden/botanical_garden.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c3b01ec04f71c857eebe77e561a65711d57b8492ad167291de6bd81f4d3a4cea +size 169804 diff --git a/sample_images/bridge/Medieval_Exe_Bridge_Exeter.jpg b/sample_images/bridge/Medieval_Exe_Bridge_Exeter.jpg new file mode 100644 index 0000000000000000000000000000000000000000..aea04ee9fff7d2267371414d9863da60a8a0eaa9 --- /dev/null +++ b/sample_images/bridge/Medieval_Exe_Bridge_Exeter.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:09107f4c9179937a399ca468453fdb59ee0be437ba70b06b0f362f6d6363a35a +size 649722 diff --git a/sample_images/bridge/ironbridge3.jpg b/sample_images/bridge/ironbridge3.jpg new file mode 100644 index 0000000000000000000000000000000000000000..67657a92a6293634aa292bd29c8a4d604fae2d12 --- /dev/null +++ b/sample_images/bridge/ironbridge3.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2b61f2d27e4983eed7e3798473efc54a4a0dc639a881ff594dcfb96c90526f30 +size 19629 diff --git a/sample_images/bridge/millers.jpg b/sample_images/bridge/millers.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4fd831c3f06d1d49f39aa975d4c73872098dc0a3 --- /dev/null +++ b/sample_images/bridge/millers.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:48f1c89295af4487b6d6c2620fd358781e74fff66e5318959b6ee760867542d6 +size 14987 diff --git a/sample_images/bus_interior/29477487945_81aabab695_b.jpg b/sample_images/bus_interior/29477487945_81aabab695_b.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a0dd20bcac575939aee34b01aefee5846a3dd13d --- /dev/null +++ b/sample_images/bus_interior/29477487945_81aabab695_b.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:48121e9141f7b74fe4ebe493328cbdf69332d9ff006d4b8b0d4781d80c93ea99 +size 196876 diff --git a/sample_images/bus_interior/37139142640_3807d91aea_b.jpg b/sample_images/bus_interior/37139142640_3807d91aea_b.jpg new file mode 100644 index 0000000000000000000000000000000000000000..49769dd68d913da45b790ebfbbdcb570023e3527 --- /dev/null +++ b/sample_images/bus_interior/37139142640_3807d91aea_b.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:396452d923cf49ab52f51abc14cbc5ea15fe8cb0aa31cbfa35ae6e7a7a83c3ea +size 166198 diff --git a/sample_images/butchers_shop/butcher_shop.jpg b/sample_images/butchers_shop/butcher_shop.jpg new file mode 100644 index 0000000000000000000000000000000000000000..38a5a0b344e2ab425f3a940d41d3c75f3397c945 --- /dev/null +++ b/sample_images/butchers_shop/butcher_shop.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e4aae9ab38fb8cbb1ac6070c7008fd4d27781b6a0f603a3cd43492cb20dea76c +size 279801 diff --git a/sample_images/campsite/camp_site.png b/sample_images/campsite/camp_site.png new file mode 100644 index 0000000000000000000000000000000000000000..4b1b3ced0193a7618120242a6ae0eb106968d270 --- /dev/null +++ b/sample_images/campsite/camp_site.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c0b4c4e0b1e4fabda4b37aca5f0c791d96db7e2a99b3e80ada0fa82af11a2f71 +size 2685107 diff --git a/sample_images/classroom/classroom.png b/sample_images/classroom/classroom.png new file mode 100644 index 0000000000000000000000000000000000000000..e7fc1a401c5bafbf995153f689d09074cda2f8e9 --- /dev/null +++ b/sample_images/classroom/classroom.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:07709b15bf3f7cd7955cf13aa42fe1c2931fc6f419aa7553f0728c3554c99a4b +size 1369202 diff --git a/sample_images/coffee_shop/the-terrace4.jpg b/sample_images/coffee_shop/the-terrace4.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a804887a2a7e8bda56ba5c5f90c50c7ab942a0ee --- /dev/null +++ b/sample_images/coffee_shop/the-terrace4.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4981278ec05d025e49016da9506848501abe6ae5f6f626541d948d0a2edd4f8c +size 425684 diff --git a/sample_images/construction_site/construction_site.jpeg b/sample_images/construction_site/construction_site.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..eccc2f0d9c6b0ef394c4a114745cdc22707205e5 --- /dev/null +++ b/sample_images/construction_site/construction_site.jpeg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5bf4d3b70a2735346abf150559c17ca38a594b7f8e237b449b6adcbf94e5803e +size 3943623 diff --git a/sample_images/courtyard/courtyard.jpg b/sample_images/courtyard/courtyard.jpg new file mode 100644 index 0000000000000000000000000000000000000000..fd2b997aa14139ca55070934131736cb339772c3 --- /dev/null +++ b/sample_images/courtyard/courtyard.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bbdad227928da731d7551ef19b071ef1e79ed38267d726cd6694e4ccd92bab70 +size 149828 diff --git a/sample_images/driveway/driveway.jpeg b/sample_images/driveway/driveway.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..c6fd0f16ad7f38b2566d51dd8a7094b365245bdc --- /dev/null +++ b/sample_images/driveway/driveway.jpeg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3dcab8dca590b08d3cb0fbf101adf4f587c11ce907ca9a401c896c58ce533f0b +size 442646 diff --git a/sample_images/fire_station/firestation.jpeg b/sample_images/fire_station/firestation.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..06177e1e898e2fb65469d0bc772906b9683505ae --- /dev/null +++ b/sample_images/fire_station/firestation.jpeg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8f4407245124249a1782f4d199aab69085a70ec1474e604f1c071b737b83a02c +size 10479 diff --git a/sample_images/fountain/fountain.jpg b/sample_images/fountain/fountain.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2f87e96d4887155c4a3feada3f93d9a1b5f1c87c --- /dev/null +++ b/sample_images/fountain/fountain.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:26e3c8141f9cab36621ef5d3b596c281b83b255880f2815625237358cdc3bda2 +size 139880 diff --git a/sample_images/gas_station/gas_station.png b/sample_images/gas_station/gas_station.png new file mode 100644 index 0000000000000000000000000000000000000000..423357e00f396ff4a21ef8620f29da449af88f04 --- /dev/null +++ b/sample_images/gas_station/gas_station.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:036a872401add9ff1e07594568647c5c3871186d6d8692486d48333b83053ed6 +size 1575453 diff --git a/sample_images/harbour/Harbour.jpg b/sample_images/harbour/Harbour.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b414cad73c4fcba92f45a7011208e0aa66f6f7cd --- /dev/null +++ b/sample_images/harbour/Harbour.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e6f99bcaf3698c6aa8b902a2ca2114c70287ab900274a5a612284b2b66f66eba +size 511252 diff --git a/sample_images/highway/highway.png b/sample_images/highway/highway.png new file mode 100644 index 0000000000000000000000000000000000000000..5db426d78f781515f8a0eb17d20e7ffe2fa60d3a --- /dev/null +++ b/sample_images/highway/highway.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:619c3e69243348e41f2d8a3f919b5918068ef778c89d7fe68b0e9518a2e35538 +size 1468936 diff --git a/sample_images/kindergarten_classroom/kindergarden_classroon.jpg b/sample_images/kindergarten_classroom/kindergarden_classroon.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b7fefdbc26cfea6e3a3d7b71ca0b2ba66be6b35d --- /dev/null +++ b/sample_images/kindergarten_classroom/kindergarden_classroon.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d02230c54485ecefd0bd039271f11a4632aa25a3ae5a28163255c4433d513bf1 +size 38014 diff --git a/sample_images/lobby/lobby.jpg b/sample_images/lobby/lobby.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9df9b8b55bd4d5e7fda6ea59f9284a7cfa59041f --- /dev/null +++ b/sample_images/lobby/lobby.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:85f7fdea6b2929d77f06af9af9aee841f2f77c60160166535f8a8e72dfbeba6b +size 843719 diff --git a/sample_images/market_outdoor/img_7421.jpg b/sample_images/market_outdoor/img_7421.jpg new file mode 100644 index 0000000000000000000000000000000000000000..217712c1cc7625421210e0b6ab30ee69ae3db782 --- /dev/null +++ b/sample_images/market_outdoor/img_7421.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:959c7fddbcbe2670b756e63d3713952dcb9690ccd3b11474aac04988716efc80 +size 131125 diff --git a/sample_images/market_outdoor/www.visitexeter.com.jpeg b/sample_images/market_outdoor/www.visitexeter.com.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..5bcb15bca0583f7e2f3f8350640d0c4f80826b5f --- /dev/null +++ b/sample_images/market_outdoor/www.visitexeter.com.jpeg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3afa600e9eb84af18e4223e8da4fd679933d1975fdb9a3598a428f8df1ca4290 +size 154807 diff --git a/sample_images/museum/7.jpg b/sample_images/museum/7.jpg new file mode 100644 index 0000000000000000000000000000000000000000..bc43f2df9a8e2ff16aa80fce957dbd9daac701bf --- /dev/null +++ b/sample_images/museum/7.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1a7e07e3ce4538070e62dd4221467cb8ac925612f658f80c09cf2c28c0f8b6fc +size 261728 diff --git a/sample_images/museum/albert-queen-1-5.jpg b/sample_images/museum/albert-queen-1-5.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a3c5e4961aedd0a1ab6e5ca557050e462bd28829 --- /dev/null +++ b/sample_images/museum/albert-queen-1-5.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5201cf18bacbca26d076879fd57f2c89fa0d6cbda71ab16d6dadc2638812f459 +size 41116 diff --git a/sample_images/museum/img2295_1.jpg b/sample_images/museum/img2295_1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..33a98f307a11b54215a4e47bfb733bb9f5dcabdb --- /dev/null +++ b/sample_images/museum/img2295_1.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:002b9e1ae029f6a2c400b10d2d7bdd9fd5b7fc8c3dc773e167dbb452fd7bc6f4 +size 49905 diff --git a/sample_images/office/images.jpeg b/sample_images/office/images.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..842f108c8ae65e4f68c890a85f4371cf276be6a6 --- /dev/null +++ b/sample_images/office/images.jpeg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2c4dc44e6705ceca7c443e7abba364ada3f48290cf7c7e6f25e8ec5dcd98798f +size 10168 diff --git a/sample_images/office/images2.jpeg b/sample_images/office/images2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..2e701961ec2a1626aeca358eeac8dd3575d03195 --- /dev/null +++ b/sample_images/office/images2.jpeg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f3e67de0989943077bd4174f29116ac505f0db638423557e531ad34bae16bd15 +size 9234 diff --git a/sample_images/parking_lot/parking_lot.png b/sample_images/parking_lot/parking_lot.png new file mode 100644 index 0000000000000000000000000000000000000000..58093623882eac5536034869267e2ad41505bd62 --- /dev/null +++ b/sample_images/parking_lot/parking_lot.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fb75fa0c8fe2370b0b7ee841bd5417588414d51ebf5eff111b5569ca252a3ef0 +size 557435 diff --git a/sample_images/phone_booth/phone_booth.jpg b/sample_images/phone_booth/phone_booth.jpg new file mode 100644 index 0000000000000000000000000000000000000000..02854c172296721db2e8626c02306ebbbc3c3f4b --- /dev/null +++ b/sample_images/phone_booth/phone_booth.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d866086bbcd37a8763062ef3874f4313282b1ed19f6f4bb4d426d27e66402539 +size 217796 diff --git a/sample_images/playground/3146371_077d0213.jpg b/sample_images/playground/3146371_077d0213.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c8953ec8ebbaa09f38d8285a45bfd7269e8688da --- /dev/null +++ b/sample_images/playground/3146371_077d0213.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:58e093f00bd1f72ec080e30c19f8bc003ec3734a0b76b985ed5e7f0daf8526c7 +size 83601 diff --git a/sample_images/playground/exeter_hall2.jpg b/sample_images/playground/exeter_hall2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c78199c1a6f412f63c48439b6917e1140bf2a99a --- /dev/null +++ b/sample_images/playground/exeter_hall2.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bf5d7180637a606fdf9791ab7c0165247a9d4cc610d48c72ddeaf564876c236b +size 213984 diff --git a/sample_images/playground/planet2.jpg b/sample_images/playground/planet2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..15ef4633e00cce6c2ff3c35d4534fd872d74559d --- /dev/null +++ b/sample_images/playground/planet2.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3c3276d4e7b6ee561b95b3d88c4cb99ac74a12350ab87d38369a53fd12623b9f +size 110439 diff --git a/sample_images/railroad_track/rail_road_track.jpg b/sample_images/railroad_track/rail_road_track.jpg new file mode 100644 index 0000000000000000000000000000000000000000..10520494188c9910a59eca3861ffc4c3d672292c --- /dev/null +++ b/sample_images/railroad_track/rail_road_track.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:128f52db2258b037e3d543a8a43cc32e4100aa2670c1a6b62880f499bb80660b +size 115044 diff --git a/sample_images/restaurant/Boston-Tea-Party.jpg b/sample_images/restaurant/Boston-Tea-Party.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d8716f05e39e34597beeace68ea8d0c940fa834f --- /dev/null +++ b/sample_images/restaurant/Boston-Tea-Party.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fc93ed3c587d88598e2a9afa54d1ee395036693b23e31fe59c2323ee8e8c1e6b +size 2590812 diff --git a/sample_images/river/river.jpg b/sample_images/river/river.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a778448989a05407cf8f5f36b3b4b555f08002c1 --- /dev/null +++ b/sample_images/river/river.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:615f3223e68e22e7a4be1816abac52bef7e853cee91a5640717dfbd91b34f539 +size 104616 diff --git a/sample_images/shed/shed.jpeg b/sample_images/shed/shed.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..9e30de2bff7d705a500ad31e7e13e99044f29143 --- /dev/null +++ b/sample_images/shed/shed.jpeg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:97f5dcff77a2df0e2239077211bd06a7f28398269342ca02d58c78e053a136dd +size 167530 diff --git a/sample_images/staircase/7ab23b4d3ea8529bae66e30ca90f220d.jpg b/sample_images/staircase/7ab23b4d3ea8529bae66e30ca90f220d.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d3051d88268b18dece948d695c5da233ae487168 --- /dev/null +++ b/sample_images/staircase/7ab23b4d3ea8529bae66e30ca90f220d.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fd4761809a27f45ac329cd02250bb645c8799453fe9ba7b1759c296318920f25 +size 486557 diff --git a/sample_images/staircase/IMG_0979.jpg b/sample_images/staircase/IMG_0979.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3f828f60fe744cc0a63e30ca8120f3fa6b3878e4 --- /dev/null +++ b/sample_images/staircase/IMG_0979.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:06e24b026c6089913d8d45594d748f796a92d735914fe3d90680e3f60fc84307 +size 31271 diff --git a/sample_images/supermarket/supermarket.jpg b/sample_images/supermarket/supermarket.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a5f09420ea2b7b10794f66816243edac3e5e6ab8 --- /dev/null +++ b/sample_images/supermarket/supermarket.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:489745c6768c5ceae75eb4c609565022730c775a2d6d6bbaca9ef4901eb1c546 +size 424353 diff --git a/sample_images/swimming_pool_outdoor/dsc03268.jpg b/sample_images/swimming_pool_outdoor/dsc03268.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9c85fc44830ecfd348f5e4be8ae109fd86a2fbd2 --- /dev/null +++ b/sample_images/swimming_pool_outdoor/dsc03268.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a7e17fa92be131e0f5add4e385eafe5222102b8f49714eebae2f141506c5201e +size 109358 diff --git a/sample_images/swimming_pool_outdoor/outdoorswimjan2016.jpg b/sample_images/swimming_pool_outdoor/outdoorswimjan2016.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1f53aea48ede6365122f3babd30d66053d16f647 --- /dev/null +++ b/sample_images/swimming_pool_outdoor/outdoorswimjan2016.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:abd57e658abf7cbf2867953fc89f97dcdd446b6551e747ca2d497c7d4d0fdda7 +size 254318 diff --git a/sample_images/track/track.jpg b/sample_images/track/track.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d81a48a5c3ffe7d515d34fa1a5b8d630259a1440 --- /dev/null +++ b/sample_images/track/track.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:39c0d4a29c8c177315cb4c31af537db45f4f46bbbefc8bc2b47155c7403d59ac +size 9975469 diff --git a/sample_images/valley/www.visitexeter.com.jpeg b/sample_images/valley/www.visitexeter.com.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..10f363967325b05d734d3a81801f63d1cee3813a --- /dev/null +++ b/sample_images/valley/www.visitexeter.com.jpeg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4e84578dc44bc646995eb57eee74255858a0bc33ffdc44f2ba1eb37cad660582 +size 111619 diff --git a/sample_images/valley/www.visitexeter.com2.jpeg b/sample_images/valley/www.visitexeter.com2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..7dd6509ecb7cafe5c45833fbed3258419380a925 --- /dev/null +++ b/sample_images/valley/www.visitexeter.com2.jpeg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:24a2d465eee88b383a3aa0832638ef816932ca162551e500aeea5bcfa1e32fe0 +size 78265 diff --git a/sample_images/yard/yard.jpeg b/sample_images/yard/yard.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..f99a16fa25712a0ad01854b0d82edd0e41c76a7d --- /dev/null +++ b/sample_images/yard/yard.jpeg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:016195b40be1dba764aba40eec589c8b97202cdffd9be6e893baeb6375db7ea5 +size 1065873