标签
PostgreSQL , 图数据库 , 社会关系分析 , 流式分析 , 人贩子 , 图像识别 , 人脸识别 , 公安刑侦 , pipelinedb , stream , neo4j , plproxy , sharding , 交通数据处理 , 天眼
背景
快过年啦,提防人贩子,小孩要带好。
有两部片子《失孤》、《亲爱的》拍得触目惊心。
很多家庭耗尽时间和金钱,找了很多年还是没有找到,最终选择了放弃。
社会中依旧还有很多爸爸妈妈还没有找到丢失的孩子,除了严打罪犯;作为IT人,我们能做什么吗 ?
为什么人贩子猖獗?如何才能让人贩子无处遁形?
这些问题会随着技术的不断革新和发展,终将得到解决。IT民工加油,棒棒哒 。
本文将要提到的几项技术,也许能给人贩子一记重击,帮助快速的找到人贩子,间接降低犯罪率。
1 故事开端
在商场、车站、景区、电影院等鱼龙混杂、人流密集的地方,很容易成为人贩子下手的地方。特别是逢年过节的时候,人流量会更大,爸爸妈妈一定要小心。
如果不慎丢失,尽快报警,下面我们来分析一下有哪些技术手段可以协助警察叔叔加速找到嫌疑人?
2 GIS定位
现在的父母一般都会给小孩买个带GIS功能的手表,可以随时查看孩子的行踪。
如果人贩子没有将手表拿掉的话,这是一个很好的找到小孩的方法。
在得知小孩的位置后,可以通过KNN近邻查询的方法,迅速的找到附近的警察叔叔,快速将人贩子制服。
时间就是生命,所以查询效率是非常重要的,这里需要用到GiST索引,PostgreSQL数据库可以很好的支撑这样的场景。
技术细节请参考以下的几篇文章
如果非常不幸,人贩子已经把定位的手表毁了,又或者小孩没有这种追踪设备,那怎么办呢?
3 大海也能捞针,实时社会关系分析
人类是群居动物,随着人口的增长,联络方式越来越无界化,人与人,人与事件,人与时间之间形成了一张巨大的关系网络。
人贩子也是人,逃脱不了这张网,俗话说,天网恢恢疏而不漏。
人贩子要吃饭、要购物、要喝水、要走路、要抽烟、要打车、要出货、要用手机、。。。。。
现在有很多科技可以监控到这些行为,包括遍布在各个角落的摄像头、小店联网的收银终端、出租车/网约车的联网终端,手机的定位上报,ATM机 等等。
这些信息会组成一张大网,警察叔叔可以根据小孩丢失的位置,进行以位置相关事件为中心的辐射式的关系推演,再结合公安系统中的犯罪记录库,可能能够很快的找到犯罪分子。
(例如根据出事地点的地理位置周边N公里圈出一批人群A,根据这篇人群A与公安系统犯罪分子库进行社会关系分析,找到突破口。当然这里面还有更多更细节的条件可以进行筛选和收敛,定位到犯罪分子)
那么如何能实现这种辐射式的关系推演需求呢?
我几天前写了一篇文档,就是关于金融风控、公安刑侦、社会关系、人脉分析的,可以实现这样的需求,内有大量的DEMO和代码。
《金融风控、公安刑侦、社会关系、人脉分析等需求分析与数据库实现 - PostgreSQL图数据库场景应用》
关系图例
4 人脸图像识别,让人贩子无处遁形
在缩小嫌疑人的范围后,要快速的展开追踪,怎么把他们找出来呢?
前面提到了,现在的摄像头很多很多,而且军用的基本上都是非常高清的,到处都能拍到嫌疑人的行踪。
比如马上拍到的行人,行驶中的汽车,商场的人群,ATM机的摄像头 等等。
将人像部分抽取出来之后,需要与嫌疑人头像库进行相似度比较,进而定位到嫌疑人。
嫌疑人往往会随着时间的推演发生些许的样貌改变,还有故意易容等等。 如何才能在大量的人像图库中匹配出嫌疑人呢?
通常嫌疑人在图库中可能不止一张图片,会有蛮多的吧(猜测),不过不管怎么样,脸部的变化应该不会很大。
如果能拍到瞳孔的话,瞳孔的识别率也是非常高的。
图像的相似度搜索与识别技术,也是我最近写过的,细节请参考如下
《PostgreSQL 在视频、图片去重,图像搜索业务中的应用》
《弱水三千,只取一瓢,当图像搜索遇见PostgreSQL(Haar wavelet)》
《Effective similarity search in PostgreSQL》
总之,人贩子将无处遁形。
除此之外,还有嫌疑人的消费行为,手机上报的定位等等,都是抓到人贩子的有利信息。
当然,你会说,嫌疑人可以不亲自消费,亲自使用手机,亲自取钱,但是他总要有人帮他干这些事情吧,那又回到关系推演分析了。要知道天网恢恢疏而不漏。
5 线索就在蛛丝马迹中,模糊车牌识别
小插曲,假如我们已经在某个摄像头中拍下了嫌疑人在汽车上的照片,但是嫌疑人驾驶的车辆故意进行了伪装,比如车牌号码进行了部分的遮挡,怎么能快速的找到车辆呢?
这里就涉及到模糊查询了
关于模糊查询的技术细节可以从这篇文档了解
《聊一聊双十一背后的技术 - 毫秒分词算啥, 试试正则和相似度》
6 流式分析,迅速响应,让人贩子无处可逃
上面我们谈了很多通过数据分析,数据的处理,找到嫌疑人。但是要知道我们面对的是海量数据,全国有多少摄像头,有多少手机终端,有多少ATM机,有多少消费终端,有多少出租车?都是海量,产生的数据更是海量。
那么由于社会上产生信息的量非常的庞大,如何能够快速的从海量的信息里追踪到嫌疑人的行踪呢?
此时流式处理技术就派上用场啦,比如我们已经锁定了嫌疑人的范围,从技术角度来看,就是从实时产生的海量的信息中将嫌疑人的信息过滤出来,或者当遇到嫌疑人的信息时,即时的触发通知,告诉公安GG。
流计算的用法很多,可以参考我写的文档
《流计算风云再起 - PostgreSQL携PipelineDB力挺IoT》
它可以与前面我提到的图像识别、关系分析、模糊匹配等技术结合起来,流式的处理,快速的定位到嫌疑人的行踪。
7 技术手段推演人贩子串逃路线
玩过CS的高手朋友,特别是玩狙击厉害的朋友,对甩枪一定不陌生,其实就是对运动中的目标进行打击。
嫌疑人也一样,比如我们已经通过技术手段定位到嫌疑人的行踪。
可以描绘出嫌疑人的已有串逃路线,但是等你赶到现场的时候,嫌疑人可能又到下一个地点了。
如果能推演出他下一步可能会怎么走,那么我们就可以像玩甩枪一样,进行提前埋伏,伏击嫌疑人。
这里涉及到两项技术,一项是数据挖掘(可能用到一些回归分析的技术),还有一项就是路径规划。
技术细节可以参考我写的文章
当然了,公安GG还可以人为的制造一些诱导,比如设障碍,误导引流等等。
8 人贩落网
还是那句话,天网恢恢疏而不漏,嫌疑人终将落网,对人贩子的打击会随着技术的进步进一步的增强,让天下不再有人贩子是IT民工的小目标 。
买卖双方同等罪行
9 DNA认亲之路
被拐卖的儿童找到了之后,如何能找到小孩的亲人呢?
图像匹配是一种方法,例如用前面我提到的Haar Wavelet的算法,把小孩的图片与公安数据库中事失踪的小孩图片进行比较,找到失踪的儿童登记信息,从而找到亲人。
但是有些小孩可能是很多年前失踪的,小孩的样貌几年一大变,仅仅通过图片是无法完全辨认的。
还好古有滴血认亲,如今有DNA相似度认亲,我们在找到丢失的小孩后,取出小孩的DNA,与上报了被拐卖儿童家庭(也可能很多,估计有百万级别)的父母的DNA库进行比较。
找到相似度最高的家庭,进行进一步的确认,最终帮助找到亲人。
DNA比对,也是有技术手段来实现的,比如我前些时间写的文章,细节可以参考如下
《为了部落 - 如何通过PostgreSQL基因配对,产生优良下一代》
至此,IT民工 与 人贩子 的战争告一段落,但是我们还有很多黑科技没有亮出来,对待人贩子绝不手软。
其他应用案例与参考文章
PostgreSQL是一个 "很有爱" 的数据库,用心学习它,用心回报社会吧。
《"物联网"流式处理应用 - 用PostgreSQL实时处理(万亿每天)》
《为了部落 - 如何通过PostgreSQL基因配对,产生优良下一代》
《流计算风云再起 - PostgreSQL携PipelineDB力挺IoT》
《分析加速引擎黑科技 - LLVM、列存、多核并行、算子复用 大联姻 - 一起来开启PostgreSQL的百宝箱》
《金融风控、公安刑侦、社会关系、人脉分析等需求分析与数据库实现 - PostgreSQL图数据库场景应用》
《实时数据交换平台 - BottledWater-pg with confluent》
《PostgreSQL 在视频、图片去重,图像搜索业务中的应用》
《基于 阿里云 RDS PostgreSQL 打造实时用户画像推荐系统》
《门禁广告销售系统需求剖析 与 PostgreSQL数据库实现》
《聊一聊双十一背后的技术 - 毫秒分词算啥, 试试正则和相似度》
《PostgreSQL 9.6 引领开源数据库攻克多核并行计算难题》
《如何建立GIS测试环境 - 将openstreetmap的样本数据导入PostgreSQL PostGIS库》
《PostgreSQL 9.6 单元化,sharding (based on postgres_fdw) - 内核层支持前传》
《PostgreSQL 9.6 sharding + 单元化 (based on postgres_fdw) 最佳实践 - 通用水平分库场景设计与实践》
《PostgreSQL 9.6 sharding based on FDW & pg_pathman》
《PostgreSQL 9.5+ 高效分区表实现 - pg_pathman》
《PostgreSQL 9.6 黑科技 bloom 算法索引,一个索引支撑任意列组合查询》
《PostgreSQL 使用递归SQL 找出数据库对象之间的依赖关系》
《用PostgreSQL描绘人生的高潮、尿点、低谷 - 窗口/帧 or 斜率/导数/曲率/微积分?》