Şahsen kullanıcı kimliği doğrulamanın ölçeklendirilmesi yavaştır, maliyetlidir ve kullanıcılar açısından yüksek sürtünmeye neden olur. Makine öğrenimi (ML) destekli yüz tanıma teknolojisi, çevrimiçi kullanıcı kimlik doğrulamasını etkinleştirebilir. Amazon Rekognisyon önceden eğitilmiş teklifler yüz tanıma Kayıtlı kullanıcıların kimliklerini çevrimiçi olarak doğrulamak için kullanıcı katılımı ve kimlik doğrulama iş akışlarınıza hızlı bir şekilde ekleyebileceğiniz özellikler. Makine öğrenimi uzmanlığı gerekmez. Amazon Rekognition ile sahte veya mükerrer hesapları tespit ederken kullanıcıları saniyeler içinde sisteme dahil edebilir ve kimliklerini doğrulayabilirsiniz. Sonuç olarak kullanıcılarınızı daha hızlı büyütebilir, sahtekarlığı azaltabilir ve kullanıcı doğrulama maliyetlerini düşürebilirsiniz.
Bu yazıda tipik bir kimlik doğrulama iş akışını açıklayacağız ve çeşitli Amazon Rekognition API'lerini kullanarak bir kimlik doğrulama çözümünün nasıl oluşturulacağını göstereceğiz. Tam bir örnek uygulama sağlıyoruz GitHub deposu.
Kullanıcı kaydı iş akışı
Aşağıdaki şekilde yeni bir kullanıcı kaydının örnek iş akışı gösterilmektedir. Bu süreçteki tipik adımlar şunlardır:
- Kullanıcı, selfie görüntüsünü ve devlet tarafından verilmiş bir kimlik belgesinin görüntüsünü yakalar.
- Selfie görüntüsünün kalite kontrolü ve isteğe bağlı canlılık tespiti Kullanıcının yüzü.
- Selfie görüntüsünün kimlik belgesi yüz görüntüsüyle karşılaştırılması.
- Selfie'nin mevcut kullanıcı yüzlerinden oluşan bir veritabanına göre kontrol edilmesi.
Akışı iş sürecine göre özelleştirebilirsiniz. Genellikle önceki şemada sunulan adımların bir kısmını veya tamamını içerir. Tüm adımları eşzamanlı olarak çalıştırmayı seçebilirsiniz (bir sonraki adıma geçmeden önce bir adımın tamamlanmasını bekleyin). Alternatif olarak, kullanıcı kayıt sürecini hızlandırmak ve müşteri deneyimini iyileştirmek için turuncu renkle vurgulanan adımlardan bazılarını eşzamansız olarak çalıştırabilirsiniz (bu adımın tamamlanmasını beklemeyin). Adımlar başarılı olmazsa kullanıcı kaydını geri almanız gerekir.
Yeni kullanıcı kaydına ek olarak, diğer bir yaygın akış, mevcut veya geri dönen kullanıcı girişidir. Bu akışta, kullanıcı yüzünün (selfie) daha önce kaydedilmiş bir yüze göre kontrolü gerçekleştirilir. Bu süreçteki tipik adımlar arasında kullanıcının yüzünün yakalanması (selfie), selfie görüntü kalitesinin kontrol edilmesi ve selfie'nin yüz veritabanıyla aranması ve karşılaştırılması yer alır. Aşağıdaki diyagram olası bir akışı göstermektedir.
Sürecin adımlarını iş ihtiyaçlarınıza göre özelleştirebilir ve canlılık tespitini dahil etmeyi veya hariç tutmayı seçebilirsiniz.
Çözüme genel bakış
Aşağıdaki referans mimarisi, kimlik doğrulamasını uygulamak için diğer AWS hizmetleriyle birlikte Amazon Rekognition'ı nasıl kullanabileceğinizi gösterir.
Mimari aşağıdaki bileşenleri içerir:
- Uygulamalar Amazon API Ağ Geçidi istekleri doğru yönlendirmek için AWS Lambda kullanıcı akışına bağlı olarak işlev görür. Bu çözümde dört ana işlem vardır: kimlik doğrulama, kaydolma, kimlik kartıyla kaydolma ve güncelleme.
- API Gateway, aşağıdakileri çalıştırmak için bir hizmet entegrasyonu kullanır. AWS Basamak İşlevleri API Ağ Geçidinden çağrılan belirli yola karşılık gelen ekspres durum makinesi. Her adımda Lambda işlevleri, doğru çağrı kümesini tetiklemekten sorumludur. Amazon DinamoDB ve Amazon Basit Depolama Hizmeti (Amazon S3), ilgili Amazon Rekognition API'leri ile birlikte.
- DynamoDB yüz kimliklerini tutar (
face-id
), S3 yolu URI'leri ve her biri için benzersiz kimlikler (örneğin çalışan kimlik numarası)face-id
. Amazon S3, tüm yüz görüntülerini saklar. - Çözümün son ana bileşeni Amazon Rekognition'dır. Her akış (kimlik doğrulama, kaydolma, kimlik kartıyla kaydolma ve güncelleme), göreve bağlı olarak farklı Amazon Rekognition API'lerini çağırır.
Çözümü dağıtmadan önce aşağıdaki kavramları ve API açıklamalarını bilmek önemlidir:
- Koleksiyonlar – Amazon Rekognition, algılanan yüzlerle ilgili bilgileri sunucu tarafı kapsayıcılarında saklar. koleksiyon. Bir koleksiyonda saklanan yüz bilgilerini resimlerde, depolanmış videolarda ve akışlı videolarda bilinen yüzleri aramak için kullanabilirsiniz. Koleksiyonları çeşitli senaryolarda kullanabilirsiniz. Örneğin, aşağıdakileri kullanarak taranan rozet resimlerini depolamak için bir yüz koleksiyonu oluşturabilirsiniz.
IndexFaces
operasyon. Bir çalışan binaya girdiğinde çalışanın yüzünün bir görüntüsü çekilip görevliye gönderilir.SearchFacesByImage
operasyon. Yüz eşleşmesi yeterince yüksek bir benzerlik puanı veriyorsa (örneğin %99), çalışanın kimliğini doğrulayabilirsiniz. - DetectFaces API'si – Bu API, girdi olarak sağlanan bir görüntüdeki yüzleri algılar ve yüzler hakkında bilgi döndürür. Kullanıcı kaydı iş akışında bu işlem, bir sonraki adıma geçmeden önce görüntüleri taramanıza yardımcı olabilir. Örneğin bir fotoğrafın yüz içerip içermediğini, tanımlanan kişinin doğru yönde olup olmadığını, güneş gözlüğü veya şapka gibi yüz engelleyici herhangi bir şey takıp takmadığını kontrol edebilirsiniz.
- IndexFaces API'si – Bu API, giriş görüntüsündeki yüzleri algılar ve bunları belirtilen koleksiyona ekler. Bu işlem, gelecekteki sorgular için bir koleksiyona taranan bir görüntü eklemek için kullanılır.
- SearchFacesByImage API'sı – Belirli bir giriş görüntüsü için, API önce görüntüdeki en büyük yüzü algılar ve ardından eşleşen yüzler için belirtilen koleksiyonu arar. İşlem, giriş yüzünün özelliklerini belirtilen koleksiyondaki yüz özellikleriyle karşılaştırır.
- Yüzleri Karşılaştır API'si – Bu API, kaynak giriş görüntüsündeki bir yüzü, hedef giriş görüntüsünde algılanan en büyük 100 yüzün her biriyle karşılaştırır. Kaynak görüntü birden fazla yüz içeriyorsa, hizmet en büyük yüzü algılar ve onu hedef görüntüde algılanan her yüzle karşılaştırır. Kullanım durumumuz için hem kaynak hem de hedef görüntünün tek bir yüz içermesini bekliyoruz.
- Yüzleri Sil API'si – Bu API, bir koleksiyondan yüzleri siler. Kaldırılacak bir koleksiyon kimliği ve bir dizi yüz kimliği belirtirsiniz.
Önkoşullar
Başlamadan önce aşağıdaki ön koşulları tamamlayın:
- Bir AWS hesabı oluşturun.
- Örnek depoyu yerel makinenizde klonlayın:
Çeşitli iş akışlarını test etmek için bu depodaki test istemcisini kullanıyoruz.
- kurmak piton 3.6+ yerel makinenizde.
Çözümü dağıtın
Uygun olanı seçin AWS CloudFormation Çözümü tercih ettiğiniz Bölgedeki AWS hesabınıza sağlamak için yığın:
Daha önce tartıştığımız gibi bu çözüm, kimlik doğrulama iş akışlarını çalıştırmak için Step Functions ve Amazon Rekognition API'leriyle entegre API Gateway'i kullanır. Çözümü test etmek için aşağıdaki adımları izleyin. kod deposu sağlanan test istemcisini kullanmak için.
Aşağıdaki bölümlerde Step Functions aracılığıyla uygulanan çeşitli iş akışları açıklanmaktadır.
Yeni kullanıcı kaydı
Aşağıdaki resimde yeni kullanıcı kaydı için Adım Fonksiyonları tanımı gösterilmektedir. Adımlar şu şekilde tanımlanmıştır: register_user.py
dosyası.
Bu iş akışında üç işlev çağrılır: algılama-yüzler, arama yüzleri, ve indeks yüzleri. algılama-yüzler işlevi, bir görüntüde bir yüzün algılanıp kullanılamayacağını belirlemek için Amazon Rekognition DetectFaces API'sini çağırır. Kalite kontrollerinden bazıları, görüntüde yalnızca yüzün bulunduğunun belirlenmesini, yüzün güneş gözlüğü veya şapka tarafından engellenmediğinden emin olunmasını ve yüzün döndürülmediğini doğrulamayı içerir. poz boyut. Görüntü kalite kontrolünden geçerse, arama yüzleri işlevi onaylayarak Amazon Rekognition koleksiyonlarında mevcut bir yüz eşleşmesini arar. FaceMatchEşik güven puanı eşik hedefinizi karşılıyor. Daha fazla bilgi için kullanım bölümüne bakın. yüzleri eşleştirmek için benzerlik eşikleri. Koleksiyonlarda yüz görüntüsü yoksa, indeks yüzleri Yüzü koleksiyona indekslemek için işlev çağrılır. Yüz görüntüsü meta verileri DynamoDB tablosunda, yüz görüntüleri ise bir S3 klasöründe depolanır.
Yeni bir kullanıcı kaydetmek için aşağıdaki komutu çalıştırın: uygulama.py senaryo (test-client
) aşağıdaki kodu çalıştırarak:
Yeni kullanıcı kaydı başarılı olursa yüz görüntüsü öznitelik bilgisi DynamoDB'ye eklenir.
Kimlik kartı ile yeni kullanıcı kaydı
Yeni bir kullanıcıyı kimlik kartıyla kaydetme adımları, yeni bir kullanıcı kaydetme adımlarına benzer. Aşağıdaki resimde tanımlanan adımlar gösterilmektedir. register_idcard.py
dosyası.
Bir kullanıcıyı kaydetmek için kullandığımız üç işlevin aynısı (detect-faces
, search-faces
, ve index-faces
) bu iş akışı için çağrılır. İlk olarak müşteri, kimliğinin bir görüntüsünü ve yüzünün canlı bir görüntüsünü yakalar. Yüz görüntüsü, tanımlı kalite standartlarımızı karşıladığını doğrulamak için kontrol edilir. DetectFaces
API'dir. Görüntü kalite standartlarını karşılıyorsa canlı yüz görüntüsü, eşleşip eşleşmediklerini belirlemek için kimlikteki yüzle karşılaştırılır. Görsellerin eşleşmemesi halinde kullanıcı hata alır ve işlem sonlandırılır. Görüntüler eşleşirse yüzün Amazon Rekognition koleksiyonlarında zaten mevcut olup olmadığını kontrol ederiz. SearchFacesByImage
API'dir. Arama sonuçları kullanıcının mevcut yüz görüntüsüyle karşılaştırılır. Kullanıcı zaten mevcutsa kullanıcı kayıtlı değildir. Kullanıcının koleksiyonlarda bulunmaması durumunda ilgili özellikler kimlik kartından çıkarılır. Yeni başlatılan özelliği kullanarak kimlik belgelerinden anahtar/değer çiftlerini çıkarabilirsiniz. Amazon Metin Yazısı AnalyzeID
API'dir. Kimlik kartından çıkarılan özellikler birleştirilir ve kullanıcının yüzü DynamoDB tablosunda indekslenir. Görüntü indekslendikten sonra yeni kullanıcı kimliği kayıt işlemi tamamlanır.
Mevcut kullanıcı kimlik doğrulaması
Aşağıdaki resimde mevcut bir kullanıcının kimliğini doğrulamaya yönelik iş akışı gösterilmektedir. Adımlar şu şekilde tanımlanmıştır: auth.py
dosyası.
Bu Adım İşlevi iş akışı üç işlevi çağırır: detect-faces
, compare-faces
, ve search-faces
. Sonra detect-faces
işlevi, yakalanan yüz görüntüsünün geçerli olduğunu doğrular, compare-faces
işlevi, DynamoDB tablosunda mevcut bir kullanıcıyla eşleşen bir yüz görüntüsü olup olmadığını kontrol eder. DynamoDB'de bir eşleşme bulunursa kullanıcının kimliği başarıyla doğrulanır. Bir eşleşme bulunamazsa, search-faces
Koleksiyonlarda yüz görüntüsünü aramak için işlev çağrılır. Kullanıcı doğrulanır ve koleksiyonlarda yüz resmi mevcutsa kimlik doğrulama işlemi tamamlanır. Aksi takdirde kullanıcının erişimi reddedilir.
Mevcut bir kullanıcının kimliğini doğrulamayı test etmek için app.py
senaryo (test-client
) aşağıdaki kodu çalıştırarak::
Fotoğraf güncelleme talebiyle mevcut kullanıcı girişi
Aşağıdaki resimde mevcut bir kullanıcının fotoğrafını güncellemeye yönelik iş akışı gösterilmektedir. Adımlar şu şekilde tanımlanmıştır: update.py
dosyası.
Bu iş akışı dört işlevi çağırır: detect-faces
, compare-faces
, search-faces
, ve index-faces
. Adımlar, mevcut kullanıcı kimlik doğrulama iş akışındaki adımlara benzer. Kullanıcı yüz görüntüsünü yakaladıktan ve görüntü kalitesi kontrol edildikten sonra DynamoDB'de eşleşen bir yüz görüntüsü olup olmadığını kontrol ederiz. compare-faces
işlev. Kullanıcı için bir eşleşme bulunursa kullanıcı profili güncellenir, yeni yüz görüntüsü çağrılarak indekslenir. index-faces
işlevi etkinleştirilir ve güncelleme işlemi tamamlanır. Alternatif olarak, bir eşleşme bulunamazsa Amazon Rekognition koleksiyonlarında yüz görüntüsünü aramak için arama yüzleri işlevi çağrılır. Yüz görselinin koleksiyonda bulunması durumunda kullanıcının profili güncellenir ve yeni yüz görseli indekslenir. Kullanıcının görseli koleksiyonlarda bulunamazsa kullanıcının erişimi reddedilir.
Mevcut bir kullanıcının fotoğrafını güncellemek için uygulama.py senaryo (test-client
) aşağıdaki kodu çalıştırarak:
Temizlemek
AWS hesabınızda ek ücretlerin tahakkuk etmesini önlemek için, AWS CloudFormation konsoluna giderek ve sağladığınız kaynakları silin. Riv-Prod
yığını.
Yığını silmek, oluşturduğunuz S3 klasörünü silmez. Bu kova tüm yüz görüntülerini saklar. S3 klasörünü silmeyi seçerseniz Amazon S3 konsoluna gidin, paketi boşaltın ve ardından onu kalıcı olarak silmek istediğinizi onaylayın.
Sonuç
Amazon Rekognition, kullanımı hiçbir ML uzmanlığı gerektirmeyen, kanıtlanmış, yüksek düzeyde ölçeklenebilir, derin öğrenme teknolojisini kullanarak kimlik doğrulama uygulamalarınıza görüntü analizi eklemeyi kolaylaştırır. Amazon Rekognition şunları sağlar: yüz tanıma ve karşılaştırma yetenekler. kombinasyonu ile Yüzleri Algıla, KarşılaştırYüzler, IndexYüzler, ve AramaYüzlerByImage API'ler sayesinde, yeni kullanıcı kaydı ve mevcut kullanıcı oturum açma işlemleriyle ilgili ortak akışları uygulayabilirsiniz.
Amazon Rekognition koleksiyonları, algılanan yüzlerle ilgili bilgileri sunucu tarafı kapsayıcılarında depolamak için bir yöntem sağlar. Ardından, resimlerde bilinen yüzleri aramak için bir koleksiyonda saklanan yüz bilgilerini kullanabilirsiniz. Koleksiyonları kullanırken, koleksiyondaki yüzleri indeksledikten sonra orijinal fotoğrafları saklamanız gerekmez. Amazon Rekognition koleksiyonları gerçek görüntüleri sürdürmez. Bunun yerine, temel algılama algoritması giriş görüntüsündeki yüzleri algılar, yüz özelliklerini her yüz için bir özellik vektörüne çıkarır ve koleksiyonda saklar.
Kimlik doğrulama yolculuğunuza başlamak için şu adresi ziyaret edin: Amazon Rekognition kullanarak Kimlik Doğrulama.
Yazarlar Hakkında
Nate Bachmeier Her seferinde bir bulut entegrasyonuyla New York'u göçebe bir şekilde keşfeden bir AWS Kıdemli Çözüm Mimarıdır. Uygulamaları taşıma ve modernleştirme konusunda uzmanlaşmıştır. Bunun yanı sıra, Nate tam zamanlı bir öğrencidir ve iki çocuğu vardır.
Anthony Pasquariello New York'ta yerleşik bir Kurumsal Çözümler Mimarıdır. Müşterilere bulut yolculukları sırasında, özellikle en iyi güvenlik uygulamaları konusunda teknik danışmanlık sağlıyor. Boston Üniversitesi'nden elektrik ve bilgisayar mühendisliği alanında yüksek lisans ve lisans derecesine sahiptir. Boş zamanlarında ramen yapmaktan, kurgu olmayan yazılar yazmaktan ve felsefeden hoşlanıyor.
Lauren Mullennex Denver, CO merkezli bir Çözüm Mimarıdır. AWS'de çözümler tasarlamalarına yardımcı olmak için müşterilerle birlikte çalışır. Boş zamanlarında yürüyüş yapmayı ve Hawaii mutfağını pişirmeyi sever.
Amit Gupta AWS'de Kıdemli Yapay Zeka Hizmetleri Çözümleri Mimarıdır. Müşterilere geniş ölçekte iyi tasarlanmış makine öğrenimi çözümleri sağlama konusunda tutkulu.
- '
- 100
- 107
- 7
- erişim
- Hesap
- Ek
- AI
- AI hizmetleri
- algoritma
- Türkiye
- Amazon
- Amazon Rekognisyon
- analiz
- api
- API'ler
- uygulamaları
- mimari
- etrafında
- Doğrulama
- AWS
- İYİ
- en iyi uygulamalar
- boston
- Boston Üniversitesi
- inşa etmek
- bina
- iş
- yükler
- Çekler
- Şehir
- bulut
- kod
- koleksiyon
- ortak
- bileşen
- güven
- konsolos
- Konteynerler
- yemek pişirme
- maliyetler
- akım
- müşteri deneyimi
- Müşteriler
- veritabanı
- derin öğrenme
- Denver
- Bulma
- Boyut
- evraklar
- uçları
- Mühendislik
- kuruluş
- Kurumsal Çözümler
- girer
- deneyim
- Hulasa
- Yüz
- yüzler
- yüz tanıma
- Yüz Tanıma Teknolojisi
- Özellikler(Hazırlık aşamasında)
- Özellikler
- şekil
- Ad
- akış
- takip et
- dolandırıcılık
- Ücretsiz
- işlev
- gelecek
- Büyümek
- Yüksek
- Vurgulanan
- yürüyüş
- Ne kadar
- Nasıl Yapılır
- HTTPS
- Kimlik
- Kimlik Doğrulaması
- görüntü
- görüntü analizi
- indeks
- bilgi
- bütünleşme
- IT
- çocuklar
- öğrenme
- yerel
- makine öğrenme
- büyük
- Maç
- ML
- MS
- New York
- new york city
- Teklifler
- Onboarding
- Online
- Oregon
- Diğer
- felsefe
- mevcut
- Profil
- Python
- kalite
- azaltmak
- kayıtlar
- Kaynaklar
- Sonuçlar
- İade
- Rulo
- Rota
- koşmak
- koşu
- ölçek
- Ekran
- Ara
- güvenlik
- Selfie
- Hizmetler
- set
- Basit
- Çözümler
- uzmanlaşmış
- hız
- standartlar
- başlama
- başladı
- Eyalet
- hafızası
- mağaza
- mağaza
- akış
- Öğrenci
- başarılı
- Hedef
- Teknik
- Teknoloji
- test
- Kaynak
- zaman
- üniversite
- Güncelleme
- kullanıcılar
- Doğrulama
- Videolar
- Virjinya
- beklemek
- içinde
- iş akışı
- çalışır
- yazı yazıyor