You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+9-10Lines changed: 9 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,10 +1,9 @@
1
-
#Video Analytics Pipeline-Serving Multiple Models Together
1
+
#Video Analytics Pipeline-Serving Multiple Models Together
2
2
3
-
Hey, thanks for giving me this opportunity to test at Xihlem Robotics. Here I have presented a sample of my recent Python project.
4
3
5
-
####AIM: The motivation to develop this system was to do video analytics inference of multiple Machine models in parallel on video streams coming via the cloud.
4
+
####AIM: The motivation to develop this system was to do video analytics inference of multiple Machine models in parallel on video streams coming via the cloud.
6
5
7
-
####Objective:
6
+
####Objective:
8
7
1. Streaming video from any camera/robot to the cloud using a producer-consumer architecture with the help of AWS KVS-based HTTP streaming.
9
8
2. This stream from the cloud would be consumed by multiple Machine Learning Models in parallel using Threading architecture and would pump their output data into a json.
10
9
3. Here you could also switch specific models to run. To do this in the main.py file just comment out line no.115
@@ -14,9 +13,9 @@ Hey, thanks for giving me this opportunity to test at Xihlem Robotics. Here I ha
14
13
2.This video is consumed by the main.py file and it applies multiple ML Models together.
15
14
3.The output of each module is written in the output_data.json file.
16
15
17
-
######Note - I have used AWS Models API and YOLO Object detector for test purposes, originally I used custom-trained models served via flask.
16
+
######Note - I have used AWS Models API and YOLO Object detector for test purposes, originally I used custom-trained models served via flask.
18
17
19
-
##Features:
18
+
##Features:
20
19
-**_General Object Det ection:_** General objects that include a variety of classes. Also, can filter for classes as required.
21
20
22
21
@@ -34,14 +33,14 @@ Hey, thanks for giving me this opportunity to test at Xihlem Robotics. Here I ha
34
33
35
34
-_**YOLO**_: YOLO object detection model, served using Flask.
36
35
37
-
###Files and their usage:
36
+
###Files and their usage:
38
37
1. main.py - This is the main engine where it gets the video frames, applies ML Models, and pumps data. All there three process works in parallel. All ML Models also work in parallel on frames.
39
38
2. model_detections.py - Here ML Models API has been initialized. This would probably call the models via POST request and pass each frame for inference.
40
39
3. app.py - Here YOLO Model is been hosted using Flask.
41
40
4. static_object_detection.py - An algorithm that uses the bounding box to detect static objects in frames.
42
41
43
42
44
-
###**HOW TO RUN:**
43
+
###**HOW TO RUN:**
45
44
For these tests, I have enabled docker since there are a lot of dependencies. I have built the docker script assuming that you are using Ubuntu, since on Mac, docker doesn't support camera access. It would take some time to build the docker!
46
45
47
46
1. Build container:
@@ -58,7 +57,7 @@ Don't wait step 2 to get completed in another termial run step 3.
0 commit comments