精华内容
参与话题
问答
  • 计算机视觉项目

    2019-10-16 18:00:12
    公式图片ocr,输入图片输出对应的latex表达式
    展开全文
  • OpenCV主要开发者和OpenCV社区的主要贡献者携手,深入解析OpenCV技术在计算机视觉项目中的应用,Amazon广泛好评。通过典型计算机视觉项目,系统讲解使用OpenCV技术构建计
  • python计算机视觉项目实践

    千次阅读 2014-04-18 10:48:31
    这是一个贝叶斯模型的计算机视觉小项目,希望大家通过这个简单的项目知道一般的计算机视觉项目是如何操作的。

    这是一个贝叶斯模型的计算机视觉小项目,希望大家通过这个简单的项目知道一般的计算机视觉项目是如何操作的。


    我先讲题目放在这里希望有兴趣的童鞋花一周的时间思考并用python实现。一周以后我来公布我的具体操作细节和代码。希望大家可以通过这个简单的项目将自己学到的机器学习以及计算机视觉的知识应用到实践当中。

    基于OpenCV编写一个基于朴素贝叶斯的图片分类分类程序

    要求:

    [1] 在google的图片搜索引擎中输入"flower"和"airplane",分别下载m(>100)张"flower"图片和n(>100)张"sky"图片,作为数据集的正负样本;(注意:这两类图片也可以任意选择,比如"chair"和"car")

    [2] 视觉词典的构建采用如下的方式:随机从每张训练集的图片中切割出p(p>500)个25x25的图片块,计算改图像块的颜色直方图特征(6x6x6个区间),然后将这些图像块(共有p*(m+n))用kmeans聚成K(K>1000)个类,作为词典;注:kmeans可以直接调用opencv,或者用其他工具包来聚类。

    [3] 训练或者测试时,对待测试的图片进行密集采样,用Histogram Intersection距离(计算公式为),采用最近邻的方法计算每个单词的次数。

    [4] 使用5折交叉验证计算出平均的Precision和Recall;


    数据集大家可以考虑编写一个爬虫到谷歌下载图片(如果可以的  麻烦教我爬虫怎么操作哈)如果不行的可以找我索要数据集QQ 42 #14# 14# 626 。

    展开全文
  • python计算机视觉项目实践 答案

    千次阅读 2014-05-05 09:58:12
    python 计算机视觉项目实践

    有问题的找我哈,转载标明出处http://blog.csdn.net/ikerpeng/article/details/25027567

    里面具体的图没有贴了,原理还是比较好理解的。需要的找我!


    基于朴素贝叶斯的图片分类

    摘要

        图片分类问题是计算机视觉中比较常见的问题。图片分类在日常的生活中,以及图片搜索中等方面都有很多很实际的用途。如何准确快速有效的进行图片分类,提高图片分类的准确率和召回率是现在主要要解决的问题。因此一个好的分类学习的算法以及一个好的特征提取的方式是非常重要的。本文所采取的学习算法是朴素贝叶斯算法。这种算法的结构简单,同时对于简单的文字或是图片处理效果非常的好。特征提取的方式是提取图片的颜色直方图。也是具有简单易操作的特点。

     

    关键词:图片分类,学习,贝叶斯, 特征提取

     

    Abstract

        Image classification is more popular and common in computer vision . Image classification, in everyday life, as well as in image searching, has a lot of practical application. How to perform accurate image classification quickly and effectively, and how to improve image classification precision and recall rate are now the main problem to be solved. Thus, a good learning classification algorithm and a good feature extraction is very important. Learning algorithm is adopted here is Naive Bayes algorithm. This algorithm has a simple structure, but the effect for simple text or image processing is very good. Feature extraction approach is to extract the image color histogram. Also has a advantage of simple and easy .

     

    KeywordsImage classification, learning, Bayesian, feature extraction

     

     

    1. 引言

    机器学习算法在计算机视觉,语音识别,数据挖掘以及很多其他的人工智能领域有非常重要的意义。机器学习算法的研究和发展极大的推动了这些领域的发展。因此机器学习算法的研究具有非常重要的意义。机器学习的算法主要分为产生式和判别式模型。通俗的来讲,产生式模型就是要学习到一个联合概率分布。而判别式模型则不需要学习随机变量的概率分布。所以文章中用到的贝叶斯模型是一个产生式模型。最终是要求得一个随机变量的联合概率分布。

    在图片文类或是文本分类当中,我们要从已知的数据集当中得到计算机能够理解的数据。这也就是提取特征的过程了。下面主要是针对图像特征的提取。图像特征的提取有很多种方式。比如说,HOG特征,颜色特征,haar特征,SIFT特征等等。HOG特征是对图片的梯度直方图进行统计;颜色特征则是对图片的RGB颜色进行记录,具有简单直观的特点;harr特征这是定义不同的矩形块里面的灰度差异来表征图片的特征,通过积分图像来计算的话,计算的速度还是非常不错的;SIFT特征具有很多的不变性,能够很好的表示出图片的特征,最终得到的是一个108维的特征向量,是通过DOG(高斯积分图像)得到的,最大的缺点就是计算的速度比较慢。对于我们这次的图片分类的任务来讲,本身就具有两种图片,且二者二者的区分度很大。所以我们的重点是了解如何用我们所学到的机器学习的算法来实践具体的项目。所以我们在这里选择计算简单且效果不错的颜色特征。

    所以本文采取的是贝叶斯模型通过颜色特征对图像来进行分类。首先通过所有的数据集构造一个字典,然后将所有的图片用这个字典映射为一个向量通过两种图片训练出一个图片分类器。

    文章接下来的安排是这样的:在第二部分,我们将介绍整体的框架和步骤。贝叶斯的基本原理将在第三部分介绍。然后我们将在第四部分介绍特征的提取部分。有了基本的理论知识以后,我们将在第五部分介绍实验的相关部分。随后是整篇文章的总结和相关的参考文献。

    2. 总体流程 

    总体流程图:

     

     

     

     

     

     

     

     

     

     

    具体到各个步骤:

    1、收集数据集,最好是使用python爬虫实现;

    2提取颜色特征:为了简化过程,训练的过程中选择相同数量的正负样本,使得先验概率相等。然后,从每一个样本图片上面提取出25*25patch块。对于每一个patch块计算它的颜色直方图,得到的是一个6+6+6的向量。它相当于是一个高维空间上的一个点

    3、聚类:对于所有的这些patch块聚类为1000个中心;形成图片空间的词包。

    4训练贝叶斯分类器:选择5分之4的正负样本集,获取其在词包字典上的映射向量,统计在每一个中心上的patch块的个数,得到一个整体的样本分布的似然概率向量组。

    5、测试分类:将训练好的贝叶斯模型应用到余下来的1/5的图片的分类;

    6、根据分类的结果和实际的标签得到分类的分类的准确率和召回率。

    3. 贝叶斯原理简介

    3.1贝叶斯模型

        朴素贝叶斯模型是基于贝叶斯原理与特征条件独立假设的分类方法。对于给定的训练集,首先基于条件独立假设学习输入输出的联合概率分布,然后基于此模式对于给定的x,利用贝叶斯模型求出最大后验概率最大的那个类型并输出。

        在在这里讲朴素贝叶斯模型应用于图片分类。首先由构造的词包模型的字典计算出训练样本中出现的词语的频率。由此作为词语的先验概率。在进行训练的时候,通过这些先验概率以及训练样本集中词语出现的频率计算出在每一种图片的分类当中的最大后验概率。得到其中概率最大的那种类型作为训练集的输出类型。

     

    3.2 贝叶斯图片分类的伪代码:

     

    Input:已提取过特征的图片集(正负样本都有),以及他们的标签

    Output:正负样本各个字典分量上面的概率,以及先验概率。

    计算输入的训练样本图片的总数numTrainPicture,以及正负样本的数目

    计算出正负样本的先验概率

    对于图片中的正样本:

    计算各个词出现的概率

    计算出现的词的总个数

    计算出各个词的释然概率

    对于图片中的负样本:

    计算各个词出现的概率

    计算出现的词的总个数

    计算出各个词的释然概率

    返回 各个词的释然概率,正负样本先验概率

    4. 图片的特征提取方法

        图片特征的提取过程需要从已经下载好的文档集合中逐个读取文件,然后切出patch块,得到图片的特征。因为我们所有的图片的尺寸都是一样的,所以使得具体的操作也非常的简单,如下:

     1,将收集到的正负样本,分别放在两个文件夹当中,逐个取出其中的每一张照片;

     2,对读出来的每一张照片,因为数据集当中照片的尺寸为800*600,而一般照片的主题都在照片的中心位置。所以选择图片中心400*400的位置提取出其中的2000个左右的25*25patch块(每隔8个像素提取一次);

     3,对其中的每一个patch块统计它的颜色直方图:分别统计RGB上面的颜色直方图,得到的一个向量(分别在RGB上面分6个区域进行统计),将得到这个18维的向量。所以每一张图片就可以用一个1000*216的数组表示。(我目前还不能想象216维的向量是咋呢么提取得,所以我的特征向量就只有18维,是直接将他们拼接起来的。)

    所以完成特征提取的过程需要三个函数,一个是读出文件中的图片;一个是获得patch块,另一个是统计patch块的颜色特征。

    下面说一下对于整个数据集提取特征并进行聚类的过程

     

    1,读入文件夹,每一次读入一张照片,

    2,对于每一张照片,调用提取特征的函数。得到的是一个900patch*18维的向量。队友所有的图片进行这样的操作,得到的应该是一个270000*18的向量;

    3,对于这270000个特征向量进行聚类,得到1000个聚类中心。形成一个词典模型。

    到上面这一步字典模型就建立好了。但是要将以后的训练图片和测试图片用这个表示。所以还有一步映射的过程。

    4,对于输入的每一张图片,密集采样,得到一大堆的patch块,将每一个patch快转化为一个18维的向量(相当于一个字典里面的字)。然后在字典里面找到相应的字。统计整个图片在这个字典中出现的词以及出现的词的次数;

    上面得到的一个1000维的向量就是这个图片对应的特征了。   

     5. 实验

    选择照片中的4/5进行训练,接下来的1/5用来测试。对于每一张照片的每一个patch块,找到和他最近的那个词。如此将每一张照片用字典来表示。

    训练的时候:

    为了方便选择的正负样本的数目相等,也就是说他们的先验概率相等。同时知道他们的标签。输入所有的正样本,利用字典,得到他们的字典特征向量。利用贝叶斯模型,得到一个释然概率向量。(这是一个1000维的概率向量,对它取自然对数)

    负样本也进行这样的操作。

    测试的时候:

        对于输入的每一张图片,得到它的字典向量(1000维),然后分别和他的正负概率向量相乘,得到的值比较大小。判断出他的类别。

    5.1 数据集与性能评估标准

    所使用的样本数据集如下所示:

     

     

             


    图一、飞机负样本

     

     

     图二、花正样本


      

    5.2 实验结果与分析 

    在这篇论文中有几个明显没有按照要求来做的地方。第一,所取得向量不是216维而是18维;第二,训练字典的时候所采用的patch块基本上来至于中心图附近;第三在负样本集中存在不一样大小的图片。

    当存在上述的问题以后,我发现我得到的结果为:准确率91.6%,召回率73.33%。基本上可以达到要求了。若是我再除去那个不符合规范的图片,我们可以得到更好的结果。于是我知道我的几个基本的假设是成立的:1、如果一张图片相似,那么它在R或是G或是B上面的颜色直方图也应该基本相同(这里我们假设都是6bin 的直方图)。那么在RGB上的直方图也应该相似。因此,我直接将这三个通道的上的直方图直接拼接成一个18维的向量,也应该是相似的;2、图片内容中表达信息的位置一般来讲应该是图片的中心位置的。所以在远离中心的位置的大多数信息都是冗余的。

    正是在这两个基本的假设上面我开始了我的实验。这样做的原因是明显提高了计算的速度。同时也解决了那种内存不足的缺点。得到的结果是基本可以满足要求的。因此,我选择了这种实验的方式。

    7.总结 

        机器学习的算法的研究和发展使得计算机视觉领域有了长足的进步。作为计算机视觉领域中一个重要的风向:图片分类有非常重要的使用,同时也应用到图片搜索的相关领域。采用贝叶斯模型来进行图片分类的相关的工作,具有简单易操作,有效的效果。本文使用贝叶斯模型,通过提取图片的颜色直方图获得图片的特征向量。然后再训练出一个基于贝叶斯的分类器,实现了图片的分类,取得了较好的效果。让我掌握了计算机视觉项目开发的基本框架模型。而在实际问题的解决中也得到了很好的心得这次小项目的实践有很重要的价值。

    参考文献

     

    [1] 统计学习方法,李航,清华大学出版社,2013 

    [2] 机器学习实战,Peter Harington,人民邮电出版社,2012

    附录(附上关键代码)

     

    #!/usr/bin/env python
    # encoding: utf-8
     
    import cv2
    import numpy as np
    import os
     
     
    def imgtohistvetor(img):
        dx=8
        dy=8
        im=cv2.imread(img)#'' need or not?
        b,g,r=cv2.split(im)
        mask = np.zeros(im.shape[:2], np.uint8)
        histvetor=[]
        for i in range(30):
            for j in range(30):
                mask[300+j*dx:325+j*dx, 200+i*dy:225+i*dy] = 255
                hist_maskb = cv2.calcHist([b],[0],mask,[6],[0,256])
                hist_maskg = cv2.calcHist([g],[0],mask,[6],[0,256])
                hist_maskr = cv2.calcHist([r],[0],mask,[6],[0,256])
                histvetor.append(list(hist_maskb)+list(hist_maskg)+list(hist_maskr))
        return histvetor
     
    def createdic(possample,negsample):
        dic0=[]
        dic1=[]
        for f in os.listdir(possample):
            fl=os.path.join(possample,f)
            vector1=imgtohistvetor(fl)
            dic1=dic1+vector1
        np.savetxt('posdata.txt',dic1)
        for f in os.listdir(negsample):
            fl=os.path.join(negsample,f)
            vector0=imgtohistvetor(fl)
            dic0=dic0+vector0
        np.savetxt('negdata.txt',dic0)
        #dic=np.array(dic)
        #dicvector=kmeans(dic,1000)[0]
        dic=dic0+dic1
        np.savetxt('dicdata.txt',dic)
     
    def imgtodicvector(datafilename,dicfile):
        f=np.loadtxt(datafilename)
        dic=np.loadtxt(dicfile)
        nlen=len(dic)
        imgdicvector=np.ones((nlen))
        dicvector=[]
        for i in range(120):
            for j in range(900):
                inputmat=np.tile(f[900*i+j],(nlen,1))
                distance=(inputmat-dic)**2
                dissum=np.sum(distance,axis=1)
                index=np.argsort(dissum)
                imgdicvector[index[0]]=imgdicvector[index[0]]+1
        for j in range(30):
            imgdicvectort=np.zeros((nlen))
            for i in range(900):
                inputmat=np.tile(f[900*120+j*900+i],(nlen,1))
                distance=(inputmat-dic)**2
                dissum=np.sum(distance,axis=1)
                index=np.argsort(dissum)
                imgdicvectort[index[0]]=imgdicvectort[index[0]]+1
            dicvector.append(list(imgdicvectort))
        numall=np.sum(imgdicvector)
        p=np.log(imgdicvector/numall)
        dicvector=np.array(dicvector)
        return p,dicvector
     
    def bayesdicision():
        p1,postestvector=imgtodicvector('posdata.txt','dic.txt')
        p0,negtestvector=imgtodicvector('negdata.txt','dic.txt')
        p11=np.tile(p1,(30,1))*postestvector
        p10=np.tile(p0,(30,1))*postestvector
        p00=np.tile(p0,(30,1))*negtestvector
        p01=np.tile(p1,(30,1))*negtestvector
        p11=np.sum(p11,axis=1)
        p10=np.sum(p10,axis=1)
        p00=np.sum(p00,axis=1)
        p01=np.sum(p01,axis=1)
        Tp=0.0
        Fp=0.0
        Tn=0.0
        Fn=0.0
        for i in range(30):
            if p11[i]>p10[i]:
                Tp=Tp+1
            else:
                Fn=Fn+1
            if p00[i]>p01[i]:
                Tn=Tn+1
            else:
                Fp=Fp+1
        print Tp/(Tp+Fp),Tp/(Tp+Fn)
     
     
     
     
    if __name__=='__main__':
       #dicdata=np.loadtxt('dicdata.txt')
       #dicdata=np.float32(dicdata)
       #criteria = (cv2.TERM_CRITERIA_EPS + cv2.TERM_CRITERIA_MAX_ITER, 10, 1.0)
       #ret,label,center=cv2.kmeans(dicdata,1000,criteria,10,cv2.KMEANS_RANDOM_CENTERS)
       #np.savetxt('dic.txt',center)
       #np.savetxt('postestvector.txt',postestvector)
       #print postestvector
       bayesdicision()
       print 'ok'


     

     

     

     

     

     

     

     

     

     

    展开全文
  • 深入理解OpenCV :实用计算机视觉项目解析-源代码:共计九章源代码
  • 深入理解OpenCV:实用计算机视觉项目解析共9章:第1章介绍Android系统上的卡通化和皮肤变换;第2章讲解如何针对iPhone或iPad设备来构建基于标记的增强现实(AR)应用;第3章讲解怎样开发无标记增强现实桌面应用;第4章...
  • 深入理解OpenCV:实用计算机视觉项目解析-源代码,配套的源代码
  • 深入理解OpenCV:实用计算机视觉项目解析-源代码.zip 资源是从华章出版社官网下载的 受上传文件大小限制 2个文件下载完成后解压即可
  • 《深入理解OpenCV 实用计算机视觉项目解析》一书的配套源代码,1~9章全有。
  • 深入理解OpenCV 实用计算机视觉项目解析【书籍和源码】高清扫面版本 带书签
  • 开源计算机视觉项目是在深度学习领域中获得一席之地的绝佳路径 开始学习这18个非常受欢迎的经典开源计算机视觉项目 引言 计算机视觉的应用现在无处不在。 老实说,我已经不记得上次一整天没有遇到或者没有...

    英语原文:18 All-Time Classic Open Source Computer Vision Projects for Beginners

    翻译:雷锋字幕组(小哲


    概述

    • 开源计算机视觉项目是在深度学习领域中获得一席之地的绝佳路径

    • 开始学习这18个非常受欢迎的经典开源计算机视觉项目

    引言

    计算机视觉的应用现在无处不在。 老实说,我已经不记得上次一整天没有遇到或者没有与至少一样计算机视觉使用样例进行交互时什么时候了(手机上的人脸识别)

    但是有一件事情就是 一 想要学习计算机视觉的人倾向与陷入理论的概念, 这是所能采取的最糟糕的路。 为了真正的学习掌握计算机视觉, 我们需要将理论与实践相结合。

    并且这就是开源计算机视觉项目存在的地方。 不需要花一分钱就可以练习计算机视觉技术——你可以坐在现在的位置上完成这些工作。

    推荐!最适合初学者的18个经典开源计算机视觉项目

    所以在这篇文章中, 我结合并创建了一个基于计算机视觉各种应用的开源计算机视觉项目列表。有很多事情要做,这是一个相当全面的清单,所以让我们深入研究!

    如果你是一个完全的计算机视觉和深度学习的新手并且更想要通过视频学习, 请参考下边:

    18个开源的计算机视觉项目分为下边的这些类:

    • 图像分类

    • 人脸识别

    • 使用GAN的自然风格转换

    • 场景文字检测

    • 使用DETR的目标检测

    • 语义分割

    • 自动驾驶的道路交通线检测

    • 图像标注

    • 人类姿势估计

    • 通过面部表情的情感识别

    图像分类的开源计算机视觉项目

    图像分类是计算机视觉领域的基础任务, 目标是通过给每张图片分配一个标签来区分图像。对人类来说理解区分我们看到的图像很容易。 单是对于机器来说时非常不同的。 对于机器来说区分大象和汽车都是一件繁重的任务。

    下边是几个最突出的图像分类开源项目:

    1. Cifar10

      CIFAR-10是一个在训练机器学习和计算机视觉算法常用的数据集,它是机器学习最受欢迎的数据集。 包含了60000张图像, 分为10类, 每张图像的的尺寸为32x32。 类别有飞机、汽车、鸟、猫、鹿、狗、青蛙、马、船和卡车。

    2. ImageNet

      ImageNet数据集是一个为计算机视觉研究的巨大图像数据集, 这个数据集中有多于140万张图像被手供标注, 并且这些标注说明了图像中含有那些物体。并且有多余1万张图像标注了物品的边界框。 ImageNet包含了多余20000类的物品。

    作为初学者,你可以使用keras或者pytorch从头开始学习神经网络, 为了能够得到更好的效果提升学习的层次, 我建议使用迁移学习预训练模型,例如CGG-16, Resnet-50,GoogleNet等等。

    推荐!最适合初学者的18个经典开源计算机视觉项目      

    建议通读下边的文章更好的理解图像分类:

    人脸识别的开源计算机视觉代码

    人脸识别是计算机视觉最广泛的应用。人脸识别被应用在安全, 监控或者解锁手机。 这是一个在预先存在的数据集中在图像或者视频中确认你的人脸。 我们可以使用深度学习的方法来学习这些人脸的特征并且识别他们。

    这是一个多个步骤的过程,这个过程由以下的步骤构成:

    • 人脸检测: 这用来定位一个或者多个在图像或者视频中的人脸

    • 人脸对齐: 对齐是用来规范化人脸在集合上与数据集一致

    • 特征提取: 后来,提取特征并且用在识别任务中。

    • 特征识别: 与数据库中的特征相匹配

    下面的开放源数据集将为您提供良好的人脸识别机会:

    1. MegaFace

      MegaFace是一个大规模的公共人脸识别训练数据集,它是商业人脸识别问题最重要的基准之一。它包括4753320个人脸,672057个身份

    2. Labeled faces in wild home

      Labeled faces in wild home(LFW)是一个人脸照片数据库,旨在研究无约束人脸识别问题。它有13233张5749人的图片,是从网上发现和收集的。另外,1680名照片中的人在数据集中有两张或两张以上不同的照片。

    此外, 为了更好的利用这些项目, 你可以使用像FaceNet这样的预训练模型。

    Facenet是一种深度学习模型,它为人脸识别、验证和聚类任务提供了统一的嵌入。网络将每个人脸都映射在一个欧几里德网络中,每个图像之间的距离是相似的。

    推荐!最适合初学者的18个经典开源计算机视觉项目

    资源

    也可以使用keras或者pytorch的预训练模型来构建自己的人脸识别系统。

    还有一些更先进的人脸识别模型可供使用。Deepface是由Facebook的研究人员开发的基于CNN的Deep网络。这是在人脸识别任务中使用深度学习的一个重要里程碑。

    为了更好地了解近30年来人脸识别技术的发展,我建议您阅读一篇有趣的论文,题目是:

    Deep Face Recognition: A Survey

    开源的计算机视觉项目 一 使用GAN进行自然风格转换

    自然风格转换是一种使用一张图像的风格重建另一张图像的内容的计算机视觉技术。这是生成对抗网络(GAN)的应用, 这儿,我们输入了两张图像, 一张内容图像,另一张时风格参考图像, 然后将二者混合在一起以至于输出图像看起来像使用风格参考图像绘制出来的油画。

    这是通过优化输出图像与内容图像匹配的内容统计和样式参考图像的样式统计来实现的。

    推荐!最适合初学者的18个经典开源计算机视觉项目

    资源

    下边是一些用来练习非常令人惊叹的数据集:

    1. COCO数据集

      COCO是一个大规模的对象检测、分割和标注的数据集。数据集中的图像是从日常场景中捕获的日常对象。此外,它提供了多对象标记、分割掩码标注、图像标注和关键点检测,共有81个类别,使其成为一个非常通用和多用途的数据集。

    2. ImageNet

      上边已经提到过 一 ImageNet非常灵活多用。

    如果你还不知道如何应用风格转换模型,这儿是一个tensorflow的教程可以帮助你, 而且, 如果你像更加升入了解这个技术我建议你阅读接下来的论文。

    用于场景文本检测的开源计算机视觉项目

    在任何给定的场景中检测给定的场景是另外的一个非常有趣的问题。 场景文字就是出现在户外拍摄的图像中出现的字符。 例如, 道路上的车牌号, 道路上的公告牌等等。

    场景图像中的文字在形状, 字体, 颜色和位置上都是变化的。由于光照和聚焦的不均匀性,使得场景文本识别的复杂度进一步增加。

     推荐!最适合初学者的18个经典开源计算机视觉项目     

    下边这些流行的数据集将会丰富你分析场景文字检测的技能:

    1. SVHN

      街景门牌号码(SVHN)数据集是其中最受欢迎的开源数据集之一。它已用于Google创建的神经网络中,以读取门牌号并将其与地理位置匹配。这是一个很好的基准数据集,可用于练习, 学习和训练可准确识别街道编号的模型。此数据集包含从Google街景视图中获取的超过60万张带标签的真实房门图像。

    2. SceneText数据集

      场景文本数据集包含在不同环境中捕获的3000张图像,包括在不同光照条件下的室外和室内场景。图像是通过使用高分辨率数码相机或低分辨率移动电话相机捕获的。此外,所有图像均已调整为640×480。

    此外,场景文本检测是一个两步过程,包括图像中的文本检测和文本识别。对于文本检测,我发现了最先进的深度学习方法EAST(高效准确场景文本检测器)。它可以找到水平和旋转边界框。您可以将其与任何文本识别方法结合使用。

    这是有关场景文本检测的其他一些有趣的论文:

    使用DETR进行目标检测的开源计算机视觉项目

    目标检测是通过边界框以及图像上的适当标签预测图像中存在的每个感兴趣对象的任务。

    几个月前,Facebook开源了其对象检测框架DEtection TRansformer(DETR)。DETR是针对目标检测问题的高效创新解决方案。通过将对象检测视为直接设置的预测问题,它简化了训练管道。此外,它采用基于变压器的编码器-解码器架构。 推荐!最适合初学者的18个经典开源计算机视觉项目

    要了解有关DERT的更多信息,请参见论文和Colab notebook

    通过处理以下用于对象检测的开源数据集来使您的资料多样化:

    1. open Images

      Open Image是约900万张图像的数据集,其中标注了图像级标签,对象边界框,对象分割掩码,视觉关系和本地化描述。数据集分为训练集(9,011,219张图像),验证集(41,620张图像)和测试集(125,436张图像)。

    2. MSCOCO

      MS-COCO是广泛用于目标检测问题的大规模数据集。它由33万张图像组成,其中包含80个对象类别,每个图像有5个标注,并有25万关键点。

    您可以阅读以下资源以了解有关对象检测的更多信息:

    用于语义分割的开源计算机视觉项目

    当我们谈论计算机视觉技术中对场景的完全理解时,语义分割就出现了。任务是将图像中的所有像素分类为相关对象类别。

     

    以下是实践该主题的开源数据集的列表:

    1. CamVid

      该数据库是开源的第一个按语义分割的数据集之一。这通常用于(实时)语义分割研究中。数据集包含:

      367个训练对

      101个验证对

      233个测试对

    2. Cityscapes

      该数据集是原始城市景观的经过处理的子样本。数据集具有原始视频的静止图像,并且语义分割标签显示在原始图像旁边的图像中。这是用于语义分割任务的最佳数据集之一。它具有2975个训练图像文件和500个验证图像文件,每个图像文件均为256×512像素

    要进一步了解语义分段,我将推荐以下文章:

    以下是一些可用于语义分割的代码的论文:

    用于自动驾驶车辆道路车道检测的开源计算机视觉项目

    一个自主轿车是能够感知周围环境,并无需人类干预就能操作的交通工具。他们根据适合车辆不同部分的各种传感器创建并维护周围环境的地图。

    这些车辆具有监视附近车辆位置的雷达传感器。摄像机检测交通信号灯,读取路标,跟踪其他车辆以及激光雷达(光检测和测距)传感器从汽车周围反射光脉冲以测量距离,检测道路边缘并识别车道标记

    车道检测是这些车辆的重要组成部分。在公路运输中,车道是行车道的一部分,被指定用于单行车辆来控制和引导驾驶员并减少交通冲突。

    推荐!最适合初学者的18个经典开源计算机视觉项目

    在您的数据科学家的简历中添加一个令人兴奋的项目。以下是一些可用于实验的数据集-

    1. TUsimple

      该数据集是Tusimple车道检测挑战赛的一部分。它包含3626个视频片段,每个片段1秒。这些视频剪辑中的每一个都包含20帧,并带有带注释的最后一帧。它包含训练和测试数据集,其中包含3626个视频片段,训练数据集中的3626个带注释的帧和2782个用于测试的视频片段。

    如果您正在寻找一些开发项目的教程,请查看下面的文章-

    用于图像标注的开源计算机视觉项目

    您是否曾经希望过一些可以为社交媒体图像添加标注的技术,因为您和您的朋友都无法提出超酷的标注?用于图像标注的深度学习助您一臂之力。

    图像标注是为图像生成文本描述的过程。它是计算机视觉和自然语言处理(NLP)的组合任务。

    计算机视觉方法有助于理解并从输入图像中提取特征。此外,NLP以正确的单词顺序将图像转换为文本描述。

    推荐!最适合初学者的18个经典开源计算机视觉项目    

    以下是一些有用的数据集,可帮助您使用图像标注:

    1. COCO Caption

      COCO是大规模的对象检测,分割和标注数据集。它由330万张图像(标有> 200K)组成,具有150万个对象实例和80个对象类别,每个图像有5个标题。

    2. Ficker 8K 数据集

      它是一个图像标注语料库,由158,915个众包字幕组成,描述了31,783张图像。这是Flickr 8k数据集的扩展 。新的图像和标注集中于进行日常活动和事件的人们。

    如果您正在寻找项目的实施,我建议您看下面的文章:

    另外,我建议您阅读有关图像标注的著名论文。

    用于人体姿势估计的开源计算机视觉项目

    人体姿势估计是计算机视觉的有趣应用。您一定已经听说过Posenet,它是用于人体姿势估计的开源模型。简而言之,姿势估计是一种计算机视觉技术,可以推断图像/视频中存在的人或物体的姿势。

    在讨论姿势估计的工作之前,让我们首先了解“人体姿势骨架”。它是定义一个人的姿势的一组坐标。一对坐标是肢体。此外,通过识别,定位和跟踪图像或视频中人类姿势骨架的关键点来执行姿势估计。

     推荐!最适合初学者的18个经典开源计算机视觉项目

    资源

    如果要开发姿势估计模型,以下是一些数据集:

    1. MPII

      MPII Human Pose数据集是评估关节式姿势估计的最新基准。该数据集包含约25K图像,其中包含超过4 万名带注释的人体关节的人。总体而言,数据集涵盖410种人类活动,每个图像都有一个活动标签。

    2. HUMANEVA

      HumanEva-I数据集包含与3D人体姿势同步的7个校准视频序列。该数据库包含执行6个常见动作(例如,步行,慢跑,打手势等)的4个主题,这些动作被分为训练,验证和测试集。

    我发现Google的DeepPose是一篇使用深度学习模型进行姿势估计非常有趣的研究论文。此外,您可以访问有关姿势估计的多个研究论文,以更好地理解它。

    通过面部表情进行情感识别的开源计算机视觉项目

    面部表情在非语言交流以及识别人的过程中起着至关重要的作用。它们对于识别人的情绪非常重要。因此,关于面部表情的信息通常用于情绪识别的自动系统中。

    情绪识别是一项具有挑战性的任务,因为情绪可能会因环境,外观,文化和面部反应而异,从而导致数据不明确。

    面部表情识别系统是一个多阶段过程,包括面部图像处理,特征提取和分类。

    推荐!最适合初学者的18个经典开源计算机视觉项目

     资源

    以下是您可以用来练习的数据集:

    1. Real-world Affective Faces Database

      真实世界的情感面孔数据库(RAF-DB)是一个大规模的面部表情数据库,包含约3万张多种多样的面部图像。它由29672个真实世界的图像和每个图像的7维表情分布矢量组成,

    您可以阅读这些资源,以进一步了解您的内容-

    尾注

    总而言之,在本文中,我们讨论了可以作为初学者实现的10个有趣的计算机视觉项目。这不是一个详尽的清单。因此,如果您觉得我们错过了什么,请随时在下面的评论中添加!

    另外,在这里,我列出了一些有用的CV资源,以帮助您探索深度学习和计算机视觉世界:

    我们在课程和自我练习中学习的数据科学与我们在行业中工作的数据科学有很多差异。我建议您参加这些非常清晰宝贵的免费课程,以了解有关分析,机器学习和人工智能的所有信息:

    我希望你能够觉得这次的讨论对您有意义, 现在轮到你开始自己应用计算机视觉了。

    展开全文
  • 深入理解OpenCV 实用计算机视觉项目解析,里面包含书和对应的光盘代码,亲测可用!
  • 《深入理解OpenCV 实用计算机视觉项目解析》(高清晰带目录),本书系统地介绍如何使用OpenCV来构建与计算机视觉相关的应用,如增强现实、车牌识别、人脸检测等。
  • 车道线检测– Python中的计算机视觉项目 ) Python实现车道线检测代码及教程 车道线检测是自动驾驶汽车和计算机视觉的重要组成部分。 该概念用于描述自动驾驶汽车的路径,并避免进入另一条车道的风险。 在本文中,...
  • 最适合初学者的18个经典开源计算机视觉项目英语原文: 18 All-Time Classic Open Source Computer Vision Projects for Beginners翻译: 雷锋字幕组(小哲)概述开源计算机视觉项目是在深度学习领域中获得一席之地的绝佳...
  • [计算机视觉项目]【Day1】前言基本思路总结 前言 进入大学后,这是我接手的第一个项目 项目具体内容就是青岛的一个玻璃厂,想要区分其生产的瓶子,有具体十几个种类,我们的大致思路就是用摄像头在特定光照条件下,...
  • 计算机视觉项目正在蓬勃发展,为2020年采用率的提高奠定了基础。在过去的几年中,尽管各种形式的人工智能得到了发展,但其中一种形式(计算机视觉)在2020年显示出了特殊的前景。 在《自然》杂志上发表的一项最新...
  • 来看看微软亚洲研究院的一些牛人推荐的计算机视觉项目,希望对我们的同学们在图像算法方向选择有所帮助。 主要分为目标检测,语义和实例分割,人体姿态估计,人脸对齐,高效轻量卷积神经网络结构设计,行人重新识别...
  • 这是近一两年来分享的关于计算机视觉实战相关的项目汇总。理论总是枯燥乏味的,公式又是那么晦涩难懂,而视觉的魅力就在于,完美的数学公式后,隐藏着惊艳令人惊艳的结果。但是,如果有人告诉你,你需要先学会数学,...
  • 注意:本文只是简单介绍一些不那么著名但非常好的开源项目,你可以在你的项目中使用这些项目。要阅读有关它们的更多信息,我建议遵循项目中提供的链接。 拥有良好的理论知识是惊人的,但在实时机器学习项目中用代码...
  • 图片来自《OpenCv 4计算机视觉项目实战》,仅用作个人复习。
  • 新书推荐《OpenCV 4计算机视觉项目实战(原书第2版)》长按二维码了解及购买一本使用OpenCV进行计算机视觉应用开发的实践,指南不仅介绍OpenCV基础知识,还详细讲解各种实用的计...
  • 而其中的理解,在图像处理和计算机视觉中被称作图像分析(或者叫做图像理解)。国际上做这个方向比较出名的就是斯坦福大学人工智能实验室(SAIL)主管李飞飞教授。而所谓的理解,就是理解图像背后的深层次含义,最终目标...
  • 扫描,清晰版。OpenCV在Android、iPhone开发中的应用,以及算法介绍。
  • 深入理解OpenCV:实用计算机视觉项目解析 目录 1 Android系统上的卡通化和皮肤变换2 iPhone或iPad上基于标记的增强现实3 无标记的增强现实4 使用OpenCV研究从运动中恢复结构(SfM)5 基于SVM和...
  • 计算机视觉正在加速行业中几乎每个领域的发展。 在计算机视觉技术的帮助下,组织正在彻底改变机器以前的工作方式。 现在,全球各地的大型技术都在利用计算机视觉技术领域,例如医疗保健和自动驾驶等。为了建立强大的...
  • 最近看到这本《深入理解OpenCV--实用计算机视觉项目解析》,准备将它与《OpenCV3编程入门》和一本图像处理基础知识的书结合起来看,既练习了C++的编程,又能学习OpenCV和图像处理的知识,一举多得。  会在博客中...
  • 计算机视觉项目合作

    2008-07-22 08:59:00
    本人是主修计算机视觉的研究生, 主要研究的方向为从图像(序列)中恢复物体的模型, 适用于智能监控, 三维影视模型制作, 医疗模拟等, 有相关需求者可与本人联系, QQ:327403832, E-MAIL:gaoqian506@163.com, 请注明"项目...
  • 微软亚洲研究院视觉计算组提出的一种新型主干网络结构,可以学到高分辨率表征,提高了目标特别是小目标检测的空间精准率。支持multi-scale sync-bn 训练。 代码: https://github.com/HRNet/HRNet-Object-Detection...

空空如也

1 2 3 4 5 ... 20
收藏数 2,382
精华内容 952
关键字:

计算机视觉项目