Edição de vídeo, aprendizado de máquina e xml hackeado - tudo em um programa

Sou diretor de edição profissional por profissão, e a programação aplicada é como um hobby no meu tempo livre.





Em algum momento, surgiu a ideia de combinar o trabalho com um hobby, li um artigo no Habré sobre como reconhecer objetos em fotos usando o Core ML, e foi assim que tudo começou. Vou compartilhar minha modesta experiência e problemas que você pode enfrentar ao desenvolver aplicativos que trabalham com Core ML.





O fato é que quase um terço do trabalho de um editor de vídeo consiste na busca rotineira de sequências de vídeo das fontes, que deve ser sempre enrolada em busca de um plano contextual para texto fora da tela, em minha opinião isso não comporta componente criativo, especialmente quando você faz isso há 15 anos). Bem, pensei, e se eu escrever um software que irá percorrer a pasta com o código-fonte, reconhecer objetos, cuidadosamente "colocá-los" no banco de dados. Além disso, no momento da busca por fragmentos de vídeo para os chamados "jeans", é inserida uma palavra de busca, por exemplo "Sol", e tudo o que existe de alguma forma é transferido para o sistema de edição.





A ideia amadureceu, ia empilhar, resolvi escrever em Swift, modelos treinados do próprio Core ML, banco de dados SQLite. À primeira vista, a ideia parecia fácil de implementar, como nada complicado.  





Rapidamente coloquei o código principal que extrai frames do vídeo, reconhece objetos usando o modelo Resnet50 , que foi recomendado pelo Yabloko em seu site, funcionou muito rápido e permitiu ajustar a porcentagem em que o objeto foi considerado reconhecido. O próprio código é distribuído discretamente no mesmo apple.com   para todos. Conectei a biblioteca SQLite.swift , envolvi suas funções em meus métodos, tudo funciona! 





!  1000- mvc- , Stackoverflow. . , . , , , .  





, Grand Central Dispatch (GCD) - Apple, ,    - ! ! .





, 70 , - ! ! 420- , -   windows mobile, , , , …. 420 ! , , ! ? …. … 420 … .





, ( ) ! VNCoreMLRequest,   ML- , , . «»    copyCGImage, , generateCGImagesAsynchronously, , «» try catch.





. , . : YOLOv3 Resnet50, , . .





Slots para modelos CoreML nas configurações do programa
CoreML





Apple Xcode Create ML , , , .





Interface Apple Create ML
Apple Create ML

, - . - EDL XML.  , «» , . , EDL , , , , , , , , . XML! : , , , , , ! , , XML, , -.   Adobe Premiere XML.   . ,   - , , , , .  , String Xcode. , , . !   html-.  , , ) ! XML , dobe Premiere, , , , Final Cut Pro ( ),





Interface do programa Videoindex
Videoindex

, , , , .





, , , , . Apple Silicon, ML 16x, . Mac App Store, Videoindex.





,








All Articles