Week 5


  • Task 1: 95% support to Original Darknet


  • Task 1: Complete the remaining 5% along with adjustable bounding boxes.

First half of week 5

Thanks to last weeks meeting where I was explained how does cmake work, especially what libraries meant. So after that there was no trouble in understanding the code. Rough overview

  • First search for the source files and create a library of them.
  • Second search for the extra files that are developed by JDE and do the same.
  • Third repeat the above with examples as well.
  • After creating a shared library pass their path/ store them in their respective variables that was present in root CMake.(Had trouble implementing the second suggestion). What was the trouble exactly ?? Well the variable wasn’t storing the shared libraries in them , then after surfing the intenet for a while came across PARENT flag, no luck even after that. So I tried to implement the first suggested way , i.e. store them at some place then later search them using FIND_LIBRARY() function call ….and it worked !!. But shouldn’t celebrate yet as the main part is , Does the libraries that are being loaded have all the function calls in them ?? Now this part was slightly troubling me. Like last time I still couldn’t get past this error drawing , but unlike last time I now know why exactly is that happening. So instead of trying to pass the path of original darknet I passed path to JDE/darknet. The same error still popped up. This time I had no clue why was it showing undefine reference to error, as they are defined in the JDE/darknet unlike the original one. But one thing was clear , the error was same no matter whose source files are loaded. So I guess the order in which things are being done might have something to do with this. But as enough time was already spent I thought to finish this weeks work soon as this week I need not learn anything new but rather can start coding immediatly and was also confident to pull this off even before the deadline so as to come back again to deal with this.

Second Half of Week 5

This weeks work was to make the bounding boxes adjustable i.e. one can drag the corners of the rectangle and adjust them using their mouse. The challenging part was, as to which file should I modify. I had two options 1.)RectRegion.cpp or 2.) Sample.cpp . I went with RectRegion.cpp first, but it wasn’t going that well , so I then switched to Sample.cpp which was a lot cleaner than the previous one. So as of now I got access to the variable that needs to be updated and the value as well. But the problem is that , the variable which I found isn’t just any normal variable but a const one. And I was carelessly updating it and everytime I did that I was ending up with Segmentation fault. After spending time with it I realised where I was going wrong.
Hoping to finish this 2 days before the deadline :).