-
1 # 音樂自然
-
2 # 總有一抹陽光屬於我
最直接的,訓練資料以“圖片對”(image pair)為單位,標籤是相似度,把這樣的資料輸入神經網路,最終網路模型能夠迴歸出輸入圖片對的相似度;於是第二個步驟來了,怎麼樣給訓練資料打上相似度?手工標註。有沒有更準確的、更快的呢?有,用深度學習模型來標註兩張影象的相似度,怎麼做的?看問題描述加上步驟1就行。流程遞迴,卡死了,無解。既然步驟1裡面“最直接的”不可以,那就間接來解決。轉入步驟4間接來說,我們既然不知道如何準確標註具體的、取值區間在0~1的連續的相似度,那麼粗糙一些,標註離散的相似度:0表示不像,1表示很像。比如把英短貓和美短貓組成的圖片對標註成1,英短貓和哈士奇組成的圖片對標註成0,損失函式使用邏輯迴歸這種soft的機率迴歸形式,就可以了。只要圖片對的標註足夠充分,效果就會很好。前面有答主回答的Siamese Network就是這樣的。這樣子做,我們有了一個基於二分類的網路、輸出相似度的模型。但是問題又來了,如果構造一個充分的訓練集,要給一千種、每種有好多張圖片的資料兩兩之間標註0和1,這是一件很可怕的事情:如果你每種圖有100張,總共有10萬張圖片,那麼可以構成 這麼多的圖片對,顯然這根本很難訓練完成,更何況10萬的資料集已經是一個很小的資料集了。那麼再間接一些,不用0和1表示像與不像了,用0, 1, 2, 3, 4...999,表示一千種不同的類,把只有兩種分類的邏輯迴歸損失函式,換成有n種分類的softmax損失函式。這樣子,理論上softmax給每個類一個“中心”,每個中心都是一個高維向量,每個類的中心都和其他的類中心儘量的“不像”,用數學來說就是餘弦越小。然後呢,我們讓同一類的影象,儘量往自己的中心上去靠,靠的越近、越緊,就越好。這樣子,美短貓都緊密團結在美短貓的中心上去了,哈士奇都緊密團結再哈士奇的中心上去了。訓練結束,“最美短貓”的美短貓離自己的中心靠的最近,“不那麼美短貓”的美短貓距離美短貓中心靠的比較遠,而哈士奇離美短貓中心靠的就很遠很遠了,離自己的中心比較近。這樣的就比較好能解決我們的問題了。輸入了影象,我們能得到影象的一個特徵向量,輸入另一個影象得到另一個特徵向量,用餘弦函式比比他們的距離,相似度就有了。前面有答主說的用imagenet上pretrain模型,使用兩張圖的最後隱層的向量輸出,求餘弦做相似度就是這個道理。然後就得到了用深度學習判斷兩張圖片相似度的方法。更高階的知識,請深入學習metric learning和深度學習結合的相關知識。
-
3 # 博覽武夷山
據我看你的提問理解。你應該說的是在同一個機位拍攝,但是x,y軸變化,機位不變化的拍攝。這就出來不同角度同機位的照片。你想讓計算機自動識別這是同一個機位拍的照片是吧。很簡單。以一個模型作為拍攝參照物,然後一個機位在x y軸上移動拍攝的照片資料。再匯入計算機計算,進行模擬。這樣就以後軟體開發出來,就能夠識別照片角度和機位。但是這個過程太難了。比較麻煩,也需要大資料支援。
現在遇到一個場景,取攝像頭正常(比如角度是正視前方)抓拍的一張圖(假設叫標準視角),由於在使用過程中攝像頭可能會移動,導致和標準視角差別交大,這時我需要需要排除掉這種差異很大的圖片。能不能透過純軟體演算法的方式去識別。對這塊內容不是很瞭解,但還是想知道是否可行,以及有沒有可參考的開源專案。
回覆列表
是的,拍任何照片都是要對比,一般同樣的拍三張,用曝光包圍模式。你總能找到自己最愛的那張,然後刪掉另外兩張。畢竟是三選一,你一定比單選的強!