เจ“เจชเจจเจตเฉ€เจจเฉ‹ เจนเฉˆเจ•เจพเจฅเจจ: เจฐเจพเจธเจฌเฉ‡เจฐเฉ€ เจชเจพเจˆ 'เจคเฉ‡ เจ†เจตเจพเจœเจผ เจ…เจคเฉ‡ เจญเจพเจตเจจเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจชเจ›เจพเจฃเจจเจพ

30 เจจเจตเฉฐเจฌเจฐ - เจจเจฟเจœเจผเจจเฉ€ เจจเฉ‹เจตเจ—เฉ‹เจฐเฉ‹เจก เจตเจฟเฉฑเจš 1 เจฆเจธเฉฐเจฌเจฐ เจจเฉ‚เฉฐ เจ†เจฏเฉ‹เจœเจฟเจค เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจธเฉ€ เจ“เจชเจจเจตเฉ€เจจเฉ‹ เจนเฉˆเจ•เจพเจฅเจจ. เจญเจพเจ—เฉ€เจฆเจพเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจ‡เฉฐเจŸเฉ‡เจฒ เจ“เจชเจจเจตเฉ€เจจเฉ‹ เจŸเฉ‚เจฒเจ•เจฟเฉฑเจŸ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจ‰เจคเจชเจพเจฆ เจนเฉฑเจฒ เจฆเจพ เจ‡เฉฑเจ• เจชเฉเจฐเฉ‹เจŸเฉ‹เจŸเจพเจˆเจช เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ เจ•เจฟเจนเจพ เจ—เจฟเจ† เจธเฉ€เฅค เจ†เจฏเฉ‹เจœเจ•เจพเจ‚ เจจเฉ‡ เจฒเจ—เจญเจ— เจตเจฟเจธเจผเจฟเจ†เจ‚ เจฆเฉ€ เจ‡เฉฑเจ• เจธเฉ‚เจšเฉ€ เจชเฉเจฐเจธเจคเจพเจตเจฟเจค เจ•เฉ€เจคเฉ€ เจœเฉ‹ เจ‡เฉฑเจ• เจ•เจพเจฐเจœ เจฆเฉ€ เจšเฉ‹เจฃ เจ•เจฐเจฆเฉ‡ เจธเจฎเฉ‡เจ‚ เจฆเฉเจ†เจฐเจพ เจฎเจพเจฐเจ—เจฆเจฐเจธเจผเจจ เจ•เฉ€เจคเฉ€ เจœเจพ เจธเจ•เจฆเฉ€ เจนเฉˆ, เจชเจฐ เจ…เฉฐเจคเจฎ เจซเฉˆเจธเจฒเจพ เจŸเฉ€เจฎเจพเจ‚ เจฆเฉ‡ เจ•เฉ‹เจฒ เจฐเจฟเจนเจพเฅค เจ‡เจธ เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ, เจ‰เจจเฉเจนเจพเจ‚ เจฎเจพเจกเจฒเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจจเฉ‚เฉฐ เจ‰เจคเจธเจผเจพเจนเจฟเจค เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจœเฉ‹ เจ‰เจคเจชเจพเจฆ เจตเจฟเฉฑเจš เจธเจผเจพเจฎเจฒ เจจเจนเฉ€เจ‚ เจนเจจเฅค

เจ“เจชเจจเจตเฉ€เจจเฉ‹ เจนเฉˆเจ•เจพเจฅเจจ: เจฐเจพเจธเจฌเฉ‡เจฐเฉ€ เจชเจพเจˆ 'เจคเฉ‡ เจ†เจตเจพเจœเจผ เจ…เจคเฉ‡ เจญเจพเจตเจจเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจชเจ›เจพเจฃเจจเจพ

เจ‡เจธ เจฒเฉ‡เจ– เจตเจฟเจš เจ…เจธเฉ€เจ‚ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจฆเฉฑเจธเจพเจ‚เจ—เฉ‡ เจ•เจฟ เจ…เจธเฉ€เจ‚ เจ‰เจคเจชเจพเจฆ เจฆเจพ เจ†เจชเจฃเจพ เจชเฉเจฐเฉ‹เจŸเฉ‹เจŸเจพเจˆเจช เจ•เจฟเจตเฉ‡เจ‚ เจฌเจฃเจพเจ‡เจ†, เจœเจฟเจธ เจจเจพเจฒ เจ…เจธเฉ€เจ‚ เจ†เจ–เจฐเจ•เจพเจฐ เจชเจนเจฟเจฒเจพ เจธเจฅเจพเจจ เจชเฉเจฐเจพเจชเจค เจ•เฉ€เจคเจพเฅค

เจนเฉˆเจ•เจพเจฅเจจ เจตเจฟเฉฑเจš 10 เจคเฉ‹เจ‚ เจตเฉฑเจง เจŸเฉ€เจฎเจพเจ‚ เจจเฉ‡ เจญเจพเจ— เจฒเจฟเจ†เฅค เจ‡เจน เจšเฉฐเจ—เฉ€ เจ—เฉฑเจฒ เจนเฉˆ เจ•เจฟ เจ‰เจจเฉเจนเจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจ•เฉเจ เจฆเฉ‚เจœเฉ‡ เจ–เฉ‡เจคเจฐเจพเจ‚ เจคเฉ‹เจ‚ เจ†เจ เจนเจจเฅค เจนเฉˆเจ•เจพเจฅเจจ เจฆเจพ เจธเจฅเจพเจจ "เจชเฉ‹เจšเฉˆเจจ 'เจคเฉ‡ เจ•เฉเจฐเฉ‡เจฎเจฒเจฟเจจเจธเจ•เฉ€" เจ•เฉฐเจชเจฒเฉˆเจ•เจธ เจธเฉ€, เจœเจฟเฉฑเจฅเฉ‡ เจจเจฟเจœเจผเจจเฉ€ เจจเฉ‹เจตเจ—เฉ‹เจฐเฉ‹เจก เจฆเฉ€เจ†เจ‚ เจชเฉเจฐเจพเจšเฉ€เจจ เจคเจธเจตเฉ€เจฐเจพเจ‚ เจ‡เฉฑเจ• เจฆเจฒ เจฆเฉ‡ เจ…เฉฐเจฆเจฐ เจฒเจŸเจ•เจพเจˆเจ†เจ‚ เจ—เจˆเจ†เจ‚ เจธเจจ! (เจฎเฉˆเจ‚ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจฏเจพเจฆ เจฆเจฟเจตเจพเจ‰เจ‚เจฆเจพ เจนเจพเจ‚ เจ•เจฟ เจ‡เจธ เจธเจฎเฉ‡เจ‚ เจ‡เฉฐเจŸเฉ‡เจฒ เจฆเจพ เจ•เฉ‡เจ‚เจฆเจฐเฉ€ เจฆเจซเจคเจฐ เจจเจฟเจœเจผเจจเฉ€ เจจเฉ‹เจตเจ—เฉ‹เจฐเฉ‹เจก เจตเจฟเฉฑเจš เจธเจฅเจฟเจค เจนเฉˆ)เฅค เจญเจพเจ—เฉ€เจฆเจพเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจ•เฉ‹เจก เจฒเจฟเจ–เจฃ เจฒเจˆ 26 เจ˜เฉฐเจŸเฉ‡ เจฆเจฟเฉฑเจคเฉ‡ เจ—เจ เจธเจจ, เจ…เจคเฉ‡ เจ…เฉฐเจค เจตเจฟเฉฑเจš เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจ†เจชเจฃเจพ เจนเฉฑเจฒ เจชเฉ‡เจธเจผ เจ•เจฐเจจเจพ เจธเฉ€เฅค เจ‡เฉฑเจ• เจตเฉฑเจ–เจฐเจพ เจซเจพเจ‡เจฆเจพ เจ‡เจน เจฏเจ•เฉ€เจจเฉ€ เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ เจ‡เฉฑเจ• เจกเฉˆเจฎเฉ‹ เจธเฉˆเจธเจผเจจ เจฆเฉ€ เจฎเฉŒเจœเฉ‚เจฆเจ—เฉ€ เจธเฉ€ เจ•เจฟ เจฏเฉ‹เจœเจจเจพเจฌเฉฑเจง เจนเจฐ เจšเฉ€เจœเจผ เจจเฉ‚เฉฐ เจ…เจธเจฒ เจตเจฟเฉฑเจš เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจธเฉ€ เจ…เจคเฉ‡ เจชเฉ‡เจธเจผเจ•เจพเจฐเฉ€ เจตเจฟเฉฑเจš เจตเจฟเจšเจพเจฐ เจจเจนเฉ€เจ‚ เจฐเจนเฉ‡. เจตเจชเจพเจฐ, เจธเจจเฉˆเจ•เจธ, เจญเฉ‹เจœเจจ, เจธเจญ เจ•เฉเจ เจ‰เฉฑเจฅเฉ‡ เจตเฉ€ เจธเฉ€!

เจ‡เจธ เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ, Intel เจจเฉ‡ เจตเจฟเจ•เจฒเจชเจฟเจ• เจคเฉŒเจฐ 'เจคเฉ‡ เจ•เฉˆเจฎเจฐเฉ‡, Raspberry PI, Neural Compute Stick 2 เจชเฉเจฐเจฆเจพเจจ เจ•เฉ€เจคเฉ‡ เจนเจจเฅค

เจ•เจพเจฐเจœ เจšเฉ‹เจฃ

เจ‡เฉฑเจ• เจซเฉเจฐเฉ€-เจซเจพเจฐเจฎ เจนเฉˆเจ•เจพเจฅเจจ เจฆเฉ€ เจคเจฟเจ†เจฐเฉ€ เจ•เจฐเจจ เจฆเฉ‡ เจธเจญ เจคเฉ‹เจ‚ เจฎเฉเจธเจผเจ•เจฒ เจนเจฟเฉฑเจธเจฟเจ†เจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจ‡เฉฑเจ• เจ‡เฉฑเจ• เจšเฉเจฃเฉŒเจคเฉ€ เจšเฉเจฃเจจเจพ เจนเฉˆเฅค เจ…เจธเฉ€เจ‚ เจคเฉเจฐเฉฐเจค เจ•เฉเจ เจ…เจœเจฟเจนเจพ เจฒเจฟเจ†เจ‰เจฃ เจฆเจพ เจซเฉˆเจธเจฒเจพ เจ•เฉ€เจคเจพ เจœเฉ‹ เจ…เจœเฉ‡ เจ‰เจคเจชเจพเจฆ เจตเจฟเฉฑเจš เจจเจนเฉ€เจ‚ เจธเฉ€, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ˜เฉ‹เจธเจผเจฃเจพ เจตเจฟเฉฑเจš เจ•เจฟเจนเจพ เจ—เจฟเจ† เจนเฉˆ เจ•เจฟ เจ‡เจน เจฌเจนเฉเจค เจธเจตเจพเจ—เจคเจฏเฉ‹เจ— เจนเฉˆเฅค

เจฆเจพ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ เจ•เฉ€เจคเจพ เจฎเจพเจกเจฒเจพเจ‚, เจœเฉ‹ เจ•เจฟ เจฎเฉŒเจœเฉ‚เจฆเจพ เจฐเฉ€เจฒเฉ€เจœเจผ เจตเจฟเฉฑเจš เจ‰เจคเจชเจพเจฆ เจตเจฟเฉฑเจš เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเฉ‡ เจ—เจ เจนเจจ, เจ…เจธเฉ€เจ‚ เจ‡เจธ เจธเจฟเฉฑเจŸเฉ‡ 'เจคเฉ‡ เจชเจนเฉเฉฐเจšเจฆเฉ‡ เจนเจพเจ‚ เจ•เจฟ เจ‰เจจเฉเจนเจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจœเจผเจฟเจ†เจฆเจพเจคเจฐ เจ•เฉฐเจชเจฟเจŠเจŸเจฐ เจตเจฟเจœเจผเจจ เจธเจฎเฉฑเจธเจฟเจ†เจตเจพเจ‚ เจจเฉ‚เฉฐ เจนเฉฑเจฒ เจ•เจฐเจฆเฉ‡ เจนเจจเฅค เจ‡เจธ เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ, เจ•เฉฐเจชเจฟเจŠเจŸเจฐ เจตเจฟเจœเจผเจจ เจฆเฉ‡ เจ–เฉ‡เจคเจฐ เจตเจฟเจš เจ…เจœเจฟเจนเฉ€ เจธเจฎเฉฑเจธเจฟเจ† เจฆเจพ เจธเจพเจนเจฎเจฃเจพ เจ•เจฐเจจเจพ เจฌเจนเฉเจค เจฎเฉเจธเจผเจ•เจฒ เจนเฉˆ เจœเจฟเจธ เจจเฉ‚เฉฐ เจ“เจชเจจเจตเฉ€เจจเฉ‹ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจนเฉฑเจฒ เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ, เจ…เจคเฉ‡ เจญเจพเจตเฉ‡เจ‚ เจ•เจฟเจธเฉ‡ เจฆเฉ€ เจ–เฉ‹เจœ เจ•เฉ€เจคเฉ€ เจœเจพ เจธเจ•เจฆเฉ€ เจนเฉˆ, เจœเจจเจคเจ• เจกเฉ‹เจฎเฉ‡เจจ เจตเจฟเจš เจชเฉเจฐเฉ€-เจŸเฉเจฐเฉ‡เจ‚เจก เจฎเจพเจกเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจฒเฉฑเจญเจฃเจพ เจฎเฉเจธเจผเจ•เจฒ เจนเฉˆเฅค เจ…เจธเฉ€เจ‚ เจ‡เฉฑเจ• เจนเฉ‹เจฐ เจฆเจฟเจธเจผเจพ เจตเจฟเฉฑเจš เจ–เฉ‹เจฆเจฃ เจฆเจพ เจซเฉˆเจธเจฒเจพ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚ - เจธเจชเฉ€เจš เจชเฉเจฐเฉ‹เจธเฉˆเจธเจฟเฉฐเจ— เจ…เจคเฉ‡ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ เจตเฉฑเจฒเฅค เจ†เจ‰ เจญเจพเจธเจผเจฃ เจคเฉ‹เจ‚ เจญเจพเจตเจจเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจชเจ›เจพเจฃเจจ เจฆเฉ‡ เจ‡เฉฑเจ• เจฆเจฟเจฒเจšเจธเจช เจ•เฉฐเจฎ เจคเฉ‡ เจตเจฟเจšเจพเจฐ เจ•เจฐเฉ€เจ. เจ‡เจน เจ•เจฟเจนเจพ เจœเจพเจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ เจ•เจฟ เจ“เจชเจจเจตเฉ€เจจเฉ‹ เจ•เฉ‹เจฒ เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจ‡เฉฑเจ• เจฎเจพเจกเจฒ เจนเฉˆ เจœเฉ‹ เจ‡เฉฑเจ• เจตเจฟเจ…เจ•เจคเฉ€ เจฆเฉ€เจ†เจ‚ เจญเจพเจตเจจเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจ‰เจธเจฆเฉ‡ เจšเจฟเจนเจฐเฉ‡ เจฆเฉ‡ เจ…เจงเจพเจฐ เจคเฉ‡ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเจฆเจพ เจนเฉˆ, เจชเจฐ:

  • เจธเจฟเจงเจพเจ‚เจค เจตเจฟเฉฑเจš, เจ‡เฉฑเจ• เจธเฉฐเจฏเฉเจ•เจค เจเจฒเจ—เฉ‹เจฐเจฟเจฆเจฎ เจฌเจฃเจพเจ‰เจฃเจพ เจธเฉฐเจญเจต เจนเฉˆ เจœเฉ‹ เจ†เจตเจพเจœเจผ เจ…เจคเฉ‡ เจšเจฟเฉฑเจคเจฐ เจฆเฉ‹เจตเจพเจ‚ 'เจคเฉ‡ เจ•เฉฐเจฎ เจ•เจฐเฉ‡เจ—เจพ, เจœเจฟเจธ เจจเจพเจฒ เจธเจผเฉเฉฑเจงเจคเจพ เจตเจฟเฉฑเจš เจตเจพเจงเจพ เจนเฉ‹เจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆเฅค
  • เจ•เฉˆเจฎเจฐเจฟเจ†เจ‚ เจตเจฟเฉฑเจš เจ†เจฎ เจคเฉŒเจฐ 'เจคเฉ‡ เจ‡เฉฑเจ• เจคเฉฐเจ— เจฆเฉ‡เจ–เจฃ เจตเจพเจฒเจพ เจ•เฉ‹เจฃ เจนเฉเฉฐเจฆเจพ เจนเฉˆ; เจ‡เฉฑเจ• เจตเฉฑเจกเฉ‡ เจ–เฉ‡เจคเจฐ เจจเฉ‚เฉฐ เจ•เจตเจฐ เจ•เจฐเจจ เจฒเจˆ เจ‡เฉฑเจ• เจคเฉ‹เจ‚ เจตเฉฑเจง เจ•เฉˆเจฎเจฐเฉ‡ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆ; เจ†เจตเจพเจœเจผ เจฆเฉ€ เจ…เจœเจฟเจนเฉ€ เจ•เฉ‹เจˆ เจธเฉ€เจฎเจพ เจจเจนเฉ€เจ‚ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆเฅค

เจ†เจ‰ เจตเจฟเจšเจพเจฐ เจจเฉ‚เฉฐ เจตเจฟเจ•เจธเจฟเจค เจ•เจฐเฉ€เจ: เจ†เจ‰ เจชเฉเจฐเจšเฉ‚เจจ เจนเจฟเฉฑเจธเฉ‡ เจฒเจˆ เจ‡เฉฑเจ• เจ…เจงเจพเจฐ เจตเจœเฉ‹เจ‚ เจตเจฟเจšเจพเจฐ เจ•เจฐเฉ€เจเฅค เจคเฉเจธเฉ€เจ‚ เจธเจŸเฉ‹เจฐ เจšเฉˆเฉฑเจ•เจ†เจ‰เจŸ 'เจคเฉ‡ เจ—เจพเจนเจ• เจฆเฉ€ เจธเฉฐเจคเฉเจธเจผเจŸเฉ€ เจจเฉ‚เฉฐ เจฎเจพเจช เจธเจ•เจฆเฉ‡ เจนเฉ‹เฅค เจœเฉ‡ เจ—เจพเจนเจ•เจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจ‡เฉฑเจ• เจธเฉ‡เจตเจพ เจคเฉ‹เจ‚ เจ…เจธเฉฐเจคเฉเจธเจผเจŸ เจนเฉˆ เจ…เจคเฉ‡ เจ†เจชเจฃเฉ€ เจ†เจตเจพเจœเจผ เจตเจงเจพเจ‰เจฃเจพ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเจฆเจพ เจนเฉˆ, เจคเจพเจ‚ เจคเฉเจธเฉ€เจ‚ เจคเฉเจฐเฉฐเจค เจฎเจฆเจฆ เจฒเจˆ เจชเฉเจฐเจฌเฉฐเจงเจ• เจจเฉ‚เฉฐ เจ•เจพเจฒ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹เฅค
เจ‡เจธ เจธเจฅเจฟเจคเฉ€ เจตเจฟเฉฑเจš, เจธเจพเจจเฉ‚เฉฐ เจฎเจจเฉเฉฑเจ–เฉ€ เจ†เจตเจพเจœเจผ เจฆเฉ€ เจชเจ›เจพเจฃ เจœเฉ‹เฉœเจจ เจฆเฉ€ เจœเจผเจฐเฉ‚เจฐเจค เจนเฉˆ, เจ‡เจน เจธเจพเจจเฉ‚เฉฐ เจธเจŸเฉ‹เจฐ เจ•เจฐเจฎเจšเจพเจฐเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจ—เจพเจนเจ•เจพเจ‚ เจคเฉ‹เจ‚ เจตเฉฑเจ– เจ•เจฐเจจ เจ…เจคเฉ‡ เจนเจฐเฉ‡เจ• เจตเจฟเจ…เจ•เจคเฉ€ เจฒเจˆ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ เจชเฉเจฐเจฆเจพเจจ เจ•เจฐเจจ เจฆเฉ€ เจ†เจ—เจฟเจ† เจฆเฉ‡เจตเฉ‡เจ—เจพเฅค เจ–เฉˆเจฐ, เจ‡เจธ เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ, เจธเจŸเฉ‹เจฐ เจฆเฉ‡ เจ•เจฐเจฎเจšเจพเจฐเฉ€เจ†เจ‚ เจฆเฉ‡ เจตเจฟเจตเจนเจพเจฐ เจฆเจพ เจ–เฉเจฆ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ เจ•เจฐเจจเจพ เจธเฉฐเจญเจต เจนเฉ‹เจตเฉ‡เจ—เจพ, เจŸเฉ€เจฎ เจตเจฟเจš เจฎเจพเจนเฉŒเจฒ เจฆเจพ เจฎเฉเจฒเจพเจ‚เจ•เจฃ เจ•เจฐเจจเจพ, เจšเฉฐเจ—เจพ เจฒเฉฑเจ—เจฆเจพ เจนเฉˆ!

เจ…เจธเฉ€เจ‚ เจ†เจชเจฃเฉ‡ เจนเฉฑเจฒ เจฒเจˆ เจฒเฉ‹เฉœเจพเจ‚ เจคเจฟเจ†เจฐ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚:

  • เจŸเฉ€เจšเฉ‡ เจฆเจพ เจœเฉฐเจคเจฐ เจฆเจพ เจ›เฉ‹เจŸเจพ เจ†เจ•เจพเจฐ
  • เจฐเฉ€เจ…เจฒ เจŸเจพเจˆเจฎ เจ“เจชเจฐเฉ‡เจธเจผเจจ
  • เจ˜เฉฑเจŸ เจ•เฉ€เจฎเจค
  • เจ†เจธเจพเจจ เจฎเจพเจชเจฏเฉ‹เจ—เจคเจพ

เจจเจคเฉ€เจœเฉ‡ เจตเจœเฉ‹เจ‚, เจ…เจธเฉ€เจ‚ Raspberry Pi 3 c เจจเฉ‚เฉฐ เจŸเจพเจฐเจ—เฉ‡เจŸ เจกเจฟเจตเจพเจˆเจธ เจตเจœเฉ‹เจ‚ เจšเฉเจฃเจฆเฉ‡ เจนเจพเจ‚ Intel NCS 2.

เจ‡เฉฑเจฅเฉ‡ NCS เจฆเฉ€ เจ‡เฉฑเจ• เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพ เจจเฉ‚เฉฐ เจจเฉ‹เจŸ เจ•เจฐเจจเจพ เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจนเฉˆ - เจ‡เจน เจฎเจฟเจ†เจฐเฉ€ CNN เจ†เจฐเจ•เฉ€เจŸเฉˆเจ•เจšเจฐ เจฆเฉ‡ เจจเจพเจฒ เจธเจญ เจคเฉ‹เจ‚ เจตเจงเฉ€เจ† เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจนเฉˆ, เจชเจฐ เจœเฉ‡เจ•เจฐ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‡เจธ 'เจคเฉ‡ เจ•เจธเจŸเจฎ เจฒเฉ‡เจ…เจฐเจพเจ‚ เจฆเฉ‡ เจจเจพเจฒ เจ‡เฉฑเจ• เจฎเจพเจกเจฒ เจšเจฒเจพเจ‰เจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ, เจคเจพเจ‚ เจ˜เฉฑเจŸ-เจชเฉฑเจงเจฐ เจฆเฉ‡ เจ…เจจเฉเจ•เฉ‚เจฒเจจ เจฆเฉ€ เจ‰เจฎเฉ€เจฆ เจ•เจฐเฉ‹.

เจ‡เฉฑเจฅเฉ‡ เจธเจฟเจฐเจซเจผ เจ‡เฉฑเจ• เจ›เฉ‹เจŸเฉ€ เจœเจฟเจนเฉ€ เจšเฉ€เจœเจผ เจนเฉˆ: เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจฎเจพเจˆเจ•เฉเจฐเฉ‹เจซเจผเฉ‹เจจ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆเฅค เจ‡เฉฑเจ• เจจเจฟเจฏเจฎเจค USB เจฎเจพเจˆเจ•เฉเจฐเฉ‹เจซเจผเฉ‹เจจ เจ…เจœเจฟเจนเจพ เจ•เจฐเฉ‡เจ—เจพ, เจชเจฐ เจ‡เจน RPI เจฆเฉ‡ เจจเจพเจฒ เจตเจงเฉ€เจ† เจจเจนเฉ€เจ‚ เจฒเฉฑเจ—เฉ‡เจ—เจพเฅค เจชเจฐ เจ‡เฉฑเจฅเฉ‡ เจตเฉ€ เจนเฉฑเจฒ เจธเจผเจพเจฌเจฆเจฟเจ• เจคเฉŒเจฐ 'เจคเฉ‡ "เจจเฉ‡เฉœเฉ‡ เจนเฉ€ เจชเจฟเจ† เจนเฉˆ." เจตเฉŒเจ‡เจธ เจฐเจฟเจ•เจพเจฐเจก เจ•เจฐเจจ เจฒเจˆ, เจ…เจธเฉ€เจ‚ เจ•เจฟเฉฑเจŸ เจคเฉ‹เจ‚ เจตเฉŒเจ‡เจธ เจฌเฉ‹เจจเจŸ เจฌเฉ‹เจฐเจก เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจ เจฆเจพ เจซเฉˆเจธเจฒเจพ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚ Google AIY เจตเฉŒเจ‡เจธ เจ•เจฟเฉฑเจŸ, เจœเจฟเจธ 'เจคเฉ‡ เจ‡เฉฑเจ• เจตเจพเจ‡เจฐเจก เจธเจŸเฉ€เจฐเฉ€เจ“ เจฎเจพเจˆเจ•เฉเจฐเฉ‹เจซเฉ‹เจจ เจนเฉˆเฅค

เจคเฉ‹เจ‚ Raspbian เจกเจพเจŠเจจเจฒเฉ‹เจก เจ•เจฐเฉ‹ AIY เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจฐเจฟเจชเฉ‹เจœเจผเจŸเจฐเฉ€ เจ…เจคเฉ‡ เจ‡เจธเจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจซเจฒเฉˆเจธเจผ เจกเจฐเจพเจˆเจต เจคเฉ‡ เจ…เฉฑเจชเจฒเฉ‹เจก เจ•เจฐเฉ‹, เจœเจพเจ‚เจš เจ•เจฐเฉ‹ เจ•เจฟ เจฎเจพเจˆเจ•เฉเจฐเฉ‹เจซเฉ‹เจจ เจนเฉ‡เจ  เจฆเจฟเฉฑเจคเฉ€ เจ•เจฎเจพเจ‚เจก เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจนเฉˆ (เจ‡เจน 5 เจธเจ•เจฟเฉฐเจŸ เจฒเฉฐเจฌเจพ เจ†เจกเฉ€เจ“ เจฐเจฟเจ•เจพเจฐเจก เจ•เจฐเฉ‡เจ—เจพ เจ…เจคเฉ‡ เจ‡เจธเจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจซเจพเจˆเจฒ เจตเจฟเฉฑเจš เจธเฉเจฐเฉฑเจ–เจฟเจ…เจค เจ•เจฐเฉ‡เจ—เจพ):

arecord -d 5 -r 16000 test.wav

เจฎเฉˆเจจเฉ‚เฉฐ เจคเฉเจฐเฉฐเจค เจงเจฟเจ†เจจ เจฆเฉ‡เจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ เจ•เจฟ เจฎเจพเจˆเจ•เฉเจฐเฉ‹เจซเฉ‹เจจ เจฌเจนเฉเจค เจธเฉฐเจตเฉ‡เจฆเจจเจธเจผเฉ€เจฒ เจนเฉˆ เจ…เจคเฉ‡ เจฐเฉŒเจฒเจพ เจšเฉฐเจ—เฉ€ เจคเจฐเฉเจนเจพเจ‚ เจšเฉเฉฑเจ•เจฆเจพ เจนเฉˆเฅค เจ‡เจธ เจจเฉ‚เฉฐ เจ เฉ€เจ• เจ•เจฐเจจ เจฒเจˆ, เจ†เจ“ เจ…เจฒเจธเจพเจฎเจฟเจ•เจธเจฐ 'เจคเฉ‡ เจšเฉฑเจฒเฉ€เจ, เจ•เฉˆเจชเจšเจฐ เจกเจฟเจตเจพเจˆเจธเจพเจ‚ เจฆเฉ€ เจšเฉ‹เจฃ เจ•เจฐเฉ€เจ เจ…เจคเฉ‡ เจ‡เจจเจชเฉเจŸ เจธเจฟเจ—เจจเจฒ เจชเฉฑเจงเจฐ เจจเฉ‚เฉฐ 50-60% เจคเฉฑเจ• เจ˜เจŸเจพเจ“เฅค

เจ“เจชเจจเจตเฉ€เจจเฉ‹ เจนเฉˆเจ•เจพเจฅเจจ: เจฐเจพเจธเจฌเฉ‡เจฐเฉ€ เจชเจพเจˆ 'เจคเฉ‡ เจ†เจตเจพเจœเจผ เจ…เจคเฉ‡ เจญเจพเจตเจจเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจชเจ›เจพเจฃเจจเจพ
เจ…เจธเฉ€เจ‚ เจ‡เฉฑเจ• เจซเจพเจˆเจฒ เจจเจพเจฒ เจธเจฐเฉ€เจฐ เจจเฉ‚เฉฐ เจธเฉฐเจธเจผเฉ‹เจงเจฟเจค เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚ เจ…เจคเฉ‡ เจนเจฐ เจšเฉ€เจœเจผ เจซเจฟเฉฑเจŸ เจนเฉ‹ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ, เจคเฉเจธเฉ€เจ‚ เจ‡เจธเจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจฒเจฟเจก เจจเจพเจฒ เจฌเฉฐเจฆ เจตเฉ€ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹

เจ‡เฉฑเจ• เจธเฉ‚เจšเจ• เจฌเจŸเจจ เจธเจผเจพเจฎเจฒ เจ•เจฐเจจเจพ

AIY เจตเฉŒเจ‡เจธ เจ•เจฟเฉฑเจŸ เจจเฉ‚เฉฐ เจตเฉฑเจ– เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ, เจธเจพเจจเฉ‚เฉฐ เจฏเจพเจฆ เจนเฉˆ เจ•เจฟ เจ‡เฉฑเจฅเฉ‡ เจ‡เฉฑเจ• RGB เจฌเจŸเจจ เจนเฉˆ, เจœเจฟเจธเจฆเฉ€ เจฌเฉˆเจ•เจฒเจพเจˆเจŸ เจจเฉ‚เฉฐ เจธเฉŒเจซเจŸเจตเฉ‡เจ…เจฐ เจฆเฉเจ†เจฐเจพ เจจเจฟเจฏเฉฐเจคเจฐเจฟเจค เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆเฅค เจ…เจธเฉ€เจ‚ "Google AIY Led" เจฆเฉ€ เจ–เฉ‹เจœ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚ เจ…เจคเฉ‡ เจฆเจธเจคเจพเจตเฉ‡เจœเจผ เจฒเฉฑเจญเจฆเฉ‡ เจนเจพเจ‚: https://aiyprojects.readthedocs.io/en/latest/aiy.leds.html
เจ•เจฟเจ‰เจ‚ เจจเจพ เจ‡เจธ เจฌเจŸเจจ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจฎเจพเจจเจคเจพ เจชเฉเจฐเจพเจชเจค เจญเจพเจตเจจเจพ เจจเฉ‚เฉฐ เจชเฉเจฐเจฆเจฐเจธเจผเจฟเจค เจ•เจฐเจจ เจฒเจˆ เจ•เจฐเฉ‹, เจธเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจธเจฟเจฐเจซ 7 เจ•เจฒเจพเจธเจพเจ‚ เจนเจจ, เจ…เจคเฉ‡ เจฌเจŸเจจ เจฆเฉ‡ 8 เจฐเฉฐเจ— เจนเจจ, เจฌเจธ เจ•เจพเจซเจผเฉ€!

เจ…เจธเฉ€เจ‚ GPIO เจฐเจพเจนเฉ€เจ‚ เจตเฉŒเจ‡เจธ เจฌเฉ‹เจจเจŸ เจจเจพเจฒ เจฌเจŸเจจ เจจเฉ‚เฉฐ เจ•เจจเฉˆเจ•เจŸ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚, เจฒเฉ‹เฉœเฉ€เจ‚เจฆเฉ€เจ†เจ‚ เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจฒเฉ‹เจก เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚ (เจ‰เจน เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ AIY เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸเจพเจ‚ เจคเฉ‹เจ‚ เจกเจฟเจธเจŸเฉเจฐเฉ€เจฌเจฟเจŠเจธเจผเจจ เจ•เจฟเฉฑเจŸ เจตเจฟเฉฑเจš เจธเจฅเจพเจชเจฟเจค เจนเจจ)

from aiy.leds import Leds, Color
from aiy.leds import RgbLeds

เจ†เจ‰ เจ‡เฉฑเจ• เจกเจฟเจ•เจŸ เจคเจฟเจ†เจฐ เจ•เจฐเฉ€เจ เจœเจฟเจธ เจตเจฟเฉฑเจš เจนเจฐเฉ‡เจ• เจญเจพเจตเจจเจพ เจฆเจพ เจ‡เฉฑเจ• เจ†เจฐเจœเฉ€เจฌเฉ€ เจŸเฉ‚เจชเจฒ เจฆเฉ‡ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจ…เจจเฉเจธเจพเจฐเฉ€ เจฐเฉฐเจ— เจนเฉ‹เจตเฉ‡เจ—เจพ เจ…เจคเฉ‡ เจ•เจฒเจพเจธ aiy.leds.Leds เจฆเฉ€ เจ‡เฉฑเจ• เจตเจธเจคเฉ‚ เจนเฉ‹เจตเฉ‡เจ—เฉ€, เจœเจฟเจธ เจฆเฉเจ†เจฐเจพ เจ…เจธเฉ€เจ‚ เจฐเฉฐเจ— เจจเฉ‚เฉฐ เจ…เจชเจกเฉ‡เจŸ เจ•เจฐเจพเจ‚เจ—เฉ‡:

led_dict = {'neutral': (255, 255, 255), 'happy': (0, 255, 0), 'sad': (0, 255, 255), 'angry': (255, 0, 0), 'fearful': (0, 0, 0), 'disgusted':  (255, 0, 255), 'surprised':  (255, 255, 0)} 
leds = Leds()

เจ…เจคเฉ‡ เจ…เฉฐเจค เจตเจฟเฉฑเจš, เจ‡เฉฑเจ• เจญเจพเจตเจจเจพ เจฆเฉ€ เจนเจฐเฉ‡เจ• เจจเจตเฉ€เจ‚ เจญเจตเจฟเฉฑเจ–เจฌเจพเจฃเฉ€ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, เจ…เจธเฉ€เจ‚ เจฌเจŸเจจ เจฆเฉ‡ เจฐเฉฐเจ— เจจเฉ‚เฉฐ เจ‡เจธเจฆเฉ‡ เจ…เจจเฉเจธเจพเจฐ (เจ•เฉเฉฐเจœเฉ€ เจฆเฉเจ†เจฐเจพ) เจ…เจชเจกเฉ‡เจŸ เจ•เจฐเจพเจ‚เจ—เฉ‡.

leds.update(Leds.rgb_on(led_dict.get(classes[prediction])))

เจ“เจชเจจเจตเฉ€เจจเฉ‹ เจนเฉˆเจ•เจพเจฅเจจ: เจฐเจพเจธเจฌเฉ‡เจฐเฉ€ เจชเจพเจˆ 'เจคเฉ‡ เจ†เจตเจพเจœเจผ เจ…เจคเฉ‡ เจญเจพเจตเจจเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจชเจ›เจพเจฃเจจเจพ
เจฌเจŸเจจ, เจธเจพเฉœ!

เจ†เจตเจพเจœเจผ เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจจเจพ

เจ…เจธเฉ€เจ‚ เจฎเจพเจˆเจ•เฉเจฐเฉ‹เจซเฉ‹เจจ เจคเฉ‹เจ‚ เจธเจŸเฉเจฐเฉ€เจฎ เจจเฉ‚เฉฐ เจ•เฉˆเจชเจšเจฐ เจ•เจฐเจจ เจฒเจˆ เจชเจพเจˆเจกเจฟเจ“ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจพเจ‚เจ—เฉ‡ เจ…เจคเฉ‡ เจฐเฉŒเจฒเจพ เจซเจฟเจฒเจŸเจฐ เจ•เจฐเจจ เจ…เจคเฉ‡ เจ†เจตเจพเจœเจผ เจฆเจพ เจชเจคเจพ เจฒเจ—เจพเจ‰เจฃ เจฒเจˆ webrtcvad เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจพเจ‚เจ—เฉ‡เฅค เจ‡เจธ เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ, เจ…เจธเฉ€เจ‚ เจ‡เฉฑเจ• เจ•เจคเจพเจฐ เจฌเจฃเจพเจตเจพเจ‚เจ—เฉ‡ เจœเจฟเจธ เจตเจฟเฉฑเจš เจ…เจธเฉ€เจ‚ เจ…เจธเจฟเฉฐเจ•เจฐเฉ‹เจจเจธ เจคเฉŒเจฐ 'เจคเฉ‡ เจ†เจตเจพเจœเจผ เจฆเฉ‡ เจ…เฉฐเจธเจผเจพเจ‚ เจจเฉ‚เฉฐ เจœเฉ‹เฉœ เจ…เจคเฉ‡ เจนเจŸเจพเจตเจพเจ‚เจ—เฉ‡เฅค

เจ•เจฟเจ‰เจ‚เจ•เจฟ webrtcvad เจฆเฉ€ เจธเจชเจฒเจพเจˆ เจ•เฉ€เจคเฉ‡ เจŸเฉเจ•เฉœเฉ‡ เจฆเฉ‡ เจ†เจ•เจพเจฐ 'เจคเฉ‡ เจ‡เฉฑเจ• เจธเฉ€เจฎเจพ เจนเฉˆ - เจ‡เจน 10/20/30ms เจฆเฉ‡ เจฌเจฐเจพเจฌเจฐ เจนเฉ‹เจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ, เจ…เจคเฉ‡ เจญเจพเจตเจจเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจชเจ›เจพเจฃเจจ เจฒเจˆ เจฎเจพเจกเจฒ เจฆเฉ€ เจธเจฟเจ–เจฒเจพเจˆ (เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจ…เจธเฉ€เจ‚ เจฌเจพเจ…เจฆ เจตเจฟเฉฑเจš เจธเจฟเฉฑเจ–เจพเจ‚เจ—เฉ‡) เจ‡เฉฑเจ• 48kHz เจกเฉ‡เจŸเจพเจธเฉˆเจŸ 'เจคเฉ‡ เจ•เฉ€เจคเฉ€ เจ—เจˆ เจธเฉ€, เจ…เจธเฉ€เจ‚ เจ•เจฐเจพเจ‚เจ—เฉ‡ เจ†เจ•เจพเจฐ 48000ร—20ms/1000ร—1(เจฎเฉ‹เจจเฉ‹)=960 เจฌเจพเจˆเจŸเจธ เจฆเฉ‡ เจนเจฟเฉฑเจธเฉ‡ เจ•เฉˆเจชเจšเจฐ เจ•เจฐเฉ‹เฅค Webrtcvad เจ‡เจนเจจเจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจนเจฐเฉ‡เจ• เจนเจฟเฉฑเจธเฉ‡ เจฒเจˆ True/False เจตเจพเจชเจธ เจ•เจฐเฉ‡เจ—เจพ, เจœเฉ‹ เจ•เจฟ เจนเจฟเฉฑเจธเฉ‡ เจตเจฟเฉฑเจš เจตเฉ‹เจŸ เจฆเฉ€ เจฎเฉŒเจœเฉ‚เจฆเจ—เฉ€ เจœเจพเจ‚ เจ—เฉˆเจฐเจนเจพเจœเจผเจฐเฉ€ เจจเจพเจฒ เจฎเฉ‡เจฒ เจ–เจพเจ‚เจฆเจพ เจนเฉˆเฅค

เจ†เจ“ เจนเฉ‡เจ เจพเจ‚ เจฆเจฟเฉฑเจคเฉ‡ เจคเจฐเจ• เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเฉ€เจ:

  • เจ…เจธเฉ€เจ‚ เจ‰เจนเจจเจพเจ‚ เจŸเฉเจ•เฉœเจฟเจ†เจ‚ เจจเฉ‚เฉฐ เจธเฉ‚เจšเฉ€ เจตเจฟเฉฑเจš เจธเจผเจพเจฎเจฒ เจ•เจฐเจพเจ‚เจ—เฉ‡ เจœเจฟเฉฑเจฅเฉ‡ เจตเฉ‹เจŸ เจนเฉˆ; เจœเฉ‡เจ•เจฐ เจ•เฉ‹เจˆ เจตเฉ‹เจŸ เจจเจนเฉ€เจ‚ เจนเฉˆ, เจคเจพเจ‚ เจ…เจธเฉ€เจ‚ เจ–เจพเจฒเฉ€ เจŸเฉเจ•เฉœเจฟเจ†เจ‚ เจฆเฉ‡ เจ•เจพเจŠเจ‚เจŸเจฐ เจจเฉ‚เฉฐ เจตเจงเจพเจตเจพเจ‚เจ—เฉ‡เฅค
  • เจœเฉ‡เจ•เจฐ เจ–เจพเจฒเฉ€ เจŸเฉเจ•เฉœเจฟเจ†เจ‚ เจฆเจพ เจ•เจพเจŠเจ‚เจŸเจฐ >=30 (600 ms) เจนเฉˆ, เจคเจพเจ‚ เจ…เจธเฉ€เจ‚ เจ‡เจ•เฉฑเจ เฉ‡ เจ•เฉ€เจคเฉ‡ เจญเจพเจ—เจพเจ‚ เจฆเฉ€ เจธเฉ‚เจšเฉ€ เจฆเฉ‡ เจ†เจ•เจพเจฐ เจจเฉ‚เฉฐ เจฆเฉ‡เจ–เจฆเฉ‡ เจนเจพเจ‚; เจœเฉ‡เจ•เจฐ เจ‡เจน >250 เจนเฉˆ, เจคเจพเจ‚ เจ…เจธเฉ€เจ‚ เจ‡เจธเจจเฉ‚เฉฐ เจ•เจคเจพเจฐ เจตเจฟเฉฑเจš เจœเฉ‹เฉœเจฆเฉ‡ เจนเจพเจ‚; เจœเฉ‡เจ•เจฐ เจจเจนเฉ€เจ‚, เจคเจพเจ‚ เจ…เจธเฉ€เจ‚ เจฒเฉฐเจฌเจพเจˆ เจจเฉ‚เฉฐ เจฎเฉฐเจจเจฆเฉ‡ เจนเจพเจ‚ เจฆเจพ เจฐเจฟเจ•เจพเจฐเจก เจธเจชเฉ€เจ•เจฐ เจฆเฉ€ เจชเจ›เจพเจฃ เจ•เจฐเจจ เจฒเจˆ เจ‡เจธ เจจเฉ‚เฉฐ เจฎเจพเจกเจฒ เจจเฉ‚เฉฐ เจซเฉ€เจก เจ•เจฐเจจ เจฒเจˆ เจ•เจพเจซเจผเฉ€ เจจเจนเฉ€เจ‚ เจนเฉˆเฅค
  • เจœเฉ‡เจ•เจฐ เจ–เจพเจฒเฉ€ เจŸเฉเจ•เฉœเจฟเจ†เจ‚ เจฆเจพ เจ•เจพเจŠเจ‚เจŸเจฐ เจ…เจœเฉ‡ เจตเฉ€ <30 เจนเฉˆ, เจ…เจคเฉ‡ เจ‡เจ•เฉฑเจคเจฐ เจ•เฉ€เจคเฉ‡ เจญเจพเจ—เจพเจ‚ เจฆเฉ€ เจธเฉ‚เจšเฉ€ เจฆเจพ เจ†เจ•เจพเจฐ 300 เจคเฉ‹เจ‚ เจตเฉฑเจง เจนเฉˆ, เจคเจพเจ‚ เจ…เจธเฉ€เจ‚ เจตเจงเฉ‡เจฐเฉ‡ เจธเจนเฉ€ เจชเฉ‚เจฐเจต เจ…เจจเฉเจฎเจพเจจ เจฒเจˆ เจ•เจคเจพเจฐ เจตเจฟเฉฑเจš เจŸเฉเจ•เฉœเฉ‡ เจจเฉ‚เฉฐ เจœเฉ‹เฉœเจพเจ‚เจ—เฉ‡เฅค (เจ•เจฟเจ‰เจ‚เจ•เจฟ เจญเจพเจตเจจเจพเจตเจพเจ‚ เจธเจฎเฉ‡เจ‚ เจฆเฉ‡ เจจเจพเจฒ เจฌเจฆเจฒเจฆเฉ€เจ†เจ‚ เจฐเจนเจฟเฉฐเจฆเฉ€เจ†เจ‚ เจนเจจ)

 def to_queue(frames):
    d = np.frombuffer(b''.join(frames), dtype=np.int16)
    return d

framesQueue = queue.Queue()
def framesThreadBody():
    CHUNK = 960
    FORMAT = pyaudio.paInt16
    CHANNELS = 1
    RATE = 48000

    p = pyaudio.PyAudio()
    vad = webrtcvad.Vad()
    vad.set_mode(2)
    stream = p.open(format=FORMAT,
                channels=CHANNELS,
                rate=RATE,
                input=True,
                frames_per_buffer=CHUNK)
    false_counter = 0
    audio_frame = []
    while process:
        data = stream.read(CHUNK)
        if not vad.is_speech(data, RATE):
            false_counter += 1
            if false_counter >= 30:
                if len(audio_frame) > 250:              
                    framesQueue.put(to_queue(audio_frame,timestamp_start))
                    audio_frame = []
                    false_counter = 0

        if vad.is_speech(data, RATE):
            false_counter = 0
            audio_frame.append(data)
            if len(audio_frame) > 300:                
                    framesQueue.put(to_queue(audio_frame,timestamp_start))
                    audio_frame = []

เจ‡เจน เจœเจจเจคเจ• เจกเฉ‹เจฎเฉ‡เจจ เจตเจฟเฉฑเจš เจชเฉ‚เจฐเจต-เจธเจฟเจ–เจฟเจ…เจค เจฎเจพเจกเจฒเจพเจ‚ เจฆเฉ€ เจ–เฉ‹เจœ เจ•เจฐเจจ เจฆเจพ เจธเจฎเจพเจ‚ เจนเฉˆ, github, Google เจคเฉ‡ เจœเจพเจ“, เจชเจฐ เจฏเจพเจฆ เจฐเฉฑเจ–เฉ‹ เจ•เจฟ เจธเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจตเจฐเจคเฉ‡ เจ—เจ เจ†เจฐเจ•เฉ€เจŸเฉˆเจ•เจšเจฐ 'เจคเฉ‡ เจ‡เฉฑเจ• เจธเฉ€เจฎเจพ เจนเฉˆ. เจ‡เจน เจ‡เฉฑเจ• เจฌเจนเฉเจค เจฎเฉเจธเจผเจ•เจฒ เจนเจฟเฉฑเจธเจพ เจนเฉˆ, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ†เจชเจฃเฉ‡ เจ‡เจจเจชเฉเจŸ เจกเฉ‡เจŸเจพ 'เจคเฉ‡ เจฎเจพเจกเจฒเจพเจ‚ เจฆเฉ€ เจœเจพเจ‚เจš เจ•เจฐเจจเฉ€ เจชเฉˆเจ‚เจฆเฉ€ เจนเฉˆ, เจ…เจคเฉ‡ เจ‡เจธ เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ, เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจ“เจชเจจเจตเฉ€เจจเฉ‹ เจฆเฉ‡ เจ…เฉฐเจฆเจฐเฉ‚เจจเฉ€ เจซเจพเจฐเจฎเฉˆเจŸ - IR (เจ‡เฉฐเจŸเจฐเจฎเฉ€เจกเฉ€เจเจŸ เจชเฉเจฐเจคเฉ€เจจเจฟเจงเจคเจพ) เจตเจฟเฉฑเจš เจฌเจฆเจฒเจฃเจพ เจนเฉˆเฅค เจ…เจธเฉ€เจ‚ เจ—เจฟเจฅเจฌ เจคเฉ‹เจ‚ เจฒเจ—เจญเจ— 5-7 เจตเฉฑเจ–-เจตเฉฑเจ– เจนเฉฑเจฒเจพเจ‚ เจฆเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เฉ€เจคเฉ€, เจ…เจคเฉ‡ เจœเฉ‡ เจญเจพเจตเจจเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจชเจ›เจพเจฃเจจ เจฒเจˆ เจฎเจพเจกเจฒ เจคเฉเจฐเฉฐเจค เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจนเฉˆ, เจคเจพเจ‚ เจ†เจตเจพเจœเจผ เจฆเฉ€ เจชเจ›เจพเจฃ เจฆเฉ‡ เจจเจพเจฒ เจธเจพเจจเฉ‚เฉฐ เจฒเฉฐเจฎเจพ เจธเจฎเจพเจ‚ เจ‰เจกเฉ€เจ• เจ•เจฐเจจเฉ€ เจชเจตเฉ‡เจ—เฉ€ - เจ‰เจน เจตเจงเฉ‡เจฐเฉ‡ เจ—เฉเฉฐเจเจฒเจฆเจพเจฐ เจ†เจฐเจ•เฉ€เจŸเฉˆเจ•เจšเจฐ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเจจ.

เจ…เจธเฉ€เจ‚ เจนเฉ‡เจ เจพเจ‚ เจฆเจฟเฉฑเจคเฉ‡ 'เจคเฉ‡ เจงเจฟเจ†เจจ เจ•เฉ‡เจ‚เจฆเจฐเจค เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚:

  • เจ†เจตเจพเจœเจผ เจคเฉ‹เจ‚ เจญเจพเจตเจจเจพเจตเจพเจ‚ - https://github.com/alexmuhr/Voice_Emotion
    เจ‡เจน เจจเจฟเจฎเจจเจฒเจฟเจ–เจค เจธเจฟเจงเจพเจ‚เจค เจฆเฉ‡ เจ…เจจเฉเจธเจพเจฐ เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจนเฉˆ: เจ†เจกเฉ€เจ“ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจ–เจพเจธ เจ†เจ•เจพเจฐ เจฆเฉ‡ เจ…เฉฐเจธเจผเจพเจ‚ เจตเจฟเฉฑเจš เจ•เฉฑเจŸเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจ‡เจนเจจเจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจนเจฐเฉ‡เจ• เจฒเจˆ เจ…เจธเฉ€เจ‚ เจšเฉเจฃเจฆเฉ‡ เจนเจพเจ‚ MFCC เจ…เจคเฉ‡ เจซเจฟเจฐ เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ CNN เจจเฉ‚เฉฐ เจ‡เจจเจชเฉเจŸ เจตเจœเฉ‹เจ‚ เจœเจฎเฉเจนเจพเจ‚ เจ•เจฐเฉ‹
  • เจ†เจตเจพเจœเจผ เจฆเฉ€ เจชเจ›เจพเจฃ - https://github.com/linhdvu14/vggvox-speaker-identification
    เจ‡เฉฑเจฅเฉ‡, MFCC เจฆเฉ€ เจฌเจœเจพเจ, เจ…เจธเฉ€เจ‚ เจ‡เฉฑเจ• เจธเจชเฉˆเจ•เจŸเฉเจฐเฉ‹เจ—เฉเจฐเจพเจฎ เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚, FFT เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจ…เจธเฉ€เจ‚ CNN เจจเฉ‚เฉฐ เจธเจฟเจ—เจจเจฒ เจซเฉ€เจก เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚, เจœเจฟเฉฑเจฅเฉ‡ เจ†เจ‰เจŸเจชเฉเฉฑเจŸ 'เจคเฉ‡ เจธเจพเจจเฉ‚เฉฐ เจ†เจตเจพเจœเจผ เจฆเฉ€ เจตเฉˆเจ•เจŸเจฐ เจชเฉเจฐเจคเฉ€เจจเจฟเจงเจคเจพ เจฎเจฟเจฒเจฆเฉ€ เจนเฉˆเฅค

เจ…เฉฑเจ—เฉ‡ เจ…เจธเฉ€เจ‚ เจธเจฟเจงเจพเจ‚เจค เจจเจพเจฒ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ เจฎเจพเจกเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจฌเจฆเจฒเจฃ เจฌเจพเจฐเฉ‡ เจ—เฉฑเจฒ เจ•เจฐเจพเจ‚เจ—เฉ‡เฅค OpenVINO เจตเจฟเฉฑเจš เจ•เจˆ เจฎเฉ‹เจกเฉ€เจŠเจฒ เจธเจผเจพเจฎเจฒ เจนเจจ:

  • เจฎเจพเจกเจฒ เจšเจฟเฉœเฉ€เจ†เจ˜เจฐ เจ–เฉ‹เจฒเฉเจนเฉ‹, เจ‰เจน เจฎเจพเจกเจฒ เจœเจฟเจจเฉเจนเจพเจ‚ เจคเฉ‹เจ‚ เจคเฉเจนเจพเจกเฉ‡ เจ‰เจคเจชเจพเจฆ เจตเจฟเฉฑเจš เจตเจฐเจคเจฟเจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ
  • เจฎเจพเจกเจฒ เจ†เจชเจŸเฉ€เจฎเจœเจผเจฐ, เจœเจฟเจธเจฆเจพ เจงเฉฐเจจเจตเจพเจฆ เจคเฉเจธเฉ€เจ‚ เจตเฉฑเจ–-เจตเฉฑเจ– เจซเจฐเฉ‡เจฎเจตเจฐเจ• เจซเจพเจฐเจฎเฉˆเจŸเจพเจ‚ (เจŸเฉˆเจจเจธเจฐเจซเจฒเฉ‹, เจ“เจเจจเจเจจเจเจ•เจธ เจ†เจฆเจฟ) เจคเฉ‹เจ‚ เจ‡เฉฑเจ• เจฎเจพเจกเจฒ เจจเฉ‚เฉฐ เจ‡เฉฐเจŸเจฐเจฎเฉ€เจกเฉ€เจเจŸ เจชเฉเจฐเจคเฉ€เจจเจฟเจงเจคเจพ เจซเจพเจฐเจฎเฉˆเจŸ เจตเจฟเฉฑเจš เจฌเจฆเจฒ เจธเจ•เจฆเฉ‡ เจนเฉ‹, เจœเจฟเจธ เจจเจพเจฒ เจ…เจธเฉ€เจ‚ เจ…เฉฑเจ—เฉ‡ เจ•เฉฐเจฎ เจ•เจฐเจพเจ‚เจ—เฉ‡เฅค
  • เจ‡เจจเจซเจฐเฉˆเจ‚เจธ เจ‡เฉฐเจœเจฃ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‡เฉฐเจŸเฉ‡เจฒ เจชเฉเจฐเฉ‹เจธเฉˆเจธเจฐเจพเจ‚, เจ…เจฃเจ—เจฟเจฃเจค เจšเจฟเจชเจธ เจ…เจคเฉ‡ เจจเจฟเจŠเจฐเจฒ เจ•เฉฐเจชเจฟเจŠเจŸ เจธเจŸเจฟเจ• เจเจ•เจธเจฒเฉ‡เจŸเจฐเจพเจ‚ 'เจคเฉ‡ IR เจซเจพเจฐเจฎเฉˆเจŸ เจตเจฟเฉฑเจš เจฎเจพเจกเจฒ เจšเจฒเจพเจ‰เจฃ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเจพ เจนเฉˆเฅค
  • เจ“เจชเจจเจธเฉ€เจตเฉ€ เจฆเจพ เจธเจญ เจคเฉ‹เจ‚ เจ•เฉเจธเจผเจฒ เจธเฉฐเจธเจ•เจฐเจฃ (เจ‡เฉฐเจซเจฐเฉˆเจ‚เจธ เจ‡เฉฐเจœเจจ เจธเจนเจพเจ‡เจคเจพ เจฆเฉ‡ เจจเจพเจฒ)
    IR เจซเจพเจฐเจฎเฉˆเจŸ เจตเจฟเฉฑเจš เจนเจฐเฉ‡เจ• เจฎเจพเจกเจฒ เจจเฉ‚เฉฐ เจฆเฉ‹ เจซเจพเจˆเจฒเจพเจ‚ เจฆเฉเจ†เจฐเจพ เจฆเจฐเจธเจพเจ‡เจ† เจ—เจฟเจ† เจนเฉˆ: .xml เจ…เจคเฉ‡ .bin.
    เจฎเจพเจกเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจนเฉ‡เจ  เจฒเจฟเจ–เฉ‡ เจ…เจจเฉเจธเจพเจฐ เจฎเจพเจกเจฒ เจ†เจชเจŸเฉ€เจฎเจพเจˆเจœเจผเจฐ เจฐเจพเจนเฉ€เจ‚ IR เจซเจพเจฐเจฎเฉˆเจŸ เจตเจฟเฉฑเจš เจฌเจฆเจฒเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ:

    python /opt/intel/openvino/deployment_tools/model_optimizer/mo_tf.py --input_model speaker.hdf5.pb --data_type=FP16 --input_shape [1,512,1000,1]

    --data_type เจคเฉเจนเจพเจจเฉ‚เฉฐ เจกเจพเจŸเจพ เจซเจพเจฐเจฎเฉˆเจŸ เจšเฉเจฃเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ เจœเจฟเจธ เจจเจพเจฒ เจฎเจพเจกเจฒ เจ•เฉฐเจฎ เจ•เจฐเฉ‡เจ—เจพเฅค FP32, FP16, INT8 เจธเจฎเจฐเจฅเจฟเจค เจนเจจเฅค เจธเจฐเจตเฉ‹เจคเจฎ เจกเฉ‡เจŸเจพ เจ•เจฟเจธเจฎ เจฆเฉ€ เจšเฉ‹เจฃ เจ•เจฐเจจเจพ เจ‡เฉฑเจ• เจตเจงเฉ€เจ† เจชเฉเจฐเจฆเจฐเจธเจผเจจ เจจเฉ‚เฉฐ เจนเฉเจฒเจพเจฐเจพ เจฆเฉ‡ เจธเจ•เจฆเจพ เจนเฉˆเฅค
    --input_shape เจ‡เฉฐเจชเฉเฉฑเจŸ เจกเฉ‡เจŸเจพ เจฆเฉ‡ เจฎเจพเจช เจจเฉ‚เฉฐ เจฆเจฐเจธเจพเจ‰เจ‚เจฆเจพ เจนเฉˆเฅค เจ‡เจธ เจจเฉ‚เฉฐ เจ—เจคเฉ€เจธเจผเฉ€เจฒ เจคเฉŒเจฐ 'เจคเฉ‡ เจฌเจฆเจฒเจฃ เจฆเฉ€ เจฏเฉ‹เจ—เจคเจพ C++ API เจตเจฟเฉฑเจš เจฎเฉŒเจœเฉ‚เจฆ เจœเจพเจชเจฆเฉ€ เจนเฉˆ, เจชเจฐ เจ…เจธเฉ€เจ‚ เจ‡เจธ เจจเฉ‚เฉฐ เจฌเจนเฉเจค เจฆเฉ‚เจฐ เจจเจนเฉ€เจ‚ เจ–เฉ‹เจฆเจฟเจ† เจ…เจคเฉ‡ เจ‡เจธเจจเฉ‚เฉฐ เจธเจฟเจฐเจซเจผ เจ‡เฉฑเจ• เจฎเจพเจกเจฒ เจฒเจˆ เจซเจฟเจ•เจธ เจ•เฉ€เจคเจพ เจนเฉˆเฅค
    เจ…เฉฑเจ—เฉ‡, เจ†เจ“ เจชเจนเจฟเจฒเจพเจ‚ เจคเฉ‹เจ‚ เจนเฉ€ เจชเจฐเจฟเจตเจฐเจคเจฟเจค เจฎเจพเจกเจฒ เจจเฉ‚เฉฐ IR เจซเจพเจฐเจฎเฉˆเจŸ เจตเจฟเฉฑเจš DNN เจฎเฉ‹เจกเฉ€เจŠเจฒ เจฐเจพเจนเฉ€เจ‚ OpenCV เจตเจฟเฉฑเจš เจฒเฉ‹เจก เจ•เจฐเจจ เจฆเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เจฐเฉ€เจ เจ…เจคเฉ‡ เจ‡เจธเจจเฉ‚เฉฐ เจ…เฉฑเจ—เฉ‡ เจญเฉ‡เจœเฉ€เจเฅค

    import cv2 as cv
    emotionsNet = cv.dnn.readNet('emotions_model.bin',
                              'emotions_model.xml')
    emotionsNet.setPreferableTarget(cv.dnn.DNN_TARGET_MYRIAD)

    เจ‡เจธ เจ•เฉ‡เจธ เจตเจฟเฉฑเจš เจ†เจ–เจฐเฉ€ เจฒเจพเจˆเจจ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจจเจฟเจŠเจฐเจฒ เจ•เฉฐเจชเจฟเจŠเจŸ เจธเจŸเจฟเฉฑเจ• เจฒเจˆ เจ—เจฃเจจเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจฐเฉ€เจกเจพเจ‡เจฐเฉˆเจ•เจŸ เจ•เจฐเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเฉ€ เจนเฉˆ, เจชเฉเจฐเฉ‹เจธเฉˆเจธเจฐ 'เจคเฉ‡ เจฎเฉ‚เจฒ เจ—เจฃเจจเจพเจตเจพเจ‚ เจ•เฉ€เจคเฉ€เจ†เจ‚ เจœเจพเจ‚เจฆเฉ€เจ†เจ‚ เจนเจจ, เจชเจฐ เจฐเจพเจธเจฌเฉ‡เจฐเฉ€ เจชเจพเจˆ เจฆเฉ‡ เจฎเจพเจฎเจฒเฉ‡ เจตเจฟเฉฑเจš เจ‡เจน เจ•เฉฐเจฎ เจจเจนเฉ€เจ‚ เจ•เจฐเฉ‡เจ—เจพ, เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจธเจŸเจฟเฉฑเจ• เจฆเฉ€ เจฒเฉ‹เฉœ เจชเจตเฉ‡เจ—เฉ€เฅค

    เจ…เฉฑเจ—เฉ‡, เจคเจฐเจ• เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚ เจนเฉˆ: เจ…เจธเฉ€เจ‚ เจ†เจชเจฃเฉ‡ เจ†เจกเฉ€เจ“ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจ–เจพเจธ เจ†เจ•เจพเจฐ เจฆเฉ€เจ†เจ‚ เจตเจฟเฉฐเจกเฉ‹เจœเจผ เจตเจฟเฉฑเจš เจตเฉฐเจกเจฆเฉ‡ เจนเจพเจ‚ (เจธเจพเจกเฉ‡ เจฒเจˆ เจ‡เจน 0.4 s เจนเฉˆ), เจ…เจธเฉ€เจ‚ เจ‡เจนเจจเจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจนเจฐเฉ‡เจ• เจตเจฟเฉฐเจกเฉ‹ เจจเฉ‚เฉฐ MFCC เจตเจฟเฉฑเจš เจฌเจฆเจฒเจฆเฉ‡ เจนเจพเจ‚, เจœเจฟเจธเจจเฉ‚เฉฐ เจ…เจธเฉ€เจ‚ เจซเจฟเจฐ เจ—เจฐเจฟเฉฑเจก เจตเจฟเฉฑเจš เจซเฉ€เจก เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚:

    emotionsNet.setInput(MFCC_from_window)
    result = emotionsNet.forward()

    เจ…เฉฑเจ—เฉ‡, เจ†เจ“ เจธเจพเจฐเฉ€เจ†เจ‚ เจตเจฟเฉฐเจกเฉ‹เจœเจผ เจฒเจˆ เจธเจญ เจคเฉ‹เจ‚ เจ†เจฎ เจ•เจฒเจพเจธ เจฒเฉˆเจ‚เจฆเฉ‡ เจนเจพเจ‚เฅค เจ‡เฉฑเจ• เจธเจงเจพเจฐเจจ เจนเฉฑเจฒ เจนเฉˆ, เจชเจฐ เจ‡เฉฑเจ• เจนเฉˆเจ•เจพเจฅเจจ เจฒเจˆ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ•เฉ‹เจˆ เจฌเจนเฉเจค เจœเจผเจฟเจ†เจฆเจพ เจฌเฉ‡เจคเฉเจ•เฉ€ เจšเฉ€เจœเจผ เจจเจพเจฒ เจ†เจ‰เจฃ เจฆเฉ€ เจœเจผเจฐเฉ‚เจฐเจค เจจเจนเฉ€เจ‚ เจนเฉˆ, เจ•เฉ‡เจตเจฒ เจคเจพเจ‚ เจนเฉ€ เจœเฉ‡เจ•เจฐ เจคเฉเจนเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจธเจฎเจพเจ‚ เจนเฉ‹เจตเฉ‡เฅค เจธเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจ…เจœเฉ‡ เจตเฉ€ เจฌเจนเฉเจค เจธเจพเจฐเจพ เจ•เฉฐเจฎ เจนเฉˆ, เจ‡เจธ เจฒเจˆ เจ†เจ“ เจ…เฉฑเจ—เฉ‡ เจตเจงเฉ€เจ - เจ…เจธเฉ€เจ‚ เจ†เจตเจพเจœเจผ เจฆเฉ€ เจชเจ›เจพเจฃ เจจเจพเจฒ เจจเจœเจฟเฉฑเจ เจพเจ‚เจ—เฉ‡เฅค เจ•เจฟเจธเฉ‡ เจ•เจฟเจธเจฎ เจฆเจพ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจฌเจฃเจพเจ‰เจฃเจพ เจœเจผเจฐเฉ‚เจฐเฉ€ เจนเฉˆ เจœเจฟเจธ เจตเจฟเฉฑเจš เจชเจนเจฟเจฒเจพเจ‚ เจคเฉ‹เจ‚ เจฐเจฟเจ•เจพเจฐเจก เจ•เฉ€เจคเฉ€เจ†เจ‚ เจ†เจตเจพเจœเจผเจพเจ‚ เจฆเฉ‡ เจธเจชเฉˆเจ•เจŸเจฐเฉ‹เจ—เฉเจฐเจพเจฎ เจธเจŸเฉ‹เจฐ เจ•เฉ€เจคเฉ‡ เจœเจพเจฃเจ—เฉ‡เฅค เจ•เจฟเจ‰เจ‚เจ•เจฟ เจฅเฉ‹เฉœเจพ เจธเจฎเจพเจ‚ เจฌเจšเจฟเจ† เจนเฉˆ, เจ‡เจธ เจฒเจˆ เจ…เจธเฉ€เจ‚ เจ‡เจธ เจฎเฉเฉฑเจฆเฉ‡ เจจเฉ‚เฉฐ เจฌเจฟเจนเจคเจฐ เจขเฉฐเจ— เจจเจพเจฒ เจนเฉฑเจฒ เจ•เจฐเจพเจ‚เจ—เฉ‡เฅค

    เจ…เจฐเจฅเจพเจค, เจ…เจธเฉ€เจ‚ เจ‡เฉฑเจ• เจตเฉŒเจ‡เจธ เจเจ•เจธเจชเจฐเจŸ เจจเฉ‚เฉฐ เจฐเจฟเจ•เจพเจฐเจก เจ•เจฐเจจ เจฒเจˆ เจ‡เฉฑเจ• เจธเจ•เฉเจฐเจฟเจชเจŸ เจฌเจฃเจพเจ‰เจ‚เจฆเฉ‡ เจนเจพเจ‚ (เจ‡เจน เจ‰เฉฑเจชเจฐ เจฆเฉฑเจธเฉ‡ เจ…เจจเฉเจธเจพเจฐ เจนเฉ€ เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจนเฉˆ, เจธเจฟเจฐเจซ เจ•เฉ€เจฌเฉ‹เจฐเจก เจคเฉ‹เจ‚ เจฐเฉเจ•เจพเจตเจŸ เจนเฉ‹เจฃ 'เจคเฉ‡ เจ‡เจน เจ†เจตเจพเจœเจผ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจซเจพเจˆเจฒ เจตเจฟเฉฑเจš เจธเฉเจฐเฉฑเจ–เจฟเจ…เจค เจ•เจฐเฉ‡เจ—เจพ)เฅค

    เจ†เจ“ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เจฐเฉ€เจ:

    python3 voice_db/record_voice.py test.wav

    เจ…เจธเฉ€เจ‚ เจ•เจˆ เจฒเฉ‹เจ•เจพเจ‚ เจฆเฉ€เจ†เจ‚ เจ†เจตเจพเจœเจผเจพเจ‚ เจฐเจฟเจ•เจพเจฐเจก เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚ (เจธเจพเจกเฉ‡ เจ•เฉ‡เจธ เจตเจฟเฉฑเจš, เจŸเฉ€เจฎ เจฆเฉ‡ เจคเจฟเฉฐเจจ เจฎเฉˆเจ‚เจฌเจฐ)
    เจ…เฉฑเจ—เฉ‡, เจนเจฐเฉ‡เจ• เจฐเจฟเจ•เจพเจฐเจก เจ•เฉ€เจคเฉ€ เจ†เจตเจพเจœเจผ เจฒเจˆ เจ…เจธเฉ€เจ‚ เจ‡เฉฑเจ• เจคเฉ‡เจœเจผ เจซเฉ‹เจฐเฉ€เจ…เจฐ เจŸเฉเจฐเจพเจ‚เจธเจซเจพเจฐเจฎ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚, เจ‡เฉฑเจ• เจธเจชเฉˆเจ•เจŸเจฐเฉ‹เจ—เฉเจฐเจพเจฎ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚ เจ…เจคเฉ‡ เจ‡เจธเจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจจเจฎเจชเฉ€ เจเจฐเฉ‡ (.npy) เจฆเฉ‡ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจธเฉเจฐเฉฑเจ–เจฟเจ…เจค เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚:

    for file in glob.glob("voice_db/*.wav"):
            spec = get_fft_spectrum(file)
            np.save(file[:-4] + '.npy', spec)

    เจซเจพเจˆเจฒ เจตเจฟเฉฑเจš เจนเฉ‹เจฐ เจตเฉ‡เจฐเจตเฉ‡ create_base.py
    เจจเจคเฉ€เจœเฉ‡ เจตเจœเฉ‹เจ‚, เจœเจฆเฉ‹เจ‚ เจ…เจธเฉ€เจ‚ เจฎเฉเฉฑเจ– เจธเจ•เฉเจฐเจฟเจชเจŸ เจšเจฒเจพเจ‰เจ‚เจฆเฉ‡ เจนเจพเจ‚, เจคเจพเจ‚ เจ…เจธเฉ€เจ‚ เจธเจผเฉเจฐเฉ‚ เจตเจฟเฉฑเจš เจ‡เจนเจจเจพเจ‚ เจธเจชเฉˆเจ•เจŸเจฐเฉ‹เจ—เฉเจฐเจพเจฎเจพเจ‚ เจคเฉ‹เจ‚ เจเจฎเจฌเฉˆเจกเจฟเฉฐเจ— เจชเฉเจฐเจพเจชเจค เจ•เจฐเจพเจ‚เจ—เฉ‡:

    for file in glob.glob("voice_db/*.npy"):
        spec = np.load(file)
        spec = spec.astype('float32')
        spec_reshaped = spec.reshape(1, 1, spec.shape[0], spec.shape[1])
        srNet.setInput(spec_reshaped)
        pred = srNet.forward()
        emb = np.squeeze(pred)

    เจงเฉเจจเฉ€ เจตเจพเจฒเฉ‡ เจนเจฟเฉฑเจธเฉ‡ เจคเฉ‹เจ‚ เจเจฎเจฌเฉˆเจกเจฟเฉฐเจ— เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, เจ…เจธเฉ€เจ‚ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจฆเฉ€เจ†เจ‚ เจธเจพเจฐเฉ€เจ†เจ‚ เจ†เจตเจพเจœเจผเจพเจ‚ (เจœเจฟเฉฐเจจเฉ€ เจ›เฉ‹เจŸเฉ€, เจœเจผเจฟเจ†เจฆเจพ เจธเฉฐเจญเจพเจตเจจเจพ เจนเฉˆ) เจจเฉ‚เฉฐ เจฌเฉ€เจคเจฃ เจคเฉ‹เจ‚ เจ•เฉ‹เจธเจพเจˆเจจ เจฆเฉ‚เจฐเฉ€ เจฒเฉˆ เจ•เฉ‡ เจ‡เจน เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเจจ เจฆเฉ‡ เจฏเฉ‹เจ— เจนเฉ‹เจตเจพเจ‚เจ—เฉ‡ เจ•เจฟ เจ‡เจน เจ•เจฟเจธ เจจเจพเจฒ เจธเจฌเฉฐเจงเจค เจนเฉˆ - เจกเฉˆเจฎเฉ‹ เจฒเจˆ เจ…เจธเฉ€เจ‚ เจฅเฉเจฐเฉˆเจธเจผเจนเฉ‹เจฒเจก เจธเฉˆเฉฑเจŸ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚ 0.3 เจคเฉฑเจ•):

            dist_list = cdist(emb, enroll_embs, metric="cosine")
            distances = pd.DataFrame(dist_list, columns = df.speaker)

    เจ…เฉฐเจค เจตเจฟเฉฑเจš, เจฎเฉˆเจ‚ เจ‡เจน เจจเฉ‹เจŸ เจ•เจฐเจจเจพ เจšเจพเจนเจพเจ‚เจ—เจพ เจ•เจฟ เจ…เจจเฉเจฎเจพเจจ เจฆเฉ€ เจ—เจคเฉ€ เจคเฉ‡เจœเจผ เจธเฉ€ เจ…เจคเฉ‡ เจ‡เจธเจจเฉ‡ 1-2 เจนเฉ‹เจฐ เจฎเจพเจกเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจœเฉ‹เฉœเจจเจพ เจธเฉฐเจญเจต เจฌเจฃเจพเจ‡เจ† (เจ‡เฉฑเจ• เจจเจฎเฉ‚เจจเฉ‡ เจฒเจˆ 7 เจธเจ•เจฟเฉฐเจŸ เจฒเฉฐเจฌเฉ‡ เจ‡เจธ เจจเฉ‚เฉฐ เจ…เจจเฉเจฎเจพเจจ เจฒเจˆ 2.5 เจฒเฉฑเจ— เจ—เจฟเจ†)เฅค เจธเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจนเฉเจฃ เจจเจตเฉ‡เจ‚ เจฎเจพเจกเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจœเฉ‹เฉœเจจ เจฆเจพ เจธเจฎเจพเจ‚ เจจเจนเฉ€เจ‚ เจธเฉ€ เจ…เจคเฉ‡ เจตเฉˆเฉฑเจฌ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจฆเจพ เจชเฉเจฐเฉ‹เจŸเฉ‹เจŸเจพเจˆเจช เจฒเจฟเจ–เจฃ 'เจคเฉ‡ เจงเจฟเจ†เจจ เจ•เฉ‡เจ‚เจฆเจฐเจฟเจค เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจธเฉ€เฅค

    เจตเฉˆเฉฑเจฌ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ

    เจ‡เฉฑเจ• เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจจเฉเจ•เจคเจพ: เจ…เจธเฉ€เจ‚ เจ˜เจฐ เจคเฉ‹เจ‚ เจ†เจชเจฃเฉ‡ เจจเจพเจฒ เจ‡เฉฑเจ• เจฐเจพเจŠเจŸเจฐ เจฒเฉˆ เจ•เฉ‡ เจœเจพเจ‚เจฆเฉ‡ เจนเจพเจ‚ เจ…เจคเฉ‡ เจ†เจชเจฃเจพ เจธเจฅเจพเจจเจ• เจจเฉˆเจŸเจตเจฐเจ• เจธเฉˆเจŸ เจ…เจช เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚, เจ‡เจน เจกเจฟเจตเจพเจˆเจธ เจ…เจคเฉ‡ เจฒเฉˆเจชเจŸเจพเจชเจพเจ‚ เจจเฉ‚เฉฐ เจจเฉˆเจŸเจตเจฐเจ• เจคเฉ‡ เจ•เจจเฉˆเจ•เจŸ เจ•เจฐเจจ เจตเจฟเฉฑเจš เจฎเจฆเจฆ เจ•เจฐเจฆเจพ เจนเฉˆเฅค

    เจฌเฉˆเจ•เจเจ‚เจก เจธเจพเจนเจฎเจฃเฉ‡ เจ…เจคเฉ‡ เจฐเจพเจธเจฌเฉ‡เจฐเฉ€ เจชเจพเจˆ เจฆเฉ‡ เจตเจฟเจšเจ•เจพเจฐ เจ‡เฉฑเจ• เจ…เฉฐเจค-เจคเฉ‹เจ‚-เจ…เฉฐเจค เจธเฉเจจเฉ‡เจนเจพ เจšเฉˆเจจเจฒ เจนเฉˆ, เจœเฉ‹ เจตเฉˆเจฌเจธเจพเจ•เฉ‡เจŸ เจคเจ•เจจเจพเจฒเฉ‹เจœเฉ€ (http เจ“เจตเจฐ tcp เจชเฉเจฐเฉ‹เจŸเฉ‹เจ•เฉ‹เจฒ) 'เจคเฉ‡ เจ…เจงเจพเจฐเจค เจนเฉˆเฅค

    เจชเจนเจฟเจฒเจพ เจชเฉœเจพเจ… เจฐเจธเจฌเฉ‡เจฐเฉ€ เจคเฉ‹เจ‚ เจชเฉเจฐเฉ‹เจธเฉˆเจธเจก เจœเจพเจฃเจ•เจพเจฐเฉ€ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจเจพ เจนเฉˆ, เจฏเจพเจจเฉ€ เจœเฉ‡เจธเจจ เจตเจฟเฉฑเจš เจชเฉˆเจ• เจ•เฉ€เจคเฉ‡ เจญเจตเจฟเฉฑเจ–เจฌเจพเจฃเฉ€ เจ•เจฐเจจ เจตเจพเจฒเฉ‡, เจœเฉ‹ เจ‰เจนเจจเจพเจ‚ เจฆเฉ€ เจฏเจพเจคเจฐเจพ เจฆเฉ‡ เจ…เฉฑเจงเฉ‡ เจฐเจธเจคเฉ‡ เจตเจฟเฉฑเจš เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจตเจฟเฉฑเจš เจธเฉเจฐเฉฑเจ–เจฟเจ…เจค เจ•เฉ€เจคเฉ‡ เจœเจพเจ‚เจฆเฉ‡ เจนเจจ เจคเจพเจ‚ เจœเฉ‹ เจฎเจฟเจ†เจฆ เจฒเจˆ เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจฆเฉ‡ เจญเจพเจตเจจเจพเจคเจฎเจ• เจชเจฟเจ›เฉ‹เจ•เฉœ เจฌเจพเจฐเฉ‡ เจ…เฉฐเจ•เฉœเฉ‡ เจคเจฟเจ†เจฐ เจ•เฉ€เจคเฉ‡ เจœเจพ เจธเจ•เจฃเฅค เจ‡เจน เจชเฉˆเจ•เฉ‡เจŸ เจซเจฟเจฐ เจซเจฐเฉฐเจŸเจเจ‚เจก 'เจคเฉ‡ เจญเฉ‡เจœเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจœเฉ‹ เจ—เจพเจนเจ•เฉ€ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจตเฉˆเจฌเจธเจพเจ•เฉ‡เจŸ เจเจ‚เจกเจชเฉเจ†เจ‡เฉฐเจŸ เจคเฉ‹เจ‚ เจชเฉˆเจ•เฉ‡เจŸ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจชเฉ‚เจฐเจพ เจฌเฉˆเจ•เจเจ‚เจก เจฎเจ•เฉˆเจจเจฟเจœเจผเจฎ เจ—เฉ‹เจฒเฉฐเจ— เจญเจพเจธเจผเจพ เจตเจฟเฉฑเจš เจฌเจฃเจพเจ‡เจ† เจ—เจฟเจ† เจนเฉˆ; เจ‡เจน เจ‡เจธ เจฒเจˆ เจšเฉเจฃเจฟเจ† เจ—เจฟเจ† เจธเฉ€ เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ‡เจน เจ…เจธเจฟเฉฐเจ•เจฐเฉ‹เจจเจธ เจ•เจพเจฐเจœเจพเจ‚ เจฒเจˆ เจขเฉเจ•เจตเจพเจ‚ เจนเฉˆ, เจœเฉ‹ เจ•เจฟ เจ—เฉ‚เจฐเฉ‚เจŸเฉ€เจจ เจšเฉฐเจ—เฉ€ เจคเจฐเฉเจนเจพเจ‚ เจธเฉฐเจญเจพเจฒเจฆเฉ‡ เจนเจจเฅค
    เจ…เฉฐเจคเจฎ เจฌเจฟเฉฐเจฆเฉ‚ เจคเฉฑเจ• เจชเจนเฉเฉฐเจš เจ•เจฐเจฆเฉ‡ เจธเจฎเฉ‡เจ‚, เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจฐเจœเจฟเจธเจŸเจฐ เจนเฉเฉฐเจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจขเจพเจ‚เจšเฉ‡ เจตเจฟเฉฑเจš เจฆเจพเจ–เจฒ เจนเฉเฉฐเจฆเจพ เจนเฉˆ, เจซเจฟเจฐ เจ‰เจธเจฆเจพ เจธเฉเจจเฉ‡เจนเจพ เจชเฉเจฐเจพเจชเจค เจนเฉเฉฐเจฆเจพ เจนเฉˆ. เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจ…เจคเฉ‡ เจธเฉฐเจฆเฉ‡เจธเจผ เจฆเฉ‹เจตเฉ‡เจ‚ เจ‡เฉฑเจ• เจธเจพเจ‚เจเฉ‡ เจนเฉฑเจฌ เจตเจฟเฉฑเจš เจฆเจพเจ–เจฒ เจนเฉเฉฐเจฆเฉ‡ เจนเจจ, เจœเจฟเฉฑเจฅเฉ‹เจ‚ เจธเฉเจจเฉ‡เจนเฉ‡ เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจ…เฉฑเจ—เฉ‡ เจญเฉ‡เจœเฉ‡ เจœเจพเจ‚เจฆเฉ‡ เจนเจจ (เจธเจฌเจธเจ•เฉเจฐเจพเจˆเจฌเจก เจซเจฐเฉฐเจŸ เจจเฉ‚เฉฐ), เจ…เจคเฉ‡ เจœเฉ‡เจ•เจฐ เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจ•เจจเฉˆเจ•เจธเจผเจจ เจฌเฉฐเจฆ เจ•เจฐเจฆเจพ เจนเฉˆ (เจฐเฉฑเจธเจฌเฉ‡เจฐเฉ€ เจœเจพเจ‚ เจซเจฐเฉฐเจŸ), เจคเจพเจ‚ เจ‰เจธเจฆเฉ€ เจ—เจพเจนเจ•เฉ€ เจฐเฉฑเจฆ เจ•เจฐ เจฆเจฟเฉฑเจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ เจ…เจคเฉ‡ เจ‰เจธเจจเฉ‚เฉฐ เจ‡เฉฑเจฅเฉ‹เจ‚ เจนเจŸเจพ เจฆเจฟเฉฑเจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค เจนเฉฑเจฌ.

    เจ“เจชเจจเจตเฉ€เจจเฉ‹ เจนเฉˆเจ•เจพเจฅเจจ: เจฐเจพเจธเจฌเฉ‡เจฐเฉ€ เจชเจพเจˆ 'เจคเฉ‡ เจ†เจตเจพเจœเจผ เจ…เจคเฉ‡ เจญเจพเจตเจจเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจชเจ›เจพเจฃเจจเจพ
    เจ…เจธเฉ€เจ‚ เจชเจฟเฉฑเจ›เฉ‡ เจคเฉ‹เจ‚ เจ•เฉเจจเฉˆเจ•เจธเจผเจจ เจฆเฉ€ เจ‰เจกเฉ€เจ• เจ•เจฐ เจฐเจนเฉ‡ เจนเจพเจ‚

    เจซเจฐเฉฐเจŸ-เจเจ‚เจก เจตเจฟเจ•เจพเจธ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจจเฉ‚เฉฐ เจคเฉ‡เจœเจผ เจ•เจฐเจจ เจ…เจคเฉ‡ เจธเจฐเจฒ เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ เจฐเฉ€เจเจ•เจŸ เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ JavaScript เจตเจฟเฉฑเจš เจฒเจฟเจ–เจฟเจ† เจ‡เฉฑเจ• เจตเฉˆเจฌ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจนเฉˆเฅค เจ‡เจธ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจฆเจพ เจ‰เจฆเฉ‡เจธเจผ เจฌเฉˆเจ•-เจเจ‚เจก เจธเจพเจˆเจก เจ…เจคเฉ‡ เจธเจฟเฉฑเจงเฉ‡ เจฐเจพเจธเจฌเฉ‡เจฐเฉ€ เจชเจพเจˆ 'เจคเฉ‡ เจšเฉฑเจฒ เจฐเจนเฉ‡ เจเจฒเจ—เฉ‹เจฐเจฟเจฆเจฎ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจชเฉเจฐเจพเจชเจค เจ•เฉ€เจคเฉ‡ เจกเฉ‡เจŸเจพ เจฆเฉ€ เจ•เจฒเจชเจจเจพ เจ•เจฐเจจเจพ เจนเฉˆเฅค เจชเฉฐเจจเฉ‡ เจตเจฟเฉฑเจš เจฐเฉ€เจเจ•เจŸ-เจฐเจพเจŠเจŸเจฐ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเฉ€ เจ—เจˆ เจธเฉˆเจ•เจธเจผเจจเจฒ เจฐเฉ‚เจŸเจฟเฉฐเจ— เจนเฉˆ, เจชเจฐ เจฆเจฟเจฒเจšเจธเจชเฉ€ เจฆเจพ เจฎเฉเฉฑเจ– เจชเฉฐเจจเจพ เจฎเฉเฉฑเจ– เจชเฉฐเจจเจพ เจนเฉˆ, เจœเจฟเฉฑเจฅเฉ‡ WebSocket เจคเจ•เจจเจพเจฒเฉ‹เจœเฉ€ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ เจธเจฐเจตเจฐ เจคเฉ‹เจ‚ เจฐเฉ€เจ…เจฒ เจŸเจพเจˆเจฎ เจตเจฟเฉฑเจš เจกเฉ‡เจŸเจพ เจฆเฉ€ เจ‡เฉฑเจ• เจจเจฟเจฐเฉฐเจคเจฐ เจธเจŸเฉเจฐเฉ€เจฎ เจชเฉเจฐเจพเจชเจค เจ•เฉ€เจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆเฅค Raspberry Pi เจ‡เฉฑเจ• เจ†เจตเจพเจœเจผ เจฆเจพ เจชเจคเจพ เจฒเจ—เจพเจ‰เจ‚เจฆเฉ€ เจนเฉˆ, เจ‡เจน เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเจฆเฉ€ เจนเฉˆ เจ•เจฟ เจ•เฉ€ เจ‡เจน เจฐเจœเจฟเจธเจŸเจฐเจก เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจคเฉ‹เจ‚ เจ•เจฟเจธเฉ‡ เจ–เจพเจธ เจตเจฟเจ…เจ•เจคเฉ€ เจจเจพเจฒ เจธเจฌเฉฐเจงเจค เจนเฉˆ, เจ…เจคเฉ‡ เจ—เจพเจนเจ• เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจธเฉฐเจญเจพเจตเจจเจพ เจธเฉ‚เจšเฉ€ เจญเฉ‡เจœเจฆเฉ€ เจนเฉˆเฅค เจ•เจฒเจพเจ‡เฉฐเจŸ เจจเจตเฉ€เจจเจคเจฎ เจธเฉฐเจฌเฉฐเจงเจฟเจค เจกเฉ‡เจŸเจพ เจชเฉเจฐเจฆเจฐเจธเจผเจฟเจค เจ•เจฐเจฆเจพ เจนเฉˆ, เจ‰เจธ เจตเจฟเจ…เจ•เจคเฉ€ เจฆเจพ เจ…เจตเจคเจพเจฐ เจชเฉเจฐเจฆเจฐเจธเจผเจฟเจค เจ•เจฐเจฆเจพ เจนเฉˆ เจœเจฟเจธ เจจเฉ‡ เจฎเจพเจˆเจ•เฉเจฐเฉ‹เจซเฉ‹เจจ เจตเจฟเฉฑเจš เจธเจญ เจคเฉ‹เจ‚ เจตเฉฑเจง เจ—เฉฑเจฒ เจ•เฉ€เจคเฉ€ เจธเฉ€, เจ…เจคเฉ‡ เจจเจพเจฒ เจนเฉ€ เจ‰เจน เจญเจพเจตเจจเจพ เจœเจฟเจธ เจจเจพเจฒ เจ‰เจน เจธเจผเจฌเจฆเจพเจ‚ เจฆเจพ เจ‰เจšเจพเจฐเจจ เจ•เจฐเจฆเจพ เจนเฉˆเฅค

    เจ“เจชเจจเจตเฉ€เจจเฉ‹ เจนเฉˆเจ•เจพเจฅเจจ: เจฐเจพเจธเจฌเฉ‡เจฐเฉ€ เจชเจพเจˆ 'เจคเฉ‡ เจ†เจตเจพเจœเจผ เจ…เจคเฉ‡ เจญเจพเจตเจจเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจชเจ›เจพเจฃเจจเจพ
    เจ…เฉฑเจชเจกเฉ‡เจŸ เจ•เฉ€เจคเฉ‡ เจชเฉ‚เจฐเจต-เจ…เจจเฉเจฎเจพเจจเจพเจ‚ เจตเจพเจฒเจพ เจนเฉ‹เจฎ เจชเฉ‡เจœ

    เจธเจฟเฉฑเจŸเจพ

    เจฏเฉ‹เจœเจจเจพ เจ…เจจเฉเจธเจพเจฐ เจนเจฐ เจšเฉ€เจœเจผ เจจเฉ‚เฉฐ เจชเฉ‚เจฐเจพ เจ•เจฐเจจเจพ เจธเฉฐเจญเจต เจจเจนเฉ€เจ‚ เจธเฉ€, เจธเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจธเจฎเจพเจ‚ เจจเจนเฉ€เจ‚ เจธเฉ€, เจ‡เจธ เจฒเจˆ เจฎเฉเฉฑเจ– เจ‰เจฎเฉ€เจฆ เจกเฉˆเจฎเฉ‹ เจตเจฟเฉฑเจš เจธเฉ€, เจ•เจฟ เจธเจญ เจ•เฉเจ เจ•เฉฐเจฎ เจ•เจฐเฉ‡เจ—เจพเฅค เจชเฉ‡เจธเจผเจ•เจพเจฐเฉ€ เจตเจฟเฉฑเจš เจ‰เจนเจจเจพเจ‚ เจจเฉ‡ เจ‡เจธ เจฌเจพเจฐเฉ‡ เจ—เฉฑเจฒ เจ•เฉ€เจคเฉ€ เจ•เจฟ เจธเจญ เจ•เฉเจ เจ•เจฟเจตเฉ‡เจ‚ เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจนเฉˆ, เจ‰เจนเจจเจพเจ‚ เจจเฉ‡ เจ•เจฟเจนเฉœเฉ‡ เจฎเจพเจกเจฒ เจฒเจ, เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจ•เจฟเจนเฉœเฉ€เจ†เจ‚ เจธเจฎเฉฑเจธเจฟเจ†เจตเจพเจ‚ เจฆเจพ เจธเจพเจนเจฎเจฃเจพ เจ•เจฐเจจเจพ เจชเจฟเจ†เฅค เจ…เจ—เจฒเจพ เจกเฉˆเจฎเฉ‹ เจนเจฟเฉฑเจธเจพ เจธเฉ€ - เจฎเจพเจนเจฐ เจฌเฉ‡เจคเจฐเจคเฉ€เจฌเฉ‡ เจ•เฉเจฐเจฎ เจตเจฟเฉฑเจš เจ•เจฎเจฐเฉ‡ เจฆเฉ‡ เจฆเฉเจ†เจฒเฉ‡ เจ˜เฉเฉฐเจฎเจฆเฉ‡ เจธเจจ เจ…เจคเฉ‡ เจ•เจพเจฐเจœเจธเจผเฉ€เจฒ เจชเฉเจฐเฉ‹เจŸเฉ‹เจŸเจพเจˆเจช เจจเฉ‚เฉฐ เจตเฉ‡เจ–เจฃ เจฒเจˆ เจนเจฐเฉ‡เจ• เจŸเฉ€เจฎ เจจเจพเจฒ เจธเฉฐเจชเจฐเจ• เจ•เจฐเจฆเฉ‡ เจธเจจเฅค เจ‰เจนเจจเจพเจ‚ เจจเฉ‡ เจธเจพเจจเฉ‚เฉฐ เจธเจตเจพเจฒ เจตเฉ€ เจชเฉเฉฑเจ›เฉ‡, เจธเจพเจฐเจฟเจ†เจ‚ เจจเฉ‡ เจ†เจชเจฃเฉ‡ เจนเจฟเฉฑเจธเฉ‡ เจฆเฉ‡ เจœเจตเจพเจฌ เจฆเจฟเฉฑเจคเฉ‡, เจ‰เจนเจจเจพเจ‚ เจจเฉ‡ เจตเฉˆเฉฑเจฌ เจจเฉ‚เฉฐ เจฒเฉˆเจชเจŸเจพเจช 'เจคเฉ‡ เจ›เฉฑเจก เจฆเจฟเฉฑเจคเจพ, เจ…เจคเฉ‡ เจธเจญ เจ•เฉเจ เจ…เจธเจฒ เจตเจฟเฉฑเจš เจ‰เจฎเฉ€เจฆ เจ…เจจเฉเจธเจพเจฐ เจ•เฉฐเจฎ เจ•เฉ€เจคเจพเฅค

    เจฎเฉˆเจจเฉ‚เฉฐ เจจเฉ‹เจŸ เจ•เจฐเจจ เจฆเจฟเจ“ เจ•เจฟ เจธเจพเจกเฉ‡ เจนเฉฑเจฒ เจฆเฉ€ เจ•เฉเฉฑเจฒ เจฒเจพเจ—เจค $150 เจธเฉ€:

    • เจฐเจธเจฌเฉ‡เจฐเฉ€ เจชเจพเจˆ 3 ~ $35
    • Google AIY เจตเฉŒเจ‡เจธ เจฌเฉ‹เจจเจŸ (เจคเฉเจธเฉ€เจ‚ เจ‡เฉฑเจ• เจฐเฉ€เจธเจชเฉ€เจ•เจฐ เจซเฉ€เจธ เจฒเฉˆ เจธเจ•เจฆเฉ‡ เจนเฉ‹) ~ 15$
    • Intel NCS 2 ~ 100$

    เจธเฉเจงเจพเจฐ เจ•เจฟเจตเฉ‡เจ‚ เจ•เจฐเฉ€เจ:

    • เจ•เจฒเจพเจ‡เฉฐเจŸ เจคเฉ‹เจ‚ เจฐเจœเจฟเจธเจŸเฉเจฐเฉ‡เจธเจผเจจ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเฉ‹ - เจฌเฉ‡เจคเจฐเจคเฉ€เจฌเฉ‡ เจคเฉŒเจฐ 'เจคเฉ‡ เจคเจฟเจ†เจฐ เจ•เฉ€เจคเฉ‡ เจŸเฉˆเจ•เจธเจŸ เจจเฉ‚เฉฐ เจชเฉœเฉเจนเจจ เจฒเจˆ เจ•เจนเฉ‹
    • เจ•เฉเจ เจนเฉ‹เจฐ เจฎเจพเจกเจฒ เจธเจผเจพเจฎเจฒ เจ•เจฐเฉ‹: เจคเฉเจธเฉ€เจ‚ เจ†เจตเจพเจœเจผ เจฆเฉเจ†เจฐเจพ เจฒเจฟเฉฐเจ— เจ…เจคเฉ‡ เจ‰เจฎเจฐ เจฆเจพ เจชเจคเจพ เจฒเจ—เจพ เจธเจ•เจฆเฉ‡ เจนเฉ‹
    • เจ‡เฉฑเจ•เฉ‹ เจธเจฎเฉ‡เจ‚ เจ†เจตเจพเจœเจผเจพเจ‚ เจจเฉ‚เฉฐ เจตเฉฑเจ– เจ•เจฐเฉ‹ (เจกเจพเจ‡เจฐเจพเจ‡เจœเจผเฉ‡เจธเจผเจจ)

    เจญเฉฐเจกเจพเจฐ: https://github.com/vladimirwest/OpenEMO

    เจ“เจชเจจเจตเฉ€เจจเฉ‹ เจนเฉˆเจ•เจพเจฅเจจ: เจฐเจพเจธเจฌเฉ‡เจฐเฉ€ เจชเจพเจˆ 'เจคเฉ‡ เจ†เจตเจพเจœเจผ เจ…เจคเฉ‡ เจญเจพเจตเจจเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจชเจ›เจพเจฃเจจเจพ
    เจ…เจธเฉ€เจ‚ เจฅเฉฑเจ• เจ—เจ เจชเจฐ เจ–เฉเจธเจผ เจนเจพเจ‚

    เจ…เฉฐเจค เจตเจฟเฉฑเจš, เจฎเฉˆเจ‚ เจชเฉเจฐเจฌเฉฐเจงเจ•เจพเจ‚ เจ…เจคเฉ‡ เจญเจพเจ—เฉ€เจฆเจพเจฐเจพเจ‚ เจฆเจพ เจงเฉฐเจจเจตเจพเจฆ เจ•เจฐเจจเจพ เจšเจพเจนเจพเจ‚เจ—เจพเฅค เจฆเฉ‚เจœเฉ€เจ†เจ‚ เจŸเฉ€เจฎเจพเจ‚ เจฆเฉ‡ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸเจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚, เจ…เจธเฉ€เจ‚ เจจเจฟเฉฑเจœเฉ€ เจคเฉŒเจฐ 'เจคเฉ‡ เจฎเฉเจซเจค เจชเจพเจฐเจ•เจฟเฉฐเจ— เจธเจฅเจพเจจเจพเจ‚ เจฆเฉ€ เจจเจฟเจ—เจฐเจพเจจเฉ€ เจฒเจˆ เจนเฉฑเจฒ เจชเจธเฉฐเจฆ เจ•เฉ€เจคเจพเฅค เจธเจพเจกเฉ‡ เจฒเจˆ, เจ‡เจน เจ‰เจคเจชเจพเจฆ เจ…เจคเฉ‡ เจตเจฟเจ•เจพเจธ เจตเจฟเฉฑเจš เจกเฉเฉฑเจฌเจฃ เจฆเจพ เจ‡เฉฑเจ• เจฌเจนเฉเจค เจตเจงเฉ€เจ† เจ…เจจเฉเจญเจต เจธเฉ€เฅค เจฎเฉˆเจจเฉ‚เฉฐ เจ‰เจฎเฉ€เจฆ เจนเฉˆ เจ•เจฟ เจเจ†เจˆ เจตเจฟเจธเจผเจฟเจ†เจ‚ เจธเจฎเฉ‡เจค เจ–เฉ‡เจคเจฐเจพเจ‚ เจตเจฟเฉฑเจš เจตเฉฑเจง เจคเฉ‹เจ‚ เจตเฉฑเจง เจฆเจฟเจฒเจšเจธเจช เจธเจฎเจพเจ—เจฎ เจ†เจฏเฉ‹เจœเจฟเจค เจ•เฉ€เจคเฉ‡ เจœเจพเจฃเจ—เฉ‡เฅค

เจธเจฐเฉ‹เจค: www.habr.com

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹