-
Notifications
You must be signed in to change notification settings - Fork 301
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Own dataset training results are not accurate #207
Comments
@fbas-est |
Hello, I'm also making my own datasets for training and using realsense camera to estimate the attitude of objects. I've also encountered some problems. Is it convenient to add a contact information for communication? My wechat is 18845107925 |
@jc0725 |
@fbas-est Also, after training, what script did you run to get the 6DoF results? I apologize if my questions are quite elementary. |
@jc0725 |
@fbas-est |
Thank you very much for your reply. I also used ObjectDatasetTools to make my own dataset. I made 10000 pictures of a single object, but after training 20epoch, the posture of the model was changed greatly when I called the model to pose the object. I wanted to ask you how many rounds you trained, and how did you get the green bounding box in your video? Thank you. @fbas-est |
3d844a26c702f624fea6619a37124476.mp4 |
Here is the code for visualizing: @Xushuangyin |
I made 10000 pictures from different videos. If there are too many pictures, the program will report an error. I made my own object grid. How can I solve the problem you said? @fbas-est |
Thank you very much for your code! @fbas-est |
@fbas-est |
@Xushuangyin |
My datasets is composed of different videos, but the grid used by each video is generated at that time. Each grid is different, but when I train the network, the grid loaded is made by myself. Will this affect the accuracy of the model?
…------------------ 原始邮件 ------------------
发件人: "j96w/DenseFusion" ***@***.***>;
发送时间: 2022年4月15日(星期五) 晚上8:16
***@***.***>;
***@***.******@***.***>;
主题: Re: [j96w/DenseFusion] Own dataset training results are not accurate (Issue #207)
@Xushuangyin
I suggest to begin by finding a way to render the point cloud into the labeled dataset's color images (3D bounding box won't work). If the target pointcloud (the pointcloud used as label) is not accurate then the network won't work.
If that's the problem, then for every video collected you need to change the transforms in the file transforms.npy so that they have one mesh as reference and then label them with that mesh
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: ***@***.***>
|
do you guys resize images during inference ?
its different each time, so i guess its the image or mask size ? where should i resize ? @Xushuangyin @fbas-est |
Can I see your specific error code?
…------------------ 原始邮件 ------------------
发件人: "j96w/DenseFusion" ***@***.***>;
发送时间: 2022年4月23日(星期六) 凌晨1:50
***@***.***>;
***@***.******@***.***>;
主题: Re: [j96w/DenseFusion] Own dataset training results are not accurate (Issue #207)
do you guys resize images during inference ?
i get weird convolution errors :
RuntimeError: Calculated padded input size per channel: (6 x 320). Kernel size: (7 x 7). Kernel size can't be greater than actual input size
RuntimeError: Calculated padded input size per channel: (6 x 287). Kernel size: (7 x 7). Kernel size can't be greater than actual input size
its different each time, so i guess its the image or mask size ? where should i resize ?
@Xushuangyin @fbas-est
thank you
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: ***@***.***>
|
hi @Xushuangyin thank you for responding, i actually found the source it was because i was transposing the array incorrectly. |
right now @Xushuangyin i a having issues with nana values in my training when i removed the /1000 since my depth and other metrics are in meters. I also reduced the learning rate but i still get nan |
@Xushuangyin so now i just have giant results. I confirmed that my meshes are in meters so i removed the /1000. Full code here
Thank you for your help @Xushuangyin |
Hey @fbas-est , I'm having issues with my training as well. Did you notice anything weird in your avg distance when you removed /1000 ? Did you remove it anywhere else than dataset.py ? Thank you @Xushuangyin and @an99990 i solve it with the array. Now i have issues with training and gettingd nans too because my stuff are in meters .. |
cam_scale = 0.001 |
Because of my cam_ Scale = 0.001, so the code I modified is like this |
thank you so much @Xushuangyin , i was able to finally have results using cam_scale/0.001 and without dividing/1000 in getittem. I will start another training with the correct values. thank you so much ! |
Hello. May I ask how any of you were able to train your custom dataset on SegNet? My guess was that I would have to run the SegNet train.py for each of the individual objects for Linemod. |
I used labelme to label the objects in the custom dataset.
…------------------ 原始邮件 ------------------
发件人: "j96w/DenseFusion" ***@***.***>;
发送时间: 2022年5月11日(星期三) 中午1:35
***@***.***>;
***@***.******@***.***>;
主题: Re: [j96w/DenseFusion] Own dataset training results are not accurate (Issue #207)
Hello. May I ask how any of you were able to train your custom dataset on SegNet?
It seems like the provided code is for YCB format and not Linemod format.
My guess was that I would have to run the SegNet train.py for each of the individual objects for Linemod.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: ***@***.***>
|
Thank you for your response. |
I trained 300 pictures of a single object using Seg Net. @jc0725 |
@Xushuangyin |
@an99990 |
@fbas-est I generated image from Unity. The image are 560 x 940 , if I remember correctly. My poses do not seem to be quite correct tho. Heres an image during inference. I might create a dataset with images from the ZED camera. The camera in Unity didnt have the same camera intrinsic as the ZED, so that might be why my results arent precised. I also never reached the refinement step during training. |
@an99990 Yes that is probably the issue, ZED camera comes with 4 build in calibrations with the smallest being for 672x376 images. If you train the network with synthetic data I guess you have to replicate the images that your camera captures. May I ask how you created the synthetic dataset ? |
i have a Unity project to create dataset with linemode format. I cant share it tho since it is not the companies stuff :/ |
May I ask how any of you were able to output and save the vanilla_segmentation label png files? |
@an99990 Hello. i make a linemod dataset by Objectdatasettools. in the eval_linemod.py, it's success rate is 0.9285. but when i visualize it, the point seems to be in the wrong place. Can you give me some advice? Thank you in advance! |
Have you payed with the cam_scale ? i had to change it to 1000, try with different values, it seems that its bigger than your object |
@an99990 Thanks for your reply. I make the dataset by realsense. I change the cam_scale to it's own value, like this 0.0002500000118743628 is the depth scale of real camera. |
Hi @Xushuangyin and @an99990. I hope you are doing well. I am trying to train this model on my custom dataset. Can you please share if you were able to successfully train the model? Can you share the results if possible? Thanks. |
@jc0725 Hi, I also trained myself to build linemod datasets, and when I debug, I found that 'input_file = open('{0}/data/{1}/train.txt'.format(self.root, '%02d' % item)) 'error' No such file or Directory: '/ datasets/linemod/linemod_preprocessed/data / 01 / train. txt', 'cause I won't be able to view the subsequent code to run through the debug. |
@fbas-est Hi, I also trained myself to build linemod datasets, and when I debug, I found that 'input_file = open('{0}/data/{1}/train.txt'.format(self.root, '%02d' % item)) 'error' No such file or Directory: '/ datasets/linemod/linemod_preprocessed/data / 01 / train. txt', 'cause I won't be able to view the subsequent code to run through the debug. |
Hi,
I try to train the network on my own dataset but the results are not good enough despite the fact that the model converge.
I’ve a dataset of a total of 3000 annotated images.
My camera is a realsense depth camera D415 with the following parameters:
"fx": 607.3137817382812
"fy": 606.8499145507812
"ppx": 330.49334716796875
"ppy": 239.25704956054688
"height": 480
"width": 640
"depth_scale": 0.0010000000474974513
I’ve created my own dataset.py with respect to the linemod’s dataset.py but I changed the following lines:
cam_scale = 1.0
pt2 = depth_masked / cam_scale
pt0 = (ymap_masked - self.cam_cx) * pt2 / self.cam_fx
pt1 = (xmap_masked - self.cam_cy) * pt2 / self.cam_fy
cloud = np.concatenate((pt0, pt1, pt2), axis=1)
cloud = cloud / 1000.0
to:
cam_scale = self.cam_scale # 0.0010000000474974513
pt2 = depth_masked * cam_scale
pt0 = (ymap_masked - self.cam_cx) * pt2 / self.cam_fx
pt1 = (xmap_masked - self.cam_cy) * pt2/ self.cam_fy
cloud = np.concatenate((pt0, pt1, pt2), axis=1)
cloud = cloud
I also removed every division by 1000 in the code because my mesh values are already in meters.
The object’s diam is: 0.324
The estimator’s loss is: 0.0146578 and
the refiner’s loss is : 0.01338558
Any idea of what is wrong with my iplementation?
Thanks.
The text was updated successfully, but these errors were encountered: