Bagaimana kami dianalisis di bioskop ... dan tidak hanya

Visi komputer semakin terintegrasi ke dalam kehidupan kita. Pada saat yang sama, kita bahkan tidak memperhatikan semua pengamatan kita ini. Hari ini kita akan berbicara tentang sistem yang membantu menganalisis emosi pengunjung di konferensi, dalam proses pendidikan, di bioskop, dan banyak lagi. Ngomong-ngomong, kami akan menunjukkan kode dan berbicara tentang kasus-kasus praktis. Lihat di bawah kucing!



Saya memberikan lantai kepada penulis.

Apakah Anda selalu ingin tahu secara langsung audiensi di aula, ruang kelas, kantor, dan mengelolanya? Pertanyaannya sama sekali tidak menganggur. Ini tentang pemirsa offline. Untuk meningkatkan kinerja bisnis, memiliki informasi tentang perilaku klien Anda, reaksi dan keinginannya adalah kebutuhan vital. Bagaimana cara mengumpulkan statistik ini?

Dengan audiens online, semuanya lebih mudah. Jika bisnis berlokasi di Internet, maka pemasaran sangat disederhanakan dan mengumpulkan data tentang profil pelanggan Anda, dan kemudian juga "mengejar" itu untuk waktu yang tidak terbatas - cukup sederhana. Banyak alat - ambil dan gunakan, biayanya mengangkat.

Dalam mode offline, metode yang sama berlaku seperti 50 tahun yang lalu: kuesioner, kuesioner, pengamat eksternal dengan notebook, dll. Kualitas pendekatan ini buruk. Keandalan diragukan. Soal kenyamanan, umumnya Anda bisa diam.

Pada artikel ini kami ingin berbicara tentang solusi baru CVizi, yang mengumpulkan statistik yang menarik dan unik dan membantu untuk menganalisis informasi tentang pelanggan / pengunjung Anda menggunakan visi komputer.

Analitik video dan bioskop


Awalnya, produk ini dikembangkan sebagai alat untuk menghitung pemirsa bioskop dan membandingkan jumlah mereka dengan tiket yang dibeli untuk kontrol disipliner terhadap personel layanan dan pencegahan pelanggaran. Tapi seperti yang mereka katakan, nafsu makan datang dengan makan.

Teknologi yang dikembangkan memungkinkan perluasan kemampuan solusi. Menjadi mungkin untuk menentukan usia dan karakteristik gender dari pengunjung bioskop, serta menentukan latar belakang emosional dari setiap orang selama sesi.

Informasi ini segera diperbarui dan pengguna hanya perlu masuk ke akun pribadi Anda dan melihat statistik pada sesi yang menarik atau laporan analitis tentang audiens.



Sebagai contoh, kami membuka sesi dengan film "Ice" dan kami melihat pada realogram aula dominasi yang jelas dari penonton wanita (pada prinsipnya, dapat diprediksi). Dan kemudian kita melihat emosi yang dialami orang (semua orang bisa melihat).





Ini adalah data untuk satu sesi khusus. Sekarang mari kita lihat data yang sama secara umum untuk seluruh periode sewa film (dalam satu bioskop) dan dapatkan gambar yang lebih relevan.



Dalam hal kehadiran, ada dominasi yang jelas dari pemirsa perempuan berusia 25-34 tahun. Pria 2,5-3 kali lebih sedikit. Yaitu Beriklan di SUV baru di unit iklan tidak sepandai menempatkan maskara baru. Meskipun ini adalah titik diperdebatkan. Tetapi bagaimanapun juga, setelah hanya beberapa hari sewa, Anda dapat dengan aman menjamin pengiklan audiens target, dan bahkan secara kuantitatif.

Dari sudut pandang latar belakang emosional, gambar akan menarik terutama untuk distributor dan distributor. Siapa yang disukai film ini, dan siapa yang mengganggu? Haruskah saya menembakkan sekuel? Percaya ulasan bot atau dapatkan statistik yang andal? Dalam hal ini (film "Ice"), film ini cukup cerah dalam emosi. Jumlah emosi positif dan negatif adalah 18,5 dari 100 kakatua dan sisanya netral. Ini adalah indikator yang cukup bagus. Sebagai perbandingan, latar belakang emosional dalam film lain mungkin tidak begitu cerah (rata-rata di rumah sakit untuk semua usia dan jenis kelamin).



Misalnya, Perbatasan Pasifik, dengan jumlah penonton yang sebanding selama periode yang sama, memiliki emosi positif 2 kali lebih sedikit. Dan film "Hello, Oksana Sokolova" hanyalah sebuah penemuan untuk wanita "50+".



Semua ini adalah beberapa contoh analisis yang dapat digunakan dalam jaringan film. Mereka sama sekali tidak memiliki informasi ini, dan sedikit orang yang tahu bahwa informasi itu dapat diperoleh sama sekali, dan bahkan lebih lagi untuk penggunaan mereka sendiri.

Untuk jaringan film, peluang besar terbuka untuk analisis yang lebih dalam tentang apa yang terjadi di aula sesuai dengan komposisi penonton dan reaksi mereka terhadap film di berbagai daerah.

Anda dapat langsung menyoroti yang berikut ini :

  1. Kemampuan untuk menguji hipotesis pemasaran adalah untuk menerima umpan balik real-time dan secara obyektif mengevaluasi perubahan audiens dan efek dari kegiatan pemasaran.
  2. Kemampuan untuk memberikan informasi akurat kepada pengiklan tentang audiens yang melihat iklan. Bahkan lebih dari itu, mungkin bagi pengiklan untuk menjamin penayangan iklan oleh kelompok audiens tertentu.
  3. Kemampuan untuk membuat penawaran pemasaran yang unik di pasar (diskon) untuk pengunjung dari usia dan jenis kelamin tertentu, sementara tidak melanggar skema kerja yang ada dan tidak mengurangi indikator keuangan saat ini.

Ini dan banyak peluang lain yang muncul berkat keputusan ini mampu mengubah pasar jaringan bioskop, meningkatkan pendapatan, dan meningkatkan efisiensi bioskop individu dan seluruh jaringan.

Menimbang bahwa solusinya "mudah" (tidak ada server, tidak ada streaming ke Internet), aktif menggunakan Microsoft Azure cloud dan memiliki harga yang terjangkau untuk pasar (dalam bentuk berlangganan berkala ke layanan), jaringan bioskop di Rusia dan luar negeri secara aktif mengimplementasikannya.

Selain itu, teknologi yang diciptakan tercermin dalam solusi lain di area paralel.

Analisis dan acara video


Acara, acara, forum, konferensi tingkat tinggi, konferensi, simposium ... Apa yang diketahui penyelenggara tentang pemirsa baru? X orang mendaftar, Y datang, Z mengisi kuesioner, itu saja.

Mempertanyakan adalah rasa sakit yang terpisah: "Jadi, saya tahu kawan ini dengan baik, saya akan memberinya 5 poin, meskipun laporannya membosankan." Kami mengarah pada fakta bahwa keandalan kuesioner rendah.
Untuk memahami keefektifan konferensi, umpan balik dari peserta kepada penyelenggara dan sponsor sangat diperlukan.

Layanan untuk menganalisis penonton di bioskop dengan sempurna dipindahkan ke tempat konferensi. CVizi juga menguji kasus ini dengan melakukan dua percobaan: di aula Matrex di Skolkovo di salah satu konferensi dan di aula Digital Oktober selama final Rusia kompetisi proyek teknologi siswa Imagine Cup 2018.

Eksperimen 1. Aula Matrex di Skolkovo


Di Matrex, kamera tidak dipasang di atas layar, seperti di bioskop, tetapi pada dudukan teleskopik di belakang speaker. Jadi, solusinya ternyata mobile. Hanya diperlukan beberapa jam sebelum mulai memasang kamera, mengatur planogram aula, dan memasukkan jadwal pengeras suara. Kemudian sistem melakukan semuanya sendiri.





Sekarang penyelenggara dapat mengumpulkan data tentang kualitas laporan melalui jumlah peserta di aula dan emosi mereka di setiap sesi / laporan. Dan lain kali Anda dapat merencanakan acara berdasarkan fakta objektif. Ada laporan, setelah itu para peserta hanya meninggalkan ruangan, dan pembicara berikutnya bekerja dengan mereka yang tinggal atau tidak punya waktu untuk pergi. Ini salah, dan perkiraan seperti itu hanya dapat mengubah efek secara dramatis dengan mengatur ulang laporan.

Eksperimen 2. Final Imagine Cup Rusia


Di sini tujuannya agak berbeda, tetapi pendekatannya sama. Salah satu nominasi kompetisi adalah penghargaan audiens. Pemirsa yang duduk di aula, bukan pemirsa daring. Dan untuk pertama kalinya di Imagine Cup, hadiah pilihan penonton diberikan kepada tim yang dipilih oleh kecerdasan buatan. Tim menang, yang kinerjanya paling baik direspon oleh penonton saat mereka berada di atas panggung. Untuk ini, dua kamera sudah digunakan, yang masing-masing secara terus-menerus mengendalikan sektor aula mereka sendiri dan mengumpulkan karakteristik emosional masing-masing penonton.

Dalam hal ini, kamera dapat digantung pada tiang lampu di atas panggung, yang menjamin stabilitas dan imobilitas mereka. Dan kami juga sekali lagi yakin bahwa 4G Internet sudah cukup untuk layanan untuk bekerja. Sistem ternyata menjadi otonom mungkin. Dari penyelenggara hanya diperlukan 220 V, ini sangat penting, karena pada peristiwa skala ini, saluran komunikasi selalu menjadi hambatan, dan kualitas layanan secara langsung tergantung pada stabilitas saluran Internet.

Akibatnya, hadiah penonton diberikan kepada tim yang mencetak jumlah maksimum emosi positif untuk kinerja mereka - Pengembangan Hari Terakhir dari NNSU im. Lobachevsky.



Analisis dan pembelajaran video


Lingkungan pendidikan dalam hal otomatisasi prosesnya masih sangat tertinggal dari industri lainnya. Sebagai contoh, kontrol kehadiran dalam bentuk pengontrol eksternal dengan jurnal masih dipraktikkan di banyak universitas: seseorang masuk, menghitung mahasiswa di kuliah, memasukkan beberapa nomor di jurnal (pertanyaan apa?) Dan melanjutkan.

Teknologi analisis audiens dengan metode visi komputer sangat cocok dengan bidang pendidikan dan membuka bidang besar untuk eksperimen dan analisis. Kemungkinan tugas yang harus diselesaikan:

  1. Pemantauan kehadiran kelas
  2. Identifikasi siswa
  3. Penilaian Kualitas Pengajaran
  4. Identifikasi emosi negatif siswa dan adopsi tindakan pencegahan.
  5. Penilaian keterlibatan siswa atau siswa di sekolah.

Perencanaan proses pendidikan yang tepat, termasuk jadwal, pilihan dosen - ini adalah dasar untuk keberhasilan pendidikan. Tetapi pada kenyataannya, jika kita pindah ke bidang ekonomi, ini adalah biaya pendidikan dalam konteks setiap siswa.

Analisis video di industri lain


Teknologi CVizi tidak terbatas pada solusi yang disajikan, ada solusi untuk ritel dan produksi.

Misalnya, solusi yang menarik adalah memperoleh informasi tentang konversi eksternal dan internal toko. Dua indikator ini memungkinkan Anda membangun saluran penjualan offline:

  • Berapa banyak orang yang berjalan di dekat toko Anda;
  • Berapa banyak orang yang memasukinya;
  • Berapa banyak orang yang datang ke mesin kasir.

Berikut adalah contoh konversi eksternal untuk toko biasa yang berlokasi di pusat perbelanjaan di Moskow:



Dengan indikator-indikator ini, sebuah bisnis dapat secara lebih efektif menghabiskan uang untuk menarik pelanggan, menguji hipotesis pemasaran, dan pada kualitas layanan.

Bagaimana cara kerjanya?


Sekarang saya ingin berbicara sedikit tentang teknologi. Mengapa kita mengatakan bahwa solusinya “mudah”? Ini semua tentang arsitektur. Selalu menjadi beban bagi setiap pelanggan untuk membeli solusi yang mahal, dan di samping itu, armada peralatan dalam bentuk berbagai server, pendaftar dan hal-hal lain. Dan kemudian mengatur semuanya, untuk berpasangan satu sama lain dan menemani. Jika pelanggan ditawari sebuah kotak dalam bentuk komputer mikro seukuran ponsel, maka siapa pun yang setidaknya agak akrab dengan teknik ini dapat menginstalnya di jaringan lokalnya dan menggantung kamera video IP. Analogi dengan router Wi-Fi di rumah menunjukkan dirinya - saya menghubungkannya ke stopkontak, menghubungkan Internet, membuat pengaturan paling sederhana. Itu saja. Tidak diperlukan layanan purna jual. Semuanya sangat mudah dilakukan secara mandiri.



Dan kemudian di akun pengguna, pengguna melihat seluruh sistem dan dapat menerima data baik dalam bentuk laporan dan log statistik, dan, menggunakan API, ambil data ini ke dalam sistem TI perusahaan mereka.

Dengan demikian, pengguna tidak perlu berpikir dan peduli dengan infrastruktur. Menghubungkan perangkat komputasi S-Box sangat mudah. Juga mudah untuk mereplikasi solusi ke titik lain - menutup kamera, menghubungkan jumlah S-Box yang diperlukan dan segera melihat objek di portal di akun Anda.

Di bawah portal dan akun pribadi adalah seluruh sistem analitik, penyimpanan basis data, pemantauan peralatan, dan pemberitahuan, yang ditempatkan di awan Azure. Sistem ini fleksibel dan semua sumber daya komputasi yang diperlukan dialokasikan secara otomatis kepada pengguna. Oleh karena itu, seluruh sakit kepala pada peralatan dan dukungannya dihapus dari pengguna. Dia hanya membeli layanan analisis video. Sangat nyaman

Kamera apa yang dapat digunakan untuk analisis video audiens?


Mengingat bahwa pada akhirnya Anda perlu mendapatkan wajah pemirsa dalam kualitas yang dapat diterima, kamera harus, pertama, dengan optik dan zoom yang baik, dan, kedua, dikendalikan - PTZ.
Kami menguji lebih dari selusin kamera dari berbagai merek. Kami tidak akan menyebutkan model kamera tertentu, tetapi karakteristiknya dapat disuarakan.

Untuk aula hingga 150-200 orang, kamera 20x dengan matriks 2MP sudah cukup. Untuk aula lebih dari 200 orang, lebih baik menggunakan kamera 25x ke atas. Mereka tentu lebih mahal, tetapi ini adalah cara yang benar. Meskipun, tentu saja, Anda juga dapat bermain-main dengan ukuran matriks, tetapi Anda harus memahami bahwa dalam spektrum IR matriks akan membuat noise dan optical zoom akan selalu lebih disukai daripada digital.

Akurasi pengakuan


Semakin dekat kita memposisikan diri kita pada wajah, akan semakin jelas. Segalanya tampak jelas, dan anak itu mengerti. Tetapi jika semuanya baik dengan pengenalan gender, maka akurasi penentuan usia dapat dengan mudah ± 5 tahun atau bahkan lebih, terlepas dari kedekatan kamera. Dan intinya di sini bukan pada kualitas algoritma dan jaringan saraf, tetapi pada kenyataan bahwa setiap orang dewasa berusaha untuk melihat sebanyak yang ia investasikan dalam penampilannya.

Oleh karena itu, kamera akan memberikan usia di mana seseorang terlihat atau mencoba untuk melihat. Yaitu usia biologis dan usia menurut foto - ini bisa menjadi dua perbedaan besar. Lagi pula, masing-masing dari kita dapat mengingat kasus ketika dia keliru dalam peringkat usia lawan bicaranya. Pada saat yang sama, otak manusia adalah jaringan saraf yang sangat kuat dan terlatih dengan baik.

Azure dan layanannya


Inti dari semua ini adalah layanan kognitif Microsoft Face API. Ini adalah layanan yang sangat nyaman dan API dapat diakses dari hampir semua lingkungan pengembangan umum. Kami menggunakan sebagian besar layanan kami menggunakan Python - ini ada di sisi cloud.

Urutan umum terlihat seperti ini:

1) S-Box mentransfer gambar ke cloud

2) Layanan cloud mengakumulasikan mereka, mengurutkannya dan memberinya makan di Layanan Kognitif deteksi wajah. Untuk mengunggah gambar yang dikumpulkan ke cloud, gunakan Python:

def upload_file(file_path, upload_file_type):
    """ Uploading file """
    ...
    if authData == '' or authData == 'undefined':
        ...
        try:
            r = requests.post(param_web_service_url_auth, headers={'authentication': base64string})
            if r.status_code == 200:
                authData = json.loads(r.text)['token']
                result = upload_file(file_path, upload_file_type)
                return result
            logging.error("Upload_file(%s) - UNEXPECTED AUTH RESULT CODE %d", file_path, r.status_code)
        except Exception as e:
            logging.error('Upload_file(%s) error', file_path)
            logging.exception('Upload exception ' + str(e))
        return False
    try:
        base_name = os.path.basename(file_path)
        txt_part, file_extension = os.path.splitext(base_name)
        files = {'file': open(file_path, 'rb')}
        ...
        if upload_file_type == 1:  # for upload full view
            ...
            payload = {'camid': cam_id, 'dt': dt, 'mac': mac}
            z = requests.post(uploaddatalinkhall, headers={'authentication': authData}, files=files, data=payload)
            if z.status_code == 200:
                return True
            logging.debug('post result -> %d', int(repr(z.status_code)))
        if upload_file_type == 0:
            ...
            payload = {'camid': cam_id, 'dt': dt, 'json_str': json_str, 'mac': mac}
            ...
            z = requests.post(param_web_service_url, headers={'authentication': authData}, files=files, data=payload)
            myfile.close()
            if z.status_code == 200:
                ...
                if len(debug_path) > 0:
                    # move
                    fnn = debug_path + os.sep + json_file
                    shutil.move(upload_folder + os.sep + json_file, fnn)
                else:
                    # delete
                    os.remove(upload_folder + os.sep + json_file)
                return True
            result = "UNEXPECTED STATUS CODE " + repr(z.status_code)
            logging.error('upload_file(%s) - ERROR. Res=%s, text: %s',
                          json_file, result, z.text)
        ...
    except Exception, e:
        ...
        logging.exception('Upload exception: ' + str(e))
    return False

3) Python

CF.face.detect , , MS Face detection Cognitive Service API, :

def faceapi_face_detect(url):
    …
    # API call
    image_url = url
    need_face_id = False
    need_landmarks = False
    attributes = 'age,gender,smile,facialHair,headPose,glasses,emotion,hair,makeup,accessory,occlusion,blur,exposure,noise'
    watcher = elapser_mod.Elapser()
    try:
        api_res = CF.face.detect(image_url, need_face_id, need_landmarks, attributes)
        # callback(url, need_face_id, need_landmarks, attributes, e.elapsed(), api_res)
        text = 'CF.face.detect image_url {}, need_face_id {}, need_landmarks {}, attributes {}, completed in {} s.'. \
            format(image_url, need_face_id, need_landmarks, attributes, watcher.elapsed())
        printlog(text)
        text2 = 'Detected {} faces.'.format(len(api_res))
        printlog(text2)
        text3 = '{}'.format(api_res)
        printlog(text3)
    except CF.CognitiveFaceException as exp:
        text = '[Error] CF.face.detect image_url {}, need_face_id {}, need_landmarks {}, attributes {}, failed in {} s.'. \
            format(image_url, need_face_id, need_landmarks, attributes, watcher.elapsed())
        printlog(text)
        text2 = 'Code: {}, Message: {}'.format(exp.code, exp.msg)
        printlog(text2)
        message = exp.msg
    …
    return api_res, message

. () . . , . . – .

? ! . API. – , , . , () .., «» . . .

.


— CVizi. : 'aosipov @ cvizi.com'. FB .

Source: https://habr.com/ru/post/id413015/


All Articles