擼一個(gè)功能強(qiáng)大的基于語(yǔ)義的圖像檢索系統(tǒng)
?
視頻演示:
擼一個(gè)功能強(qiáng)大的基于語(yǔ)義的圖像檢索系統(tǒng)
大家好,這里是Coding茶水間。
在上一期視頻中,我們介紹了Ultralytics框架下最新更新的語(yǔ)義檢索功能,只需本地3行代碼,就能構(gòu)建一個(gè)基于文本語(yǔ)義的圖像檢索網(wǎng)站。
然而,框架自帶的界面較為固定,如果需要自定義界面,還需額外開(kāi)發(fā);
此外,對(duì)中文支持不佳,使用中文檢索時(shí)結(jié)果往往偏差;
還有小伙伴提出,能否實(shí)現(xiàn)以圖搜圖功能?
本期視頻針對(duì)這些問(wèn)題進(jìn)行完善,如果你還沒(méi)看過(guò)上一期,建議先回顧一下。
自定義界面的搭建
Ultralytics框架的VisualAISearch功能強(qiáng)大,但存在以下局限:
- 界面固定:框架提供的界面無(wú)法滿足個(gè)性化需求,需要自行編寫GUI。
- 中文支持差:直接用中文查詢,語(yǔ)義理解不準(zhǔn),導(dǎo)致檢索結(jié)果不理想。
- 缺少以圖搜圖:原生僅支持文本檢索,無(wú)法直接用圖像查詢相似圖像。
本期我們構(gòu)建了一個(gè)自定義界面,支持文本檢索(兼容中文)和圖像檢索,全基于語(yǔ)義理解。

基于Kimi的中文轉(zhuǎn)英文
我們使用PyQt5構(gòu)建圖形界面,集成Ultralytics的搜索功能,并借助Kimi AI處理中文翻譯。
1. 中文測(cè)試
界面支持:
- 文本檢索:輸入中文描述,如“一只歡樂(lè)的奔跑的狗”,系統(tǒng)后臺(tái)自動(dòng)翻譯成英文后檢索。
- 圖像檢索:上傳圖像,系統(tǒng)基于語(yǔ)義相似度返回相似度最高的8個(gè)圖像。
- 顯示相似度,并在網(wǎng)格中展示結(jié)果圖像。

檢索速度快,文本檢索的主要耗時(shí)在翻譯網(wǎng)絡(luò)請(qǐng)求上,實(shí)際搜索實(shí)時(shí)完成。
2. 集成Kimi AI
上文中我們搜索的時(shí)候,直接輸入的是中文。
但是原模型對(duì)中文支持比較差,我們用Kimi AI翻譯輸入為英文。新用戶注冊(cè)Kimi獲15元額度,足夠多次翻譯。注冊(cè)后創(chuàng)建API Key,填入代碼即可。

翻譯類(KimiTranslator.py):
python
核心代碼實(shí)現(xiàn)
主窗口類(MainWindow)繼承PyQt5,初始化搜索器并連接按鈕信號(hào)。
完整代碼:
python
依賴:PyQt5、opencv-python、ultralytics、requests。圖像目錄“JPEGImages”需預(yù)置圖像。
使用效果演示
文本檢索示例
“一個(gè)人抱著一只狗”——包含人與狗的語(yǔ)義圖像。

圖像檢索示例
上傳一張實(shí)例圖像,點(diǎn)擊“以圖搜圖”,原圖相似度1.0,其后是相似語(yǔ)義圖像,如下圖所示。

結(jié)語(yǔ)
這個(gè)系統(tǒng)完善了Ultralytics的語(yǔ)義檢索,支持自定義界面和中文。
歡迎三連加關(guān)注,留言郵箱,我發(fā)源碼給大家!如果有問(wèn)題,評(píng)論區(qū)討論。
?

構(gòu)建了一個(gè)支持中英文和圖像檢索的自定義系統(tǒng)。通過(guò)PyQt5開(kāi)發(fā)GUI界面,集成KimiAI實(shí)現(xiàn)中文翻譯,解決了原生框架中文支持差、界面固定等問(wèn)題。系統(tǒng)核心功能包括:1)中文文本檢索(自動(dòng)翻譯為英文);2)以圖搜圖(基于語(yǔ)義相似度);3)實(shí)時(shí)顯示相似度最高的8張圖像。演示顯示系統(tǒng)檢索速度快,文本檢索耗時(shí)主要在翻譯環(huán)節(jié)。視頻提供了完整的代碼實(shí)現(xiàn)方案,包括Kimi翻譯API集成和PyQt5界面開(kāi)發(fā),最終實(shí)現(xiàn)了
浙公網(wǎng)安備 33010602011771號(hào)