


Détection de chute - entièrement développé avec ChatGPT, partagez comment poser correctement des questions à ChatGPT
Bonjour à tous.
J'ai déjà partagé avec vous la reconnaissance des chutes et la reconnaissance des combats. Aujourd'hui, nous prendrons la reconnaissance des chutes comme exemple pour voir si nous pouvons complètement laisser le soin à ChatGPT.
Laissez ChatGPT faire cela. La chose la plus importante est de savoir comment poser des questions à ChatGPT. Par exemple : il n'est pas conseillé d'écrire un code de détection de chute en Python, mais cela devrait être comme l'extraire. dentifrice. , guidez ChatGPT étape par étape pour obtenir des réponses précises, afin que ChatGPT puisse réellement améliorer notre efficacité dans la résolution des problèmes.
Le cas de reconnaissance des chutes partagé aujourd'hui a une idée claire du dialogue avec ChatGPT et d'une grande convivialité du code. Selon les résultats renvoyés par GPT, un projet de reconnaissance des chutes peut être développé, et il existe également des sujets étendus, tels que : Points d'amélioration de Bi She.
Le partage officiel commence ci-dessous.
1. Paramètre de rôle
Pour poser une question à ChatGPT, vous devez d'abord lui donner un paramètre de rôle. Dans le champ de l'algorithme, cela s'appelle une invite. Ce n'est qu'en entrant le rôle que vous pourrez mieux répondre à la question. Donc, la première phrase de ma question est :
Si vous êtes un ingénieur en IA, je souhaite identifier s'il y a une chute dans la vidéo, quelles sont les méthodes
Il n'est pas nécessaire de lui demander d'écrire le code ? directement lorsqu'il arrive, demandez d'abord Quelles méthodes ou quelles idées a-t-il ?
Jetons un coup d'œil à la réponse de ChatGPT
donne 3 solutions, y compris les méthodes d'image traditionnelles et les méthodes d'apprentissage en profondeur.
2. Conseils d'idées
Bien sûr, nous sommes intéressés par l'apprentissage profond, nous continuons donc à poser des questions sur les méthodes d'apprentissage profond
Quelles sont les méthodes d'utilisation de l'apprentissage profond
Réponse ChatGPT
Du réseau neuronal convolutif au Le réseau neuronal convolutif récurrent a été évoqué partout.
Il semble que le réseau neuronal récurrent RNN est plus simple et plus fiable. Ma prochaine question est
J'ai besoin de la méthode du réseau neuronal récurrent (RNN)
Réponse ChatGPT
donne un fonctionnement très détaillé et pratique. Je vais brièvement classer ces étapes très spécifiques, qui sont grosso modo en deux étapes :
La première étape consiste à prétraiter la vidéo et à utiliser un réseau neuronal convolutionnel (tel que ResNet) pour extraire les fonctionnalités d'action vidéo (similaires à l'intégration de mots). L'étape consiste à utiliser les fonctionnalités d'action comme entrée du modèle lstm, à entraîner le réseau neuronal récurrent lstm, à classer les fonctionnalités d'action et à identifier les comportements de chute
3 Écrire du code
Jusqu'à présent, ChatGPT nous a fourni une idée très claire de. résoudre le problème. Et c’est très exécutoire.
Donc, nous pouvons maintenant laisser ChatGPT écrire du code.
Selon les étapes que j'ai divisées ci-dessus, je lui ai demandé d'écrire le code de la première étape à la fois, donc ma question est la suivante :
Écrivez le code pour le prétraitement vidéo et utilisez pytorch resnet pour extraire les fonctionnalités vidéo
Réponse de ChatGPT
好的,下面是通过 Pytorch 的 ResNet 提取视频特征的代码,以及视频预处理的示例代码: 视频预处理: import cv2 import numpy as np def preprocess_video(video_path, n_frames=16, resize=(224, 224)): # 读取视频 cap = cv2.VideoCapture(video_path) frames = [] while True: ret, frame = cap.read() if not ret: break # 强制转换为 RGB frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB) # 图像缩放 frame = cv2.resize(frame, resize) # 图像增强等操作 # ... frames.append(frame) cap.release() # 取固定帧数 n_frames,超过后从中间开始截取 n_frames = min(len(frames), n_frames) start = (len(frames) - n_frames) // 2 end = start + n_frames # 截取帧数后堆叠成四维数组 frames = np.stack(frames[start:end], axis=0) # 转换为支持 Pytorch 模型的格式 (B, C, T, H, W) frames = np.transpose(frames, (0, 3, 1, 2)) return frames 提取视频特征: import torch import torchvision.models as models def extract_features(frames): # 加载 ResNet 模型 resnet = models.resnet50(pretrained=True) # 去掉最后的全连接层 resnet = torch.nn.Sequential(*list(resnet.children())[:-1]) # 将 ResNet 设置为评估模式 resnet.eval() # 将预处理后的视频序列转化为 Tensor,并调整为指定的数据类型和范围 frames = torch.from_numpy(frames).float() / 255.0 # 减去 ImageNet 数据集的均值和标准差 normalize = torch.nn.Normalize( mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225] ) frames = normalize(frames) # 前向预测,输出 2048 维特征向量 with torch.no_grad(): features = resnet(frames) return features.reshape(-1, 2048) 在上面这两块代码中,preprocess_video() 函数将读取视频,并将其转换为指定大小的图像帧,返回处理后的数据;extract_features() 函数将接受上一步处理后的数据,并将其转化为 Pytorch 的 Tensor,使用训练好的 ResNet 模型对每一帧图像进行特征提取,并返回一个形状为 (B, 2048) 的 Tensor,其中 B 为帧数。
L'image est trop longue. Afin que tout le monde puisse mieux comprendre la réponse de ChatGPT, j'ai directement posté le texte du code.
Définissez deux fonctions indépendantes, qui complètent respectivement les deux petites étapes de la première étape.
Il n'y a aucun problème avec le code. Appelez d'abord la fonction preprocess_video pour prétraiter la vidéo, puis appelez l'opération de convolution extract_features pour intégrer un vecteur dans un vecteur de 2048 dimensions.
La deuxième étape, je l'ai divisée en deux petites étapes, je construis d'abord le modèle lstm, puis je m'entraîne
Sur la base des résultats produits ci-dessus, j'utilise pytorch lstm pour construire le modèle de classification vidéo
Réponse de ChatGPT
Écrivez-le Le code pour la formation des modèles
Réponse de ChatGPT
好的,下面是使用 Pytorch 训练视频分类模型的代码: import torch import torch.nn as nn import torch.optim as optim # 训练函数 def train(model, criterion, optimizer, dataloader, num_epochs=10): device = torch.device("cuda" if torch.cuda.is_available() else "cpu") model.to(device)# 将模型移动到 GPU 或 CPU 上 for epoch in range(num_epochs): running_loss = 0.0 correct_predictions = 0 total_predictions = 0 for inputs, labels in dataloader: inputs = inputs.to(device) labels = labels.to(device) optimizer.zero_grad() with torch.set_grad_enabled(True): outputs = model(inputs) _, preds = torch.max(outputs, 1) loss = criterion(outputs, labels) loss.backward() optimizer.step() running_loss += loss.item() * inputs.size(0) correct_predictions += torch.sum(preds == labels.data) total_predictions += labels.size(0) epoch_loss = running_loss / len(dataloader.dataset) epoch_acc = correct_predictions.double() / total_predictions print("Epoch {}: Loss {:.4f} Acc: {:.4f}".format(epoch + 1, epoch_loss, epoch_acc)) # 定义超参数 BATCH_SIZE = 4 NUM_EPOCHS = 20 # 定义数据集,假设已经准备好了训练数据集和测试数据集 train_dataset = ... test_dataset = ... # 定义数据加载器 train_dataloader = torch.utils.data.DataLoader( train_dataset, batch_size=BATCH_SIZE, shuffle=True ) test_dataloader = torch.utils.data.DataLoader( test_dataset, batch_size=BATCH_SIZE, shuffle=False ) # 定义模型 input_size = 2048 hidden_size = 512 num_layers = 1 num_classes = 2 model = VideoLSTM(input_size, hidden_size, num_layers, num_classes) # 定义损失函数和优化器 criterion = nn.CrossEntropyLoss() optimizer = optim.Adam(model.parameters()) # 训练模型 train(model, criterion, optimizer, train_dataloader, num_epochs=NUM_EPOCHS) 在代码中,首先定义了模型的超参数,如 BATCH_SIZE 和 NUM_EPOCHS。接着定义了训练数据集和测试数据集,并使用 Pytorch 的 DataLoader 将数据加载为 batch。然后定义了模型、损失函数和优化器。最后调用 train() 函数进行模型训练。 在训练过程中,每个 epoch 循环训练所有的视频帧,计算损失函数,计算准确率,并输出当前 epoch 的平均损失和准确率。训练完成后,可以将模型的参数保存到磁盘上,以便以后使用。
La convivialité du code est très élevée. À l'exception du coût de concaténation de code, chaque module indépendant n'a fondamentalement pas besoin d'être déplacé et l'efficacité du développement est très efficace.
Vous pouvez également demander à ChatGPT de trouver des ensembles de données
Vous pouvez également lui demander d'écrire le code pour l'inférence du modèle
Il peut automatiquement nous aider à enchaîner les trois parties du prétraitement vidéo, de l'extraction des fonctionnalités et l'inférence forment un projet complet.
4. Expansion
Jusqu'à présent, nous avons complètement terminé le projet en utilisant ChatGPT.
Nous pouvons également parler de certains sujets étendus, tels que :
Vous pouvez également demander à ChatGPT de nous aider à réfléchir à certains points qui peuvent mettre en valeur la valeur académique
Voir cela signifie que mon article vous est quelque peu utile. Que je rejoigne Planet ou non, je suis reconnaissant de la reconnaissance et de la confiance de chacun en moi.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Le DALL-E 3 a été officiellement introduit en septembre 2023 en tant que modèle considérablement amélioré par rapport à son prédécesseur. Il est considéré comme l’un des meilleurs générateurs d’images IA à ce jour, capable de créer des images avec des détails complexes. Cependant, au lancement, c'était exclu

Cet outil de programmation assistée par l'IA a mis au jour un grand nombre d'outils de programmation assistée par l'IA utiles à cette étape de développement rapide de l'IA. Les outils de programmation assistés par l'IA peuvent améliorer l'efficacité du développement, améliorer la qualité du code et réduire les taux de bogues. Ils constituent des assistants importants dans le processus de développement logiciel moderne. Aujourd'hui, Dayao partagera avec vous 4 outils de programmation assistés par l'IA (et tous prennent en charge le langage C#). J'espère que cela sera utile à tout le monde. https://github.com/YSGStudyHards/DotNetGuide1.GitHubCopilotGitHubCopilot est un assistant de codage IA qui vous aide à écrire du code plus rapidement et avec moins d'effort, afin que vous puissiez vous concentrer davantage sur la résolution de problèmes et la collaboration. Git

Étapes d'installation : 1. Téléchargez le logiciel ChatGTP depuis le site officiel ou la boutique mobile de ChatGTP ; 2. Après l'avoir ouvert, dans l'interface des paramètres, sélectionnez la langue chinoise 3. Dans l'interface de jeu, sélectionnez le jeu homme-machine et définissez la langue. Spectre chinois ; 4. Après avoir démarré, entrez les commandes dans la fenêtre de discussion pour interagir avec le logiciel.

Le 3 mars 2022, moins d'un mois après la naissance de Devin, le premier programmeur d'IA au monde, l'équipe NLP de l'Université de Princeton a développé un agent SWE pour programmeur d'IA open source. Il exploite le modèle GPT-4 pour résoudre automatiquement les problèmes dans les référentiels GitHub. Les performances de l'agent SWE sur l'ensemble de tests du banc SWE sont similaires à celles de Devin, prenant en moyenne 93 secondes et résolvant 12,29 % des problèmes. En interagissant avec un terminal dédié, SWE-agent peut ouvrir et rechercher le contenu des fichiers, utiliser la vérification automatique de la syntaxe, modifier des lignes spécifiques et écrire et exécuter des tests. (Remarque : le contenu ci-dessus est un léger ajustement du contenu original, mais les informations clés du texte original sont conservées et ne dépassent pas la limite de mots spécifiée.) SWE-A

Didacticiel d'application mobile de développement du langage Go Alors que le marché des applications mobiles continue de croître, de plus en plus de développeurs commencent à explorer comment utiliser le langage Go pour développer des applications mobiles. En tant que langage de programmation simple et efficace, le langage Go a également montré un fort potentiel dans le développement d'applications mobiles. Cet article présentera en détail comment utiliser le langage Go pour développer des applications mobiles et joindra des exemples de code spécifiques pour aider les lecteurs à démarrer rapidement et à commencer à développer leurs propres applications mobiles. 1. Préparation Avant de commencer, nous devons préparer l'environnement et les outils de développement. tête

chatgpt peut être utilisé en Chine, mais ne peut pas être enregistré, ni à Hong Kong et Macao. Si les utilisateurs souhaitent s'inscrire, ils peuvent utiliser un numéro de téléphone mobile étranger pour s'inscrire. Notez que lors du processus d'enregistrement, l'environnement réseau doit être basculé vers. une adresse IP étrangère.

Le développement d'Android est un travail chargé et passionnant, et le choix d'une distribution Linux adaptée au développement est particulièrement important. Parmi les nombreuses distributions Linux, laquelle est la plus adaptée au développement Android ? Cet article explorera ce problème sous plusieurs aspects et donnera des exemples de code spécifiques. Tout d’abord, jetons un coup d’œil à plusieurs distributions Linux actuellement populaires : Ubuntu, Fedora, Debian, CentOS, etc. Elles ont toutes leurs propres avantages et caractéristiques.

« Comprendre VSCode : à quoi sert cet outil ? » 》En tant que programmeur, que vous soyez débutant ou développeur expérimenté, vous ne pouvez pas vous passer de l'utilisation d'outils d'édition de code. Parmi les nombreux outils d'édition, Visual Studio Code (VSCode en abrégé) est très populaire parmi les développeurs en tant qu'éditeur de code open source, léger et puissant. Alors, à quoi sert exactement VSCode ? Cet article approfondira les fonctions et les utilisations de VSCode et fournira des exemples de code spécifiques pour aider les lecteurs.
