以vgg为backbone的简易图像检索系统

        图像检索(Content-based Image Retrieval,简称CBIR)即以图搜图,基于图片语义信息,诸如颜色、纹理、布局、CNN-based高层语义等特征检索技术。该技术可分为实例和类别检索任务。前者,即给定一张物体/场景/建筑类型的待查询图片,查询出包含拍摄自不同角度、光照或有遮挡的,含有相同物体/场景/建筑的图片;后者是检索出同类别的图片。当前需求更贴合实例图像检索。

         CBIR研究在20世纪90年代早期正式开始,研究人员根据诸如纹理、颜色这样的视觉特征对图像建立索引,在这一时期大量优秀算法和图像检索系统被提出。不一一表述。时间拉到2000年后,如图2.1中所示,展示了多年来实例检索任务中的里程碑时刻,并且在图中着重标出了基于SIFT特征和CNN特征算法的提出的时间。2000年可以认为是大部分传统方法结束的时间,当时Smeulders等撰写了“早期的终结”这篇综述。三年后(2003),词袋模型(BoW)进入图像检索社区的视野,并在2004年结合了SIFT方法符被应用于图像分类任务。这后来的近10年时间里,社区见证了BoW模型的优越性,它给图像检索任务带来了各种提升。在2012年,Krizhevsky等人使用AlexNet在ILSRVC 2012上取得了当时世界上最高的识别准确率。至此之后,研究的重心开始向基于深度学习特别是卷积神经网络(CNN)的方法转移。

         下面是一个简易的图像检索代码:

        cbir.py

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time        :2022/7/6 11:26
# @Author      :weiz
# @ProjectName :CBIR-master
# @File        :cbir.py
# @Description :content-based image retrieval
# Copyright (C) 2021-2025 Jiangxi Institute Of Intelligent Industry Technology Innovation
import os
import cv2
from six.moves import cPickle
from scipy import spatial

from feature_extraction import *
from vgg import *


class CBIR(object):
    database_feature_path = "./database_feature"

    def read_images(self, image_folder_path):
        self.image_info_list = []
        for root, _, image_name_list in os.walk(image_folder_path, topdown=False):
            label_name = root.split('/')[-1].split('\\')[-1]
            for image_name in image_name_list:
                if image_name.split('.')[-1] in ["png", "jpg", "jpeg"]:
                    image_path = os.path.join(root, image_name)
                    self.image_info_list.append([image_path, label_name])
                else:
                    print("{} is not a picture".format(os.path.join(root, image_name)))

    def load_database(self, image_folder_path=None, is_save=False):
        self.database = []
        database_feature_path = CBIR.database_feature_path + '_' + self.feature_extraction_
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值