Skip to content

TechCraft-By-Subrata/ONNX-Model-Zoo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 

Repository files navigation

What is ONNX Model Zoo

  • ONNX (Open Neural Network Exchange) is a standard format to represent ML / deep learning models so they can be used across different frameworks & runtimes. (GitHub)
  • The Model Zoo is a curated collection of pre-trained, state-of-the-art models in ONNX format. Categories include: Computer Vision, Natural Language Processing (NLP), Generative AI, Graph/ML, etc. (GitHub)
  • Some are “validated” models (i.e. tested for accuracy in the zoo) vs others which are contributed and may need validation. (GitHub)

Join TechCraft Club if you want to build something exciting.

Types of Models in the Zoo

Here are examples of model types & what they do (not exhaustive):

Category Example Models / Use-cases
Image Classification ResNet, MobileNet, VGG, SqueezeNet etc. Recognizing what object is in an image. (GitHub)
Object Detection & Segmentation YOLO, SSD, Faster-RCNN, Mask R-CNN. Finding & localizing multiple objects, segmenting (pixel-wise). (GitHub)
Body / Face / Gesture Analysis Face recognition / embeddings, age/gender classification, emotion recognition. (GitHub)
Image Manipulation Super-resolution, style transfer, image-to-image translation etc. (GitHub)
Language / NLP Machine translation, language modeling, comprehension, QA, dialog systems. (GitHub)
Generative AI Models that can generate images, text, maybe audio, etc. (GitHub)
Graph ML Graph neural networks, etc. (useful for e.g. social networks, molecules etc.) (GitHub)
Audio / Speech Speech recognition, text-to-speech, etc. (GitHub)

What kinds of apps you can build

Given these models, here are some of the interesting apps you can build. Many are possible both in web and mobile (or desktop), but some use-cases make more sense in certain platforms.

App use-case Example app features Would it work on Web / Mobile / Both?
Image / Video object recognition E.g. app that takes live camera feed and identifies objects, counts them, gives bounding boxes (for security, inventory, wildlife monitoring) Both. On mobile you can use camera APIs; on web via WebRTC / getUserMedia plus ONNX Runtime Web or WebGL / WebGPU. However, mobile tends to allow lower latency & direct hardware accelerators.
Face / Emotion detection Recognize faces, estimate age/gender/emotion in photos, or live video. Use for social apps, safety, entertainment Both. But mobile is good for live camera usage. Web works for uploads or live via browser, but may have performance / privacy limitations.
Image enhancement / editing Style transfer, super-resolution (improving resolution of images), denoising, filters etc. Both. Web apps can do this (e.g. for photo-editing sites), mobile possibly offline and using device accelerators (GPU, NPUs).
Augmented Reality (AR) features E.g. overlaying virtual things based on object detection, gesture control, matching. Primarily mobile / native or mixed reality contexts. Web AR is possible but less mature / more constrained.
Language apps Chatbots, translators, summarizers, language learning tools, question answering over documents Both. On web it's easy to integrate; on mobile you might want offline model or light versions of models.
Audio / Speech Voice assistants, speech-to-text, text-to-speech, audio classification, music generation Both. On mobile you often have mic access, possibility of offline inference. Web is possible via browser APIs, but latency / privacy are concerns.
Generative / creative tools Text generation, image generation, style blending etc. Both, depending on model size, compute. Web is easiest for centralized server or cloud inference; mobile is feasible for small/light models or when using on-device ML acceleration.
Edge / IoT / offline apps Devices with less connectivity (e.g. embedded sensors, cameras), need to do inference locally Mobile / embedded / edge devices. ONNX supports many hardware EPs (Execution Providers) so you can deploy to devices. Web less relevant for offline / edge hardware.

Web apps vs Mobile apps — what’s possible using ONNX

Yes — you can build both web apps and mobile apps using these models. There are some enabling technologies and trade-offs:

Web

  • ONNX Runtime has support for Web; e.g. ONNX Runtime Web (JavaScript) / WebGPU / WebNN etc. (onnxruntime.ai)
  • You can load ONNX models in browser, run inference on the client (if small enough / well optimised), or have backend server do the inference and send results.
  • Pros: easier cross-platform (any browser), simpler deployment; easy to update model centrally.
  • Cons: limited by browser capabilities; hardware acceleration more limited; performance might lag for big models; privacy / latency issues if inference is done server-side.

Mobile

  • ONNX can be used on mobile (Android, iOS) via various runtimes that support ONNX models. ONNX Runtime supports building for Android/iOS. (onnxruntime.ai)
  • On mobile you may use specialized hardware (accelerators, NPUs) to speed up inference.
  • Apps can work offline if you bundle the model.
  • Pros: better latency, access to sensor hardware (camera, microphone), user experience; often better GPU / NPU acceleration.
  • Cons: model size matters; you may need to quantify / compress; battery use, memory constraints; more work for cross-platform.

Some of the trade-offs / challenges

  • Model size vs latency & resource use: Big models may give better accuracy but take more memory, longer inference time, and may require hardware resources not present on all devices.

  • Quantization / pruning / optimization: To run well on mobile or edge, you often need to optimize. ONNX supports quantization etc. (GitHub)

  • Compatibility / support: Not all devices support all operations or accelerators. Ensuring the model can run on target hardware is important.

  • Privacy / offline: For some apps (e.g. medical, personal photos), keeping inference local (on device or browser) is better. ONNX makes this possible provided the model is small enough or supported by the hardware.

  • Distribution & updates: Updating models in mobile apps needs app updates or dynamic download. Web apps can avoid some of that.


Some exciting app ideas

Here are a few example apps one could build using models from the ONNX Model Zoo:

  1. Mobile Photo-Enhancer

    • Uses super-resolution & style transfer models to enhance low-res pictures taken by phone, apply artistic filters.
    • Could work offline; user picks a photo; the app shows before/after.
  2. Real-Time Object Recognition for the Visually Impaired

    • Mobile app that uses camera to detect objects / read out what’s in view. Use lightweight detection / classification models.
  3. Document Translator & Summarizer Web App

    • Upload a document (image or text), run OCR if needed, translate to another language, summarize the content. Use models for translation, summarization.
  4. Emotion / Face Filters in a Social App

    • Social media feature: map emotions, stickers, or effects based on face detection / landmarks.
  5. AR Shopping Assist

    • Use object detection & segmentation to help overlay product info in camera view; e.g., you look at furniture and see colour / pricing, or try virtual textures. Probably mobile.
  6. Voice Assistant / Speech-to-Text + Text-to-Speech in a mobile app

    • Text commands, reading out content, translation etc. Using speech models.
  7. Interactive Educational Web App

    • Quiz system that uses question-answering, summarization, maybe image recognition (e.g. identifying plants, animals) for learning biology or art.
  8. IoT Device or Edge Camera System

    • e.g. wildlife camera that automatically detects & classifies animals, sends alerts.

Summary

  • The ONNX Model Zoo gives you many powerful pre-trained models you can use as building blocks.
  • It is feasible to build apps both for web and mobile using them. Often you’ll combine both: some inference on client, some on server.
  • The key is to pick a model size and optimization level appropriate to your target platform.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published