Code Monkey home page Code Monkey logo

officialeye's Introduction

officialeye's People

Contributors

zerobone avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

dmnext jmnext mha535

officialeye's Issues

Automatic config generation

Proposed feature: automatic template config generation via special cli command, e.g. officialeye draft PATH_TO_TEMPLATE might create a draft for a template config at specified path.

Supervisors that return multiple correspondence

At the moment, the run method of the Supervisor class must return a single SupervisionResult object or None if the supervision process has failed. However, I think it should be considered whether it is reasonable to switch to lists. That is, the empty list corresponds to the fail of the supervision process, and if the list is not empty, then one of the results should be chosen from that list. The particular choice could be made in the following ways, for example:

  • Take the first element of the list
  • Take the result with the best fit (i.e., mse is minimal)
  • Take a random result
    The strategy could be specifiable via a separate config option. The advantage of this approach is its modularity: the final result choice does not depend on the supervision engine; on the contrary, it can be configured completely independently.

IO Drivers API

In this issue I would like to raise the question whether the current IO Driver's API is flexible enough in the long term. Due to the very essence of the tool, it makes sense to run the IO logic not for the entire supervision result (capturing the entire image), but for every feature independently. It should be possible to add new ways of processing features without having to then implement a new IO Driver to integrate them.

For example, a user might want to apply OCR to text features, face-recognition to features possibly containing images of people, etc. Currently, to implement this one would need to create an IO Driver text_face that relies on meta-data of features to identify what should be done to them. From an architecture point of view, this is not a clean and high-quality solution. The API should allow to add custom "methods" of processing features on an individual basis, rather than the entire analysis result. In the above example, one would implement an ocr recognition driver, and face recognition driver, and then attach the information about which drivers are to be applied, to every feature.

Enforce a minimum amount of keypoints to be matched

Currently while matching the target image against a template, the desired vote count may be achieved solely by electing matches corresponding to a single keypoint. This seems to be the primary cause for the occasional poor quality of the matching. Therefore, I consider it reasanoble to add a possibility of enforcing a minimum number of keypoints to be matched.

IO Drivers for template analysis output

Proposed feature: an abstract io class that can be used to customize the output of the officialeye analyze command. The default driver could be the displaying of the pattern image with the corresponding regions of the target image incorporated accordingy (this is the current behaviour). Another driver could be text recognition for keypoints.

When designing the system, it is probably important that the io drivers are customizable on a per-keypoint basis - one might want to extract text from one keypoint, and extract an image from another one. For this reason, I think io drivers should be combinable.

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.