使用卷积神经网络根据视频中出现的对象搜索和过滤视频的命令行实用程序

thingscoop的Python项目详细描述




\thingspoop:根据视频内容搜索和过滤视频的实用程序基于对象、位置和其他出现在其中的东西的操作系统。

在逐帧的基础上重复执行图像分类。创建视频文件的索引后,可以使用任意查询搜索(即,获取视频中与查询匹配的区域的开始和结束时间)并筛选(即,创建匹配区域的[supercut](https://en.wikipedia.org/wiki/supercut))输入。thingspoop使用一种非常基本的查询语言,允许您编写查询,用逻辑运算符来测试标签的存在与否!`(不是)、` `(或)和`&;`(和)。例如,要搜索视频,天空的存在*和*海洋的消失:`ThingScoop Search'天空&;!海洋<;文件>;`.

thingspoop目前支持两种模型:`vgg_image net`使用["用于大规模图像识别的非常深卷积网络"](http://arxiv.org/abs/1409.1556)中描述的架构来识别[imagenet]中的对象(http://www.image-net.org)/)数据库和"googlenet_places"使用["深入研究卷积"](http://arxiv.org/abs/1409.4842)中描述的架构来识别[mit places]数据库(http://places.csail.mit.edu/)中的设置和位置。您可以通过运行"thingscoop models use<;model>;"来指定要使用的模型,其中"<;model>;"是"vgg_imagenet"或"googlenet_places"。不久将添加更多的模型。

ThingScoop基于[caffe](http://caffe.berkeleyvision.org/)一个开源的深度学习框架。


安装ffmpeg、imagemagick和ghostscript:`brew install ffmpeg imagemagick ghostscript`(Mac OS X)或'apt get install ffmpeg imagemagick ghostscript`(ubuntu)。
1.按照[caffe安装页面](http://caffe.berkeleyvision.org/installation.html)上的安装说明进行操作。
2。确保通过运行'make pycaffe'(在caffe的目录下)来构建python绑定。
3。将环境变量caffe_root设置为指向caffe的目录:`export caffe_root=[caffe's directory]`.
4。安装thingspoop:"轻松安装thingspoop"或"pip安装thingspoop"。

如果当前模型不存在,则使用当前模型为`<;file>;`创建索引。

00000
/users/anastasis/downloads/waging戋life.mp4 180.000000186.000000
/users/anastasis/downloads/waging戋life.mp4 189.000000 190.000000
/users/anastasis/downloads/waging戋life.mp4 192.000000 200.000000
/users/anastasis/downloads/waging戋life.mp4 211.000000212.000000
/users/anastasis/downloads/waging庘life.mp4 222.000000223.000000
/users/anastasis/downloads/waging庘life.mp4 235.000000243.000000
/users/anastasis/downloads/waging庘life.mp4 247.000000249.000000
/users/anastasis/downloads/waging庘life.mp4 251.000000253.000000
/users/anastasis/downloads/waging庘life.mp4 254.000000258.000000
```

=````thingscoop filter<;query>;<;files…>;`


"文件"中与"查询"匹配的区域。如果当前模型不存在,则使用该模型为"文件"创建索引。

示例输出:

<;a href="https://www.youtube.com/watch?v=qe9gjrujipy">;<;img width=600 src="resources/filter.png">;<;/img>;<;&a>;

\thingspoop sort<;file>;`

创建一个编译视频,显示视频中识别的每个标签的示例(按字母顺序)。如果当前模型不存在,则使用该模型为"文件"创建索引。

示例输出:

<;a href="https://www.youtube.com/watch?v=o0voyjgpgje>;<;img width=600 src="resources/clockwork戋orange.png">;<;/img>;


\thingscoop describe<;file>;`

打印出现在`<;file>;中的每个标签及其出现的次数。如果当前模型不存在,则使用该模型为`<;file>;`创建索引。


scribe koyaanisqatsi.mp4-m googlenet_places
sky 405
摩天大楼363
峡谷141
办公楼130
78号公路
灯塔66
医院64
沙漠59
淋浴49
火山45
水下44
机场庠43
喷泉39
跑道36
装配线35
水族馆34
消防逃生34
音乐工作室32
酒吧28
游乐园28
第26期
麦田25
屠宰场25
屠宰场25
引擎室24
贫民窟20
Butte 20
冰屋20

```

`````

《水族馆》20
冰屋20


`` ` ` `
` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` `

为`<;f创建索引ile>;`如果当前模型不存在,则使用当前模型。


在ImageNet数据库上,在麻省理工学院的Places数据库上训练了"深入卷积"一文中描述的GoogleNet Places模型,在"魔鬼的回归:深入卷积nETS"在ImageNet数据库上进行培训,打印有关`<;model>;`<;model>;`

```thingscoop models info的更详细信息。

````
$thingscoop models info googlenet `
名称:googlenet `
描述:goi论文中描述的模型"在麻省理工学院的位置数据库上训练"卷积更深:麻省理工学院的位置
```


####` Thingscoop models current`

打印当前正在使用的模型。

````
$Thingscoop models current
googlenet_places
````

如果尚未下载该模型,则可在本地下载该模型。


<35<35<35<35 <35<35<35<35 <35<35<<







`<;model>;`在本地下载该模型。










`THingscoop模型清除`

删除本地存储的所有模型。


橡子壁球nt
冒险家
倡导者

```

`
``thingscoop labels search<;regexp>;`


弓弦乐器
双簧片乐器
自由簧片乐器
键盘乐器
测量乐器
医疗器械
乐器
导航乐器
流通乐器
光学乐器
打击乐器
科学仪器
弦乐器
测量仪器
风乐器


```````

``````thingscoop-根据视频内容搜索和过滤视频的命令行实用程序

查询>;<;文件>;…[-o<;output_path>;][-m<;model>;][-s<;sr>;][-c<;mc>;][--重新创建索引][--GPU模式][--打开]
ThingScoop搜索<;查询>;<;文件>;……[-o<;output_path>;][-m<;model>;][-s<;sr>;][-c<;mc>;][--重新创建索引][--GPU模式]
ThingScoop描述<;文件>;[-n<;单词>;][-m<;model>;][--重新创建索引][--GPU模式][-c<;mc>;]
ThingScoop索引<;文件>;[-m<;model>;][-s<;sr>;][-c<;mc>;][-r<;ocr>;][--重新创建索引][--gpu模式]
ThingScoop排序<;文件>;[-m<;模型>;][--gpu模式][--min confidence<;ct>;][--最大节长<;ms>;][-i<;忽略>;][--open]
ThingScoop预览<;文件>;[-m<;模型>;][--gpu mode][--min confidence<;ct>;]
ThingScoop标签列表[-m<;model>;]
ThingScoop标签搜索<;regexp>;[-m<;model>;]
ThingScoop模型列表
ThingScoop模型信息<;model>;
ThingScoop模型冻结
ThingScoop模型当前
ThingScoop模型模型使用<;model>;
ThingScoop模型下载<;model>;
ThingScoop模型删除<;model>;
ThingScoop模型清除

选项:
--版本显示版本。
-h--帮助显示此屏幕。
-o--输出<;dst>;supercut的输出文件
-s—采样率<;sr>;每秒要分类多少帧(默认值=1)
-c—最小置信度<;mc>;考虑标签所需的最小预测置信度(默认值取决于模型)
-m—模型<;模型>;要使用的模型(使用"thingscoop models list"查看所有可用模型)
-n--字数<;字数>;描述视频的字数(默认值=5)
-t--最大节长度<;ms>;显示排序视频中标签示例的最大秒数EO(默认值=5)
-r--最小出现次数<;OCR>;在视频中,标签在排序视频中显示所需的最小出现次数(默认值=2)
-i--创建排序视频时忽略标签<;标签>;要忽略的标签
--标题<;标题>;在视频开始处显示的标题(仅限排序模式)
--GPU模式启用GPU模式
--重新创建索引为文件重新创建对象索引(如果文件已存在)
--创建后打开已筛选的视频(o仅限S X)
`````


《变革日志》0.2(2015/8/16/2015)


《变革日志》0.2(2015/8/16/2015)


*添加了"sort"选项,用于创建视频中出现的所有标签的视频编译
*现在对索引文件使用JSON来创建视频中出现的所有标签的视频编译


《0.1(8/5/2015)8/5/2015)0.1(8/5/2015)8/5/2015)1

*概念

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
javajpa查询。getResultList()?   java使用javascript呈现的2个列表   使用gson库从Java属性文件解析Json   java Repeate数组何时到达最后一个文本?   java如何将应用程序锁定到环境中   如何使用JAXRS在REST中将Javascript日期传递给Java LocalDate和LocalDateTime   java学生数组菜单   跨多个节点自动分片Java映射   java是否可以仅使用lambda表达式将字符串转换为int[]?   java等价性和内存空间   java自定义ListView设计与水平CardView   java在安卓中显示空白活动   java Android应用程序错误很遗憾,你的应用程序已停止   java Kerberos错误:GSSHeader未找到正确的标记   调试/优化java应用程序   java文档<小程序名称>。isAlive()在某些浏览器中失败   爪哇岛。不解析CtExecutableReference类型和声明的类型,具体取决于环境(Docker和本地Spring引导)   java如何检查Parcelable是否为NULL