Skip to content

hpcanalytics/ml-tutorial

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Welcome

This site features documentation on the image processing and optimization routines available in SPIDAL.

A basic philosophy underlying SPIDAL is that many problems in AI-related domains (including machine learning, image understanding, computer vision, etc) can be posed and solved using one of a relatively small number of general techniques. Instead of re-inventing algorithms that are customized for a particular application, we advocate posing new problems in terms of general and abstract techniques. For example, many problems involving analyzing sequences can be posed as Hidden Markov Models, whether the sequences are sentences, positions of objects across time, audio signals, or protein sequences.

This view encourages separating applications, models, algorithms, and implementations to maximize generalization and code reuse. An application involves solving a particular domain-specific problem. Many such domain-specific tasks can be posed in terms of a model that precisely defines a mathematical problem to be solved. Different models may make different assumptions, trading off between simplicity and faithfulness to the original problem. An algorithm is a particular strategy for solving for unknown variables in that model. Different algorithms can be used to solve a given model, often with different trade-offs between accuracy and speed. An implementation is one particular set of source codes for executing an algorithm. Implementations may use heuristics or simplifications to improve practical results or decrease running time of an algorithm.

Contents

The goal of this site is to help choose the right model and algorithm abstractions for a given novel problem, and then apply SPIDAL codes to these new problems. Thus in addition to information about how to use the libraries themselves, we include background information about what these routines do, how they work, and when to use them, and show examples of their use on real problems.

You can use this resource in several different ways:

  • If you'd like to see how to apply SPIDAL algorithms to real problems, see Exemplar Applications.

  • If you'd like to learn more about a particular model, see Models.

  • If you'd like to learn more about a particular algorithm, see Algorithms.


Exemplar applications

3D Reconstruction of Polar Ice

Reconstructs the three-dimensional surface of bedrock under polar ice using tomographic slices from ground-penetrating radar echograms.

Segmentation of Radar Echograms

Segments location bedrock, ice, and air in radar echograms of polar ice.

Identifies layer boundaries in radar echograms, including "soft" confidence bounds on layer locations.

3D Reconstruction of Landmarks from Social Media images

Creates three-dimensional reconstructions of buildings and other landmarks from images downloaded from social media.

Multi-modal Photo Clustering

Clusters large-scale collections of images by combining visual, temporal, spatial, and textual features.

Organizes and visualizes social media images using multimodal features.

Photo segmentation

Produces multiple diverse candidate solutions for pixel-level semantic photo labeling.

Image recognition

Estimates where on Earth a photo was taken using visual, textual, and temporal features.

Image captioning

Automatically produces diverse captions to describe an image.


Algorithms

SPIDAL implementations are available for algorithms that solve various models and problems. The links below lead to more information about the algorithms, as well as source code and documentation.

Sequence model inference

Discrete optimization

Continuous optimization

  • Levenberg-Marquardt - non-linear least squares
  • Gradient descent

Clustering and grouping

Dimensionality reduction

  • Multidimensional Scaling (MDS)

Image processing and computer vision

  • Unsupervised image segmentation
  • Image alignment
  • Edge detection
  • Scale Invariant Feature Transform

Models

Sequence models

Spatial models

Classification models

  • Nearest neighbor
  • Support Vector Machines

Regression models

  • Non-linear least squares
  • Deep Neural Networks

Image features

  • Edges
  • Interest points
  • Bag of words models
<iframe width="420" height="315" src="http://www.youtube.com/embed/dQw4w9WgXcQ" frameborder="0" allowfullscreen></iframe>

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages