专栏首页计算机视觉战队超级!超级!超级好用的视频标注工具

超级!超级!超级好用的视频标注工具

VATIC视频标注工具(下载见文末)


  • 安装(基于Ubuntu16.04)

$ sudo pip install cython==0.20

$ wget http://mit.edu/vondrick/vatic/vatic-install.sh

$ chmod +x vatic-install.sh

$ ./vatic-install.sh

$ cd vatic

vatic-install.sh可能下载不了,vatic-install下载地址:

https://download.csdn.net/download/gzq0723/10874644

  • 配置HTTP Server

/etc/apache2/sites-enabled/000-default.conf

替换为:


WSGIDaemonProcess www-data python-eggs=/home/cmcross/.python-eggs

WSGIProcessGroup www-data

<VirtualHost *:80>

ServerName 0.0.0.0

DocumentRoot /home/cmcross/vatic/public

WSGIScriptAlias /server /home/cmcross/vatic/server.py

CustomLog /var/log/apache2/access.log combined

</VirtualHost>


启用mod_headers模块:

$ sudo cp /etc/apache2/mods-available/headers.load /etc/apache2/mods-enabled

重启Apache:

$ sudo apache2ctl graceful

  • 配置SQL

创建vatic数据库:


$ mysql -u root

mysql> create database vatic;


如果登录需要密码,密码是hail_ukraine,修改root用户为无密码状态,否则会报错,如果是上面我的csdn下载的,密码是root

更新mysql root为无密码:


update user set authentication_string=PASSWORD("") where User='root';

update user set plugin="mysql_native_password";

flush privileges; #更新所有操作权限

quit;


启动:

$ cp config.py-example config.py

如果需要上线服务,修改access相应选项,离线服务可以跳过

初始化数据库:

$ turkic setup --database

重启数据库:

$ turkic setup --database --reset

允许vatic访问turkic:

$ turkic setup --public-symlink

  • 验证是否安装正确

$ turkic status --verify

如果您收到任何错误消息,则表示安装未完成。

注意:不打算使用Mechanical Turk,忽略由Mechanical Turk引起的任何错误。

ERROR:

Localhost: http://localhost/

Testing access to Amazon Mechanical Turk... ERROR! Signature or access key missing

Testing access to database server... OK

Testing access to web server... ERROR! HTTP Error 403: Forbidden

One or more tests FAILED!

解决:修改Apache配置/etc/apache2/apache2.conf添加


<Directory /home/cmcross/vatic/public>

Options Indexes FollowSymLinks

AllowOverride All

Require all granted

</Directory>


重启后解决问题$ sudo apache2ctl graceful

  • 示例

1、视频取帧

$ mkdir /path/to/output/directory

$ turkic extract /path/to/video.mp4 /path/to/output/directory

宽高属性采用:--width 1000 --height 1000或者--no-resize

$ turkic extract /path/to/video.mp4 /path/to/output/directory --width 1000 --height 1000

已经取好的视频帧可通过命令转化为vatic的格式

$ turkic formatframes /path/to/frames/ /path/to/output/directory

2、导入视频(离线)

$ turkic load identifier /path/to/output/directory Label1 ~Attr1A ~Attr1B

Label2 ~Attr2A ~Attr2B ~Attr2C Label3 --offline

identifier为表示符,Label1将具有属性Attr1A和Attr1B,Label2将具有属性Attr2B,Attr2B和Attr2C,并且Label3将不具有属性。 指定属性是可选的。

3、pulish视频(离线)

$ turkic publish --offline

ERROR:publish后打开http://localhost?id=1&hitId=offline网址显示Server Error

解决方法:在/etc/apache2/sites-enabled/000-default.conf添加


<Directory /path/to/vatic>

<Files server.py>

Require all granted

</Files>

</Directory>


4、导出voc格式数据集

$ turkic dump identifier -o /output --pascal --pascal-skip 1

–pascal-skip:多少帧取一次数据,不加这个属性默认为15帧取一次

出现的error

  • error1

root@mou:~# mysql -u root

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

注意:进入root模式

解决方法:

root@mou:~# mysql -u root -p

Enter password: root

显示如下:

  • error2

/usr/local/lib/python2.7/dist-packages/pkg_resources/__init__.py:1298: UserWarning: /home/suker/.python-eggs is writable by group/others and vulnerable to attack when used with get_resource_filename. Consider a more secure location (set with .set_extraction_path or the PYTHON_EGG_CACHE environment variable).

warnings.warn(msg, UserWarning)

解决办法

$ cd /home/mou/

$ chmod g-wx,o-wx .python-eggs/

还不行的话:

$ sudo usermod -a -G mou www-data

$ sudo mkdir /var/www/.python-eggs/

$ sudo chown www-data:www-data /var/www/.python-eggs/

$ sudo apache2ctl graceful

注意:

.python-eggs是隐藏文件,‘ctrl+H'可以查看,在按一次隐藏。我的.python-eggs里面没有东西,我删除了homex下的三个文件夹pyvision/turkic/vatic重装一遍。

'mou'是你的主机名。

  • error3

实现例子:

$ wget http://techslides.com/demos/sample-videos/small.mp4 -O /home/mou/vagrant_data/small.mp4

$ turkic extract /home/mou/vagrant_data/small.mp4 /home/mou/vagrant_data/example/

$ turkic load example_id /home/mou/vagrant_data/example/ example_label1 example_label2 example_label3 –offline

打开网址,进行标注,instructions有说明。但是load时出现问题:这是建立过程有问题。

参考:https://github.com/cvondrick/vatic/issues/56

$ turkic setup –database –reset //重新重启数据库

$ mkdir -p /home/mou/vagrant_data/example

$ wget http://techslides.com/demos/sample-videos/small.mp4 -O /home/mou/vagrant_data/small.mp4

(这2,3行你之前执行了的话就不要执行了)

$ turkic extract /home/mou/vagrant_data/video.mp4 /home/mou/vagrant_data/example

$turkic load identifier /home/mou/vagrant_data/output example_label1 example_label2 example_label3 –offline

$ turkic publish –offline

$ turkic dump identifier -o /home/mou/vagrant_data/output --pascal --pascal-skip 1

(注意Permission denied时,要加sudo)

example_label1表示你的第一个标签,以此类推,具体还可以加属性,参见官网。

Github下载地址:https://github.com/GZQ0723/vatic_BasicFinder-HIVE

本文分享自微信公众号 - 计算机视觉战队(ComputerVisionGzq)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-12-25

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • CVPR 2018 论文简单笔记(部分,待更新)

    计算机视觉最具影响力的学术会议之一的 CVPR 将于 2018 年 6 月 18 日 - 22 日在美国盐湖城召开举行。据 CVPR 官网显示,今年大会有超过 ...

    计算机视觉研究院
  • 机器人也会画漫画

    说到人工智能,大家第一想到的应该会是人脸识别,因为这也是最近出现最频繁的名词,手机、交通、安防等领域都涉及到了人脸识别技术,但是大家应该把眼光放远一些,就会看到...

    计算机视觉研究院
  • 稀疏&集成的卷积神经网络学习

    今天主要和大家说的是分类检测过程中,一些稀疏和集成学习的相关知识,首先和大家说下图像目标定位与检测的方法分类。 众所周知,当前是信息时代,信息的获得、加工、处理...

    计算机视觉研究院
  • 笔试题:代码如何实现“百钱买百鸡”?

    百钱买百鸡是一个非常经典的不定方程问题,最早源于我国古代的《算经》,这是古代著名数学家张丘建首次提出的。在笔试题中出现频率也也非常高,所以今天咱们就来聊来这个很...

    田维常
  • 云计算大潮下,企业为什么需要 DevOps 团队

    正如他们岗位职能说明的那样,DevOps团队的工作人员要比几乎所有其他IT人员更了解云计算。DevOps团队知道如何针对新部署的软件进行应用配置,他们知道如何与...

    静一
  • Docker 编配 ...它是什么意思,为什么你会需要它

    原文作者:Cloudify Community

    Steve Wang
  • 谷歌新玩具Vision Kit,带你DIY一个能识别千种物体的AI摄像头

    原作 Billy Rutledg Root 编译自 blog.google 量子位 出品 | 公众号 QbitAI 今天,谷歌AIY项目新推出视觉感知套件Vis...

    量子位
  • 什么是Docker的编排?它到底意味着什么?为什么我们需要它?

    [本文由Yaron Parasol编写]

    Zach展
  • CNCC 2018 | Google 中日韩文搜索算法主要设计者吴军:区块链可能是大数据安全解决之道

    AI 科技评论按:2018 中国计算机大会(CNCC2018)于 10 月 25-27 日在杭州国际博览中心举办,会议由中国计算机学会(CCF)主办,杭州市萧山...

    AI科技评论
  • Cesium 画贴地线

    使用Cesium加载线数据时,在关闭地形的情况下毫无问题,但在开启地形加载地形数据以后,由于地面将不再是平平整整,而是可能会坑坑洼洼,在这种情况下,因为线数据中...

    Melody132

扫码关注云+社区

领取腾讯云代金券