Code Monkey home page Code Monkey logo

yolo_mark's Introduction

Yolo_mark

Windows & Linux GUI for marking bounded boxes of objects in images for training Yolo v3 and v2

  • To compile on Windows open yolo_mark.sln in MSVS2013/2015, compile it x64 & Release and run the file: x64/Release/yolo_mark.cmd. Change paths in yolo_mark.sln to the OpenCV 2.x/3.x installed on your computer:

    • (right click on project) -> properties -> C/C++ -> General -> Additional Include Directories: C:\opencv_3.0\opencv\build\include;

    • (right click on project) -> properties -> Linker -> General -> Additional Library Directories: C:\opencv_3.0\opencv\build\x64\vc14\lib;

  • To compile on Linux type in console 3 commands:

    cmake .
    make
    ./linux_mark.sh
    

Supported both: OpenCV 2.x and OpenCV 3.x


  1. To test, simply run
  • on Windows: x64/Release/yolo_mark.cmd
  • on Linux: ./linux_mark.sh
  1. To use for labeling your custom images:
  1. To training for your custom objects, you should change 2 lines in file x64/Release/yolo-obj.cfg:

3.1 Download pre-trained weights for the convolutional layers (76 MB): http://pjreddie.com/media/files/darknet19_448.conv.23

3.2 Put files: yolo-obj.cfg, data/train.txt, data/obj.names, data/obj.data, darknet19_448.conv.23 and directory data/img near with executable darknet-file, and start training: darknet detector train data/obj.data yolo-obj.cfg darknet19_448.conv.23

For a detailed description, see: https://github.com/AlexeyAB/darknet#how-to-train-to-detect-your-custom-objects


How to get frames from videofile:

To get frames from videofile (save each N frame, in example N=10), you can use this command:

  • on Windows: yolo_mark.exe data/img cap_video test.mp4 10
  • on Linux: ./yolo_mark x64/Release/data/img cap_video test.mp4 10

Directory data/img should be created before this. Also on Windows, the file opencv_ffmpeg340_64.dll from opencv\build\bin should be placed near with yolo_mark.exe.

As a result, many frames will be collected in the directory data/img. Then you can label them manually using such command:

  • on Windows: yolo_mark.exe data/img data/train.txt data/obj.names
  • on Linux: ./yolo_mark x64/Release/data/img x64/Release/data/train.txt x64/Release/data/obj.names

Here are:

  • /x64/Release/

    • yolo_mark.cmd - example hot to use yolo mark: yolo_mark.exe data/img data/train.txt data/obj.names
    • train_obj.cmd - example how to train yolo for your custom objects (put this file near with darknet.exe): darknet.exe detector train data/obj.data yolo-obj.cfg darknet19_448.conv.23
    • yolo-obj.cfg - example of yoloV3-neural-network for 2 object
  • /x64/Release/data/

    • obj.names - example of list with object names
    • obj.data - example with configuration for training Yolo v3
    • train.txt - example with list of image filenames for training Yolo v3
  • /x64/Release/data/img/air4.txt - example with coordinates of objects on image air4.jpg with aircrafts (class=0)

Image of Yolo_mark

Instruction manual

Mouse control

Button Description
Left Draw box
Right Move box

Keyboard Shortcuts

Shortcut Description
Next image
Previous image
r Delete selected box (mouse hovered)
c Clear all marks on the current image
p Copy previous mark
o Track objects
ESC Close application
n One object per image
0-9 Object id
m Show coords
w Line width
k Hide object name
h Help

yolo_mark's People

Contributors

alexeyab avatar ido-ran avatar lovexytoo avatar rrmoelker avatar tinohager avatar vinjn avatar vn7n24fzkq avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

yolo_mark's Issues

Zoom in and label

@AlexeyAB

Is there a way to zoom in and label the object?
I'm trying to label small objects as well as big objects and
was wondering if there's a way or hot key to hold the zoomed in img and label the object

Thanks

no known conversion from 'std::vector<std::string>' to 'std::vector<String> &'

How can I fix this?

$ make
[ 50%] Building CXX object CMakeFiles/yolo_mark.dir/main.cpp.o
/Users/liujimmy8877/Desktop/Yolo_mark/main.cpp:120:3: error: no matching function for call to
      'glob'
                glob(images_path, filenames_in_folder); // void glob(String pattern, std:...
                ^~~~
/usr/local/include/opencv2/core/utility.hpp:184:17: note: candidate function not viable: no known
      conversion from 'std::vector<std::string>' (aka 'vector<basic_string<char,
      char_traits<char>, allocator<char> > >') to 'std::vector<String> &' for 2nd argument
CV_EXPORTS void glob(String pattern, std::vector<String>& result, bool recursive = false);
                ^
1 error generated.
make[2]: *** [CMakeFiles/yolo_mark.dir/main.cpp.o] Error 1
make[1]: *** [CMakeFiles/yolo_mark.dir/all] Error 2
make: *** [all] Error 2

Trailing whitespace

Hello,

The code creates a trailing white-space after the last line. I mean if you check the annotations, there is a white-space after the last coordinate. for example:

0 0.479297 0.554861 0.705469 0.793056
<white-space>

Would you please fix it?

command window and the rendered characters on the image

Hello Alexey,i have two questions,i'll be glad if you answer them

1)Can we disable the command window when doing annotations?
2)Can we disable the rendered characters on the image when doing annotations?Because sometimes they can be a small object there and the characters cover it.

problem with different image file types, train.txt

Hello,

I have two issues with this software.

  1. it seems it does not generate the train.txt file intself and we gonna make it before start labeling, isn't it?

  2. I have some images with PNG format, the software seems to be unable to read them.

False positive rate more if increase resolution

Hi,

As you suggested, to detect smaller objects I increased the resolution to 1024x1024. But this increases my false positive rate. Could you suggest how to reduce this? Also, how should training be done if my object size is small, that is street light. I am also cropping the images with street lights for training and resizing to 416x416 to use for training. Please suggest. Thanks.

show mouse pointers axis on image

Hello Alexey,is there a way that you can add this functionality to show mouse pointers axis' on image when annotating,it would make annotations much more easier =)

Thanks.

./yolo_mark.cmd

I have two issues
First, when I run yolo_mark.cmd file I get the following error

abdulrahman@abdulrahman-ThinkPad-X230-Tablet:~/darknet/Yolo_mark/x64/Release$ ./yolo_mark.cmd
Example how to start marking bouded boxes for training set Yolo v2
./yolo_mark.cmd: line 4: yolo_mark.exe: command not found
./yolo_mark.cmd: line 7: pause: command not found

Second,
When I want to train it, I use darknet.exe detector train data/obj.data yolo-obj.cfg darknet19_448.conv.23
the file could be not found !!!

getting nan value while training

when i'm trying to train my dataset on yolo it's giving me some nan value.
I have 200 images of dataset. and I want to train my network so that I could get weights for my model.

please help me resolving this error.
Region Avg IOU: -nan, Class: -nan, Obj: -nan, No Obj: 0.469436, Avg Recall: -nan, count: 0
Region Avg IOU: -nan, Class: -nan, Obj: -nan, No Obj: 0.461745, Avg Recall: -nan, count: 0
Region Avg IOU: -nan, Class: -nan, Obj: -nan, No Obj: 0.463417, Avg Recall: -nan, count: 0
Region Avg IOU: -nan, Class: -nan, Obj: -nan, No Obj: 0.463578, Avg Recall: -nan, count: 0
Region Avg IOU: -nan, Class: -nan, Obj: -nan, No Obj: 0.464747, Avg Recall: -nan, count: 0
Region Avg IOU: -nan, Class: -nan, Obj: -nan, No Obj: 0.465984, Avg Recall: -nan, count: 0
Region Avg IOU: -nan, Class: -nan, Obj: -nan, No Obj: 0.463966, Avg Recall: -nan, count: 0
Region Avg IOU: -nan, Class: -nan, Obj: -nan, No Obj: 0.463675, Avg Recall: -nan, count: 0
1: 217.337524, 217.337524 avg, 0.000500 rate, 1.763889 seconds, 16 images
Loaded: 0.000051 seconds

issue with running makefile

can you please tell me how to fix this.. I got this error after running make.

[ 50%] Linking CXX executable yolo_mark
CMakeFiles/yolo_mark.dir/main.cpp.o: In function main': main.cpp:(.text+0x61a): undefined reference to cv::VideoCapture::VideoCapture(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&)'
main.cpp:(.text+0x90f): undefined reference to cv::imshow(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, cv::_InputArray const&)' main.cpp:(.text+0xb0b): undefined reference to cv::imwrite(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, cv::_InputArray const&, std::vector<int, std::allocator > const&)'
main.cpp:(.text+0xbb5): undefined reference to cv::glob(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&, bool)' main.cpp:(.text+0x1843): undefined reference to cv::namedWindow(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, int)'
main.cpp:(.text+0x185c): undefined reference to cv::resizeWindow(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, int)' main.cpp:(.text+0x188e): undefined reference to cv::imshow(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, cv::_InputArray const&)'
main.cpp:(.text+0x18a7): undefined reference to cv::moveWindow(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, int)' main.cpp:(.text+0x18c0): undefined reference to cv::setMouseCallback(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, void ()(int, int, int, int, void), void*)'
main.cpp:(.text+0x194a): undefined reference to cv::createTrackbar(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int*, int, void (*)(int, void*), void*)' main.cpp:(.text+0x19d5): undefined reference to cv::createTrackbar(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, int*, int, void ()(int, void), void*)'
main.cpp:(.text+0x1a64): undefined reference to cv::setTrackbarPos(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)' main.cpp:(.text+0x20ac): undefined reference to cv::imread(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, int)'
main.cpp:(.text+0x22f0): undefined reference to cv::putText(cv::Mat&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, cv::Point_<int>, int, double, cv::Scalar_<double>, int, int, bool)' main.cpp:(.text+0x3528): undefined reference to cv::putText(cv::Mat&, std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, cv::Point, int, double, cv::Scalar, int, int, bool)'
main.cpp:(.text+0x3692): undefined reference to cv::setTrackbarPos(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)' main.cpp:(.text+0x3a17): undefined reference to cv::putText(cv::Mat&, std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, cv::Point, int, double, cv::Scalar, int, int, bool)'
main.cpp:(.text+0x3b86): undefined reference to cv::putText(cv::Mat&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, cv::Point_<int>, int, double, cv::Scalar_<double>, int, int, bool)' main.cpp:(.text+0x3cc4): undefined reference to cv::putText(cv::Mat&, std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, cv::Point, int, double, cv::Scalar, int, int, bool)'
main.cpp:(.text+0x3d74): undefined reference to cv::putText(cv::Mat&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, cv::Point_<int>, int, double, cv::Scalar_<double>, int, int, bool)' main.cpp:(.text+0x3e24): undefined reference to cv::putText(cv::Mat&, std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, cv::Point, int, double, cv::Scalar, int, int, bool)'
CMakeFiles/yolo_mark.dir/main.cpp.o:main.cpp:(.text+0x3f0d): more undefined references to cv::putText(cv::Mat&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, cv::Point_<int>, int, double, cv::Scalar_<double>, int, int, bool)' follow CMakeFiles/yolo_mark.dir/main.cpp.o: In function main':
main.cpp:(.text+0x47a6): undefined reference to `cv::imshow(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, cv::_InputArray const&)'
collect2: error: ld returned 1 exit status
CMakeFiles/yolo_mark.dir/build.make:112: recipe for target 'yolo_mark' failed
make[2]: *** [yolo_mark] Error 1
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/yolo_mark.dir/all' failed
make[1]: *** [CMakeFiles/yolo_mark.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2

Windows C++ Debug Assertion Failed

Hi, everyone, I compiled yolo_mark.sln on Windows open in MSVS2013. And when i ran yolo_mark.cmd, the cmd showed that:
...\x64\Release>echo Example how to start marking bouded boxes for training set Yolo v2
Example how to start marking bouded boxes for training set Yolo v2
...\x64\Release>yolo_mark.exe data/img data/train.txt data/obj.names

And it came out a window showing that:

---------------------------
Microsoft Visual C++ Runtime Library
---------------------------
Debug Assertion Failed!
Program: C:\windows\system32\MSVCP120D.dll
File: C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\vector
Line: 240
Expression: vector iterators incompatible
For information on how your program can cause an assertion
failure, see the Visual C++ documentation on asserts.
(Press Retry to debug the application)

How can i fix it? Plz help me.

Image files not found

Hi, I just tried your compiled file with my own datasets. I only got one object class which is car, and I got 8000+ images named car1 car2 car3, etc. and I put all of them in the Img directory. I only change the class number to 1, and update all directories for each image, but I got the following errors:

Example how to start marking bouded boxes for training set Yolo v2
Error: Image files not found by path: x64/Release/data/img

I'm wondering if I labeled them in the wrong way or I need to change more stuff, thanks!

Can't install this after git clonning

I am following this link and want to use Yolo_mark to find these parameters <x><y><width><height>
<x> = <absolute_x>/<width_of_image>
<y>=<absolute_y>/<height_of_image>
<width> = <width_of_object>/<width_of_image>
<height> = <height_of_object>/<height_of_image>

so after git clone link I get into the folder of yolo_mark and now followed the instructions that is
cmake .

CMake Error at CMakeLists.txt:3 (find_package):
  By not providing "FindOpenCV.cmake" in CMAKE_MODULE_PATH this project has
  asked CMake to find a package configuration file provided by "OpenCV", but
  CMake did not find one.

  Could not find a package configuration file provided by "OpenCV" with any
  of the following names:

    OpenCVConfig.cmake
    opencv-config.cmake

  Add the installation prefix of "OpenCV" to CMAKE_PREFIX_PATH or set
  "OpenCV_DIR" to a directory containing one of the above files.  If "OpenCV"
  provides a separate development package or SDK, be sure it has been
  installed.


-- Configuring incomplete, errors occurred!

Please help me, to come to this problem , I want to use this `yolo_mark` finally to detect objects in the image

number of classes

is it possible to use Yolo Mark in annotating for more than 10 classes?

CUDA Error: out of memory

hi, I trained one of my picture, and copied all files you mentioned, and then I got "CUDA Error: out of memory" error when I execute this command in darknet:

darknet detector train data/obj.data yolo-obj.cfg darknet19_448.conv.23

I assure that memory of my PC is sufficient. Any help will be thanked!

License

What kind of license does this project have? Can you please add a license file to this repository?

yolov3 training

@AlexeyAB it is exciting to see that yolo v3 is coming:)
could this tool be used to train v3? I noticed that the configuration is different, could we keep the filters num as V2? thank you

Cudnn=1 gives wrong classification

When I test classifier with cudnn=1, extraction.weights, darknet19.weights etc are giving me wrong classification but as I change my makefile to cudnn=0, they give me right classification. So my question is that will it worsen the pre-trained model if I train my detector even with darknet19_448.conv.23 weights with cudnn=1 .
Regards

Program crashes on pressing ESC

Hello,

When the number of images is relatively big (it does not happen when the number of images is around 10 .. 50 or something but it happens with it is around 250 images), pressing the ESC key will cause the program to crash. Please check the issue. Finally it seems that it does the job but with a crash. Platform: W10-64

2017-02-05_11-42-57

compile error

I have compiled darknet successfully, so my opencv should be correctly installed ,but I got the error below when I was compiling Yolo_mark.

In file included from /usr/local/include/opencv2/core.hpp:52:0,
                 from /usr/local/include/opencv2/highgui.hpp:46,
                 from /home/songlin.ysl/Documents/Yolo_mark/main.cpp:16:
/usr/local/include/opencv2/core/cvdef.h:328:15: error: redefinition of ‘union Cv32suf’
 typedef union Cv32suf
               ^
In file included from /home/ubuntu1/opencv-2.4.9/modules/core/include/opencv2/core/core_c.h:47:0,
                 from /home/ubuntu1/opencv-2.4.9/include/opencv2/opencv.hpp:46,
                 from /home/songlin.ysl/Documents/Yolo_mark/main.cpp:13:
/home/ubuntu1/opencv-2.4.9/modules/core/include/opencv2/core/types_c.h:198:15: error: previous definition of ‘union Cv32suf’
 typedef union Cv32suf
               ^
In file included from /usr/local/include/opencv2/core.hpp:52:0,
                 from /usr/local/include/opencv2/highgui.hpp:46,
                 from /home/songlin.ysl/Documents/Yolo_mark/main.cpp:16:
/usr/local/include/opencv2/core/cvdef.h:340:1: error: conflicting declaration ‘typedef int Cv32suf’
 Cv32suf;
 ^
In file included from /home/ubuntu1/opencv-2.4.9/modules/core/include/opencv2/core/core_c.h:47:0,
                 from /home/ubuntu1/opencv-2.4.9/include/opencv2/opencv.hpp:46,
                 from /home/songlin.ysl/Documents/Yolo_mark/main.cpp:13:
/home/ubuntu1/opencv-2.4.9/modules/core/include/opencv2/core/types_c.h:204:1: note: previous declaration as ‘typedef union Cv32suf Cv32suf’
 Cv32suf;
 ^
In file included from /usr/local/include/opencv2/core.hpp:52:0,
                 from /usr/local/include/opencv2/highgui.hpp:46,
                 from /home/songlin.ysl/Documents/Yolo_mark/main.cpp:16:
/usr/local/include/opencv2/core/cvdef.h:342:15: error: redefinition of ‘union Cv64suf’
 typedef union Cv64suf
               ^
In file included from /home/ubuntu1/opencv-2.4.9/modules/core/include/opencv2/core/core_c.h:47:0,
                 from /home/ubuntu1/opencv-2.4.9/include/opencv2/opencv.hpp:46,
                 from /home/songlin.ysl/Documents/Yolo_mark/main.cpp:13:
/home/ubuntu1/opencv-2.4.9/modules/core/include/opencv2/core/types_c.h:206:15: error: previous definition of ‘union Cv64suf’
 typedef union Cv64suf
               ^
In file included from /usr/local/include/opencv2/core.hpp:52:0,
                 from /usr/local/include/opencv2/highgui.hpp:46,
                 from /home/songlin.ysl/Documents/Yolo_mark/main.cpp:16:
/usr/local/include/opencv2/core/cvdef.h:348:1: error: conflicting declaration ‘typedef int Cv64suf’
 Cv64suf;
 ^
In file included from /home/ubuntu1/opencv-2.4.9/modules/core/include/opencv2/core/core_c.h:47:0,
                 from /home/ubuntu1/opencv-2.4.9/include/opencv2/opencv.hpp:46,
                 from /home/songlin.ysl/Documents/Yolo_mark/main.cpp:13:
/home/ubuntu1/opencv-2.4.9/modules/core/include/opencv2/core/types_c.h:212:1: note: previous declaration as ‘typedef union Cv64suf Cv64suf’
 Cv64suf;
 ^
In file included from /usr/local/include/opencv2/core/base.hpp:58:0,
                 from /usr/local/include/opencv2/core.hpp:54,
                 from /usr/local/include/opencv2/highgui.hpp:46,
                 from /home/songlin.ysl/Documents/Yolo_mark/main.cpp:16:
/usr/local/include/opencv2/core/cvstd.hpp:127:30: error: redefinition of ‘class cv::Allocator<_Tp>’
 template<typename _Tp> class Allocator
                              ^
In file included from /home/ubuntu1/opencv-2.4.9/include/opencv2/opencv.hpp:47:0,
                 from /home/songlin.ysl/Documents/Yolo_mark/main.cpp:13:
/home/ubuntu1/opencv-2.4.9/modules/core/include/opencv2/core/core.hpp:370:30: error: previous definition of ‘class cv::Allocator<_Tp>’
 template<typename _Tp> class Allocator
                              ^
In file included from /usr/local/include/opencv2/core/base.hpp:58:0,
                 from /usr/local/include/opencv2/core.hpp:54,
                 from /usr/local/include/opencv2/highgui.hpp:46,
                 from /home/songlin.ysl/Documents/Yolo_mark/main.cpp:16:
/usr/local/include/opencv2/core/cvstd.hpp:280:8: error: redefinition of ‘struct cv::Ptr<_Tp>’
 struct Ptr
        ^
In file included from /home/ubuntu1/opencv-2.4.9/include/opencv2/opencv.hpp:47:0,
                 from /home/songlin.ysl/Documents/Yolo_mark/main.cpp:13:
/home/ubuntu1/opencv-2.4.9/modules/core/include/opencv2/core/core.hpp:1268:30: error: previous definition of ‘struct cv::Ptr<_Tp>’
 template<typename _Tp> class Ptr
                              ^
In file included from /usr/local/include/opencv2/core/base.hpp:58:0,
                 from /usr/local/include/opencv2/core.hpp:54,
                 from /usr/local/include/opencv2/highgui.hpp:46,
                 from /home/songlin.ysl/Documents/Yolo_mark/main.cpp:16:
/usr/local/include/opencv2/core/cvstd.hpp:477:18: error: using typedef-name ‘cv::String’ after ‘class’
 class CV_EXPORTS String
                  ^
In file included from /home/ubuntu1/opencv-2.4.9/include/opencv2/opencv.hpp:47:0,
                 from /home/songlin.ysl/Documents/Yolo_mark/main.cpp:13:
/home/ubuntu1/opencv-2.4.9/modules/core/include/opencv2/core/core.hpp:87:21: note: ‘cv::String’ has a previous declaration here
 typedef std::string String;
                     ^
In file included from /usr/local/include/opencv2/core/base.hpp:58:0,
                 from /usr/local/include/opencv2/core.hpp:54,
                 from /usr/local/include/opencv2/highgui.hpp:46,
                 from /home/songlin.ysl/Documents/Yolo_mark/main.cpp:16:
/usr/local/include/opencv2/core/cvstd.hpp:587:1: error: specializing member ‘std::__cxx11::basic_string<char>::String’ requires ‘template<>’ syntax
 String::String()
 ^
/usr/local/include/opencv2/core/cvstd.hpp:592:22: error: ‘String’ does not name a type
 String::String(const String& str)
                      ^
/usr/local/include/opencv2/core/cvstd.hpp:592:1: error: specializing member ‘std::__cxx11::basic_string<char>::String’ requires ‘template<>’ syntax
 String::String(const String& str)
 ^
/usr/local/include/opencv2/core/cvstd.hpp:600:22: error: ‘String’ does not name a type
 String::String(const String& str, size_t pos, size_t len)
                      ^
/usr/local/include/opencv2/core/cvstd.hpp:600:1: error: specializing member ‘std::__cxx11::basic_string<char>::String’ requires ‘template<>’ syntax
 String::String(const String& str, size_t pos, size_t len)
 ^
/home/songlin.ysl/Documents/Yolo_mark/main.cpp:660:1: error: expected ‘}’ at end of input
 }
 ^
CMakeFiles/yolo_mark.dir/build.make:62: recipe for target 'CMakeFiles/yolo_mark.dir/main.cpp.o' failed
make[2]: *** [CMakeFiles/yolo_mark.dir/main.cpp.o] Error 1
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/yolo_mark.dir/all' failed
make[1]: *** [CMakeFiles/yolo_mark.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2

Extracting frames from video

This is the command:

./yolo_mark x64/Release/data/img cap_video 14_sec_Test.mp4 10

I get this:

GStreamer: Error opening bin: Unrecoverable syntax error while parsing pipeline

Anyone shed some light on this?

Elliminate classes in output !

Hey guys,
I'm working on a person couting project and desnity estimation in crowd.
I'd like to elliminate all the classes in the output and only leave the "person" class.
Also i'd like to count the number of persons returned.

Any help ?
Thanks !! :)

Slicer won't work. Am I making a mistake?

Hey Alexey, everyone,

The video slicer isn't working for me. I've tried putting the mp4 file near the yolo_mark.exe or in the /data folder. I get no output : )

The marker tool works; Any ideas what I'm doing wrong or what I need to check?

how to create a video gui

Hi @AlexeyAB , this project is so cool. Can you supply a video Gui for Yolo_mark? That is soooooooo cool, and this video is captured from webcam. I this is a great real-time detection project. I try it many times, but fail it, can you help me?
Good Luck.
Cheers

xiaochuan

Yolo_mark lagging after the 10th picture marking

Hello again,

I have a ~200/250 pictures file that I open with yolo_mark to make boxes for 2 tags.
For the firsts picture that I mark, no problem and no lag but when I arrive between the 10th and the 20th the yolo_mark window starts "not responding" every 2 seconds and starts to fade away and I have to wait like 10 seconds before it changes to the next picture. Do you have an idea of what could cause that or of a solution ??

invalid suffix on literal; C++11 requires a space between literal and identifier

Hey, I get the following Error on several machines. On another, it worked, but I can not see the difference.

kbitr:Yolo_mark kbitr$ make
[ 50%] Building CXX object CMakeFiles/yolo_mark.dir/main.cpp.o
/*path*/Yolo_mark/main.cpp:18:53: error: invalid suffix on
      literal; C++11 requires a space between literal and identifier
      [-Wreserved-user-defined-literal]
#define OPENCV_VERSION CVAUX_STR(CV_VERSION_MAJOR)""CVAUX_STR(CV_VERSION...
                                                    ^
                                                     
/*path*/Yolo_mark/main.cpp:18:82: error: invalid suffix on
      literal; C++11 requires a space between literal and identifier
      [-Wreserved-user-defined-literal]
  ...CVAUX_STR(CV_VERSION_MAJOR)""CVAUX_STR(CV_VERSION_MINOR)""CVAUX_STR(CV_V...
                                                               ^
                                                                
2 errors generated.
make[2]: *** [CMakeFiles/yolo_mark.dir/main.cpp.o] Error 1
make[1]: *** [CMakeFiles/yolo_mark.dir/all] Error 2
make: *** [all] Error 2

YOLO mark image re-shaping ...

Hi,

Please have a look at picture. the software has stretched the image. This will not change the relative coordinates and affect them? because these relative value should be in calculated in original dimensions of original image, not when an image is stretched.

2017-02-19_10-39-43

A bug with background only images

Hi,

Please follow these steps to reproduce the bug.

Put two images for example. one with annotations and another one just a background-only image with an empty .txt file.
if we browse the images using the arrows, it copies the annotations from the previous image to the next background-only image and changes its .txt file.

By the way, it generates the wrong annotations for the background-only file and rewrites its .txt file.

CMake can not determine linker language for target: yolo_mark

When I do cmake . I get the folowwing error:

`- The C compiler identification is GNU 6.3.1
-- The CXX compiler identification is GNU 6.3.1
-- Check for working C compiler: /usr/lib64/ccache/cc
-- Check for working C compiler: /usr/lib64/ccache/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/lib64/ccache/c++
-- Check for working CXX compiler: /usr/lib64/ccache/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done

CMake Error: CMake can not determine linker language for target: yolo_mark

CMake Error: Cannot determine link language for target "yolo_mark".

-- Generating done
`

Labeling Phase: Important .cfg parameters?

Hello Alexey,

What are the important and less important parameters in the labeling phase from the .cfg file?

Or does yolo_mark not use the .cfg file? I am tihnking the [net] width and height, but yolo_mark looks at data/obj.data and data/obj.names, data/train.txt..

Must the .cfg file in this phase already be the same as training phase (and detection phase)?

adding remove button

seems to be there is the only one way to remove selected rects - delete annotation

main.cpp:120:40: error: invalid initialization of reference of type ‘std::vector<cv::String>&’ from expression of type ‘std::vector<std::__cxx11::basic_string<char> >’ glob(images_path, filenames_in_folder);

hitting this on linux

[ 50%] Building CXX object CMakeFiles/yolo_mark.dir/main.cpp.o
/home/jeremy/projects/Yolo_mark/main.cpp: In function ‘int main(int, char**)’:
/home/jeremy/projects/Yolo_mark/main.cpp:120:40: error: invalid initialization of reference of type ‘std::vector<cv::String>&’ from expression of type ‘std::vector<std::__cxx11::basic_string<char> >’
   glob(images_path, filenames_in_folder); // void glob(String pattern, std::vec
                                        ^
In file included from /usr/local/include/opencv2/core.hpp:3165:0,
                 from /usr/local/include/opencv2/core/core.hpp:48,
                 from /home/jeremy/projects/Yolo_mark/main.cpp:18:
/usr/local/include/opencv2/core/utility.hpp:184:17: note: in passing argument 2 of ‘void cv::glob(cv::String, std::vector<cv::String>&, bool)’
 CV_EXPORTS void glob(String pattern, std::vector<String>& result, bool recursiv
                 ^
CMakeFiles/yolo_mark.dir/build.make:62: recipe for target 'CMakeFiles/yolo_mark.dir/main.cpp.o' failed
make[2]: *** [CMakeFiles/yolo_mark.dir/main.cpp.o] Error 1
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/yolo_mark.dir/all' failed
make[1]: *** [CMakeFiles/yolo_mark.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2

Read Only Mode | Feature Request

I have migrated data from some other format in another dataset to the yolo one. Now i need to check whether the bbox have been applied properly or not. A simple and edit and save button would be nice to have.

How long

hi, how long to training 2 class??
and how to training only using GPU?
thanks 👍

TRAINING YOLO V2

#Hi all! I am training yolo v2 to detect several landscapes, such as seashore, mountains and things like these. I was wondering if it would be reasonable to add "noise images" and if this could lead to decrease false positive rate. If so, should I add a new label for these images?
Furthemore, my images all have different size, should I resize them or set some specific parameters?
Thank you in advance

coordinates are biased

can you tell me please why coordinates are biased?
I've checked several times, and always get an error when cropping objects from images relying on relative coordinates from txt files.

Yolo training does not stop, and what type of images can be used

Hi
I am new to working with YOLO and Neural networks

I used your example data to run with yolo no gpu.
this is running for about 4 days and not stopping.
command:
darknet_no_gpu.exe detector train data/obj.data yolo-obj.cfg darknet19_448.conv.23
output started like this:
progress of learning
Loading weights from darknet19_448.conv.23...Done!
Learning Rate: 0.0001, Momentum: 0.9, Decay: 0.0005
Loaded: 1.588000 seconds
Region Avg IOU: 0.120223, Class: 0.362698, Obj: 0.612478, No Obj: 0.513480, Avg Recall: 0.000000, count: 9
Region Avg IOU: 0.238924, Class: 0.439833, Obj: 0.548626, No Obj: 0.514007, Avg Recall: 0.058824, count: 34
Region Avg IOU: 0.200323, Class: 0.519404, Obj: 0.561993, No Obj: 0.512736, Avg Recall: 0.166667, count: 12
Region Avg IOU: 0.196986, Class: 0.321407, Obj: 0.634472, No Obj: 0.513765, Avg Recall: 0.000000, count: 18
Region Avg IOU: 0.187150, Class: 0.526126, Obj: 0.575120, No Obj: 0.513986, Avg Recall: 0.083333, count: 24
Region Avg IOU: 0.147942, Class: 0.573413, Obj: 0.527868, No Obj: 0.513225, Avg Recall: 0.000000, count: 11
Region Avg IOU: 0.147899, Class: 0.419107, Obj: 0.490241, No Obj: 0.512636, Avg Recall: 0.000000, count: 18
Region Avg IOU: 0.155855, Class: 0.431433, Obj: 0.527465, No Obj: 0.512580, Avg Recall: 0.000000, count: 11
1: 23.719202, 23.719202 avg, 0.000100 rate, 1525.245972 seconds, 64 images

Now after 4 days it is:
Region Avg IOU: 0.776839, Class: 0.999406, Obj: 0.881055, No Obj: 0.007709, Avg Recall: 1.000000, count: 17
Region Avg IOU: 0.789834, Class: 0.998349, Obj: 0.804908, No Obj: 0.010932, Avg Recall: 1.000000, count: 32
Region Avg IOU: 0.716955, Class: 0.998312, Obj: 0.747980, No Obj: 0.008201, Avg Recall: 0.863636, count: 22
Region Avg IOU: 0.791601, Class: 0.999399, Obj: 0.838217, No Obj: 0.008875, Avg Recall: 1.000000, count: 21
Region Avg IOU: 0.774943, Class: 0.997678, Obj: 0.875351, No Obj: 0.006102, Avg Recall: 1.000000, count: 9
Region Avg IOU: 0.764226, Class: 0.998302, Obj: 0.723759, No Obj: 0.011918, Avg Recall: 0.969697, count: 33
Region Avg IOU: 0.760802, Class: 0.998138, Obj: 0.750877, No Obj: 0.014727, Avg Recall: 0.976744, count: 43
Region Avg IOU: 0.755867, Class: 0.999586, Obj: 0.833746, No Obj: 0.005354, Avg Recall: 1.000000, count: 11
207: 0.218326, 0.224815 avg, 0.001000 rate, 1554.923950 seconds, 13248 images
Loaded: 0.000000 seconds
Region Avg IOU: 0.811563, Class: 0.997593, Obj: 0.791255, No Obj: 0.012824, Avg Recall: 1.000000, count: 31
Region Avg IOU: 0.763254, Class: 0.998242, Obj: 0.847682, No Obj: 0.008106, Avg Recall: 1.000000, count: 19
Region Avg IOU: 0.785790, Class: 0.997373, Obj: 0.738193, No Obj: 0.013735, Avg Recall: 1.000000, count: 37

And not stopping.
Again I used your aeroplanes and birds data, as is.

Is this normal. do I have a problem?

Also wanted to ask if you can explain the output
Region Avg IOU:
Class:
Obj:
No Obj:
Avg Recall:
count:
and the line that comes after every few "interations?"
207: 0.218326, 0.224815 avg, 0.001000 rate, 1554.923950 seconds, 13248 images

Also wanted to ask, Can I use images that have several classes in them, in your case an image with a bird and a aeroplane? (marking different rectangles with different class tags. can this be in the same image?)

Thanks in advance
m.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.