WO2018135292A1 - 画像処理プログラム、画像処理方法及び画像処理装置 - Google Patents

画像処理プログラム、画像処理方法及び画像処理装置 Download PDF

Info

Publication number
WO2018135292A1
WO2018135292A1 PCT/JP2017/047209 JP2017047209W WO2018135292A1 WO 2018135292 A1 WO2018135292 A1 WO 2018135292A1 JP 2017047209 W JP2017047209 W JP 2017047209W WO 2018135292 A1 WO2018135292 A1 WO 2018135292A1
Authority
WO
WIPO (PCT)
Prior art keywords
image frame
threshold
head region
threshold value
change amount
Prior art date
Application number
PCT/JP2017/047209
Other languages
English (en)
French (fr)
Inventor
珊珊 于
典弘 覚幸
猛 大谷
Original Assignee
富士通株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 富士通株式会社 filed Critical 富士通株式会社
Publication of WO2018135292A1 publication Critical patent/WO2018135292A1/ja
Priority to US16/444,106 priority Critical patent/US11093735B2/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/161Detection; Localisation; Normalisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person

Definitions

  • the present invention relates to an image processing program, an image processing method, and an image processing apparatus.
  • non-language communication such as gestures and gestures, so-called gestures
  • whispering is a kind of feedback action performed by the listener of the story to the speaker, and is useful for analyzing human emotions and feelings.
  • a technique for quantitatively analyzing the frequency of such whispering there is one that detects whispering from the amount of change in the vertical direction of a face area included in an image.
  • an object of the present invention is to provide an image processing program, an image processing method, and an image processing apparatus that can classify different depths.
  • the image processing program acquires an image frame captured using an imaging device, determines whether the acquired image frame includes a head region, and determines that the head region is included And calculating a first time-series change amount of the head region using the position of the head region in the image frame and the position of the head region included in another image frame following the image frame.
  • a threshold value to be compared with the first change amount is determined based on a time-series change amount frequency distribution of the head region included in the image frame group in the past from the acquired image frame, and the determined threshold value And the first change amount are compared with each other, and the computer is caused to execute a process of evaluating the first change amount.
  • FIG. 1 is a block diagram illustrating a functional configuration of the image processing apparatus according to the first embodiment.
  • FIG. 2 is a diagram illustrating an example of a use case.
  • FIG. 3 is a diagram illustrating an example of a displacement waveform of a corner feature point.
  • FIG. 4 is a diagram illustrating an example of a histogram of the whispering depth.
  • FIG. 5 is a flowchart illustrating a procedure of overall processing according to the first embodiment.
  • FIG. 6 is a flowchart illustrating the procedure of the whirl detection process according to the first embodiment.
  • FIG. 7 is a flowchart illustrating a procedure of threshold value determination processing according to the first embodiment.
  • FIG. 8 is a flowchart illustrating the procedure of the classification process according to the first embodiment.
  • FIG. 1 is a block diagram illustrating a functional configuration of the image processing apparatus according to the first embodiment.
  • FIG. 2 is a diagram illustrating an example of a use case.
  • FIG. 3 is
  • FIG. 9 is a diagram illustrating a configuration example of an image processing system according to the second embodiment.
  • FIG. 10 is a diagram illustrating another example of the use case.
  • FIG. 11 is a block diagram illustrating a functional configuration of the image processing apparatus according to the second embodiment.
  • FIG. 12 is a diagram illustrating an example of a histogram of the whispering depth.
  • FIG. 13 is a diagram illustrating an example of a histogram of the sowing depth.
  • FIG. 14 is a flowchart illustrating a procedure of distance estimation processing according to the second embodiment.
  • FIG. 15 is a flowchart illustrating a procedure of threshold value determination processing according to the second embodiment.
  • FIG. 16 is a flowchart of the threshold value reading process according to the second embodiment.
  • FIG. 17 is a diagram illustrating a hardware configuration example of a computer that executes an image processing program according to the first to third embodiments.
  • FIG. 1 is a block diagram illustrating a functional configuration of the image processing apparatus 10 according to the first embodiment.
  • the image processing apparatus 10 illustrated in FIG. 1 provides an image processing service that detects whispering, which is a kind of feedback operation performed by a listener of a talk to a speaker, from non-verbal communication such as a gesture.
  • the image processing apparatus 10 realizes a shallow whispering and deep whispering classification having different meanings.
  • shallow whisper includes the meaning of the listener encouraging the speaker to understand the previous story
  • deep whisper includes the meaning of the listener affirming and agreeing with the speaker's opinion .
  • FIG. 2 is a diagram illustrating an example of a use case.
  • FIG. 2 shows a scene in which customer whispering detected from an image captured by the imaging device 5 is classified as pre-processing for feeding back to the store clerk the satisfaction level of the customer with respect to the customer service of the store clerk belonging to the sales floor of the apparel shop.
  • an apparel shop sales floor does not necessarily include only one apparel fixture that displays clothes or the like, for example, a glass table or a caster, but may include a plurality of apparel fixtures.
  • the imaging device 5 is installed at a position where more of the plurality of apparel fixtures can be included in the imaging range 5a.
  • the positional relationship between the imaging device 5 and the customer's head, which is the subject is not fixed.
  • the customer service may be performed in a positional relationship where the distance between the imaging device 5 and the customer's head 6a is d1, or the positional relationship between the imaging device 5 and the customer's head 6b is d2. In some cases, customer service is provided. If the positional relationship is different in this way, a difference occurs in the amount of change in the vertical direction of the head appearing in the image frame, even when the same depth of separation is performed. That is, even when the same depth is applied, the vertical variation of the head that appears in the image frame with a close positional relationship is the vertical variation of the head that appears in the image frame with a far positional relationship Bigger than.
  • a threshold value is set so that a whip detected from an image frame with a close positional relationship can be classified into a shallow whip and a deep whisper, even if the whip detected from an image frame with a remote positional relationship is deep This is because the possibility of being misclassified as whisper increases.
  • a threshold value is set so that a whisper detected from an image frame with a distant positional relationship can be classified into a shallow whisper and a deep whisper, even if the whisper detected from the image frame with a close positional relationship is deep This is because the possibility of being misclassified as whisper increases.
  • the image processing apparatus 10 is configured to reduce the depth of the whip detected from the image frame based on the frequency distribution of the depth of the whip detected from the image frame captured by the imaging device 5.
  • Determine the threshold for classifying deeply That is, even when the positional relationship between the imaging device 5 and the customer's head, which is the subject, changes, the frequency distribution of the depth of the whispering is divided into two distributions corresponding to the shallow whispering and the distribution corresponding to the deep whispering. It has a bimodal shape including mountains.
  • a threshold can be determined that can classify shallow and deep whispering.
  • the image processing apparatus 10 shown in FIG. 1 can be implemented as an arbitrary computer such as a personal computer, various portable terminal devices, or a server device. As illustrated in FIG. 1, the image processing apparatus 10 includes an acquisition unit 11, an operation detection unit 13, a threshold value determination unit 15, a threshold value storage unit 17 a, and a classification unit 17.
  • a hardware processor such as a CPU (Central Processing Unit) or an MPU (Micro Processing Unit), such as the acquisition unit 11, the operation detection unit 13, the threshold value determination unit 15, and the classification unit 17. That is, the functional unit is virtually realized when the processor develops an image processing program for realizing the image processing service on a memory such as a RAM (Random Access Memory) as a process.
  • the CPU and the MPU are illustrated as examples of the processor, but the above-described functional unit may be realized by an arbitrary processor regardless of a general-purpose type or a specialized type.
  • the above-described functional unit may be realized by hard wired logic such as ASIC (Application Specific Integrated Circuit) or FPGA (Field Programmable Gate Array).
  • the work area used by the above-described functional unit includes, as an example, various semiconductor memory elements such as RAM (Random Access Memory), flash memory, or one of the storage areas thereof. Part can be adopted.
  • the main storage device is not necessarily used, and an auxiliary storage device such as an HDD (Hard Disk Drive), an optical disk, or an SSD (Solid State Drive) may be employed.
  • FIG. 1 shows the above-described functional units and solid lines representing the input / output relationship of data with respect to the above-described functional units.
  • the image processing apparatus 10 may include other functional units other than the above functional units.
  • the image processing apparatus 10 can have a communication interface for connecting the image processing apparatus 10 and other apparatuses, for example, an interface for connecting to a network.
  • the data input / output relationship shown in FIG. 1 indicates that data is transmitted from at least one to the other, and it is not always necessary to exchange data in both directions.
  • the acquisition unit 11 is a processing unit that acquires image frames.
  • the acquisition unit 11 can acquire an image frame captured by the imaging device 5.
  • the acquisition unit 11 can also acquire an image frame from an auxiliary storage device such as a hard disk or an optical disk that stores a series of image frames, or a removable medium such as a memory card or a USB (Universal Serial Bus) memory.
  • the acquisition unit 11 can also acquire an image frame by receiving it from an external device via a network.
  • a path through which the image processing apparatus 10 acquires an image may be an arbitrary path such as the imaging apparatus 5, a network, or a recording medium, and is not limited to a specific path. Thereafter, the acquisition unit 11 inputs an image frame acquired through an arbitrary route to a subsequent function unit, that is, the operation detection unit 13.
  • the motion detection unit 13 is a processing unit that detects a gesture or gesture of a person, a so-called gesture, from an image. Here, a case where a whisper is detected as one type of operation is illustrated.
  • the motion detection unit 13 includes a head detection unit 13a, a feature point detection unit 13b, a feature point tracking unit 13c, and a motion determination unit 13d.
  • the motion detection unit 13 is an example of a determination unit and a calculation unit.
  • the head detection unit 13a is a processing unit that performs head detection.
  • head detection may be used instead of face detection. It is also possible to adaptively switch between face detection and head detection. For example, when a face area cannot be detected by face detection, the head area may be detected by head detection. Then, when the head region cannot be detected by the head detection, it is possible to stop the subsequent processing assuming that the head is not included in the image frame.
  • the head detection unit 13 a detects a face area from the image frame acquired by the acquisition unit 11.
  • a face detection algorithm proposed by Jones et al. That is, according to a learning algorithm such as AdaBoost, a learning sample of a positive sample whose face is included in the image and a negative sample whose face is not included in the image is learned.
  • AdaBoost a learning algorithm
  • weak identification that identifies a face or a non-face from a rectangular pattern of Haar-like features calculated within a window of a predetermined size that scans the input image, for example, 24 pixels x 24 pixels or 64 pixels x 64 pixels
  • the weight given to the weak classifier is updated for each unit over a predetermined number of rounds.
  • a strong classifier for identifying whether the face is a face or a non-face is generated by the weighted majority vote of the weak classifier.
  • the head detection unit 13 a scans the image or an integrated image thereof with a strong classifier window. Thereby, the head detecting unit 13a extracts a window in which a face is detected by the strong classifier as a face region.
  • the employee card carried by the shop clerk is used as the shop clerk's marker, and the same as the object without the marker in the face area extracted from the image frame It is also added that processing for extracting and extracting the face area belonging to the object with the label can be added.
  • face detection is performed by other methods such as a method of detecting a face region by focusing on face parts such as eyes, nose, and mouth. It doesn't matter.
  • the feature point detection unit 13b is a processing unit that detects feature points from the face area. Here, a case where feature points are detected from the face region is illustrated, but it goes without saying that feature points can be detected from the head region.
  • the feature point detection unit 13b detects a corner of a face part as a feature point from the face area detected by the head detection unit 13a.
  • the feature point detection algorithm proposed by C. Harris and M. Stephens in the following document can be used for such feature point detection.
  • an arbitrary method such as feature point detection of FAST (Features from Accelerated Segment Test) can be adopted.
  • FAST Features from Accelerated Segment Test
  • a corner of a face part may be referred to as a “corner feature point”.
  • the feature point tracking unit 13c is a processing unit that tracks the feature points of the face area between image frames.
  • the feature point tracking unit 13c includes an image frame N in which corner feature points are detected by the feature point detection unit 13b, and an image frame N-1 that is an image of the previous frame, for example, the previous frame.
  • the movement vector of the corner feature point is calculated between
  • the feature point tracking is performed by calculating the feature point movement vector of the face area.
  • the feature point tracking is realized by calculating the feature point movement vector of the head area. It doesn't matter as you do.
  • the motion determination unit 13d is a processing unit that determines whether or not a predetermined operation has been performed from time-series data of vertical displacements of feature points measured retrospectively from past image frames.
  • the motion determination unit 13d each time the feature point tracking unit 13c estimates the movement vector (u, v) of the corner feature point, the motion determination unit 13d accumulates and adds the vertical component v of the movement vector.
  • the vertical component v of the movement vector corresponds to the amount of change in which the corner feature point changes in the vertical direction between the image frame acquired by the acquisition unit 11 and the previous image frame. Therefore, by accumulating and adding the vertical component v of the movement vector for each image frame, the corner feature from the corner feature point detected in the image frame where the face area is first detected is used as a reference.
  • the vertical displacement of the points is calculated for each image frame.
  • the time-series data of the vertical displacement related to the corner feature points included in the face area is referred to as “displacement waveform”.
  • the motion determination unit 13d calculates the past from the current image frame. It is determined whether the displacement waveform of the corner feature point obtained by going back to the image frame includes a movement operation, for example, an operation of raising the head after lowering the head.
  • the motion determination unit 13d determines whether or not the displacement of the corner feature point in the current image frame is a minimum value.
  • a zero cross method can be used for the determination of the minimum value. That is, by determining whether the displacement of the corner feature point in the current image frame is the zero cross point of the differential waveform of the displacement waveform and the minimum value between the zero cross point and the previous zero cross point, It is possible to identify whether or not the displacement of the corner feature point in the image frame is a minimum value.
  • the motion determination unit 13d determines whether or not the transition of the displacement waveform of the corner feature point is in the order of the minimum value, the maximum value, and the minimum value in time series. To do.
  • the motion determination unit 13d extracts a partial waveform corresponding to the whirling motion from the displacement waveform of the corner feature point, that is, a waveform of a section where the extreme value transitions in the order of the minimum value, the maximum value, and the minimum value.
  • a partial waveform corresponding to the whirling operation extracted from the displacement waveform of the corner feature point may be referred to as “whipping waveform”.
  • the motion determination unit 13d stores the whirling waveform extracted from the displacement waveform in a work area of an internal memory (not shown).
  • a work area of an internal memory not shown.
  • FIG. 3 is a diagram illustrating an example of a displacement waveform of a corner feature point.
  • FIG. 3 shows the displacement waveform of the corner feature point calculated in the image coordinate system with the upper left vertex of the image frame as the origin. In this image coordinate system, the downward change amount in the vertical direction is measured as positive, while the upward change amount in the vertical direction is measured as negative.
  • shaft shown in FIG. 3 shows the displacement of the perpendicular direction of a corner feature point. Further, the horizontal axis shown in FIG. 3 indicates time t.
  • whispering waveforms W1 to W8 are extracted from the displacement waveform.
  • the whirling waveform W1 is extracted from the displacement waveform of the corner feature point.
  • the transition of the minimum value m2, the maximum value M2, and the minimum value m3 is detected when the minimum value m3 is detected.
  • the whirling waveform W2 is extracted from the displacement waveform of the corner feature point.
  • the threshold value determination unit 15 is a processing unit that determines a threshold value for classifying the separation depth, which is the peak of the separation waveform.
  • the threshold determination unit 15 includes a depth calculation unit 15a, a distribution update unit 15b, a threshold calculation unit 15c, and an update suitability determination unit 15d.
  • the depth calculation unit 15a is a processing unit that calculates the winding depth that is the peak of the winding waveform.
  • the depth calculation unit 15a determines whether or not it is a threshold update timing.
  • the threshold update timing when the above threshold value is not set, that is, when the threshold value is a NULL value, the face area is detected from a state in which the face area is not detected by the head detection unit 13a. The case where it transfers to a state is mentioned.
  • the depth calculation unit 15a starts measuring the number of frames that have elapsed since the threshold value calculation was started. That is, the depth calculation unit 15a initializes a register holding the measurement frame number FrNum to zero, and increments the value of the measurement frame number FrNum by one every time an image frame is acquired thereafter.
  • the depth calculation unit 15a calculates the peak of the whirling waveform saved in the work area of the internal memory by the motion determination unit 13d as the whirling depth d.
  • the peak of the whirling waveform W1 is calculated as the whirling depth d1.
  • the winding depth d2 to the winding depth d8 are calculated from the winding waveform W2 to the winding waveform W8.
  • the calculation of the punching depth d is not necessarily performed every frame, and the splitting waveform is not stored in the work area of the internal memory in the image frame in which the punching waveform is not extracted by the motion determination unit 13d. The calculation of the length d is skipped.
  • the distribution updating unit 15b is a processing unit that updates the histogram of the whispering depth.
  • the “histogram” here refers to, as an example, a so-called frequency distribution in which the depth is a class and the frequency is a frequency.
  • the distribution update unit 15b updates the histogram H1 of the punching depth stored in the work area of the internal memory every time the punching depth d calculated by the depth calculator 15a is calculated. That is, the distribution update unit 15b increments the frequency corresponding to the depth d calculated by the depth calculation unit 15a among the frequencies of the histogram H1 of the depth stored in the work area of the internal memory. Then, the histogram H1 of the whirling depth is updated.
  • the threshold value calculation unit 15c is a processing unit that calculates the above threshold value.
  • the threshold value calculation unit 15c determines whether or not the number of measurement frames FrNum held in the register is smaller than the specified frame number Fr, that is, whether or not FrNum ⁇ Fr.
  • the threshold value calculation unit 15c calculates a threshold value for classifying the separation depth based on the distribution depth histogram H1.
  • FIG. 4 is a diagram illustrating an example of a histogram H1 of the depth of separation. The vertical axis shown in FIG. 4 indicates the frequency. Moreover, the horizontal axis shown in FIG.
  • the histogram H ⁇ b> 1 of the sowing depth has a shape having a bimodality including two peaks, a distribution corresponding to shallow sowing and a distribution corresponding to deep sowing.
  • This characteristic appears regardless of the positional relationship between the imaging device 5 and the customer's head, which is the subject.
  • the threshold value calculation unit 15c uses a mode method or the like to calculate a threshold value that can separate two peaks, for example, the depth of the separation at the minimum value of the valley formed between the two peaks as the threshold value Th1. .
  • the example in which the threshold Th1 is set as the threshold depth Th1 in the minimum value of the valley formed between the two peaks of the histogram is not necessarily a minimum value.
  • the threshold depth Th ⁇ b> 1 can be set to a depth within a predetermined range from the minimum value of the valley.
  • the update suitability determination unit 15d is a processing unit that determines whether or not the threshold stored in the threshold storage unit 17a is updated to the threshold calculated by the threshold calculation unit 15c.
  • the threshold stored in the threshold storage unit 17a may be identified as “threshold Th0”
  • the threshold calculated by the threshold calculation unit 15c may be identified as “threshold Th1”.
  • the update suitability determination unit 15d determines whether or not the threshold value Th0 is registered in the threshold value storage unit 17a, in other words, the value of the threshold value Th0 is not a NULL value. It is determined whether or not. At this time, if the threshold value Th0 is not registered in the threshold value storage unit 17a, it is understood that it is not necessary to determine whether or not the threshold value is updated. In this case, the update suitability determination unit 15d performs an update by overwriting the threshold Th0 stored in the threshold storage unit 17a with the threshold Th1 calculated by the threshold calculation unit 15c.
  • the update suitability determination unit 15d sets the first peak for each histogram H0 used for calculating the threshold Th0 and for each histogram H1 used for calculating the threshold Th1.
  • a difference for example, an absolute value, between the corresponding punching depth and the punching depth corresponding to the second peak is calculated.
  • illustration is omitted, also in the case of the histogram H0 of the punching depth, the difference between the punching depths of the first peak and the second peak can be calculated in the same manner as the histogram H1 of the punching depth.
  • the update suitability determination unit 15d determines the difference between the first peak and the second peak in the whirling depth histogram H0 and the first and second peak in the whirling depth histogram H1. It is determined whether the gap with the difference is greater than or equal to a predetermined value.
  • these gaps are greater than or equal to a predetermined value, there is a high possibility that the person included in the image frame when the threshold value Th0 is registered and the person included in the image frame when the threshold value Th1 is registered are not the same person. . In this case, there is a higher possibility that it is not possible to correctly classify the whispering by using the threshold value Th0. Therefore, there is a higher possibility that it is better to overwrite the threshold value Th1 with the threshold value Th0.
  • the update suitability determination unit 15d further performs a comparison between the area of the histogram H0 of the punching depth and the area of the histogram H1 of the punching depth. That is, the update suitability determination unit 15d determines whether or not the area of the histogram H1 of the depth of separation is larger than the addition value obtained by adding the predetermined area ⁇ to the area of the histogram H0 of the depth of separation, that is, the area of H1> H0. It is determined whether or not the area is + ⁇ .
  • the update suitability determination unit 15d performs an update by overwriting the threshold Th0 stored in the threshold storage unit 17a with the threshold Th1 calculated by the threshold calculation unit 15c.
  • the threshold Th0 is registered. At that time, there remains room for the person included in the image frame to be the same person as the person included in the image frame when the threshold Th1 is registered. In this case, overwriting update is not performed. Note that, here, the case where the suitability of threshold update is determined has been exemplified, but overwriting update may be performed unconditionally.
  • the classification unit 17 is a processing unit that classifies the whispering operation according to the whispering depth.
  • the classification unit 17 is an example of an evaluation unit.
  • the classification unit 17 reads the threshold Th0 stored in the threshold storage unit 17a when it is not the threshold update timing. Subsequently, the classification unit 17 calculates the peak of the whirling waveform saved in the work area of the internal memory by the motion determination unit 13d as the whispering depth d. The calculation of the cutting depth d can be realized by the same procedure as that of the depth calculation unit 15a. Then, the classification unit 17 determines whether or not the separation depth d is greater than or equal to the threshold Th0, that is, whether d ⁇ Th0. At this time, when the separation depth d is equal to or greater than the threshold Th0, the classification unit 17 The whispering operation for which the whispering depth d is calculated is classified as “deep whispering”.
  • the classification unit 17 classifies the whispering operation for which the whispering depth d is calculated as “shallow whispering”. As a result, it is possible to realize the classification of different depths. Furthermore, even when the positional relationship between the imaging device 5 and the subject is not fixed, it is possible to suppress a decrease in classification accuracy.
  • Such a classification result can be output to a predetermined output destination. For example, an application program for calculating customer satisfaction can be output. In this case, the customer satisfaction degree is calculated using at least one of the number of times of deep whispering and the number of times of shallow whispering. The customer satisfaction can be fed back to the store clerk to help improve the quality of customer service. Note that the above application program may operate on the image processing apparatus 10 or may operate on an external device connected to the image processing apparatus 10.
  • FIG. 5 is a flowchart illustrating a procedure of overall processing according to the first embodiment. As an example, this process is repeatedly executed while an image frame is supplied from the imaging device 5. As illustrated in FIG. 5, when an image frame is acquired by the acquisition unit 11 (step S101), the motion detection unit 13 detects a whirling motion from a series of image frames that go back from the image frame acquired in step S101. The “blow detection process” is executed (step S102).
  • the threshold determination unit 15 determines whether or not it is a threshold update timing (step S103). For example, the threshold value determination unit 15 determines whether or not any of the conditions such as whether the threshold value Th0 has not been set or whether the face area has been detected and the face area has been detected has been detected. To do. At this time, when it is not the threshold update timing (No in step S103), the threshold determination unit 15 determines whether or not the threshold is being updated, for example, whether or not the specified frame Fr is being measured with the number of measurement frames FrNum. Determination is made (step S104).
  • Step S105 the process proceeds to Step S101.
  • the classification unit 17 reads the threshold Th0 stored in the threshold storage unit 17a (Step S106). Then, the classification unit 17 executes a classification process for classifying the whispering operation into a deep whispering or a shallow whispering (step S107), and proceeds to the process of step S101.
  • FIG. 6 is a flowchart illustrating the whispering detection process according to the first embodiment. This process corresponds to the process in step S102 shown in FIG.
  • the head detection unit 13a detects a face area from the image frame N acquired in step S101 (step S301). Subsequently, the feature point detector 13b detects a corner feature point of the face from the face area detected in step S301 (step S302).
  • the feature point tracking unit 13c performs the corner feature between the image frame N in which the corner feature point is detected in step S302 and the image frame N-1 that is an image of the previous frame, for example, the previous frame.
  • a point movement vector is calculated (step S303).
  • the motion determination unit 13d further accumulates and adds the vertical component v of the corner feature point movement vector calculated in step S303 to the cumulative addition value thus far (step S30). 4). Thereby, the vertical displacement of the corner feature point in the current image frame, that is, the latest frame in which the image is acquired in step S101 is calculated.
  • the motion determination unit 13d determines whether or not a motion of the corner feature point obtained from the current image frame to the past image frame is included, for example, a motion of raising the head after being lowered. (Step S305).
  • the motion determining unit 13d extracts a partial waveform corresponding to the whirling motion from the displacement waveform of the corner feature point as a whispering waveform, and then stores the whispering waveform in the internal memory. Are stored in the work area (step S306), and the process is terminated. If no whispering operation is detected (No at step S305), the process at step S306 is skipped and the process is terminated.
  • FIG. 7 is a flowchart illustrating the procedure of the threshold determination process according to the first embodiment. This process corresponds to the process of step S105 shown in FIG.
  • the depth calculation unit 15a updates the number of measurement frames FrNum held in the register (step S501). For example, at the timing when the update of the threshold is started, the value of the number of measurement frames FrNum held in the register is initialized. When the threshold value is being updated, the value of the measurement frame number FrNum held in the register is incremented by one.
  • step S502 calculates the peak of the whirling waveform saved in the work area of the internal memory by the motion determining unit 13d as the whispering depth d (step S502). Note that the processing in step S502 is not necessarily executed over every frame. That is, when the process of step S306 shown in FIG. 6 is skipped, the winding waveform is not saved in the work area of the internal memory, so the process of step S502 is skipped.
  • the distribution updating unit 15b increments the frequency corresponding to the depth d calculated in step S502 out of the frequencies in the histogram H1 of the depth stored in the work area of the internal memory.
  • the histogram H1 is updated (step S503).
  • the threshold value calculation unit 15c determines whether or not the number of measurement frames FrNum held in the register is smaller than the specified frame number Fr, that is, whether or not FrNum ⁇ Fr (Step S504).
  • the subsequent processing is skipped and the processing ends.
  • the threshold value calculation unit 15c detects the first peak and the second peak included in the histogram H1 of the separation depth (Step S505).
  • the threshold value calculation unit 15c is capable of separating the two peaks of the first peak and the second peak according to the mode method or the like, for example, in the minimum value of the valley formed between the two peaks.
  • the depth is calculated as the threshold Th1 (step S506).
  • the update suitability determination unit 15d determines whether or not the threshold value Th0 is registered in the threshold value storage unit 17a, in other words, whether or not the value of the threshold value Th0 is not a NULL value (step S507).
  • the update suitability determination unit 15d determines the histogram H0 used for calculating the threshold Th0 and the histogram H1 used for calculating the threshold Th1. Then, the difference between the punching depth corresponding to the first peak and the punching depth corresponding to the second peak is calculated (step S508).
  • the update suitability determination unit 15d determines the difference between the first peak and the second peak in the whirling depth histogram H0 and the first and second peak in the whirling depth histogram H1. It is determined whether or not the gap with the difference is equal to or greater than a predetermined value (step S509).
  • the update suitability determination unit 15d further performs comparison between the area of the histogram H0 of the punching depth and the area of the histogram H1 of the punching depth (step S510).
  • the update suitability determination unit 15d performs an update to overwrite the threshold value Th0 stored in the threshold value storage unit 17a with the threshold value Th1 calculated in step S506 (step S512), and ends the process.
  • step S509 No or step S511 No if the gap is not greater than or equal to the predetermined value, or if the area of the histogram H1 of the punching depth is not larger than the addition value obtained by adding the predetermined area ⁇ to the area of the histogram H0 of the punching depth (step S509 No or step S511 No), there remains room for the person included in the image frame when the threshold Th0 is registered and the person included in the image frame when the threshold Th1 is registered as the same person. In this case, the overwrite update in step S512 is not performed, and the process is terminated as it is.
  • the update suitability determination unit 15d performs an update to overwrite the threshold value Th0 stored in the threshold value storage unit 17a with the threshold value Th1 calculated in step S506 (step S512), and ends the process.
  • FIG. 8 is a flowchart illustrating the procedure of the classification process according to the first embodiment. This processing corresponds to the processing in step S107 shown in FIG. As shown in FIG. 8, the classification unit 17 calculates the peak of the whirling waveform saved in the work area of the internal memory by the motion determination unit 13d as the whispering depth d (step S701).
  • the classification unit 17 determines whether or not the separation depth d calculated in step S701 is greater than or equal to the threshold Th0, that is, whether d ⁇ Th0 (step S702). At this time, if the whispering depth d is greater than or equal to the threshold Th0 (Yes in step S702), the classification unit 17 classifies the whispering operation for which the whispering depth d is calculated as “deep whispering” (step S703), and performs the processing. finish. On the other hand, if the whispering depth d is not greater than or equal to the threshold Th0 (No in step S702), the classification unit 17 classifies the whispering operation for which the whispering depth d is calculated as “shallow whispering” (step S704), and ends the process. .
  • the image processing apparatus 10 is based on the frequency distribution of the separation depth detected from the image frame captured by the imaging device 5, and the separation depth detected from the image frame. Determine a threshold value that classifies the image as shallow and deep. That is, even when the positional relationship between the imaging device 5 and the customer's head, which is the subject, changes, the frequency distribution of the depth of the whispering is divided into two distributions corresponding to the shallow whispering and the distribution corresponding to the deep whispering. It has a bimodal shape including mountains.
  • the threshold value by using a threshold value that can separate two peaks, for example, a depth of a valley formed between the two peaks, regardless of the positional relationship between the imaging device 5 and the subject, A threshold can be determined that can classify shallow and deep whispering. Therefore, according to the image processing apparatus 10 according to the present embodiment, it is possible to classify different depths. Furthermore, according to the image processing device 10 according to the present embodiment, it is possible to suppress a reduction in classification accuracy even when the positional relationship between the imaging device 5 and the subject is not fixed.
  • the case where there is one threshold Th0 for classifying the whispering operation is exemplified, but a plurality of thresholds can be adaptively switched and used. Therefore, in this embodiment, as an example, the classification of the whirling operation by switching the threshold Th0A for the short distance and the threshold Th0B for the long distance depending on whether the distance between the imaging device 5 and the subject is a short distance or a long distance. An example used for the above will be described.
  • FIG. 9 is a diagram illustrating a configuration example of an image processing system according to the second embodiment.
  • the image processing system 2 shown in FIG. 9 includes imaging devices 5A to 5C, image processing devices 20A to 20C, and a server device 200.
  • imaging devices 5A to 5C may be collectively referred to as “imaging device 5”
  • image processing devices 20A to 20C may be collectively referred to as “image processing device 20”.
  • the imaging device 5 is connected to the image processing device 20. Furthermore, the image processing apparatus and the server apparatus 200 are connected via a network NW so that they can communicate with each other.
  • the network NW includes the Internet (Internet), LAN (Local Area Network) and VPN (Virtual Private Network), whether wired or wireless. Any type of communication network can be employed.
  • FIG. 10 is a diagram illustrating another example of the use case.
  • FIG. 10 shows a scene in which the salesclerks detected from the images picked up by the image pickup device 5 are classified as pre-processing for evaluating the customer service quality of the clerk belonging to the sales department of the apparel shop. In this manner, in the scene where the salesclerks are classified, the positional relationship between the imaging device 5 and the head of the salesclerk as the subject is fixed as in the use case shown in FIG. Don't be.
  • the customer service may be performed in a positional relationship where the distance between the imaging device 5 and the clerk's head 7a is d3, or the positional relationship between the imaging device 5 and the clerk's head 7b is d4. In some cases, customer service is provided. If the positional relationship is different in this way, a difference occurs in the amount of change in the vertical direction of the head appearing in the image frame, even when the same depth of separation is performed. That is, even when the same depth is applied, the vertical variation of the head that appears in the image frame with a close positional relationship is the vertical variation of the head that appears in the image frame with a far positional relationship Bigger than.
  • the image processing apparatus 20 appropriately determines a threshold value for classifying deep and shallow whispering using the same approach as in the first embodiment, and in addition, the distance between the imaging device 5 and the subject is short.
  • the threshold Th0A for short distance and the threshold Th0B for long distance are switched depending on whether the distance is a distance or a long distance and used for the classification of the whirling operation.
  • the server device 200 is a computer that provides an evaluation service for performing a reception evaluation of a store clerk from the result of classification of whispering actions.
  • the server device 200 can be implemented by installing an evaluation program for realizing the above-described evaluation service on a desired computer as package software or online software.
  • the server device 200 may be implemented as a Web server that provides the above evaluation service, or may be implemented as a cloud that provides the above evaluation service by outsourcing.
  • the server device 200 collects the number of times of the deeper whispering and the number of times of the shallower whispering from the image processing device 20 as an example of the classification result of the whispering operation.
  • the server device 200 calculates an evaluation value for evaluating the reception quality of the store clerk from the number of times of deep whipping and the number of shallow wipings.
  • the higher the frequency of deep whispering the higher the evaluation value is calculated because it can be evaluated that the topic spoken by the customer is understood and the understanding is transmitted to the customer.
  • the higher the frequency of shallow whispering the higher the evaluation value is calculated because it can be evaluated that the customer's speech is listened to without interrupting the customer's speech.
  • the server device 200 transmits the evaluation value related to the clerk's response quality to the image processing apparatus 20 that has collected the classification results. Thereby, it is possible to support the manager of the store clerk and the like to evaluate the performance of the store clerk, or to support the manager of the store clerk to guide the customer service attitude of the store clerk.
  • FIG. 11 is a block diagram illustrating a functional configuration of the image processing apparatus 20 according to the second embodiment.
  • the same reference numerals are given to the functional units that exhibit the same functions as those in the first embodiment, while the functional units added to FIG. Different codes are given. Therefore, in the following, description will be given with an emphasis on the description of functional units to which different reference numerals are assigned, while description of functional units to which the same reference numerals are assigned will be omitted.
  • the image processing device 20 further includes a distance estimation unit 21 and part of the functions of the threshold determination unit 22 and the classification unit 24 compared to the image processing device 10 shown in FIG. 1.
  • the distance estimation unit 21 is a processing unit that estimates the distance between the imaging device 5 and a subject to be detected for whispering.
  • the distance estimation unit 21 performs the following process each time a face region is detected by the head detection unit 13a. That is, the distance estimation unit 21 counts the number of pixels A of the face area detected by the head detection unit 13a. At this time, the distance estimation unit 21 can also measure the number A of pixels for a pixel having a color corresponding to the skin color among the pixels included in the face area. Then, the distance estimation unit 21 calculates the distance D between the imaging device 5 and the face area that is the subject from the number A of pixels of the face area.
  • the distance estimation unit 21 determines a value obtained by dividing the number A of pixels in the face area by the total number of pixels in the image frame, that is, “number of pixels in the face area A / total number of pixels in the image frame”, for example, “0.2
  • the distance D classified into the binary value of the short distance “0” or the long distance “1” is calculated depending on whether or not it is equal to or smaller than “ That is, when the face area pixel count A / the total number of pixels in the image frame is greater than or equal to a predetermined value, the face area pixel count A / the number of pixels in the image frame is less than the predetermined value. It can be seen that the ratio of A is relatively large. In this case, the distance D is classified as a short distance “0”.
  • the distance estimation unit 21 outputs the distance D to the imaging device 5 to the subsequent functional units, that is, the distribution update unit 22a, the threshold value calculation unit 22b, and the classification unit 24.
  • the distance D can be calculated in the same manner from the number of pixels in the head area.
  • the distribution update unit 22a updates the histogram depending on whether the distance D estimated by the distance estimation unit 21 is a short distance “0” or a long distance “1”. The point to switch is different. That is, when the distance D is the short distance “0”, the distribution updating unit 22a updates the short distance histogram H1A. On the other hand, when the distance D is the long distance “1”, the distribution updating unit 22a updates the long distance histogram H1B.
  • the threshold calculation unit 22b determines whether or not the distance D estimated by the distance estimation unit 21 is the short distance “0” or the long distance “1” as compared with the threshold calculation unit 15c illustrated in FIG. The difference is that the histogram used for calculation is switched. That is, when the distance D is the short distance “0”, the threshold calculation unit 22b calculates the short distance threshold Th1A from the short distance histogram H1A. On the other hand, when the distance D is the long distance “1”, the threshold calculation unit 22b calculates the long distance threshold Th1B from the long distance histogram H1B.
  • the update suitability determination unit 22c is based on whether the distance D estimated by the distance estimation unit 21 is the short distance “0” or the long distance “1”, as compared with the update suitability determination unit 15d illustrated in FIG. The difference is that the threshold value for determining the suitability of overwriting is switched. That is, when the distance D is the short distance “0”, the update suitability determination unit 22c determines whether to overwrite the threshold Th1A with the threshold Th0A. On the other hand, when the distance D is the long distance “1”, the threshold value calculation unit 22b determines whether or not to overwrite the threshold value Th1B with the threshold value Th0B.
  • the classification unit 24 performs a whirling operation according to whether or not the distance D estimated by the distance estimation unit 21 is the short distance “0” or the long distance “1”, as compared with the threshold value calculation unit 15 c illustrated in FIG. 1. The difference is that the threshold value to be read is switched when performing classification. That is, when the distance D is the short distance “0”, the classification unit 24 reads the threshold Th0A from the threshold storage unit 23, while when the distance D is the long distance “1”, the classification unit 24 reads the threshold Th0B from the threshold storage unit 23. Is read.
  • the threshold value storage unit 23 shown in FIG. 11 is different from the threshold value storage unit 17a shown in FIG. 1 in that two threshold values, a short distance threshold value Th0A and a long distance threshold value Th0B, are stored.
  • 12 and 13 are diagrams illustrating an example of a histogram of the sowing depth.
  • FIG. 12 shows a short distance histogram H1A
  • FIG. 13 shows a long distance histogram H1B.
  • the entire distribution including the first peak and the second peak of the short distance histogram H ⁇ b> 1 ⁇ / b> A is on the right side of the histogram H ⁇ b> 1 ⁇ / b> B for the long distance.
  • the threshold Th1A calculated from the short distance histogram H1A is likely to be larger than the threshold Th1B calculated from the long distance histogram H1B.
  • FIG. 14 is a flowchart illustrating the procedure of distance estimation processing according to the second embodiment. This process is, for example, a process that is executed after the face area is detected in step S301 shown in FIG. 6, and can be executed in parallel with the whirling detection process shown in FIG.
  • the distance estimation unit 21 counts the number of pixels A of the face area detected by the head detection unit 13a (step S901). At this time, the distance estimation unit 21 can also measure the number A of pixels for a pixel having a color corresponding to the skin color among the pixels included in the face area.
  • the distance estimation unit 21 calculates the distance D between the imaging device 5 and the face area as the subject from the number A of pixels of the face area counted in step S901 (step S902). For example, the distance estimation unit 21 estimates the distance D to the imaging device 5 as the short distance “0” when the number of pixels A in the face area / the total number of pixels in the image frame is equal to or greater than a predetermined value. On the other hand, the distance estimation unit 21 estimates the distance D to the imaging device 5 as the long distance “1” when the number of pixels A in the face area / the total number of pixels in the image frame is less than a predetermined value.
  • the distance estimation unit 21 outputs the distance D to the imaging device 5 estimated in step S902 to the subsequent functional units, that is, the distribution update unit 22a, the threshold value calculation unit 22b, and the classification unit 24 (step S903), and processing Exit.
  • FIG. 15 is a flowchart illustrating the procedure of the threshold determination process according to the second embodiment. This process can be executed in place of the process shown in FIG.
  • the depth calculation unit 15a updates the number of measurement frames FrNum held in the register (step S501). For example, at the timing when the update of the threshold is started, the value of the number of measurement frames FrNum held in the register is initialized. When the threshold value is being updated, the value of the measurement frame number FrNum held in the register is incremented by one.
  • step S502 calculates the peak of the whirling waveform saved in the work area of the internal memory by the motion determining unit 13d as the whispering depth d (step S502). Note that the processing in step S502 is not necessarily executed over every frame. That is, when the process of step S306 shown in FIG. 6 is skipped, the winding waveform is not saved in the work area of the internal memory, so the process of step S502 is skipped.
  • step S502 branches depending on whether the distance D to the imaging device 5 estimated in step S902 shown in FIG. 14 is a short distance “0” or a long distance “1”.
  • “A” is added to the end of the step number of the process branching to the short distance “0”
  • “B” is added to the end of the step number of the process branching to the long distance “1”. Both will be explained individually.
  • Branch A For example, when the distance D to the imaging device 5 is the short distance “0” (step S1101 Yes), the distribution updating unit 22a performs the step out of the frequency of the histogram H1A of the depth of separation stored in the work area of the internal memory. By incrementing the frequency corresponding to the punching depth d calculated in S502, the histogram H1A of the punching depth for short distance is updated (step S503A).
  • the threshold value calculation unit 22b determines whether or not the number of measurement frames FrNum held in the register is smaller than the specified frame number Fr, that is, whether or not FrNum ⁇ Fr (step S504A).
  • the subsequent processing is skipped and the processing is terminated.
  • the threshold value calculation unit 22b detects the first peak and the second peak included in the histogram H1A of the short-distance separation depth (step S505A).
  • the threshold value calculation unit 22b is capable of separating the two peaks of the first peak and the second peak according to the mode method or the like, for example, the threshold value at the minimum value of the valley formed between the two peaks. The depth is calculated as the threshold Th1A (step S506A).
  • the update suitability determination unit 22c determines whether or not the threshold value Th0A is registered in the threshold value storage unit 23, in other words, whether or not the value of the threshold value Th0A is not a NULL value (step S507A).
  • the update suitability determination unit 22c sets the histogram H0A used for calculating the threshold value Th0A and the histogram H1A used for calculating the threshold value Th1A. Then, the difference between the punching depth corresponding to the first peak and the punching depth corresponding to the second peak is calculated (step S508A).
  • the update suitability determination unit 22c determines the difference between the first peak and the second peak in the depth histogram H0A, and the first peak and the second peak in the depth histogram H1A. It is determined whether or not the gap with the difference is greater than or equal to a predetermined value (step S509A).
  • step S509A Yes If these gaps are greater than or equal to a predetermined value (step S509A Yes), the person included in the image frame when the threshold Th0A is registered and the person included in the image frame when the threshold Th1A is registered are not the same person. The possibility increases. In this case, there is a higher possibility that it is not possible to accurately classify the whispering by using the threshold value Th0A. Therefore, there is a higher possibility that it is better to overwrite the threshold value Th1A with the threshold value Th0A. For this reason, the update suitability determination unit 22c further compares the area of the histogram H0A of the punching depth with the area of the histogram H1A of the punching depth (step S510A).
  • the update suitability determination unit 22c performs an update to overwrite the threshold value Th0A stored in the threshold value storage unit 23 with the threshold value Th1A calculated in step S506A (step S512A), and ends the process.
  • step S509A No or step S511A No if the gap is not greater than or equal to the predetermined value, or if the area of the histogram H1A of the punching depth is not larger than the addition value obtained by adding the predetermined area ⁇ to the area of the histogram H0A of the punching depth (step S509A No or step S511A No), there remains room for the person included in the image frame when the threshold Th0A is registered and the person included in the image frame when the threshold Th1A is registered to be the same person. In this case, the overwrite update in step S512A is not performed, and the process is terminated as it is.
  • the update suitability determination unit 22c performs an update to overwrite the threshold value Th0A stored in the threshold value storage unit 23 with the threshold value Th1A calculated in step S506A (step S512A), and ends the process.
  • Branch B For example, when the distance D to the imaging device 5 is a long distance “1” (No in step S1101), the distribution updating unit 22a performs a step out of the frequencies of the histogram H1B of the separation depth stored in the work area of the internal memory. By incrementing the frequency corresponding to the separation depth d calculated in S502, the histogram H1B of the separation depth for long distance is updated (step S503B).
  • the threshold value calculation unit 22b determines whether or not the number of measurement frames FrNum held in the register is smaller than the specified frame number Fr, that is, whether or not FrNum ⁇ Fr (Step S504B).
  • the subsequent processing is skipped and the processing is terminated.
  • the threshold value calculation unit 22b detects the first peak and the second peak included in the histogram H1B of the long-distance separation depth (step S505B).
  • the threshold value calculation unit 22b is capable of separating the two peaks of the first peak and the second peak according to the mode method or the like, for example, the threshold value at the minimum value of the valley formed between the two peaks. The depth is calculated as the threshold Th1B (step S506B).
  • the update suitability determination unit 22c determines whether or not the threshold value Th0B is registered in the threshold value storage unit 23, in other words, whether or not the value of the threshold value Th0B is not a NULL value (step S507B).
  • the update suitability determination unit 22c determines the histogram H0B used for calculating the threshold Th0B and the histogram H1B used for calculating the threshold Th1B. Then, the difference between the pitch corresponding to the first peak and the pitch corresponding to the second peak is calculated (step S508B).
  • the update suitability determination unit 22c determines the difference between the first peak and the second peak in the depth histogram H0B, and the first peak and the second peak in the depth histogram H1B. It is determined whether or not the gap with the difference is equal to or greater than a predetermined value (step S509B).
  • step S509BYes If these gaps are greater than or equal to a predetermined value (step S509BYes), the person included in the image frame when the threshold Th0B is registered and the person included in the image frame when the threshold Th1B is registered are not the same person. The possibility increases. In this case, there is a high possibility that the use of the threshold Th0B cannot accurately classify the whispering. Therefore, there is a high possibility that it is better to overwrite the threshold Th1B with the threshold Th0B. For this reason, the update suitability determination unit 22c further compares the area of the histogram H0B of the punching depth with the area of the histogram H1B of the punching depth (step S510B).
  • the update suitability determination unit 22c performs an update to overwrite the threshold value Th0B stored in the threshold value storage unit 23 with the threshold value Th1B calculated in step S506B (step S512B), and ends the process.
  • step S509BNo or step S511B No if the gap is not greater than or equal to the predetermined value, or if the area of the histogram H1B of the punching depth is not larger than the addition value obtained by adding the predetermined area ⁇ to the area of the histogram H0B of the punching depth (step S509BNo or step S511B No), there remains room for the person included in the image frame when the threshold Th0B is registered and the person included in the image frame when the threshold Th1B is registered to be the same person. In this case, step S512B No overwriting update is performed, and the processing is terminated as it is.
  • the update suitability determination unit 22c performs an update to overwrite the threshold value Th0B stored in the threshold value storage unit 23 with the threshold value Th1B calculated in step S506B (step S512B), and ends the process.
  • FIG. 16 is a flowchart illustrating the procedure of the threshold value reading process according to the second embodiment. As an example, this process can be executed in place of the process in step S106 shown in FIG. As shown in FIG. 16, the classification unit 24 determines whether or not the distance D is the short distance “0” (step S1301).
  • the classification unit 24 reads the threshold value Th0A from the threshold value storage unit 23 (step S1302), and ends the process.
  • the classification unit 24 reads the threshold value Th0B from the threshold value storage unit 23 (step S1303), and ends the process.
  • the image processing apparatus 20 according to the present embodiment like the image processing apparatus 10 according to the first embodiment described above, has a frequency of the depth of separation detected from the image frame captured by the imaging apparatus 5. Based on the distribution, a threshold value for classifying the depth of the detection detected from the image frame into a shallow range and a deep range is determined. Therefore, according to the image processing apparatus 20 according to the present embodiment, it is possible to classify different depths. Furthermore, according to the image processing device 20 according to the present embodiment, it is possible to suppress a reduction in classification accuracy even when the positional relationship between the imaging device 5 and the subject is not fixed.
  • the image processing apparatus 20 switches between the short distance threshold Th0A and the long distance threshold Th0B depending on whether the distance between the imaging device 5 and the subject is a short distance or a long distance. Used to classify actions. Therefore, according to the image processing device 20 according to the present embodiment, the threshold value can be selected in accordance with the positional relationship between the imaging device 5 and the subject, and as a result, a reduction in classification accuracy can be more effectively suppressed.
  • the case where customer service is performed is illustrated as a use case.
  • each process described in the first embodiment and the second embodiment is applied even when a customer service is performed by a robot. it can.
  • the image pickup device 5 is built in or attached to the robot
  • the image frame taken from the image pickup device 5 is built in the function of the image processing device 10 or the image processing device 20 in the robot body
  • the separation information including the result of the classification of the rolling operation is included.
  • the information can be transferred to an external device such as the server device 200 and transferred to a file, and the result processed on the external device can be fed back to the robot.
  • Example 1 and Example 2 above a shape having a bimodality including two peaks, a distribution corresponding to a shallow pitch and a distribution corresponding to a deep pitch, is assumed in the histogram of the pitch depth. There may be cases where there are no two peaks and only one peak. In this case, it may be possible to calculate the threshold value corresponding to the peak of one mountain as a threshold value.
  • each component of each illustrated apparatus does not necessarily have to be physically configured as illustrated.
  • the specific form of distribution / integration of each device is not limited to that shown in the figure, and all or a part thereof may be functionally or physically distributed or arbitrarily distributed in arbitrary units according to various loads or usage conditions. Can be integrated and configured.
  • part of the functional units included in the image processing apparatus 10 or the image processing apparatus 20 may be connected as an external device of the image processing apparatus 10 or the image processing apparatus 20 via a network.
  • the image processing apparatus 10 or the image processing apparatus 20 has a part of the functional units of the image processing apparatus 10 or the image processing apparatus 20, and is connected to the network to cooperate. You may make it implement
  • FIG. 17 is a diagram illustrating a hardware configuration example of a computer that executes the image processing program according to the first to third embodiments.
  • the computer 100 includes an operation unit 110a, a speaker 110b, a camera 110c, a display 120, and a communication unit 130. Further, the computer 100 includes a CPU 150, a ROM 160, an HDD 170, and a RAM 180. These units 110 to 180 are connected via a bus 140.
  • the HDD 170 stores an image processing program 170 a that exhibits the same functions as those of the acquisition unit 11, the operation detection unit 13, the threshold determination unit 15, and the classification unit 17 described in the first embodiment.
  • the image processing program 170a may be integrated or separated as in the constituent elements of the acquisition unit 11, the motion detection unit 13, the threshold value determination unit 15, and the classification unit 17 illustrated in FIG. That is, the HDD 170 does not necessarily have to store all the data shown in the first embodiment, and data used for processing may be stored in the HDD 170.
  • an image processing program 170a that performs the same functions as the acquisition unit 11, the motion detection unit 13, the threshold value determination unit 15, and the classification unit 17 described in the first embodiment is stored in the HDD 170.
  • the image processing program 170a that performs the same function as the acquisition unit 11, the motion detection unit 13, the distance estimation unit 21, the threshold value determination unit 22, and the classification unit 24 described in the second embodiment is stored. It does not matter if it is done.
  • the CPU 150 reads out the image processing program 170a from the HDD 170 and develops it in the RAM 180.
  • the image processing program 170a functions as an image processing process 180a as shown in FIG.
  • the image processing process 180a develops various data read from the HDD 170 in an area allocated to the image processing process 180a in the storage area of the RAM 180, and executes various processes using the developed various data.
  • examples of processing executed by the image processing process 180a include the processing shown in FIGS. 5 to 8 and FIGS. 14 to 16.
  • the CPU 150 does not necessarily operate all the processing units described in the first embodiment, and the processing unit corresponding to the process to be executed may be virtually realized.
  • the image processing program 170a may not necessarily be stored in the HDD 170 or the ROM 160 from the beginning.
  • the image processing program 170a is stored in a “portable physical medium” such as a flexible disk inserted into the computer 100, so-called FD, CD-ROM, DVD disk, magneto-optical disk, IC card or the like. Then, the computer 100 may acquire and execute the image processing program 170a from these portable physical media.
  • the image processing program 170a is stored in another computer or a server device connected to the computer 100 via a public line, the Internet, a LAN, a WAN, etc., and the computer 100 acquires the image processing program 170a from these. May be executed.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • General Health & Medical Sciences (AREA)
  • Social Psychology (AREA)
  • Psychiatry (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Signal Processing (AREA)
  • Image Analysis (AREA)
  • Studio Devices (AREA)

Abstract

【課題】異なる深さの頷きを分類すること。 【解決手段】画像処理装置10は、撮像装置5を用いて撮像した画像フレームを取得し、取得した画像フレームに頭部領域が含まれるかを判定し、頭部領域が含まれると判定した場合に、頭部領域の画像フレームにおける位置と画像フレームに後続する他の画像フレームに含まれる頭部領域の位置とを用いて頭部領域の時系列の第1の変化量を算出し、取得した画像フレームよりも過去の画像フレーム群に含まれる頭部領域の時系列の変化量の頻度分布に基づいて、第1の変化量と比較する閾値を決定し、決定した閾値と第1の変化量を比較して、第1の変化量を評価する、処理を実行する。

Description

画像処理プログラム、画像処理方法及び画像処理装置
 本発明は、画像処理プログラム、画像処理方法及び画像処理装置に関する。
 人のコミュニケーションでは、言語によるコミュニケーションの他にも、仕草や身振り、いわゆるジェスチャなどの非言語によるコミュニケーションが使用される。この非言語のコミュニケーションの中でも、頷きは、話の聞き手が話し手へ行うフィードバックの動作の一種であり、人の感情や気持ちなどを分析する上で有用である。このような頷きの頻度を定量的に分析するための技術の一例として、画像に含まれる顔領域の垂直方向の変化量から頷きを検知するものがある。
特開2000-315259号公報
 しかしながら、上記の技術では、以下に説明するように、異なる意味を有する浅い頷き及び深い頷きを分類することができない場合がある。
 すなわち、上記の技術には、頷きがその深さにより異なる意味を持つという想定がそもそも存在しない。例えば、浅い頷きには、聞き手が話し手にそれまでの話の理解と共に話の先を促す意味が含まれる一方で、深い頷きには、聞き手が話し手の意見を肯定して同調する意味が含まれる。このように浅い頷き及び深い頷きの間で意味が異なるにもかかわらず、上記の技術では、異なる意味を持つ頷きが同一視して検知される。
 1つの側面では、本発明は、異なる深さの頷きを分類できる画像処理プログラム、画像処理方法及び画像処理装置を提供することを目的とする。
 一態様では、画像処理プログラムは、撮像装置を用いて撮像した画像フレームを取得し、取得した前記画像フレームに頭部領域が含まれるかを判定し、前記頭部領域が含まれると判定した場合に、前記頭部領域の前記画像フレームにおける位置と前記画像フレームに後続する他の画像フレームに含まれる頭部領域の位置とを用いて頭部領域の時系列の第1の変化量を算出し、取得した前記画像フレームよりも過去の画像フレーム群に含まれる頭部領域の時系列の変化量の頻度分布に基づいて、前記第1の変化量と比較する閾値を決定し、決定した前記閾値と前記第1の変化量を比較して、前記第1の変化量を評価する、処理をコンピュータに実行させる。
 異なる深さの頷きを分類できる。
図1は、実施例1に係る画像処理装置の機能的構成を示すブロック図である。 図2は、ユースケースの一例を示す図である。 図3は、コーナー特徴点の変位波形の一例を示す図である。 図4は、頷き深さのヒストグラムの一例を示す図である。 図5は、実施例1に係る全体処理の手順を示すフローチャートである。 図6は、実施例1に係る頷き検出処理の手順を示すフローチャートである。 図7は、実施例1に係る閾値決定処理の手順を示すフローチャートである。 図8は、実施例1に係る分類処理の手順を示すフローチャートである。 図9は、実施例2に係る画像処理システムの構成例を示す図である。 図10は、ユースケースの他の一例を示す図である。 図11は、実施例2に係る画像処理装置の機能的構成を示すブロック図である。 図12は、頷き深さのヒストグラムの一例を示す図である。 図13は、頷き深さのヒストグラムの一例を示す図である。 図14は、実施例2に係る距離推定処理の手順を示すフローチャートである。 図15は、実施例2に係る閾値決定処理の手順を示すフローチャートである。 図16は、実施例2に係る閾値読出処理の手順を示すフローチャートである。 図17は、実施例1~実施例3に係る画像処理プログラムを実行するコンピュータのハードウェア構成例を示す図である。
 以下に添付図面を参照して本願に係る画像処理プログラム、画像処理方法及び画像処理装置について説明する。なお、この実施例は開示の技術を限定するものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
 図1は、実施例1に係る画像処理装置10の機能的構成を示すブロック図である。図1に示す画像処理装置10は、ジェスチャ等の非言語のコミュニケーションの中でも、話の聞き手が話し手へ行うフィードバックの動作の一種である頷きを画像から検出する画像処理サービスを提供するものである。
 このような画像処理サービスの一環として、画像処理装置10は、異なる意味を有する浅い頷き及び深い頷きの分類を実現する。例えば、浅い頷きには、聞き手が話し手にそれまでの話の理解と共に話の先を促す意味が含まれる一方で、深い頷きには、聞き手が話し手の意見を肯定して同調する意味が含まれる。
 しかしながら、既存の技術の中には、頷きがその深さにより異なる意味を持つという想定がそもそも存在しない。さらに、たとえ既存の技術に改良を加え、予め定められた閾値を用いる判定により、画像から検出される頷きを浅い頷き及び深い頷きに分類しようとしたとしても、必ずしも分類を正確に行うことはできない。なぜなら、画像を撮像する撮像装置と被写体である頭部との位置関係が必ずしも固定であるとは限らないからである。
 図2は、ユースケースの一例を示す図である。図2には、アパレルショップの売り場に所属する店員の接客に対する顧客の満足度を店員にフィードバックする前処理として、撮像装置5により撮像される画像から検出される顧客の頷きを分類する場面が示されている。図2に示すように、アパレルショップの売り場には、衣服等を陳列するアパレル什器、例えばガラステーブルやキャスターなどが1つしか含まれないとは限らず、複数のアパレル什器が含まれる場合がある。これら複数のアパレル什器のより多くを撮像範囲5aに含めることができる位置に撮像装置5が設置される。
 このような撮像装置5の設置状況の下では、撮像装置5と被写体である顧客の頭部との位置関係は固定とはならない。例えば、撮像装置5及び顧客の頭部6aの間の距離がd1である位置関係で接客が行われる場合もあれば、撮像装置5及び顧客の頭部6bの間の距離がd2である位置関係で接客が行われる場合もある。このように位置関係が異なれば、同一の深さの頷きが行われた場合でも、画像フレームに現れる頭部の垂直方向の変化量には差が生じる。すなわち、同一の深さの頷きが行われた場合でも、近い位置関係で画像フレームに現れる頭部の垂直方向の変化量の方が遠い位置関係で画像フレームに現れる頭部の垂直方向の変化量よりも大きくなる。
 このため、固定の閾値を用いる判定により、画像から検出される頷きを浅い頷き及び深い頷きに分類するのは困難である。なぜなら、近い位置関係で画像フレームから検出される頷きを浅い頷き及び深い頷きへ分類できるように閾値を設定すれば、遠い位置関係で画像フレームから検出される頷きが深い頷きであったとしても浅い頷きに誤分類される可能性が高まるからである。さらに、遠い位置関係で画像フレームから検出される頷きを浅い頷き及び深い頷きへ分類できるように閾値を設定すれば、近い位置関係で画像フレームから検出される頷きが浅い頷きであったとしても深い頷きに誤分類される可能性が高まるからである。
 そこで、本実施例に係る画像処理装置10は、撮像装置5が撮像する画像フレームから検出される頷きの深さの度数分布に基づいて、画像フレームから検出される頷きの深さを浅い頷き及び深い頷きに分類する閾値を決定する。すなわち、撮像装置5と被写体である顧客の頭部との位置関係が変化する場合でも、頷きの深さの度数分布は、浅い頷きに対応する分布と、深い頷きに対応する分布との2つの山を含む双峰性を有する形状となる。それ故、閾値の一例として、2つの山を分離できる閾値、例えば2つの山の間に形成される谷部の頷きの深さを用いることにより、撮像装置5と被写体の位置関係に依らず、浅い頷き及び深い頷きを分類できる閾値を決定することができる。
 図1に示す画像処理装置10は、パーソナルコンピュータ、各種の携帯端末装置やサーバ装置などの任意のコンピュータとして実装できる。この画像処理装置10は、図1に示すように、取得部11と、動作検出部13と、閾値決定部15と、閾値記憶部17aと、分類部17とを有する。
 図1に示す取得部11、動作検出部13、閾値決定部15及び分類部17などの機能部は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などのハードウェアプロセッサにより実装される。すなわち、上記の機能部は、プロセッサがRAM(Random Access Memory)等のメモリ上に上記画像処理サービスを実現する画像処理プログラムをプロセスとして展開することにより、仮想的に実現される。ここでは、プロセッサの一例として、CPUやMPUを例示したが、汎用型および特化型を問わず、任意のプロセッサにより上記の機能部が実現されることとしてもかまわない。この他、上記の機能部は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などのハードワイヤードロジックによって実現されることとしてもかまわない。
 また、図1に示す閾値記憶部17aの他、上記の機能部が使用するワークエリアには、一例として、各種の半導体メモリ素子、例えばRAM(Random Access Memory)やフラ
ッシュメモリもしくはその記憶領域の一部を採用することができる。また、必ずしも主記憶装置が用いられずともよく、HDD(Hard Disk Drive)、光ディスクやSSD(Solid State Drive)などの補助記憶装置を採用することとしてもかまわない。
 また、図1には、上記の機能部および上記の機能部に対するデータの入出力の関係を表
す実線が示されているが、これはあくまで例示であり、画像処理装置10の機能的構成が図1に示す例以外の機能的構成を有することを妨げない。すなわち、画像処理装置10は、上記の機能部以外の他の機能部を有することとしてもかまわない。例えば、画像処理装置10は、図1には省略されているが、画像処理装置10及び他の装置の間を接続する通信インタフェース、例えばネットワークに接続するためのインタフェースなどを有することができる。また、図1に示すデータの入出力の関係は、少なくとも一方から他方へデータが伝送されることが示されており、必ずしも双方向にデータの授受が行われずともかまわない。
 取得部11は、画像フレームを取得する処理部である。
 一実施形態として、取得部11は、撮像装置5により撮像される画像フレームを取得することができる。また、取得部11は、一連の画像フレームを蓄積するハードディスクや光ディスクなどの補助記憶装置またはメモリカードやUSB(Universal Serial Bus)メモリなどのリムーバブルメディアから画像フレームを取得することもできる。この他、取得部11は、外部装置からネットワークを介して受信することによって画像フレームを取得することもできる。このように画像処理装置10が画像を取得する経路は、撮像装置5、ネットワークや記録媒体などの任意の経路であってよく、特定の経路に限定されない。その後、取得部11は、任意の経路を通じて取得された画像フレームを後段の機能部、すなわち動作検出部13へ入力する。
 動作検出部13は、画像から人の仕草や身振り、いわゆるジェスチャなどの動作を検出する処理部である。ここでは、動作の一種として、頷きを検出する場合を例示する。
 動作検出部13は、図1に示すように、頭部検出部13aと、特徴点検出部13bと、特徴点追跡部13cと、動作判定部13dとを有する。動作検出部13は、判定部および算出部の一例である。
 頭部検出部13aは、頭部検出を実行する処理部である。以下では、頭部検出の一例として、顔検出を用いる場合を例示するが、顔検出の代わりに頭部検出を用いることもできる。また、顔検出と頭部検出を適応的に切り替えて用いることもできる。例えば、顔検出により顔領域が検出できない場合、頭部検出により頭部領域を検出することとしてもよい。そして、頭部検出により頭部領域が検出できない場合、画像フレームに頭部が含まれていないとして以降の処理を中止することもできる。
 一実施形態として、頭部検出部13aは、取得部11により取得される画像フレームから顔領域を検出する。例えば、P.Viola及びM.Jonesらが下記の文献で提案する顔検出アルゴリズムを用いることができる。すなわち、AdaBoost等の学習アルゴリズムにしたがって、画像内に顔が含まれるポジティブサンプルと画像内に顔が含まれないネガティブサンプルとの学習サンプルが学習される。この学習により、入力とする画像を走査する所定サイズ、例えば24画素×24画素や64画素×64画素のウィンドウ内で算出されるHaar-like特徴の矩形パターンから顔または非顔を識別する弱識別器ごとに当該弱識別器に与
える重みが所定のラウンド数にわたって更新される。この結果、弱識別器の重み付きの多数決により顔または非顔であるかを識別する強識別器が生成される。その上で、頭部検出部13aは、取得部11により画像が取得される度に、当該画像もしくはその積分画像を強識別器のウィンドウで走査する。これにより、頭部検出部13aは、強識別器により顔が検出されるウィンドウを顔領域として抽出する。このとき、店員の顔領域ではなく顧客の顔領域を抽出するために、店員が携帯する従業員カードなどを店員のマーカとして、画像フレームから抽出される顔領域のうち当該マーカがない物体と同一のラベルが付与された物体に属する顔領域を抜粋して抽出する処理を追加できることも付言しておく。
 P.Viola M.Jones著 「Robust Real-Time Face Detection」 international Journal of Computer Vision 57(29, 137-154, 2004
 なお、ここでは、機械学習により得られる識別器を用いる場合を例示したが、あくまで一例であり、これに限定されない。例えば、肌色領域の検出を通じて顔領域を検出する方法の他、顔パーツ、例えば目、鼻や口などに着目して顔領域を検出する方法などの他の方法により、顔検出を実行することとしてもかまわない。
 特徴点検出部13bは、顔領域から特徴点を検出する処理部である。なお、ここでは、顔領域から特徴点を検出する場合を例示するが、頭部領域から特徴点を検出することができるのは言うまでもない。
 一実施形態として、特徴点検出部13bは、頭部検出部13aにより検出された顔領域から顔パーツのコーナーを特徴点として検出する。このような特徴点の検出には、一例として、C.Harris及びM.Stephensらが下記の文献で提案する特徴点検出のアルゴリズムを用いることができる。この他にも、FAST(Features from Accelerated Segment Test)の特徴点検出などの任意の方法を採用することができるのは言うまでもない。以下では、顔パーツのコーナーのことを「コーナー特徴点」と記載する場合がある。
 C.Harris M.Stephens著 「A combined corner and edge detector」 Proceedings of the 4th Alvey Vision Conference (1988) 147-151
 特徴点追跡部13cは、画像フレームの間で顔領域の特徴点を追跡する処理部である。
 一実施形態として、特徴点追跡部13cは、特徴点検出部13bによりコーナー特徴点の検出が実行された画像フレームNと、それ以前、例えば1つ前のフレームの画像である画像フレームN-1との間でコーナー特徴点の移動ベクトルを算出する。このコーナー特徴点の移動ベクトルの算出には、一例として、B.D.Lucas及びT.Kanadeらが下記の文献で
提案するオプティカルフローの推定アルゴリズムを用いることができる。なお、ここでは、顔領域の特徴点の移動ベクトルを算出することにより特徴点の追跡を行う場合を例示したが、頭部領域の特徴点の移動ベクトルを算出することにより特徴点の追跡を実現することとしてもかまわない。
 B.D.Lucas T.Kanade著 「An Iterative Image Registration Technique with an Application to Stereo Vision」 inProc. of Int. Joint Conf. on Artificial Intelligence, pp.674~679, Aug.
 動作判定部13dは、過去の画像フレームに遡って計測される特徴点の垂直方向の変位の時系列データから所定の動作が行われたか否かを判定する処理部である。
 一実施形態として、動作判定部13dは、特徴点追跡部13cによりコーナー特徴点の移動ベクトル(u,v)が推定される度に、当該移動ベクトルの垂直成分vを累積して加算する。この移動ベクトルの垂直成分vは、取得部11により取得された画像フレームとその1つ前の画像フレームとの間でコーナー特徴点が垂直方向に変化する変化量に対応する。このため、移動ベクトルの垂直成分vを画像フレームごとに累積して加算することにより、最初に顔領域が検出された画像フレームで検出されたコーナー特徴点の位置を基準にしてそこからのコーナー特徴点の垂直方向の変位が画像フレームごとに算出される。以下では、顔領域に含まれるコーナー特徴点に関する垂直方向の変位の時系列データのことを「変位波形」と記載することとする。
 このように現在の画像フレーム、すなわち取得部11により画像が取得された最新のフレームにおけるコーナー特徴点の垂直方向の変位が算出される度に、動作判定部13dは、現在の画像フレームから過去の画像フレームに遡って得られたコーナー特徴点の変位波形に頷き動作、例えば頭を下げてから上げる動作が含まれるか否かを判定する。
 例えば、動作判定部13dは、現在の画像フレームにおけるコーナー特徴点の変位が極小値であるか否かを判定する。この極小値の判定には、一例として、ゼロクロス法を用いることができる。すなわち、現在の画像フレームにおけるコーナー特徴点の変位が変位波形の微分波形のゼロクロス点であり、かつゼロクロス点と1つ前のゼロクロス点との間で最小値であるか否かの判定により、現在の画像フレームにおけるコーナー特徴点の変位が極小値であるか否かを識別できる。このとき、コーナー特徴点の変位が極小値である場合、動作判定部13dは、コーナー特徴点の変位波形の推移が時系列に極小値、極大値、極小値の順であるか否かを判定する。
 ここで、コーナー特徴点の変位波形の推移が時系列に極小値、極大値、極小値の順である場合、頷き動作が行われたと推定できる。この場合、動作判定部13dは、コーナー特徴点の変位波形のうち頷き動作に対応する部分波形、すなわち極小値、極大値、極小値の順に極値が推移する区間の波形を抽出する。以下では、コーナー特徴点の変位波形から抽出される、頷き動作に対応する部分波形のことを「頷き波形」と記載する場合がある。その上で、動作判定部13dは、変位波形から抽出された頷き波形を図示しない内部メモリのワークエリアに保存する。なお、ここでは、顔領域の特徴点の変位波形から頷き波形を抽出する場合を例示したが、頭部領域の特徴点の変位波形からも同様にして頷き波形を抽出することができるのは言うまでもない。
 図3は、コーナー特徴点の変位波形の一例を示す図である。図3には、画像フレームの左上の頂点を原点とする画像座標系で算出されたコーナー特徴点の変位波形が示されている。この画像座標系では、垂直方向の下向きの変化量が正と計測される一方で、垂直方向の上向きの変化量が負と計測される。図3に示す縦軸は、コーナー特徴点の垂直方向の変位を示す。また、図3に示す横軸は、時間tを示す。図3に示すように、変位波形から頷き波形W1~W8が抽出される。すなわち、極小値m2が検出された時点で極小値m1、極大値M1、極小値m2の推移が検出される結果、コーナー特徴点の変位波形から頷き波形W1が抽出される。続いて、極小値m3が検出された時点で極小値m2、極大値M2、極小値m3の推移が検出される結果、コーナー特徴点の変位波形から頷き波形W2が抽出される。同様にして、極小値m3、極大値M3及び極小値m4を含む区間の頷き波形W3、極小値m4、極大値M4及び極小値m5を含む区間の頷き波形W4、極小値m5、極大値M5及び極小値m6を含む区間の頷き波形W5、極小値m6、極大値M6及び極小値m7を含む区間の頷き波形W6、極小値m7、極大値M7及び極小値m8を含む区間の頷き波形W7、さらには、極小値m8、極大値M8及び極小値m9を含む区間の頷き波形W8が抽出される。
 閾値決定部15は、頷き波形のピークである頷き深さを分類する閾値を決定する処理部である。
 閾値決定部15は、図1に示すように、深さ算出部15aと、分布更新部15bと、閾値算出部15cと、更新適否判定部15dとを有する。
 深さ算出部15aは、頷き波形のピークである頷き深さを算出する処理部である。
 一実施形態として、深さ算出部15aは、閾値の更新タイミングであるか否かを判定す
る。この閾値の更新タイミングの一例として、上記の閾値が設定されていない場合、すなわち閾値がNULL値である場合、さらには、頭部検出部13aにより顔領域が検出されない状態から顔領域が検出される状態へ移行した場合などが挙げられる。これらの閾値の更新タイミングである場合、深さ算出部15aは、閾値の算出が開始された時点から経過するフレーム数の計測を開始する。すなわち、深さ算出部15aは、計測フレーム数FrNumを保持するレジスタをゼロに初期化し、それ以降に画像フレームが取得される度に計測フレーム数FrNumの値を1つインクリメントする。
 この計測フレーム数FrNumの更新後、深さ算出部15aは、動作判定部13dにより内部メモリのワークエリアに保存された頷き波形のピークを頷き深さdとして算出する。例えば、図3の例で言えば、頷き波形W1のピークが頷き深さd1として算出される。同様にして、頷き波形W2~頷き波形W8から頷き深さd2~頷き深さd8が算出される。なお、頷き深さdの算出は、必ずしも毎フレームにわたって実行されるとは限らず、動作判定部13dにより頷き波形が抽出されない画像フレームでは内部メモリのワークエリアに頷き波形が保存されないので、頷き深さdの算出はスキップされる。
 分布更新部15bは、頷き深さのヒストグラムを更新する処理部である。ここで言う「ヒストグラム」とは、一例として、頷き深さを階級とし、その頻度を度数とする頻度分布、いわゆる度数分布を指す。
 一実施形態として、分布更新部15bは、深さ算出部15aにより算出された頷き深さdが算出される度に、内部メモリのワークエリアに保存された頷き深さのヒストグラムH1を更新する。すなわち、分布更新部15bは、内部メモリのワークエリアに保存された頷き深さのヒストグラムH1の度数のうち、深さ算出部15aにより算出された頷き深さdに対応する度数をインクリメントすることにより、頷き深さのヒストグラムH1を更新する。
 閾値算出部15cは、上記の閾値を算出する処理部である。
 一実施形態として、閾値算出部15cは、レジスタに保持された計測フレーム数FrNumが規定フレーム数Frよりも小さいか否か、すなわちFrNum<Frであるか否かを判定する。ここで、計測フレーム数FrNumが規定フレーム数Fr未満でない場合、頷き深さのヒストグラムH1の作成が開始されてから規定フレーム数Frが経過したことがわかる。この場合、閾値算出部15cは、頷き深さのヒストグラムH1に基づいて頷き深さを分類する閾値を算出する。図4は、頷き深さのヒストグラムH1の一例を示す図である。図4に示す縦軸は、度数を指す。また、図4に示す横軸は、階級、すなわち頷き深さを指す。図4に示すように、頷き深さのヒストグラムH1は、浅い頷きに対応する分布と、深い頷きに対応する分布との2つの山を含む双峰性を有する形状を有する。この特性は、撮像装置5と被写体である顧客の頭部との位置関係に依らず現れる。このため、閾値算出部15cは、モード法などを用いて、2つの山を分離できる閾値、例えば2つの山の間に形成される谷部の極小値における頷きの深さを閾値Th1として算出する。なお、ここでは、あくまで一例として、ヒストグラムの2つの山の間に形成される谷部の極小値における頷きの深さを閾値Th1とする例を説明したが、必ずしも極小値でなくともよく、度数が谷部の極小値から所定範囲内の頷き深さを閾値Th1とすることもできる。
 更新適否判定部15dは、閾値記憶部17aに記憶された閾値を閾値算出部15cにより算出された閾値に更新する適否を判定する処理部である。以下、閾値記憶部17aに記憶された閾値のことを「閾値Th0」と識別し、閾値算出部15cにより算出された閾値のことを「閾値Th1」と識別する場合がある。
 一実施形態として、更新適否判定部15dは、閾値算出部15cにより閾値Th1が算出された場合、閾値記憶部17aに閾値Th0の登録があるか否か、言い換えれば閾値Th0の値がNULL値でないか否かを判定する。このとき、閾値記憶部17aに閾値Th0が未登録である場合、閾値更新の適否を判断するまでもないことがわかる。この場合、更新適否判定部15dは、閾値記憶部17aに記憶された閾値Th0を閾値算出部15cにより算出された閾値Th1に上書きする更新を実行する。
 一方、更新適否判定部15dは、閾値記憶部17aに閾値Th0の登録がある場合、閾値Th0の算出に用いられたヒストグラムH0および閾値Th1の算出に用いられたヒストグラムH1ごとに、第1ピークに対応する頷き深さと第2ピークに対応する頷き深さとの差、例えば絶対値を算出する。例えば、図4に示す頷き深さのヒストグラムH1の例で言えば、第1ピークP1に対応する頷き深さD1と第2ピークP2に対応する頷き深さD2との差の絶対値、すなわち|D1-D2|を算出する。図示は省略するが、頷き深さのヒストグラムH0の場合も、頷き深さのヒストグラムH1と同様に、第1ピークと第2ピークの頷き深さの差を算出することができる。
 その上で、更新適否判定部15dは、頷き深さのヒストグラムH0における第1ピーク及び第2ピークの頷き深さの差と、頷き深さのヒストグラムH1における第1ピーク及び第2ピークの頷き深さの差とのギャップが所定値以上であるか否かを判定する。これらのギャップが所定値以上である場合、閾値Th0が登録された時点で画像フレームに含まれる人物と、閾値Th1が登録された時点で画像フレームに含まれる人物とが同一人物でない可能性が高まる。この場合、閾値Th0を用いたのでは頷きを正確に分類できない可能性が高まるので、閾値Th1を閾値Th0に上書きする方がよい可能性が高まる。
 このため、更新適否判定部15dは、ギャップが所定値以上である場合、頷き深さのヒストグラムH0の面積と、頷き深さのヒストグラムH1の面積との比較をさらに実施する。すなわち、更新適否判定部15dは、頷き深さのヒストグラムH1の面積が頷き深さのヒストグラムH0の面積に所定の面積αが加えられた加算値よりも大きいか否か、すなわちH1の面積>H0の面積+αであるか否かを判定する。このとき、H1の面積>H0の面積+αである場合、閾値Th0が登録された時点で画像フレームに含まれる人物と、閾値Th1が登録された時点で画像フレームに含まれる人物とが同一人物でない可能性がさらに高まる。この場合、更新適否判定部15dは、閾値記憶部17aに記憶された閾値Th0を閾値算出部15cにより算出された閾値Th1に上書きする更新を実行する。
 一方、ギャップが所定値以上でない場合、または、頷き深さのヒストグラムH1の面積が頷き深さのヒストグラムH0の面積に所定の面積αが加えられた加算値よりも大きくない場合、閾値Th0が登録された時点で画像フレームに含まれる人物と、閾値Th1が登録された時点で画像フレームに含まれる人物とが同一人物である余地が残る。この場合、上書き更新は実施されない。なお、ここでは、閾値更新の適否を判定する場合を例示したが、無条件に上書き更新を行うこととしてもかまわない。
 分類部17は、頷き動作を頷き深さにより分類する処理部である。分類部17は、評価部の一例である。
 一実施形態として、分類部17は、閾値の更新タイミングでない場合、閾値記憶部17aに記憶された閾値Th0を読み出す。続いて、分類部17は、動作判定部13dにより内部メモリのワークエリアに保存された頷き波形のピークを頷き深さdとして算出する。この頷き深さdの算出は、上記の深さ算出部15aと同様の手順で実現できる。その上で、分類部17は、頷き深さdが閾値Th0以上であるか否か、すなわちd≧Th0であるか否かを判定する。このとき、頷き深さdが閾値Th0以上である場合、分類部17は、
当該頷き深さdが算出された頷き動作を「深い頷き」に分類する。一方、頷き深さdが閾値Th0以上でない場合、分類部17は、当該頷き深さdが算出された頷き動作を「浅い頷き」に分類する。これにより、異なる深さの頷きの分類を実現できる。さらに、撮像装置5と被写体の位置関係が固定でない場合でも、分類精度の低下を抑制できる。このような分類結果は、所定の出力先に出力することができる。例えば、顧客満足度を算出するアプリケーションプログラムを出力先とすることができる。この場合、深い頷きの回数と、浅い頷きの回数との少なくともいずれか1つを用いて顧客満足度が算出される。この顧客満足度を店員にフィードバックすることにより、接客の品質が向上するのを支援することができる。なお、上記のアプリケーションプログラムは、画像処理装置10上で動作することとしてもよいし、画像処理装置10と接続される外部装置上で動作することとしてもかまわない。
(1)全体処理
 図5は、実施例1に係る全体処理の手順を示すフローチャートである。この処理は、一例として、撮像装置5から画像フレームが供給される間、繰り返し実行される。図5に示すように、取得部11により画像フレームが取得されると(ステップS101)、動作検出部13は、ステップS101で取得された画像フレームから遡る一連の画像フレームから頷き動作を検出する「頷き検出処理」を実行する(ステップS102)。
 続いて、閾値決定部15は、閾値の更新タイミングであるか否かを判定する(ステップS103)。例えば、閾値決定部15は、閾値Th0が未設定であるか、あるいは顔領域が検出されない状態から顔領域が検出される状態へ移行したかなどのいずれかの条件に該当するか否かを判定する。このとき、閾値の更新タイミングでない場合(ステップS103No)、閾値決定部15は、閾値の更新が継続中であるか否か、例えば計測フレーム数FrNumで規定フレームFrを計測中であるか否かを判定する(ステップS104)。
 このとき、閾値の更新タイミングであるか、あるいは閾値の更新が継続中である場合(ステップS103YesまたはステップS104Yes)、閾値決定部15は、頷き動作を分類する閾値を決定する閾値決定処理を実行し(ステップS105)、ステップS101の処理へ移行する。
 一方、閾値の更新タイミングでなく、かつ閾値の更新が継続中でもない場合(ステップS103NoかつステップS104No)、分類部17は、閾値記憶部17aに記憶された閾値Th0を読み出す(ステップS106)。その上で、分類部17は、頷き動作を深い頷きまたは浅い頷きに分類する分類処理を実行し(ステップS107)、ステップS101の処理へ移行する。
(2)頷き検出処理
 図6は、実施例1に係る頷き検出処理の手順を示すフローチャートである。この処理は、図5に示すステップS102の処理に対応する。図6に示すように、頭部検出部13aは、ステップS101で取得された画像フレームNから顔領域を検出する(ステップS301)。続いて、特徴点検出部13bは、ステップS301で検出された顔領域から顔のコーナー特徴点を検出する(ステップS302)。
 そして、特徴点追跡部13cは、ステップS302でコーナー特徴点の検出が実行された画像フレームNと、それ以前、例えば1つ前のフレームの画像である画像フレームN-1との間でコーナー特徴点の移動ベクトルを算出する(ステップS303)。
 その後、動作判定部13dは、ステップS303で算出されたコーナー特徴点の移動ベクトルの垂直成分vをそれまでの累積加算値にさらに累積して加算する(ステップS30
4)。これにより、現在の画像フレーム、すなわちステップS101で画像が取得された最新のフレームにおけるコーナー特徴点の垂直方向の変位が算出される。
 そして、動作判定部13dは、現在の画像フレームから過去の画像フレームに遡って得られたコーナー特徴点の変位波形に頷き動作、例えば頭を下げてから上げる動作が含まれるか否かを判定する(ステップS305)。
 このとき、頷き動作が検出された場合(ステップS305Yes)、動作判定部13dは、コーナー特徴点の変位波形のうち頷き動作に対応する部分波形を頷き波形として抽出した上で当該頷き波形を内部メモリのワークエリアに保存し(ステップS306)、処理を終了する。なお、頷き動作が検出されない場合(ステップS305No)、ステップS306の処理をスキップし、処理を終了する。
(3)閾値決定処理
 図7は、実施例1に係る閾値決定処理の手順を示すフローチャートである。この処理は、図5に示すステップS105の処理に対応する。図7に示すように、深さ算出部15aは、レジスタに保持された計測フレーム数FrNumを更新する(ステップS501)。例えば、閾値の更新が開始されたタイミングでは、レジスタに保持された計測フレーム数FrNumの値が初期化される。また、閾値の更新が継続中である場合、レジスタに保持された計測フレーム数FrNumの値が1つインクリメントされる。
 続いて、深さ算出部15aは、動作判定部13dにより内部メモリのワークエリアに保存された頷き波形のピークを頷き深さdとして算出する(ステップS502)。なお、ステップS502の処理は、必ずしも毎フレームにわたって実行されるとは限らない。すなわち、図6に示すステップS306の処理がスキップされた場合、内部メモリのワークエリアに頷き波形が保存されないので、ステップS502の処理はスキップされる。
 そして、分布更新部15bは、内部メモリのワークエリアに保存された頷き深さのヒストグラムH1の度数のうち、ステップS502で算出された頷き深さdに対応する度数をインクリメントすることにより、頷き深さのヒストグラムH1を更新する(ステップS503)。
 続いて、閾値算出部15cは、レジスタに保持された計測フレーム数FrNumが規定フレーム数Frよりも小さいか否か、すなわちFrNum<Frであるか否かを判定する(ステップS504)。ここで、計測フレーム数FrNumが規定フレーム数Fr未満である場合(ステップS504Yes)、以降の処理をスキップし、処理を終了する。
 一方、計測フレーム数FrNumが規定フレーム数Fr未満でない場合(ステップS504No)、頷き深さのヒストグラムH1の作成が開始されてから規定フレーム数Frが経過したことがわかる。この場合、閾値算出部15cは、頷き深さのヒストグラムH1に含まれる第1ピーク及び第2ピークを検出する(ステップS505)。その上で、閾値算出部15cは、モード法等にしたがって、第1ピーク及び第2ピークの2つの山を分離できる閾値、例えば2つの山の間に形成される谷部の極小値における頷きの深さを閾値Th1として算出する(ステップS506)。
 続いて、更新適否判定部15dは、閾値記憶部17aに閾値Th0の登録があるか否か、言い換えれば閾値Th0の値がNULL値でないか否かを判定する(ステップS507)。このとき、閾値記憶部17aに閾値Th0の登録がある場合(ステップS507Yes)、更新適否判定部15dは、閾値Th0の算出に用いられたヒストグラムH0および閾値Th1の算出に用いられたヒストグラムH1ごとに、第1ピークに対応する頷き深さ
と第2ピークに対応する頷き深さとの差を算出する(ステップS508)。
 その上で、更新適否判定部15dは、頷き深さのヒストグラムH0における第1ピーク及び第2ピークの頷き深さの差と、頷き深さのヒストグラムH1における第1ピーク及び第2ピークの頷き深さの差とのギャップが所定値以上であるか否かを判定する(ステップS509)。
 これらのギャップが所定値以上である場合(ステップS509Yes)、閾値Th0が登録された時点で画像フレームに含まれる人物と、閾値Th1が登録された時点で画像フレームに含まれる人物とが同一人物でない可能性が高まる。この場合、閾値Th0を用いたのでは頷きを正確に分類できない可能性が高まるので、閾値Th1を閾値Th0に上書きする方がよい可能性が高まる。このため、更新適否判定部15dは、頷き深さのヒストグラムH0の面積と、頷き深さのヒストグラムH1の面積との比較をさらに行う(ステップS510)。
 ここで、頷き深さのヒストグラムH1の面積が頷き深さのヒストグラムH0の面積に所定の面積αが加えられた加算値よりも大きい場合、すなわちH1の面積>H0の面積+αである場合(ステップS511Yes)、閾値Th0が登録された時点で画像フレームに含まれる人物と、閾値Th1が登録された時点で画像フレームに含まれる人物とが同一人物でない可能性がさらに高まる。この場合、更新適否判定部15dは、閾値記憶部17aに記憶された閾値Th0をステップS506で算出された閾値Th1に上書きする更新を実行し(ステップS512)、処理を終了する。
 一方、ギャップが所定値以上でない場合、または、頷き深さのヒストグラムH1の面積が頷き深さのヒストグラムH0の面積に所定の面積αが加えられた加算値よりも大きくない場合(ステップS509NoまたはステップS511No)、閾値Th0が登録された時点で画像フレームに含まれる人物と、閾値Th1が登録された時点で画像フレームに含まれる人物とが同一人物である余地が残る。この場合、ステップS512の上書き更新は実施されず、そのまま処理が終了される。
 また、閾値記憶部17aに閾値Th0が未登録である場合(ステップS507No)、閾値更新の適否を判断するまでもないことがわかる。この場合、更新適否判定部15dは、閾値記憶部17aに記憶された閾値Th0をステップS506で算出された閾値Th1に上書きする更新を実行し(ステップS512)、処理を終了する。
(4)分類処理
 図8は、実施例1に係る分類処理の手順を示すフローチャートである。この処理は、図5に示すステップS107の処理に対応する。図8に示すように、分類部17は、動作判定部13dにより内部メモリのワークエリアに保存された頷き波形のピークを頷き深さdとして算出する(ステップS701)。
 その上で、分類部17は、ステップS701で算出された頷き深さdが閾値Th0以上であるか否か、すなわちd≧Th0であるか否かを判定する(ステップS702)。このとき、頷き深さdが閾値Th0以上である場合(ステップS702Yes)、分類部17は、当該頷き深さdが算出された頷き動作を「深い頷き」に分類し(ステップS703)、処理を終了する。一方、頷き深さdが閾値Th0以上でない場合(ステップS702No)、分類部17は、当該頷き深さdが算出された頷き動作を「浅い頷き」に分類し(ステップS704)、処理を終了する。
[実施例1の効果の一側面]
 上述してきたように、本実施例に係る画像処理装置10は、撮像装置5が撮像する画像フレームから検出される頷きの深さの度数分布に基づいて、画像フレームから検出される頷きの深さを浅い頷き及び深い頷きに分類する閾値を決定する。すなわち、撮像装置5と被写体である顧客の頭部との位置関係が変化する場合でも、頷きの深さの度数分布は、浅い頷きに対応する分布と、深い頷きに対応する分布との2つの山を含む双峰性を有する形状となる。それ故、閾値の一例として、2つの山を分離できる閾値、例えば2つの山の間に形成される谷部の頷きの深さを用いることにより、撮像装置5と被写体の位置関係に依らず、浅い頷き及び深い頷きを分類できる閾値を決定することができる。したがって、本実施例に係る画像処理装置10によれば、異なる深さの頷きを分類することが可能になる。さらに、本実施例に係る画像処理装置10によれば、撮像装置5と被写体の位置関係が固定でない場合でも、分類精度の低下を抑制できる。
 さて、上記の実施例1では、頷き動作を分類する閾値Th0が1つである場合を例示したが、複数の閾値を適応的に切り替えて用いることもできる。そこで、本実施例では、一例として、撮像装置5と被写体の距離が近距離または遠距離であるか否かにより、近距離用の閾値Th0A及び遠距離用の閾値Th0Bを切り替えて頷き動作の分類に用いる例を説明する。
[システム構成]
 図9は、実施例2に係る画像処理システムの構成例を示す図である。図9に示す画像処理システム2には、撮像装置5A~5Cと、画像処理装置20A~20Cと、サーバ装置200とが含まれる。以下では、撮像装置5A~5Cを総称する場合に「撮像装置5」と記載すると共に、画像処理装置20A~20Cを総称する場合に「画像処理装置20」と記載する場合がある。
 図9に示すように、画像処理装置20には、撮像装置5が接続される。さらに、画像処理装置及びサーバ装置200の間は、ネットワークNWを介して、互いが通信可能に接続される。このネットワークNWには、有線または無線を問わず、インターネット(Internet)を始め、LAN(Local Area Network)やVPN(Virtual Private Network)
などの任意の種類の通信網を採用できる。
 続いて、本実施例に係るユースケースについて説明する。図10は、ユースケースの他の一例を示す図である。図10には、アパレルショップの売り場に所属する店員の顧客に対する応対品質を評価する前処理として、撮像装置5により撮像される画像から検出される店員の頷きを分類する場面が示されている。このように店員の頷きを分類する場面でも、図2に示すユースケース、すなわち顧客の頷きを分類する場合と同様に、撮像装置5と被写体である店員の頭部との位置関係は固定とはならない。例えば、撮像装置5及び店員の頭部7aの間の距離がd3である位置関係で接客が行われる場合もあれば、撮像装置5及び店員の頭部7bの間の距離がd4である位置関係で接客が行われる場合もある。このように位置関係が異なれば、同一の深さの頷きが行われた場合でも、画像フレームに現れる頭部の垂直方向の変化量には差が生じる。すなわち、同一の深さの頷きが行われた場合でも、近い位置関係で画像フレームに現れる頭部の垂直方向の変化量の方が遠い位置関係で画像フレームに現れる頭部の垂直方向の変化量よりも大きくなる。
 そこで、本実施例に係る画像処理装置20は、上記の実施例1と同様のアプローチで深い頷き及び浅い頷きを分類する閾値を適切に決定することに加え、撮像装置5と被写体の距離が近距離または遠距離であるか否かにより、近距離用の閾値Th0A及び遠距離用の閾値Th0Bを切り替えて頷き動作の分類に用いる。
 図9の説明に戻り、サーバ装置200は、頷き動作の分類結果から店員の応対評価を行う評価サービスを提供するコンピュータである。
 一実施形態として、サーバ装置200は、パッケージソフトウェア又はオンラインソフトウェアとして、上記の評価サービスを実現する評価プログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、サーバ装置200は、上記の評価サービスを提供するWebサーバとして実装することとしてもよいし、アウトソーシングによって上記の評価サービスを提供するクラウドとして実装することとしてもかまわない。
 例えば、サーバ装置200は、頷き動作の分類結果の一例として、画像処理装置20から深い頷きの回数および浅い頷きの回数を収集する。このように深い頷きの回数および浅い頷きの回数が収集されると、サーバ装置200は、深い頷きの回数および浅い頷きの回数から店員の応対品質を評価する評価値を算出する。例えば、深い頷きの頻度が高いほど顧客が発話する話題を理解し、かつその理解を顧客に伝達していると評価できるので、評価値も高く算出する。また、浅い頷きの頻度が高いほど顧客の発話を遮らずに顧客の話しに耳を傾けていると評価できるので、評価値も高く算出する。そうであるからと言って、浅い頷きの頻度が高すぎると顧客にあざとらしさを与えることになるので、上限値を設定し、浅い頷きの頻度が上限値を超える場合、上限値を超える段階に応じて評価値を減じることもできる。このように店員の応対品質に関する評価値が算出された後、サーバ装置200は、分類結果を収集した画像処理装置20に店員の応対品質に関する評価値を送信する。これにより、店員の管理者等が店員の成績を評価するのを支援したり、店員の管理者が店員の接客態度を指導するのを支援したりすることができる。
[画像処理装置20の構成]
 図11は、実施例2に係る画像処理装置20の機能的構成を示すブロック図である。図11には、上記の実施例1と同様の機能を発揮する機能部には同一の符号が付与される一方で、図1に追加された機能部または一部の機能が異なる機能部には異なる符号が付与されている。それ故、以下では、異なる符号が付与された機能部の説明に重点を置いて説明を行う一方で、同一の符号が付与された機能部の説明については省略する。
 図11に示すように、画像処理装置20は、図1に示す画像処理装置10に比べて、距離推定部21をさらに有すると共に、閾値決定部22及び分類部24の機能の一部が異なる。
 距離推定部21は、撮像装置5と頷きの検出対象とする被写体との距離を推定する処理部である。
 一実施形態として、距離推定部21は、頭部検出部13aにより顔領域が検出される度に、次のような処理を実行する。すなわち、距離推定部21は、頭部検出部13aにより検出された顔領域の画素数Aを計数する。このとき、距離推定部21は、顔領域に含まれる画素のうち肌色に対応する色を持つ画素を対象とし、画素数Aを計測することもできる。その上で、距離推定部21は、顔領域の画素数Aから、撮像装置5と被写体である顔領域との距離Dを算出する。例えば、距離推定部21は、顔領域の画素数Aが画像フレームの画素総数で除算された値、すなわち「顔領域の画素数A/画像フレームの画素総数」が所定値、例えば「0.2」以下であるか否かにより、近距離「0」または遠距離「1」の2値に分類される距離Dを算出する。すなわち、顔領域の画素数A/画像フレームの画素総数が所定値以上である場合、顔領域の画素数A/画像フレームの画素総数が所定値未満である場合に比べて、顔領域の画素数Aの割合が相対的に大きいことがわかる。この場合、距離Dが近距離「0」に分類される。一方、顔領域の画素数A/画像フレームの画素総
数が所定値未満である場合、顔領域の画素数A/画像フレームの画素総数が所定値以上である場合に比べて、顔領域の画素数Aの割合が相対的に小さいことがわかる。この場合、距離Dが遠距離「1」に分類される。その上で、距離推定部21は、撮像装置5との距離Dを後段の機能部、すなわち分布更新部22a、閾値算出部22b及び分類部24へ出力する。なお、ここでは、顔領域の画素数から距離Dを算出する場合を例示したが、頭部領域の画素数からも同様にして距離Dを算出することができる。
 分布更新部22aは、図1に示す分布更新部15bに比べて、距離推定部21により推定された距離Dが近距離「0」または遠距離「1」であるか否かにより、更新するヒストグラムを切り替える点が異なる。すなわち、分布更新部22aは、距離Dが近距離「0」である場合、近距離用のヒストグラムH1Aを更新する。一方、分布更新部22aは、距離Dが遠距離「1」である場合、遠距離用のヒストグラムH1Bを更新する。
 また、閾値算出部22bは、図1に示す閾値算出部15cに比べて、距離推定部21により推定された距離Dが近距離「0」または遠距離「1」であるか否かにより、閾値算出に用いるヒストグラムを切り替える点が異なる。すなわち、閾値算出部22bは、距離Dが近距離「0」である場合、近距離用のヒストグラムH1Aから近距離用の閾値Th1Aを算出する。一方、閾値算出部22bは、距離Dが遠距離「1」である場合、遠距離用のヒストグラムH1Bから遠距離用の閾値Th1Bを算出する。
 また、更新適否判定部22cは、図1に示す更新適否判定部15dに比べて、距離推定部21により推定された距離Dが近距離「0」または遠距離「1」であるか否かにより、上書きの適否を判定する閾値を切り替える点が異なる。すなわち、更新適否判定部22cは、距離Dが近距離「0」である場合、閾値Th1Aを閾値Th0Aに上書きするか否かを判定する。一方、閾値算出部22bは、距離Dが遠距離「1」である場合、閾値Th1Bを閾値Th0Bに上書きするか否かを判定する。
 また、分類部24は、図1に示す閾値算出部15cに比べて、距離推定部21により推定された距離Dが近距離「0」または遠距離「1」であるか否かにより、頷き動作の分類を行う場合に読み出す閾値を切り替える点が異なる。すなわち、分類部24は、距離Dが近距離「0」である場合、閾値記憶部23から閾値Th0Aを読み出す一方で、距離Dが遠距離「1」である場合、閾値記憶部23から閾値Th0Bを読み出す。
 さらに、図11に示す閾値記憶部23には、図1に示す閾値記憶部17aに比べて、近距離用の閾値Th0A及び遠距離用の閾値Th0Bの2つの閾値が記憶される点が異なる。図12及び図13は、頷き深さのヒストグラムの一例を示す図である。図12には、近距離用のヒストグラムH1Aが示される一方で、図13には、遠距離用のヒストグラムH1Bが示されている。図12及び図13を対比すると、近距離用のヒストグラムH1Aは、遠距離用のヒストグラムH1Bに比べて、第1ピーク及び第2ピークを含む分布全体が右寄りとなる。一方、遠距離用のヒストグラムH1Bは、近距離用のヒストグラムH1Aに比べて、第1ピーク及び第2ピークを含む分布全体が左寄りとなる。このため、近距離用のヒストグラムH1Aから算出される閾値Th1Aの方が遠距離用のヒストグラムH1Bから算出される閾値Th1Bよりも大きくなる可能性が高いことがわかる。
(1)距離推定処理
 図14は、実施例2に係る距離推定処理の手順を示すフローチャートである。この処理は、一例として、図6に示すステップS301で顔領域が検出された後に実行される処理であり、図6に示す頷き検出処理とは並行して実行することができる。
 図14に示すように、距離推定部21は、頭部検出部13aにより検出された顔領域の
画素数Aを計数する(ステップS901)。このとき、距離推定部21は、顔領域に含まれる画素のうち肌色に対応する色を持つ画素を対象とし、画素数Aを計測することもできる。
 その上で、距離推定部21は、ステップS901で計数された顔領域の画素数Aから、撮像装置5と被写体である顔領域との距離Dを算出する(ステップS902)。例えば、距離推定部21は、顔領域の画素数A/画像フレームの画素総数が所定値以上である場合、撮像装置5との距離Dを近距離「0」と推定する。一方、距離推定部21は、顔領域の画素数A/画像フレームの画素総数が所定値未満である場合、撮像装置5との距離Dを遠距離「1」と推定する。
 その後、距離推定部21は、ステップS902で推定された撮像装置5との距離Dを後段の機能部、すなわち分布更新部22a、閾値算出部22b及び分類部24へ出力し(ステップS903)、処理を終了する。
(2)閾値決定処理
 図15は、実施例2に係る閾値決定処理の手順を示すフローチャートである。この処理は、図7に示す処理に差し替えて実行することができる。図15に示すように、深さ算出部15aは、レジスタに保持された計測フレーム数FrNumを更新する(ステップS501)。例えば、閾値の更新が開始されたタイミングでは、レジスタに保持された計測フレーム数FrNumの値が初期化される。また、閾値の更新が継続中である場合、レジスタに保持された計測フレーム数FrNumの値が1つインクリメントされる。
 続いて、深さ算出部15aは、動作判定部13dにより内部メモリのワークエリアに保存された頷き波形のピークを頷き深さdとして算出する(ステップS502)。なお、ステップS502の処理は、必ずしも毎フレームにわたって実行されるとは限らない。すなわち、図6に示すステップS306の処理がスキップされた場合、内部メモリのワークエリアに頷き波形が保存されないので、ステップS502の処理はスキップされる。
 このステップS502以降の処理は、図14に示すステップS902で推定された撮像装置5との距離Dが近距離「0」または遠距離「1」であるか否かにより、分岐する。以下では、近距離「0」に分岐する処理のステップ番号の末尾には「A」を付与する一方で遠距離「1」に分岐する処理のステップ番号の末尾には「B」を付与し、両者を個別に説明する。
(2.1)分岐A
 例えば、撮像装置5との距離Dが近距離「0」である場合(ステップS1101Yes)、分布更新部22aは、内部メモリのワークエリアに保存された頷き深さのヒストグラムH1Aの度数のうち、ステップS502で算出された頷き深さdに対応する度数をインクリメントすることにより、近距離用の頷き深さのヒストグラムH1Aを更新する(ステップS503A)。
 続いて、閾値算出部22bは、レジスタに保持された計測フレーム数FrNumが規定フレーム数Frよりも小さいか否か、すなわちFrNum<Frであるか否かを判定する(ステップS504A)。ここで、計測フレーム数FrNumが規定フレーム数Fr未満である場合(ステップS504AYes)、以降の処理をスキップし、処理を終了する。
 一方、計測フレーム数FrNumが規定フレーム数Fr未満でない場合(ステップS504ANo)、近距離用の頷き深さのヒストグラムH1Aの作成が開始されてから規定フレーム数Frが経過したことがわかる。この場合、閾値算出部22bは、近距離用の頷き
深さのヒストグラムH1Aに含まれる第1ピーク及び第2ピークを検出する(ステップS505A)。その上で、閾値算出部22bは、モード法等にしたがって、第1ピーク及び第2ピークの2つの山を分離できる閾値、例えば2つの山の間に形成される谷部の極小値における頷きの深さを閾値Th1Aとして算出する(ステップS506A)。
 続いて、更新適否判定部22cは、閾値記憶部23に閾値Th0Aの登録があるか否か、言い換えれば閾値Th0Aの値がNULL値でないか否かを判定する(ステップS507A)。このとき、閾値記憶部23に閾値Th0Aの登録がある場合(ステップS507AYes)、更新適否判定部22cは、閾値Th0Aの算出に用いられたヒストグラムH0Aおよび閾値Th1Aの算出に用いられたヒストグラムH1Aごとに、第1ピークに対応する頷き深さと第2ピークに対応する頷き深さとの差を算出する(ステップS508A)。
 その上で、更新適否判定部22cは、頷き深さのヒストグラムH0Aにおける第1ピーク及び第2ピークの頷き深さの差と、頷き深さのヒストグラムH1Aにおける第1ピーク及び第2ピークの頷き深さの差とのギャップが所定値以上であるか否かを判定する(ステップS509A)。
 これらのギャップが所定値以上である場合(ステップS509AYes)、閾値Th0Aが登録された時点で画像フレームに含まれる人物と、閾値Th1Aが登録された時点で画像フレームに含まれる人物とが同一人物でない可能性が高まる。この場合、閾値Th0Aを用いたのでは頷きを正確に分類できない可能性が高まるので、閾値Th1Aを閾値Th0Aに上書きする方がよい可能性が高まる。このため、更新適否判定部22cは、頷き深さのヒストグラムH0Aの面積と、頷き深さのヒストグラムH1Aの面積との比較をさらに行う(ステップS510A)。
 ここで、頷き深さのヒストグラムH1Aの面積が頷き深さのヒストグラムH0Aの面積に所定の面積αが加えられた加算値よりも大きい場合、すなわちH1Aの面積>H0Aの面積+αである場合(ステップS511AYes)、閾値Th0Aが登録された時点で画像フレームに含まれる人物と、閾値Th1Aが登録された時点で画像フレームに含まれる人物とが同一人物でない可能性がさらに高まる。この場合、更新適否判定部22cは、閾値記憶部23に記憶された閾値Th0AをステップS506Aで算出された閾値Th1Aに上書きする更新を実行し(ステップS512A)、処理を終了する。
 一方、ギャップが所定値以上でない場合、または、頷き深さのヒストグラムH1Aの面積が頷き深さのヒストグラムH0Aの面積に所定の面積αが加えられた加算値よりも大きくない場合(ステップS509ANoまたはステップS511ANo)、閾値Th0Aが登録された時点で画像フレームに含まれる人物と、閾値Th1Aが登録された時点で画像フレームに含まれる人物とが同一人物である余地が残る。この場合、ステップS512Aの上書き更新は実施されず、そのまま処理が終了される。
 また、閾値記憶部23に閾値Th0Aが未登録である場合(ステップS507ANo)、閾値更新の適否を判断するまでもないことがわかる。この場合、更新適否判定部22cは、閾値記憶部23に記憶された閾値Th0AをステップS506Aで算出された閾値Th1Aに上書きする更新を実行し(ステップS512A)、処理を終了する。
(2.2)分岐B
 例えば、撮像装置5との距離Dが遠距離「1」である場合(ステップS1101No)、分布更新部22aは、内部メモリのワークエリアに保存された頷き深さのヒストグラムH1Bの度数のうち、ステップS502で算出された頷き深さdに対応する度数をインク
リメントすることにより、遠距離用の頷き深さのヒストグラムH1Bを更新する(ステップS503B)。
 続いて、閾値算出部22bは、レジスタに保持された計測フレーム数FrNumが規定フレーム数Frよりも小さいか否か、すなわちFrNum<Frであるか否かを判定する(ステップS504B)。ここで、計測フレーム数FrNumが規定フレーム数Fr未満である場合(ステップS504BYes)、以降の処理をスキップし、処理を終了する。
 一方、計測フレーム数FrNumが規定フレーム数Fr未満でない場合(ステップS504BNo)、遠距離用の頷き深さのヒストグラムH1Bの作成が開始されてから規定フレーム数Frが経過したことがわかる。この場合、閾値算出部22bは、遠距離用の頷き深さのヒストグラムH1Bに含まれる第1ピーク及び第2ピークを検出する(ステップS505B)。その上で、閾値算出部22bは、モード法等にしたがって、第1ピーク及び第2ピークの2つの山を分離できる閾値、例えば2つの山の間に形成される谷部の極小値における頷きの深さを閾値Th1Bとして算出する(ステップS506B)。
 続いて、更新適否判定部22cは、閾値記憶部23に閾値Th0Bの登録があるか否か、言い換えれば閾値Th0Bの値がNULL値でないか否かを判定する(ステップS507B)。このとき、閾値記憶部23に閾値Th0Bの登録がある場合(ステップS507BYes)、更新適否判定部22cは、閾値Th0Bの算出に用いられたヒストグラムH0Bおよび閾値Th1Bの算出に用いられたヒストグラムH1Bごとに、第1ピークに対応する頷き深さと第2ピークに対応する頷き深さとの差を算出する(ステップS508B)。
 その上で、更新適否判定部22cは、頷き深さのヒストグラムH0Bにおける第1ピーク及び第2ピークの頷き深さの差と、頷き深さのヒストグラムH1Bにおける第1ピーク及び第2ピークの頷き深さの差とのギャップが所定値以上であるか否かを判定する(ステップS509B)。
 これらのギャップが所定値以上である場合(ステップS509BYes)、閾値Th0Bが登録された時点で画像フレームに含まれる人物と、閾値Th1Bが登録された時点で画像フレームに含まれる人物とが同一人物でない可能性が高まる。この場合、閾値Th0Bを用いたのでは頷きを正確に分類できない可能性が高まるので、閾値Th1Bを閾値Th0Bに上書きする方がよい可能性が高まる。このため、更新適否判定部22cは、頷き深さのヒストグラムH0Bの面積と、頷き深さのヒストグラムH1Bの面積との比較をさらに行う(ステップS510B)。
 ここで、頷き深さのヒストグラムH1Bの面積が頷き深さのヒストグラムH0Bの面積に所定の面積αが加えられた加算値よりも大きい場合、すなわちH1Bの面積>H0Bの面積+αである場合(ステップS511BYes)、閾値Th0Bが登録された時点で画像フレームに含まれる人物と、閾値Th1Bが登録された時点で画像フレームに含まれる人物とが同一人物でない可能性がさらに高まる。この場合、更新適否判定部22cは、閾値記憶部23に記憶された閾値Th0BをステップS506Bで算出された閾値Th1Bに上書きする更新を実行し(ステップS512B)、処理を終了する。
 一方、ギャップが所定値以上でない場合、または、頷き深さのヒストグラムH1Bの面積が頷き深さのヒストグラムH0Bの面積に所定の面積αが加えられた加算値よりも大きくない場合(ステップS509BNoまたはステップS511BNo)、閾値Th0Bが登録された時点で画像フレームに含まれる人物と、閾値Th1Bが登録された時点で画像フレームに含まれる人物とが同一人物である余地が残る。この場合、ステップS512B
の上書き更新は実施されず、そのまま処理が終了される。
 また、閾値記憶部23に閾値Th0Bが未登録である場合(ステップS507BNo)、閾値更新の適否を判断するまでもないことがわかる。この場合、更新適否判定部22cは、閾値記憶部23に記憶された閾値Th0BをステップS506Bで算出された閾値Th1Bに上書きする更新を実行し(ステップS512B)、処理を終了する。
(3)閾値読出処理
 図16は、実施例2に係る閾値読出処理の手順を示すフローチャートである。この処理は、一例として、図5に示すステップS106の処理と差し替えて実行することができる。図16に示すように、分類部24は、距離Dが近距離「0」であるか否かを判定する(ステップS1301)。
 そして、距離Dが近距離「0」である場合(ステップS1301Yes)、分類部24は、閾値記憶部23から閾値Th0Aを読み出し(ステップS1302)、処理を終了する。一方、距離Dが遠距離「1」である場合(ステップS1301No)、分類部24は、閾値記憶部23から閾値Th0Bを読み出し(ステップS1303)、処理を終了する。
[実施例2の効果の一側面]
 上述してきたように、本実施例に係る画像処理装置20は、上記の実施例1に係る画像処理装置10と同様に、撮像装置5が撮像する画像フレームから検出される頷きの深さの度数分布に基づいて、画像フレームから検出される頷きの深さを浅い頷き及び深い頷きに分類する閾値を決定する。したがって、本実施例に係る画像処理装置20によれば、異なる深さの頷きを分類することが可能になる。さらに、本実施例に係る画像処理装置20によれば、撮像装置5と被写体の位置関係が固定でない場合でも、分類精度の低下を抑制できる。
 さらに、本実施例に係る画像処理装置20は、撮像装置5と被写体の距離が近距離または遠距離であるか否かにより、近距離用の閾値Th0A及び遠距離用の閾値Th0Bを切り替えて頷き動作の分類に用いる。したがって、本実施例に係る画像処理装置20によれば、撮像装置5と被写体の位置関係に合わせて閾値を選択できる結果、分類精度の低下をより効果的に抑制できる。
 さて、これまで開示の装置に関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
[ユースケースの応用例]
 上記の実施例1及び実施例2では、人による接客が行われる場合をユースケースとして例示したが、ロボットにより接客が行われる場合にも、実施例1及び実施例2で説明した各処理を適用できる。例えば、ロボットに撮像装置5を内蔵または付設し、撮像装置5から取った画像フレームをロボット本体に画像処理装置10または画像処理装置20の機能を内蔵し、頷き動作の分類結果を含む頷き情報をファイル化してサーバ装置200等の外部装置に頷き情報を転送し、外部装置上で処理した結果をロボットにフィードバックすることもできる。
[閾値の応用例]
 上記の実施例1及び実施例2では、頷き深さのヒストグラムが浅い頷きに対応する分布
と、深い頷きに対応する分布との2つの山を含む双峰性を有する形状を想定したが、必ずしも2つのピークが存在せず、1つしかピークが存在しないケースも生じうる。この場合、1つの山のピークに対応する頷き深さを閾値として算出することとしてもかまわない。
[分散および統合]
 また、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されておらずともよい。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、画像処理装置10または画像処理装置20が有する機能部の一部を画像処理装置10または画像処理装置20の外部装置としてネットワーク経由で接続するようにしてもよい。また、画像処理装置10または画像処理装置20が有する機能部の一部を別の装置がそれぞれ有し、ネットワーク接続されて協働することで、上記の画像処理装置10または上記の画像処理装置20の機能を実現するようにしてもよい。
[画像処理プログラム]
 また、上記の実施例で説明した各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図17を用いて、上記の実施例と同様の機能を有する画像処理プログラムを実行するコンピュータの一例について説明する。
 図17は、実施例1~実施例3に係る画像処理プログラムを実行するコンピュータのハードウェア構成例を示す図である。図17に示すように、コンピュータ100は、操作部110aと、スピーカ110bと、カメラ110cと、ディスプレイ120と、通信部130とを有する。さらに、このコンピュータ100は、CPU150と、ROM160と、HDD170と、RAM180とを有する。これら110~180の各部はバス140を介して接続される。
 HDD170には、図17に示すように、上記の実施例1で示した取得部11、動作検出部13、閾値決定部15及び分類部17と同様の機能を発揮する画像処理プログラム170aが記憶される。この画像処理プログラム170aは、図1に示した取得部11、動作検出部13、閾値決定部15及び分類部17の各構成要素と同様、統合又は分離してもかまわない。すなわち、HDD170には、必ずしも上記の実施例1で示した全てのデータが格納されずともよく、処理に用いるデータがHDD170に格納されればよい。なお、ここでは、あくまで一例として、上記の実施例1で示した取得部11、動作検出部13、閾値決定部15及び分類部17と同様の機能を発揮する画像処理プログラム170aがHDD170に記憶される場合を例示したが、上記の実施例2で示した取得部11、動作検出部13、距離推定部21、閾値決定部22及び分類部24と同様の機能を発揮する画像処理プログラム170aが記憶されることとしてもかまわない。
 このような環境の下、CPU150は、HDD170から画像処理プログラム170aを読み出した上でRAM180へ展開する。この結果、画像処理プログラム170aは、図17に示すように、画像処理プロセス180aとして機能する。この画像処理プロセス180aは、RAM180が有する記憶領域のうち画像処理プロセス180aに割り当てられた領域にHDD170から読み出した各種データを展開し、この展開した各種データを用いて各種の処理を実行する。例えば、画像処理プロセス180aが実行する処理の一例として、図5~図8や図14~図16に示す処理などが含まれる。なお、CPU150では、必ずしも上記の実施例1で示した全ての処理部が動作せずともよく、実行対象とする処理に対応する処理部が仮想的に実現されればよい。
 なお、上記の画像処理プログラム170aは、必ずしも最初からHDD170やROM160に記憶されておらずともかまわない。例えば、コンピュータ100に挿入されるフレキシブルディスク、いわゆるFD、CD-ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に画像処理プログラム170aを記憶させる。そして、コンピュータ100がこれらの可搬用の物理媒体から画像処理プログラム170aを取得して実行するようにしてもよい。また、公衆回線、インターネット、LAN、WANなどを介してコンピュータ100に接続される他のコンピュータまたはサーバ装置などに画像処理プログラム170aを記憶させておき、コンピュータ100がこれらから画像処理プログラム170aを取得して実行するようにしてもよい。
   5  撮像装置
  10  画像処理装置
  11  取得部
  13  動作検出部
  13a 頭部検出部
  13b 特徴点検出部
  13c 特徴点追跡部
  13d 動作判定部
  15  閾値決定部
  15a 深さ算出部
  15b 分布更新部
  15c 閾値算出部
  15d 更新適否判定部
  17  分類部
  17a 閾値記憶部

Claims (5)

  1.  撮像装置を用いて撮像した画像フレームを取得し、
     取得した前記画像フレームに頭部領域が含まれるかを判定し、
     前記頭部領域が含まれると判定した場合に、前記頭部領域の前記画像フレームにおける位置と前記画像フレームに後続する他の画像フレームに含まれる頭部領域の位置とを用いて頭部領域の時系列の第1の変化量を算出し、
     取得した前記画像フレームよりも過去の画像フレーム群に含まれる頭部領域の時系列の変化量の頻度分布に基づいて、前記第1の変化量と比較する閾値を決定し、
     決定した前記閾値と前記第1の変化量を比較して、前記第1の変化量を評価する、
     処理をコンピュータに実行させることを特徴とする画像処理プログラム。
  2.  前記決定する処理は、前記頻度分布が含む第1ピーク及び第2ピークの間に形成された谷部に対応する変化量を、前記第1の変化量と比較する閾値として決定することを特徴とする請求項1に記載の画像処理プログラム。
  3.  前記画像フレームに対する前記頭部領域の割合から、前記撮像装置と前記頭部領域の距離を推定する処理をさらに実行し、
     前記決定する処理は、前記距離が所定値以上である場合、前記頭部領域の時系列の変化量の第1の頻度分布に基づいて、前記第1の変化量と比較する第1の閾値を決定し、前記距離が所定値未満である場合、前記頭部領域の時系列の変化量の第2の頻度分布に基づいて、前記第1の変化量と比較する第2の閾値を決定し、
     前記評価する処理は、前記距離が所定値以上である場合、決定した前記第1の閾値と前記第1の変化量を比較して、前記第1の変化量を評価し、前記距離が所定値未満である場合、決定した前記第2の閾値と前記第1の変化量を比較して、前記第1の変化量を評価することを特徴とする請求項1または2に記載の画像処理プログラム。
  4.  撮像装置を用いて撮像した画像フレームを取得し、
     取得した前記画像フレームに頭部領域が含まれるかを判定し、
     前記頭部領域が含まれると判定した場合に、前記頭部領域の前記画像フレームにおける位置と前記画像フレームに後続する他の画像フレームに含まれる頭部領域の位置とを用いて頭部領域の時系列の第1の変化量を算出し、
     取得した前記画像フレームよりも過去の画像フレーム群に含まれる頭部領域の時系列の変化量の頻度分布に基づいて、前記第1の変化量と比較する閾値を決定し、
     決定した前記閾値と前記第1の変化量を比較して、前記第1の変化量を評価する、
     処理をコンピュータが実行することを特徴とする画像処理方法。
  5.  撮像装置を用いて撮像した画像フレームを取得する取得部と、
     取得した前記画像フレームに頭部領域が含まれるかを判定する判定部と、
     前記頭部領域が含まれると判定した場合に、前記頭部領域の前記画像フレームにおける位置と前記画像フレームに後続する他の画像フレームに含まれる頭部領域の位置とを用いて頭部領域の時系列の第1の変化量を算出する算出部と、
     取得した前記画像フレームよりも過去の画像フレーム群に含まれる頭部領域の時系列の変化量の頻度分布に基づいて、前記第1の変化量と比較する閾値を決定する閾値決定部と、
     決定した前記閾値と前記第1の変化量を比較して、前記第1の変化量を評価する評価部と、
     処理をコンピュータが実行することを特徴とする画像処理装置。
PCT/JP2017/047209 2017-01-20 2017-12-28 画像処理プログラム、画像処理方法及び画像処理装置 WO2018135292A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/444,106 US11093735B2 (en) 2017-01-20 2019-06-18 Image processing method, image processing apparatus, and non-transitory computer-readable storage medium storing program for image processing having gesture recognition

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017008863A JP6747311B2 (ja) 2017-01-20 2017-01-20 画像処理プログラム、画像処理方法及び画像処理装置
JP2017-008863 2017-04-25

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/444,106 Continuation US11093735B2 (en) 2017-01-20 2019-06-18 Image processing method, image processing apparatus, and non-transitory computer-readable storage medium storing program for image processing having gesture recognition

Publications (1)

Publication Number Publication Date
WO2018135292A1 true WO2018135292A1 (ja) 2018-07-26

Family

ID=62908464

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2017/047209 WO2018135292A1 (ja) 2017-01-20 2017-12-28 画像処理プログラム、画像処理方法及び画像処理装置

Country Status (3)

Country Link
US (1) US11093735B2 (ja)
JP (1) JP6747311B2 (ja)
WO (1) WO2018135292A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107820010B (zh) * 2017-11-17 2020-11-06 英业达科技有限公司 摄影计数装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009267621A (ja) * 2008-04-23 2009-11-12 Yamaha Corp 通信装置
JP2015046732A (ja) * 2013-08-28 2015-03-12 キヤノン株式会社 画像処理装置、画像処理方法
JP2015064698A (ja) * 2013-09-24 2015-04-09 富士通株式会社 画像処理装置、画像処理方法、および画像処理プログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000163196A (ja) * 1998-09-25 2000-06-16 Sanyo Electric Co Ltd ジェスチャ認識装置及びジェスチャ認識機能を有する指示認識装置
JP2000315259A (ja) 1999-05-06 2000-11-14 Sharp Corp データベース作成装置及びデータベース作成プログラムを記録した記録媒体
JP2007094619A (ja) * 2005-09-28 2007-04-12 Omron Corp 認識装置および方法、記録媒体、並びに、プログラム。

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009267621A (ja) * 2008-04-23 2009-11-12 Yamaha Corp 通信装置
JP2015046732A (ja) * 2013-08-28 2015-03-12 キヤノン株式会社 画像処理装置、画像処理方法
JP2015064698A (ja) * 2013-09-24 2015-04-09 富士通株式会社 画像処理装置、画像処理方法、および画像処理プログラム

Also Published As

Publication number Publication date
US20190303657A1 (en) 2019-10-03
JP6747311B2 (ja) 2020-08-26
US11093735B2 (en) 2021-08-17
JP2018116654A (ja) 2018-07-26

Similar Documents

Publication Publication Date Title
Vishnu et al. Human fall detection in surveillance videos using fall motion vector modeling
JP4216668B2 (ja) 映像視覚情報を結合してリアルタイムで複数の顔を検出して追跡する顔検出・追跡システム及びその方法
Pless et al. Evaluation of local models of dynamic backgrounds
Avgerinakis et al. Recognition of activities of daily living for smart home environments
Ryan et al. Crowd counting using group tracking and local features
US20160078287A1 (en) Method and system of temporal segmentation for gesture analysis
CN110232331B (zh) 一种在线人脸聚类的方法及系统
KR101762010B1 (ko) 스켈레톤 자세 데이터세트를 이용한 비디오 기반 상호 활동 모델링 방법
Chongjing et al. Analyzing motion patterns in crowded scenes via automatic tracklets clustering
WO2018068521A1 (zh) 一种人群分析方法及计算机设备
WO2019109142A1 (en) Monitoring systems, and computer implemented methods for processing data in monitoring systems, programmed to enable identification and tracking of human targets in crowded environments
JP4947216B2 (ja) 画像処理装置および画像処理方法
WO2018135292A1 (ja) 画像処理プログラム、画像処理方法及び画像処理装置
WO2020232697A1 (zh) 一种在线人脸聚类的方法及系统
US20200125855A1 (en) Information processing apparatus, information processing method, system, and storage medium to determine staying time of a person in predetermined region
Vennila et al. A Rough Set Framework for Multi-Human Tracking in Surveillance Video
Bo et al. Detection of a hand-raising gesture by locating the arm
Heili et al. Parameter estimation and contextual adaptation for a multi-object tracking CRF model
Ma et al. Depth assisted occlusion handling in video object tracking
Tang et al. Online action recognition based on incremental learning of weighted covariance descriptors
Ichihara et al. Accuracy evaluations of video anomaly detection using human pose estimation
CN114359646A (zh) 一种视频分析方法、装置、系统、电子设备和介质
Kim et al. Directional pedestrian counting with a hybrid map-based model
Stephens et al. Human group activity recognition based on modelling moving regions interdependencies
KR101958927B1 (ko) 통행량을 기반으로 한 적응적 사람 계수 방법 및 장치

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17892550

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17892550

Country of ref document: EP

Kind code of ref document: A1