大家有什么好的移动端实时人像分割方案吗。 看过 PaddleSeg ,和 mediapipe ,在低端手机上性能还是不够。
SplitImage 是一个免费的在线图片切割工具,适合快速把图片分割成等份、行列网格或 Instagram 九宫格。 无需注册、无水印,上传图片后即可自定义行数和列数,并一键下载所有切片为 ZIP 文件。 工具支持 PNG 、JPG 、WEBP 格式,所有处理都在浏览器本地完成,图片不会上传到服务器,更安全、更私密。 无论是制作社交媒体内容、设计素材、海报分块,还是准备 Instagram 拼图排版,SplitImage 都能帮你快速完成图片切割、裁剪和翻转。 https://splitimage.xyz
✅ 办公与 PDF 工具 PDF24 Tools ( pdf24.org ) 全能 PDF 工具:合并、分割、转 Word/图片、压缩、加水印、解锁, 全免费无水印 。 https://www.pdf24tools.online/zh docsmall ( docsmall.com ) 专注压缩:图片、GIF 、PDF 压缩,兼顾 PDF 合并/分割,界面简洁美观。 DeepL 翻译 ( deepl.com ) 翻译质量顶尖,支持文档/网页翻译,免费版足够日常使用。 🎨 图片与设计工具 waifu2x ( waifu2x.udp.jp ) 图片 无损放大 、降噪,动漫图效果尤佳,完全免费。 ARC 人像修复 ( arc.tencent.com/zh/ai-demos/faceRestoration ) 腾讯出品: 老照片修复、人像抠图、动漫增强 ,免费且速度快。 Remove.bg ( remove.bg ) 一键 抠图去背景 ,免费版够用,API 可集成。 ProcessOn ( processon.com ) 免费在线流程图、思维导图,支持 实时协作 ,适合团队/个人整理思路。 💻 开发与数据工具 工具酷 ( gongjuk.com ) 一站式开发工具:JSON 格式化、Base64 编解码、进制转换、正则测试、SEO 工具等。 Regexr ( regexr.com ) 正则表达式 在线测试、可视化、教程 ,调试正则必备。 IDE Online ( ide.judge0.com ) 在线编译运行:Python/Java/C++/JS/SQL 等,无需配置环境。 在线工具箱 ( 10015tools.online ) https://www.10015tools.online/zh 🤖 AI 与综合工具 MikuTools ( mikutools.com ) 轻量工具集合:图片处理、视频解析、格式转换、文本工具、AI 功能, 免费无广告 。 TinyWord ( tinyword.com ) 全能文件处理:PDF 转 Word 、抠图、去水印、视频压缩/转格式、AI 写作, 无需注册,1 小时自动删文件 。 FlameAI ( flameai.net ) 工具导航+AI 助手:换算、计算器、模拟器、内容生成、符号速查, 覆盖 90%日常需求 。 📤 文件传输 奶牛快传 ( cowtransfer.com ) 大文件传输: 无下载速度限制 ,免费 5GB 空间,单次 2GB ,无需登录即可下载。
✅ 办公与 PDF 工具 PDF24 Tools ( pdf24.org ) 全能 PDF 工具:合并、分割、转 Word/图片、压缩、加水印、解锁, 全免费无水印 。 https://www.pdf24tools.online/zh docsmall ( docsmall.com ) 专注压缩:图片、GIF 、PDF 压缩,兼顾 PDF 合并/分割,界面简洁美观。 DeepL 翻译 ( deepl.com ) 翻译质量顶尖,支持文档/网页翻译,免费版足够日常使用。 🎨 图片与设计工具 waifu2x ( waifu2x.udp.jp ) 图片 无损放大 、降噪,动漫图效果尤佳,完全免费。 ARC 人像修复 ( arc.tencent.com/zh/ai-demos/faceRestoration ) 腾讯出品: 老照片修复、人像抠图、动漫增强 ,免费且速度快。 Remove.bg ( remove.bg ) 一键 抠图去背景 ,免费版够用,API 可集成。 ProcessOn ( processon.com ) 免费在线流程图、思维导图,支持 实时协作 ,适合团队/个人整理思路。 💻 开发与数据工具 工具酷 ( gongjuk.com ) 一站式开发工具:JSON 格式化、Base64 编解码、进制转换、正则测试、SEO 工具等。 Regexr ( regexr.com ) 正则表达式 在线测试、可视化、教程 ,调试正则必备。 IDE Online ( ide.judge0.com ) 在线编译运行:Python/Java/C++/JS/SQL 等,无需配置环境。 在线工具箱 ( 10015tools.online ) https://www.10015tools.online/zh 🤖 AI 与综合工具 MikuTools ( mikutools.com ) 轻量工具集合:图片处理、视频解析、格式转换、文本工具、AI 功能, 免费无广告 。 TinyWord ( tinyword.com ) 全能文件处理:PDF 转 Word 、抠图、去水印、视频压缩/转格式、AI 写作, 无需注册,1 小时自动删文件 。 FlameAI ( flameai.net ) 工具导航+AI 助手:换算、计算器、模拟器、内容生成、符号速查, 覆盖 90%日常需求 。 📤 文件传输 奶牛快传 ( cowtransfer.com ) 大文件传输: 无下载速度限制 ,免费 5GB 空间,单次 2GB ,无需登录即可下载。
力扣 LeetCode 2553. 分割数组中数字的数位 - 力扣(LeetCode) 2553. 分割数组中数字的数位 - 给你一个正整数数组 nums ,请你返回一个数组 answer ,你需要将 nums 中每个整数进行数位分割后,按照 nums 中出现的 相同顺序 放入答案数组中。 对一个整数进行数位分割,指的是将整数各个数位按原本出现的顺序排列成数组。 * 比方说,整数 10921 ,分割它的各个数位得到 [1,0,9,2,1] 。 示例 1: 输入:nums = [13,25,83,77] 输出:[1,3,2,5,8,3,7,7] 解释: - 分割 13... 思路 倒序拆分后反转即可。 代码 class Solution { public int[] separateDigits(int[] nums) { // 倒序将 nums 中的数字拆分成单个数字 List<Integer> list = new ArrayList<>(); for (int i = nums.length - 1; i>=0; i--) { while (nums[i] > 0) { list.add(nums[i] % 10); nums[i] /= 10; } } // 反转 list 并写入结果数组 int len = list.size(); int[] ans = new int[len]; for (int i = 0; i < len; i++) { ans[i] = list.get(len - i - 1); } return ans; } } PS 最近沉迷于写一个小游戏的脚本,怠惰了 补一下近两天的简单题目,,再往前的有点复杂,晚些再补。 0510-2770 public int maximumJumps(int[] nums, int target) { int n = nums.length; // 跳到第 i 位置的最大次数 int[] dp = new int[n]; // 初始化 dp[0] 便于边界计算 dp[0] = 1; for (int i = 0; i < n - 1; i++) { // 如果到达不了直接跳过 if (dp[i] == 0) { continue; } // 遍历所有可能到达的下标 尝试更新 for (int j = i + 1; j < n; j++) { if (Math.abs(nums[i] - nums[j]) <= target) { dp[j] = Math.max(dp[j], dp[i] + 1); } } } return dp[n - 1] == 0 ? -1 : dp[n - 1] - 1; } 0509-1914 private int m, n; public int[][] rotateGrid(int[][] grid, int k) { m = grid.length; n = grid[0].length; int[][] ans = new int[m][n]; // 层 int f = Math.min(m / 2, n / 2); for (int i = 0; i < f; i++) { // 周长 int s = (m + n - 4 * i) * 2 - 4; // 旋转次数 int c = k % s; // 遍历一周 for (int t = 0; t < s; t++) { // System.out.println(i + "-" + t + " nx:" + calcRow(t, i, s) + " ny:" + calcCol(t, i, s)); ans[calcRow(t, i, s)][calcCol(t, i, s)] = grid[calcRow((t + c) % s, i, s)][calcCol((t + c) % s, i, s)]; } } return ans; } // 计算行 private int calcRow(int t, int f, int s) { // 在顶部 int tmp = n - 2 * f; if (tmp > t) { return f; } // 在右侧 if (s / 2 >= t) { return t - tmp + f + 1; } // 在底部 tmp = s / 2 + tmp; if (tmp > t) { return m - 1 - f; } // 在左侧 return s - t + f; } // 计算列 private int calcCol(int t, int f, int s) { // 在顶部 int tmp = n - 2 * f; if (tmp > t) { return t + f; } // 在右侧 if (s / 2 >= t) { return n - 1 - f; } // 在底部 tmp = s / 2 + tmp; if (tmp > t) { return tmp - t + f - 1; } // 在左侧 return f; } 2 个帖子 - 2 位参与者 阅读完整话题
我这里设计了一个双输入双输出的分割模型(一些特殊识别需求),要部署在 RKNN 平台上。这个模型是基于 mobilenetv3 做为backbone 开发的。 这没什么问题,问题出现在量化上。 因为训练很慢,为了快速验证,我拿第一个epoch 来走流程,去验证模型是否可以部署在 rknn 开发板上。 顺序是: pytorch -> onnx -> rknn 在 onnx 转 rknn 的时候,没有任何错误,理论上,按之前的一些经验,没错误基本上没太大的问题,但是为了验证是否对齐,写了一个onnx 和rknn 的对比脚本,也没什么问题: 热力图对比: ONNX 范围: [0.2439, 0.5265] RKNN 范围: [0.2369, 0.5236] 平均误差 (MAE): 0.0055 最大误差: 0.1145 分类概率对比: ONNX prob: 0.5925 RKNN prob: 0.5729 误差: 0.0197 ONNX 判断: 有变化 RKNN 判断: 有变化 理论上这样就比较完美了。 但是诡异的事来了,当训练收敛后,用最好的权重再走一次流程发现: 热力图对比: ONNX 范围: [0.0000, 0.9991] RKNN 范围: [0.0000, 0.0291] 平均误差 (MAE): 0.0609 最大误差: 0.9991 分类概率对比: ONNX prob: 0.9935 RKNN prob: 0.0039 误差: 0.9896 ONNX 判断: 有变化 RKNN 判断: 无变化 ✗ 分类判断不一致! ⚠ 热力图精度一般 (MAE < 0.1) What the *? 流程一模一样,没有任何错误,怎么拿收敛的权重量化就给我干成全是0了? 于是经过漫长的排查,换了好些个大模型给我排查,也没排查出来到底是什么问题。基于模型改了N个方案也还是没解决。 没办法,由于转换日志没有任何错误,只能通过日志一行一行地把警告消除。 直到。。。。。 "W tensor @Relu_/enc3/enc3.1/block/block.2/activation_1/Relu_136:out0 seems to be always 0" ??? ??? ??? 特么的总是 0 ??? 这个模块是 mobilenet v3 内部的模块。目前不确定是不是这个问题,但是真的把我搞累了。 先把mobilenet v3 换了先,再走一次来时路。 1 个帖子 - 1 位参与者 阅读完整话题
今天再一次用到了分隔线(输入法优先级认为是分割线) 于是反手放弃继续输入,去问了一下豆包 豆包专家整理了一下信息: 豆包复制内容最值得吐槽的一点就是几乎去除所有结构符号, 所有制表符号全没了,导致表格完全破碎。这个就很难理解了 GPT可视化解读: 1 个帖子 - 1 位参与者 阅读完整话题
———————分割线——————— 破案了,好像是破限提示词搞得 2 个帖子 - 2 位参与者 阅读完整话题