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.

핵심 요약

OpenCV 5 menghadirkan perombakan total pada modul DNN yang kini mendukung 80% operator ONNX dan memungkinkan eksekusi model deep learning secara native pada CPU tanpa dependensi eksternal.

하이라이트

  • OpenCV 5 meningkatkan cakupan operator ONNX dari 22% di versi 4 menjadi 80%.

  • Mesin DNN baru pada OpenCV 5 mencapai kecepatan inferensi 11,5% lebih cepat pada YOLOv8, 37% lebih cepat pada OWL-v2, dan 30% lebih cepat pada Xfeet dibandingkan runtime ONNX Microsoft di CPU.

  • Mesin DNN versi 5 memproses model sebagai grafik operasi bertipe, memungkinkan penanganan bentuk dinamis dan arsitektur transformer modern.

  • OpenCV 5 kini mendukung tipe data FP16, BF16, dan array n-dimensi nyata dalam CVMAT.

  • In-painting latent diffusion dan inferensi VLM kini dapat dijalankan secara native di OpenCV 5 tanpa dependensi eksternal seperti PyTorch.

타임라인

Pembaruan Utama Modul DNN OpenCV 5

  • Modul DNN versi 5 sepenuhnya ditulis ulang untuk mendukung grafik operasi bertipe.
  • Kompatibilitas operator ONNX melonjak drastis hingga 80% dari sebelumnya hanya 22%.
  • Mesin baru mampu melakukan inferensi bentuk, pelipatan konstanta, dan penggabungan operator secara otomatis sebelum eksekusi.
  • Dukungan GPU untuk mesin baru ini akan tersedia pada pembaruan versi 5 berikutnya.

Perubahan arsitektur dari pemrosesan lapis-demi-lapis ke grafik operasi bertipe memungkinkan OpenCV 5 memahami keseluruhan model sebelum dijalankan. Peningkatan ini mengatasi kendala pada versi 4 yang sering gagal memuat model modern. Meskipun sangat cepat di CPU, dukungan GPU saat ini masih terbatas pada mesin klasik.

Demonstrasi Fitur Baru

  • Pewarnaan gambar hitam putih dilakukan menggunakan jaringan saraf asli tanpa dependensi tambahan.
  • Deteksi objek real-time berjalan di CPU dengan performa yang melampaui runtime ONNX pada skenario tertentu.
  • Fitur in-painting latent diffusion berjalan secara iteratif dengan hasil yang dapat diatur melalui jumlah langkah.
  • OpenCV 5 mengintegrasikan komponen inti seperti tokenizer dan lapisan perhatian untuk menjalankan model bahasa visi (VLM).

Pengujian pada contoh pewarnaan, deteksi objek, in-painting, dan inferensi VLM menunjukkan kapabilitas eksekusi model secara mandiri. In-painting berbasis difusi menunjukkan hasil yang cukup baik meski bersifat iteratif dan lebih lambat di CPU dibandingkan metode klasik. Penggunaan VLM seperti Pali Gemma dalam OpenCV menunjukkan arah pengembangan pustaka yang mulai menggabungkan kapabilitas visi dan bahasa.

Kesimpulan Implementasi

  • OpenCV 5 dirancang untuk eksekusi model dalam pipeline visi, bukan untuk proses pelatihan model.
  • Pustaka ini memadukan visi dan bahasa dalam satu ekosistem native.
  • Performa eksekusi akan semakin meningkat seiring dengan kehadiran pembaruan dukungan GPU.

Pustaka ini memposisikan diri sebagai alat utama untuk menjalankan model yang telah dilatih sebelumnya pada kerangka kerja seperti PyTorch. Tanpa memerlukan runtime eksternal, OpenCV 5 menjadi lompatan besar bagi pengembang yang mengutamakan efisiensi pipeline visi komputer pada perangkat CPU.

커뮤니티 글

모든 글 보기