Halo, Habr!
Hari ini saya ingin berbicara tentang bagian kedua dari proyek layanan untuk identifikasi dan klasifikasi karya seni. Biarkan saya mengingatkan Anda bahwa kami telah menyelesaikan dua tugas utama:
- mencari gambar dalam database dari foto yang diambil oleh ponsel;
- penentuan gaya dan genre gambar yang tidak ada dalam database.
Hari ini kita akan mempertimbangkan penggunaan jaringan saraf convolutional untuk mengklasifikasikan gambar berdasarkan gaya dan genre.

Bantu Dasha memahami seni kontemporer?
Menentukan gaya lukisan
Dari hampir 250.000 lukisan dalam database Arthive, kurang dari 20% ditugaskan genre, gaya atau teknik, seringkali kelas yang ditampilkan dalam database tidak sesuai dengan nilai sebenarnya, banyak kelas mengandung terlalu sedikit gambar. Tampaknya bahkan ada kelas yang berisi unit gambar. Rupanya, beberapa penulis menganggap perlu untuk membuat nama untuk gaya mereka sendiri.
Secara total, sekitar 75 gaya dialokasikan dalam database, namun, untuk pekerjaan kami, pelanggan memilih 27 gaya wajib (yang kemudian ditambahkan gaya lain), yang harus dikenali oleh sistem.
Bagi mereka, distribusi pengisian ternyata sangat tidak merata.
Gaya | jumlah | Gaya | jumlah |
---|
Realisme | 19594 | Primitivisme | 1234 |
Impresionisme | 15864 | Art deco | 1092 |
Romantisisme | 8963 | Renaissance Utara | 921 |
Barok | 7726 | Kubisme | 902 |
Modern | 4882 | Akademikisme | 707 |
Surealisme | 4793 | Gotik | 608 |
Kelahiran kembali | 4709 | Modernisme | 539 |
Ekspresionisme | 4329 | Realisme sosialis | 481 |
Simbolisme | 4321 | Seni pop | 475 |
Pasca impresionisme | 3951 | Pointillisme | 275 |
Seni abstrak | 3664 | Fauvisme | 217 |
Ukiyo-e | 3136 | Pelopor | 174 |
Klasisisme | 1730 | Hyperrealisme | 13 |
Rococo | 1600 | Fantasi | 8 |
| | Total | 96908 |
Semua gayaGaya | jumlah | Gaya | jumlah | Gaya | jumlah |
---|
Realisme | 19594 | Seni pop | 475 | Dekoratifisme | 66 |
Impresionisme | 15864 | Biedermeier | 471 | Minimalisme | 66 |
Romantisisme | 8963 | Realisme yang fantastis | 386 | Sentimentalisme | 66 |
Barok | 7726 | Ekspresionisme abstrak | 358 | Cloisonism | 60 |
Modern | 4882 | Nabis | 339 | Lukisan metafisik | 56 |
Surealisme | 4793 | Pointillisme | 275 | Machiaioli | 52 |
Kelahiran kembali | 4709 | Suprematisme | 273 | Orphism | 51 |
Ekspresionisme | 4329 | Pra-Raphaelites | 252 | Dada | 50 |
Simbolisme | 4321 | Realisme magis | 248 | Neo-impresionisme | 49 |
Pasca impresionisme | 3951 | Renaissance awal | 232 | Luminisme | 41 |
Seni abstrak | 3664 | Neo-ekspresionisme | 230 | Proto-renaisans | 39 |
Zaman Keemasan Belanda | 3292 | Fauvisme | 217 | Plantanisme | 37 |
Ukiyo-e | 3136 | Postmodernisme | 192 | Tenebrizm | 35 |
Klasisisme | 1730 | Pelopor | 174 | Impresionisme abstrak | 34 |
Rococo | 1600 | Seni kontemporer | 149 | Konseptualisme | Tanggal 29 |
Primitivisme | 1234 | Presisi | 138 | Jepangisme | 24 |
Art deco | 1092 | Kubofuturisme | 108 | Postmodern | 24 |
Renaissance Utara | 921 | Konstruktivisme | 104 | Luchism | 24 |
Kubisme | 902 | Tonalisme | 103 | Bizantium | 20 |
Akademikisme | 707 | Orphism | 94 | Realisme romantis | 19 |
Gotik | 608 | Regionalisme | 93 | Hyperrealisme | 13 |
Neoklasikisme | 601 | Realisme analitik | 89 | Verisme | 11 |
Mannerisme | 544 | Naturalisme | 73 | Neo-primitivisme | 10 |
Modernisme | 539 | Neo-modernisme | 70 | Fantasi | 8 |
Realisme sosialis | 481 | Futurisme | 67 | Metarealisme | 7 |
| | | | Total | 106284 |
Kami dihadapkan dengan tugas mengklasifikasikan gambar, tetapi kami tidak dapat memilih fitur sederhana secara manual. Oleh karena itu, kami akan menggunakan pembelajaran dalam-mesin, di mana fitur-fitur rumit seperti itu secara otomatis diidentifikasi dalam proses pembelajaran.
Transfer belajar
Pertimbangkan jaringan awal v3.

Dalam arsitekturnya (dan dalam jaringan dalam lainnya), dua komponen utama dapat dibedakan secara kondisional - Feature Extractor dan Predictor.
Extractor Fitur memetakan gambar warna input ke dalam ruang fitur multi-dimensi (peta fitur multi-saluran). Peta fitur menyimpan informasi spasial - yaitu, ini adalah tensor tiga dimensi dengan dimensi untuk lebar, tinggi, dan jumlah saluran fitur, penggabungan akhir belum diterapkan di sini, yang akan sepenuhnya menghilangkan informasi tentang posisi relatif fitur dalam gambar asli. Inception v3 Feature Extractor network menerima 299 gambar input 299 3, dan pada output membentuk peta tanda-tanda ukuran 17 17 2048. Ukuran input dapat bervariasi, yang akan mengarah pada perubahan ukuran peta fitur dan mungkin berguna untuk mengurangi biaya komputasi ketika bekerja dengan jaringan.
Predictor adalah jaringan yang menghasilkan output berdasarkan peta fitur yang dihasilkan oleh Feature Extractor. Sebagai aturan, untuk tugas klasifikasi, Predictor adalah lapisan neuron yang terhubung penuh, jumlah output yang bertepatan dengan jumlah kelas masalah.
Pembelajaran transfer klasik mengasumsikan bahwa kita mengambil jaringan yang terlatih, memisahkan Extractor Fitur darinya, dan menambahnya dengan prediktor baru dengan jumlah kelas yang kita butuhkan. Jaringan yang dihasilkan dilatih pada kecepatan rendah dengan berat sebagian atau seluruhnya beku lapisan Feature Extractor.
Kami menerapkan pembelajaran transfer untuk mengklasifikasikan gaya. Ambil jaringan Inception-v3 yang dilatih pada set data imagenet dan ganti lapisan output neuron di dalamnya, yang mengklasifikasikan gambar input ke dalam jumlah gaya yang dipilih. Kami melatih jaringan pada gambar dengan gaya yang berbeda, membekukan pelatihan semua lapisan kecuali yang terakhir.
Untuk analisis data, kami menampilkan distribusi validasi yang ditetapkan oleh kelas.

Setiap baris sesuai dengan kelas dari set validasi. Kecerahan kotak di baris sebanding dengan jumlah gambar yang termasuk dalam kelas yang sesuai dengan kolom.
Untuk kejelasan yang lebih baik, kami mengecualikan diagonal utama dan menormalkan kembali nilai setiap baris.

Selain itu, kami akan mencoba memetakan distribusi gaya ke ruang dua dimensi menggunakan TSNE.

Dapat dilihat bahwa banyak kesalahan diamati, misalnya, dalam klasifikasi lukisan dengan gaya Fauvisme - sebagian besar dari mereka merujuk pada ekspresionisme oleh jaringan. Northern Renaissance dan Gothic sering disebut sebagai kebangkitan. Banyak gambar gaya dan klasisisme Rococo berhubungan dengan realisme. Modernisme dan modernitas umumnya jatuh ke dalam banyak gaya.
Setelah melemparkan skrip sederhana yang mem-parsing basis data pelatihan ke folder sesuai dengan gaya yang ditentukan oleh jaringan, kami melakukan analisis cepat terhadap kesalahan. Ternyata markup database setidaknya menimbulkan pertanyaan.
Banyak gambar dalam gaya modernisme (yang, meskipun ditandai oleh pelanggan sebagai wajib, tetapi secara umum itu bukan gaya, melainkan tren dalam seni secara keseluruhan) sebenarnya digandakan dalam gaya lain, terutama dalam modernisme (tapi ini sudah menjadi gaya).
Dalam gaya realisme sosialis, gambar-gambar abstrak hadir, misalnya, karya-karya Lissitzky. Kemungkinan besar, mereka sampai di sana berkat karya Lissitzky pada poster Soviet, yang memiliki hubungan yang sangat tidak langsung dengan realisme sosialis.
Dalam banyak hal, ini benar-benar kesalahan, tetapi kadang-kadang alasannya adalah debatabilitas masalah menyoroti beberapa gaya, terutama modern. Perlu mempertimbangkan bahwa basis data diisi dengan berbagai pengguna, dan di antara mereka kadang-kadang tidak ada konsensus.
Kesalahan dalam data menyebabkan kesalahan terkait dalam klasifikasi gambar oleh jaringan. Dalam proses pembersihan pangkalan, baik oleh kami dan kritikus ahli seni di pihak pelanggan, markup untuk sampel pelatihan meningkat secara signifikan.
Namun, sebagian besar kesalahan klasifikasi oleh jaringan (total) mengacu pada gaya yang kurang lebih mapan, seperti Rococo, klasisisme, realisme. Pengaitan karya dengan gaya-gaya ini, sebagai suatu peraturan, terjadi berdasarkan era atau kepenulisan dan, tampaknya, tidak menimbulkan keraguan dan perselisihan. Mengapa jaringan tidak dapat membedakan gaya mereka? Alasan utama terletak pada penggunaan jaringan pra-terlatih untuk mengekstraksi sifat.
Faktanya adalah bahwa jaringan ini dilatih untuk mengklasifikasikan objek, menentukan apa yang sebenarnya digambarkan, sementara membuang informasi yang tidak penting untuk tugas tentang bagaimana itu digambarkan. Misalnya, dari sudut pandang jaringan, dalam semua gambar di awal artikel, secara umum, seseorang digambarkan.
Untuk mengatasi masalah ini, kami membuat jaringan dengan output antara - diyakini bahwa tanda-tanda menjadi lebih sulit ketika mereka bergerak di sepanjang jaringan, dan informasi yang tidak penting menghilang secara bertahap. Mari kita coba mengekstrak dari lapisan menengah apa yang tidak penting untuk klasifikasi imagenet.

Ada masalah lain - grafik, cetakan, sketsa. Di imagenet, di mana jaringan awal dilatihkan sebelumnya, masing-masing tidak ada yang seperti ini, dan fitur yang disorot oleh jaringan tidak cocok untuk mengklasifikasikan gambar tersebut.
Di sisi lain, lukisan dengan gaya Ukiyo-e , semacam ukiran yang telah menyebar luas di Jepang sejak abad ke-17, telah digantung dengan indah di awan yang terpisah. Meskipun pada awalnya mereka tidak ada dalam daftar wajib kami, kami menambahkannya di sana.

Setelah bekerja dengan data, distribusi yang lebih baik di antara kelas-kelas dicapai.
Kami berurusan dengan genre
Dari total jumlah genre, 13 dipilih (disorot dengan huruf tebal)
Genre | jumlah |
---|
Adegan alegoris | 2500 |
Potret | 2308 |
Lansekap | 2213 |
Fantasi | 2191 |
Adegan sastra | 2096 |
Lansekap kota | 2048 |
Telanjang | 1981 |
Masih hidup | 1932 |
Adegan genre | 1736 |
Animalisme | 1587 |
Adegan agama | 1417 |
Adegan mitologis | 1368 |
Marina | 1210 |
Arsitektur | 958 |
Interior | 635 |
Adegan bersejarah | 534 |
Adegan pertempuran | 201 |
Zakli | 180 |
Veduta | 124 |
Lansekap kota | 16 |
Total | 27235 |
Pada dasarnya, pengurangan jumlah genre dicapai dengan mengurangi genre berbagai adegan - "religius", "mitologis", "alegoris", "sastra" dan menggabungkannya dengan nama umum "adegan genre". Kami sampai pada kesimpulan bahwa pemisahan genre ini hampir tidak dapat dilakukan dengan akurasi yang memadai tanpa analisis budaya yang signifikan.
Misalnya, untuk adegan alegoris, menurut definisi diasumsikan bahwa ada makna tersembunyi dalam gambar, penggunaan makna figuratif dalam objek yang digambarkan. Ada juga kesulitan dengan "adegan keagamaan": sangat mungkin bahwa jaringan yang dilatih untuk mengeluarkan kelas semacam itu juga akan memanggil mereka gambar karikatur (misalnya, memparodikan Perjamuan Terakhir Da Vinci), dan ini dapat menyinggung seseorang .
Markup data berdasarkan genre pada awalnya tampaknya baik, kecuali untuk beberapa genre yang ada beberapa gambar dalam database. Dengan mencari di internet, kami dapat sedikit memperluas jumlah gambar dalam genre (terutama adegan pertempuran, kuntul dan veduta).
Setelah menggabungkan genre yang sulit ke dalam "adegan bergenre" yang umum, kami segera mencoba untuk melatih jaringan "di dahi" menggunakan transfer jaringan pembelajaran awal.

Dapat dilihat bahwa titik-titik yang sesuai dengan gambar dari genre yang berbeda dicampur. Untuk gambar-gambar ini, jaringan memberikan nilai tinggi kemungkinan memiliki beberapa genre sekaligus, dan genre dengan probabilitas tertinggi ditentukan hampir secara tidak sengaja. Alasannya jelas karena genre, tidak seperti gaya, memiliki hierarki yang lebih jelas. Kami mencoba memahami koneksi ini, kami mendapat peta genre:

Genre subsider dan hierarki orang tua sering memiliki fitur-fitur umum dari sudut pandang jaringan (dan dari sudut pandang kami juga). Misalnya, adegan pertempuran di darat secara keseluruhan memiliki karakteristik yang sama dengan lanskap biasa - gambar area terbuka besar atau kota, dan adegan pertempuran di laut lebih mirip genre marina. Oleh karena itu, kami membagi genre adegan pertempuran menjadi dua - di darat dan di laut. Contoh lain: potret, adegan bergenre dan gambar telanjang dari sudut pandang jaringan pra-terlatih semua memiliki tanda umum - kehadiran orang.
Dalam basis data, gambar-gambar dari konten yang sama sering merujuk baik ke anak atau ke genre orang tua, tergantung pada di mana ditentukan oleh ahli yang membawa gambar ke database. Dalam hal ini, pembersihan skala besar dan pembagian ulang basis dilakukan dengan mempertimbangkan kemungkinan hierarki genre, yang membutuhkan banyak upaya (kami berhasil mengotomatisasi, tetapi tidak banyak).
Untuk mentransfer hierarki genre ke jaringan, kami meninggalkan pengiriman satu-panas dan mengatur unit untuk gambar tidak hanya dalam satu genre, tetapi juga di induknya, jika ada, dan juga menggantikan fungsi target dari proses pembelajaran dan fungsi mengaktifkan lapisan output . Dengan demikian, tugas menjadi klasifikasi Multilabel (gambar input dapat menjadi milik beberapa kelas).

Tampaknya bagi kita bahwa genre lain hilang di sini - abstraksi. Sebenarnya, ini bukan genre. Setidaknya para ahli bersikeras bahwa tidak ada genre seperti itu. Untuk mencegah jaringan memberikan jawaban acak ke gambar abstrak, satu lagi ditambahkan ke penguraian genre secara umum dengan nama "tidak dapat ditentukan," termasuk gambar abstrak dan kontroversial.
Alih-alih sebuah kesimpulan
Secara umum, dimungkinkan untuk mencapai akurasi yang memuaskan dalam klasifikasi gaya dan genre gambar, tetapi ada banyak yang harus ditingkatkan.
Sayangnya, klasifikasi gaya dan teknik belum selesai - dukungan tidak diterapkan dalam layanan.