gainforest hlydecker commited on
Commit
589a61e
·
0 Parent(s):

Duplicate from hlydecker/MegaDetector_v5

Browse files

Co-authored-by: Henry Lydecker <[email protected]>

.gitattributes ADDED
@@ -0,0 +1,28 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ *.7z filter=lfs diff=lfs merge=lfs -text
2
+ *.arrow filter=lfs diff=lfs merge=lfs -text
3
+ *.bin filter=lfs diff=lfs merge=lfs -text
4
+ *.bz2 filter=lfs diff=lfs merge=lfs -text
5
+ *.ftz filter=lfs diff=lfs merge=lfs -text
6
+ *.gz filter=lfs diff=lfs merge=lfs -text
7
+ *.h5 filter=lfs diff=lfs merge=lfs -text
8
+ *.joblib filter=lfs diff=lfs merge=lfs -text
9
+ *.lfs.* filter=lfs diff=lfs merge=lfs -text
10
+ *.model filter=lfs diff=lfs merge=lfs -text
11
+ *.msgpack filter=lfs diff=lfs merge=lfs -text
12
+ *.onnx filter=lfs diff=lfs merge=lfs -text
13
+ *.ot filter=lfs diff=lfs merge=lfs -text
14
+ *.parquet filter=lfs diff=lfs merge=lfs -text
15
+ *.pb filter=lfs diff=lfs merge=lfs -text
16
+ *.pt filter=lfs diff=lfs merge=lfs -text
17
+ *.pth filter=lfs diff=lfs merge=lfs -text
18
+ *.rar filter=lfs diff=lfs merge=lfs -text
19
+ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
20
+ *.tar.* filter=lfs diff=lfs merge=lfs -text
21
+ *.tflite filter=lfs diff=lfs merge=lfs -text
22
+ *.tgz filter=lfs diff=lfs merge=lfs -text
23
+ *.wasm filter=lfs diff=lfs merge=lfs -text
24
+ *.xz filter=lfs diff=lfs merge=lfs -text
25
+ *.zip filter=lfs diff=lfs merge=lfs -text
26
+ *.zstandard filter=lfs diff=lfs merge=lfs -text
27
+ *tfevents* filter=lfs diff=lfs merge=lfs -text
28
+ data/truck.png filter=lfs diff=lfs merge=lfs -text
README.md ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ title: MegaDetector V5
3
+ emoji: 📊
4
+ colorFrom: purple
5
+ colorTo: green
6
+ sdk: gradio
7
+ sdk_version: 3.0.19
8
+ app_file: app.py
9
+ pinned: false
10
+ license: mit
11
+ duplicated_from: hlydecker/MegaDetector_v5
12
+ ---
13
+
14
+ Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
app.py ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # MegaDetector v5 Demo
2
+ import gradio as gr
3
+ import torch
4
+ import torchvision
5
+ import numpy as np
6
+ from PIL import Image
7
+
8
+ # Load MegaDetector v5a model
9
+ # TODO: Allow user selectable model?
10
+ # models = ["model_weights/md_v5a.0.0.pt","model_weights/md_v5b.0.0.pt"]
11
+ model = torch.hub.load('ultralytics/yolov5:v6.2', 'custom', "model_weights/md_v5a.0.0.pt")
12
+
13
+ def yolo(im, size=640):
14
+ g = (size / max(im.size)) # gain
15
+ im = im.resize((int(x * g) for x in im.size), Image.ANTIALIAS) # resize
16
+
17
+ model = torch.hub.load('ultralytics/yolov5:v6.2', 'custom', "model_weights/md_v5a.0.0.pt")
18
+
19
+ results = model(im) # inference
20
+ results.render() # updates results.imgs with boxes and labels
21
+ return Image.fromarray(results.imgs[0])
22
+
23
+ #image = gr.inputs.Image(type="pil", label="Input Image")
24
+ #chosen_model = gr.inputs.Dropdown(choices = models, value = "model_weights/md_v5a.0.0.pt",type = "value", label="Model Weight")
25
+ #size = 640
26
+
27
+ #inputs = [image, chosen_model, size]
28
+ inputs = gr.inputs.Image(type="pil", label="Input Image")
29
+ outputs = gr.outputs.Image(type="pil", label="Output Image")
30
+
31
+ title = "MegaDetector v5"
32
+ description = "Detect and identify animals, people and vehicles in camera trap images using MegaDetector v5a"
33
+ article = "<p style='text-align: center'>This app makes predictions using a YOLOv5x6 model that was trained to detect animals, humans, and vehicles in camera trap images; find out more about the project on <a href='https://github.com/microsoft/CameraTraps'>GitHub</a>. This app was built by Henry Lydecker but really depends on code and models developed by <a href='http://ecologize.org/'>Ecologize</a> and <a href='http://aka.ms/aiforearth'>Microsoft AI for Earth</a>. Find out more about the YOLO model from the original creator, <a href='https://pjreddie.com/darknet/yolo/'>Joseph Redmon</a>. YOLOv5 is a family of compound-scaled object detection models trained on the COCO dataset and developed by Ultralytics, and includes simple functionality for Test Time Augmentation (TTA), model ensembling, hyperparameter evolution, and export to ONNX, CoreML and TFLite. <a href='https://github.com/ultralytics/yolov5'>Source code</a> | <a href='https://pytorch.org/hub/ultralytics_yolov5'>PyTorch Hub</a></p>"
34
+
35
+ examples = [['data/Macropod.jpg'], ['data/koala2.jpg'],['data/cat.jpg'],['data/BrushtailPossum.jpg']]
36
+ gr.Interface(yolo, inputs, outputs, title=title, description=description, article=article, examples=examples, theme="huggingface").launch(enable_queue=True)
data/BrushtailPossum.jpg ADDED
data/Macropod.jpg ADDED
data/README.md ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ # Data
2
+
3
+ Example images go here.
data/cat.jpg ADDED
data/koala2.jpg ADDED
data/truck.png ADDED

Git LFS Details

  • SHA256: 9b10fc4d59a587b4f3d8ffc12e499be7af989ffe576736dda572d42b8bebac1b
  • Pointer size: 132 Bytes
  • Size of remote file: 2.89 MB
model_weights/README.md ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ # Model Weights folder
2
+
3
+ Model weights should go here, if they aren't available on some sort of hub somewhere.
model_weights/md_v5a.0.0.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:94e88fe97c8050f2e3d0cc4cb4f64729d639d74312dcbe2f74f8eecd3b01b276
3
+ size 280766885
model_weights/md_v5b.0.0.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c7026a704c3e0566a199e38a09363200f0f39fb8f804190fd15c8a60ab3beabd
3
+ size 280766885
requirements.txt ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # pip install -r requirements.txt
2
+
3
+ # Requirements for are you wearing a mask
4
+ # A YOLOv5 powered face mask decector Gradio application
5
+
6
+ gradio
7
+ torch
8
+ torchvision
9
+ numpy
10
+ opencv-python
11
+ seaborn