A simple gRPC Python client for communicating with gRPC server for various object detection service. Supports both image and video input, as well as saving detection results in an output video file.
Use Python version 3.10
Make sure to have anaconda or miniconda installed
conda create -n grpcenv python=3.10
conda activate grpcenv
cd grpc-ml-server
pip install -r requirements.txt
cd grpc-ml-server
pip3 install virtualenv
(if virtualenv is not installed)python3 -m virtualenv venv
source venv/bin/activate
pip install -r requirements.txt
When accessing a new service, proto file should be compiled with the following command:
bash compile_proto.sh [SERVICE_NAME]
python client.py --host <HOST> --port <PORT> --input <PATH_TO_INPUT>
[OPTIONAL] --output <PATH_TO_OUTPUT> --out-fps <FPS> --classes <LIST_OF_CLASSES> --show
- Implement showing of stream output
- Add debug option for debug output to console
- Add support for logging to file
- Add support for sending batch of images
- Add environment variables
- Add docker support for deployment
- Process response with detection metadata for further functionality
- Download .proto files of a service directly from server
- Implement queue for improved performance (maybe)
Contributions are welcome 😃