OpenCV 5 Telah Hadir - Pembaruan Terbesar Sejak 2018 (Kami Telah Mengujinya)
BBetter Stack
컴퓨터/소프트웨어사진/예술AI/미래기술
스크립트
00:00:00Jadi kita semua tahu OpenCV, kan? Ini adalah pustaka visi komputer utama yang telah digunakan semua orang untuk
00:00:07mengubah ukuran gambar, mendeteksi objek, dan melakukan semua jenis tugas visi komputer. Dan itu baru saja
00:00:13mendapatkan pembaruan rilis besar pertama sejak 2018. Dan ini adalah pembaruan besar. OpenCV5 memiliki
00:00:21mesin deep learning baru yang dapat menjalankan YOLO. Ia juga dapat melakukan in-painting gaya stable diffusion dan
00:00:27bahkan menjalankan model bahasa visi penuh secara asli tanpa PyTorch, tanpa runtime ONNX, dan tidak ada hal lain
00:00:35yang ditambahkan. Jadi di video hari ini, kita akan membahas apa saja yang sebenarnya baru di OpenCV5, lalu kita akan menguji
00:00:41fitur-fitur baru itu sendiri dengan beberapa demo keren yang berjalan secara lokal di mesin saya sendiri. Ini akan menjadi
00:00:47sangat menyenangkan, jadi mari kita bahas. Jadi pertama-tama, inilah mengapa pembaruan ini sangat penting.
00:00:57OpenCV ada di mana-mana. Ia memiliki lebih dari 86.000 bintang di GitHub, lebih dari satu juta instalasi per hari, dan
00:01:05selama dua dekade, telah menjadi fondasi untuk robotika dan AR serta teknik medis, inspeksi industri,
00:01:11pada dasarnya perangkat lunak apa pun yang memiliki aspek visi komputer di dalamnya. Dan untuk
00:01:17delapan tahun terakhir, semua orang telah membangun di jalur versi 4 yang sama. Jadi perubahan versi besar di sini
00:01:24benar-benar sangat besar. Dan fitur utama dari versi baru ini adalah penulisan ulang lengkap modul DNN,
00:01:32dan itu adalah bagian dari OpenCV yang menjalankan jaringan saraf. Jadi inilah angka terpenting untuk diperhatikan.
00:01:38Di OpenCV4, mesin DNN hanya mendukung sekitar 22% operator ONNX. ONNX adalah format standar
00:01:47yang Anda ekspor modelnya ketika Anda ingin menjalankannya di tempat lain selain kerangka kerja tempat Anda melatihnya.
00:01:53Dan cakupan 22% berarti seringkali, Anda akan mengambil model modern, mencoba memuatnya, dan
00:02:01langsung menemui jalan buntu. Beberapa operator tidak didukung, jadi Anda terjebak. Tapi OpenCV5 meningkatkan cakupan itu
00:02:08hingga 80%. Jadi sekarang pustaka ini menjalankan sebagian besar model ini secara langsung. Dan alasan mengapa ia melonjak
00:02:15begitu banyak adalah karena bagaimana mereka membangunnya kembali. Mesin lama memproses jaringan lapis demi lapis. Yang baru
00:02:22dibangun di sekitar grafik operasi bertipe. Jadi ia melihat seluruh jaringan sebagai grafik terlebih dahulu, lalu melakukan
00:02:29inferensi bentuk yang tepat, pelipatan konstanta, dan penggabungan operator sebelum menjalankan apa pun. Jadi dalam istilah sederhana,
00:02:36ia memahami seluruh model sebelum mengeksekusinya, sehingga ia dapat menangani bentuk dinamis dan
00:02:42arsitektur transformer modern yang tidak dapat ditangani oleh mesin lama. Dan inilah bagian yang mengesankan.
00:02:48Dengan perubahan baru ini, tidak hanya lebih kompatibel, tetapi juga sangat cepat. OpenCV membandingkan mesin baru mereka
00:02:56terhadap mesin ONNX milik Microsoft. Dan pada CPU, OpenCV5 menandingi atau bahkan mengalahkannya pada model nyata. Jadi
00:03:04itu 11,5% lebih cepat daripada YOLO versi 8, hampir 37% lebih cepat daripada OWL versi 2, dan 30% lebih cepat daripada Xfeet.
00:03:15Sekarang itu adalah angka yang dilaporkan sendiri oleh OpenCV. Jadi ambil dengan sedikit keraguan dan benchmark
00:03:22beban kerja Anda sendiri. Tapi jika itu benar, itu cukup mengesankan. Dan ada lebih banyak hal keren di
00:03:27rilis baru ini seperti tipe data FP16 dan BF16 asli, dukungan array n-dimensi nyata di CVMAT,
00:03:36inti yang mengutamakan Python, dan API C lama telah hilang dan digantikan dengan C++17 yang kini menjadi dasar.
00:03:44Dan satu peringatan penting yang perlu Anda ketahui sejak awal, mesin baru saat ini hanya untuk CPU.
00:03:51Dukungan GPU akan datang nanti dalam siklus versi 5. Jadi jika Anda membutuhkan inferensi GPU hari ini,
00:03:58Anda akan kembali ke mesin klasik, yang masih memiliki dukungan CUDA dan OpenVINO.
00:04:03Jadi semua yang akan saya tunjukkan pada versi 5 baru ini berjalan di CPU. Jadi fitur terbesar dari versi baru ini
00:04:10adalah mesin DNN baru. Jadi kita akan menguji beberapa contoh dan melihat kinerjanya.
00:04:16Baiklah, mari kita mulai dengan contoh yang menyenangkan. Jadi OpenCV menyediakan contoh pewarnaan di mana Anda bisa mengambil
00:04:22gambar hitam putih dan ia memprediksi warnanya. Dan sebagai catatan tambahan, saya telah menonton Spider Noir
00:04:28akhir-akhir ini, dan itu acara yang cukup keren. Dan itu juga dalam hitam putih, jadi saya pikir mungkin menyenangkan
00:04:34untuk mewarnai cuplikan dari acara ini dan melihat bagaimana hasilnya. Jadi saya akan mengambil gambar ini dan menjalankan
00:04:39contoh pewarnaan, yang menggunakan mesin DNN baru dan boom, ini dia. Lihat betapa cepatnya itu.
00:04:47Sejauh menyangkut output, itu belum sempurna. Kita masih melihat bahwa ia membuat langit agak benar,
00:04:53tetapi gagal mewarnai beberapa bagian gambar lainnya. Dan perlu diingat bahwa ini menggunakan model pewarnaan yang lebih lama,
00:04:59yang bermain aman dengan warna-warna redup. Tapi poin di sini bukan modelnya, ini mesinnya.
00:05:05Jadi apa yang ingin saya tunjukkan di sini adalah bahwa gambar ini diproduksi menggunakan jaringan saraf asli OpenCV
00:05:11dengan nol dependensi tambahan, yang cukup keren. Sekarang mari kita coba contoh deteksi objek mereka.
00:05:17Dan sekali lagi, karena kita menggunakan tema Spider Noir, saya akan menggunakan cuplikan dari acara itu
00:05:24dan menjalankannya melalui pipeline dan melihat bagaimana kinerjanya. Dan saat saya menjalankan skripnya, lihat
00:05:29itu. Ia melakukan deteksi objek secara real time, berjalan di CPU melalui mesin DNN yang baru. Dan
00:05:36ingat benchmark dari tadi? Ini adalah jenis model di mana OpenCV sebenarnya lebih cepat daripada
00:05:43runtime ONNX. Jadi Anda tidak menukar performa demi kenyamanan, Anda mendapatkan keduanya dalam skenario khusus ini.
00:05:49Dan Anda tidak perlu menginstal PyTorch untuk ini atau runtime terpisah. Dan tidak diperlukan GPU.
00:05:56Ini semua berjalan di OpenCV biasa. Baiklah, sekarang mari kita coba contoh in-painting LDM mereka.
00:06:03Jadi LDM singkatan dari latent diffusion dan OpenCV 5 menyertakan contoh in-painting latent diffusion di sini.
00:06:11Jadi mari kita lihat bagaimana cara kerjanya. Jadi mari kita muat gambar Spider Noir yang sama yang kita gunakan tadi.
00:06:16Dan sekarang saya bisa mengecat sesuatu yang ingin saya hapus dari gambar. Itu bisa berupa orang, objek,
00:06:23apa pun. Dan model difusi mengisi ruang kosong tersebut. Dan ini sedikit lebih lambat untuk dijalankan karena in-painting klasik OpenCV
00:06:31menggunakan satu lintasan maju, yang instan, tetapi LDM menggunakan difusi, yang bersifat iteratif.
00:06:39Jadi ia mulai dari derau dan kemudian melakukan denoising langkah demi langkah. Jadi ia menjalankan model ini
00:06:45beberapa langkah berturut-turut. Dan karena kita melakukan ini pada CPU, itu bahkan lebih lambat karena difusi
00:06:51adalah tugas yang lebih cocok untuk GPU. Namun demikian, inilah hasil yang saya dapatkan saat menjalankannya hanya dalam beberapa
00:06:58langkah. Dan menurut saya ia telah melakukan pekerjaan yang cukup baik. Ini tidak sempurna. Kita masih bisa melihat dengan jelas beberapa artefak difusi
00:07:05Tetapi ini bisa diatasi dengan meningkatkan jumlah langkah atau menggunakan model difusi yang berbeda.
00:07:11Dan terakhir, saya ingin menunjukkan contoh inferensi VLM, yang menunjukkan bagaimana Anda bisa menggunakan vision
00:07:17language models atau LLM secara asli di dalam OpenCV untuk melakukan hal-hal seperti pemberian keterangan gambar atau jenis hal lainnya.
00:07:25Sekarang, dalam demo khusus ini, kita menggunakan model Pali Gemma untuk memberi keterangan pada gambar spider noir ini.
00:07:32Dan seperti yang Anda lihat, ini sangat lambat. Dan hasil akhirnya juga tidak spektakuler. Jadi saya
00:07:39pasti tidak akan menggunakan OpenCV untuk ini. Ada pilihan yang jauh lebih baik untuk pemberian keterangan gambar. Sebagai contoh,
00:07:45Anda dapat menjalankan model Gemma 4 12 miliar secara lokal di ONNX dan mendapatkan output seratus kali lebih cepat daripada ini.
00:07:53Saya menunjukkan contoh khusus itu di salah satu video saya sebelumnya tentang model Gemma 4 12 miliar.
00:07:58Jadi periksa itu jika Anda tertarik. Tapi poin dari demo ini adalah untuk menunjukkan bahwa OpenCV sekarang memiliki
00:08:04semua bagian yang Anda butuhkan untuk menjalankan LLM. Tokenizer, lapisan perhatian, dan cache KV,
00:08:11semuanya sudah terpasang. Dan fakta bahwa itu berfungsi sama sekali pada runtime terpisah benar-benar memberi sinyal
00:08:18ke mana arah pustaka ini. Ini akan menggabungkan visi dan bahasa di satu tempat. Dan
00:08:24setelah mereka mengirimkan pembaruan GPU, itu akan menjadi lebih baik dan lebih cepat. Jadi begitulah,
00:08:29teman-teman. Itu adalah OpenCV versi 5 yang baru secara singkat. Satu pustaka yang berjalan di CPU tanpa tambahan
00:08:37dependensi. Dan kami menggunakannya untuk pewarnaan, deteksi objek real-time, in-painting difusi,
00:08:43dan pemberian keterangan gambar. Sekarang Anda masih harus melatih model Anda pada sesuatu seperti Pytorch.
00:08:50Itu bukan sesuatu yang dirancang untuk dilakukan oleh OpenCV. Tetapi ketika harus benar-benar menjalankan model tersebut
00:08:56di dalam pipeline visi, OpenCV 5 adalah pilihan yang tepat dan lompatan besar dari kondisinya baru
00:09:03sebulan yang lalu dengan mesin DNN baru mereka. Jadi apa pendapat Anda tentang OpenCV 5 yang baru? Apakah Anda akan
00:09:09menggunakannya dalam proyek Anda? Beri tahu kami di bagian komentar di bawah ini. Dan teman-teman, jika Anda menyukai
00:09:14jenis analisis teknis ini, beri tahu saya dengan menekan tombol suka di bawah video.
00:09:19Dan juga jangan lupa untuk berlangganan saluran kami. Ini Andrus dari BetterStack,
00:09:24dan sampai jumpa di video berikutnya.