Derin öğrenme ağı size nasıl selfie çekileceğini öğretir!

Editörün notu: Bu makalenin yazarı Andrej KarPathy, Reading Technology tarafından çevrilmiş ve derlenmiştir.

Evrişimsel sinir ağı çok güçlüdür.Kişisel fotoğraflarınızdaki, yol işaretlerindeki, yayalarınızdaki ve trafik ışıklarındaki nesneleri, yerleri ve insanları ve ayrıca havadan görüntüleri tanımlayabilir. Mahsuller, ormanlar ve yollar tıbbi görüntülerde vb. Çeşitli anormallikler tespit etmiştir. Bu ciddi sorunlara ek olarak, bu uzun görsel tanıma modeli rekreasyon ve eğlence için de kullanılabilir ve herkes güldü.

Şimdi size tanıtacağım bu ilginç deneyde, şöyle bir şey yapacağız: Ağdan 2 milyon selfie görüntüsü topladık ve bunları, 140 milyon parametreyle dünyanın en gelişmiş evrişimli sinir ağı modelinin girdisi olarak kullandık ve iyi özçekimleri tanımak için bir sınıflandırıcı yetiştirdik Ve zayıf özçekimler. Bunun nedeni basitçe basit olması ve onu kolayca uygulayabilmemizdir. Bu makaleyi okuduktan sonra, nasıl selfie çekileceğini öğreneceksiniz.

Evrişimli Sinir Ağı

Bu deneye dalmadan önce, evrişimli bir sinir ağının ne olduğunu kısaca tanıtalım, böylece merakla bu makaleyi okumaya yönelen daha fazla okuyucu her zaman bulutlarla kaplı durumda olmayacak. Layman'ın terimleriyle, evrişimli sinir ağları bir balyoz iken, bilgisayar görme sorunları sadece çividir. 2015 yılında bilgisayarların görüntülerdeki veya videolardaki nesneleri nasıl tanıdığına dair bazı makaleler duyduysanız veya okudunuzsa, çoğu makale evrişimli sinir ağlarından bahsedecektir. İşte bazı örnekler:

Birçok başarılı evrişimli sinir ağı vakasının bir parçası. Yukarıdan aşağıya, soldan sağa, bunlar: sokak görünümü resimlerinde ev numarası tanıma, tıbbi görüntülerde kötü şeyler, Çince tanıma, sokak işareti tanıma ve yüz tanıma.

Evrişimsel sinir ağlarının ilginç bir arka plan hikayesi var. Evrişimli sinir ağları ilk olarak Yann Lecun ve diğerleri tarafından 1980'lerde geliştirildi (elbette, hala Fukushima gibi öncüllerin çalışmalarına dayanıyor). O zamanki evrişimli sinir ağına LeNet 1 deniyordu ve ilginç uygulamalarından biri 1993'te sayıları tanımaktı. Ne yazık ki, bu tür bir model o zamanlar bilgisayar görüşü topluluğu tarafından kabul edilmedi, çünkü genellikle bu modellerin "gerçek dünyadaki" büyük miktardaki resimleri işleyemeyeceğine inanılıyordu.

Bu kavram 2012'ye kadar tersine çevrilmedi. O yıldan itibaren nihayet yeterli bilgi işlem gücüne (özellikle GPU hesaplama) ve bu tür bir modeli gerçekten büyük boyutlara uygulayabilmemizi sağlayacak yeterli veriye (ImageNet) sahip olduk. Ölçekli görüntüde. İlk atılım Alex Krizhevsky, Ilya Sutskever ve Geoff Hinton'un çalışmalarıydı. 2012 ImageNet Challenge'da ezici bir zafer elde ettiler (bunu bilgisayarla görmede Dünya Kupası olarak düşünün) (% 16,4 hata oranı, İkinci sıradaki% 26,2 hata oranından çok daha düşük).

Geçtiğimiz birkaç yıldaki ImageNet Challenge, Fei-Fei Li'nin laboratuvarı tarafından düzenlendiğinden, onun laboratuvarında çalışıyordum, bu yüzden tarihteki bu dönüm noktasına kendi gözlerimle şahit oldum. Hinton grubunun sonuçlarının ne zaman sunulduğunu, laboratuvardaki bir kız hakkında ne kadar hayalet ifadesinin olduğunu hala hatırlıyorum (çünkü çok güçlüydü). Daha sonra, hepimiz bu sonucu fark ettik ve birbiri ardına ayağa kalktık, laboratuvarın bir ucundan diğer ucuna yürüdük, şimdi ne olduğunu anlamaya çalıştık.

Önümüzdeki birkaç ay içinde, evrişimli sinir ağı, sorgulanabilir ve belirsiz bir modelden bilgisayarla görmenin en sevilen modeline dönüştü ve neredeyse tüm yeni yayınlanan bilgisayar vizyonu makaleleri temel model olarak bundan bahsediyor. ImageNet Mücadelesi de bu eğilimi yansıtıyor. 2012'de sadece Hinton ailesi rekabet etmek için evrişimli sinir ağı modelini kullandı. Bundan sonra, 2013 ve 2014 zorluklarında neredeyse tüm katılımcılar evrişimi kullandı. Sinir ağı modeli. Bir başka ilginç fenomen ise, her yıl şampiyonluk takımının belirli bir şirket tarafından anında emilmesi.

Geçtiğimiz birkaç yılda, 2012'de AlexNet'ten daha mükemmel, özlü ve daha büyük ölçekli modeller gördük (bu modellerin isimleri). 2013'te ZFNet, 2014'te GoogLeNet (bu Google'ın LeNet'i) ve VGGNet idi. Kısacası, artık evrişimli sinir ağlarının aşağıdaki avantajlara sahip olduğunu biliyoruz:

Basit: Aynı işlem, orijinal görüntü üzerinde defalarca tekrarlanacaktır.

Hızlı: Bir görüntüyü onlarca milisaniye içinde işler.

Etkili: Çalışma prensipleri bazı açılardan grubumuzun görsel korteksine benzer.

Derinlerde

Öyleyse, evrişimli sinir ağı modeli tam olarak ne yapıyor? Modelin detaylarına bakarsanız, Çok kısa ve öz bir hesaplama fikrinin defalarca tekrarlandığını göreceksiniz. . Aşağıdaki animasyon, küçük bir evrişimli sinir ağının tüm hesaplama sürecini açıklamaktadır:

ConvNet çıkarım sürecinin açıklaması

En solda bizim girişimiz, orijinal görüntü pikselimiz, onu temsil etmek için 3 boyutlu bir matris kullanabiliriz. Örneğin, çözünürlüğü 256x256 olan bir görüntü, 256x256x3 matris ile temsil edilebilir (burada 3, RGB üç renk anlamına gelir). Sonra, kulağa şaşırtıcı gelen evrişim yapmaya başlıyoruz, ancak aslında görüntünün bir ucundan diğerine, bir satırdan diğerine kaymak için küçük bir filtre kullanıyoruz. Farklı filtreler görüntüdeki farklı özelliklere farklı tepki verir: bazı filtreler küçük bir yatay kenar gördüklerinde heyecanlanır, diğerleri kırmızı alanlara duyarlıdır, vb.

Diyelim ki 10 farklı filtremiz var, bu şekilde orijinal (256, 256, 3) resmi başka bir (256, 256, 10) "imaja" dönüştürebiliriz. Bu dönüştürülmüş "görüntüde", orijinal görüntüdeki bilgileri attık ve geriye kalan, orijinal görüntünün her konumunda bu 10 filtreye verilen yanıttır. Sanki orijinal görüntünün 3 renk kanalını (kırmızı, yeşil ve mavi) 10 filtre yanıt kanalına değiştirdik (animasyonda, orijinal görüntünün sağ tarafındaki ilk sütun dönüştürülmüş görüntüdür).

Yukarıda, orijinal görüntünün sağ tarafındaki ilk sütunun nasıl geldiği açıklanmıştır, bu durumda sonraki sütunlar nasıl ortaya çıkmıştır? Çok basit, ikinci sütunu elde etmek için birinci sütunun sonuçlarını filtrelemek için filtreyi kullanmaya devam edin, üçüncü sütunu elde etmek için ikinci sütunu filtreleyin, vb. Farklı sütunlar, önceki sütunda çalışmak için farklı filtre kombinasyonları kullanacaktır.Amaç, giderek daha karmaşık görsel kalıpları keşfetmektir. Son filtre seti, resmin görsel sınıflandırma olasılığını hesaplamak için kullanılır (Wang Xingren Hala kurbağa). Elbette ortada bazı ayrıntılar atlanır ve yalnızca temel fikir korunur: evrişimi sonuna kadar gerçekleştirin.

Evrişimli bir sinir ağının büyük filtre yığınlarından oluşan bir koleksiyon olduğunu tanıttım. Bir soru, hedefe ulaşmak için hangi filtre kombinasyonunun kullanılacağını nasıl bileceğiz? Aslında, başlangıçta filtreleri tamamen rastgele seçtiğimizi ve daha sonra onları daha iyi hale getirmek için tekrar tekrar eğittiğimizi bilmiyoruz.

Bir örnekle başlayalım: Rastgele bir filtre kullanan evrişimli bir sinir ağına bir resim girdik ve sonunda bize resmin% 54'ünün köpek içerebileceğini söyleyecektir. Daha sonra, bunun aslında bir kurbağa olduğunu söyleyebiliriz. Bir matematiksel işlemle, evrişimli sinir ağı kullandığı filtreyi küçük bir miktar ayarlayacak, böylece aynı resmi bir sonraki gördüğünde, Bize bu resmin kurbağa olma ihtimalinin daha yüksek olduğunu söyleyin. Yapmamız gereken, bu işlemi milyonlarca resimle on milyonlarca hatta yüz milyonlarca kez tekrarlamak. Aşağıdakiler mucizeye tanıklık etme anıdır: Evrişim hesaplama sürecinde kullanılan farklı filtreler, gözler, baş ve hatta tüm vücut gibi görüntüdeki önemli şeylere yanıt vermek için kademeli olarak kendilerini ayarlayacaktır.

Yukarıdaki resim, eğitimli bir evrişimli sinir ağından rastgele seçilen 12 filtreyi göstermektedir ve görüntünün hangi kısmına güçlü bir şekilde tepki verdiklerini görebilirsiniz. Resim, Matthew Zeiler tarafından Evrişimli Ağları Görselleştirme ve Anlama bölümünden ödünç alınmıştır. Burada gösterilen filtre, evrişimin üçüncü aşamasındadır ve bir bal peteği deseni veya tekerlekler / gövde / metin vb. Arıyormuş gibi görünür. Yine, bu kasıtlı olarak kurduğumuz bir şey değil. Her şey model tarafından kendiliğinden oluşur ve biz onu ancak inceleyebiliriz.

Evrişimsel sinir ağı görselleştirmesinin çok iyi örneklerinden bir başka set, Jason Yosinki ve ark. Tarafından Deepvis projesinde bulunabilir. Evrişimli sinir ağının çalışma prensibini gerçek zamanlı olarak göstermek için bilgisayarınızdaki kamerayı kullanan çok ilginç bir gösteri içerir.

Derin görselleştirme araç kutusu

Özetlemek gerekirse, evrişimli bir sinir ağının tüm eğitim süreci, çocuğa birçok nesnenin görüntüsünü göstermek gibidir ve sonra çocuk yavaş yavaş görüntüde neye bakacağını ve bu nesneleri nasıl bulacağını keşfeder. Biraz teknik argüman tercih ederseniz, evrişimli sinir ağı görüntü piksellerinden sınıflandırma olasılığına kadar bir işlevdir ve filtre de onun parametresidir.Sınıflandırma kaybı işlevini optimize etmek için stokastik gradyan inişini kullanırız. Yapay zeka, beyin ve tekillikten büyüleniyorsanız, bu işleve "derin sinir ağı" diyebilirsiniz Bu filtreler nöronlardır ve tüm evrişimli sinir ağı, uyarlanabilir bir analog görsel kortekstir. organizasyon.

ConvNet'i eğitin

Evrişimli sinir ağlarının avantajlarından biri, istediğiniz kadar (bazı etiketlerle) herhangi bir görüntüyü girebilmenizdir ve sonra bu etiketleri nasıl tanıyacaklarını öğrenmeye başlayacaklardır. Bu örnekte, evrişimli sinir ağının girdisi olarak bazı iyi özçekimler ve kötü özçekimler kullanıyoruz ve sonra sihirli bir şekilde iyi bir özçekim ile kötü özçekim arasında nasıl ayrım yapılacağını keşfedecek. Önce bazı özçekimler yapalım:

  • #Selfie hashtag'iyle fotoğraf çekmek için küçük bir senaryo yazdım. Sonunda, yaklaşık 5 milyon fotoğraf çektim (evrişimli sinir ağlarında, ne kadar fazla resim her zaman daha iyidir).

  • Yüzsüz 5 milyon fotoğrafı atmak için başka bir evrişimli sinir ağı kullandım ve sonunda 2 milyon resim kaldı.

  • Bir sonraki adım, hangi özçekimlerin iyi ve hangilerinin kötü olduğunu seçmektir. Sezgisel olarak konuşursak, kaç kişinin bir selfie gördüğünü hesaplamalı ve ardından beğeni sayısı ile hayran grubunun boyutunu ilişkilendirmek için bir işlev kullanmalıyız. Öncelikle tüm selfie kullanıcılarını aldım ve hayran sayısına göre sıraladım.Sıralama yaparken resimdeki her bir ek etikete bazı noktalar ekleyeceğim çünkü ek etiketler daha fazla dikkat çekebilir.

    Daha sonra, derecelendirilen kullanıcıları 100 kişilik gruplar halinde gruplandırdım ve 100 selfie fotoğrafını beğeni sayısına göre sıraladım. Burada, nispeten istikrarlı sayıda beğeni elde etmek için yalnızca bir aydan uzun süredir çevrimiçi yayınlanan resimleri seçtim. En iyi 50 özçekimi iyi özçekimler ve en alttaki 50 özçekimi zayıf özçekimler olarak görüyorum. Sonunda, 2 milyon resmin tamamını ikiye böldük, yarısı iyi özçekimler ve yarısı kötü özçekimler ve sonra tüm özçekimleri görmüş olabilecek insan sayısını normalleştirdik. Çok az veya çok fazla hayranı olan kullanıcıları da filtreledim ve çok fazla etiket içeren bazı resimler de filtrelendi.

  • Evrişimli bir sinir ağını eğitmek için yukarıdaki 1 milyon iyi özçekim ve 1 milyon kötü özçekimden oluşan veri kümesini kullanın.

Bu noktada, bir özçekimin iyi mi kötü mü olduğuna karar verme şeklimde itiraz edebilirsiniz - örneğin, birisi harika bir özçekim yükledi, ancak gecenin ortasında yüklendi, bu yüzden çoğu insan görmeyebilir. Sonra daha az beğeni alıyor. Şu anda ne yapmalıyım? Haklısınız - sınıflandırma yöntemimle ilgili bir sorun olmalı, ancak bu 1 milyon iyi özçekimde gerçekten daha iyi özçekimler olduğu sürece, evrişimli sinir ağları bu tür şeyleri halledebilir. Bundan dolayı kafası karışmayacak veya cesareti kırılmayacaktır, sadece bu girdileri yorumlamak için elinden gelenin en iyisini yapar. Herkese iyi ve kötü özçekimleri ayırt etmenin zorluğuna dair algısal bir anlayış sağlamak için, aşağıda bazı eğitim görüntüleri yayınladım. Size herhangi bir resim verirsem, bunun iyi bir özçekim mi yoksa kötü bir özçekim mi olduğunu doğru bir şekilde cevaplayabilir misiniz?

Eğitim verilerimizde iyi ve kötü selfieleri gösteren örnek görüntüler. Bunlar, ConvNe'ye veri olarak sağlanacaktır

Bazı uygulama ayrıntılarını kısaca tanıtmak için, bu evrişimli sinir ağını eğitmek için Caffe'yi kullandım. ImageNet üzerinde önceden eğitilmiş bir VGGNet kullandım ve bu selfie veri seti için parametrelerde ince ayar yaptım. Bu modeli bir gecede eğitmek için bir Nvidia K40GPU kullandım. Modeldeki bırakma seçeneğini devre dışı bıraktım çünkü sonucu devre dışı bırakmanın daha iyi olduğunu buldum. Ayrıca, yüz veri setinde önceden eğitilmiş bir VGGNet kullanmayı denedim, ancak sonuç, önceden eğitilmiş ImageNet'ten daha iyi değil. Sonunda, model test setinde% 60 doğruluk elde etti (rastgele tahminin% 50 doğruluğundan biraz daha iyi).

İyi bir selfie nasıl çekilir?

Daha önce de belirtildiği gibi, 2 milyon özçekim fotoğrafı topladık ve aldıkları beğeni sayısına göre (hayranların sayısını kontrol ederek), onları iyi özçekimler ve zayıf özçekimler olarak böldük ve ardından bir tane eğitmek için onları Caffe'ye attık. Evrişimli sinir ağı. Bu evrişimli sinir ağı, iyi özçekimleri zayıf özçekimlerden ayırmanın en iyi yolunu bulmak için kullandığı filtreleri ayarlamak için her özçekime onlarca kez "bakar". Tam olarak ne bulduğunu kontrol edemiyoruz (bu filtreler için 140 milyon parametre var). Bununla birlikte, daha önce görmediğim bir özçekim resmiyle bunun iyi mi yoksa kötü mü olduğunu sorabilir ve sonra bir özçekimin iyi veya kötü olduğunu yargılamak için ne kullandığını anlayabilirim.

Test verilerim olarak 50.000 selfie görüntüsü kullandım (bu selfie görüntüleri bu evrişimli sinir ağı tarafından görülmez). İlk görselleştirme sonucu olarak, aşağıdaki resimde, bu özçekimleri iyiden kötüye doğru, en iyi özçekimler en üst sırada ve en kötü özçekimler en alt satırda olacak şekilde düzenledim:

ConvNet tarafından değerlendirilen, en iyiden (yukarıdan) en kötüye (alt) kadar özçekimlerin sürekliliği.

Oldukça ilginç, değil mi? Gelin bu evrişimli sinir ağının en iyi 100 özçekim fotoğrafı (50.000 resimlik bir test setinden seçilen) olduğunu düşündüğü şeye bir göz atalım:

Evrişimli sinir ağı tarafından değerlendirilen en iyi 100 özçekim

İyi bir selfie çekmek için aşağıdaki noktalar vardır:

1. Her şeyden önce bir kadın olmalısınız Kadınların özçekimleri, erkeklerin özçekimlerinden sürekli olarak daha iyidir. Özellikle ilk 100 iyi özçekimde hepsi istisnasız kadın.

2. İkinci olarak, yüzünüz tüm özçekimin üçte birini oluşturmalıdır. En üst sıralarda yer alan selfie resimlerinde, yüzün konumu ve duruşunun şaşırtıcı derecede tutarlı olduğuna dikkat edin. Yüz her zaman resmin tamamının 1 / 3'ünü kaplar.Yüz hafifçe yana döndürülmeli ve konum resmin ortasının üst kısmında olmalıdır.

3. Alnınızı kesin. En azından kadınlar için çok popüler bir strateji gibi görünüyor.

4. Uzun saçlarınızı gösterin: Şallı uzun saçlar özçekimlerinize çok şey katabilir.

5. Yüz aşırı doygun olmalıdır. Aşırı doygun ışık genellikle iyi özçekimlerde görünür ve bu da yüzün daha pürüzsüz ve beyaz görünmesini sağlayabilir.

6. Filtreleri kullanmak için. Siyah beyaz fotoğraflar bir bonus gibi görünüyor ve en üst sıradaki özçekimlerin çoğu bir tür filtre kullanıyor gibi görünüyor, bu nedenle tüm görüntünün solma etkisi var ve kontrastı azaltabilir.

7. Bir sınır ekleyin. İyi özçekimlerin genellikle yatay veya dikey beyaz kenarlıkları vardır.

İlginç bir şekilde, buradaki bazı ilkeler erkekler için işe yaramayacak. Aşağıda gösterildiği gibi, ilk 2000 özçekimden tüm erkek özçekimlerini öğrendim:

2000 özçekim arasından seçilen en iyi erkek özçekimlerinden birkaçı

Açıkçası, alnın kesilmesi gerçekleşmedi. Aksine, çoğu özçekim, başın tamamını biraz daha geniş bir açıdan alacak ve omuzları gösterecektir. Ayrıca, çoğu erkeğin biraz daha uzun saçları ve abartılı saç stilleri vardır ve saçlarını dikkatlice tararlar. Bununla birlikte, yüz aşırı doygunluğunun bu özelliği hala görülebilir.

İyi bir özçekim gördükten sonra, kötü bir özçekimin neye benzediğine bir bakalım. Bu sefer, resmi küçük bir boyuta indirdim, böylece herkes onun kim olduğunu göremesin, çünkü amacım herkesin özçekim kalitesini düşürmenin ortak modunun ne olduğunu keşfetmesine izin vermek, kötü özçekimler yapan herkese göstermemek. Aşağıdaki resim, evrişimli sinir ağının zayıf olduğu düşünülen bir otoportredir. Açıkçası, beğenme sayıları çok düşük olmalıdır:

Evrişimli sinir ağı tarafından değerlendirilen en kötü 3 milyon selfie

Bu kadar düşük bir çözünürlükte bile bazı şeyleri görebiliriz. Asla özçekim yapma:

1. Düşük ışıkta selfie çekin. Açıkçası, bu çok karanlık fotoğraflar (genellikle çok fazla gürültülü), evrişimli sinir ağı tarafından kesinlikle çok düşük bir puan alacak.

2. Başınızı çok büyük koyun. Bunun nedeni muhtemelen hiç kimsenin yüzüne bu kadar yakından bakmak istememesidir.

3. Bir grup fotoğrafı çekin. Arkadaşlarınızla özçekim yapmak eğlencelidir, ancak özçekim puanlarınızı düşürecektir. Kompozisyon kısa olmalı, sahnede yalnız kalmanız yeterli, ancak lensi çok fazla kaplamayın.

4. Son olarak, iyi ve kötü otoportre arasındaki ayrım, ne kadar iyi göründüğüme değil, büyük ölçüde resmin tarzına dayanır. Beni rahatlatan bir başka şey de, bol etli otoportrelerin daha yüksek puan almamaları. En başta, bu baş döndürücü evrişimli sinir ağının açıkta kalan bir ayrımcı olacağından endişeliydim. Görünüşe göre çok düşünüyorum.

Peki ya yıldızların özçekimleri? ? Son ilginç deney olarak, bu evrişimli sinir ağının bazı ünlülerin özçekimlerine bir puan vermesini sağlamaya çalıştım. Aşağıdaki şekilde, puan yukarıdan aşağıya ve soldan sağa doğru azalmaktadır:

Evrişimli sinir ağı, ünlülerin özçekimleri için yargılarda bulunur. En çekici selfie: sol üst

Şaşırtıcı olan şey, Alan DeJenni'nin tanınmış grup fotoğrafı gibi, daha önce özetlediğimiz (grup fotoğrafı çekmeyin) pratik kuralın artık bu deneyde etkili olmaması ve Oscar ödüllerinde bazı grup fotoğraflarının yüksek puan almasıdır. , İkinci sırada. Baton!

Başka bir ampirik kural (erkeklerin özçekimleri iyi değildir), Chris Prattın üstsüz özçekimleriyle (yine ikinci sırada) düzgün bir şekilde çiğnendi ve bazı erkek yıldızlar da özçekimlerde yüksek puan aldı. Ding Ri'nin kaşını kaldırdı fotoğrafı ve Xiong ve Fei Lun'un bir grup fotoğrafı (üçüncü sırada). Bununla birlikte, James Franco'nun neredeyse kısıtlanmış özçekimi (dördüncü sırada yer alır) bizim evrişimli sinir ağımız üzerinde iyi bir izlenim bırakmadı.

Son olarak, resmin tarzının çok önemli olduğunu vurguluyorum. Zayıf kompozisyon veya zayıf aydınlatma nedeniyle hala listenin en altında olan kesinlikle güzel birkaç insan var.

Selfie alanını keşfedin

Ayrıca bu özçekimleri göstermek için başka bir ilginç görselleştirme yöntemi t-SNE denedik. t-SNE çok güzel bir algoritma çünkü çok yönlü ve verimli, bunu ilk önce hemen hemen tüm veriler üzerinde denemeyi seviyorum. Bazı şeyleri girmesi (bu örnekteki resimler) ve sonra bunları benzerlik ilkesine göre düzenlemesi gerekir.

Aslında t-SNE ile Netflix filmleri, kelimeler, Twitter kişisel verileri, ImageNet resimleri gibi birçok şeyi, miktarı yeterli ve karşılaştırılabilir olduğu sürece düzenleyebilirsiniz. Burada, özçekim görüntülerini evrişimli sinir ağının düşündüğü benzerlik derecesine göre düzenliyoruz. Teknik terimlerle, her resmin puanını belirlemek ve benzerliğini karşılaştırmak için son tam bağlı katmanda fc7 tarafından etkinleştirilen L2 normunu kullanıyoruz. İşte görselleştirme sonucu:

Selfie t-SNE görselleştirme

Öyleyse, selfie resimlerinin ilginç bir şekilde bir arada gruplandırıldığını görebilirsiniz: örneğin, sol üstte bir selfie fotoğrafı, orta solda güneş gözlüğü / gözlük takan bir selfie, sol altta bir vesikalık fotoğraf ve sağ üstteki birçok fotoğraf birbirine bakıyor. Tam vücut aynadan vuruldu. Bu fenomenin oldukça ilginç olduğunu düşünüyorum.

Selfie fotoğrafı en iyi şekilde nasıl uyarlanır?

Ayrıca, bir selfie resmi için en uygun mahsulü otomatik olarak bulmak için evrişimli bir sinir ağı kullanarak ilginç bir deney daha yaptık. Önce bir resim çekeriz, pek çok şekilde rastgele keseriz ve ardından evrişimli sinir ağının en iyi olduğunu düşündüğü resmi seçeriz. Aşağıdakiler, 4 deney setinin sonuçlarıdır, solda orijinal görüntü ve sağda en iyi kırpılmış görüntüdür:

Dört çiftin her biri orijinal görüntüyü (solda) ve ConvNet tarafından en iyi (sağda) olarak seçilen görüntüyü gösterir.

Hayır, evrişimli sinir ağlarının, kafanın resmin boyutunun 1 / 3'ünü kapladığı ve alnın bir kısmının kesildiği selfie'ler gibi olduğunu unutmayın. İlginç olan, sağ alttaki bu deneyler dizisinde, evrişimli sinir ağının kimsenin daha iyi olmadığını ve tamamen yanlış olduğunu hissetmesidir. Evrişimli sinir ağlarının mantıksız seçimler yaptığı bazı benzer örnekler:

Orijinal görüntü solda, kırpma sağda

Bazı uzmanlar soru sormadan önce cevap verdim: Evet, Orijinal görüntüden sonra ve evrişimli sinir ağından önce bir uzaysal dönüşüm katmanı eklemeye çalıştım . Keyfi kırpmayı ifade etmek için 6 parametre kullanan bir model elde etmeyi umuyorum. Ne yazık ki, bu yöntem uygulanabilir değildir - optimizasyon bazen takılıp kalabilir veya keyfi olarak tek bir pozisyona yönelebilir. Ayrıca dönüşüme bazı kısıtlamalar getirmeye çalıştım, sadece yakınlaştırma ve kaydırma, ama yine de faydasızdı. Neyse ki, bu dönüşümün üç sınırlı parametresi varsa, o zaman hala en uygun çözüm için küresel aramayı karşılayabiliriz.

Özçekiminizde kaç puan kazanabilirsiniz?

Özçekiminizin ne kadar puan aldığını görmek ister misiniz? Bu ağı herkesin test etmesi için bir Twitter botu haline getirdik. (Bu robot, kullanılan tüm Caffe / Tweepy kodu dahil olmak üzere yalnızca 150 satır Python koduna sahiptir). Resminizi (veya bağlantınızı) tweet'e koyun ve tweet'in herhangi bir yerine @deepselfie ekleyin.

Robot fotoğrafınıza bakacak ve bir puan verecek! En iyi sonucu alabilmek için selfie fotoğrafın kare olması gerekir, aksi takdirde robot fotoğrafı önce kareye sıkıştıracak ve bu da nihai puanı düşürecektir. Robot sorun yoksa bir dakika içinde size cevap verecektir (bir sorun olduğunda bir süre bekleyin ve tekrar deneyin).

Leifeng.com'daki orijinal makaleler Lütfen bunların Leifeng.com'dan olduğunu, imzalı yazar ve orijinal metne bağlantı olduğunu belirtin. WeChat'te yeniden yazdırma yetkisi için lütfen Leifeng.com'un resmi hesabıyla iletişime geçin.Ayrıntılar için yeniden yazdırma talimatlarına bakın.

Model oyun kontrolü: model sahne çalışır, kurtarma sahnesi getirilemez
önceki
Chen Daoming bu filmde rol almadı. Bir zamanlar kırmızı olan ve başka bir "Fang Hua" yapmak isteyen Li Xiaolu rolünü üstlendi.
Sonraki
"Liddy ve Suri'nin Stüdyosu" yeni bilgiler, eski kahraman Phyllis savaşa katılıyor
Bugün, editör yurtiçi ve yurtdışında birkaç mükemmel anti-kanser filmi öneriyor ~
Bir KADIN Kadın Konferansı Oluşturun: Kadınların cesurca gerçek seçimler yapabileceği bir toplum nasıl olmalıdır?
8 ayda 20 kedi kaybettim Apple Watch ile nasıl kilo verebilirim? Faydalı çalışma
Mod oynatma kontrolü: Kabini beyaz şeytanı değiştiriyor YABELEY
"Kızıl Deniz Operasyonu" Douban, "Kara Şahin Düştü" nden daha üst sırada yer alıyor, Tang Tan 2 ile Bahar Festivali gişe şampiyonluğu için yarışacak
Kötü ruh hallerinden kurtulun. Bugün herkese iç açıcı altı film önereceğim.
MIT, yapay kas liflerini başarıyla geliştirdi ve biyonik robotlar ufukta
Uygulamadaki resimleri ve metni kolayca kopyalayın, bu 3 araç size yardımcı olabilir #Android
Aslında birçok klasik yüksek puanlı film var, görmemiş olabileceğiniz on tane öneriyorum.
"Detective Chinatown 2" gişesi 6 günde 1,7 milyar kırdı! Liu Haoran gişe rekorunu tutmak için uzun bacaklarını kullandı
"Chain De De Depth" "9. Dördüncü Yıl Dönümü" Birinci Yıldönümü: Küresel Dijital Para Birimi Düzenleme Politikaları ve Piyasa Trendinin Kapsamlı İncelemesi
To Top