iT邦幫忙

2025 iThome 鐵人賽

DAY 4
0
AI & Data

AI的世界包羅萬象-從數據分析、預測型到生成式系列 第 8

第 8 篇:多模態 AI — 讓機器「看懂世界」

  • 分享至 

  • xImage
  •  

系列主旨

融合文字、圖像、聲音等多種資料型態,建構能理解複雜場景的智慧系統,應用於客服、監控、醫療、影音推薦等領域。

Part 1:資料整合與標註

目標

整合多種來源資料並統一格式,為後續模型訓練做準備。

技術label-studioopencvpandas

流程圖描述

圖片/文字/音訊 → 資料清理 → 同步時間戳 → 標註 → 統一資料集

import pandas as pd
import cv2, os

df = pd.read_csv('labels.csv')
img = cv2.imread('frame_001.jpg')
cv2.imshow('image', img)

Part 2:模型建構(圖文融合)

目標

使用多模態模型(如 CLIP)學習圖文對應關係。

技術pytorch, transformers(CLIP)

流程圖描述

圖片 Encoder + 文字 Encoder → 各自轉為向量 → 對比學習 Loss → 相似度預測

from transformers import CLIPProcessor, CLIPModel
from PIL import Image

model = CLIPModel.from_pretrained("openai/clip-vit-base-patch32")
processor = CLIPProcessor.from_pretrained("openai/clip-vit-base-patch32")

image = Image.open("cat.jpg")
inputs = processor(text=["一隻貓"], images=image, return_tensors="pt", padding=True)
outputs = model(**inputs)
logits_per_image = outputs.logits_per_image
print(logits_per_image.softmax(dim=1))


Part 3:多模態資料融合策略

目標

整合多種資料來源以提升準確率。

技術:Early Fusion、Late Fusion

流程圖描述

  • Early Fusion:先整合多種資料 → 再送入單一模型
  • Late Fusion:各模型獨立預測 → 合併輸出(投票 / 加權平均)
import numpy as np
pred_text = text_model.predict(X_text)
pred_img = img_model.predict(X_img)
final = (0.5*pred_text + 0.5*pred_img) > 0.5

Part 4:應用案例與部署

目標

將多模態模型應用於真實系統。

技術FastAPI, Docker, streamlit

流程圖描述

模型 → API 服務 → 前端系統 → 使用者

from fastapi import FastAPI, UploadFile
app = FastAPI()

@app.post("/analyze")
async def analyze(file: UploadFile):
    # 處理圖像 + 文字
    return {"result": "可能是貓咪"}

結論與效益

多模態 AI 能更貼近人類理解方式,廣泛應用於圖文檢索、情緒分析與影音內容審查。


上一篇
第 7 篇:AutoML — 自動化機器學習革新
系列文
AI的世界包羅萬象-從數據分析、預測型到生成式8
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言