人员跌倒识别检测算法是基于视频的检测方法,通过对目标人体监测,当目标人体出现突然倒地行为时,自动监测并触发报警。

人员跌倒识别检测算法基于计算机识别技术,配合现场摄像头,自动识别如地铁手扶梯/楼梯、老幼活动区等公共场所人员摔倒行为,准确率高于90%,及时救援,提高人工监管效果,保障生命安全。自动识别地铁车站内如扶梯、楼梯等意外场所的人员摔倒事故,实时预警,及时救援,有效减少人力监管误差与成本,提高公共场所安全性。

人员跌倒识别检测算法_深度学习

 

形态学运算是针对二值图象依据数学形态学(Mathematical Morphology)的集合论方法发展起来的图象处理方法。数学形态学起源于岩相学对岩石结构的定量描述工作,近年来在数字图象处理和机器视觉领域中得到了广泛的应用,形成了一种独特的数字图象分析方法和理论。

人员跌倒识别检测算法_人工智能_02

 

通常形态学图象处理表现为一种邻域运算形式,一种特殊定义的邻域称之为“结构元素”(Structure Element),在每个象素位置上它与二值图象对应的区域进行特定的逻辑运算,逻辑运算的结果为输出图象的相应象素。形态学运算的效果取决于结构元素的大小、内容以及逻辑运算的性质。常见的形态学运算有腐蚀和膨胀。
 

人员跌倒识别检测算法_算法_03

 

16.    public class WordCount {
 17.    
 18.      public static class TokenizerMapper 
 19.           extends Mapper<Object, Text, Text, IntWritable>{
 20.        
 21.        private final static IntWritable one = new IntWritable(1);
 22.        private Text word = new Text();
 23.          
 24.        public void map(Object key, Text value, Context context
 25.                        ) throws IOException, InterruptedException {
 26.          StringTokenizer itr = new StringTokenizer(value.toString());
 27.          while (itr.hasMoreTokens()) {
 28.            word.set(itr.nextToken());
 29.            context.write(word, one);
 30.          }
 31.        }
 32.      }
 33.      
 34.      public static class IntSumReducer 
 35.           extends Reducer<Text,IntWritable,Text,IntWritable> {
 36.        private IntWritable result = new IntWritable();
 37.    
 38.        public void reduce(Text key, Iterable<IntWritable> values, 
 39.                           Context context
 40.                           ) throws IOException, InterruptedException {
 41.          int sum = 0;
 42.          for (IntWritable val : values) {
 43.            sum += val.get();
 44.          }
 45.          result.set(sum);
 46.          context.write(key, result);
 47.        }
 48.      }
 49.    
 50.      public static void main(String[] args) throws Exception {
 51.        Configuration conf = new Configuration();
 52.        String[] otherArgs = new GenericOptionsParser(conf, args).getRemainingArgs();
 53.        if (otherArgs.length < 2) {
 54.          System.err.println("Usage: wordcount <in> [<in>...] <out>");
 55.          System.exit(2);
 56.        }
 57.        Job job = Job.getInstance(conf, "word count");
 58.        job.setJarByClass(WordCount.class);
 59.        job.setMapperClass(TokenizerMapper.class);
 60.        job.setCombinerClass(IntSumReducer.class);
 61.        job.setReducerClass(IntSumReducer.class);
 62.        job.setOutputKeyClass(Text.class);
 63.        job.setOutputValueClass(IntWritable.class);
 64.        for (int i = 0; i < otherArgs.length - 1; ++i) {
 65.          FileInputFormat.addInputPath(job, new Path(otherArgs[i]));
 66.        }
 67.        FileOutputFormat.setOutputPath(job,
 68.          new Path(otherArgs[otherArgs.length - 1]));
 69.        System.exit(job.waitForCompletion(true) ? 0 : 1);
 70.      }
 71.    }