Python 存储图像特征向量最有效的方法是什么?

Python 存储图像特征向量最有效的方法是什么?,python,mysql,django,storage,feature-extraction,Python,Mysql,Django,Storage,Feature Extraction,我正在做一个需要处理图像的项目,当上传任何图像时,我会立即提取它们的特征向量,然后将每个图像的特征向量作为文本存储在MySQL数据库中 我还使用了django框架 def search_images_by_features(query_image: ImageFieldFile, images): featured_images = [ (calculate_similarity(load_features_from_str(image.features), get_im

我正在做一个需要处理图像的项目,当上传任何图像时,我会立即提取它们的特征向量,然后将每个图像的特征向量作为文本存储在
MySQL
数据库中

我还使用了
django
框架

def search_images_by_features(query_image: ImageFieldFile, images):
    featured_images = [
        (calculate_similarity(load_features_from_str(image.features), get_image_feature(query_image)), image.item) for image in
        images if image.features is not None]
    ...
但在每张图像上循环并不是什么大问题,因为随着图像的增加,循环需要更多的时间

我的特征向量在数据库中也是这样存储的:
0.0010601664,0.0003533888,0.8969008,0.0014135552,…



还有一种方法可以让MySQL数据库引擎从特征向量计算相似性吗?

因为一个图像可以有多个特征,所以应该在不同的表中(Django中的aka类)。定义相似性,也许可以在MySQL中做些什么是的,我知道,我可以提取特征,我的功能运行得很好,但是是时候了,我需要尽快检查所有数据库图像。。此功能用于大约100幅图像大约需要10-30秒,这对于搜索来说太多了。。如果我有大约10000个图像,那么它将乘以时间*100You函数可能工作得很好,但它依赖于所有正在检索的图像特征(或者我在代码中遗漏了什么?)。共享特征比较函数和表定义(带索引)可能会提供将部分或全部搜索向下推到数据库的方法。存储为文本听起来像存储在逗号列表中一样错误(我假设您使用数字比较)。什么是图像特征向量?我使用卡方距离表示相似度,它比较每个向量def计算相似度(特征a,特征b,eps=1e-10):返回0.5*np.sum([((a-b)**2)/(a+b+eps)表示(a、b)拉链式(特征a、特征b)])