LabelMe帮助:
LabelMe是一种基于WEB的图像标注工具,允许研究人员标记图像并与世界共享注释。
LabelMe允许:labelme图像标注
创建用户帐户:您将能够为注释创建图像数据库。
将图像组织到集合中:您可以将图像组织成集合。您也可以像对文件夹一样在集合内创建集合。下载数据库时,集合将组织到文件夹中。
上传和图像注释:您可以使用在线LabelMe注释工具将图像上传到集合中并注释图像。
快速入门说明:
-
将LabelMe注释工具代码放在Web服务器上。
-
在命令行上运行:
$ make
这将设置perl脚本所需的全局变量。 注意如果移动代码的位置,则需要重新运行“make”以刷新全局变量。
-
在“Images”文件夹中创建一个子文件夹,然后将图像放在那里。例如:“Images / example_folder / img1.jpg”。确保所有图像都有“.jpg”扩展名,文件夹/文件名包含字母数字字符(即没有空格或有趣的字符)。
-
将Web浏览器指向以下URL:
http://www.yourserver.edu/path/to/LabelMe/tool.html?collection=LabelMe&mode=f&folder=example_folder&image=img1.jpg
-
标记您的图像。按“显示另一个图像”转到文件夹中的下一个图像。
-
瞧!您的注释将显示在“注释”文件夹中。
网络服务器要求:
您需要以下内容在Web服务器上设置LabelMe工具:
-
运行Apache服务器。
-
在Apache中启用authconfig,以便服务器端包含(SSI)可以正常工作。这将允许SVG绘图功能。这是最常见的错误来源,因此请确保此步骤正常运行。
-
允许perl / CGI脚本运行。这是第二个最常见的错误来源。
-
确保安装了php5和libapache2-mod-php5库。您可以通过运行以下命令在Linux上安装它们:
$ sudo apt-get install php5 libapache2-mod-php5
-
(可选)如果要在Ubuntu或Windows上进行安装,请参阅特殊配置说明。
如果您无法绘制多边形,请检查页面是否作为“application / xhtml + xml”页面加载(您可以在Firefox中通过导航到Tools-> Page Info来查看)。如果不是,请确保已启用SSI(请参阅上面的启用Apache中的authconfig)。
确保您的图像在Web服务器上具有读取权限,并且“Annotations”文件夹中的文件夹具有写入权限。此外,“annotationCache / TmpAnnotations”需要具有写入权限。
注释工具的特点:
-
以下是您可以传递给注释工具的URL变量:
- mode = im - 仅显示图像和绘图画布(不显示图像外的任何内容。
- mode = mt - 机械土耳其人模式。
- mode = f - 按“下一个图像”按钮进入文件夹中的下一个图像。
- mode = i - 按“下一个图像”按钮转到默认LabelMe集合中的随机图像。
- mode = c - 转到集合中的下一个图像(通过dirlist设置)。
- username = johndoe - 设置标签会话的用户名。
- collection = LabelMe - 使用默认的LabelMe集合列表。请参阅以下有关设置新收藏列表的信息。
- folder = MyLabelMeFolder - 图像所在的LabelMe文件夹。
- image = image.jpg - 要标注的LabelMe图像。
- objects = car,person,building - 当出现弹出气泡询问用户对象名称时,用户选择其中一个对象显示为下拉列表。
- scribble = false - 关闭涂鸦模式。
- objlist = visible - 它控制右侧的对象列表是否可见。使用“objlist = hidden”使其隐藏。
- actions = n - 控制允许用户执行的操作。要设置所需的操作,请使用以下字母的任意组合。例如,要允许重命名,修改控制点和删除操作,请设置“actions = rmd”。默认情况下,“actions = n”。以下是可能的操作:
- n - 创建和编辑新多边形
- r - 重命名现有对象
- m - 修改现有对象上的控制点
- d - 删除现有对象
- a - 允许所有操作
- v - 仅查看多边形(不允许任何编辑)
- viewobj = e - 控制用户看到的对象。使用以下可能的选项之一。默认情况下,“viewobj = e”。请注意,对于已删除的对象,这些对象将以灰色显示,对象列表中的对象名称将以斜体显示。
- e - 查看新的和先前标记的对象
- n - 仅查看新对象
- d - 查看新对象和已删除对象
- a - 查看所有对象(新的,现有的,已删除的)
以下是Mechanical Turk模式:
- mt_sandbox = true - 使用Mechanical Turk沙盒模式。此模式用于在Mechanical Turk上进行调试。您可能希望从此变量集开始,以确保一切正常。
- N = 5 - 要求工人标记至少5个多边形。使用N = inf允许工人标记他们想要的任意数量。
- mt_intro = http://yourpage.com - 您可以自定义工作人员看到的指令。默认情况下,会向工作人员提供以下说明。
- mt_instructions =在此处放置说明 - 您可以自定义工作人员在标签任务顶部看到的单行说明。默认情况下,说明如下:请在此图像中标记任意数量的对象。
-
您可以通过在命令行上运行以下命令来创建要标记的图像集合:
$ cd ./annotationTools/sh/ $ ./populate_dirlist.sh
这将创建“./Images”文件夹中所有图像的列表,并将显示在文件“./annotationCache/DirLists/labelme.txt”中。
然后,您可以使用以下URL标记集合中的图像:
http://www.yourserver.edu/path/to/LabelMe/tool.html?collection=labelme&mode=i
您可以通过从命令行运行以下命令来创建包含特定文件夹的集合:
$ cd ./annotationTools/sh/ $ ./populate_dirlist.sh my_collection.txt example_folder
该列表将出现在“./annotationCache/DirLists/my_collection.txt”中。然后,您可以使用以下URL标记集合中的图像:
http://www.yourserver.edu/path/to/LabelMe/tool.html?collection=my_collection&mode=i
-
您可以通过修改“./annotationCache/XMLTemplates/your_collection.xml”中的XML文件模板来更改集合的注释文件的布局。默认模板是“./annotationCache/XMLTemplates/labelme.xml”。
-
注释工具操作的日志文件记录在“./annotationCache/Logs/logfile.txt”中。确保此文件具有写入权限。
CODE API
以下是源代码的简要概述。 有关详细信息,请参阅 Javascript代码API。
-
tool.html - 这是注释工具的入口点。主要功能是插入所有的javascript代码并放下绘图画布。
-
annotationTools / js / - 此文件夹包含注释工具功能的所有javascript代码。我们提供了 Javascript源代码的代码API,它已经从源代码注释中自动提取。
-
annotationTools / perl / - 此文件夹包含用于与服务器后端通信的所有Perl脚本。
-
annotationTools / css / - 此文件夹包含所有CSS样式定义。
-
annotationTools / html / - 此文件夹包含辅助HTML文件(例如,用于Mechanical Turk指令等)。
许可证:
请确保您上传的图片不受版权保护,且不包含不适当的内容。您上传和注释的图像将被视为公共域的一部分。由于LabelMe的目标是提供研究工具,因此图像和注释有望无限制地供研究机构使用。
引用:
如果您使用源代码,请添加引用此网址页面,我们将不胜感激:
BC Russell,A。Torralba,KP Murphy,WT Freeman,LabelMe:用于图像标注的数据库和基于Web的工具。
麻省理工学院,计算机科学和人工智能实验室。