Code Monkey home page Code Monkey logo

alturos.yolo's People

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

alturos.yolo's Issues

multi detection simultaneously

I have 4 camera on my system and I want to detect object from this cameras simultaneously.
For each detection for one camera, i should detect 2 times with different configuration and weight.
How can I achieve this? or at least, is it possible?

Yolov3

Hi ,

How can we extend your library for yolov3 as well as other architectures ?

Thanks,
Himanshu

Configuring the GPU

Hello and sorry for asking so many question.
I'm trying to do inference on the GPU using the YOLOv2 as it takes about 1.7 seconds for each image at the moment ( I am running this on a video stream and I have object detection running in parallel with some other applications ). I believe I have cudnn and Cuda installed as I was able to detect them on the with the command prompt. I changed the yolowrapper to :
using (var yoloWrapper = new YoloWrapper("yolov2.cfg", "yolov2.weights", "coco.names", 1 , false))
I believe there is another step that I am missing in the process of getting the GPU to work with the code. Can you please help me with that ?
Thanks you for your support

Attempted to read or write protected memory

Hello,

We are getting exception, when trying to use GPU:

An exception of type 'System.AccessViolationException' occurred in Alturos.Yolo.dll but was not handled in user code
Additional information: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.

Using visual studio 2017, Cuda 9.2, emgu, and example code

Create own data set by using VoTT: Visual Object Tagging Tool 1.5

I created my own dataset. I've clicked over 2,000 pictures using the VoTT program: Visual Object Tagging Tool 1.5.
I clicked the "export tags" button and saved.
I created a folder with: yolo-obj.cfg plus the "data" folder with data obj.names, obj.data

I would like to use the masterpiece created by me now.
How can I use this? I know that you have to put it somehow in DATASET but do not know how.
MY code looks like

var configurationDetector = new ConfigurationDetector ();
  var config = configurationDetector.Detect ();
    using (var yoloWrapper = new YoloWrapper (config))
              {
               using (MemoryStream ms = new MemoryStream ())
               {
                 pictureBox1.Image.Save (ms, ImageFormat.Png);
                 screen_full_ekranu.Save (ms, ImageFormat.Png);
                 var items = yoloWrapper.Detect (ms.ToArray ());
                 yoloItemBindingSource.DataSource = items;
               }
              }

I need to create yoloitemBindingsource and replace with that how can i do that?
Any suggestion , tutorial would help.
Thanks!.

Problems with broken item.Type output

There is a problem that the label data is read from the current YoloWrapper and stored in the list of Yoloitem, and the characters are broken at the time of printing.

Alturos.Yolo on Windows 10

Hi,
I try to run Alturos.Yolo on

  • Windows 10
  • VS2017
  • Cuda V10.0 + cudnn
    and get the exception Unable to load DLL x64\yolo_cpp_dll_gpu.dll
    The yolo_cpp_dll_cpu.dll is running without problems.
    Does anyone know this problem? Do I need another yolo_cpp_dll_gpu.dll compiled with cuda V10.0?

Thanks a lot

Bounding Box size issue

Is there any additional conversion needed to convert the bounding box as returned by the API?
After calling "Detect", a list of YoloItem(s) are returned. The bounding boxes are accurate for larger objects but for smaller objects the returned boxes (X,Y, Width, Height) only overlap a small center portion of the true object in image co-ordinates.

detections = yolo.Detect(bytes);

YoloItem def:

public int X { get; set; }

public int Y { get; set; }

public int Width { get; set; }

public int Height { get; set; }

I see some python darknet examples where the size is scaled based on a factor inflating the boxes further?.
Is this needed?

How to train to make Yolo differ face and person?

Hi,

The application need to detect the faces in the video, then censor them.
Alturos.Yolo is detecting face picture and person picture as 'person' label.
How can I make the Alturos.Yolo differ face and person?

Thanks,

Multiple Object Detection

Hi, I'm new to using YOLO and I wanted to ask did this C# version of Yolo only suppose to detect one object/person in an image?

Looking at the example it shows multiple detections. & running my example one detects one image.

Help?

Alturos.Yolo DLLs send corrupted detection data under Unity

Hi,

I'm using Darknet inside Unity under Windows 10 as a DLLImport with good results but I found your implementation for .Net more interesting.

Unfortunately Alturos return incoherent values like -1941698683 as Object Class or 247879272759296.0 for confidence value.

It happens with both GPU & CPU version. I can't really tell much since there's no source for yolo_cpp_dll_cpu.dll & yolo_cpp_dll_gpu.dll.

I'm using the Unity 2018.3 with .NET 4.x equivalent runtime version & API Compatibility Level .NET 4.x with a Mono Scripting Backend (same result through IL2CPP).

Do you have any idea what could corrupt the data using a mono backend?

The only thing I changed is the DLL location inside the wrapper (I just remove « x64\ » or then I could not make it work inside the Unity Editor).

I read here that someone had already managed to use Alturos under Unity but for some reason I haven't succeeded yet.

DLLs & yolo config files work great with your UI example and I double checked the encoding & culture settings.

Thanks

HKEY_CLASSES_ROOT\Installer\Dependencies\VC,redist.x64,amd64,14.16,bundle
(Default) REG_SZ {5fb2083a-f3cc-4b78-93ff-bd9788b5de01}
Version REG_SZ 14.16.27024.1
DisplayName REG_SZ Microsoft Visual C++ 2017 Redistributable (x64) - 14.16.27024

train image

is there is any provision to train object?

like i want to train one/two/three axle truck, so how to do this?

x86 processor?

Can this model be run on a x86 processor ? If so, can someone please help me figure out the required changes ? I'm currently trying to run this model on a Hololens device. I have my own python models but I cannot run them on a Hololens device.

KeyNotFoundException: The given key was not present in the dictionary.

I am getting this error only for some images, for other it detects fine.

System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary.
at System.ThrowHelper.ThrowKeyNotFoundException()
at System.Collections.Generic.Dictionary`2.get_Item(TKey key)
at Alturos.Yolo.YoloWrapper.Convert(BboxContainer container)
at Alturos.Yolo.YoloWrapper.Detect(String filepath)

On debugging I found that it crashes inside the for each loop.

private IEnumerable<YoloItem> Convert(BboxContainer container)
        {
            var yoloItems = new List<YoloItem>();
            foreach (var item in container.candidates.Where(o => o.h > 0 || o.w > 0))
            {
                if (!this._objectType.TryGetValue((int)item.obj_id, out var objectType))
                {
                    objectType = "unknown key";
                }

                var yoloItem = new YoloItem
                {
                    X = (int)item.x,
                    Y = (int)item.y,
                    Height = (int)item.h,
                    Width = (int)item.w,
                    Confidence = item.prob,
                    Type = objectType
                };

                yoloItems.Add(yoloItem);
            }

            return yoloItems;
        }

Kindly help.

Doesn't detect visual c++ 2017 redistributable

I kept getting the error DllNotFoundException: Microsoft Visual C++ 2017 Redistributable (x64), so I decompiled the source and saw that it was just looking under the registry key Installer\\Dependencies\\VC,redist.x64,amd64,14.16,bundle, but it seems that mine is located in Installer\\Dependencies\\VC,redist.x64,amd64,14.20,bundle, is it possible to make it check for both?

Example of constructing byte[] array from image

Hi,

I'm hitting the "Invalid image data" exception; it seems that I am not constructing the byte[] array correctly which gets passed to Detector.Detect().

Do you have an example of building this array? In my case, I'm converting from an Emgu image (a wrapper on OpenCV images).

Can i use 2 detectors in my project?

Hi, dear.
I met the issue in using multi detectors.
I am working alpr, first i should detect plate region and then detect each character in plate.
So, i should use 2 weights, 2 conf, 2 names files in my project.
For this, i imported the Alturos.Yolo project to my project and created 2 YoloWrapper objects.
But i got the issue, bcz although i made 2 YoloWrapper objects, last Yolowrapper configuration saved.
I'd like to u help me.
Thanks.

AccessViolationException after several calls to DetectImage

Hi,

I'm actually using AlexeyAB's repository, but I noticed a similar issue report here and thought I'd inquire.

I am able to call DetectImage(IntPtr pArray, int nSize, ref BboxContainer container) several times before eventually getting an AccessViolationException.

It's a bit unpredictable how soon this happens; sometimes I can call DetectImage only twice before hitting the exception, sometimes I can call it 5-10 times.

Does this sound familiar at all?

System.NullReferenceException

System.NullReferenceException related to 'Alturos.Yolo.dll' when i try to open in gpu mode. cuda 9.2 and cudnn 7.1.4 are installed. Im on windows 10. Star for your project!

Cannot find pre-trained model in System.IO

I am trying to make an Object Detection program that detects objects inside an image. Whenever I build and run it, it throws the following Exception
System.IO.FileNotFoundException: 'Cannot found pre-trained model, check all config files available (.cfg, .weights, .names)' on this line var configurationDetector = new ConfigurationDetector(); var config = configurationDetector.Detect();

Using GPU Acceleration

Hi,

Useful library but I have a question regarding GPU accelerated detection.
I have CUDA toolkit (9.2) installed and I have cuDNN downloaded as well. What do I need to do to reference cudnn64_7.dll in my project? When I add a reference in Visual Studio, it doesn't let me, so I'm guessing it's not that (presumably because it's not a valid .NET DLL).

Your help will be appreciated.

Invalid image data, wrong image format

How can I process an image with PixelFormat.Format32bppPArgb? or any other PixelFormat types.

It seems that you limited input image format in the ImageAnalyzer class.

var bmp = Encoding.ASCII.GetBytes("BM");  //BMP
var png = new byte[] { 137, 80, 78, 71 }; //PNG
var jpeg = new byte[] { 255, 216, 255 };  //JPEG

Furthermore, if I have a pointer of an image data IntPtr, how can I proceed with this pointer? In detail, the static method DetectImageCpu(IntPtr pArray, int nSize, ref BboxContainer container); has a IntPtr input. If I have a pointer I do not need to copy my image data in public IEnumerable Detect(byte[] imageData).

I have tried with the following modified method but it throws an exception.

Exception thrown: 'System.Runtime.InteropServices.SEHException' in Alturos.Yolo.dll
System.Runtime.InteropServices.SEHException (0x80004005): External component has thrown an exception.
at Alturos.Yolo.YoloWrapper.DetectImageGpu(IntPtr pArray, Int32 nSize, BboxContainer& container)
at Alturos.Yolo.YoloWrapper.Detect(IntPtr pnt, Int32 length) in DetectImageGpu(pnt, length, ref container);

        public IEnumerable<YoloItem> Detect(IntPtr pnt, int length)
        {
            //if (!this._imageAnalyzer.IsValidImageFormat(imageData))
            //{
            //    throw new Exception("Invalid image data, wrong image format");
            ////}

            var container = new BboxContainer();
            //var size = Marshal.SizeOf(imageData[0]) * imageData.Length;
            //var pnt = Marshal.AllocHGlobal(size);

            try
            {
                // Copy the array to unmanaged memory.
                //Marshal.Copy(imageData, 0, pnt, imageData.Length);
                var count = 0;
                switch (this.DetectionSystem)
                {
                    case DetectionSystem.CPU:
                        count = DetectImageCpu(pnt, length, ref container);
                        break;
                    case DetectionSystem.GPU:
                        count = DetectImageGpu(pnt, length, ref container);
                        break;
                }

                if (count == -1)
                {
                    throw new NotImplementedException("C++ dll compiled incorrectly");
                }
            }
            catch (Exception exception)
            {
                return null;
            }
            finally
            {
                // Free the unmanaged memory.
                //Marshal.FreeHGlobal(pnt);
            }

            return this.Convert(container);
        }

Note: CopyMemory() native method is faster than Marshal.Copy as my experience.

Processing multiple images at the same time with GPU

I notices that the GPU utilization of GeForce GTX 1060 is only 12%. The frame rate is 26 per frame. Could I double the frame rate by processing two images in parallel ?
I created two instants of yolowrapper a run two tasks asynchronously. The problem is getting some GPU memory issues. Any thought and suggestion would be greatly appreciated.

Exception thrown when try another set.

Hi,

First, thanks for bringing Yolo to .Net

Well, I am facing a problem when testing in Windows 10.
The project runs smoothly if I use the code bellow.

var configurationDetector = new ConfigurationDetector();
var config = configurationDetector.Detect();
using (var yoloWrapper = new YoloWrapper(config))

However, if I try to use another pre-trained set, I got some errors.
It could be that I'm misunderstood how to use a pre-trained set, but I supposed, I only need to download the set and reference in the code, such as bellow.

using (var yoloWrapper = new YoloWrapper("yolov2.cfg", "yolov2.weights", "coco.names"))

I usually got this error when trying out with a yolov2 set.

Exception thrown at 0x00007FFD1C663C88 (yolo_cpp_dll_cpu.dll) in YoloTest.exe: 0xC0000005: Access violation reading location 0x0000000000000008.

Thanks,
Marcos

Detection from WebCam Capture using EmguCV

Hello! Nice wrapper! I tried it over some existing images and worked well but I have a problem using it with capture from my laptop camera. EmguCV is processing the bitmaps well and detects my face without issues but ProcessImage always returns null. The wrapper is initializing properly. Marshal.GetLastWin32Error() returns error code 203. I'm converting the Capture frames from their bitmaps to byte arrays using LockBits. Will put some code samples below so you can test. I'm using the latest Emgu from NuGet version 3.1.0.1.

using (var imageFrame = this.capture.QueryFrame().ToImage<Bgr, Byte>())
            {
                if (imageFrame != null)
                {
                    CoreRectangleCandidate[] yoloObjects = this.yoloWrapper.ProcessImage(BitmapToByteArray(imageFrame.Bitmap));

                    int errorMessage = Marshal.GetLastWin32Error();

                    if (yoloObjects != null)
                    {
                        foreach (CoreRectangleCandidate rect in yoloObjects.Where(wr => wr.objectType == "person"))
                        {
                            imageFrame.Draw(new Rectangle(rect.rectangle.topLeftCorner.x, rect.rectangle.topLeftCorner.y, rect.rectangle.width, rect.rectangle.height),
                                new Bgr(Color.Wheat), 3);
                        }
                    }
}
}

public static byte[] BitmapToByteArray(Bitmap bitmap)
        {

            BitmapData bmpdata = null;

            try
            {
                bmpdata = bitmap.LockBits(new Rectangle(0, 0, bitmap.Width, bitmap.Height), ImageLockMode.ReadOnly, bitmap.PixelFormat);
                int numbytes = bmpdata.Stride * bitmap.Height;
                byte[] bytedata = new byte[numbytes];
                IntPtr ptr = bmpdata.Scan0;

                Marshal.Copy(ptr, bytedata, 0, numbytes);

                return bytedata;
            }
            finally
            {
                if (bmpdata != null)
                    bitmap.UnlockBits(bmpdata);
            }

        }

Using yolov3 with coco

Hello and thank you for your great work on .Net YOLO module.
I am trying to run yolov3 with coco on my windows 10 in visual studio. I first tried using yolov2-tiny-voc and that work fine. However, I'm trying to have better detection so I decided to use yolov3. I downloaded the dependencies and I copied them into their proper folder so it is in the same place as yolov3-tiny-voc. this is my call for the function:
using (var yoloWrapper = new YoloWrapper("yolov3.cfg", "yolov3.weights", "coco.names"))
{

                bool fileExists2 = File.Exists(filePath);
                lock (filePath)
                {
                    if (fileExists2)
                    {
                        Console.WriteLine("Frame2 call");
                        var items = yoloWrapper.Detect(filePath);
                        //items[0].Type -> "Person, Car, ..."
                        //items[0].Confidence -> 0.0 (low) -> 1.0 (high)
                        //items[0].X -> bounding box
                        //items[0].Y -> bounding box
                        //items[0].Width -> bounding box
                        //items[0].Height -> bounding box

                        itemList = (List<Alturos.Yolo.Model.YoloItem>)items;
                        //Console.WriteLine(itemList);
                    }
                }
            }

However, when I run this the screen appears just for a second but then disappears and the program exits. I believe it is able to detect the files fine as it isn't giving me the file-not-found exception. This is the result of the last couple of lines on the command prompt:

107 Type not recognized: [net]
Unused field: 'batch = 1'
Unused field: 'subdivisions = 1'
Unused field: 'width = 416'
Unused field: 'height = 416'
Unused field: 'channels = 3'
Unused field: 'momentum = 0.9'
Unused field: 'decay = 0.0005'
Unused field: 'angle = 0'
Unused field: 'saturation = 1.5'
Unused field: 'exposure = 1.5'
Unused field: 'hue = .1'
Unused field: 'burn_in = 1000'
Unused field: 'max_batches = 500200'
Unused field: 'policy = steps'
Unused field: 'steps = 400000,450000'
Unused field: 'scales = .1,.1'
108 Layer before convolutional layer must output image.: No error
The program '[12588] streamer.exe' has exited with code 1 (0x1).

This error happens consistently in the layers 107 and 108.
Sorry if my question is long and doesn't make that much sense but I'm a beginner with Yolo and C#. Again, thanks a lot for your help.

solution for older computer with sse2 instruction set

Thanks for sharing the program.
The program work nicely on newer computer. It does not work on older computer with sse2 instruction set (don't have avx2). I'm just wondering if you have a quick solution for this case.

Index was out of range when i get item[0] = " Person...."

Hi everybody, i have a problem when i debug Alturos. How can i fix it? I'm newbie. Thanks so much
`This is my code:
private void ProcessFrame(object sender, EventArgs e)
{
imageBox1.Image = capture.QuerySmallFrame();
var img = capture.QueryFrame();
pictureBox1.Image = img.Bitmap;
var configurationDetector = new ConfigurationDetector();
var config = configurationDetector.Detect();
var yolo = new YoloWrapper(config);
var memoryStream = new MemoryStream();
pictureBox1.Image.Save(memoryStream, ImageFormat.Png);
var _items = yolo.Detect(memoryStream.ToArray()).ToList();

        if (_items[0].Type == "tao") // Index was out of range. Must be non-negative and less than the size of the collection. 
        {
            serialPort1.Write("0");
        }
        serialPort1.Write("1");

        AddDetailsToPictureBox(pictureBox1, _items);
       
    }

`Error: Index was out of range. Must be non-negative and less than the size of the collection.

IsMicrosoftVisualCPlusPlus2017Available reports false even though MicrosoftVisualCPlusPlus is available

Cause seems to be that there's a new Redist - Microsoft Visual C++ 2015-2019 Redistributable (x64), whereas IsMicrosoftCPlusPlus2017Available is looking for Microsoft Visual C++ 2017 Redistributable (x64).

 if (displayName.StartsWith("Microsoft Visual C++ 2017 Redistributable (x64)", StringComparison.OrdinalIgnoreCase) || displayName.StartsWith("Microsoft Visual C++ 2015-2019 Redistributable (x64)", StringComparison.OrdinalIgnoreCase))
 {
        return true;
 }

fixes this, but it would probably be safe to simply check that the displayName starts with Microsoft Visual C++ (or, I'm being optimistic here, is anything other than null or empty)...

Happy to raise a PR if that is useful.

(p.s. thanks for making and maintaining this it is awesome)

DELL not found on GPU

When running on GPU, I got message:
System.DllNotFoundException: 'Unable to load DLL 'x64\yolo_cpp_dll_gpu.dll':
on line: var deviceCount = GetDeviceCount();
The DELL is there.

I have CUDA 9.1 and cudnn-9.1 installed. Do I need to change it to the exact same version?
Thanks

Question about Converting Opencv mat to imageData

This program make it a lot easier for me to incorporate the yolov3 tiny into my c# project. Thanks a lot.
My images from video is in Mat format. What is the best way to convert Mat image to imageData to be used in "yoloWrapper.Detect(imageData);".

Do you have a function that use Mat as input?
I notice the function in yoloWrapper.cs:
[DllImport(YoloLibraryGpu, EntryPoint = "detect_mat")]
internal static extern int DetectImageGpu(IntPtr pArray, int nSize, ref BboxContainer container);

Only 64bit processes allowed

Hi. I was trying to use this package when I run into the following problem:

Error on_videoSource_NewFrame:
Only 64-bit processes are supported

Can someone please point me towards the right direction?
thank you

Net Core Conversion

I've tried to port this to net core, but I have been unable to run it with this error:

Exception thrown: 'System.DllNotFoundException' in YoloCore.dll
Exception thrown: 'System.DllNotFoundException' in System.Private.CoreLib.dll
Exception thrown: 'System.DllNotFoundException' in System.Private.CoreLib.dll
Exception thrown: 'System.DllNotFoundException' in System.Private.CoreLib.dll
An unhandled exception of type 'System.DllNotFoundException' occurred in System.Private.CoreLib.dll
Unable to load DLL 'x64\yolo_cpp_dll_cpu.dll' or one of its dependencies: The specified module could not be found. (Exception from HRESULT: 0x8007007E)

If you help me deal with this I can update a new branch here with net core.

Where can I find class probability ?

As we know, YOLO result first 5 value are x,y,w,h and confidence, rest are class probability, but in sample code //items[0].Type -> "Person, Car, ..." seems only give one class, not the value, so , where or how can I get the value ?

yolo9000 softmax last layer info

Thanks for the wonderful system!
I have the package working with YOLO9000, and wanted to know if you could expose the scores assigned to all the different possible labels of an object instead of just returning the argmax. I am interested in image retrieval and clustering, so having the additional info would help in with similarity indexing since you can use the entire scoring array as a long indexing vector for something like LSH. Maybe return an optional Dictionary with type and confidence for each possible object type. Or a method that given the YoloItem would return the info.

Crash upon using 'Detect' with a byte array.

Hello,

I've managed to use this version of YOLO on Unity (quite easily thanks to the wrapper and other classes), and I can easily operate the algorithm on an existing picture like Motorbike1.jpg when I use the 'Detect' function of the YoloWrapper class with the path parameter as a string.

When I use the 'Detect(byte[] imageData)' version of the function however, the editor crashes. I've narrowed the bug all the way down to lines 198 to 203 of the file YoloWrapper.cs, which means that it comes from when I call the DLL. I'm pretty sure the problem comes from my imageData byte array, since it's the parameter I give to the 'Detect' method.

Here's how I create the byte array that I send to the YoloWrapper for detection:

public IEnumerable<YoloItem> Detect()
{
    return yoloWrapper.Detect(Color32ArrayToByteArray(webCamTexture.GetPixels32()));
}

private static byte[] Color32ArrayToByteArray(Color32[] colors)
{
    if (colors == null || colors.Length == 0)
        return null;

    int lengthOfColor32 = Marshal.SizeOf(typeof(Color32));
    int length = lengthOfColor32 * colors.Length;
    byte[] bytes = new byte[length];

    GCHandle handle = default(GCHandle);
    try
    {
        handle = GCHandle.Alloc(colors, GCHandleType.Pinned);
        IntPtr ptr = handle.AddrOfPinnedObject();
        Marshal.Copy(ptr, bytes, 0, length);
    }
    finally
    {
        if (handle != default(GCHandle))
            handle.Free();
    }

    return bytes;
}

In this code, the 'webCamTexture' variable is a 'WebCamTexture' from the UnityEngine, documentation here: https://docs.unity3d.com/ScriptReference/WebCamTexture.html

Any idea why the crash happens? Is it actually the way I create the byte array, or do I need to recompile / use another DLL?

Thanks in advance,

Maxime.

System.DllNotFoundException: Unable to load DLL yolo_cpp_dll_cpu.dll

Hi, I have downloaded the package from Nuget Package Manager and try the basic detection code. But I am getting error "Unhandled Exception: System.DllNotFoundException: Unable to load DLL 'x64\yolo_cpp_dll_cpu.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E)". Any ideas what I'm missing here? Thanks.

How to let BboxT‘s track_id value be set?

internal uint track_id; // tracking id for video (0 - untracked, 1 - inf - tracked object)

the comment shows tracking id will be 0 when untracked. I wonder to known how to enable tracking? Thank you very much!

No GPU use in windows 7

Hi
I have windows 7 with CUDA toolkit 9.2 and placed the cudnn64_7.dll in the x64 directory. i have GForce 1050ti graphics card. c++ redist for 2017 is also installed. When running the project it uses only CPU and NOT GPU. I use Visual Studio 2015 Community Edition for the project and the package installed from Nuget. Can anyone help me please. I really need to get it work.
Thanks

Suggestion: "Better" checking for presence of cudnn_64_7.dll

My use case for Alturos.Yolo is in a vvvv plugin, which has a plugin directory structure which means that the main executable (vvvv.exe) doesn't end up next to Alturos.Yolo.dll, which means that

if (File.Exists(@"x64\cudnn64_7.dll"))

will always return false even if the file is present. Everything goes on to work perfectly anyway, so it's not a big deal, but a more robust approach might be to look for cudnn with a path relative to the Alturos DLL, rather than the "main" executable:

string assemblyFolder = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
            if (File.Exists(Path.Combine(assemblyFolder, @"x64\cudnn64_7.dll")))
            {
                report.CudnnExists = true;
            }

(This requires a reference to System.Reflection to work)

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.