
Hari ini, proyek Technosphere merayakan ulang tahun kelima. Inilah prestasi kami selama ini:
- Pelatihan diselesaikan oleh 330 lulusan.
- Kursus ini memiliki 120 siswa.
- Kelas diajarkan oleh 30 guru.
- Kurikulum memiliki 250 pelajaran dalam 16 disiplin ilmu.
- Murid melakukan 71 DZ.
- 8000 pengguna.
- Lebih dari 100 siswa memulai karir mereka di Grup Mail.ru.
Pada akhir pelatihan, siswa membuat proyek kelulusan mereka sendiri yang diberikan selama tiga bulan. Dan untuk menghormati ulang tahun kelima Technosphere, kami telah mengumpulkan karya-karya kelulusan paling cemerlang beberapa tahun terakhir. Lulusan sendiri akan bercerita tentang proyek mereka.
"Memori Terang"
Vsevolod Vikulin, Boris Kopin, Denis KuzminAwalnya, kami berencana untuk membuat layanan perbaikan gambar yang juga memungkinkan kami untuk mewarnai foto hitam putih. Ketika mendiskusikan proyek dengan mentor, muncul ide untuk memberi tahu tim OK tentang ide ini, dan sebagai hasilnya, mereka memutuskan untuk membuat aplikasi khusus dengan fungsi mewarnai foto-foto BW perang.
Untuk melakukan ini, kami harus merancang arsitektur jaringan saraf, membuat set foto yang sesuai untuk melatih model dan menjalankan aplikasi pada platform OK.
Kami mencoba banyak jaringan saraf yang sudah jadi, tetapi tidak ada yang memberikan kualitas yang diinginkan. Kemudian kami memutuskan untuk membuat milik kami sendiri. Pada tahap pertama, jaringan saraf mencoba untuk memprediksi gambar RGB pada saluran BW, tetapi hasilnya begitu-begitu, karena jaringan mencoba untuk mewarnai semuanya dalam nada abu-abu.
Contoh pengoperasian jaringan saraf asli.Kemudian kami memutuskan untuk menggunakan jaringan saraf pra-terlatih kedua.
Dengan bantuannya, kami dapat mengekstrak tanda-tanda baik dari foto warna asli, dan dari yang dilukis oleh jaringan saraf pertama. Jadi kami mengajarkan jaringan saraf kedua untuk memahami warna apa yang melekat pada benda-benda tertentu dalam kehidupan nyata: langit berwarna biru, rumput berwarna hijau, dan sebagainya. Untuk mengimplementasikan jaringan saraf, kami menggunakan kerangka Pytorch yang populer.
Arsitektur jaringan saraf baru.Tetapi hal utama adalah mengajarkan model bagaimana melukis wajah orang sealami mungkin. Kami dihadapkan dengan fakta bahwa di antara set data yang ada tidak ada yang cocok untuk tugas kami - kami membutuhkan foto wajah besar dengan latar belakang alami. Untuk membentuk rangkaian gambar kami sendiri, pertama-tama kami membuat daftar 5000 nama selebriti. Kemudian, nama-nama ini dicari gambarnya di berbagai mesin pencari. Menggunakan metode pengenalan wajah, gambar dihilangkan yang tidak mengandung wajah sama sekali, dan fragmen yang paling cocok disorot dalam foto-foto yang tersisa. Jadi kami mengumpulkan set diperlukan 600 ribu foto.
Selanjutnya datang tugas lukisan realistis seragam militer.
Untuk menyelesaikannya, saya harus membuat seragam militer secara artifisial dengan berbagai medali dan perintah. Selain itu, saya harus membuat beberapa film berwarna tentang perang.
Contoh foto dari set pelatihan.Menggabungkan semua ini dengan serangkaian foto tujuan umum yang populer, kami menerima 2,5 juta foto untuk pelatihan jaringan saraf.
Kami menyiapkan prototipe jaringan syaraf yang berfungsi dan mulai mengembangkan aplikasi pada platform OK. Ini adalah aplikasi web standar dengan backend dan frontend. Kami bertanggung jawab atas backend, dan tim OK mengambil alih frontend. Secara realistis mengevaluasi sumber daya yang tersedia, kami memutuskan bahwa akan lebih rasional untuk menggunakan arsitektur proyek Artisto saat ini.
Untuk melakukan ini, kami porting kode jaringan saraf ke kerangka Lua Torch dan menerapkannya di lingkungan.
Antarmuka aplikasi OK.Pada 9 Mei, aplikasi kami menjadi tersedia bagi teman sekelas Odnoklassniki yang bernilai jutaan dolar, beberapa media besar menulis tentang hal itu, dan saat ini 230 ribu orang menggunakan layanan ini. Sangat sulit untuk mengimplementasikan proyek dalam waktu yang singkat, tetapi kami mengelola semuanya. Banyak terima kasih kepada mentor kami Olga Schubert dan Alexei Voropaev, yang membantu kami dengan integrasi ke dalam OK. Kami juga berterima kasih kepada Grup Pengembangan Infrastruktur dari Mail.ru. Mencari bantuan dengan integrasi ke dalam proyek Artisto, dan secara terpisah Dmitry Solovyov untuk saran yang sangat berharga pada arsitektur jaringan saraf.
"Peta Musik"
Vladimir Bugaevsky, Dana Zlochevskaya, Ralina Shavalieva

Gagasan proyek ini disarankan kepada kami oleh mentor Aleksey Voropaev dan Dmitry Solovyov. Sekali waktu ada pemain Sony yang mampu mengklasifikasikan lagu sesuai dengan empat suasana hati. Hari ini, teknologi telah mengambil langkah besar ke depan, kecerdasan buatan dan jaringan saraf secara aktif berkembang, dan kami menyadari bahwa kami dapat melakukan sesuatu yang lebih dingin yang diinginkan pengguna kami - kartu musik yang akan memvisualisasikan suasana rekaman audio pengguna VK. Dan mereka memutuskan untuk menerapkannya sebagai ekstensi untuk Chrome - mudah untuk menginstal dan nyaman digunakan.
Secara alami, kami mulai dengan mengeksplorasi pendekatan yang sudah digunakan untuk menentukan suasana musik. Setelah menonton sekitar selusin artikel ilmiah, kami menyadari bahwa hampir tidak ada yang mencoba menggunakan jaringan saraf untuk menganalisis emosi rekaman audio.
Kesulitan lain bagi kami adalah tugas memvisualisasikan emosi. Ternyata dalam psikologi ada banyak model untuk mewakili suasana hati manusia, yang masing-masing memiliki kelebihan dan kekurangan. Kami menetap pada apa yang disebut model spasial sirkumplex: idenya adalah bahwa setiap emosi dapat direpresentasikan sebagai titik dalam ruang dua dimensi. Berkat skala ini, kami dapat memvisualisasikan suasana rekaman audionya dengan cara yang dapat dimengerti oleh pengguna.
Kami mengidentifikasi tiga bidang pekerjaan pada aplikasi:
- Bagian server akan menerima permintaan ekspansi, membuat spektrogram, membuat prakiraan dan mengembalikannya kepada pengguna.
- Bagian pengguna yang dengannya orang tersebut akan berinteraksi.
- Pelatihan jaringan saraf: mempersiapkan set pelatihan, memilih arsitektur jaringan dan proses pembelajaran itu sendiri.
Lingkup pekerjaannya sangat besar, sehingga semua orang bisa mencoba sendiri dalam segala hal. Tim kami bertindak sangat kohesif: kami terus-menerus menemukan cara yang berbeda untuk menyelesaikan masalah tertentu dan saling membantu menemukan fitur penerapan bagian-bagian individual. Kesulitan utama yang kami temui adalah tenggat waktu yang sangat ketat yaitu tiga bulan. Selama ini, kami harus memahami dari awal pengembangan frontend (belajar menulis dalam JavaScript), seluk-beluk kerangka kerja untuk melatih jaringan saraf (PyTorch) dan menguasai teknologi pengembangan modular (Docker). Sekarang aplikasi kami bekerja dalam mode uji untuk beberapa pengguna.
“Pewarnaan Video untuk Profesional”
Yuri Admiralsky, Denis Bibik, Anton Bogovsky, George Kasparyants

Gagasan proyek muncul sebagai hasil dari analisis tren modern dalam pengembangan jaringan saraf untuk memecahkan masalah grafis komputer dan pemrosesan konten multimedia. Beberapa pendekatan berbeda untuk mewarnai gambar individu telah diusulkan di bidang ini, masalah ini muncul, misalnya, saat memproses foto arsip lama. Di sisi lain, keberhasilan versi berwarna film Soviet hitam dan putih telah menunjukkan relevansi tugas pewarnaan video. Mewarnai video secara manual, bingkai demi bingkai, adalah tugas yang sangat memakan waktu, solusinya membutuhkan keterlibatan studio profesional. Dan dari para pengguna yang ingin mendapatkan versi warna dari video lama mereka, hanya sedikit yang memiliki keterampilan yang diperlukan dan memiliki cukup waktu untuk pewarnaan manual, belum lagi uang untuk menyelesaikan tugas seperti itu dengan bantuan tim profesional dari studio video. Oleh karena itu, kami memutuskan untuk mencoba menerapkan pendekatan terkenal untuk pewarnaan dan membuat program editor untuk secara signifikan mengurangi kompleksitas video pewarnaan menggunakan jaringan saraf.
Tugas utama yang harus dipecahkan ketika mengembangkan program semacam itu adalah untuk mendapatkan warna yang tepat saat melukis objek dalam bingkai. Kita dihadapkan dengan fakta bahwa set data klasik (misalnya, ImageNet) yang digunakan dalam pelatihan jaringan saraf untuk memecahkan masalah pemrosesan gambar tidak memungkinkan kita untuk mencapai pewarnaan otomatis yang baik (tanpa informasi tambahan). Sebagai contoh, beberapa objek dalam bingkai tidak dikenali dan tetap hitam dan putih dalam gambar berwarna. Masalah lain dari model mutakhir adalah pilihan warna yang salah untuk objek lukisan - baik karena tugas yang tidak ditentukan (pewarnaan pakaian), dan sebagai akibat dari definisi objek langka yang salah, serta objek yang dipengaruhi oleh artefak kompresi. Saat mengganti bingkai, perubahan warna diamati pada pewarnaan objek yang ada dalam bingkai karena ketidakstabilan model terhadap perubahan kecil dalam bingkai.
Untuk mengatasi masalah ini, kami menerapkan metode
isyarat warna lokal , yang memungkinkan kami untuk mencapai penetapan warna yang benar untuk seluruh objek dan mengoreksi transisi warna dengan mengatur warna masing-masing titik objek. Pada saat yang sama, jaringan saraf selama pewarnaan mengontrol ketaatan pada batas objek dan transisi kecerahan. Pendekatan ini memungkinkan kami untuk mengurangi kesulitan pewarnaan frame individu (perlu untuk secara eksplisit mengatur warna hanya poin individu pada frame, tanpa menggunakan kuas), dan membantu menyelesaikan masalah underdetermination dan perubahan warna ketika berpindah antar frame. Selain itu, kami telah menerapkan model yang memungkinkan Anda melacak pergerakan objek dalam bingkai dan memindahkan petunjuk warna. Menggunakan program editor kami, kami mewarnai sebuah fragmen dari film lama hitam dan putih
The Kid .

Contoh bingkai yang dilukis dari film Chaplin The Kid (1921).Kami menerapkan editor dalam bentuk aplikasi mandiri klien, ke mana video dimuat, dan kemudian frame ditandai menggunakan tips warna. Anda dapat menghitung model pewarnaan pada mesin lokal, atau pada daya komputasi pihak ketiga (misalnya, menyebarkan bagian server di cloud) untuk memproses video lebih cepat.
Untuk membuat editor, kami melakukan banyak pekerjaan, termasuk menguji dan menyelesaikan model untuk mewarnai dan melacak objek bingkai, mengembangkan arsitektur client-server untuk aplikasi, dan mencari tahu kegunaan aplikasi klien. Kami mempelajari seluk-beluk bekerja dengan kerangka kerja PyTorch yang mengimplementasikan kerja jaringan saraf, menguasai kerangka kerja Qt 5 untuk mengembangkan aplikasi klien, dan mempelajari cara menggunakan Django-REST dan Docker untuk mengembangkan dan menggunakan backend komputasi.
Contoh aplikasi klien.Terima kasih kepada para guru Technosphere untuk pekerjaan khusus mereka, untuk pengetahuan yang relevan yang Anda berikan kepada siswa. Kami berharap proyek ini tumbuh dan berkembang!
* * *
Anda dapat mendaftar untuk pelatihan hingga 10:00 pada 16 Februari di
sphere.mail.ru . Harap dicatat bahwa hanya siswa dan mahasiswa pascasarjana dari Universitas Negeri Moskow yang dapat belajar di Technosphere. M.V. Lomonosov.