如何用openCV训练一个具有面部特征的支持向量机(svm)分类器?
我想使用SVM分类器进行面部表达检测.我知道OPENCV具有SVM API,但是我不知道应该训练分类器的输入.到目前为止,我已经阅读了很多论文,所有这些都在面部功能检测训练分类器后说. 到目前为止我做了什么, 面部检测, 在每个帧中16个面部点计算.以下是面部功能检测的输出![输入图像描述 保存特征点像素地址的向量 注意:我知道我只能使用正面和负面图像训练SVM,我看到了此代码在这里,但我不知道如何将面部特征信息与之结合. 任何人都可以帮助我与SVM启动分类. a.训练分类器的样本输入应该是什么? b.如何使用此面部特征点训练分类器? 问: 解决方案 OpenCV中的机器学习算法都带有类似的接口.要训​​练它,您可以通过NXM垫子oreatures(n行,每行的长度为m)和带有类标签的NX1垫子.这样: //traindata //trainlabels f e a t u r e 1 f e a t u r
12 2024-04-08
编程技术问答社区
脸部检测器移动视觉的速度并没有因为较小的位图而增加
摘要: 我们的应用取决于面部地标的高检测速度(=张开或闭合眼睛).因此,我开发了一种算法,该算法从最后一帧占据面部的位置,然后从下一帧中播放图像.这可以很好地工作,面部探测器只需要处理四分之一的图像. 但不会增加检测速度.有人知道为什么吗? 编辑:我的算法所做的就是根据上一张图像的信息裁剪图像.但是它不会执行成像识别本身.我们正在使用 重要代码段: 在将位图传递给面部检测器之前,该snipped被执行.它从上一个帧中占据面部位置,仅通过图像的这一部分: Bitmap bitmapReturn = Bitmap.createBitmap(bitmap, topLeftX, topLeftY, width, height); 在面部检测器处理框架后,该片段将执行.它为下一个帧提供了图像的位置: float spotY = getSpotY(face); float spotX = getRatioX(face);
0 2024-03-31
编程技术问答社区
由于无效的订阅密钥,访问被拒绝(Face API)。
我使用Microsoft Face API遇到了麻烦.以下是我的示例请求: curl -v -X POST "https://westus.api.cognitive.microsoft.com/face/v1.0/detect?returnFaceId=true&returnFaceLandmarks=false&returnFaceAttributes=age,gender" -H "Content-Type: application/json" -H "Ocp-Apim-Subscription-Key: 1xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxd" --data-ascii "{\"url\":\"http://www.mrbeantvseries.co.uk/bean3.jpg\"}" 我使用我的认知服务帐户中的订阅ID,我得到的响应低于: { "error": { "code": "Unspecified",
18 2024-03-24
编程技术问答社区
Objective-C : 无论我做什么,CIDetector总是为零
试图通过Apple的面部检测API获得简单的概念证明.我看过其他几个示例,包括苹果的Squarecam,还有一个 https://github.com/jeroentrappers/facepers/facepertpoc 基于这些,似乎我正在遵循正确的模式以使API进行,但我被卡住了.无论我做什么,我的面部探测器的cidetector始终是零! 我会非常感谢任何帮助,线索 - 提示 - 建议! -(void)initCamera{ session = [[AVCaptureSession alloc]init]; AVCaptureDevice *device; /* if([self frontCameraAvailable]){ device = [self frontCamera]; }else{ device = [self backCamera]; }*/ device = [self frontCamera]; isUsingFront
12 2024-03-21
编程技术问答社区
带摄像头的人脸检测
就像"相机"一样,我该如何实时面对检测? 我注意到 avcapturestillimageoutput 在10.0之后被弃用,所以我使用 avcapturephotooutput .但是,我发现我为面部检测保存的图像不太满意吗?有任何想法吗? 更新 尝试了@shravya boggarapu.目前,我使用AVCaptureMetadataOutput检测没有CIFaceDetector的面部.它可以按预期工作.但是,当我试图绘制脸部的界限时,它似乎是错误的.任何想法? let metaDataOutput = AVCaptureMetadataOutput() captureSession.sessionPreset = AVCaptureSessionPresetPhoto let backCamera = AVCaptureDevice.defaultDevice(withDeviceType: .builtInWideAngleCamera, me
4 2024-03-21
编程技术问答社区
用迅雷的摄像头进行实时人脸检测 3
就像"相机"一样,我该如何实时面对检测?就像周围和脸上的白色圆形形状.我使用AVCapturSession.我发现我保存的图像用于面部检测.下面我附上了当前的代码.它仅在我按下按钮并将其保存到照片库时才能捕获图像.有些请帮助我根据人的脸创建实时圆形形状! 代码 class CameraFaceRecongnitionVC: UIViewController { @IBOutlet weak var imgOverlay: UIImageView! @IBOutlet weak var btnCapture: UIButton! let captureSession = AVCaptureSession() let stillImageOutput = AVCaptureStillImageOutput() var previewLayer : AVCaptureVideoPreviewLayer? // If we fin
6 2024-03-21
编程技术问答社区
谁能解释一下openCV中的detectMultiScale?
我一直在尝试OpenCV中的对象进行. 遵循几个步骤.. 将其调整为64x64分辨率 将其更改为灰度 获取XML以进行对象检测 绘制矩形条纹 但是,我无法实现. 这是我的代码: #include #include "cv.h" #include "highgui.h" #include using namespace cv; using namespace std; int main() { IplImage* img; img = cvLoadImage( "hindi3.jpg" ); vector objects; // ***Resize image to 64x64 resolution*** IplImage *resizeImage = cvCreateImage(cvSize(64,64),8,3); cvResize(i
4 2024-03-07
编程技术问答社区
Clarifai-FACE DETECT-Model不存在
,如果您可以在Clarifai API的问题上为我提供帮助. 我使用API​​简单地应用了面部检测. 我遵循了文档,从我的客户端,我运行了以下代码段: app.models .predict(Clarifai.FACE_DETECT_MODEL, this.state.input) .then((response) => setImageBox(this.calculateBox(response))) .catch((err) => { console.log("Clarifai Error:", err); }); 它曾经工作到2天前. 现在我有一个错误. Chrome Dev工具在网络 - >标题选项卡上显示我: 请求url: htttps://A403429F2DDDF4B49B307E318F00E528B/输出 请求方法:发布 状态码:找不到404 远程地址:54.208.138.170:443 推荐人策略:无引用者 - 当dow
2 2024-03-02
编程技术问答社区
如何在拍照后更新安卓图库?
对于大学,我已经开发了有关面部检测的Android的应用程序. 为此,我在画廊上保存了各种照片. 问题在于,保存照片后,画廊不会更新. 更确切地说,如果我删除要保存图像的目录,请打开应用程序并拍摄照片,然后进入画廊,然后在"更新"之后看到照片. 但是,一旦我拥有该目录,如果我拍了一张新照片,这不会覆盖旧图片. 在线我发现了这个: sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED,Uri.parse("file://" + Environment.getExternalStorageDirectory()))); ...但是它不起作用! 这是我的代码: . . . ImageButton buttonPicture = (ImageButton) findViewById(R.id.camera_surface_button);
8 2024-02-15
编程技术问答社区
安卓:如何在已经显示Camara预览的Surfaceview上作画?
我正在尝试编程一个必须在手机屏幕上显示的应用程序,前置摄像头正在拍摄的内容(应用程序没有记录/保存任何手机记忆中的任何内容).同样,如果面部拍摄(并检测到),则必须以矩形呈现. 这样做我正在使用: a SurfaceView 显示前置摄像头正在拍摄的内容. a faceDeTectionListener 检测相机输入中的面孔. 到目前为止,应用程序正确显示了前置摄像头正在拍摄的内容.它还可以正确检测到面孔.但是我无法在检测到的面周围绘制边界矩形. 这里有一些片段,可以显示我如何解决任务. 活动: @SuppressLint("InflateParams") @TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH) public class FaceDetectorTutorial extends Activity { MySurface mMySurface; private Surface
6 2024-02-13
编程技术问答社区
相机2面部检测回电
我正在尝试在Camera2 API中使用面部检测器.我将预览构建器设置为使用面部检测器: previewBuilder.set(CaptureRequest.STATISTICS_FACE_DETECT_MODE, CameraMetadata.STATISTICS_FACE_DETECT_MODE_FULL); CR = previewBuilder.build(); CS = session; CS.setRepeatingRequest(CR, CScallback, null); 但是我不明白代码检测到脸部时在哪里?它会在摄影师中返回脸吗?capturecallback?它在哪里发送有关检测到的面孔的信息? 解决方案 因此,似
8 2024-02-13
编程技术问答社区
使用Android Camera2 API进行人脸检测和画圈
目前,我正在尝试将相机2转换为实际视图的矩形,以便在相机2 API检测到的面上绘制圆圈. 我能够通过以下代码将面孔及其数据数量及其数据纳入回调: private CameraCaptureSession.CaptureCallback mCaptureCallback = new CameraCaptureSession.CaptureCallback() { private void process(CaptureResult result) { Integer mode = result.get(CaptureResult.STATISTICS_FACE_DETECT_MODE); Face [] faces = result.get(CaptureResult.STATISTICS_FACES); if(faces != null && mode != null) Log.e("tag",
4 2024-02-13
编程技术问答社区
安卓相机2面部检测
没有足够的有关Camera2面部检测机构的信息.我使用了Google的Camera2样品: https://github.com/android/android/camera-samples 我将面部检测模式设置为完整. mPreviewRequestBuilder.set(CaptureRequest.STATISTICS_FACE_DETECT_MODE, CameraMetadata.STATISTICS_FACE_DETECT_MODE_FULL); 另外,我检查了 STATISTICS_INFO_MAX_FACE_COUNT和STATISTICS_INFO_AVAILABLE_FACE_DETECT_MODES: int max_count = characteristics.get( CameraCharacteristics.STATISTICS_INFO_MAX_FACE_
14 2024-02-13
编程技术问答社区
在使用安卓的纵向模式与opencv工作中的问题
我知道这是最重复的问题之一,但是,在付出了很多努力之后,在任何地方都找不到工作解决方案. 这确实是一个杀人问题,尽管对于专家而言,这可能是一个简单的问题. 我正在研究 opencv haar cascade 分类器.(例如:面部检测,眼对检测) 我刚刚从" openCV-2.4.9-android-sdk"中获取面对检索样本代码.样品. 此示例代码设置为景观模式,一切正常 fine . 但是,我想让分类器在肖像模式下工作.我知道haar 分类器 不是与肖像模式一起工作. 当OpenCV使用" camerabridgeviewbase "时,我d n n a d 没有所有控件可以播放相机的分辨率并显示 屏幕上的图像.(预览) 现在,当我将屏幕方向设置为" android:screenorientation =" portrait" 时,图像是旋转 90DEG时钟 Wise. > 我尝试了什么: 在不旋转的情况下预览肖像映像:我通过添加
4 2024-02-13
编程技术问答社区
安卓解码YUV420SP的结果是绿色图像?
好,所以我的问题与此相同: 将预览框架转换为bitmap 但是,他的答案不好,试图使用它并不能解决我的问题. 因此,我目前要做的是将每个帧作为位图发送到一个方法以检测是否有任何面的方法,但是首先我需要创建一个位图,这意味着我必须使用DecoDodeyyuv420sp方法,似乎无法正常工作,我所有的图像都以绿色和黄色的扎染料的形象出现.这是我的代码: 这是来自OnpreviewFrame: Parameters parameters = cam.getParameters(); Integer width = parameters.getPreviewSize().width; Integer height = parameters.getPreviewSize().height; Log.i("preview size: ", String.valueOf(width) + "x" + String.valueOf(heigh
6 2024-02-13
编程技术问答社区
捕捉照片时如何在图像中画出脸部周围的矩形
在我当前的应用程序中,我想在使用Android设备摄像头捕获时在脸上绘制矩形,还只想保存SD卡上的矩形内部的面部区域. 我经历了许多链接,例如 link1 link3 但无法找到适当的解决方案. 任何人都可以从事这个. 任何帮助将不胜感激. 解决方案 用于面部检测和眼睛检测,Google上有许多教程可用.您可以使用OPENCV库或Android默认面部检测导入. - tracking-with-opencv/ ,如果您使用的是Eclipse,则还需要将NDK与Eclipse集成以使用上述链接代码
4 2024-02-12
编程技术问答社区
新的安卓面孔API限制
我一直在测试Android的新脸API,即使启用了" cecuctate_mode",它也没有检测到旧的faceDetector API用于检测到的面孔,我也想知道位图编码的效果" RGB_565" vs" ArgB_888"在产生结果中. 解决方案 更新: 问题是,面部检测器仅检测到默认情况下至少为10%的面(作为性能优化). 新的Google Play Services 8.4版本支持设置最小面部尺寸较低,从而可以检测到较小的面孔.请参阅此处的SetMinfacesize方法: 其他解决方案 我已经在我们的obscuracam [0]项目上看到了同样的问题,并使用旧的和新的API尝试并尝试最大化检测. 似乎新的API仅在给您面部标志和表达分类的细节上更好,而不是实际检测面孔或部分面孔的能力. [0] https://github.com/guardianproject/guardianproject/obscuracam
10 2024-02-09
编程技术问答社区
安卓系统中的开眼和闭眼 由安卓系统的眼睛检测和跟踪与OpenCV
我通过以下链接 解决方案 我不知道是否有任何库,但是使用Aleksandra Królak and Paweł Strumiłło文章> Aleksandra Królak and Paweł Strumiłło中的技术(您可以下载此处 和这里,这里有一些简化版本)是一个不错的选择.通常,此技术非常简单: 找到眼睛(或两只眼睛).记住图像的这一部分作为模板. 在下一个帧中,使用某种类型(作者使用了归一化的跨相关方法,但是您可以尝试其他类型-OpenCV 几乎没有实现的相关方法,以找到与模板相似的区域.具有最高相关值(很可能)的位置将是眼睛. 如果相关值>与眼睛相比,某些_threshold_value是打开的,否则将其关闭. 作者使用的阈值值是文章中的,但是当我使用此技术时,我使用了其他值,因此您很可能需要自行找到案例的值.
18 2024-02-06
编程技术问答社区
安卓API人脸检测与OpenCV/JavaCV人脸检测对比
我在Android设备上使用了本地Android面部检测,但是看起来很慢,我不确定可靠性.我还使用OpenCV的面部检测,但仅在PC上使用,而不是Android设备.对于Android,我想我必须使用JavACV(或OpenCV4Android?). 您知道Android API的面部检测与OpenCV的面部检测之间有什么速度差异?我敢肯定,OpenCV/JavACV既有效率/更快,更准确,但是无法确认. 谢谢! 解决方案 建议:如果您正在寻找面部检测,我建议您使用特定平台 apis 喜欢FaceDetector而不是opencv java包装器.这是因为这些API将是硬件加速(GPU),与OpenCV面对检测不同,直到版本3.0仅依赖CPU. 您在台式机和移动设备之间感知的速度差异应该是为了差异(例如CPU),而不是因为Javacv/opencv4android等不同的库包装器. OPENCV写入C/C ++.所有处理密集型代码仍在C/C ++中,Java库只
6 2024-02-05
编程技术问答社区
安卓人脸检测API-存储的视频文件
我想使用Android Vision FaceDetector API在视频文件(例如MP4)上执行面部检测/跟踪.我可以看到许多有关使用 camerasource 上课可以直接来自相机的流在流中进行面部跟踪(例如" 我尝试通过Android Studio查看CameraSource的源代码,但是它被混淆了,我看不到原始的在线.我的图像使用相机和使用文件之间有许多共同点.大概我只是在Surface上播放视频文件,然后将其传递给管道. 另外,我可以看到Frame.Builder具有函数setImageData和setTimestampMillis.如果我能够在视频中以ByteBuffer的方式阅读,我该如何将其传递给FaceDetector api?我猜这个问题是相似的,但没有答案.同样,将视频解码为Bitmap帧,然后将其传递给setBitmap. 理想情况下,我不想将视频渲染到屏幕上,并且该处理应像FaceDetector api一样快. . 解决方案 或者,我
10 2024-02-04
编程技术问答社区