oylz / ds Goto Github PK
View Code? Open in Web Editor NEWcpp 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
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
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.
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.
@l1a0t1n9 ok, I had upload the model to another repository(deep-models), here:
https://github.com/oylz/deep-models/tree/master/ShuffleNet-Model
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?.
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?
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)??
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?
Thank you for the code provided. Can this code track the car, if so, need to be modified, or where to modify it?
Hi, Thank you very much for response.Could this code be used in windows?
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!
Hi, I read your code. But I want to replace the iou matching matrix, where can I find in the code?
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.
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.
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?
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
I don't really understand,thank you!
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!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.