Spaces:
Sleeping
Sleeping
File size: 2,873 Bytes
ea229ac c2985c9 b8b88b4 19c8ff0 32676b7 407b708 c2985c9 30cd121 91e037a 30cd121 ea229ac 445cf99 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
import gradio as gr
import numpy as np
import os
import six
import six.moves.urllib as urllib
import sys
import tarfile
import tensorflow as tf
import zipfile
import pathlib
import json
import matplotlib.pyplot as plt
from datetime import datetime
from collections import defaultdict
from io import StringIO
from matplotlib import pyplot as plt
from PIL import Image
from IPython.display import display
import os
import pathlib
if "models" in pathlib.Path.cwd().parts:
while "models" in pathlib.Path.cwd().parts:
os.chdir('..')
elif not pathlib.Path('models').exists():
os.system('git clone --depth 1 https://github.com/tensorflow/models')
os.chdir('models/research/')
os.system('protoc object_detection/protos/*.proto --python_out=.')
os.system('cp object_detection/packages/tf2/setup.py .')
os.system('python -m pip install .')
from object_detection.utils import ops as utils_ops
from object_detection.utils import label_map_util
from object_detection.utils import visualization_utils as vis_utils
# patch tf1 into `utils.ops`
utils_ops.tf = tf.compat.v1
# Patch the location of gfile
tf.gfile = tf.io.gfile
os.system('python object_detection/builders/model_builder_tf2_test.py')
def load_model(model_dir):
model = tf.saved_model.load(str(model_dir))
model = model.signatures['serving_default']
return model
os.system('mkdir "Tortoise"')
os.chdir('Tortoise/')
os.system('curl -L "https://app.roboflow.com/ds/jCjxJgk04M?key=3JE38XqESy" > roboflow.zip; unzip roboflow.zip; rm roboflow.zip')
os.chdir('..')
os.system('mkdir "COCO"')
os.chdir('COCO/')
os.system('curl -L "https://app.roboflow.com/ds/Yb2OGQm2xb?key=pbWEWpS5ec" > roboflow.zip; unzip roboflow.zip; rm roboflow.zip')
os.chdir('..')
PATH_TO_TEST_IMAGES_DIR = pathlib.Path("COCO" + '/test/')
TEST_IMAGE_PATHS = sorted(list(PATH_TO_TEST_IMAGES_DIR.glob("*.jpg")))
dataset = 'Tortoise'
test_record_fname = dataset + '/test/tortoise.tfrecord'
train_record_fname = dataset + '/train/tortoise.tfrecord'
label_map_pbtxt_fname = dataset + '/train/tortoise_label_map.pbtxt'
PATH_TO_LABELS = dataset + '/train/tortoise_label_map.pbtxt'
category_index = label_map_util.create_category_index_from_labelmap(PATH_TO_LABELS, use_display_name=False)
test_data_json = 'COCO/test/_annotations.coco.json'
with open(test_data_json, 'r') as f:
test_metadata = json.load(f)
for im in test_metadata['images']:
im['date_captured'] = str(datetime.strptime(im['file_name'][6:21],"%Y%m%d-%H%M%S"))
image_id_to_datetime = {im['id']:im['date_captured'] for im in test_metadata['images']}
image_path_to_id = {im['file_name']: im['id']
for im in test_metadata['images']}
faster_rcnn_model = load_model('../../Faster RCNN/saved_model')
def segment(image):
pass # Implement your image segmentation model here...
gr.Interface(fn=segment, inputs="image", outputs="image").launch() |