Difference between revisions of "BoofCV Change Log"

From BoofCV
Jump to navigationJump to search
m
m
Line 1: Line 1:
Date    : 2016/06/04
Date    : 2016/12/01
Version : 0.25


Version : 0.24
* Black Circle Detector
 
** Binary image
* Confusion Matrix Visualization
** Subpixel edge for gray scale images
** Fixed bug where a row/column was being lopped off
* Circular Asymmetric Grid Pattern
** Added labels
** For calibration
** Added ability to highlight one category
** As a general fiducial
** Added ability to query what's at a specific location
* Histogram of Oriented Gradient
* Local Image Normalization for use in machine learning
** Provided another implementation which is more faithful to original paper, but much slower
* Added weighted RGB to Gray conversion with example
** Can now independently configure block size along each axis
* Convolve
* VideoTrackerObjectQuadApp
** Better support for 64-bit float images
** Can now open webcams and videos
* Module "core" (formally "all") can be used to import everything in boofcv/main
** Improved UI
* Module "all" can be used to import everything in boofcv/main AND boofcv/integration
* Association
* Adjusted assisted calibration so that it's possible to provide a custom output directory
** Added helpful error messages when src and dst are not set
* Video
* Added support for F64 to F32 autocoding from regular F64 classes
** Xuggler's Maven repository has taken it downEffectively killing the zombie project
* 360 / Spherical camera support
** JavaCV has been integrated in as a replacement.
** Equirectangular image support
** Equirectangular to pinhole
** Equirectangular to cylinder
** Equirectangular rotate
* Dirty flag was not being set to false for cached image distort single band
* Changed minimum Java language level from 6 to 7
* Camera Model
** Renamed IntrinsicParameters to CameraPinhole
** Broke distortion off into a separate class which extends CameraPinhole
*** CameraPinholeRadial
** Added a new camera for wide FOV cameras: Universal Omnidirectional
** Created new transforms to handle non-pinhole cameras
* YAML
** Changed save format to YAML for camera model parameters.
** This should allow saved files to be independent of internal refactoring in BoofCV and cross platform, I hope.
* Deleted BoofAndroidFiles because you can now simply use yaml format
* Deep Learning
** Integrated in DeepBoof to provide support for deep artificial neural networks (ANN)
* Image Classification
** VGG trained on CIFAR10  (10 categories at 89.9%)
** Network-in-Network trained on ImageNet (1000 categories at 62.6%)
* FiducialDetector
** Takes in a distortion factory instead of camera parameters
** Added getIntrinsics()
** Added getImageLocation()
** Fixed bug where if a lens model with distortion was used then exchanged for one without the old distortion was not fully removed.
** Fixed bug where if intrinsic was not set it would still claim it could estimate the target's pose
* Binary Fiducial
** When decoding the image it now ignores border pixels of inner squares.  These tend to be very noisy.
** 7% improvement in regression test.  Idea taken from ArUco
* Commandline Fiducial Generator
** Can specify custom document size
* Added command line application for calibration fiducials
** Supports chessboard, square grid, square binary grid, circle asymmetric grid
* OpenCV Integration
** can read and write camera calibration for pinhole cameras with radial + tangential distortion
* FancyInterestPointRender
** Fixed addString() being a no-opThanks R-Gerard for the bug report!
* Generate Square Fiducial Applications
** The post script format has been tweaked so that the page size is specified with the /PageSize command also
** A printing company was having issues correcting sizing the document until this change was made.
* Refactored FactoryCalibrationTarget -> FactoryFiducialCalibration
* FactoryMotion2D
** Removed image type specific functions and updated code for more recent API
* Fixed bug in StitchingFromMotion2D where reset() could cause a null pointer exception
* Android
** work around for a crash bug in Marshmallow
* Removed applet module in integration
* Template Matching
** Added correlation using FFT
** Tweaked API so that preprocessing of image can be performed
* TypeInterpolation renamed to InterpolationType for consistency
* Changed behavior of AssociateSurfBasic
** no longer throws an exception if src or dst features are empty

Revision as of 20:27, 1 December 2016

Date  : 2016/12/01 Version : 0.25

  • Black Circle Detector
    • Binary image
    • Subpixel edge for gray scale images
  • Circular Asymmetric Grid Pattern
    • For calibration
    • As a general fiducial
  • Histogram of Oriented Gradient
    • Provided another implementation which is more faithful to original paper, but much slower
    • Can now independently configure block size along each axis
  • VideoTrackerObjectQuadApp
    • Can now open webcams and videos
    • Improved UI
  • Association
    • Added helpful error messages when src and dst are not set
  • Added support for F64 to F32 autocoding from regular F64 classes
  • 360 / Spherical camera support
    • Equirectangular image support
    • Equirectangular to pinhole
    • Equirectangular to cylinder
    • Equirectangular rotate
  • Dirty flag was not being set to false for cached image distort single band
  • Changed minimum Java language level from 6 to 7
  • Camera Model
    • Renamed IntrinsicParameters to CameraPinhole
    • Broke distortion off into a separate class which extends CameraPinhole
      • CameraPinholeRadial
    • Added a new camera for wide FOV cameras: Universal Omnidirectional
    • Created new transforms to handle non-pinhole cameras
  • YAML
    • Changed save format to YAML for camera model parameters.
    • This should allow saved files to be independent of internal refactoring in BoofCV and cross platform, I hope.
  • Deleted BoofAndroidFiles because you can now simply use yaml format
  • Deep Learning
    • Integrated in DeepBoof to provide support for deep artificial neural networks (ANN)
  • Image Classification
    • VGG trained on CIFAR10 (10 categories at 89.9%)
    • Network-in-Network trained on ImageNet (1000 categories at 62.6%)
  • FiducialDetector
    • Takes in a distortion factory instead of camera parameters
    • Added getIntrinsics()
    • Added getImageLocation()
    • Fixed bug where if a lens model with distortion was used then exchanged for one without the old distortion was not fully removed.
    • Fixed bug where if intrinsic was not set it would still claim it could estimate the target's pose
  • Binary Fiducial
    • When decoding the image it now ignores border pixels of inner squares. These tend to be very noisy.
    • 7% improvement in regression test. Idea taken from ArUco
  • Commandline Fiducial Generator
    • Can specify custom document size
  • Added command line application for calibration fiducials
    • Supports chessboard, square grid, square binary grid, circle asymmetric grid
  • OpenCV Integration
    • can read and write camera calibration for pinhole cameras with radial + tangential distortion
  • FancyInterestPointRender
    • Fixed addString() being a no-op. Thanks R-Gerard for the bug report!
  • Generate Square Fiducial Applications
    • The post script format has been tweaked so that the page size is specified with the /PageSize command also
    • A printing company was having issues correcting sizing the document until this change was made.
  • Refactored FactoryCalibrationTarget -> FactoryFiducialCalibration
  • FactoryMotion2D
    • Removed image type specific functions and updated code for more recent API
  • Fixed bug in StitchingFromMotion2D where reset() could cause a null pointer exception
  • Android
    • work around for a crash bug in Marshmallow
  • Removed applet module in integration
  • Template Matching
    • Added correlation using FFT
    • Tweaked API so that preprocessing of image can be performed
  • TypeInterpolation renamed to InterpolationType for consistency
  • Changed behavior of AssociateSurfBasic
    • no longer throws an exception if src or dst features are empty