«Ой, бұл Shazam сияқты, бірақ өнер үшін бе?» Менің соңғы жобамды түсіндіруге соңғы екі минут жұмсаған соң досым сұрады.
Бұл өнер әуесқойларына қай суретшінің сурет салғанын анықтауға көмектесетін платформа болды және ол оны 5 сөзбен түсіндірді; «Shazam сияқты, бірақ өнер үшін».
Бұл мақала мен жобаны не үшін бастағаным және бірінші нұсқаны қалай жасағаным туралы.
Неліктен?
Мен өмір бойы өнерді жақсы көрдім.
Мен көптеген жылдар бойы өнер қозғалыстарын зерттеуге, өз өнер туындыларымды жасауға және көрсетуге және әдетте суретшілер мен галереяларды аралауға жұмсадым. Уақыт өте келе мен қай суретшінің картина салғанын болжау қабілетін дамыттым (жоғары дәлдікпен), әсіресе ол африкалық суретші болса.
2022 жылғы AI ренессансында мен шабыттандым және компьютерлерді бірдей нәрсеге қол жеткізу үшін үйрете аламын ба деп ойладым, сондықтан мен шағын жеке жобаны бастадым.
Онымен жұмыс істей отырып, мен одан да үлкен мәселелер бар екенін тез түсіндім. Африкалық өнер білімін құжаттау, тану және бөлісу төңірегіндегі мәселелер. Мысалы, картиналарын желіде табу қиынға соғатын ескі африкалық шеберлер бар. Оларды табу үшін ескі өнер оқулықтарына немесе жеке жинақтарға бару керек. Мен әлем толығымен цифрлық жүйеге көшкен сайын, бұл жұмыстардың көбі тарихта жоғалып кетуі мүмкін деп алаңдадым.
Осы қиындықты бастан кешіру мені жобаны көпшілікке жариялауға және оны цифрлық түрде сақтауға және Африка өнері мен суретшілері туралы біліммен бөлісуге шешім қабылдады.
Бұл африкалық өнерге бағытталған, өйткені мен мұны ешкім жасамайтынын білдім, бірақ мұны істеу керек еді, сондықтан оны менден бастау керек болды.
Ол қалай жұмыс істейді
Платформаны пайдалану оңай.
Сіз суреттің фотосуретін жүктейсіз немесе қол жетімді үлгі суреттердің бірін таңдайсыз.
Платформа кескінді өңдейді, жүктеп салынған өнер туындысына көркемдік мәнерлері ең ұқсас суретшілерді анықтайды, жүктеп салынған фотосуреттің олардың өнер стиліне қаншалықты ұқсас екеніне байланысты әрбір орындаушы үшін сенімділік ұпайын жасайды және ең жоғары сенімділік ұпайы бар орындаушыны таңдайды.
Содан кейін суретші туралы ақпарат төмендегі форматта көрсетіледі.
Сенімділік көрсеткіші бұл болжамға қалай келгенін көрсету және берілген нәтижені қалай пайдаланғыңыз келетінін шешуге мүмкіндік беру үшін жарияланады.
Сондай-ақ жобаға үлес қосып, үлгіні жақсартуға көмектесу үшін кері байланыс бөлімі (жоғары немесе төмен) бар.
Бұл платформаның қалай жұмыс істейтінінің жеңілдетілген түсіндірмесі. Төменде оның қалай салынғаны туралы қосымша ақпарат (мүмкіндігінше аз техникалық жаргонмен) берілген.
Технология/Деректерді дайындау
Мәліметтерді жинау және өңдеу
Бұл менің алғашқы ML жобам емес еді, сондықтан мен шырын оқу деректерінде болатынын білдім. Жақсы нәтиже алу үшін үлгі үшін жеткілікті жоғары сапалы деректерді тауып, дайындауға тура келді. Бұл мен ойлағаннан да қиын болып шықты.
Мен жаттығу деректерін жинақтап, санаттай бастадым, бірақ бұл көп уақытты қажет ететінін тез түсіндім, сондықтан мен әпкем мен екі интернді бірнеше ай бойы менімен бірге жұмыс істеуге шақырдым. (Олар жұмысы үшін ақы алды)
Келесі қадам деректерді тазалау және стандарттау болды.
- Көшірмелерді жою және деректерді қалыпқа келтіру
- Деректер дұрыс таңбаланғанына көз жеткізу
- Сыныптың теңгерімсіздігіне байланысты модельде ауытқуды болдырмау үшін әрбір суретшінің шамамен бірдей көлемдегі жаттығу деректеріне ие болуын қамтамасыз ету.
- Әр суретшінің оқу деректерінде суретшінің белгілі бір стильге/ортаға шамадан тыс сәйкестігін болдырмау үшін олардың әртүрлі кескіндеме стильдері мен орталарының жеткілікті вариациясын қамтамасыз ету.
- Тренинг фотосуреттерінде әртүрлі контексттегі картиналар болуын қамтамасыз ету. Әртүрлі ортадағы картиналардың фотосуреттері, суреттердің төңкерілген фотосуреттері, картиналардың ақ-қара нұсқалары және т.б. Бұл әртүрлілік модельге көптеген жағдайларда жақсы жұмыс істеуге көмектеседі.
Бұл көп жұмыс болды, бірақ бұл құқықты алу модельді жақсы орындауға мүмкіндік береді.
Деректерді дайындау процесі аяқталғаннан кейін, пайдалануды жеңілдету және дәлдікті тексеру үшін деректерді оқу деректеріне және сынақ деректеріне (бақылау) бөлдім.
Модельдерді құру/оқыту
Модельдер туралы ойлаған кезде менде екі нұсқа болды.
Ашық бастапқы негіз үлгісіне құрыңыз немесе бұлтқа негізделген меншікті үлгіге сүйеніңіз, мысалы, GCP's AutoML.
Мен екі тәсілді де қолданып көрдім, бірақ жоба бастапқыда тұжырымдаманың дәлелі болуы керек болғандықтан, шығындарды басқару мен үшін ең үлкен фактор болды.
Ақырында мен EfficientNet ашық бастапқы негіз үлгісін пайдалануды шештім. Оны пайдалану тегін, деректердегі мүмкіндіктерді анықтауда жақсы, оны іске қосу үшін көп есептеуді қажет етпейді, ол орналастыру икемділігін ұсынады және мен оны бұрын қолданғанмын.
Мен EfficientNet-тің Tensorflow енгізуін таптым және оны модельдің негізі ретінде қолдандым. Ол Керасқа қолдау көрсетті, бұл сонымен қатар күрделілікті басқаруға көмектесті.
16 ГБ жедел жады бар Macbook M1 Pro компьютерінде сынақ нұсқаларын үйрете алатындай тиімді болды (ноутбугымның кейде қатып қалуымен күресуге тура келді).
Сорғыштың астында модель щетка штрихтары, түс схемалары, композиция т.б. сияқты негізгі мүмкіндіктерді анықтау үшін фотосуреттерді өңдейді және маңызды бөліктерді сақтау үшін ақпаратты қысқартады. Ол бұл ақпаратты жаңадан ұсынылған картиналардың фотосуреттері мен оқу деректері арасындағы ұқсастықтарды анықтау үшін пайдаланады.
Мен әртүрлі дәуір мәндерімен және не жақсы жұмыс істейтінін көру үшін ерте тоқтап, тәжірибе жасадым және соңында қызықты көрсеткіштерге жеттім.
Мен іске қосу үшін жеткілікті дәлдік алу үшін көбірек суретшілерді қосып, әртүрлі құндылықтармен тәжірибе жасауды жалғастырдым.
Соңғы іске асыру екі үлгіні қамтыды. Біреуі кескіндеме стилін тану үшін, екіншісі кескіндеме ортасын тану үшін.
Мен үлгілерді одан әрі нақтылауға және соңында оларды API орауыштарымен орналастыруға көмектестім.
Қолданбаны жобалау және әзірлеу
Модельдер сұрыпталғаннан кейін платформаның қалған бөлігін салу оңай болды. Соңғы іске асыру келесідей болды:
Platform Backend/API : Мен нақты үлгілерге логикалық және бағыттау сұрауларын тиімді өңдеу үшін Laravel көмегімен серверді/API құрастырдым. Бұл деңгей барлық кескінді өңдеуді, сақтауды, тексеруді, суретші туралы ақпаратты және сұрау триажын, яғни үлгілерге жіберілген сұрауларды басқаруды өңдейді.
Frontend : Frontend React көмегімен жасалған. Маған алдыңғы кодты жазу ұнамайды, сондықтан осы бөлікті құруға көмектестім. Ол негізінен серверге жіберілген ақпарат пен пайдаланушы сұрауларының көрсетілуін басқарады.
Сервер/Хостинг: Мен барлық қосымшаны Heroku-да орналастырдым (модельдер кіреді). Мен Heroku таңдадым, себебі ол маған көптеген дайын қызметтер мен қолдауды басқарылатын бағамен алуға мүмкіндік берді. Деректерді жинау, үлгілерді үйрету және негізгі платформаны құру бойынша бірнеше айлық жұмыстан кейін мен басқа жұмысты қаламадым, мен жай ғана тікелей эфирге шыққым келді!
Қорытынды жазбалар
Этика
Мен үлгілерді тек жалпыға қолжетімді деректерге үйреттім.
Мен жобаны әзірлеген кезде мен әртүрлі суретшілермен олардың жобада қандай да бір проблемалары бар-жоғын тексеру үшін тексердім және мен ешқандай кері қайтару алған жоқпын. Дегенмен, жобаға мен қосқан кез келген суретші шеттетілгісі келсе, маған хабарлаңыз. Мен мұны бірден жасаймын.
Болашақ жоспарлар
Мен мұны білім беруде, өнер ашуда, туризмде және коммерцияда қолдану жағдайларын көп көремін. Сондай-ақ мен ойлаған бірнеше мүмкіндіктер бар; суретші каталогы, веб-негізделген өнер ойындары, орындаушы ұсыныстары және т.б.
Менің жоспарым - жобаны жетілдіруді жалғастыру және суретшілер, салалық мүдделі тараптар және өнер әуесқойлары келесіде не көргісі келетінін білу.
Мен бұл жобаны бастағаныма өте қуаныштымын. Бір жағынан, бұл маған құмар болатын екі нәрсені (өнер + технология) біріктіруге ерекше мүмкіндік берді, екінші жағынан, бұл мені сынап, түрлі мәселелер төңірегінде шығармашылық ойлауға мәжбүр етті. Мен сондай-ақ африкалық өнердің өсуіне және сақталуына белсенді үлес қосып жатқанымды сезінемін және бұл керемет.
Жоба сілтемесі (бета) : https://beta.whomadethisartwork.com/
Ескертпе *: бета-нұсқа 100 африкалық суретшілермен шектелген, жақын арада оны қосу жоспарлануда.*
Демо :
Егер сіз осы мақаланы оқығанды ұнатсаңыз, мен оны оқуды қызықты ету үшін «тайғақ беткей» деп аталатын жазу техникасын қолданғаным үшін. Бұл көптеген ұлы авторлар, сонымен қатар копирайтерлер қолданатын әдіс. Бұл әдіс және тағы басқалар CopyThat деп аталатын курста оқытылады және бұл сізге қажет болатын жалғыз жазу курсы. Ең жақсысы, оны аяқтауға небәрі 10 күн қажет. Шынымен жақсы жазушы болу үшін 10 күн. Тамаша жазушы болу жолыңызды бастау үшін қазір CopyThat сайтына кіріңіз.