在數字經濟時代的今天,再加上疫情原因無法外出,網上購物已成為福斯消費的普遍方式,無論我們是去購物網站、旅遊網站、外賣等平臺,客戶的優質好評都會在最前方,特別是一張美的圖片,總會勾起去旅遊的慾望,看到好評後毫不猶豫地去“剁手”。買到的東西有時未必符合心中的預期,有人會選擇退貨,也有人會暗暗告訴自己下次一定要注意了。
圖片素材獲取演算法識別結論以下是具體步驟和程式碼實現:
圖片素材獲取
今天我們獲取的素材為網站上的街拍圖片,在圖片爬取之前,我們需要對網頁進行分析。
'https://www.mzitu.com/jiepai/comment-page-02/'那麼接下來就是爬取圖片了,爬取圖片僅為學習和交流使用,不要暴力爬取。爬取結果如圖所示:
程式碼如下:
headers = {'User-Agent': "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/22.0.1207.1 Safari/537.1"}content = requests.get(url, headers=headers)img_url = BeautifulSoup(content.text, 'lxml').findAll('div', class_='comment-body')for i in img_url: pattern = r'data-original=\\S*?\\.jpg' result = re.findall(pattern, str(i.find('p')))[0].split('data-original="')[1] r = requests.get(result) path ='/users/妹子圖/image/%s'%(str(num)+'_' + result.split('/')[-1]) with open(path,'ab+')as f: f.write(r.content) f.close()
演算法識別
目前對圖片處理方式的很多,有圖片分類、目標檢測、影象分割等,對於人臉檢測的公開資料集比較多,比如:哥倫比亞大學公眾人物臉部資料庫、MTFL資料集等,通過模型訓練得到想要對模型其實並不難。如果對模型訓練比較感興趣,可以獲取資料集進行訓練和調優即可,今天我們直接呼叫百度人臉檢測介面,省去了模型訓練過程,使用介面前,按照如下三步進行操作:
1:建立應用,獲取AppID、API Key、Secret Key
2.通過API Key和Secret Key獲取的access_token
# encoding:utf-8import requests # client_id 為官網獲取的AK, client_secret 為官網獲取的SKhost = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=【官網獲取的AK】&client_secret=【官網獲取的SK】'response = requests.get(host)if response: print(response.json())注意:access_token有效期為30天,切記需要每30天進行定期更換,或者每次請求都拉取新token;
3.呼叫過程
沒有安裝資料包,安裝pip install baidu-aip
##無安裝包請先安裝:pip install baidu-aipfrom aip import AipFace""" 你的 APPID AK SK """APP_ID = '你的 App ID'API_KEY = '你的 Api Key'SECRET_KEY = '你的 Secret Key'client = AipFace(APP_ID, API_KEY, SECRET_KEY)""" 如果有可選引數 """options = {}options["face_field"] = "age"options["max_face_num"] = 2options["face_type"] = "LIVE"options["liveness_control"] = "LOW"""" 帶引數呼叫人臉檢測 """client.detect(image, imageType, options)選取一張圖片
呼叫上方程式碼
資料分析:顏值評分為78.63,是一名女性,probability為1,glasses為none,年齡為23歲,引數有很多,可以根據需要進行展示,從上述資料上來看,年齡資料不是很準確,演算法模型還是有需要優化對地方。
總結
本篇文章以圖片為例進行闡述,對於其他場景從演算法的角度來看,思路是一樣的。比如:對於旅遊景點圖片,我們可以使用訓練一套類似的模型,將“顏值”高的排在最前方,對於商品也是同樣道理,利用自然語言NLP識別出對產品評價最高的放置到最前方。