text: 
  # coding: utf-8
  
  # In[38]:
  
  import argparse
  import colorsys
  import imghdr
  import os
  import random
  
  import numpy as np
  #from keras import backend as K
  #from keras.models import load_model
  from PIL import Image, ImageDraw, ImageFont
  
  from yad2k.models.keras_yolo import yolo_eval, yolo_head
  from init_model import *
  
  
  # In[35]:
  
  def pipeline(im):
  
      image=im
      # Check if model is fully convolutional, assuming channel last order.
      model_image_size = yolo_model.layers[0].input_shape[1:3]
      is_fixed_size = model_image_size != (None, None)
  
      # Generate colors for drawing bounding boxes.
      hsv_tuples = [(x / len(class_names), 1., 1.)
                    for x in range(len(class_names))]
      colors = list(map(lambda x: colorsys.hsv_to_rgb(*x), hsv_tuples))
      colors = list(
          map(lambda x: (int(x[0] * 255), int(x[1] * 255), int(x[2] * 255)),
              colors))
      random.seed(10101)  # Fixed seed for consistent colors across runs.
      random.shuffle(colors)  # Shuffle colors to decorrelate adjacent classes.
      random.seed(None)  # Reset seed to default.
  
      # Generate output tensor targets for filtered bounding boxes.
      # TODO: Wrap these backend operations with Keras layers.
      yolo_outputs = yolo_head(yolo_model.output, anchors, len(class_names))
      input_image_shape = K.placeholder(shape=(2, ))
      boxes, scores, classes = yolo_eval(
          yolo_outputs,
          input_image_shape,
          score_threshold=.3,
          iou_threshold=.5)
  
      if is_fixed_size:  # TODO: When resizing we can use minibatch input.
          resized_image = image.resize(tuple(reversed(model_image_size)), Image.BICUBIC)
          image_data = np.array(resized_image, dtype='float32')
      else:
          # Due to skip connection + max pooling in YOLO_v2, inputs must have
          # width and height as multiples of 32.
          new_image_size = (image.width - (image.width % 32),
                              image.height - (image.height % 32))
          resized_image = image.resize(new_image_size, Image.BICUBIC)
          image_data = np.array(resized_image, dtype='float32')
  
      image_data /= 255.
      image_data = np.expand_dims(image_data, 0)  # Add batch dimension.
  
      out_boxes, out_scores, out_classes = sess.run(
          [boxes, scores, classes],
          feed_dict={
              yolo_model.input: image_data,
              input_image_shape: [image.size[1], image.size[0]],
              K.learning_phase(): 0
          })
      print('Found {} boxes '.format(len(out_boxes)))
  
      font = ImageFont.truetype(
          font='font/FiraMono-Medium.otf',
          size=np.floor(3e-2 * image.size[1] + 0.5).astype('int32'))
      thickness = (image.size[0] + image.size[1]) // 300
  
      for i, c in reversed(list(enumerate(out_classes))):
          predicted_class = class_names[c]
          box = out_boxes[i]
          score = out_scores[i]
  
          label = '{} {:.2f}'.format(predicted_class, score)
          draw = ImageDraw.Draw(image)
          label_size = draw.textsize(label, font)
  
          top, left, bottom, right = box
          top = max(0, np.floor(top + 0.5).astype('int32'))
          left = max(0, np.floor(left + 0.5).astype('int32'))
          bottom = min(image.size[1], np.floor(bottom + 0.5).astype('int32'))
          right = min(image.size[0], np.floor(right + 0.5).astype('int32'))
          print(label, (left, top), (right, bottom))
          
  
          if top - label_size[1] >= 0:
              text_origin = np.array([left, top - label_size[1]])
          else:
              text_origin = np.array([left, top + 1])
  
  
          for i in range(thickness):
              draw = ImageDraw.Draw(image)
              draw.rectangle(
                  [left + i, top + i, right - i, bottom - i],
                  outline=colors[c])
              draw.rectangle(
                  [tuple(text_origin), tuple(text_origin + label_size)],
                  fill=colors[c])
              draw.text(text_origin, label, fill=(0, 0, 0), font=font)
              del draw
  
      return image
      
  
  