行为识别常用数据集,视频/图像数据标注工具及方法(附VoTT详解)
get_fall_data.py
# -*- coding: UTF-8 -*-
import requests
from bs4 import BeautifulSoup
import time
import os
import threading
def get_contents():
url = 'http://fenix.univ.rzeszow.pl/~mkepski/ds/uf.html'
return requests.get(url)
def parse_xml(contents, base_dir):
soup = BeautifulSoup(contents.text, 'lxml')
data = soup.find_all('tr')
process_data(base_dir, data)
def download(file_path, fall_seq_cam0_d_name, fall_seq_cam0_d_href):
if not os.path.exists(file_path):
os.mkdir(file_path)
r = requests.get(fall_seq_cam0_d_href, stream=True)
with open(file_path + '/' + fall_seq_cam0_d_name, "wb") as file:
for chunk in r.iter_content(chunk_size=1024*1024):
if chunk:
file.write(chunk)
print(fall_seq_cam0_d_name + "---》download end")
def process_data(base_dir, datas):
for data in datas:
nums = data.text
try:
seq = data.contents[1].text
fall_seq_cam0_d_name = data.contents[3].text
fall_seq_cam0_d_href = data.contents[3].contents[0].attrs['href']
fall_seq_cam1_d_name = data.contents[5].text
fall_seq_cam1_d_href = data.contents[5].contents[0].attrs['href']
fall_seq_cam0_rgb_name = data.contents[7].text
fall_seq_cam0_rgb_href = data.contents[7].contents[0].attrs['href']
fall_seq_cam1_rgb_name = data.contents[9].text
fall_seq_cam1_rgb_href = data.contents[9].contents[0].attrs['href']
fall_seq_data_csv_name = data.contents[11].text
fall_seq_data_csv_href = data.contents[11].contents[0].attrs['href']
fall_seq_acc_csv_name = data.contents[13].text
fall_seq_acc_csv_href = data.contents[13].contents[0].attrs['href']
cam0_name = data.contents[15].contents[0].text + '.mp4'
cam0_href = data.contents[15].contents[0].attrs['href']
cam1_name = data.contents[15].contents[2].text + '.mp4'
cam1_href = data.contents[15].contents[2].attrs['href']
# download(base_dir + seq, fall_seq_cam0_d_name, fall_seq_cam0_d_href)
# download(base_dir + seq, fall_seq_cam1_d_name, fall_seq_cam1_d_href)
download(base_dir + seq, fall_seq_cam0_rgb_name, fall_seq_cam0_rgb_href)
download(base_dir + seq, fall_seq_cam1_rgb_name, fall_seq_cam1_rgb_href)
# download(base_dir + seq, fall_seq_data_csv_name, fall_seq_data_csv_href)
# download(base_dir + seq, fall_seq_acc_csv_name, fall_seq_acc_csv_href)
# download(base_dir + seq, cam0_name, cam0_href)
# download(base_dir + seq, cam1_name, cam1_href)
# threading.Thread(target=download, args=(base_dir + seq, fall_seq_cam0_d_name, fall_seq_cam0_d_href)).start()
# threading.Thread(target=download, args=(base_dir + seq, fall_seq_cam1_d_name, fall_seq_cam1_d_href)).start()
# threading.Thread(target=download, args=(base_dir + seq, fall_seq_cam0_rgb_name, fall_seq_cam0_rgb_href)).start()
# threading.Thread(target=download, args=(base_dir + seq, fall_seq_cam1_rgb_name, fall_seq_cam1_rgb_href)).start()
# threading.Thread(target=download, args=(base_dir + seq, fall_seq_data_csv_name, fall_seq_data_csv_href)).start()
# threading.Thread(target=download, args=(base_dir + seq, fall_seq_acc_csv_name, fall_seq_acc_csv_href)).start()
# threading.Thread(target=download, args=(base_dir + seq, cam0_name, cam0_href)).start()
# threading.Thread(target=download, args=(base_dir + seq, cam1_name, cam1_href)).start()
# download(base_dir + seq, fall_seq_cam0_d_name, fall_seq_cam0_d_href)
print('')
except Exception as e:
# print(e)
pass
if __name__ == "__main__":
base_dir = 'D:/ai/data/fall/fallsequences1/'
while True:
parse_xml(get_contents(), base_dir)
time.sleep(60)