Bir öneri sistemi oluşturmak için derin öğrenme modelleri nasıl kullanılır? (Spesifik durum analizi)

Tam metin 3095 Kelimeler, tahmini öğrenme süresi 9 dakika

Kaynak: Pexels

Bu makale, bir giyim öneri sistemi oluşturmak için derin öğrenme modellerinin nasıl entegre edileceğini açıklayacaktır.

Kullanıcıların kıyafet kullanımının önemli özelliklerini elde etmek için dört derin öğrenme modelini kullanabilen bir kıyafet öneri sistemi oluşturmak istiyoruz.

Öneri sistemleri 4 kategoriye ayrılabilir:

  • Ürün özelliklerine göre öneriler
  • Diğer kullanıcıların ürün üzerindeki davranışına göre öneriler
  • Genel kullanıcı özelliklerine dayalı öneriler
  • Yukarıdaki kriterlere dayalı öneriler

Kaynak: Pexels

Bu durumda, kullanıcılara ve ürün özelliklerine göre önerilerde bulunacağız. Dikkate alınan kullanıcı özellikleri cinsiyet, yaş ve vücut kitle indeksidir (BMI). Dikkate alınan ürün özelliği kullanıcı tarafından giyilen giysi çeşididir. Bu nedenle, tüm özellikleri tahmin etmek ve ilgili kıyafetleri tavsiye etmek için kullanıcının bir resmine ihtiyacımız var.

Giysi özellikleri kullanıcının tam vücut görüntüsünden elde edilecektir.

Kullanıcının eksiksiz olup olmadığını belirlemek için AlphaPose adlı bir insan poz tahmin sistemi kullanın. AlphaPose, bir kişinin 19 noktasını tespit ediyor. En az 17 nokta tespit edilirse, tam bir insan formu olarak kabul edilir.

Şekil 1: AlphaPose tahmin sistemi

İnternet-YOLO v3'teki en iyi bilinen sınıflandırıcılardan birini yeniden eğittik. YOLO aynı zamanda en doğru görüntü sınıflandırıcılardan biridir. Eğitim için kullanılan veri seti, DeepFashion adlı devasa bir MMLAB veri kümesidir.

Kullanılan diğer bir model de get_frontal_face_detector () işlevi olan Dlib'dir. Bu model 5 HOG filtresiyle oluşturulmuştur. Model incelemesi önden görünüm ve yandan görünüm. Bu model, hızlı ve doğru olduğu için seçildi. Yaş ve cinsiyeti tespit ederken, yaş ve cinsiyeti veri bilimi makalelerine göre sınıflandırmak için openCV ve evrişimli sinir ağlarını kullanıyoruz.

IMC, "Keras kullanarak yüz görüntülerinden Vücut Kitle İndeksinin Tahmin Edilmesi ve öğrenmenin aktarılması" (Keras kullanarak yüz görüntülerinden Vücut Kitle İndeksinin Hesaplanması ve aktarım öğrenimi) başlıklı bir makaleye dayanılarak tahmin edilmektedir.

Şekil 2: Öneri sisteminin mimarisi

Model entegrasyonu

Tüm kodlar, bazı bilgisayar görme kitaplıkları (OpenCV gibi) ve bazı derin öğrenme çerçeveleri (Keras gibi) kullanılarak Python 3.5'te yazılır.

  • detektör = dlib.get_frontal_face_detector () # Carga de modelos
  • # CNN
  • age_net, gender_net = load_caffe_models ()
  • # Boddy Kütle Endeksi
  • model_bmi = get_trained_model ()
  • ### Yüz tanıma
  • img_h, img_w, _ = np.shape (resim)
  • algılandı = algılayıcı (resim, 1)
  • yüzler
  • =
  • np.empty ((1,
  • config.RESNET50_DEFAULT_IMG_WIDTH, 3))
  • config.RESNET50_DEFAULT_IMG_WIDTH, algılama = {}
  • eğer len (tespit edilirse) > 0:
  • i, d için numaralandırmada (algılandı):
  • x1, y1, x2, y2, w, h = d.left (), d.top (), d.right () + 1, d.bottom () + 1, d.width (),
  • d.height ()
  • xw1 = maks (int (x1-kenar boşluğu * w), 0)
  • yw1 = maks (int (y1-marj * h), 0)
  • xw2 = min (int (x2 + kenar boşluğu * w), img_w-1)
  • yw2 = min (int (y2 + kenar boşluğu * h), img_h-1)
  • cv2.rectangle (resim, (xw1, yw1), (xw2, yw2), (255, 0, 0), 2)
  • #Get Face
  • face_img = frame.copy ()
  • # Estimación
  • yaş, cinsiyet = get_age_and_gender (face_img, age_net, gender_net)
  • # Boddy Kütle Endeksi
  • yüzler = cv2.resize (face_img,
  • (config.RESNET50_DEFAULT_IMG_WIDTH, 3)) /255.00
  • bmi = round (float (model_bmi.predict (yüzler)), 2)
  • tespit etme = {'cinsiyet': cinsiyet, 'yaş': yaş, 'bmi': bmi}
  • Bu kodlar aracılığıyla model, poz tahmini (poz tahmini) için RAM'e yüklenir. Yaşı, cinsiyeti ve BKİ'yi tahmin etmek için yüzün olduğu alanı da kırptık. Ardından kıyafetleri sınıflandırmak ve önerilen kıyafet türlerini görüntülemek için YOLO'yu kullanın.

  • def eval_cloth (img_test, categoria_test, size_test):
  • filename = '. / ClothEmbedding / X_reduced2.sav'
  • X_reduced, hasher, pca, df = joblib.load (dosya adı)
  • img = cv2.imread (img_test)
  • img_c = cv2.resize (img, (80, 80), enterpolasyon = 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 =
  • df = dist
  • df_test = df.sort_values ()
  • # Se conserva sólo la categiríarequerida
  • df_test = df_test
  • # Se muhafazakar sólo las tallasrequeridas
  • cat_ns =
  • ifnot (cat_ns içinde kategori_ testi):
  • eğer (len (size_test) == 2):
  • true_table =
  • Başka:
  • true_table =
  • df_test = df_test
  • returndf_test
  • Son işlev, insanlar ve giysilerle ilgili tüm bilgileri alacaktır. Giysi özelliklerini veri tabanındaki giysilerle karşılaştırın. Kullanıcıya benzer giysiler tavsiye ederim.

    Son olarak, kullanıcı deneyimi göz önünde bulundurularak bir ön uç oluşturuldu.

    Şekil 3: Öneri sistemi için bir Web oluşturma girişimi

    Okuduğunuz için teşekkürler! Coşkuyla konuşmayı unutmayın ~

    Yorum Beğen Takip Et

    Yapay zeka öğrenme ve geliştirmenin kuru mallarını paylaşalım

    Yeniden yazdırıyorsanız, lütfen arka planda bir mesaj bırakın ve yeniden yazdırma şartnamelerine uyun

    Salgını önlemeye ve kontrol etmeye kararlı olan Lishui öğrenci gönüllü hizmet ekibi iş başında
    önceki
    Her web geliştiricisi bu 10 mükemmel Github Repo'yu bilmelidir
    Sonraki
    Xinsheng Today | Engelleme, önleyici tedaviye eşit değildir! Shuanghuanglian Oral Sıvıyı kendiniz almak için acele etmeyin
    Aşk izole değil! Sayısız küçük endişe "Tongxiang Sıcaklığı" üzerinde birleşiyor
    Makine öğrenimi, borsayı doğru bir şekilde tahmin edebilir mi?
    2020 ve yeni on yılda en iyi JavaScript çerçeveleri ve konuları, daha fazla bilgi edinin
    "Salgın emir, önleme ve kontrol sorumluluktur" gözaltı yerinde 4 gün 4 gece kaldı
    Toplumda anti-salgın | "Uzanamayız", "düşün, yürü ve yap"! Sokak personelinin savaş "salgını" günlüğü
    Bugün Xinsheng | Uluslararası önemi haiz halk sağlığı acil durumu nedir?
    Salgın önleme ve kontrol kalpten başlıyor, Xiuzhou Bölgesi'nin özel bir "retrograd" ekibi var
    200126 Zhu Zhengting Bahar Şenliği Gala sahne özeti, mükemmel şarkı ve dans, kalbinizi kapın
    Yaygın kodlama hataları, onlardan kaçınmazsanız biter
    Yeni başlayanlar görmeli: Python 3.8'in altı yeni özelliği
    Bugün Xinsheng | Aynı arabada yolcu arıyor! Tibet, ilk yeni zatürre vakasını doğruladı
    To Top