ที่เก็บนี้มีรหัสที่สามารถใช้ในการมองเห็นภาพหลายหมื่นภาพในการฉายสองมิติภายในภาพที่คล้ายกันถูกรวมเข้าด้วยกัน การวิเคราะห์ภาพใช้การรวมการเริ่มต้นของ TensorFlow และเลเยอร์การสร้างภาพข้อมูลใช้ตัวชม WebGL ที่กำหนดเอง
ดูบันทึกการเปลี่ยนแปลงสำหรับการอัปเดตล่าสุด

เรารักษาตำราการติดตั้งเฉพาะแพลตฟอร์มหลายแบบออนไลน์
การพูดอย่างกว้างขวางเพื่อติดตั้งการพึ่งพา Python เราขอแนะนำให้คุณติดตั้ง Anaconda จากนั้นสร้างสภาพแวดล้อม conda ด้วยรันไทม์ Python 3.7:
conda create --name=3.7 python=3.7
source activate 3.7จากนั้นคุณสามารถติดตั้งการพึ่งพาได้โดยการรัน:
bash
pip install https://github.com/yaledhlab/pix-plot/archive/master.zip
เว็บไซต์ที่ Pixplot สร้างในที่สุดต้องใช้เบราว์เซอร์ที่เปิดใช้งาน WebGL
หากคุณมีเบราว์เซอร์ที่เปิดใช้งาน WebGL และไดเรกทอรีที่เต็มไปด้วยรูปภาพที่จะประมวลผลคุณสามารถเตรียมข้อมูลสำหรับผู้ชมได้โดยการติดตั้งการพึ่งพาด้านบน
pixplot --images " path/to/images/*.jpg "หากต้องการดูผลลัพธ์ของกระบวนการนี้คุณสามารถเริ่มต้นเว็บเซิร์ฟเวอร์ได้โดยเรียกใช้:
# for python 3.x
python -m http.server 5000
# for python 2.x
python -m SimpleHTTPServer 5000 การสร้างภาพจะมีให้ที่ http://localhost:5000/output
หากต้องการรับข้อมูลตัวอย่างบางส่วนที่จะสร้างพล็อตอย่าลังเลที่จะใช้ข้อมูลบางอย่างที่จัดทำโดย DHLAB ของ Yale:
pip install image_datasetsจากนั้นในสคริปต์ Python:
import image_datasets
image_datasets . oslomini . download () คำสั่ง .download() จะสร้างไดเรกทอรีชื่อ datasets ในไดเรกทอรีการทำงานปัจจุบันของคุณ ไดเรกทอรี datasets นั้นจะมีไดเรกทอรีย่อยชื่อ 'Oslomini' ซึ่งมีไดเรกทอรีของรูปภาพและไดเรกทอรีอื่นที่มีไฟล์ CSV ของข้อมูลเมตา การใช้ข้อมูลนั้นเราสามารถสร้างพล็อตต่อไป:
pixplot --images " datasets/oslomini/images/* " --metadata " datasets/oslomini/metadata/metadata.csv " หากคุณต้องการพล็อตมากกว่า 100,000 ภาพ แต่ไม่มีกราฟิกการ์ดราคาแพงที่จะเห็นภาพการแสดงผล WebGL ขนาดใหญ่คุณอาจต้องการระบุพารามิเตอร์ "cell_size" ที่เล็กกว่าเมื่อสร้างพล็อตของคุณ อาร์กิวเมนต์ "cell_size" ควบคุมว่าแต่ละภาพมีขนาดใหญ่ในไฟล์ Atlas; ค่าที่น้อยกว่านั้นต้องการพื้นผิวที่น้อยกว่าที่จะแสดงผลซึ่งจะลด RAM GPU ที่จำเป็นในการดูพล็อต:
pixplot --images " path/to/images/*.jpg " --cell_size 10อัลกอริทึม UMAP นั้นมีความไวโดยเฉพาะอย่างยิ่งกับสาม hyperparemeters:
--min_dist: determines the minimum distance between points in the embedding
--n_neighbors: determines the tradeoff between local and global clusters
--metric: determines the distance metric to use when positioning points
Leland McInnes ผู้สร้างของ UMAP ได้เขียนภาพรวมที่เป็นประโยชน์ของพารามิเตอร์ไฮเปอร์พารามิเตอร์เหล่านี้ ในการระบุค่าสำหรับหนึ่งหรือมากกว่าของพารามิเตอร์เหล่านี้เมื่อสร้างพล็อตหนึ่งอาจใช้ธงด้านบนเช่น:
pixplot --images " path/to/images/*.jpg " --n_neighbors 2หากติดตั้งและพร้อมใช้งาน Pixplot ใช้การจัดกลุ่มเชิงพื้นที่ตามลำดับชั้นของแอปพลิเคชันที่มีสัญญาณรบกวนการปรับแต่งอัลกอริทึม DBSCAN ก่อนหน้านี้เพื่อค้นหาฮอตสปอตในการสร้างภาพข้อมูล คุณอาจสนใจที่จะปรึกษาคำอธิบายนี้ว่า HDBSCAN ทำงานอย่างไร
เคล็ดลับ: หากคุณใช้ HDBSCAN และพบว่า Pixplot สร้าง 'ฮอตสปอตอัตโนมัติ' น้อยเกินไป (หรือเพียงอันเดียว) ลองลด --min_cluster_size จากค่าเริ่มต้นที่ 20 สิ่งนี้มักจะเกิดขึ้นกับชุดข้อมูลขนาดเล็ก (น้อยกว่าสองสามพัน)
หาก HDBSCAN ไม่พร้อมใช้งาน Pixplot จะกลับไปใช้ KMEANS ของ Scikit-Learn
หากคุณมีข้อมูลเมตาที่เกี่ยวข้องกับแต่ละภาพของคุณคุณสามารถส่งผ่านข้อมูลเมตานั้นเมื่อเรียกใช้สคริปต์การประมวลผลข้อมูล การทำเช่นนั้นจะช่วยให้ผู้ชม Pixplot แสดงข้อมูลเมตาที่เกี่ยวข้องกับภาพเมื่อผู้ใช้คลิกที่ภาพนั้น
ในการระบุข้อมูลเมตาสำหรับคอลเลกชันรูปภาพของคุณคุณสามารถเพิ่ม --metadata=path/to/metadata.csv ไปยังคำสั่งที่คุณใช้เพื่อเรียกสคริปต์การประมวลผล ตัวอย่างเช่นคุณอาจระบุ:
pixplot --images " path/to/images/*.jpg " --metadata " path/to/metadata.csv "ข้อมูลเมตาควรอยู่ในไฟล์ค่าที่คั่นด้วยเครื่องหมายจุลภาคควรมีหนึ่งแถวสำหรับแต่ละภาพอินพุตและควรมีส่วนหัวที่ระบุลำดับคอลัมน์ นี่คือไฟล์ข้อมูลเมตาตัวอย่าง:
| ชื่อไฟล์ | หมวดหมู่ | แท็ก | คำอธิบาย | ลิงก์ถาวร | ปี |
|---|---|---|---|---|---|
| Bees.jpg | สีเหลือง | A | B | C | หัวเข่าของผึ้ง | https: // ... | พ.ศ. 2319 |
| cats.jpg | อันตราย | B | C | D | ชุดนอนของแมว | https: // ... | 2515 |
รับฉลากคอลัมน์ต่อไปนี้:
| คอลัมน์ | คำอธิบาย |
|---|---|
| ชื่อไฟล์ | ชื่อไฟล์ของภาพ |
| หมวดหมู่ | ฉลากหมวดหมู่สำหรับภาพ |
| แท็ก | รายการที่คั่นด้วยท่อของแท็กหมวดหมู่สำหรับภาพ |
| คำอธิบาย | คำอธิบายข้อความธรรมดาเกี่ยวกับเนื้อหาของภาพ |
| ลิงก์ถาวร | ลิงค์ไปยังรูปภาพที่โฮสต์บนโดเมนอื่น |
| ปี | การประทับเวลาหนึ่งปีสำหรับภาพ (ควรเป็นจำนวนเต็ม) |
| ฉลาก | ฉลากหมวดหมู่ที่ใช้สำหรับการคาดการณ์ UMAP ที่ดูแล |
| ละทิ้ง | ตำแหน่ง latitudinal ของภาพ |
| lng | ตำแหน่งตามยาวของภาพ |
หากคุณต้องการประมวลผลภาพที่โฮสต์บนเซิร์ฟเวอร์ IIIF คุณสามารถระบุรายการภาพ IIIF ที่กำหนดไว้ใหม่ได้เป็นอาร์กิวเมนต์ --images ภาพ ตัวอย่างเช่นสิ่งต่อไปนี้สามารถบันทึกเป็น manifest.txt :
https://manifests.britishart.yale.edu/manifest/40005
https://manifests.britishart.yale.edu/manifest/40006
https://manifests.britishart.yale.edu/manifest/40007
https://manifests.britishart.yale.edu/manifest/40008
https://manifests.britishart.yale.edu/manifest/40009 จากนั้นสามารถระบุภาพเหล่านี้เป็นอินพุตโดยใช้ pixplot --images manifest.txt --n_clusters 2
| การเชื่อมโยง | จำนวนภาพ | ข้อมูลการรวบรวม | เรียกดูภาพ | ดาวน์โหลดสำหรับ Pixplot |
|---|---|---|---|---|
| Newsplot: 1910-1912 | 24,026 | คอลเลกชัน George Grantham Bain | ข่าวในปี 1910 | รูปภาพข้อมูลเมตา |
| Bildefelt I Oslo | 31,097 | Oslobilder | การค้นหาขั้นสูง 2403-2467 | รูปภาพข้อมูลเมตา |
DHLAB ขอขอบคุณ Cyril Diagne และ Nicolas Barradeau ผู้พัฒนานำของการทดลองของ Google Arts Viewer ที่น่าตื่นเต้นสำหรับผู้ชม TSNE สำหรับการแบ่งปันแนวคิดเกี่ยวกับเทคนิคการเพิ่มประสิทธิภาพที่ใช้ในผู้ชมนี้และ Lillianna Marie สำหรับการตั้งชื่อผู้ชม