Coder Social home page Coder Social logo

oylz / ds Goto Github PK

View Code? Open in Web Editor NEW
250.0 250.0 78.0 44.68 MB

cpp deep_sort: C++ implementation of Simple Online Realtime Tracking with a Deep Association Metric

Home Page: https://github.com/nwojke/deep_sort

License: GNU General Public License v3.0

C++ 97.82% Shell 2.18%

ds's People

Contributors

oylz 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

ds's Issues

How was tt1.pb trained?

I need to track heads, instead of person. I have used your tracker, but it keep switching ID even without occlusion. My suspect is tt1.pb was trained on "person" data only (correct me if i'm wrong). Therefore I planned to re-train a new "tt1.pb" with only "heads" dataset. Can you share the details about tt1.pb's architecture, which model, what dataset, train codes...etc... ? Thanks. Great work btw.

load my own trained model error

Hi,Thanks for your nice work.
I have a question about how to get a right model. I tried to use “nwojke/cosine_metric_learning” to train my own model,but the c++ program will make an error when I replace the "tt1.pb"model with my own model.
The following is the error message:

create graph in session failed: Invalid argument: Cannot assign a device for operation 'map/TensorArray': Could not satisfy explicit device specification '/gpu:4' because no supported kernel for GPU devices is available.
Colocation Debug Info:
Colocation group had the following types and devices:
TensorArrayReadV3: CPU
TensorArrayV3: CPU
Enter: GPU CPU
Placeholder: GPU CPU
TensorArrayScatterV3: CPU
[[Node: map/TensorArray = TensorArrayV3[clear_after_read=true, dtype=DT_UINT8, dynamic_size=false, element_shape=<unknown>, tensor_array_name="", _device="/gpu:4"](map/strided_slice)]]
CUDA Error: driver shutting down
test: /data4/gcy/ds-master/yoda/darknet/src/cuda.c:36: check_error: Assertion `0' failed.
Aborted (core dumped)

The program work when I commented out this line of code.

tf::graph::SetDefaultDevice("/gpu:4", &graph_def);

But I want to set a gpu id ,so I can't commented out it. The way I came up with was to train the same model as "tt1.pb" was.I use tensorflow1.2.1 ,tensorflow1.4.0 and tensorflow1.5 to train models,but none of these models can be used. So I want to know the source of "tt1.pb" model .
Can you help me ? Thank you very much.

Network used in tensorflow

Hi, I run your code using tensorflow deep features. But I do not know which network did you use in that case. And how to replace the network with another one?.

Difference with Repository of nwojke/deep_sort.git

Hi,

I need to re-implement the original Deepsort Code by C/C++ . Then I ran your DS code and found that the tracking result was very different from the original Deepsort. There are many big rectangles in the 'frame' window, which will not happen in the original Deepsort's result. Could you tell me why this happened?

How about performance?

Hi,
Thanks for this implementation.
I would like to know if there is any performance gain using this implementation compared to author's implementation when dealing with relatively large number of trackers(say tracking 100 objects in single instance)??

using re-id features

Thanks for writing c++ code and can you give a tutorial about how to replace hog with re-id feature that I have already got in hand?

car track problem

Thank you for the code provided. Can this code track the car, if so, need to be modified, or where to modify it?

Memory issues

Hi, thank you for providing a c++ implementation of DS. I am facing some issues with memory during the execution of the program. I am using opencv to read frames from the camera, pass it through a yolo object detector, then pass the bounding boxes to DS through UpdateAndGet.

However, sometimes while tracking, the program will crash out with the error msgs:

*** Error in `./DeepSort': free(): invalid next size (fast): 0x00000000021209b0 ***
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(+0x777e5)[0x7f63e050c7e5]
/lib/x86_64-linux-gnu/libc.so.6(+0x8037a)[0x7f63e051537a]
/lib/x86_64-linux-gnu/libc.so.6(cfree+0x4c)[0x7f63e051953c]
./DeepSort[0x42ac07]
./DeepSort[0x42e070]
./DeepSort[0x419c01]
./DeepSort[0x41a06d]
./DeepSort[0x41b8f6]
./DeepSort[0x41e0de]
./DeepSort[0x4361c4]
./DeepSort[0x411153]
./DeepSort[0x405f3d]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0)[0x7f63e04b5830]
./DeepSort[0x406719]
........

I dumb-ed down the program by removing the object detection part, and just giving deep sort a random bounding box that jitters around with each incoming frame (such that the tracker would still initiate and track a track). In fact, at a jitter of 0 pixels, aka a random FIXED bounding box, the memory error will not occur even after a long time. However, given a large enough jitter (like 10+ pixels), after awhile the memory error will throw. We suspect it's because of a memory leak issue.

Tracing where the program throws through print statements: UpdateAndGet -> FDSSTTracker::init -> FDSSTTracker::dsstInit -> FDSSTTracker::train_scale, FDSSTTracker::get_scale_sample, fhog, and it throws around here.

Any ideas? Thanks!

error C2872: “ACCESS_MASK”:

Hello,thanks for your code. when I build the project in vs2013, there are some errors:
image
I searched online for a long time, but the solutions didn't work. Can you help me ?

Changing HOG

Algortihm contains to much C-style code. (Memory allocations, pointer arithmetics, ...)
Instead of pointer based code, STL containers can be used and code can be simplified.
Actually HOG part has too much C-style code instead of C++.
There is code in C++ about HOG features. (https://github.com/Ekberjan/HOG_Feature_Extractor)
I could not implemented that one into the algorithm.
Can you integrate it to your algorithm?
Thanks.

How to use Deep features?

Thanks for sharing the code. I am currently trying to use Deep features instead of FHOG features. can you give some suggestion how to do that? Thank you very much.

Where to get facenet.pb, mobilenet.pb files ???

Hello, I was trying to use deep features and want to know which facenet and mobilenet model did u used. Which would be compatible with tensorflow version. If you have it, can you pass out the link?

can not find lib

when i run the make.sh file,it report this problem,and i can not find these libs even in my opencv build ldirectory,can you tell me what makes that happen?and how to fix this problem???thanks a lot ,by the way ,i use opencv3.4,which version have you used?
/usr/bin/ld: cannot find -lopencv_corexyz
/usr/bin/ld: cannot find -lopencv_imgprocxyz
/usr/bin/ld: cannot find -lopencv_highguixyz
/usr/bin/ld: cannot find -ltcmalloc

fatal error: Eigen/Core: No such file or directory

l have this problem when I dong “sudo ./make.sh”
l reinstall eigen lib many times, what should l do?
l am looking forword to seeing you can help me to solve this problem
By the way ,this is a awesome project!

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.