Collecting Timelapses - Need your help
-
Hi @stuartofmt
Definitely. Appreciate the feedback. It allows me to think from many other perspectives which I didn't consider before. So thank you.To address the points.
- It's not a requirement. Step 2 in the instructions are so we can perform real world to image relation and find the perspective (elevation, azimuth, distance)
- Mentioned it as
moving the bed towards the camera
because usually for bed slinger printers when timelapses are taken the bed is moved a bit forward for a clearer image of the print. Wanted to generalize a bit but seems I have done the exact opposite. - Yes, exactly. This information will be helpful in finding an offset per setup as we can make a more accurate connection using perspective data we determine/calculate from point 1 above.
Again, thanks very much for questions. Super helpful.. Will change the document appropriately
-
That helps, although unless the extruder is 'parked" at a specific location when the image is captured, you really have no way of telling where it (the extruder) is. Images can typically be captured on layer change, at specific time intervals or a combination. There is also the question of latency between when the printer event (layer change / time lapse) occurs and when the image is actually captured (could be several seconds). So right there, you don't know where the extruder is, other than "somewhere".
I'm wondering if you are not better off with a calibration mark to make azimuth / elevation / distance determinations ? E.g. some sort of sticker attached to the bed and in view of the camera ? It seems that could work with many types of printers, bed slingers, standard cartesian etc.
Expanding on this last thought. Would the calibration excercise be better served by placing the calibration images ont he printer bed and then capturing images from various X Y Z coordinates. For sure, in the case of my cartesian printer, X and Y would never change but Z would. For othe types of printers, the results would be different.
Provided one of the calibration shapes remains on the bed during an actual print, does this then provide accurate information for what you want to achieve ?
-
@stuartofmt
Yeah I agree. But having an estimate would be sufficient to support the calibration process.So the test print we ask the users to print and take a timelapse of does actually contain markers so we can come up with a mapping between real-world and pixel coordinates.
Yeah you're right. It was also our initial though to use the calibration image and take images from different coordinates but then later we realised that it would potentially involve a lot of human errors. Hence, the test print(
test_model.stl
). But definitely it would be helpful to take different images of it from different coordinates as opposed to only taking from the timelapse coords.For the time being, yes. The calibration print(
test_model.stl
) and its timelapse would allow us to determine the camera coordinates/perspective to some extent. It's not perfect but it gives an estimation that's within the tolerance levels we accept. -
@stuartofmt said in Collecting Timelapses - Need your help:
you really have no way of telling where it (the extruder) is
We could extract that from the gcode as long as it's annotated in some way to show the points that the images are captured.
E.g. on layer change
-
@T3P3Tony said in Collecting Timelapses - Need your help:
@stuartofmt said in Collecting Timelapses - Need your help:
you really have no way of telling where it (the extruder) is
We could extract that from the gcode as long as it's annotated in some way to show the points that the images are captured.
E.g. on layer change
Yes, or pause the print on layer change, capture an image, resume print ( one of the capabilities of DuetLapse3).
I wanted to alert @yasas to the potential problem of latency in image capture and hence variance in the results. I've seen latencies of several seconds especially if the images are being streamed from a web service. Specifically, even if the image capture is requested at the time of layer change and we know XYZ, the actual image may be of some time later and the extruders XYZ could be some distance away. The question is, would that be significant?
This may or may not matter, perhaps close enough is good enough. In any case, its something that likely ought to be mentioned in the final paper.
@yasas One thing that would help is to more fully understand the nature of the study. Its clear that accounting for perspective distortion is part of the puzzle. Just why the position of the extruder matters is a mystery to me, other than perhaps its a marker for relatative position. But relative position of what?
Consider the case of a camera fixed to (say) the printer gantry, and using a cartesian printer with a "drop away" bed (E.g. Ender 5). The printing plane never changes relative to the camera, the extruder moves around in that plane. Some elements being printed will be closer / farther left / right in the camera's field of view (but always in the same plane). At any decent print speed, the extruder has move on from the e.g.layer change position, maybe by quite a lot by the time the image is captured. Does this matter? What perspective information is to be calculated.On the other hand, as the print progresses, already printed portions are moving away from the camera (in the above printer example) and perspective (of the already printed portion) is dominated by z height and independent of the extruder X,Y position.
Again, I'm trying to tease out the objective. Frankly, the hard part of most studies is ariving at a robust design for data capture. To the extent that @yasas can (or needs to) be prescriptive, the better the results can be. Maybe perspective does not matter that much (relative to the objective for this study) but that's a claim that has more weight if the method of assessing perspective does not have a lot of variation.
Sorry for being so long-winded (and repetative).
I'll have some time next week to gather some data for you. -
@stuartofmt AFAIK the position of the extruder only mattered in the case where it was a bed slinger, because its really the Y position of the bed in that case. other than of course the extruder could obscure the print i the images if it was in the way of the camera when a picture was taken.
-
@T3P3Tony said in Collecting Timelapses - Need your help:
@stuartofmt AFAIK the position of the extruder only mattered in the case where it was a bed slinger, because its really the Y position of the bed in that case. other than of course the extruder could obscure the print i the images if it was in the way of the camera when a picture was taken.
Agree that is likely the case. Given that this is a test model (sorry, I've only just looked) there is only a small number of layers, so Z height variation looks negligible. Also print quality is not really an issue - so perhaps the best approach is to use pause on layer change (where the time lapse software allows) and get the extruder well out of the way
Given this is a masters paper, I was trying to address the more general situation, of an arbitrary model, so that the study as a whole could be more robust.
-
@stuartofmt sure yes I think the point of the calibration print is simply to use it as a start point for your individual system so the position of the camera relative to the bed can be determined as a system calibration step. then as long as the camera position does not change relative to the bed, the actual time lapses can be of all sorts of models
-
I have not forgot about your request. I was in the middle of some changes to my setup, finishing off a plugin (for timelapse) and life ... it all took time.
I've got to revamp my camera mount since it is at way too shallow an angle (relative to the bed) for your purposes (looks straight across the bed at bed level). As soon as that is done, I'll create some output for you.
-
Hi @stuartofmt
Sorry I missed this.
No no that's totally fine. And I really appreciate it.
Take your time.
(And I know it's kind of a big ask given the calibration prints/printouts and everything. But it will definitely be helpful. Thank you.)