Balet dan robot

Video mekar di bawah tenda



Saya terus berbicara tentang hobi saya yang tidak biasa. Hobi saya adalah transformasi algoritmik video hitam putih kuno menjadi materi yang terlihat modern. Pekerjaan pertama saya dijelaskan dalam artikel ini . Waktu telah berlalu, keterampilan saya telah meningkat, dan sekarang saya tidak menertawakan meme "Zoom and enhance" .





Hiburan mungkin tampak aneh, tetapi memang benar bahwa itu menyenangkan. Mungkin kemampuan menjadi penyihir yang mengubah abu masa lalu menjadi api dengan bantuan technomagic, atau mungkin alasannya adalah banyak teka-teki intelektual yang tidak memiliki solusi siap pakai, mungkin itu adalah kompensasi untuk kurangnya ekspresi diri yang kreatif, mungkin semuanya bersama-sama. Dengan setiap video baru, prosesnya menjadi ditumbuhi detail, jumlah alat dan skrip pihak ketiga yang terlibat bertambah.



Perlu diklarifikasi bahwa kita tidak berbicara tentang restorasi dan pewarnaan manual, yang membutuhkan banyak orang India dan kilogram, tetapi tentang penggunaan algoritma autotune (sering disebut sebagai "AI", "jaringan saraf").



Dulu karya saya sedikit lebih baik dalam kejelasan dan warna daripada karya serupa dari amatir lainnya, tetapi sekarang gudang alat yang digunakan telah berkembang sedemikian rupa sehingga kualitas hasil akhir hanya bergantung pada waktu yang diinvestasikan.



Cerita kecil



Dari luar, proses pemudaran warna video secara otomatis tidak dianggap sebagai sesuatu yang muluk-muluk, karena jelas bahwa cukup mengunduh program tertentu dan memasukkan rekaman video ke dalamnya, dan semua pekerjaan kompleks telah dilakukan. oleh orang yang merancang algoritme pemudaran warna dan menghabiskan listrik untuk pelatihan.



Biarkan saya memberi tahu Anda sekarang tentang bagaimana algoritme pemudaran warna Deoldify yang revolusioner muncul . Bahkan jika Anda menyukai pembelajaran mesin, bukanlah fakta bahwa Anda tahu siapa Jeremy Howard . Karir profesionalnya dimulai sebagai konsultan yang disewa, 20 tahun yang lalu ia terlibat dalam apa yang sekarang disebut Ilmu Data, yaitu mengekstraksi keuntungan dari data menggunakan matematika.



Penjualan beberapa perusahaan rintisan membuatnya berpikir untuk secara sengaja memberikan kontribusi positif bagi perkembangan umat manusia. Setelah pindah ke Dolina, ia bergabung dengan kerumunan spesialis pembelajaran mesin papan atas, dan pada 2011 ia menjadi peserta terbaik dalam kompetisi Kaggle.



Titik balik besar terjadi pada tahun 2014, ketika proyeknya untuk secara otomatis mendeteksi kelainan medis pada radiografi menunjukkan hasil yang melampaui kualitas kerja dokter berpengalaman. Pada saat yang sama, proyek tersebut tidak mewakili sesuatu yang muluk dalam hal sumber daya intelektual dan material yang diinvestasikan, dan pelatihan terakhir dilakukan pada malam sebelum presentasi. Proyek kerja yang khas, yang dengan keberadaannya melambangkan titik transisi dalam kemajuan teknis.



gambar


Jeremy memiliki pemahaman yang jelas bahwa alat yang kuat seperti itu dapat menjadi sumber pertumbuhan di bidang apa pun. Masalah utama adalah (dan) bahwa jumlah spesialis dalam sistem belajar mandiri tidak sebanding dengan jumlah proyek di mana kemampuan mereka dapat digunakan. Dari sudut pandangnya, akan jauh lebih efektif untuk memberikan alat ini kepada semua orang. Ini adalah bagaimana proyek Fast.Ai muncul , yang merupakan simbiosis dari kode dan kursus pelatihan. Kode di satu sisi membuat Pytorch lebih mudah digunakan (alat untuk membangun algoritme pembelajaran mesin), dan di sisi lain, ini berisi banyak teknik siap pakai yang digunakan para profesional untuk meningkatkan kecepatan dan kualitas pembelajaran. Kurikulum disusun dari atas ke bawah, pertama-tama siswa belajar menggunakan pipeline yang sudah ada, kemudian Jeremy menunjukkan bagaimana setiap elemen pipeline dapat ditulis dari awal, dimulai dengan demo langsung di lembar Excel dari algoritma kunci di belakang semua Pembelajaran Mendalam. Tujuan dari proyek Fast.Ai adalah untuk mengajar spesialis dari bidang apa pun untuk memecahkan masalah tipikal pada arsitektur tipikal (tentu saja, jika Anda memiliki keterampilan pemrograman). Keajaiban tidak terjadi, tingkat keterampilan setelah pelatihan seperti itu tidak melebihi tingkat "kati bulat - vert persegi", tetapi bahkan ini cukup untuk menyelesaikan masalah pekerjaan di tingkat baru, tidak dapat diakses oleh rekan kerja.



Dalam tutorial Fast.Ai, salah satu topik dikhususkan untuk penggunaan arsitektur UNet , yang difokuskan pada reinterpretasi gambar. Misalnya, arsitektur ini dapat dilatih untuk menghasilkan foto realistis dari gambar yang diambil dengan imager termal, atau untuk kontras anomali dalam gambar. Secara umum, arsitektur seperti itu, dengan bentuk dan propertinya yang diketahui, memungkinkan untuk memprediksi keberadaan properti dalam bentuk, identifikasi yang merupakan tujuan pelatihan.



gambar


Sebagai pekerjaan rumah, siswa kursus didorong untuk menggunakan UNet untuk memecahkan masalah yang menarik. Jason Antic tertentu menjadi tertarik untuk mengubah foto hitam putih menjadi warna. Eksperimennya menunjukkan bahwa arsitektur seperti itu menghasilkan hasil yang memadai dan ada potensi yang signifikan untuk pengembangan lebih lanjut. Ini adalah bagaimana proyek Deoldify lahir, yang, dengan bantuan Jeremy Howard sendiri, tumbuh menjadi produk jadi dan akhirnya meledakkan Internet. Penulis membuat versi pertama tersedia untuk semua orang, dan dia sendiri mulai mengembangkan versi komersial tertutup, yang dalam bentuk terbatas dapat digunakan pada proyek silsilah MyHeritage.com (memerlukan pendaftaran, beberapa foto gratis).



gambar


โ– ยซ ยป



Masalah utama dengan proyek pembelajaran mesin sumber terbuka yang canggih adalah bahwa keramahan pengguna biasanya berada di sebelah kiri nol. Penulis proyek berfokus pada jalur pembelajaran, ia membutuhkan hasil algoritme semata-mata untuk presentasi kepada masyarakat, yang normal, karena tujuan proyek tersebut adalah promosi diri dan kontribusi untuk penelitian. Penyelesaian proyek sendiri oleh pengguna adalah norma. Agar tidak jauh: sebelum memproses video, itu harus di-decode, diproses setiap frame dan kompresi yang dihasilkan menjadi file video, jika satu video diproses dengan beberapa alat, maka setelah kompresi berturut-turut Anda dapat melupakan kualitasnya. Setiap alat baru harus dikerjakan ulang untuk bekerja dengan setumpuk gambar.Tetapi bagaimana jika pada alat di tingkat pipa penggunaan tidak lebih dari 8 frame per run disematkan? Algoritma ini cukup untuk demonstrasi, tetapi tidak untuk tujuan praktis. Anda harus menulis pembungkus eksternal untuk menjalankannya beberapa kali, karena kecil kemungkinan Anda dapat mengubah saluran pipa orang lain tanpa kehilangan kompatibilitas dengan keadaan algoritme yang telah dilatih sebelumnya. Dan, tentu saja, penulis akademis tidak terlalu peduli dengan optimasi. Ada satu proyek yang menolak untuk bekerja dengan gambar yang lebih besar dari kotak korek api, setelah optimasi mulai membutuhkan memori video 5 kali lebih sedikit dan sekarang dapat menangani FullHD.bahwa dimungkinkan untuk mengubah saluran orang lain tanpa kehilangan kompatibilitas dengan keadaan algoritme yang telah dilatih sebelumnya. Dan, tentu saja, penulis akademis tidak terlalu peduli dengan optimasi. Ada satu proyek yang menolak untuk bekerja dengan gambar yang lebih besar dari kotak korek api, setelah optimasi mulai membutuhkan memori video 5 kali lebih sedikit dan sekarang dapat menangani FullHD.bahwa dimungkinkan untuk mengubah saluran orang lain tanpa kehilangan kompatibilitas dengan keadaan algoritme yang telah dilatih sebelumnya. Dan, tentu saja, penulis akademis tidak terlalu peduli dengan optimasi. Ada satu proyek yang menolak untuk bekerja dengan gambar yang lebih besar dari kotak korek api, setelah optimasi mulai membutuhkan memori video 5 kali lebih sedikit dan sekarang dapat menangani FullHD.



Anda dapat membuat daftar kusen yang telah ditemukan untuk waktu yang lama, cukup untuk memikirkan fakta bahwa instalasi perpustakaan instrumental diperlukan untuk algoritma apa pun untuk bekerja, kadang-kadang mungkin diperlukan 2-3 hari percobaan sebelum perpustakaan berhenti bertentangan satu sama lain (bahkan jika ada daftar versi yang tepat, ada banyak alasan mengapa harus google untuk waktu yang lama).



Satu menit keindahan



Memilih bahan untuk pewarnaan tidaklah mudah. Di satu sisi, kontennya harus menarik bagi saya, di sisi lain, film iklan panjang perusahaan Diesel, jenuh dengan detail teknis, tidak mungkin menarik minat khalayak luas, di sisi ketiga, ada batasan dalam pilihan karena hak cipta. Pilihan baru datang dari memori atau dari pencarian catatan tertentu. Karya terakhir saya didedikasikan untuk balerina Rusia Anna Pavlova. Cukup telah ditulis dan dikatakan tentang dia, banyak foto telah bertahan, tetapi karena aktivitas profesionalnya dikaitkan dengan pergerakan dalam ruang dan waktu, saksi yang paling menarik adalah filmnya. Sayangnya, beberapa catatan yang masih hidup tidak diketahui oleh masyarakat umum, dan apa yang sekarang sedang dicari adalah kualitas yang benar-benar menjijikkan. Yang menarik dari sosok Anna Pavlova,jadi itu benar-benar angka. Dia dapat dianggap sebagai prototipe standar balerina modern, mungkin tidak akan menjadi penemuan bagi Anda bahwa, pada akhir abad ke-19, ketipisan masih secara kolektif dianggap sebagai tanda penyakit atau kemiskinan, tentu saja, di kalangan orang kaya ada tokoh yang berbeda, tetapi secara umum, kegemukan dianggap sebagai penanda kehidupan yang sukses. Wanita yang penuh dengan kesehatan sering tampil di panggung teater, inilah foto tiga bintang saat itu.Wanita yang penuh dengan kesehatan sering tampil di panggung teater, inilah foto tiga bintang saat itu.Wanita yang penuh dengan kesehatan sering tampil di panggung teater, inilah foto tiga bintang saat itu.



gambar


Dalam salah satu karya saya, Anda bahkan dapat melihat tampilannya. Penonton yang tidak memiliki pemahaman sejarah yang baik hampir tidak menganggap serius gambaran seperti itu, meskipun penghuni planet kita yang paling maju pasti akan menemukan hal positif di sini.





Kembali ke Anna Pavlova: ada beberapa film yang menggambarkan balerina dalam tarian. Mereka ada dalam kualitas yang baik, tetapi mereka tidak tersedia untuk umum. Tetapi selama pencarian, yang mengejutkan saya, saya menemukan seluruh film panjang di mana balerina kami memainkan peran utama. Di awal film, disisipkan angka dengan tarian yang tidak ada hubungannya dengan plot, jadi cukup tepat untuk menganggapnya sebagai video terpisah yang sedang saya kerjakan.



Masalah di awal



Decode video asli menjadi serangkaian file PNG. Kami melihat gambar yang dihasilkan dan melihat bahwa ada bingkai yang mengulangi yang sebelumnya.



gambar


Ini adalah cerita standar, karena pada awal sinematografi, kecepatan pengambilan gambar 12-19 frame per detik (selanjutnya disebut fps) digunakan untuk menyimpan film. Di era analog selanjutnya, ketika 99% footage adalah 24-25 fps, kaset lama disalin frame-to-frame, menghasilkan pemutaran yang lebih cepat. Oleh karena itu, dalam benak mayoritas, kronik lama sangat terkait dengan pria kecil yang terburu-buru. Yang benar adalah bahwa film asli hitam putih dapat dipertahankan dengan sangat baik, bahkan lebih baik daripada yang berwarna, dan memiliki resolusi antara DVD dan FullHD. Semua yang dapat Anda lihat dalam banyak kasus hanyalah salinan jelek, dipotret ulang dari proyeksi ke layar. Meskipun banyak film yang bertahan hanya pada salinan tersebut (kerugian karena faktor manusia), jumlah asli yang bertahan masih signifikan.Hanya beberapa orang terpilih yang memiliki akses ke dokumen asli, untungnya, saat ini pemrosesan gambar komputer memungkinkan replikasi tak terbatas dari salinan salinan asli berkualitas tinggi yang dipindai, membersihkan cacat dan mereproduksi materi pada kecepatan bingkai normal.



Ada dua masalah terpisah dengan frame rate rendah. Pertama, ini tidak standar, jika kecepatan pemutaran apa pun dapat digunakan di komputer pribadi, maka ada banyak kasus di mana perlu untuk mematuhi kisaran 24-30 fps. Cara termudah untuk memperbaiki frame rate adalah dengan mengulang yang terakhir setiap 3-4 frame. Pada saat yang sama, kecepatan gerakan objek menjadi alami, tetapi gambarnya dianggap tidak stabil, ini sebenarnya masalah kedua. Pada tahun 2021, teknologi akan memungkinkan Anda membuat gambar yang halus dengan menginterpolasi bingkai. Teknologi interpolasi bingkai di TV dan pemutar video perangkat lunak mulai ditemukan sekitar tahun 2005. Karena algoritma matematika, dua gambar yang berdekatan dicampur sehingga selama pemutaran ada perasaan gerakan halus dalam bingkai. Ini bekerja dengan baik untuk 24 fps,karena perbedaan antara frame jarang signifikan. Tetapi untuk 12-19 fps, algoritma seperti itu tidak cocok: mereka menggambar gambar ganda buram atau artefak gila. Masalah ini lebih berhasil diselesaikan dengan algoritma belajar mandiri yang mampu mengingat dengan tepat cara menggambar gambar perantara untuk gerakan yang berbeda dari berbagai jenis objek.



Dalam rilis ulang modern film era film bisu, penggunaan interpolasi belum digunakan, masing-masing, ada bingkai berulang di video kami, dan jika tidak dihapus, maka ketika datang ke interpolasi bingkai, itu akan berubah keluar menjadi omong kosong, yang berarti perlu untuk menghapus yang tidak perlu.



Putaran tak terduga



Hapus ini dengan pena - Anda akan disiksa, berenang, kami tahu. Kami menjalankan skrip untuk mendeteksi bingkai yang identik, skrip jatuh dengan kesalahan "Banyak kecocokan berturut-turut". Dan, tentu saja: bingkai terlalu gelap, pencarian mengumpulkan bingkai yang sama dan berbeda menjadi satu tumpukan. Jalankan skrip normalisasi rentang dinamis, yang secara otomatis membuat batas kontras, hitam mengarah ke hitam, putih menjadi putih, dan kemudian kembali ke tempat nuansa abu-abu yang hilang selama manipulasi tersebut.



gambar


Kami memulai pencarian duplikat lagi, prosesnya sekarang lebih percaya diri, tetapi setelah menghapus bingkai yang tidak perlu, sesuatu yang baru ditemukan. Dengan beberapa periodisitas, ada pengulangan frame dalam urutan terbalik. Kami meluncurkan video asli dan menonton dengan hati-hati, wow, mereka benar-benar menggunakan trik yang menggunakan inersia penglihatan, dan gambarnya dianggap kurang tegang dibandingkan dengan bingkai duplikat biasa.



gambar


gambar


Kami mengubah skrip dari mencari bingkai identik dalam satu baris menjadi mencari bingkai identik melalui satu perantara . Kami memeriksa hasilnya - lagi-lagi kejutan: ada pengulangan dalam dua bingkai. Setelah memeriksa skrip versi ketiga, kejutan berakhir.



Masalah menghapus bingkai ekstra tiba-tiba menjadi sangat serius. Pada kegelapan dan tidak jenuh dengan detail seperti itu, Anda tidak dapat mempercayai pencarian otomatis untuk duplikat, itu akan membuat kesalahan berulang kali, melewatkan yang tidak perlu dan menghapus yang diperlukan. Kami menjalankan pencarian untuk semua jenis pengambilan pada episode lain dari film, di mana jumlah kesalahan akan minimal. Dalam kasus pengulangan sederhana, dengan menyorot pengambilan di pengelola file, Anda dapat memahami skema pengulangan dan menghapus file yang tidak perlu secara terprogram.



gambar


Dalam hal ini, pola periodik terlihat acak, potongan-potongan kecil berulang, tetapi pada umumnya esensinya tidak jelas. Jadi apa sekarang? Baik mengabaikan seluruh ide, atau membalikkan algoritma pengulangan.



Mengubah skrip pencarian duplikat, sekarang label akan ditambahkan ke nama file tergantung pada jenis duplikasi. Kami mentransfer seluruh daftar file ke Excel dan hanya meninggalkan label, mengubah kolom menjadi satu baris dan terbang keluar dari jumlah kolom yang diizinkan, sekarang kami harus membaginya menjadi dua lembar. Kami menyorot bingkai duplikat dari jenis yang sama dalam satu warna, yang memungkinkan kami menggunakan penganalisis templat biologis.



gambar


Pengulangan pendek dikelompokkan. Kami memeriksa seberapa akurat grup panjang diulang. Kelompoknya serupa, tetapi ada sedikit perbedaan. Ini adalah kegagalan. Ada beberapa kemungkinan alasan untuk gambar ini: perubahan acak sengaja dibuat, atau beberapa algoritma untuk menyelesaikan bingkai digunakan, atau konten bingkai diperhitungkan, atau metode ini menggunakan fungsi non-intuitif. Menulis urutan pengulangan yang lebih lama untuk kalkulus terasa seperti berlebihan.



gambar


Anda harus menghilangkan kebisingan dengan tangan Anda menggunakan sampel. Kami menjalankan skrip pencarian duplikat pada episode yang menarik bagi kami, dan memuat urutan bingkai ke Excel, melukis, dan menyisipkan templat dengan urutan panjang di sebelahnya. Kami meletakkan tanda di tempat yang tampaknya tidak ambigu, kami menghapus tanda yang salah. Kemudian kami menebak di mana bingkai seharusnya, dan sekarang sebagian besar gambar dipulihkan. Ada beberapa tempat yang tidak jelas tersisa. Kami meletakkan tanda persis sesuai dengan templat atau dengan intuisi. Tentu saja, di suatu tempat akan ada kesalahan, tetapi di suatu tempat kita akan menemukan diri kita sendiri bahwa dengan latar belakang umum dari urutan yang benar itu tidak lagi kritis, terutama karena dalam kronik lama hampir selalu beberapa bingkai hilang, dan dalam hal ini tidak membuat akal untuk memeras ideal mutlak.



gambar


Menggunakan daftar terakhir, kami menghapus yang tidak perlu, periksa dan voila, masalahnya sepertinya diselesaikan dengan 9 dari 10.



gambar


โ–



Ini diikuti oleh 17 operasi ilmu hitam, di mana 17 folder terbentuk pada disk yang berisi bingkai video setelah setiap manipulasi. Selain perubahan warna itu sendiri, koreksi otomatis dari bingkai yang berubah warna tidak berhasil dilakukan, peningkatan yang signifikan dalam kejelasan gambar, gambar yang dipulihkan kembali ke "analogi" (untuk menghilangkan perasaan Photoshop), untuk semua ini, 5 alat peningkatan gambar yang berbeda digunakan, saling berhubungan dengan skrip, yang dituangkan bolak-balik luminance dan saluran warna. Nama-nama alat akan tetap menjadi rahasia profesional saya, maaf, terlalu banyak pekerjaan dan waktu yang dihabiskan untuk mengumpulkan kebun binatang ini dan memodifikasinya. Ketika saya melihat hasil Deoldify 2, menjadi jelas bagi saya bahwa keinginan saya untuk menjadi yang terbaik di bidang ini tidak ada artinya,tidak peduli seberapa keren saya memeras persentase kualitas, setiap algoritma baru yang serupa terkadang melampaui yang lama. Saya berhenti memudar dan terjun ke Machine Learning dengan tujuan menyusun Deoldify saya, tetapi kemudian serangkaian peristiwa terjadi yang mengalihkan perhatian saya dari tujuan ini. Akibatnya, saya menggabungkan beberapa proyek yang sudah jadi ke dalam proses umum, yang hasilnya entah bagaimana menggantikan algoritme pewarnaan saya yang gagal. Mungkin di artikel berikutnya saya akan memberi tahu Anda cara menggunakan pewarna dari Google, jika Anda dapat mengekang selera memorinya, akan ada kode dan detailnya.Akibatnya, saya menggabungkan beberapa proyek yang sudah jadi ke dalam proses umum, yang hasilnya entah bagaimana menggantikan algoritme pewarnaan saya yang gagal. Mungkin di artikel berikutnya saya akan memberi tahu Anda cara menggunakan pewarna dari Google, jika Anda dapat mengekang selera memorinya, akan ada kode dan detailnya.Akibatnya, saya menggabungkan beberapa proyek yang sudah jadi ke dalam proses umum, yang hasilnya entah bagaimana menggantikan algoritme pewarnaan saya yang gagal. Mungkin di artikel berikutnya saya akan memberi tahu Anda cara menggunakan pewarna dari Google, jika Anda dapat mengekang selera memorinya, akan ada kode dan detailnya.



Untuk menyelesaikan pekerjaan pada video, Anda perlu mencoba melepas kusen, untuk ini pemanen video Davinci Resolve profesional paling cocok . Jika Anda membuka gambar berikutnya secara terpisah, Anda dapat melihat jumlah elemen dalam rantai retouching. Desain ini membuat latar belakang menjadi hitam, membawa warna lebih dekat ke alam, bertarung dengan warna yang tidak perlu, menciptakan tiruan sinar sorotan (menyembunyikan jejak kecil menggunakan koreksi).



gambar


Tetap melakukan interpolasi bingkai, peningkatan kosmetik ke 2K, dan sekarang video kami siap. Gambar aslinya terlalu gelap dan tidak perlu mengharapkan keajaiban, tetapi sekarang mungkin untuk mempertimbangkan gerakan halus dari sosok penari yang jelas.



Film itu sendiri berisi banyak adegan dengan gambar yang relatif bagus, yang memungkinkan untuk menilai seberapa banyak pemrosesan algoritmik dapat meningkatkan gambar. Bingkai resolusi 2K terlalu besar untuk artikel, oleh karena itu, bingkai akhir yang dikurangi 2 kali disisipkan di sebelah bingkai penuh dari gambar asli.



gambar


kembalikan gambarnya


gambar


gambar


gambar


Hasil



Plot tari berisi 1251 frame (sebelum interpolasi), pengerjaannya memakan waktu 5 hari .

Musik ditambahkan dari perpustakaan musik gratis Youtube.



Film ini berisi 1960 frame (sebelum interpolasi), 14 hari diproses (hanya algoritma, retouching manual tidak diterapkan). Dengan musik lebih sulit di sini, pada awalnya ada versi yang dirangkai dari potongan opera, yang menjadi dasar skrip film, tetapi karena hak cipta tidak mungkin untuk menerbitkan versi ini, saya harus menggunakan komposisi yang sesuai dari perpustakaan pertama ditemukan, mereka mengatakan itu ternyata lebih baik daripada yang pertama kali.



Karakteristik komputer: AMD Ryzen 3 1200, RAM 4GB, GTX 1060 3GB



- Tautan ke karya saya:



Youtube Not.



Rutube Not.



Instagram

Ps Saya tidak bisa menolak, saya mewarnai.





All Articles