Skip to content

motojinc25/WeDX

Repository files navigation

WeDX

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.

image

Building Edge AI Pipelines with No-Code


WeDX License

📌 Key Features

  • 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. (http://localhost:1211)
    • startpipeline[POST]
    • stoppipeline[POST]
    • importpipeline[POST]
    • exportpipeline[POST]
  • Integrated Streamlit for Web App. (http://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
      • Azure IoT Message
      • Builtin IoT Message
      • Record File
      • MQTT Camera
      • MQTT Message
      • Video Streaming
    • Debugging nodes (Option)
      • Message Screen
      • Video Screen

📌 Get Started

Prerequisites

Windows(x64)

C:\> git clone https://github.com/motojinc25/WeDX
C:\> cd WeDX
C:\WeDX> python -V
Python 3.9.*
C:\WeDX> run-wedx.bat

Windows 11 WSL2 with CUDA(x64)

  • 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

macOS(x64) / Linux(x64)

$ git clone https://github.com/motojinc25/WeDX
$ cd WeDX
$ python3 -V
Python 3.9.*
$ ./run-wedx.sh

📌 Usage

Optional Arguments

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 Templates

Azure Bicep under "infra/azure/*.bicep" can quickly deploy Azure cloud resources supported by the latest version of WeDX.

image

📌 Azure IoT Edge

If you want to run WeDX without GUI on Azure IoT Edge, you can deploy it in Azure Marketplace with just a few clicks.

Azure_Marketplace

📌 Sponsors

This project is sponsored by motojin.com, Inc., building Edge AI Pipelines with No-Code.

motojin.com, Inc.

📌 Special thanks

A special thank you goes out to the following rockstars.

📌 Licenses

WeDX is available under the GNU AGPL-3.0 license. Licenses of assets, fonts and models are a listed in the appropriate project folders.