Systems and methods for boil detection
First Claim
1. A system for detecting a boiling event at a cooktop, the system comprising:
- a vision sensor positioned so as to collect imagery depicting the cooktop;
one or more processors; and
one or more non-transitory computer-readable media storing instructions that, when executed by the one or more processors, cause the one or more processors to perform operations, the operations comprising;
obtaining a first frame of imagery and a second frame of imagery from the vision sensor, wherein the first frame of imagery and the second frame of imagery respectively depict the cooktop;
identifying a first plurality of motion vectors based on the first and second frames of imagery, wherein each of the first plurality of motion vectors describes a change in position of one or more pixels from the first frame of imagery to the second frame of imagery;
generating a motion vector orientation histogram that describes a first distribution of orientations associated with the first plurality of motion vectors;
calculating a first dissimilarity score for the motion vector orientation histogram, wherein the first dissimilarity score describes a first difference between the motion vector orientation histogram and a first pre-learned histogram, wherein the first pre-learned histogram describes a second distribution of orientations associated with a second plurality of motion vectors identified from imagery depicting boiling liquid, and wherein the second distribution of orientations indicates that the second plurality of motion vectors identified from the imagery depicting the boiling liquid have orientations distributed in a relatively uniform manner;
generating a motion vector magnitude histogram that describes a first distribution of magnitudes associated with the first plurality of motion vectors;
calculating a second dissimilarity score for the motion vector magnitude histogram, wherein the second dissimilarity score describes a second difference between the motion vector magnitude histogram and a second pre-learned histogram, wherein the second pre-learned histogram describes a second distribution of magnitudes associated with the second plurality of motion vectors identified from the imagery depicting the boiling liquid, and wherein the second distribution of magnitudes indicates that a relatively large number of the second plurality of motion vectors identified from the imagery depicting the boiling liquid are clustered about a particular magnitude having a relatively small value; and
determining whether a boiling event is occurring at the cooktop based at least in part on the first dissimilarity score and based at least in part on the second dissimilarity score.
2 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods for boil detection are provided. One example system includes a vision sensor positioned to collect imagery depicting the cooktop and one or more processors implementing instructions to perform operations. The operations include obtaining a first frame of imagery and a second frame of imagery from the vision sensor. The first frame of imagery and the second frame of imagery respectively depict the cooktop. The operations include identifying a plurality of motion vectors based on the first and second frames of imagery. The operations include generating a histogram describing a characteristic of the plurality of motion vectors. The operations include calculating a dissimilarity score. The dissimilarity score describes a difference between the histogram and a pre-learned histogram. The pre-learned histogram describes the characteristic for imagery depicting boiling liquid. The operations include determining whether a boiling event is occurring at the cooktop based at least in part on the dissimilarity score.
14 Citations
18 Claims
-
1. A system for detecting a boiling event at a cooktop, the system comprising:
-
a vision sensor positioned so as to collect imagery depicting the cooktop; one or more processors; and one or more non-transitory computer-readable media storing instructions that, when executed by the one or more processors, cause the one or more processors to perform operations, the operations comprising; obtaining a first frame of imagery and a second frame of imagery from the vision sensor, wherein the first frame of imagery and the second frame of imagery respectively depict the cooktop; identifying a first plurality of motion vectors based on the first and second frames of imagery, wherein each of the first plurality of motion vectors describes a change in position of one or more pixels from the first frame of imagery to the second frame of imagery; generating a motion vector orientation histogram that describes a first distribution of orientations associated with the first plurality of motion vectors; calculating a first dissimilarity score for the motion vector orientation histogram, wherein the first dissimilarity score describes a first difference between the motion vector orientation histogram and a first pre-learned histogram, wherein the first pre-learned histogram describes a second distribution of orientations associated with a second plurality of motion vectors identified from imagery depicting boiling liquid, and wherein the second distribution of orientations indicates that the second plurality of motion vectors identified from the imagery depicting the boiling liquid have orientations distributed in a relatively uniform manner; generating a motion vector magnitude histogram that describes a first distribution of magnitudes associated with the first plurality of motion vectors; calculating a second dissimilarity score for the motion vector magnitude histogram, wherein the second dissimilarity score describes a second difference between the motion vector magnitude histogram and a second pre-learned histogram, wherein the second pre-learned histogram describes a second distribution of magnitudes associated with the second plurality of motion vectors identified from the imagery depicting the boiling liquid, and wherein the second distribution of magnitudes indicates that a relatively large number of the second plurality of motion vectors identified from the imagery depicting the boiling liquid are clustered about a particular magnitude having a relatively small value; and determining whether a boiling event is occurring at the cooktop based at least in part on the first dissimilarity score and based at least in part on the second dissimilarity score. - View Dependent Claims (2, 3, 4, 5, 6, 12, 13, 14, 15, 16)
-
-
7. A method for detecting a boiling event at a cooktop, the method comprising:
-
collecting, by a vision sensor, a plurality of frames comprising imagery depicting the cooktop; determining, by one or more computing devices, a plurality of motion vectors for each of the plurality of frames, wherein each motion vector for each frame describes a change in position of one or more pixels included in such frame with respect to a previous sequential frame of the plurality of frames; generating, by the one or more computing devices, a motion vector orientation histogram for each of the plurality of frames, wherein the motion vector orientation histogram for each frame describes a first distribution of orientations associated with the plurality of motion vectors determined for such frame; calculating, by the one or more computing devices a first dissimilarity score for the motion vector orientation histogram of each frame, wherein the first dissimilarity score for each frame describes a first difference between the motion vector orientation histogram for such frame and a first pre-learned histogram, wherein the first pre-learned histogram describes a second distribution of orientation associated with a second plurality of motion vectors identified from imagery depicting a boiling event, and wherein the second distribution of orientations indicates that the second plurality of motion vectors identified from the imagery depicting the event have orientations distributed in a uniform manner; generating, by the one or more computing devices, a motion vector magnitude histogram for each of the plurality of frames, wherein the motion vector magnitude histogram for each frame describes a first distribution of magnitudes associated with the plurality of motion vectors determined for such frame; calculating, by the one or more computing devices, a second dissimilarity score for the motion vector magnitude histogram of each frame, wherein the second dissimilarity score for each frame and a second difference between the motion vector magnitude histogram for such frame and a second pre-learned histogram, wherein the second pre-learned histogram describes a second distribution of magnitudes associated with the second plurality of motion vectors identified from the imagery depicting the boiling event, and wherein the second distribution of magnitudes indicates that a number of the second plurality of motion vectors identified from the imagery depicting the boiling event are clustered about a particular magnitude having a small value; and detecting, by the one or more computing devices, a boiling event at the cooktop based on the first dissimilarity score and the second dissimilarity score calculated for at least one of the plurality of frames. - View Dependent Claims (8, 9, 17, 18)
-
-
10. A non-transitory computer-readable medium storing instructions that, when executed by a processor, cause the processor to perform operations, the operations comprising:
-
obtaining a plurality of frames of imagery from a vision sensor, wherein the plurality of frames of imagery respectively depict a cooktop, and wherein the plurality of frames of imagery form a plurality of pairs of consecutive frames; identifying a plurality of motion vectors for each pair of consecutive frames of imagery; generating, for each pair of consecutive frames of imagery, a motion vector orientation histogram that describes a first distribution of orientations associated with the plurality of motion vectors determined for such pair of consecutive frames; calculating, for each pair of consecutive frames of imagery, a first dissimilarity score for the corresponding motion vector orientation histogram, wherein the first dissimilarity score for each consecutive pair of frames describes a first difference between the motion vector orientation histogram for such pair of consecutive frames and a first pre-learned histogram, wherein the first pre-learned histogram describes a second distribution of orientations associated with a second plurality of motion vectors identified from imagery depicting a boiling event, and wherein the second distribution of orientations indicates that the second plurality of motion vectors identified from the imagery depicting the boiling event have orientations distributed in a uniform manner; generating, for each pair of consecutive frames of imagery, a motion vector magnitude histogram, wherein the motion vector magnitude histogram for each pair of consecutive frames describes a first distribution of magnitudes associated with the plurality of motion vectors determined for such pair of consecutive frames; calculating, for each pair of consecutive frames of imagery, a second dissimilarity score for the corresponding motion vector magnitude histogram, wherein the second dissimilarity score for each pair of consecutive frames describes a second difference between the motion vector magnitude histogram for such pair of consecutive frames and a second pre-learned histogram, wherein the second pre-learned histogram describes a second distribution of magnitudes associated with the second plurality of motion vectors identified from the imagery depicting the boiling event, and wherein the second distribution of magnitudes indicates that a number of the second plurality of motion vectors identified from the imagery depicting the boiling event are clustered about a particular magnitude having a small value; and determining whether a boiling event is occurring at the cooktop based at least in part on the dissimilarity scores respectively calculated for the plurality of pairs of consecutive frames. - View Dependent Claims (11)
-
Specification