Giter Club home page Giter Club logo

io_image_edge_detection_aco's People

Contributors

awojasinski avatar awojasinski-private avatar maelstro avatar

Watchers

 avatar

io_image_edge_detection_aco's Issues

Unit tests

For every module, we should have unit tests written to check, if we didn't break anything during the works. It's a hassle, but it's a good practice. For now we won't be setting a minimal code coverage value and no CI/CD, but we may try to set up ie. a CircleCI in the foreseeable future.

I can write a Docker image for testing purposes (tests are run on a VM in most of CI/CD tools, and we have to provide a machine).

Research - other types of Ant Colony algorithms

As mentioned during the meeting, we should explore other ways of implementing an ACO. Variants proposed:

  • Fast Ant algorithm
  • No-horizon optimization (already implemented, we don't use the horizon)

If any of us comes across an implementation of one of the mentioned articles, he should post a link to it in the comments below.

Parameter optimization

When we have a fully implemented ACO algorithm (#2), we're ought to run a grid search to get the best performing set of parameters.

Test image: Lenna

Check the thresholding methods

The article mentions that Otsu thresholding method is applied, but during the tests it seems that it gives hardly any output, the threshold is too strict. We should try to develop our own thresholding method, now we have 3 methods:

  • Simple threshold: if pheromone value for a given pixel is lower than a tau value, it's classified as the background,
  • Otsu thresholding: threshold value is calculated (using skimage.filters.otsu_threshold) and the pheromone value is checked against it,
  • According to this code, lines 201-202.
    We should try, which one gives the best results (currently the simple threshold is the best).

ACO metrics

We need an interface for calculating the edge detection quality.

Requirements:

  • Pass an input image and groundtruth image (can be pair of images),
  • Return the metrics value
  • Log everything to file (logging module in Python)
  • CLI-based command
  • Allow the user to select a metric or calculate all of them (only if we'll be having multiple metrics)

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.