MIT开放图像标注工具源代码LabelMe是一款LabelMe将助力机器视觉的发展,计算机视觉需要大量的标注图像来执行各类任务,ImageNet的成功就在于其巨量的标注图像。近日,MIT的计算机科学和人工智能实验室(CSAIL)开放了图像标注工具LabelMe的源代码,我们可以使用该工具创建定制化标注任务或执行图像标注。同时,CSAIL开放此工具的源码有助于进一步开发出更高效的标注方式和工具,有助于机器视觉的进一步发展。
项目开源地址:https://github.com/CSAILVision/LabelMeAnnotationTool
LabelMe地址:http://labelme.csail.mit.edu/Release3.0/
在该网址我们可以找到可在服务器上安装的LabelMe图像标注工具源码。LabelMe是一个用于在线图像标注的Javascript标注工具。与传统图像标注工具相比,其优势在于我们可以从任意来源获取该工具,人们可以帮助我们标注图像,而无需在电脑中安装或复制大型数据集。
1.将LabelMe标注工具代码放在网页服务器上(网页服务器配置要求见下文)。
2.在命令行上运行:
$ make
这将设置perl脚本需要的全局变量。注意:如果我们移动代码位置,那么我们必须重新运行「make」来刷新全局变量。
1.在「Images」文件夹内创建一个子文件夹,将我们的图像放在该文件夹内。如:「Images/example_folder/img1.jpg」。确保所有的图像的扩展名为「.jpg」,文件夹/文件名由字母和数字构成(即不包含空格和其他字符)。
2.使用网页浏览器前往以下URL地址:http://www.yourserver.edu/path/to/LabelMe/tool.html?collection=LabelMe&mode=f&folder=example_folder&image=img1.jpg
3.标注图像。点击「showmeanotherimage」前往下一个图像。
4.现在,你所作出的标注将出现在「Annotations」文件夹内。
网页服务器要求
在网页服务器上设置LabelMe工具,需要执行以下操作:
运行Apache服务器(Ubuntu配置说明:https://github.com/CSAILVision/LabelMeAnnotationTool/blob/master/UBUNTU.md,Windows配置说明:https://github.com/CSAILVision/LabelMeAnnotationTool/blob/master/WINDOWS.md)
在Apache内启用authconfig,使服务器侧(包括SSI)能够运行。这使得SVG能够发挥作用。这一步最常出现错误,所以务必确保这一步正常运行。
运行perl/CGI脚本,这是第二大容易出现错误的地方。
确保php5和libapache2-mod-php5库已安装。我们可以运行以下代码在Linux上运行它们:
$ sudo apt-get install php5 libapache2-mod-php5
Ubuntu配置说明:https://github.com/CSAILVision/LabelMeAnnotationTool/blob/master/UBUNTU.md。
Windows配置说明:https://github.com/CSAILVision/LabelMeAnnotationTool/blob/master/WINDOWS.md。
如果无法绘制多边形(polygons),那么检查该网页是否为「application/xhtml+xml」网页(火狐浏览器可以通过Tools->PageInfo查看)。如果不是,确保SSI已启用(查看上文「在Apache内启用authconfig」)。
确保我们的图像拥有对网页服务器的读取权限,「Annotations」文件夹中的多个文件夹拥有写入权限。此外,「annotationCache/TmpAnnotations」也需要写入权限。
该标注工具的特点
下面是我们能在整个标注工具内使用的统一资源定位符变量:
mode=im:仅展示图像和画布(不展示除图像外的其他东西)。
mode=mt:MechanicalTurk模式。
mode=f:点击「nextimage」按钮,进入该文件夹下的下一张图像。
mode=i:点击「nextimage」按钮,在LabelMe默认集合中随机打开下一张图像。
mode=c:进入集合中的下一张图像(集合通过dirlist设置)。
username=johndoe:为标注会话设定用户名。
collection=LabelMe:使用默认LabelMe集合列表,设置一个新的集合列表请查看下文。
folder=MyLabelMeFolder:LabelMe中图像储存的文件夹。
image=image.jpg:需要标注的LabelMe图像
objects=car,person,building:当弹窗询问用户对象的名称,用户可以从下拉式菜单中(例car、person、building)选择一个对象。
scribble=false:关闭scribble模式。
objlist=visible:该命令控制右侧的对象列表可见或不可见,不可见应该设置为「objlist=hidden」。
actions=n:控制用户可以执行的操作,如果需要设置任何我们希望执行的操作,需要使用下列的属性组合。例如,我们可以设置「actions=rmd」来允许执行重命名、修改控制点和删除操作。默认情况下,「actions=n」。下面展示了所有可执行的操作:
n:创建和编辑新的多边形(polygons)
r:重命名已存在的对象
m:在已存在的对象上修改控制点
d:删除已存在的对象
a:允许所有的操作
v:仅查看多边形,不允许编辑
viewobj=e:控制用户可查看的对象,可以使用以下命令选项设定。默认为「viewobj=e」,并且请注意删除了的对象将会显示为灰色,并且对象列表中的对象名将会采用斜体。
e:允许查看新的和之前标注过的对象
n:仅允许查看新的对象
d:允许查看新的和已删除的对象
a:允许查看所有的对象(新的、已存在的和已删除的)
以下为MechanicalTurk模式下的设置:
mt_sandbox=true:使用MechanicalTurk沙盒模式。该模式可以在MechanicalTurk上进行调试,我们可以设置该变量以确保每一部分都能运行。
N=5:标注者至少需要标注5个多边形。使用N=inf设置,标注者可任意多地标注样本。
mt_intro=http://yourpage.com(http://yourpage.com/):我们可以使用该变量定制化地设定标注者所能看到的指令。默认情况下将为标注者提供以下指令:http://labelme2.csail.mit.edu/Release3.0/annotationTools/html/mt_instructions.html
mt_instructions=Placeyourinstructionshere:我们可以定制化标注者在标注任务上方看到的一行指令。默认情况下,指令为:请尽可能多的使用对象标注该图像。
我们可以使用以下命令行创建需要标注的图片集:
$ 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。
我们可以将集合内的XML文件模板修改为「./annotationCache/XMLTemplates/your_collection.xml」,以改变集合内标注文件的布局。默认模板是「./annotationCache/XMLTemplates/labelme.xml」。
该标注工具行为的日志文件记录在「./annotationCache/Logs/logfile.txt」中。确保该文件拥有写入权限。
CODEAPI
以下是源代码概览。更多细节详见https://cdn.rawgit.com/CSAILVision/LabelMeAnnotationTool/master/annotationTools/js/api/index.html。
tool.html:该标注工具的入口点。主要功能是添加所有javascript代码,放置画布。
annotationTools/js/:包含实现该标注工具功能所需的所有javascript代码。我们还提供了codeAPI,利用codeAPI可获取从源代码注释中自动提取出来的Javascript源代码。
annotationTools/perl/:包含用于与服务器后端交流的所有Perl脚本。
annotationTools/css/:包含所有CSS样式定义。
annotationTools/html/:包含HTML辅助文件(如适用于MechanicalTurk平台的说明文件)。
开发者其他应用

七猫免费阅读小说最新版41.6M234049人在玩七猫免费阅读小说下载安装app,七猫免费阅读小说app不一样的小说阅读神器,这里有着海量丰富小说应用资源,你想看的小说通过强大搜索引擎一键搜索即可,主要的是阅读小说还能够获取红包现金奖励哦。
下载
奇热漫画app安卓版25.5M13451人在玩奇热漫画是一款非常不错的漫画阅读软件,具有很多强大的阅读功能,奇热漫画app实时为你更新全网最新最热的动漫资源。平台拥有海量精彩漫画,官方正版漫画
下载
奇热小说app24.8M234499人在玩安卓奇热小说app是专为众多爱看小说的人士提供的手机看小说的软件,省流量极速免费看小说,海量热门小说任你看,喜欢小说的小伙伴不要错过,赶快下载奇热小说网手机版客户端体验吧
下载
2022快看漫画App最新版69.0M51448人在玩2022快看漫画,相信许多玩微博的小伙伴们都已经知道这款APP了。吵架归吵架,至于这款快看漫画App到底做得怎么样,只有试过才知道!
下载
豆瓣阅读客户端app70.2M9579人在玩豆瓣阅读app是一款为豆瓣的用户们量身定做的APP,在豆瓣阅读这里你可以看到更加符合豆瓣用户喜好的各类文字作品,而且目前书籍依然在持续增长中。
下载
追书神器官方版70.1M19679人在玩追书神器2022最新版是一款超级强力的小说导读助手,目前几大热门的小说连载网站均有关联,你可以通过它方便地寻找自己喜欢的书籍。
下载
腾讯动漫71.9M13609人在玩腾讯动漫寒假档,许多大人们认为动漫就是小孩子看的东西,但是大概从80后开始,动漫就成为了许多人生活中的一部分,如果你喜欢看动漫,可以来腾讯动漫吧,这里有最新动漫更新视频
下载
书旗小说免费版本32.7M22553人在玩书旗小说免费版下载安装,书旗小说免费版本是一款以书旗网海量小说为基础的在线/离线阅读器,集合在线阅读、本地阅读、书包下载、自动书签、智能搜索、阅读设置等多项人性化功能。
下载
搜狗阅读器app19.5M6809人在玩搜狗阅读是搜狗公司依托于搜狗搜索的丰富资源,为安卓用户打造的移动阅读应用产品。搜狗阅读海量图书即搜即看,新闻大事掌握在手,更有离线缓存、精品推荐、更新提醒等功能,让您随时随地享受阅读的快乐。
下载
起点读书app新版本202237.2M11875人在玩起点读书app新版本,又名起点看书,是起点中文网推出的一款阅读软件。它支持本地阅读并提供起点在线书库,具备多种格式的解析阅读功能
下载