9月13日#成都#源创会,Swift、Docker、云计算、大数据!
Dlib 18.10 发布,更新内容如下:
新特性: - Added find_similarity_transform() - Added the ability to upgrade a auto_mutex_readonly from a readonly lock to a write lock. - Added an implementation of the paper "One Millisecond Face Alignment with an Ensemble of Regression Trees" by Vahid Kazemi and Josephine Sullivan which appeared in this year's CVPR conference. Therefore, dlib now includes tools for learning shape models and also comes with a state-of-the-art face landmark locator. See the face_landmark_detection_ex.cpp and train_shape_predictor_ex.cpp example programs for an introduction. 向后不兼容改进: - Made the interface to all the image processing routines more generic. In particular, it is now easier to use arbitrary image types with dlib. The new generic image interface is defined in dlib/image_processing/generic_image.h and simply consists of seven user defined global functions and a traits template. Any user code that was using array2d objects to represent images will still work. However, if you had been using your own custom image object you will need to provide implementations of the seven functions. Instructions for how to do this are in dlib/image_processing/generic_image.h. Bug 修复: - Changed the murmur hash implementation to avoid any possibility of strict aliasing violations in user code, even when things get inlined in unfavorable ways. - Fixed a color space handling bug in resize_image() that caused bad looking outputs in some cases. - If "cmake" was a substring of the full path to your source code folder then the cmake scripts would fail. This has been fixed. - Fixed a compile time error that could occur when using find_max_single_variable(). 其他改进: - load_image() now uses the internal file header information to detect the image format rather than looking at the file extension. - Renamed unit test program to dtest avoid warnings from CMake. - cross_validate_trainer() and cross_validate_trainer_threaded() no loner make copies of the training data. This significantly reduces their RAM usage for large datasets. - Changed the serialization code for C-strings so that they don't save the null terminator byte. This makes their serialization format the same as the format for std::string. The code should still be able to read all previously serialized data correctly, so the change is backwards compatible with previous versions of dlib. - Changed the evaluate_detectors() routine so that it applies non-max suppression to each detector individually. This way one detector doesn't stomp on the output of another detector. - Made the version of draw_line() that draws onto a regular image use alpha blending for drawing diagonal lines.
Dlib是一个使用现代C++技术编写的跨平台的通用库,遵守Boost Software licence.
主要特点如下:
1.完善的文档:每个类每个函数都有详细的文档,并且提供了大量的示例代码,如果你发现文档描述不清晰或者没有文档,告诉作者,作者会立刻添加。
2.可移植代码:代码符合ISO C++标准,不需要第三方库支持,支持win32、Linux、Mac OS X、Solaris、HPUX、BSDs 和 POSIX 系统
3.线程支持:提供简单的可移植的线程API
4.网络支持:提供简单的可移植的Socket API和一个简单的Http服务器
5.图形用户界面:提供线程安全的GUI API
6.数值算法:矩阵、大整数、随机数运算等
7.机器学习算法:
8.图形模型算法:
9.图像处理:支持读写Windows BMP文件,不同类型色彩转换
10.数据压缩和完整性算法:CRC32、Md5、不同形式的PPM算法
11.测试:线程安全的日志类和模块化的单元测试框架以及各种测试assert支持
12.一般工具:XML解析、内存管理、类型安全的big/little endian转换、序列化支持和容器类