亚洲国产成人精品久久_欧美日韩国产综合一区二区_亚洲精品理论电影_色综合久久中文字幕

如何使用深度學習模型構建推薦系統?具體案例分析

放大字體  縮小字體 發布日期:2020-02-01  來源:來自互聯網  作者:來自互聯網  瀏覽次數:630
導讀

本文將解釋如何整合深度學習模型,構建服裝推薦系統。我們想要建立一個服裝推薦系統,可以使用四種深度學習模型來獲取用戶服裝使用的重要特征。 基于一篇名為《利用Keras和轉移學習從人臉圖像中估計身體質量指數…

全文共3095字,預計學習時長9分鐘

全文共3095字,預計學習時長9分鐘

來源:Pexels

本文將解釋如何整合深度學習模型,構建服裝推薦系統。我們想要建立一個服裝推薦系統,可以使用四種深度學習模型來獲取用戶服裝使用的重要特征。 推薦系統可分為4類:

  • 基于產品特性的推薦
    • 基于其他用戶對產品的行為的推薦
    • 基于用戶一般特征的推薦
    • 基于上述多項標準的推薦

    來源:Pexels

    在案例中,我們將根據用戶和產品特性提出建議。計入考慮的用戶特征是性別、年齡和體重指數(BMI)。計入考慮的產品特征是用戶所穿的衣服類型。因此,我們需要一張用戶的照片,對所有特征進行預測,推薦相應的服裝。 將從用戶的全身圖像中獲得服裝特征。 使用名為AlphaPose的人體姿態估計系統來確定用戶是否完整。AlphaPose檢測一個人的19個點。如果檢測到至少17個點,就認定是完整人形。

    圖1: AlphaPose估計系統

    我們重新訓練了網上最知名的其中一種分類器——YOLO v3。YOLO同時也是最精確的圖像分類器之一。用于訓練的數據集是一組巨大的 MMLAB 數據集,DeepFashion。 使用的另一個模型是 Dlib,get_frontal_face_detector()函數。

    此模型由 5 個 HOG 篩選器構建。模型檢測前視圖面和側視圖面。之所以選擇該模型是因為它速度快且精確。在檢測年齡和性別時,我們根據數據科學的文章,使用 openCV 和卷積神經網絡對年齡和性別進行分類。 基于一篇名為《利用Keras和轉移學習從人臉圖像中估計身體質量指數》(Estimating Body Mass Index from face images using Keras andtransfer learning)的文章對IMC進行估計。

    圖2:推薦系統的體系結構

    模型集成

    所有代碼都是使用一些計算機視覺庫(如 OpenCV)和一些深度學習框架(如Keras)在 Python3.5 中編寫的。

    • detector =dlib.get_frontal_face_detector()# Carga de modelos# CNNage_net, gender_net =load_caffe_models()# Boddy Mass Indexmodel_bmi = get_trained_model()### Face Detectionimg_h, img_w, _ = np.shape(image)detected = detector(image, 1)faces=np.empty((1,config.RESNET50_DEFAULT_IMG_WIDTH, 3))config.RESNET50_DEFAULT_IMG_WIDTH,detection= {}if len(detected) > 0: for i,d in enumerate(detected): x1, y1, x2, y2, w, h = d.left(),d.top(), d.right() + 1, d.bottom() + 1, d.width(), d.height() xw1 = max(int(x1 - margin * w), 0) yw1 = max(int(y1 - margin * h), 0) xw2 = min(int(x2 + margin * w), img_w - 1) yw2 = min(int(y2 + margin * h), img_h - 1) cv2.rectangle(image, (xw1, yw1),(xw2, yw2), (255, 0, 0), 2) #Get Face face_img = frame[yw1:yw2,xw1:xw2].copy() # Estimación age, gender = get_age_and_gender(face_img,age_net, gender_net) # Boddy Mass Index faces[0,:,:,:]=cv2.resize(face_img,(config.RESNET50_DEFAULT_IMG_WIDTH,3 )) /255.00 bmi = round(float(model_bmi.predict(faces)[0][0]),2) detection[i]={'gender':gender, 'age':age, 'bmi':bmi}

    通過這些代碼,將模型加載到RAM中進行姿態估計(poseestimation)。

    為了估測年齡、性別和BMI,我們還剪切了臉部所在的區域。然后,使用 YOLO 對衣服進行分類,顯示推薦的衣服類型。

    • def eval_cloth(img_test,categoria_test, size_test): filename = './ClothEmbedding/X_reduced2.sav' X_reduced, hasher, pca, df =joblib.load(filename) img = cv2.imread(img_test) img_c = cv2.resize(img, (80, 80), interpolation=cv2.INTER_CUBIC) img_data_test = img_c.reshape(-1).astype(np.float32) img_transformed =hasher.transform(img_data_test.reshape(1, -1)) img_reduced =pca.transform(img_transformed) # Distancia entre la muestra y la basede datos dist = [np.linalg.norm(img_reduced-e) for e in X_reduced] df['distance'] =dist df_test = df.sort_values(['distance']) # Se conserva sólo la categiríarequerida df_test = df_test[df_test['categoria2'] == categoria_test] # Se conservan sólo las tallasrequeridas cat_ns = ['tacones', 'chanclas', 'botas', 'bolsa', 'ropa_interior'] ifnot(categoria_test in cat_ns): if(len(size_test) == 2): true_table = [(size_test[0] in sizes_r or size_test[1] in sizes_r) for sizes_r in df_test['tallas']] else: true_table = [size_test[0] in sizes_r for sizes_r in df_test['tallas']] df_test = df_test[true_table] returndf_test
    • 最后一個功能會接收人和衣服的所有信息。將服裝特性與數據庫中的服裝進行比對。會推薦與用戶身著相似的服裝。 最后,考慮到用戶體驗,就做了一個前端。

    圖3:為推薦系統構建Web試圖

    感謝閱讀!記得踴躍發言喲~

    留言點贊發個朋友圈

    我們一起分享AI學習與發展的干貨編譯組:張淑霏、王小燕

    如轉載,請后臺留言,遵守轉載規范

  • 基于其他用戶對產品的行為的推薦
  • 基于用戶一般特征的推薦
  • 基于上述多項標準的推薦

來源:Pexels

在案例中,我們將根據用戶和產品特性提出建議。計入考慮的用戶特征是性別、年齡和體重指數(BMI)。計入考慮的產品特征是用戶所穿的衣服類型。因此,我們需要一張用戶的照片,對所有特征進行預測,推薦相應的服裝。 將從用戶的全身圖像中獲得服裝特征。 使用名為AlphaPose的人體姿態估計系統來確定用戶是否完整。AlphaPose檢測一個人的19個點。如果檢測到至少17個點,就認定是完整人形。

圖1: AlphaPose估計系統

我們重新訓練了網上最知名的其中一種分類器——YOLO v3。YOLO同時也是最精確的圖像分類器之一。用于訓練的數據集是一組巨大的 MMLAB 數據集,DeepFashion。 使用的另一個模型是 Dlib,get_frontal_face_detector()函數。

此模型由 5 個 HOG 篩選器構建。模型檢測前視圖面和側視圖面。之所以選擇該模型是因為它速度快且精確。在檢測年齡和性別時,我們根據數據科學的文章,使用 openCV 和卷積神經網絡對年齡和性別進行分類。 基于一篇名為《利用Keras和轉移學習從人臉圖像中估計身體質量指數》(Estimating Body Mass Index from face images using Keras andtransfer learning)的文章對IMC進行估計。

圖2:推薦系統的體系結構

模型集成

所有代碼都是使用一些計算機視覺庫(如 OpenCV)和一些深度學習框架(如Keras)在 Python3.5 中編寫的。

  • detector =dlib.get_frontal_face_detector()# Carga de modelos# CNNage_net, gender_net =load_caffe_models()# Boddy Mass Indexmodel_bmi = get_trained_model()### Face Detectionimg_h, img_w, _ = np.shape(image)detected = detector(image, 1)faces=np.empty((1,config.RESNET50_DEFAULT_IMG_WIDTH, 3))config.RESNET50_DEFAULT_IMG_WIDTH,detection= {}if len(detected) > 0: for i,d in enumerate(detected): x1, y1, x2, y2, w, h = d.left(),d.top(), d.right() + 1, d.bottom() + 1, d.width(), d.height() xw1 = max(int(x1 - margin * w), 0) yw1 = max(int(y1 - margin * h), 0) xw2 = min(int(x2 + margin * w), img_w - 1) yw2 = min(int(y2 + margin * h), img_h - 1) cv2.rectangle(image, (xw1, yw1),(xw2, yw2), (255, 0, 0), 2) #Get Face face_img = frame[yw1:yw2,xw1:xw2].copy() # Estimación age, gender = get_age_and_gender(face_img,age_net, gender_net) # Boddy Mass Index faces[0,:,:,:]=cv2.resize(face_img,(config.RESNET50_DEFAULT_IMG_WIDTH,3 )) /255.00 bmi = round(float(model_bmi.predict(faces)[0][0]),2) detection[i]={'gender':gender, 'age':age, 'bmi':bmi}

通過這些代碼,將模型加載到RAM中進行姿態估計(poseestimation)。

為了估測年齡、性別和BMI,我們還剪切了臉部所在的區域。然后,使用 YOLO 對衣服進行分類,顯示推薦的衣服類型。

  • def eval_cloth(img_test,categoria_test, size_test): filename = './ClothEmbedding/X_reduced2.sav' X_reduced, hasher, pca, df =joblib.load(filename) img = cv2.imread(img_test) img_c = cv2.resize(img, (80, 80), interpolation=cv2.INTER_CUBIC) img_data_test = img_c.reshape(-1).astype(np.float32) img_transformed =hasher.transform(img_data_test.reshape(1, -1)) img_reduced =pca.transform(img_transformed) # Distancia entre la muestra y la basede datos dist = [np.linalg.norm(img_reduced-e) for e in X_reduced] df['distance'] =dist df_test = df.sort_values(['distance']) # Se conserva sólo la categiríarequerida df_test = df_test[df_test['categoria2'] == categoria_test] # Se conservan sólo las tallasrequeridas cat_ns = ['tacones', 'chanclas', 'botas', 'bolsa', 'ropa_interior'] ifnot(categoria_test in cat_ns): if(len(size_test) == 2): true_table = [(size_test[0] in sizes_r or size_test[1] in sizes_r) for sizes_r in df_test['tallas']] else: true_table = [size_test[0] in sizes_r for sizes_r in df_test['tallas']] df_test = df_test[true_table] returndf_test
  • 最后一個功能會接收人和衣服的所有信息。將服裝特性與數據庫中的服裝進行比對。會推薦與用戶身著相似的服裝。 最后,考慮到用戶體驗,就做了一個前端。

圖3:為推薦系統構建Web試圖

感謝閱讀!記得踴躍發言喲~

留言點贊發個朋友圈

我們一起分享AI學習與發展的干貨編譯組:張淑霏、王小燕

如轉載,請后臺留言,遵守轉載規范

 
 
免責聲明
本文為會員免費發布,僅代表發布者個人觀點,本站未對其內容進行核實,請讀者僅做參考,如若文中涉及有違公德、觸犯法律的內容,一經發現,立即刪除,作者需自行承擔相應責任。涉及到版權或其他問題,請及時聯系我們刪除處理。
 
 
主站蜘蛛池模板: 久久精视频免费在线久久完整在线看| 一区二区三区视频| 精品国产综合久久| 亚洲欧美精品在线观看| 国产精品一区电影| 国产精品亚洲аv天堂网| 亚洲永久激情精品| 日韩欧美视频网站| 无码免费一区二区三区免费播放| 亚洲一区二区三区在线观看视频| 一区二区不卡在线| 国产精品入口免费视| 日韩视频一区在线| 欧洲精品亚洲精品| 国产精品人成电影在线观看| 欧美 日韩 国产 在线观看| 国产日韩在线看片| 中文字幕在线亚洲三区| 91国内揄拍国内精品对白| 国产精品免费在线| 热久久免费国产视频| 日韩aⅴ视频一区二区三区| 亚洲国产欧美一区二区三区不卡| 欧美精品999| 婷婷四房综合激情五月| 国产欧美欧洲| 日本精品一区二区三区视频| 美女精品久久久| 99在线观看| 国产精品久久久久免费| 欧美日韩一道本| 久久99久久精品国产| 国模精品一区二区三区| 久久精品视频免费播放| 日本精品二区| 热草久综合在线| 国产精品 欧美在线| 欧美日韩国产va另类| 亚洲午夜精品久久久久久人妖| 欧美中文字幕第一页| 日韩久久久久久久久久久久|