|Número de publicación||US8754901 B2|
|Tipo de publicación||Concesión|
|Número de solicitud||US 14/067,300|
|Fecha de publicación||17 Jun 2014|
|Fecha de presentación||30 Oct 2013|
|Fecha de prioridad||11 Dic 2008|
|También publicado como||US8749570, US20100150457, US20140056483|
|Número de publicación||067300, 14067300, US 8754901 B2, US 8754901B2, US-B2-8754901, US8754901 B2, US8754901B2|
|Inventores||Robert L. Angell, Sergio Borger, Robert R. Friedlander, James R. Kraemer, Yashodhara M. Patnaik|
|Cesionario original||International Business Machines Corporation|
|Exportar cita||BiBTeX, EndNote, RefMan|
|Citas de patentes (113), Otras citas (108), Clasificaciones (17), Eventos legales (1)|
|Enlaces externos: USPTO, Cesión de USPTO, Espacenet|
The present application is a continuation of U.S. patent application Ser. No. 12/333,273, filed on Dec. 11, 2008, and entitled, “Identifying and Generating Color and Texture Video Cohorts Based on Video Input”, which is incorporated herein by reference in its entirety.
The present invention relates generally to an improved data processing system and in particular to a method and apparatus for generating cohorts. More particularly, the present invention is directed to a computer implemented method, apparatus, and computer usable program code for processing digital video input to generate video based cohorts.
A cohort is a group of objects that share a common attribute or experience. For example, a group of people born in 1980 may form a birth cohort. The information that is needed or wanted to identify attributes of potential members of a cohort may be voluminous, dynamically changing, unavailable, difficult to collect, and/or unknown to the member of the cohort and/or the user selecting members of a cohort. Moreover, it may be difficult, time consuming, or impractical for an individual to access all the information necessary to accurately generate cohorts. Thus, unique cohorts may be sub-optimal because individuals lack the skills, time, knowledge, and/or expertise needed to gather cohort attribute information from available sources.
Moreover, information distinguishing different colors of objects is frequently useful in a variety of fields. For example, it may be important to distinguish between a red warning light and a green warning light to determine the severity of a potential problem. A human using the sense of sight to identify different colors may perform color identification. However, this method is limited by the human ability to perceive and identify different color hues. In another method, some color identification software tools may be used to identify colors in digital images.
A computer system generates video based cohorts. Digital video data is processed to identify a set of color and texture based attributes associated with clothing worn by a set of objects. The digital video data comprises metadata describing the set of objects. The set of color and texture based attributes are analyzed using cohort criteria to form a result. The cohort criteria specify attributes that are associated with members of a given cohort. A set of cohorts is generated based on the result. Each cohort in the set of cohorts comprises a subset of objects from the set of objects that share at least one color and texture based attribute in common.
As will be appreciated by one skilled in the art, the present invention may be embodied as a system, method, or computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, the present invention may take the form of a computer program product embodied in any tangible medium of expression having computer usable program code embodied in the medium.
Any combination of one or more computer usable or computer readable medium(s) may be utilized. The computer-usable or computer-readable medium may be, for example but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, device, or propagation medium. More specific examples (a non-exhaustive list) of the computer-readable medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CDROM), an optical storage device, a transmission media such as those supporting the Internet or an intranet, or a magnetic storage device. Note that the computer-usable or computer-readable medium could even be paper or another suitable medium upon which the program is printed, as the program can be electronically captured, via, for instance, optical scanning of the paper or other medium, then compiled, interpreted, or otherwise processed in a suitable manner, if necessary, and then stored in a computer memory. In the context of this document, a computer-usable or computer-readable medium may be any medium that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device. The computer-usable medium may include a propagated data signal with the computer-usable program code embodied therewith, either in baseband or as part of a carrier wave. The computer usable program code may be transmitted using any appropriate medium, including, but not limited to wireless, wire line, optical fiber cable, RF, etc.
Computer program code for carrying out operations of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
The present invention is described below with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions.
These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. These computer program instructions may also be stored in a computer-readable medium that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable medium produce an article of manufacture including instruction means which implement the function/act specified in the flowchart and/or block diagram block or blocks.
The computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
With reference now to the figures and in particular with reference to
In the depicted example, server 104 and server 106 connect to network 102 along with storage unit 108. In addition, clients 110, 112, and 114 connect to network 102. Clients 110, 112, and 114 may be, for example, personal computers or network computers. In the depicted example, server 104 provides data, such as boot files, operating system images, and applications to clients 110, 112, and 114. Clients 110, 112, and 114 are clients to server 104 in this example. Network data processing system 100 may include additional servers, clients, and other devices not shown.
Program code located in network data processing system 100 may be stored on a computer recordable storage medium and downloaded to a data processing system or other device for use. For example, program code may be stored on a computer recordable storage medium on server 104 and downloaded to client 110 over network 102 for use on client 110.
In the depicted example, network data processing system 100 is the Internet with network 102 representing a worldwide collection of networks and gateways that use the Transmission Control Protocol/Internet Protocol (TCP/IP) suite of protocols to communicate with one another. At the heart of the Internet is a backbone of high-speed data communication lines between major nodes or host computers, consisting of thousands of commercial, governmental, educational, and other computer systems that route data and messages. Of course, network data processing system 100 also may be implemented as a number of different types of networks, such as for example, an intranet, a local area network (LAN), or a wide area network (WAN).
With reference now to
Processor unit 204 serves to execute instructions for software that may be loaded into memory 206. Processor unit 204 may be a set of one or more processors or may be a multi-processor core, depending on the particular implementation. Further, processor unit 204 may be implemented using one or more heterogeneous processor systems in which a main processor is present with secondary processors on a single chip. As another illustrative example, processor unit 204 may be a symmetric multi-processor system containing multiple processors of the same type.
Memory 206 and persistent storage 208 are examples of storage devices. A storage device is any piece of hardware that is capable of storing information either on a temporary basis and/or a permanent basis. Memory 206, in these examples, may be, for example, a random access memory or any other suitable volatile or non-volatile storage device. Persistent storage 208 may take various forms depending on the particular implementation. For example, persistent storage 208 may contain one or more components or devices. For example, persistent storage 208 may be a hard drive, a flash memory, a rewritable optical disk, a rewritable magnetic tape, or some combination of the above. The media used by persistent storage 208 also may be removable. For example, a removable hard drive may be used for persistent storage 208.
Communications unit 210, in these examples, provides for communications with other data processing systems or devices. In these examples, communications unit 210 is a network interface card. Communications unit 210 may provide communications through the use of either or both physical and wireless communications links.
Input/output unit 212 allows for input and output of data with other devices that may be connected to data processing system 200. For example, input/output unit 212 may provide a connection for user input through a keyboard and mouse. Further, input/output unit 212 may send output to a printer. Display 214 provides a mechanism to display information to a user.
Instructions for the operating system and applications or programs are located on persistent storage 208. These instructions may be loaded into memory 206 for execution by processor unit 204. The processes of the different embodiments may be performed by processor unit 204 using computer implemented instructions, which may be located in a memory, such as memory 206. These instructions are referred to as program code, computer usable program code, or computer readable program code that may be read and executed by a processor in processor unit 204. The program code in the different embodiments may be embodied on different physical or tangible computer readable media, such as memory 206 or persistent storage 208.
Program code 216 is located in a functional form on computer readable media 218 that is selectively removable and may be loaded onto or transferred to data processing system 200 for execution by processor unit 204. Program code 216 and computer readable media 218 form computer program product 220 in these examples. In one example, computer readable media 218 may be in a tangible form, such as, for example, an optical or magnetic disc that is inserted or placed into a drive or other device that is part of persistent storage 208 for transfer onto a storage device, such as a hard drive that is part of persistent storage 208. In a tangible form, computer readable media 218 also may take the form of a persistent storage, such as a hard drive, a thumb drive, or a flash memory that is connected to data processing system 200. The tangible form of computer readable media 218 is also referred to as computer recordable storage media. In some instances, computer recordable media 218 may not be removable.
Alternatively, program code 216 may be transferred to data processing system 200 from computer readable media 218 through a communications link to communications unit 210 and/or through a connection to input/output unit 212. The communications link and/or the connection may be physical or wireless in the illustrative examples. The computer readable media also may take the form of non-tangible media, such as communications links or wireless transmissions containing the program code.
In some illustrative embodiments, program code 216 may be downloaded over a network to persistent storage 208 from another device or data processing system for use within data processing system 200. For instance, program code stored in a computer readable storage medium in a server data processing system may be downloaded over a network from the server to data processing system 200. The data processing system providing program code 216 may be a server computer, a client computer, or some other device capable of storing and transmitting program code 216.
The different components illustrated for data processing system 200 are not meant to provide architectural limitations to the manner in which different embodiments may be implemented. The different illustrative embodiments may be implemented in a data processing system including components in addition to or in place of those illustrated for data processing system 200. Other components shown in
As one example, a storage device in data processing system 200 is any hardware apparatus that may store data. Memory 206, persistent storage 208, and computer readable media 218 are examples of storage devices in a tangible form.
In another example, a bus system may be used to implement communications fabric 202 and may be comprised of one or more buses, such as a system bus or an input/output bus. Of course, the bus system may be implemented using any suitable type of architecture that provides for a transfer of data between different components or devices attached to the bus system. Additionally, a communications unit may include one or more devices used to transmit and receive data, such as a modem or a network adapter. Further, a memory may be, for example, memory 206 or a cache such as found in an interface and memory controller hub that may be present in communications fabric 202.
A cohort is a group of people, animals, plants, places, or objects that share a common attribute or experience. For example, a group of people born in 1980 may form a birth cohort. A cohort may include one or more sub-cohorts. For example, the birth cohort of people born in 1980 may include a sub-cohort of people born in 1980 in Salt Lake City, Utah. A sub-subcohort may include people born in 1980 in Salt Lake City, Utah to low income, single parent households.
A cohort is generated based on one or more attributes that members of the cohort share in common. The information used to identify the attributes of members of the cohort groups are typically provided by the members of the cohort groups. However, this information describing attributes and attributes of members of cohort groups may be voluminous, dynamically changing, unavailable, and/or unknown to the member of the cohort group and/or the user selecting members of a cohort group. Moreover, it may be difficult, time consuming, or impractical for an individual to access all the information necessary to accurately generate cohort groups. Moreover, unique cohort groups are typically sub-optimal because individuals lack the skills, time, knowledge, and/or expertise needed to gather cohort attribute information from available sources.
The illustrative embodiments recognize that there are many industries and professions, such as, without limitation, chemistry, research, and medicine, in which it may be desirable to be able to distinguish different colors, textures, and surface markings on objects in images generated by a camera. As used herein, an object may be a person, place, thing, animal, plant, place, or location. Color and texture identification may be performed manually by an individual using natural human sight and touch senses to distinguish colors, textures, and identifying markings. However, this technique is limited by the range of ability to “see” visible light and to distinguish different hues and shades of colors, due to the natural limitations of the human senses.
Currently, there are some color identification software tools available that may be used to identify colors in a digital image, such as, but without limitation, Pantone® Color Cue and the Pantone Matching System®. The illustrative embodiments recognize that information generated by these color identification software tools may be used to automatically identify colors associated with objects in an image to identify attributes of those objects. The embodiments also recognize that it would be beneficial to identify, automatically, the texture and surface markings associated with an object for utilization in generating cohorts. Cohort groups may be used in research, marketing, safety studies, and many other various uses.
Therefore, in one embodiment of the present invention, a computer implemented method, apparatus, and computer program product for generating video based cohorts using color and texture attributes is provided. In one embodiment, cohorts are generated and/or members of cohorts are selected based on information describing colors, textures, and surface markings associated with one or more objects in camera image(s).
A video based cohort is a group of objects that share one or more attributes, such as, without limitation, color and/or texture attributes, identified using images of one or more objects. In one embodiment, images are received from a set of cameras. As used herein, the term “set” refers to one or more, unless specifically defined otherwise. Thus, the set of cameras is a set of one or more cameras. A camera may be implemented using a still image camera, a video camera, a stationary camera, a mobile camera, such as a camera mounted on a mobile robot, a camera phone, a panoramic (wide-angle) camera, a Polaroid, a digital camera, a web camera, or any other device capable of capturing an image of an object.
A digital video analysis engine receives the video data from the set of cameras. The video data comprises a set of images of one or more objects. The images are generated by the set of cameras. The images may be static images or a stream of moving images. The digital video analysis engine utilizes video analysis software tools to convert the images into digital video data that is compatible with the cohort generation engine. The digital video data comprises metadata, which describes objects in the camera images captured by the set of cameras.
The digital video analysis engine analyzes the digital video data with the metadata to identify color and texture attributes of objects. A color and texture attribute is a characteristic, feature, or other property of an object associated with a color, color combination, color pattern, color property, texture, surface marking, light, shadow, or other feature of a surface of an object as captured by a camera.
A set of video based cohorts are generated using the attributes described in the metadata in the digital video data. The set of video based cohorts may comprise a single cohort, as well as two or more cohorts. A video based cohort group may have any number of members from a null set to an infinite number of members. In other words, a video based cohort may have no members, a single member, or two or more members that share a common attribute. A member of a video based cohort group may include a human, animal, plant, place, location, or object. In one embodiment, the video based cohort may be used in a system wide monitoring process to quickly and efficiently pass vital information to a real-time computational process. Thus, the embodiments permit a user to create cohort groups based on video based attributes, such as color, texture, surface markings, light and shade, and other surface appearance attributes of one or more objects in a particular area or environment.
For example, and without limitation, a user may wish to identify every customer in a shopping mall that is wearing a pink article of clothing, such as pink hats or pink shirts. In such a case, the digital video analysis engine may analyze digital video data to identify customers that are wearing pink hats. A cohort generation engine may then use the color attribute data for the customers to select customers wearing pink as members of a first cohort of customers wearing pink hats and a second cohort of customers wearing hats that are not pink. Identifying colors worn by customers may be useful for various purposes, such as, without limitation, marketing studies, advertising, planning future production, targeted advertising, and various other industries. These cohort groups provide an effective tool for automatically creating cohort groups based on attributes of objects identified by a software digital video analysis of camera images without the intervention of a human user.
Set of cameras 302 generate camera images 304. Set of cameras 302 is a set of one or more cameras. In other words, images 304 may include only a single camera, as well as two or more cameras. Set of cameras 302 may be implemented as any type of known or available camera(s), including, but not limited to, a video camera for generating moving images, a digital camera capable of generating static (still) pictures and/or a moving images, a stereo camera, a web camera, and/or any other imaging device capable of generating images of objects.
Images 304 comprise one or more images of at least one object. Images 304 may be still camera images or a stream of moving images. Each image in images 304 is composed of picture elements (pixels). A pixel is the smallest discrete component of a camera image. Each pixel in each image includes pixel data. Video analysis engine 306 uses the pixel data in each camera image to identify size and shape attributes of objects in images 304. Video analysis engine 306 comprises software architecture for analyzing images 304 to form digital video data 312. Video analysis engine 306 comprises a set of video image analysis software tools for analyzing and parsing images 304 and generating digital video data 312 with metadata describing attributes of the objects in images 304.
Video analysis engine 306 may be implemented using any type of known or available color identification software, optical character recognition software, and/or license plate recognition software. In one embodiment, the digital video analysis engine may be implemented, using video analysis software tools such as, without limitation, IBM® smart surveillance system (S3) software. The license plate recognition technology catalogs a license plate of any vehicle within a camera image.
Video analysis engine 306 also comprises texture identification 308. Texture identification is a software component that analyzes images 304 and identifies textures of objects in images 304. Texture refers to the texture of an outer surface of an object, such as, without limitation, smooth, rough, or course. Texture identification 308 identifies a degree to which a surface is shiny or dull. Texture identification 308 analyzes the image of an object to identify a luminescence of the object. Texture identification 308 identifies a portion of an object as smooth texture if the surface of the object in the image is shiny with large variations in luminescence. Texture identification 308 identifies a portion of an object as having a rough texture if the surface of the object in the image is a surface with more uniform variations in luminescence.
Thus, video analysis engine 306 uses color identification software tools to identify the color on the surface of an object, and combinations of colors on the surface of the object by analyzing one or more images of the object. Video analysis engine 306 utilizes license plate recognition technology and optical character recognition to identify numbers, letters, and other markings on the surface of an object, such as, without limitation, words and numbers on clothing, a hat, a label, identification badge, street sign, address sign, bumper sticker, or license plate. Video analysis engine 306 uses texture identification 308 to determine whether the surface of an object is smooth or rough/coarse.
Digital video data 312 comprises metadata describing the color and/or texture attributes of the objects in images 304. Metadata generator 310 is a software component for generating the metadata describing the attributes, such as color, texture, surface markings, and patterns of colors on the surface of an object.
In one non-limiting example, digital video data 312 may be transmitted to cohort generation engine 314 as a digital wave file with the metadata. However, the embodiments are not limited to transmitting digital video data 312 as a digital wave file. Digital video data 312 may be transmitted using any known or available method for transferring or sending data to cohort generation engine 314.
Cohort generation engine 314 receives digital video data 312 from video analysis engine 306. Cohort generation engine 314 may also request digital video data 312 from a data storage device where digital video data 312 is stored until it is needed, such as data storage device 315. Data storage device 315 may be implemented using any type of data storage device, such as, without limitation, storage 108 in
In one embodiment, video analysis engine 306 automatically sends digital video data 312 to cohort generation engine 314 in real time as digital video data 312 is generated. In yet another embodiment, video analysis engine 306 sends digital video data 312 to cohort generation engine 314 upon the occurrence of a predetermined event. A predetermined event may be, without limitation, a given time, completion of processing images 304, occurrence of a timeout event, a user request for generation of set of video cohorts 324 based on color and texture attributes identified using digital video data 312, or any other predetermined event. Thus, the illustrative embodiments may utilize digital video data 312 in real time as digital video data 312 is generated or utilize digital video data that is pre-generated or stored in a data storage device until digital video data 312 is retrieved at some later time.
Cohort generation engine 314 analyzes digital video data 312 using color patterns 316, data models 318, cohort constraints 320, and/or cohort criteria 322 to generate set of video cohorts 324. Cohort generation engine 314 generates set of video cohorts 324 based on video based attributes in digital video data 312, such as color and texture attributes. Set of video cohorts 324 may include one or more video based cohorts. Each cohort group in set of video cohorts 324 may have a null set of members, a single member, as well as two or more members.
Color patterns 316 is an index or lookup table of known color patterns. A color pattern is a pattern of data that describes a color pattern or combination of colors in a particular layout or design. For example, the red and white pattern of a Coca-Cola logo may be one known color pattern in color patterns 316 and the uniform brown color of a United Parcel Service (UPS) truck may be another color pattern in color patterns 316. Cohort generation engine 314 compares metadata describing color and texture attributes of object in images 304 with known color patterns 316 to identify a particular object, source of an object, label, surface markings, and other attributes of an object. A particular color or combination of colors identified with an object in a camera image is compared to known color patterns 316. If a match is found, the matching color pattern may be used to identify color and texture attributes of the object, an identity of the object, a source or manufacturer of the object, or other attributes.
Cohort generation engine 314 may optionally process digital video data 312 in data models 318. Data models 318 comprise a set of one or more data models for processing digital video data 312 and identifying attributes of objects. A data model is a model for structuring, defining, organizing, imposing limitations or constraints, and/or otherwise manipulating data and metadata to produce a result. A data model may be generated using any type of modeling method or simulation including, but not limited to, a statistical method, a data mining method, a causal model, a mathematical model, a marketing model, a behavioral model, a psychological model, a sociological model, or a simulation model.
In one embodiment, digital video data 312 is processed using one or more data models to create one or more video cohorts. For example, a data model may be used to identify customers in a department store that are wearing a particular sports jersey or clothing supporting a particular sports team. This information is used to create a cohort of customers wearing that particular sports related apparel. Another data model may be used to process the same digital video data 312 to create a cohort of customers that are not wearing that particular color.
A cohort may include one or more sub-cohorts. In this example, digital video data 312 may be processed in a data model to identify customers wearing sports related apparel and a sub-cohort of customers wearing sports related apparel for a particular team. This information may be useful, for example and without limitation, marketing research, targeted advertising, future product orders, and various other uses.
In one embodiment, cohort generation engine 314 generates the cohorts and sub-cohorts in set of video cohorts 324 using at least one of color patterns 316, data models 318, cohort constraints 320, and/or cohort criteria 322. The term “at least one” refers to one or more or any combination. Thus, cohorts may be generated using only color patterns 316, using only cohort criteria 322, using cohort constraints 320 and cohort criteria 322, using color patterns 316, data models 318, and cohort criteria 322, using color patterns 316, data models 318, constraints 320, and cohort criteria 322, or any other combination of color patterns 316, data models 318, constraints 320, and/or cohort criteria 322.
Cohort criteria 322 are a set of criteria and/or guidelines for generating set of video cohorts 324. Cohort criteria 322 specify attributes that are present or associated with members of a particular cohort. Cohort constraints 320 specify attributes that are absent or not associated with members of the particular cohort. For example, and without limitation, cohort criteria may specify that a particular cohort group should include all cars that are painted blue and cohort constraints may specify that members of the cohort of cars must not contain cars that are painted more than one color, such as a two tone paint job.
These video based cohorts may be used for a variety of uses, such as, without limitation, industrial, medical, health, safety, marketing, and research-related endeavors. The video cohorts may also be used as a set of methodologies to solve a variety of problems. In one embodiment, cohort generation engine 314 provides set of video cohorts 324 to inference engine 326. Inference engine 326 is a software component, such as a computer program, that derives inferences from a knowledge base. The knowledge base is a body of facts, criteria, factors, and other information used to generate one or more inferences 328. The knowledge base may be stored in one or more local data storage devices on computer 300, such as data storage device 315, and/or stored in one or more remote data storage devices that may be accessed over a network connection. Data storage device 315 is any type of device for storing data, such as, without limitation, storage 108 in
In this example, inference engine 326 derives inferences 328 from set of video cohorts 324 and/or any other data available in the knowledge base. The data in the knowledge base may include data located in a database located locally on computer 300 as well as data located on one or more remote data storage devices that may be accessed using a network connection.
Inferences 328 are conclusions regarding possible future events or future changes in the attributes of cohort groups that are drawn or inferred based on the knowledge base and set of video cohorts 324. For example, and without limitation, set of video cohorts 324 may be analyzed by inference engine 326 to determine whether a particular color of clothing, such as pink hats, will continue to be trendy or popular in a given particular region or area. Inference engine 326 may also, without limitation, analyze set of video cohorts 324 to determine whether the particular color of clothing will become popular or trendy in a different region or area based on data describing people wearing that particular color of clothing in the given region or area. In another example, inference engine 326 may generate inferences regarding which customers are likely to purchase particular products based on cohorts of customers using those products.
In this embodiment, set of cameras 302 is implemented as a separate device than computer 300. However, in another embodiment, set of cameras 302 and video analysis engine 306 in computer 300 may be embodied within a single device.
Turning now to
Various lenses, filters, and other optical devices such as zoom lenses, wide-angle lenses, mirrors, prisms, and the like, may also be used with set of cameras 302 to assist in capturing the desired view. A camera in set of cameras 302 may be fixed in a particular orientation and configuration, or it may, along with any optical devices, be programmable in orientation, light sensitivity level, focus or other parameters. Programming data may be provided via a computing device, such as server 104 in
Cameras 402-406 may be implemented as a stationary camera and/or non-stationary camera. A stationary camera is a camera is a fixed location. A non-stationary camera may be capable of moving from one location to another location. However, a both a stationary and non-stationary camera may be capable of tilting in one or more directions, such as up, down, left, right, and/or rotating about an axis of rotation. Thus, either a stationary or non-stationary camera may be capable of panning or rotating about an axis and/or tilting to follow or track a person, animal, or object in motion or keep a mobile object, such as, without limitation, a person, animal, or vehicle, within a viewing range of the camera lens. Cameras 402-406 may be, either directly or indirectly, coupled to and/or in communication with the video analysis engine. In addition, one or more of cameras 402-406 may be operated simultaneously to generate camera images and/or one or more of cameras 402-406 may be operated sporadically or in sequence to generate camera images.
Cameras 402-406 generate images of one or more objects, such as, without limitation, object 408, object 410, and object 412. In this example, the set of cameras includes three (3) cameras. However, the embodiments are not limited to three cameras in the configuration shown in
A video analysis engine analyzes the images generated by cameras 402-406 and identifies color and texture attributes of objects 408-412. For example, and without limitation, the video analysis engine may determine the color of the dog's fur, the color of the crate, the color of clothing worn by the person, distinguish between light and shadow falling on an object, the color of the person's hair, the color of the ground or floor that the person and the dog are standing on, and/or any other color and texture attributes of objects in the images generated by cameras 402-406.
In one embodiment, cameras 402-406 are calibrated to determine the location of each camera, the height 414 of each camera above the ground or above any other known surface, and the distance 416 of each camera from one or more known positions. In one embodiment, during calibration, an object of known dimensions in placed in a stationary position a known distance from each camera and one or more images of the object are generated. The term known dimensions refers to known shapes of portions of the object and known measurements of the object, such as but without limitation, height, length, width, radius, area, volume, and/or weight. The object is then moved to a different location a known distance from each camera and one or more images of the object are generated. This process is continued until images of the object at various known distances from each camera are generated. In another embodiment, the object may be capable of motion, such as a vehicle or a person. In such a case, the object is moved slowly along a predetermined track or course in a given area within recording range of the set of cameras while the cameras generate images of the object. In another embodiment, two or more objects of varying known sizes may be used during calibration. This calibration data, generated by using known objects of known dimensions at known distances from each camera, is used to extrapolate the location, distance, size, and shape of unknown objects in the images.
Color 502 is an attribute that identifies the color of a portion of a surface of an object. Color 502 may be an attribute identifying either a spectral color or a non-spectral color. A spectral color is a color that can be produced by visible light of a single wavelength only. Spectral colors may also be referred to as monochromatic colors. A non-spectral color is a color that is produced by a mixture of various wavelengths of light. Properties of color 504 include properties such as but without limitation, hue, saturation, and brightness. Hue refers to tint, gradations, or variety of color. Hues may be primary, secondary, or tertiary hues. Brightness refers to the luminescence of an object and indicates whether a source appears to emit or reflect a given amount of light.
Combination of colors 506 is an attribute that identifies patterns of two or more colors associated with an object. A pattern of colors may be a pattern of two or more different colors or a pattern of two or more different tones of the same color, such as in a two-tone automobile. Shade 508 identifies light and shadow falling on an object that may alter the appearance of the color of an object. For example, if a solid red car is partially in the sun and partially in the shade, the car may appear to be a two tone car when in fact the car is a uniform red color. Thus, shade 508 identifies light sources and shadows falling on an object.
Texture 510 is an attribute that identifies whether a portion of a surface of an object is rough/coarse or smooth. Identification markings 512 identify markings on the surface of an object, such as letters, numbers, punctuation marks, symbols, and other markings Identification markings 512 may be found on name tags, identification badges, license plates, bumper stickers, logos, trademarks, labels, serial numbers, and/or signs.
Color and texture attributes 500 are not limited to the attributes shown in
The process begins by making a determination as to whether any objects are in range of a set of cameras (step 602). An object is in range of a camera if the camera is able to record images of the object or a portion of the object. If any objects are in range of the set of cameras, a set of images of the object(s) by the set of cameras are generated (step 604). The set of images are sent to a video analysis engine (step 606), such as, without limitation, video analysis engine 306 in
Returning to step 602, if no objects are in range or after the images are sent to a video analysis engine in step 606, a determination is made as to whether to generate more images of one or more objects by the set of cameras (step 608). If more images are not generated, the process terminates.
Returning to step 608, if a determination is made to generate more images, the set of cameras generates a new set of images (step 610). The set of cameras implements steps 602-610 iteratively until no new images are generated at step 608 and the process terminates.
Turning now to
The process begins by receiving video images from a set of cameras (step 702). The video analysis engine processes and parses the images to form digital video data with metadata describing colors and textures of objects captured in the video images (step 704). The metadata is generated using any known or available method and/or software tools, such as, without limitation, IBM® smart surveillance system (S3) software, color identification software, optical character recognition software, and/or license plate recognition software.
The video analysis engine processes the digital video data to identify a set of color and texture attributes associated with a set of objects shown in the video images (step 706). A cohort generation engine analyzes the set of color and texture attributes using at least one cohort criteria and/or cohort constraints (step 708). In another embodiment, the cohort generation engine may optionally use color patterns and/or a set of data models to analyze the attributes. The cohort generation engine generates a set of cohorts based on the results of analyzing the color and texture attributes (step 710) with the process terminating thereafter. In another embodiment, the cohort generation engine optionally utilizes data models and/or identified video patterns in addition to cohort criteria or instead of cohort criteria to create the set of video cohorts.
Thus, according to one embodiment of the present invention, a computer implemented method, apparatus, and computer program product for generating video based cohorts is provided. A digital video analysis engine processes digital video data to identify a set of color and texture based attributes associated with the set of objects. The digital video data comprises metadata describing the set of objects. A cohort generation engine analyzes the set of color and texture based attributes using cohort criteria to form a result. The cohort criteria specify attributes that are associated with members of a given cohort. The cohort generation engine generates a set of cohorts based on the result. Each cohort in the set of cohorts comprises a subset of objects from the set of objects that share at least one color and texture based attribute in common.
The video cohorts may be used, for example and without limitation, in sales, marketing, marketing research, medical and diagnostic research, public health, demographic research, marketing trends, safety and/or security. The video cohorts may also be used for quality control in the food industry, in pharmaceuticals, manufacturing, diagnostics, and other areas.
The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” and/or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
The corresponding structures, materials, acts, and equivalents of all means or step plus function elements in the claims below are intended to include any structure, material, or act for performing the function in combination with other claimed elements as specifically claimed. The description of the present invention has been presented for purposes of illustration and description, but is not intended to be exhaustive or limited to the invention in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the invention. The embodiment was chosen and described in order to best explain the principles of the invention and the practical application, and to enable others of ordinary skill in the art to understand the invention for various embodiments with various modifications as are suited to the particular use contemplated.
The invention can take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment containing both hardware and software elements. In a preferred embodiment, the invention is implemented in software, which includes but is not limited to firmware, resident software, microcode, etc.
Furthermore, the invention can take the form of a computer program product accessible from a computer-usable or computer-readable medium providing program code for use by or in connection with a computer or any instruction execution system. For the purposes of this description, a computer-usable or computer readable medium can be any tangible apparatus that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device.
The medium can be an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system (or apparatus or device) or a propagation medium. Examples of a computer-readable medium include a semiconductor or solid state memory, magnetic tape, a removable computer diskette, a random access memory (RAM), a read-only memory (ROM), a rigid magnetic disk and an optical disk. Current examples of optical disks include compact disk-read only memory (CD-ROM), compact disk-read/write (CD-R/W) and DVD.
A data processing system suitable for storing and/or executing program code will include at least one processor coupled directly or indirectly to memory elements through a system bus. The memory elements can include local memory employed during actual execution of the program code, bulk storage, and cache memories which provide temporary storage of at least some program code in order to reduce the number of times code must be retrieved from bulk storage during execution.
Input/output or I/O devices (including but not limited to keyboards, displays, pointing devices, etc.) can be coupled to the system either directly or through intervening I/O controllers.
Network adapters may also be coupled to the system to enable the data processing system to become coupled to other data processing systems or remote printers or storage devices through intervening private or public networks. Modems, cable modem and Ethernet cards are just a few of the currently available types of network adapters.
The description of the present invention has been presented for purposes of illustration and description, and is not intended to be exhaustive or limited to the invention in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art. The embodiment was chosen and described in order to best explain the principles of the invention, the practical application, and to enable others of ordinary skill in the art to understand the invention for various embodiments with various modifications as are suited to the particular use contemplated.
|Patente citada||Fecha de presentación||Fecha de publicación||Solicitante||Título|
|US4742388||18 May 1984||3 May 1988||Fuji Photo Optical Company, Ltd.||Color video endoscope system with electronic color filtering|
|US5664109||7 Jun 1995||2 Sep 1997||E-Systems, Inc.||Method for extracting pre-defined data items from medical service records generated by health care providers|
|US5774569||10 Dic 1996||30 Jun 1998||Waldenmaier; H. Eugene W.||Surveillance system|
|US6054928||4 Jun 1998||25 Abr 2000||Lemelson Jerome H.||Prisoner tracking and warning system and corresponding methods|
|US6119096||1 Abr 1998||12 Sep 2000||Eyeticket Corporation||System and method for aircraft passenger check-in and boarding using iris recognition|
|US6178141||28 May 1999||23 Ene 2001||Gte Internetworking Incorporated||Acoustic counter-sniper system|
|US6242186||1 Jun 1999||5 Jun 2001||Oy Jurilab Ltd.||Method for detecting a risk of cancer and coronary heart disease and kit therefor|
|US6553336||26 Jun 2000||22 Abr 2003||Telemonitor, Inc.||Smart remote monitoring system and method|
|US6646676||10 Jul 2000||11 Nov 2003||Mitsubishi Electric Research Laboratories, Inc.||Networked surveillance and control system|
|US6795808||30 Oct 2000||21 Sep 2004||Koninklijke Philips Electronics N.V.||User interface/entertainment device that simulates personal interaction and charges external database with relevant data|
|US7308385||15 Ago 2005||11 Dic 2007||Wegerich Stephan W||Diagnostic systems and methods for predictive condition monitoring|
|US7363309||3 Dic 2003||22 Abr 2008||Mitchell Waite||Method and system for portable and desktop computing devices to allow searching, identification and display of items in a collection|
|US7492943||10 Mar 2005||17 Feb 2009||George Mason Intellectual Properties, Inc.||Open set recognition using transduction|
|US7538658||31 Oct 2007||26 May 2009||Terahop Networks, Inc.||Method in a radio frequency addressable sensor for communicating sensor data to a wireless sensor reader|
|US7548874||21 Oct 1999||16 Jun 2009||International Business Machines Corporation||System and method for group advertisement optimization|
|US7584280||12 Nov 2004||1 Sep 2009||Electronics And Telecommunications Research Institute||System and method for multi-modal context-sensitive applications in home network environment|
|US7634109||30 Oct 2008||15 Dic 2009||Fotonation Ireland Limited||Digital image processing using face detection information|
|US7667596||16 Feb 2007||23 Feb 2010||Panasonic Corporation||Method and system for scoring surveillance system footage|
|US7683929||26 Dic 2002||23 Mar 2010||Nice Systems, Ltd.||System and method for video content analysis-based detection, surveillance and alarm management|
|US7755480||30 Ene 2006||13 Jul 2010||Hitachi, Ltd.||Security system|
|US7840515||16 Feb 2007||23 Nov 2010||Panasonic Corporation||System architecture and process for automating intelligent surveillance center operations|
|US7840897||12 May 2003||23 Nov 2010||Leland J. Ancier||Inducing desired behavior with automatic application of points|
|US7846020||7 Jun 2006||7 Dic 2010||Walker Digital, Llc||Problem gambling detection in tabletop games|
|US7921036||29 Jun 2009||5 Abr 2011||Videomining Corporation||Method and system for dynamically targeting content based on automatic demographics and behavior analysis|
|US7930204||20 Jul 2007||19 Abr 2011||Videomining Corporation||Method and system for narrowcasting based on automatic analysis of customer behavior in a retail store|
|US7953686||17 Mar 2008||31 May 2011||International Business Machines Corporation||Sensor and actuator based validation of expected cohort behavior|
|US7974869||18 Sep 2007||5 Jul 2011||Videomining Corporation||Method and system for automatically measuring and forecasting the behavioral characterization of customers to help customize programming contents in a media network|
|US8000777 *||18 Sep 2007||16 Ago 2011||Kci Licensing, Inc.||System and method for tracking healing progress of tissue|
|US8041516||24 Nov 2008||18 Oct 2011||International Business Machines Corporation||Identifying and generating olfactory cohorts based on olfactory sensor input|
|US8117144||12 Dic 2008||14 Feb 2012||Nuance Communications, Inc.||Generating predilection cohorts|
|US8321797 *||30 Dic 2006||27 Nov 2012||Kimberly-Clark Worldwide, Inc.||Immersive visualization center for creating and designing a “total design simulation” and for improved relationship management and market research|
|US20020176604||16 Abr 2001||28 Nov 2002||Chandra Shekhar||Systems and methods for determining eye glances|
|US20020183971||10 Abr 2001||5 Dic 2002||Wegerich Stephan W.||Diagnostic systems and methods for predictive condition monitoring|
|US20020194117||6 Abr 2001||19 Dic 2002||Oumar Nabe||Methods and systems for customer relationship management|
|US20030023612||12 Jun 2002||30 Ene 2003||Carlbom Ingrid Birgitta||Performance data mining based on real time analysis of sensor data|
|US20030036903||16 Ago 2001||20 Feb 2003||Sony Corporation||Retraining and updating speech models for speech recognition|
|US20030088463||21 Oct 1999||8 May 2003||Steven Fischman||System and method for group advertisement optimization|
|US20030131362||9 Ene 2002||10 Jul 2003||Koninklijke Philips Electronics N.V.||Method and apparatus for multimodal story segmentation for linking multimedia content|
|US20030169907||24 Ene 2003||11 Sep 2003||Timothy Edwards||Facial image processing system|
|US20030174773||20 Dic 2002||18 Sep 2003||Dorin Comaniciu||Real-time video object generation for smart cameras|
|US20030231769 *||18 Jun 2002||18 Dic 2003||International Business Machines Corporation||Application independent system, method, and architecture for privacy protection, enhancement, control, and accountability in imaging service systems|
|US20040064341||27 Sep 2002||1 Abr 2004||Langan Pete F.||Systems and methods for healthcare risk solutions|
|US20040095617||21 Oct 2003||20 May 2004||Gateway, Inc.||Display and scanning assembly for transparencies|
|US20040161133||24 Nov 2003||19 Ago 2004||Avishai Elazar||System and method for video content analysis-based detection, surveillance and alarm management|
|US20040174597||3 Mar 2004||9 Sep 2004||Craig Rick G.||Remotely programmable electro-optic sign|
|US20040181376||28 Ene 2004||16 Sep 2004||Wylci Fables||Cultural simulation model for modeling of agent behavioral expression and simulation data visualization methods|
|US20040225202||29 Ene 2004||11 Nov 2004||James Skinner||Method and system for detecting and/or predicting cerebral disorders|
|US20040240542||6 Feb 2003||2 Dic 2004||Arie Yeredor||Method and apparatus for video frame sequence-based object tracking|
|US20040249650||14 Jul 2004||9 Dic 2004||Ilan Freedman||Method apparatus and system for capturing and analyzing interaction based content|
|US20050018861||25 Jul 2003||27 Ene 2005||Microsoft Corporation||System and process for calibrating a microphone array|
|US20050043060||6 Oct 2004||24 Feb 2005||Wireless Agents, Llc||Method and apparatus for scheduling presentation of digital content on a personal communication device|
|US20050125325||7 Dic 2004||9 Jun 2005||Chai Zhong H.||Efficient aggregate summary views of massive numbers of items in highly concurrent update environments|
|US20050169367||5 Abr 2005||4 Ago 2005||Objectvideo, Inc.||Video surveillance system employing video primitives|
|US20050187437||24 Feb 2005||25 Ago 2005||Masakazu Matsugu||Information processing apparatus and method|
|US20050216273||25 May 2005||29 Sep 2005||Telesector Resources Group, Inc.||Methods and apparatus for performing speech recognition over a network and using speech recognition results|
|US20060000420||24 May 2005||5 Ene 2006||Martin Davies Michael A||Animal instrumentation|
|US20060004582||31 Mar 2005||5 Ene 2006||Claudatos Christopher H||Video surveillance|
|US20060111961||22 Nov 2004||25 May 2006||Mcquivey James||Passive consumer survey system and method|
|US20060206379||9 Dic 2005||14 Sep 2006||Outland Research, Llc||Methods and apparatus for improving the matching of relevant advertisements with particular users over the internet|
|US20060251339||7 Oct 2005||9 Nov 2006||Gokturk Salih B||System and method for enabling the use of captured images through recognition|
|US20070013776||28 Jun 2005||18 Ene 2007||Objectvideo, Inc.||Video surveillance system employing video primitives|
|US20070122003||9 Ene 2005||31 May 2007||Elbit Systems Ltd.||System and method for identifying a threat associated person among a crowd|
|US20070225577||11 Ago 2006||27 Sep 2007||Honeywell International Inc.||System and Method for Providing Sensor Based Human Factors Protocol Analysis|
|US20070230270||23 Dic 2005||4 Oct 2007||Calhoun Robert B||System and method for archiving data from a sensor array|
|US20070291118||16 Jun 2006||20 Dic 2007||Shu Chiao-Fe||Intelligent surveillance system and method for integrated event based surveillance|
|US20080004793||30 Jun 2006||3 Ene 2008||Microsoft Corporation||Computing and harnessing inferences about the timing, duration, and nature of motion and cessation of motion with applications to mobile computing and communications|
|US20080004951||29 Jun 2006||3 Ene 2008||Microsoft Corporation||Web-based targeted advertising in a brick-and-mortar retail establishment using online customer information|
|US20080024299||21 Dic 2004||31 Ene 2008||Hans Robertson||Method and Means for Context-Based Interactive Cooperation|
|US20080031491||3 Ago 2006||7 Feb 2008||Honeywell International Inc.||Anomaly detection in a video system|
|US20080055049||24 Jul 2007||6 Mar 2008||Weill Lawrence R||Searching methods|
|US20080067244||19 Sep 2007||20 Mar 2008||Jeffrey Marks||System and method for counting and tracking individuals, animals and objects in defined locations|
|US20080071162 *||18 Sep 2007||20 Mar 2008||Jaeb Jonathan P||System and method for tracking healing progress of tissue|
|US20080082399||28 Sep 2007||3 Abr 2008||Bob Noble||Method and system for collecting, organizing, and analyzing emerging culture trends that influence consumers|
|US20080092245||17 Sep 2007||17 Abr 2008||Agent Science Technologies, Inc.||Multi-touch device behaviormetric user authentication and dynamic usability system|
|US20080098456||17 Sep 2007||24 Abr 2008||Agent Science Technologies, Inc.||Continuous user identification and situation analysis with identification of anonymous users through behaviormetrics|
|US20080109398||7 Jun 2005||8 May 2008||Harter Jacqueline M||Mapping Tool and Method of Use Thereof|
|US20080228577||31 Jul 2006||18 Sep 2008||Koninklijke Philips Electronics, N.V.||Apparatus For Monitoring a Person Having an Interest to an Object, and Method Thereof|
|US20080240496||26 Mar 2007||2 Oct 2008||Senior Andrew W||Approach for resolving occlusions, splits and merges in video images|
|US20080243439||28 Mar 2007||2 Oct 2008||Runkle Paul R||Sensor exploration and management through adaptive sensing framework|
|US20080260212||11 Ene 2008||23 Oct 2008||Moskal Michael D||System for indicating deceit and verity|
|US20080262743||14 Abr 2008||23 Oct 2008||Lewis Nathan S||Methods for remote characterization of an odor|
|US20080306895 *||6 Jun 2007||11 Dic 2008||Karty Kevin D||Method and System for Predicting Personal Preferences|
|US20090002155||27 Jun 2007||1 Ene 2009||Honeywell International, Inc.||Event detection system using electronic tracking devices and video devices|
|US20090070138||15 May 2008||12 Mar 2009||Jason Langheier||Integrated clinical risk assessment system|
|US20090092283||9 Oct 2007||9 Abr 2009||Honeywell International Inc.||Surveillance and monitoring system|
|US20090109795||26 Oct 2007||30 Abr 2009||Samsung Electronics Co., Ltd.||System and method for selection of an object of interest during physical browsing by finger pointing and snapping|
|US20090157481 *||24 Jun 2008||18 Jun 2009||Searete Llc, A Limited Liability Corporation Of The State Of Delaware||Methods and systems for specifying a cohort-linked avatar attribute|
|US20090164302 *||20 Dic 2007||25 Jun 2009||Searete Llc, A Limited Liability Corporation Of The State Of Delaware||Methods and systems for specifying a cohort-linked avatar attribute|
|US20090171783||2 Ene 2008||2 Jul 2009||Raju Ruta S||Method and system for managing digital photos|
|US20090185723||21 Ene 2008||23 Jul 2009||Andrew Frederick Kurtz||Enabling persistent recognition of individuals in images|
|US20090195401||31 Ene 2008||6 Ago 2009||Andrew Maroney||Apparatus and method for surveillance system using sensor arrays|
|US20090231436 *||17 Abr 2002||17 Sep 2009||Faltesek Anthony E||Method and apparatus for tracking with identification|
|US20100008515||10 Jul 2008||14 Ene 2010||David Robert Fulton||Multiple acoustic threat assessment system|
|US20100131206||24 Nov 2008||27 May 2010||International Business Machines Corporation||Identifying and Generating Olfactory Cohorts Based on Olfactory Sensor Input|
|US20100131263||21 Nov 2008||27 May 2010||International Business Machines Corporation||Identifying and Generating Audio Cohorts Based on Audio Data Input|
|US20100131502||25 Nov 2008||27 May 2010||Fordham Bradley S||Cohort group generation and automatic updating|
|US20100148970||16 Dic 2008||17 Jun 2010||International Business Machines Corporation||Generating Deportment and Comportment Cohorts|
|US20100150457||11 Dic 2008||17 Jun 2010||International Business Machines Corporation||Identifying and Generating Color and Texture Video Cohorts Based on Video Input|
|US20100150458||12 Dic 2008||17 Jun 2010||International Business Machines Corporation||Generating Cohorts Based on Attributes of Objects Identified Using Video Input|
|US20100153133||16 Dic 2008||17 Jun 2010||International Business Machines Corporation||Generating Never-Event Cohorts from Patient Care Data|
|US20100153146||11 Dic 2008||17 Jun 2010||International Business Machines Corporation||Generating Generalized Risk Cohorts|
|US20100153147||12 Dic 2008||17 Jun 2010||International Business Machines Corporation||Generating Specific Risk Cohorts|
|US20100153174||12 Dic 2008||17 Jun 2010||International Business Machines Corporation||Generating Retail Cohorts From Retail Data|
|US20100153180||16 Dic 2008||17 Jun 2010||International Business Machines Corporation||Generating Receptivity Cohorts|
|US20100153353||12 Dic 2008||17 Jun 2010||International Business Machines Corporation||Generating Predilection Cohorts|
|US20100153389||16 Dic 2008||17 Jun 2010||International Business Machines Corporation||Generating Receptivity Scores for Cohorts|
|US20100153390||16 Dic 2008||17 Jun 2010||International Business Machines Corporation||Scoring Deportment and Comportment Cohorts|
|US20100153458||12 Dic 2008||17 Jun 2010||International Business Machines Corporation||Identifying and Generating Sensor and Actuator Cohorts|
|US20100153470||12 Dic 2008||17 Jun 2010||International Business Machines Corporation||Identifying and Generating Biometric Cohorts Based on Biometric Sensor Input|
|US20100153597||15 Dic 2008||17 Jun 2010||International Business Machines Corporation||Generating Furtive Glance Cohorts from Video Data|
|US20100177169 *||21 Ene 2010||15 Jul 2010||Google Inc.||Three-dimensional model construction using unstructured pattern|
|US20100207874||30 Oct 2008||19 Ago 2010||Hewlett-Packard Development Company, L.P.||Interactive Display System With Collaborative Gesture Detection|
|KR20080082924A||Título no disponible|
|1||A. Oredsson, "Cognitive Video Surveillance: An ANN/CBR Hybrid Approach", Master of Science in Informatics, Norwegian University of Science and Technology, Submitted Jun. 2007, pp. 1-136.|
|2||B. Welsh et al., "Effects of Improved Street Lighting on Crime," Sep. 24, 2008, Campbell Systematic Reviews. The Campbell Collaboration, pp. 1-54.|
|3||Brown et al., "IBM Smart Surveillance System (S3): An Open and Extendible Architecture for Smart Video Surveillance", Retrieved on Jan. 12, 2009, pp. 1-4.|
|4||C. Larson et al., "The Shape of Threat: Simple Geometric Forms Evoke Rapid and Sustained Capture of Attention", Emotion 2007, vol. 7, No. 3, pp. 526-534.|
|5||Girgensohn et al., "Determining Activity Patterns in Retail Spaces Through Video Analysis," MM'08, Oct. 26-31, 2008.|
|6||Graham Center One-Pager, Types of Medical Errors Commonly Reported by Family Physicians, AM FAM Physician, Feb. 2003.|
|7||Gulas et al., "Right Under Our Noses: Ambient Scent and Consumer Responses," Journal of Business and Psychology, Fall 1995.|
|8||J. Davis et al., "An Adaptive Focus-Of-Attention Model for Video Surveillance and Monitoring", Machine Vision and Application 18, 2007, pp. 41-64.|
|9||Knowledge@Wharton, Tag Team, "Tracking the Pattern of Supermarket Shoppers," Published Jun. 1, 2005.|
|10||L. Herbert, "Othello Error: Facial Profiling, Privacy, and the Suppression of Dissent", Ohio State Journal of Criminal Law, vol. 5, 2007, pp. 79-129.|
|11||Lymberopoulos et al., "An Easy-To-Program Sensor System for Parsing Out Human Activities," Embedded Networks and Application Lab, Enalab, Yale University, New Haven, CT, 2008, pp. 1-17.|
|12||M. Bitner, "The Impact of Physical Surroundings on Customer and Employees," Journal of Marketing, Apr. 1992.|
|13||M. Borg et al., "Video Surveillance for Aircraft Activity Monitoring", IEEE Conference on Advanced Video and Signal Based Surveillance, 2005, pp. 16-21.|
|14||N. Siebel et al., "The Advisor Visual Surveillance System", Applications of Computer Vision '04, Prague, May 16, 2004, pp. 103-111.|
|15||U.S. Appl. No. 12/275,830-Non-Final Office Action Mailed Dec. 14, 2011.|
|16||U.S. Appl. No. 12/275,830—Non-Final Office Action Mailed Dec. 14, 2011.|
|17||U.S. Appl. No. 12/275,830-Notice of Allowance Mailed Jun. 25, 2012.|
|18||U.S. Appl. No. 12/275,830—Notice of Allowance Mailed Jun. 25, 2012.|
|19||U.S. Appl. No. 12/277,122-Non-Final Office Action Mailed May 10, 2011.|
|20||U.S. Appl. No. 12/277,122—Non-Final Office Action Mailed May 10, 2011.|
|21||U.S. Appl. No. 12/333,256-Examiner's Answer Mailed Jan. 9, 2014.|
|22||U.S. Appl. No. 12/333,256—Examiner's Answer Mailed Jan. 9, 2014.|
|23||U.S. Appl. No. 12/333,256-Final Office Action Mailed Jun. 26, 2013.|
|24||U.S. Appl. No. 12/333,256—Final Office Action Mailed Jun. 26, 2013.|
|25||U.S. Appl. No. 12/333,256-Non-Final Office Action Mailed Feb. 14, 2013.|
|26||U.S. Appl. No. 12/333,256—Non-Final Office Action Mailed Feb. 14, 2013.|
|27||U.S. Appl. No. 12/333,256-Non-Final Office Action Mailed May 23, 2011.|
|28||U.S. Appl. No. 12/333,256—Non-Final Office Action Mailed May 23, 2011.|
|29||U.S. Appl. No. 12/333,273-Final Office Action Mailed May 23, 2012, pp. 1-12.|
|30||U.S. Appl. No. 12/333,273—Final Office Action Mailed May 23, 2012, pp. 1-12.|
|31||U.S. Appl. No. 12/333,273-Non-Final Office Action Mailed Jan. 31, 2013.|
|32||U.S. Appl. No. 12/333,273—Non-Final Office Action Mailed Jan. 31, 2013.|
|33||U.S. Appl. No. 12/333,273-Non-Final Office Action Mailed Sep. 30, 2011.|
|34||U.S. Appl. No. 12/333,273—Non-Final Office Action Mailed Sep. 30, 2011.|
|35||U.S. Appl. No. 12/333,273-Notice of Allowance Mailed Aug. 2, 2013.|
|36||U.S. Appl. No. 12/333,273—Notice of Allowance Mailed Aug. 2, 2013.|
|37||U.S. Appl. No. 12/333,311-Final Office Action Mailed Aug. 18, 2011.|
|38||U.S. Appl. No. 12/333,311—Final Office Action Mailed Aug. 18, 2011.|
|39||U.S. Appl. No. 12/333,311-Final Office Action Mailed Jun. 1, 2012.|
|40||U.S. Appl. No. 12/333,311—Final Office Action Mailed Jun. 1, 2012.|
|41||U.S. Appl. No. 12/333,311-Final Office Action Mailed Mar. 17, 2014.|
|42||U.S. Appl. No. 12/333,311—Final Office Action Mailed Mar. 17, 2014.|
|43||U.S. Appl. No. 12/333,311-Non-Final Office Action Mailed Feb. 28, 2011.|
|44||U.S. Appl. No. 12/333,311—Non-Final Office Action Mailed Feb. 28, 2011.|
|45||U.S. Appl. No. 12/333,311-Non-Final Office Action Mailed Jan. 24, 2012.|
|46||U.S. Appl. No. 12/333,311—Non-Final Office Action Mailed Jan. 24, 2012.|
|47||U.S. Appl. No. 12/333,311-Non-Final Office Action Mailed Oct. 1, 2013.|
|48||U.S. Appl. No. 12/333,311—Non-Final Office Action Mailed Oct. 1, 2013.|
|49||U.S. Appl. No. 12/333,316-Non-Final Office Action Mailed Sep. 6, 2011.|
|50||U.S. Appl. No. 12/333,316—Non-Final Office Action Mailed Sep. 6, 2011.|
|51||U.S. Appl. No. 12/333,319-Final Office Action Mailed Feb. 1, 2012.|
|52||U.S. Appl. No. 12/333,319—Final Office Action Mailed Feb. 1, 2012.|
|53||U.S. Appl. No. 12/333,319-Non-Final Office Action Mailed Jun. 21, 2011.|
|54||U.S. Appl. No. 12/333,319—Non-Final Office Action Mailed Jun. 21, 2011.|
|55||U.S. Appl. No. 12/333,321-Examiner's Answer Mailed Sep. 25, 2013.|
|56||U.S. Appl. No. 12/333,321—Examiner's Answer Mailed Sep. 25, 2013.|
|57||U.S. Appl. No. 12/333,321-Final Office Action Mailed Jun. 3, 2013.|
|58||U.S. Appl. No. 12/333,321—Final Office Action Mailed Jun. 3, 2013.|
|59||U.S. Appl. No. 12/333,321-Non-Final Office Action Mailed Dec. 19, 2012.|
|60||U.S. Appl. No. 12/333,321—Non-Final Office Action Mailed Dec. 19, 2012.|
|61||U.S. Appl. No. 12/333,321-Non-Final Office Action Mailed May 23, 2011.|
|62||U.S. Appl. No. 12/333,321—Non-Final Office Action Mailed May 23, 2011.|
|63||U.S. Appl. No. 12/333,323-Notice of Allowance Mailed Nov. 15, 2011.|
|64||U.S. Appl. No. 12/333,323—Notice of Allowance Mailed Nov. 15, 2011.|
|65||U.S. Appl. No. 12/333,326-Non-Final Office Action Mailed May 16, 2012, pp. 1-12.|
|66||U.S. Appl. No. 12/333,326—Non-Final Office Action Mailed May 16, 2012, pp. 1-12.|
|67||U.S. Appl. No. 12/335,521-Examiner's Answer Mailed Apr. 25, 2012, pp. 1-9.|
|68||U.S. Appl. No. 12/335,521—Examiner's Answer Mailed Apr. 25, 2012, pp. 1-9.|
|69||U.S. Appl. No. 12/335,521-Final Office Action Mailed Dec. 30, 2011.|
|70||U.S. Appl. No. 12/335,521—Final Office Action Mailed Dec. 30, 2011.|
|71||U.S. Appl. No. 12/335,521-Non-Final Office Action Mailed Jun. 27, 2011.|
|72||U.S. Appl. No. 12/335,521—Non-Final Office Action Mailed Jun. 27, 2011.|
|73||U.S. Appl. No. 12/335,731-Non-Final Office Action Mailed Oct. 26, 2011.|
|74||U.S. Appl. No. 12/335,731—Non-Final Office Action Mailed Oct. 26, 2011.|
|75||U.S. Appl. No. 12/335,857-Examiner's Answer Mailed Mar. 15, 2012, pp. 1-17.|
|76||U.S. Appl. No. 12/335,857—Examiner's Answer Mailed Mar. 15, 2012, pp. 1-17.|
|77||U.S. Appl. No. 12/335,857-Final Office Action Mailed Oct. 13, 2011.|
|78||U.S. Appl. No. 12/335,857—Final Office Action Mailed Oct. 13, 2011.|
|79||U.S. Appl. No. 12/335,857-Non-Final Office Action Mailed Feb. 3, 2011.|
|80||U.S. Appl. No. 12/335,857—Non-Final Office Action Mailed Feb. 3, 2011.|
|81||U.S. Appl. No. 12/336,440-Examiner's Answer Mailed Nov. 23, 2012.|
|82||U.S. Appl. No. 12/336,440—Examiner's Answer Mailed Nov. 23, 2012.|
|83||U.S. Appl. No. 12/336,440-Final Office Action Mailed Feb. 27, 2012.|
|84||U.S. Appl. No. 12/336,440—Final Office Action Mailed Feb. 27, 2012.|
|85||U.S. Appl. No. 12/336,440-Non-Final Office Action Mailed Jul. 21, 2011.|
|86||U.S. Appl. No. 12/336,440—Non-Final Office Action Mailed Jul. 21, 2011.|
|87||U.S. Appl. No. 12/336,471-Non-Final Office Action Mailed Nov. 17, 2011.|
|88||U.S. Appl. No. 12/336,471—Non-Final Office Action Mailed Nov. 17, 2011.|
|89||U.S. Appl. No. 12/336,471-Notice of Allowance Mailed Mar. 21, 2013.|
|90||U.S. Appl. No. 12/336,471—Notice of Allowance Mailed Mar. 21, 2013.|
|91||U.S. Appl. No. 12/336,488-Examiner's Answer Mailed Oct. 25, 2012.|
|92||U.S. Appl. No. 12/336,488—Examiner's Answer Mailed Oct. 25, 2012.|
|93||U.S. Appl. No. 12/336,488-Final Office Action Mailed Mar. 9, 2012, pp. 1-24.|
|94||U.S. Appl. No. 12/336,488—Final Office Action Mailed Mar. 9, 2012, pp. 1-24.|
|95||U.S. Appl. No. 12/336,488-Non-Final Office Action Mailed Sep. 15, 2011.|
|96||U.S. Appl. No. 12/336,488—Non-Final Office Action Mailed Sep. 15, 2011.|
|97||U.S. Appl. No. 13/370,811-Non-Final Office Action Mailed Jan. 16, 2014.|
|98||U.S. Appl. No. 13/370,811—Non-Final Office Action Mailed Jan. 16, 2014.|
|99||U.S. Appl. No. 13/370,811-Specification Filed Feb. 10, 2012.|
|100||U.S. Appl. No. 13/370,811—Specification Filed Feb. 10, 2012.|
|101||U.S. Appl. No. 13/402,586-Specification Filed Feb. 22, 2012.|
|102||U.S. Appl. No. 13/402,586—Specification Filed Feb. 22, 2012.|
|103||U.S. Appl. No. 13/605,248-Final Office Action Mailed Apr. 26, 2013.|
|104||U.S. Appl. No. 13/605,248—Final Office Action Mailed Apr. 26, 2013.|
|105||U.S. Appl. No. 13/605,248-Notice of Allowance Mailed Aug. 26, 2013.|
|106||U.S. Appl. No. 13/605,248—Notice of Allowance Mailed Aug. 26, 2013.|
|107||Y. Matsushita et al., "Illumination Normalization With Time-Dependent Intrinsic Images for Video Surveillance", IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 26, Issue 10, Oct. 2004, pp. 1336-1347.|
|108||Yalch et al., "The Effects of Music in a Retail Setting on Real and Perceived Shopping Times," Journal of Business Research 49, pp. 139-147, 2000.|
|Clasificación de EE.UU.||345/582, 382/173, 348/170, 348/148, 382/115, 345/583, 345/581, 345/586, 382/224, 345/584, 348/166, 382/103, 348/134, 382/111|
|Clasificación cooperativa||G06K9/4661, G06K9/4652|
|30 Oct 2013||AS||Assignment|
Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:ANGELL, ROBERT L.;BORGER, SERGIO;FRIEDLANDER, ROBERT R.;AND OTHERS;SIGNING DATES FROM 20131016 TO 20131021;REEL/FRAME:031511/0969