職業上、私は編集ディレクターであり、応用プログラミングは私の自由な時間の趣味のようなものです。
ある時点で、仕事と趣味を組み合わせるというアイデアが生まれました。CoreMLを使用して写真内のオブジェクトを認識することについてのHabréに関する記事を読みました。それがすべての始まりです。CoreMLで動作するアプリケーションを開発するときに直面する可能性のある私のささやかな経験と問題を共有します。
事実、ビデオ編集者の仕事のほぼ3分の1は、ソースからのビデオシーケンスの定期的な検索であり、オフスクリーンテキストのコンテキストプランを検索するために毎回実行する必要があります。私の意見では、これには何も含まれていません。クリエイティブコンポーネント、特にこれを15年間行っている場合)。さて、ソースコードのあるフォルダを調べ、オブジェクトを認識し、データベースに慎重に「配置」するソフトウェアを作成したらどうなるかと思いました。さらに、いわゆる「ジーンズ」のビデオフラグメントを検索する瞬間に、「太陽」などの検索単語が入力され、何らかの形であるすべてのものが編集システムに転送される。
アイデアは成熟し、積み重なっていきました。私はSwiftで、CoreML自体のトレーニング済みモデルであるSQLiteデータベースを作成することにしました。一見、複雑なことは何もないように、アイデアは簡単に実装できるように見えました。
ビデオからフレームをプルし、Resnet50モデルを使用してオブジェクトを認識するメインコードを非常にすばやく投入しました。これは、YablokoのWebサイトで推奨されており、非常に迅速に機能し、オブジェクトが認識されたと見なされる割合を調整できました。コード自体は 、すべての人に同じapple.comで静かに配布されます。SQLite.swiftライブラリを接続し、その関数をメソッドにラップしました。すべてが機能します。
! 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.
,