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
- 配置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