Spaces:
Running
Running
Alex
commited on
Commit
·
4e5e0e7
1
Parent(s):
077a679
update endpoint for labels
Browse files- README.md +15 -5
- app.py +2 -2
- response.json +1 -0
README.md
CHANGED
@@ -23,22 +23,32 @@ curl -X POST "https://alexgenovese-segmentation.hf.space/segment" \
|
|
23 |
curl -X POST "https://alexgenovese-segmentation.hf.space/segment" \
|
24 |
-H "accept: application/json" \
|
25 |
-H "Content-Type: multipart/form-data" \
|
26 |
-
-F "file=@woman_with_bag.jpeg"
|
|
|
27 |
|
28 |
|
29 |
# Sending image in base 64 to api
|
30 |
1. base64 woman_with_bag.jpeg > image.b64
|
31 |
|
32 |
-
2. curl -X POST "
|
33 |
-H "Content-Type: application/json" \
|
34 |
-d "{\"image_base64\": \"$(cat image.b64)\"}"
|
35 |
|
36 |
-
|
37 |
|
38 |
-
curl -X POST "
|
39 |
-H "Content-Type: application/json" \
|
40 |
-d "{\"image_base64\": \"$(base64 woman_with_bag.jpeg)\"}"
|
41 |
|
42 |
|
43 |
# Output
|
44 |
-
{"mask":"data:image/png;base64...","annotations":{"mask":[[]]"label":"fashion"}}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
23 |
curl -X POST "https://alexgenovese-segmentation.hf.space/segment" \
|
24 |
-H "accept: application/json" \
|
25 |
-H "Content-Type: multipart/form-data" \
|
26 |
+
-F "file=@woman_with_bag.jpeg" \
|
27 |
+
-o response.json
|
28 |
|
29 |
|
30 |
# Sending image in base 64 to api
|
31 |
1. base64 woman_with_bag.jpeg > image.b64
|
32 |
|
33 |
+
2. curl -X POST "https://alexgenovese-segmentation.hf.space/segment" \
|
34 |
-H "Content-Type: application/json" \
|
35 |
-d "{\"image_base64\": \"$(cat image.b64)\"}"
|
36 |
|
37 |
+
or
|
38 |
|
39 |
+
curl -X POST "https://alexgenovese-segmentation.hf.space/segment" \
|
40 |
-H "Content-Type: application/json" \
|
41 |
-d "{\"image_base64\": \"$(base64 woman_with_bag.jpeg)\"}"
|
42 |
|
43 |
|
44 |
# Output
|
45 |
+
{"mask":"data:image/png;base64...","annotations":{"mask":[[]]"label":"fashion"}}
|
46 |
+
|
47 |
+
# Segmetn-url endpoint
|
48 |
+
|
49 |
+
curl -X POST "https://alexgenovese-segmentation.hf.space/segment-url" \
|
50 |
+
-H "Content-Type: application/json" \
|
51 |
+
-d '{
|
52 |
+
"url": "https://plus.unsplash.com/premium_photo-1673210886161-bfcc40f54d1f?ixlib=rb-4.0.3&ixid=MnwxMjA3fDB8MHxzZWFyY2h8MXx8cGVyc29uJTIwc3RhbmRpbmd8ZW58MHx8MHx8&w=1000&q=80"
|
53 |
+
}' \
|
54 |
+
-o response.json
|
app.py
CHANGED
@@ -58,7 +58,7 @@ def segment_image(image: Image.Image):
|
|
58 |
mask_base64 = base64.b64encode(buffered.getvalue()).decode("utf-8")
|
59 |
|
60 |
# Annotazioni
|
61 |
-
annotations = {"mask": mask.tolist(), "label":
|
62 |
|
63 |
return mask_base64, annotations
|
64 |
|
@@ -123,7 +123,7 @@ async def segment_url_endpoint(image_data: ImageURL):
|
|
123 |
return {
|
124 |
"mask": f"data:image/png;base64,{mask_base64}",
|
125 |
"size": image.size,
|
126 |
-
"labels" :
|
127 |
}
|
128 |
|
129 |
except Exception as e:
|
|
|
58 |
mask_base64 = base64.b64encode(buffered.getvalue()).decode("utf-8")
|
59 |
|
60 |
# Annotazioni
|
61 |
+
annotations = {"mask": mask.tolist(), "label": logits }
|
62 |
|
63 |
return mask_base64, annotations
|
64 |
|
|
|
123 |
return {
|
124 |
"mask": f"data:image/png;base64,{mask_base64}",
|
125 |
"size": image.size,
|
126 |
+
"labels" : upsampled_logits
|
127 |
}
|
128 |
|
129 |
except Exception as e:
|
response.json
ADDED
@@ -0,0 +1 @@
|
|
|
|
|
1 |
+
{"mask":"data:image/png;base64,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","size":[1000,1500],"labels":{}}
|