# chnsScaling

## PURPOSE

Compute lambdas for channel power law scaling.

## SYNOPSIS

function [lambdas,as,scales,fs] = chnsScaling( pChns, Is, show )

## DESCRIPTION

     Compute lambdas for channel power law scaling.

     For a broad family of features, including gradient histograms and all
     channel types tested, the feature responses computed at a single scale
     can be used to approximate feature responses at nearby scales. The
     approximation is accurate at least within an entire scale octave. For
     details and to understand why this unexpected result holds, please see:
       P. Dollár, R. Appel, S. Belongie and P. Perona
       "Fast Feature Pyramids for Object Detection", PAMI 2014.

     This function computes channels at multiple image scales and plots the
     resulting power law scaling. The purpose of this function is two-fold:
     (1) compute lambdas for fast approximate channel computation for use in
     chnsPyramid() and (2) provide a visualization of the power law channel
     scaling described in the BMVC2010 paper.

     chnsScaling() takes two main inputs: the parameters for computing image
     channels (pChns), and an image or set of images (Is). The images are
     cropped to the dimension of the smallest image for simplicity of
     computing the lambdas (and fairly high resolution images are best). The
     computed lambdas will depend on the channel parameters (e.g. how much
     smoothing is performed), but given enough images (>1000) the computed
     lambdas should not depend on the exact images used.

     USAGE
      [lambdas,as,scales,fs] = chnsScaling( pChns, Is, [show] )

     INPUTS
      pChns          - parameters for creating channels (see chnsCompute.m)
      Is             - [nImages x 1] cell array of images (nImages may be 1)
      show           - [1] figure in which to display results

     OUTPUTS
      lambdas        - [nTypes x 1] computed lambdas
      as             - [nTypes x 1] computed y-intercepts
      scales         - [nScales x 1] vector of actual scales used
      fs             - [nImages x nScales x nTypes] array of feature means

     EXAMPLE
      sDir = 'data/Inria/train/neg/';
      Is = fevalImages( @(x) {x}, {}, sDir, 'I', 'png', 0, 200 );
      p = chnsCompute(); lambdas = chnsScaling( p, Is, 1 );

     See also chnsCompute, chnsPyramid, fevalImages

     Piotr's Image&Video Toolbox      Version 3.25
     Copyright 2013 Piotr Dollar & Ron Appel.  [pdollar-at-caltech.edu]
     Please email me if you find bugs, or have suggestions or questions!
     Licensed under the Simplified BSD License [see external/bsd.txt]