#### 核心算法框架

• 形状A，采样点集$SA = [ pa[i] ... ]$
• 形状B，采样点集$SB = [ pb[j] ... ]$
• $ForEachPair( pa[i], pb[j] )$，计算：
• $Cost(i, j) = CostFunc( SCF(pa[i], SA), SCF(pb[j], SB))$
• （其中， $SCF$是计算单点ShapeContext的， $CostFunc$ 是计算两个单点上下文误差的）
• 对Cost矩阵构成的二分图，求最佳匹配，使总权重和最小。
• （即试图给$SA$中每个$pa[i]$找到$SB$中最相近的点$pb[j]$，并使全局最优）
• 该最小总权重就可以评价A、 B两个形状的相似度。

#### SCF计算方法

$SCF(pa_i, SA)$简单说就是以待计算点$pa_i$为中心，做一个极坐标下的“网格”，然后统计每个区域（格子）内采样点的个数。将每个格子的统计值作为向量，就是一个点的形状上下文了。 • 注意点：
1. 网格每一环的半径是按指数级上升的，上图为了表达画的没那么指数级。
1. 每一环网格分多少个区比较好呢？实践来看12个是比较好的结果（上图里是4个，当然也是为了示意而已，如果真的用4个可能效果不会非常理想）

#### CostFunc实现 • 简单说就是：就是求两个分布之间的差异值

#### 二分图最佳匹配

• 到这里算法主干已经介绍结束，但是还有一些细节需要解决

#### 其他问题与解决

• 形状大小问题

• 有效的额外的特征 • Shape context distance #### 形状距离

• 三部分构成：Shape context distanceAppearance cost 以及 Transformation cost
• 都是公式懒得解释了，也不算核心key idea，以后有空写的话，再说吧。
• 以下是wiki里的描述： #### 简单实现

• 用c++实现一个python库，python直接调用+画图验证。

• 用前面的草稿苹果为例，先来个像的： • 再来些人眼下不是很像的： • 实际上不难发现越相似“平行线”越多，越不像交叉线越多
{"ft_lang_label":"__label__zh","ft_lang_prob":0.92822385,"math_prob":0.9937744,"size":1487,"snap":"2020-45-2020-50","text_gpt3_token_len":1172,"char_repetition_ratio":0.071476735,"word_repetition_ratio":0.0,"special_character_ratio":0.24277067,"punctuation_ratio":0.071428575,"nsfw_num_words":0,"has_unicode_error":false,"math_prob_llama3":0.9702937,"pos_list":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14],"im_url_duplicate_count":[null,4,null,4,null,4,null,4,null,4,null,4,null,4,null],"WARC_HEADER":"{\"WARC-Type\":\"response\",\"WARC-Date\":\"2020-12-04T13:44:17Z\",\"WARC-Record-ID\":\"<urn:uuid:4cc832a0-4960-4baf-baa5-f530785893dc>\",\"Content-Length\":\"24027\",\"Content-Type\":\"application/http; msgtype=response\",\"WARC-Warcinfo-ID\":\"<urn:uuid:fb5e273a-b5b7-4883-a4dd-6fb1b85934ad>\",\"WARC-Concurrent-To\":\"<urn:uuid:fd38f97f-3268-4291-b6fc-58c50a72bf9e>\",\"WARC-IP-Address\":\"172.67.160.76\",\"WARC-Target-URI\":\"https://www.bosskong.com/shape-context%E7%AE%80%E4%BB%8B/\",\"WARC-Payload-Digest\":\"sha1:DB4SGUYAKW46ITL7554YCVKC54B2DYHF\",\"WARC-Block-Digest\":\"sha1:OKLMUS46AIV4VPWUORCTEI4V6E6AYYRB\",\"WARC-Identified-Payload-Type\":\"text/html\",\"warc_filename\":\"/cc_download/warc_2020/CC-MAIN-2020-50/CC-MAIN-2020-50_segments_1606141737946.86_warc_CC-MAIN-20201204131750-20201204161750-00420.warc.gz\"}"}