Giter Site home page Giter Site logo

johnhinz / aigatekeeper Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 1.0 682 KB

AIGatekeep is designed to watch a folder for new files and on creation pass the file to a tool to discover target characteristics. If the file has the desired characteristics the file will be passed to another system for further processing.

License: MIT License

C# 86.67% Dockerfile 2.55% HTML 6.02% CSS 4.75%
ai image-recognition automation smart-home

aigatekeeper's Introduction

Build Status License: MIT Quality Gate Status

Bugs Maintainability Rating Code Smells

Discord Chat

AIGateKeeper

The goal of this library is to design a tool that would watch a folder for specific files, send them to an AI discovery tool and take some action if an appropriate subject is found. The library has abstracted the AI discovery tool and the repository. There are implementations for DeepStack and MQTT.

Requirements

An implementation of AI discovery tool that corresponds to AIGuard.Broker and a repository that corresponds to AIGuard.IRepository.

Architecture

System Context

System Context

Container

Container

Component

Component

Installation

Configuration parmeters:

AIEndpoint : The URL of the AI discovery tool.
PublisherName : The client name connecting to the repository
TopicParser : A regex that determines the topic as derived from the image file name
TopicPosition : The position of the topic as derived from the image file name
QueueName : The repository queue name
WatchFolder : The folder to watch for new files.  These files are passed to the AIEndpoint for discovery
LogFile : The full path and file name where logs are written
WatchedExtensions : The file extension types passed to the AIEndpoint (these file types, if created in the watch folder will be passed to the AIEndpoint)
RepositoryEndpoint : The repository endpoint.
Cameras : A Javascript array containing a list of cameras.
  [ 
    {
      "name": string,   Name of the camera.  The value must be a substring of the image filename.
      "clip": bool,    True will crop the image to the object of interest, false will send the whole image with a target in a bounded rectangle
      "drawTarget": bool,  True will draw a box around the item of interest in the image
      "drawConfidence": bool,  True will print the target and confidence on the image
      "watches": [      A Javascript array containing the items of interest and the confidence level required to produce a match
        {
          "label": string,   The title of an object of interest as returned by the AI
          "confidence": decimal   The confidence level that will produce a match
        }
      ]
    }
  ]

aigatekeeper's People

Contributors

johnhinz avatar dependabot[bot] avatar nimababak avatar github-actions[bot] avatar dependabot-preview[bot] avatar

Stargazers

Alok Sharma avatar

Watchers

James Cloos avatar

Forkers

nimababak

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.