DarkMark  v1.10.2-1
Image markup for darknet machine learning.
Looking for a C++ dev who knows OpenCV?
I'm looking for work. Hire me!
Keyboard Shortcuts

DarkMark keyboard shortcuts:

Key Saves Modified Marks First Description
LEFT yes Go to previous image. If at the first image, do nothing.
RIGHT yes Go to the next image. If at the last image, do nothing.
UP Increase Darknet threshold.
DOWN Decrease Darknet threshold.
PAGEUP yes Go to the previous image which has not yet been marked. (Also see 'Y'.)
PAGEDOWN yes Go to the next image which has not yet been marked. (Also see 'y'.)
HOME yes Go to the first image.
END yes Go to the last image.
ENTER (or RETURN) Display the 'class' menu (see 'c' key).
DEL Delete the currently selected marking.
BACKSPACE Same as DEL.
SHIFT + DEL no Delete the current image from disk. Moves the image to the trash, removing it from the data set. Be careful, this does not prompt!
ESC yes Cancels "zoom" if active, otherwise quit from DarkMark.
F1 About DarkMark.
TAB Move focus to the next marking.
SHIFT + TAB Move focus to the previous marking.
+ Zoom image +10%. Can be pressed repeatedly.
SHIFT + + Zoom image 500%.
- Zoom image -10%. Can be pressed repeatedly.
SPACE Toggle between automatic zoom and manual zoom (see '-', '+', and 'ESC' keys).
a (lowercase) Accept all Darknet predictions (if any) for the current image as actual markings.
A (uppercase) Accept only the currently-selected prediction and discard all other predictions. If none are selected, then this behaves like 'a' where all predictions are accepted.
b (lowercase) Toggle bold mode. All markings will be displayed in "bold", making it easier to review.
B (uppercase) Toggle shade mode. All marked rectangles will be shaded in a semi-transparent colour.
c (lowercase) Display the 'class' menu (see ENTER key).
C (uppercase) Clear all marks for the current image.
d (lowercase) Snap the current annotation, or all annotations on the current image if no annotation is selected.
D (uppercase) Toggle auto-snapping. Intended for use when annotating objects on a simple background, such as text on light-coloured paper. (But see note below.)
e Miscellaneous settings window.
f yes Filter window.
h yes Cycle between the various heatmaps for each class. This will only make a difference if your network has more than 1 class.
H yes Toggle loading and displaying the heatmap from Darknet.
j yes Jump to a different image.
l Cycle between the various label modes (on, off, auto).
m Toggle hiding/showing the marks. This may also impact showing predictions if it is set to auto (see 'p' key).
n yes Mark image as empty ("none") and move to the next image.
p Toggle Darknet predictions. This can be used to force DarkMark to show the Darknet predictions even on images that have already been marked. Darknet predictions are never saved to the .json or .txt files, they have to be accepted first. (See 'a' key.)
r (lowercase) yes Randomly shuffle the images and load the first image.
R (uppercase) yes Sort images alphabetically.
s (lowercase) Save the current image, with the markings (if any) to a new filename. Think of this as "screenshot". Screenshots must be saved in either .jpg or .png file format (default is PNG).
S (uppercase) Same as 's' (lowercase) but the file will be saved at 100% zoom, not at the current zoom level.
t yes Toggle image tiling. See Image Size and Tiling.
w Toggle black-and-white mode. Images remain unchanged on disk, but shown in black-and-white (not greyscale!) in the main DarkMark window. This can be useful when annotating images of text documents.
y (lowercase) Copy marks from previous (alphabetical) marked up image.
Y (uppercase) Copy marks from next (alphabetical) marked up image.
z yes This zooms into the image to review all the annotations. Use 'z' again to move to the next annotation or file.
0-9 Set the class ID of the currently selected mark to the specified value zero through nine.
CTRL + 0-9 Set the class ID of the currently selected mark to the value 10-19 (specified key + 10).
ALT + 0-9 Set the class ID of the currently selected mark to the value 20-29 (specified key + 20).
CTRL + ALT + 0-9 Set the class ID of the currently selected mark to the value 30-39 (specified key + 30).

In addition to these keyboard shortcuts, note the following mouse-click behaviour:

  • When you click on an existing mark, the application remembers both the class and the size of the selected mark. If you then double-click on an image, DarkMark assumes you want to create a new marking of the same size, and with the same class. The new marking is positioned so the mouse click is at the center of the mark. This can be useful if images have a large number of repeating objects which must each be marked.
  • While resizing an existing mark, you can hold down SHIFT to alter the snap behaviour. If snap is disabled, then holding down SHIFT when you let go of the mouse button will temporarily enable snapping. If snap is enabled, then holding down SHIFT when you let go of the mouse button will temporarily disable snapping.