← warin.me / labsRESEARCH NOTES · 4 SEP 2026

CONTENT DECISION LAB

Reference and Motivation

แต่ละงานเลือก content อย่างไร และเราจะต่อยอดตรงไหน

แยก 4 เรื่อง: มีสิทธิ์เข้าแข่งหรือไม่ → match แค่ไหน → เลือกใคร → จ่ายเท่าไร
คะแนนความตรง โอกาสสุ่มชนะ และราคาที่จ่าย ไม่ใช่ค่าเดียวกัน

เปรียบเทียบเกณฑ์ตัดสินใจ

งานCriterionการเลือก / คะแนนราคา
Marketplace · 2004จอ สถานที่ เวลา และข้อกำหนดคำสั่งซื้อตรวจความเป็นไปได้ของการจัดสรร inventoryยังยืนยันสูตรจากส่วนที่เข้าถึงไม่ได้
Audience adaptive · 2013อายุ เพศ ระยะห่าง dwell time และบริบทการแสดงระยะห่างระหว่าง audience/content descriptorsไม่ใช่กลไกประมูล
Business review · 2016Bid บริบท และประวัติผลลัพธ์บททบทวน ไม่ใช่ scoring algorithm เดียวอภิปราย second-price
Scheduling · 2019Cache เวลา priority สัดส่วน/ประวัติการเล่นกรองแล้วสุ่มจากตั๋ว lotteryตั๋วไม่ใช่เงินประมูล
โครงงาน · 2564อายุ เพศ ความสัมพันธ์กลุ่ม และการมองจอเลือกโฆษณาที่เหมาะ ยังไม่พบสูตร match ที่ทำซ้ำได้เก็บข้อมูลประกอบค่าใช้จ่าย ยังไม่พบ tariff ชัดเจน
Deep demographics · 2025อายุ เพศ เสื้อผ้า และผู้ชมในช่วงเวลาClustering → โฆษณาที่เหมาะ → สุ่มตามสัดส่วนปรับสัดส่วนเมื่อหักงบ; นอกกลุ่มใช้อัตราต่ำลง

สูตร หลักฐาน และข้อจำกัดรายงาน

1 / Harrison & Andrusiewicz (2004)

A virtual marketplace for advertising narrowcast over digital signage networks

เน้นซื้อขายเวลาแสดง ตรวจคำสั่งซื้อ จัดสรรพื้นที่ และหลีกเลี่ยงการจองซ้ำ การส่งมอบบางส่วน (partial fulfillment) คือได้พื้นที่/เวลาบางส่วน ไม่ใช่ partial match ของคุณลักษณะคน

ขอบเขตหลักฐาน: เข้าถึงฉบับเต็มไม่ครบ จึงยังไม่ยืนยันสูตรคะแนนหรือราคา และไม่สรุปว่าผู้เขียนไม่ได้เสนอสูตรเลย

ช่องว่างสำหรับต่อยอด: เชื่อมการจัดสรรกับผู้ชมที่ตรวจพบจริงและ campaign ที่ target ทับซ้อนกัน

ต้นฉบับ / DOI

2 / Ravnik & Solina (2013)

Interactive and Audience Adaptive Digital Signage Using Real-Time Computer Vision

รวม audience features (อายุ เพศ ระยะห่าง เวลาที่อยู่หน้าจอ) กับ broadcasting features (เวลา สถานที่ ความถี่/ประวัติ) เป็น descriptor ใช้ nearest-neighbor โดยกล่าวถึง k = 3

j* = arg minⱼ distance(SD, CDⱼ)
สรุปแนวคิด: เลือก content ที่ใกล้สถานะผู้ชม ไม่ใช่ราคาเสนอสูงสุด

ช่องว่าง: ต้องต่อยอดการแปลงความตรงเป็นการแข่งขันราคาและการชำระจริง การทดสอบเลือก content ยังจำกัดในกลุ่มควบคุม หลายคุณลักษณะมีอยู่แล้ว จึงไม่ใช่ความใหม่ด้วยตัวมันเอง

บทความฉบับเต็ม

3 / Bauer, Kryvinska & Strauss (2016)

The Business with Digital Signage for Advertising

บททบทวนอภิปรายราคา บริบท และประวัติผลลัพธ์ ราคาสูงสุดอาจไม่ใช่โฆษณาที่เกี่ยวข้องที่สุด กล่าวถึงแนวคิดจ่ายราคาอันดับถัดไปบวกส่วนเพิ่ม

Payment ≈ NextBid + Δ
เขียนสรุปคำอธิบาย ไม่ใช่สูตร quality-adjusted auction ที่นำมาใช้กับ Bid × Match ได้ทันที

ช่องว่าง: ยังต้องระบุสูตรแปลง context เป็นคะแนน และทำให้ ranking กับ payment สอดคล้องกัน ไม่ใช่งานทดลองพิสูจน์ scoring model เดียว

ฉบับผู้เขียน

4 / Clinch et al. (2019)

Scheduling Content in Pervasive Display Systems

กรองด้วย cache เวลา priority และคำขอ แล้วแจกตั๋วตามนโยบาย เช่น สัดส่วนการเล่นและความล่าสุดที่แสดง ก่อนสุ่มผู้ชนะ ตัวแจกตั๋วทำงานขนานได้

Tⱼ = Σₐ Tₐⱼ; P(j) = Tⱼ / Σₖ Tₖ
สมการสรุปกลไกตั๋ว ไม่ใช่สมการคัดตรงจากบทความ ตั๋วมากเพิ่มโอกาส ไม่ได้รับประกันชนะ

ช่องว่าง: เพิ่ม partial-match auction และ settlement; cache และ parallel scheduling มีอยู่แล้ว Benchmark เตรียมไฟล์ไว้ใน cache ก่อน จึงควรทดสอบ cache miss/การกู้คืนเพิ่ม

ต้นฉบับจาก Lancaster University

5 / โครงงาน พ.ศ. 2564

การกำหนดกลุ่มเป้าหมายระยะใกล้ด้วยระบบการรับรู้ประชากรศาสตร์เชิงลึก

ประเมินอายุ เพศ ความสัมพันธ์กลุ่ม → เลือกโฆษณา → เก็บคนผ่าน คนมองจอ และข้อมูลโฆษณาเพื่อวัดผล/คิดค่าใช้จ่าย ยังไม่พบสูตรน้ำหนัก match และ tariff ที่ทำซ้ำได้จากข้อความและแผนภาพที่ตรวจ

ข้อจำกัดที่รายงานระบุ: ประมาณ 2 วินาทีต่อเฟรมในเงื่อนไขกล้องสดที่มี 3 คน รวมถึงปัญหาแสงและภาพเบลอ ไม่ควรถือว่าความเร็วนี้ใช้แทนทุกเครื่องหรือทุกสถานการณ์

ช่องว่าง: นิยาม decision layer ชัดเจน วัด end-to-end latency และแยกเลือกโฆษณาออกจากหลักฐานเล่นจริง

เอกสารที่ผู้ใช้ให้: CSS492-การกำหนดกลุ่มเป้าหมายระยะใกล้ด้วยระบบการรับรู้ประชากรศาสตร์เชิงลึก.pdf · หน้าเนื้อหา 15–18, 27–28 · ไม่มีสำเนา PDF เผยแพร่ใน Lab นี้

6 / Analysis of Deep Demographics for Advertisement Recommendation (2025)

ใช้คุณลักษณะอายุ เพศ เสื้อผ้า และข้อมูลผู้ชมย้อนหลัง 30 วินาที จัดกลุ่มแบบ hierarchical clustering แล้วเลือกโฆษณาที่เหมาะและสุ่มตามสัดส่วน

B = Σᵢ Cᵢ; Sᵢ = Cᵢ / B
สมการ 2.1: Cᵢ ระบุว่า cost; Sᵢ คือสัดส่วนการแสดง เช่น 60 และ 40 ให้สัดส่วน 60% และ 40% ไม่ใช่คะแนน match

นิยาม cost กับคำอธิบาย budget ต้องตีความให้ชัดก่อน implementation ระบุว่าผู้ชมนอกกลุ่มใช้อัตราหักเงินต่ำลง แต่ไม่ให้ฟังก์ชันส่วนลดชัดเจน

ข้อจำกัดที่ผู้เขียนระบุ: บันทึกข้อมูลล่าช้าจนกระทบคำแนะนำ real-time

ช่องว่าง: ยังต้องนิยาม partial match ต่อ campaign และการแข่งขันเมื่อ target overlap การลดราคานอกกลุ่มไม่เท่ากับสูตร partial-match ranking

เอกสารที่ผู้ใช้ให้: 2025_20_Bangmod-J-MCS-2.pdf · สมการหน้า 454, clustering หน้า 458, ข้อจำกัดหน้า 460 · ไม่ได้อัปโหลดสำเนา PDF

บทความ / DOI

Motivation / ช่องว่างที่จะทดสอบ

โจทย์ที่เสนอ: การประมูล content ด้วย multi-label partial matching ภายใต้ความไม่แน่นอนและข้อจำกัดเวลาของระบบหลายจอ

นี่เป็นช่องว่างจากชุดงานที่เปรียบเทียบ ไม่ใช่ข้อยืนยันว่าไม่มีใครเคยทำ ต้องทบทวนงานล่าสุดเพิ่มก่อนกล่าวอ้าง novelty

ประเด็นสิ่งที่เพิ่มวิธีพิสูจน์
Multi-label / overlapHard constraint, OR alternatives และ weighted soft matchเทียบ exact match, นับ label และ weighted partial match
ความไม่แน่นอนแยกไม่แน่ใจออกจากไม่ตรงทดสอบภาพถูกบังและระดับ confidence
Match กับราคาRanking และ payment แยกกันRelevance รายได้ และการกระจายโอกาส
หลายจอ / งบร่วมกันงบและยืนยันเล่นแบบไม่หักซ้ำเล่นพร้อมกัน event ซ้ำ และเครือข่ายขาด
ความเร็ว / transitionตัดสินใจเร็ว เปลี่ยนเมื่อถึงจุดเหมาะสมLatency p95/p99, deadline miss, การตัดคลิปกลางคัน

อายุและเพศที่โมเดลประมาณไม่ใช่ข้อเท็จจริงยืนยันตัวบุคคล ใน Lab ใช้ label ที่กำหนดให้ตัวละคร ไม่มีการอนุมานจากใบหน้าจริง

สูตรเสนอสำหรับการทดลองต่อไป

ข้อเสนอของเรา ไม่ใช่สูตรจากบทความ และยังไม่ใช่ implementation ปัจจุบันทั้งหมด

M(a,x) = Σₖ∈Rₐ [wₖ × mₖ(a,x)] / Σₖ∈Rₐ wₖ
Score(a) = Bid(a) × M(a,x)γ

Rₐ คือเงื่อนไขที่ campaign ขอ; wₖ คือน้ำหนัก; mₖ คือความตรง 0–1; γ = 1 เป็น baseline ถ้า hard constraint ไม่ผ่านให้ตัดออกก่อน ไม่ซื้อสิทธิ์ผ่านด้วยราคา กรณีไม่ระบุ soft target ให้กำหนดนโยบาย M = 1 แทนการหารด้วยศูนย์

ตัวอย่าง: อายุ น้ำหนัก 0.5 + เสื้อยืด 0.3 + กางเกงขายาว 0.2 ถ้าตรงสองข้อแรก M = 0.8 คำขอ “เสื้อยืด หรือ เสื้อแขนยาว” เป็นทางเลือกหนึ่งกลุ่ม ไม่ต้องใส่ทั้งสองอย่าง และ label ที่ไม่ได้ขอไม่ควรทำให้คะแนนลดลง

ต้องกำหนดเพิ่ม: วิธีคำนวณ mₖ เมื่อไม่แน่ใจ การปรับเทียบ confidence และ payment rule คะแนนจัดอันดับไม่ใช่จำนวนเงินเรียกเก็บ

Lab ปัจจุบัน: นับเงื่อนไขอายุ/เสื้อผ้าด้วยน้ำหนักเท่ากัน มี Full / Partial ≥ 50% เลือกอันดับด้วยราคา หรือ Bid × M และจ่าย first-price เมื่อจำลองเล่นจบ ยังไม่มี confidence-weighted matching

OpenPAR และโมเดลเสริม — Reference and Motivation

แยก คุณลักษณะที่สังเกตได้ (attributes) ออกจาก กลุ่มเป้าหมายของ campaign (segments) ก่อน โมเดลภาพไม่ใช่ระบบประมูล และไม่มีโมเดลเดียวในรายการนี้ที่ทำครบตั้งแต่ตรวจคนจนถึงคิดเงิน

สถานะ Lab: เชื่อม OpenPAR / PromptPAR PA100K กับหน้า OpenPAR / Webcam แล้ว ส่วนโมเดลอื่นด้านล่างเป็นตัวเลือกศึกษาต่อ ยังไม่ได้ติดตั้งหรือเชื่อมเข้าการตัดสิน campaign ผลจากกล้องยังแยกจากข้อมูลจำลองในการประมูลและ billing

เครื่องมือ ผลลัพธ์ เหตุผลที่เลือกศึกษา และข้อจำกัด
Reference / สถานะแยกอะไรได้Motivation สำหรับงานนี้ข้อจำกัด / สิ่งที่ต้องทดลอง
OpenPAR / PromptPAR
เชื่อม local inference แล้ว
OpenPAR เป็น framework หลายโมเดล รุ่นที่ Lab เลือกใช้ PA100K ให้ 26 attributes เช่น ช่วงอายุ ลักษณะเพศตาม label เสื้อผ้า กระเป๋า และทิศทางร่างกายคนหนึ่งมีหลาย label พร้อมกัน จึงใช้เป็นฐานทดลอง overlapping segments และ partial match โดยไม่เริ่มฝึก vision model ใหม่ทั้งหมดรับภาพ crop คน ไม่ได้ตรวจจับหรือติดตามหลายคนเอง ช่วงอายุเดิม <18 / 18–60 / >60 ยังหยาบ และคะแนนยังไม่ปรับเทียบเป็นความน่าจะเป็นที่เชื่อถือได้
MiVOLO
ตัวเลือก ยังไม่เชื่อม
ประมาณอายุและ label เพศจากใบหน้าและร่างกายทดลองเสริมอายุเชิงตัวเลขแล้วจัดกลุ่ม 18–24 / 25–34 / 35–44 / 45–60 / 61+ แทนการแบ่ง label 18–60 ของ PAR เองโดยไม่มีข้อมูลเพิ่มช่วงละเอียดขึ้นไม่ได้แปลว่าแม่นขึ้น ต้องวัด age error และความผิดพลาดใกล้ขอบช่วง รวมทั้งเวลา inference เพิ่มเติม
OpenVINO person-attributes-0230
ตัวเลือก ยังไม่เชื่อม
ชุดคุณลักษณะคนขนาดเล็ก เช่น เสื้อแขนยาว กางเกงขายาว หมวก และกระเป๋าเป็นตัวเลือกเปรียบเทียบความเร็วกับ PromptPAR สำหรับ CPU / edgelabel ไม่เท่ากัน จึงเทียบเฉพาะคุณลักษณะร่วม ต้องทดสอบความแม่นยำ ภาพถูกบัง และ runtime บนอุปกรณ์จริง ไม่ถือว่ารองรับ Pi accelerator อัตโนมัติ
MMAction2
ตัวเลือก ยังไม่เชื่อม
Toolbox วิเคราะห์ action ในวิดีโอ ตาม label ของ checkpoint ที่เลือกศึกษาพฤติกรรมที่เห็นต่อเนื่องหลายเฟรมเพิ่มเติมจากภาพนิ่งต้องมีข้อมูลตามเวลาและ benchmark latency; action label ไม่ได้ยืนยันว่าคนเป็นครอบครัว พี่น้อง หรือคู่รัก
OpenCLIP
ตัวเลือก ยังไม่เชื่อม
ความคล้ายระหว่างภาพกับข้อความ เช่น คำอธิบายเสื้อผ้าทดลองคำอธิบาย attribute ใหม่ก่อนสร้างชุดฝึกเฉพาะSimilarity ไม่ใช่ probability ที่ปรับเทียบแล้ว ต้องทดสอบ prompt และ threshold; ไม่ใช้ภาพตัดสินความสนใจ บุคลิก หรือความสัมพันธ์ส่วนตัว
SAM 2
เครื่องมือเสริม ยังไม่เชื่อม
Mask แยกบริเวณวัตถุในภาพและวิดีโออาจช่วยแยกบริเวณคนจากฉากหลังหากการทดลองพบว่าจำเป็นImage segmentation ไม่ใช่ audience segmentation ไม่ได้ให้ช่วงอายุ กลุ่มลูกค้า หรือสูตรเลือกโฆษณาเอง

จาก output ของโมเดลสู่คะแนน campaign

ตรวจคน / ติดตาม → crop รายคน → attribute scores → unknown / temporal aggregation → กฎ segment → eligibility → partial match → bid ranking → playback evidence → billing

ลำดับนี้เป็น แบบที่เสนอ ไม่ใช่สิ่งที่เชื่อมครบแล้วใน Lab ปัจจุบัน หน้า OpenPAR ใช้ crop กลางภาพ ไม่ใช่ multi-person tracker และไม่ได้ยืนยันว่าคนที่ผ่านกล้องต่างตัวเป็นคนเดียวกัน

แยกคะแนนสามชนิด: attribute score ของโมเดล, match score ตามเงื่อนไข campaign และ auction score ที่รวม bid ต้องไม่ใช้แทนกันโดยตรง ค่าที่ไม่แน่ใจควรเป็น unknown ไม่ใช่บังคับเป็น false หรืออนุมานเพศอีกฝั่งจากคะแนนต่ำ

Motivation / gap ที่จะทดสอบต่อ

  • เปรียบเทียบ exact match, partial match และ confidence-aware match โดยใช้ campaign และภาพชุดเดียวกัน
  • วัด attribute F1 ราย label, age error สำหรับโมเดลอายุ และ calibration แยกจากผลทางธุรกิจ
  • วัด end-to-end latency p50/p95/p99 เมื่อจำนวนคนและกล้องเพิ่ม พร้อมเวลาเข้าคิวและจำนวนเฟรมที่ทิ้ง
  • วัดความนิ่งของผลข้ามเฟรม ลดการสลับ content และแยก dwell time ออกจากหลักฐานการมองจริง: หยุดยืนไม่ได้แปลว่ามองจอ
  • ทดสอบหลักฐานเล่นจริงและ attention เกินครึ่งคลิปก่อนใช้ราคาสองชั้น ไม่ใช้ confidence ของ attribute เป็นหลักฐานเรียกเก็บเงิน

นี่คือคำถามทดลองของโครงการ ไม่ใช่ข้อสรุปว่าทุกงานอ้างอิงยังไม่เคยทำ ต้องมีข้อมูลติดป้ายกำกับและ baseline ก่อนสรุปผลหรืออ้างความใหม่

ตรวจเอกสารทางการ 4 กันยายน 2026 · สิทธิ์ของ source code, pretrained weights และ dataset ต้องตรวจแยกกันก่อนใช้งานเชิงพาณิชย์ · การประมาณอายุ/เพศเป็นผลโมเดลที่อาจผิด ไม่ใช่การยืนยันตัวตนหรือความสัมพันธ์

GPU / Raspberry Pi — เป้าหมายการติดตั้ง

ปัจจุบัน: adapter ของ Lab ใช้ CPU การมี GPU ในเครื่องไม่ได้แปลว่า runtime ใช้งาน GPU แล้ว และยังไม่มี benchmark บน Raspberry Pi

แบบที่เสนอ: ให้ Raspberry Pi cache และเล่น content ในเครื่อง ส่ง playback log ไป backend กลาง ส่วน inference หนักประมวลผลบนเครื่องใน LAN ก่อน แล้วจึงทดลองย้ายโมเดลที่เหมาะสมลง edge

เอกสาร Raspberry Pi AI software เป็น reference สำหรับทางเลือก accelerator แต่ต้องตรวจการแปลงโมเดล operator ที่รองรับ หน่วยความจำ และ runtime ไม่ใช่นำ PyTorch checkpoint ไปใช้ได้ทันทีทุกตัว

เกณฑ์ตัดสิน: ความแม่นยำเทียบ CPU baseline, latency เมื่อหลายกล้องทำงาน, อุณหภูมิ, หน่วยความจำ และการเล่นคลิปต้องไม่สะดุด ยังไม่รับรองว่า PromptPAR หรือ MiVOLO ทำ realtime บน Pi ได้