The Bob Project¶
Bob is a free signal-processing and machine learning toolbox originally developed by the Biometrics group at Idiap Research Institute, Switzerland. The toolbox is written in a mix of Python and C++ and is designed to be both efficient and reduce development time.
- To learn about this project’s motivations and history, visit Motivations and Philosophy.
- For a brief summary of what you can do with Bob, have a look at Overview.
- To just get started using Bob, skip ahead to Installing Bob.
- If you make use of Bob or any Satellite Packages, we would appreciate if you cited one of our publications as described in Overview.
- For more detailed information, scroll down to the User’s Guide, Developer’s Guide or Reference manual.
We believe in free software and development standards. Bob is a freely available library, licensed under the terms of the GPL v3. For more information on licensing, please visit our Licensing Terms.
Enjoy!
Overview¶
Installation¶
User’s Guide¶
- Introduction
- Multi-dimensional Arrays
- Input/Output
- Image and signal processing
- Audio processing
- Machines
- Linear machine
- Neural networks: multi-layer perceptrons (MLP)
- Support vector machines
- K-means machines
- Gaussian machines
- Gaussian mixture models
- Gaussian mixture models Statistics
- Joint Factor Analysis
- Inter-Session Variability
- Total Variability (i-vectors)
- Probabilistic Linear Discriminant Analysis (PLDA)
- Trainers
- Principal component analysis
- Linear discriminant analysis
- Neural networks: multi-layer perceptrons (MLP)
- Support vector machines
- K-means
- Maximum likelihood for Gaussian mixture model
- MAP-adaptation for Gaussian mixture model
- Joint Factor Analysis
- Inter-Session Variability
- Total Variability (i-vectors)
- Whitening
- Within-Class Covariance Normalisation
- Probabilistic Linear Discriminant Analysis (PLDA)
- Database
- Performance Evaluation
- A Complete Application: Analysis of the Fisher Iris Dataset
- Organize Your Work in Satellite Packages
- Bug Reporting and Feature Requesting
Developer’s Guide¶
Reference¶
- Introduction
- Core
- Error Reporting and Logging in Python
- Note on Supported Array Data Types (
dtypes
) - bob.core.array.convert
- bob.core.random.mt19937
- bob.core.random.variate_generator
- bob.core.random.binomial_float32
- bob.core.random.binomial_float64
- bob.core.random.discrete_int16
- bob.core.random.discrete_int32
- bob.core.random.discrete_int64
- bob.core.random.discrete_int8
- bob.core.random.discrete_uint16
- bob.core.random.discrete_uint32
- bob.core.random.discrete_uint64
- bob.core.random.discrete_uint8
- bob.core.random.gamma_float32
- bob.core.random.gamma_float64
- bob.core.random.lognormal_float32
- bob.core.random.lognormal_float64
- bob.core.random.normal_float32
- bob.core.random.normal_float64
- bob.core.random.uniform_float32
- bob.core.random.uniform_float64
- bob.core.random.uniform_int16
- bob.core.random.uniform_int32
- bob.core.random.uniform_int64
- bob.core.random.uniform_int8
- bob.core.random.uniform_uint16
- bob.core.random.uniform_uint32
- bob.core.random.uniform_uint64
- Mathematics
- bob.math.chi_square
- bob.math.histogram_intersection
- bob.math.kullback_leibler
- bob.math.linsolve
- bob.math.linsolve_
- bob.math.linsolve_cg_sympos
- bob.math.linsolve_cg_sympos_
- bob.math.linsolve_sympos
- bob.math.linsolve_sympos_
- bob.math.norminv
- bob.math.normsinv
- bob.math.pavx
- bob.math.pavx_
- bob.math.pavxWidth
- bob.math.pavxWidthHeight
- bob.math.scatter
- bob.math.scatter_
- bob.math.LPInteriorPoint
- bob.math.LPInteriorPointLongstep
- bob.math.LPInteriorPointPredictorCorrector
- bob.math.LPInteriorPointShortstep
- Data Input/Output
- bob.io.append
- bob.io.create_directories_save
- bob.io.extensions
- bob.io.load
- bob.io.merge
- bob.io.peek
- bob.io.peek_all
- bob.io.save
- bob.io.write
- bob.io.File
- bob.io.HDF5Descriptor
- bob.io.HDF5File
- bob.io.HDF5Type
- bob.io.open
- bob.io.available_video_codecs
- bob.io.available_videoreader_formats
- bob.io.available_videowriter_formats
- bob.io.describe_video_decoder
- bob.io.describe_video_encoder
- bob.io.supported_video_codecs
- bob.io.supported_videoreader_formats
- bob.io.supported_videowriter_formats
- bob.io.VideoReaderIterator
- bob.io.VideoReader
- bob.io.VideoWriter
- Signal Processing
- bob.sp.dct
- bob.sp.extrapolate
- bob.sp.extrapolate_circular
- bob.sp.extrapolate_constant
- bob.sp.extrapolate_mirror
- bob.sp.extrapolate_nearest
- bob.sp.extrapolate_zero
- bob.sp.fft
- bob.sp.fftshift
- bob.sp.idct
- bob.sp.ifft
- bob.sp.ifftshift
- bob.sp.BorderType
- bob.sp.DCT1D
- bob.sp.DCT1DAbstract
- bob.sp.DCT2D
- bob.sp.DCT2DAbstract
- bob.sp.FFT1D
- bob.sp.FFT1DAbstract
- bob.sp.FFT2D
- bob.sp.FFT2DAbstract
- bob.sp.IDCT1D
- bob.sp.IDCT2D
- bob.sp.IFFT1D
- bob.sp.IFFT2D
- bob.sp.Quantization
- bob.sp.SizeOption
- bob.sp.quantization_type
- Image Processing
- bob.ip.block
- bob.ip.crop
- bob.ip.draw_box
- bob.ip.draw_cross
- bob.ip.draw_cross_plus
- bob.ip.draw_line
- bob.ip.draw_point
- bob.ip.draw_point_
- bob.ip.extrapolate_mask
- bob.ip.flip
- bob.ip.flop
- bob.ip.flow_error
- bob.ip.gamma_correction
- bob.ip.get_angle_to_horizontal
- bob.ip.get_block_3d_output_shape
- bob.ip.get_block_4d_output_shape
- bob.ip.get_rotated_output_shape
- bob.ip.get_shear_x_shape
- bob.ip.get_shear_y_shape
- bob.ip.gray_to_rgb
- bob.ip.histogram
- bob.ip.histogram_
- bob.ip.histogram_equalization
- bob.ip.hog_compute_histogram
- bob.ip.hog_compute_histogram_
- bob.ip.hsl_to_rgb
- bob.ip.hsv_to_rgb
- bob.ip.integral
- bob.ip.laplacian_avg_hs
- bob.ip.laplacian_avg_hs_opencv
- bob.ip.max_rect_in_mask
- bob.ip.normalize_block
- bob.ip.normalize_block_
- bob.ip.normalize_gabor_jet
- bob.ip.rgb_to_gray
- bob.ip.rgb_to_hsl
- bob.ip.rgb_to_hsv
- bob.ip.rgb_to_yuv
- bob.ip.rotate
- bob.ip.scale
- bob.ip.scale_as
- bob.ip.shear_x
- bob.ip.shear_y
- bob.ip.shift
- bob.ip.try_draw_point
- bob.ip.yuv_to_rgb
- bob.ip.zigzag
- bob.ip.BlockNorm
- bob.ip.CentralGradient
- bob.ip.DCTFeatures
- bob.ip.ELBPType
- bob.ip.FaceEyesNorm
- bob.ip.ForwardGradient
- bob.ip.GLCM
- bob.ip.GLCMProp
- bob.ip.GSSKeypoint
- bob.ip.GSSKeypointInfo
- bob.ip.GaborKernel
- bob.ip.GaborWaveletTransform
- bob.ip.Gaussian
- bob.ip.GaussianScaleSpace
- bob.ip.GeomNorm
- bob.ip.GradientMagnitudeType
- bob.ip.GradientMaps
- bob.ip.HOG
- bob.ip.HornAndSchunckFlow
- bob.ip.HornAndSchunckGradient
- bob.ip.IsotropicGradient
- bob.ip.LBP
- bob.ip.LBPHSFeatures
- bob.ip.LBPTop
- bob.ip.Median_float64
- bob.ip.Median_uint16
- bob.ip.Median_uint8
- bob.ip.MultiscaleRetinex
- bob.ip.PrewittGradient
- bob.ip.RescaleAlgorithm
- bob.ip.RotateAlgorithm
- bob.ip.SIFT
- bob.ip.SelfQuotientImage
- bob.ip.Sobel
- bob.ip.SobelGradient
- bob.ip.TanTriggs
- bob.ip.VLDSIFT
- bob.ip.VLSIFT
- bob.ip.VanillaHornAndSchunckFlow
- bob.ip.WeightedGaussian
- Audio Processing
- Machines
- bob.machine.linear_scoring
- bob.machine.roll
- bob.machine.tnorm
- bob.machine.unroll
- bob.machine.znorm
- bob.machine.ztnorm
- bob.machine.ztnorm_same_value
- bob.machine.Activation
- bob.machine.BICMachine
- bob.machine.GMMMachine
- bob.machine.GMMStats
- bob.machine.GaborGraphMachine
- bob.machine.GaborJetSimilarity
- bob.machine.Gaussian
- bob.machine.HyperbolicTangentActivation
- bob.machine.ISVBase
- bob.machine.ISVMachine
- bob.machine.IVectorMachine
- bob.machine.IdentityActivation
- bob.machine.JFABase
- bob.machine.JFAMachine
- bob.machine.KMeansMachine
- bob.machine.LinearActivation
- bob.machine.LinearMachine
- bob.machine.LogisticActivation
- bob.machine.MLP
- bob.machine.MachineDoubleBase
- bob.machine.MachineGMMStatsA1DBase
- bob.machine.MachineGMMStatsScalarBase
- bob.machine.MultipliedHyperbolicTangentActivation
- bob.machine.PLDABase
- bob.machine.PLDAMachine
- bob.machine.SVMFile
- bob.machine.SupportVector
- bob.machine.WienerMachine
- bob.machine.gabor_jet_similarity_type
- bob.machine.svm_kernel_type
- bob.machine.svm_type
- Trainer
- bob.trainer.BICTrainer
- bob.trainer.Cost
- bob.trainer.CrossEntropyLoss
- bob.trainer.DataShuffler
- bob.trainer.EMPCATrainer
- bob.trainer.EMTrainerGMM
- bob.trainer.EMTrainerIVector
- bob.trainer.EMTrainerKMeans
- bob.trainer.EMTrainerLinear
- bob.trainer.EMTrainerPLDA
- bob.trainer.FisherLDATrainer
- bob.trainer.GMMTrainer
- bob.trainer.ISVTrainer
- bob.trainer.IVectorTrainer
- bob.trainer.JFATrainer
- bob.trainer.KMeansTrainer
- bob.trainer.CGLogRegTrainer
- bob.trainer.MAP_GMMTrainer
- bob.trainer.MLPBackPropTrainer
- bob.trainer.MLPBaseTrainer
- bob.trainer.MLPRPropTrainer
- bob.trainer.ML_GMMTrainer
- bob.trainer.PCATrainer
- bob.trainer.PLDATrainer
- bob.trainer.SVMTrainer
- bob.trainer.SquareError
- bob.trainer.WCCNTrainer
- bob.trainer.WhiteningTrainer
- bob.trainer.WienerTrainer
- Databases
- Metrics
- bob.measure.cmc
- bob.measure.correctly_classified_negatives
- bob.measure.correctly_classified_positives
- bob.measure.det
- bob.measure.eer_rocch
- bob.measure.eer_threshold
- bob.measure.epc
- bob.measure.f_score
- bob.measure.far_threshold
- bob.measure.farfrr
- bob.measure.frr_threshold
- bob.measure.min_hter_threshold
- bob.measure.min_weighted_error_rate_threshold
- bob.measure.mse
- bob.measure.ppndf
- bob.measure.precision_recall
- bob.measure.precision_recall_curve
- bob.measure.recognition_rate
- bob.measure.relevance
- bob.measure.rmse
- bob.measure.roc
- bob.measure.roc_for_far
- bob.measure.rocch
- bob.measure.rocch2eer
- bob.measure.plot.cmc
- bob.measure.plot.det
- bob.measure.plot.det_axis
- bob.measure.plot.epc
- bob.measure.plot.precision_recall_curve
- bob.measure.plot.roc
- bob.measure.load.cmc_five_column
- bob.measure.load.cmc_four_column
- bob.measure.load.five_column
- bob.measure.load.four_column
- bob.measure.load.split_five_column
- bob.measure.load.split_four_column