首页 > 新闻, 资源 > NASA的开源视觉库:Vision workbench

NASA的开源视觉库:Vision workbench

2010年5月12日 发表评论 阅读评论

nasa vision workbench

以前听说过NASA有个视觉的开源库,也去官网上找过,未果。今天偶然看到,原来名字是Vision Workbench,给大伙看看,有空读一读哈。

貌似重度依赖boost和template。。。哎。头疼啊。

亮点是有HDR支持(crf估计,合成,tone mapping),和全景拼接。

首先是下载链接。边下载边读简介吧。

下面是官方的简介:

The (VW) is a general purpose image processing and computer vision library developed by the Autonomous Systems and Robotics (ASR) Area in the Intelligent Systems Division at the NASA Ames Research Center. VW has been publicly released under the terms of the NASA Open Source Software Agreement.

The Vision Workbench was implemented in the C++ programming language and makes extensive use of C++ templates and generative programming techniques for conciseness of expression, efficiency of operation, and generalization of implementation.

While substantial functionality is implemented in the Vision Workbench, the goal of the library is not to provide advanced cutting-edge image processing or computer vision capabilities. Rather, the intent is to provide a solid efficient foundation implementing well known techniques and a common framework for doing advanced research and development in collaboration with others.

The intended audience for the Vision Workbench includes computer vision and robotics researchers and developers, as well as those who simply want to transform or enhance images. At this point in time, the VW may not be suitable for those who have little experience or familiarity with C++.

The Vision Workbench is primarily developed by the Intelligent Robotics Group (IRG) in the Intelligent Systems Division at the NASA Ames Research Center. IRG has been actively developing image processing and machine vision techniques for planetary exploration since 1995. Initially focused on providing immersive visualization capabilities for mission control, these systems were subsequently adapted for use on-board planetary rovers, as well as for large-scale data processing of planetary satellite imagery.

库的组成:

C++ templates are used extensively throughout the Vision Workbench. This enables compile time expansion and optimization of expressions, and in general terms, compile-time computation of checks and quantities that are typically performed at run-time with more traditional object oriented approaches. In addition, extensive parameterization by type of functions and classes together with careful design has the well known advantage of enabling code reuse across a variety of applications.

The Vision Workbench has a hierarchical layered architecture where each implementation layer is composed of a set of modules that are independent of modules in higher level layers. Dependencies between modules in a given layer and circular dependencies (direct or indirect) between modules are not permitted.

The following modules are distributed with this release:

  • Camera
    • pinhole and linescan camera models
    • EXIF metadata parsing
    • bayer filter decoding
  • Cartography
    • transformation between map projections
    • geo-referenced file IO (GeoTIFF, etc.)
  • Core
    • exception handling
    • debugging support
    • type system support
    • cache support
  • FileIO
    • reading and writing JPEG, PNG, TIFF, PDS, OpenEXR files (requires 3rd party libraries)
    • image paging support for large files
    • high dynamic range image creation from bracketed low dynamic range exposures
    • camera response curve estimation
    • global and local tone mapping operators
  • Image
    • convolution — convolve images with linear filters
    • algebra — image addition, subtraction, and multiplication by a scalar
    • math — perform per pixel math operations on images (e.g., abs, hypot, sqrt, pow, exp, log, sin, cos, asin, acos, atan2, etc.)
    • transformations — translation, rotation, scale, resampling, arbitrary warps
    • image statistics
  • Math
    • vector, matrix, quaternion and linear algebra (interface to LAPACK)
    • optimization — levenberg-Marquardt, conjugate gradient
    • homographies — estimation of relations between geometric entities
    • bounding boxes — Determination of geometric extent
  • Mosaic
    • assembling large image composites from many source images
    • multi-band blending
    • generating on-disk quad-tree representations of extremely large images
  • Stereo
    • correlating stereo pairs of images
    • stereo camera models for 3D reconstruction
    • outlier rejection

The Core, Math, Image, and FileIO modules are considered to be foundational and are required for typical library usage. The Camera, HDR, and Cartography modules are included in the library by default, but can be disabled in the VW library build process if not desired.

  1. powerlee
    2010年5月13日03:32 | #1

    NASA出品,必属精品。。。有机会一定要试试。。。boost, template怎么了?

  2. 2010年5月13日08:44 | #2

    boost和template,感觉里面trick太多,乍一看像看天书。出错信息也很晦涩。不太喜欢。@powerlee

  1. 本文目前尚无任何 trackbacks 和 pingbacks.