電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>Yoga AI從單個(gè)圖像進(jìn)行3D姿勢(shì)估計(jì)

Yoga AI從單個(gè)圖像進(jìn)行3D姿勢(shì)估計(jì)

2022-10-26 | zip | 1.69 MB | 次下載 | 免費(fèi)

資料介紹

描述

介紹

雖然 2D 計(jì)算機(jī)視覺(jué)取得了巨大進(jìn)步,但 3D 計(jì)算機(jī)視覺(jué)仍然是一項(xiàng)艱巨的任務(wù)。我們生成大量 2D 數(shù)據(jù)(圖像、視頻),但 3D 數(shù)據(jù)集很少見(jiàn)且創(chuàng)建成本高。該項(xiàng)目將探索從單個(gè)圖像獲得的 2D 數(shù)據(jù)獲取 3D 人體姿態(tài)信息的不同方法。

poYBAGNYh7WAH_mGAABb-SXmge4287.png
基于單張圖像的 3D 姿態(tài)估計(jì)
?

這項(xiàng)工作基于兩篇文章:

第一篇文章探索了一種簡(jiǎn)單而有效的方法,通過(guò)使用相對(duì)簡(jiǎn)單的 DNN 將 2D 數(shù)據(jù)“提升”到 3D。本文中提出的模型將進(jìn)一步稱為“文章模型”或 article.xmodel(來(lái)自用于在 VCK5000 卡上進(jìn)行推理的文件名)。

嘗試了“文章”模型的替代方案,一層上的神經(jīng)元較少,但層數(shù)較多。這種替代模型進(jìn)一步稱為“殘差”或“res.xmodel”。

這兩個(gè)模型是在Human3.6M 數(shù)據(jù)集上訓(xùn)練的。這包含通過(guò)在工作室中使用昂貴的高分辨率相機(jī)設(shè)置、拍攝專業(yè)演員而獲得的 3D 數(shù)據(jù)。據(jù)作者所知,這是唯一可用于 3D 數(shù)據(jù)的數(shù)據(jù)集。

第三個(gè)模型,稱為 gan (gan.xmodel) 使用了一個(gè)新穎的想法:生成對(duì)抗網(wǎng)絡(luò)僅從 2D 數(shù)據(jù)生成 3D 數(shù)據(jù)。該模型由生成器(使用殘差模型)和鑒別器組成。

生成器的工作是獲取 2D 姿勢(shì)并為它們生成深度,將它們轉(zhuǎn)換為 3D 姿勢(shì)。鑒別器的工作是采取 2D 姿勢(shì)并返回它們是真的還是假的(由生成器生成)。生成器生成的 3D 姿勢(shì)被隨機(jī)旋轉(zhuǎn),轉(zhuǎn)換回相機(jī)的坐標(biāo)并以 2D 的形式投影回來(lái)。然后將它們反饋給鑒別器。主要思想是,如果生成器能夠創(chuàng)建良好的 3D 姿勢(shì)估計(jì),那么那些隨機(jī)旋轉(zhuǎn)并投影回 2D 的 3D 姿勢(shì)對(duì)于鑒別器來(lái)說(shuō)將看起來(lái)無(wú)法區(qū)分。生成器和判別器一起訓(xùn)練,一個(gè)目標(biāo)是創(chuàng)建“假” 2D 姿勢(shì),而另一個(gè)目標(biāo)是檢測(cè)“假”。該模型是根據(jù)從 YouTube 上的 35 個(gè)有關(guān)瑜伽姿勢(shì)的視頻中獲得的圖像進(jìn)行訓(xùn)練的。GAN 是出了名的難以訓(xùn)練,判別器和生成器都產(chǎn)生良好結(jié)果的狀態(tài)是一種轉(zhuǎn)瞬即逝的狀態(tài),而不是穩(wěn)定的狀態(tài)。

poYBAGNYh7eAYROHAACWeG3_PEQ566.png
GAN
?

入門

  • 按照此處所述安裝 Vitis AI 。對(duì)于訓(xùn)練和模型量化,需要構(gòu)建 GPU Docker,因?yàn)樗鼘⒋蟠蠹涌煸撨^(guò)程。(提示:GPU Docker 構(gòu)建需要大量 DRAM,如果構(gòu)建失敗,請(qǐng)考慮啟用 swap
  • 按照此處所述設(shè)置 VCK5000-ES1 卡。如果您有 VCK5000-PROD 卡,那么最新的 Vitis AI 庫(kù)將有一個(gè)類似的頁(yè)面描述如何操作
  • 運(yùn)行openpose 演示以驗(yàn)證所有內(nèi)容都已正確安裝
  • 克隆Vitis AI 目錄中的Yoga AI存儲(chǔ)庫(kù)
  • 啟動(dòng) gpu docker 鏡像:
./docker_run.sh xilinx/vitis-ai-gpu:1.4.1.978

修改了 docker_run.sh 文件以添加對(duì) X11 和 USB 網(wǎng)絡(luò)攝像頭的支持:

docker_run_params=$(cat <<-END
    -v /dev/shm:/dev/shm \
    -v /opt/xilinx/dsa:/opt/xilinx/dsa \
    -v /opt/xilinx/overlaybins:/opt/xilinx/overlaybins \
    -v /etc/xbutler:/etc/xbutler \
    -e USER=$user -e UID=$uid -e GID=$gid \
    -e VERSION=$VERSION \
    -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix -v $HOME/.Xauthority:/tmp/.Xauthority \
    -v $DOCKER_RUN_DIR:/vitis_ai_home \
    -v $HERE:/workspace \
    -w /workspace \
    --device /dev/video0 \
    --rm \
    --network=host \
    --ipc=host \
    ${DETACHED} \
    ${RUN_MODE} \
    $IMAGE_NAME \
    $DEFAULT_COMMAND
END
)

此處描述了完整的命令列表。

2D 姿態(tài)估計(jì)

這是通過(guò)使用此處所述的 Vitis AI 庫(kù)完成的

在使用 2D 姿態(tài)估計(jì)器之前,必須下載模型:

cd /workspace/models/AI-Model-Zoo

sudo mkdir /usr/share/vitis_ai_library/models

tar -xzvf openpose_pruned_0_3-vck5000-DPUCVDX8H-r1.4.1.tar.gz

sudo cp openpose_pruned_0_3 /usr/share/vitis_ai_library/models -r

從 2D 提升到 3D

雖然有很好的 2D 姿態(tài)估計(jì)器,但 3D 問(wèn)題仍然懸而未決。主要有兩種方法:

  • 從圖像開(kāi)始,使用非常大且復(fù)雜的 CNN 進(jìn)行端到端訓(xùn)練
  • 使用現(xiàn)有的 2D 姿勢(shì)估計(jì)器并將 2D 結(jié)果“提升”為 3D

本項(xiàng)目將使用第二種方法,并嘗試使用兩篇文章中的想法將 2D 結(jié)果“提升”為 3D:

第一個(gè)是使用簡(jiǎn)單的 DNN 來(lái)學(xué)習(xí)如何從 2D 開(kāi)始估計(jì) 3D 位置。這需要大量的 3D 姿勢(shì)數(shù)據(jù)集。(使用了 Human3.6M 數(shù)據(jù)集)

生成的 DNN 對(duì)于在 Human3.6M 數(shù)據(jù)集中找到的位置表現(xiàn)良好,但對(duì)于在那里沒(méi)有找到的位置(例如瑜伽位置)表現(xiàn)不佳。另一個(gè)缺點(diǎn)是創(chuàng)建 3D 數(shù)據(jù)集非常昂貴,因此很少有公開(kāi)可用的。

第二篇文章提出了一個(gè)生成對(duì)抗網(wǎng)絡(luò),它不需要 3D 數(shù)據(jù)的基本事實(shí)。這使得獲取訓(xùn)練數(shù)據(jù)變得非常容易,因?yàn)橛写罅繑?shù)據(jù)(視頻、圖像)可用。缺點(diǎn)是訓(xùn)練 GAN 更像是一門藝術(shù)而不是科學(xué),因?yàn)樗蕾囉谛?zhǔn)兩個(gè)不穩(wěn)定的神經(jīng)網(wǎng)絡(luò)。

用于回歸 3D 數(shù)據(jù)的簡(jiǎn)單 DNN

在使用 Human3.6M 數(shù)據(jù)集之前,對(duì)數(shù)據(jù)進(jìn)行了預(yù)處理,然后保存在 .tfrecords 文件中以便于訓(xùn)練。每個(gè) 3D 姿勢(shì)數(shù)據(jù)為:

  • 縮放以使頭部錨點(diǎn)和臀部錨點(diǎn)之間的距離為 1 個(gè)單位長(zhǎng)度
  • 以臀部錨點(diǎn)為中心
  • 圍繞 z 軸在 0 到 360 度之間隨機(jī)旋轉(zhuǎn)
  • 轉(zhuǎn)換為相機(jī)坐標(biāo)
  • 在 2D 數(shù)據(jù)(用作 DNN 的輸入)和將作為 DNN 輸出的第三個(gè)“深度”值之間拆分

這是由 prepare_data.py 腳本完成的:

python prepare_data.py

ls -al ./data/Human36M_subject*
-rw-r--r-- 1 andrei andrei 12172996 mar 19 19:52 ./data/Human36M_subject11_joint_3d.tfrecords
-rw-r--r-- 1 andrei andrei 12977646 mar 19 19:47 ./data/Human36M_subject1_joint_3d.tfrecords
-rw-r--r-- 1 andrei andrei 20707511 mar 19 19:48 ./data/Human36M_subject5_joint_3d.tfrecords
-rw-r--r-- 1 andrei andrei 13055394 mar 19 19:49 ./data/Human36M_subject6_joint_3d.tfrecords
-rw-r--r-- 1 andrei andrei 21238789 mar 19 19:50 ./data/Human36M_subject7_joint_3d.tfrecords
-rw-r--r-- 1 andrei andrei 13517702 mar 19 19:51 ./data/Human36M_subject8_joint_3d.tfrecords
-rw-r--r-- 1 andrei andrei 16598153 mar 19 19:51 ./data/Human36M_subject9_joint_3d.tfrecords

提出了三種模型:

  • 文章(article.xmodel)中描述的DNN:
python train-article.py

python -u quantize.py --float_model model/article/article.h5 --quant_model model/article/quant_article.h5 --batchsize 64 --evaluate 2>&1 | tee quantize.log

vai_c_tensorflow2 --model model/article/quant_article.h5 --arch /opt/vitis_ai/compiler/arch/DPUCVDX8H/VCK5000/arch.json --output_dir model/article --net_name article
  • 一個(gè) DNN,每層神經(jīng)元較少,但層數(shù)比文章中描述的層多(res.xmodel):
python train-res.py

python -u quantize.py --float_model model/residual/res.h5 --quant_model model/residual/quant_res.h5 --batchsize 64 --evaluate 2>&1 | tee quantize.log

vai_c_tensorflow2 --model model/residual/quant_res.h5 --arch /opt/vitis_ai/compiler/arch/DPUCVDX8H/VCK5000/arch.json --output_dir model/residual --net_name res
  • 一個(gè) GAN 模型(gan.xmodel)

教程介紹了 TensorFlow2 和 Vitis AI 設(shè)計(jì)流程。

推理

該項(xiàng)目使用兩個(gè) DNN:

使用 OpenPose 進(jìn)行推理非常簡(jiǎn)單:

auto image = cv::imread("sample_openpose.jpg");
auto det = vitis::ai::OpenPose::create("openpose_pruned_0_3");
auto results = det->run(image);

此 API 負(fù)責(zé)處理圖像所需的任何預(yù)處理(調(diào)整大小等)

  • 自定義 DNN 將姿勢(shì)從 2D 提升到 3D

代碼有點(diǎn)復(fù)雜,使用 VART API:

auto graph = Graph::deserialize(model);
auto subgraph = get_dpu_subgraph(graph.get());
auto runner = Runner::create_runner(subgraph[0],"run");
TensorShape inshapes[1];
TensorShape outshapes[1];
GraphInfo shapes;
shapes.inTensorList = inshapes;
shapes.outTensorList = outshapes;
getTensorShape(runner.get(), &shapes, 1, 1);
auto inTensors = cloneTensorBuffer(runner->get_input_tensors());
auto outTensors = cloneTensorBuffer(runner->get_output_tensors());
int batchSize = inTensors[0]->get_shape().at(0);
int inSize = inshapes[0].size;
int outSize = outshapes[0].size;
auto input_scale = get_input_scale(runner->get_input_tensors()[0]);
auto output_scale = get_output_scale (runner->get_output_tensors()[0]);
int8_t *datain = new int8_t[inSize * batchSize];
int8_t *dataresult = new int8_t[outSize * batchSize];
/* Copy the data in datain buffer. 
Don't forget to scale it by multiplying it with input_scale*/
vector> inputs, outputs;
inputs.push_back(make_unique(datain, inTensors[0].ge()));
outputs.push_back(make_unique(dataresult, outTensors[0].get()));
vector inputsPtr, outputsPtr;
inputsPtr.push_back(inputs[0].get());
outputsPtr.push_back(outputs[0].get());
auto job_id = runner->execute_async(inputsPtr, outputsPtr);
runner->wait(job_id.first, -1);
/* Copy the result from dataresult
Don't forget to scale it by mupliplying with output_scale*/
delete[] datain;
delete[] dataresult;

運(yùn)行演示

首先必須編譯演示程序和系統(tǒng)設(shè)置。啟動(dòng) docker gpu 映像后,在 docker 終端中運(yùn)行以下命令:

cp /tmp/.Xauthority ~/
sudo chown vitis-ai-user:vitis-ai-group ~/.Xauthority
sudo usermod -a -G video $(whoami)
sudo su $(whoami)
cd /workspace/setup/vck5000/
source setup.sh
cd /workspace/models/AI-Model-Zoo
wget https://www.xilinx.com/bin/public/openDownload?filename=openpose_pruned_0_3-vck5000-DPUCVDX8H-r1.4.1.tar.gz -O openpose_pruned_0_3-vck5000-DPUCVDX8H-r1.4.1.tar.gz
sudo mkdir /usr/share/vitis_ai_library/models
tar -xzvf openpose_pruned_0_3-vck5000-DPUCVDX8H-r1.4.1.tar.gz
sudo cp openpose_pruned_0_3 /usr/share/vitis_ai_library/models -r
sudo usermod -a -G video vitis-ai-user
/usr/bin/pip3 install matplotlib
conda activate vitis-ai-tensorflow2
cd /workspace/yoga-ai/
sh build.sh

要使用文章中的模型運(yùn)行 3D 估計(jì)器以獲取單張圖片,請(qǐng)運(yùn)行以下命令:(如果在冷重啟后第一次運(yùn)行,則需要大約 30 秒來(lái)對(duì)卡進(jìn)行編程

./build/yoga-ai-picture ./model/article/article.xmodel ./data/temp/emily-sea-coiWR0gT8Cw-unsplash.jpg 
generated ./data/temp/emily-sea-coiWR0gT8Cw-unsplash_result.jpg
generated ./data/temp/emily-sea-coiWR0gT8Cw-unsplash_1_plot.jpg

在這張圖片上運(yùn)行 3D 姿態(tài)估計(jì)器:

將生成此 2D 姿勢(shì)結(jié)果:

pYYBAGNYh8WAQfXaAAuwwqxhE3s898.jpg
?

以及以下 3D 結(jié)果:

poYBAGNYh8eAPBh8AABS6yzvKtY204.jpg
文章.xmodel
?

更深層次的 DNN(res.xmodel):

./build/yoga-ai-picture ./model/residual/res.xmodel ./data/temp/emily-sea-coiWR0gT8Cw-unsplash.jpg 
generated ./data/temp/emily-sea-coiWR0gT8Cw-unsplash_result.jpg
generated ./data/temp/emily-sea-coiWR0gT8Cw-unsplash_1_plot.jpg
pYYBAGNYh8qACWARAABSfMdsGP4154.jpg
res.x模型
?

對(duì)于多個(gè)主題:

./build/yoga-ai-picture ./model/article/article.xmodel ./data/temp/i-yunmai-BucQCjOvDyM-unsplash.jpg 
generated ./data/temp/i-yunmai-BucQCjOvDyM-unsplash_result.jpg
generated ./data/temp/i-yunmai-BucQCjOvDyM-unsplash_1_plot.jpg
generated ./data/temp/i-yunmai-BucQCjOvDyM-unsplash_2_plot.jpg
?
?
?
pYYBAGNYh9GADcGvAA3MEM7orcs315.jpg
?
1 / 4 ?由 i yunmai 在 Unsplash 上拍攝
?
./build/yoga-ai-picture ./model/residual/res.xmodel ./data/temp/i-yunmai-BucQCjOvDyM-unsplash.jpg 
generated ./data/temp/i-yunmai-BucQCjOvDyM-unsplash_result.jpg
generated ./data/temp/i-yunmai-BucQCjOvDyM-unsplash_1_plot.jpg
generated ./data/temp/i-yunmai-BucQCjOvDyM-unsplash_2_plot.jpg
?
?
?
poYBAGNYh9SAbUDUAABRRsbqM0E478.jpg
?
1 / 2 ? res.xmodel
?

圖片中有三個(gè)主題,但其中只有兩個(gè)擁有所有錨點(diǎn)。

實(shí)時(shí)運(yùn)行 3D 姿態(tài)估計(jì)器:

./build/yoga-ai-mt ./model/article/article.xmodel
or
./build/yoga-ai-mt ./model/residual/res.xmodel

這將打開(kāi)它找到的第一個(gè)網(wǎng)絡(luò)攝像頭并運(yùn)行 3D 姿勢(shì)估計(jì)器

?
?

FPS 受到房間照明的限制,而不是 2D 估計(jì)器或 2D 到 3D DNN 的限制,它們非??欤绕涫窃谂幚頃r(shí)(批處理最多 8 幀)。

不幸的是,我找不到 c++ 原生的 3D 繪圖庫(kù),所以我使用了 python 中的 matplotlib 庫(kù)和 c++ 包裝器。它可以創(chuàng)建繪圖的速度約為 2-3 FPS,遠(yuǎn)低于相機(jī)或姿勢(shì)估計(jì)器。

GAN 示例

將以 10 FPS 的速率從視頻中提取第一幀:

mkdir -p ./data/video/frames
find ./data/video -maxdepth 1 -name '*.webm' -print0 | xargs -0 -i sh -c 'fullfile="{}"; filename=${fullfile##*/}; name=${filename%%.*}; ffmpeg -i "$fullfile" -r 10/1 ./data/video/frames/"$name"%010d.jpg'

然后 2D 估計(jì)器將在每個(gè)圖像上運(yùn)行:

./build/yoga-ai-multiple ./data/video/frames > ./data/video/frames.json

最后,帶有 2D 姿勢(shì)的 json 將被預(yù)處理(縮放、居中)并保存為 .tfrecords 文件:

python prepare_data_gan.py ./data/video/

訓(xùn)練:

rm -rf ./logs/
rm -rf ./model/gan/*
python train-gan.py

選擇型號(hào):

tensorboard --logdir logs/ --bind_all

生成器和鑒別器網(wǎng)絡(luò)都必須保持平衡,損失函數(shù)朝著不同的目標(biāo)工作。

poYBAGNYh9aARds5AABrybaEzB8071.png
?

理想情況下,生成器和判別器的損失函數(shù)都應(yīng)盡可能接近 1,這意味著判別器很難區(qū)分生成的解決方案和真實(shí)的解決方案。

Epoch 100 - 12.01 sec, Gen Loss: 1.3215000629425049, Disc Loss: 1.0641013383865356
Epoch 101 - 12.04 sec, Gen Loss: 1.4143874645233154, Disc Loss: 1.0295127630233765
Epoch 102 - 12.00 sec, Gen Loss: 1.3275189399719238, Disc Loss: 1.0719201564788818
Epoch 103 - 12.00 sec, Gen Loss: 1.3471262454986572, Disc Loss: 1.0649248361587524
Epoch 104 - 12.03 sec, Gen Loss: 1.3648614883422852, Disc Loss: 1.0483965873718262
Epoch 105 - 12.00 sec, Gen Loss: 1.387969732284546, Disc Loss: 1.0464917421340942
Epoch 106 - 12.01 sec, Gen Loss: 1.369732141494751, Disc Loss: 1.0375384092330933
Epoch 107 - 12.01 sec, Gen Loss: 1.3962113857269287, Disc Loss: 1.0418665409088135
Epoch 108 - 12.03 sec, Gen Loss: 1.391349196434021, Disc Loss: 1.0387295484542847
Epoch 109 - 12.02 sec, Gen Loss: 1.4321180582046509, Disc Loss: 1.0043883323669434
Epoch 110 - 12.02 sec, Gen Loss: 1.4454706907272339, Disc Loss: 1.0133466720581055

train-gan.py 腳本在每個(gè) epoch 保存生成器網(wǎng)絡(luò),我從 epoch 102 中選擇了網(wǎng)絡(luò):

cp ./model/gan/gan_102.h5 ./model/gan/gan.h5

量化和編譯:

python -u quantize.py --float_model model/gan/gan.h5 --quant_model model/gan/quant_gan.h5 --batchsize 64 --evaluate 2>&1 | tee quantize.log

vai_c_tensorflow2 --model model/gan/quant_gan.h5 --arch /opt/vitis_ai/compiler/arch/DPUCVDX8H/VCK5000/arch.json --output_dir model/gan --net_name gan

結(jié)果:

./build/yoga-ai-mt ./model/gan/gan.xmodel
?
?
?
?
pYYBAGNYh8WAQfXaAAuwwqxhE3s898.jpg
?
1 / 2
?
?
?
?
pYYBAGNYh-OATsIKAA-a6-P2QsM985.jpg
?
1 / 3
?

訓(xùn)練

所有模型都訓(xùn)練了 200 個(gè) epoch,batch_size 為 64。

article.xmodel 和 res.xmodel 都使用 Human3.6M 數(shù)據(jù)集。

gan.xmodel 在一個(gè)包含 35 個(gè)來(lái)自 YouTube 的瑜伽視頻的數(shù)據(jù)庫(kù)上進(jìn)行了訓(xùn)練。從這些視頻中,使用 ffmpeg 提取了 859812 張圖像,然后使用 build/yoga-ai-multiple 實(shí)用程序(運(yùn)行 2D open_pose)提取了 112210 個(gè)姿勢(shì)(存在所有錨點(diǎn))。

更多結(jié)果

?
?
?
poYBAGNYh-aAdYxyAAF6SWonk0A381.jpg
?
1 / 4 ? article.xmodel
?
?
?
?
poYBAGNYh-aAdYxyAAF6SWonk0A381.jpg
?
1 / 4 ? res.xmodel
?
?
?
?
poYBAGNYh-aAdYxyAAF6SWonk0A381.jpg
?
1 / 4 ? gan.xmodel
?

源文件

用于預(yù)處理數(shù)據(jù)集的腳本:

https://github.com/andrei-ace/yoga-ai/blob/master/prepare_data.py

https://github.com/andrei-ace/yoga-ai/blob/master/prepare_data_gan.py

https://github.com/andrei-ace/yoga-ai/blob/master/src/yoga-ai-multiple.cpp

用于訓(xùn)練神經(jīng)網(wǎng)絡(luò)的腳本:

https://github.com/andrei-ace/yoga-ai/blob/master/train-article.py

https://github.com/andrei-ace/yoga-ai/blob/master/train-res.py

https://github.com/andrei-ace/yoga-ai/blob/master/train-gan.py

演示程序:

https://github.com/andrei-ace/yoga-ai/blob/master/src/yoga-ai-picture.cpp

https://github.com/andrei-ace/yoga-ai/blob/master/src/yoga-ai-mt.cpp

結(jié)論

在 Human3.6M 數(shù)據(jù)集中找到的姿勢(shì)結(jié)果非常好,但對(duì)于看不見(jiàn)的姿勢(shì)卻不是很準(zhǔn)確。該數(shù)據(jù)集不包含任何瑜伽姿勢(shì),因此準(zhǔn)確度有些低。創(chuàng)建更多數(shù)據(jù)集將大大提高預(yù)測(cè)的準(zhǔn)確性,但最大的問(wèn)題是它們需要昂貴的設(shè)備來(lái)生產(chǎn)。

GAN 方法似乎是最有前途的方法,因?yàn)樗恍枰罅看嬖诘?2D 數(shù)據(jù)。一個(gè)簡(jiǎn)單的改進(jìn)是從不同角度拍攝相同的姿勢(shì),使用的 YouTube 視頻大多具有相同的角度。這不需要專業(yè)工作室中的任何昂貴設(shè)備,可以使用任何消費(fèi)級(jí)相機(jī),并且不需要同步它們,甚至不需要拍攝相同的演員。


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
  2. 1.06 MB  |  532次下載  |  免費(fèi)
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費(fèi)
  5. 3TC358743XBG評(píng)估板參考手冊(cè)
  6. 1.36 MB  |  330次下載  |  免費(fèi)
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費(fèi)
  9. 5元宇宙深度解析—未來(lái)的未來(lái)-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費(fèi)
  11. 6迪文DGUS開(kāi)發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費(fèi)
  13. 7元宇宙底層硬件系列報(bào)告
  14. 13.42 MB  |  182次下載  |  免費(fèi)
  15. 8FP5207XR-G1中文應(yīng)用手冊(cè)
  16. 1.09 MB  |  178次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21549次下載  |  免費(fèi)
  9. 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書(shū))
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德?tīng)栔?/a>
  16. 0.00 MB  |  6656次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191187次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)