Недавно я ехал на автобусе из Торонто в Нью-Йорк, снаружи автобуса было темно, внутри меня было немного портвейна, спать совершенно не хотелось, и я решил поразбираться с Deep Learning. Скачал Caffe, скормил ему пару картинкок, на которых правильно распознались мяч и банан. Захотелось распознать что-то более интересное, и я вспомнил, что где-то на жёстком диске у меня есть дамп хабрахабра, который я делал, когда проходил курс информационного поиска в ШАДе Яндекса.

На написание скрипта, который распознаёт, что изображено на аватарке хабропользователя и грепает всех кошачьих, ушло несколько минут, на обновление дампа до актуального и распознавание картинок ушло несколько дней, и теперь я могу утверждать, что на хабрахабре по меньшей мере 748 котов.

Под хаброкатом можно прочитать чуть больше подробностей и посмотреть на всех котов.





В течении нескольких дней мой паук дообходил хабрахабр, и, когда я увидел, что у меня скачено более 500000 страниц хабрапользователей, я его остановил. В итоге у меня оказалась информация о 527468 пользователях. Из них у 73193 оказались аватарки.

Далее я с помощью Caffe получал для каждой картинки первых пять наиболее вероятных тегов. После фильтрации по кошачьим тегам осталось 1013 аватарок. Среди них было некоторые число не котов, например, совы часто распознаются как коты.


Альф, как бы это ни было забавным, наполовину примат, а наполовину кот. Классы определились такие: 'primate', 'monkey', 'lion', 'Old World monkey', 'feline'.


А вот Zelenyikot котом не является, самое близкое, что распознаётся — это 'giant panda'.


После того, как я убрал вручную ошибочно зачисленных в котов, осталось 748 аватарок. Все они приведены на картинке ниже.



Поимённый список котов
1acc, 333vs333, 7thrace, a-artur, abikvl, acround, adilet_usenbekov, adov_polosach, aeroztar, aft3rmath, ageratum, aggrohamster, agladysh, ahazat, ahdrey, aircokol, aivandyrkov, akase, alecsey178spb, alekseymotovilov, alex1966, alexantr, alexius_s, alexpolnikov, alexsunsky, alexvarp, alienattack, alkair, alsmile, alvast, alx_voronov, anaphema, andrei_neustroev, andypanda82, angel_d13, anji0997, annael, annenkov, anomaly86, antaki93, antik382, anton_vic, antosik, anxi, arch14, arendil, arruin, artchizhov, arteben, artemchik, arthurstark, artic, artyomcool, asaks, askadias, asker1987, assc, astass, at0m1c, atpmodern, @ave, aver_pasha, avlaak, awwes, azazel17, badcentlemen, bad_student, bagas, baguwka, balashoff, barico, barssn, bato4ka, baxzzzz, bazeyvit, bazlan, bearer, benign, bennyfinch, bereg, beretta, bescom, betepoknoname, bioluh, biorobot, bizdirect, blayder, blazer44, blondinekatze, bloomberg_door, boban1951, boeing777, booldogg, borland34, bristly, bsrginru, bushuevrussia, butylski, byabuzyak, byv81, catmen08, cat_of_castle, catplusplus, c-darwin, cdman2010, celldweller24, ch3sh1r3, chapayev, cheereek24, chelovekot, child, chudoseikin, ciajaxdev, ckuridin, comargo, compoz, comrade_55, contango, controlflow, corpix, corvaxavk, crackedsapphire, crazy_flower, crazytiger, crysis49, curious_tomcat, cyberkuk, cybermanchik, cyfive, d1monster, dahaa, daisy_v, danil1404, danix, darkangel2008, darkmessiah, darkserj, dector, ded_mopo3, deeman313, deeptds, deepx, deleted-krakazyabl, demalah, demosfobos, dempil, denis__sh, denv, denvo, denzik, deorbit, derol, desher, dgad, digvice, di_halt, dikah, dikeyfd, dimf, dimka86, dimmonz, d_ivan, divinity32, d_landau, dmitrychast, dmitryga, doberbeatz, dolphinsoft, drgosh_m, droll13, druh, dsk1306, dyumba, eaterman99, ebashu_na_bayane, echoes11, ed-fruty, egiptyanin, egorikua, ejz, ekup, elektrochajnik, elfets, elnee, erdees, erkowa, erud, eugenco, eugeniyazhenka, eugenyh, eujin, evolutin, exl, extender, extra300, f1ex, f7soft, faantoom, falconm, fastservice, fiery_ice, filoret256, fkysn9wa, flowergirl, foka, folond, fomkadev, forestcat, forever, forgettmenot, foxus, freelock, frikazoid, frumarina, gaparchi, gazizov, gd666, gekty, gena_tcvali, gennadij_13, ghosts, ghovall, gigiwka, ginius, giser, gitarizd, gittarus, gkovaleff, glazunov_v, gliese581, goldkanet, goldkeeper, goodwish, gorbln, grabse, graf_duku, grammidin, gramoboi39, greencat, gregory_epstein, gregosh, gumja, guyvernk, gwee, habralan, habrwaterman, handy, haradzienski, harrry, hinode, hitogirai, hlorofos, hoffman, hollyjohn, homphsexception, hrakk, ibice, icefroz, idimka39, idolopoklonnica, idtm, ig_gor, ihard, iiii, ilirio, iluhinhabr, ilyapenkov, i-marketing, im_nowhare, inbider, individ1, ingift, inikulin, innominate, ioscat, irbisfx, iser, it_fake, itt2, ivachkin, ivanmarkov, ivasyai, ivinnic, iwanerhov, jabberwock, jackson95, jaguar6868, jaster_ru, jazzpixels, jerseyzx, jforum, jholinar, jmayskiy, jms, jonmagon, joossy, julsky, k1b0rg, ka1essin, kai, kamtec1, kamuh, kannoken, kapsh, karavaiker, kateshevchenko, kean, kecapb, kehhu, kerkomen, kettary, kicum, kimiit, kirill89, kirsenn, kiruxa36, kissa, kitekat, kitichka, kk0tt, klaizar, klausfishe, kleory, koen_varvar, kolsat, komzpa, koot, kot8ehemoth, kotanic, kot_dobra, kotelya, kotion, kotlio, kotolenka, kotsomeone, kott, kowkin, kpeamop, kreatiff, krestjaninoff, krevedkoaz, krgz, krubbs, ksenofor, ksevelyar, kultishev, kuprikow, kuzia9, kvil, kvo, kwachboba, kww, ky4web, kyver, la6puk, lakostik, lamkaslim, lanaluna, laroux, lastromantik, lavash, ldvcl, le0nidy4, leeroy, lefechka, leksterviking, lelik13a, lemsergey, lemuil, lemurija, lena_sakhno, leo_sgm, lexinc, lija, likenoother, liquidstorm, lirein, loginsin, logofiles, lonelycat, lonely_tramp, longedok, longnull, lova, lucha, luciferr, luckycoin, lukretsiy, luna12, lyncs, lynxie, lynxknight, mackor, madfortune, madgnu, madhacker, madmaximka, madmit, mahowik, makahsahc, maks78, maksimau, mak_vit, manaxname, manulable, manul, mardy_bum, margin0px, maria_platonova, markstan, mattheus, mauschka, maverick79, max_im_ka, mayorov_vs, mconnect, mcseem85, megamonster99, megaromb, menlod, meph1st0, metzgermeister, mezhevikin, mi4log, mikle, minmatarec, mintonist, mitcenika, mkot, moll, molodoy_ua, mr_gruber, mrjovas, mrzdgg, muhammad_97, muhomor, mulltiq, muramaru, murminathor, musiab, myp3uk, mysterious, my_username, nardin7, nardin, nart09, nastika_namaste, natali_khatkevich, natfomm, ne_kotin, neozoid, neronmoon, nickvenator, nightlion, nik684, nikiomen, nik-nikita, nklnke, nlait, nobr, nomadmoon, norgen, noskivpolosku, notra, noxan, n_ray, nuclear_fly, obramko, odinokij_kot, ogonec, oksumoron, omnitrio, oneiric_ocelot, orcstation, orzik, ouuuuo, owjo, pallaskatze, paththeir, pelvis, peoplespeak, phantasm1c, phantovas, phoenixsod, photo_profile, phprus, pifagor, pishpish, plombeer, ploop, pocheshire, pofigistor, polovinkin, prkassad, progress_man, proshkahabr, prutt, psihopuzzz, psybeaver, pumpingnoise, punk111, pushipu, pyxru, p_zeger, qbbr, qeskido, quartz, r2ot, radiokot, radioniker, rasifiel, rasswet, rastaropnaya, rayvor, razvor, real_voland, rebulus, recosh, refakki, reflash, remuktus, respown, retuned, rez1dent3, rezwyi, rhorobets, rie, rikimaru, riloun, riptravis, rokko195, romanitalian_net, romanvl, romanvz, romens, root1564, rour, rpex, rsilaev, rtaburceanu, rubik, rusakovnikita, ruslanm, rv630, s1lent_ua, sabiovradik, sad_robot, sagibshikar, sagifire, sammily, san41to, sanchez17_08, sandman, satellence, saturday_cinderella, saul, sav13, savann, savvy, sax, scanderberg, schigartsov, schrodingers_cat, scorp2011, sealse, secruity, seeker142, semisay, sempron, sergdrakon, sergeich65, serge_k, sergeyam, sergeylaptev, sergey_may, sergeytykhonov, sergey_vecher, sergfromsimf, sergpnz, sgtram, shabbybastard, shadowpanther, shahob, shamanua, shepardvia, sheree, sherlak, sherwood, sheveron, shevna, shifrovanie, shiki, shiroginne, shokoladko, shuvaevgl, siava3251, siberian_lynx, sickfar, sid44, siddhartha, simple_rb, sirleh, skif300000, skydreamer, smkuzmin, snowleopardik, snuk182, sob_s, sokovenko, solteks, somikosa, sonikelf, sonygirl, source, spectrumcat, speedo, spikerwill, ssezya, stalyer, stamir, stanner, star003, stars9, stasabrosimov, stdio, stemrus, stixnematic, stjuart, strannik7j, superhabrik, surendil, svd, svetlanaang, svetlyiakapro, svinokozel, svirepyy_barsik, svtolstikov, syncsn, syoma2, tamotokushi, tasder, tatita, tatyushev_ms, taya91, taylli, tekhnolife, telephone, tel, terkin76, terol, tevgenius, thargon_sg, thecat2k, thelastofcats, thesouthw0lf, thespian, thevisor, thomas_ross, tiberius, tigert, tigrasan, tigrik, timiriliyev, timofffey, timurnn, tirael78, tk_sherlock, tmassiff, tony_ru, toxygen, triger, true_user, tsukanovroman, tvk, twohouse, tyralion, tyz910, tzx, uglykid, ukr0p4eg, umka13, uorypm, userkga, v1tol, vampire666, vanatka, vasiliylight, vchikarin, velvetcat, verdoga, vetiver, viator_ak, vingor, vipterran, vitaliyk86, vitalyok, vitlaus, vitlk, vladimirandreev, vladimirua, vlatri5264, vldslvdnlv, vol2032, vontaren, vosolovskiy, voult, vovan47, vsden, vuru, wadman, wadyan0i, wantbefree, wase4ka, webcote, welcomerooot, wentswc, whitetigr, wildraid, witjaz007, wmas, wohlstand, wonderkot, x3n, xakka, xakpc, xalasdor, xanderslex, xavadonx, x__cross, xvadim, yadowit, yami513, yanis, yaroslav_dbls, yaruson, yazvin, yurapb, yurc, yushkin, zaynetro, zelik_bog, zellien, zentif, zs000, zshcbka, zurich, zuy, zvoice.

В заключение три ссылки, из которых можно узнать больше про Caffe и Deep Learning:



UPD В комментариях указали, что на трёх аватарках не коты. Так что метод находит 745 котов.

Комментарии (102)


  1. lozga
    22.02.2016 18:39

    Ну вот, прошло всего полтора года с разделения хабра, и тебя уже не вспомнят. Хотя, наверное, сложно вспомнить кота который распознается как "шарик от пинг-понга"...