Browse Source

missing param and updated readme

blakeblackshear 6 years ago
parent
commit
a074945394
2 changed files with 13 additions and 6 deletions
  1. 10 3
      README.md
  2. 3 3
      detect_objects.py

+ 10 - 3
README.md

@@ -108,19 +108,26 @@ sensor:
 - Use SSDLite models to reduce CPU usage
 
 ## Future improvements
-- [ ] Build tensorflow from source for CPU optimizations
+- [x] Remove motion detection for now
+- [ ] Try running object detection in a thread rather than a process
+- [x] Implement min person size again
+- [ ] Switch to a config file
+- [ ] Handle multiple cameras in the same container
+- [ ] Simplify motion detection (check entire image against mask)
+- [ ] See if motion detection is even worth running
+- [ ] Scan for people across entire image rather than specfic regions
+- [ ] Dynamically resize detection area and follow people
 - [ ] Add ability to turn detection on and off via MQTT
 - [ ] MQTT motion occasionally gets stuck ON
 - [ ] Output movie clips of people for notifications, etc.
 - [ ] Integrate with homeassistant push camera
 - [ ] Merge bounding boxes that span multiple regions
-- [ ] Switch to a config file
 - [ ] Allow motion regions to be different than object detection regions
 - [ ] Implement mode to save labeled objects for training
 - [ ] Try and reduce CPU usage by simplifying the tensorflow model to just include the objects we care about
 - [ ] Look into GPU accelerated decoding of RTSP stream
 - [ ] Send video over a socket and use JSMPEG
-- [ ] Look into neural compute stick
+- [x] Look into neural compute stick
 
 ## Building Tensorflow from source for CPU optimizations
 https://www.tensorflow.org/install/source#docker_linux_builds

+ 3 - 3
detect_objects.py

@@ -29,9 +29,9 @@ MQTT_USER = os.getenv('MQTT_USER')
 MQTT_PASS = os.getenv('MQTT_PASS')
 MQTT_TOPIC_PREFIX = os.getenv('MQTT_TOPIC_PREFIX')
 
-REGIONS = "300,0,0,2000,200,no-mask-300.bmp:300,300,0,2000,200,no-mask-300.bmp:300,600,0,2000,200,no-mask-300.bmp:300,900,0,2000,200,no-mask-300.bmp"
+# REGIONS = "300,0,0,2000,200,no-mask-300.bmp:300,300,0,2000,200,no-mask-300.bmp:300,600,0,2000,200,no-mask-300.bmp:300,900,0,2000,200,no-mask-300.bmp:300,0,300,2000,200,no-mask-300.bmp:300,300,300,2000,200,no-mask-300.bmp:300,600,300,2000,200,no-mask-300.bmp:300,900,300,2000,200,no-mask-300.bmp"
 # REGIONS = "400,350,250,50"
-# REGIONS = os.getenv('REGIONS')
+REGIONS = os.getenv('REGIONS')
 
 DEBUG = (os.getenv('DEBUG') == '1')
 
@@ -145,7 +145,7 @@ def main():
     best_person_frame.start()
 
     # start a thread to parse objects from the queue
-    object_parser = ObjectParser(object_queue, objects_parsed, DETECTED_OBJECTS)
+    object_parser = ObjectParser(object_queue, objects_parsed, DETECTED_OBJECTS, regions)
     object_parser.start()
     # start a thread to expire objects from the detected objects list
     object_cleaner = ObjectCleaner(objects_parsed, DETECTED_OBJECTS)