好玩又实用:C#上位机 + YOLO 实现宠物行为识别系统
好玩又实用C#上位机 YOLO 实现宠物行为识别系统作为一名资深铲屎官我曾一度被这些问题困扰出门上班时猫咪是在乖乖睡觉还是在疯狂拆家狗狗是不是又在啃咬家具想知道宠物的日常行为却只能靠下班回家后查看监控录像不仅耗时还抓不到关键瞬间。直到我用C# WinForm 上位机 YOLO搭建了一套宠物行为识别系统彻底解决了这个问题系统能实时识别宠物的核心行为吃饭、喝水、睡觉、玩耍、追尾巴、抓沙发、啃家具、叫唤、对镜子发呆……一旦检测到“违规行为”抓沙发、啃拖鞋、翻垃圾桶等立刻语音播报“XX又在搞破坏啦”手机推送企业微信/钉钉/飞书 附带截图自动录制10秒短视频存档统计当天行为时长分布生成“宠物日报”热力图既满足了铲屎官的好奇心与控制欲又能及时制止破坏行为堪称“云养宠 智能管教”二合一神器。这套系统成本极低普通USB摄像头 旧电脑/迷你主机即可还能完全自定义行为类别和预警规则。今天就把完整开发思路、数据集制作、核心代码、趣味玩法全部分享出来让你也能为自家毛孩子打造专属AI监护系统。一、宠物行为识别场景的真实痛点与方案选型铲屎官最关心的几件事排序不分先后实时知道宠物在干嘛尤其是上班摸鱼时发现破坏行为能第一时间干预语音推送事后有证据截图短视频能统计行为规律今天睡了多久、拆家几次系统要稳定、好部署、不卡、不贵为什么选 YOLO 而不是其他方案方案实时性自定义行为容易度部署难度家用PC成本趣味性最终推荐度传统OpenCV规则中极差低低低★☆☆☆☆商用智能宠物摄像头高几乎不可自定义无需开发高中★★☆☆☆Python YOLO Flask高高中环境依赖多低高★★★★☆C# YOLO ONNX高高低单exe发布极低高★★★★★结论家用场景下C# WinForm YOLO ONNX Runtime是目前性价比最高、最好玩、最容易长期维护的组合。二、技术选型2026家用最稳组合组件推荐选型理由与工业/家用适配性目标检测模型YOLOv11 nano / YOLOv8 nano速度快、精度够、ONNX导出最成熟推理引擎ONNX Runtime (.NET)CPU也能30FPS单文件部署无依赖界面框架WinForm (.NET 8/9)拖拽开发快老电脑也能跑摄像头采集AForge.NET 或 DirectShow延迟低支持大多数USB摄像头语音播报NAudio gTTS / Edge TTS本地TTS或调用微软在线语音手机推送企业微信/钉钉/飞书Webhook免费、稳定、支持Markdown图片数据统计与可视化SQLite ScottPlot / LiveCharts2轻量级行为日报、热力图三、核心功能实现代码示例可直接复制1. YOLO实时检测主循环带行为防抖 事件触发privateYoloPredictorpredictor;privateintconsecutiveEat0,consecutiveSleep0,consecutiveDestroy0;privateconstintCONFIRM_FRAMES5;// 连续5帧确认行为privatevoidvideo_NewFrame(objectsender,NewFrameEventArgseventArgs){usingvarbmp(Bitmap)eventArgs.Frame.Clone();usingvarskBmpSKBitmap.FromImage(SKImage.FromBitmap(bmp));varresultspredictor.Detect(skBmp);stringcurrentBehavior未知;floatmaxConf0;foreach(varrinresults){if(r.Confidence0.65)continue;stringlabelr.Label.Name.ToLower();if(r.ConfidencemaxConf){maxConfr.Confidence;currentBehaviorlabel;}// 绘制不同颜色框varcolorlabel.Contains(destroy)||label.Contains(chew)?SKColors.Red:label.Contains(eat)?SKColors.Orange:label.Contains(sleep)?SKColors.Blue:SKColors.Green;varpaintnewSKPaint{StyleSKPaintStyle.Stroke,Colorcolor,StrokeWidth4};varrectr.BoundingBox;newSKCanvas(skBmp).DrawRect(rect.X,rect.Y,rect.Width,rect.Height,paint);}// 行为确认 触发if(currentBehavior.Contains(eat))consecutiveEat;elseif(currentBehavior.Contains(sleep))consecutiveSleep;elseif(currentBehavior.Contains(destroy)||currentBehavior.Contains(chew))consecutiveDestroy;// 重置其他计数if(!currentBehavior.Contains(eat))consecutiveEat0;if(!currentBehavior.Contains(sleep))consecutiveSleep0;if(!currentBehavior.Contains(destroy)!currentBehavior.Contains(chew))consecutiveDestroy0;if(consecutiveDestroyCONFIRM_FRAMES){TriggerDestroyAlert(currentBehavior);consecutiveDestroy0;// 防止重复报警}// UI更新this.Invoke((){picPreview.Image?.Dispose();picPreview.ImageskBmp.ToBitmap();lblBehavior.Text$当前行为{currentBehavior}({maxConf:P1});});}2. 破坏行为报警语音 推送 录像privateasyncvoidTriggerDestroyAlert(stringbehavior){// 1. 语音播报本地TTS示例awaitSpeakAsync($警告{behavior}行为检测到{petName}又在搞破坏啦);// 2. 截图 10秒录像可使用AForge VideoFileWriterstringtimestampDateTime.Now.ToString(yyyyMMdd_HHmmss);stringimgPathSaveCurrentFrame(timestamp);// 3. 企业微信/钉钉推送awaitSendWebhookAsync(title:宠物破坏警报,content:$检测到 **{behavior}** 行为\n时间{DateTime.Now}\n已自动录像,imagePath:imgPath);}privateasyncTaskSpeakAsync(stringtext){// 使用 Edge TTS 或 Windows Speech SynthesisusingvarsynthnewSpeechSynthesizer();synth.SelectVoiceByHints(VoiceGender.Female,VoiceAge.NotSet,0,newCultureInfo(zh-CN));synth.SpeakAsync(text);}3. 行为日报SQLite 简单热力图// 每分钟记录一次行为时长可放TimerprivatevoidLogBehavior(stringbehavior){usingvarconnnewSQLiteConnection(Data Sourcepet_behavior.db);conn.Open();usingvarcmdconn.CreateCommand();cmd.CommandText INSERT INTO BehaviorLog (Timestamp, Behavior, DurationSeconds) VALUES (ts, beh, 60);cmd.Parameters.AddWithValue(ts,DateTime.UtcNow);cmd.Parameters.AddWithValue(beh,behavior);cmd.ExecuteNonQuery();}// 生成日报ScottPlot示例privatevoidGenerateDailyReport(){varpltnewScottPlot.Plot(800,600);// 从SQLite读取当天数据按小时聚合// ... 查询代码略 ...// plt.AddBar(...) 绘制热力图或饼图plt.SaveFig(daily_report.png);}四、趣味玩法拓展让系统更好玩行为排行榜每周统计“最皮时刻Top5”情绪打分结合叫声检测额外模型判断“开心/生气/无聊”自动逗猫/逗狗检测到“无聊/睡觉太久” → 播放逗猫棒声音或打开激光笔AI旁白用大模型生成每日宠物小剧场解说“今天小橘又成功把沙发挠出新艺术”云同步行为数据 短视频上传到阿里云/腾讯云随时手机查看五、快速上手步骤训练/下载YOLOv11n宠物行为模型或用开源宠物数据集微调新建WinForm项目 → 安装YoloSharp / YoloV8.Net AForge NAudio复制上面核心代码 → 修改行为类别与阈值F5运行 → 对准自家宠物 → 见证AI铲屎时刻成本USB摄像头100-300元 旧电脑/NUC ≈ 0元增量效果上班也能“云养宠”回家少生气有任何问题模型训练、推送配置、语音包、想加激光笔联动、行为数据集推荐直接评论或私信我24小时内回复。欢迎分享你家宠物的搞破坏视频我帮你定制专属行为标签下一篇文章预告《C# YOLO ESP32-CAM低成本AI宠物喂食器与行为联动》点赞收藏这可能是你今年为毛孩子打造的最好玩AI系统教程
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2419579.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!