WeDX is an open-source utility built with Python and Dear PyGui. The app provides a platform for building intelligent video applications with the capability to capture, record, and analyze videos. After that, you can publish the video and insights from video to your local computer or the cloud. You can define a pipeline(flow) with no-code while checking in real-time so that you can combine the three types of nodes (source, processor, and sink) in the node editor, infer the video source with the AI model, and provide the result to the service or application.
Pipeline handling can be operated by integrating with Azure IoT (Azure IoT Hub, Azure IoT Hub DPS, Azure IoT Central, Azure IoT Edge, Azure Percept) other than locally, so it can be used as a PoC for business scenarios. Recently, we have also integrated Flask and Streamlit to work with web apps.
It supports x64 Windows, macOS, Linux, and ARM (arm64v8) Linux container without GUI. If you want to run WeDX without GUI on Azure IoT Edge, you can deploy it in Azure Marketplace with just a few clicks.
WeDX was featured on Dear PyGui's Showcase page.
- No-code experience to easily build Edge AI pipeline.
- Simple pipeline, Easy to understand code.
- Support x64 Windows, macOS and Linux OS.
- Support container for arm64v8 and amd64 architecture without GUI.
- Import and export node configuration.
- Asynchronous processing of frame refresh.
- Netron integration for visualizing neural network models.
- Controllable by Azure IoT Edge device. (Azure IoT Edge, Azure IoT Edge DPS, Azure Percept, Azure IoT Central)
- startPipeline
- stopPipeline
- importPipeline
- exportPipeline
- Controllable by Azure IoT device. (Azure IoT Hub, Azure IoT Hub DPS, Azure IoT Central)
- startPipeline
- stopPipeline
- importPipeline
- exportPipeline
- Controllable by Web API using Flask and Swagger UI. (https://localhost:1211)
- startpipeline[POST]
- stoppipeline[POST]
- importpipeline[POST]
- exportpipeline[POST]
- Integrated Streamlit for Web App. (https://localhost:1212)
- Controllable Logging Level.
- Three steps in Edge AI pipeline : Source, Process, and Sink.
- Source nodes
- USB Camera
- RTSP Camera
- Image File
- Video File
- Process nodes
- Image Classification
- Azure Custom Vision (Cloud)
- Classification
- Object Detection
- Azure Custom Vision (Offline)
- Classification
- Object Detection
- QRCode Detection
- Face Detection
- Object Detection
- Pose Detection
- ONNX Custom
- Lobe.ai ONNX (Offline)
- Sink nodes
- Debugging nodes (Option)
- Message Screen
- Video Screen
- Source nodes
C:\> git clone https://github.com/motojinc25/WeDX
C:\> cd WeDX
C:\WeDX> python -V
Python 3.9.*
C:\WeDX> run-wedx.bat
- Install NVIDIA Graphic Card Driver (Windows 11)
- Install CUDA Toolkit (CUDA 11.4, Ubuntu 20.04)
- Download ZLIB DLL
- Install cuDNN (CUDA 11.4, Ubuntu 20.04)
C:\> git clone https://github.com/motojinc25/WeDX
C:\> cd WeDX
C:\WeDX> python -V
Python 3.9.*
C:\WeDX> run-wedx.bat
$ git clone https://github.com/motojinc25/WeDX
$ cd WeDX
$ python3 -V
Python 3.9.*
$ ./run-wedx.sh
python3 src/main.py [Arguments]
--skip_detect_cameras : Skip camera recognition logic.
--no_gui : Running WeDX without GUI.
--no_webapi : Running WeDX without launching Web API.
--no_webapp : Running WeDX without launching Web App.
--iotedge : Connecting to Azure IoT Edge
Azure Bicep under "infra/azure/*.bicep" can quickly deploy Azure cloud resources supported by the latest version of WeDX.
If you want to run WeDX without GUI on Azure IoT Edge, you can deploy it in Azure Marketplace with just a few clicks.
This project is sponsored by motojin.com, Inc., building Edge AI Pipelines with No-Code.
A special thank you goes out to the following rockstars.
- Jonathan Hoffstadt and Preston Cothren for creating Dear PyGui and providing critical coding insights.
- Kazuhito Takahashi for creating Image-Processing-Node-Editor and providing node editor coding insights.
WeDX is available under the GNU AGPL-3.0 license. Licenses of assets, fonts and models are a listed in the appropriate project folders.