Part1 內容介紹
本月競賽學習(xi) 將以對圖像檢索與(yu) 重複圖像識別展開,可以用在版權保護等應用中。本月學習(xi) 內(nei) 容包括:
- 圖像特征提取方法
- CNN網絡/VIT網絡/CLIP網絡
- 孿生網絡與自監督學習
Part2 活動安排
- 免費學習活動,不會收取任何費用。
Part3 積分說明和獎勵
為(wei) 了激勵各位同學完成的學習(xi) 任務,將學習(xi) 任務根據難度進行劃分,並根據是否完成進行評分難度高中低的任務分別分數為(wei) 3、2和1。在完成學習(xi) 後(本次活動,截止5月1),將按照積分順序進行評選 Top3 的學習(xi) 者。
打卡地址:https://shimo.im/forms/I1HSpXlDwYkWYPiQ/fill
Top1的學習(xi) 者將獲得以下獎勵:
- 小度智能音響
- Coggle 競賽專訪機會
Top2-3的學習(xi) 者將獲得以下獎勵:
- Coggle 周邊福利
- Coggle 競賽專訪機會
曆史活動打卡鏈接,可以參考如下格式:
- https://blog.csdn.net/weixin_42551154/article/details/125474519
- https://blog.csdn.net/weixin_42551154/article/details/125481695
Part4 圖像檢索與匹配
背景介紹
隨著互聯網上的圖像數量不斷增長,圖像檢索和匹配技術已成為(wei) 許多視覺搜索引擎的核心技術,能夠提高搜索結果的準確性和覆蓋範圍。圖像檢索和匹配是計算機視覺領域的重要研究方向之一,其主要目的是從(cong) 大規模的圖像庫中快速準確地找到與(yu) 查詢圖像相似或相同的圖像。
環境配置
實踐環境建議以Python3.7+,且需要安裝如下庫:
- numpy
- pandas
- opencv
- pytorch
學習打卡
任務名稱 | 難度/分值 |
---|---|
任務1:圖像匹配與檢索 | 低/1 |
任務2:基礎局部特征提取 | 中/2 |
任務4:深度全局特征 | 中/3 |
任務3:深度局部特征 | 高/3 |
任務5:孿生網絡與自監督 | 高/3 |
任務6:特征壓縮與加速 | 高/3 |
打卡地址:https://shimo.im/forms/I1HSpXlDwYkWYPiQ/fill
實踐比賽地址:https://competition.coggle.club/
任務1:圖像匹配與檢索
- 圖像相似度
圖像相似度是用於(yu) 度量兩(liang) 幅圖像之間相似程度的指標。圖像相似度可以基於(yu) 像素級別的相似度或者基於(yu) 特征匹配的相似度來計算。像素級別的相似度通常是基於(yu) 兩(liang) 幅圖像的像素值來計算的,包括均方誤差、結構相似性指數(SSIM)等。而基於(yu) 特征匹配的相似度則是通過提取圖像的特征,比如顏色、紋理、形狀等,來計算圖像之間的相似度。
- 顏色直方圖
顏色直方圖是指統計一幅圖像中每種顏色出現的頻率,然後將這些頻率以直方圖的形式表示出來。顏色直方圖相似度是一種基於(yu) 顏色直方圖的相似度度量方法,用於(yu) 度量兩(liang) 幅圖像之間的相似程度。計算顏色直方圖相似度的方法通常包括將兩(liang) 幅圖像的顏色直方圖進行比較,比如可以計算兩(liang) 個(ge) 直方圖之間的距離或者相似度。顏色直方圖相似度在圖像檢索、圖像分類、目標識別等領域都有廣泛的應用。
- 圖像檢索流程
圖像檢索是指通過輸入一張圖像,然後在一個(ge) 圖像數據庫中搜索與(yu) 該圖像最相似的圖像。圖像檢索的基本流程包括圖像特征提取、相似度計算和排序等步驟。
首先,通過圖像特征提取方法將一張圖像轉換為(wei) 一個(ge) 向量表示。然後,通過相似度計算方法計算輸入圖像與(yu) 數據庫中所有圖像之間的相似度。最後,根據相似度對所有圖像進行排序,將與(yu) 輸入圖像最相似的圖像排在前麵。
任務2:圖像局部特征提取
- SIFT/ORB關鍵點
SIFT和ORB是兩(liang) 種常用的局部特征提取算法,它們(men) 能夠從(cong) 圖像中提取出關(guan) 鍵點,並對這些關(guan) 鍵點進行描述和匹配。SIFT(Scale Invariant Feature Transform)算法通過對不同尺度和方向的高斯差分圖像進行特征檢測,得到具有旋轉不變性和尺度不變性的關(guan) 鍵點。
ORB(Oriented FAST and Rotated BRIEF)算法則是基於(yu) FAST關(guan) 鍵點檢測算法和BRIEF描述符的改進算法,具有快速和魯棒性的優(you) 點。在關(guan) 鍵點匹配時,常用的方法包括暴力匹配和基於(yu) FLANN的匹配算法。
- 局部特征編碼:局部特征編碼是將局部特征向量表示為一種固定維度的向量,以便於後續的特征匹配和檢索。
方法1:BoW(Bag of Words)模型是一種常見的局部特征編碼方法,將局部特征向量表示為(wei) 一組視覺詞匯的直方圖。
方法2:VLAD(Vector of Locally Aggregated Descriptors)和Fisher Vector則是基於(yu) BoW模型的改進算法,能夠更加準確地描述局部特征的分布和空間結構。
- 關鍵點匹配與相似度計算
關(guan) 鍵點匹配是圖像匹配的一項基本任務,通常用於(yu) 在兩(liang) 幅圖像中尋找相同或相似的物體(ti) 、場景等。匹配的過程可以通過比較兩(liang) 幅圖像的局部特征來實現,其中每個(ge) 關(guan) 鍵點都對應著一個(ge) 特征向量,可以通過計算這些向量之間的距離或相似度來評估它們(men) 之間的匹配程度。
常見的關(guan) 鍵點匹配方法包括暴力匹配和基於(yu) FLANN的匹配。暴力匹配方法簡單直觀,對於(yu) 每個(ge) 關(guan) 鍵點,將其與(yu) 另一幅圖像中的所有關(guan) 鍵點進行比較,選取距離最近的關(guan) 鍵點作為(wei) 其匹配點。FLANN(Fast Library for Approximate Nearest Neighbors)的匹配方法則采用了近似最近鄰算法,能夠在保證匹配準確率的同時大幅降低計算時間。
RANSAC(Random Sample Consensus)是一種經典的估計模型參數的算法,其主要應用於(yu) 數據中包含噪聲或異常值的情況下,通過隨機采樣和假設驗證的方式來估計模型。
在RANSAC算法中,首先從(cong) 匹配的關(guan) 鍵點對中隨機選擇一組樣本,然後使用這組樣本計算出一個(ge) 模型參數。接著,使用這個(ge) 模型參數對所有關(guan) 鍵點對進行預測,並將與(yu) 預測結果差距較小的關(guan) 鍵點對視為(wei) 符合模型的關(guan) 鍵點對。最後,根據符合模型的關(guan) 鍵點對的數量來評估該模型參數的好壞,若該模型參數符合預設的閾值,則認為(wei) 該模型參數可用於(yu) 描述這組關(guan) 鍵點的匹配關(guan) 係。
任務3:深度全局特征:
CNN/VIT模型特征提取:介紹CNN和VIT模型在圖像特征提取中的應用,包括如何利用預訓練模型提取圖像的全局特征。CLIP模型特征提取:講解CLIP模型的原理和應用,包括如何將圖像和文本的特征嵌入到同一個(ge) 向量空間中,以及如何利用CLIP模型進行圖像檢索和分類。深度全局特征的優(you) 缺點:討論深度全局特征和傳(chuan) 統算法的差異,包括特征表達能力、泛化能力、計算效率等方麵。
任務4:深度局部特征
- LIFT(Learned Invariant Feature Transform)
LIFT是一種基於(yu) 卷積神經網絡(CNN)的局部特征提取算法。與(yu) 傳(chuan) 統的局部特征提取算法(如SIFT和ORB)不同,LIFT利用CNN網絡來學習(xi) 局部特征,具有更強的特征表達能力和更好的魯棒性。LIFT通過一個(ge) 可微分的仿射變換模型,將輸入圖像中的每個(ge) 像素轉換成具有一定大小、方向和響應值的特征點,然後使用CNN網絡對這些特征點進行描述,得到每個(ge) 特征點的特征向量。
- DELF(DEep Local Features)
DELF是一種基於(yu) CNN網絡的深度局部特征提取算法,其主要特點是使用Triplet Loss來訓練模型。DELF利用CNN網絡對圖像中的局部區域進行特征提取,並通過Triplet Loss來訓練模型,以使得同一物體(ti) 的局部特征在特征空間中更加接近,而不同物體(ti) 的局部特征在特征空間中更加遠離。
任務5:孿生網絡與自監督訓練
- 孿生網絡
孿生網絡是一種由兩(liang) 個(ge) 相同結構的神經網絡組成的模型,其目的是將兩(liang) 個(ge) 輸入數據映射到一個(ge) 共同的向量空間中,並計算它們(men) 之間的相似度或距離。它通常用於(yu) 圖像匹配、人臉識別、語義(yi) 匹配等任務中。
- 對比損失函數
對比損失的目標是將同類實例之間的距離最小化,不同類實例之間的距離最大化,而三元組損失則是將同類實例之間的距離最小化,並將不同類實例之間的距離最大化。
在SimCLR中,模型通過學習(xi) 對同一個(ge) 圖像的多個(ge) 視角進行編碼,從(cong) 而生成不同的表示形式,這些表示形式被設計成相互一致的,以使得相同實例的不同視角編碼之間的距離最小化。
類似地在SimCSE中,模型通過學習(xi) 對同一個(ge) 句子的多個(ge) 視角進行編碼,從(cong) 而生成不同的表示形式,這些表示形式被設計成相互一致的,以使得相同實例的不同視角編碼之間的距離最小化
任務6:特征壓縮與擴展查詢
- PQ量化(Product Quantization)
PQ量化(Product Quantization)是一種壓縮和加速高維向量相似性搜索的技術,通常用於(yu) 圖像和視頻檢索領域。PQ量化將高維向量劃分成多個(ge) 較小的子向量,並對每個(ge) 子向量使用獨立的編碼器進行編碼,從(cong) 而將高維向量轉換為(wei) 一係列的子編碼。這些子編碼通常被存儲(chu) 在內(nei) 存中,並通過查詢相似性搜索引擎進行搜索。
- 特征PCA白化
特征PCA白化是一種預處理技術,它將輸入數據的協方差矩陣進行特征分解,並將其變換為(wei) 一個(ge) 對角矩陣,然後將原始數據進行線性變換,使得變換後的數據的協方差矩陣為(wei) 單位矩陣。這樣做的好處是可以去除數據中的冗餘(yu) 信息和相關(guan) 性,並且提高數據的穩定性和可解釋性。
- 擴展查詢
擴展查詢是一種在相似性搜索中使用的技術,它允許在給定查詢項的基礎上,擴展查詢空間,以便搜索更多可能的相似項。
評論已經被關(guan) 閉。