精华内容
下载资源
问答
  • 物体识别

    万次阅读 多人点赞 2018-07-18 22:33:05
    一、物体识别 图像识别:很重要,是很多算法的基础 图像识别+定位:识别出来是猫,且定位出猫的位置 物体检测:每个图像中含有多物体,检测出有几个个体,并框出来位置 图像分割:不仅仅框出来位置,还有勾勒...

    一、物体识别

    这里写图片描述

    图像识别:很重要,是很多算法的基础

    图像识别+定位:识别出来是猫,且定位出猫的位置

    物体检测:每个图像中含有多物体,检测出有几个个体,并框出来位置

    图像分割:不仅仅框出来位置,还有勾勒出来轮廓

    很有意义,且能在工业落地。

    这里写图片描述

    如何识别+定位(单物体):

    这里写图片描述

    已经用多层的卷积神经网络做了分类的问题(右上角),得到了已经训练好的参数。现在要定位矩形框,四个值(x,y,w,h)分别为,(x,y)为左上的坐标,w为宽,h为高,四个数都是连续的值,就变为了一个回归问题。

    这里写图片描述

    分类问题是通过FC得到每类的概率,而此时需要得到连续的四个值,所以预测的是x^,y^,w^,h^,真实的是x,y,w,h

    L2-loss:(xx^)2+(yy^)2+(ww^)2+(hh^)2

    利用BP+SGD进行训练,得到损失最小的参数。

    这里写图片描述

    去掉做分类的积木,在最后一个卷积层之后添加做回归的积木。

    为了利用前面训练好的参数,有两种搭积木的方法:

    1. 对训练好的参数进行固定,也就是前面的参数不再训练,一路做回归,一路做分类
    2. 也许对参数也进行学习的话会有更好的回归的结果,也就是将训练好的参数作为初始值,对前面部分的学习率调低,后面新的部分的学习率调高,再进行训练,得到一个新的完整的结构,分类(交叉熵损失)和回归(L2-loss)是分开的。

    思路二:

    这里写图片描述

    回归效果不太好,能不能提前给一些框来分类。

    分别用黑色的框来遍历,左上->右上->左下->右下,分类后会获得在不同位置上判断出来是猫的概率:0.5->0.75->0.6->0.8

    所以主体一定是靠近右边的,然后整合。

    这里写图片描述

    有四个红框,进行整合。

    这里写图片描述

    去掉全连接,改成1x1的卷积,计算共享,只有黄色的部分要计算,没有那么暴力。

    二、多目标物体识别

    如果图中有2个个体,框每滑到一个位置,判断是不是某个物体,

    这里写图片描述

    边缘策略,找到到底哪些位置可能是候选框,先用别的方法找到可能是一个物体的框。

    这里写图片描述

    选择性搜索:

    自顶向下的搜索,先用像素KNN的方式对周边的点做扩散,得到很细的区域分布,可以再进行扩张,得到不同粒度的图像分割区域。

    从上到下的过程:找到框把不同颜色的地方框出来。

    这里写图片描述

    对比:

    这里写图片描述

    R-CNN

    这里写图片描述

    R-CNN 思想:

    有一张图,可以从图中选出可能感兴趣的区域(ROI),每个框都经过CNN,得到该框中的特征,取第5个池化层的特征,用SVM做分类,确定是哪一类,利用Bbox回归来对框进行调整。

    Bbox regression:告诉你这个框怎么调整一下,可以更贴近物体的形状,也就是框可能太大,可以调小些,也是有参数的,需要训练,是一个独立的部分。

    RCNN不是end-to-end的模型,这个ConvNet可以直接拿VGG来用,就是抽取特征。

    改进:R-CNN太慢了

    2000个图像候选框,每个框的数据都要进行卷积特征抽取,很耗时,所以简化为Fast-rcnn。

    Fast-RCNN 思想:
    这里写图片描述
    ① 将候选框缩减

    对原图进行卷积神经网络特征抽取,得到了一个整图的特征图,在结果上抠出来和原来的框对应的位置,也就是将原图上的候选框映射到特征图上,抽取对应位置的特征。

    ② 将分类器变为神经网络,也就是接全连接层,完成分类和回归

    这里写图片描述

    实现:

    这里写图片描述

    原始图像3x800x600 -> 得到一个特征图,特征图上的某个点,是由原图的小块图像区域和卷积核卷积得到的,所以,特征图上的不同点,对应原图的不同小块儿。也就是原图的框应该是可以找到特征图对应的框。

    问题:圈出来的框的大小是不同的,经过pooling之后也是不同大小的,但是FC的神经元的输入和输出大小是固定的,所以FAST 提出了ROI pooling

    FAST RCNN中提出了ROI pooling:对所有的框下采样为相同的维度,之后再接神经元:

    这里写图片描述

    Faster-RCNN

    找候选图框很麻烦,可以让神经网络自己找图框。

    这里写图片描述

    这里写图片描述

    在大图上产出了一些特征图,在中心点找到不同大小的框,用候选框中的东西进行判别,得到n个得分,再进行判别。
    这里写图片描述

    NeuralStyle

    原始图片+风格图片=>带风格的图

    传统网络一直用Cross-entropy 或L2-loss,来评价两幅图在内容是的接近程度,所以作者思考有没有更好的损失函数,使得现在的问题性能有提升。

    发现了一个style-loss能够定义两幅图像的风格的差异,所以将L2-loss和style-loss来综合起来来进行融合。

    这里写图片描述

    一般情况利用CNN来学习权重w,而图像是x,所以可以固定w去调x使得损失最小。

    拿VGG网络,把网络固定住,调图像x,使得损失最小,让内容和猫最接近,让风格和下图更接近,所以定义两个loss,分别为内容的loss和风格的loss。

    这里写图片描述

    内容loss:原始图Fij,生成图Pij

    风格loss:评估了所有特征图(64x64x16)的depth(16)上,每两个特征图上进行了点乘,就有A1616=16×16个结果,即语法矩阵Gram matrix,对生成的语法矩阵和原始图像的语法矩阵做差值。

    将两部分loss合起来,α为内容损失的权重,β为风格损失的权重,α越大,越偏内容,然后最小化损失即可。

    展开全文
  • 看最近物体识别互动桌比较火 本人就自己开发了一套物体识别底层开发包,以Unity插件的形式调用 CSDN好像放不了视频 先看效果!案例视频均为基于此开发包开发的程序,案列视频链接: ...

    看最近物体识别互动桌比较火

    本人就自己开发了一套物体识别底层开发包,以Unity插件的形式调用

    CSDN好像放不了视频

    先看效果! 案例视频均为基于此开发包开发的程序,案列视频链接:

    https://objrecong.oss-cn-shanghai.aliyuncs.com/206.MP4

    https://objrecong.oss-cn-shanghai.aliyuncs.com/394.MP4

    https://objrecong.oss-cn-shanghai.aliyuncs.com/880.MP4

    https://objrecong.oss-cn-shanghai.aliyuncs.com/881.MP4

    https://objrecong.oss-cn-shanghai.aliyuncs.com/882.MP4

     

    一、示例场景快速实践:

     

    1. 新建一个场景,将Assets\TouchScript\Prefabs\下的Cursor和TouchManager预设体拖到场景中
    2.  新建一个Canvas,在Canvas下新建一个空物体取名ModelPanel(命名随意),将需要识别的对象放在ModelPanel子目录下(最多5个),例如创建5个不同颜色的Image,取名Model00,Model01, ... ,Model04

    在Canvas下新建一个Text取名ScanText,默认隐藏

    如下图所示:

     

     

     

      3. 选中Canvas,为Canvas添加组件Config和ObjectRecog

         AddComponent-->搜索”Config”

         AddComponent-->搜索”ObjectRecog”

     

         ObjectRecog中的Cursor为步骤3.1中的Cursor预设体

         ModelPanel为步骤3.2中场景中的空物体ModelPanel

     

         Config中的SacnText为步骤3.2中新建的Text

     

         如下图所示:

     

     

     

     

    至此,最简单的场景已经搭建完成,配合硬件运行即可

     

    二、脚本里获取模块位置与角度信息:

     

    
    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    
    public class Manager : MonoBehaviour
    {
    
        ObjectRecog objrecog = new ObjectRecog();
        // Start is called before the first frame update
        void Start()
        {
            objrecog = transform.GetComponent<ObjectRecog>();
        }
    
        // Update is called once per frame
        void Update()
        {
            for (int i = 0; i < objrecog.modelsInfoList.Count; i++)
            {
                int modelId = objrecog.modelsInfoList[i].modelId;
                Debug.Log("模块编号为:"+ modelId + "\n");
                Debug.Log("模块"+ modelId + "已激活?  " + objrecog.modelsInfoList[i].isActive + "\n");
                Debug.Log("模块" + modelId + "的 AnchorPositon 为:" + objrecog.modelsInfoList[i].modelPos + "\n");
                Debug.Log("模块" + modelId + "的 eularAngle的Z轴为:" + objrecog.modelsInfoList[i].modelAngleZ + "\n");
                Debug.Log("-----------------------------------\n");
            }
        }
    }
    

     

    其中

    objrecog.modelsInfoList为一个Struct结构体

     

    每个struct包含:

     

    一个int型的modelId,即为识别到的模块的编

     

     一个bool型的isActive,即为判断编号为modelId的模块有没有被检测到

    true就是检测到了,false就是未检测到

     

      一个vector2类型的modelPos,记录当前模块的位置,实时刷新,此位置为RectTransform 下的anchorPositon,不是tranformpositionlocalPosition  例如:transform.GetComponent<RectTransform>().anchorPositon=modelPos

     

    一个float型的modelAngleZ,即为eularAnglez

    qq:1102841793

    展开全文
  • opencv 红绿灯识别 运动物体识别

    热门讨论 2012-05-26 09:30:41
    红绿灯识别 opencv 运动物体识别
  • 遇到的问题是,需要扫描...在官方文档中说这样子的物体识别会出现问题,确实如此,识别是可以成功的, 但识别成功后所产生的物体会晃动。 但项目需求需要用这个模型,有没有代码操控被识别物体的方式,让它不再抖动。
  • Python OpenCV 物体识别

    千次阅读 2020-03-15 11:41:15
    基于Python OpenCV 隐马尔可夫模型 物体识别,汽车飞机摩托车。 网上自己收集的图片进行识别的,准确率可以达到60% 其中通过star 和sift 特征检测。 import os import warnings import numpy as np import cv2 as cv...

    基于Python OpenCV 隐马尔可夫模型 物体识别,汽车飞机摩托车。

    网上自己收集的图片进行识别的,准确率可以达到60% 其中通过star 和sift 特征检测。

    SIFT算法

    来源:
    尺度不变特征转换(Scale-invariant feature transform或SIFT)算法是一种特征提取的方法。它在尺度空间中寻找极值点,并提取出其位置、尺度、旋转不变量,并以此作为特征点并利用特征点的邻域产生特征向量。SIFT算法对于光线、噪声、和微小视角改变的容忍度相当高,且对于部分遮挡的物体也有较高的识别相率。
    SIFT算法适合于识别旋转度达60度的平面形状,或是旋转度达到20度的三维物体。
    SIFT算法对模糊的图像和边缘平滑的图像,检测出的特征点过少,对圆更是无能为力

    import os
    import warnings
    import numpy as np
    import cv2 as cv
    
    import hmmlearn.hmm as hl
    
    warnings.filterwarnings('ignore',category=DeprecationWarning)
    
    np.seterr(all='ignore')
    
    
    def search_objects(directory):
        directory = os.path.normpath(directory)
        if not os.path.isdir(directory):
            raise IOError("the directory '"+ directory + \
                          "' doesn't exist")
        objects ={}
        for curdir ,subdirs, files in os.walk(directory):
            for jpeg in (file for file in files if file.endswith('.jpg')):
                path = os.path.join(curdir,jpeg)
                label = path.split(os.path.sep)[-2]
                if label not in objects:
                    objects[label]=[]
                objects[label].append(path)
        return objects
    
    
    train_objects=search_objects('data/objects/training')
    print(train_objects)
    
    train_x, train_y =[],[]
    for label, filenames in train_objects.items():
        descs = np.array([])
        for filename in filenames:
            image = cv.imread(filename)
            gray = cv.cvtColor(image, cv.COLOR_BGR2GRAY)
    
            #调整大小
            h,w =gray.shape[:2]
            f =200/min(h,w)
            gray = cv.resize(gray,None,fx=f,fy=f)
            star=cv.xfeatures2d.StarDetector_create()
            keypoints = star.detect(gray)
            sift = cv.xfeatures2d.SIFT_create()
    
            _,desc = sift.compute(gray,keypoints)
            if len(descs)==0:
                descs=desc
            else:
                descs=np.append(descs,desc,axis=0)
        train_x.append(descs)
        train_y.append(label)
    models={}
    for descs, label in zip(train_x,train_y):
        model= hl.GaussianHMM(n_components=4,
                              covariance_type='diag',
                              n_iter=1000
                               )
        models[label]=model.fit(descs)
    
    test_objects=search_objects('data/objects/testing')
    print(train_objects)
    
    test_x, test_y, test_z=[],[],[]
    for label, filenames in test_objects.items():
        test_z.append([])
        descs = np.array([])
        for filename in filenames:
            image = cv.imread(filename)
            test_z[-1].append(image)
    
            gray = cv.cvtColor(image, cv.COLOR_BGR2GRAY)
    
            #调整大小
            h,w =gray.shape[:2]
            f =200/min(h,w)
            gray = cv.resize(gray,None,fx=f,fy=f)
            star=cv.xfeatures2d.StarDetector_create()
            keypoints = star.detect(gray)
            sift = cv.xfeatures2d.SIFT_create()
    
            _,desc = sift.compute(gray,keypoints)
            if len(descs)==0:
                descs=desc
            else:
                descs=np.append(descs,desc,axis=0)
        test_x.append(descs)
        test_y.append(label)
    pred_test_y=[]
    for descs in test_x:
        best_score, best_label =None,None
        for label, model in models.items():
            score=model.score(descs)
            if(best_score is None)or(best_score<score):
                best_score, best_label = score,label
        pred_test_y.append(best_label)
    i=0
    for label,pred_label,images in zip(test_y,pred_test_y,test_z):
        for image in images:
            i+=1
            cv.imshow("{}-{} {} {}".format(i,label,'=='
                       if label == pred_label else '!=',pred_label),image)
    
    cv.waitKey()
    
    展开全文
  • 本文将使用opencv-python识别自定义物体,能够区分识别到的物体,如果用作人脸识别,则能够区分出不同的人脸id,也就是能够分得清张三,李四,王二麻子 本文提供的所有资源仅供学习使用,不可商用 文末有完整...

    本文将使用opencv-python识别自定义物体,能够区分识别到的物体,如果用作人脸识别,则能够区分出不同的人脸id,也就是能够分得清张三,李四,王二麻子

     

    (这方案已经很老了,去学 Tensorflow2 吧)

    本文提供的所有资源仅供学习使用,不可商用

     

    文末有完整工程链接

     

    效果:

     

    识别出局座,大紧,大众和沃尔沃

     

    vs2017+python+opencv配置请参考https://blog.csdn.net/qq_43440703/article/details/88375609

    本文中文乱码问题参考博客https://blog.csdn.net/qq_39622065/article/details/84859629

     

    为什么能让程序识别出我们想要让它识别的物体,程序怎么能认得哪个是我们想要识别的物体

    此时我们需要事先训练程序,我们需要事先告诉它,哪个人是局座,哪个人是大紧,哪个车是沃尔沃,哪个车是大众

    如何训练程序去认识这些人和物,我们在本文最后去讲

     

    本教程中出现的所有的训练数据文件都包含在文末的工程文件中,下载后可直接运行

     

    注意:

    本教程只使用了少量的样本训练,精度一般,主要是了解思想

    本教程中对应物体的训练数据仅对本视频文件有较好的识别概率,其他场景效果不行


    如果需要在任何场景中都能识别局座或者其他人和物,需要重新使用大量到的样本数据去训练,需要成千上万个样本,本程序只是一个示例教程

    掌握了思想,就可以自己去准备样本去训练

     

     

    程序实现:

    新建一个Python应用程序

    安装opencv-python

     

    from PIL import Image, ImageDraw, ImageFont
    import cv2
    import numpy as np
    import time
    
    
     #由于直接用opencv显示中文会乱码,所以先将图片格式转化为PIL库的格式,用PIL的方法写入中文,然后在转化为CV的格式 
    def change_cv2_draw(image,strs,local,sizes,colour):   
        cv2img = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
        pilimg = Image.fromarray(cv2img)
        draw = ImageDraw.Draw(pilimg) 
        font = ImageFont.truetype("SIMYOU.TTF",sizes, encoding="utf-8")  #SIMYOU.TTF为字体文件
        draw.text(local, strs, colour, font=font)
        image = cv2.cvtColor(np.array(pilimg), cv2.COLOR_RGB2BGR)
        return image
    
    
    
    #src为输入的图像
    #classifier为对应识别物体的分类器
    #strs为识别出的物体的中文说明
    #colors表示框的颜色
    #minSize为识别物体的最小尺寸,当识别的物体尺寸低于这个尺寸,则不检测,就当没识别到
    #minSize为识别物体的最大尺寸,当大于该尺寸时不识别
    def myClassifier(src,classifier,strs,colors,minSize,maxSize):
        gray=cv2.cvtColor(src,cv2.COLOR_BGR2GRAY)
        #detectMultiScale()方法里面的参数在另一篇博客中有详解:https://blog.csdn.net/GottaYiWanLiu/article/details/90442274
        obj = classifier.detectMultiScale(gray,scaleFactor = 1.15, minNeighbors = 5,minSize=minSize,maxSize=maxSize) 
        for (x,y,w,h) in obj:
            cv2.rectangle(src,(x,y),(x+w,y+w),colors,2) #画框,(x,y)为识别物体的左上角顶点,(w,h)为宽和高
            src=change_cv2_draw(src,strs,(x,y-20),20,colors)#显示中文
        return src
    
    
    #读取视频文件 若 cap=cv2.VideoCapture(0),则为获取摄像头画面
    cap=cv2.VideoCapture("001.mp4")
    
    #读取对应物体的训练数据,  注意,以下这些训练数据仅对本视频文件有较好的识别概率,其他场景不行
    #其他场景中,需要重新使用大量到的样本数据去训练,本程序只是一个示例教程
    
    juzuo=cv2.CascadeClassifier("juzuo.xml")   #局座人脸的训练数据
    dajin=cv2.CascadeClassifier("dajin.xml")   #大紧人类的训练数据
    volvo=cv2.CascadeClassifier("volvo.xml")   #沃尔沃汽车的训练数据
    volkswagen=cv2.CascadeClassifier("volkswagen.xml") #大众汽车的训练数据
    
    while True:
        _,frame=cap.read()
        frame=myClassifier(frame,juzuo,"局座",(0,0,255),(40,40),(60,60))
        frame=myClassifier(frame,dajin,"大紧",(0,255,0),(40,40),(70,70))
        frame=myClassifier(frame,volvo,"沃尔沃",(255,0,0),(35,35),(70,70))
        frame=myClassifier(frame,volkswagen,"大众",(0,255,255),(40,40),(70,70))
    
        cv2.imshow("frame",frame)
        cv2.waitKey(30)

    如果想按Esc键退出程序

    将最后一行改为:

    c=cv2.waitKey(30)

    if c==27:

       cv2.destroyAllWindows()

       break

     

    所有参数说明看注释

     

     

    如何训练我们想要识别的物体?

     

    参考博客:

    https://blog.csdn.net/qq_32502511/article/details/79010509

     

     

    首先我们需要安装3.0以上4.0以下的opencv

    本人使用的opencv3.4.0

    官网下载:https://opencv.org/releases/page/2/

    安装完以后

    在路径opencv\build\x64\vc14\bin\下有我们需要的训练程序

    opencv_createsamples.exe和opencv_traincascade.exe

     

    以本文为例:

    首先新建一个文件夹取名 JuZuo

    然后将opencv\build\x64\vc14\bin\下的所有文件复制到该文件夹下

    然后在此文件夹下再新建一个pos文件夹,一个neg文件夹,一个xml文件夹

    如下图所示:

     

     

    其中neg文件夹保存我们的负样本

    pos文件夹保存我们的正样本,

    正负样本都是图片文件

    正样本就是我们需要识别的物体的图片,而负样本中不能出现正样本

     

    负样本下载(本人花积分从csdn上下载的):

    我推荐自己去网上搜,尊重别人劳动成果,我本来想把我下载的博主的链接粘贴过来,结果找了半天没找到

    先用这个吧

    链接:https://pan.baidu.com/s/1ahJA6BsY4oVL20oY3GSQjg 
    提取码:2o95 

     

    负样本的尺寸没有具体要求,只要比正样本大就行

    而正样本,尺寸需要统一,为了保准训练的速度,本文正样本图片尺寸统一20x20

    需要使用ps或者其他软件裁剪一下

     

    局座正样本下载(本人一点一点的裁的):

    链接:https://pan.baidu.com/s/1Erwm59tzfdDHL3HTnu4QpA 
    提取码:gi7p 
     

    然后将负样本所有图片放到neg文件夹下

    将局座的所有正样本图片放到pos文件夹下

     

    然后win+r   输入cmd,打开cmd

    比如本人的JuZuo文件夹在D盘

    则输入 d:   然后回车

    然后来到我们的负样本文件夹

    输入:cd D:\JuZuo\neg  回车

    此时我们已经进入neg文件夹

    输入:dir /b/s/p/w *.jpg > neg.txt  回车

    此时会在neg文件末尾生成一个neg.txt文件

    然后我们进入pos文件夹

    输入 cd D:\JuZuo\pos  回车

    此时我们输入:dir /b/s/p/w *.jpg > pos.txt  回车

    此时会在pos文件末尾生成一个pos.txt文件

    如下图:

     

    此时我们将neg.txt和pos.txt文件都移动到D:\JuZuo\路径下

    即移动到上一层目录

    此时我们需要修改一下pos.txt

    此时我们借助Notepad++程序,百度Notepad++下载

    右键pos.txt,使用Notepad++打开

    然后 按 Ctrl+H

    将所有的jpg替换成jpg 1 0 0 20 20

    替换完后:

    一定要记得保存

     

     

    修改完后,

    在回到D:\JuZuo\文件夹下

    在cmd 命令提示符里输入: cd D:\JuZuo 回车

    然后输入:opencv_createsamples.exe -vec pos.vec -info pos.txt -num 200 -w 20 -h 20 回车

    其中-num 后面的200,是正样本的数量,比如有300个正样本,不一定要用满,比如我用200个,后面两个20 就是正样本的尺寸

    如下图:

     

    此时会在JiuZuo文件夹下创建一个pos.vec文件

    此时我们新建一个文本文档

    命名任意,但是需要将后缀名改为bat,比如start.bat

    如下图:

     

    此时右键start.bat,编辑

    opencv_traincascade.exe -data xml -vec pos.vec -bg neg.txt -numPos 200 -numNeg 400 -numStages 15 -w 20 -h 20 -maxFalseAlarmRate 0.4 -precalcValBufSize 2048 -precalcIdxBufSize 2048 -mode ALL
    
    pause

    将这一段话复制进去保存

    numPos为正样本数量,numNeg为负样本数量,numStages为分类器的级数,w和h为正样本的宽和高,maxFalseAlarmRate为最大误报率,precalcValBufSize为缓存大小,用于存储预先计算的特征值单位为MB,precalcIdxBufSize为缓存大小,用于存储预先计算的特征索引(feature indices),单位为MB。内存越大,训练时间越短。

    具体参数说明请参考官方文档:

    https://www.baidu.com/link?url=qZmbQOIgAdjLrWTy0-JAZW5UvMbHYuPDA0sDtGEPvJTLh2hPc56dccEq_9q6yYtSvBBciUE9cQrUYN8iTlec7a3lAPAlaBQd3X60WHvPm7qJcMPTNcwSuVcfQHdrJRoF&wd=&eqid=8cd1a75100010c7b000000055ce60780

    然后双击start.bat启动

     

    然后会在xml中生成cascade.xml文件,此文件就是训练后的文件

    我们只需在代码中读取此文件即可

     

     

    工程链接:

    链接:https://pan.baidu.com/s/1cK19bZkNFwnQDBxAo9UDfg 
    提取码:fosm 

     

     

    展开全文
  • 物体识别与测距解决方案

    千次阅读 2019-07-12 18:28:32
    机器视觉的高速发展,在人工智能各个领域的应用越来越重要,逐渐应用于安防监控、医疗图像、机器人工业视觉、自动化驾驶、无人机等行业中,而随着图像识别技术和深度学习算法的不断发展,机器视觉的物体识别与测距也...
  • OpenCV.物体识别

    千次阅读 2019-07-05 10:05:00
    1、度娘:“OpenCV 物体识别”  1.1、opencv实时识别指定物体 - 诺花雨的博客 - CSDN博客.html(https://blog.csdn.net/qq_27063119/article/details/79247266)  ZC:主看这个,讲的比较细致,操作一般都是使用...
  • 由于每个项目需要检查的目标对象都不一定相同,一个大而全面的库固然是好多,但是如果仅仅是为了识别一个视角中的一种或少数种类的物体,庞大的库就会显得笨重,严重占用cpu资源和存储空间。 所以这就需要我们通过...
  • 3D物体识别相关

    千次阅读 2018-12-19 09:34:57
     在物体识别或者是三维研究领域,我们知道RGB中包含了纹理、颜色和表观信息,而RGB信息对于光照等因素的鲁棒性不好,深度信息或者说是有关空间三维的信息来说,它能够对于光照等因素有较好的鲁棒性.因此三维物体相关...
  • 实战三:手把手教你实现物体识别

    千次阅读 2019-04-09 08:31:21
    实战三:手把手教你实现物体识别 一、基于Haad+Adaboost实现人脸识别 1.原理介绍(参考下面的博客文章) http://www.cnblogs.com/ello/archive/2012/04/28/2475419.html Haar分类器 = Haar-like特征+积分图方法+...
  • OpenMV(六)--STM32实现物体识别与手写数字识别

    千次阅读 多人点赞 2020-05-04 21:58:43
    物体识别1.1 构造函数1.2 源码分析2. 手写数字识别2.1 构造函数2.2 源码分析 引 OpenMV(一)–基础介绍与硬件架构 OpenMV(二)–IDE安装与固件下载 OpenMV(三)–实时获取摄像头图片 OpenMV(四)–STM32实现特征检测 ...
  • ARFoundation实现物体识别后进行物体移动 写了两个脚本ButtonTouch和 Move ButtonTouch脚本如下: Move脚本如下: 解析: (1)将ButtonTouch挂在AR Session Origin上,新建空物体GameObject,将要通过物体识别...
  • 在小强上使用Yolo进行物体识别

    千次阅读 2018-07-23 13:50:07
    物体识别是指讲图片中的物体识别出来,包括物体的位置和类别。 以下面的图片为例 可以看出程序成功找出了图片中的自行车,狗和卡车。 Yolo是一个很高效的物体识别程序,在有Nvida GPU和CUDA的情况下...
  • unity AR3D物体识别

    千次阅读 2017-11-21 10:15:29
    上篇讲到了各种AR插件的一些对比 因为上个项目需求用到3D物体...1.先讲一下EasyAR的3D物体识别 这个平台的3D识别是需要你上传一个与现实物体一样的OBJ模型的格式 模型包括一个OBJ (.obj)文件以及相应的MTL (.
  • ARFoundation之路-3D物体识别之二

    千次阅读 2019-08-14 17:51:30
    版权声明:Davidwang原创文章,...虽然3D物体检测识别跟踪在技术上与2D图像检测识别跟踪有非常大的差异,但在ARFoundation中,3D物体识别跟踪与2D图像识别跟踪操作几乎完全一致,这大大的方便了开发者的使用。 (一...
  • Vuforia sdk 之物体识别

    千次阅读 2017-09-06 15:00:55
    Vuforia sdk 4.0的新功能就是物体识别Object Recognition和物体扫描器 vuforia object scanner,制作一个手表扫描案例简单说一下使用流程。 Vuforia 对象扫描仪使用有四个阶段 设置-应用于设置环境。 扫描-捕捉...
  • ARFoundation之路-3D物体识别之一

    千次阅读 热门讨论 2019-08-14 14:02:37
      3D物体跟踪技术,是指通过图像处理技术对摄像头中拍摄到的3D物体识别定位并对其姿态进行跟踪的技术。3D物体跟踪技术的基础也是图像识别,但比前述图像识别跟踪要复杂得多,原因在于现实世界中的物体是三维的,从...
  • 目前在ARFoundation中,3D物体识别只支持A9处理器或更高版本的iOS设备。使用3D物体识别跟踪功能需要预先采集3D物体特征点信息。苹果公司给我们提供了一个采集3D物体特征点工具,我们需要下载并使用Xcode编译成应用...
  • 用3.0中的示例MotionDetection做运动物体识别,结果可以识别运动物体,却无法识别这些运动物体的方向,调试时发现是MotionHistory中的梯度计算结果都为0,无解,求大神赐教呀
  • 开源自:https://github.com/hjwang1/robot1.视觉感知一般性的物体识别、分割、曲面重建,Research about robot perceptions. Author: hjwang1@163.com, 此视觉感知算法,可以做3D人脸识别、手势识别,可延及一般性...
  • RGBD物体识别(1)--开篇

    千次阅读 2016-03-24 01:43:34
    目标本文记录的RGBD物体识别,目标不是介绍现有的通用的物体识别技术,而是面向物流货物分拣领域的物体识别,旨在实现一个可以在限制条件下(实验室条件下)能够work的demo。 开发工具OpenCV PCL 系统框架简述1,...
  • 使用Caffe基于cifar10进行物体识别

    千次阅读 2017-06-10 18:31:30
    使用Caffe基于cifar10进行物体识别
  • 物体识别:在深度学习时代的回顾

    千次阅读 2018-07-23 13:45:38
    我们最感兴趣的问题之一就是物体识别。 像许多其他计算机视觉问题一样,现在仍然没有明显“最佳”的方法来解决问题,这意味着仍有很大的改进空间。 在进入物体识别之前,让我们快速了解该领域中最常见的问题。 ...
  • 实战三:实现物体识别

    千次阅读 2019-06-11 16:58:38
    实战三:物体识别 一、基于Haad+Adaboost实现人脸识别 1.原理介绍(参考下面的博客文章) http://www.cnblogs.com/ello/archive/2012/04/28/2475419.html Haar分类器 = Haar-like特征+积分图方法+AdaBoost+级联 ...
  • 稀疏表征与物体识别

    千次阅读 2013-03-24 21:42:34
    物体识别一直是机器视觉与人工智能方面的研究热门,其方法更是多彩多样。有没有一种能够在线学习,且学习或特征提取速度快,同时鲁棒性好的方法呢?答案是肯定的,而且方法还不止一种。最近实现了一个基于稀疏表征...
  • python+opencv实现动态物体识别

    千次阅读 2019-10-09 16:22:49
    python+opencv实现动态物体识别 https://www.jb51.net/article/132480.htm

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 85,331
精华内容 34,132
关键字:

物体识别