Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/stephanecharette/DarkMark

Marking up images for use with Darknet.
https://github.com/stephanecharette/DarkMark

computer-vision cpp darknet image-annotation juce machine-learning neural-network opencv yolo

Last synced: about 1 month ago
JSON representation

Marking up images for use with Darknet.

Awesome Lists containing this project

README

        

# What is DarkMark?

[![DarkMark and DarkHelp demo](src-dox/darkmark_demo_thumbnail.png)](https://www.youtube.com/watch?v=w1lTCO2Kmsc)

DarkMark is a C++ GUI tool used to annotate images for use in neural networks. It was written specifically to be used with the [Darknet](https://github.com/AlexeyAB/darknet) neural network framework, and has several features tailored for use with Darknet and YOLO.

![DarkMark editor window with annotated image of a dog](src-dox/darkmark_editor.png)

When you first launch DarkMark, you can specify a Darknet-style neural network to load with the selected project. DarkMark uses that neural network to assist you in marking up more images.

![DarkMark launcher](src-dox/darkmark_launcher.png)

Several different review capabilities exist to quickly review all the annotations and highlight some common errors.

![DarkMark review window](src-dox/darkmark_review.png)

Once ready, DarkMark can also be used to generate all of the Darknet and YOLO (or other) configuration files to train a new neural network. This includes the modifications needed to the .cfg file, as well as the .data, training and validation .txt files. DarkMark will also create some shell scripts to start the training and copy the necessary files between computers.

![Darknet configuration](src-dox/darknet_options_partial.png)

# License

DarkMark is open source and published using the GNU GPL v3 license. See license.txt for details.

# How to Build DarkMark

Extremely simple easy-to-follow tutorial on how to build [Darknet](https://github.com/hank-ai/darknet#table-of-contents), [DarkHelp](https://github.com/stephanecharette/DarkHelp#building-darkhelp-linux), and DarkMark:

[![DarkHelp build tutorial](https://github.com/hank-ai/darknet/raw/master/doc/linux_build_thumbnail.jpg)](https://www.youtube.com/watch?v=WTT1s8JjLFk)

DarkMark requires both [Darknet](https://github.com/hank-ai/darknet#linux-cmake-method) and [DarkHelp](https://github.com/stephanecharette/DarkHelp#building-darkhelp-linux) to build.

Once Darknet and DarkHelp have been built and installed, run the following commands to build DarkMark on Ubuntu:

sudo apt-get install build-essential libopencv-dev libx11-dev libfreetype6-dev libxrandr-dev libxinerama-dev libxcursor-dev libmagic-dev libpoppler-cpp-dev
cd ~/src
git clone https://github.com/stephanecharette/DarkMark.git
cd DarkMark
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make -j4 package
sudo dpkg -i darkmark*.deb

If you are using WSL2, Docker, or a Linux distro that does not come with the default fonts typically found on Ubuntu, you'll also need to install this:

sudo apt-get install fonts-liberation

# Doxygen Output

The official DarkMark documentation and web site is at .

Some links to specific useful pages:

- [DarkMark keyboard shortcuts](https://www.ccoderun.ca/darkmark/Keyboard.html)
- ["How To" on image markup](https://www.ccoderun.ca/darkmark/ImageMarkup.html)
- [Data augmentation in Darknet](https://www.ccoderun.ca/darkmark/DataAugmentation.html)
- [Darknet configuration files](https://www.ccoderun.ca/darkmark/Configuration.html)
- [Darknet FAQ](https://www.ccoderun.ca/programming/darknet_faq/)
- [Discord server for Darknet, YOLO, DarkHelp, and DarkMark](https://discord.gg/zSq8rtW)