Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Packing irregular objects with deep reinforcement learning.
| Date | Stars |
|---|---|
| 2026-07-31 | 322 |
| 2026-08-06 | 322 |
| 2026-08-07 | 322 |
| 2026-08-13 | 323 |
| 2026-08-14 | 323 |
| 2026-08-15 | 323 |
| 2026-08-18 | 323 |
| 2026-09-08 | 323 |
| 2026-09-20 | 323 |
Today
— stars today
This week
— stars this week
This month
— stars this month
Momentum
0.0
growth rate 0.00%/day
# IR-BPP: Learning Physically Realizable Skills for Online Packing of General 3D Shapes
We develop a learning-based solver for packing **arbitrarily-shaped (irregular)** objects in a physically realizable problem setting, which is arguably the most challenging setting of bin packing problems. This work is newly been accepted by **ACM Transactions on Graphics (TOG)**.
See these links for video demonstration: [YouTube](https://www.youtube.com/watch?v=z4Q05EGcW64&t=56s), [bilibili](https://www.bilibili.com/video/BV1ho4y1M7gG/)
We release our source code and build well-established benchmark datasets. Our datasets consist of training and testing objects, separated into regular cube sets and large-scale irregular sets with various geometric characteristics, and specifying a container size.
As our reviewers suggested, although there have been numerous packing papers using RL for higher packing density, there is a lack of a **common** dataset to benchmark performance. We believe that having such a common benchmark would greatly facilitate research and comparison of different techniques.
If you are interested, please star this repo!

## Paper
For more details, please see our paper [Learning Physically Realizable Skills for Online Packing of General 3D Shapes](https://openreview.net/forum?id=bfuGjlCwAq). If this code is useful for your work, please cite our paper:
```
@article{zhao2022learning,
title={Learning Physically Realizable Skills for Online Packing of General 3D Shapes},
author={Zhao, Hang and Pan, Zherong and Yu, Yang and Xu, Kai},
journal={ACM Transactions on Graphics},
year={2022},
publisher={ACM New York, NY}
}
```
### Performance
We provide the packing utility performance of our method on each dataset here for quick comparison. We run all methods in the same environment setup with the same test sequences. A total of 2000 object sequences, randomly generated from each dataset, are tested.
| Dataset | Online | Buffered (k = 3) | Buffered (k = 5) | Buffered (k = 10) |
|------------------|:------:|-----------------:|-----------------:|------------------:|
| *General* | 44.5% | 45.3% | 47.5% | 55.7% |
| *BlockOut* | 71.0% | 71.7% | 74.8% | 78.0% |
| *Kitchen* | 39.2% | 44.3% | 48.8% | 57.8% |
| *ABC* | 34.0% | 35.3% | 37.4% | 41.0% |
| *Cube* | 66.1% | 67.9% | 70.8% | 74.8% |
Note: The cube dataset is composed of cubes with dimensions ranging from 0.03 to 0.15, with a unit size of 0.03. During training, we set action resolution (resolutionA) and heightmap resolution (resolutionH) to be 0.01.
## Dependencies
* Please install dependencies by running this:
```bash
conda create -n irbpp python==3.7.7
conda activate irbpp
pip install -r requirements.txt
```
* This code is verified on OS: Ubuntu 16.04.
## Quick start
For training online IR-BPP on the *blockout* dataset (mentioned in our paper) with our method and the default arguments:
```bash
python main.py
```
The training data is generated on the fly. The training logs (tensorboard) are saved in './logs/runs'. Related file backups are saved in './logs/experiment'.
## Usage
### Data description
[//]: # (Describe your 3D container size and 3D item size in 'givenData.py')
[//]: # (```)
[//]: # (container_size: A vector of length 3 describing the size of the container in the x, y, and z dimensions.)
[//]: # (item_size_set: A list records the size of each item. The size of each item is also described by a vector of length 3.)
[//]: # (```)
If you need to adjust the container size or the height map resolution, so that the size of discretized height map changes, you should adjust the CNN in 'model.py' so that it can take the modified height map as input.
### Dataset
You can download the prepared dataExcerpt of 7,084 characters
Read on GitHubWould you bet a product on this? Bounded 0–100 and slow moving.
matched fp:21293f3fb8a2051e, topic:reinforcement-learning, desc:reinforcement learning