آنالیز صدا و چهره افراد با هوش مصنوعی
در این آموزش، یاد میگیرید چطور فایل صوتی رو به متن تبدیل کنید و ببینید کجا درباره شما صحبت شده. برای این کار از نرمافزار Subtitle Edit استفاده میکنیم. مراحل از دانلود و نصب نرمافزار تا استخراج متن نهایی و ذخیره اون توی فایل ورد و بعد آنالیز اون توسط هوش مصنوعی توضیح داده میشه … همینطور در پایان آموزش نحوه استفاده ازهوش مصنوعی برای آنالیز چهره توضیح داده شده است .
مرحله ۱: دانلود و نصب Subtitle Edit
به وبسایت رسمی Subtitle Edit برید و آخرین نسخه نرمافزار رو دانلود کنید.
فایل دانلود شده رو اجرا کنید و مراحل نصب رو دنبال کنید تا نرمافزار روی کامپیوتر شما نصب بشه.
مرحله ۲: تبدیل فایل صوتی به متن
نرمافزار Subtitle Edit رو باز کنید.
از منوی بالا گزینه Video رو انتخاب کنید و سپس Open video or audio file رو کلیک کنید.
فایل صوتی مورد نظر خودتون رو انتخاب کنید و باز کنید.
پس از بارگذاری فایل، از منوی Options گزینه Waveform رو انتخاب کنید تا نمایش موج صوتی فعال بشه.
دوباره از منوی بالا Video رو انتخاب کنید و سپس Audio to Text (Whisper) رو انتخاب کنید.
مرحله ۳: تنظیمات تبدیل
در پنجره باز شده، زبان فایل صوتی رو انتخاب کنید (مثلاً English).
سایر تنظیمات رو اعمال کنید و روی OK کلیک کنید تا فرآیند تبدیل آغاز بشه.
منتظر بمونید تا نرمافزار متن فایل صوتی رو استخراج کنه.
مرحله ۴: بازبینی و ویرایش متن
بعد از اتمام فرآیند تبدیل، متن استخراج شده در قسمت زیرنویس نمایش داده میشه.
متن رو بازبینی کنید و در صورت نیاز ویرایشهای لازم رو انجام بدید.
مرحله ۵: ذخیره متن در فایل ورد
از منوی بالا گزینه File رو انتخاب کنید و سپس Export و Export as plain text رو انتخاب کنید.
یه نام برای فایل متنی انتخاب کنید و اون رو ذخیره کنید.
فایل متنی ذخیره شده رو با استفاده از نرمافزار Microsoft Word یا هر ویرایشگر متنی دیگه باز کنید و در قالب فایل ورد ذخیره کنید.
مرحله ۶: تجزیه و تحلیل متن با هوش مصنوعی
حالا که متن فایل صوتی رو دارید، اون رو به ChatGPT بدید تا تحلیل کنه و ببینه کجا درباره شما صحبت شده. از پرامپت زیر استفاده کنید:
I have a transcript text file. Please analyze it and identify where it mentions specific details about me. Here are my details: [اینجا توضیحات کاملی از خودتون شامل نام و نام خانوادگی … محلی که کار میکنین .. شغل و مدرک و مواردی که ممکن است شما با آن نام یا تخصص شناخته شوید بنویسید]. The text file content is as follows: [اینجا متنی که توسط نرم افزار ساب تایتل در فایل ورد ذخیره کرده اید قرار دهید … همچنین میتوانید فایل ورد را نیز به جای این قسمت بارگزاری کنید].
تشخیص چهره در تصاویر و ویدیو ها و حالت چهره افراد :
اگر ChatGPT 4.O رو دارید تصاویر رو به ChatGPT بدید تا تحلیل کنه و احساسات افراد رو تشخیص بده. از پرامپت زیر استفاده کنید:
I have extracted images from a video. Please analyze these images and identify the emotions of each person in them. The images are as follows: [تصاویر را در هوش مصنوعی بارگزاری کنید ].
توجه: ChatGPT 4.0 پولی هست و برای استفاده ازش باید اشتراک تهیه کنید. پس اگر چت جی پی تی ۴ رو ندارید … این قسمت فعلا امکان پذیر نیست مگر اینکه از کد پایتون زیر استفاده کنید …
برای کسایی که میخوان با کد پایتون این کار رو انجام بدن، میتونید از کد زیر استفاده کنید:
# Install necessary libraries
!pip install opencv-python-headless deepface matplotlib
import cv2
import matplotlib.pyplot as plt
from deepface import DeepFace
import pandas as pd
# Paths to the uploaded images (replace these with your actual file paths)
image_files = [
“/content/456456.jpg”,
]
# Function to detect faces and draw bounding boxes
def detect_and_draw_faces(image_path):
# Read the image
image = cv2.imread(image_path)
if image is None:
print(f”Image at path {image_path} could not be loaded.”)
return None, None
# Detect faces
detections = DeepFace.extract_faces(img_path=image_path, detector_backend=’retinaface’, enforce_detection=False)
for detection in detections:
x, y, w, h = detection[‘facial_area’][‘x’], detection[‘facial_area’][‘y’], detection[‘facial_area’][‘w’], detection[‘facial_area’][‘h’]
cv2.rectangle(image, (x, y), (x + w, y + h), (255, 0, 0), 2)
# Convert image to RGB for plotting
image_rgb = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
return image, image_rgb
# Analyze faces and draw bounding boxes
def analyze_and_draw_faces(image_path):
analysis = DeepFace.analyze(img_path=image_path, actions=[’emotion’], detector_backend=’retinaface’, enforce_detection=False)
return analysis
# Display images with detected faces and analyze emotions
face_analysis_results = []
for image_path in image_files:
image, image_rgb = detect_and_draw_faces(image_path)
if image_rgb is not None:
plt.imshow(image_rgb)
plt.axis(‘off’)
plt.title(f”Detected Faces in {image_path}”)
plt.show()
analysis = analyze_and_draw_faces(image_path)
face_analysis_results.extend(analysis) # Analysis already contains all detected faces
# Aggregating results
emotion_counts = {‘angry’: 0, ‘disgust’: 0, ‘fear’: 0, ‘happy’: 0, ‘sad’: 0, ‘surprise’: 0, ‘neutral’: 0}
for result in face_analysis_results:
dominant_emotion = result[‘dominant_emotion’]
emotion_counts[dominant_emotion] += 1
# Converting to DataFrame
emotion_df = pd.DataFrame(list(emotion_counts.items()), columns=[‘Emotion’, ‘Count’])
# Plotting the data
plt.figure(figsize=(10, 6))
# Bar chart
plt.bar(emotion_df[‘Emotion’], emotion_df[‘Count’], color=[‘blue’, ‘green’, ‘red’, ‘purple’, ‘orange’, ‘pink’, ‘gray’])
plt.xlabel(‘Emotion’)
plt.ylabel(‘Count’)
plt.title(‘Count of Detected Emotions’)
plt.grid(True)
# Display the bar chart
plt.show()
# Pie chart
plt.figure(figsize=(8, 8))
plt.pie(emotion_df[‘Count’], labels=emotion_df[‘Emotion’], autopct=’%1.1f%%’, colors=[‘blue’, ‘green’, ‘red’, ‘purple’, ‘orange’, ‘pink’, ‘gray’])
plt.title(‘Distribution of Detected Emotions’)
# Display the pie chart
plt.show()
با استفاده از این کد ها میتونین تصاویر رو آنالیز کنید و حالات چهره افراد رو در اختیارتون قرار میده …..
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.