zoukankan      html  css  js  c++  java
  • 构建应用深层特征的图像检索系统

    这里写图片描述

    这里写图片描述

    从GraphLab Create 库里面导入一个深度学习的模型

    deep_learning_model=graphlab.load_model('http://s3.amazonaws.com/GraphLab-Datasets/deeplearning/imagenet_model_iter45')

    接着,利用deep_learning_model从我们定义的image_train中去抽取深度特征

    deep_learning_model.extract_features(image_train)

    执行完毕之后,
    这里写图片描述

    我们的深层特征也是给求出来了

    knn_model=graphlab.nearest_neighbors.create(image_train,features=['deep_features'],label='id')

    这里写图片描述

    通过运用深度特征的图像检索模型找到相似图像
    这里写图片描述

    这里写图片描述

    这里写图片描述

    这里写图片描述

    这里写图片描述

    这里写图片描述

    这里写图片描述

    通过运用深度特征的图像检索模型找到相似图像¶
    In [8]:
    
    cat =image_train[18:19]
    In [14]:
    
    graphlab.canvas.set_target('browser')
    In [15]:
    
    cat['image'].show()
    Canvas is accessible via web browser at the URL: http://localhost:55693/index.html
    Opening Canvas in default web browser.
    In [11]:
    
    cat['image'].show()
    开始检索
    In [17]:
    
    knn_model.query(cat)
    knn_model.query(cat)
    Starting pairwise querying.
    +--------------+---------+-------------+--------------+
    | Query points | # Pairs | % Complete. | Elapsed Time |
    +--------------+---------+-------------+--------------+
    | 0            | 1       | 0.0498753   | 127.073ms    |
    | Done         |         | 100         | 311.842ms    |
    +--------------+---------+-------------+--------------+
    Out[17]:
    query_label	reference_label	distance	rank
    0	384	0.0	1
    0	6910	36.9403137951	2
    0	39777	38.4634888975	3
    0	36870	39.7559623119	4
    0	41734	39.7866014148	5
    [5 rows x 4 columns]
    通过 reference_label关联id得到images
    In [18]:
    
    def get_images_from_id (query_result):
        return image_train.filter_by(query_result['reference_label'],'id')
    通过上面的函数得到猫的邻居
    In [19]:
    
    cat_neighbors
    cat_neighbors=get_images_from_id(knn_model.query(cat))
    Starting pairwise querying.
    +--------------+---------+-------------+--------------+
    | Query points | # Pairs | % Complete. | Elapsed Time |
    +--------------+---------+-------------+--------------+
    | 0            | 1       | 0.0498753   | 18.013ms     |
    | Done         |         | 100         | 241.681ms    |
    +--------------+---------+-------------+--------------+
    In [20]:
    
    cat_neighbors['image'].show()
    ​
    Canvas is updated and available in a tab in the default browser.
    

    接下来找到和红色小轿车相似的图像

    这里写图片描述

    这里写图片描述

    这里写图片描述

    这里写图片描述

    代码:

    car=image_train[8:9]
    car['image'].show()
    get_images_from_id(knn_model.query(car))['image'].show()
    

    构建一个lambda函数来方便寻找

    返回image的函数

    def get_images_from_id (query_result):
        return image_train.filter_by(query_result['reference_label'],'id')
    

    show_neighbors=lambda x: get_images_from_id(knn_model.query(image_train[x:x+1]))['image'].show()

    这里写图片描述

    这里写图片描述

  • 相关阅读:
    openlayers 学习笔记之1
    objective C 学习之02
    xcode 中 的工程模板
    xcode 创建项目 勾选 git 出现警告
    html+css复习之第3篇 | jquery | bootstrap
    html+css复习之第2篇 | javascript
    iOS开发系列之 itms-services 协议
    App store 如何使用 promo code | app store 打不开精品推荐和排行榜
    设计一组N个数,确定其中第k个最大值
    [搬运]如何在C++中实现多态性
  • 原文地址:https://www.cnblogs.com/liuge36/p/9882957.html
Copyright © 2011-2022 走看看