惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园_首页
云风的 BLOG
云风的 BLOG
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
C
Check Point Blog
Y
Y Combinator Blog
GbyAI
GbyAI
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
The Hacker News
The Hacker News
S
Securelist
F
Full Disclosure
大猫的无限游戏
大猫的无限游戏
Cyberwarzone
Cyberwarzone
AWS News Blog
AWS News Blog
雷峰网
雷峰网
M
MIT News - Artificial intelligence
C
CERT Recently Published Vulnerability Notes
S
Security @ Cisco Blogs
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
N
News and Events Feed by Topic
Application and Cybersecurity Blog
Application and Cybersecurity Blog
Cloudbric
Cloudbric
P
Palo Alto Networks Blog
Latest news
Latest news
V
V2EX
量子位
T
Tor Project blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
L
LINUX DO - 热门话题
Stack Overflow Blog
Stack Overflow Blog
Hacker News: Ask HN
Hacker News: Ask HN
D
Darknet – Hacking Tools, Hacker News & Cyber Security
博客园 - 叶小钗
H
Hackread – Cybersecurity News, Data Breaches, AI and More
J
Java Code Geeks
Webroot Blog
Webroot Blog
I
InfoQ
N
News | PayPal Newsroom
NISL@THU
NISL@THU
N
News and Events Feed by Topic
Cisco Talos Blog
Cisco Talos Blog
T
The Blog of Author Tim Ferriss
aimingoo的专栏
aimingoo的专栏
Scott Helme
Scott Helme
B
Blog RSS Feed
Google Online Security Blog
Google Online Security Blog
T
Troy Hunt's Blog
MyScale Blog
MyScale Blog
IT之家
IT之家
P
Privacy & Cybersecurity Law Blog
www.infosecurity-magazine.com
www.infosecurity-magazine.com

0x7f Blog

telephony42 完全指南:从零开始在 dn42 构建电话网络 telephony42 完全指南:从零开始在 dn42 构建电话网络 在 Telephony42 中配置 E.164 ENUM 在 Telephony42 中配置 E.164 ENUM 有关 DN42 的本质及诸多暴论 有关 DN42 的本质及诸多暴论 线香简评(持续更新) 线香简评(持续更新) 美味冰淇淋的制作方法 美味冰淇淋的制作方法 一场有关数字世界自决权的战争 一场有关数字世界自决权的战争 在 rDNS 上念诗!(加强版) 在 rDNS 上念诗!(加强版) 木桶饭杂谈 其二 木桶饭杂谈 其二 木桶饭杂谈 其一 木桶饭杂谈 其一 杂牌对讲机的写频 杂牌对讲机的写频 科研随想 (21.09) 科研随想 (21.09) IFSolver Reloaded 系列 0x03:解码生成 IFSolver Reloaded 系列 0x02:特征匹配 IFSolver Reloaded 系列 0x02:特征匹配 IFSolver Reloaded 系列 0x01:特征提取与存储 IFSolver Reloaded 系列 0x01:特征提取与存储 新站点启用,以及一些小细节 新站点启用,以及一些小细节 IFSolver Reloaded 系列 0x00:总体结构 IFSolver Reloaded 系列 0x00:总体结构 IFSolver 的原理解析 IFSolver 的原理解析 博客静态迁移 博客静态迁移 DN42系列 0x03:Peer Finder & Looking Glass DN42系列 0x02:Peering DN42系列外传 0x00 : 利用Nebula建立p2p网络 日常翻车实录 日常翻车实录 智(能)(避)障小车项目研究 基本思路 智(能)(避)障小车项目研究 基本思路 五月站点更新
IFSolver Reloaded 系列 0x03:解码生成
YukariChiba · 2021-09-16 · via 0x7f Blog

这篇文章将介绍 IFSolverR 对于匹配到的图片是如何生成网格、检测错误识别并排版生成最后的输出的。

生成网格

先前说到,IFSolverR 对所有的图片进行匹配并得到了一份映射坐标列表,而最后输出需要的数据显然应该是一个矩阵 $ M $,使得对于行 $ i $ 和 列 $ j $:

$$ M= \begin{pmatrix} \displaylines{ (P_{x1}, P_{y1}) & \cdots & (P_{xi}, P_{y1}) \\ \vdots & \ddots & \vdots \\ (P_{x1}, P_{yj}) & \cdots & (P_{xi}, P_{yj}) } \end{pmatrix} $$

那么,怎么确定搜索到的坐标位于哪一列呢?这个时候就需要请出 KMeans 聚类算法了。

这是一个非常简单的一维聚类问题,用 KMeans 实际上u 有一些小题大作,简而言之目的是让划分到 k 个集合的方案 $Col_i$ 中,每个集合内的平方和误差最小,即:

$$ \underset {\mathbf {Col}}{\operatorname {arg,min}} \sum_{i=1}^k\sum_{P \in Col_i}\left|{\mathbf P_x}-\mu_{i}\right|^{2} $$

显然,我们能根据肉眼判断出图片有几列,因此通过此种方法得出结果这不成问题。

错误识别

然而,在某些情况下,由于先前的匹配过程依然可能存在漏网之鱼,有下列两种情况:

  • 有同一张照片的不同部分被识别为了相同的结果。
  • 有同一张照片的不同部分被识别为了不同的结果。

例如上图中的 421 被识别了两次。

对于第一种情况,完全可以无视,因为它并不影响最终的结果生成,而对于第二种情况,可能达到了算法的极限,需要人工判断,这个时候就需要提示人工介入了。

而判断它的条件非常暴力,只要发现两个识别结果的距离过近,就认为它们冲突了。

1
2
if (abs(imageCenters[idx]["y"] - imageCenters[idx + 1]["y"]) < 50) 
and imageCenters[idx]["portalID"] != imageCenters[idx + 1]["portalID"]

其它

而后的根据坐标生成图片的代码相比于先前的版本几乎没有更改,故不重复叙述。

到这里,IFSolverR 的全部内容就讲完了,大概除了官方彻底改变玩法,未来也不需要什么大的更新了。