Spaces:
Runtime error
Runtime error
| **1. Data from RPLAN to Graph2Plan** | |
| Please refer to https://github.com/zzilch/RPLAN-Toolbox. | |
| You can also download the extracted data from [here](http://vcc.tech/file/upload_file/Data/G2P/Data.7z). | |
| You can load the `Network/data/data.mat` in Matlab to chek the data structure. | |
|  | |
| Data fields: | |
| - name: file name in RPLAN | |
| - boundary: (x,y,dir,isNew) | |
| - first two point indicate the front door. | |
| - dir: 0(right)/1(down)/2(left)/3(up) for `dir`. | |
| - `isNew` means the point is not a corner point (usually a point of door) | |
| - order: room order, the larger one will cover the smaller one. | |
| - rType: room categories | |
| ``` | |
| # index,name,type(private/public),floorTexture | |
| room_label = [ | |
| (0, 'LivingRoom', 1, "PublicArea"), | |
| (1, 'MasterRoom', 0, "Bedroom"), | |
| (2, 'Kitchen', 1, "FunctionArea"), | |
| (3, 'Bathroom', 0, "FunctionArea"), | |
| (4, 'DiningRoom', 1, "FunctionArea"), | |
| (5, 'ChildRoom', 0, "Bedroom"), | |
| (6, 'StudyRoom', 0, "Bedroom"), | |
| (7, 'SecondRoom', 0, "Bedroom"), | |
| (8, 'GuestRoom', 0, "Bedroom"), | |
| (9, 'Balcony', 1, "PublicArea"), | |
| (10, 'Entrance', 1, "PublicArea"), | |
| (11, 'Storage', 0, "PublicArea"), | |
| (12, 'Wall-in', 0, "PublicArea"), | |
| (13, 'External', 0, "External"), | |
| (14, 'ExteriorWall', 0, "ExteriorWall"), | |
| (15, 'FrontDoor', 0, "FrontDoor"), | |
| (16, 'InteriorWall', 0, "InteriorWall"), | |
| (17, 'InteriorDoor', 0, "InteriorDoor") | |
| ] | |
| ``` | |
| - rBoundary: (x,y), boundary points for each room | |
| - gtBox: (y0,x0,y1,x1), min-max bounds of a room [RPLAN] | |
| - gtBoxNew: (x0,y0,x1,y1), min-max bounds of a room [Graph2Plan] | |
| - rEdge: (u,v,r), room indices and relative position(u relative to v) | |
| ``` | |
| edge_type = [ | |
| 'left-above', | |
| 'left-below', | |
| 'left-of', | |
| 'above', | |
| 'inside', | |
| 'surrounding', | |
| 'below', | |
| 'right-of', | |
| 'right-above', | |
| 'right-below' | |
| ] | |
| ``` | |
| **2. Data from Network to GUI** | |
| We provide scripts to create the same data as we provided in Interface. Like DeepLayout, we use 75k for training and about 3k for validation and test. | |
| Started from the `Network/data/data.mat`: | |
| 0. Change the data path to the `data.mat` in `config.py` | |
| 1. Run `1.tf_train.py`. It will create: | |
| - `trainTF.pkl`, `testTF.pkl`: Piecewise turning function. Each element is a dict like `{'x':[x0,...,xn],'y':[y0,...,yn]}` | |
| - `tf_train.npy`: Sampled turning function with shape (ntrain,1000) | |
| - `D_test_train.npy`: Truning function distance matrix with shape (ntest,ntrain) | |
| 2. Run `2.data_train_converted.py`. It will create: | |
| - `data_train_converted.mat` & `data_train_converted.pkl`: The `.pkl` one Just a copy of the `.mat` re-dumped with pickle. The data have similar structure with `data.mat`. | |
| - box:(x0,y0,x1,y1,room type) | |
|  | |
| 3. Run `3.rNum_train.py`. It wil create: | |
| - `rNum_train.npy`: counts of different room type | |
| 4. Run `4.data_train_eNum.py`. It will create: | |
| - `data_train_eNum.pkl`: A dict like {'eNum':Array with shape (ntrain,25)}. Each array is reshape from (5,5) which means adjacency matrix of 5 coarse room types. | |
| 5. Run `5.data_test_converted.py`. It will create: | |
| - `data_train_converted.mat` & `data_train_converted.pkl`: The `.pkl` one Just a copy of the `.mat` re-dumped with pickle. | |
|  | |
| Data fileds: | |
| - boundary: (x,y,dir,isNew) | |
| - tf: Piece with turning function | |
| - topK: 1000 indices of the training data has the minimun turning function with current data. | |
| - topK_rNum: Counts for differnt room type of each topK room | |
| 6. **[Depends on [faiss](https://github.com/facebookresearch/faiss)]** Run `6.cluster.py`. It will create: | |
| - `centroids_train.npy`: 1000 discrete turning function cluster centroids (1000-d) of training data | |
| - `clusters_train.npy`: 1000 nearest neighbors in training data of each centroid |