• 构建应用深层特征的图像检索系统


    这里写图片描述

    这里写图片描述

    从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()

    这里写图片描述

    这里写图片描述

  • 相关阅读:
    快速收录方法
    .NET学习网址大全,不得不上,国内外经典网站
    首篇文章测试。
    DropDownList的用法
    SqlServer初级学习笔记
    GDI编程开发
    C#继承细谈
    web开发的一些小零碎知识点(一)
    Js实现全选和批量删除
    IEnumberable和IEnumberator理解
  • 原文地址:https://www.cnblogs.com/liuge36/p/9882957.html
Copyright © 2020-2023  润新知