camysticc/sightpoint

GitHub: camysticc/sightpoint

一款利用 Google Gemini 多模态 AI 在桌面端对单张图片进行视觉取证与 OSINT 地理定位分析的工具。

Stars: 2 | Forks: 0

``` ╔══════════════════════════════════════════════════════════════════╗ ║ SightPoint AI v1.0 — Visual Geolocation Intelligence ║ ║ Fully self-contained — all maps render inside the tkinter UI ║ ║ No browser opened. No local server. No external windows. ║ ║ AI-powered OSINT geolocation tool. ║ ╚══════════════════════════════════════════════════════════════════╝ ``` **AI 驱动的 OSINT 地理定位工具。上传图片,获取坐标。**

## 什么是 SightPoint AI? SightPoint AI 是一款桌面 OSINT 地理定位工具。你只需提供一张图片——街景照、风景照或屏幕截图——它就会分析图像内容,推测其拍摄地点。结果包括 GPS 坐标、置信度评分、交互式地图,以及得出该结论所依据的视觉证据详细分解。 所有操作都在单一窗口内运行。不会打开浏览器,不会启动本地服务器,也不会弹出任何外部窗口。 [展示](https://streamable.com/ycx9r8) ## 工作原理 SightPoint AI 由 **Google Gemini 2.5 Flash Lite** 驱动,这是一款能够高精度分析图像内容的多模态 AI 模型。当你提交图片时,该工具会: 1. 提取任何嵌入的 **EXIF 元数据**(GPS 坐标、相机型号、时间戳),并将其作为附加上下文传给模型 2. 将图片连同结构化取证分析提示词一起发送到 Gemini Vision API 3. 模型执行四阶段分析: - **视觉取证** —— 建筑风格、道路基础设施、植被、车辆类型、服装、文化标志 - **OSINT 指标** —— 车牌格式、铁路轨距、航空器尾号前缀、语言/文字识别、行驶方向 - **取证估算** —— 对所有可见文本进行 OCR、太阳方位角和阴影分析、半球估算 - **三角测量** —— 综合所有证据,生成一组排序后的候选位置 4. 结果直接在应用内渲染:坐标、置信度评分、推理过程、视觉标记、OSINT 字段,以及嵌入地图上候选位置的热力图 地图瓦片从 OpenStreetMap(道路/地形)和 Google Maps(卫星/混合)获取,并完全在 tkinter 界面中渲染。 ## 功能 **地理定位分析** - 通过 Gemini Vision API 进行单张图片地理定位 - 全球范围或限制特定国家的分析 - 置信度评分(高 / 中 / 低,附带百分比) - 证据链推理输出 - 每次分析最多 5 个带标签的视觉线索标记 **OSINT 指标提取** - 车牌格式及国家识别 - 根据轨枕间距估算铁路轨距 - 航空器尾号前缀检测 - 语言和文字识别 - 行驶方向(LHT / RHT)判定 - 对所有可见文本进行全面 OCR - 太阳方位角和半球估算 **嵌入式交互地图** - 四种瓦片图层:道路(深色主题 OSM)、卫星、混合、地形 - 平移、缩放(滚轮或按钮)、十字准线 - 在识别出的位置放置图钉并显示标签气泡 - 加权候选位置的热力图叠加 - 距离测量工具 - 鼠标悬停时显示坐标 **EXIF 分析** - 提取 GPS 坐标、相机制造商/型号和时间戳 - 将嵌入的 GPS 作为 AI 分析的强先验条件 - 在结果面板中显示 EXIF 数据 **历史记录与日志** - 带颜色编码置信度指示器的会话侧边栏 - 点击任意历史会话以重新加载结果和图片 - 自动将完整的 CSV 历史日志保存到你的主目录 - 带可排序表格和详细信息面板的历史记录选项卡 - 一键将坐标复制到剪贴板 **界面** - 深色赛博主题,完全自包含的 tkinter UI - 显示运行时间、分析次数和系统状态的 HUD - 带有时间戳日志输出的终端控制台 - 用于上传图片的平移/缩放查看器 ## 环境要求 - Python 3.9 或更高版本 - 免费的 Google Gemini API 密钥(见下文) **Python 依赖项:** ``` pillow requests ``` ## 获取 Gemini API 密钥 SightPoint AI 使用 **Google AI Studio** API —— 该 API 免费使用,不需要 Google Cloud 账户或设置账单。 **第 1 步 —— 前往 Google AI Studio** 访问 [aistudio.google.com/apikey](https://aistudio.google.com/apikey) 并使用 Google 账户登录。 **第 2 步 —— 创建 API 密钥** 点击 **Create API key**,然后选择 **Create API key in new project**(如果你已有项目,也可以使用现有项目)。复制生成的密钥——它以 `AIza` 开头。 **第 3 步 —— 无需进一步设置** 与 Google Cloud Console API 不同,通过 AI Studio 使用的 Gemini API 不需要你启用任何额外服务、设置账单或配置 OAuth。该密钥可以直接使用。 ## 安装说明 ### 从源码运行(推荐) **1. 克隆仓库** ``` git clone https://github.com/YOUR_USERNAME/sightpoint-ai.git cd sightpoint ``` **2. 安装依赖** ``` pip install pillow requests ``` **3. 运行应用** ``` python sightpoint.py ``` **4. 输入你的 API 密钥** 首次启动时,会自动弹出一个“设置”对话框。粘贴你的 Gemini API 密钥并点击 **Save Key**。该密钥将本地存储在 `~/.sightpoint/config.json` 中,除直接发送给 Gemini API 外,绝不会传输到任何其他地方。

你可以随时通过应用程序右上角的 **⬡ SETTINGS** 按钮更新你的密钥。 ## 使用说明 - 支持的图像格式:JPG、JPEG、PNG、WebP、GIF - 图片越大,处理时间越长——Gemini API 有 120 秒的超时限制 - 该工具专为包含可见地理内容(街道、建筑物、景观、路标)的图片设计。抽象或室内图片将产生低置信度结果 - 每次运行后,分析历史会自动保存到 `~/sightpoint_history.csv` - 地图瓦片需要网络连接;如果无法获取瓦片,应用将显示占位网格 ## 伦理使用 SightPoint AI 专为合法的 OSINT 研究、新闻报道、尽职调查和教育目的而开发。它仅分析你提供的图片——不抓取、监控或收集任何外部数据。 用户有责任确保其使用行为符合适用法律和平台服务条款。严禁在没有合法依据的情况下,使用此工具识别或定位个人。 ## 许可证 MIT 许可证 —— 详情请参阅 [LICENSE](LICENSE)。
标签:AI视觉分析, Gemini, OSINT工具, 图像地理定位, 桌面应用, 逆向工具