Releases: Project-10/DGM
Releases · Project-10/DGM
v.1.7.0
This is our grand winter release which includes dense graphical models, supports Linux, OpenCV v.4.0, C++17 and has many other new features. The library interface has also undergone changes as massive refactoring was performed. The main emphasis of refactoring was on simplifying the user code needed to initialize and use the basic library classes. We have also started to monitor the quality of our code with CodeFactor and got grade score A (97,6%).
Release highlights
- DGM is now available for Linux (Ubuntu 18.04) operating system (many thanks to @Genj1n).
- DGM is now C++17 library and requires C++17-compliant compiler. However the roll-back to C++11 is straightforward.
- DGM now supports recently released OpenCV v.4.0 (many thanks to @TechnikEmpire). The support of OpenCV v.3.4 is still present.
- Two new tutorials:
- Demo Dense tutorial, which introduces new dense graphical models.
- Advanced Demo Param Estimation tutorial for using Powell search method.
- Almost 10 new tests were added
DGM Module
- Complete (dense) graphical models were added to the model:
- Graph classes: CGraphDense and auxiliary CGraphDenseExt and CGraphDenseKit.
- Inference for the dense graphs CInferDense
- Dense graph edge models IEdgeModel
- Graph extensions classes derived from CGraphExt, which significantly simplify building and filling the 2D graphical models used for image classification. In addition, with help of the CGraphPairwiseExt class the training of the graph edges was also simplified in terms of the required user code.
- Factory methods were added, which allow for creating objects of a library in a way such that it doesn’t have tight coupling with the class hierarchy of the library.
- Graph and dependent objects factory CGraphKit
- Node trainer factory CTrainNode::create()
- Edge trainer factory CTrainEdge::create()
- Refactored classes (with subsequent change of the interface). Refactoring mainly included substitution of pointers with references, raw pointers with smart pointers, protected member-variables with private
member-variables and removing friend classes.- Added default and optional group id on adding new graph edge or arc
- CGraph and CGraphLayeredExt (renamed from IGraph and CGraphLayered respectively)
- CTrainEdge
- CDecode, CInfer and CInferExact
- CPowell
- Boost library was removed from the 3rdparty code. Subsequently CGraphBoost was moved to a separate branch.
VIS Module
- Visualization module now supports recently released glew v.2.1
v.1.6.0
v.1.5.3
In this update three new unary classifiers appear and the Google Test framework is incorporated into the DGM library. In order to use it with Visual Studio please use this Google Test Adapter. See the changelog for more details.