UAVM VS 해보세요.

UAVMV 소개


Auto Vehicle의 약칭입니다.
광도를 생성하는 샘플 이미지를 촬영하는 데 사용되는 빈 길의 최단 경로를 정하는 것이 목적인 빈 길 계획(Arial Path Planing)의 한 방법이다.
현재 무인기는 산업용도 1시간가량 보유하고 있다.보통 사용하면 40~20분이 가장 많기 때문에 이 배터리는 한 번에 얼마를 뽑을 수 있는지에 초점이 맞춰진다.또한 유효한 광도계에 사용되는 이미지 샘플의 수집 경로 검색도 확인합니다.
다음 논문은 그곳을 탐색하고 해결하는 것을 목적으로 한다.
Aerial Path Planning for Urban Scene Reconstruction:A Continuous Optimization Method and Benchmark
단계
1. MVC 파이프라인을 이용하여 점 그룹 및 메쉬 정보 만들기
2. UAVMVS 프로세스로 경로 정보 만들기
를 두 단계로 나누어 최종 촬영 경로를 만들 수 있습니다.

이른바 MVC


Multi-View Environment의 줄임말로 다중 시각의 시차를 이용하여 점 그룹 정보를 추정하는 응용이다.
UAVMLS에서는 먼저 이 도구를 통해 점조 정보를 만들어 청결하게 하고 격자 정보에 빠진다.
이 섹션과 관련해서는 메쉬룸 등 다른 멀티뷰계의 포토메트릭 그룹, 메쉬 생성 도구를 선택하여 매개변수 처리 등 속도, 정밀도가 향상될 것으로 기대할 수 있습니다.

뮤직비디오 샘플 장면.


UAV Pathplanning Dataset & Benchmark
Housing

샘플 Py


샘플 장면에 포함된 Play 파일의 예입니다.
아래의 견본 데이터를 얻기 위해서는 반드시 절차를 따라야 한다.

gesox-mesh.ply



airspace.ply



MVC의 대안


MVE는 무거워서 더 가볍고 편리한 Multi-View 시스템 도구가 없을 수 있습니다.

Meshroom


원본 프로그램의 무료 도구를 엽니다.
노드 기반 UI를 특징으로 하여 각 노드는 서로 다른 라이브러리 관리로서 독립적입니다.
따라서 스스로 확장하는 것도 노드 단위(기능 단위)로 할 수 있다.

Reality Capture


기업에도 규격의 예가 많은 도구가 있다.
오류가 발생하고 평가가 낮은 이미지는 자동으로 계산 처리에 포함되지 않은 분배를 진행합니다.
후디니의 게임 DevToolset에서도 사용할 수 있고, 거기서도 일련의 작업 절차를 만들 수 있기 때문이다.
이따가 해볼게요.

Metashape


이것도 많은 기업 방법의 예가 있는 도구다.
원래는 포토스칸이라는 이름으로 판매됐다.

MVC 파이프라인


일련의 명령의 흐름.(MVC에서 이걸 순서대로 두드리면 되는 녀석)
MVE.sh
makescene -i <image-dir> <scene-dir>
sfmrecon <scene-dir>
dmrecon -s2 <scene-dir>
scene2pset -F2 <scene-dir> <scene-dir>/pset-L2.ply
fssrecon <scene-dir>/pset-L2.ply <scene-dir>/surface-L2.ply
meshclean -t10 <scene-dir>/surface-L2.ply <scene-dir>/surface-L2-clean.ply

PLY화


기본값이면 매우 많은 수의 정점이 생성됩니다.이것은 상당히 무거운 서류라는 것을 주의해 주십시오.
scene2pset -F2 <scene-dir> <scene-dir>/pset-L2.ply

격자화 재구성


이것을 통해 정수리를 대폭 삭감할 수 있다.
fssrecon <scene-dir>/pset-L2.ply <scene-dir>/surface-L2.ply

그물 모양을 깨끗이 제거하다.

meshclean -t10 <scene-dir>/surface-L2.ply <scene-dir>/surface-L2-clean.ply

UAVMV 프로세스


일련의 명령의 흐름.
UAVMVS.sh
#!/bin/bash
set -e
#Focal: 15/17.3=0.867
aspect=0.66 #4000/6000 camera resolution
focal=0.867
maxD=30
maxDR=35
minD=5
alt=15
elev=-15
f=80
s=80

# Prepare Directory Structure ==============================

#Set proper directories for your build!
binaries=/home/work/DHR/uavmvs/build/release
scripts=$(cd ~/projects/traject/uavplanning/scripts; pwd)
mveapps=/home/work/DHR/mve/apps
export PATH=/bin:/usr/bin:$binaries:$scripts

root=$(pwd)
host=$(hostname)

#Create project name of experiment
project=/home/work/DHR/

meshes=$project/meshes
models=$project/models
scenes=$project/scenes

mkdir -p $project
mkdir -p $meshes    
mkdir -p $models
mkdir -p $scenes
mkdir -p $scenes/nadir
mkdir -p $scenes/recon



# Setup folder structure
overlap_dir=$scenes/overlap-${f}-${s}
plan_dir=$overlap_dir/plan
nadir_dir=$overlap_dir/nadir
oblique_dir=$overlap_dir/oblique
nadir_opti_dir=$overlap_dir/nadir-opti
oblique_opti_dir=$overlap_dir/oblique-opti
oblique_view=oblique

mkdir -p $overlap_dir
mkdir -p $plan_dir


# ==================================================

#This takes as input the point cloud representing the proxy model
#Note: if you only have a mesh or it has many holes first convert to point cloud using this command:
generate_proxy_cloud gesox-mesh.ply gesox-cloud.ply --samples=25

generate_proxy_mesh $root/$scenes/recon/gesox-cloud.ply $root/$scenes/recon/gesox-mesh.ply

generate_proxy_mesh $root/$scenes/recon/gesox-cloud.ply $root/$scenes/recon/airspace.ply \
    --min-distance=5.0

generate-trajectory $root/$scenes/recon/gesox-mesh.ply oblique.traj \
    --altitude=$alt --elevation=$elev --angles=0 \
    --forward-overlap=$f --side-overlap=$s

optimize_trajectory oblique.traj $root/$scenes/recon/gesox-mesh.ply $root/$scenes/recon/gesox-cloud.ply \
    $root/$scenes/recon/airspace.ply oblique-opti.traj \
    -m 10000 --max-distance=$maxD --min-distance=$minD

shorten-trajectory oblique-opti.traj oblique-opti.traj

# This will visualize how good the reconstruction is estimated to be
evaluate_trajectory oblique-opti.traj $root/$meshes/mesh.ply $root/$scenes/recon/gesox-cloud.ply \
    --max-distance=$maxDR -r recon.ply

#This converts trajectory views to spline trajectory in csv format
interpolate-trajectory oblique-opti.traj oblique_spline.csv

프록시 메쉬 만들기

generate_proxy_mesh $root/$scenes/recon/gesox-cloud.ply $root/$scenes/recon/gesox-mesh.ply
generate_proxy_mesh $root/$scenes/recon/gesox-cloud.ply $root/$scenes/recon/airspace.ply \
    --min-distance=5.0

경로 생성

generate-trajectory $root/$scenes/recon/gesox-mesh.ply oblique.traj \
    --altitude=$alt --elevation=$elev --angles=0 \
    --forward-overlap=$f --side-overlap=$s

경로 정보 수정


MVC에서 생성된 gesox-mesh입니다.및 ply
optimize_trajectory oblique.traj $root/$scenes/recon/gesox-mesh.ply $root/$scenes/recon/gesox-cloud.ply \
    $root/$scenes/recon/airspace.ply oblique-opti.traj \
    -m 10000 --max-distance=$maxD --min-distance=$minD

최단 경로 순서의 분배


이곳에서는 판매원 문제를 이용하여 가장 짧은 노선을 찾았다.
만약 촬영 포인트가 증가하면 처리도 무거워질까요?
shorten-trajectory oblique-opti.traj oblique-opti.traj

경로 정보 사이의 보완


경로 정보를 설명하는 csv 파일을 만듭니다.
Drene의 자동 주파수 가이드 프로그램(Waypoint 시스템)은 csv 정보를 입력하여 설치를 완료합니다.
interpolate-trajectory oblique-opti.traj oblique_spline.csv

평점


이전 공정이 아직 완전히 섞이지 않았기 때문에 보류 중입니다.

확인


pset-L2.ply => airspace.ply


1억 3천만 정점에서 아리스페이스로 직행하는 proxy메쉬 물건을 만들어 봤어요.
$ generate_proxy_mesh Ply/pset-L2.ply Proxy/airspace.ply

좋은 웹페이지 즐겨찾기