全球热推荐:世界上最简洁的人脸识别库:face_recognition
文章目录
(资料图片仅供参考)
前言一、face_recognition1.1 安装1.2 检测人脸位置1.3 识别人脸 二、PaddleDetection2.1 安装2.2 运行 三、DeepFace3.1 安装3.2 检测人脸位置3.3 人脸属性分析 四、insightface4.1 安装4.2 运行 五、SeetaFaceEngine5.1 编译5.2 人脸检测5.3 face alignment5.4 人脸检测相似率 六、OpenFace6.1 安装6.2 运行 参考
前言
人脸识别是机器学习热门领域之一,在 github 上有很多项目实现了各种人脸识别功能,以下面6个测试软件使用
https://github.com/ageitgey/face_recognitionhttps://github.com/PaddlePaddle/PaddleDetectionhttps://github.com/serengil/deepfacehttps://github.com/deepinsight/insightfacehttps://github.com/seetaface/SeetaFaceEnginehttps://github.com/TadasBaltrusaitis/OpenFace
一、face_recognition
face_recognition 是世界上最简洁的人脸识别库,可以使用 Python 和命令行工具提取、识别、操作人脸。
face_recognition 项目的人脸识别是基于业内领先的C++开源库 dlib中的深度学习模型,用Labeled Faces in the Wild人脸数据集进行测试,有高达99.38%的准确率。但对小孩和亚洲人脸的识别准确率尚待提升。
1.1 安装
pip install face_recognition
1.2 检测人脸位置
可以使用命令行命令 face_detection来识别人脸,下面以胡歌照片为例,来演示具体使用
face_detection faces/huge.jpg# 输出:faces/huge.jpg,101,221,173,149
使用命令行只显示了位置的具体坐标,不能准确的用肉眼查看,可以使用 python 来标记
import face_recognitionfrom PIL import Image, ImageDrawimage = face_recognition.load_image_file("huge.jpg")face_locations = face_recognition.face_locations(image)pil_image = Image.fromarray(image)draw = ImageDraw.Draw(pil_image)for (top, right, bottom, left) in face_locations: draw.rectangle(((left, top), (right, bottom)), outline=(0, 0, 255))del drawpil_image.save("huge_face.jpg")
多张人脸检测
原始照片
标记人脸位置照片
1.3 识别人脸
face_recognition 不仅支持识别人脸所在照片位置,更能识别人脸所代表的人
将 [‘刘诗诗.jpg’, ‘唐嫣.jpg’, ‘杨幂.jpg’, ‘胡歌.jpg’, ‘霍建华.jpg’, ‘黄志玮.jpg’] 照片放在一个文件夹下,例如我的是 known 文件夹下,再将仙剑三海报 all.jpg 放在和脚本同一目录下,开始识别人脸
测试的6张照片都是从网上找的,链接如下
刘诗诗唐嫣杨幂胡歌霍建华黄志玮
import face_recognitionimport osfrom PIL import Image, ImageDraw, ImageFontimport numpy as npfont = ImageFont.truetype("C:\\Windows\\Fonts\\simsun.ttc", 40, encoding="utf-8")known_path = "../known"known_face_names = []known_face_encodings = []images = os.listdir(known_path)print(images)for image in images: if image.endswith("jpg"): known_face_names.append(os.path.basename(image).split(".")[0]) image_data = face_recognition.load_image_file(os.path.join(known_path, image)) known_face_encodings.append(face_recognition.face_encodings(image_data)[0])all_face_path = "all.jpg"all_image = face_recognition.load_image_file(all_face_path)all_face_locations = face_recognition.face_locations(all_image)all_face_encodings = face_recognition.face_encodings(all_image, all_face_locations)pil_image = Image.fromarray(all_image)draw = ImageDraw.Draw(pil_image)for (top, right, bottom, left), face_encoding in zip(all_face_locations, all_face_encodings): matches = face_recognition.compare_faces(known_face_encodings, face_encoding, tolerance=0.5) name = "未知" face_distances = face_recognition.face_distance(known_face_encodings, face_encoding) best_match_index = np.argmin(face_distances) if matches[best_match_index]: name = known_face_names[best_match_index] draw.rectangle(((left, top), (right, bottom)), outline=(0, 0, 255)) text_width, text_height = draw.textsize(name, font=font) draw.text((left + 6, bottom - text_height - 5), name, fill=(255, 255, 255, 255), font=font)del drawpil_image.save("all_faces.jpg")
二、PaddleDetection
PaddleDetection为基于飞桨 PaddlePaddle 的端到端目标检测套件,内置30+模型算法及250+预训练模型,覆盖目标检测、实例分割、跟踪、关键点检测等方向,其中包括服务器端和移动端高精度、轻量级产业级SOTA模型、冠军方案和学术前沿算法,并提供配置化的网络模块组件、十余种数据增强策略和损失函数等高阶优化支持和多种部署方案,在打通数据处理、模型开发、训练、压缩、部署全流程的基础上,提供丰富的案例及教程,加速算法产业落地应用。
2.1 安装
下载源码,根据readme安装,注意下载源码版本需要根 paddlepaddle 版本对应。
安装过程中,安装cython bbox 失败,解决方法:windows下安装cython-bbox失败。下载资源:cython+bbox-0.1.3
2.2 运行
PaddleDetection 内置一个高效、高速的人脸检测解决方案,包括最先进的模型和经典模型
python tools/infer.py -c configs/face_detection/blazeface_1000e.yml -o weights=https://paddledet.bj.bcebos.com/models/blazeface_1000e.pdparams --infer_img=C:\Users\supre\Desktop\faces\all.jpg --output_dir=infer_output/ --draw_threshold=0.6
三、DeepFace
Deepface 是一个轻量级的人脸面部识别和面部属性分析(年龄、性别、情感和种族)框架。它是一个混合的人脸识别框架,包装了最先进的模型:VGG-Face, Google FaceNet, OpenFace, Facebook DeepFace, DeepID, ArcFace, Dliband SFace.
实验表明,人类在面部识别任务上的准确率为97.53%,而这些模型已经达到并通过了这个准确率水平。
3.1 安装
pip install deepface
3.2 检测人脸位置
from deepface import DeepFacefrom deepface.detectors import FaceDetectorimport cv2img_path = "C:\\Users\\supre\\Desktop\\faces\\all.jpg"detector_name = "opencv"img = cv2.imread(img_path)detector = FaceDetector.build_model(detector_name) #set opencv, ssd, dlib, mtcnn or retinafaceobj = FaceDetector.detect_faces(detector, detector_name, img)faces = []regions = []for o in obj: face, region = o faces.append(face) regions.append(region)for (x, y, w, h) in regions: cv2.rectangle(img, (x, y), (x+w, y + h), (0, 0, 255), 2)cv2.imwrite("all_deep_face.jpg", img)cv2.imshow("faces", img)cv2.waitKey(0)print("there are ",len(obj)," faces")
3.3 人脸属性分析
运行下面代码会从 github 下载训练好的模型文件,如果下载太慢可手动下载:https://github.com/serengil/deepface_models/releases/
from deepface import DeepFaceobj = DeepFace.analyze(img_path = "faces/huge.jpg", actions = ["age", "gender", "race", "emotion"])print(obj)
输出:
{"age": 31, "region": {"x": 141, "y": 90, "w": 92, "h": 92}, "gender": "Man", "race": {"asian": 86.62416855240873, "indian": 0.2717677898641103, "black": 0.025535856615095234, "white": 11.001530200334203, "middle eastern": 0.36970814565319693, "latino hispanic": 1.707288910883004}, "dominant_race": "asian", "emotion": {"angry": 4.005255788877951, "disgust": 1.1836746688898558e-05, "fear": 91.75890038960578, "happy": 1.023393651002267, "sad": 0.9277909615809299, "surprise": 2.081933555420253, "neutral": 0.20271948350039026}, "dominant_emotion": "fear"}
四、insightface
insightface 是一个开源的二维和三维深度面部分析工具箱,主要基于 PyTorch 和 MXNet。实现了很多人脸识别、人脸检测和人脸对齐算法,为训练和部署进行了优化。
4.1 安装
pip install insightface
4.2 运行
运行出现报错:TypeError: __init__() got an unexpected keyword argument "provider_options"
查找资料Error “got an unexpected keyword argument ‘provider_options’” when running quick example of insightface得知:是由于onnxruntime 版本过低导致,更新版本
pip install onnxruntime==1.6.0
import cv2import numpy as npimport insightfacefrom insightface.app import FaceAnalysisfrom insightface.data import get_image as ins_get_imageapp = FaceAnalysis(providers=["CUDAExecutionProvider", "CPUExecutionProvider"])app.prepare(ctx_id=0, det_size=(640, 640))img = ins_get_image("C:\\Users\\supre\\Desktop\\faces\\all")faces = app.get(img)rimg = app.draw_on(img, faces)cv2.imwrite("./all_output.jpg", rimg)
五、SeetaFaceEngine
SeetaFaceEngine 是一个开源的C++人脸识别引擎,由中科院计算所山世光研究员带领的人脸识别研究组研发。代码基于C++实现,且不依赖于任何第三方的库函数,开源协议为BSD-2,可供学术界和工业界免费使用它可以运行在CPU上。它包含人脸检测、人脸对准和人脸识别三个关键部分,是构建真实人脸识别应用系统的必要和充分条件
5.1 编译
SeetaFaceEngine 包含三部分,所以需要使用 cmake 编译三次,编译方法见 readme
5.2 人脸检测
#include#include#include#include#include "opencv2/highgui/highgui.hpp"#include "opencv2/imgproc/imgproc.hpp"#include "face_detection.h"using namespace std;int main(int argc, char** argv) { const char* img_path = "C:\\Users\\supre\\Desktop\\faces\\all.jpg"; seeta::FaceDetection detector("E:\\tmp\\SeetaFaceEngine-master\\FaceDetection\\model\\seeta_fd_frontal_v1.0.bin"); detector.SetMinFaceSize(40); detector.SetScoreThresh(2.f); detector.SetImagePyramidScaleFactor(0.8f); detector.SetWindowStep(4, 4); cv::Mat img = cv::imread(img_path, cv::IMREAD_UNCHANGED); cv::Mat img_gray; if (img.channels() != 1) cv::cvtColor(img, img_gray, cv::COLOR_BGR2GRAY); else img_gray = img; seeta::ImageData img_data; img_data.data = img_gray.data; img_data.width = img_gray.cols; img_data.height = img_gray.rows; img_data.num_channels = 1; long t0 = cv::getTickCount(); std::vectorfaces = detector.Detect(img_data); long t1 = cv::getTickCount(); double secs = (t1 - t0)/cv::getTickFrequency(); cout << "Detections takes " << secs << " seconds " << endl; cout << "Image size (wxh): " << img_data.width << "x" << img_data.height << endl; cv::Rect face_rect; int32_t num_face = static_cast(faces.size()); for (int32_t i = 0; i < num_face; i++) { face_rect.x = faces[i].bbox.x; face_rect.y = faces[i].bbox.y; face_rect.width = faces[i].bbox.width; face_rect.height = faces[i].bbox.height; cv::rectangle(img, face_rect, CV_RGB(0, 0, 255), 4, 8, 0); } cv::namedWindow("Test", cv::WINDOW_AUTOSIZE); cv::imwrite("all_1.jpg", img); cv::imshow("Test", img); cv::waitKey(0); cv::destroyAllWindows();}
5.3 face alignment
face alignment 指 通过一定量的训练集(人脸图像和每个图像上相对应的多个landmarks),来得到一个model,使得该model再输入了一张任意姿态下的人脸照片后,能够对该照片中的关键点进行标记.
#include#include#include#include#include "cv.h"#include "highgui.h"#include "opencv2/highgui/highgui.hpp"#include "opencv2/imgproc/imgproc.hpp"#include "face_detection.h"#include "face_alignment.h"int main(int argc, char** argv){// Initialize face detection model std::string MODEL_DIR = "E:\\tmp\\SeetaFaceEngine-master\\FaceAlignment\\model\\"; std::string DATA_DIR = "E:\\tmp\\SeetaFaceEngine-master\\FaceAlignment\\data\\"; std::string IMG_PATH = DATA_DIR + "all.jpg"; int pts_num = 5; seeta::FaceDetection detector("E:\\tmp\\SeetaFaceEngine-master\\FaceDetection\\model\\seeta_fd_frontal_v1.0.bin"); detector.SetMinFaceSize(40); detector.SetScoreThresh(2.f); detector.SetImagePyramidScaleFactor(0.8f); detector.SetWindowStep(4, 4); // Initialize face alignment model seeta::FaceAlignment point_detector((MODEL_DIR + "seeta_fa_v1.1.bin").c_str()); //load image cv::Mat img = cv::imread(IMG_PATH, cv::IMREAD_UNCHANGED); cv::Mat img_gray; if (img.channels() != 1) cv::cvtColor(img, img_gray, cv::COLOR_BGR2GRAY); else img_gray = img; seeta::ImageData img_data; img_data.data = img_gray.data; img_data.width = img_gray.cols; img_data.height = img_gray.rows; img_data.num_channels = 1; std::vectorfaces = detector.Detect(img_data); int32_t face_num = static_cast(faces.size()); std::cout<<"face_num:"<<FACE_NUM; if="" (face_num="=" 0)="" {return 0; } cv::Rect face_rect; for (int32_t i = 0; i < face_num; i++) {face_rect.x = faces[i].bbox.x; face_rect.y = faces[i].bbox.y; face_rect.width = faces[i].bbox.width; face_rect.height = faces[i].bbox.height; cv::rectangle(img, face_rect, CV_RGB(0, 0, 255), 4, 8, 0); // Detect 5 facial landmarks seeta::FacialLandmark points[5]; point_detector.PointDetectLandmarks(img_data, faces[i], points); for (int i = 0; i< pts_num; i++) {cv::circle(img, cvPoint(points[i].x, points[i].y), 2, CV_RGB(0, 255, 0), CV_FILLED); } } cv::namedWindow("Test", cv::WINDOW_AUTOSIZE); cv::imwrite("test.jpg", img); cv::imshow("Test", img); cv::waitKey(0); cv::destroyAllWindows(); return 0;}
5.4 人脸检测相似率
#include#include#include "opencv2/highgui/highgui.hpp"#include "opencv2/imgproc/imgproc.hpp"#include "face_identification.h"#include "recognizer.h"#include "face_detection.h"#include "face_alignment.h"#include "math_functions.h"#include#include#include#includeusing namespace seeta;using namespace std;std::string DATA_DIR = "E:\\tmp\\SeetaFaceEngine-master\\FaceIdentification\\data\\";std::string MODEL_DIR = "E:\\tmp\\SeetaFaceEngine-master\\FaceIdentification\\model\\";int main(int argc, char* argv[]) {// Initialize face detection model seeta::FaceDetection detector("E:\\tmp\\SeetaFaceEngine-master\\FaceDetection\\model\\seeta_fd_frontal_v1.0.bin"); detector.SetMinFaceSize(40); detector.SetScoreThresh(2.f); detector.SetImagePyramidScaleFactor(0.8f); detector.SetWindowStep(4, 4); // Initialize face alignment model seeta::FaceAlignment point_detector("E:\\tmp\\SeetaFaceEngine-master\\FaceAlignment\\model\\seeta_fa_v1.1.bin"); // Initialize face Identification model FaceIdentification face_recognizer((MODEL_DIR + "seeta_fr_v1.0.bin").c_str()); std::string test_dir = DATA_DIR + "test_face_recognizer/"; //load image cv::Mat gallery_img_color = cv::imread(test_dir + "images/liushishi_1.jpg", 1); cv::Mat gallery_img_gray; cv::cvtColor(gallery_img_color, gallery_img_gray, CV_BGR2GRAY); cv::Mat probe_img_color = cv::imread(test_dir + "images/liushishi_2.jpg", 1); cv::Mat probe_img_gray; cv::cvtColor(probe_img_color, probe_img_gray, CV_BGR2GRAY); ImageData gallery_img_data_color(gallery_img_color.cols, gallery_img_color.rows, gallery_img_color.channels()); gallery_img_data_color.data = gallery_img_color.data; ImageData gallery_img_data_gray(gallery_img_gray.cols, gallery_img_gray.rows, gallery_img_gray.channels()); gallery_img_data_gray.data = gallery_img_gray.data; ImageData probe_img_data_color(probe_img_color.cols, probe_img_color.rows, probe_img_color.channels()); probe_img_data_color.data = probe_img_color.data; ImageData probe_img_data_gray(probe_img_gray.cols, probe_img_gray.rows, probe_img_gray.channels()); probe_img_data_gray.data = probe_img_gray.data; // Detect faces std::vectorgallery_faces = detector.Detect(gallery_img_data_gray); int32_t gallery_face_num = static_cast(gallery_faces.size()); std::vectorprobe_faces = detector.Detect(probe_img_data_gray); int32_t probe_face_num = static_cast(probe_faces.size()); if (gallery_face_num == 0 || probe_face_num==0) {std::cout << "Faces are not detected."; return 0; } // Detect 5 facial landmarks seeta::FacialLandmark gallery_points[5]; point_detector.PointDetectLandmarks(gallery_img_data_gray, gallery_faces[0], gallery_points); seeta::FacialLandmark probe_points[5]; point_detector.PointDetectLandmarks(probe_img_data_gray, probe_faces[0], probe_points); for (int i = 0; i<5; i++) {cv::circle(gallery_img_color, cv::Point(gallery_points[i].x, gallery_points[i].y), 2, CV_RGB(0, 255, 0)); cv::circle(probe_img_color, cv::Point(probe_points[i].x, probe_points[i].y), 2, CV_RGB(0, 255, 0)); } cv::imwrite("gallery_point_result.jpg", gallery_img_color); cv::imwrite("probe_point_result.jpg", probe_img_color); // Extract face identity feature float gallery_fea[2048]; float probe_fea[2048]; face_recognizer.ExtractFeatureWithCrop(gallery_img_data_color, gallery_points, gallery_fea); face_recognizer.ExtractFeatureWithCrop(probe_img_data_color, probe_points, probe_fea); // Caculate similarity of two faces float sim = face_recognizer.CalcSimilarity(gallery_fea, probe_fea); std::cout << "相似率:"<<SIM <<endl;="" return="" 0;}
使用两张刘诗诗照片对比:相似率为 0.679915
六、OpenFace
OpenFace, 一个旨在为计算机视觉和机器学习研究人员、情感计算社区和有兴趣构建基于面部行为分析的交互式应用程序的人使用的工具。OpenFace是第一个能够进行面部地标检测、头部姿态估计、面部动作单元识别和眼睛-注视估计的工具包,它具有可用的源代码,可用于运行和训练模型。代表 OpenFace 核心的计算机视觉算法在上述所有任务中都展示了最先进的结果。此外,我们的工具能够实时性能,并能够运行在非专业的硬件上, 例如一个简单的网络摄像头。
6.1 安装
window 32位:https://github.com/TadasBaltrusaitis/OpenFace/releases/download/OpenFace_2.2.0/OpenFace_2.2.0_win_x86.zip64位:https://github.com/TadasBaltrusaitis/OpenFace/releases/download/OpenFace_2.2.0/OpenFace_2.2.0_win_x64.zip Linux:https://github.com/TadasBaltrusaitis/OpenFace/wiki/Unix-InstallationMac:https://github.com/TadasBaltrusaitis/OpenFace/wiki/Mac-Installation
6.2 运行
OpenFace windows 版安装完成后还需要下载模型数据:https://github.com/TadasBaltrusaitis/OpenFace/wiki/Model-download,放在安装目录\model\patch_experts下面。
OpenFace 还提供了一些工具用于在命令行实现人脸识别
FaceLandmarkImg 从照片中识别人脸,还是以仙剑3海报做例子放在samples下面,再新建输出文件夹out_dir,开始识别人脸
FaceLandmarkImg.exe -f "samples/all.jpg" -out_dir "out_dir"
输出结果为:
FaceLandmarkVid 从视频中识别人脸
FaceLandmarkVidMulti 从多个视频中识别人脸
FeatureExtraction 用于包含单个人脸的分析
参考
windows下安装cython-bbox失败
标签:
相关推荐:
精彩放送:
- []环球资讯:舍入模式有哪些?八种舍入模式的解释
- []环球新动态:FB是什么意思?PCB原理图中的FB是什么意思?
- []每日播报!如何下载Navicat数据库管理编辑软件?如何打开.db数据库文件?
- []年产能10GWh!青禾新能80亿建储能系统集成基地和光伏储能电站
- []“平均数”到底是什么意思?加权平均数又是什么意思?
- []【快播报】99岁的芒格:投资中国更值得 比亚迪比特斯拉好!
- []QQ象棋java通用版怎么下载?QQ中国象棋官方免费版下载
- []全球微动态丨丢了上市公司的陕西富豪,携锂电“核弹”卷土重来
- []环球热推荐:“日光基”鸣枪!基金大佬齐上阵 A股增量资金入场
- []每日聚焦:加加食品:数字科技子公司目前没有应用到该项技术
- []环球实时:安科生物:公司的曲妥珠单抗产品目前仍在国家药品审评中心开展审评审批工作
- []天天动态:A股突发跳水!15家基金紧急解读
- []天天速读:复苏开启之后,VC重回旅游业了吗? | 重启
- []讯息:中国居民存款破纪录 具体详细内容是什么
- []今日讯!首次实现全年盈利,Airbnb被戏称“精简的赚钱机器”
- []e生保2020费率表
- []2021年小车保险怎么买
- []美股异动 | 部分中概股逆市上涨 金山云(KC.US)涨超5%
- []全球视点!保险对家庭的重要性
- []焦点热门:怎么用电话定火车票_怎么用电话定火车票最快
- []每日消息!最新射手榜:哈兰德无解凯恩破纪录莱万姆皇被追赶四神锋13球
- []天天观点:蔚来(NIO.US)将于3月1日美股盘前公布Q4业绩
- []胜利精密诉讼时效仅剩两月 已有投资者获赔451万元
- []华测导航:2月15日公司高管赵延平减持公司股份合计60万股
- []焦点要闻:值得买:2月15日公司高管刘峰减持公司股份合计1.95万股
- []友讯达:2月15日公司高管崔涛减持公司股份合计4万股
- []天天微速讯:美亚柏科: 公司关注数字防伪技术的发展,将根据业务开展需要适时投入研究并布局相关业务
- []视焦点讯!天奥电子:公司的时间频率相关产品有配套应用于机载平台,感谢您的关心!
- []当前关注:ST浩源:公司公章由公司行政部门保管,用印时根据业务流程,在钉钉上逐级审批
- []最新快讯!嘉必优:2月15日公司高管汪志明减持公司股份合计1000股
- []澳能建设(01183)与Coastal及YMG拟就于新加坡、马来西亚及越南发展电动汽车充电系统业务相互成为业务伙伴
- []得润电子:目前双方仅有少量业务往来
- []今日报丨新华都:公司持续关注新兴技术的发展,探索相关技术与公司业务的有机结合,提升公司竞争力
- []全球快资讯丨科恒股份:公司没有进行过稀土储氢方面的研究,着力发展的是锂离子正极材料和锂电池智能装备业务
- []世界热推荐:亚普股份:公司目前推出的两款储氢系统产品均已通过型式认证,并投入示范运行,市场推广工作正在持续开展中
- []每日视点!天元股份:公司及其子公司可为相关新能源行业的公司提供各类包装产品,如电子标签、纸箱、背胶袋等
- []罗平锌电:感谢提问,截止2023年2月10日 公司股东人数为33,121户
- []全球快消息!美丽田园加盟店和直营店的区别_加盟店和直营店的区别
- []环球热推荐:华仁药业:公司积极布局饮料、化妆品、健康饮品等大健康产品线
- []萤石网络:ChatGPT是人工智能技术驱动的自然语言处理工具,公司会密切关注新技术的发展
- []*ST科林转型迷途,能否绝境逢生?
- []焦点快看:银浆龙头帝科股份董事长将股权激励授予外人受处罚,亲手毁掉公司定增!
- []海辰储能获中国银行百亿授信!
- []今日热门!飞轮储能有哪些优点?简述飞轮储能系统的优缺点
- []近期交付相对紧张 硅片价格持稳运行(2.16)
- []思维到行动,全面进阶|FAENZA 法恩莎卫浴战略管理实战辅导班圆满召开
- []当前速读:微导纳米:公司相关产品及技术情况,您可查询公司披露的招股说明书或其他公开信息
- []当前报道:2月16日罗 牛 山涨停分析:赛马,海南,养猪概念热股
- []全球最资讯丨相爱不易要珍惜怎么表达?相爱不易要珍惜的句子有哪些?
- []日语五十音图记忆方法有哪些?日语五十音图记忆方法介绍?
- []全球热消息:杭州西湖好玩吗?杭州西湖有哪些美景?
- []当前短讯!躲避的反义词有哪些?躲避是什么意思?
- []每日热议!关于古埃及的电影有什么?有关埃及的10大必看电影介绍
- []热点!hkc是什么牌子的显示器?hkc品牌资料介绍?
- []2月16日大豪科技涨停分析:白酒,数字经济,网络安全概念热股
- []观察:宁波建工:中经云目前未申请上市
- []【快播报】六鳌在哪里?六鳌资料介绍
- []全球热推荐:2月16日英特集团涨停分析:医药商业,医药,浙江国企改革概念热股
- []苗侨伟演的关于黑社会的电视剧是哪部?讲述了什么剧情?
- []重点聚焦!你是猴子请来的救兵吗是什么梗?你是猴子请来的救兵吗是怎么来的?
- []当前热讯:三峡能源:新能源储备规模超140GW,正在开展储能等示范工程
- []环球简讯:怎么炒草菇?炒草菇的方法是什么?
- []共享储能发展“前夜”
- []全球观焦点:南都电源中标1.36GWh锂电储能项目
- []日媒:日本1月贸易逆差约3.5万亿日元创新高
- []世界新动态:重庆首个锂电化学储能整装项目年内投产
- []国际金价小幅反弹,但多头须离场,该风险上升将利好美元
- []当前速看:湖南裕能:公司目前没有这样的计划,专注于把正极材料做精、做强、做大
- []【世界播资讯】国际金价后市下看1785美元
- []每日热闻!“黑四”魔咒再现!A股三大指数午后集体跳水,两市超4500股下跌
- []宇通重工:公司有工程机械出口业务,公司出口业务收入占公司整体收入比例较低
- []订单激增!多家企业密集布局储能电池项目
- []头条:上海欢乐谷过山车出故障滞空十分钟,关联公司涉多起安全保障纠纷
- []勤哲Excel服务器无代码实现家居建材企业管理系统
- []环球速读:投行预测纽元将小幅走高,一季度末前或涨百点至0.64
- []每日看点!花园生物:公司已规划骨化醇类原料药和制剂项目的建设,项目建成后,公司将迈上维生素D3全产业链的塔尖
- []浙商银行:我行通过持续提升自身经营质效以提高市场认可度
- []热点聚焦:美原油交易策略:两大机构上调需求前景支撑油价,后市剑指100日均线?
- []环球最新:2023春运收官:自驾成最大赢家 ,租车订单量超疫情前69%
- []每日热议!全球旅行需求强劲复苏,国际旅游业渐趋好转
- []八大券商主题策略:硬医疗科技是个大机会 中药强者恒强!从六大维度选择标的
- []【焦点热闻】春耕备耕正当时 高标准农田建设忙
- []【天天热闻】华侨城预亏百亿,18家平均亏损2亿元,2023上市旅企能否打赢翻身仗?
- []快资讯丨现货黄金交易策略:金价反弹受阻,关注初请和PPI数据
- []【BT金融分析师】欧莱雅在中国市场面临挑战,分析师称中国本土化妆品强势崛起所致
- []全球热推荐:【BT金融分析师】车车科技赴美借壳上市,分析师称中概股乐观情绪重燃
- []黄金市场分析:若上涨突破1850,或进一步走强测试1860和1870阻力
- []视讯!2月16日汇市观潮:欧元、英镑和日元技术分析
- []遥望科技:目前双方主要围绕供应链进行合作
- []华领医药-B(02552)首家官方旗舰店落户1药网(YI.US)
- []长缆科技:公司员工持股计划的会计处理,严格按照《企业会计准则第11号——股份支付》的规定执行
- []俄外长:将要求联合国对“北溪”管道遭破坏事件进行调查
- []热点在线丨山荷叶的花语是什么
- []珈伟新能:公司目前暂未开展相关充电桩业务
- []天天热推荐:盐的保质期限是几年
- []焦点快看:三星医疗:为保证信息披露的公平性,公司将在定期报告中披露股东人数
- []今日报丨翰宇药业前高管挪用资金暴露涉嫌财务造假? 资金链紧张实控人套现近7亿“救急”
- []焦点速看:福建云霄抽水蓄能电站下水库工程开工
- []今日快讯:巨安储能称目前签订订单已经超过25亿元
- []讯息:清朝固伦公主有多少个?清朝固伦公主介绍?
- 如何进行正交试验设计?试验设计—正交表的使用方法
- 每日速递:【技术】通电延时定时器指令工作原理 应用举例
- 每日报道:如何在windows上交叉编译ffmpeg?具体操作步骤
- 最新快讯!储能数字化转型势在必行,华能清能院正全方位打造储能数字化技术“护城河”
- 环球看热讯:赣锋锂业关联公司挂牌新三板 主营磷酸铁锂正极材料
- 全球热推荐:世界上最简洁的人脸识别库:face_recognition
- Spring之AOP|使用场景、原理、配置、使用方式
- 通过Chrome来知道提交加价的请求应该是什么?
- 天天热文:受储能市场带动 2022-2026年干法隔膜出货年复合增速将超35%
- 台湾旅游业者:盼关系尽快回温,大陆游客早回流
- B站注册资本增幅400%至5亿 目前由陈睿全资持股
- 光源资本出任独家财务顾问 沐曦集成电路10亿元A轮融资宣告完成
- 巨轮智能2021年上半年营收11.24亿元 期内研发费用投入增长19.05%
- 红枣期货尾盘拉升大涨近6% 目前红枣市场总库存约30万吨
- 嘉银金科发布2021年Q2财报 期内净利润达1.27亿元同比增长208%
- 成都银行2021上半年净利33.89亿元 期内实现营收同比增长17.27亿元
- 汽车之家发布2021年第二季度业绩 期内新能源汽车品牌收入增长238%
- 中信银行上半年实现净利润290.31亿元 期末不良贷款余额706.82亿元
- 光伏概念掀起涨停潮交易价格创新高 全天成交额达1.29亿元
- 上半年生物药大增45% 关键财务指标好转营收账款持续下降
- 全球球精选!成都公交车上掉了东西怎么办?成都公交车找回丢失物的方法?
- 观速讯丨猪沙是什么?猪沙有什么用途?
- 每日精选:驾驶证怎么审验?审验驾驶证需要带什么证件?
- 天天速递!描写教室里安静的句子怎么写?描写教室里安静的句子有哪些?
- 全球今日讯!长隆:打造世界级文商旅综合体,将成为开放式主题乐园
- 天天快消息!新西兰旅游局华夫:预计游客数量将在未来几个月回升
- 环球实时:环球旅讯海外联动WiT:推出“中国旅游市场回归”主题论坛
- 哈尔滨第二职业高中怎么样?哈尔滨第二职业高中在哪里?
- 天天观速讯丨交通信用卡怎样激活?交通信用卡的激活方式有哪些?
- 爱情密语短句有哪些?爱情密语短句汇总?
- 通达动力:公司主要生产的电机定转子铁芯,产品品种齐全,能够应用于不同种类和型号的电机
- 世界微头条丨什么是恐怖主义?恐怖主义是指什么?
- 观热点:加载dll失败是怎么回事?加载dll失败如何解决?
- 金达威:目前未有新的信息披露
- 阿特斯太阳能(CSIQ.US):EP CUBE住宅储能解决方案将于西班牙贸易展展出
- 博迈科:公司积极参与风电、氢能等项目投标,寻求新能源领域的业务突破
- 消息!64家储能政企单位共建省级“朋友圈” 营造产业协作好生态
- 广西:超2GWh,21个储能项目进重大项目清单
- PPT | 钠电池行业系列深度报告:性能和应用有望与锂电互补,2023 年将迎量产元年
- 千万级个人成长畅销书作家张德芬:花若盛开,蝴蝶自来
- 万豪Q4非客房收入超出预期,ADR相比2019年增长13%
- 荆门高新区站上锂电风口,构建产城融合标杆!
- 世界今头条!重磅信号!陈光明旗下基金 又有大消息!
- 天天观察:2022年新增装机规模宁夏居首 新型储能发力开启“储能+”时代
- 【天天速看料】港股异动丨航空股普涨 三大航司1月客运数据均实现高双位数增长
- 每日头条!中国人寿:我公司推出专项理赔服务举措,简化理赔手续和流程,在满足条件的情况下及时为客户进行赔付
- 全球百事通!益生股份:益生909的料肉比约为1.75,48天出栏的体重约为3.5斤
- 今日最新!天蓝色配什么颜色好看
- 【天天热闻】世嘉科技:荣旗科技系公司参股公司,关于荣旗科技的经营范围请关注其企业简介
- 环球速看:国泰君安:投资制造业股票看什么 投资、订单、业绩
- 【世界独家】公私募发行回暖 多路资金陆续进场
- 天天观速讯丨总投资100亿!15GWh固态电池基地项目落地成都
- 世界热资讯!公募基金摩拳擦掌 掀起新一轮招聘热
- 当前报道:酒店情侣房预订爆火背后:去年超500家酒店被拍卖,各品牌冲击中高端市场
- 全面回血!三大航司增长2到4倍 机构高喊:超级周期!
- 【时快讯】外汇交易提醒:“恐怖数据”提振升息前景,美元升至近六周高位
- 热议:ST易购回复关注函:努力恢复正常生产经营
- 三六零:本次处置腾讯音乐的投资回报,不计入公司当期营业收入,不影响当期利润
- 全球微动态丨原油交易提醒:IEA上调全球石油需求增长预测,库存飙升限制油价涨幅
- 快可电子:公司官网介绍的工业自动化产品主要是指工业自动化领域用连接器
- 印度航空订购250架空客飞机,将创航司订单纪录
- 头条焦点:奇瑞新能源或今年年底登陆科创板上市
- 快资讯丨TD早报 | 首个3000人内地团将访港参加会议及观赏演出;国内多家上市航司最新运营数据亮眼
- 环球最资讯丨一磅有多少千克?_1磅 千克
- 李咏什么癌李咏是因为什么原因去世的
- 【新要闻】弋阳县气象台发布大雾黄色预警信号【III级/较重】【2023-02-16】
- 姓赵以“雅”字开头的女孩名字推荐
- 电汇是什么意思
- 动态焦点:上海艾录:2月14日公司高管陈曙减持公司股份合计5万股
- 【世界聚看点】爱乐达:2月14日公司高管刘晓芬、陈苗减持公司股份合计4.85万股
- 华亚智能:2月14日公司高管韩旭鹏减持公司股份合计1.52万股
- 【新要闻】新锐股份2022年度净利1.5亿同比增长10.10% 硬质合金和硬质合金工具产品销售均保持增长势头
- 每日快报!友讯达:2月14日公司高管崔涛减持公司股份合计2万股
- 快报:魔兽争霸生存反击战_《魔兽世界》迎接绝地反击
- 环球报道:教育部:“叶圣陶杯”等系列赛事均为违规竞赛
- 全球微头条丨海信集团董事长成“年抛” 林澜请辞贾少谦接任
- 山东玻纤:2月13日宋忠玲减持公司股份合计8.5万股
- 威奥股份:2月14日公司高管李世坤增持公司股份合计10万股
- 天天日报丨三花智控:热泵是新能源汽车热管理非常确定的方向,越来越多的车型选择走热泵的技术路径
- 天天百事通!厦门信达:公司的RFID电子车牌项目主要应用为车辆智慧交通管理、道路年费自动稽查等
- 全球观速讯丨银禧科技:2月14日公司高管郑桂华减持公司股份合计7.34万股
- 全球滚动:特高压第一股,赚钱能力板块第1,2022年业绩预增130%,股票回撤40%
- ST中基:截止目前,公司现有厂区占地面积约80万平方米
- 【新视野】荣信文化:公司拥有大量自主版权图书,所以非常重视发展过程中的知识产权保护
- 焦点消息!华大九天:AI技术对EDA的发展有重要的促进作用,公司已将AI技术应用于现有产品中
- 消息!动力电池开启新技术竞赛
- 通讯!世界银行:南非电池储能市场已经成熟,2030年将增至9700MWh
- 河南下发2.5GW独立储能项目!
- 心字底的字有哪些 心字底的字大全
- 世界球精选!中百集团:公司中百大厨房现有少量预制菜肴,目前销售占比较低,不会对公司经营业绩产生重大影响
- 大族激光:公司严格按照相关法律法规进行信息披露,不存在大股东挪用资金的情况
- 皖通科技:相关信息属于涉密信息,不属于对外披露范畴
- 天天微动态丨山东肥城300MW盐穴先进压缩空气储能示范项目开工
- 蜂巢能源联合浙银金租 共推锂电产业金融服务创新模式
- 纳晖新能源正式启动“跃升行动”
- 国泰航空1月运营数据:客运量突破百万人次,同比增加40倍
- 天天微资讯!微涨!多晶硅均价240元/kg以上
- 【环球速看料】奥联电子请来了钙钛矿大神
- 全球热门:河南省第二批省级独立储能电站示范项目遴选结果名单公示
- 环球快消息!为“北转型”蓄势储能!宝山信息基础设施建设取得新进展
- 协鑫集成:拟20亿元投建12GW高效光伏组件项目
- 每日热讯!膜王牵手宁王!家族6人5个美国籍,董事长仍被监视居住!
- 有种“演技”叫入戏太深,李纯痛哭,王传君得癌症,最后为剧奉献出生命
- 【聚看点】2月15日华映科技涨停分析:液晶面板/LCD,手机产业链,折叠屏概念热股
- 2月15日华胜天成涨停分析:网络安全,信创,云计算数据中心概念热股
- 天天速看:天龙集团:公司是百度五星代理商,为客户提供高质量的营销解决方案
- 环球微头条丨泉峰汽车:公司生产经营正常,如有达到披露标准的重大事项,公司将及时公告
- 【世界聚看点】2月15日英 力 特涨停分析:宁夏,PVC,央企改革概念热股
- 总装机容量120万千瓦!浙江省庆元抽水蓄能电站项目喜获核准
- 高伟达:公司与客户都有积极寻求金融科技业务合作的意愿
- 同富股份IPO:大比例代工,撑得住吗?
- 嘉欣丝绸:蜘蛛仿生丝的相关专利由超丝公司拥有,公司的持股比例为20%
- *ST深南(002417)2月15日主力资金净卖出102.60万元
- 格力博:全球园林机械行业的主要市场是生活绿地面积广阔的北美和欧洲国家,传统上以燃油动力为主
- 大胜达:、“信创”概念广范、信息量较大,公司将视自身发展需要考虑后续投入
- 当前短讯!华帝股份:公司重视产品多样化发展,产品覆盖领域广,产品线丰富
- 酒店高端化的路径:文化赋能则行稳致远
- 【新视野】中国航空公司和机场大力投资旅客体验系统,迎接旅行强劲复苏
- 全球观察:电子词典系统vc++_vc++6.0(Visual C++) 简体中文版
- 全球微头条丨2022年Facebook概念上市公司一览(9月17日)