面包屑图标 当前位置: 首页
AI资讯
热点详情

多模态RAG破局 ImageSearch引领图像搜索新革命

AI热点日报
AI热点日报时间:2026-06-29
热点解读

脑肿瘤诊断面临的一大挑战是肿瘤大小和位置的多样性。经验丰富的神经外科医生需要反复比对、精准分析MRI扫描片,才能出具可靠报告。然而,许多发展中国家熟练医生匮乏,系统化的肿瘤知识库也不完善,导致诊断过程耗时且繁琐。技术手段能否突破这一困境?基于向量数据库的智能图像搜索正给出令人振奋的答案。 简单来说,

脑肿瘤诊断面临的一大挑战是肿瘤大小和位置的多样性。经验丰富的神经外科医生需要反复比对、精准分析MRI扫描片,才能出具可靠报告。然而,许多发展中国家熟练医生匮乏,系统化的肿瘤知识库也不完善,导致诊断过程耗时且繁琐。技术手段能否突破这一困境?基于向量数据库的智能图像搜索正给出令人振奋的答案。

简单来说,KDB.AI的语义搜索功能能像人脑一样理解图像间的语义关联——即使查询内容与数据库样本不完全吻合,也能快速从海量脑部扫描数据中调出最相似的影像。这种能力不仅能显著提升诊断效率,还能辅助医生更精准地锁定病情。下面,我们逐步拆解技术流程:如何将图像数据存入向量数据库,如何通过预训练神经网络生成向量嵌入,以及如何利用KDB.AI的向量数据库产品实现嵌入空间上的相似检索。

本教程涵盖以下关键步骤:加载图像数据、创建图像向量嵌入、将嵌入存入KDB.AI、查询数据库表、搜索与目标图像相似的图像,以及最后的清理工作——删除数据库和表格。首先解决数据获取问题。

### 注意:以下代码块仅用于在Colab等环境中下载数据
### 该单元从GitHub仓库下载图像数据
import requests
import os
from PIL import Image
import io
!mkdir -p ./data/meningioma_tumor
!mkdir -p ./data/glioma_tumor
!mkdir -p ./data/no_tumor
!mkdir -p ./data/pituitary_tumor
def get_github_repo_contents(repo_owner, repo_name, branch, folder_path):
    # 构建API地址
    api_url = f"https://api.github.com/repos/{repo_owner}/{repo_name}/contents/{folder_path}?ref={branch}"
    # 发送请求并处理响应
    contents = requests.get(api_url).json()
    # 若本地目录不存在则创建
    fPath = f"./data/{folder_path.split('/')[-1]}"
    for item in contents:
        # 递归处理子文件夹
        if item['type'] == 'dir':
            get_github_repo_contents(repo_owner, repo_name, branch, f"{folder_path}/{item['name']}")
        # 下载并保存文件
        elif item['type'] == 'file':
            file_url = f"https://raw.githubusercontent.com/{repo_owner}/{repo_name}/{branch}{folder_path}/{item['name']}"
            print(file_url)
            r = requests.get(file_url, timeout=4.0)
            r.raise_for_status()
            with Image.open(io.BytesIO(r.content)) as im:
                im.sa ve(f"{fPath}/{item['name']}")
# 开始下载
get_github_repo_contents(
    repo_owner='KxSystems',
    repo_name='kdbai-samples',
    branch='main',
    folder_path='/image_search/data'
)

本示例使用的数据集来自Kaggle的脑肿瘤分类数据集,包含大量MRI脑部扫描图像,按是否存在肿瘤及类型分为四类:神经胶质瘤、脑膜瘤、垂体瘤和无肿瘤。原始数据集中有Training和Testing两个文件夹,各自按类别组织图像。作为预处理,我们将所有图像统一缩放到(224,224,3)尺寸(高度、宽度均为224像素,RGB三通道),并将文件名重命名为“类别_唯一ID”的形式。

在后处理阶段,我们使用原始数据的Training文件夹训练ResNet模型——后续生成嵌入时使用的正是该模型。而Testing文件夹经过上述处理后重命名为data,直接用于本教程的搜索演示。注意,这些图像不在模型的训练集中,因此嵌入生成不会出现过拟合问题。

接下来,从Testing目录(即data文件夹)中提取所有子文件夹下的图像文件路径。这些路径将交给下一节的函数来生成嵌入。

def extract_file_paths_from_folder(parent_dir: str) -> dict:
    image_paths = {}
    for sub_folder in os.listdir(parent_dir):
        sub_dir = os.path.join(parent_dir, sub_folder)
        image_paths[sub_folder] = [
            os.path.join(sub_dir, file) for file in os.listdir(sub_dir)
        ]
    return image_paths
image_paths_map = extract_file_paths_from_folder("data")

借助image_dataset_from_directory()函数,可以快速将图像及其对应的类别标签加载为适合嵌入的格式。该函数会根据目录推断标签,并以分类模式输出。

dataset = image_dataset_from_directory(
    "data",
    labels="inferred",
    label_mode="categorical",
    shuffle=False,
    seed=1,
    image_size=(224, 224),
    batch_size=1,
)

创建图像嵌入的关键是选用一个已经在脑肿瘤分类问题上训练过的神经网络。这里我们选用基于ResNet-50主干网络的模型。ResNet-50在ImageNet上预训练后,经过迁移学习,重新训练以适应MRI脑部扫描图像的分类任务。迁移学习的优势在于不必从零开始训练,而是借用ImageNet中学到的通用特征,再针对脑肿瘤数据进行微调,从而大幅缩短训练时间,并提升分类效果。

实际使用的模型可直接从KxSystems的仓库加载:

model = from_pretrained_keras("KxSystems/mri_resnet_model")

该模型包含四个层次:ResNet-50、Flatten层、两个Dense层。ResNet-50本身是一个庞大的多层结构,只是被封装成一个名称;Flatten层将ResNet-50的输出展平成2048维的特征向量;最后两个Dense层负责将特征向量映射到4类肿瘤分类结果。

尽管Dense层对训练分类器至关重要,但我们的任务是获取图像嵌入,而非输出类别概率。因此,通过调用pop()移除模型最后两层,让模型直接输出2048维的ResNet-50特征向量——这就是我们所需的嵌入。

接下来,遍历数据集,用model.predict()为每张图像生成2048维嵌入,同时保存对应的类别标签。

# 创建空数组用于存储嵌入和标签
embeddings = np.empty([len(dataset), 2048])
labels = np.empty([len(dataset), 4])
# 对数据集中的每张图像,获取其嵌入和类别标签
for i, image in tqdm(enumerate(dataset), total=len(dataset)):
    embeddings[i, :] = model.predict(image[0], verbose=0)
    labels[i, :] = image[1]

嵌入创建完成后,需要存入向量数据库才能高效检索。

通过第二个测试图像查询,可以看到返回的相似大脑扫描与目标图像高度匹配,且都属于同一类别。这样的结果能为医生提供有力佐证,使诊断过程更加可靠。

热点追踪提示词
你是一名 AI 行业编辑,请围绕下面这条热点输出一份资讯解读:
热点:多模态RAG破局 ImageSearch引领图像搜索新革命要求:
1. 先用一句话解释这条热点在讲什么
2. 再总结它为什么重要
3. 说明会影响哪些 AI 产品或内容方向
4. 最后给出 3 个适合资讯站使用的标题
来源:https://www.53ai.com/news/MultimodalLargeModel/2025012496412.html
ai 人工智能

游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。

相关热点
AI热点2026-07-04 09:10
小米MiMo-V2系列模型2026年6月30日下线,Pro版已自动切换至V2.5

小米MiMo开放平台宣布,MiMo-V2系列的四款模型将于2026年6月30日正式下线,平台已推动开发者向V2 5系列迁移。具体涉及mimo-v2-pro、mimo-v2-omni、mimo-v2-flash和mimo-v2-tts模型。平台设置了系统替换时间作为缓冲:pro和omni模型于2026

AI热点2026-07-04 09:10
款长安猎手K50重庆车展上市14.19万起

2026重庆车展上,2026款长安猎手K50正式上市,共推出10款车型,售价14 19万至17 89万元。新车主要针对续航、电池和动力进行升级,搭载2 0T增程系统与双电机,纯电续航超180公里,快充仅需16分钟。全系标配30kW外放电功能,储备电量达239kWh,并新增山地与涉水模式,提升通过性。

AI热点2026-07-04 09:10
上期所与普陀区签战略协议深化金融区域联动

上海期货交易所与上海市普陀区人民政府于6月12日签署战略合作协议,旨在建立长期共赢的合作机制,共同服务上海国际金融中心与国际贸易中心的联动发展。双方高层领导均出席签约仪式,彰显了对此次合作的高度重视。协议聚焦于发挥期货市场专业资源与区域发展综合优势,深化务实合作,探索金融创新与实体经济深度融合,以期

AI热点2026-07-04 09:09
世纪华通平价大宗交易成交757万股 金额1.09亿元

6月12日,世纪华通发生一笔大宗交易,以每股14 37元的价格成交757 24万股,成交总额为1 09亿元。值得注意的是,该成交价与当日市场收盘价持平,属于平价交易。此次交易额占该股当日总成交额的1 51%。市场分析认为,平价成交反映了买卖双方对当前股价水平的共识,交易行为相对平稳,未对市场预期造成

延伸阅读