Commit 5bf5b767 by YuxuanGuo

add script

parent 1024b907
# Minecraft Creative Human Study
- `prepare` 按照任务存放图片,每个task下面的`ours`目录放我们的demo图片,`baseline`放baseline的图片
- `release`是开放给human study的,到时候会打乱两组的顺序,按照 A 和 B 来命名
\ No newline at end of file
- `release`是开放给human study的,到时候会打乱两组的顺序,按照 A 和 B 来命名
- `python rand_gen.py` 随机生成release,对应的mapping在`mapping.json`
\ No newline at end of file
# README
目录说明:
- `task-description.md`:建造任务的文字和图片描述
- `A/``B/`:两个需要比较的建筑多视角截图,一般是四个方位+顶视图/内部视图。
评测步骤:
1. 请先阅读`task-description.md`的建造任务的文字和图片描述,了解建筑的结构和功能特征。
2. 查看`A/``B/`目录下的图片文件,并填写问卷。
\ No newline at end of file
问题:
1. 当前的任务编号
2. `A` 的外观正确性,这个建筑在多大程度上符合文字和图片描述的外观,评分[1, 10]整数。
3. `A` 的复杂度,这个建筑的复杂程度(例如结构/外观上的细节),评分[1, 10]整数。
4. `A` 的美观度,这个建筑的整体在多大程度上美观,评分[1, 10]整数。
5. `A` 的功能正确性,这个建筑在多大程度上符合文字和图片描述的功能,评分[1, 10]整数。
- 例如,建筑是否具有门/窗,门是否可以进入(在我的世界中,门高度 >= 2个方块,宽度 >=1 个方块才可进入),所造建筑是否可以跨过地形,等
6. `B` 的外观正确性,这个建筑在多大程度上符合文字和图片描述的外观,评分[1, 10]整数。
7. `B` 的复杂度,这个建筑的复杂程度(例如结构/外观上的细节),评分[1, 10]整数。
8. `B` 的美观度,这个建筑的整体在多大程度上美观,评分[1, 10]整数。
9. `B` 的功能正确性,这个建筑在多大程度上符合文字和图片描述的功能,评分[1, 10]整数。
- 例如,建筑是否具有门/窗,门是否可以进入(在我的世界中门高度至少要为2个方块才可进入),建筑是否有窗户,所造建筑是否可以跨过地形,等
10. `A``B`的建造结果您更倾向于哪一个?
\ No newline at end of file
import os
import shutil
import random
import json
prepare_dir = "./prepare"
release_dir = "./release"
methods = ["baseline", "ours"]
def shuffle(tasks, methods):
result = {}
for t in tasks:
groups = [chr(i + ord("A")) for i in range(len(methods))]
random.shuffle(groups)
result.update({
t: {
k: v
for k, v in zip(methods, groups)
}
})
return result
def release():
if os.path.exists(release_dir):
shutil.rmtree(release_dir)
shutil.copytree(prepare_dir, release_dir)
tasks = sorted(os.listdir(release_dir), key=lambda x: int(x.split("-")[1]))
shuffle_result = shuffle(tasks, methods)
with open("./mapping.json", "w") as f:
json.dump(shuffle_result, f)
for t in tasks:
for m in methods:
src = os.path.join(release_dir, t, m)
dst = os.path.join(release_dir, t, shuffle_result[t][m])
os.rename(src, dst)
if __name__ == '__main__':
release()
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment