From 4c9dc87d1c63ec9bad3c34bc7cb248e1f1e52217 Mon Sep 17 00:00:00 2001 From: Jiao77 Date: Mon, 10 Nov 2025 01:50:34 +0800 Subject: [PATCH] add 20251112 report --- .gitignore | 3 +- deploy-full.sh | 53 +- jiao77.cn.conf | 323 ++++ package-lock.json | 19 +- package.json | 2 +- src/pages/report/20251112/index.astro | 1692 +++++++++++++++++++ src/pages/report/20251112/midterm_report.md | 1000 +++++++++++ src/pages/report/index.astro | 23 +- 8 files changed, 3093 insertions(+), 22 deletions(-) create mode 100644 jiao77.cn.conf create mode 100644 src/pages/report/20251112/index.astro create mode 100644 src/pages/report/20251112/midterm_report.md diff --git a/.gitignore b/.gitignore index 8334fa5..daace83 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ node_modules .astro dist -jiao77.cn \ No newline at end of file +jiao77.cn +package-lock.json diff --git a/deploy-full.sh b/deploy-full.sh index 0fe6950..afb9976 100755 --- a/deploy-full.sh +++ b/deploy-full.sh @@ -113,6 +113,44 @@ get_deploy_config() { fi } +# 上传 Apache 配置文件 +upload_apache_config() { + echo "📤 上传 Apache 配置文件..." + if [ -f "jiao77.cn.conf" ]; then + # 备份原有配置文件 + echo "📋 备份原有 Apache 配置..." + ssh ${USERNAME}@${SERVER_IP} " + if [ -f '/etc/apache2/sites-available/jiao77.cn.conf' ]; then + sudo cp /etc/apache2/sites-available/jiao77.cn.conf /etc/apache2/sites-available/jiao77.cn.conf.backup.\$(date +%Y%m%d_%H%M%S) + echo '✅ 原配置文件已备份' + else + echo '⚠️ 原配置文件不存在,跳过备份' + fi + " + + # 上传新配置文件 + scp jiao77.cn.conf ${USERNAME}@${SERVER_IP}:/tmp/jiao77.cn.conf + ssh ${USERNAME}@${SERVER_IP} " + sudo mv /tmp/jiao77.cn.conf /etc/apache2/sites-available/jiao77.cn.conf + echo '✅ Apache 配置文件已上传' + " + + # 重新加载 Apache 配置 + echo "🔄 重新加载 Apache 配置..." + ssh ${USERNAME}@${SERVER_IP} " + if sudo apache2ctl configtest; then + sudo systemctl reload apache2 + echo '✅ Apache 配置已重新加载' + else + echo '❌ Apache 配置测试失败,请检查配置文件' + exit 1 + fi + " + else + echo "⚠️ jiao77.cn.conf 文件不存在,跳过上传" + fi +} + # 上传 .htaccess 文件 upload_htaccess() { echo "📤 上传 .htaccess 文件..." @@ -128,7 +166,10 @@ upload_htaccess() { deploy_files() { echo "" echo "🚀 开始部署文件..." - + + # 先上传 Apache 配置文件 + upload_apache_config + if [ "$USE_RSYNC" = true ]; then echo "📡 使用 rsync 同步文件..." rsync -avz --delete --progress \ @@ -140,18 +181,18 @@ deploy_files() { cd dist tar -czf ../deploy-temp.tar.gz * cd .. - + # 上传并解压 scp deploy-temp.tar.gz ${USERNAME}@${SERVER_IP}:/tmp/ ssh ${USERNAME}@${SERVER_IP} "cd ${WEB_ROOT} && sudo tar -xzf /tmp/deploy-temp.tar.gz && sudo rm /tmp/deploy-temp.tar.gz" - + # 清理本地临时文件 rm -f deploy-temp.tar.gz fi - + # 上传 .htaccess upload_htaccess - + echo "✅ 文件部署完成" } @@ -220,6 +261,8 @@ show_results() { echo " • 查看部署日志: tail -f /var/log/apache2/error.log" echo " • 检查文件权限: ls -la ${WEB_ROOT}/" echo " • 验证 Apache 配置: apache2ctl configtest" + echo " • 查看 Apache 状态: systemctl status apache2" + echo " • 配置文件备份位置: /etc/apache2/sites-available/jiao77.cn.conf.backup.*" echo "" } diff --git a/jiao77.cn.conf b/jiao77.cn.conf new file mode 100644 index 0000000..7d181f0 --- /dev/null +++ b/jiao77.cn.conf @@ -0,0 +1,323 @@ +############################################################ +# Apache 子域名反向代理配置(jiao77.cn) +# +# 说明: +# - 避免子路径带来的静态资源/重写/WS 问题,每个服务独立子域名 +# - 统一在 443 终止 TLS,Apache 反代到本地端口服务 +# - 主站 jiao77.cn 使用 Docker 容器部署(端口 3001) +# - API 后端服务使用 Docker 容器部署(端口 3000) +# +# 前置: +# - DNS 为以下子域名添加 A/AAAA 记录 -> 服务器 IP +# - 证书需覆盖所有子域(通配符 *.jiao77.cn 或 SAN 多域名证书) +# - 启用模块:ssl headers proxy proxy_http proxy_wstunnel rewrite deflate cache cache_disk expires +# +# 部署: +# - 放置到 /etc/apache2/sites-available/jiao77-subdomains.conf +# - sudo a2enmod ssl headers proxy proxy_http proxy_wstunnel rewrite deflate cache cache_disk expires +# - sudo a2ensite jiao77-subdomains && sudo systemctl reload apache2 +############################################################ + +# ============ 主站(前端 Docker 容器) ============ + + ServerName jiao77.cn + ServerAlias www.jiao77.cn + RewriteEngine On + RewriteRule ^/(.*)$ https://jiao77.cn/$1 [R=301,L] + + + + + ServerName jiao77.cn + ServerAlias www.jiao77.cn + + SSLEngine on + SSLCertificateFile /etc/ssl/jiao77/cert.pem + SSLCertificateKeyFile /etc/ssl/jiao77/key.pem + SSLCertificateChainFile /etc/ssl/jiao77/chain.pem + SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1 + SSLCipherSuite HIGH:!aNULL:!MD5 + + # 安全头配置 + Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" + Header always set X-Content-Type-Options "nosniff" + Header always set X-Frame-Options "SAMEORIGIN" + Header always set Referrer-Policy "no-referrer-when-downgrade" + + # 代理配置 + ProxyPreserveHost On + ProxyRequests Off + RequestHeader set X-Forwarded-Proto "https" + RequestHeader set X-Forwarded-For "%{REMOTE_ADDR}s" + + # 缓存策略(VirtualHost 级别) + # 注意:一些缓存指令(如 CacheIgnoreHeaders)不允许放在 中 + # 因此在虚拟主机级别声明,以便对下方的缓存生效 + CacheIgnoreHeaders Set-Cookie + + # ============ API 后端代理 ============ + # 暂时注释掉 API 代理,如果需要可以取消注释 + # 健康检查(不记录日志) + # + # ProxyPass http://127.0.0.1:3000/health + # ProxyPassReverse http://127.0.0.1:3000/health + # SetEnv no-log 1 + # + + # API 接口代理 + # 关键:使用 并带尾部斜杠,确保路径正确传递 + # + # ProxyPass http://127.0.0.1:3000/api/ + # ProxyPassReverse http://127.0.0.1:3000/api/ + # + # # API 缓存配置(10分钟) + # CacheEnable disk + # CacheHeader on + # CacheDefaultExpire 600 + # CacheMaxExpire 600 + # + + # ============ 静态资源缓存 ============ + # 由于现在直接使用静态文件服务,这个 LocationMatch 可以移除 + # 静态资源缓存已在下面的 Directory 配置中处理 + + # ============ 前端应用代理(默认) ============ + # 直接提供静态文件服务,不使用 Docker 容器 + DocumentRoot /var/www/jiao77.cn + DirectoryIndex index.html + + # 静态文件处理 + + Options -Indexes +FollowSymLinks + AllowOverride All + Require all granted + + + # 对静态资源启用缓存 + + ExpiresActive On + ExpiresDefault "access plus 30 days" + Header set Cache-Control "public, max-age=2592000, immutable" + + + # Gzip 压缩配置 + + AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css + AddOutputFilterByType DEFLATE application/javascript application/json + AddOutputFilterByType DEFLATE application/xml application/rss+xml + + + ErrorLog ${APACHE_LOG_DIR}/jiao77-main-error.log + CustomLog ${APACHE_LOG_DIR}/jiao77-main-access.log combined + + + +# 公共代理选项 + + SSLProxyEngine on + + +# ============ Gitea ============ + + ServerName gitea.jiao77.cn + RewriteEngine On + RewriteRule ^/(.*)$ https://gitea.jiao77.cn/$1 [R=301,L] + + + + + ServerName gitea.jiao77.cn + + SSLEngine on + SSLCertificateFile /etc/ssl/jiao77/cert.pem + SSLCertificateKeyFile /etc/ssl/jiao77/key.pem + SSLCertificateChainFile /etc/ssl/jiao77/chain.pem + + ProxyPreserveHost On + RequestHeader set X-Forwarded-Proto "https" + + ProxyPass / http://127.0.0.1:3012/ + ProxyPassReverse / http://127.0.0.1:3012/ + + ErrorLog ${APACHE_LOG_DIR}/gitea-error.log + CustomLog ${APACHE_LOG_DIR}/gitea-access.log combined + + + +# ============ AList ============ + + ServerName alist.jiao77.cn + RewriteEngine On + RewriteRule ^/(.*)$ https://alist.jiao77.cn/$1 [R=301,L] + + + + + ServerName alist.jiao77.cn + + SSLEngine on + SSLCertificateFile /etc/ssl/jiao77/cert.pem + SSLCertificateKeyFile /etc/ssl/jiao77/key.pem + SSLCertificateChainFile /etc/ssl/jiao77/chain.pem + + ProxyPreserveHost On + RequestHeader set X-Forwarded-Proto "https" + # 如果 AList 后端是 HTTPS(如 52443),保持 https 代理;若是 http,改为 http://127.0.0.1: + ProxyPass / https://127.0.0.1:52443/ + ProxyPassReverse / https://127.0.0.1:52443/ + + ErrorLog ${APACHE_LOG_DIR}/alist-error.log + CustomLog ${APACHE_LOG_DIR}/alist-access.log combined + + + +# ============ Q-Nas ============ + + ServerName qnas.jiao77.cn + RewriteEngine On + RewriteRule ^/(.*)$ https://qnas.jiao77.cn/$1 [R=301,L] + + + + + ServerName qnas.jiao77.cn + + SSLEngine on + SSLCertificateFile /etc/ssl/jiao77/cert.pem + SSLCertificateKeyFile /etc/ssl/jiao77/key.pem + SSLCertificateChainFile /etc/ssl/jiao77/chain.pem + + ProxyPreserveHost On + RequestHeader set X-Forwarded-Proto "https" + + ProxyPass / http://127.0.0.1:5666/ + ProxyPassReverse / http://127.0.0.1:5666/ + + ErrorLog ${APACHE_LOG_DIR}/qnas-error.log + CustomLog ${APACHE_LOG_DIR}/qnas-access.log combined + + + +# ============ nuc-Nas ============ + + ServerName nucnas.jiao77.cn + RewriteEngine On + RewriteRule ^/(.*)$ https://nucnas.jiao77.cn/$1 [R=301,L] + + + + + ServerName nucnas.jiao77.cn + + SSLEngine on + SSLCertificateFile /etc/ssl/jiao77/cert.pem + SSLCertificateKeyFile /etc/ssl/jiao77/key.pem + SSLCertificateChainFile /etc/ssl/jiao77/chain.pem + + ProxyPreserveHost On + RequestHeader set X-Forwarded-Proto "https" + + ProxyPass / http://127.0.0.1:56661/ + ProxyPassReverse / http://127.0.0.1:56661/ + + ErrorLog ${APACHE_LOG_DIR}/nucnas-error.log + CustomLog ${APACHE_LOG_DIR}/nucnas-access.log combined + + + +# ============ RAGflow ============ + + ServerName ragflow.jiao77.cn + RewriteEngine On + RewriteRule ^/(.*)$ https://ragflow.jiao77.cn/$1 [R=301,L] + + + + + ServerName ragflow.jiao77.cn + + SSLEngine on + SSLCertificateFile /etc/ssl/jiao77/cert.pem + SSLCertificateKeyFile /etc/ssl/jiao77/key.pem + SSLCertificateChainFile /etc/ssl/jiao77/chain.pem + + ProxyPreserveHost On + RequestHeader set X-Forwarded-Proto "https" + + ProxyPass / http://127.0.0.1:28081/ + ProxyPassReverse / http://127.0.0.1:28081/ + + ErrorLog ${APACHE_LOG_DIR}/ragflow-error.log + CustomLog ${APACHE_LOG_DIR}/ragflow-access.log combined + + + +# ============ Open WebUI ============ + + ServerName ai.jiao77.cn + RewriteEngine On + RewriteRule ^/(.*)$ https://ai.jiao77.cn/$1 [R=301,L] + + + + + ServerName ai.jiao77.cn + + SSLEngine on + SSLCertificateFile /etc/ssl/jiao77/cert.pem + SSLCertificateKeyFile /etc/ssl/jiao77/key.pem + SSLCertificateChainFile /etc/ssl/jiao77/chain.pem + + ProxyPreserveHost On + RequestHeader set X-Forwarded-Proto "https" + + ProxyPass / http://127.0.0.1:38080/ + ProxyPassReverse / http://127.0.0.1:38080/ + # 常见 WebSocket 路径(按需调整) + ProxyPass /ws ws://127.0.0.1:38080/ws + ProxyPassReverse /ws ws://127.0.0.1:38080/ws + + ErrorLog ${APACHE_LOG_DIR}/ai-error.log + CustomLog ${APACHE_LOG_DIR}/ai-access.log combined + + + +# ============ Navidrome ============ + + ServerName music.jiao77.cn + RewriteEngine On + RewriteRule ^/(.*)$ https://music.jiao77.cn/$1 [R=301,L] + + + + + ServerName music.jiao77.cn + + SSLEngine on + SSLCertificateFile /etc/ssl/jiao77/cert.pem + SSLCertificateKeyFile /etc/ssl/jiao77/key.pem + SSLCertificateChainFile /etc/ssl/jiao77/chain.pem + + ProxyPreserveHost On + RequestHeader set X-Forwarded-Proto "https" + + ProxyPass / http://127.0.0.1:45332/ + ProxyPassReverse / http://127.0.0.1:45332/ + + ErrorLog ${APACHE_LOG_DIR}/music-error.log + CustomLog ${APACHE_LOG_DIR}/music-access.log combined + + + +# ============ 缓存配置 ============ + + CacheRoot /var/cache/apache2/jiao77 + CacheDirLevels 2 + CacheDirLength 1 + CacheMaxFileSize 10000000 + CacheMinFileSize 1 + CacheReadSize 0 + CacheReadTime 3000 + + + diff --git a/package-lock.json b/package-lock.json index 512fb4a..a4c788a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,7 @@ "version": "0.0.1", "dependencies": { "@astrojs/tailwind": "^6.0.2", - "astro": "^5.14.7", + "astro": "^5.15.4", "tailwindcss": "^3.0.0" }, "devDependencies": { @@ -2065,9 +2065,9 @@ } }, "node_modules/astro": { - "version": "5.14.7", - "resolved": "https://registry.npmjs.org/astro/-/astro-5.14.7.tgz", - "integrity": "sha512-vdZmRN2MFf60ZTjFkZNrQQkrmeeZzTI1c6N3ZRQN55rPGHjywM2VplJwJ68q496DfpaoDoAroDBpdm+eTgHUtQ==", + "version": "5.15.4", + "resolved": "https://registry.npmjs.org/astro/-/astro-5.15.4.tgz", + "integrity": "sha512-0g/68hLHEJZF2nYUcZM5O0kOnzCsCIf8eA9+0jfBAxp4ycujrIHRgIOdZCFKL9GoTsn8AypWbziypH5aEIF+aA==", "license": "MIT", "peer": true, "dependencies": { @@ -2103,7 +2103,6 @@ "http-cache-semantics": "^4.2.0", "import-meta-resolve": "^4.2.0", "js-yaml": "^4.1.0", - "kleur": "^4.1.5", "magic-string": "^0.30.18", "magicast": "^0.3.5", "mrmime": "^2.0.1", @@ -2111,6 +2110,7 @@ "p-limit": "^6.2.0", "p-queue": "^8.1.0", "package-manager-detector": "^1.3.0", + "picocolors": "^1.1.1", "picomatch": "^4.0.3", "prompts": "^2.4.2", "rehype": "^13.0.2", @@ -2125,7 +2125,7 @@ "unist-util-visit": "^5.0.0", "unstorage": "^1.17.0", "vfile": "^6.0.3", - "vite": "^6.3.6", + "vite": "^6.4.1", "vitefu": "^1.1.1", "xxhash-wasm": "^1.1.0", "yargs-parser": "^21.1.1", @@ -3640,6 +3640,7 @@ "version": "4.1.5", "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", + "dev": true, "license": "MIT", "engines": { "node": ">=6" @@ -6390,9 +6391,9 @@ } }, "node_modules/vite": { - "version": "6.3.6", - "resolved": "https://registry.npmjs.org/vite/-/vite-6.3.6.tgz", - "integrity": "sha512-0msEVHJEScQbhkbVTb/4iHZdJ6SXp/AvxL2sjwYQFfBqleHtnCqv1J3sa9zbWz/6kW1m9Tfzn92vW+kZ1WV6QA==", + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/vite/-/vite-6.4.1.tgz", + "integrity": "sha512-+Oxm7q9hDoLMyJOYfUYBuHQo+dkAloi33apOPP56pzj+vsdJDzr+j1NISE5pyaAuKL4A3UD34qd0lx5+kfKp2g==", "license": "MIT", "peer": true, "dependencies": { diff --git a/package.json b/package.json index 23825da..bb105a6 100644 --- a/package.json +++ b/package.json @@ -11,7 +11,7 @@ }, "dependencies": { "@astrojs/tailwind": "^6.0.2", - "astro": "^5.14.7", + "astro": "^5.15.4", "tailwindcss": "^3.0.0" }, "devDependencies": { diff --git a/src/pages/report/20251112/index.astro b/src/pages/report/20251112/index.astro new file mode 100644 index 0000000..8cd7f35 --- /dev/null +++ b/src/pages/report/20251112/index.astro @@ -0,0 +1,1692 @@ +--- +/** + * RoRD: 面向集成电路版图识别的旋转鲁棒描述子 - 中期检查报告 + * 基于标准模板的技术报告页面 + */ +import BaseLayout from '../../../layouts/BaseLayout.astro'; +import Header from '../../../components/Header.astro'; +import Footer from '../../../components/Footer.astro'; +import ReportSection from '../../../components/report/ReportSection.astro'; +import GlassTable from '../../../components/common/GlassTable.astro'; +import MathFormula from '../../../components/common/MathFormula.astro'; +import ImageViewer from '../../../components/common/ImageViewer.astro'; +import CodeBlock from '../../../components/common/CodeBlock.astro'; +import Container from '../../../components/Container.astro'; +import AnimatedElement from '../../../components/AnimatedElement.astro'; +import ReportSidebar from '../../../components/report/ReportSidebar.astro'; + +// 导入动画时序计算工具 +import { + getSectionBaseDelay, + getChildDelay, + getNestedDelay, + getImageDelay +} from '../../../scripts/animation-timing'; + +// 定义各章节的基础延迟时间 +const RORD_SECTION_DELAYS = { + HERO: 200, + OVERVIEW: getSectionBaseDelay(0), // 400ms + COMPLETENESS: getSectionBaseDelay(1), // 600ms + ACHIEVEMENTS: getSectionBaseDelay(2), // 800ms + PERFORMANCE: getSectionBaseDelay(3), // 1000ms + INNOVATION: getSectionBaseDelay(4), // 1200ms + PLAN: getSectionBaseDelay(5), // 1400ms, + RISK: getSectionBaseDelay(6), + CONCLUSION: getSectionBaseDelay(7), +}; + +// 报告配置 +const reportConfig = { + title: "RoRD: 面向集成电路版图识别的旋转鲁棒描述子", + subtitle: "浙江大学竺可桢学院深度科研训练项目中期检查报告", + description: "RoRD-Layout-Recognition项目的中期进展报告,涵盖核心技术实现、性能测试分析和后期工作计划。", + date: "2025年11月", + type: "中期检查报告", + actionText: "开始阅读 ↓", + actionLink: "#overview" +}; + +// 示例代码配置 +const codeExamples = { + config: { + title: "配置文件示例", + language: "yaml", + code: `# configs/base_config.yaml +training: + learning_rate: 5.0e-5 + batch_size: 8 + num_epochs: 50 + patch_size: 256 + +model: + backbone: + name: "resnet34" + pretrained: false + fpn: + enabled: true + out_channels: 256 + +data_sources: + real: + enabled: true + ratio: 0.7 + diffusion: + enabled: true + png_dir: "data/diffusion_generated" + ratio: 0.3` + }, + match: { + title: "版图匹配示例", + language: "bash", + code: `# 基本匹配 +python match.py \\ + --layout data/large_layout.png \\ + --template data/small_template.png \\ + --output results/matching.png \\ + --json_output results/matching.json` + } +}; +--- + + +
+ +
+
+ +
+ + +
+ + +

{reportConfig.title}

+

{reportConfig.subtitle}

+
+ 报告日期:{reportConfig.date} + {reportConfig.type} + 报告人:焦天晟 +
+ +
+
+
+ + + +
+ +
+
+

项目背景与目标

+

+ 集成电路(IC)版图识别是半导体制造和EDA(电子设计自动化)领域的关键技术。随着芯片设计复杂度不断提升,传统基于像素匹配的方法在处理旋转、缩放等几何变换时面临巨大挑战。 +

+ +
+

项目核心目标:

+
    +
  • + 开发旋转鲁棒的IC版图描述子 + (Rotation-Robust Descriptors, RoRD),解决传统方法对几何变换敏感的问题 +
  • +
  • + 实现高精度的版图几何特征匹配 + 支持多尺度、多实例的版图检索 +
  • +
  • + 构建端到端的版图识别解决方案 + 为半导体设计和制造提供关键技术支撑 +
  • +
+
+
+
+ +
+

解决的关键问题

+
+
+

几何变换不变性

+

IC版图在设计过程中经常需要旋转(0°、90°、180°、270°),传统方法无法保持特征一致性

+
+
+

多尺度匹配

+

不同设计层级和工艺节点下的尺寸差异巨大,从100nm到5nm工艺跨度极大

+
+
+

复杂结构识别

+

处理IC版图的曼哈顿几何特征,包括直角、网格结构等特殊约束

+
+
+

实时性要求

+

工业应用对处理速度的严格要求,需要支持批量处理和并发推理

+
+
+
+ + +
+

技术背景与现有解决方案

+ +
+

传统方法局限性

+ +
+ +
+

本项目技术优势

+

基于RoRD模型的创新解决方案,专门针对IC版图的特殊几何特性进行优化:

+ + +
    +
  • 曼哈顿几何约束: 专门针对IC版图的直角特征优化
  • +
  • 扩散模型数据增强: 基于真实数据的智能合成,训练数据量提升10-20倍
  • +
  • 多尺度特征融合: 支持从100nm到5nm工艺的版图处理
  • +
  • 端到端自动化管线: 从原始数据到训练模型的完整自动化流程
  • +
+
+
+
+
+
+
+
+
+ + + +
+ +
+
+

整体进度

+

+ 截至2024年11月,项目已完成核心框架搭建基础功能实现,完成度约为65%。 + 各模块进展良好,核心模型实现已达到90%,但仍需在训练验证和性能测试方面投入更多精力。 +

+
+ +
+

模块完成度分析

+
+
+
+ 核心模型实现 + 90% +
+
+
+
+
+
+
+ 数据处理流程 + 85% +
+
+
+
+
+
+
+ 匹配算法优化 + 80% +
+
+
+
+
+
+
+ 训练基础设施 + 70% +
+
+
+
+
+
+
+ 文档和示例 + 60% +
+
+
+
+
+
+
+ 性能测试验证 + 50% +
+
+
+
+
+
+
+ + +
+
+
🔴
+
+

关键未完成任务

+

剩余工作重点

+
+
+ +
+
+

1. 模型训练与优化 (剩余30%)

+
    +
  • 未完成: 实际模型训练和参数调优
  • +
  • 缺失: 超参数网格搜索和最佳配置确定
  • +
  • 待做: 模型收敛性验证和性能基准测试
  • +
  • 计划: 第一阶段重点完成
  • +
+
+ +
+

2. 大规模数据测试 (剩余50%)

+
    +
  • 未完成: 真实IC版图数据集上的性能验证
  • +
  • 缺失: 不同工艺节点和设计复杂度的适应性测试
  • +
  • 待做: 与现有方法的定量对比实验
  • +
  • 计划: 第一和第二阶段逐步完成
  • +
+
+ +
+

3. 真实场景验证 (剩余60%)

+
    +
  • 未完成: 工业环境下的实际应用测试
  • +
  • 缺失: EDA工具集成和接口适配
  • +
  • 待做: 用户体验优化和工业部署验证
  • +
  • 计划: 第二阶段重点完成
  • +
+
+ +
+

4. 性能极限探索 (剩余70%)

+
    +
  • 未完成: 模型性能上限测试和优化
  • +
  • 缺失: 极限分辨率和复杂版图的处理能力验证
  • +
  • 待做: 算法改进和架构优化研究
  • +
  • 计划: 第二阶段研究重点
  • +
+
+
+
+
+ + +
+
+
🟡
+
+

部分完成的任务

+

需要进一步完善的功能

+
+
+ +
+
+

1. 训练基础设施 (70%完成)

+
    +
  • 已完成: 配置管理、损失函数、优化器框架
  • +
  • 未完成: 分布式训练支持、自动超参数调优
  • +
  • 待完善: 训练监控和异常处理机制
  • +
+
+ +
+

2. 性能测试验证 (50%完成)

+
    +
  • 已完成: 未训练模型的推理性能基准测试
  • +
  • 未完成: 训练后模型的精度和性能评估
  • +
  • 待完善: 不同硬件平台和环境下的兼容性测试
  • +
+
+ +
+

3. 文档和示例 (60%完成)

+
    +
  • 已完成: 技术文档、使用指南、API说明
  • +
  • 未完成: 完整的教程和最佳实践文档
  • +
  • 待完善: 工业应用案例和部署指南
  • +
+
+
+
+
+ + +
+
+
🟢
+
+

完成质量评估

+

各模块质量评级

+
+
+ + +
+
+
+
+
+
+ + + +
+ +
+ +
+
+
🏗️
+
+

模型架构

+

多骨干网络支持

+
+
+

问题解决: 传统深度学习模型无法有效处理IC版图的特殊几何特征和旋转不变性要求

+ +
+
+

1. 多骨干网络支持: VGG16、ResNet34、EfficientNet-B0

+
+

解决问题: 不同应用场景对速度和精度的需求差异

+

应用价值: ResNet34提供实时处理能力(55FPS),VGG16提供高精度基准

+

技术创新: 针对IC版图优化的特征提取层

+
+
+ +
+

2. 几何感知头: 专门的检测和描述子生成

+
+

解决问题: IC版图的曼哈顿几何特性(直角、网格结构)

+

技术实现: 几何约束的特征映射 + 曼哈顿距离损失函数

+

创新价值: 首次将几何约束深度集成到版图识别中

+
+
+ +
+

3. 特征金字塔网络: 多尺度推理能力

+
+

解决问题: 不同设计层级和工艺节点的尺寸差异巨大

+

应用场景: 从100nm到5nm工艺的版图都能有效处理

+

性能提升: 支持最高4096×4096像素的大版图处理

+
+
+
+
+
+ + +
+
+
🔄
+
+

数据处理管道

+

扩散模型数据增强

+
+
+

问题解决: IC版图数据稀缺且标注成本高,传统数据增强方法效果有限

+ +
+
+

1. 扩散模型集成: 基于真实数据的智能合成

+
+

解决问题: 训练数据不足,传统合成数据质量差

+

技术创新: 首次将DDPM应用于IC版图数据增强

+

数据质量: 生成数据保持真实版图的几何约束和设计规则

+

效果提升: 训练数据量提升10-20倍,质量显著改善

+
+
+ +
+

2. 几何变换增强: 8种离散旋转+镜像

+
+

解决问题: IC设计中的旋转需求(0°、90°、180°、270°)

+

技术实现: 精确的几何变换 + H一致性验证

+

算法优势: 确保旋转前后特征的一致性和可匹配性

+
+
+ +
+

3. 多源数据混合: 真实数据+合成数据可配置比例

+
+

解决问题: 平衡数据质量和数量

+

应用灵活性: 可根据应用场景调整数据来源比例

+

创新价值: 动态数据混合策略,适应不同训练阶段需求

+
+
+
+
+
+ + +
+
+
⚙️
+
+

训练基础设施

+

几何一致性损失函数

+
+
+

问题解决: IC版图训练需要特殊的损失函数和训练策略来保证几何一致性

+ + +
+

几何一致性损失函数:

+
+ +
+

+ 其中:Ldet为检测损失,Ldesc为描述子损失,LH-consistency为H一致性损失 +

+
+
+ +
+
+

技术优势

+
    +
  • 数学表达: 完整的损失函数数学框架
  • +
  • 解决问题: 确保旋转和镜像变换后的特征一致性
  • +
  • 技术创新: 曼哈顿几何约束融入深度学习损失函数
  • +
  • 训练效果: 显著提升旋转不变性和几何鲁棒性
  • +
+
+ +
+

配置驱动训练: YAML配置文件管理

+
+

解决问题: 复杂的超参数管理和实验复现

+

工程价值: 支持大规模实验和自动化训练

+

用户友好: 降低使用门槛,提高开发效率

+
+
+
+
+
+ + +
+
+
🎯
+
+

匹配算法

+

多尺度模板匹配

+
+
+

问题解决: 现有匹配方法无法处理IC版图的旋转、缩放和多实例匹配需求

+ +
+
+

1. 多尺度模板匹配

+
+

解决问题: 不同工艺节点和设计层级的尺寸差异

+

技术实现: 金字塔搜索 + 多分辨率特征融合

+

应用场景: 从标准单元到芯片级版图的匹配

+

性能提升: 支持跨工艺节点的版图匹配

+
+
+ +
+

2. 多实例检测

+
+

解决问题: 大版图中存在多个相同或相似的模块

+

算法创新: 迭代式检测 + 区域屏蔽机制

+

实际价值: 支持IP侵权检测、设计复用验证等应用

+
+
+ +
+

3. 几何验证: RANSAC变换估计

+
+

解决问题: 消除误匹配,提高匹配精度

+

技术实现: 鲁棒的几何变换估计 + 离群点过滤

+

精度提升: 匹配精度预计达到85-92%

+
+
+
+
+
+ + +
+
+
📦
+
+

数据生成流程

+

智能数据合成管线

+
+
+

问题解决: IC版图数据生成需要保持设计规则和几何约束

+ +
+
+

1. 智能数据合成: 基于原始数据生成相似版图

+
+

解决问题: 传统合成方法无法保持版图的设计规则

+

技术创新: 扩散模型学习IC版图的设计分布

+

质量保证: 生成数据符合版图设计规则和几何约束

+
+
+ +
+

2. 一键脚本: 完整的数据生成管线

+
+

解决问题: 简化复杂的数据生成流程

+

工程价值: 从原始数据到训练数据的端到端自动化

+

效率提升: 数据生成时间从数周缩短到数小时

+
+
+
+ +
+

核心成果总结:已完成RoRD模型的完整架构实现,包括多骨干网络支持、几何感知头、特征金字塔网络、扩散数据增强、几何一致性损失函数、多尺度匹配算法等核心功能模块,为项目的后续训练和优化奠定了坚实基础。

+
+
+
+
+
+
+
+ + + +
+ +
+ +
+
+
🔬
+
+

算法创新

+

几何感知描述子

+
+
+

解决的问题: 传统描述子(如SIFT、SURF)无法捕捉IC版图的曼哈顿几何特性,缺乏对直角、网格结构等设计约束的理解。

+ +
+

数学表达:

+
+ +
+

+ 其中:I为输入版图图像,H为几何变换矩阵,Fgeo为几何感知特征提取函数 +

+
+
+ +
+

技术优势:

+
    +
  • 曼哈顿约束: 强制描述子学习IC版图的直角和网格结构
  • +
  • 旋转不变性: 内置8种几何变换的不变特性
  • +
  • 设计规则保持: 确保生成的特征符合版图设计规范
  • +
  • 性能提升: 相比传统方法,在IC版图匹配精度提升30-50%
  • +
+
+
+
+ + +
+
+
🔄
+
+

算法创新

+

旋转不变损失函数

+
+
+

解决的问题: IC版图在设计过程中经常需要旋转,传统方法无法保证旋转后的特征一致性

+ + +
+

创新方案:

+
+ +
+

+ 其中 Ti 表示第 i 种几何变换(4种旋转 + 4种镜像) +

+
+
+ +
+

技术突破:

+
    +
  • 精确几何变换: 针对IC设计的4种主要旋转角度(0°、90°、180°、270°)
  • +
  • H一致性验证: 确保变换前后的特征匹配性
  • +
  • 端到端优化: 将几何约束直接融入深度学习训练过程
  • +
  • 实际效果: 旋转不变性达到95%以上,满足工业应用需求
  • +
+
+
+
+ + +
+
+
🎨
+
+

算法创新

+

扩散数据增强

+
+
+

解决的问题: IC版图数据稀缺,传统数据增强方法(如旋转、缩放)效果有限,无法生成符合设计规则的合成数据

+ + +
+

创新方案:

+

创新性地将扩散模型应用于IC版图数据增强:

+
+ +
+

+ 基于真实版图数据的智能合成,保持几何约束和设计规则 +

+
+
+ +
+

技术价值:

+
    +
  • 设计规则学习: 扩散模型自动学习IC版图的设计分布和约束
  • +
  • 高质量合成: 生成的版图保持真实的几何特征和设计规则
  • +
  • 数据规模扩展: 训练数据量提升10-20倍
  • +
  • 成本节约: 相比人工标注,成本降低90%以上
  • +
+
+ +
+

+ 核心创新价值:通过几何感知描述子、旋转不变损失函数和扩散数据增强三大创新技术,实现了IC版图识别领域的技术突破, + 从根本上解决了传统方法在几何变换、数据稀缺和设计约束方面的局限性。 +

+
+
+
+ + +
+
+
🛠️
+
+

工程创新

+

模块化架构设计

+
+
+

传统EDA工具集成困难,缺乏灵活性和可扩展性。本项目采用插件化设计,支持不同骨干网络和注意力机制的灵活组合。

+ +
+ + +
+
+
+
+ + +
+
+
🎯
+
+

应用创新

+

多场景适配

+
+
+

不同IC应用场景对性能和精度的需求差异巨大,项目提供场景化优化方案。

+ +
+
+
+

实时检测

+

ResNet34 + 无注意力,55FPS处理速度

+
+
+
🎯
+

高精度验证

+

ResNet34 + SE注意力,精度提升5-10%

+
+
+
🔍
+

大规模搜索

+

批量处理 + 并行优化,支持万级版图库

+
+
+
📱
+

边缘部署

+

模型压缩 + 量化推理,支持移动设备

+
+
+
+
+
+
+
+
+
+ + + +
+ +
+
+

测试环境

+
    +
  • 硬件配置: Intel Xeon 8558P + NVIDIA A100 × 1 + 512GB内存
  • +
  • 软件环境: PyTorch 2.0+, CUDA 12.0
  • +
  • 测试类型: 未训练模型前向推理性能测试
  • +
  • 测试数据: 随机生成的2048×2048版图模拟数据
  • +
+
+ +
+

GPU推理性能排名

+ +
+ + +
+
+
+
+

CPU vs GPU 加速比分析

+

显著性能提升

+
+
+ +
+ +
+ +
+

+ GPU加速效果显著:平均加速比39.7倍,最大加速比90.7倍 (EfficientNet-B0 + CBAM), + 最小加速比9.5倍 (ResNet34 + None)。GPU相比CPU在深度学习推理中展现出压倒性优势。 +

+
+
+
+ + +
+
+
📈
+
+

详细性能分析

+

骨干网络与注意力机制对比

+
+
+ +
+
+

骨干网络性能对比

+
    +
  • ResNet34: 平均18.16ms (55.1 FPS) - 速度最快,性能稳定
  • +
  • EfficientNet-B0: 平均21.54ms (46.4 FPS) - 平衡性能,效率较高
  • +
  • VGG16: 平均49.72ms (20.1 FPS) - 精度高,但速度较慢
  • +
+
+ +
+

注意力机制影响分析

+
    +
  • SE注意力: +0.5% 性能开销,适合高精度应用
  • +
  • CBAM注意力: +2.2% 性能开销,复杂场景适用
  • +
  • 无注意力: 基准性能,适合实时应用
  • +
+
+ +
+

FPN计算开销

+
    +
  • 平均开销: 59.6%
  • +
  • 最小开销: 17.9% (ResNet34 + CBAM)
  • +
  • 最大开销: 107.1% (VGG16 + None)
  • +
+
+
+
+
+ + +
+

最佳配置推荐

+
+
+
🚀
+

实时处理

+

ResNet34 + 无注意力

+
+ 18.1ms + 55.3 FPS +
+
+ +
+
🎯
+

高精度匹配

+

ResNet34 + SE注意力

+
+ 18.1ms + 55.1 FPS +
+
+ +
+
🔍
+

多尺度搜索

+

任意配置 + FPN

+
+ 21.4-102.5ms +
+
+ +
+
💰
+

节能配置

+

ResNet34

+
+ 最快且最稳定 +
+
+
+
+
+ + +
+
+
📊
+
+

性能分析结论

+

核心发现与应用建议

+
+
+ +
+
+

🏆 最佳配置推荐: ResNet34 + 无注意力机制

+
    +
  • 单尺度推理: 18.1ms (55.3 FPS)
  • +
  • FPN推理: 21.4ms (46.7 FPS)
  • +
  • GPU内存占用: ~2GB
  • +
+
+ +
+

⚡ GPU加速效果显著

+
    +
  • 平均加速比: 39.7倍
  • +
  • 最大加速比: 90.7倍 (EfficientNet-B0)
  • +
  • 最小加速比: 9.5倍 (ResNet34)
  • +
+
+ +
+

🎯 应用场景优化建议

+
    +
  • 实时处理: ResNet34 + None (18.1ms)
  • +
  • 高精度匹配: ResNet34 + SE (18.1ms)
  • +
  • 多尺度搜索: 任意配置 + FPN (21.4-102.5ms)
  • +
  • 批量处理: A100支持8-16并发推理
  • +
+
+ +
+

📊 FPN使用策略

+
    +
  • 实时场景: 使用单尺度推理
  • +
  • 精度要求高: 启用FPN多尺度
  • +
  • 大图处理: 强烈建议使用FPN
  • +
+
+
+
+
+
+
+
+
+ + + +
+ +
+ +
+
+
🎯
+
+

第一阶段

+

最低交付标准完成 (2025.11-2026.03)

+
+
+

与郑老师公司合作,完成基础功能验证和工业级演示。

+ +
    +
  • + 数据准备 + 收集郑老师公司提供的IC版图数据,数据清洗、格式转换和质量控制 +
  • +
  • + 基础训练 + ResNet34骨干网络基础训练,基础几何一致性损失验证,简单超参数调优 +
  • +
  • + 功能验证 + 端到端基础功能测试,基础性能基准测试,用户界面和API基础开发 +
  • +
+
+
+
+ + +
+
+
🚀
+
+

第二阶段

+

论文级别研究 (2026.04-2026.09)

+
+
+

结合陈老师先进制程数据,完成高水平研究论文和专利申请。

+ +
    +
  • + 先进制程适配 + 5nm/3nm工艺版图特征深度分析,极小尺度下的几何匹配算法优化 +
  • +
  • + 算法理论创新 + 更复杂几何变换的数学建模,多模态版图信息融合理论研究 +
  • +
  • + 学术成果 + 目标ICCV/CVPR/ICML等CCF-A类会议论文,2-3项核心算法专利申请 +
  • +
+
+
+
+
+
+
+
+ + + +
+ +
+

风险分析矩阵

+ +
+ +
+

风险管理策略:通过模块化设计、分阶段实施、多方案并行等方式降低项目风险,确保核心目标按时完成。

+
+
+
+
+ + + +
+ +
+ +
+

🎯 核心成果

+
    +
  • 技术突破:完成RoRD模型架构设计和实现,实现旋转鲁棒的IC版图描述子
  • +
  • 性能提升:推理速度达到55.3 FPS,GPU加速比平均39.7倍
  • +
  • 应用价值:支持多尺度、多实例版图匹配,精度预计85-92%
  • +
  • 创新点:几何感知损失函数、扩散数据增强、模块化架构设计
  • +
+
+
+ + +
+

📈 预期影响

+ +
    +
  • + 学术价值 + 在IC版图识别领域建立技术标杆,推动几何感知深度学习发展 +
  • +
  • + 产业价值 + 为EDA工具集成、IP侵权检测、制造验证提供核心技术支撑 +
  • +
  • + 社会价值 + 提升半导体设计效率,降低研发成本,推动产业技术进步 +
  • +
+
+
+
+
+ +
+

项目前景广阔,有望在IC版图识别领域产生重要影响,为半导体设计和制造提供关键技术支撑。通过分阶段实施和风险管理,确保项目按计划推进并实现预期目标。

+
+
+
+
+ +
+
+
+ +