OpenCV

Anything you want added or changed in future versions of ZoneMinder? Post here and there's a chance it will get in! Search to make sure it hasn't already been requested.
User avatar
Normando
Posts: 219
Joined: Sun Aug 17, 2008 5:34 am
Location: Rosario - Argentina

OpenCV

Post by Normando » Sun Nov 09, 2008 3:49 am

I'm not sure if it is a feature request, but I want to know why zoneminder developers not use OpenCV.

This is the use: http://imagelab.ing.unimore.it/vssn05/

This is the extract from the book OpenCV at http://book.pdfchm.net/Learning-OpenCV- ... 596516130/

Learning OpenCV puts you right in the middle of the rapidly expanding field of computer vision. Written by the creators of OpenCV, the widely used free open-source library, this book introduces you to computer vision and demonstrates how you can quickly build applications that enable computers to "see" and make decisions based on the data. Computer vision is everywhere -- in security systems, manufacturing inspection systems, medical image analysis, Unmanned Aerial Vehicles, and more. It helps robot cars drive by themselves, stitches Google maps and Google Earth together, checks the pixels on your laptop's LCD screen, and makes sure the stitches in your shirt are OK. OpenCV provides an easy-to-use computer vision infrastructure along with a comprehensive library containing more than 500 functions that can run vision code in real time. With Learning OpenCV, any developer or hobbyist can get up and running with the framework quickly, whether it's to build simple or sophisticated vision applications. The book includes: A thorough introduction to OpenCV Getting input from cameras Transforming images Shape matching Pattern recognition, including face detection Segmenting images Tracking and motion in 2 and 3 dimensions Machine learning algorithms

Hands-on exercises at the end of each chapter help you absorb the concepts, and an appendix explains how to set up an OpenCV project in Visual Studio. OpenCV is written in performance optimized C/C++ code, runs on Windows, Linux, and Mac OS X, and is free for commercial and research use under a BSD license. Getting machines to see is a challenging but entertaining goal. If you're intrigued by the possibilities, Learning OpenCV gets you started onbuilding computer vision applications of your own.

User avatar
zoneminder
Site Admin
Posts: 5220
Joined: Wed Jul 09, 2003 2:07 pm
Location: Bristol, UK
Contact:

Post by zoneminder » Wed Nov 12, 2008 10:30 pm

The reason it isn't used is mostly I've never heard of it until now!

I will take a look and see if/how it can be integrated.

Thanks.
Phil

coke
Posts: 518
Joined: Wed Jan 30, 2008 5:53 pm
Location: St. Louis, MO, USA

Post by coke » Thu Nov 13, 2008 4:34 pm

I'm starting to look into this for my own purposes. I imagine I'll buy the book, but I really prefer online resources. Previous googling suggested I needed to learn Japanese. If anyone trips over more examples/tutorials (especially using something linuxy, not Visual Basic) let me know.

User avatar
Normando
Posts: 219
Joined: Sun Aug 17, 2008 5:34 am
Location: Rosario - Argentina

Post by Normando » Sun Jan 25, 2009 3:38 pm

wow..videos are impressive, superb!

bnaef
Posts: 12
Joined: Sun May 29, 2005 6:20 pm

OpenCV, LPR, ZoneMinder

Post by bnaef » Fri Apr 17, 2009 4:30 pm

I have started to dig into OpenCV with the ultimate goal to come up with a license plate recognition application that takes advantage of the ZM image capturing and storage infrastructure.

I am about 2/3 through with the Learning OCV book and have started to post some code snippets on the OpenCV Yahoo group. Using the blob-based techniques to detect objects seems to be very promising. I have not started to work with statistical approaches yet. There is a lot of theoretical and OCV-based code work available.

Given the complexity of the LPR challenge and uncertainty about the most efficient and effective approach, I am starting to think that searching an image database (i.e. the ZM events db) for pre-specified objects may be a safer approach and easier to realize.

At this point I am looking for computer vision experts and enthusiasts to help add more video analytics to ZM.

SyRenity
Posts: 301
Joined: Mon Jan 24, 2005 2:43 pm

Post by SyRenity » Fri Apr 17, 2009 4:56 pm

I'll be happy to help - at least to test such feature.

bnaef
Posts: 12
Joined: Sun May 29, 2005 6:20 pm

Conzeptualization, Plug to ZM

Post by bnaef » Sat Apr 18, 2009 4:04 pm

I am interviewing developers that have theoretical as well as practical computer vision, video analytics and machine learning language experience to help us primarily with the theoretical aspects of the LPR challenge.

I have done some very preliminary proof-of-concept work with OpenCV (see OpenCV Yahoo group/ Files/ LPR Project.

With the ultimate goal of an LPR solution in mind, I propose that we first start with plugging some object detection functionality into ZM that only searches the image db (no real-time analysis yet).

The principal idea is to develop a ZM interface to select a shape, filter candidate events, select a object detection technology, scan the filtered ZM events for that shape and then display some output. That display could consist of a time/ date stamp, event id, image with candidate shapes highlighted by boundary boxes, new images that contain all extracted candidate shapes, manual selection of "best" shape(s), save the new images into a dir structure that parallels the events dir structure and save image meta-data to a ZM table. By switching out the detection technology, we can easily search for other, possibly more complex shapes (i.e. faces). However, many of the more sophisticated detection techniques depend on some form of training. Hence some training infrastructure would need to be built.

Much of the above functionality is already in one or another form implemented in ZM. Rather than patching ZM with the proposed process, I propose that the process be a module that can be "loaded/ unloaded" into ZM using a script that builds OpenCV and the detection technology code, updates the MySQL zm database and make install/ uninstall the module into the ZM infrastructure.

Any thoughts?

SyRenity
Posts: 301
Joined: Mon Jan 24, 2005 2:43 pm

Post by SyRenity » Wed Apr 29, 2009 1:33 pm

Sounds interesting - what rate of false positives your proof of concept has?

bnaef
Posts: 12
Joined: Sun May 29, 2005 6:20 pm

Post by bnaef » Wed Apr 29, 2009 2:34 pm

Interface development is separate from detection/ ocr engine development.

I am working on the interface, another developer has just started with the engine.

The answer to your false positive question depends a lot on how strongly you parameterize the object you are looking for, the quality of the input images and the detection algorithm and technology employed.

Using the latest theoretical works in LPR recognition and given certain camera system and installation requirements, we are aiming at a 98% license plate recognition accuracy.

iZone
Posts: 3
Joined: Mon May 18, 2009 9:17 am

Post by iZone » Mon May 18, 2009 9:20 am

When are we expecting 1st release of the LPR on ZM.

JackG
Posts: 5
Joined: Sat Oct 18, 2008 10:42 pm
Location: California

Post by JackG » Tue May 26, 2009 2:30 am

I've been playing around with OpenCV hopeing to build a more robust motion detector for ZM to fix some of the flaws I see in my setup with ZM 1.23's detector. I tweaked the motion template example a bit, and the resulting alg doesn't get false positives on blinking (auto shutter switching between "night" and "day" mode) on cheap cameras, and is more robust against moving trees. So now I need to plumb it in to put it to use. What is needed is first data structure translation to put the ZM images into OpenCV IplImage strutures, which is trivial. But then ZM needs to also be hacked up to call the new detector.

I've done a little searching here, and hope I haven't missed something, but I haven't found any type of detector plug-in architecture. Did I miss something? For just experimenting one can just hack up ZM to call the new detector. But it wouldn't be hard to put together a .so based plugin architecture. It only needs a couple entry points: open, detect with new image, and close. Making a .so interface means that it is much easier for people to experiment with new motion detectors, and ZM could also add a new detector to a binary distro.

So is there a plugin arch for motion detectors?

SyRenity
Posts: 301
Joined: Mon Jan 24, 2005 2:43 pm

Post by SyRenity » Thu May 28, 2009 3:44 pm

Hi.
bnaef wrote:Interface development is separate from detection/ ocr engine development.

I am working on the interface, another developer has just started with the engine.

The answer to your false positive question depends a lot on how strongly you parameterize the object you are looking for, the quality of the input images and the detection algorithm and technology employed.

Using the latest theoretical works in LPR recognition and given certain camera system and installation requirements, we are aiming at a 98% license plate recognition accuracy.
This sounds interesting.

Any idea when a proof of concept will be available?

Regards.

User avatar
Normando
Posts: 219
Joined: Sun Aug 17, 2008 5:34 am
Location: Rosario - Argentina

Post by Normando » Sun Jun 07, 2009 6:48 am

An interesting starting point to play with OpenCV

http://allseeingi.tigris.org/

Regards
Normando

SyRenity
Posts: 301
Joined: Mon Jan 24, 2005 2:43 pm

Post by SyRenity » Fri Jun 12, 2009 7:14 pm

Hi.

Is this what you use when working on ALPR support with ZM?

Regards.

goé
Posts: 1
Joined: Tue Jun 16, 2009 12:56 pm

Post by goé » Tue Jun 16, 2009 1:01 pm

i've just started with opencv , i have to detect and track the finger can any one help mewere should i start ??? and what function in opencv can help me????

Post Reply

Who is online

Users browsing this forum: No registered users and 2 guests