mirror of
https://github.com/davisking/dlib.git
synced 2024-11-01 10:14:53 +08:00
229 lines
14 KiB
XML
229 lines
14 KiB
XML
<?xml version="1.0" encoding="ISO-8859-1"?>
|
|
<?xml-stylesheet type="text/xsl" href="stylesheet.xsl"?>
|
|
|
|
<doc>
|
|
|
|
<!-- ************************************************************************* -->
|
|
|
|
<body>
|
|
|
|
<p>
|
|
|
|
Dlib is a general purpose cross-platform C++ library designed using contract programming
|
|
and modern C++ techniques.
|
|
|
|
It is open source software and licensed
|
|
under the <a href="license.html">Boost Software License</a>.
|
|
|
|
The <a href="intro.html">introduction</a> contains everything you need to know to get
|
|
started using the library. However, if you have any questions, comments, or complaints feel free to
|
|
<a href='mailto:davis@dlib.net'>email me</a><web> or post in the
|
|
sourceforge <a href='http://sourceforge.net/forum/?group_id=130373'>Forums</a></web>.
|
|
|
|
|
|
</p>
|
|
|
|
<chm>
|
|
<p>
|
|
For updates to this project see <a href="http://dlib.net">dlib.net</a>.
|
|
</p>
|
|
</chm>
|
|
|
|
<br/>
|
|
|
|
<p>
|
|
<h2>Major Features</h2>
|
|
<ul>
|
|
<li><b>Documentation</b>
|
|
<ul>
|
|
<li>Unlike a lot of open source projects, this one provides complete and precise
|
|
documentation for every class and function. There are also debugging modes that check the
|
|
documented preconditions for functions. When this is enabled it will catch the vast majority of
|
|
bugs caused by calling functions incorrectly or using objects in an incorrect manner.
|
|
</li>
|
|
<li>Lots of example programs are provided</li>
|
|
<li><i>I consider the documentation to be the most important part of the library</i>. So if you find anything
|
|
that isn't documented, isn't clear, or has out of date documentation, tell me and I will fix it.
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
|
|
<li><b>High Quality Portable Code</b>
|
|
<ul>
|
|
<li>Good unit test coverage. The ratio of unit test lines of code to library lines of
|
|
code is about 1 to 4.</li>
|
|
<li>The library is tested regularly on MS Windows, Linux, and Mac OS X systems. However, it should
|
|
work on any POSIX system and has been used on Solaris, HPUX, and the BSDs.</li>
|
|
<li>No other packages are required to use the library. Only APIs that are
|
|
provided by an out of the box OS are needed. </li>
|
|
<li>There is no installation or configure step needed before you can use the library. See the
|
|
<a href="compile.html">How to compile</a> page for details.</li>
|
|
<li>All operating system specific code is isolated inside the OS abstraction layers which are
|
|
kept as small as possible. The rest of the library is either layered on top of the OS
|
|
abstraction layers or is pure ISO standard C++. </li>
|
|
</ul>
|
|
</li>
|
|
<li><b>Threading</b>
|
|
<ul>
|
|
<li>The library provides a portable and simple <a href="api.html#threads">threading API</a></li>
|
|
<li>A message passing <a href="other.html#pipe">pipe</a> for inter-thread and <a href="network.html#bridge">inter-process</a> communication</li>
|
|
<li>A <a href="other.html#timer">timer</a> object capable of generating events that are regularly spaced in time</li>
|
|
<li><a href="api.html#threaded_object">Threaded objects</a></li>
|
|
<li><a href="api.html#thread_function">Threaded functions</a></li>
|
|
<li><a href="api.html#parallel_for">Parallel for loops</a></li>
|
|
<li>A <a href="api.html#thread_pool">thread_pool</a> with support for futures</li>
|
|
</ul>
|
|
</li>
|
|
|
|
<li><b>Networking</b>
|
|
<ul>
|
|
<li>The library provides a portable and simple <a href="api.html#sockets">TCP sockets API</a></li>
|
|
<li>An object to help you make TCP based <a href="network.html#server">servers</a></li>
|
|
<li><a href="network.html#iosockstream">iostream</a> and <a href="network.html#sockstreambuf">streambuf</a>
|
|
objects that enables TCP sockets to interoperate with the C++ iostreams library </li>
|
|
<li>A simple <a href="network.html#server_http">HTTP server</a> object you can use to embed a
|
|
web server into your applications</li>
|
|
<li>A message passing <a href="other.html#pipe">pipe</a> for inter-thread and <a href="network.html#bridge">inter-process</a> communication</li>
|
|
<li>A tool used to implement algorithms using the
|
|
<a href="network.html#bsp_context">Bulk Synchronous Parallel (BSP)</a> computing model</li>
|
|
</ul>
|
|
</li>
|
|
|
|
<li><b>Graphical User Interfaces</b>
|
|
<ul>
|
|
<li>The library provides a portable and simple core <a href="api.html#gui_core">GUI API</a></li>
|
|
<li>Implemented on top of the core GUI API are numerous <a href="api.html#gui_widgets">widgets</a></li>
|
|
<li>Unlike many other GUI toolkits, the entire dlib GUI toolkit is threadsafe</li>
|
|
</ul>
|
|
</li>
|
|
|
|
|
|
<li><b>Numerical Algorithms</b>
|
|
<ul>
|
|
<li>A fast <a href="linear_algebra.html#matrix">matrix</a> object implemented using the expression
|
|
templates technique and capable of using BLAS and LAPACK libraries when available.</li>
|
|
<li>Numerous linear algebra and mathematical operations are defined for the matrix object such as the
|
|
<a href="dlib/matrix/matrix_la_abstract.h.html#svd">singular value decomposition</a>,
|
|
<a href="dlib/matrix/matrix_utilities_abstract.h.html#trans">transpose</a>,
|
|
<a href="dlib/matrix/matrix_math_functions_abstract.h.html#sin">trig functions</a>, etc.</li>
|
|
<li>General purpose unconstrained non-linear optimization algorithms using the
|
|
<a href="optimization.html#cg_search_strategy">conjugate gradient</a>,
|
|
<a href="optimization.html#bfgs_search_strategy">BFGS</a>, and
|
|
<a href="optimization.html#lbfgs_search_strategy">L-BFGS</a>
|
|
techniques</li>
|
|
<li> <a href="optimization.html#solve_least_squares_lm">Levenberg-Marquardt</a> for solving non-linear
|
|
least squares problems </li>
|
|
<li>Box-constrained derivative-free optimization via the
|
|
<a href="optimization.html#find_min_bobyqa">BOBYQA</a> algorithm</li>
|
|
<li>An implementation of the <a href="optimization.html#oca">Optimized Cutting Plane Algorithm</a></li>
|
|
<li><preserve_space><a href="optimization.html#solve_qp_using_smo">Several</a>
|
|
<a href="optimization.html#solve_qp2_using_smo">quadratic</a>
|
|
<a href="optimization.html#solve_qp3_using_smo">program</a>
|
|
<a href="optimization.html#solve_qp4_using_smo">solvers</a></preserve_space> </li>
|
|
<li>Combinatorial optimization tools for solving
|
|
<a href="optimization.html#max_cost_assignment">optimal assignment</a> and
|
|
<a href="optimization.html#min_cut">min cut/max flow</a> problems as well as
|
|
the <a href="optimization.html#find_max_parse_cky">CKY algorithm</a> for finding the most probable parse tree</li>
|
|
<li>A <a href="algorithms.html#bigint">big integer</a> object</li>
|
|
<li>A <a href="algorithms.html#rand">random number</a> object</li>
|
|
</ul>
|
|
</li>
|
|
|
|
<li><b>Machine Learning Algorithms</b>
|
|
<ul>
|
|
<li>Conventional SMO based Support Vector Machines for <a href="ml.html#svm_nu_trainer">classification</a>
|
|
and <a href="ml.html#svr_trainer">regression</a> </li>
|
|
<li>Reduced-rank methods for large-scale <a href="ml.html#svm_c_ekm_trainer">classification</a>
|
|
and <a href="ml.html#krr_trainer">regression</a></li>
|
|
<li>Relevance vector machines for <a href="ml.html#rvm_trainer">classification</a>
|
|
and <a href="ml.html#rvm_regression_trainer">regression</a> </li>
|
|
<li>General purpose <a href="ml.html#one_vs_one_trainer">multiclass classification</a> tools</li>
|
|
<li>A <a href="ml.html#svm_multiclass_linear_trainer">Multiclass SVM</a></li>
|
|
<li>A tool for solving the optimization problem associated with
|
|
<a href="ml.html#structural_svm_problem">structural support vector machines</a>. </li>
|
|
<li>Structural SVM tools for <a href="ml.html#structural_sequence_labeling_trainer">sequence labeling</a> </li>
|
|
<li>Structural SVM tools for solving <a href="ml.html#structural_assignment_trainer">assignment problems</a> </li>
|
|
<li>Structural SVM tools for <a href="ml.html#structural_object_detection_trainer">object detection</a> in images </li>
|
|
<li>Structural SVM tools for <a href="ml.html#structural_graph_labeling_trainer">labeling nodes</a> in graphs </li>
|
|
<li>A large-scale <a href="ml.html#svm_rank_trainer">SVM-Rank</a> implementation</li>
|
|
<li>An online <a href="ml.html#krls">kernel RLS regression</a> algorithm</li>
|
|
<li>An online <a href="ml.html#svm_pegasos">SVM classification</a> algorithm</li>
|
|
<li><a href="ml.html#vector_normalizer_frobmetric">Semidefinite Metric Learning</a></li>
|
|
<li>An online kernelized <a href="ml.html#kcentroid">centroid estimator</a>/novelty detector and
|
|
offline support vector <a href="ml.html#svm_one_class_trainer">one-class classification</a></li>
|
|
<li>Clustering algorithms: <a href="ml.html#find_clusters_using_kmeans">linear</a>
|
|
or <a href="ml.html#kkmeans">kernel k-means</a>,
|
|
<a href="ml.html#chinese_whispers">Chinese Whispers</a>, and
|
|
<a href="ml.html#newman_cluster">Newman clustering</a>. </li>
|
|
<li><a href="ml.html#rbf_network_trainer">Radial Basis Function Networks</a></li>
|
|
<li><a href="ml.html#mlp">Multi layer perceptrons</a> </li>
|
|
</ul>
|
|
</li>
|
|
|
|
<li><b>Graphical Model Inference Algorithms</b>
|
|
<ul>
|
|
<li><a href="bayes.html#bayesian_network_join_tree">Join tree</a> algorithm for exact inference in
|
|
a Bayesian network.</li>
|
|
<li><a href="bayes.html#bayesian_network_gibbs_sampler">Gibbs sampler</a> markov chain monte
|
|
carlo algorithm for approximate inference in a Bayesian network.</li>
|
|
<li>Routines for performing MAP inference in
|
|
<a href="optimization.html#find_max_factor_graph_viterbi">chain-structured</a>,
|
|
<a href="optimization.html#find_max_factor_graph_potts">Potts</a>, or
|
|
<a href="optimization.html#find_max_factor_graph_nmplp">general</a> factor graphs.</li>
|
|
</ul>
|
|
</li>
|
|
|
|
<li><b>Image Processing</b>
|
|
<ul>
|
|
<li>Routines for <a href="imaging.html#load_image">reading</a> and
|
|
<a href="imaging.html#save_bmp">writing</a> common image formats. </li>
|
|
<li>Automatic color space conversion between various pixel types</li>
|
|
<li>Common image operations such as edge finding and morphological operations</li>
|
|
<li>Implementations of the <a href="imaging.html#get_surf_points">SURF</a>,
|
|
<a href="imaging.html#hog_image">HOG</a>, and <a href="imaging.html#extract_fhog_features">FHOG</a>
|
|
feature extraction algorithms.</li>
|
|
<li>Tools for <a href="imaging.html#object_detector">detecting objects</a> in images.</li>
|
|
</ul>
|
|
</li>
|
|
|
|
<li><b>Data Compression and Integrity Algorithms</b>
|
|
<ul>
|
|
<li>A <a href="algorithms.html#crc32">CRC 32</a> object</li>
|
|
<li><a href="algorithms.html#md5">MD5</a> functions</li>
|
|
<li>Various abstracted objects representing parts of <a href="compression.html">data compression</a>
|
|
algorithms. Many forms of the PPM algorithm are included. </li>
|
|
</ul>
|
|
</li>
|
|
|
|
<li><b>Testing</b>
|
|
<ul>
|
|
<li>A thread safe <a href="other.html#logger">logger</a> object styled after the popular Java logger log4j</li>
|
|
<li>A modular <a href="other.html#dlib_testing_suite">unit testing framework</a></li>
|
|
<li>Various <a href="metaprogramming.html">assert</a> macros useful for testing preconditions</li>
|
|
</ul>
|
|
</li>
|
|
|
|
<li><b>General Utilities</b>
|
|
<ul>
|
|
<li>A type-safe <a href="other.html#byte_orderer">object</a> to convert between big and little endian byte orderings</li>
|
|
<li>A <a href="parsing.html#cmd_line_parser">command line parser</a> with the ability to
|
|
parse and validate command lines with various types of arguments and options</li>
|
|
<li>An <a href="parsing.html#xml_parser">XML parser</a></li>
|
|
<li>An object that can perform <a href="parsing.html#base64">base64</a> conversions</li>
|
|
<li>Many <a href="containers.html">container classes</a></li>
|
|
<li><a href="other.html#serialize">Serialization support</a></li>
|
|
<li>Many <a href="other.html#memory_manager">memory manager</a> objects that implement
|
|
different memory pooling strategies</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
|
|
</p>
|
|
|
|
|
|
</body>
|
|
|
|
<!-- ************************************************************************* -->
|
|
|
|
</doc>
|