如何解释 deepmask getTopScores 函数的输出
我正在使用 facebookresearch 的 deepmask 对一个图像进行分割。我试图修改 computeProposals.lua 模块以对我的自己的图像进行分割。关键函数是 getTopProps。在下面的代码块中,它被用来查找与顶部建议相关联的掩码。
-- 获取顶部建议
local masks,_ = infer:getTopProps(.2,h,w)
infer 类来自于 InferDeepMask.lua 模块。getTopProps 返回两个值:掩码和分数。分数来自 Infer:getTopScores() 函数。
问题:如何解释 getTopScores 函数的输出?
代码注释:
-- 每行包含:分数值、比例值和 M(:) 的位置
示例输出(转换为 numpy 数组):
[[ 0.9942829 2. 26. 6. ]
[ 0.9942829 3. 26. 6. ]
[ 0.98620307 2. 1. 29. ]
[ 0.98620307 3. 1. 29. ]
[ 0.97150999 2. 19. 8. ]
[ 0.97150999 3. 19. 8. ]
[ 0.97141284 2. 18. 8. ]
[ 0.97141284 3. 18. 8. ]
[ 0.9639107 2. 15. 11. ]
[ 0.9639107 3. 15. 11. ]]
第一列明显是一个分数。什么是比例值,以及 M(:) 的位置是什么?它们不是掩码上的像素位置。
注意:每个掩码的形状为(336,448)
谢谢!
通过查看代码:
分数相当容易理解
scaleNb是采用比例尺的索引,即循环for k = 1,nScales do中k的索引,其中包含不同比例尺值的表格通过for scale = -3,2,.25 do table.insert(self.scales,scale)的语句创建。M(:)部分有些棘手。如果我理解这段代码是正确的,pos是一个包含nScales个 1 的张量,每当选择某个比例尺下的物体时(它们按分数排序),张量的第k个元素会增加。然后使用temp变量(用于计算形成他们称之为M(:)的x和y值的变量)的行是local temp=sortedIds[pos[scale]][scale]。 它包含什么?它似乎包含探测到的比例尺上掩膜的位置。请参见以下代码片段:local sc=sc:view(h*w) local sS,sIds=torch.sort(sc,true) local sz = sS:size(1) sortedScores:narrow(2,s,1):narrow(1,1,sz):copy(sS) sortedIds:narrow(2,s,1):narrow(1,1,sz):copy(sIds)
sortedIds 似乎包含当前正在评估的分数的 x、y 位置。
- Lua 虚拟机加密load(string.dump(function)) 后执行失败问题如何解决
- 我想创建一个 Nginx 规则,禁止访问
- 如何将两个不同的lua文件合成一个 东西有点长 大佬请耐心看完 我是小白研究几天了都没搞定
- 如何在roblox studio中1:1导入真实世界的地形?
- 求解,lua_resume的第二次调用继续执行协程问题。
- 【上海普陀区】内向猫网络招募【Skynet游戏框架Lua后端程序员】
- SF爱好求教:如何用lua实现游戏内调用数据库函数实现账号密码注册?
- Lua实现网站后台开发
- LUA错误显式返回,社区常见的规约是怎么样的
- lua5.3下载库失败
- 请问如何实现文本框内容和某个网页搜索框内容连接,并把网页输出来的结果反馈到另外一个文本框上
- lua lanes多线程使用
- 一个kv数据库
- openresty 有没有比较轻量的 docker 镜像
- 想问一下,有大佬用过luacurl吗
- 在Lua执行过程中使用Load函数出现问题
- 为什么 neovim 里没有显示一些特殊字符?
- Lua比较两个表的值(不考虑键的顺序)
- 有个lua简单的项目,外包,有意者加微信 liuheng600456详谈,最好在成都
- 如何在 Visual Studio 2022 中运行 Lua 代码?

我认为(尚未证明),输出如下: