Secara profesi, saya adalah direktur pengeditan, dan pemrograman terapan seperti hobi di waktu luang saya.
Pada titik tertentu, muncul ide untuk menggabungkan pekerjaan dengan hobi, saya membaca artikel di Habré tentang mengenali objek dalam gambar menggunakan Core ML, dan begitulah semuanya dimulai. Saya akan membagikan pengalaman dan masalah sederhana saya yang dapat Anda hadapi saat mengembangkan aplikasi yang bekerja dengan Core ML.
Faktanya adalah bahwa hampir sepertiga dari pekerjaan editor video terdiri dari pencarian rutin urutan video dari sumber, yang harus digulung setiap kali mencari rencana kontekstual untuk teks di luar layar, menurut saya ini tidak membawa apa-apa. komponen kreatif, terutama bila Anda telah melakukan ini selama 15 tahun). Nah, saya pikir, bagaimana jika saya menulis perangkat lunak yang akan melalui folder dengan kode sumber, mengenali objek, dengan hati-hati "meletakkan" mereka di database. Selanjutnya, pada saat mencari fragmen video untuk apa yang disebut "jeans", kata pencarian dimasukkan, misalnya "Sun", dan segala sesuatu yang ada dalam beberapa cara ditransfer ke sistem pengeditan.
Idenya matang, akan menumpuk, saya memutuskan untuk menulis di Swift, model terlatih dari Core ML itu sendiri, database SQLite. Sekilas, idenya tampak mudah diimplementasikan, seperti tidak ada yang rumit.
Dengan sangat cepat saya memasukkan kode utama yang menarik bingkai dari video, mengenali objek menggunakan model Resnet50 , yang direkomendasikan oleh Yabloko di situs web mereka, itu bekerja sangat cepat dan memungkinkan Anda menyesuaikan persentase di mana objek dianggap dikenali. Kode itu sendiri didistribusikan secara diam-diam di apple.com yang sama untuk semua orang. Saya menghubungkan pustaka SQLite.swift , membungkus fungsinya dengan metode saya, semuanya berfungsi!
! 1000- mvc- , Stackoverflow. . , . , , , .
, Grand Central Dispatch (GCD) - Apple, , - ! ! .
, 70 , - ! ! 420- , - windows mobile, , , , …. 420 ! , , ! ? …. … 420 … .
, ( ) ! VNCoreMLRequest, ML- , , . «» copyCGImage, , generateCGImagesAsynchronously, , «» try catch.
. , . : YOLOv3 Resnet50, , . .
Apple Xcode Create ML , , , .
, - . - EDL XML. , «» , . , EDL , , , , , , , , . XML! : , , , , , ! , , XML, , -. Adobe Premiere XML. . , - , , , , . , String Xcode. , , . ! html-. , , ) ! XML , dobe Premiere, , , , Final Cut Pro ( ),
, , , , .
, , , , . Apple Silicon, ML 16x, . Mac App Store, Videoindex.
,