  
  import cv2
  import numpy as np
  
  import lib.training_data
  from time import time
  
  
  # Global variables
  _image_extensions = ['.bmp', '.jpeg', '.jpg', '.png', '.tif', '.tiff']
  _video_extensions = ['.avi', '.flv', '.mkv', '.mov', '.mp4', '.mpeg', '.webm']
  
 
</s> remove from lib.detect_blur import is_blurry
 </s> add  </s> remove from lib.face_alignment import Extract
 </s> add from lib.multithreading import SpawnProcess, queue_manager
from plugins.plugin_loader import PluginLoader
import dlib
from lib.faces_detect import DetectedFace
from lib.training_data import TrainingDataGenerator
  
  import cv2
  import numpy as np
  
import dlib
from lib.faces_detect import DetectedFace
from lib.training_data import TrainingDataGenerator
import dlib
from lib.faces_detect import DetectedFace
from lib.training_data import TrainingDataGenerator
import dlib
from lib.faces_detect import DetectedFace
from lib.training_data import TrainingDataGenerator
  
  # Global variables
  _image_extensions = ['.bmp', '.jpeg', '.jpg', '.png', '.tif', '.tiff']
  _video_extensions = ['.avi', '.flv', '.mkv', '.mov', '.mp4', '.mpeg', '.webm']
  
keep keep keep keep replace replace replace keep keep keep keep keep
 Extraction - Speed improvements (#522) (#523)

* Extraction - Speed improvements (#522)

* Initial Plugin restructure

* Detectors to plugins. Detector speed improvements

* Re-implement dlib aligner, remove models, FAN to TF. Parallel processing

* Update manual, update convert, implement parallel/serial switching

* linting + fix cuda check (setup.py). requirements update keras 2.2.4

* Add extract size option. Fix dlib hog init

* GUI: Increase tooltip width

* Update alignment tool to support new DetectedFace

* Add skip existing faces option

* Fix sort tool to new plugin structure

* remove old align plugin

* fix convert -skip faces bug

* Fix convert skipping no faces frames

* Convert - draw onto transparent layer

* Fix blur threshold bug

* fix skip_faces convert bug

* Fix training 
lib/utils.py