def generate_vdn(fast=False): kill() import django sys.path.append(os.path.dirname(__file__)) os.environ.setdefault("DJANGO_SETTINGS_MODULE", "dva.settings") django.setup() from django.core.files.uploadedfile import SimpleUploadedFile from dvaapp.views import handle_uploaded_file, handle_youtube_video from dvaapp import models from dvaapp.models import TEvent from dvaapp.tasks import extract_frames, perform_face_detection_indexing_by_id, inception_index_by_id, \ perform_ssd_detection_by_id, perform_yolo_detection_by_id, inception_index_regions_by_id, \ export_video_by_id dirname = get_coco_dirname() local( 'wget https://www.dropbox.com/s/2dq085iu34y0hdv/coco_input.zip?dl=1 -O coco.zip' ) local('unzip coco.zip') with lcd(dirname): local("zip coco_input.zip -r *.jpg") fname = '{}/coco_input.zip'.format(dirname) with open('{}/coco_sample_metadata.json'.format(dirname)) as datafile: data = json.load(datafile) f = SimpleUploadedFile("coco_input.zip", file(fname).read(), content_type="application/zip") v = handle_uploaded_file(f, 'mscoco_sample_500') extract_frames(TEvent.objects.create(video=v).pk) video = v models.Region.objects.all().filter(video=video).delete() for frame in models.Frame.objects.all().filter(video=video): frame_id = str(int(frame.name.split('_')[-1].split('.')[0])) annotation = models.Region() annotation.region_type = models.Region.ANNOTATION annotation.video = v annotation.frame = frame annotation.full_frame = True annotation.metadata_json = json.dumps(data[frame_id]['image']) annotation.object_name = 'metadata' annotation.save() for frame in models.Frame.objects.all().filter(video=video): frame_id = str(int(frame.name.split('_')[-1].split('.')[0])) for a in data[frame_id][u'annotations']: annotation = models.Region() annotation.region_type = models.Region.ANNOTATION annotation.video = v annotation.frame = frame annotation.metadata_json = json.dumps(a) annotation.full_frame = False annotation.x = a['bbox'][0] annotation.y = a['bbox'][1] annotation.w = a['bbox'][2] annotation.h = a['bbox'][3] annotation.object_name = 'coco_instance/{}/{}'.format( a[u'category'][u'supercategory'], a[u'category'][u'name']) annotation.save() for a in data[frame_id][u'keypoints']: annotation = models.Region() annotation.region_type = models.Region.ANNOTATION annotation.video = v annotation.frame = frame annotation.metadata_json = json.dumps(a) annotation.x = a['bbox'][0] annotation.y = a['bbox'][1] annotation.w = a['bbox'][2] annotation.h = a['bbox'][3] annotation.object_name = 'coco_keypoints/{}/{}'.format( a[u'category'][u'supercategory'], a[u'category'][u'name']) annotation.save() for caption in data[frame_id][u'captions']: annotation = models.Region() annotation.region_type = models.Region.ANNOTATION annotation.video = v annotation.frame = frame annotation.metadata_text = caption['caption'] annotation.full_frame = True annotation.object_name = 'caption' annotation.save() if not fast: inception_index_by_id(TEvent.objects.create(video=v).pk) perform_ssd_detection_by_id(TEvent.objects.create(video=v).pk) perform_face_detection_indexing_by_id( TEvent.objects.create(video=v).pk) inception_index_regions_by_id(TEvent.objects.create(video=v).pk) export_video_by_id(TEvent.objects.create(video=v).pk)
def generate_vdn(fast=False): kill() setup_django() from django.core.files.uploadedfile import SimpleUploadedFile from dvaapp.views import handle_uploaded_file, handle_youtube_video from dvaapp import models from dvaapp.models import TEvent from dvaapp.tasks import extract_frames, perform_face_detection_indexing_by_id, inception_index_by_id, \ perform_ssd_detection_by_id, perform_yolo_detection_by_id, inception_index_regions_by_id, \ export_video_by_id dirname = get_coco_dirname() local('wget https://www.dropbox.com/s/2dq085iu34y0hdv/coco_input.zip?dl=1 -O coco.zip') local('unzip coco.zip') with lcd(dirname): local("zip coco_input.zip -r *.jpg") fname = '{}/coco_input.zip'.format(dirname) with open('{}/coco_sample_metadata.json'.format(dirname)) as datafile: data = json.load(datafile) f = SimpleUploadedFile("coco_input.zip", file(fname).read(), content_type="application/zip") v = handle_uploaded_file(f, 'mscoco_sample_500') extract_frames(TEvent.objects.create(video=v).pk) video = v models.Region.objects.all().filter(video=video).delete() for frame in models.Frame.objects.all().filter(video=video): frame_id = str(int(frame.name.split('_')[-1].split('.')[0])) annotation = models.Region() annotation.region_type = models.Region.ANNOTATION annotation.video = v annotation.frame = frame annotation.full_frame = True annotation.metadata_json = json.dumps(data[frame_id]['image']) annotation.object_name = 'metadata' annotation.save() for frame in models.Frame.objects.all().filter(video=video): frame_id = str(int(frame.name.split('_')[-1].split('.')[0])) for a in data[frame_id][u'annotations']: annotation = models.Region() annotation.region_type = models.Region.ANNOTATION annotation.video = v annotation.frame = frame annotation.metadata_json = json.dumps(a) annotation.full_frame = False annotation.x = a['bbox'][0] annotation.y = a['bbox'][1] annotation.w = a['bbox'][2] annotation.h = a['bbox'][3] annotation.object_name = 'coco_instance/{}/{}'.format(a[u'category'][u'supercategory'], a[u'category'][u'name']) annotation.save() for a in data[frame_id][u'keypoints']: annotation = models.Region() annotation.region_type = models.Region.ANNOTATION annotation.video = v annotation.frame = frame annotation.metadata_json = json.dumps(a) annotation.x = a['bbox'][0] annotation.y = a['bbox'][1] annotation.w = a['bbox'][2] annotation.h = a['bbox'][3] annotation.object_name = 'coco_keypoints/{}/{}'.format(a[u'category'][u'supercategory'], a[u'category'][u'name']) annotation.save() for caption in data[frame_id][u'captions']: annotation = models.Region() annotation.region_type = models.Region.ANNOTATION annotation.video = v annotation.frame = frame annotation.metadata_text = caption['caption'] annotation.full_frame = True annotation.object_name = 'caption' annotation.save() if not fast: inception_index_by_id(TEvent.objects.create(video=v).pk) perform_ssd_detection_by_id(TEvent.objects.create(video=v).pk) perform_face_detection_indexing_by_id(TEvent.objects.create(video=v).pk) inception_index_regions_by_id(TEvent.objects.create(video=v).pk) export_video_by_id(TEvent.objects.create(video=v).pk)