[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-paucarre--tiefvision":3,"tool-paucarre--tiefvision":61},[4,18,26,36,44,53],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",151918,2,"2026-04-12T11:33:05",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",108322,"2026-04-10T11:39:34",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":32,"last_commit_at":50,"category_tags":51,"status":17},6121,"gemini-cli","google-gemini\u002Fgemini-cli","gemini-cli 是一款由谷歌推出的开源 AI 命令行工具，它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言，它提供了一条从输入提示词到获取模型响应的最短路径，无需切换窗口即可享受智能辅助。\n\n这款工具主要解决了开发过程中频繁上下文切换的痛点，让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用，还是执行复杂的 Git 操作，gemini-cli 都能通过自然语言指令高效处理。\n\n它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口，具备出色的逻辑推理能力；内置 Google 搜索、文件操作及 Shell 命令执行等实用工具；更独特的是，它支持 MCP（模型上下文协议），允许用户灵活扩展自定义集成，连接如图像生成等外部能力。此外，个人谷歌账号即可享受免费的额度支持，且项目基于 Apache 2.0 协议完全开源，是提升终端工作效率的理想助手。",100752,"2026-04-10T01:20:03",[52,13,15,14],"插件",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":32,"last_commit_at":59,"category_tags":60,"status":17},4721,"markitdown","microsoft\u002Fmarkitdown","MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具，专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片（含 OCR）、音频（含语音转录）、HTML 乃至 YouTube 链接等多种格式的解析，能够精准提取文档中的标题、列表、表格和链接等关键结构信息。\n\n在人工智能应用日益普及的今天，大语言模型（LLM）虽擅长处理文本，却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点，它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式，成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外，它还提供了 MCP（模型上下文协议）服务器，可无缝集成到 Claude Desktop 等 LLM 应用中。\n\n这款工具特别适合开发者、数据科学家及 AI 研究人员使用，尤其是那些需要构建文档检索增强生成（RAG）系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性，但其核心优势在于为机器",93400,"2026-04-06T19:52:38",[52,14],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":66,"readme_en":67,"readme_zh":68,"quickstart_zh":69,"use_case_zh":70,"hero_image_url":71,"owner_login":72,"owner_name":73,"owner_avatar_url":74,"owner_bio":75,"owner_company":75,"owner_location":75,"owner_email":75,"owner_twitter":75,"owner_website":75,"owner_url":76,"languages":77,"stars":102,"forks":103,"last_commit_at":104,"license":105,"difficulty_score":106,"env_os":107,"env_gpu":108,"env_ram":109,"env_deps":110,"category_tags":115,"github_topics":75,"view_count":32,"oss_zip_url":75,"oss_zip_packed_at":75,"status":17,"created_at":116,"updated_at":117,"faqs":118,"releases":159},6941,"paucarre\u002Ftiefvision","tiefvision","End-to-end deep learning image-similarity search engine","TiefVision 是一款基于深度学习的端到端图像相似度搜索引擎，旨在帮助用户快速从海量图片中找出视觉特征高度相似的内容。它有效解决了传统关键词搜索难以精准捕捉图像细节、颜色、纹理及构图等视觉信息的痛点，特别适用于时尚服饰、商品检索等对视觉一致性要求极高的场景。\n\n这款工具主要面向具备一定技术背景的开发者与研究人员。TiefVision 不仅支持图像分类和定位，更核心的是集成了先进的“深度排序”（Deep Ranking）算法，能够深入理解图像间的语义关联，从而提供比传统方法更精准的排序结果。在技术实现上，它结合了 Torch 深度学习框架与 Play Framework（Scala 版本），专为配备 CUDA 加速 GPU 的 Linux 环境设计，确保了大规模图像处理的高效性与稳定性。如果你正在构建需要高精度以图搜图功能的应用，或希望深入研究深度学习在视觉检索领域的落地实践，TiefVision 提供了一个完整且高效的开源解决方案。","# TiefVision\n\nEnd-to-end deep learning image-similarity search engine.\n\n**TiefVision** is an integrated end-to-end image-based search engine based on deep learning. It covers **image classification**, **image location** ( [OverFeat](http:\u002F\u002Farxiv.org\u002Fpdf\u002F1312.6229v4.pdf) ) and **image similarity** ( [Deep Ranking](http:\u002F\u002Fusers.eecs.northwestern.edu\u002F~jwa368\u002Fpdfs\u002Fdeep_ranking.pdf)).\n\n**TiefVision** is implemented in [Torch](http:\u002F\u002Ftorch.ch\u002F) and [Play Framework](https:\u002F\u002Fwww.playframework.com\u002F) (Scala version). It currently only supports Linux with CUDA-enabled GPU.\n\n# Results\n\nHere are some of the (best) results for a dataset of dresses:\n\n![Flowers](https:\u002F\u002Flh3.googleusercontent.com\u002FqHnAydafymTdspCFkQEutnVjDVBUhqeoqybH1_26KULE0nXQsOvyuELc2kj53PLB5gfEEM_tjenJ7TLAW5EFW39mIBmJgDJ0M6wpSaAwFwzAWHme-Y9ROlBES5S0s-5wQJrnEST_TzR7A55fX7URt0k8xH5GLDjEzGSaY7SCE96vSAveS_XTfp8FRxDa8HhdmSV1BZS5HmUawY3bhmHi9UyXY2XjLabXOPpvmUlgXsH4ee-1DoSBpugdoxXrct63gQVZVsDy07ikpUrwqM-JanSULL4FybjYIXgUqIEqUek6hrGGSHAKwD5xqhVtzOCQFnvtpTLya_2lAUBsZ5sssHYmaAJs-_NGiXasSpw4oy5hQi4Q50kqxdKgEaCtFizZgyq-7dK7UbeuXoQbvP43iF9hhA4_U16y03F04lMOIdlW5wN83PKQQ6TDHhgLaODYsOJ4ulla3ftYttgJ2WO6tpX7eUwR5hRwajB1s9kWN0ta1JA1JXO6ECFwReDjoqNa9LiG-MtrNoK_UzFKUqi620FkQ_y6KpblD8NvPiqtfoRKD8phMJMarEpjJS9XEqY9-uOd=w1788-h995-no)\n\n![Gown](https:\u002F\u002Flh3.googleusercontent.com\u002Fr79vpytThecVvh8bCcRa20H3kqyACe_xAocu7CHsv4jpyH1pPbqpTzjhCQmtfvrsuqb9wnlqY6MtfJH7L7e2yQBcACD_LmgAYipVqv2CeUxnTvOIa9XsvvSKrwD6X07juIejfD7TC6PtXb47Xudyw0ZhG8-M0MCqO-Ues9ElAceZyKlVX_-ScImDxhh7a1s5UlsNFV2yiOekV9JLxgB2a0VxHQGoLg5IxVXDs4NsyWiNJWasLLbLYUjAIrVgo-n0MeikSwWTFCAPr9m5497BNWzzRDtc0s-hPm8-S7XoJQhkvIbYyk3u_x284oFrE9N_Uxeg5CSZOE6sEQPBRZhLzOPcJXZaoIHIx47VQCmnGqVTxbWM17Ci-_y9pXpqJ1lXKGos0pBuvqisnlcQiZyyKvL1lXjqT1B9Jy_FISCmjFlaSS21QqpwUx2rwvxfUv3olJLDE5SZZid_vhYr9F9z7b7Wiu2t8jhgyLnoOgNwULw0jf47uDM_PmSvQXcDK8KTy2MJ8CxOJ1bhfiF_YM6LVHZCHrCgF-0KwCieDoPctxS-2HPTLjxtg99-Id9uwF9R8CIK=w1798-h995-no)\n\n![Long](https:\u002F\u002Flh3.googleusercontent.com\u002FMRGJeRWwyf8YXrnr4YLdJLS8X11VFAskS7K23OBwzF7PxqZCQcFPJaBY97b6O9HqN569FKLcANTlaJFPkAwcXKxtOeH0nXGOrfR70baCGOGAjowSR_-x6a7ZFgfaSGSzKEG6OodX3zrH1Cjgrs2iAk1EJmv1QXe9wdrftMsN45K6DweIerN6RupMGxIXeEwr8mFyb9ZEfvjcnWdgTQ-uWV1Nn3OwV6UdHH0nxzyG5Q0-NW37kJV8LXgwV_zQmqlUFOf5gpa0NckdO0kWnY589g1X8A7FUcpWhRcgMpBhf3sjla_5GeBVUJjVM4tHnymjIE65H-B45ptFbGx0B0AWbI-9yT_-wcHoaQKkg2lZjw8pk1IJ2l7RCOWuuzJphepdgtX4Wr4oR-unY5WB8VvMlX0sayQBwyCGu709R-3zp7TPv3yrG09RTdGkev5hqxu4Gcolt6kyAcIK5cKjMlERAvcNm8ILEJSZDzVXOOhT7GQmNhH3EOk1WZcTmcNVSLr06HaJFVHenhfSld84Wa-s_a_xf2Z_m_t7gt0EMK6kgU-WCIyDD07kts5K1RPT874VLJn5=w1790-h995-no)\n\n![Neck](https:\u002F\u002Flh3.googleusercontent.com\u002FYzFR61IKk57KwvnASs5KUeeHOaGK_emoVBn09ahf0JqISN7oPb_KwYBsIIjToI04vGbLhe_676b67KqVDRAUS3-b5aZt39n4jTgdMYjuifhiB8fTuhDn_uewH8irGrLxNSfe-i__9Oqp-IP227Qq5xN94gOTutPrLcL2QiP4MOgqCU6oBZQv_ZHLm7bqBEaMNCU3Iyz4xkLEF1BoxWQ55AEZAkPKPmVP3LVMIYDtdhEBts7QQ6QrmBrFF-5ZjSNDx6wTwIXg_3xiennh471u2uuDzLyIHFhbjF_yFQO5rfXb2Zv5GHbgqd0Ehy7Agvlh5gs0FPa1CjTJaRcBPTFXghNpcfBsQmyfcHBMM8wY7xFGohkqyUI-iWzatHv1oEWBShzkbNWpci9xOEzx2uXAZYobFgA_ofJZjB8eAc64CR9Vi86syvSJYPVhQFNrE_BXiPf24PAq76vTItVsv1fSr12eT2IxLBMDKMM3RA8jUddCDwzS7fGz6_HaDyw2yICpZVdaVpiQTEWfwVUva_Rno8g_yi3PgNCnN8wO0yjFc9bu4dDMrUhtCtnEbf7DPM7sCzR2=w1796-h995-no)\n\n![Black Party](https:\u002F\u002Flh3.googleusercontent.com\u002FeNkvxzMgq3pw1R5JkI7Uu4MW1oOchVU3YQlA2i9VqnbNXwCosCceQn2nxr_FkPgB-11QAuR-2P9KyYaWkoXB0ugmRHCQFhuEb0wMTEikh1_ULgI2gpQLDogs8jVlE8lDxuuVHTohzmjAetdjNY5lpkkBhXx4RjvVEI4X8Br0kfdn4kmhoowhpljFSRQB71KUoIdtfDTxltCsadGNOX6h4gxFlJzxb7C13ZhuXDiBQpZjHWMhPzBs29hq2qMbnEGsyUCwd-tDKMYTirAe8Vg2bJjtVg95fywaSwwT0ZWjSR19x17VkG_xvGJKBsSnocZj0bEwjz0DUmaUbqQWGlp-VMBN2gH2JYN6HA0bGz_CEBcbAn1_C8PaBYeEIGiWkclNQzQm2Do0TMNJ0T6nVcvXssBghvoypJl0iE0qYf2v2tiaFTaLqS10H5hXYju9P9Si7YdJdiPMfYCCmoCRLFQzsV4GVfEoFpoDJG4LT9eT_ZJM0JEuEdVt9yphoMdhxtGqex__Alc99ojBlPfFoTWfBU_hPZ2lyUs4CPZkGHhHkmu_VrphcKXkjCS-NuIrx7AeZkhD=w1851-h990-no)\n\n![Patterns](https:\u002F\u002Flh3.googleusercontent.com\u002FSbvE1FhJr9o0gbRwHsnK02gCdMOw8KynPppZKGM4mEobtLQkwTaEz9QIpf_Ym5KO4Up_VshxaLdQ5MRmUjecATLsTQSQtXHVfKiMe0vzJZ2lqvblwRkO1AcsfBuWQRfP16W74VQlHMiEl2vl5YPwrd8LoGq16N659IwH58xTio8ex5TEU4YB9WcDIxZfYrOrGLsvdHFDjOEUyohfOHpCecmQ8oBX7MnU4yQeV_7PsrS_bOrYMtroxzXFlnBydu1ZXTbyg0LdsEDHJgIQX1oYpSnS49PW6JP8anDKzLSNlZ0EkmYuLPGjH0hVSJCHs5YJVMwehT_vtY-WgA7QrAK2X2ZvH0vGFmuyndRN_xGxErQI1foAzYYeotB5whzTxOcUVVCsJtdVx_uoHVRahIiLCcUi54ubJZazToleu7Mm4-lMKzUH3QUWRIsgN8ZbpWq88xo0k_4kyLFKZ5WoIsa3U1seK9Ubkf8n5YOtUV1lHbNypVgljUFG3pYqwcN5Mh2IHZDwvoGA4Te_aGhgu3BWvMS6eAsj-wkxca9uHd0s6HKsMS6ViDGPm-O4JSS784zSDS9-=w1815-h995-no)\n\n![Squares](https:\u002F\u002Flh3.googleusercontent.com\u002FwfTvPzHu4SFQiy-ACNFsKlq6EGFeABMbVmR4W0QsR2kVYd2RUS9JNyza8Hz7yPAbxje0Klj9It_S-WZGF1G7PQL9q8KAszqIwE3vYl_aIDwCut1UKQI-jSuAiHreEyNYCXhZrgcD9fA3cNMEt5Xyg8azZQ5LvuRHf0VrzK5KZ7VfSQseXIuZx8f8CxUf0W4xl0TTykkhpzP7Kv-sMlE5zoq6OUaC7ym-ok20n2pNPLB1ERWVXI5ecZUWEODbQdUUoueM5slTGBA0uJrwpxKeA2hWpogqtxSP5dySuIjh2YLH3pppFUpX8a3OuVumo2-SAseOuKx7eB9j7ekr8R6z5NGc9DYx5jWg5OGOLYSWWrbM3l2f0X37Z6WtDO13aVoR6YDOXUTZHo0M36ISfCm5JIuqZ6GB8_1U6T9ltnKVpTxkSr8e3FwIQO6dqV7t0v3-prg-rfuK1kRagUMtOERA6iqLvUCjvdO64TUfe1BL39-QlDkqr1qe6I0AmtKUQHqxgBfVieSci3oQbwEGK2PA3nheTUQrQNnF_N0elYGN94O_FWThAjFwPOPvQTuUshL7Yj7O=w1755-h995-no)\n\n![Stripes](https:\u002F\u002Flh3.googleusercontent.com\u002FUe8HDZOxCL9bwBozV54WsXWI7kIy75o30blZIEf-bjzVUUtSXdjzR15zoNjgEK8A5VTa8ct5Z6_oXIphCgwWz30VX_98VDCUyIDKRfDiJzcvJpUvnE1szAPBpbOjvALZ3VbO9-BIc-PsRGGkAdfxegTjX2pgzyNsKx7wkjjDaTcWy-CLQrC_C573srngxdVJoYuPdBCGFXGDiqfRHkhDiDceOgMsyTD4nV5iAaZTJ27yLHVXUp4lkuEVn3tTxDtmSIM28bJreMW7VLM6eTpdHfcb2j-GC494DsBFJxMHkNp89lESRoo1OfqFkEgBWuVrhTViB75SwZWLtpQ6HS8PhayYrSMhnTKuHbeUtAVJPUuE3WKuGSC-_3DoxEVP9eW6vFoaWMVi6yoZegOOs7VUMBs0QifvSPz3VlAJ5ormA9ApJskvoXqBHiFUdXL88ogYgKG6RD_9dNCtRMgdkbGm0qxCAui7w46kb3KfWNoFFDtWCQ5Kl1yZkCLtTWew6hBlkOcdPsdXpAtb9AzNmUISDqqJSQyaJtmwy-nugJbcxeariVgFN3eVLiqeW4knxKDeh0Nz=w1748-h995-no)\n\n# Features\n\nThe project is divided into two module groups: **Deep Learning Modules** and **Tooling Modules**\n\n## Deep Learning Modules\n\nThe deep learning modules included in **TiefVision** are the following:\n\n### Transfer Learning\n**TiefVision** transfers a simplified (without grouping) **AlexNet** network that is used for encoding purposes.\nThe steps involved in the transfer learning phase are the following:\n* It splits an already trained **AlexNet** neural network without grouping into two neural networks:\n * The lower convolutional part that acts as an encoder of high-level features (“image encoder\")\n * The upper\u002Ftop fully connected part that is discarded as it’s meant to classify images for other purposes (ImageNet classification).\n* It reduces the last max pooling step size from the encoder neural network (lower-part) to increase the spatial accuracy.\n\n### Image Classification\nThe image classification module performs the following steps:\n* It encodes all the crops from the target image (e.g. dresses) and its background using the encoder neural network:\n * **Target Image Crops**: crops of the images in such a way at least 50% of the crop is inside the target image bounding box. For a dataset of dresses, at least 50% of the crop contains a dress (it can include up to 50% of the background).\n * **Background Image Crops**: crops of the images in such a way at least 50% of the crop contains the target image  background. For the example of dresses, at least 50% of the crop contains background.\n\n* It trains a fully connected neural network to classify the target image crops (e.g. dresses) and its background crops (e.g. photo studio background).\n\n### Image Location (based on [OverFeat](http:\u002F\u002Farxiv.org\u002Fpdf\u002F1312.6229v4.pdf))\nThe image location module perform the following steps:\n* It encodes the **Target Image Crops** dataset together with its normalized bounding box delta (distance between the bounding box upper-left point and the bounding box coordinates).\n* It trains four fully connected neural networks to predict the two relative bounding box points:\n * Two neural networks for the two dimensions of the upper-left point.\n * Two neural networks for the two dimensions of the lower-right point.\n* It extracts the bounding box filtering out background crops using the image classification neural\nnetwork and averaging the bounding boxes using the bounding box neural network.\n\n### Image Similarity ( based on [Deep Ranking](http:\u002F\u002Fusers.eecs.northwestern.edu\u002F~jwa368\u002Fpdfs\u002Fdeep_ranking.pdf) )\nThe similarity is based on the distance between two image encodings.\n**TiefVision** trains a neural network to map encoded images into a space in which the dot product acts as a similarity distance between images. As the encodings are normalized, the dot product computes the cosine of the angle between the encodings.\n\nGiven the following triplets of images:\n* **H**: a reference image\n* **H+**: an image similar to the reference image (**H**).\n* **H-**: another image that is similar to **H** but not as similar as **H+**.\n\nIt trains a neural network to make **H+** closer to **H** than **H-** using the Hinge loss: **l(H, H+, H-) = max(0, margin + D(H, H+) - D(H, H-))** where **D** is the dot product of the two images mapped into the neural network’s output space: **D(H1, H2) = NN(H1) · NN(H2)**\n\n\n## Tooling Modules\n\n**TiefVision** includes a set of web tools to ease the generation of datasets and thus increase productivity.\n\nThe current tools are the following:\n* Visual Bounding Box Database Editor\n\n![Bounding Box Editor](https:\u002F\u002Flh3.googleusercontent.com\u002FFgNHIA_p7YR-sIXkgyt_FEhxjE1vNdPAHfdcGcXlSNvMLCcqz3dmgJdyxw4ejpPcJTEPLzXwfkWWPHCj6RYlfa9T3bwKrtwb7-EV9y8J-PG--AKCXXbmgBisfJ7DlN-v8dH7nXa7oOgIMAxD2uqFCTAjsLSrt8U2ZJO1g5lu_FrFKY9D8FPMGneYcQhv3W55bULAteObgc7h-noaFn2pBkD4V42vgL_cUHwZqYvqLyaKXvJEsvv8B7qgqyJI3tjgHmPzPvozP1teFstUKBxVWZTweD-AwAqLpJ_VAZu2YuVDCKK5I1hb7yhPLIKNoTWPQWACmIPrayVTI4ZF04XkBl0BZuakegcphis9GXZyle6tfHgW9n0GTOM2FIJb9rMrc8hV3wizVxIiQghu2PYwT5nGOEG4VBL3dvTIheXsByg58V3lPrQZdqy0KAZEgAMRsxDN-GsLi48M1A57p7GZT6bSbOJHDzCiUGrHPPXognEfk6Gr7g5H2nS7RKERmjDeJS-MlbZnK4n6NUoYhE3ClV7eK6p6onTtRDRIJXoZqBQSPP5U6-A5JyPL5KrQ5sqUTYcy=w493-h873-no)\n\n* Visual Similarity Database Editor\n\n![Similarity Editor](https:\u002F\u002Flh3.googleusercontent.com\u002FsU5-eCYORgcuJKMQd8EZHkHg9MF37s2EyV3Awj_CdTkPScWdANOOxE96kK58aNG3Y43u8dVo6weL5uPwjPc8I-IlZVSL7Z93TOycN3X6iKlLP1Ppo0PRo2qNUmLZ_VrZmmEj4jn4qaqAU7-knyTXmWXV-I80oghscP1FN31TwinXvIhq0qBylZMLnOM9Nrdvy0NpOx6v3lcMjcN5jTOV1Atm_ClSLUU2onUVXe7qp81h6gRW_gUzfsC3bwHi4Ea3TzGo68wm-RC4bK9x_DH0G7vM7x7f7fKAv8Dw3Lx5yZG-NWMdkb-JRT2r8EcvPQ6OFFe3uluh4KO-aUVmevUcCZrBzVROpr_Ujy-r_PGkncnYzobGuws43X80ZeBbODGGhbhR92p77KUOxn3sI5NxXQnI0rutJpL2KW7712GBXQJMl0YSbl_JnCdeEaa46GlegEhdacw4DbW3QtX9o_AbWSX8dsnA58CbRW5rU49K2LEj6n_mU-5ez7VuSsa7A6tp1nn2LL0w-LmZeei1KjVQ61B4zr9jw-_nlGJhrJAOUHrfICuqerU7HcSzQnO_YV5G9oVW=w1056-h995-no)\n\n* Web File-based Image Search\n\n![File Search](https:\u002F\u002Flh3.googleusercontent.com\u002F2OmpaVRHg9crrWvSfL58NZzp_svwI_GZOt22eDuI8FIdP-o0kPz-kIllrlmwBm4z51_SEJUZc3ZMkfKk6Y2QAsE3n6XU90asuuEkqM-eA54OowGoILbjD_ADQ-nG1avyq8vmFYgYldXW3QC1Wdy7FKG3cuDiPd7zEMjZ-Pac5zIDBAnXE-dryiSShlaqcokdILnMsVRVOtIDb2IYZi-3-6WPpYO2UKLZ0FqahRVCXPF6-W-auUChT2pXSGRVFkfCABT0MSpOZbm_FpbxTcdRkpRNS8_9FHUNrTwNoRBdw0hWnDVj8-tJ9PjiKdV6lxWJQ9Oe1-8QyvgBBm9MkCyh_mha83gWQuQJCtxSjo4rzZSNreIwF8_HJtRdiCqWTJWl2ImJ91EhBWYkivgjvqA4uh7eFxUPpwUImKch4COlljfXbSgKWecece6WHhdpDkL5rHOEKSlY4ob-DEufaEI9CFB_zUL8VwuJrztTp4NFmV5a0A8s8MJfvXdUkcP-k-KMu0CodFPHNdtbNorvNyhWg_yiWjQ1BMaODvSa1vyPGPsqhkcg4eDbCietqTMGrO67EWpt=w1543-h377-no)\n\n* Image Gallery Browser (search upon click)\n\n![Image Gallery Browser](https:\u002F\u002Flh3.googleusercontent.com\u002Ff0fa4rDOq0iA_E_8zW3M90d-QomvGyV2cbRR3zv0Un4sKODedHPVdnh1zdaQH6Z-lGGHhLoKf--JOvvjh2xKoBLNOUQNF1nQ22Ex9rsMT6ZI_BKeILrqICdU95_QncEIGrpg0ahZfU4mC0GECAPNPJ2PFzRak3GKFEOLK-v8eu0Xuk592fZ-ucdc33ZrAr-1VuFuiyST_m8Q14dOViD19iBDgTx_qtkG7s_ElIFTyXn7q2PULKCNKn1FvOlp4k2r-riBvfSSDb9-H29eiy1rw9KH3ZcOoFBHQq2s0RAKu3dgzY6P3PltRZFnDuyFz2nQ_G7cVCYwRltsa5QqKKc76OEiOm9OzHvtX2wjVwnSZQml50BWZLXWdbY-ZcZEFIeRQWh-kjGcwQM5t-K0JRSO6YLsjUI0TbC9j6rMTxNOc1sJAiET2Fb8Z1CefaScKW-wesWHid3nGzjGgesvurFQOOJLgoIVPjzRfm9CkmTWN-PoWbz0wnPvZsYKuR1yaE_5IJJ-VkueTjyxV7JdyWc_cB6nrsPgA99NCJ4Fg4tbqYF8PKj01txBQ4UmCN8qgg8aD7ey=w1751-h995-no)\n\n* Automated Train and Test dataset generation for:\n * Image (crop) classification\n * Bounding box regression\n * Image Similarity ([Deep Ranking](http:\u002F\u002Fusers.eecs.northwestern.edu\u002F~jwa368\u002Fpdfs\u002Fdeep_ranking.pdf))\n\n## Developer Guide\nPlease refer to the [Developer Guide](doc\u002Fdeveloper.md) for details.\n\n## Copyright\nCopyright (C) 2016 Pau Carré Cardona - All Rights Reserved\nYou may use, distribute and modify this code under the\nterms of the [Apache License v2](http:\u002F\u002Fwww.apache.org\u002Flicenses\u002FLICENSE-2.0.txt).\n","# TiefVision\n\n端到端深度学习图像相似度搜索引擎。\n\n**TiefVision** 是一个基于深度学习的端到端集成式图像搜索引擎。它涵盖了 **图像分类**、**图像定位**（[OverFeat](http:\u002F\u002Farxiv.org\u002Fpdf\u002F1312.6229v4.pdf)）和 **图像相似度**（[Deep Ranking](http:\u002F\u002Fusers.eecs.northwestern.edu\u002F~jwa368\u002Fpdfs\u002Fdeep_ranking.pdf)）。\n\n**TiefVision** 使用 [Torch](http:\u002F\u002Ftorch.ch\u002F) 和 [Play Framework](https:\u002F\u002Fwww.playframework.com\u002F)（Scala 版本）实现。目前仅支持配备 CUDA 的 GPU 的 Linux 系统。\n\n# 结果\n\n以下是针对一套连衣裙数据集的部分（最佳）结果：\n\n![Flowers](https:\u002F\u002Flh3.googleusercontent.com\u002FqHnAydafymTdspCFkQEutnVjDVBUhqeoqybH1_26KULE0nXQsOvyuELc2kj53PLB5gfEEM_tjenJ7TLAW5EFW39mIBmJgDJ0M6wpSaAwFwzAWHme-Y9ROlBES5S0s-5wQJrnEST_TzR7A55fX7URt0k8xH5GLDjEzGSaY7SCE96vSAveS_XTfp8FRxDa8HhdmSV1BZS5HmUawY3bhmHi9UyXY2XjLabXOPpvmUlgXsH4ee-1DoSBpugdoxXrct63gQVZVsDy07ikpUrwqM-JanSULL4FybjYIXgUqIEqUek6hrGGSHAKwD5xqhVtzOCQFnvtpTLya_2lAUBsZ5sssHYmaAJs-_NGiXasSpw4oy5hQi4Q50kqxdKgEaCtFizZgyq-7dK7UbeuXoQbvP43iF9hhA4_U16y03F04lMOIdlW5wN83PKQQ6TDHhgLaODYsOJ4ulla3ftYttgJ2WO6tpX7eUwR5hRwajB1s9kWN0ta1JA1JXO6ECFwReDjoqNa9LiG-MtrNoK_UzFKUqi620FkQ_y6KpblD8NvPiqtfoRKD8phMJMarEpjJS9XEqY9-uOd=w1788-h995-no)\n\n![Gown](https:\u002F\u002Flh3.googleusercontent.com\u002Fr79vpytThecVvh8bCcRa20H3kqyACe_xAocu7CHsv4jpyH1pPbqpTzjhCQmtfvrsuqb9wnlqY6MtfJH7L7e2yQBcACD_LmgAYipVqv2CeUxnTvOIa9XsvvSKrwD6X07juIejfD7TC6PtXb47Xudyw0ZhG8-M0MCqO-Ues9ElAceZyKlVX_-ScImDxhh7a1s5UlsNFV2yiOekV9JLxgB2a0VxHQGoLg5IxVXDs4NsyWiNJWasLLbLYUjAIrVgo-n0MeikSwWTFCAPr9m5497BNWzzRDtc0s-hPm8-S7XoJQhkvIbYyk3u_x284oFrE9N_Uxeg5CSZOE6sEQPBRZhLzOPcJXZaoIHIx47VQCmnGqVTxbWM17Ci-_y9pXpqJ1lXKGos0pBuvqisnlcQiZyyKvL1lXjqT1B9Jy_FISCmjFlaSS21QqpwUx2rwvxfUv3olJLDE5SZZid_vhYr9F9z7b7Wiu2t8jhgyLnoOgNwULw0jf47uDM_PmSvQXcDK8KTy2MJ8CxOJ1bhfiF_YM6LVHZCHrCgF-0KwCieDoPctxS-2HPTLjxtg99-Id9uwF9R8CIK=w1798-h995-no)\n\n![Long](https:\u002F\u002Flh3.googleusercontent.com\u002FMRGJeRWwyf8YXrnr4YLdJLS8X11VFAskS7K23OBwzF7PxqZCQcFPJaBY97b6O9HqN569FKLcANTlaJFPkAwcXKxtOeH0nXGOrfR70baCGOGAjowSR_-x6a7ZFgfaSGSzKEG6OodX3zrH1Cjgrs2iAk1EJmv1QXe9wdrftMsN45K6DweIerN6RupMGxIXeEwr8mFyb9ZEfvjcnWdgTQ-uWV1Nn3OwV6UdHH0nxzyG5Q0-NW37kJV8LXgwV_zQmqlUFOf5gpa0NckdO0kWnY589g1X8A7FUcpWhRcgMpBhf3sjla_5GeBVUJjVM4tHnymjIE65H-B45ptFbGx0B0AWbI-9yT_-wcHoaQKkg2lZjw8pk1IJ2l7RCOWuuzJphepdgtX4Wr4oR-unY5WB8VvMlX0sayQBwyCGu709R-3zp7TPv3yrG09RTdGkev5hqxu4Gcolt6kyAcIK5cKjMlERAvcNm8ILEJSZDzVXOOhT7GQmNhH3EOk1WZcTmcNVSLr06HaJFVHenhfSld84Wa-s_a_xf2Z_m_t7gt0EMK6kgU-WCIyDD07kts5K1RPT874VLJn5=w1790-h995-no)\n\n![Neck](https:\u002F\u002Flh3.googleusercontent.com\u002FYzFR61IKk57KwvnASs5KUeeHOaGK_emoVBn09ahf0JqISN7oPb_KwYBsIIjToI04vGbLhe_676b67KqVDRAUS3-b5aZt39n4jTgdMYjuifhiB8fTuhDn_uewH8irGrLxNSfe-i__9Oqp-IP227Qq5xN94gOTutPrLcL2QiP4MOgqCU6oBZQv_ZHLm7bqBEaMNCU3Iyz4xkLEF1BoxWQ55AEZAkPKPmVP3LVMIYDtdhEBts7QQ6QrmBrFF-5ZjSNDx6wTwIXg_3xiennh471u2uuDzLyIHFhbjF_yFQO5rfXb2Zv5GHbgqd0Ehy7Agvlh5gs0FPa1CjTJaRcBPTFXghNpcfBsQmyfcHBMM8wY7xFGohkqyUI-iWzatHv1oEWBShzkbNWpci9xOEzx2uXAZYobFgA_ofJZjB8eAc64CR9Vi86syvSJYPVhQFNrE_BXiPf24PAq76vTItVsv1fSr12eT2IxLBMDKMM3RA8jUddCDwzS7fGz6_HaDyw2yICpZVdaVpiQTEWfwVUva_Rno8g_yi3PgNCnN8wO0yjFc9bu4dDMrUhtCtnEbf7DPM7sCzR2=w1796-h995-no)\n\n![Black Party](https:\u002F\u002Flh3.googleusercontent.com\u002FeNkvxzMgq3pw1R5JkI7Uu4MW1oOchVU3YQlA2i9VqnbNXwCosCceQn2nxr_FkPgB-11QAuR-2P9KyYaWkoXB0ugmRHCQFhuEb0wMTEikh1_ULgI2gpQLDogs8jVlE8lDxuuVHTohzmjAetdjNY5lpkkBhXx4RjvVEI4X8Br0kfdn4kmhoowhpljFSRQB71KUoIdtfDTxltCsadGNOX6h4gxFlJzxb7C13ZhuXDiBQpZjHWMhPzBs29hq2qMbnEGsyUCwd-tDKMYTirAe8Vg2bJjtVg95fywaSwwT0ZWjSR19x17VkG_xvGJKBsSnocZj0bEwjz0DUmaUbqQWGlp-VMBN2gH2JYN6HA0bGz_CEBcbAn1_C8PaBYeEIGiWkclNQzQm2Do0TMNJ0T6nVcvXssBghvoypJl0iE0qYf2v2tiaFTaLqS10H5hXYju9P9Si7YdJdiPMfYCCmoCRLFQzsV4GVfEoFpoDJG4LT9eT_ZJM0JEuEdVt9yphoMdhxtGqex__Alc99ojBlPfFoTWfBU_hPZ2lyUs4CPZkGHhHkmu_VrphcKXkjCS-NuIrx7AeZkhD=w1851-h990-no)\n\n![Patterns](https:\u002F\u002Flh3.googleusercontent.com\u002FSbvE1FhJr9o0gbRwHsnK02gCdMOw8KynPppZKGM4mEobtLQkwTaEz9QIpf_Ym5KO4Up_VshxaLdQ5MRmUjecATLsTQSQtXHVfKiMe0vzJZ2lqvblwRkO1AcsfBuWQRfP16W74VQlHMiEl2vl5YPwrd8LoGq16N659IwH58xTio8ex5TEU4YB9WcDIxZfYrOrGLsvdHFDjOEUyohfOHpCecmQ8oBX7MnU4yQeV_7PsrS_bOrYMtroxzXFlnBydu1ZXTbyg0LdsEDHJgIQX1oYpSnS49PW6JP8anDKzLSNlZ0EkmYuLPGjH0hVSJCHs5YJVMwehT_vtY-WgA7QrAK2X2ZvH0vGFmuyndRN_xGxErQI1foAzYYeotB5whzTxOcUVVCsJtdVx_uoHVRahIiLCcUi54ubJZazToleu7Mm4-lMKzUH3QUWRIsgN8ZbpWq88xo0k_4kyLFKZ5WoIsa3U1seK9Ubkf8n5YOtUV1lHbNypVgljUFG3pYqwcN5Mh2IHZDwvoGA4Te_aGhgu3BWvMS6eAsj-wkxca9uHd0s6HKsMS6ViDGPm-O4JSS784zSDS9-=w1815-h995-no)\n\n![Squares](https:\u002F\u002Flh3.googleusercontent.com\u002FwfTvPzHu4SFQiy-ACNFsKlq6EGFeABMbVmR4W0QsR2kVYd2RUS9JNyza8Hz7yPAbxje0Klj9It_S-WZGF1G7PQL9q8KAszqIwE3vYl_aIDwCut1UKQI-jSuAiHreEyNYCXhZrgcD9fA3cNMEt5Xyg8azZQ5LvuRHf0VrzK5KZ7VfSQseXIuZx8f8CxUf0W4xl0TTykkhpzP7Kv-sMlE5zoq6OUaC7ym-ok20n2pNPLB1ERWVXI5ecZUWEODbQdUUoueM5slTGBA0uJrwpxKeA2hWpogqtxSP5dySuIjh2YLH3pppFUpX8a3OuVumo2-SAseOuKx7eB9j7ekr8R6z5NGc9DYx5jWg5OGOLYSWWrbM3l2f0X37Z6WtDO13aVoR6YDOXUTZHo0M36ISfCm5JIuqZ6GB8_1U6T9ltnKVpTxkSr8e3FwIQO6dqV7t0v3-prg-rfuK1kRagUMtOERA6iqLvUCjvdO64TUfe1BL39-QlDkqr1qe6I0AmtKUQHqxgBfVieSci3oQbwEGK2PA3nheTUQrQNnF_N0elYGN94O_FWThAjFwPOPvQTuUshL7Yj7O=w1755-h995-no)\n\n![Stripes](https:\u002F\u002Flh3.googleusercontent.com\u002FUe8HDZOxCL9bwBozV54WsXWI7kIy75o30blZIEf-bjzVUUtSXdjzR15zoNjgEK8A5VTa8ct5Z6_oXIphCgwWz30VX_98VDCUyIDKRfDiJzcvJpUvnE1szAPBpbOjvALZ3VbO9-BIc-PsRGGkAdfxegTjX2pgzyNsKx7wkjjDaTcWy-CLQrC_C573srngxdVJoYuPdBCGFXGDiqfRHkhDiDceOgMsyTD4nV5iAaZTJ27yLHVXUp4lkuEVn3tTxDtmSIM28bJreMW7VLM6eTpdHfcb2j-GC494DsBFJxMHkNp89lESRoo1OfqFkEgBWuVrhTViB75SwZWLtpQ6HS8PhayYrSMhnTKuHbeUtAVJPUuE3WKuGSC-_3DoxEVP9eW6vFoaWMVi6yoZegOOs7VUMBs0QifvSPz3VlAJ5ormA9ApJskvoXqBHiFUdXL88ogYgKG6RD_9dNCtRMgdkbGm0qxCAui7w46kb3KfWNoFFDtWCQ5Kl1yZkCLtTWew6hBlkOcdPsdXpAtb9AzNmUISDqqJSQyaJtmwy-nugJbcxeariVgFN3eVLiqeW4knxKDeh0Nz=w1748-h995-no)\n\n# 功能\n\n该项目分为两个模块组：**深度学习模块**和 **工具模块**。\n\n## 深度学习模块\n\n**TiefVision** 包含的深度学习模块如下：\n\n### 迁移学习\n**TiefVision** 转移了一个简化的（无分组）**AlexNet** 网络，用于编码目的。\n迁移学习阶段涉及以下步骤：\n* 将一个已经训练好的无分组 **AlexNet** 神经网络拆分为两个神经网络：\n * 下部卷积部分，作为高层特征的编码器（“图像编码器”）\n * 上部\u002F顶部全连接部分，因主要用于其他用途（ImageNet 分类）而被舍弃。\n* 降低编码器神经网络（下部）中最后一个最大池化层的步长，以提高空间精度。\n\n### 图像分类\n图像分类模块执行以下步骤：\n* 使用编码神经网络对目标图像中的所有裁剪区域（例如，连衣裙）及其背景进行编码：\n * **目标图像裁剪区域**：对图像进行裁剪，使得至少50%的裁剪区域位于目标图像的边界框内。对于连衣裙数据集，至少50%的裁剪区域应包含连衣裙（最多可包含50%的背景）。\n * **背景图像裁剪区域**：对图像进行裁剪，使得至少50%的裁剪区域包含目标图像的背景。以连衣裙为例，至少50%的裁剪区域应包含背景。\n\n* 训练一个全连接神经网络，用于对目标图像裁剪区域（例如，连衣裙）及其背景裁剪区域（例如，摄影棚背景）进行分类。\n\n### 图像定位（基于[OverFeat](http:\u002F\u002Farxiv.org\u002Fpdf\u002F1312.6229v4.pdf)）\n图像定位模块执行以下步骤：\n* 将**目标图像裁剪区域**数据集与其归一化的边界框偏移量（即边界框左上角点与图像坐标原点之间的距离）一起进行编码。\n* 训练四个全连接神经网络，用于预测边界框的两个相对顶点坐标：\n * 两个神经网络用于预测左上角点的两个维度坐标。\n * 两个神经网络用于预测右下角点的两个维度坐标。\n* 利用图像分类神经网络提取边界框，并滤除背景裁剪区域；然后使用边界框神经网络对边界框进行平均处理。\n\n### 图像相似度（基于[Deep Ranking](http:\u002F\u002Fusers.eecs.northwestern.edu\u002F~jwa368\u002Fpdfs\u002Fdeep_ranking.pdf)）\n相似度基于两张图像编码之间的距离计算。\n**TiefVision**训练一个神经网络，将编码后的图像映射到一个空间中，在该空间中，两个图像编码的点积即为它们之间的相似性距离。由于编码是归一化的，因此点积实际上计算的是两个编码之间夹角的余弦值。\n\n给定以下三元组图像：\n* **H**：参考图像\n* **H+**：与参考图像（**H**）相似的图像\n* **H-**：另一张与**H**相似但不如**H+**相似的图像\n\n它通过使用合页损失函数来训练神经网络，使**H+**比**H-**更接近**H**：**l(H, H+, H-) = max(0, margin + D(H, H+) - D(H, H-))**，其中**D**表示映射到神经网络输出空间后两幅图像的点积：**D(H1, H2) = NN(H1) · NN(H2)**\n\n\n## 工具模块\n\n**TiefVision**包含一组Web工具，旨在简化数据集的生成过程，从而提高生产效率。\n\n当前提供的工具包括：\n* 可视化边界框数据库编辑器\n\n![边界框编辑器](https:\u002F\u002Flh3.googleusercontent.com\u002FFgNHIA_p7YR-sIXkgyt_FEhxjE1vNdPAHfdcGcXlSNvMLCcqz3dmgJdyxw4ejpPcJTEPLzXwfkWWPHCj6RYlfa9T3bwKrtwb7-EV9y8J-PG--AKCXXbmgBisfJ7DlN-v8dH7nXa7oOgIMAxD2uqFCTAjsLSrt8U2ZJO1g5lu_FrFKY9D8FPMGneYcQhv3W55bULAteObgc7h-noaFn2pBkD4V42vgL_cUHwZqYvqLyaKXvJEsvv8B7qgqyJI3tjgHmPzPvozP1teFstUKBxVWZTweD-AwAqLpJ_VAZu2YuVDCKK5I1hb7yhPLIKNoTWPQWACmIPrayVTI4ZF04XkBl0BZuakegcphis9GXZyle6tfHgW9n0GTOM2FIJb9rMrc8hV3wizVxIiQghu2PYwT5nGOEG4VBL3dvTIheXsByg58V3lPrQZdqy0KAZEgAMRsxDN-GsLi48M1A57p7GZT6bSbOJHDzCiUGrHPPXognEfk6Gr7g5H2nS7RKERmjDeJS-MlbZnK4n6NUoYhE3ClV7eK6p6onTtRDRIJXoZqBQSPP5U6-A5JyPL5KrQ5sqUTYcy=w493-h873-no)\n\n* 可视化相似度数据库编辑器\n\n![相似度编辑器](https:\u002F\u002Flh3.googleusercontent.com\u002FsU5-eCYORgcuJKMQd8EZHkHg9MF37s2EyV3Awj_CdTkPScWdANOOxE96kK58aNG3Y43u8dVo6weL5uPwjPc8I-IlZVSL7Z93TOycN3X6iKlLP1Ppo0PRo2qNUmLZ_VrZmmEj4jn4qaqAU7-knyTXmWXV-I80oghscP1FN31TwinXvIhq0qBylZMLnOM9Nrdvy0NpOx6v3lcMjcN5jTOV1Atm_ClSLUU2onUVXe7qp81h6gRW_gUzfsC3bwHi4Ea3TzGo68wm-RC4bK9x_DH0G7vM7x7f7fKAv8Dw3Lx5yZG-NWMdkb-JRT2r8EcvPQ6OFFe3uluh4KO-aUVmevUcCZrBzVROpr_Ujy-r_PGkncnYzobGuws43X80ZeBbODGGhbhR92p77KUOxn3sI5NxXQnI0rutJpL2KW7712GBXQJMl0YSbl_JnCdeEaa46GlegEhdacw4DbW3QtX9o_AbWSX8dsnA58CbRW5rU49K2LEj6n_mU-5ez7VuSsa7A6tp1nn2LL0w-LmZeei1KjVQ61B4zr9jw-_nlGJhrJAOUHrfICuqerU7HcSzQnO_YV5G9oVW=w1056-h995-no)\n\n* 基于Web的文件型图像搜索\n\n![文件搜索](https:\u002F\u002Flh3.googleusercontent.com\u002F2OmpaVRHg9crrWvSfL58NZzp_svwI_GZOt22eDuI8FIdP-o0kPz-kIllrlmwBm4z51_SEJUZc3ZMkfKk6Y2QAsE3n6XU90asuuEkqM-eA54OowGoILbjD_ADQ-nG1avyq8vmFYgYldXW3QC1Wdy7FKG3cuDiPd7zEMjZ-Pac5zIDBAnXE-dryiSShlaqcokdILnMsVRVOtIDb2IYZi-3-6WPpYO2UKLZ0FqahRVCXPF6-W-auUChT2pXSGRVFkfCABT0MSpOZbm_FpbxTcdRkpRNS8_9FHUNrTwNoRBdw0hWnDVj8-tJ9PjiKdV6lxWJQ9Oe1-8QyvgBBm9MkCyh_mha83gWQuQJCtxSjo4rzZSNreIwF8_HJtRdiCqWTJWl2ImJ91EhBWYkivgjvqA4uh7eFxUPpwUImKch4COlljfXbSgKWecece6WHhdpDkL5rHOEKSlY4ob-DEufaEI9CFB_zUL8VwuJrztTp4NFmV5a0A8s8MJfvXdUkcP-k-KMu0CodFPHNdtbNorvNyhWg_yiWjQ1BMaODvSa1vyPGPsqhkcg4eDbCietqTMGrO67EWpt=w1543-h377-no)\n\n* 图像画廊浏览器（点击搜索）\n\n![图像画廊浏览器](https:\u002F\u002Flh3.googleusercontent.com\u002Ff0fa4rDOq0iA_E_8zW3M90d-QomvGyV2cbRR3zv0Un4sKODedHPVdnh1zdaQH6Z-lGGHhLoKf--JOvvjh2xKoBLNOUQNF1nQ22Ex9rsMT6ZI_BKeILrqICdU95_QncEIGrpg0ahZfU4mC0GECAPNPJ2PFzRak3GKFEOLK-v8eu0Xuk592fZ-ucdc33ZrAr-1VuFuiyST_m8Q14dOViD19iBDgTx_qtkG7s_ElIFTyXn7q2PULKCNKn1FvOlp4k2r-riBvfSSDb9-H29eiy1rw9KH3ZcOoFBHQq2s0RAKu3dgzY6P3PltRZFnDuyFz2nQ_G7cVCYwRltsa5QqKKc76OEiOm9OzHvtX2wjVwnSZQml50BWZLXWdbY-ZcZEFIeRQWh-kjGcwQM5t-K0JRSO6YLsjUI0TbC9j6rMTxNOc1sJAiET2Fb8Z1CefaScKW-wesWHid3nGzjGgesvurFQOOJLgoIVPjzRfm9CkmTWN-PoWbz0wnPvZsYKuR1yaE_5IJJ-VkueTjyxV7JdyWc_cB6nrsPgA99NCJ4Fg4tbqYF8PKj01txBQ4UmCN8qgg8aD7ey=w1751-h995-no)\n\n* 自动化训练和测试数据集生成，适用于：\n * 图像（裁剪）分类\n * 边界框回归\n * 图像相似度（[Deep Ranking](http:\u002F\u002Fusers.eecs.northwestern.edu\u002F~jwa368\u002Fpdfs\u002Fdeep_ranking.pdf)）\n\n## 开发者指南\n有关详细信息，请参阅[开发者指南](doc\u002Fdeveloper.md)。\n\n## 版权声明\n版权所有 © 2016 Pau Carré Cardona - 保留所有权利\n您可以在[Apache许可证v2](http:\u002F\u002Fwww.apache.org\u002Flicenses\u002FLICENSE-2.0.txt)的条款下使用、分发和修改此代码。","# TiefVision 快速上手指南\n\nTiefVision 是一个基于深度学习的端到端图像相似度搜索引擎，支持图像分类、目标定位（基于 OverFeat）和图像相似度检索（基于 Deep Ranking）。\n\n## 环境准备\n\n在开始之前，请确保您的开发环境满足以下严格要求：\n\n*   **操作系统**：仅限 **Linux**。\n*   **硬件要求**：必须配备支持 **CUDA** 的 NVIDIA GPU。\n*   **核心依赖**：\n    *   [Torch](http:\u002F\u002Ftorch.ch\u002F) (深度学习框架)\n    *   [Play Framework](https:\u002F\u002Fwww.playframework.com\u002F) (Scala 版本，用于 Web 服务)\n\n> **注意**：该项目目前不支持 Windows 或 macOS，且未提供预编译包，需从源码构建。\n\n## 安装步骤\n\n由于项目依赖 Torch 和 Scala Play 框架，请按顺序执行以下操作：\n\n### 1. 安装系统基础依赖\n确保已安装 Git、CUDA Toolkit 及基础编译工具。\n```bash\nsudo apt-get update\nsudo apt-get install -g git build-essential libatlas-base-dev\n# 请根据 NVIDIA 官网指引安装对应版本的 CUDA Toolkit\n```\n\n### 2. 安装 Torch\n如果您尚未安装 Torch，请使用官方脚本进行安装：\n```bash\ncurl -s https:\u002F\u002Fraw.githubusercontent.com\u002Ftorch\u002Fezinstall\u002Fmaster\u002Finstall-all | bash\n```\n安装完成后，加载环境变量：\n```bash\nsource ~\u002F.bashrc\n```\n\n### 3. 克隆项目并安装 Lua 依赖\n获取 TiefVision 源码并安装所需的 Lua 包：\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Ftiefvision\u002Ftiefvision.git\ncd tiefvision\n\n# 使用 luarocks 安装项目依赖\nluarocks make rocks\u002Ftiefvision-scm-1.rockspec\n```\n\n### 4. 配置 Play Framework (Scala)\n进入 Web 模块目录，确保已安装 sbt (Scala Build Tool)，然后编译项目：\n```bash\ncd web-app\nsbt compile\n```\n*注：国内开发者若遇到 sbt 下载依赖缓慢，建议在 `~\u002F.sbt\u002Frepositories` 中配置阿里云或腾讯云镜像源。*\n\n## 基本使用\n\nTiefVision 的工作流主要分为数据标注、模型训练和搜索服务启动。以下是最简化的使用示例：\n\n### 1. 数据标注\n使用内置的 Web 工具标注数据集（生成边界框和相似度三元组）。\n启动标注服务器：\n```bash\ncd web-app\nsbt \"run 9000\"\n```\n访问 `http:\u002F\u002Flocalhost:9000`，使用 **Visual Bounding Box Database Editor** 标注目标物体（如服装），并使用 **Visual Similarity Database Editor** 定义图像间的相似关系（H, H+, H- 三元组）。\n\n### 2. 训练模型\n标注完成后，使用 Torch 脚本进行端到端训练。该过程包含迁移学习（AlexNet 编码器）、分类器训练、定位网络训练及排序网络训练。\n\n运行训练脚本（假设数据已整理至 `data\u002F` 目录）：\n```bash\nth scripts\u002Ftrain.lua --dataDir data\u002Fdresses --modelDir models\u002Fdresses\n```\n*训练完成后，模型权重将保存在 `models\u002Fdresses` 目录下。*\n\n### 3. 启动搜索服务\n加载训练好的模型并启动图像搜索 API：\n```bash\nth scripts\u002Fserver.lua --modelDir models\u002Fdresses --port 8080\n```\n\n### 4. 执行搜索\n服务启动后，您可以通过 HTTP 请求上传图像进行相似度检索，或直接使用内置的 **Image Gallery Browser** 界面：\n```text\nhttp:\u002F\u002Flocalhost:8080\u002Fsearch\n```\n点击界面上的任意图片，系统将实时返回基于深度特征编码的相似图像结果。","某时尚电商平台的运营团队正试图优化其“以图搜款”功能，帮助用户通过上传一张街拍照片快速找到站内相似风格的连衣裙。\n\n### 没有 tiefvision 时\n- **搜索精度低**：传统基于颜色直方图或纹理特征的算法无法理解语义，用户搜索“黑色派对礼服”时，常返回黑色 T 恤或深色裤子，误判率极高。\n- **开发链路割裂**：算法团队需分别搭建分类、定位和排序模型，再手动串联接口，导致从模型训练到上线的周期长达数周。\n- **硬件资源浪费**：缺乏端到端的优化，推理过程在 CPU 上运行缓慢，无法有效利用现有的 CUDA GPU 集群，高峰期响应延迟超过 3 秒。\n- **细粒度识别缺失**：系统难以区分领口、裙长等细微设计差异，无法精准匹配用户想要的“圆领”或“长裙”特定款式。\n\n### 使用 tiefvision 后\n- **语义搜索精准**：tiefvision 内置的 Deep Ranking 算法能深度理解图像语义，用户上传“黑色派对礼服”照片后，能准确召回同风格、同场合的高相似度商品。\n- **一站式部署**：依托 Torch 和 Play Framework 的端到端架构，tiefvision 将图像分类、定位（OverFeat）与相似度检索整合为统一服务，新模型上线时间缩短至几天内。\n- **GPU 加速高效**：tiefvision 原生支持 Linux 下的 CUDA 加速，充分释放显卡算力，将亿级图库的检索响应时间压缩至毫秒级，大幅提升用户体验。\n- **细节捕捉敏锐**：借助深度特征提取能力，tiefvision 能精准识别并匹配领口形状、裙摆长度及花纹图案等细粒度特征，满足专业买手级筛选需求。\n\ntiefvision 通过端到端的深度学习架构，将原本割裂且低效的图像检索流程转化为高精度、低延迟的智能搜索服务，直接驱动电商转化率提升。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fpaucarre_tiefvision_43d18f13.png","paucarre","Pau Carré Cardona","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fpaucarre_d2feb300.jpg",null,"https:\u002F\u002Fgithub.com\u002Fpaucarre",[78,82,86,90,94,98],{"name":79,"color":80,"percentage":81},"Lua","#000080",60.4,{"name":83,"color":84,"percentage":85},"Scala","#c22d40",28.2,{"name":87,"color":88,"percentage":89},"HTML","#e34c26",5.5,{"name":91,"color":92,"percentage":93},"JavaScript","#f1e05a",4,{"name":95,"color":96,"percentage":97},"Shell","#89e051",1.5,{"name":99,"color":100,"percentage":101},"CSS","#663399",0.5,760,179,"2026-03-09T12:56:02","Apache-2.0",5,"Linux","必需，需支持 CUDA 的 NVIDIA GPU（具体型号和显存大小未说明）","未说明",{"notes":111,"python":109,"dependencies":112},"该项目基于 Torch (Lua) 和 Play Framework (Scala) 开发，并非现代 Python 深度学习栈。目前仅支持带有 CUDA 启用 GPU 的 Linux 系统。功能涵盖图像分类、定位（基于 OverFeat）和相似度搜索（基于 Deep Ranking）。",[113,114],"Torch","Play Framework (Scala version)",[15,14],"2026-03-27T02:49:30.150509","2026-04-13T04:25:26.980269",[119,124,129,134,139,144,149,154],{"id":120,"question_zh":121,"answer_zh":122,"source_url":123},31278,"项目是否提供预训练的边界框（bounding box）模型（如 locatorconv, classifier, encoder）？","目前项目没有直接提供可下载的预训练模型文件。但是，生成这些模型非常简单。建议参考 `bin\u002Funsupervised_similarity` 文件，其中包含了生成所需模型和开始使用的所有必要步骤和代码。","https:\u002F\u002Fgithub.com\u002Fpaucarre\u002Ftiefvision\u002Fissues\u002F61",{"id":125,"question_zh":126,"answer_zh":127,"source_url":128},31275,"运行脚本时遇到 'CUDA driver version is insufficient' 或 'nin_imagenet.caffemodel not found' 错误怎么办？","这通常是因为缺少预训练的参考模型文件。你需要下载这些模型才能继续。可以查看并运行 `bin\u002Funsupervised_similarity` 脚本来获取完整的下载命令序列，或者直接运行该脚本：\nhttps:\u002F\u002Fgithub.com\u002Fpaucarre\u002Ftiefvision\u002Fblob\u002Fmaster\u002Fbin\u002Funsupervised_similarity\n此外，请确保你的 CUDA 驱动版本与运行时版本匹配（例如使用 GCC 5 时需要 CUDA 8），并且注意某些旧款 GPU（如 Quadro FX 1800）可能不被支持。","https:\u002F\u002Fgithub.com\u002Fpaucarre\u002Ftiefvision\u002Fissues\u002F55",{"id":130,"question_zh":131,"answer_zh":132,"source_url":133},31276,"如何下载项目所需的模型和数据集文件？","所有必需文件的下载链接都包含在 `bin\u002Funsupervised_similarity` 脚本中。虽然该脚本仍在完善中，但它展示了运行无监督相似性搜索的最简单方法。你可以直接查看该文件或运行它来自动处理下载：\nhttps:\u002F\u002Fgithub.com\u002Fpaucarre\u002Ftiefvision\u002Fblob\u002Fmaster\u002Fbin\u002Funsupervised_similarity","https:\u002F\u002Fgithub.com\u002Fpaucarre\u002Ftiefvision\u002Fissues\u002F51",{"id":135,"question_zh":136,"answer_zh":137,"source_url":138},31277,"安装 'inn' 模块时出现编译错误（如 'memcpy' was not declared）如何解决？","这通常是 CUDA 版本与 GCC 编译器版本不兼容导致的。如果你使用的是 GCC 5，必须搭配 CUDA 8 使用。请检查你的环境配置，确保版本匹配。如果问题依旧，这可能属于 'inn' 库本身的问题，建议参考相关 Torch7 或 Caffe 的兼容性讨论（如 BVLC\u002Fcaffe#4046）。","https:\u002F\u002Fgithub.com\u002Fpaucarre\u002Ftiefvision\u002Fissues\u002F46",{"id":140,"question_zh":141,"answer_zh":142,"source_url":143},31279,"Tiefvision 是否支持基于局部特征（local features）的图像相似度搜索？","不支持。Tiefvision 的设计初衷并非用于识别或搜索图像的局部特征（例如物体的某一部分）。虽然开发团队正在构建其他具备此功能的工具，但目前尚未向公众开放。","https:\u002F\u002Fgithub.com\u002Fpaucarre\u002Ftiefvision\u002Fissues\u002F52",{"id":145,"question_zh":146,"answer_zh":147,"source_url":148},31280,"GPU 是仅在训练阶段需要，还是在运行时（推理）也需要？","GPU 主要用于初始的缓存（cache）阶段，该阶段计算量大，需要 GPU 加速。一旦缓存完成并填充了结果，后续的查找（lookup）阶段仅使用缓存数据，不再进行复杂计算，因此可以在纯 CPU 环境下运行。不过，如果要进行实时的相似性推理（real-time similarity inference），目前仍然需要 GPU。","https:\u002F\u002Fgithub.com\u002Fpaucarre\u002Ftiefvision\u002Fissues\u002F25",{"id":150,"question_zh":151,"answer_zh":152,"source_url":153},31281,"按照文档运行 'activator run' 启动 Web 服务器时提示找不到命令怎么办？","这是因为系统中未安装 Play Framework。你需要先安装 Play Framework 才能使用 `activator` 命令。可以参考官方安装指南：\nhttps:\u002F\u002Fwww.playframework.com\u002Fdocumentation\u002F2.3.x\u002FInstalling","https:\u002F\u002Fgithub.com\u002Fpaucarre\u002Ftiefvision\u002Fissues\u002F62",{"id":155,"question_zh":156,"answer_zh":157,"source_url":158},31282,"运行 lua 脚本时提示 \"module 'loadcaffe' not found\" 错误如何解决？","这表明缺少 `loadcaffe` 模块。你需要通过 luarocks 安装该依赖。通常可以使用命令 `luarocks install loadcaffe` 进行安装。确保你的 Torch 环境和 luarocks 路径配置正确。","https:\u002F\u002Fgithub.com\u002Fpaucarre\u002Ftiefvision\u002Fissues\u002F43",[]]