图片配准
Gray Reference配准参数搜索
在reference模型训练之前需要进行图片与灰度参考图(Gray Reference)的配准,软件包提供网格搜索脚本获取合适的配准参数。参数说明请参见表1。
参数名 |
类型 |
取值范围 |
默认值 |
说明 |
---|---|---|---|---|
--rgb_dir |
str |
- |
./xxx/ |
RGB图目录路径。 |
--chip_id |
str |
- |
"" |
芯片ID。 |
--setupid |
str |
- |
"" |
芯片层。 |
--klarf_file |
str |
- |
"xxx" |
klarf文件名,文件需放在“rgb_dir”目录下。 |
--gray_file |
str |
- |
"xxx" |
灰度图文件名,文件需放在“rgb_dir”目录下。 |
--save_path |
str |
- |
"" |
搜索结果保存路径。 |
--threshold |
float |
[0, 1] |
0.5 |
配准阈值。 |
--match_num |
int |
[1, 640] |
320 |
随机抽取的配准图片数。 |
--range_thread_num |
int |
[1, 8] |
8 |
多进程的进程数,用于搜索配准区域参数x,y。 |
--img_thread_num |
int |
[1, 8] |
8 |
多进程进行图片配准的进程数。 |

必须在“rgb_dir”目录下新建一个“new_image”文件夹,用于放置待配准图片。
输入参数中依赖的“klarf_file”必须是一个txt文件,描述了机台拍摄图片的相关信息,需遵循以下规则进行编写。
- 一行对应一张图片。
- 每行共有12个字段。
- 字段之间用一个空格分隔。
字段信息参见表2,编写示例参考如下。
新建一个“data.txt”,里面的内容为如下三行字符串。
img_1.jpg 001 M1 11224.435 12925.229 0 wafer_id1 01-08-22-13:09:22; device_id1 L21510106 model1 20 img_2.jpg 001 M1 13817.899 17822.569 0 wafer_id2 12-29-21-08:17:05; device_id1 L21510104 model2 20 img_3.jpg 001 M1 970.857 24809.092 0 wafer_id3 12-21-21-06:02:08; device_id3 L21510206 model3 20
索引值 |
类型 |
取值范围 |
说明 |
---|---|---|---|
0 |
str |
- |
图片路径。 |
1 |
str |
- |
芯片ID。 |
2 |
str |
- |
芯片层。 |
3 |
float |
[0, 100000] |
图片对应的 x 坐标。 |
4 |
float |
[0, 100000] |
图片对应的 y 坐标。 |
5 |
int |
0或2 |
图片标签。 |
6 |
str |
- |
晶圆ID。 |
7 |
str |
- |
时间戳。 |
8 |
str |
- |
机台ID。 |
9 |
str |
- |
批次编号。 |
10 |
str |
- |
机台型号。 |
11 |
int |
[1, 1000] |
放大倍率。 |
图片配准参数搜索执行命令参考如下:
python3 range_search.py --rgb_dir <rgb_graph_path> --chip_id <id> --setupid <setup> --klarf_file <klarf_file_path> --gray_file <gray_file_path> --save_path <save_path>
运行结果如下,得到不同配准参数下80%配准的配准阈值,以及自定义阈值的配准率,从而确定最佳的配准参数。

Gray Reference配准结果查看
通过“range_search.py”确定配准参数后,需要将配准结果图保存继续查看,从而确定配准阈值。我们提供了配准图保存的脚本“wafer_mindspore/reference/gray_reference_match.py”,相关参数说明如下。
参数名 |
类型 |
取值范围 |
默认值 |
说明 |
---|---|---|---|---|
--rgb_dir |
str |
- |
./xxx/ |
RGB图目录路径。 |
--chip_id |
str |
- |
"" |
芯片ID。 |
--setupid |
str |
- |
"" |
芯片层。 |
--klarf_file |
str |
- |
"xxx" |
klarf文件名,文件需放在“rgb_dir”目录下。 |
--gray_file |
str |
- |
"xxx" |
灰度图文件名,文件需放在“rgb_dir”目录下。 |
--save_path |
str |
- |
"" |
配准结果保存路径。 |
--threshold |
float |
[0, 1] |
0.5 |
配准阈值。 |
--match_num |
int |
[1, 100] |
50 |
随机抽取的配准图片数。 |

必须在“rgb_dir”目录下新建一个“new_image”文件夹,用于放置待配准图片。
输入参数中依赖的“klarf_file”必须是一个txt文件,描述了机台拍摄图片的相关信息,需遵循以下规则进行编写。
- 一行对应一张图片。
- 每行共有12个字段。
- 字段之间用一个空格分隔。
字段信息参见表4,编写示例参考如下。
新建一个“data.txt”,里面的内容为如下三行字符串。
img_1.jpg 001 M1 11224.435 12925.229 0 wafer_id1 01-08-22-13:09:22; device_id1 L21510106 model1 20 img_2.jpg 001 M1 13817.899 17822.569 0 wafer_id2 12-29-21-08:17:05; device_id1 L21510104 model2 20 img_3.jpg 001 M1 970.857 24809.092 0 wafer_id3 12-21-21-06:02:08; device_id3 L21510206 model3 20
索引值 |
类型 |
取值范围 |
说明 |
---|---|---|---|
0 |
str |
- |
图片路径。 |
1 |
str |
- |
芯片ID。 |
2 |
str |
- |
芯片层。 |
3 |
float |
[0, 100000] |
图片对应的 x 坐标。 |
4 |
float |
[0, 100000] |
图片对应的 y 坐标。 |
5 |
int |
0或2 |
图片标签。 |
6 |
str |
- |
晶圆ID。 |
7 |
str |
- |
时间戳。 |
8 |
str |
- |
机台ID。 |
9 |
str |
- |
批次编号。 |
10 |
str |
- |
机台型号。 |
11 |
int |
[1, 1000] |
放大倍率。 |
图片配准结果查看执行命令参考如下:
python3 gray_reference_match.py --rgb_dir <rgb_graph_path> --chip_id <id> --setupid <setup> --klarf_file <klarf_file_path> --gray_file <gray_file_path> --save_path <save_path>
RGB Reference配准结果查看
在进行执行“generate_mindrecord.py”之前,需要查看图片与RGB Reference图片的配准效果。我们提供了配准图保存的脚本“wafer_mindspore/inspection/rgb_reference_match.py”,相关参数说明如下。
参数名 |
类型 |
取值范围 |
默认值 |
说明 |
---|---|---|---|---|
--config |
str |
- |
None |
可选,参数配置文件路径,权限须设置为400。 |
--input_chip_id |
str |
- |
"" |
芯片ID。 |
--input_setup_id |
str |
- |
"" |
芯片层。 |
--rgb_dir |
str |
- |
rgb_ref/ |
RGB参考图目录路径。 |
--gray_dir |
str |
- |
gray_ref/ |
灰度图目录路径。 |
--mask_dir |
str |
- |
mask_ref/ |
掩码图目录路径。 |
--data_txt |
str |
- |
None |
配准的txt文件。 |
--save_path |
str |
- |
"" |
图片保存路径。 |
--machine_id |
int |
0 或 1 |
1 |
机台编号。 |
--threshold |
float |
[0, 1] |
0.5 |
配准阈值。 |
--match_num |
int |
[1, 100] |
50 |
进行配准的图片数量。 |

“rgb_dir”、“gray_dir”、“mask_dir”目录下的图片必须按指定格式命名。参考如下:
当“input_chip_id”为001,“input_setup_id”为M1时,须将“rgb_dir”下的参考图命名为001_M1_rgb_golden_die.png,“gray_dir”下的灰度图命名为001_M1_gray_golden_die.png,“mask_dir”下的掩码图命名为001_M1_viaconductor_mask.png。
输入参数中依赖的“data_txt”必须是一个txt文件,描述了机台拍摄图片的相关信息,需遵循以下规则进行编写。
- 一行对应一张图片。
- 每行共有12个字段。
- 字段之间用一个空格分隔。
字段信息参见表6,编写示例参考如下。
新建一个“data.txt”,里面的内容为如下三行字符串。
img_1.jpg 001 M1 11224.435 12925.229 0 wafer_id1 01-08-22-13:09:22; device_id1 L21510106 model1 20 img_2.jpg 001 M1 13817.899 17822.569 0 wafer_id2 12-29-21-08:17:05; device_id1 L21510104 model2 20 img_3.jpg 001 M1 970.857 24809.092 0 wafer_id3 12-21-21-06:02:08; device_id3 L21510206 model3 20
索引值 |
类型 |
取值范围 |
说明 |
---|---|---|---|
0 |
str |
- |
图片路径。 |
1 |
str |
- |
芯片ID。 |
2 |
str |
- |
芯片层。 |
3 |
float |
[0, 100000] |
图片对应的 x 坐标。 |
4 |
float |
[0, 100000] |
图片对应的 y 坐标。 |
5 |
int |
0或2 |
图片标签。 |
6 |
str |
- |
晶圆ID。 |
7 |
str |
- |
时间戳。 |
8 |
str |
- |
机台ID。 |
9 |
str |
- |
批次编号。 |
10 |
str |
- |
机台型号。 |
11 |
int |
[1, 1000] |
放大倍率。 |
“rgb_reference_match.py”配准图保存的命令参考如下:
python3 rgb_reference_match.py --config <config_path>