Skip to content

Commit

Permalink
sample_query
Browse files Browse the repository at this point in the history
  • Loading branch information
mabaorui committed May 13, 2021
1 parent 992fb22 commit c8e012d
Show file tree
Hide file tree
Showing 5 changed files with 3,467 additions and 34 deletions.
53 changes: 19 additions & 34 deletions NeuralPull.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
import trimesh
from im2mesh.utils import libmcubes
from im2mesh.utils.libkdtree import KDTree
import re

parser = argparse.ArgumentParser()
parser.add_argument('--train',action='store_true', default=False)
Expand All @@ -42,11 +43,11 @@
#INPUT_DIR = '/home/mabaorui/AtlasNetOwn/data/sphere/'
OUTPUT_DIR = a.out_dir
if(a.dataset=="shapenet"):
GT_DIR = '/data/mabaorui/project4/data/ShapeNet/' + a.class_idx + '/'
GT_DIR = './data/ShapeNet_GT/' + a.class_idx + '/'
if(a.dataset=="famous"):
GT_DIR = '/data1/mabaorui/AtlasNetOwn/data/famous/famous_noisefree/03_meshes/'
GT_DIR = './data/famous_noisefree/03_meshes/'
if(a.dataset=="ABC"):
GT_DIR = '/data1/mabaorui/AtlasNetOwn/data/abc_noisefree/03_meshes/'
GT_DIR = './data/abc_noisefree/03_meshes/'

TRAIN = a.train
bd = 0.55
Expand Down Expand Up @@ -190,27 +191,26 @@ def av_dist_None(array1, array2):
files_path = []

if(a.dataset == "shapenet"):
print('iii')
f = open('/data1/mabaorui/AtlasNetOwn/data/val.txt','r')
f = open('./data/shapenet_val.txt','r')
for index,line in enumerate(f):
if(line.strip().split('/')[0]==a.class_idx):
#print(line)
files.append(line.strip().split('/')[1])
f.close()

if(a.dataset == "famous"):
f = open('/data1/mabaorui/AtlasNetOwn/data/famous/famous_noisefree/testset.txt','r')
f = open('./data/famous_testset.txt','r')
for index,line in enumerate(f):
#print(line)
files.append(line.strip('\n'))
f.close()

if(a.dataset == "ABC"):
f = open('/data1/mabaorui/AtlasNetOwn/data/abc_noisefree/testset.txt','r')
for index,line in enumerate(f):
#print(line)
files.append(line.strip('\n'))
f.close()
if(a.dataset == "ABC" or a.dataset == "other"):
fileAll = os.listdir(INPUT_DIR)
for file in fileAll:
if(re.findall(r'.*.npz', file, flags=0)):
print(file.strip().split('.')[0])
files.append(file.strip().split('.')[0])

for file in files:
files_path.append(INPUT_DIR + file + '.npz')
Expand Down Expand Up @@ -355,7 +355,7 @@ def av_dist_None(array1, array2):
cd = 0
nc = 0
cd2 = 0
#or epoch in range(4,5):
#for epoch in range(20):
for epoch in range(test_num):
print('test:',epoch)
# if(os.path.exists(OUTPUT_DIR + file_test[epoch] + '.npz')):
Expand Down Expand Up @@ -394,8 +394,7 @@ def av_dist_None(array1, array2):
vox_min = np.min(vox.reshape((-1)))
print('max_min:',vox_max,vox_min)

#threshs = [0.0,0.00025,0.0005,0.00075,0.01,0.0125,0.015,0.0175,0.02]
threshs = [0.01]
threshs = [0.005]
for thresh in threshs:
print(np.sum(vox>thresh),np.sum(vox<thresh))

Expand Down Expand Up @@ -428,25 +427,11 @@ def av_dist_None(array1, array2):
mesh.export(OUTPUT_DIR + '/occn_' + files[epoch] + '_'+ str(thresh) + '.off')


# feature_bs = []
# for j in range(vertices.shape[0]):
# t = np.zeros(ONE_HOT)
# t[epoch] = 1
# feature_bs.append(t)
# feature_bs = np.asarray(feature_bs)
# grad_norm_c = sess.run([grad_norm],feed_dict={input_points_3d:vertices.reshape(1,-1,3),feature:feature_bs.reshape(1,-1,ONE_HOT)})
# #print('grad_norm',grad_norm_c)
# grad_norm_c = np.asarray(grad_norm_c)
# #print(grad_norm_c.shape)
# grad_norm_c = grad_norm_c.reshape(-1,3)


# mesh = trimesh.Trimesh(vertices, triangles,
# vertex_normals=grad_norm_c,
# process=False)
mesh = trimesh.Trimesh(vertices, triangles,
vertex_normals=None,
process=False)
if(a.dataset == 'other'):
continue
if(a.dataset=="shapenet"):
ps, idx = mesh.sample(1000000, return_index=True)
else:
Expand All @@ -457,16 +442,16 @@ def av_dist_None(array1, array2):
if(a.dataset=="shapenet"):
data = np.load(GT_DIR + files[epoch] + '/pointcloud.npz')
#data = np.load(file_test[epoch])
pointcloud = data['points'].reshape(1,-1,3)
normal = data['normals'].reshape(1,-1,3)
pointcloud = data['points']
normal = data['normals']
else:
mesh_gt = trimesh.load(GT_DIR + files[epoch] + '.ply')
pointcloud, idx_gt = mesh_gt.sample(10000, return_index=True)
pointcloud = pointcloud.astype(np.float32)
normal = mesh_gt.face_normals[idx_gt]

nc_t,cd_t,cd2_t = eval_pointcloud(ps,pointcloud.astype(np.float32),normals_pred.astype(np.float32),normal.astype(np.float32))
#np.savez(OUTPUT_DIR + files[epoch]+ '_'+ str(thresh),pp = ps, np = normals_pred, p = pointcloud[0,:,:], n = normal[0,:,:], nc = nc_t, cd = cd_t, cd2 = cd2_t)
np.savez(OUTPUT_DIR + files[epoch]+ '_'+ str(thresh),pp = ps, np = normals_pred, p = pointcloud, n = normal, nc = nc_t, cd = cd_t, cd2 = cd2_t)
nc = nc + nc_t
cd = cd + cd_t
cd2 = cd2 + cd2_t
Expand Down
100 changes: 100 additions & 0 deletions data/abc_noisefree_testset.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
00010218_4769314c71814669ba5d3512_trimesh_013
00010429_fc56088abf10474bba06f659_trimesh_004
00011000_8a21002f126e4425a811e70a_trimesh_004
00011171_db6e2de6f4ae4ec493ebe2aa_trimesh_047
00011563_26a622427a024bf3af381ee6_trimesh_014
00011602_c087f04c99464bf7ab2380c4_trimesh_000
00011696_1ca1ad2a09504ff1bf83cf74_trimesh_029
00011827_73c6505f827541168d5410e4_trimesh_096
00012076_bd0ba1071db44a4cb05e612c_trimesh_011
00012275_eb932687cefd46ec9539dff8_trimesh_012
00012324_4abcf5e80b7e46eeae89a8d1_trimesh_011
00012451_f54bcfcb352445bf90726b58_trimesh_001
00012754_b17656deace54b61b3130c7e_trimesh_019
00012756_b17656deace54b61b3130c7e_trimesh_021
00012809_c478c020bc394c7a9ee59016_trimesh_000
00012830_9302b464ff7a454a9404b130_trimesh_001
00013052_9084b77631834dd584b2ac93_trimesh_033
00013453_056d6da46d5d4183875e63e0_trimesh_000
00013698_4e525fcfdb0b458fbe78eff7_trimesh_007
00013858_5f60dba564944f9fbb15dc2c_trimesh_001
00014101_7b2cf2f0fd464e80a5062901_trimesh_000
00014155_a04f003ab9b74295bbed8248_trimesh_000
00014221_57e4213b31844b5b95cc62cd_trimesh_000
00014228_fb174aafb16d47abab609285_trimesh_002
00014393_4898b9df95db421ca3eeae4d_trimesh_022
00014405_4898b9df95db421ca3eeae4d_trimesh_034
00014452_55263057b8f440a0bb50b260_trimesh_017
00014489_f4297f01e3434034b7051ebb_trimesh_004
00014859_1d8dd0a5ddec465fad59927b_trimesh_009
00014952_e862f9e2bc81472a91a31206_trimesh_001
00015156_57353d3381fb481182d9bdc6_trimesh_010
00015159_57353d3381fb481182d9bdc6_trimesh_013
00015210_12887ce756cb4f65a197459d_trimesh_001
00015485_4dbee594ea49416a9fff1da1_trimesh_000
00015685_bca56983eee140db9aa4c9a1_trimesh_026
00015750_bca56983eee140db9aa4c9a1_trimesh_091
00015877_e675452ef2bc43a98476b3b5_trimesh_000
00016002_4290cac5423e4bd1a5765333_trimesh_001
00016038_6a303d45b5964354ae245448_trimesh_001
00016144_8dadc1c5885e427292f34e71_trimesh_026
00016606_3d6966cd42eb44ab8f4224f2_trimesh_146
00016680_5a9a2a2a5eb64501863164e9_trimesh_000
00016761_86a5a4fd65ba409cba91c4a7_trimesh_002
00016764_8466030d7a6f4c1e9e0d20e9_trimesh_000
00016950_1cb64527a16c453a88b3e1c7_trimesh_000
00017012_cd8dbafbc2a3422eb55090d7_trimesh_000
00017014_fbef9df8f24940a0a2df6ccb_trimesh_001
00017633_28ef8351018b4be18377fa7b_trimesh_005
00017682_f0ea0b827ae34675a4162390_trimesh_003
00017846_08893609d30e453493c4c079_trimesh_021
00017927_5152472ea8774558ad4150b6_trimesh_000
00018330_ae93a6d282364256a7bb3358_trimesh_010
00018394_6a88c6c0476244b7bddd0882_trimesh_022
00018869_72063a0c38b94f71a6524566_trimesh_000
00018874_b302da1a26764dd0afcd55ff_trimesh_002
00018878_b302da1a26764dd0afcd55ff_trimesh_006
00018947_b302da1a26764dd0afcd55ff_trimesh_075
00019114_87f2e2e15b2746ffa4a2fd9a_trimesh_003
00019152_71752f2bc5bc4c6388aece57_trimesh_005
00019203_1bcd132f82c84761b4e9851d_trimesh_001
00019536_9f1d70a0bd8a430c8bbc966f_trimesh_000
00019908_f97c002abbfe448d8111d962_trimesh_003
00019935_1935a08cf21c47e1ab92af60_trimesh_000
00019975_7259f13b84f34cce843db1f8_trimesh_018
00990213_4971f9b420731f8954a75f37_trimesh_001
00990546_db31ddca9d3585c330dcce3a_trimesh_000
00990573_d1914c7f68f9a6b58bed9421_trimesh_000
00990790_27061e003deafa3e980a66cc_trimesh_000
00990852_a96a763300a12f23edea277d_trimesh_004
00991131_381d5e782c28201b064b4a84_trimesh_023
00991231_e7c82546b534f398a57199b4_trimesh_000
00991357_6cc4a08efbae6c2c09cff23e_trimesh_026
00991432_9fa39c2c08f022322951aff0_trimesh_002
00991527_88dccf1e5fa948d4fe1757ed_trimesh_009
00991536_811d53ea1e6b2aa0a916faf0_trimesh_001
00991549_ecacd48a6851e8a6a3f8e137_trimesh_001
00991595_3339b7e28e2c88d40ae02da2_trimesh_000
00991623_957e42412f4b1c9ec00e7db1_trimesh_003
00991819_7485527dacdfd5683fb08fbb_trimesh_000
00991836_f97bf078ab424c7f1d7685ad_trimesh_007
00991916_78dc1680035fad414f8faec4_trimesh_006
00992087_adbf0b351ea40b651859747a_trimesh_066
00992113_adbf0b351ea40b651859747a_trimesh_092
00992168_c2961a8b4a7f3db182b5977e_trimesh_015
00992213_0b7498abcdc9f36868e31e60_trimesh_006
00992294_c5390f6bb4e80a940dae7c15_trimesh_000
00992551_44cc3aa0e2de59f4440a6e4b_trimesh_002
00992690_ed0f9f06ad21b92e7ffab606_trimesh_002
00992710_93d06489c012cacd7a28e171_trimesh_011
00993520_252f32a9edf1094f9b436c94_trimesh_000
00993632_eb58d1abb0fc233d8b912460_trimesh_001
00993680_6ae0d010a3be388ddae3b721_trimesh_000
00993692_494894597fe7b39310a44a99_trimesh_000
00993706_f8bc5c196ab9685d0182bbed_trimesh_001
00993722_a1f027f5424cd7a5f7bcf3a9_trimesh_000
00993805_e549aee7e0b31a7501eb8669_trimesh_012
00993899_49d8d2a6df97eac6808a4674_trimesh_000
00993917_4049b13b8ff84e59b2cfc43a_trimesh_000
00994034_9299b4c10539bb6b50b162d7_trimesh_000
00994329_396b6b66d2dacc3c5f50bf77_trimesh_079
22 changes: 22 additions & 0 deletions data/famous_noisefree_testset.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
3DBenchy
Armadillo
Cup34
Liberty
LibertyBase
Utah_teapot_(solid)
angel
bunny
column
dragon
eg07_dragon_original
flower
galera
hand
happy
horse
netsuke
serapis
tortuga
xyzrgb_dragon_clean
xyzrgb_statuette
yoda
Loading

0 comments on commit c8e012d

Please sign in to comment.