繁体   English   中英

是否有可用的对象检测/识别C#库?

[英]Is there any available object detecting/recognition C# library?

我正在做一个需要重新调整现实世界中对象的项目(例如水果,椅子,笔记本,桌子,扬声器……等等)

我想问的第一件事是“有可能吗?”,我目前是信息技术大学的三年级学生。

第二个是“是否有可用的C#库可以帮助我实现这一目标?”

有什么解决办法吗? 如果有人可以回答我的问题,我将不胜感激!

一般来说,这是一个非常困难的任务。 请记住,要设计出始终能够检测到物体并且不会产生任何错误(错误警报)的完美系统目前是不可能的。

您可以通过使用OpenCV的潜在SVM检测器开始: http : //docs.opencv.org/modules/objdetect/doc/latent_svm.html

但是,训练新模型是有问题的。 您还可以使用OpenCV HOG描述符和检测器: http : //docs.opencv.org/modules/gpu/doc/object_detection.html

或级联分类器: http : //docs.opencv.org/modules/objdetect/doc/cascade_classification.html

您应该将自己限制为预定义的设置对象,并为每个对象类训练一个检测器。 如果您可以将自己限制在OpenCV潜在svm当前支持的类集中,那么实际上就不难了。 但是请记住,始终会丢失检测和错误警报。

您可以使用Alturos.Yolo,它是yolo( darknet )的ac#包装器。 根据预训练的模型,您可以检测到很多不同的对象( Yolo9000的训练对象列表 )。 如果需要更多种类,还可以训练自定义对象。

Nuget包

PM> install-package Alturos.Yolo

var configurationDetector = new ConfigurationDetector();
var config = configurationDetector.Detect();
//using (var yoloWrapper = new YoloWrapper("yolov2-tiny-voc.cfg", "yolov2-tiny-voc.weights", "voc.names"))
using (var yoloWrapper = new YoloWrapper(config))
{
    var items = yoloWrapper.Detect(@"image.jpg");
    //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
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM