借助百度识图爬取数据集
背景
一個能夠實際應用的深度學習模型,背后的數據集往往都花費了大量的人力財力,通過聘用標注團隊對真實場景數據進行標注生產出來,大多數情況不太可能使用網絡來源的圖片。但在項目初期的demo階段,或者某些特定的場合下,你可能需要借助一些網絡來源的圖片來輔助你構建最初的數據集。
本文就將我制作的兩個腳本工具分享給大家,它們可以讓你借助百度識圖來快速的爬取一批目標數據來豐富你的數據集。
代碼也整合到了我維護的GitHub倉庫AI-ToolBox中,歡迎關注。
方法1:關鍵字搜索
腳本1提供了模擬使用百度圖片搜索功能的方式,來快速獲取你想要的目標數據集。代碼
百度圖片搜索是我們最常用的功能之一:
本程序的大致思路如下:
程序將會依次使用預先設定的關鍵字進行圖片搜索
借助爬蟲來模擬使用百度搜圖的過程,爬取頁面中的url并下載
由于圖片搜索結果是動態加載的,采用的解決方案是借助selenium庫模擬鼠標滾輪不停向下拖動,達到達到自動化搜索大量目標圖片的目的。
代碼很簡單,只是分享一個工具,如果大家對具體的實現細節感興趣就直接看代碼吧~
如果對爬蟲沒什么概念可以看下之前寫的一篇新手向的爬蟲教程十分鐘能學會的簡單python爬蟲,然后再簡單了解下css selector和selenium,就可以上手啦。
win10的使用方法如下:
1.安裝chromedriver
教程: https://www.jb51.net/article/162903.htm
查看谷歌瀏覽器版本命令: chrome://version/
下載鏈接(需選擇對應版本) http://chromedriver.storage.googleapis.com/index.html
2.修改參數
提前準備好要搜索的關鍵字,保存到變量keyword_list中
設置每個關鍵字下載圖片的頁數,默認30頁
例如:
3.運行本程序,耐心等待。
為了留出足夠的時間進行頁面加載,我設置的操作間隔比較長,程序運行會比較慢,根據網絡狀況可以修改小一些。
搜索的結果將會自動的按照設定的關鍵字分文件夾保存在keyword_search_result目錄下。
例如,按照上面的參數設置,keyword_search_result目錄下將會創建T-shirt和skirt兩個子文件夾,你將會在其中看到類似如下的爬取數據:
方法2:以圖搜圖
不知大家是否嘗試過另一種搜索場景:以圖搜圖
即通過提供的圖片搜索近似的圖片,這也是一種利用已有的少量圖片擴充數據集的好思路。
腳本2提供了模擬使用百度識圖功能來快速獲取你想要的目標數據集的方法。代碼
代碼邏輯和腳本1類似,但使用起來稍微麻煩一些(如果用于搜圖的種子圖片是本地圖片,你需要先將其轉化為可以公網訪問的url,這樣百度識圖功能才有可能訪問到這張圖片)
本程序的大致使用方法如下:
1.安裝chromedriver
同上,確保已經安裝了谷歌瀏覽器驅動
2.準備種子圖片
收集所有想要用來搜索相似圖片的原始圖片,放置在seed_imgs中
3.使本地圖片可以被url訪問
將seed_imgs中的圖片做成可供外界訪問的url形式,你可以使用任何可能的方法
例如我的解決辦法是將這些圖片上傳到github上,將github作為一個臨時的圖床使用
根據你制作的圖床的url前綴,修改變量base_url
如果你的待搜索圖片本身就是url形式的,那可以忽略這兩個步驟。
但無論如何,你可能需要閱讀并稍稍修改下代碼,確認url路徑拼接正確才能正常使用。
4.運行本程序,耐心等待
總結
以上是生活随笔為你收集整理的借助百度识图爬取数据集的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【概率论】复习资料(手写复习)
- 下一篇: SPSS教程——游程检验使用方法,如何验