Search papers, labs, and topics across Lattice.
This paper introduces a differentiable packing framework that optimizes both the poses of irregular 3D objects and the dimensions of their containers simultaneously using a single gradient-based loop. By integrating six physics-inspired loss terms and employing an adaptive squeezing mechanism, the method achieves significant reductions in container volume while maintaining computational efficiency. The results show that the proposed approach yields containers that are 11 to 32 percent smaller than existing methods, with a substantial speedup in processing time on standard hardware.
Achieving up to 32% smaller containers in less than 4 minutes on a consumer GPU could revolutionize the efficiency of 3D object packing in various applications.
Most existing approaches either fix the container in advance or optimize only a single container dimension through an outer search loop, leaving the remaining dimensions as a manual tuning problem. We present a differentiable packing framework that jointly optimizes all 6N object pose parameters and all three container side lengths inside a single gradient-based loop. The formulation combines six physics-inspired, differentiable loss terms computed directly on triangle meshes through axis-aligned bounding-box proxies. An adaptive squeezing mechanism periodically tightens the container whenever the overlap loss falls below a pair-count-scaled threshold, producing a large initial drop in container volume, followed by small refinements. All pairwise computations are written in tensor-broadcasting form, giving a 3.4 to 54 times speedup over a reference loop-based implementation. The pipeline is implemented in Python and PyTorch, with no physics engine, FFT library, or convex decomposition. On multiple object categories, the method produces containers that are 11 to 32 percent smaller than time-matched DBLF and simulated-annealing baselines at N =100, while running in under 4 minutes per instance on a single consumer GPU.