資料介紹
描述
介紹
雖然 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)信息的不同方法。

這項(xiàng)工作基于兩篇文章:
- Julieta Martinez、Rayat Hossain、Javier Romero 和 James J. Little為 3d 人體姿態(tài)估計(jì)提供了一個(gè)簡(jiǎn)單而有效的基線
- 可以僅從 2D 投影中學(xué)習(xí) 3D 姿勢(shì)嗎?作者:Dylan Drover、Rohith MV、Ching-Hang Chen、Amit Agrawal、Ambrish Tyagi 和 Cong Phuoc Huynh
第一篇文章探索了一種簡(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)。

入門
- 按照此處所述安裝 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:
- Julieta Martinez、Rayat Hossain、Javier Romero 和 James J. Little為 3d 人體姿態(tài)估計(jì)提供了一個(gè)簡(jiǎn)單而有效的基線
- 可以僅從 2D 投影中學(xué)習(xí) 3D 姿勢(shì)嗎?作者:Dylan Drover、Rohith MV、Ching-Hang Chen、Amit Agrawal、Ambrish Tyagi 和 Cong Phuoc Huynh
第一個(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:
- cf_openpose_aichallenger_368_368_0.3_189.7G ,可在 Vitis AI 模型動(dòng)物園中找到
使用 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é)果:

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

更深層次的 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

對(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

./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

圖片中有三個(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)工作。

理想情況下,生成器和判別器的損失函數(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


訓(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é)果



源文件
用于預(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ī),并且不需要同步它們,甚至不需要拍攝相同的演員。
- VT6000系列激光共聚焦掃描顯微鏡3D測(cè)量,圖像形態(tài)細(xì)節(jié)更清晰!
- XKF3 - 使用慣性和磁感應(yīng)的 3D 方向的低功耗優(yōu)化估計(jì)
- AD常用3D封裝庫(kù)(STEP)下載 398次下載
- 在AD19 PCB中添加3D封裝模型的詳細(xì)步驟 0次下載
- 3D Master產(chǎn)品使用手冊(cè)英文版 0次下載
- 基于視覺(jué)注意力的全卷積網(wǎng)絡(luò)3D內(nèi)容生成方法 11次下載
- 采用自監(jiān)督CNN進(jìn)行單圖像深度估計(jì)的方法 13次下載
- 可有效區(qū)分復(fù)雜3D方向關(guān)系的3DR46模型 34次下載
- 基于全局背景光估計(jì)和顏色校正的圖像增強(qiáng)算法 6次下載
- Altium Designer的LED 3D封裝集成 219次下載
- 2D到3D視頻自動(dòng)轉(zhuǎn)換系統(tǒng) 1次下載
- 3D卷積神經(jīng)網(wǎng)絡(luò)的手勢(shì)識(shí)別 2次下載
- 基于局部姿態(tài)先驗(yàn)的深度圖像3D人體運(yùn)動(dòng)捕獲方法 0次下載
- 裸眼3D詳解 0次下載
- 利用PADS實(shí)現(xiàn)3D可視化 477次下載
- 從單張圖像中揭示全局幾何信息:實(shí)現(xiàn)高效視覺(jué)定位的新途徑 766次閱讀
- 使用Python從2D圖像進(jìn)行3D重建過(guò)程詳解 3319次閱讀
- 3D打印技術(shù)的種類 2709次閱讀
- 探索3D檢測(cè)需要做哪些適配 1028次閱讀
- 基于幾何單目3D目標(biāo)檢測(cè)的密集幾何約束深度估計(jì)器 976次閱讀
- iNeRF對(duì)RGB圖像進(jìn)行類別級(jí)別的物體姿態(tài)估計(jì) 1497次閱讀
- 什么是3D成像_3D成像應(yīng)用 8727次閱讀
- 3D CAD 設(shè)計(jì)軟件SolidWorks進(jìn)行力學(xué)分析的教程 1w次閱讀
- 機(jī)器視覺(jué)中獲得3D圖像的幾種方法詳細(xì)資料說(shuō)明 7427次閱讀
- 3D智能電視概念及原理分析 2466次閱讀
- 你知道3D運(yùn)動(dòng)雕塑嗎?利用AI檢測(cè)人體2D圖像并恢復(fù)成3D模型 4625次閱讀
- 基于DensePose的姿勢(shì)轉(zhuǎn)換系統(tǒng),僅根據(jù)一張輸入圖像和目標(biāo)姿勢(shì) 1w次閱讀
- 一款只通過(guò)單個(gè)普通的2D攝像頭就能實(shí)時(shí)捕捉視頻中的3D動(dòng)作的系統(tǒng) 1.3w次閱讀
- 裸眼3d電視機(jī)趨勢(shì)分析 3918次閱讀
- FAIR和INRIA的合作提出人體姿勢(shì)估計(jì)新模型,適用于人體3D表面構(gòu)建 5836次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
- 1.06 MB | 532次下載 | 免費(fèi)
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費(fèi)
- 3TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費(fèi)
- 5元宇宙深度解析—未來(lái)的未來(lái)-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費(fèi)
- 6迪文DGUS開(kāi)發(fā)指南
- 31.67 MB | 194次下載 | 免費(fèi)
- 7元宇宙底層硬件系列報(bào)告
- 13.42 MB | 182次下載 | 免費(fèi)
- 8FP5207XR-G1中文應(yīng)用手冊(cè)
- 1.09 MB | 178次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書(shū))
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德?tīng)栔?/a>
- 0.00 MB | 6656次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191187次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論