diff --git a/person_detection/base_camera.py b/person_detection/base_camera.py
index 0998e1a..28ee57d 100644
--- a/person_detection/base_camera.py
+++ b/person_detection/base_camera.py
@@ -1,23 +1,22 @@
-import threading
-from queue import Queue
+from multiprocessing import Process, Queue
 
 
 class BaseCamera(object):
-    thread = {} # background thread that reads frames from camera
+    process = {} # background process that reads frames from camera
     frame = {} # frame queue
 
     def __init__(self, device=None, idle=False):
-        """Start the background camera thread if it isn't running yet."""
+        """Start the background camera process if it isn't running yet."""
         self.device = device
-        if self.device not in BaseCamera.thread:
-            BaseCamera.thread[self.device] = None
-        if BaseCamera.thread[self.device] is None:
+        if self.device not in BaseCamera.process:
+            BaseCamera.process[self.device] = None
+        if BaseCamera.process[self.device] is None:
 
             self.frame[device] = Queue(100)
 
-            # start background frame thread
-            BaseCamera.thread[self.device] = threading.Thread(target=self._thread, args=(self.device))
-            BaseCamera.thread[self.device].start()
+            # start background frame process
+            BaseCamera.process[self.device] = Process(target=self._process, args=(self.device))
+            BaseCamera.process[self.device].start()
 
             # wait until frames are available
             _ = self.get_frame()
@@ -32,10 +31,10 @@
         """"Generator that returns frames from the camera."""
         raise NotImplementedError('Must be implemented by subclasses.')
 
-    def _thread(self, device):
-        """Camera background thread."""
+    def _process(self, device):
+        """Camera background process."""
         frames_iterator = self.frames()
         for frame in frames_iterator:
             BaseCamera.frame[device].put(frame, block=True)
 
-        BaseCamera.thread[device] = None
+        BaseCamera.process[device] = None
