www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - Centroid tracking using DCV

reply Ferhat =?UTF-8?B?S3VydHVsbXXFnw==?= <aferust gmail.com> writes:
I heard you are not having fun enough with d today.

Do you know you can do things like this with dlang now? After 
some fiddling with it, my last commits made this possible.

how it looks like: https://www.youtube.com/watch?v=ACC_-TDAtqc
source code: 
https://github.com/aferust/oclcv/tree/main/examples/centroidtracking
DCV: https://github.com/libmir/dcv

Sorry for the potato-quality video. My art director is on 
vacation.

I am cheating a little with OpenCL since things are not fast 
enough at the moment.

Hope you like it.

Enjoy!
Feb 15
next sibling parent Andrea Fontana <nospam example.org> writes:
On Wednesday, 15 February 2023 at 17:32:33 UTC, Ferhat Kurtulmuş 
wrote:
 I heard you are not having fun enough with d today.

 Do you know you can do things like this with dlang now? After 
 some fiddling with it, my last commits made this possible.

 how it looks like: https://www.youtube.com/watch?v=ACC_-TDAtqc
 source code: 
 https://github.com/aferust/oclcv/tree/main/examples/centroidtracking
 DCV: https://github.com/libmir/dcv

 Sorry for the potato-quality video. My art director is on 
 vacation.

 I am cheating a little with OpenCL since things are not fast 
 enough at the moment.

 Hope you like it.

 Enjoy!
Nice!
Feb 16
prev sibling next sibling parent ryuukk_ <ryuukk.dev gmail.com> writes:
That's pretty cool, thanks for sharing!
Feb 17
prev sibling next sibling parent Ferhat =?UTF-8?B?S3VydHVsbXXFnw==?= <aferust gmail.com> writes:
On Wednesday, 15 February 2023 at 17:32:33 UTC, Ferhat Kurtulmuş 
wrote:
 I heard you are not having fun enough with d today.

 Do you know you can do things like this with dlang now? After 
 some fiddling with it, my last commits made this possible.

 how it looks like: https://www.youtube.com/watch?v=ACC_-TDAtqc
 source code: 
 https://github.com/aferust/oclcv/tree/main/examples/centroidtracking
 DCV: https://github.com/libmir/dcv

 Sorry for the potato-quality video. My art director is on 
 vacation.

 I am cheating a little with OpenCL since things are not fast 
 enough at the moment.

 Hope you like it.

 Enjoy!
Hello everyone, I was looking for ways to run pre-trained DCNN models (inference) using D. I then ran across onnxruntime, which has a c API. Luckily, it has a bindbc binding readily available. Nowadays, to run inference routines of CNN models, we only need some basic image processing to satisfy the input shape requirements of those models. We have mir.ndslice and dcv, and then we should be able to run, for instance, tinyYOLOv3 with video streams. I believe that such applications will attract more people's attention to d. Here is how it looks like and the source code: https://www.youtube.com/watch?v=m3ex9lDELfQ https://github.com/aferust/dcv-tinyyolov3
Feb 28
prev sibling parent reply Ferhat =?UTF-8?B?S3VydHVsbXXFnw==?= <aferust gmail.com> writes:
On Wednesday, 15 February 2023 at 17:32:33 UTC, Ferhat Kurtulmuş 
wrote:
 I heard you are not having fun enough with d today.
Hello everyone, I was looking for ways to run pre-trained DCNN models (inference) using D. I then ran across onnxruntime, which has a c API. Luckily, it has a bindbc binding readily available. Nowadays, to run inference routines of CNN models, we only need some basic image processing to satisfy the input shape requirements of those models. We have mir.ndslice and dcv, and then we should be able to run, for instance, tinyYOLOv3 with video streams. I believe that such applications will attract more people's attention to d. Here is how it looks like and the source code: https://www.youtube.com/watch?v=m3ex9lDELfQ https://github.com/aferust/dcv-tinyyolov3
Feb 28
parent reply Sergey <kornburn yandex.ru> writes:
On Tuesday, 28 February 2023 at 12:08:14 UTC, Ferhat Kurtulmuş 
wrote:
 On Wednesday, 15 February 2023 at 17:32:33 UTC, Ferhat 
 Kurtulmuş wrote:
 I heard you are not having fun enough with d today.
Hello everyone, We have mir.ndslice and dcv, and then we should be able to run, for instance, tinyYOLOv3 with video streams. I believe that such applications will attract more people's attention to d. Here is how it looks like and the source code: https://www.youtube.com/watch?v=m3ex9lDELfQ https://github.com/aferust/dcv-tinyyolov3
Great job. Could we have any comparison in the performance/memory usage versus original solution in Python?
Feb 28
parent Ferhat =?UTF-8?B?S3VydHVsbXXFnw==?= <aferust gmail.com> writes:
On Tuesday, 28 February 2023 at 12:29:05 UTC, Sergey wrote:
 On Tuesday, 28 February 2023 at 12:08:14 UTC, Ferhat Kurtulmuş 
 wrote:
 On Wednesday, 15 February 2023 at 17:32:33 UTC, Ferhat 
 Kurtulmuş wrote:
 I heard you are not having fun enough with d today.
Hello everyone, We have mir.ndslice and dcv, and then we should be able to run, for instance, tinyYOLOv3 with video streams. I believe that such applications will attract more people's attention to d. Here is how it looks like and the source code: https://www.youtube.com/watch?v=m3ex9lDELfQ https://github.com/aferust/dcv-tinyyolov3
Great job. Could we have any comparison in the performance/memory usage versus original solution in Python?
I have not conducted any comparisons yet. There are a lot of factors affecting performance. My old laptop lacks good cuda support, so I disabled the CUDA acceleration. I cannot give you a strongly backed test result, but I can say that preprocessing is not so costly in my example. The FPS drop is primarily due to onnxruntime itself. The preprocessing step only takes 2 or 3 msecs. The newer versions of onnxruntime have various backend options for acceleration, such as CUDA, tensorrt, directML (uses directX).
Feb 28