城中村,平时一般都是把车停家门口,最近邻居也买车了,如果邻居已经把车停进来了,平常最方便的入口就进不来,需要绕一圈从另一边开进来。家门口有两路监控,能清晰看到左右两边邻居有没停车进来,家里有 nas 和树莓派,于是有一些想法,是否可以通过静态图像或者动态视频的方式,识别是否有车辆停放,通过“嗨,Siri”知道情况,提前选好路线回家停车。
本着闲着也是闲着,我打算把兄弟提供的可执行方案,一个个尝试一遍。先从最简单粗暴的开始,拍照上传(假定大家也跟我一样,已经部署好ZLMediakit以及海康IPC到服务端是网络通畅的):
到这里,通过iOS快捷指令,自动化展示监控实时截图,肉眼快速准确判断是否有障碍物,暂无借助任何视频或者图像分析算法,基本满足需求,第一版完美收工!
1
x1abin 2023-08-23 11:19:12 +08:00 2
可以用 mediapipe 的 Object Detection 识别车辆状态,启个 web 服务提供查询,配置个苹果的捷径查询你那个状态,就可以通过 Siri 去问了。
|
2
spicy777 2023-08-23 11:20:58 +08:00
加下邻居微信,每次进来之前问一下
|
3
raycool 2023-08-23 11:23:12 +08:00
直接 YOLO 模型就行。
|
4
pming1 OP @spicy777 哈哈,是可以的,但容易打扰到邻居,以及及时响应也是个问号。到底,还是怀着技术宅如果拯救不了世界,那至少要拯救下自己的心态。
|
5
summerwar 2023-08-23 11:25:57 +08:00
写个接口,访问获取最新的摄像头画面(图片即可),然后就知道了
|
6
yuhuan66666 2023-08-23 11:26:26 +08:00 1
yoloV8
|
7
pming1 OP @x1abin 是的,我初步想法也是这样,通过一个算法完成识别,并通过 webapi 提供服务,从而打通 Siri 。我研究下 mediapipe ,看实现效果如何。非常感谢回复!
|
8
pming1 OP @summerwar 现状就是这样,但开车打开手机看监控,毕竟不太方便,提前看也不合适,时间差,可能我到了,邻居刚好早一秒停进来了。
|
9
GeorgeGalway 2023-08-23 11:33:00 +08:00
跟邻居商量一家停一边
|
10
pming1 OP @yuhuan66666 yolo 和 mediapipe 有对比吗?我是做 web 开发的,语言没所谓,不太熟悉图像识别领域,哪种更简单和轻量?现有能力支持 rtsp 实时视频流,也支持实时拍照获取图片。
|
11
SeaRecluse 2023-08-23 11:35:51 +08:00 4
固定视角,甚至不用上 AI 模型,来个虚拟框判断帧间像素差距就好了
|
12
pming1 OP @GeorgeGalway 也是寸土寸金,巷子比较窄,完全靠墙,也过不了两辆车。
|
13
quix 2023-08-23 11:40:31 +08:00 2
装个地磁传感器不是更简单便宜吗
|
14
NakeSnail 2023-08-23 11:40:58 +08:00
@SeaRecluse 感觉你的方式靠谱,简单高效
|
15
tool2d 2023-08-23 11:42:48 +08:00 via Android 2
固定视角做图片 hash 就可以了,对比两帧的图片,hash 值差距太大,即为有车占道。
|
16
kkk9 2023-08-23 11:47:39 +08:00
不清楚 op 用的什么牌子,我两台 NVR (大华和海康)都有区域报警功能,只要划定区域有异动就会报警(邮件 smtp ),调整好灵敏度就行了
|
17
makejohn2015 2023-08-23 11:48:58 +08:00
frame difference
|
18
Baymaxbowen 2023-08-23 11:54:25 +08:00 via iPhone
换个思路 用车牌识别来实现 车牌识别 GitHub 上有很多能直接用的项目
|
19
yolee599 2023-08-23 11:54:48 +08:00 3
直接获取一张摄像头截图就行了,现在的摄像头应该都有这样的接口,自己肉眼去判断有没有车,这是最准确的,最容易实现的,也是成本最小的方式
|
20
summerwar 2023-08-23 12:02:58 +08:00 2
1.拍个没车的图片,然后将实时获取到的图片与没车的图片进行对比,超过一个阈值则认为是有车即可,阈值多调整几次
2.从实时获取到的图片中获取车牌,如果识别到车牌则认为停车了,没获取到则没车 |
21
maxxfire 2023-08-23 12:18:55 +08:00 4
地上画个 X 号,不就完事了吗
|
22
maxxfire 2023-08-23 12:20:04 +08:00 2
搞清楚对象,你要的是空地,而不是车
|
23
chairuosen 2023-08-23 13:25:42 +08:00
|
24
x1abin 2023-08-23 13:50:09 +08:00 3
@summerwar @SeaRecluse 帧差异比较可能想象很简单,实际应用上很不准确,受太多其它环境变量影响,如一天的不同光照等...现在的 AI 模型用起来就跟买菜一样简单,几行代码就能解决的事情没必要自己去手撸。
|
25
nzynzynzy 2023-08-23 14:06:32 +08:00 1
挨着墙做一个宽的踏板,装一个滑轮组,当有车轮压在上面的时候牵动钢索,在楼的外侧竖起一个小红旗。这个没电的时候都好使,或者你家门口停了一只大象的时候也好使。
|
26
SeaRecluse 2023-08-23 14:11:14 +08:00
@pming1 都有 python 例程,也都很简单
yolov8: https://docs.ultralytics.com/tasks/detect/#export meidapipe: https://developers.google.com/mediapipe/solutions/vision/object_detector/python |
27
SeaRecluse 2023-08-23 14:20:44 +08:00
如果是用 AI 模型,其实有个更傻瓜式的处理方案,就是直接用 Clip 模型,然后比较画面中是否有汽车停放就好了。可以直接咨询 new bing 这段话:给我一个使用 clip 的 python 脚本。用于判断摄像头画面中是否存在汽车停放
|
28
d3js 2023-08-23 14:28:01 +08:00
很有意思的话题
|
29
balaWgc 2023-08-23 15:07:19 +08:00
最近我在研究树莓派的摄像头运动检测,只需要帧差法比对就行了,就是连续的两帧做对比,设置一个阈值,车这种比较大的,阈值设置高一点,就能检测到了
|
30
mightybruce 2023-08-23 15:16:34 +08:00
@balaWgc
说得不错,大多数人一看就是没做过,摄像头有 25fps, 直接使用 python 服务 和深度网络模型无疑是自杀。 树莓派配上计算棒才能勉强达到 5 到 6FPS, 要么就是英伟达专门的板子 Jetson TX2 处理速度远远跟不上视频的速度。 建议先画一个感兴趣区域( ROI), 直接上粗暴简单的算法(比如帧差法,光流法) 然后再保存图片,用深度学习网络判断是否为车 |
31
mightybruce 2023-08-23 15:28:24 +08:00 1
https://github.com/olgarose/ParkingLot
这个就是简单粗暴的判断, 有了这个基本可以过滤多数情况,剩下的就交给神经网络去判断了。 |
32
niji 2023-08-23 15:28:31 +08:00 via iPhone
摄像头远程看不了吗?
|
33
Tink 2023-08-23 15:55:53 +08:00
yolo ,很简单的
|
34
zomco 2023-08-23 16:01:58 +08:00
这个应该是车牌识别,用不上神经网络吧
|
35
hanlin85 2023-08-23 16:11:07 +08:00 1
我自己有个类似的需求,老房子的老小区,树莓派加摄像头对着下面空的车位,手机搞了个快捷指令(车位图片),hi Siri 就执行,树莓派就拍一张照片发送到我的邮箱,一般在老房子的最后一个红绿灯就查看一下是否有空车位,有就开下去,没有就绕到上面一点的停车场去。
|
36
isnullstring 2023-08-23 16:25:53 +08:00
从摄像头定时获取一张图片,上传到图床,固定连接,微信里打开,然后浮窗
以后想看 就打开微信,右滑打开浮窗,刷新下就完事 这不比搞什么识别简单、稳定、可靠? 另外就是 监控也能做这种检测,检测到车辆就发邮件,微信里也能收到 邮件提示,搞定 |
37
FawkesV 2023-08-23 16:31:36 +08:00
什么时候做好了,发给帖子了。 看看咋实现的
|
38
qwerhk 2023-08-23 16:41:05 +08:00
第二张图,停的好像是新款宋 plus ?
|
40
Deplay 2023-08-23 17:38:32 +08:00 1
|
41
sofukwird 2023-08-23 18:35:54 +08:00 via Android
用红外线传感器?
|
42
kimown 2023-08-23 19:06:22 +08:00
买一个小米摄像头远程看
|
43
pengtdyd 2023-08-23 23:45:49 +08:00
为啥非要用技术解决呢。养一条恶犬也行的。
|
44
xinge666 2023-08-24 05:47:05 +08:00 1
YOLOv8 一键,用 Python 脚本也是一键,加个 Flask 做个简单的 API ,请求的时候拍张照然后送 YOLO ,直接就能识别有没有车,直接返回给 iOS 的捷径。
|
45
chole 2023-08-24 09:19:47 +08:00
萤石 自带这个功能
|
46
ykk 2023-08-24 09:19:59 +08:00
你这个叫侵入检测,跟车辆检测没关系
|
47
arvinsilm 2023-08-24 09:44:30 +08:00
在你邻居车底贴个 AirTag ( doge
|
50
realpg 2023-08-24 10:15:58 +08:00
感谢 OP 提供想法 我发现我手头啥都有 连夜做了个摄像头远程识别空车位判断我要去哪停车
|
53
mightybruce 2023-08-24 10:54:13 +08:00
如果是通过 siri 指令的形式抓拍一张,那么还不如网友所说,直接通过指令控制摄像头拍一张上传到 nas 或 邮箱,直接查看,简单省事。yolo,ssd,fastercnn 不建议了, 还不如人眼看一下快速。
|
54
crisrock 2023-08-24 11:13:55 +08:00
和邻居说清楚,一人停一边,这样不用想
|
56
pming1 OP @mightybruce 现在实现的第一版,其实差不多,也是拍照,人眼确认。这个也会有两个不太方便的地方:1 、手机上要打开这张图片; 2 、眼睛要从开车视野挪到手机屏幕上。这两点多少会给行车安全带来一定的安全隐患。我预期实现的效果是这样的,“嘿,Siri !门店现在能不能开车停进去?”,“能的|不能”。
|
57
SoyaDokio 2023-08-24 17:58:28 +08:00
年轻就是好,看到啥都想写个轮子。
如果是我,可能就网上随便找个车牌识别源码,只要识别到就算有车。毕竟识别车牌程序已经非常成熟了。 |
58
mightybruce 2023-08-24 21:50:38 +08:00
很多人提到车牌,其实并不可行,车牌检测如果离得较远,小于检测最小的像素框就基本很困难了,
基于 ROI (region of interest) 检测一下是否为车就好,yolo 虽然快,但是准确率并不是很高,嵌入式的话可以参考 openvino 的 model zoo , gluoncv 的 model zoo 结合 专门的嵌入式深度学习框架比如 tensorflow lite, ncnn, 腾讯 tnn, 阿里 mnn 来做。 边缘计算推理这方面 需要对模型做剪裁 ,深度模型减枝。 浮点型运算也从 fp-32 变为 fp-16 甚至 int-8 腾讯这方面深度学习的边缘计算资料很全 https://qengineering.eu/ |
59
mightybruce 2023-08-24 21:55:20 +08:00
|